Форум: "Потрепаться";
Текущий архив: 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