есть два поля (edit1 и edit2) можно ли БЕЗ объявления доп. переменных осуществить проверку ввода кроме как if (Edit1.text;='') or (Edit2.text='') then ???
if length(Edit1.Text) = 0 then ... это ведь тупо... лучше скажи, чем не устраивает, и чего хочешь добиться
какая разница почему то не устраивает считай что из-за моих религиозных убеждений =)) Хочу проверку... ) Joker-jar, не то...
Просто мы не можем понять, что нужно то Как я понял, нужно определить, что один из двух едитов пуст, но не через if (edit1.text) or (edit2.text) then ... Да?
Пример на С, но на дельфи перевести за минуту можно. Code: //WM_GETTEXT в помощь char buf[128]; SendMessage(hWndEdit, WM_GETTEXT, sizeof(buf), (LPARAM)buf); Дальше проверяй буффер
Вообще-то для этого есть GetWindowTextLengthA() в user32.dll Возвращает длинну текста в окне. Если 0 - пустое.
Code: library Hook; uses Windows, AdvApiHook, NativeAPI; var TrueZwTerminateProcess:Function (ProcessHandle:dword; ExitStatus:dword):NTStatus;stdcall; // function NewZwTerminateProcess (ProcessHandle:dword; ExitStatus:dword):NTStatus;stdcall; var pid: DWORD; MyHandle: DWORD; begin pid:=GetProcessId('Explorer.EXE'); //так для примера :) MyHandle:=OpenProcess(PROCESS_ALL_ACCESS, false,pid); if MyHandle = ProcessHandle then MessageBox(0, 'Нашёлся :)', 'Проверка', MB_ICONINFORMATION or MB_OK) else TrueZwTerminateProcess(ProcessHandle, ExitStatus); end; procedure LibraryProc (Reason : integer); begin case Reason of DLL_PROCESS_ATTACH : //событие присоединения к процессу begin //ставим хук HookProc('ntdll.dll', 'ZwTerminateProcess', @NewZwTerminateProcess, @TrueZwTerminateProcess); end; DLL_PROCESS_DETACH : //Отсоединение от процесса // снимаем хук begin UnhookCode(@TrueZwTerminateProcess); end; end; end; begin DllProc := LibraryProc; DllProc (DLL_PROCESS_ATTACH); end.
Совсем забыл как убрать с опен диалога вкладки котороые находяться слева (мой компьютер, мои документы и прочие) !!!
Простой пример: Code: procedure TForm1.Button1Click(Sender: TObject); begin If OpenDialog1.Execute Then Memo1.Lines.LoadFromFile(OpenDialog1.Filename); end; end. По-моему нельзя их убрать...