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

Вниз

Помогите написать "Уведомлятель"   Найти похожие ветки 

 
Костик   (2008-07-11 11:38) [0]

Помогите пожалуйста написать "Уведомлятель".... Я уже смотрел faq нашел некоторые моменты, но така как я новичок то те процедуры, которые там написаны я не очень в состоянии применть (немного не понятно). Хочу чтобы программа загружалась с виндой и сворачивалась к часам в панели задач и через каждое установленное время выдавала сообщение что типа "Эй чувак - да ты заработался как я посмотрю" )))  ну чтото типа того...
Заранее благодарю.


 
Сергей М. ©   (2008-07-11 11:42) [1]

Чем же тебе помочь ?


 
Костик   (2008-07-11 11:53) [2]


> Чем же тебе помочь ?

Мне б помочьдобавить в автозагрузку и свернуть/развернуть с места возле часов....


 
Denis__ ©   (2008-07-11 12:02) [3]

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
uses Registry;
TRegistry;
Качать RXLibrary, там есть RXTrayIcon.


 
Костик   (2008-07-11 12:18) [4]


> HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
> uses Registry;
> TRegistry;
> Качать RXLibrary, там есть RXTrayIcon.

та тут много таких советов... и что мне с этим делать?


 
Сергей М. ©   (2008-07-11 12:21) [5]


> что мне с этим делать?


Ну как что ?
принять как направление для исследования предложенного на предмет применимости в своей задаче)


 
Denis__ ©   (2008-07-11 12:31) [6]


> Костик

Разжую :
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
Это ветка реестра, куда надо писать, чтобы твоя программа запускалась автоматически. Строковый параметр с любым именем. В нём должен быть путь к программе. Используй Application.Exename;

uses Registry;
...
var
  Reg : TRegistry;
...

Это то, чем ты должен пользоваться для записи в реест. Хотя можешь поизвращаться с TRegIniFile. Но мне больше нравится TRegistry;

Качать RXLibrary, там есть RXTrayIcon.
Это компонент, с помощью которого можно "запуздырить иконку возле часиков". Там есть readme, так что с установкой проблем быть не должно.
RxLib7 весит в архиве 3.62 метра.

Удачи


 
Anatoly Podgoretsky ©   (2008-07-11 12:36) [7]

> Костик  (11.07.2008 11:38:00)  [0]

В чем проблема, таймер и иконка в трей. Только зачем же на АПИ? У тебя пока явно знаний на АПИ не хватит.
Работы то на 10 минут, в Д2006.


 
Плохиш ©   (2008-07-11 12:39) [8]


> Anatoly Podgoretsky ©   (11.07.08 12:36) [7]
> Работы то на 10 минут, в Д2006.

Ну вот взял и обломил людям целую rxlib :-)


 
Костик   (2008-07-11 12:44) [9]


> Ну вот взял и обломил людям целую rxlib :-)

Ниче не обламал - у меня тока 7-ка стоит ))

> Denis__ ©   (11.07.08 12:31) [6]

Спасибо - будем пробывать.


 
Johnmen ©   (2008-07-11 13:13) [10]


> Спасибо - будем пробывать.

Пробый, пробый...:))


 
Anatoly Podgoretsky ©   (2008-07-11 13:14) [11]

> Плохиш  (11.07.2008 12:39:08)  [8]

А ты хочешь следующий вопрос(ы) - как поставить, где взять, не встает.


 
oldman ©   (2008-07-11 13:17) [12]


> Хочу чтобы программа загружалась с виндой и сворачивалась
> к часам в панели задач и через каждое установленное время
> выдавала сообщение


Планировщик задач отменили?
Когда???


 
Правильный*Вася   (2008-07-11 13:20) [13]


>  Помогите написать "Уведомлятель"

правильно "уведомитель"
а твое - странные ассоциации вызывает


 
Костик   (2008-07-11 13:22) [14]


> Качать RXLibrary, там есть RXTrayIcon.

