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

Вниз

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

 
fend   (2007-09-28 08:48) [0]

Как определить длину переменной string?


 
Savek   (2007-09-28 08:55) [1]

букварь потерялся?
length(str)


 
fend   (2007-09-28 08:58) [2]

>Savek   (28.09.07 08:55) [1]
>букварь потерялся?
Точно


 
Инс ©   (2007-09-28 10:18) [3]

Так, к сведению... Длина переменной string всегда равна 4 байтам. А вот длина строки, на которую переменная string ссылается - это уже length(str)


 
Ega23 ©   (2007-09-28 10:41) [4]


> Инс ©   (28.09.07 10:18) [3]
> Длина переменной string всегда равна 4 байтам


От разрядности зависит...  :)))


 
Инс ©   (2007-09-28 10:43) [5]


> От разрядности зависит...  :)))

Блин... И не поспоришь ;-)


 
Anatoly Podgoretsky ©   (2007-09-28 11:15) [6]

> Инс  (28.09.2007 10:43:05)  [5]

А можно еще и оспорить, зависит от состояния переключателя H+-


 
DVM ©   (2007-09-28 11:39) [7]

Вам бы все спорить.


 
Anatoly Podgoretsky ©   (2007-09-28 11:57) [8]

> DVM  (28.09.2007 11:39:07)  [7]

А что - превратим форум в информационный справочник и отвечающим тебя поставим.


 
DVM ©   (2007-09-28 12:40) [9]


> Anatoly Podgoretsky ©   (28.09.07 11:57) [8]

Здесь многие сидят исключительно для того чтобы спорить. Сидят, ждут, когда кто-то допустит какую-либо ошибку или даже описку в высказываениях и тут то они набрасываются со своими спорами.


 
DVM ©   (2007-09-28 12:42) [10]

Причем о предмете спора зачастую не имеют ни малейшего представления и споря параллельно ищут себе информацию для контраргументов в поисковиках, желая показаться умнее и начитаннее. Я не прав?


 
Инс ©   (2007-09-28 12:51) [11]


> и споря параллельно ищут себе информацию для контраргументов
> в поисковиках

Не имея представления о предмете спора невозможно найти правильную информацию для контраргументов. Обязательно ляпнешь какую-нибудь чушь абсолютно не в тему.


 
Leonid Troyanovsky ©   (2007-09-28 12:52) [12]


> DVM ©   (28.09.07 12:40) [9]

> Сидят, ждут, когда кто-то допустит какую-либо ошибку или
> даже описку в высказываениях и тут то они набрасываются

Такова природа обсуждения.

Назначение данного форума, как и многих других,
избавлять(ся) от заблуждений, не дожидаясь
естественной смерти их носителей.

--
Regards, LVT.


 
DVM ©   (2007-09-28 12:58) [13]


> Не имея представления о предмете спора невозможно найти
> правильную информацию для контраргументов

Правильную то невозможно. Но вот оценить, что информация неправильна зачастую ни одна из спорящих сторон не в состоянии, т.к. обе стороны плавают в вопросе обсуждения.

Не знаю, что меня потянуло на философствования.


 
DVM ©   (2007-09-28 13:00) [14]


> Назначение данного форума, как и многих других,
> избавлять(ся) от заблуждений, не дожидаясь
> естественной смерти их носителей.

:) Google и WiKiPedia не скоро закроются.


 
Leonid Troyanovsky ©   (2007-09-28 13:04) [15]


> DVM ©   (28.09.07 12:58) [13]

> Правильную то невозможно. Но вот оценить, что информация
> неправильна зачастую ни одна из спорящих сторон не в состоянии,

Значит, надо ждать третью ;)

Кста, это не философия, а просто расплывчатые фразы,
поконкретней - кто, где, когда и при каких обстоятельствах.

--
Regards, LVT.


 
Anatoly Podgoretsky ©   (2007-09-28 13:06) [16]

> Leonid Troyanovsky  (28.09.2007 13:04:15)  [15]

Явки, пароли


 
Инс ©   (2007-09-28 13:08) [17]


> DVM ©   (28.09.07 12:58) [13]

Я кажется понимаю намек... Скажите пожалуйста, уважаемый, [7] и [9] - было направлено на меня или в воздух? Если ко мне то:
Вспоминаются два наших с вами спора. Первый - там что-то про функции, которые сами выделяют память. Я привел пример ConvertSidToStringSid. Поверьте, я не нашел его в гугле для того, чтобы подловить вас на неточности. Я и сам когда-то думал, что в WinAPI принято, что память всегда выделяет вызывающая сторона, пока сам не столкнулся с обратным. Доказательство того, что я с этим столкнулся раньше момента спора:
http://www.delphikingdom.com/asp/viewitem.asp?catalogid=1322

Второй - это совсем недавнешний спор по WinAPI. Тут тоже дело не в поисковиках. Информацию для своих аргументов я брал из книг того же Рихтера, Харта, Соломона и Руссиновича да и из личных наблюдений. Просто я когда-то нашел время их прочесть и допускаю, что у некоторых такого времени быть не могло. Я не вижу в этом ничего плохого. Зато у других было время заняться чем-то другим, чем у меня времени не было.


 
Johnmen ©   (2007-09-28 13:08) [18]


> Инс ©   (28.09.07 10:18) [3]
> Так, к сведению... Длина переменной string всегда равна 4 байтам.

Уверен?
Что за байты? Что в них?


 
DVM ©   (2007-09-28 13:13) [19]


> Инс ©   (28.09.07 13:08) [17]
>
> > DVM ©   (28.09.07 12:58) [13]
>
> Я кажется понимаю намек... Скажите пожалуйста, уважаемый,
>  [7] и [9] - было направлено на меня или в воздух? Если
> ко мне то:

