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

Ваш аккаунт

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

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

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

вывод текста в memo поле

1.9K
19 октября 2006 года
Cool Xacker
148 / / 06.06.2006
Что бы определённый текст программно набрался в текстовом поле (memo или richedit)

(Вспомним фильм MATRIX), чёрный экран, зелёные буковки которые выводятся (мне нужен такой эффект, но что бы программа делала это сама).
2.0K
19 октября 2006 года
Dstr
158 / / 27.04.2006
Мошт создать таймер и с помощью него приписывать по букве едит?А если надо горизонтально,то вставляеш пробелы где надо...
547
20 октября 2006 года
Hydra
488 / / 20.06.2006
Можно послать WM_KEYPRESS компоненту.
1.9K
20 октября 2006 года
Cool Xacker
148 / / 06.06.2006
[QUOTE=Dstr]Мошт создать таймер и с помощью него приписывать по букве едит?А если надо горизонтально,то вставляеш пробелы где надо...[/QUOTE]
Опиши пожалуйста поподробней (желательно с примером)
18K
20 октября 2006 года
Александр Игоревич
10 / / 12.09.2006
Код:
var
   i: integer
begin
   i:=i+1;
   if i=0 then
      Memo1.Lines.Add('Превед');
   if i=1 then
      begin
      Memo1.Clear;
      Memo1.Lines.Add('Превед сказал');
      end;
   if i>=2 then
      begin
      Memo1.Lines.Add('Превед сказал медвед');
      Timer1.Enabled:=false;
      end;


Первое что пришло в голову...

[COLOR=red]учимься пользоваться ссылкой "редактировать", а не создавать новые сообщения. please.[/COLOR]
547
23 октября 2006 года
Hydra
488 / / 20.06.2006
Сообщения винды попутал. А ввобще можно так:
Кидаешь таймер и в его обработчик пишешь
(str - строка для вывода в мемо, глобальная переменная n=1):
 
Код:
if (n<length(str)) then
  begin
   SendMessage(Memo1.Handle,WM_CHAR,str[n],NULL) ; inc(n);
end else
   Timer1->Enabled=false;
14K
24 октября 2006 года
Pheonix
31 / / 23.10.2006
Создай таймер и в его обработчике напиши:
 
Код:
procedure TForm1.Timer1Timer(Sender: TObject);
var
  St: String;
begin
  St := 'Текст который наджо напечатать';
  Memo1.Text := Memo1.Text + St;
  Inc(i);
  if i > Length(St) then Timer1.Enabled := false;
end;
16K
24 октября 2006 года
PeaK
49 / / 02.10.2006
Это хотим, что бы буковки падали сверху вниз?
Или просто последовательно выводилось что-то типа: "Это ты Нео?" :)
14K
24 октября 2006 года
Pheonix
31 / / 23.10.2006
Дак ты хочешь чтобы было совсем как в матрице, чтобы куча буковок сыпалась сверху? или печаталось в одну строку, если в одну строку то листинг я тебе привел.
1.9K
25 октября 2006 года
Cool Xacker
148 / / 06.06.2006
я хочу, чтобы они печатались не только в одну строку
16K
25 октября 2006 года
PeaK
49 / / 02.10.2006
[QUOTE=Cool Xacker]я хочу, чтобы они печатались не только в одну строку[/QUOTE]
А как еще?
Сейчас напрягу свои способности ментата. В крайнем случае поинтересуюсь у Муаддиба, что собственно требуется и каковы последствия.
Цитата:
Попытка понять Муаддиба, не поняв его смертельных врагов,
- это попытка увидеть правду без знания лжи. Это попытка
понять, что такое свет, не зная, что такое тьма. Это просто
невозможно.
Принцесса Ирулэн.
Руководство Муаддиба.


(Герберт. Дюна)

547
26 октября 2006 года
Hydra
488 / / 20.06.2006
Ты вообще хоть что-нть руками делаешь? Ты это набирать пробовал (см. #6)? Там в строке str добавляешь символы #13 и все!
14K
26 октября 2006 года
Pheonix
31 / / 23.10.2006
да ради бога, перед словом которое ты хочешь поставить на другой строке поставь #13#10 ( тоже самое что и <Enter> )

Например вот так: Str := 'This is simple text' + #13#10 + '...';
1.9K
27 октября 2006 года
Cool Xacker
148 / / 06.06.2006
[QUOTE=Pheonix]да ради бога, перед словом которое ты хочешь поставить на другой строке поставь #13#10 ( тоже самое что и <Enter> )

Например вот так: Str := 'This is simple text' + #13#10 + '...';[/QUOTE]
мне надо, чтобы они появлялись по одной букве (как будто это печатается в настоящий момент), и я знаю как перенести на другую строку!!!
14K
30 октября 2006 года
Pheonix
31 / / 23.10.2006
[QUOTE=Cool Xacker]мне надо, чтобы они появлялись по одной букве (как будто это печатается в настоящий момент), и я знаю как перенести на другую строку!!![/QUOTE]
я же тебе показывал как сделать чтобы печаталось по одной букве, на предыдущей странице смотри листинг, процедура активирования таймера. Там как раз все хорошо работает.
1.9K
30 октября 2006 года
Cool Xacker
148 / / 06.06.2006
[QUOTE=Pheonix]я же тебе показывал как сделать чтобы печаталось по одной букве, на предыдущей странице смотри листинг, процедура активирования таймера. Там как раз все хорошо работает.[/QUOTE]
Вот тут почему то выскакивает ошибка:
Цитата:
Memo1.Text:= Memo1.Text + St;

242
30 октября 2006 года
Оlga
2.2K / / 04.02.2006
интересно, а переменную [COLOR=red]i[/COLOR] ты объявил, или сделал copy past с примера что тебе написали?
вылезла ошибка, будь добр написать ее, или не замусаривай форум.
1.9K
31 октября 2006 года
Cool Xacker
148 / / 06.06.2006
[QUOTE=OlgaKr]интересно, а переменную [COLOR=red]i[/COLOR] ты объявил, или сделал copy past с примера что тебе написали?
вылезла ошибка, будь добр написать ее, или не замусаривай форум.[/QUOTE]
конечно объявил, чтож я со всем чтоль глупый
8.4K
31 октября 2006 года
Dian
91 / / 18.02.2006
Цитата:
Memo1.Text:= Memo1.Text + St;


А у тебя в St есть i символов? Или, может быть, у тебя i=0? - Так тоже нельзя

16K
31 октября 2006 года
PeaK
49 / / 02.10.2006
На форме таймер, мемо и баттон.
Сопостовляем события на таймер, на создание формы и на нажатие клавиши. На таймере поставить оптимально что-то типа 100мс. Данный пример выводит последовательно строку из буфера St и очищает этот буфер. Если появляются новые данные (после нажатия баттона), они сразу выводятся.
Код:
var
  Form1: TForm1;
  St : String ;

implementation

{$R *.dfm}

procedure TForm1.Timer1Timer(Sender: TObject);
begin
  if Length(St) = 0 then
    exit ;
  SendMessage(Memo1.Handle,WM_CHAR,ord(st[1]),0) ;
// Если использовать SendMessage, вместо   Memo1.Text := Memo1.Text + St[1];, то еще и курсорчик будет бежать.
  St := copy(St,2,length(st) - 1) ;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  St := 'Текст который нужно напечатать';
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  St := St + 'Еще текст' ;
  Memo1.SetFocus ;
end;
3.2K
01 ноября 2006 года
Sania
186 / / 28.10.2006
Мне кажется, что печатать матрицу на form.canvas красивше...
И буквочки могут летать хоть как...
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог