Advertisement
ksyshshot

CkeckCoordinate_1_1

Feb 26th, 2023
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Delphi 1.71 KB | Source Code | 0 0
  1. procedure CheckCoordinate(Str: String; var Err: String; var IsCorrect: Boolean; var CoordinateX: Integer; var CoordinateY: Integer; var F: TextFile);
  2. var
  3.     I: Integer;
  4.     IsFirst: Boolean;
  5. begin
  6.     if (Str = '') then
  7.     begin
  8.         Err := 'В файле не найдено элементов. ';
  9.         IsCorrect := False;
  10.     end
  11.     else
  12.     try
  13.         IsFirst := true;
  14.         I := 1;
  15.         while (I <= Length(Str)) do
  16.         begin
  17.             if (Str[I] = ' ') then
  18.             begin
  19.                 if I = 1 then
  20.                 begin
  21.                     Delete(Str, 1, 1);
  22.                     if (IsFirst) then
  23.                         Dec(I)
  24.                     else
  25.                         Inc(I);
  26.                 end;
  27.                 if (I > 1) and (IsFirst) then
  28.                 begin
  29.                     CoordinateX := StrToInt(Copy(Str, 1, (I - 1)));
  30.                     IsFirst := false;
  31.                     Delete(Str, 1, (I - 1));
  32.                     I := 0;
  33.                 end;
  34.                 if (I > 1) and not(isFirst) then
  35.                 begin
  36.                     CoordinateY := StrToInt(Copy(Str, 1, I));
  37.                     I := Length(Str);
  38.                 end;
  39.             end;
  40.             Inc(I);
  41.         end;
  42.         if (CoordinateX > MAX_VALUE) or (CoordinateX < MIN_VALUE) or
  43.         (CoordinateY > MAX_VALUE) or (CoordinateY < MIN_VALUE) then
  44.         begin
  45.             Err := 'Значение одной из координат вне диапазона. ';
  46.             IsCorrect := false;
  47.         end;
  48.     except
  49.         IsCorrect := False;
  50.         Err := 'Обнаружена некорректно записанная координата. ';
  51.     end;
  52. end;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement