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

Вниз

Помогите с иконкой и ее обработкой   Найти похожие ветки 

 
happyandry ©   (2005-06-28 10:35) [0]

Добрый день! Есть задача создать следующее: Имеется файл, прога сидит в трее и отслеживая его (файл) с периодичностью в 5-10 сек рисует значок1 или значок2 в зависимости от содержания файла.
В файле одна строка, в ней меняется только один символ (путь к диску). Если можно, посоветуйте что-нить с конкретным примером.


 
Ega23 ©   (2005-06-28 10:36) [1]

Вот конкретный пример. Только не доделанный.


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;


 
-=XP=- ©   (2005-06-28 10:49) [2]

2 Ega23

Извините, у Вас хорошее настроение или температура?


 
happyandry ©   (2005-06-28 10:53) [3]

:))))))))))))


 
-=XP=- ©   (2005-06-28 10:54) [4]

Ega23 ©   (28.06.05 10:36) [1]

Кажется мне, что ни то, ни другое. Только жестоко это. :-/

:о)


 
happyandry ©   (2005-06-28 10:55) [5]

Ega 23: с моим вопросом это как соотносится? :)


 
Anatoly Podgoretsky ©   (2005-06-28 10:55) [6]

happyandry ©   (28.06.05 10:35)  
Программы в трее не сидят.
Для работы с иконками в трее существует всего одна единственная функция Shell_NotifyIcon


 
Ega23 ©   (2005-06-28 11:29) [7]

2 happyandry ©   (28.06.05 10:55) [5]
Ega 23: с моим вопросом это как соотносится? :)

А никак. Ты вопрос свой читал? Я, например, нифига не понял.  :о)

2 -=XP=- ©   (28.06.05 10:54) [4]
Кажется мне, что ни то, ни другое. Только жестоко это. :-/

Да настроение что-то non vaginus, non rotes legionus...


 
Digitman ©   (2005-06-28 11:55) [8]


> прога сидит в трее


а почему не лежит или не стоит ?

см. [6]

то что в трее нарисована какая-то иконка, вовсе не говорит о том , что там кто-то или что-то "сидит, лежит или стоит"

так что тебе посоветовать ? конкретно ?


 
Игорь Шевченко ©   (2005-06-28 11:58) [9]


> Я, например, нифига не понял.


Ну эта...можно понималку настроить :)

Собстна, по таймеру проверяется файл, в зависимости от содержимого этого файла в облати уведомлений отображаются разыне иконки. Тоже мне, бином Ньютона.


 
-=XP=- ©   (2005-06-28 11:58) [10]

Я, например, нифига не понял.

Да вроде бы все понятно.
Только это не вопрос.
Это предварительное ТЗ на небольшую утилитку.
Поэтому "посоветуйте что-нить с конкретным примером" не проходит.
Есть конкретные вопросы - задавайте.


 
Virgo_Style ©   (2005-06-28 13:51) [11]

happyandry ©   (28.06.05 10:35)
посоветуйте что-нить

Для этого можно написать программу...

> с конкретным примером

...на Delphi 7.


 
happyandry ©   (2005-06-28 14:42) [12]

:), ребят...хотелось бы просто вместо высказываний и насмешек, кусок кода, который именно будет следить за изменениями файла, а с иконкой программы в трее я уж почти разобрался. Программа действительно там не сидит, спасибо всем за уточнения :)


 
alpet ©   (2005-06-28 14:52) [13]

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 15:24) [14]

2 alpet: tnx.


 
alpet ©   (2005-06-28 15:49) [15]

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;



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

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

Наверх




Память: 0.5 MB
Время: 0.037 c
1-1123037753
iskatel
2005-08-03 06:55
2005.08.21
proxy


14-1122115821
Piter
2005-07-23 14:50
2005.08.21
Может ли мотоцикл разогнаться до 315 км/ч?


1-1123000525
deamon_t
2005-08-02 20:35
2005.08.21
Вызов функции


1-1123136634
tttyu
2005-08-04 10:23
2005.08.21
Отображение большого файла


4-1120111340
Mishenka
2005-06-30 10:02
2005.08.21
Работа с двумя CDRom ами