|
Главная | Правила | Регистрация | Дневники | Справка | Пользователи | Календарь | Поиск | Сообщения за день | Все разделы прочитаны |
|
Опции темы | Опции просмотра |
16.06.2010, 10:40 | #1 (permalink) |
Member
Регистрация: 02.11.2009
Сообщений: 19
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Делфи, работа с файлами
unit lab1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) ListBox1: TListBox; ListBox2: TListBox; ListBox3: TListBox; Button1: TButton; Label1: TLabel; Label2: TLabel; Label3: TLabel; 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; a:integer; begin AssignFile(f,'l1_in.txt'); Reset(f); while not eof(f) do begin Read(f,a); ListBox1.Items.Add(Inttostr(a)); end; closefile(f); for a:=0 to listbox1.Count-1 do if Strtoint(ListBox1.Items.Strings[a])>=0 then listbox2.Items.Add(ListBox1.Items.Strings[a]) else listbox3.Items.Add(ListBox1.Items.Strings[a]); if Listbox2.Count=0 then listbox2.Items.Add('Нет положительных'); if Listbox3.Count=0 then listbox3.Items.Add('Нет отрицательных'); ListBox2.Items.SaveToFile('l1_max_out.txt'); ListBox3.Items.SaveToFile('l1_min_out.txt'); end; end. Заменить блок: AssignFile(f,'l1_in.txt'); Reset(f); while not eof(f) do begin Read(f,a); ListBox1.Items.Add(Inttostr(a)); end; closefile(f); for a:=0 to listbox1.Count-1 do if Strtoint(ListBox1.Items.Strings[a])>=0 then listbox2.Items.Add(ListBox1.Items.Strings[a]) else listbox3.Items.Add(ListBox1.Items.Strings[a]); if Listbox2.Count=0 then listbox2.Items.Add('Нет положительных'); if Listbox3.Count=0 then listbox3.Items.Add('Нет отрицательных'); ListBox2.Items.SaveToFile('l1_max_out.txt'); ListBox3.Items.SaveToFile('l1_min_out.txt'); так чтобы запись результатов шла сразу в файлы |
16.06.2010, 10:40 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Посты которые имеют сходства с вашей темой Паскаль, работа с файлами Работа с файлами на Паскале Проблема с файлами Работа с файлами Работа с текстовыми файлами Си |
20.06.2010, 13:04 | #3 (permalink) |
Member
Регистрация: 02.11.2009
Сообщений: 19
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
вот так?
begin AssignFile(f,'l1_in.txt'); Reset(f); while not eof(f) do begin Read(f,a); ListBox1.Items.Add(Inttostr(a)); end; closefile(f); for a:=0 to listbox1.Count-1 do if Strtoint(ListBox1.Items.Strings[a])>=0 then ReWrite (l1_max_out.txt); write Inttostr(ListBox1.Items.strings[a]); closefile(l1_max_out.txt); else ReWrite ( l1_min_out.txt); write Inttostr(ListBox1.Items.strings[a]); closefile ( l1_min_out.txt) ; end; |
20.06.2010, 13:18 | #4 (permalink) |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Знаете, я ничего не понимаю в этих формах, боксах, кнопках и прочем, но только если Вы используете конструкцию if ... then ... else, причем количество операций там больше одной, то необходимы операторные скобки, т. е. должно быть
if ... then begin ... end else begin ... end; Причем перед else разделитель (точка с запятой) не ставится. |
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
Опции темы | |
Опции просмотра | |
|
|