Advertisement
Guest User

Untitled

a guest
Mar 19th, 2019
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pascal 3.09 KB | None | 0 0
  1. procedure TLab4_2.Openfile1Click(Sender: TObject);
  2. var
  3.     InputFile: TextFile;
  4.     Temp, N, i, j: Integer;
  5.     IsCorrect: Boolean;
  6. begin
  7.     ToCleanClick(Sender);
  8.     MxSize.Clear;
  9.     if OpenFile.Execute then
  10.     begin
  11.         try
  12.             AssignFile(InputFile, OpenFile.FileName);
  13.             Reset(InputFile);
  14.             if EoF(InputFile) then
  15.             begin
  16.                 MessageBox(Handle, PChar('It looks like the file is empty!'),
  17.                     PChar('ERROR'), MB_ICONERROR + MB_OK);
  18.                 CloseFile(InputFile);
  19.                 OpenFile1Click(Sender);
  20.             end
  21.             else
  22.             begin
  23.                 Readln(InputFile, N);
  24.                 isCorrect := True;
  25.                 if (N < 10) and (N > 0) then
  26.                 begin
  27.                     MxSize.Text := IntToStr(N);
  28.                     LoadMxSizeClick(Sender);
  29.                 end
  30.                 else
  31.                     isCorrect := False;
  32.                 if EoF(InputFile) then
  33.                 begin
  34.                     MessageBox(Handle, PChar('Not enough data!'),
  35.                         PChar('ERROR'), MB_ICONERROR + MB_OK);
  36.                     MxSize.Text := '';
  37.                     CloseFile(InputFile);
  38.                     OpenFile1Click(Sender);
  39.                 end
  40.                 else
  41.                 begin
  42.                     i := 0;
  43.                     while not(EoF(InputFile)) and (i < N) and isCorrect do
  44.                     begin
  45.                         j := 0;
  46.                         while not(EoLn(InputFile)) and (j < N) and isCorrect do
  47.                         begin
  48.                             Read(InputFile, Temp);
  49.                             IsCorrect := (Temp > -99) or (Temp < 99);
  50.                             GridMx.Cells[j, i] := IntToStr(Temp);
  51.                             Inc(j);
  52.                         end;
  53.                         if isCorrect then
  54.                             isCorrect := j = N;
  55.                         ReadLn(InputFile);
  56.                         Inc(i);
  57.                     end;
  58.                     if IsCorrect then
  59.                         IsCorrect := i = N;
  60.                     if not IsCorrect then
  61.                     begin
  62.                         ToCleanClick(Sender);
  63.                         MxSize.Enabled := True;
  64.                         MxSize.Clear;
  65.                         MessageBox(Handle, PChar('Uncorrect data!'),
  66.                             PChar('ERROR'), MB_ICONERROR + MB_OK);
  67.                          CloseFile(InputFile);
  68.                          OpenFile1Click(Sender);
  69.                     end
  70.                     else
  71.                     begin
  72.                         CloseFile(InputFile);
  73.                     end;
  74.                 end;
  75.             end;
  76.         except
  77.             MessageBox(Handle, PChar('Wrong type of  data or can''t be opened!'),
  78.                 PChar('ERROR'), MB_ICONERROR + MB_OK);
  79.             ToCleanClick(Sender);
  80.             MxSize.Enabled := True;
  81.             MxSize.Clear;
  82.             CloseFile(InputFile);
  83.             OpenFile1Click(Sender);
  84.         end;
  85.     end;
  86. end;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement