Форум: "Основная";
Текущий архив: 2004.09.12;
Скачать: [xml.tar.bz2];
Вниз
Типизированые файлы: Найти похожие ветки
← →
Луарвик (2004-08-26 14:44) [0]Вот объявляю тип:
type
ftemp = record
vars: TStrings;
Desk: array [1..255] of char;
end;
Далее пытаюсь записать в тип. файл:
procedure TForm1.Button2Click(Sender: TObject);
var
f: file of ftemp;
fc: ftemp;
begin
AssignFile(f, "FirstTempFile.aff");
rewrite(f);
fc.Desk[1]:="M";
fc.vars.Text:="2";
write(f, fc);
CloseFile(f);
end;
Получаю вот это:
Access violation at address...
← →
clickmaker © (2004-08-26 14:46) [1]
> fc.vars.Text:="2";
а где создание fc?
и вообще, не очень понятно, зачем записывать в файл адрес стринглиста. Ведь при последующем чтении он может уже и не иметь смысла
← →
Семен Сорокин © (2004-08-26 14:48) [2]To declare a file type, use the syntax
type fileTypeName = file of type
where fileTypeName is any valid identifier and type is a fixed-size type. Pointer types--whether implicit or explicit--are not allowed, so a file cannot contain dynamic arrays, long strings, classes, objects, pointers, variants, other files, or structured types that contain any of these.
← →
Луарвик (2004-08-26 14:51) [3]Мда? А как тогда ваще можно записать данные a файл???
← →
clickmaker © (2004-08-26 14:52) [4]а кто тебе мешает объявить vars как array of char ?
← →
Гаврила © (2004-08-26 14:53) [5]НУ например руками записать...
Например TFileStream попользовать
вариантов много
← →
Семен Сорокин © (2004-08-26 14:53) [6]ftemp = record
vars: TStrings;
Desk: array [1..255] of char;
end;
у тебя одни символы и строки, используй либо TStringList, либо TStringStream - там есть встроенные методы: LoadFromFile, SaveToFile
← →
Луарвик (2004-08-26 14:58) [7]На счет [4], мне обязательно надо, чтоб был список строк.
[6]: Только что попробовал TStringList - та же ошибка.
← →
clickmaker © (2004-08-26 15:03) [8]
> Только что попробовал TStringList - та же ошибка
как пробовал?
← →
Семен Сорокин © (2004-08-26 15:04) [9]
> Луарвик (26.08.04 14:58) [7]
> [6]: Только что попробовал TStringList - та же ошибка.
странно у меня работает, может не так пробуешь?with TStringList.Create do
try
Add("1");
Add("2");
Add("3");
SaveToFile("C:\myFile.txt")
finally
Free
end
← →
Луарвик (2004-08-26 15:07) [10]Да нет, же мне надо чтоб файл состоял из записей, в каждой один список строк, и одна строка.
А TStringList пробовал использовать как тот самый список строк в файле...
← →
Семен Сорокин © (2004-08-26 15:10) [11]
> Луарвик (26.08.04 15:07) [10]
> Да нет, же мне надо чтоб файл состоял из записей, в каждой
> один список строк, и одна строка.
> А TStringList пробовал использовать как тот самый список
> строк в файле...
и на елку залезть, и ж..у не ободрать (с) пословица.
пиши свой класс, тебе для каждой записи надо будет хранить кол-во символов твоей строки (списка строк)... Удачи.
← →
Гаврила © (2004-08-26 15:11) [12]Берем TFileStream, пишем
количество записей (integer)
далее в цикле
длину стринглиста
сам стринглист (vars.Text)
Длину отдельной строки(integer)
Саму отдельную строку
читаем из файла аналогично
← →
Суслик © (2004-08-26 15:16) [13]да...
время идет
люди не меняются
книги и примеры кода коих масса так и не научились читать :(
← →
Луарвик (2004-08-26 15:18) [14]Короче, слишком уж сложно :)
Буду ini юзать!
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.09.12;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.044 c