Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.03.06;
Скачать: CL | DM;

Вниз

Длинна переменной типа string   Найти похожие ветки 

 
Pavelkq   (2005-02-17 10:15) [0]

Пишу обработчик для файлов не совсем текстового вида, но содержащих текстовые блоки. Запихиваю всю эту фигню а переменную типа string. Когда применяю функцию Length, то она возвращает мне длинну переменной до первого нулевого байта. Т.е. она считает #0 концом текстовой переменной. Но реально там еще куча данных. Как можно получить длинну этой переменной?


 
Чапаев ©   (2005-02-17 10:17) [1]

Приведи код. Очень как-то непонятно ты проблему описал.


 
Digitman ©   (2005-02-17 10:26) [2]


> Запихиваю всю эту фигню а переменную типа string


ошибаешься... не всю "фигню" ты "запихиваешь", а "фигню" до первого терминирующего #0 .. оттого и length() показывает тебе меньше чем ты ожидаешь

проверь сам :

var
s: string;

s := #0#0#0#0#0; //5 терминаторов подряд
showmessage(inttostr(length(s))); //5-ку и увидишь !


 
Sha ©   (2005-02-17 10:41) [3]

Запихивать надо правильно.


 
Digitman ©   (2005-02-17 10:44) [4]


> Pavelkq


файл имеет регулярную структуру ? элементы структуры содержат и текстовые и бин.данные ?
если да, то "запихивать в string" каждую структуру просто неразумно


 
Arm79 ©   (2005-02-17 10:50) [5]

"Пихай" в буфер Pchar. И в файл записывай этот буфер, предварительно записав его размер. При считывании прочитай размер буфера, потом прочитай сам буфер тоже как Pchar. затем бегай по буферу и интерпретируй данные как угодно


 
begin...end ©   (2005-02-17 11:05) [6]

> Pavelkq   (17.02.05 10:15)

> Когда применяю функцию Length, то она возвращает мне
> длинну переменной до первого нулевого байта.

Она возвращает не длину переменной, а длину строки. Размер переменной от длины строки не зависит.



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

Текущий архив: 2005.03.06;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.048 c
4-1106632202
SkierMax
2005-01-25 08:50
2005.03.06
Вскрыть DLL


1-1108810602
deramse
2005-02-19 13:56
2005.03.06
Как скопировать чётные символы строки в переменную ?


4-1106390190
Tack
2005-01-22 13:36
2005.03.06
Как получить системный шрифт Windows?


4-1106841092
Maksym
2005-01-27 18:51
2005.03.06
Mozilla Thunderbird + Delphi


14-1107010428
SPeller
2005-01-29 17:53
2005.03.06
Правка raw-реестра или борьба с драйверами