Главная страница
    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.009 c
1-73137
MisterBin
2002-05-12 09:43
2002.05.23
Чтобы было не видно курсора в поле ввода


14-73400
JMax
2002-04-11 06:39
2002.05.23
RXLib


7-73426
KLM
2002-02-27 14:49
2002.05.23
Driver ODBC


3-72997
Pavel_S
2002-04-20 16:24
2002.05.23
INTERBASE и тормоза


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