работа со строками

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

virus_hm
новенький
Сообщения: 22
Зарегистрирован: 19.09.2009 23:52:40

Сообщение virus_hm »

какой командой можна перевести widechar в верхній регистр ?
Mr.Smart
долгожитель
Сообщения: 1796
Зарегистрирован: 29.03.2008 00:01:11
Откуда: из леса!

Сообщение Mr.Smart »

virus_hm
WideUpperCase
blood_psycho
незнакомец
Сообщения: 1
Зарегистрирован: 11.09.2010 19:18:57

Сообщение blood_psycho »

Подскажите, я только начал осваивать lazarus. с помощью какого оператора я могу считать Слово из формы TEdit и присвоить его в какую-либо пепеменную?
Аватара пользователя
hinst
энтузиаст
Сообщения: 781
Зарегистрирован: 12.04.2008 18:32:38

Сообщение hinst »

:idea: свойство Text

Код: Выделить всё

mystring:=myedit.Text;
  // that's how can you get TEdit's text to move in your string
alexrayne
постоялец
Сообщения: 125
Зарегистрирован: 03.12.2008 15:56:26

Сообщение alexrayne »

Sergei I. Gorelkin писал(а):
Vadim писал(а):Функция Length() измеряет длину строки или количество символов. И не более того...


Это так, когда аргумент имеет тип string (или widestring). Но что будет, если он имеет типа PChar? Возможны два варианта: либо компилятор догадывается и вставляет вызов, аналогичный StrLen(), либо он преобразует аргумент в тип string, что означает ненавязчивое добавление выделения и освобождения памяти и блока try-except.
Вот кто может, не заглядывая в ассемблерный листинг, сказать, какой из двух вариантов имеет место быть?
Лично я вообще не понимаю, почему оно компилируется, зачем нужно было пихать подобные костыли "совместимости" в компилятор.


Сергей, а почему досихпор неперегружен Length дпя PChar?
Лень или идеологические препятствия? если лень - мне невпадло патч заслать.
Аватара пользователя
Sergei I. Gorelkin
энтузиаст
Сообщения: 1409
Зарегистрирован: 24.07.2005 14:40:41
Откуда: Зеленоград

Сообщение Sergei I. Gorelkin »

Проверил - оказывается, "перегружен". Вызывается FPC_PCHAR_LENGTH, она же вызывается при StrLen() и она же - при SysUtils.StrLen().
Все нормально в данном конкретном случае...
alexrayne
постоялец
Сообщения: 125
Зарегистрирован: 03.12.2008 15:56:26

Сообщение alexrayne »

тобиш документация rtl отстает от жизни, или на ето тоже надо патч?
Аватара пользователя
Sergei I. Gorelkin
энтузиаст
Сообщения: 1409
Зарегистрирован: 24.07.2005 14:40:41
Откуда: Зеленоград

Сообщение Sergei I. Gorelkin »

Ага, я напедалил патч к документации: http://bugs.freepascal.org/view.php?id=17398
Ответить