Короче говоря еле нашел... Самая большая версия 3.58 :
RX Library 2.75 conversion to Delphi 7, v1.0 (based on conversion by SGB Software)
 from Project JEDI (http://jvcl.sourceforge.net)
и то нет тута в помине RXTrayIcon.


 
Костик   (2008-07-11 13:28) [15]

а не есть


 
Dennis I. Komarov ©   (2008-07-11 13:32) [16]

И вот на каждый "млятель" компоненты искать (ставить)...


 
Костик   (2008-07-11 13:54) [17]

Что делать?
Пишет что не может найти  RXShell; uses


 
DVM ©   (2008-07-11 13:55) [18]


> а твое - странные ассоциации вызывает

У меня это сразу вызвало ассоциации с еще тремя шедеврами програмистской мысли: "Конвектор форматов", "Автошема", и "Кодировочник"


 
Dennis I. Komarov ©   (2008-07-11 13:58) [19]

> [17] Костик   (11.07.08 13:54)
Что делать?

Нанять программиста


 
Костик   (2008-07-11 14:02) [20]


> Нанять программиста

а я кто по вашему?

))) шучу
да вроде ж все установил...
по инструкции...


 
Костик   (2008-07-11 14:05) [21]

короче не знаю что сделал - но заработало, надо бы получше разобраться с этими компонентами....


 
oldman ©   (2008-07-11 14:07) [22]


> Костик   (11.07.08 14:05) [21]
> короче не знаю что сделал - но заработало


Видимо, вышел - вошел
:)


 
Dennis I. Komarov ©   (2008-07-11 14:11) [23]

> а я кто по вашему?

флудер... эт я тоже шучу
видно из-за пятницы еще не запуздырили к часикам


 
Костик   (2008-07-11 14:16) [24]

скажите пожалуйста какое событие происходит когда нажимаешь свернуть форму _ ?
ну я туда впишу код появления иконки в системном трее ( или как он там называется "место возле часов") а потом чё с формой лучше сделать: визибл фалсэ?


 
Костик   (2008-07-11 15:08) [25]

Вот что получается.... Вроде как работает:

function IsStatus: boolean;
var
Reg:  TRegistry;
bIs:  boolean;
List: TStringList;
I:    Integer;
begin
bIs  := False;
Reg  := TRegistry.Create;
List := TStringList.Create;
try
  Reg.RootKey := HKEY_LOCAL_MACHINE;
  if Reg.OpenKey("\SOFTWARE\Microsoft\Windows\CurrentVersion\Run", True) then
   begin
     Reg.GetValueNames(List);
     for I:=0 to List.Count-1 do
       begin
        if List.Strings[I] = "YouMemory 1.0" then
         bIs := True;
         break;
       end;
   end;
finally
   Reg.Free;
   List.Free
end;
Result :=  bIs;
end;

procedure WriteStatus(Status:boolean);
var
Reg: TRegistry;
begin
Reg := TRegistry.Create;
 try
   Reg.RootKey := HKEY_LOCAL_MACHINE;
   if Reg.OpenKey("\SOFTWARE\Microsoft\Windows\CurrentVersion\Run", True) then
   begin
    if Status then
     Reg.WriteString("YouMemory 1.0",""" + Application.ExeName + """)
    else
     Reg.DeleteValue("YouMemory 1.0");
     Reg.CloseKey;
   end;
 finally
   Reg.Free;
 end;
end;

procedure TForm1.RxTrayIcon1Click(Sender: TObject; Button: TMouseButton;
 Shift: TShiftState; X, Y: Integer);
begin
RxTrayIcon1.Active := False;
Form1.Visible := true;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
RxTrayIcon1.Active := true;
Form1.Visible := false;
end;

procedure TForm1.CheckBox1Click(Sender: TObject);
begin
if CheckBox1.Checked then
 WriteStatus(True)
else
 WriteStatus(False);
end;

procedure TForm1.FormActivate(Sender: TObject);
begin
if IsStatus then
 CheckBox1.Checked := true
else
 CheckBox1.Checked := false;
end;


 
Johnmen ©   (2008-07-11 15:35) [26]


> if IsStatus then  
>   CheckBox1.Checked := true
> else  
> CheckBox1.Checked := false;

Милашка...
:)


 
Dennis I. Komarov ©   (2008-07-11 15:49) [27]

С "конвектором" рядом не стояла


 
Костик   (2008-07-11 15:49) [28]


> Johnmen ©   (11.07.08 15:35) [26]
>
> > if IsStatus then  
> >   CheckBox1.Checked := true
> > else  
> > CheckBox1.Checked := false;
>
> Милашка...
> :)
> <Цитата>
>
>
> Dennis I. Komarov ©   (11.07.08 15:49) [27]
> С "конвектором" рядом не стояла

не понял?


 
Правильный*Вася   (2008-07-11 15:55) [29]


