182
XII. LOKATOR
IF z=’W’THEN BEGIN
g.długość:=-(st+m/60+s/60/60);
WriteLn(’W’);
END
ELSE
BEGIN
g.długość:=st+m/60+s/60/60;
WriteLn(’E’);
END;
END;
FUNCTION CzytąjLok: Lokator;
VAR i: Byte;
I: Lokator;
BEGIN
REPEAT
WriteLn;
WriteLnf Podaj współrzędne lokatora (sześcio- lub ośmioznakowcgo).’); WriteLn;
Write(’Lokator=’);
ReadLn(l);
FOR i:=l TO Length(l) DO l[i]:=UPCase(l[i]);
UNTIL (1[I]>=’A’) AND (l[l]<='R’) AND (1[2]>=’A’) AND (1[2]<=’R’) AND (l[3]>=’0’) AND (1[3]<=’9’) AND (1[41>=’0’) AND (1[4]<=’9’) AND(I[5]>=’A') AND (l[5]<=’X’) AND (1[6]>=’A’) AND (1[6]<=’X’) AND ((Lcngth(l)=6) OR ((1[7]>=’0’) AND (1[7<=]’9’) AND (1[8]>=’0’) AND (1[81<=’9’) AND (Length(l)=8)));
Czytaj Lok :=l;
END;
PROCEDURĘ Wczytaj Dane;
VAR i: Byte; z: Char;
BEGIN
FOR i:=l TO 2 DO BEGIN WriteLn;
WriteLn(’Podaj położenie punktu nr ’,i);
WriteLn(’G - współrzędne geograficzne, dowolny klawisz - lokator.’);
IF KeyPressed THEN REPEAT z:=ReadKey UNTIL NOT KeyPressed; z:=UpCase(RcadKey);
IF z=’G’ THEN BEGIN
CzytajGeo(g[i]);
1 [i ]:=GeoToLok(g[i]);