Ну вы блин даете. Почему ж на вас? Тут каждая вторая ветка что подлиннее такая.


 
Инс ©   (2007-09-28 13:14) [20]


> DVM ©   (28.09.07 13:13) [19]

Тогда прошу прощения. У меня была причина так подумать.


 
Инс ©   (2007-09-28 13:38) [21]


> Johnmen ©   (28.09.07 13:08) [18]

Спорить будем? :) Давайте, только прежде чем начать, определимся с терминами, чтобы не было придирок к словам, а спор касался только сути. С моей стороны такие тезисы:
1. Говоря о типе string подразумеваю включенную директиву $H, что подразумевает AnsiString, а не ShortString, так как именно так и бывает в 99.9% случаев.
2. Подразумеваю компилятор D7, указанный в вопросе.
3. Между словами "переменной" и "string" в [3] упущенно слово "типа", так как оно явно читается из контекста.


 
Anatoly Podgoretsky ©   (2007-09-28 13:51) [22]

> Johnmen  (28.09.2007 13:08:18)  [18]

Или nil или указатель на структуру. Для длинных строк.


 
Johnmen ©   (2007-09-28 13:55) [23]


> Инс ©   (28.09.07 13:38) [21]

Принимается.
Итак.
> Так, к сведению... Длина переменной string всегда равна 4 байтам.
Что за байты? Что в них?


 
evvcom ©   (2007-09-28 13:56) [24]

Опять понеслось :)


 
Инс ©   (2007-09-28 13:58) [25]


> Что за байты? Что в них?

Анатолий ответил.


 
evvcom ©   (2007-09-28 14:03) [26]


> DVM ©   (28.09.07 12:58) [13]

Я бы сказал проще, народу хочется поразвлечься. А то, что Инс © уловил намек, так мне то же самое показалось. Ну раз нет, тогда сорь.


 
Anatoly Podgoretsky ©   (2007-09-28 14:04) [27]

> Инс  (28.09.2007 13:58:25)  [25]

И помоему одназначно, по крайней мере для указаного типа.


 
Инс ©   (2007-09-28 14:05) [28]


> Я бы сказал проще, народу хочется поразвлечься

А чем же еще заниматься в рабочее время :) Не работой же!


 
Инс ©   (2007-09-28 14:05) [29]


> Anatoly Podgoretsky ©   (28.09.07 14:04) [27]

По-моему - тоже


 
Johnmen ©   (2007-09-28 14:12) [30]


> Инс ©   (28.09.07 13:58) [25]
> > Что за байты? Что в них?
> Анатолий ответил.

Я спрашивал у тебя.
Если, конечно, тебе не трудно, всё же ответь.


 
Инс ©   (2007-09-28 14:27) [31]


> Johnmen ©   (28.09.07 14:12) [30]

Переменная типа AnsiString представляет собой 32-битный указатель, значение которого равно nil в случае "" или указатель на некую структуру в памяти. В последнем случае сама строка находится в памяти, по адресу численно равному значению этого указателя. Если быть точнее - то указатель указывает именно на первый символ. По отрицательному смещению от него хранится служебная информация - длина строки и счетчик ссылок. Строка завершается нулевым символом.

В чем суть претензии?


 
Инс ©   (2007-09-28 14:28) [32]


> или указатель на некую структуру в памяти.

или адрес некой структуры в памяти правильнее. Дабы не было придирок к словам.


 
DVM ©   (2007-09-28 14:37) [33]


> evvcom ©   (28.09.07 14:03) [26]

Ну кто про себя знает, тот себя в моих словах увидел :)


 
Германн ©   (2007-09-28 15:12) [34]


> evvcom ©   (28.09.07 13:56) [24]
>
> Опять понеслось :)
>

Во-во. Розыча на них нет :-)


 
{RASkov} ©   (2007-09-28 15:50) [35]

> [31] Инс ©   (28.09.07 14:27)
> Переменная типа AnsiString

> Строка завершается нулевым символом.

А я почему-то думал, что пофик какой там символ в конце строки....


 
Инс ©   (2007-09-28 15:53) [36]


> А я почему-то думал, что пофик какой там символ в конце
> строки....

Нет, не пофиг, это сделано специально для совместимости с типом PChar.


 
DVM ©   (2007-09-28 15:57) [37]

Да оно и PChar - у пофиг, не пофиг функциям работающим с такими строками.


 
Anatoly Podgoretsky ©   (2007-09-28 16:02) [38]

> {RASkov}  (28.09.2007 15:50:35)  [35]

Зря думал, вредно.


 
Anatoly Podgoretsky ©   (2007-09-28 16:02) [39]

> DVM  (28.09.2007 15:57:37)  [37]

А функции работают не с PChar, а с ASCIIZ


 
Инс ©   (2007-09-28 16:05) [40]


> Нет, не пофиг, это сделано специально для совместимости
> с типом PChar.

Правда важно понимать, что совместимость эта в общем то односторонняя.



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

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

Наверх




Память: 0.56 MB
Время: 0.023 c
2-1190802048
sergnnn
2007-09-26 14:20
2007.10.21
Invalid pointer operation


2-1190576562
исследователь
2007-09-23 23:42
2007.10.21
Время и дата


15-1190265156
vrem
2007-09-20 09:12
2007.10.21
что бы в досе не гудел!


15-1190192760
nikolaygor
2007-09-19 13:06
2007.10.21
Delphi: Сдвиг строчек в редакторе кода


15-1190210133
delphiForever
2007-09-19 17:55
2007.10.21
подмогите...