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

Вниз

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

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

Наверх




Память: 0.53 MB
Время: 0.026 c
3-47176
BizonWar
2002-06-17 18:00
2002.07.15
Нужно преслать данные из Paradox в SQL Server


1-47386
First_May
2002-07-02 10:08
2002.07.15
Форма + DLL


7-47834
KarlovAF
2002-04-16 09:53
2002.07.15
И еще раз про принтер...


4-47906
Димок
2002-05-16 21:42
2002.07.15
Как отловить сообщение от нажатия пункта в чужом PopupMenu?


1-47577
strel
2002-06-28 14:35
2002.07.15
открыть документ EXCEL 2000 ??