Главная страница
    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.008 c
1-73212
yastal
2002-05-10 19:25
2002.05.23
Подскажите как удалять динамически созданные компоненты


3-73088
toorick
2002-04-09 16:24
2002.05.23
данные не сохраняются :(


14-73404
Alexandr
2002-04-16 13:00
2002.05.23
бойцовский клуб


1-73185
DeMoN-777
2002-05-14 09:06
2002.05.23
Проблема с курсором


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