home *** CD-ROM | disk | FTP | other *** search
- {$N+}
- {$E+}
- {$A-}
- unit w_tbp_55;
-
- interface
- uses dos,crt;
-
-
- type
-
- DAte = record
- year:integer;
- day :integer;
- mon :integer;
- end;
-
- TIme = record
- hour : integer;
- min : integer;
- sec : integer;
- end;
-
- DMark = record
- mark : longint;
- pfen : integer;
- end;
-
-
- const
-
- (*
- Tastaturcodes
- *)
- KEY_C_L =$14B;
- KEY_C_R =$14D;
- KEY_C_U =$148;
- KEY_C_D =$150;
- KEY_BS =8;
- KEY_CR =13;
- KEY_ESC =27;
- KEY_HOME =327;
- KEY_END =335;
- KEY_PGUP =329;
- KEY_PGDN =337;
- KEY_INS =338;
- KEY_DEL =339;
- KEY_CTRLLEFT =371;
- KEY_CTRLRIGHT =372;
- KEY_F1 =315;
- KEY_F2 =316;
- KEY_F3 =317;
- KEY_F4 =318;
- KEY_F5 =319;
- KEY_F6 =320;
- KEY_F7 =321;
- KEY_F8 =322;
- KEY_F9 =323;
- KEY_F10 =324;
- KEY_CNTRLA =1;
- KEY_CNTRLB =2;
- KEY_CNTRLC =3;
- KEY_CNTRLD =4;
- KEY_CNTRLE =5;
- KEY_CNTRLF =6;
- KEY_CNTRLG =7;
- KEY_CNTRLH =8;
- KEY_CNTRLI =9;
- KEY_CNTRLJ =10;
- KEY_CNTRLK =11;
- KEY_CNTRLL =12;
- KEY_CNTRLM =13;
- KEY_CNTRLN =14;
- KEY_CNTRLO =15;
- KEY_CNTRLP =16;
- KEY_CNTRLQ =17;
- KEY_CNTRLR =18;
- KEY_CNTRLS =19;
- KEY_CNTRLT =20;
- KEY_CNTRLU =21;
- KEY_CNTRLV =22;
- KEY_CNTRLW =23;
- KEY_CNTRLX =24;
- KEY_CNTRLY =25;
- KEY_CNTRLZ =26;
- KEY_ALTF1 =$168;
- KEY_ALTF2 =$169;
- KEY_ALTF3 =$16a;
- KEY_ALTF4 =$16b;
- KEY_ALTF5 =$16c;
- KEY_ALTF6 =$16d;
- KEY_ALTF7 =$16e;
- KEY_ALTF8 =$16f;
- KEY_ALTF9 =$170;
- KEY_ALTF10 =$171;
- KEY_ALTA =$11e;
- KEY_ALTB =$130;
- KEY_ALTC =$12e;
- KEY_ALTD =$120;
- KEY_ALTE =$112;
- KEY_ALTF =$121;
- KEY_ALTG =$122;
- KEY_ALTH =$123;
- KEY_ALTI =$117;
- KEY_ALTJ =$124;
- KEY_ALTK =$125;
- KEY_ALTL =$126;
- KEY_ALTM =$132;
- KEY_ALTN =$131;
- KEY_ALTO =$118;
- KEY_ALTP =$119;
- KEY_ALTQ =$110;
- KEY_ALTR =$113;
- KEY_ALTS =$11f;
- KEY_ALTT =$114;
- KEY_ALTU =$116;
- KEY_ALTV =$12f;
- KEY_ALTW =$111;
- KEY_ALTX =$12d;
- KEY_ALTY =$115;
- KEY_ALTZ =$12c;
-
-
-
- (*
- Mauscodes für die Tastendruck rechts (R), links (L) und mitte (M)
- *)
-
- (*
- Kurzer Maustastendruck liefert:
- *)
- MOUSE_L_B =$3001;
- MOUSE_R_B =$3002;
- MOUSE_M_B =$3004;
-
- (*
- Das Drücken einer Taste (mit anschließendem Bewegen der Maus) liefert:
- *)
- MOUSE_L_B_P =$3011;
- MOUSE_R_B_P =$3012;
- MOUSE_M_B_P =$3014;
-
- (*
- Eine Mausbewegung wird dargestellt mit:
- *)
- MOUSE_MOVE =$300a;
-
- (*
- Das Loslassen einer Taste (nach Bewegen der Maus) liefert:
- *)
- MOUSE_L_B_R =$3021;
- MOUSE_R_B_R =$3022;
- MOUSE_M_B_R =$3024;
-
-
-
-
- MOUSE_PRESS =$3010;
- MOUSE_RELEASE =$3020;
- MOUSE_KLICK =$3000;
-
- (*
- Konstanten zur Identifizierung von Feld-Typen
- *)
- ISSTRING = 0;
- ISCHAR = 1;
- ISBYTE = 2;
- ISINT = 3;
- ISWORD = 4;
- ISLONG = 5;
- ISDOUBLE = 6;
- ISDATE = 7;
- ISTIME = 8;
- ISDMARK = 9;
-
-
-
- (*
- Folgende zwei Konstanten dienen der Einstellung der Betriebsart
- der Funktionen w_kbd und w_mousekbd
- *)
- SAMPLE =0;
- REQUEST =1;
-
-
- (*
- Mit diesen Konstanten läßt sich festlegen ob eine Ausgabe links- oder
- rechtsbündig auf einen Kanal erfolgt
- *)
- LINKSBUENDIG =0;
- RECHTSBUENDIG =1;
-
-
- (*
- Bei Aufruf von w_init(..) zur Steuerung der Ausgabe
- *)
- DIREKT =0;
- BIOS =1;
-
- (*
- Zum Laden einer Maske mit oder ohne virtuellem Schirm
- *)
- VIRTUELL =0;
- NOVIRTUELL =1;
-
-
-
-
- (*
- Basis-Routinen
- *)
- function w_init(bios:integer):integer;
- function w_deinit:integer;
- function w_error:integer;
- function w_load(filename:string; mode:integer):integer;
- function w_open(wnum:integer):integer;
- function w_close:integer;
- function w_erase(wnum:integer):integer;
- procedure w_setcolors(colortable:pointer);
- function w_getcolortable:pointer;
-
-
- function w_lib_open(name:string):integer;
- function w_lib_close:integer;
-
- (*
- Routinen zum Menü-Aufbau
- *)
- function w_switch(wnum:integer):integer;
- function w_switch_pos(wnum,position:integer):integer;
- function w_switch_mouse_esc(wnum,mode:integer):integer;
- function w_switch_mark_mode(wnum,mode:integer):integer;
- function w_switch_mouse_cr(wnum,mode:integer):integer;
- function w_switch_visible_cr(wnum:integer):integer;
- function w_switch_unvisible_cr(wnum:integer):integer;
- function w_switch_auto_esc(wnum:integer):integer;
- function w_switch_break_on_key(wnum,mode:integer):integer;
- function w_switch_last_key(wnum:integer):integer;
- function w_switch_first_key(wnum,key:integer):integer;
- function w_switch_matrix(wnum,mode,left,right,top,bottom:integer):integer;
- function w_switch_range(wnum,first,last:integer):integer;
-
-
-
-
-
- (*
- Routinen zur Ein-und Ausgabe
- *)
- function strtodate(s:string;var d:DAte):integer;
- function strtotime(s:string;var t:TIme):integer;
- function strtodmark(s:string;var d:DMark):integer;
- function w_in_longint(wnum,field:integer;var destin:longint;min,max:longint):integer;
- function w_in_double(wnum,fnum:integer;var destin,min,max:double):integer;
- function w_in_date(wnum,fnum:integer;var destin,min,max:DAte):integer;
- function w_in_time(wnum,fnum:integer;var destin,min,max:TIme):integer;
- function w_in_dmark(wnum,fnum:integer;var destin,min,max:DMark):integer;
- function w_in_int(wnum,field:integer;var destin:integer;min,max:integer):integer;
- function w_in_word(wnum,field:integer;var destin:word;min,max:word):integer;
- function w_in_str(wnum,field,stringlen:integer;var s:string;legal:string):integer;
- function w_in_break_on_key(mode:integer):integer;
- function w_in_last_key:integer;
- procedure w_in_first_key(key:integer);
- procedure w_in_reset_curpos;
-
-
-
-
- function w_out_str(wnum,field:integer;s:string):integer;
- function w_vout_str(wnum,field:integer;s:string):integer;
- function w_out_byte(wnum,fnum:integer;b:byte):integer;
- function w_vout_byte(wnum,fnum:integer;b:byte):integer;
- function w_out_char(wnum,fnum:integer;c:char):integer;
- function w_vout_char(wnum,fnum:integer;c:char):integer;
- function w_out_int(wnum,fnum,i:integer):integer;
- function w_vout_int(wnum,fnum,i:integer):integer;
- function w_out_word(wnum,fnum:integer;w:word):integer;
- function w_vout_word(wnum,fnum:integer;w:word):integer;
- function w_out_longint(wnum,fnum:integer;l:longint):integer;
- function w_vout_longint(wnum,fnum:integer;l:longint):integer;
- function w_out_double(wnum,fnum:integer;var d:double):integer;
- function w_vout_double(wnum,fnum:integer;var d:double):integer;
- function w_out_date(wnum,fnum:integer;var d:DAte):integer;
- function w_vout_date(wnum,fnum:integer;var d:DAte):integer;
- function w_out_time(wnum,fnum:integer;var t:time):integer;
- function w_vout_time(wnum,fnum:integer;var t:time):integer;
- function w_out_dmark(wnum,fnum:integer;var d:DMark):integer;
- function w_vout_dmark(wnum,fnum:integer;var d:DMark):integer;
- function w_vout(wnum:integer):integer;
- procedure w_out_temp_attribute(attribute:byte);
- procedure w_out_temp_format(format:integer);
-
-
-
-
- function w_in_field(wnum,fnum:integer;var buffer):integer;
- function w_out_field(wnum,fnum:integer;var buffer):integer;
- function w_vout_field(wnum,fnum:integer;var buffer):integer;
- function w_out_struct(wnum,first,last:integer;var source):integer;
- function w_vout_struct(wnum,first,last:integer;var source):integer;
- function w_in_struct(wnum,first,last:integer;var destin):integer;
- function w_struct_sizeof(wnum,first,last:integer):integer;
- function w_struct_init(wnum,first,last:integer;var destin;max:integer):integer;
-
-
-
-
- (*
- Routinen zur Mausverwaltung
- *)
- function w_mouse_init:integer;
- function w_mouse_deinit:integer;
- function w_mouse_exist:integer;
- procedure w_mouse_gotoxy(x,y:integer);
- function w_mouse_cur_x:integer;
- function w_mouse_cur_y:integer;
- function w_mouse_pre_x:integer;
- function w_mouse_pre_y:integer;
- function w_mouse_rel_x:integer;
- function w_mouse_rel_y:integer;
-
-
- (*
- Maus- und Tastaturabfrage
- *)
- function w_mousekbd(mode:integer):integer;
- function w_kbd(mode:integer):integer;
-
-
- (*
- Abruf von Maskeninformationen
- *)
-
- function w_xyon_win(wnum,x,y:integer):integer;
- function w_xyon_field(wnum,x,y:integer):integer;
-
- function w_is_wnum(wnum:integer):integer;
- function w_is_field(wnum,field:integer):integer;
- function w_info_vscreen(wnum:integer):pointer;
- function w_info_bscreen(wnum:integer):pointer;
- function w_info_win_left(wnum:integer):integer;
- function w_info_win_right(wnum:integer):integer;
- function w_info_win_top(wnum:integer):integer;
- function w_info_win_bottom(wnum:integer):integer;
- function w_info_attr(wnum,x,y:integer):byte;
- function w_info_text(wnum,x,y:integer):char;
- function w_info_field_num(wnum:integer):integer;
- function w_info_field_x(wnum,field:integer):integer;
- function w_info_field_y(wnum,field:integer):integer;
- function w_info_field_width(wnum,field:integer):integer;
- function w_info_field_rev_attrib(wnum,fnum:integer):integer;
- function w_info_field_out_attrib(wnum,fnum:integer):integer;
- function w_info_field_in_attrib(wnum,fnum:integer):integer;
- function w_info_field_type(wnum,fnum:integer):integer;
- function w_info_field_in_right(wnum,fnum:integer):integer;
- function w_info_field_out_right(wnum,fnum:integer):integer;
- function w_info_field_in_owrite(wnum,fnum:integer):integer;
- function w_info_field_del(wnum,fnum:integer):integer;
- function w_info_field_min(wnum,fnum:integer;min:pointer):pointer;
- function w_info_field_max(wnum,fnum:integer;max:pointer):pointer;
-
-
-
- (*
- Bildschirmroutinen
- *)
- procedure v_init(bios:integer);
- function v_mono:integer;
- function v_getwin(left,top,right,bottom:integer;var buffer):integer;
- function v_putwin(left,top,right,bottom:integer;var buffer):integer;
- function v_gettext(left,top,right,bottom:integer;var buffer):integer;
- function v_puttext(left,top,right,bottom:integer;var buffer):integer;
- function v_getattr(left,top,right,bottom:integer;var buffer):integer;
- function v_putattr(left,top,right,bottom:integer;var buffer):integer;
- function v_movewin(sx1,sy1,sx2,sy2,dx1,dy1:integer):integer;
- procedure v_gotoxy(x,y:integer);
- function v_wherexy:word;
- function v_wherex:integer;
- function v_wherey:integer;
- function v_getcursor:word;
- procedure v_setcursor(shape:word);
- procedure v_hidecursor;
- procedure v_showcursor;
- procedure v_clrscr;
-
-
-
- (*
- Funktionen zum MICROSOFT-Maus-Interface
- *)
- function mouse_init(var buttons:word):integer;
- procedure mouse_show_cursor;
- procedure mouse_hide_cursor;
- function mouse_get_status(var buttons,xpos,ypos:integer):word;
- procedure mouse_set_pos(xpos,ypos:integer);
- function mouse_get_press_status(button:word;var status,presses:word;var xppos,yppos:integer):word;
- function mouse_get_release_status(button:word;var status,releases:word;var xrpos,yrpos:integer):word;
- procedure mouse_set_xrange(xmin,xmax:integer);
- procedure mouse_set_yrange(ymin,ymax:integer);
- procedure mouse_def_graphcursorblock(xhotspot,yhotspot:integer;cursormaskpointer:word);
- procedure mouse_def_textcursor(cursorselect,screenmask,cursormask:word);
- procedure mouse_get_motioncounter(var xcount,ycount:integer);
- procedure mouse_def_eventhandler(eventmask:word;handler:pointer);
- procedure mouse_ligthpen_emulation_on;
- procedure mouse_ligthpen_emulation_off(xpos,ypos:integer);
- procedure mouse_set_motion_per_pixel(xstep,ystep:integer);
- procedure mouse_conditional_hide_cursor(left,right,top,bottom:integer);
-
-