Добрый день!
Ситуация такая: написал программу,используя savedialog и opendialog, которая сохраняет листинг в текстовый отдельный внешний файл, а при его открывании в поле вывода выводятся только числа, кратные 3...программу защитил у преподавателя, но он мне сказал, чтобы я сделал замену( выделено красным что заменить, на зеленый чем заменить, так , чтобы все работоспособноть сохранялась...с
P.S. извиняюсь заранее, не смог здесь загнать весь текст под спойлер)
Код:
unit misterx1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Grids;
type
TForm1 = class(TForm)
Label1: TLabel;
Button1: TButton;
Button2: TButton;
SaveDialog1: TSaveDialog;
OpenDialog1: TOpenDialog;
Edit1: TEdit;
Label2: TLabel;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
var
F : textfile;
f1:string ;
procedure TForm1.Button1Click(Sender: TObject);
begin
if edit1.text=''then
begin
showmessage('поля ввода не заполнено!');
exit;
end;
if SaveDialog1.Execute then
begin //введено имя файла
assignfile(f,savedialog1.filename);
rewrite(f);
f1:= edit1.text;
write(f, f1);
end;
CloseFile(F);
end;
procedure TForm1.Button2Click(Sender: TObject);
Var i: Byte;
n:integer;
chislo:string;
begin
if OpenDialog1.Execute then
begin //введено имя файла
assignfile(f, opendialog1.filename);
reset(f);
read(f, f1);
label2.caption:=f1 ;
n:=length(label2.caption);
edit1.Text:='';
for i:=1 to n do while not Eof(f) do
begin
if label2.caption[i]<>';'then
begin
chislo:=chislo+label2.caption[i];
end
else
begin
if (0=strtoint(chislo) mod 3) then
begin
edit1.text:=edit1.text + chislo + ' ' ;
end;
chislo:=''
end;
end;
end;
end;
end.
Admin: Пользуемся тегами!