{Extra TypDefinition, da im ProcedurKopf string[3]
nicht genommen wird}
type string3=string[3];
{***************************************************************************}
{************************** Nummernschilder
********************************}
{********************** A B K Ü R Z
U N G E N ******************************}
{***************************************************************************}
const
{Ablegen als Konstante}
code:array[1..513]of string3=(
{maximale Länge=3}
'A','AA','AB','ABG','AC','AE','AIC','AK','AM','AN','ANA','ANG','ANK','AÖ','APD','ARN',
'ART','AS','ASL','AT','AU','AUR','AW','AZ','B','BA','BAD','BB','BBG','BBL','BC','BD',
'BED','BEL','BER','BG','BGL','BI','BIR','BIT','BIW','BL','BM','BN','BNA','BO','BOR','BOT',
'BP','BRA','BRB','BRG','BS','BSK','BT','BTF','BÜS','BÜZ','BW','BWL','BYL','BZ','C','CA',
'CB','CE','CHA','CLP','CO','COC','COE','CUX','CW','D','DA','DAH','DAN','DAU','DB','DBR',
'DD','DE','DEG','DEL','DGF','DH','DL','DLG','DM','DN','DO','DON','DU','DÜW','DW','DZ','E',
'EB','EBE','ED','EF','EH','EI','EIL','EIS','EL','EM','EMD','EMS','EN','ER','ERB','ERH',
'ES','ESA','ESW','EU','EW','F','FB','FD','FDS','FF','FFB','FG','FI','FL','FLÖ','FN','FO',
'FOR','FR','FRG','FRI','FRW','FS','FT','FTL','FÜ','FW','G','GA','GAP','GC','GDB','GE',
'GER','GF','GG','GHA','GHC','GI','GL','GM','GMN','GNT','GÖ','GP','GR','GRH','GRM','GRS',
'GRZ','GS','GT','GTH','GUB','GÜ','GVM','GW','GZ','H','HA','HAL','HAM','HAS','HB','HBN',
'HBS','HC','HD','HDH','HDL','HE','HEF','HEI','HEL','HER','HET','HF','HG','HGN','HGW','HH',
'HHM','HI','HIG','HL','HM','HN','HO','HOL','HOM','HOT','HP','HR','HRO','HS','HSK','HST',
'HU','HV','HWI','HX','HY','HZ','IGB','IL','IN','IZ','J','JB','JE','K','KA','KB','KC','KE',
'KEH','KF','KG','KH','KI','KIB','KL','KLE','KLZ','KM','KN','KO','KÖT','KR','KS','KT','KU',
'KÜN','KUS','KW','KY','L','LA','LAU','LB','LBS','LBZ','LC','LD','LDK','LER','LEV','LG',
'LI','LIB','LIF','LIP','LL','LM','LN','LÖ','LÖB','LSA','LSN','LSZ','LU','LUK','LWL','M',
'MA','MAB','MB','MC','MD','ME','MEI','MER','MG','MGN','MH','MHL','MI','MIL','MK','MM',
'MN','MOS','MR','MS','MSP','MTK','MÜ','MVL','MYK','MZ','MZG','N','NAU','NB','ND','NDH',
'NE','NEA','NEB','NES','NEW','NF','NH','NI','NK','NL','NM','NMB','NMS','NOH','NOM','NP',
'NR','NRW','NU','NW','NY','NZ','OA','OAL','OB','OBG','OC','OD','OE','OF','OG','OH','OHA',
'OHZ','OL','OR','OS','OVL','OZ','P','PA','PAF','PAN','PB','PCH','PE','PER','PF','PI',
'PIR','PK','PL','PLÖ','PN','PS','PW','PZ','QFT','QLB','R','RA','RC','RD','RDG','RE','REG',
'RH','RIE','RL','RM','RN','RO','ROS','ROW','RPL','RS','RSL','RT','RU','RÜD','RÜG','RV',
'RW','RZ','S','SAD','SAL','SAW','SBG','SBK','SC','SCZ','SDH','SDL','SDT','SE','SEB','SEE',
'SFA','SFB','SFT','SG','SGH','SH','SHA','SHG','SHL','SI','SIG','SIM','SK','SL','SLF',
'SLN','SLS','SLZ','SM','SN','SO','SON','SÖM','Sp','SPB','SR','SRB','SRO','ST','STA','STB',
'STD','STL','SU','SÜW','SW','SZ','SZB','TBB','TET','TG','THL','TIR','TÖL','TP','TR','TS',
'TÜ','TUT','UE','UEM','UL','UN','VB','VEC','VER','VIE','VK','VS','W','WAF','WB','WBS',
'WDA','WE','WEN','WES','WF','WHV','WI','WIL','WIS','WK','WL','WLG','WM','WMS','WN','WND',
'WO','WOB','WR','WRN','WSF','WST','WSW','WT','WTM','WÜ','WUG','WUN','WUR','WW','WZL','X',
'Y','Z','ZE','ZI','ZP','ZR','ZS','ZW','ZZ','0','1-1');
{***************************************************************************}
{************************* Nummernschilder
*********************************}
{********* Erläuterungen zu den Abkürzungen
-> Konstanten ******************}
{***************************************************************************}
name:array[1..514]of string[58]=(
{maximale Länge=58}
'Augsburg','Ostalbkreis in Aalen','Aschaffenburg','Altenburg','Aachen','Auerbach',
'Aichach-Friedberg in Aichach','Altenkirchen/Westerwald','Amberg
(Stadt)','Ansbach',
'Annaberg','Angermünde','Anklam','Altötting','Apolda','Arnstadt','Artern',
'Amberg-Sulzbach in Amberg','Aschersleben','Altentreptow','Aue','Aurich',
'Bad Neuenahr-Ahrweiler in Ahrweiler','Alzey-Worms
in Alzey','Berlin','Bamberg',
'Baden-Baden (Stadt)','Böblingen','Bernburg','Brandenburg,
Landesregierung und Landtag',
'Biberach/Riß','Bundestag, Bundesrat
Bundesregierung','Brand-Erbisdorf','Belzig','Bernau',
'Bundesgrenzschutz','Berchtesgadener Land
in Bad Reichenhall','Bielefeld (Stadt)',
'Birkenfeld/Nahe und Idar-Oberstein (Stadt)','Bitburg-Prüm
in Bitburg','Bischofswerda',
'Zollernalbkreis in Balingen','Erftkreis
in Bergheim','Bonn (Stadt)','Borna',
'Bochum (Stadt)','Borken in Ahaus','Bottrop
(Stadt)','Deutsche Bundespost',
'Wesermarsch in Brake/Unterweser','Brandenburg','Burg','Braunschweig
(Stadt)','Beeskow',
'Bayreuth','Bitterfeld','Büsingen am
Hochrhein','Bützow',
'Bundes-Wasser-und Schiffahrtsverwaltung',
'Baden-Württemberg, Landesregierung
und Landtag','Bayern, Landesregierung und Landtag',
'Bautzen','Chemnitz','Calau','Cottbus','Celle','Cham','Cloppenburg','Coburg',
'Cochem-Zell in Cochem','Coesfeld/Westfalen','Cuxhaven','Calw','Düsseldorf
(Stadt)',
'Darmstadt','Dachau','Lüchow-Dannenberg
in Lüchow','Daun','Deutsche Bundesbahn',
'Bad Doberan','Dresden','Dessau (Stadt)','Deggendorf','Delmenhorst
(Stadt)',
'Dingolfing-Landau in Dingolfing','Diepholz','Döbeln','Dillingen/Donau','Demmin','Düren',
'Dortmund (Stadt)','Donau-Ries in Donauwörth','Duisburg
(Stadt)',
'Bad Dürkheim/Weinstraße in Neustadt/Weinstraße','Dippoldiswalde','Delitzsch',
'Essen (Stadt)','Eilenburg','Ebersberg','Erding','Erfurt','Eisenhüttenstadt','Eichstätt',
'Eisleben','Eisenberg','Emsland in Meppen','Emmendingen','Emden
(Stadt)',
'Rhein-Lahn-Kreis in Bad Ems/Lahnstein (Stadt)','Ennepe-Ruhr-Kreis
in Schwelm',
'Erlangen (Stadt)','Odenwaldkreis in Erbach/Odenwald','Erlangen-Höchstadt
in Erlangen',
'Esslingen/Neckar','Eisenach','Werra-Meißner-Kreis
in Eschwege','Euskirchen','Eberswalde',
'Frankfurt am Main (Stadt)','Wetteraukreis
in Friedberg/Hessen','Fulda','Freudenstadt',
'Frankfurt/Oder (Stadt)','Fürstenfeldbruck','Freiberg','Finsterwalde','Flensburg
(Stadt)',
'Flöha','Bodenseekreis in Friedrichshafen','Forchheim','Forst',
'Breisgau-Hochschwarzwald und Freiburg (Stadt)','Freyung-Grafenau
in Freyung',
'Friesland in Jever','Bad Freienwalde','Freising','Frankenthal/Pfalz
(Stadt)','Freital',
'Fürth','Fürstenwalde','Gera','Gardelegen','Garmisch-Partenkirchen','Glauchau',
'Gadebusch','Gelsenkirchen (Stadt)','Germersheim','Gifhorn','Groß-Gerau','Geithain',
'Gräfenhainichen','Gießen','Rheinisch-Bergischer
Kreis in Bergisch Gladbach',
'Oberbergischer Kreis in Gummersbach','Grimmen','Genthin','Göttingen','Göppingen',
'Görlitz','Großenhain','Grimma','Gransee','Greiz','Goslar',
'Gütersloh in Rheda-Wiedenbrück','Gotha','Guben','Güstrow','Grevesmühlen',
'Greifswald (Kreis)','Günzburg','Hannover','Hagen/Westfalen
(Stadt)','Halle (Stadt)',
'Hamm/Westfalen (Stadt)','Haßberge
in Haßfurt','Hansestadt Bremen und Bremerhaven',
'Hildburghausen','Halberstadt','Hainichen','Rhein-Neckar-Kreis
und Heidelberg (Stadt)',
'Heidenheim/Brenz','Haldensleben','Helmstedt','Hersfeld-Rotenburg
in Bad Hersfeld',
'Dithmarschen in Heide/Holstein','Hessen,
Landesregierung und Landtag','Herne (Stadt)',
'Hettstedt','Herford in Kirchlengern','Hochtaunuskreis
in Bad Homburg vor der Höhe',
'Hagenow','Hansestadt Greifswald','Hansestadt
Hamburg','Mohenmölsen','Hildesheim',
'Heiligenstadt','Hansestadt Lübeck','Hameln-Pyrmont
in Hameln','Heilbronn/Neckar','Hof',
'Holzminden','Saar-Pfalz in Homburg/Saar','Hohenstein-Ernstthal',
'Bergstraße in Heppenheim/Bergstraße','Schwalm-Eder-Kreis
in Homberg/Bez. Kassel',
'Hansestadt Rostock','Heinsberg','Hochsauerlandkreis
in Meschede','Hansestadt Stralsund',
'Main-Kinzig-Kreis in Hanau','Havelberg','Hansestadt
Wismar','Höxter','Hoyerswerda',
'Herzberg','St.Ingbert (Stadt)','Ilmenau','Ingolstadt/Donau
(Stadt)',
'Steinburg in Itzehoe','Jena','Jüterbog','Jessen','Köln
(Stadt)','Karlsruhe',
'Waldeck-Frankenberg in Korbach','Kronach','Kempten/Allgäu
(Stadt)','Kelheim',
'Kaufbeuren (Stadt)','Bad Kissingen','Bad
Kreuznach','Kiel (Stadt)',
'Donnersberg-Kreis in Kirchheimbolanden','Kaiserslautern','Kleve','Klötze','Kamenz',
'Konstanz','Koblenz (Stadt)','Köthen','Krefeld
(Stadt)','Kassel','Kitzingen','Kulmbach',
'Hohenlohe-Kreis in Künzelsau','Kusel','Königs
Wusterhausen','Kyritz','Leipzig',
'Landshut','Nürnberger Land in Lauf/Pegnitz','Ludwigsburg','Lobenstein','Lübz','Luckau',
'Landau (Stadt)','Lahn-Dill-Kreis in Wetzlar','Leer/Ostfriesland','Leverkusen
(Stadt)',
'Lüneburg','Lindau/Bodensee','Bad Liebenwerda','Lichtenfels','Lippe
in Detmold',
'Landsberg/Lech','Limburg-Weilburg in Limburg/Lahn','Lübben','Lörrach','Löbau',
'Sachsen-Anhalt, Landesregierung und Landtag','Sachsen,
Landesregierung und Landtag',
'Bad Langensalza','Ludwigshafen/Rhein','Luckenwalde','Ludwigslust','München',
'Mannheim (Stadt)','Marienberg','Miesbach','Malchin','Magdeburg
(Stadt)','Mettmann',
'Meißen','Merseburg','Mönchengladbach
(Stadt)','Meiningen','Mülheim/Ruhr (Stadt)',
'Mühlhausen','Minden-Lübbecke in
Minden','Miltenberg','Märkischer Kreis in Lüdenscheid',
'Memmingen (Stadt)','Unterallgäu in
Mindelheim','Neckar-Odenwald-Kreis in Mosbach',
'Marburg-Biedenkopf in Marburg/Lahn','Münster/Westfalen
(Stadt)',
'Main-Spessart-Kreis in Karlstadt','Main-Taunus-Kreis
in Hofheim a. Taunus',
'Mühldorf a. Inn','Mecklenburg-Vorpommern,
Landesregierung und Landtag',
'Mayen-Koblenz in Koblenz','Mainz-Bingen
und Mainz (Stadt)',
'Merzig-Wadern in Merzig/Saar','Nürnberg
(Stadt)','Nauen','Neubrandenburg',
'Neuburg-Schrobenhausen in Neuburg/Donau','Nordhausen','Neuss',
'Neustadt-Bad Windsheim in Neustadt/Aisch','Nebra','Rhön-Grabfeld
in Bad Neustadt/Saale',
'Neustadt/Waldnaab','Nordfriesland in Husum','Neuhaus','Nienburg/Weser',
'Neunkirchen/Saar','Niedersachsen, Landesregierung
und Landtag','Neumarkt/Oberpfalz',
'Naumburg','Neumünster (Stadt)','Grafschaft
Bentheim in Nordhorn','Northeim','Neuruppin',
'Neuwied/Rhein','Nordrhein-Westfalen, Landesregierung
und Landtag','Neu-Ulm',
'Neustadt/Weinstraße (Stadt)','Niesky','Neustrelitz','Oberallgäu
in Sonthofen',
'Ostallgau in Marktoberdorf','Oberhausen/Rheinland
(Stadt)','Osterburg','Oschersleben',
'Stormarn in Bad Oldesloe','Olpe','Offenbach/Main','Ortenaukreis
in Offenburg',
'Ostholstein in Eutin','Osterode/Harz','Osterholz
in Osterholz-Scharmbeck',
'Oldenburg in Oldenburg','Oranienburg','Osnabrück',
'Obervogtland in Klingenthal und Oelsnitz','Oschatz','Potsdam','Passau',
'Pfaffenhofen/Ilm','Rottal-Inn in Pfarrkirchen','Paderborn','Parchim','Peine','Perleberg',
'Enzkreis und Pforzheim (Stadt)','Pinneberg','Pirna','Pritzwalk','Plauen','Plön/Holstein',
'Pößneck','Pirmasens','Pasewalk','Prenzlau','Querfurt','Quedlinburg','Regensburg',
'Rastatt','Reichenbach','Rendsburg-Eckernförde
in Rendsburg','Ribnitz-Damgarten',
'Recklinghausen in Marl','Regen','Roth','Riesa','Rochlitz','Röbel/Müritz','Rathenow',
'Rosenheim','Rostock (Kreis)','Rotenburg/Wümme',
'Rheinland-Pfalz, Landesregierung und Landtag','Remscheid
(Stadt)','Roßlau','Reutlingen',
'Rudolstadt','Rheingau-Taunus-Kreis in Bad
Schwalbach','Rügen in Bergen','Ravensburg',
'Rottweil','Herzogtum Lauenburg in Ratzeburg','Stuttgart
(Stadt)','Schwandorf',
'Saarland, Landesregierung und Landtag','Salzwedel','Strasburg','Schönebeck',
'Schwabach (Stadt)','Schleiz','Sondershausen','Stendal','Schwedt/Oder
(Stadt)',
'Bad Segeberg','Sebnitz','Seelow','Soltau-Fallingbostel
in Fallingbostel','Senftenberg',
'Staßfurt','Solingen (Stadt)','Sangerhausen',
'Schleswig-Holstein, Landesregierung und
Landtag','Schwäbisch Hall',
'Schaumburg in Stadthagen','Suhl','Siegen','Sigmaringen',
'Rhein-Hunsrück-Kreis in Simmern','Saalkreis
in Halle','Schleswig-Flensburg in Schleswig',
'Saalfeld','Schmölln','Saarlouis','Bad
Salzungen','Schmalkalden','Schwerin','Soest',
'Sonneberg','Sömmerda','Speyer (Stadt)','Spremberg',
'Straubing-Bogen und Straubing (Stadt)','Strausberg','Stadtroda','Steinfurt','Starnberg',
'Sternberg','Stade','Stollberg','Rhein-Sieg-Kreis
in Siegburg',
'Südliche Weinstraße in Landau','Schweinfurt','Salzgitter
(Stadt)','Schwarzenberg',
'Main-Tauber-Kreis in Tauberbischofsheim','Teterow','Torgau',
'Thüringen, Landesregierung und Landtag','Tirschenreuth',
'Bad Tölz-Wolfratshausen in Bad Tölz','Templin','Trier-Saarburg
und Trier (Stadt)',
'Traunstein','Tübingen','Tuttlingen','Uelzen','Ueckermünde',
'Alb-Donau-Kreis und Ulm (Stadt)','Unna','Vogelsbergkreis
in Lauterbach/Hessen','Vechta',
'Verden/Aller','Viersen','Völklingen
(Stadt)',
'Schwarzwald-Baar-Kreis in Villingen-Schwenningen','Wuppertal
(Stadt)',
'Warendorf in Beckum','Wittenberg','Worbis','Werdau','Weimar','Weiden/Oberpfalz
(Stadt)',
'Wesel','Wolfenbüttel','Wiihelmshaven
(Stadt)','Wiesbaden (Stadt)',
'Bernkastel-Wittlich in Wittlich','Wismar
(Kreis)','Wittstock','Harburg in Winsen/Luhe',
'Wolgast','Weilheim-Schongau in Weilheim/Oberbayern','Wolmirstedt',
'Rems-Murr-Kreis in Waiblingen','St. Wendel','Worms
(Stadt)','Wolfsburg (Stadt)',
'Wernigerode','Waren','Weißenfels','Ammerland
in Westerstede','Weißwasser',
'Waldshut in Waldshut-Tiengen','Wittmund','Würzburg',
'Weißenburg-Gunzenhausen in Weißenburg/Bayern','Wunsiedel','Wurzen',
'Westerwald-Kreis in Montabaur','Wanzleben',
'Bundeswehr f. Fahrzeuge d. NATO-Hauptquartiere','Bundeswehr','Zwickau','Zerbst','Zittau',
'Zschopau','Zeulenroda','Zossen','Zweibrücken
(Stadt)','Zeitz',
'Fahrzeuge des Diplomatischen Corps',
'Dienstkraftwagen des Präsidenten des
Deutschen Bundestages',
'Das ist kein deutsches Kennzeichen!');
{***************************************************************************}
{* PROCEDURE 1 *************** M E N U *************************************}
{***************************************************************************}
procedure MENU;
begin
textbackground(LightGray); window(1,1,80,25);
clrscr; {GesamtHintergrund}
textbackground(Black);
window(7,3,78,12); clrscr; {Schatten Menu}
textbackground(Brown);
window(5,2,76,11); clrscr; {MenuFenster}
textcolor(Yellow);
{gelber Text}
gotoxy(17,2);write('Autokennzeichen
der BRD (C)94 by Dave Sun'); {Überschrift}
gotoxy(15,3);write('ÄÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÄ');
{Überschrift}
textcolor(Black);
{schwarzer Text}
window(9,6,76,11);
{erspart gotoxy}
writeln('Geben Sie ein Kennzeichen
ein (z.B. WE), bei Enter wird nach dem');
writeln('zugehörigen Ort gesucht
und ausgegeben. Dies können Sie solange');
writeln('wiederholen bis Sie ESC drücken.
Geben Sie ein Fragezeichen ein');
writeln('und Sie erhalten
einen Gesamtüberblick über alle Kennzeichen.');
writeln('Das Listing können Sie
mit Cursor-Tasten, PgDn und PgUp steuern.');
textbackground(Black); window(9,16,76,23);
clrscr; {Schatten EingabeTabelle}
textbackground(Blue); window(7,15,74,22);
clrscr; {EingabeTabelleFenster}
textcolor(LightGray);
{Hellgraue TextFarbe}
gotoxy(9,2);write('**************************************************');
gotoxy(8,3);write('***********************
**********************');
gotoxy(9,4);write('**************************************************');
end;
{***************************************************************************}
{* PROCEDURE 2 *************** E I N G A
B E *******************************}
{***************************************************************************}
{string3 siehe type-Deklaration /"var" Übergabe
der geänderten Variablen}
procedure EINGABE(var buf:string3;var c:char);
var
lv2:integer;
{VariablenDeklaration}
begin
textcolor(LightCyan);
{HellCyaner Text}
lv2:=0;buf:='';
{EingabeLänge und String Leeren}
gotoxy(32,3);
{KennZeichenKürzelKoordinate setzen}
while(keypressed) do c:=readkey;
{TastenPuffer Leeren}
while(NOT(keypressed)) do;
{jetzt warten auf TastenDruck}
write('
');
{Lösche Altes KennZeichenKürzel}
gotoxy(6,6);
{Position auf Erläuterung und löschen}
write('
');
gotoxy(32,3);
{EingabeKoordinate wieder herstellen}
repeat
{Eingabeteil}
c:=readkey;
{Registrierung des TastenDrucks}
if ord(c)=0 then begin
{SteuerungsTaste wurde gedrückt}
c:=readkey;c:='#';end;
{unzulässiges Zeichen einsetzen}
if(c>='a')AND(c<='z') then c:=chr(ord(c)-32);
{GroßbuchstabenWandel}
if(c='ä') then c:='Ä';
{UmWandlung der SonderZeichen}
if(c='ö') then c:='Ö';
{von klein in GroßBuchstaben}
if(c='ü') then c:='Ü';
if(((ord(c)>64)AND(ord(c)<91))OR
{ist das Zeichen ein "A" bis "Z"}
(c='Ä')OR(c='Ö')OR(c='Ü')OR
{oder ein SonderZeichen}
(c='-')OR(c='0')OR(c='1'))AND
{oder ein anderes zulässiges Zeichen}
(lv2<3) then begin
{Und ist EingabeLänge nicht überschrittn}
lv2:=lv2+1;buf:=buf+c;
{EingabeLänge und EingabeString anpassen}
write(c,'
');end
{Ausgabe des Zeichens}
else begin
{wurde ein unzulässiges Zeichen eingegeben}
if ((ord(c)<>13)AND
{ENTER ESC und "?" sind zulässige Zeichen,}
(ord(c)<>27)AND {desshalb nehme ich diese Zeichen
raus}
(c<>'?')) then begin
Sound(520); {entspricht
Beep}
Delay(100); {SoundLänge
100ms}
NoSound;end; {Sound ausschalten}
end;
{ENDE wurde ein unzulässiges Zeichen eingegeben}
until ((ord(c)=13)OR(ord(c)=27)OR(c='?'));
{Abbruch des Einlesens bei Enter}
end;
{***************************************************************************}
{* PROCEDURE 3 *************** L I S T I
N G *******************************}
{***************************************************************************}
procedure LISTING;
var lv1,lv2:integer;
{VariablenDeklaration - LaufVariablen}
c:char; {Charakter zum
Lesen der Tastatur}
begin
lv1:=0;
{Start des Listings bei String Null}
window(1,1,80,25);
{VollBild}
textcolor(Brown);
{brauner Text}
textbackground(Black);
{auf schwarzem Hintergrund}
repeat
{Äußere ListingSchleife}
clrscr;
{BildSchirm löschen}
for lv2:=1 to 24 do begin
{neuer BildAufBau mit 24 Zeilen Text}
gotoxy(9,lv2); write(code[lv1+lv2]);{KennZeichenKürzel
schreiben}
gotoxy(15,lv2);write(name[lv1+lv2]);{dazugehöriger
Name dahinter}
end;
{Ende BildSchirmAufBau}
repeat
{TastenSteuerungsTeil}
c:=readkey;
{Lesen einer Taste}
if ord(c)=0 then
begin c:=readkey; {SteuerungsTastenAuswertung}
if (c='I')AND(lv1>0)
then begin {PGUp SeitenWeise nach oben}
lv1:=lv1-24;c:=chr(0);end; {Listingstring anpassen
/ ExitCode}
if (c='H')AND(lv1>0)
then begin {UP ZeilenWeise nach oben}
lv1:=lv1-1; c:=chr(0);end; {Listingstring anpassen
/ ExitCode}
if (c='P')AND(lv1<489)
then begin {Down ZeilenWeise nach unten}
lv1:=lv1+1; c:=chr(0);end; {Listingstring anpassen
/ ExitCode}
if (c='Q')AND(lv1<489)
then begin {PGDN SeitenWeise nach unten}
lv1:=lv1+24;c:=chr(0);end; {Listingstring anpassen
/ ExitCode}
if lv1<1
then lv1:=0;
{FeldLänge würde unterschritten?}
if lv1>489
then lv1:=489; {FeldLänge
würde überschritten?}
end;
{ENDE SteuerungsTastenAuswertung}
until ((ord(c)=27)OR(ord(c)=0));
{ENDE TastenSteuerungsTeil}
until (ord(c)=27);
{ENDE Äußere ListingSchleife bei ESC}
end;
{***************************************************************************}
{* PROCEDURE 4 ********** E I N Z E L S U
C H E ****************************}
{***************************************************************************}
procedure SUCHE(buf:string3);
{Übergabe ohne Änderung}
{Die letzte Erläuterung(514) sagt aus,
daß kein Kennzeichen}
{gefunden wurde siehe name[] ! ! ! ! }
var lv2:integer;
{VariablenDeklaration}
begin
lv2:=0;
{Start der Such ab 1. Kürzel}
repeat
{Beginn der SuchSchleife}
lv2:=lv2+1;
{KürzelPosition erhöhen}
until (lv2=514)OR(buf=code[lv2]);
{Abbruch gefunden oder nicht}
gotoxy(34-(length(name[lv2]) div 2),6);
{Zentrierte AusgabeKoordinate}
write(name[lv2]);
{Ausgabe der gefundenen Erläuterung}
end;
{***************************************************************************}
{********************** H A U P T P R O G
R A M M **************************}
{***************************************************************************}
var
{Variablen für alle nutzbar aber nicht ganz global}
c:char;
{zum Tastaturlesen}
buffer:string3; {KennZeichenkürzel
siehe Typ-Def. Stringlänge=3}
begin
MENU;
{AufBau des gesamten BildSchirms}
repeat
{große ProgrammSchleife}
EINGABE(buffer,c);
{EingabeAufforderung aufrufen}
if c='?' then begin
{wurde ein FrageZeichen eingegeben}
LISTING;
{dann ListingAufruf}
MENU;end
{gesamter BildSchirm regenerieren}
else SUCHE(buffer);
{ansonsten suche die Erläuterung}
until (ord(c)=27);
{ENDE große ProgrammSchleife / Abbrechen bei ESC}
textcolor(LightGray);
{Hellgrauer Text}
textbackground(Black);
{Schwarzer Hintergrund}
window(1,1,80,25);
{maximales Fenster}
clrscr;
{Bildschirm löschen}
end.
{******************** E N D E
H A U P T P R O G R A M M *****************}