Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

TStringList в файл и из файла [D4, NT4]


Fareader ©   (2002-01-21 11:43:00) 

Добрый день всем! Есть проблема: пытаюсь сохраниьт в файл содержимое TStringList, а когда пробую обратиться получаю ошибку. Чего делать?

var f:file of record
id:integer;
comment:TsrtingList;
end;

kk:record
id:integer;
comment:TStringList;
end;

begin
assignfile(f,path..);
reset(f);
readblock(f,kk,1);
showmessage(kk.comment.text); //Acces violation
close(f);
end;


MBo   (2002-01-21 17:01:00) [1]

2 целых в конце списка

var comment:TstringList;

comment:=TstringList.CREATE;
for i:=1 to numstring do begin
s:=...
comment.add(s);
end;
comment.add(inttostr(i1);
comment.add(inttostr(i2);
comment.savetofile("filename.txt");
...
comment.loadfromfile("filename.txt");
for i:=0 to comment.count-3 do begin
s:=comment[i];
...
end;
i1:=strtoint(comment[comment.count-2]);
i2:=strtoint(comment[comment.count-1]);
...
comment.free;


yaJohn   (2002-01-21 16:25:00) [2]

>kk:record
>id:integer;
>comment:TStringList;
>end;
Naskolko ya ponial
type Tkk=record
id:integer;
comment:TStringList;
end;

var kk:Tkk;

V takom sluchae pri
blockwrite(f,kk,sizeof(kk))v fail zapishetsia celoe id i okazatel na ob"ekt v pamiati comment.
Esli ochennujno imenno tipizirovanniy fail, a ne potoki, naprimer, to luchshe budet imho
type Tkk=record
id:integer;
comment:string[200];
end;

.....

kk.comment:=MyStringList.Text;
blockwrite(f,kk,sizeof(kk));

No eto cherepovato perepolneniem i voobshe neiziashno.


Fareader   (2002-01-21 16:09:00) [3]

Я не работал со списками, можешь код подробнее бросить?


MBo   (2002-01-21 13:35:00) [4]

гораздо проще будет все хранить в 1 списке
slist.add(Inttostr(целое));


Fareader   (2002-01-21 13:28:00) [5]

А если мне нужно хранить в файле 2 поля Integer и TStringList?
Create пробовал - не помогло.


MBo   (2002-01-21 12:59:00) [6]

var comment:TstringList;

comment:=TsrtingList.CREATE;
comment.loadfromfile("filename.txt");
не стоит использовать тип. файл для неизвестно чего.


Наверх

Титульная страница Поиск, карта сайта Написать письмо