Вопрос № 177779: Уважаемые эксперты, у меня к вам такой вопрос. В компонент МЕМО в цикле по одной букве выводится строка. Какое свойство компонента МЕМО использовать чтобы все эти буквы дописывались по мере вывода в одну строку, а не каждая новая буква на новой строк...
Вопрос № 177779:
Уважаемые эксперты, у меня к вам такой вопрос. В компонент МЕМО в цикле по одной букве выводится строка. Какое свойство компонента МЕМО использовать чтобы все эти буквы дописывались по мере вывода в одну строку, а не каждая новая буква на новой строке. Я уже испробовал разные варианты, но никак не получилось. В инете искал, но тоже не нашел. У меня или каждый раз на новой строке пишет, или постоянно перезаписывает строку, вместо добавления новых символов.
Отвечает Евгений/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;
Ответ отправил: star9491, Практикант
Ответ отправлен: 09.04.2010, 22:05
Номер ответа: 260730
Вам помог ответ? Пожалуйста, поблагодарите эксперта за это! Как сказать этому эксперту "спасибо"?
Отправить SMS#thank 260730
на номер 1151 (Россия) |
Еще номера »
Отвечает Vadim22, 5-й класс :
Здравствуйте, Камынин Владислав Дмитриевич.
В предложенном выше способе как минимум сбивается позиция курсора. К тому же при разрастании текста бестолковое копирование текста приведет к лишней нагрузке на систему. Всех причин не упомню почему меня это не устроило. Вполне возможно, что возникает мерцание.
Беглый взгляд на исходники 5-летней давности показывает, что для вставки буквы в текущую позицию курсора подходит код Memo.SelText=c;
Ответ отправил: Vadim22, 5-й класс
Ответ отправлен: 10.04.2010, 00:45
Номер ответа: 260732
Вам помог ответ? Пожалуйста, поблагодарите эксперта за это! Как сказать этому эксперту "спасибо"?
Отправить SMS#thank 260732
на номер 1151 (Россия) |
Еще номера »
Оценить выпуск »
Нам очень важно Ваше мнение об этом выпуске рассылки!
* Стоимость одного СМС-сообщения от 7.15 руб. и зависит от оператора сотовой связи.
(полный список тарифов)
** При ошибочном вводе номера ответа или текста #thank услуга считается оказанной, денежные средства не возвращаются.
*** Сумма выплаты эксперту-автору ответа расчитывается из суммы перечислений на портал от биллинговой компании.