Syscont (779991), страница 11
Текст из файла (страница 11)
[2684] /*---- Variables */
[2685] int left_x,right_x;
[2686] int left_y,right_y;
[2687] int dx,dy;
[2688] int th;
[2689] /*----*/
[2690] settextstyle(SMALL_FONT,HORIZ_DIR,FONT_DIM_WIND);
[2691] th=textheight("W");
[2692] /*----*/
[2693] left_x=Left_x_1;
[2694] right_x=Right_x_1;
[2695] left_y=Left_y_1;
[2696] right_y=left_y+WIND_HEIGHT*th;
[2697] dx=right_x-left_x;
[2698] dy=right_y-left_y;
[2699] /*---- Window total */
[2700] setviewport
[2701] (left_x,left_y,right_x,right_y,CLIP_ON);
[2702] setbkcolor(BLACK);
[2703] setcolor(col_rect);
[2704] setlinestyle(SOLID_LINE,0,NORM_WIDTH);
[2705] rectangle(0,0,dx,dy);
[2706] /*---- Abs. co-ord. window for output */
[2707] *lx=left_x+1;
[2708] *ly=left_y+1;
[2709] *rx=right_x-1;
[2710] *ry=right_y-1;
[2711] /*----*/
[2712] return right_y+WIND_INTERVAL_Y;
[2713] }
[2714] /*IIIIIIIIIIIIIIIIIIIIIIIIIIIIII*/
[2715] int Wind_1
[2716] (char *title,
[2717] int col_rect,
[2718] int bk_txt,int col_txt,
[2719] int *lx,int *ly,int *rx,int *ry
[2720] /* Abs. co-ord. window for output */)
[2721] {
[2722] /*---- Variables */
[2723] int left_x,right_x;
[2724] int left_y,right_y;
[2725] int dx,dy;
[2726] int th;
[2727] int tw;
[2728] /*----*/
[2729] settextstyle(SMALL_FONT,HORIZ_DIR,FONT_DIM_WIND);
[2730] tw=(strlen(title)+1)*textwidth("W");
[2731] th=textheight("W");
[2732] /*----*/
[2733] left_x=Left_x_2;
[2734] right_x=Right_x_2;
[2735] left_y=Left_y_2;
[2736] right_y=left_y+WIND_HEIGHT*th;
[2737] dx=right_x-left_x;
[2738] dy=right_y-left_y;
[2739] /*---- Window total */
[2740] setviewport
[2741] (left_x,left_y,right_x,right_y,CLIP_ON);
[2742] setbkcolor(BLACK);
[2743] setcolor(col_rect);
[2744] setlinestyle(SOLID_LINE,0,NORM_WIDTH);
[2745] rectangle(0,0,dx,dy);
[2746] /*---- Text window */
[2747] setfillstyle(SOLID_FILL,bk_txt);
[2748] bar(1,1,tw,dy-1);
[2749] settextjustify(CENTER_TEXT,CENTER_TEXT);
[2750] setcolor(col_txt);
[2751] outtextxy(tw/2,dy/2,title);
[2752] /*---- Abs. co-ord. window for output */
[2753] *lx=left_x+(1+tw);
[2754] *ly=left_y+1;
[2755] *rx=right_x-1;
[2756] *ry=right_y-1;
[2757] /*----*/
[2758] return right_y+WIND_INTERVAL_Y;
[2759] }
[2760] /*IIIIIIIIIIIIIIIIIIIIIIIIIIIIII*/
[2761] int Wind_2
[2762] (char *title,
[2763] int col_rect,
[2764] int bk_txt,int col_txt,
[2765] int *lx,int *ly,int *rx,int *ry
[2766] /* Abs. co-ord. window for output */)
[2767] {
[2768] /*---- Variables */
[2769] int left_x,right_x;
[2770] int left_y,right_y;
[2771] int dx,dy;
[2772] int th;
[2773] /*----*/
[2774] settextstyle(SMALL_FONT,HORIZ_DIR,FONT_DIM_WIND);
[2775] th=textheight("W");
[2776] /*----*/
[2777] left_x=Left_x_2;
[2778] right_x=Right_x_2;
[2779] left_y=Left_y_2;
[2780] right_y=left_y+WIND_HEIGHT*th*2;
[2781] dx=right_x-left_x;
[2782] dy=right_y-left_y;
[2783] /*---- Window total */
[2784] setviewport
[2785] (left_x,left_y,right_x,right_y,CLIP_ON);
[2786] setbkcolor(BLACK);
[2787] setcolor(col_rect);
[2788] setlinestyle(SOLID_LINE,0,NORM_WIDTH);
[2789] rectangle(0,0,dx,dy);
[2790] /*---- Text window */
[2791] setfillstyle(SOLID_FILL,bk_txt);
[2792] bar(1,1,dx-1,dy/2-1);
[2793] settextjustify(CENTER_TEXT,CENTER_TEXT);
[2794] setcolor(col_txt);
[2795] outtextxy(dx/2,dy/4,title);
[2796] /*---- Abs. co-ord. window for output */
[2797] *lx=left_x+1;
[2798] *ly=left_y+(1+WIND_HEIGHT*th);
[2799] *rx=right_x-1;
[2800] *ry=right_y-1;
[2801] /*----*/
[2802] return right_y+WIND_INTERVAL_Y;
[2803] }
[2804] /*IIIIIIIIIIIIIIIIIIIIIIIIIIIIII*/
[2805] int Wind_D
[2806] (float compression_y,
[2807] int col, int row,
[2808] int col_rect,
[2809] int *kx,int *ky,
[2810] int *lx,int *ly,int *rx,int *ry
[2811] /* Abs. co-ord. window for output */)
[2812] {
[2813] /*---- Variables */
[2814] int left_x,right_x;
[2815] int left_y,right_y;
[2816] int dx,dy;
[2817] /*----*/
[2818] left_x=Left_x_1;
[2819] right_x=Right_x_1;
[2820] left_y=Left_y_1;
[2821] right_y=left_y+Maxy*compression_y;
[2822] dx=right_x-left_x;
[2823] dy=right_y-left_y;
[2824] /*---- Window total */
[2825] setviewport
[2826] (left_x,left_y,right_x,right_y,CLIP_ON);
[2827] setbkcolor(BLACK);
[2828] setcolor(col_rect);
[2829] setlinestyle(SOLID_LINE,0,NORM_WIDTH);
[2830] rectangle(0,0,dx,dy);
[2831] /*---- Abs. co-ord. window for output */
[2832] *lx=left_x+1;
[2833] *ly=left_y+1;
[2834] *rx=right_x-1;
[2835] *ry=right_y-1;
[2836] *kx=dx/col;
[2837] *ky=dy/row;
[2838] /*----*/
[2839] return right_y+WIND_INTERVAL_Y;
[2840] }
[2841] /*IIIIIIIIIIIIIIIIIIIIIIIIIIIIII*/
[2842] int Bit(int x,int y,unsigned char bit)
[2843] {
[2844] settextstyle(SMALL_FONT,HORIZ_DIR,FONT_DIM_DRAFT+2);
[2845] settextjustify(CENTER_TEXT,CENTER_TEXT);
[2846] setbkcolor(BLACK);
[2847] /*---- Delete bit */
[2848] setcolor(BLACK);
[2849] outtextxy(x,y,"0");
[2850] outtextxy(x,y,"1");
[2851] /*---- Print bit */
[2852] if(bit==0)
[2853] {
[2854] setcolor(LIGHTBLUE);
[2855] outtextxy(x,y,"0");
[2856] }
[2857] else
[2858] {
[2859] setcolor(LIGHTMAGENTA);
[2860] outtextxy(x,y,"1");
[2861] }
[2862] setlinestyle(SOLID_LINE,0,NORM_WIDTH);
[2863] setcolor(CYAN);
[2864] rectangle(
[2865] x-textwidth("0")/2-1,y-textheight("0")/2+2,
[2866] x+textwidth("0")/2-1,y+textheight("0")/2+2);
[2867] /*----*/
[2868] return 0;
[2869] }
[2870] /*IIIIIIIIIIIIIIIIIIIIIIIIIIIIII*/
[2871] int E
[2872] (char *t,int n,int lx,int ly,int dim_x,int dim_y,
[2873] int kx,int ky)
[2874] {
[2875] /*---- Variable */
[2876] char buf_str[80];
[2877] /*---- Device */
[2878] settextstyle(SMALL_FONT,HORIZ_DIR,FONT_DIM_DRAFT);
[2879] setlinestyle(SOLID_LINE,0,NORM_WIDTH);
[2880] setcolor(LIGHTGRAY);
[2881] if(dim_x<3) dim_x=3;
[2882] if(dim_y<3) dim_y=3;
[2883] RectangleN(lx*kx,ly*ky,(lx+dim_x)*kx,(ly+dim_y)*ky,2);
[2884] setcolor(YELLOW);
[2885] settextjustify(RIGHT_TEXT,CENTER_TEXT);
[2886] outtextxy((lx+dim_x-1)*kx,(ly+1)*ky,t);
[2887] setcolor(WHITE);
[2888] itoa(n,buf_str,10);
[2889] settextjustify(LEFT_TEXT,CENTER_TEXT);
[2890] outtextxy((lx+1)*kx,(ly+dim_y-1)*ky,buf_str);
[2891] /*----*/
[2892] return 0;
[2893] }
[2894] /*IIIIIIIIIIIIIIIIIIIIIIIIIIIIII*/
[2895] int B
[2896] (char *t,int n,int lx,int ly,int dim_x,int dim_y,
[2897] int kx,int ky)
[2898] {
[2899] /*---- Variable */
[2900] char buf_str[80];
[2901] /*---- Device */
[2902] settextstyle(SMALL_FONT,HORIZ_DIR,FONT_DIM_DRAFT);
[2903] setlinestyle(SOLID_LINE,0,NORM_WIDTH);
[2904] setfillstyle(SOLID_FILL,LIGHTGRAY);
[2905] if(dim_x<3) dim_x=3;
[2906] if(dim_y<3) dim_y=3;
[2907] bar(lx*kx,ly*ky,(lx+dim_x)*kx,(ly+dim_y)*ky);
[2908] setcolor(YELLOW);
[2909] rectangle(lx*kx,ly*ky,(lx+dim_x)*kx,(ly+dim_y)*ky);
[2910] settextjustify(RIGHT_TEXT,CENTER_TEXT);
[2911] outtextxy((lx+dim_x-1)*kx,(ly+1)*ky,t);
[2912] setcolor(WHITE);
[2913] itoa(n,buf_str,10);
[2914] settextjustify(LEFT_TEXT,CENTER_TEXT);
[2915] outtextxy((lx+1)*kx,(ly+dim_y-1)*ky,buf_str);
[2916] /*----*/
[2917] return 0;
[2918] }
[2919] /*IIIIIIIIIIIIIIIIIIIIIIIIIIIIII*/
[2920] int RectangleN
[2921] (int left_x,int left_y,int right_x,int right_y,int n)
[2922] {
[2923] int i;
[2924] for(i=0;i<n;i++)
[2925] {
[2926] rectangle
[2927] (left_x+i,left_y+i,right_x-i,right_y-i);
[2928] if((left_x+i)>=(right_x-i)) break;
[2929] if((left_y+i)>=(right_y-i)) break;
[2930] }
[2931] /*----*/
[2932] return 0;
[2933] }
[2934] /*IIIIIIIIIIIIIIIIIIIIIIIIIIIIII*/
[2935] int Rectangle2
[2936] (int left_x,int left_y,int right_x,int right_y)
[2937] {
[2938] rectangle
[2939] (left_x,left_y,right_x,right_y);
[2940] rectangle
[2941] (left_x+2,left_y+2,right_x-2,right_y-2);
[2942] /*----*/
[2943] return 0;
[2944] }
[2945] /*IIIIIIIIIIIIIIIIIIIIIIIIIIIIII*/
[2946] int EllipseN
[2947] (int x, int y,int stangle,int endangle,
[2948] int x_radius,int y_radius,int n)
[2949] {
[2950] int i;
[2951] for(i=0;i<n;i++)
[2952] {
[2953] ellipse(x,y,stangle,endangle,x_radius-i,y_radius-i);
[2954] if(x_radius<=0) break;
[2955] if(y_radius<=0) break;
[2956] }
[2957] /*----*/
[2958] return 0;
[2959] }
[2960] /*IIIIIIIIIIIIIIIIIIIIIIIIIIIIII*/
[2961] int Ellipse2
[2962] (int x, int y,int stangle,int endangle,
[2963] int x_radius,int y_radius)
[2964] {
[2965] ellipse(x,y,stangle,endangle,x_radius,y_radius);
[2966] ellipse(x,y,stangle,endangle,x_radius-2,y_radius-2);
[2967] /*----*/
[2968] return 0;
[2969] }
[2970] /*IIIIIIIIIIIIIIIIIIIIIIIIIIIIII*/
[2971] /*######################################################*/
Приложение 2.
Титульный лист программы автоматического управления.
Приложение 3.
Индикация начала работы программы автоматического управления.
Приложение 4.
Индикация работы устройства
DEVICE LVD-1.
Приложение 5.
Индикация работы устройства
DEVICE LVD-2.
Приложение 6.
Индикация работы устройства
МУЗЫКАЛЬНЫЙ ЦЕНТР.
Приложение 7.
Индикация работы устройства
АВТОПИЛОТ.
Приложение 8.
Музыкальный файл (файл звуковой сигнализации).
/*################################################*/
[1] /* Music file: music_0.h - Sound */
[2] /*############################################*/
[3] /*================ DEFINE */
[4] /*------------- First octave frequency (Hz): */
[5] #define D_ 262
[6] #define DD_ 277
[7] #define RB_ 277
[8] #define R_ 294
[9] #define RD _ 311
[10] #define MB_ 311
[11] #define M_ 330
[12] #define F_ 349
[13] #define FD_ 370
[14] #define SB_ 370
[15] #define S_ 392
[16] #define SD_ 415