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

Вниз

Мастера, помогите!!!! Горю. Ыспользование таймера.   Найти похожие ветки 

 
goliaph   (2002-07-04 12:37) [0]

Мастера помогите пожалуста.
есть файл типа Textfile в котором 20 слов.
Как сделать чтобы ети слова равномерно через 2 сикунды выводило
на екран.


 
shane54   (2002-07-04 13:03) [1]

Положи на форму TTimer, параметр Interval поставь 2000 милисекунд (2 секунды), в событие onTimer пропиши все что тебе нужно (вывод слов).


 
goliaph   (2002-07-04 13:28) [2]

спасибо.
но тут еще одна проблема.
слова находятся в файле.
как сделать чтоб при каждем следуещем срабатывания таймера
выводилось не первое слово файла, а все причем из задержкой 2 ск
(я пробывал присваивать statikText.caption слово из файла


 
goliaph   (2002-07-04 13:29) [3]

спасибо.
но тут еще одна проблема.
слова находятся в файле.
как сделать чтоб при каждем следуещем срабатывания таймера
выводилось не первое слово файла, а все причем из задержкой 2 ск
(я пробывал присваивать statikText.caption слово из файла )


 
Skier   (2002-07-04 13:32) [4]

>goliaph
Наверное нужно 2 таймера.
Один определяет когда нужно начать выводить слова,
другой осчитывает 2 секунды для каждого слова.


 
Kaban   (2002-07-04 13:35) [5]

2 Skier
>Наверное нужно 2 таймера.
>Один определяет когда нужно начать выводить слова,
>другой осчитывает 2 секунды для каждого слова.
Что за бред?

Открываешь файл вне таймера
Внутри таймера просто считываешь слова


 
Skier   (2002-07-04 13:37) [6]

>Kaban


 
Skier   (2002-07-04 13:44) [7]

>Kaban

> Открываешь файл вне таймера
> Внутри таймера просто считываешь слова

Вот это точно - полный бред !


 
Kaban   (2002-07-04 13:45) [8]

серьезно, с чего бы это?


 
Skier   (2002-07-04 13:51) [9]

>Kaban
Давай без эмоций обсудим...
1) goliaph-у нужно определить момент начала вывода текста
Он об этом в вопросе не пишет, но потом сообщает
"...при следуещем срабатывания таймера". Значит тут тоже
нужен таймер.
2) установить задержку между словами (2 сек.)

Вывод : 1) + 2) = two timers


 
Kaban   (2002-07-04 13:53) [10]

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

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


 
Anatoly Podgoretsky   (2002-07-04 13:54) [11]

Абсолютно верно замечено, что значит программст (это похвала)


 
goliaph   (2002-07-04 13:56) [12]

не спорте.
Вы меня наверняка неверно поняли.
Вобщем дело предстоит так.
ето тестовая програма на тему психологии.
Есть 20 слов и 20 фраз( я их внес в текстовый файл).
нужно ети слова выводить на екран из задержкой 2 ск.(слова отображаются 2ск. равномерно)
я пробывал их считывать с файла в цыкле и выводить на екран, присвоив staticText.caption значение переменной из файла.а между каждым считыванием задержка sleep(). Но почему то выводит з разной задержкой.


 
Skier   (2002-07-04 13:56) [13]

>Kaban
А как же насчёт 2 сек. между словами ?


 
Kaban   (2002-07-04 13:58) [14]

что насчет двух секунд?


 
Skier   (2002-07-04 13:59) [15]

>goliaph
Т.е. задержки начала чтения из файла нет ???


 
goliaph   (2002-07-04 14:01) [16]

между каждым появлением тоже 2 ск


 
Skier   (2002-07-04 14:03) [17]

>goliaph
Всё понял. Тогда действительно достаточно 1 таймера.

>Kaban
Был не прав. Каюсь :)


 
Kaban   (2002-07-04 14:04) [18]

2Skier
вы издеваетесь?

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


 
goliaph   (2002-07-04 14:08) [19]

спасибо. Но я так и не понял как ето сделать.
я пока еще не силен в делф.
Поетому если не влом какой нибуть примерчик или
еще раз но подробно обяснить


 
Kaban   (2002-07-04 14:17) [20]

Делайте так:
объявите глобальную переменную:
var SList:TStringList;
N :Integer;
в MainForm.OnCreate:
SList:=TStringList.Create;
SList.LoadFromFile("Имя файла");
N:=0;

в MainForm.OnDestroy:
SList.Free;
в Timer
if N<SList.Count then
begin
Memo1.Lines.Append(SList.Strings[N]
N:=N+1;
end
else
begin
N:=0;
Timer1.enabled:=false;
end;


 
Alx2   (2002-07-04 14:21) [21]

Опиши сначала переменную TF : System.Text внутри класса формы.
Timer1.Enabled сразу установи в False
Timer1.Interval сразу установи равным 2000
Timer1.OnTimer описана ниже.

Procedure TForm1.Button1Click(Sender: TObject); //По этой кнопке начинаем работать.
Begin
AssignFile(TF, <твой файл>);
Reset(TF); // Открываем файл
Timer1.ENABLED := True; // Запускаем процесс
End;

Procedure TForm1.Timer1Timer(Sender: TObject);
// Обработка события Timer1.OnTimer
Const
ValidSet = ["a".."z", "A".."Z", "а".."я", "А".."Я", "0".."9"];
Var S: String;
Ch: Char;
Begin // Внутри процесса делаем следущее:
S := "";
While (Not EOF(TF)) And (Not (Ch In ValidSet)) Do Read (TF, Ch);
While (Not EOF(TF)) And ((Ch In ValidSet)) Do
Begin
S := S + Ch;
Read (TF, Ch);
End;

staticText.caption := S; // Получили очередное слово.

If EOF(TF) Then // Если все прочли, то прекращаем изврат.
Begin
closefile(TF);
Timer1.ENABLED := False;
End;
End;


 
Alx2   (2002-07-04 14:23) [22]

>Kaban © (04.07.02 14:17)
Сорри за интерференцию. Пока писал прошло некоторое время :)


 
goliaph   (2002-07-04 14:50) [23]

спасибо, но тут какой то еще прикол.
Компилятор нне пропускает TF : System.Text
Ошибка типа "Expeted";" but"." found"


 
Alx2   (2002-07-04 14:55) [24]

Смотри как у меня объявлено:
TForm1 = Class(TForm)
.....................
Private
{ Private declarations }
Public
{ Public declarations }
TF: System.Text;
End;


 
goliaph   (2002-07-04 15:01) [25]

большое спасибо, я просто не там описал





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

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

Наверх




Память: 0.5 MB
Время: 0.01 c
7-47842
Lmatveev
2002-04-23 22:01
2002.07.15
---|Ветка была без названия|---


4-47880
SPeller
2002-05-14 15:19
2002.07.15
Хук на нажатие клавиш


1-47547
Новенький в Делфи
2002-06-27 23:33
2002.07.15
Transparent в TImage


1-47531
SkyQuake
2002-07-04 19:04
2002.07.15
Только первые пять байт...


14-47809
copyr25
2002-06-07 01:46
2002.07.15
---|Ветка была без названия|---





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