Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.05.12;
Скачать: CL | DM;

Вниз

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

 
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;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.019 c
14-34595
seth
2003-04-24 12:30
2003.05.12
сказка


1-34496
Boroda
2003-04-29 04:23
2003.05.12
Работа с командной строкой


1-34433
NightDaro
2003-04-28 00:14
2003.05.12
Проблемы с полиморфизмом с ребенком в другом Package


3-34342
T{}r(l-l
2003-04-22 10:57
2003.05.12
Можно ли программно создать Alias?


3-34330
Mirva
2003-04-22 06:54
2003.05.12
Помогите опобразить дополнительные данные в таблице