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

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.54 MB
Время: 0.041 c
6-1171884932
inex
2007-02-19 14:35
2007.10.21
сетевой файловый менеджер


6-1171358206
SergGG
2007-02-13 12:16
2007.10.21
MailSlot поймать реального клиента


9-1161684252
Ekzot
2006-10-24 14:04
2007.10.21
Поворот четырёхугольника.


15-1190458347
vasIZmax
2007-09-22 14:52
2007.10.21
Четыре часа возился с такой проблемой.


15-1190291341
ace_
2007-09-20 16:29
2007.10.21
что мне дальше делать?





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