Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.01.30;
Скачать: CL | DM;

Вниз

Поченму не читает из фала типа TStrings   Найти похожие ветки 

 
Nad89 ©   (2005-01-17 17:09) [0]

Для записи/чтения использую код...Теоретически в мемо после нажатия второй кнопы должно быть "Lazha", а практически - нифига. Че у меня не так?

type DataBase=array[0..100] of TStrings;
...
//---Создает файл типа DataBase...
procedure TForm1.Button1Click(Sender: TObject);
var db:DataBase; f:file of DataBase;
begin
db.Data[0]:=TStringList.Create;
db.Data[0].Add("Lazha");
AssignFile(f,"c:\sef.heh");
Rewrite(f);
Write(f,db);
CloseFile(f);

end;
//Читает етот файл....
procedure TForm1.Button2Click(Sender: TObject);
var db:DataBase; f:file of DataBase;
begin
db.Data[0]:=TStringList.Create;
AssignFile(f,"C:\sef.heh");
Reset(f);
Read(f,db);
Memo1.Lines.AddStrings(db.Data[0]);
CloseFile(f);
end;


 
Amoeba ©   (2005-01-17 17:12) [1]

Бред полнейший!


 
begin...end ©   (2005-01-17 18:03) [2]

> Nad89 ©   (17.01.05 17:09)

> Теоретически в мемо после нажатия второй кнопы должно быть
> "Lazha", а практически - нифига.

Вы заблуждаетесь. Она (лажа) как раз есть. Практически. И ещё до нажатия второй кнопы.

Вам что нужно-то? Прочитать файл в экземпляр TStrings? Для этого есть специальный метод - TStrings.LoadFromFile.

Пример:

var
 Strings: TStrings;
begin
 Strings := TStringList.Create;
 try
   Strings.LoadFromFile("c:\sef.heh")
 finally
   Strings.Free
 end
end.


 
begin...end ©   (2005-01-17 18:12) [3]

> Nad89 ©   (17.01.05 17:09)

А если нужно загрузить содержимое файла в Memo - так тут ещё проще, поскольку у Memo уже есть поле типа TStrings. Так что нужно просто написать: Memo1.Lines.LoadFromFile("c:\sef.heh").

[2] и [3] относится к случаю, если файл - текстовый. Если же он типизированный или нетипизированный, то TStrings тут вообще ни при чём.


 
PVOzerski ©   (2005-01-17 18:30) [4]

С длинными строками вообще нужно быть осторожными, так как у них нет фиксированной длины, а переменная - по сути, указатель. По сути указатель и любой класс - в том числе и TStrings. Так что там дело до запис строк в файл просто не дойдет. А tStrings - к тому же еще и имеет абстрактные методы, он не приспособлен ни для чего, кроме как быть базовым классом для других.


 
raidan ©   (2005-01-17 18:49) [5]

Бред полнейший! (c)

>begin...end ©   (17.01.05 18:12) [3]
Именно так.
В memo можно хранить вообще весь список строк и не использовать никакие type database=array...


 
Anatoly Podgoretsky ©   (2005-01-17 21:04) [6]

var db:DataBase; f:file of DataBase;
И ты утверждаешь, что это у тебя откомилировалось?


 
sniknik ©   (2005-01-18 00:10) [7]

Anatoly Podgoretsky ©   (17.01.05 21:04) [6]
а чего нет? он же его предварительно обьявил (этот тип).

ну и что что оно означает совершенно другое? ;о))



Страницы: 1 вся ветка

Текущий архив: 2005.01.30;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.029 c
14-1105604370
Рамиль
2005-01-13 11:19
2005.01.30
Сообщения MAILER-DAEMON


8-1098045577
Sphinx
2004-10-18 00:39
2005.01.30
ImageList не корректно загрузает картинки ?


3-1104223472
Бульбаш
2004-12-28 11:44
2005.01.30
Проблема с форматированием поля


4-1102606790
Иван2
2004-12-09 18:39
2005.01.30
Можно мне пример привести, как на окошке api текст написать?


1-1105634593
emfw
2005-01-13 19:43
2005.01.30
Движки