Главная страница
    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.044 c
14-1093194968
Nelud
2004-08-22 21:16
2004.09.12
Общага.


3-1092375802
REP
2004-08-13 09:43
2004.09.12
Не удается записать в TBlobField произвольный файл


9-1085123883
Bond
2004-05-21 11:18
2004.09.12
Аналоги TBitMap


14-1093164776
banderas
2004-08-22 12:52
2004.09.12
Музыка из "Криминального чтива"


1-1093358150
novarm44
2004-08-24 18:35
2004.09.12
Отраженный текст





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский