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

Вниз

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

 
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 вся ветка

Форум: "WinAPI";
Текущий архив: 2005.08.21;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.48 MB
Время: 0.044 c
1-1123070567
FRick
2005-08-03 16:02
2005.08.21
Помогите плиз!


1-1122616300
Shlomo
2005-07-29 09:51
2005.08.21
QuickReport, внедрить один отчёт в другой?


1-1122483643
Galiaf
2005-07-27 21:00
2005.08.21
Аттрибуты файлов.


14-1122630536
Lexer
2005-07-29 13:48
2005.08.21
Отчётность АО должна быть в сети?


14-1122620714
NickMan
2005-07-29 11:05
2005.08.21
Программы для интернет - радио





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