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

Вниз

Как работает функция pos ?   Найти похожие ветки 

 
BFG9k   (2005-02-14 14:43) [0]

Сначала использовал функцию Pos для динамического обьема данных, представленного как PChar (но не заканчивающегося нулем). Иногда функция вылезает за этот обьем при поиске-  Invalid pointer operation, access violation.

Скопировал данные в строку (везде избавился от PChar). Вроде ошибки исчезли, но недавно снова возникли (не на моей машине - отловить проблематично). Вопрос такой: отличается ли работа Pos со строкой и PChar ? Кажется, строка тоже не кончается нулем.  Есть ли защита от проникновения в другую область памяти ? Например, может приниматься во внимание длина строки.


 
Marser ©   (2005-02-14 14:55) [1]

Отличается. И даже больше - Pos с PChar не работает, с PChar работает StrPos


 
Digitman ©   (2005-02-14 15:07) [2]


> BFG9k


приведи код


 
icWasya ©   (2005-02-14 16:14) [3]

>Кажется, строка тоже не кончается нулем.
Начиная с D2 String (он же AnsiString) всегда заканчивается нулём.


 
han_malign ©   (2005-02-14 17:06) [4]

>отличается ли работа Pos со строкой и PChar
- происходит неявное преобразование к строке, если это не явный массив of char(с детерминированной длиной) - то без контроля длинны - по нулевому символу... Длинну нужно ручками контролировать, скажем через SetString.


 
Георгий Бедный   (2005-02-19 21:06) [5]

А есть такая же функция (типа Pos), но чтобы искала, начиная с нужного символа (нужно для текстового редактора)??
Пример:
function PosEx(StartSymbolNum: Longint): longint;


 
begin...end ©   (2005-02-19 21:15) [6]

> Георгий Бедный   (19.02.05 21:06) [5]

Да, она так и называется - PosEx. См. справку.


 
Георгий Бедный   (2005-02-21 21:23) [7]

Спасибо! Действительно, "ларчик просто открывался". :)
Вот, например, когда-то так же было с WinMPQ. Пытался написать сам, да, вроде, подумалось, что название больно звучное - надо поискать. И что вы думаете?! - Нашёл-таки! Вот тебе и линии вероятности, ешь-его-в-вервольфа-душу-мать! ;)



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

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

Наверх




Память: 0.46 MB
Время: 0.034 c
3-1107855864
Sava
2005-02-08 12:44
2005.03.06
Хранения изображений в БД


14-1108400408
Knight
2005-02-14 20:00
2005.03.06
32-битный цвет под WinXP и Win2003...


3-1107417717
denis24
2005-02-03 11:01
2005.03.06
возврат пустых записей


1-1108624535
Pavelkq
2005-02-17 10:15
2005.03.06
Длинна переменной типа string


14-1107480400
GrayFace
2005-02-04 04:26
2005.03.06
Калькулятор: Как воспринимать 2^3^4?





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