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

Вниз

Отмена выпонения цикла.   Найти похожие ветки 

 
Xmen   (2006-11-23 13:45) [0]

Привет Мастера. Нужен ваш совет
Хочу сделать так.
В цикле проигрывается beep пока не нажата любая клавиша.
 
  repeat
     beep;
  until сюда нужно писать условие;

Вот это незнаю как это сделать.


 
Сергей М. ©   (2006-11-23 13:48) [1]


> незнаю как это сделать.


Можешь ли объяснить, зачем это делать ?)

Т.е. конечная задача, решаемая твоим приложением ?


 
Xmen   (2006-11-23 13:54) [2]

Делаю процедуру который проверяет каталог куда приходит писма-файлы, когда придет новый файл то нужно извещать юзера звуком. Звук прекрашается когда нажимается любая клавиша.


 
Array ©   (2006-11-23 13:56) [3]

repeat
 K := I mod J;
 I := J;
 J := K;
until J = 0;

в чем собственно проблема?


 
Anatoly Podgoretsky ©   (2006-11-23 13:56) [4]

А где этот огрызок кода фигурирует?


 
Array ©   (2006-11-23 13:58) [5]


>  когда придет новый файл то нужно извещать юзера звуком.


бедный юзер....
Application.ProcessMessages


 
Jeer ©   (2006-11-23 13:58) [6]

Используй таймер, на приход письма - Enabled := True и OnTimer делай beep и проверку флага.
Когда юзер нажмет любую клавишу - сбрасывай флаг.


 
Джо ©   (2006-11-23 13:59) [7]

> [2] Xmen   (23.11.06 13:54)
> Делаю процедуру который проверяет каталог куда приходит
> писма-файлы, когда придет новый файл то нужно извещать юзера
> звуком. Звук прекрашается когда нажимается любая клавиша.

sndPlaySound ("имя_wave_файла",SND_ASYNC or SND_LOOP);
Звук будет проигрываться асинхронно и "бесконечно".
Для прекращения проигрывания вызвать:
sndPlaySound (nil,0);


 
Anatoly Podgoretsky ©   (2006-11-23 14:03) [8]

> Array  (23.11.2006 13:58:05)  [5]

Телепатия?


 
Xmen   (2006-11-23 14:04) [9]

Процедура проверяюший каталог и дабавляюший данные листбокс и вызевает процедуру проверки изменения.

procedure RefreshFileRecv;
var F: TSearchRec;
   i, done: integer;
begin
form1.lbFileRecv.Items.Clear;
i:=0;
done := FindFirst(PathForRecv+"*.*",faArchive,F);
while done = 0 do
 begin
  form1.lbFileRecv.Items.Add((F.Name+" "+FormatDateTime("dd-mm-yyyy   hh:nn:ss", FileDateToDateTime(f.Time))));
  inc(i);
  done := FindNext(F);
 end;

 provrecv(i);

end;

проверка изменения (правда приметивный)

procedure provrecv(ResultRecv:integer);
var TotalRecvFiles:string;
begin
IniFile := TIniFile.Create(path+"MyMail.ini");
TotalRecvFiles:=IniFile.ReadString("Main","TotalRecvFiles","");читает данные из ини для проверки и идет сверка
if strtoint(TotalRecvFiles)<>ResultRecv then
  begin
   repeat
     beep;
     Form1.Update;
     form1.lbFileRecv.Color:=clblue;
   until пока ненажемается клавиша;
   IniFile.WriteString("Main" , "TotalRecvFiles", inttostr(ResultRecv));изменяется данные в ини
  end;
end;


 
Джо ©   (2006-11-23 14:06) [10]

> [9] Xmen   (23.11.06 14:04)

См. [7] и не нужно никаких циклов и извращений :)


 
Xmen   (2006-11-23 14:06) [11]


> sndPlaySound ("имя_wave_файла",SND_ASYNC or SND_LOOP);
> Звук будет проигрываться асинхронно и "бесконечно".
> Для прекращения проигрывания вызвать:
> sndPlaySound (nil,0);


