Форум: "Начинающим";
Текущий архив: 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