![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Помогите с иконкой и ее обработкой [D7, Win2k]
happyandry © (2005-06-28 10:35:00)Добрый день! Есть задача создать следующее: Имеется файл, прога сидит в трее и отслеживая его (файл) с периодичностью в 5-10 сек рисует значок1 или значок2 в зависимости от содержания файла.
В файле одна строка, в ней меняется только один символ (путь к диску). Если можно, посоветуйте что-нить с конкретным примером.
alpet (2005-06-28 15:49:00) [1]MSDN
Therefore, you need to dispatch messages in the calling thread, even when you use TimerProc instead of processing WM_TIMER
You need also make thread message loop:
var msg: tagMsg;
begin
// WARN: Keyboard message not translated.
while GetMessage (msg) do DispatchMessage (msg);
end;
happyandry (2005-06-28 15:24:00) [2]2 alpet: tnx.
alpet (2005-06-28 14:52:00) [3]Keywords: SetTimer, TimerProc.
procedure TimeProc (hwnd, msg, id, time: dword);
begin
if CheckFile ('some.txt') then SetIcon_1 else SetIcon_2;
end;
// In program initialization code
SetTimer (0, 0, 1000, TimerProc);
happyandry (2005-06-28 14:42:00) [4]:), ребят...хотелось бы просто вместо высказываний и насмешек, кусок кода, который именно будет следить за изменениями файла, а с иконкой программы в трее я уж почти разобрался. Программа действительно там не сидит, спасибо всем за уточнения :)
Virgo_Style (2005-06-28 13:51:00) [5]happyandry © (28.06.05 10:35)
посоветуйте что-нить
Для этого можно написать программу...
> с конкретным примером
...на Delphi 7.
Игорь Шевченко (2005-06-28 11:58:00) [6]
> Я, например, нифига не понял.
Ну эта...можно понималку настроить :)
Собстна, по таймеру проверяется файл, в зависимости от содержимого этого файла в облати уведомлений отображаются разыне иконки. Тоже мне, бином Ньютона.
-=XP=- (2005-06-28 11:58:00) [7]Я, например, нифига не понял.
Да вроде бы все понятно.
Только это не вопрос.
Это предварительное ТЗ на небольшую утилитку.
Поэтому "посоветуйте что-нить с конкретным примером" не проходит.
Есть конкретныевопросы - задавайте.
Digitman (2005-06-28 11:55:00) [8]
> прога сидит в трее
а почему не лежит или не стоит ?
см. [6]
то что в трее нарисована какая-то иконка, вовсе не говорит о том , что там кто-то или что-то "сидит, лежит или стоит"
так что тебе посоветовать ? конкретно ?
Ega23 (2005-06-28 11:29:00) [9]2 happyandry © (28.06.05 10:55) [5]
Ega 23: с моим вопросом это как соотносится? :)
А никак. Ты вопрос свой читал? Я, например, нифига не понял. :о)
2 -=XP=- © (28.06.05 10:54) [4]
Кажется мне, что ни то, ни другое. Только жестоко это. :-/
Да настроение что-то non vaginus, non rotes legionus...
happyandry (2005-06-28 10:55:00) [10]Ega 23: с моим вопросом это как соотносится? :)
Anatoly Podgoretsky (2005-06-28 10:55:00) [11]happyandry © (28.06.05 10:35)
Программы в трее не сидят.
Для работы с иконками в трее существует всего одна единственная функция Shell_NotifyIcon
-=XP=- (2005-06-28 10:54:00) [12]Ega23 © (28.06.05 10:36) [1]
Кажется мне, что ни то, ни другое. Только жестоко это. :-/
:о)
happyandry (2005-06-28 10:53:00) [13]:))))))))))))
-=XP=- (2005-06-28 10:49:00) [14]2 Ega23
Извините, у Вас хорошее настроение или температура?
Ega23 (2005-06-28 10:36:00) [15]Вот конкретный пример. Только не доделанный.
function TKdrConfigurator.LoginSettingsForm(var SrvName,
DBName: String): Boolean;
var
aForm:TForm;
eSrvName, eDBName : TEdit;
btnOK, btnCancel : TButton;
begin
try
aForm:=TForm.Create(Application);
try
With aForm do
begin
Width:=310;
Height:=140;
Font.Size:=10;
Position:=poScreenCenter;
BorderStyle:=bsDialog;
Caption:='Настройки соединения c БД';
end;
With TLabel.Create(aForm) do
begin
Parent:=aForm;
Left:=8;
Top:=13;
Caption:='Сервер';
end;
With TLabel.Create(aForm) do
begin
Parent:=aForm;
Left:=8;
Top:=45;
Caption:='Имя БД';
end;
eSrvName:=TEdit.Create(aForm);
With eSrvName do
begin
Parent:=aForm;
Left:=90;
Width:=203;
Top:=10;
Text:=SrvName;
end;
eDBName:=TEdit.Create(aForm);
With eDBName do
begin
Parent:=aForm;
Left:=90;
Width:=203;
Top:=42;
Text:=DBName;
end;
With TButton.Create(aForm) do
begin
Parent:=aForm
end;
finally
aForm.Free;
end;
except
Result:=False;
end;
end;