home *** CD-ROM | disk | FTP | other *** search
/ Prima Shareware 3 / DuCom_Prima-Shareware-3_cd1.bin / PROGRAMO / PASCAL / TPTTOOL / EINGABE.DOC next >
Encoding:
Text File  |  1992-10-28  |  3.8 KB  |  104 lines

  1.                         Anleitung für Unit EINGABE
  2.                         ==========================
  3.  
  4.  
  5.  Die Unit Eingabe enthält Routinen zur Tastatursteuerung:
  6.  
  7.    GetKey(Scancode,ASC-Code): Liefert Scancode und ASCII-Code
  8.    der gedrückten Taste (ersetzt "Readkey").
  9.    Die Scancode-Konstanten für diese Prozedur sind unten angeführt.
  10.    (z.B: cleft für Control + Cursor links).
  11.  
  12.    GetStr: Ersetzt Readln.
  13.  
  14.    CutEmty: Sollte nach GetStr auf einen String angewendet werden.
  15.  
  16.  
  17.  Es folgt die genaue Anleitung:
  18.  
  19.  Sicherlich haben sie sich schon geärgert, daß man unter TP 6.0 Sondertasten,
  20.  wie z.B. die Komination ALT+X nicht abfragen kann. Dieses Manko
  21.  behebt der Befehl GETKEY.
  22.  Sie wenden ihn so an:
  23.  
  24.    Var
  25.      scan, asc: Byte;
  26.  
  27.    begin
  28.       GetKey(Scan,Asc);
  29.       If Scan=altx then Writeln('Alt+X wurde gedrückt');
  30.       If Asc=65 then Writeln('Sie haben "A" eingegeben');
  31.    end.
  32.  
  33.  Ganz einfach, oder ?
  34.  Es folgen nun die Namen der Konstanten, die Zahlen dahinter können sie
  35.  getrost ignorieren, sie sind die Scan-Codes der Tasten oder der
  36.  Tastenkombinationen.
  37.  
  38.   Scancode-Konstanten für Prozedur GetKey:
  39.  
  40.   stab=15; altq=16; altw=17; alte=18; altr=19; altt=20; altz=44;
  41.   altu=22; alti=23; alto=24; altp=25;
  42.   alta=30; alts=31; altd=32; altf=33; altg=34; alth=35; altj=36;
  43.   altk=37; altl=38;
  44.   alty=21; altx=45; altc=46; altv=47; altb=48; altn=49; altm=50;
  45.   f1=59; f2=60; f3=61; f4=62; f5=63; f6=64; f7=65; f8=66; f9=67; f10=68;
  46.   home=71; up=72; pageup=73; left=75; right=77; down=80; pagedown=81;
  47.   ins=82; del=83; ende=79;
  48.   sf1=84; sf2=85; sf3=86; sf4=87; sf5=88; sf6=89; sf7=90; sf8=91;
  49.   sf9=92; sf10=93;
  50.   cf1=94; cf2=95; cf3=96; cf4=97; cf5=98; cf6=99; cf7=100; cf8=101;
  51.   cf9=102; cf10=103;
  52.   altf1=104; altf2=105; altf3=106; altf4=107; altf5=108; altf6=109;
  53.   altf7=110; altf8=111; altf9=112; altf10=113;
  54.   cleft=115; cright=116; cend=117; cpagedown=118; chome=119;
  55.   alt1=120; alt2=121; alt3=122; alt4=123; alt5=124; alt6=125; alt7=126;
  56.   alt8=127; alt9=128; alt0=129;
  57.  
  58.  
  59.  Nun der Kernbefehl dieser Unit:
  60.  
  61.               GETSTR !!!
  62.  
  63.  Er ersetzt in geradezu genialer Weise den Readln-Befehl, denn:
  64.  Sie können nicht nur einfach Texte eingeben. NEIN: GETSTR ist fast
  65.  schon eine kleine Textverarbeitung. Sämtliche Texteditierungstasten,
  66.  wie EINF, ENTF, POS1 usw. funktionieren ! Die Maximale Länge
  67.  des Einzugebenden Textes läßt sich ebenso festlegen, wie der
  68.  Reverse Eingabebalken.
  69.  Wenn sie es bis hier noch nicht getan haben, SCHAUEN SIE SICH DAS DEMO AN!
  70.  Beachten sie: GETSTR fragt auch Sondertasten ab, und läßt z.B. hier
  71.  beim Demo beim Druck auf F1 ein Hilfefenster erscheinen.
  72.  
  73.  Syntax von GetStr:
  74.  
  75.   GetStr(Text,Vorgabe,Einleitender Text,Länge,X-Pos,Y-Pos,Sondert,Balken,BF,TF)
  76.  
  77.     "Text" ist die Stringvariable in der der eingegebene String später
  78.            landet.
  79.     "Vorgabe" ist ein optionaler Vorgabetext.
  80.     "Einleitender Text" ist optional und erklärt sich wohl von selbst.
  81.     "Länge" ist die maximal zulässige Länge der Eingabe.
  82.     "X-Pos","Y-Pos" sind die Positionen auf dem Bildschirm.
  83.     "Sondert" ist eine Byte-Variable, die die Sondertaste enthält, mit
  84.               der die Routine eventuell verlassen wurde.
  85.     Wenn "Balken" true ist, wird ein Eingabebalken gezeichnet.
  86.     "BF" ist die Balkenfarbe, "TF" ist die Textfarbe.
  87.  
  88.  
  89.  Der letzte Befehl dieser Unit ist die Funktion "CUTEMTY".
  90.  
  91.  Ein String, der von GetStr ausgespuckt wird ist so lang, wie sie unter
  92.  maximal-Länge angegeben haben, vielleicht sogar noch länger.
  93.  Um ihn auf das wirkliche Maß zurückzustutzen verwenden sie Cutemty.
  94.  Bsp.
  95.  
  96.      begin
  97.         GetStr(Name,'nixname','Name ?',usw.,usw....);
  98.         CUTEMTY(Name);
  99.      end.
  100.  
  101.    Fazit: Einfach nach jedem GETSTR Aufruf CUTEMTY anwenden.
  102.  
  103.  
  104.  SO, DAS WARS. VIEL SPASS !