Форум: "Основная";
Текущий архив: 2005.01.30;
Скачать: [xml.tar.bz2];
ВнизПоченму не читает из фала типа 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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.033 c