![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 14.04.2010
Сообщений: 9
|
![]()
Сворачивается в трей нормально, разворачивается тоже, все работает отлично кроме одного но. Когда вводится неверный пароль или логин, выскакивает окно (Как и было запрограммировано) об ошибке с просьбой ввести правильные данные, но при закрытии этого сообщения, программа исчезает, нигде нет, кроме процессов. Где ошибка? Единственное что исправил, стандартную иконку. не смерку поставил а другую
Если в этом ошибка, то как исправить? Вот код: unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ImgList, ExtCtrls, StdCtrls, XPMAN, Menus, shellapi; type TForm1 = class(TForm) Image1: TImage; Button1: TButton; Edit1: TEdit; Edit2: TEdit; Memo1: TMemo; Label1: TLabel; Label2: TLabel; Label3: TLabel; Label4: TLabel; Image2: TImage; Label5: TLabel; procedure Button1Click(Sender: TObject); procedure FormKeyPress(Sender: TObject; var Key: Char); procedure Image2Click(Sender: TObject); procedure FormCreate(Sender: TObject); private { Private declarations } Procedure WindowMessage(Var Msg:TMessage); message WM_SYSCOMMAND; Procedure MouseClick(var Msg:TMessage); message WM_USER+1; public { Public declarations } procedure ActionIcon(n:Integer;Icon:TIcon); Procedure OnMinimizeProc(Sender:TObject); end; var Form1: TForm1; implementation uses Unit2; {$R *.dfm} procedure TForm1.ActionIcon(n:Integer;Icon:TI con); Var Nim:TNotifyIconData; begin With Nim do // Çàïîëíÿåì ñòðóêòóðó Nim…. Begin cbSize:=SizeOf(Nim); // Ðàçìåð Wnd:=Form1.Handle; // Õåíäë íàøåãî ïðèëîæåíèÿ(îêíà) uID:=1; uFlags:=NIF_ICON or NIF_MESSAGE or NIF_TIP; hicon:=Icon.Handle; // Õåíäë ïåðåäàâàåìîé â ïðîöåäóðó èêîíêè uCallbackMessage:=wm_user+1; szTip:='Ñîîáùåíèå ïîÿâëÿþùååñÿ ïðè íàâåäåíèè'; End; Case n OF // Äåéñòâèÿ âûïîëíÿåìûå ïðîöåäóðîé 1: Shell_NotifyIcon(Nim_Add,@Nim); 2: Shell_NotifyIcon(Nim_Delete,@Nim); 3: Shell_NotifyIcon(Nim_Modify,@Nim); End; end; Procedure TForm1.WindowMessage (Var Msg:TMessage); Begin IF Msg.WParam=SC_MINIMIZE then Begin ActionIcon (1,Application.Icon); // Äîáàâëÿåì çíà÷îê â òðåé ShowWindow(Handle,SW_HIDE); // Ñêðûâàåì ïðîãðàììó ShowWindow(Application.Handle,SW_HI DE); // Ñêðûâàåì êíîïêó ñ TaskBar'à End else inherited; End; Procedure TForm1.OnMinimizeProc(Sender:TObjec t); Begin PostMessage(Handle,WM_SYSCOMMAND,SC _MINIMIZE,0); End; procedure TForm1.MouseClick(var Msg:TMessage); Var p:tpoint; begin GetCursorPos(p); // Çàïîìèíàåì êîîðäèíàòû êóðñîðà ìûøè(ñì. P/S) Case Msg.LParam OF // Ïðîâåðÿåì êàêàÿ êíîïêà áûëà íàæàòà WM_LBUTTONUP,WM_LBUTTONDBLCLK: {Äåéñòâèÿ, âûïîëíÿåìûé ïî îäèíàðíîìó èëè äâîéíîìó ùåë÷êó ëåâîé êíîïêè ìûøè íà çíà÷êå} Begin ActionIcon (2,Application.Icon); // Óäàëÿåì çíà÷îê èç òðåÿ ShowWindow(Application.Handle,SW_SH OW); // Âîññòàíàâëèâàåì êíîïêó ïðîãðàììû ShowWindow(Handle,SW_SHOW); // Âîññòàíàâëèâàåì îêíî ïðîãðàììû End; End; end; procedure TForm1.FormCreate(Sender: TObject); begin Application.onMinimize:=OnMinimizeP roc; end; procedure TForm1.Button1Click(Sender: TObject); var dir, login, password: string; a,i: integer; dostup: boolean; begin dostup:= false; getdir(0,dir); dir:=dir+'\pass.txt'; Memo1.Lines.LoadFromFile(dir); a:= Memo1.Lines.Count; for i:=0 to a-1 do begin login:= copy(Memo1.Lines[i],0,pos(':',Memo1.Lines[i])-1); password:=copy(Memo1.Lines[i],pos(':',Memo1.Lines[i])+1, length(Memo1.Lines[i])); if (Edit1.Text=login) and (Edit2.Text=password) then dostup:= true else showmessage('Ââåäèòå ïàðîëü è ëîãèí!'); end; if dostup then Form2.Show; Form1.Visible:= False; end; procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char); begin if key=#13 then button1.Click; end; procedure TForm1.Image2Click(Sender: TObject); begin Application.Terminate; end; end. Последний раз редактировалось spaun88; 25.04.2010 в 10:14. |
![]() |
![]() |
![]() |
#3 |
Регистрация: 14.04.2010
Сообщений: 9
|
![]()
вот исходник
|
![]() |
![]() |
![]() |
#5 |
Регистрация: 14.04.2010
Сообщений: 9
|
![]()
хм..вроде верно все положил туда. Нет компилируются.. а ну там не хватает многих юнитов) просто не стал их выкладывать, а то размер большой получается. Нашел я проблему. она в строчке Form1.Visible:=False; Вот из за неё. Вопрос теперь по другом стоит
![]() |
![]() |
![]() |
![]() |
#7 |
Ищу работу
Форумчанин
Регистрация: 16.02.2007
Сообщений: 269
|
![]() Код:
Пишу на Delphi все что угодно, недорого, красиво, с комментариями
###icq 107335###
|
![]() |
![]() |
![]() |
#8 |
Пользователь
Регистрация: 30.03.2010
Сообщений: 23
|
![]()
form.destroy;//тоже уничтожение
просто слово destroy лучше free звучит ![]()
Император всё видит... Император всё знает...
|
![]() |
![]() |
![]() |
#9 |
Ищу работу
Форумчанин
Регистрация: 16.02.2007
Сообщений: 269
|
![]()
зато работает хуже)
Пишу на Delphi все что угодно, недорого, красиво, с комментариями
###icq 107335###
|
![]() |
![]() |
![]() |
Опции темы | Поиск в этой теме |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Не пойму что не правельно ...(С++) | exKenny | Помощь студентам | 38 | 06.03.2010 16:51 |
не пойму с запросом | kaizer131 | Microsoft Office Access | 8 | 23.03.2009 22:27 |
Не пойму по поводу Windows | Jantar | Windows | 19 | 24.02.2009 08:20 |
Не пойму чо так | Cricket2007 | Помощь студентам | 5 | 15.05.2008 01:17 |