Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Преобразование из Memo в String

2.9K
14 октября 2004 года
Nop
21 / / 21.02.2004
 
Код:
var s: string;
begin
  s := Memo1.Text;


Вот такое элементарное преобразование.
НО! Если в Memo.Text встретится символ % то прощай все на свете, Delphi ищет чтобы подставить и не находя выводит ошибку.

Как решить пробему?
10
14 октября 2004 года
Freeman
3.2K / / 06.03.2004
2.9K
14 октября 2004 года
Nop
21 / / 21.02.2004
Цитата:
Originally posted by smartsoft

Код s := Memo1.Text некорректен. У TMemo нет свойства Text. Есть Lines.Text, и оно работает нормально.



Да преобразование в string проходит.

 
Код:
var
    post_data : TIdMultiPartFormDataStream;
    temp : string;
begin
...
temp := HtmlMemo.Lines.Text;
post_data.AddFormField('content',temp);  !!!!


вот на этой строке выскакивает ошибка...
10
14 октября 2004 года
Freeman
3.2K / / 06.03.2004
Цитата:
Originally posted by Nop

 
Код:
var
    post_data : TIdMultiPartFormDataStream;
    temp : string;
begin
...
temp := HtmlMemo.Lines.Text;
post_data.AddFormField('content',temp);  !!!!


Ну, давай теперь будем вытаскивать из тебя по строчке объяснения. Что такое TIdMultiPartFormDataStream? Насколько я понимаю, что-то из Indy?

Вообще, как мне кажется, изначально поставленный вопрос некорректен. Свойство Memo Lines.Text работает прекрасно и без сбоев во всех версиях VCL. Проблема, скорее всего в компонентах Indy. Точнее, это не проблема даже, а незнание правил, по которым должны передаваться конкретные строки в конкретные процедуры. Могут быть ограничения, связанные с использованием тех или иных символов, которые могут распознаваться как служебные, применение MIME-кодирования, и т. д.

2.9K
15 октября 2004 года
Nop
21 / / 21.02.2004
Цитата:
Originally posted by smartsoft

Ну, давай теперь будем вытаскивать из тебя по строчке объяснения. Что такое TIdMultiPartFormDataStream? Насколько я понимаю, что-то из Indy?

Вообще, как мне кажется, изначально поставленный вопрос некорректен. Свойство Memo Lines.Text работает прекрасно и без сбоев во всех версиях VCL. Проблема, скорее всего в компонентах Indy. Точнее, это не проблема даже, а незнание правил, по которым должны передаваться конкретные строки в конкретные процедуры. Могут быть ограничения, связанные с использованием тех или иных символов, которые могут распознаваться как служебные, применение MIME-кодирования, и т. д.



И что тогда делать
(извините за тупой вопрос)

10
17 октября 2004 года
Freeman
3.2K / / 06.03.2004
Цитата:
Originally posted by Nop
И что тогда делать


Ну, блин. Читать хелп, смотреть исходники. Они же есть у Инди. Можно попробовать найти и скачать новую версию Инди...

2.4K
18 октября 2004 года
Russtam
33 / / 26.07.2003
Цитата:
Originally posted by smartsoft
У TMemo нет свойства Text.



Есть, и вроде всегда был :)
См. картинку

10
18 октября 2004 года
Freeman
3.2K / / 06.03.2004
Цитата:
Originally posted by Russtam
Есть, и вроде всегда был :)


Хм, вообще-то да. Не думал, что оно опубликовано.

302
18 октября 2004 года
Sagittarius
648 / / 12.04.2003
Цитата:
Originally posted by smartsoft
Хм, вообще-то да. Не думал, что оно опубликовано.


По идее, TMemo - это TEdit, только многострочный. Поэтому свойство Text у него отсутствовать не может по определению.

10
18 октября 2004 года
Freeman
3.2K / / 06.03.2004
Цитата:
Originally posted by Sagittarius
По идее, TMemo - это TEdit, только многострочный. Поэтому свойство Text у него отсутствовать не может по определению.


Дело не в этом. Text определено где-то у TCustomEdit как protected. Потом оно публикуется у TEdit. А вот, что оно опубликовано также и у TMemo, я не подозревал. Надо чаще заглядывать в хелп и исходники...

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог