работа со строками
Модератор: Модераторы
какой командой можна перевести widechar в верхній регистр ?
virus_hm
WideUpperCase
WideUpperCase
-
blood_psycho
- незнакомец
- Сообщения: 1
- Зарегистрирован: 11.09.2010 19:18:57
Подскажите, я только начал осваивать lazarus. с помощью какого оператора я могу считать Слово из формы TEdit и присвоить его в какую-либо пепеменную?
Код: Выделить всё
mystring:=myedit.Text;
// that's how can you get TEdit's text to move in your string
Sergei I. Gorelkin писал(а):Vadim писал(а):Функция Length() измеряет длину строки или количество символов. И не более того...
Это так, когда аргумент имеет тип string (или widestring). Но что будет, если он имеет типа PChar? Возможны два варианта: либо компилятор догадывается и вставляет вызов, аналогичный StrLen(), либо он преобразует аргумент в тип string, что означает ненавязчивое добавление выделения и освобождения памяти и блока try-except.
Вот кто может, не заглядывая в ассемблерный листинг, сказать, какой из двух вариантов имеет место быть?
Лично я вообще не понимаю, почему оно компилируется, зачем нужно было пихать подобные костыли "совместимости" в компилятор.
Сергей, а почему досихпор неперегружен Length дпя PChar?
Лень или идеологические препятствия? если лень - мне невпадло патч заслать.
- Sergei I. Gorelkin
- энтузиаст
- Сообщения: 1409
- Зарегистрирован: 24.07.2005 14:40:41
- Откуда: Зеленоград
Проверил - оказывается, "перегружен". Вызывается FPC_PCHAR_LENGTH, она же вызывается при StrLen() и она же - при SysUtils.StrLen().
Все нормально в данном конкретном случае...
Все нормально в данном конкретном случае...
тобиш документация rtl отстает от жизни, или на ето тоже надо патч?
- Sergei I. Gorelkin
- энтузиаст
- Сообщения: 1409
- Зарегистрирован: 24.07.2005 14:40:41
- Откуда: Зеленоград
Ага, я напедалил патч к документации: http://bugs.freepascal.org/view.php?id=17398
