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

Вниз

Работа с Таймером   Найти похожие ветки 

 
Анрей Фомичев   (2003-02-15 21:59) [0]

Мастера помогите пожалуйста. Есть цикл
For i:=1 to 10 do
begin
Timer1.Interval := 100 * 1000;
Timer1.Enabled := True;
text:=text+IntToStr(i);
end;

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

в бейски вставляли DoEvents и все работало

PauseTime = 500 "задает длительность
Start = Timer "задает начало паузы
Do While Timer < Start + PauseTime
DoEvents "чтоб все остальное нормально работало"
Loop


 
Palladin   (2003-02-15 22:10) [1]

смысл кода?
прибавлять каждые 100 секунд цифру чтоли?


 
Anatoly Podgoretsky   (2003-02-15 22:12) [2]

Пример из бейсика это не таймер, его эквивалент GetTickCount, а эквивалентом DoEvents является Application.ProcessMessage, соответственно получается

PauseTime := 500; //задает длительность
Start := GetTickCount; //задает начало паузы
While GetTickCount < (Start + PauseTime) do
ProcessMessage; //чтоб все остальное нормально работало

Таймеры же предназначены для выработки повторяемых или однократныъ интервалов времени.



 
Анрей Фомичев   (2003-02-15 22:13) [3]

да, цифру добалять и вы выводить цифру....

подскажите пожалуйста как сделать чтоб все было гуд


 
Анрей Фомичев   (2003-02-15 22:16) [4]

Anatoly Podgoretsky
большое вам спасибо ,очень выручили :)

извините за небольшой флуд


 
Романов Р.В.   (2003-02-15 22:16) [5]

В OnTimer пишешь
if Timer1.Tag <= 10 then
begin
text:=text+IntToStr(Timer1.Tag);
Timer1.Tag := Timer1.Tag + 1;
end
else
Timer1.Enabled := False;

Запускается таймер так
Timer1.Tag := 1;
Timer1.Interval := 100 * 1000;
Timer1.Enabled := True;


 
Анрей Фомичев   (2003-02-15 22:21) [6]

to Anatoly Podgoretsky >

[Error] Main.pas(284): Undeclared identifier: "PauseTime"
[Error] Main.pas(285): Undeclared identifier: "Start"


Романов Р.В. > пробуем:)


 
Диман С Андреем   (2003-02-15 22:25) [7]

[Error] Main.pas(284): Undeclared identifier: "PauseTime"
[Error] Main.pas(285): Undeclared identifier: "Start"

cкажите пожалуйста что в USES надо прописать


 
Романов Р.В.   (2003-02-15 22:27) [8]


> Диман С Андреем

Ну вы блин даете...
var
PauseTime, Start: LongWord;


 
Анрей Фомичев   (2003-02-15 22:31) [9]

>>>Романов Р.В. огромное спасибо

а как еще с
ProcessMessage


 
Диманс   (2003-02-15 22:37) [10]

тоже баг выдает


 
Palladin   (2003-02-15 22:41) [11]

2 Анрей и Формичев
исходя из определенной вами задачи могу посоветовать следующее:
TTimer я так понял вы уже запихали на форму
теперь тыкаемся на Timer1
находим в Object Inspector вкладку Properties
находим Interval
вводим число 100000
находим в Object Inspector вкладку Events
находим OnTimer
пытаемся быстро два раза тыкнуть на место для ввода
если не получилось повторить
если вдруг получилось то пишем между появившимися ниоткуда
begin
end
такой код

c:=c+1;
if c=10 then timer1.enabled:=false else text:=text+" "+inttostr(c);

естественно не забываем в начале исполнения программы установить c=0;


 
Романов Р.В.   (2003-02-15 22:42) [12]

While GetTickCount < (Start + PauseTime) do
begin
Application.ProcessMessage; //чтоб все остальное нормально работало
Sleep(0);
end;


 
Anatoly Podgoretsky   (2003-02-15 22:43) [13]

