Главная страница
    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.01 c
1-73230
PavelOKES
2002-04-26 09:14
2002.05.23
RXLib


4-73451
REL_
2002-03-22 14:11
2002.05.23
BitMap


14-73388
Roach
2002-04-13 12:05
2002.05.23
Открытый проэкт


1-73288
Ivan Kohut
2002-05-11 15:18
2002.05.23
Вопрос о броузере.


14-73399
alexandr
2002-04-12 13:43
2002.05.23
программа Пенсионного фонда





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский