Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RFpro.ru: Программирование на Delphi и Lazarus


Хостинг портала RFpro.ru:
Московский хостер
Профессиональный хостинг на базе Linux x64 и Windows x64

РАССЫЛКИ ПОРТАЛА RFPRO.RU

Чемпионы рейтинга экспертов в этой рассылке

Boriss
Статус: Академик
Рейтинг: 2045
∙ повысить рейтинг »
star9491
Статус: Практикант
Рейтинг: 1705
∙ повысить рейтинг »
Евгений/Genia007/
Статус: Бакалавр
Рейтинг: 851
∙ повысить рейтинг »

/ КОМПЬЮТЕРЫ И ПО / Программирование / Delphi и Lazarus

Номер выпуска:1518
Дата выхода:15.04.2010, 03:00
Администратор рассылки:Владимир Лазурко, Профессионал
Подписчиков / экспертов:555 / 235
Вопросов / ответов:1 / 3

Вопрос № 177779: Уважаемые эксперты, у меня к вам такой вопрос. В компонент МЕМО в цикле по одной букве выводится строка. Какое свойство компонента МЕМО использовать чтобы все эти буквы дописывались по мере вывода в одну строку, а не каждая новая буква на новой строк...



Вопрос № 177779:

Уважаемые эксперты, у меня к вам такой вопрос. В компонент МЕМО в цикле по одной букве выводится строка. Какое свойство компонента МЕМО использовать чтобы все эти буквы дописывались по мере вывода в одну строку, а не каждая новая буква на новой строке.
Я уже испробовал разные варианты, но никак не получилось. В инете искал, но тоже не нашел. У меня или каждый раз на новой строке пишет, или постоянно перезаписывает строку, вместо добавления новых символов.

Помогите пожалуйста.

Отправлен: 09.04.2010, 21:44
Вопрос задал: Камынин Владислав Дмитриевич, Посетитель
Всего ответов: 3
Страница вопроса »


Отвечает Евгений/Genia007/, Бакалавр :
Здравствуйте, Камынин Владислав Дмитриевич.
Можно попробовать сделать так: берём переменную типа string и в неё добавляем по одной букве s:= s + 'Ваша буква', а затем просто выводим эту строку в memo memo.lines.insert(0, s). Конечно перед этим не забыв удалить старую строку memo.Lines.Delete(0).
Код:
var
s: string;

procedure TForm1.Button3Click(Sender: TObject);
var
i: byte;
begin
for i:= 0 to 19 do
begin
sleep(200); // Задержка выполнения, для наглядности
s:= s + 's'; // Добавляем символ в строку
memo1.Lines.Delete(0); // Удаляем старую строку
memo1.Lines.Insert(0, s); // Всталяем новую строку
end;
end;
или так
Код:
memo1.Lines.Strings[0]:= memo1.Lines.Strings[0] + 's';


-----
Помогли тебе, помоги и ты.

Ответ отправил: Евгений/Genia007/, Бакалавр
Ответ отправлен: 09.04.2010, 22:03
Номер ответа: 260729

Вам помог ответ? Пожалуйста, поблагодарите эксперта за это!
Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 260729 на номер 1151 (Россия) | Еще номера »
  • Отправить WebMoney:

  • Отвечает star9491, Практикант :
    Здравствуйте, Камынин Владислав Дмитриевич.
    Memo1.Text:=Memo1.Text+s[i];

    Ответ отправил: star9491, Практикант
    Ответ отправлен: 09.04.2010, 22:05
    Номер ответа: 260730

    Вам помог ответ? Пожалуйста, поблагодарите эксперта за это!
    Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 260730 на номер 1151 (Россия) | Еще номера »
  • Отправить WebMoney:

  • Отвечает Vadim22, 5-й класс :
    Здравствуйте, Камынин Владислав Дмитриевич.

    В предложенном выше способе как минимум сбивается позиция курсора.
    К тому же при разрастании текста бестолковое копирование текста приведет к лишней нагрузке на систему.
    Всех причин не упомню почему меня это не устроило. Вполне возможно, что возникает мерцание.

    Беглый взгляд на исходники 5-летней давности показывает, что для вставки буквы в текущую позицию курсора подходит код
    Memo.SelText=c;

    Ответ отправил: Vadim22, 5-й класс
    Ответ отправлен: 10.04.2010, 00:45
    Номер ответа: 260732

    Вам помог ответ? Пожалуйста, поблагодарите эксперта за это!
    Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 260732 на номер 1151 (Россия) | Еще номера »
  • Отправить WebMoney:

  • Оценить выпуск »
    Нам очень важно Ваше мнение об этом выпуске рассылки!

    Задать вопрос экспертам этой рассылки »

    Скажите "спасибо" эксперту, который помог Вам!

    Отправьте СМС-сообщение с тестом #thank НОМЕР_ОТВЕТА
    на короткий номер 1151 (Россия)

    Номер ответа и конкретный текст СМС указан внизу каждого ответа.

    Полный список номеров »

    * Стоимость одного СМС-сообщения от 7.15 руб. и зависит от оператора сотовой связи. (полный список тарифов)
    ** При ошибочном вводе номера ответа или текста #thank услуга считается оказанной, денежные средства не возвращаются.
    *** Сумма выплаты эксперту-автору ответа расчитывается из суммы перечислений на портал от биллинговой компании.


    © 2001-2010, Портал RFpro.ru, Россия
    Авторское право: ООО "Мастер-Эксперт Про"
    Автор: Калашников О.А. | Программирование: Гладенюк А.Г.
    Хостинг: Компания "Московский хостер"
    Версия системы: 2010.6.14 от 03.03.2010

    В избранное