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

Вниз

Печать как на   Найти похожие ветки 

 
Yanis   (2003-04-22 16:37) [0]

Что бы каждая буква,цифра или символ выводились на печать отдельно, один за другим,как будто кто то быстро печатает.
Если кто знае пожалуйста не отворачивайтесь от собрата по языку програмирования.


 
Anatoly Podgoretsky   (2003-04-22 16:49) [1]

Особенно интересно это выглядит на лазерном принтере


 
Shirson   (2003-04-22 16:55) [2]

Необходимый текст, который будет появляться, загоняешь в строковую переменную.
Ложишь на форму таймер и лейблу.
На его обработчик приклямываешь:

procedure TForm1.Timer1Timer(Sender: TObject);
var s:string;
begin
s:="Что бы каждая буква,цифра или символ выводились на печать отдельно, один за другим,как будто кто то быстро печатает. "+
"Если кто знае пожалуйста не отворачивайтесь от собрата по языку програмирования.";
randomize;
label1.tag:=label1.tag+1;
Timer1.interval:=random(200)+100;
label1.caption:=Label1.caption+copy(s,label1.tag,1);
if label1.tag = length(s) then timer1.enabled:=false;
end;


Цифири, устанавливающие время задержки подбираешь экспериментально :)
Ах, да. Как лейблу на форму положишь, кэпшн у неё сотри :)


 
evvcom   (2003-04-22 17:08) [3]

И еще не забудь проигрыш wav добавить, чтоб реальнее клавиши стучали.


 
Palladin   (2003-04-22 17:10) [4]

рекомендую чупа-чупс


 
Skier   (2003-04-22 17:12) [5]

Срочно вызывайте бригаду санитаров !


 
Palladin   (2003-04-22 17:15) [6]

причем и Shirson"у тоже

1 изначально tag=0
2 copy(s,label1.tag,1) ~ s[label1.tag]
3 строку вообще из процедуры вынести....


 
NickBat   (2003-04-22 17:25) [7]

to Shirson
Это ж надо было так извратиться. :))
А попроще, типа такого, нельзя было предложить:
...
LableDest:=LableDest+LabelSource[i];
...


 
Shirson   (2003-04-22 17:28) [8]

>Palladin © (22.04.03 17:15)
>причем и Shirson"у тоже
>1 изначально tag=0

Гениально!!!!! Ты знал!!!!! :lol: (и что? ;) )

>2 copy(s,label1.tag,1) ~ s[label1.tag]

Бесспорно! Просто сила привычки.


>3 строку вообще из процедуры вынести....
Куда? :)

Догадайся с трёх раз, почему данная процедура работает? :)


 
Shirson   (2003-04-22 17:33) [9]

>NickBat ©
>to Shirson
>Это ж надо было так извратиться. :))

(расскланивается) :)


>А попроще, типа такого, нельзя было предложить:
>...
>LableDest:=LableDest+LabelSource[i];
>...

Условия задачи, собственно, никто кроме меня не читал? :)
"как будто кто то быстро печатает". Если "кто-то" печатает со строго одинаковыми интервалами между нажатиями, на "кто-то" это совсем непохоже :)
Кроме того, к тому коду, который ты привёл, точнее "к попроще", добавлены только рандомайзы. Всё остальное, хош-нехош, делать всё равно надо :)


 
Yanis   (2003-04-22 17:33) [10]

Большое спасибо всем кто откликнулся, если у кого есть еще предложения, выкладывайте их здесь, опять же буду очень благодарен.


 
panov   (2003-04-22 17:58) [11]

Неужели только Анатолий Подгорецкий вопросы внимательно читает??


 
NickBat   (2003-04-22 18:09) [12]

panov © (22.04.03 17:58)
Да нет, просто не верится, что автор ветки на принтер собирается посимвольно печатать. Если так, то это будет интересно выглядеть не только на лазерный, но даже и на матричный. :)))


 
Palladin   (2003-04-22 18:27) [13]


> Гениально!!!!! Ты знал!!!!! :lol: (и что? ;) )

да я знал :)


> и что?

что что, стормозил


> Бесспорно! Просто сила привычки.

это на чем эта сила выросла? ты в паскале так часто делал что бы до символа достучатся?


> >3 строку вообще из процедуры вынести....
> Куда? :)


в описание формы или вообще сделать в модуле глобальной
не дело каждый раз ее назначать


> panov © (22.04.03 17:58)

Есть у Анатолия Подгоретцкого одна особенность, он воспринимает вопросы прямо. Ну и правильно, нечего чушь городить.


 
Anatoly Podgoretsky   (2003-04-22 18:34) [14]

NickBat © (22.04.03 18:09)
Нормально будет выглядеть, будто кто то быстро печатает, если конечно принтер похволяет посимвлоьную печать.


 
Shirson   (2003-04-22 20:57) [15]

>Palladin
>это на чем эта сила выросла? ты в паскале так часто делал что бы до символа достучатся?

Выросла она из MSX-Basic Z80, на котором я в своё время много клямал и из Паскаля, в котором string был длиною 256 символов. Я до сих пор прусь, если s[i] и i>255, подсознательно кажется, что сглюкнёт :)
Кстати, в своё время я писал такой прикол для одной подколки. Но там вариант был конкретно извращёнее. Вплоть до того, что в проге была заложена таблица "трудности" нахождения символов на клаве и буквы "Й","Щ","Ъ" и пр. прога "набирала" с некоторой задержкой, в зависимости от выставляемой "крутости" "наборщика" :) Плюс было заложенно несколько "почерков".


>в описание формы или вообще сделать в модуле глобальной
не дело каждый раз ее назначать

А что от этого изменится? ;) Да ничего, по большому счёту :) Можно её хоть в hint засунуть, чтоб переменные не плодить :)



 
Palladin   (2003-04-23 07:31) [16]

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


 
MVova   (2003-04-23 11:46) [17]

Когда-то надо было распечатать срочно текст, дома был матричный принтер (Robotron), лента была никакая. Написал программку печати текста с N проходов по одной строчке. Выглядело интересно. Но в сеже распечатать получилось, с 10 разовым проходом.


 
NickBat   (2003-04-23 13:52) [18]

> MVova © (23.04.03 11:46)
А копирку не проще было подложить? :))))


 
MVova   (2003-04-23 15:14) [19]


> NickBat © (23.04.03 13:52)

А небыло.



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

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

Наверх





Память: 0.49 MB
Время: 0.006 c
14-34585
Dush
2003-04-23 16:16
2003.05.12
Поиск решения


14-34590
Evgeny
2003-04-24 08:58
2003.05.12
Справочная система Delphi


1-34484
deedlit
2003-04-29 15:33
2003.05.12
Ctrl+?, как поймать? Сама знаю, что глупо. :)


4-34638
[lamer]Barmaglot
2003-03-11 09:15
2003.05.12
LVM_SetItemcount


3-34369
Сидоров
2003-04-22 17:06
2003.05.12
BDE





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