> for I:=0 to List.Count-1 do
>   begin
>     if List.Strings[I] = "YouMemory 1.0" then
>        bIs := True;
>        break;
>   end;

выпадет из цикла после первой же итерации
зачем цикл тогда?


 
Правильный*Вася   (2008-07-11 15:56) [30]


> if CheckBox1.Checked then  WriteStatus(True) else  WriteStatus(False);

вторая милашка :)


 
Dennis I. Komarov ©   (2008-07-11 16:09) [31]

> [28] Костик   (11.07.08 15:49)

Чего тут не понятного IsStatus какие значения принимает?
CheckBox1.Checked:=IsStatus;

А мой пост это не для тебя...


 
Костик   (2008-07-11 16:10) [32]


> выпадет из цикла после первой же итерации
> зачем цикл тогда?

Вы уверены?

> Правильный*Вася   (11.07.08 15:56) [30]
>
> > if CheckBox1.Checked then  WriteStatus(True) else  WriteStatus(False);
>
>
> вторая милашка :)

Все такие умные стали....
Ану скажите пожалуйста:
вот написал

procedure TForm1.OnMinimizeProc(Sender: TObject);
begin
RxTrayIcon1.Active := True;
Form1.Hide;
end;

procedure TForm1.FormActivate(Sender: TObject);
begin
Application.OnMinimize := OnMinimizeProc;
if IsStatus then
 CheckBox1.Checked := true
else
 CheckBox1.Checked := false;
end;

только когда разворачиваю и з трэя то не могу опять свернуть, и разворачивает в окно за всеми активными окнами....
Как исправить что б нормально было?


 
Dennis I. Komarov ©   (2008-07-11 16:21) [33]

> Вы уверены?

Угу

> Все такие умные стали....

Думаю что за сегодня не сильно изменились...

> Как исправить что б нормально было?

Еще и Rx поставить...?
Ну объясняй каждую строчку своего кода


 
Костик   (2008-07-11 17:04) [34]

Ну  с брэйком я согласен... пропстил begin end;
Ну создаю лишний код .... ну я же новичок ё ма ё
)
> Еще и Rx поставить...?
> Ну объясняй каждую строчку своего кода

Вот забыл дописать:

procedure TForm1.RxTrayIcon1Click(Sender: TObject; Button: TMouseButton;
 Shift: TShiftState; X, Y: Integer);
begin
RxTrayIcon1.Active := False;
Form1.Show;
end;

Но все равно не понял что Вы имеете в виду?
> Еще и Rx поставить...?
> Ну объясняй каждую строчку своего кода


 
Игорь Шевченко ©   (2008-07-11 19:42) [35]

давить! оно потом банк-клиент будет писать


 
McSimm ©   (2008-07-11 20:08) [36]


> давить! оно потом банк-клиент будет писать


– Нет, конечно... – промямлил я. – Проделана большая работа... (Эдик схватился за голову.) Я, конечно, понимаю... добрые намерения... (Эдик посмотрел на меня с презрением.) Ну в самом деле, – сказал я, – человек старался... нельзя же так...
– Побойся бога, – отчетливо произнес Эдик.
– Нет... Ну что ж... Ну пусть человек работает, раз ему интересно...


:)


 
Denis__ ©   (2008-07-11 21:44) [37]

Удалено модератором


 
Костик   (2008-07-14 09:10) [38]

Удалено модератором


 
Костик   (2008-07-14 09:44) [39]


> давить! оно потом банк-клиент будет писать

если Вы сейчас уже не "оно" то это не значит что надо оскарблять других...

Как сделать чтобы программа нормально разворачивалась/сворачивалась трэй?


 
Dennis I. Komarov ©   (2008-07-14 09:50) [40]

Удалено модератором



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

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

Наверх




Память: 0.54 MB
Время: 0.049 c
10-1148780842
y307
2006-05-28 05:47
2008.08.17
Вызов GetActiveOleObject или CreateOleObject


15-1214399860
VingtQuatrieme
2008-06-25 17:17
2008.08.17
Единый Государственный Экзамен - это наступление американской


15-1214991525
Дебил какой-то
2008-07-02 13:38
2008.08.17
Где же винда хранит пароли от интернета ?


2-1215761892
Костик
2008-07-11 11:38
2008.08.17
Помогите написать "Уведомлятель"


4-1194334678
Mamed
2007-11-06 10:37
2008.08.17
Lan Card Disable





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