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

Вниз

Побуквенный вывод строки   Найти похожие ветки 

 
Support1 ©   (2003-08-31 16:14) [0]

Нужно чтобы введенная в поле строка выводилась побуквенно, при этом скорость вывода - переменная величина ...
Вроде проблем нет, понимаю что надо использовать таймер, но что-то не получается ...
Вот код: - цикл, который побуквенно выводит строку, но без регуляции скорости ...

var
i:integer;
str:string;
len:integer;

begin
timer6.Enabled:=true;
str:="NTCA";
i:=1;
len:=length(str);

while i<=len do begin

button18.caption:=str[i];
i:=i+1;
end


 
Anatoly Podgoretsky ©   (2003-08-31 16:19) [1]

А где текст обработчика таймера?


 
Support1 ©   (2003-08-31 16:29) [2]

Anatoly Podgoretsky Так в том-то и трабл - не могу сделать так чтоб 1сек прошла цикл 1 раз выполнился, еще 1 еще раз цикл, а то что в коде - это я из проги выдернул и не заметил , что остался мусор ...


 
Support1 ©   (2003-08-31 16:56) [3]

Вот вам и решение , скорость меняется в параметре sleep
var
i:integer;
str:string;
len:integer;
begin
str:="NTCA";
i:=1;
len:=length(str);
while i<=len do begin
button18.caption:=str[i];
i:=i+1;
sleep(200);
end


 
grusty   (2003-08-31 17:08) [4]

В твоем случае меняются буквы, а не строка выводится побуквенно. Наверное вместо str[i] нужно написать copy(str,1,i).


 
TButton ©   (2003-08-31 17:52) [5]

i:integer // глобальная или public формы
onTimer
begin
str:="WTF?";
Inc(i);
i:=i mod 4;
if i<>0
then Button1.Caption:=Copy(str,1,i)
else Button1.Caption:="";
end;

тока i больше нигде не меняй...


 
AndreySoft ©   (2003-08-31 18:29) [6]

Вообще-то здесь все варианты правильные. Только надо учитывать что если i:integer не прописать как глобальную переменную, а прямо в процедуре, где пишете код, то визуально Вы не увидите никакой задержки, между появлением букв, т.к. пока цикл в процедуре не выполниться, программа вам не покажет ни одну букву.
Ну а вообще-то Вы просили пример такой, чтобы появляющуюся строку, можно было редактировать в процессе работы приложения, т.е. с использованием поля для ввода. Вот Вам такой пример:
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, ExtCtrls;

type
TForm1 = class(TForm)
Edit1: TEdit;
BitBtn1: TBitBtn;
Label1: TLabel;
Timer1: TTimer;
procedure Timer1Timer(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;
i: integer;
implementation

{$R *.dfm}

procedure TForm1.Timer1Timer(Sender: TObject);
var
str: string;
x:integer;
begin
str:=Edit1.Text;
x:=(Edit1.GetTextLen)+1;
Inc(i);
i:=i mod x;
if i<>0 then Label1.Caption:=Copy(str,1,i)
else Label1.Caption:="";
end;

end.


 
TButton ©   (2003-08-31 19:16) [7]

Удалено модератором


 
circul ©   (2003-08-31 19:19) [8]

Удалено модератором


 
TButton ©   (2003-08-31 19:54) [9]

Удалено модератором


 
circul ©   (2003-08-31 19:59) [10]

Удалено модератором


 
AndreySoft ©   (2003-08-31 20:04) [11]

Удалено модератором


 
TButton ©   (2003-08-31 20:07) [12]

Удалено модератором


 
circul ©   (2003-08-31 20:18) [13]

Удалено модератором


 
TButton ©   (2003-08-31 20:27) [14]

Удалено модератором


 
circul ©   (2003-08-31 20:33) [15]

Удалено модератором


 
app ©   (2003-08-31 20:37) [16]

Не ругайтесь


 
TButton ©   (2003-08-31 20:38) [17]

в россии две беды...(с)

незнаю что и сказать, я не сетовал на свои проблемы ты сам меня вынудил.

и что это за правила? я в сети третий год и что-то их нигде не видел.

разве написать одно слово и написать кусок кода это одно и тоже?

и давай уже небудем демагогию разводить.


 
Adder ©   (2003-08-31 20:45) [18]

>и что это за правила? я в сети третий год и что-то их нигде не видел
http://www.delphimaster.ru/forums.shtml - правила этого форума
Сетевой этикет - ну, например, можно посмотреть здесь:
http://medianet.yartel.ru/medianet/help/netiket.shtml
http://netiquette.narod.ru/index.html

ps лично мне сленг неприятен


 
TButton ©   (2003-08-31 20:50) [19]

Да что вы на меня накинулись! а? из-за одного слова! я что оскорбил им кого-то? правила форума я знаю и соблюдаю, а лекций по сетевому этикету мне и даром не надо.
З.Ы. и чо мне с вами "наманикюреными" делать? а? слэнг не приятен? да какой тут слэнг? окстись! как базарные бабки! подкинули вам тему для разговора и бу-бу-бу-бу-бу! и началось! все! отбой!


 
circul ©   (2003-08-31 20:55) [20]

Да ладно, не обижайся на них... Завязали:-)


 
Adder ©   (2003-08-31 20:58) [21]

>а лекций по сетевому этикету мне и даром не надо.
Ты спросил - тебе ответили. А читать или не читать - твоё дело.


 
TButton ©   (2003-08-31 21:01) [22]

2 Adder
Ух не заводи меня. я в Афгане служил. я безбашенный.


 
Adder ©   (2003-08-31 21:36) [23]

Оно и видно Ж8-Р....
http://delphimaster.net/view/14-1062135733/


 
Е-Моё имя ©   (2003-08-31 21:45) [24]

можно я тоже...

ТЯФ-ТЯФ!


 
Adder ©   (2003-08-31 21:46) [25]

>Е-Моё имя © (31.08.03 21:45) [24]
Третьим будешь -)))


 
Е-Моё имя ©   (2003-08-31 21:52) [26]

ага))


 
имя   (2003-09-01 08:33) [27]

Удалено модератором


 
Е-Моё имя ©   (2003-09-01 09:18) [28]

ну, начинаем

БУТОН versus БАТОН


 
circul ©   (2003-09-01 09:36) [29]

>Е-Моё имя © (01.09.03 09:18) [28]

Смотря на каком языке читать.

На немецком - буттон
На английском - баттон
на ... - ???


 
Е-Моё имя ©   (2003-09-01 09:38) [30]

на чучмекском-БИДОН
;))))))))))))))))))))



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

Текущий архив: 2003.09.18;
Скачать: CL | DM;

Наверх




Память: 0.53 MB
Время: 0.024 c
1-58723
asJIura
2003-09-07 18:46
2003.09.18
Почему форма не перерисовавается при создании?


1-58633
nomshar
2003-09-08 14:35
2003.09.18
Сетевое имя файла


1-58690
DProg
2003-09-04 16:31
2003.09.18
Массивы Components, Controls. Изменение порядка следования


1-58677
Dmitriy M. Volkov
2003-09-01 22:30
2003.09.18
скрытая форма


14-58880
Александр из Минска
2003-08-28 19:59
2003.09.18
СРОЧНО НАДО ИСПРАВИТЬ