Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Делфи _ Работа с текстовым файлом...

Автор: -Alex- 12.11.2006 23:36

Сейчас пытаюсь перейти с Pascal на Delphi,написал простенькую прогу для создания текстового файла и записи в него чисел,но что-то она не пашетsad.gif

Код

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
  procedure Button1Click(sender:Tobject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var f:textfile;
n:integer;
begin
AssignFile(f,'c:\f.txt');
rewrite(f);
for n:=1 to 100 do write(f,n);
closefile(f);
end;
end.

Автор: volvo 12.11.2006 23:59

Что значит "не пашет"? Что говорит?

Автор: Гость 13.11.2006 0:16

Высвечивается кнопка,которую надо нажать...жму её,а толку никакого...результата нет(

Автор: volvo 13.11.2006 0:18

Что, файл не создается? Ты проверял? У меня например, создается... В корне диска C...

Автор: -Alex- 13.11.2006 0:29

Сначала файл создавался...но например если последовательность чисел была 100,то в нём было записано где-то 66-68 чисел,начиная с 1.
Было так:нажимаю run,высвечивалась кнопка,нажимал кнопку,создавался файл,проект не заканчивался,был всё равно в процессе,нажимал второй раз кнопку,высвечивалась ошибка....
Переписал программу,теперь ваще ничего не создаёт...сколько не нажимай кнопку...щас попробую delphi заново поставить,может чего натыкал там не то...неопытный ведь ещё.

Автор: Гость 13.11.2006 1:01

Млин,она всё равно не работает,пишет,что прога "running",жми хоть 100 раз на кнопку,а толку нет...Кто знает,в чём тут проблема...

Автор: klem4 13.11.2006 1:11

Цитата
Было так:нажимаю run,высвечивалась кнопка,нажимал кнопку,создавался файл,проект не заканчивался


А ты что-то сделал для того чтобы он "закончился ?" Делай так например :

procedure TForm1.Button1Click(Sender: TObject);
var
F: TextFile;
n: Integer;
begin
AssignFile(F, 'C:\f.txt');
Rewrite(F);
for n := 1 to 100 do
writeln(F, n);
CloseFile(F);
Application.Terminate; // завершаем работу приложение или можно Form1.Close;
end;


И числа лучьше записывать в файл - одно число на одной строке.

Автор: volvo 13.11.2006 1:13

Цитата
А ты что-то сделал для того чтобы он "закончился ?"
А если я не поставлю Application Terminate, цикл что, будет продолжаться вечно? И с каких это пор 1 .. 100 приравнивается к бесконечности?

Ну, отработает OnClick, и все... Что-то другое здесь, скорее всего, действительно с установкой проблемы...

Автор: Гость 13.11.2006 1:22

Вчера с книги писал примеры,всё работало...Открываю другие примеры, всё работает,создаёт exe.Если же я чё-нить напишу,то ничего не выходит.Ваши советы тоже не помогают....(((

Автор: Vardes 13.11.2006 1:33

Ура...ура....теперь я понял свою ошибку....
Дело в том что для кнопки я вручную прописывал все процедуры, а надо было просто в древе объектов два раза на значок кликнуть...по этому поводу я хотел спросить у знатоков,из-за чего получается такая нестыковка...???

Автор: klem4 13.11.2006 3:37

Volvo ты не правильно меня понял smile.gif я подумал, что автор хотел, чтобы после выполнения, окно программы закрывалось, по этому и предложил такой вариант, хотя это была моя догадка, делать этого конечно не стоило (гадать в смысле).