Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Помогите с иконкой и ее обработкой [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;


Наверх

Титульная страница Поиск, карта сайта Написать письмо