Анрей Фомичев (15.02.03 22:21)
В большинстве компиляторов переменные и их типы должны быть объявлены до использования, в отличии от интерпритаторов.

А ProcessMessage описан в модуде Windows
Для этого надо написать
uses Windows

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


 
Palladin   (2003-02-15 22:43) [14]

возражения по поводу
Undeclared identifier "c"
не принимаются

так же не принимаются возражения в следствии того что Timer1 изначально не Enabled


 
Palladin   (2003-02-15 22:46) [15]

и если вы последовали моим указаниям, то ,о чудо!, через каждые 100 секунд будет к text прибавлятся цифра


 
Анрей Фомичев   (2003-02-15 22:48) [16]

to Романов Р.В. >>>>>>

[Error] Main.pas(291): Undeclared identifier: "ProcessMessage"
[Fatal Error] webbrows.dpr(6): Could not compile used unit "Main.pas"
опять не работает :(((((

Palladin >>> смотрим :))))


 
Анрей Фомичев   (2003-02-15 22:51) [17]

большое вам спасибо

Anatoly Podgoretsky >>> получаю степендию иду за книгой :)

Palladin >>> нет возражений :)))


 
Романов Р.В.   (2003-02-15 22:52) [18]

Application.ProcessMessages


 
КореКеФОН   (2003-02-15 22:54) [19]

USES: USES;


 
ЕВГЕНс   (2003-02-15 22:55) [20]

Удалено модератором
Примечание: Остроумный Вы наш


 
Alex44   (2003-02-15 23:24) [21]


> While GetTickCount < (Start + PauseTime) do
> ProcessMessage; //чтоб все остальное нормально работало


Izvinite, no mne kazhetsya neprilichnym tak gruzit" computer. Esli uzh programme bol"she nechego delat", to luchshe by Sleep postavit... Ili, chtob ne vislo,


for I := 0 to Something do begin
Sleep(ACoupleOfSeconds);
Application.ProcessMessages;
end;


 
Strangers   (2003-02-16 10:24) [22]

Alex44 >> большое вам спасибо, будет пробовать :))


 
SVZed   (2003-02-16 10:57) [23]

Удалено модератором
Примечание: Задай СВОЙ вопрос в отдельной ветке


 
specAl   (2003-02-16 11:04) [24]

некогда не думал что с обычный таймер тут не прокатит.. :-(


 
Strangers   (2003-02-16 11:08) [25]

Удалено модератором
Примечание: Задай СВОЙ вопрос в отдельной ветке


 
Anatoly Podgoretsky   (2003-02-16 11:33) [26]

Alex44 (15.02.03 23:24)
Очень неприятно смотрятся подобные приложения, реагирует рывками, а насчет загрузки процессора особого беспокойства нет, его задача как раз в этом и состоит.


 
Alex44   (2003-02-16 11:53) [27]

Anatoly Podgoretsky
большое спасибо :)


 
Anatoly Podgoretsky   (2003-02-16 12:00) [28]

Я вообще то серьезно, так как мы говорим про Виндоус, подумай чем занимается твой процессор, когда исполняется Sleep. Если бы он переводился в режим Halt то другое дело. Для морального удовлетворения можно в цикл включить Sleep(1) это в системном мониторе покажет приятную для глаза картину.



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

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

Наверх





Память: 0.5 MB
Время: 0.007 c
3-87353
Shrek
2003-02-11 12:32
2003.02.27
sql limit offset


7-87730
FoxSW
2002-12-26 19:55
2003.02.27
Работа с памятью на низком уровне


6-87580
ApTuCT
2002-12-14 20:00
2003.02.27
Как реализовать TWebBrowser с разными куками?


7-87728
Le!
2002-12-28 08:20
2003.02.27
Иконка в трее!


1-87542
Udjin
2003-02-14 11:37
2003.02.27
работа с указателями





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