Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- procedure TLab4_2.Openfile1Click(Sender: TObject);
- var
- InputFile: TextFile;
- Temp, N, i, j: Integer;
- IsCorrect: Boolean;
- begin
- ToCleanClick(Sender);
- MxSize.Clear;
- if OpenFile.Execute then
- begin
- try
- AssignFile(InputFile, OpenFile.FileName);
- Reset(InputFile);
- if EoF(InputFile) then
- begin
- MessageBox(Handle, PChar('It looks like the file is empty!'),
- PChar('ERROR'), MB_ICONERROR + MB_OK);
- CloseFile(InputFile);
- OpenFile1Click(Sender);
- end
- else
- begin
- Readln(InputFile, N);
- isCorrect := True;
- if (N < 10) and (N > 0) then
- begin
- MxSize.Text := IntToStr(N);
- LoadMxSizeClick(Sender);
- end
- else
- isCorrect := False;
- if EoF(InputFile) then
- begin
- MessageBox(Handle, PChar('Not enough data!'),
- PChar('ERROR'), MB_ICONERROR + MB_OK);
- MxSize.Text := '';
- CloseFile(InputFile);
- OpenFile1Click(Sender);
- end
- else
- begin
- i := 0;
- while not(EoF(InputFile)) and (i < N) and isCorrect do
- begin
- j := 0;
- while not(EoLn(InputFile)) and (j < N) and isCorrect do
- begin
- Read(InputFile, Temp);
- IsCorrect := (Temp > -99) or (Temp < 99);
- GridMx.Cells[j, i] := IntToStr(Temp);
- Inc(j);
- end;
- if isCorrect then
- isCorrect := j = N;
- ReadLn(InputFile);
- Inc(i);
- end;
- if IsCorrect then
- IsCorrect := i = N;
- if not IsCorrect then
- begin
- ToCleanClick(Sender);
- MxSize.Enabled := True;
- MxSize.Clear;
- MessageBox(Handle, PChar('Uncorrect data!'),
- PChar('ERROR'), MB_ICONERROR + MB_OK);
- CloseFile(InputFile);
- OpenFile1Click(Sender);
- end
- else
- begin
- CloseFile(InputFile);
- end;
- end;
- end;
- except
- MessageBox(Handle, PChar('Wrong type of data or can''t be opened!'),
- PChar('ERROR'), MB_ICONERROR + MB_OK);
- ToCleanClick(Sender);
- MxSize.Enabled := True;
- MxSize.Clear;
- CloseFile(InputFile);
- OpenFile1Click(Sender);
- end;
- end;
- end;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement