Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.07.03;
Скачать: [xml.tar.bz2];

Вниз

String в записи и связанные с этим проблемы   Найти похожие ветки 

 
Сушняк   (2003-06-23 13:36) [0]

У меня возникла проблема. Нужно использовать в записи (ну, допустим, пусть тип будет называться abc) строковое поле. При объявлении переменной file of abc Делфи матерится и требует финализациии типа abc. Как это можно реализовать, если вообще можно? Использовать массив символов вместо строки не получается, т.к. надо считывать длину строкового поля, которая заранее неизвестна. Спасибо.


 
JibSkeart   (2003-06-23 13:38) [1]

File of String !

вроде если не путаю


 
Palladin   (2003-06-23 13:38) [2]

при помощи File of никак не реализовать
нужно использовать не типизированные файлы или TFileStream


 
Palladin   (2003-06-23 13:39) [3]


> JibSkeart © (23.06.03 13:38)

да чего уж...
file of tform


 
VMcL   (2003-06-23 13:54) [4]

>Palladin © (23.06.03 13:39)

Лучше File of File :)


 
JibSkeart   (2003-06-23 14:02) [5]

Да я все понял и вспомнил :))

сам то я уже давно в Делфях ничего не делаю :))


 
Palladin   (2003-06-23 14:04) [6]

почему? а в чем делаешь? каковы причины перехода?


 
Chlavik   (2003-06-23 14:22) [7]

Palladin © (23.06.03 13:39) :))

Я делаю так

var Len:word; // я думаю больше, не нужно
s:string;
f:file;
begin
assigneFile(f,"c:\test.dat");
FileMode:=fmOpenWrite;
Rewrite(f,1); // если файл уже есть то Reset
S:="asdasdas";
Len:=Length(S);
BlockWrite(f,Len,SizeOf(Len));
if Len<>0 then BlockWrite(f,S[1],Len);
CloseFile(f);
end;

Это пишем а читаем..


А пишем


var Len:word; // я думаю больше, не нужно
s:string;
f:file;
begin
assigneFile(f,"c:\test.dat");
FIleMode:=fmOpenRead;
Reset(f,1);
BlockRead(f,Len,SizeOf(len));
SetLength(s,len);
if Len<>0 then BlockRead(f,S[1],Len);
CloseFile(f);
end;



 
Palladin   (2003-06-23 14:25) [8]

ну, усе верно...



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

Форум: "Основная";
Текущий архив: 2003.07.03;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.009 c
14-7600
Weare
2003-06-17 16:18
2003.07.03
Работа с почтовой программой


14-7604
KOM
2003-06-18 15:48
2003.07.03
Многопоточность


3-7311
Ancara
2003-06-09 14:03
2003.07.03
Кириллица в Database Desktop


1-7493
Иванов Сергей
2003-06-21 10:32
2003.07.03
путаница с формами


8-7552
MegaLexx
2003-03-20 20:07
2003.07.03
Скины вручную





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