Форум: "Начинающим";
Текущий архив: 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.046 c