Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2002.05.23;
Скачать: [xml.tar.bz2];

Вниз

Как симулировать печать по буквам ?   Найти похожие ветки 

 
DeMoN-777   (2002-05-13 23:32) [0]

Т.е есть файл (например TEST.txt) в нём находится всякая писанина.
Как сделать так чтоб в мемо отобразилася текст из файла. Не просто "типа" LoadFromFile(test.txt), а по буквам из текста
который находится в текстовом файле с интервалом в X секунд между каждой буквой?


 
Song   (2002-05-13 23:37) [1]

Читай по символам и добавляй в TMemo: With Memo1 Do Text:=Text+символ; пауза; Надеюсь код не нужен? :))


 
DeMoN-777   (2002-05-13 23:52) [2]

>Song © (13.05.02 23:37)

К сожалению нужен, пожалуйста приведите пример.


 
ION T   (2002-05-14 00:01) [3]

procedure TForm1.Button1Click(Sender: TObject);
var f: TFileStream;
c: char;
i: integer;
begin
Memo1.Clear;
f:= TFileStream.Create("C:\autoexec.bat", fmOpenRead);
try
for i:= 0 to f.Size- 1 do
begin
f.Read(c, 1);
Memo1.Text:= Memo1.Text+ c;
sleep(100);
Application.ProcessMessages;
end;
finally f.Free end;
end;


Конечно надо дополнять шоб мемо само прокручивалось, вставить условие для выхода из цикла,....


 
Song   (2002-05-14 00:04) [4]


procedure TForm1.Button1Click(Sender: TObject);
Var t,r:Integer;
begin
Memo1.Clear;
With TStringList.Create Do
try
LoadFromFile("c:\autoexec.bat");
For t:=0 to Count-1 Do
For r:=1 to Length(Strings[t]) Do
Begin
Memo1.Lines.Text:=Memo1.Lines.Text+Strings[t][r];
Application.ProcessMessages;
Sleep(20);
End;
finally
Free;
end;
end;


 
DeMoN-777   (2002-05-14 00:22) [5]

Всем Огромное спасибо


 
DeMoN-777   (2002-05-14 00:29) [6]

Но есть ещё один вопрос.
Как сделать чтоб мемо не мерцало ?


 
Cobalt   (2002-05-14 01:14) [7]

А это цена "вывода по буковкам"
Пиши свой компонент....;)))


 
Song   (2002-05-14 09:07) [8]

А как Вам такой вариант: :)))))

procedure TForm1.Button1Click(Sender: TObject);
Var t,r:Integer;
begin
Memo1.Clear;
With TStringList.Create Do
try
LoadFromFile("c:\autoexec.bat");
For t:=0 to Count-1 Do
Begin
For r:=1 to Length(Strings[t]) Do
Begin
Memo1.Lines.Text:=Memo1.Lines.Text+Strings[t][r];
Application.ProcessMessages;
PlaySound("c:\MsgType.wav",0,SND_FILENAME);
End;
Memo1.Lines.Text:=Memo1.Lines.Text+#13#10;
Application.ProcessMessages;
PlaySound("c:\MsgBell.wav",0,SND_FILENAME)
End;
finally
Free;
end;
end;


P.S. wav"ы возьмите из аськи


 
Reindeer Moss Eater   (2002-05-14 09:19) [9]

То же самое, но не затирая уже написанное в Меме:
for i:=1 to Length(Str) do
SendMessage(Memo1.Handle,WM_CHAR,Ord(Str[i]),0);


 
DeMoN-777   (2002-05-14 09:49) [10]

>Reindeer Moss Eater (14.05.02 09:19)

!!! Спасибо огромное !!!



>Song © (14.05.02 09:07)

Класно =)

А так ещё лучше.

Печатается не обновляя весь текст, а только добовляя нужный символ=> мемо не мерцает + мемо само прокручивается

IMXO, это лучший вариант, или я не прав ;) ?



procedure TForm1.Button1Click(Sender: TObject);
Var t,r:Integer;
begin
Memo1.Clear;
With TStringList.Create Do
try
LoadFromFile("c:\1.txt");
For t:=0 to Count-1 Do
Begin
For r:=1 to Length(Strings[t]) Do
Begin
SendMessage(Memo1.Handle,WM_CHAR,Ord(Strings[t][r]),0);
Application.ProcessMessages;
PlaySound("c:\MsgType.wav",0,SND_FILENAME);
End;
SendMessage(Memo1.Handle,WM_CHAR,Ord(#13),0);
Application.ProcessMessages;
PlaySound("c:\MsgBell.wav",0,SND_FILENAME);
End;
finally
Free;
end;


 
Song   (2002-05-14 09:58) [11]

Ещё быстрее будет использовать TMemo.Perform() за место SendMessage()


 
DeMoN-777   (2002-05-14 10:12) [12]

Учтёмсс =)

Всем спасибо.



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2002.05.23;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.007 c
4-73447
Danila
2002-03-21 23:06
2002.05.23
Как получить Handle нужного мне окна


1-73300
dlp
2002-05-11 20:45
2002.05.23
важный вопрос


3-73029
DenNNis
2002-04-26 13:06
2002.05.23
Подскажите, плиз!


1-73273
demon-777
2002-05-10 12:29
2002.05.23
Tinifille


7-73411
Jony
2002-02-26 12:00
2002.05.23
Как изменить ShortCut кнопки или пункта меню программно?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский