Показать сообщение отдельно
  #1  
Старый 13.05.2010, 15:44
smiger smiger вне форума
Прохожий
 
Регистрация: 13.05.2010
Сообщения: 3
Репутация: 10
По умолчанию Редактирование программы

Добрый день!
Ситуация такая: написал программу,используя 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: Пользуемся тегами!
Ответить с цитированием