Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.04.2009, 17:44   #1
V@mpir
Пользователь
 
Регистрация: 18.03.2009
Сообщений: 54
По умолчанию Проблема с записью результата в txt

Видел уже нечто подобное в других темах, но как мне кажется, проблема у меня в чем то другом, нежели у других форумчан.

Цитата:
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;
s:string;
t:char;
begin
for t:='a' to 'z' do
AssignFile(f,'cifir.txt');
if FileExists('cifir.txt')
then Append(f) else Rewrite(f);
Writeln(f,t);
CloseFile(f);
end;

end.
В результате в текстовике только " } " и ничего более.
V@mpir вне форума Ответить с цитированием
Старый 09.04.2009, 18:04   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

о порядке действий посуди, что в твоем примере делает цикл?
писать надо было так:
Код:
procedure TForm1.Button1Click(Sender: TObject);
var f:textFile;
s:string;
t:char;
begin
AssignFile(f,'cifir.txt');
if FileExists('cifir.txt')
then Append(f) else Rewrite(f);
for t:='a' to 'z' do Writeln(f,t);
CloseFile(f);
end;
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 09.04.2009, 22:27   #3
pancho
Пользователь
 
Аватар для pancho
 
Регистрация: 25.01.2009
Сообщений: 18
По умолчанию

Код:
procedure TForm1.Button1Click(Sender: TObject);
var f:textFile;
s:string;
t:char;
begin
AssignFile(f,'cifir.txt');
if FileExists('cifir.txt') then Append(f) else Rewrite(f);
for t:='a' to 'z' do begin
  Writeln(f,t);
end;
CloseFile(f);
end;
если я верно понял что ты хочешь сделать с текстовым файлом,то алгоритм примерно такой..
учусь по ходу написания программы..кхх)

Последний раз редактировалось KORN; 10.04.2009 в 05:03. Причина: ставим правильные теги
pancho вне форума Ответить с цитированием
Старый 10.04.2009, 18:43   #4
V@mpir
Пользователь
 
Регистрация: 18.03.2009
Сообщений: 54
По умолчанию

Да спасибо я уже разобрался, но вот теперь в другом проблема

Цитата:
interface

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

type
TForm1 = class(TForm)
Edit1: TEdit;
Edit2: TEdit;
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 j,k,t,m,i,n:integer;
f:textFile;
b,c:string;

begin
if (edit1.Text='') or (edit2.Text='') then
ShowMessage('Поля не заполнены') else
begin
AssignFile(f,'rezul.txt');
if FileExists('rezul.txt')
then Append(f) else Rewrite(f);
b:=edit1.Text;
c:=edit2.text;
for i:=b to c do
writeln (f,i);
end;
end.
Тут естественно в типах ошибка я это сам понимаю, но не могу никак совместить типы разных компонентов. Edit требует string, a цикл integer и тд. В общем нужно разобраться с типами переменных.
V@mpir вне форума Ответить с цитированием
Старый 10.04.2009, 20:59   #5
pancho
Пользователь
 
Аватар для pancho
 
Регистрация: 25.01.2009
Сообщений: 18
По умолчанию

PHP код:
procedure TForm1.Button1Click(SenderTObject);
var 
j,k,i,n,E1,E2:integer;
f:textFile;
begin
E1
:=StrToInt(Edit1.text);
E2:=StrToInT(Edit2.text);
if (
Edit1.text='') or (Edit2.text=''then 
ShowMessage
('Поля не заполнены') else
begin
AssignFile
(f,'rezul.txt');
if 
FileExists('rezul.txt')
then Append(f) else Rewrite(f);
for 
i:=E1 to E2 do
writeln (f,i);
end;
end
вроде так)не проверял,в блокноте писал)но по идее всё правильно)
не забывай что есть такие "переводилки" как:
FloatToStr: real->string
IntToStr: integer->string
ну и наоборот StrToInt и StrToFloat
надеюсь что правильно)
учусь по ходу написания программы..кхх)
pancho вне форума Ответить с цитированием
Старый 10.04.2009, 22:43   #6
Ntlegend
Форумчанин
 
Аватар для Ntlegend
 
Регистрация: 12.05.2007
Сообщений: 373
По умолчанию

а TStrings использовать не интересно??
Перемен! - требуют наши сердца. Перемен! - требуют наши глаза.
В нашем смехе и в наших слезах, И в пульсации вен:
"Перемен!Мы ждем перемен!"
Ntlegend вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с записью структуры в файл JamS007 Общие вопросы C/C++ 5 07.01.2009 23:13
Проблема с записью большого файла Rembo Свободное общение 17 17.06.2008 12:47
Проблема с записью в реест eks-s Общие вопросы Delphi 4 02.02.2008 13:42
Проблема с записью в файл...( Regloger Помощь студентам 10 15.11.2007 17:49
Как прочесть txt файл www.site.ru/info.txt BR17UY Работа с сетью в Delphi 1 16.04.2007 13:01