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

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.51 MB
Время: 0.041 c
6-1149953076
brother
2006-06-10 19:24
2006.12.10
Модемные клиент-сервер


2-1164263223
mmms
2006-11-23 09:27
2006.12.10
Можно ли в EhDbGrid одну колонку сделать постояно видимой?


3-1160038014
Lex_!
2006-10-05 12:46
2006.12.10
Вычисляемые поля при динамическом формировании колумов


2-1164282397
Jimmy
2006-11-23 14:46
2006.12.10
Ошибка при уничтожении формы.


15-1163702729
kassel*666*
2006-11-16 21:45
2006.12.10
Срочняк РГЗ





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