у юзера нет колонок!


 
Джо ©   (2006-11-23 14:07) [12]

> [11] Xmen   (23.11.06 14:06)
>
> > sndPlaySound ("имя_wave_файла",SND_ASYNC or SND_LOOP);
>
> > Звук будет проигрываться асинхронно и "бесконечно".
> > Для прекращения проигрывания вызвать:
> > sndPlaySound (nil,0);
>
>
> у юзера нет колонок!

Так может, он и не хочет, чтобы у него компьютер шумел? А ты его писиспикером мучишь :D


 
Xmen   (2006-11-23 14:12) [13]

Делаю внутренную почтовую прогу для филиала и увы знаю что не у всех есть колонки и поэтом делаю это c beep.


 
Сергей М. ©   (2006-11-23 14:18) [14]


> делаю это c beep.
> <Цитата>
>
>  


Тогда уж с Windows.Beep() .....)

тебе придется сотворять глобальный низкоуровневый клавиатурный хук.

А что делать ?)

Сам виноват)


 
Xmen   (2006-11-23 14:28) [15]

И что можете еще посоветовать


 
Сергей М. ©   (2006-11-23 14:29) [16]

Оно самое и посоветую - глобальный низкоуровневый клавиатурный хук.


 
Xmen   (2006-11-23 14:42) [17]

Если бы твои слова понял то опять не спрашевал бы.


 
clickmaker ©   (2006-11-23 14:42) [18]


> [15] Xmen   (23.11.06 14:28)
> И что можете еще посоветовать

а это... может иконку в трей? с хинтом


 
Сергей М. ©   (2006-11-23 14:43) [19]


> Xmen   (23.11.06 14:42) [17]


Я вроде бы громко сказал) ... И не шумно в сей момент было ...

Что ж не понять ?

Гугль в руки - и вперед !

Ы ?


 
RASkov   (2006-11-23 14:48) [20]

[18]... или MessageBox("Пришло новое письмо");


 
Xmen   (2006-11-23 15:02) [21]


> а это... может иконку в трей? с хинтом

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


 
novill ©   (2006-11-23 15:25) [22]

> [18] clickmaker ©   (23.11.06 14:42)

провокатор, млин )))


 
Anatoly Podgoretsky ©   (2006-11-23 15:35) [23]

> Xmen  (23.11.2006 15:02:21)  [21]

Какая версия Дельфи?


 
Anatoly Podgoretsky ©   (2006-11-23 15:36) [24]

Отвечать не надо, посмотрел исходное сообщение.
Если бы 2006, то в tray-icon есть baloon hint
А у тебя Д7 да еще и 98


 
Xmen   (2006-11-23 15:59) [25]


> Если бы 2006, то в tray-icon есть baloon hint
> А у тебя Д7 да еще и 98

и ХР


 
Anatoly Podgoretsky ©   (2006-11-23 16:18) [26]

> Xmen  (23.11.2006 15:59:25)  [25]

А это уже роли не играет, поскольку должно работать на обеих системах.
ОЕ например в этом случае высвечивает дополнительную иконку в трее.


 
Xmen   (2006-11-24 07:35) [27]

Ну тогда наверно иду по неправелному пути раз эту задачу я немог решит. Предется отказатся от него.


 
ASoft   (2006-11-24 08:16) [28]


> Xmen   (23.11.06 13:54) [2]

а просто модальное окно (или по верх всех окон) + сопровождение beep показать пользователю нельзя?


 
Xmen   (2006-11-24 08:32) [29]

Попробую.



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

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

Наверх




Память: 0.53 MB
Время: 0.038 c
15-1164271599
wamp
2006-11-23 11:46
2006.12.10
cmd


15-1163565271
MBo
2006-11-15 07:34
2006.12.10
Новости от Borland


2-1164271342
kirillrepin
2006-11-23 11:42
2006.12.10
как в TreeView програмно сделать все узлы развернутыми


15-1164103554
Nic (from first work)
2006-11-21 13:05
2006.12.10
Не могу найти песню


1-1162035166
OlDirtyBastard
2006-10-28 15:32
2006.12.10
Twain