Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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.037 c
1-1093505122
O?O
2004-08-26 11:25
2004.09.12
Инсталятор


14-1093317713
SPeller
2004-08-24 07:21
2004.09.12
Отошлем спамерам спам :)


6-1087974793
ИМХО
2004-06-23 11:13
2004.09.12
Спецам по TWebBrowser у


14-1092155523
Sergey Masloff
2004-08-10 20:32
2004.09.12
Нужно ли бороться с хинтами и ворнингами - 2


8-1087910010
Chery
2004-06-22 17:13
2004.09.12
MediaPlayer. Как развернуть файл во весь экран?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский