Архив метки: Delphi

Запрет открытия определенного сайта в браузере

Решает задачу через файл hosts . [cc lang=”delphi” tab_size=”2″ line_numbers=”false” no_links=”false”] procedure TForm1.Button1Click(Sender: TObject); // Нажатие кнопки var myFile : TextFile; begin AssignFile(myFile, ‘C:\Windows\System32\drivers\etc\hosts’); // Открываем файл Append(myFile); WriteLn(myFile, ‘127.0.0.1 mail.ru’); // Записываем текст в файл CloseFile(myFile); // Закрываем end; [/cc]

Функция создания Базы Данных (Access)

[cc lang=”delphi” tab_size=”2″ line_numbers=”false” no_links=”false”] // uses comobj; function CreateDatabase(DatabaseName: string): boolean; var DBEngine, Workspace: Variant; const dbLangGeneral = ‘;LANGID=0x0409;CP=1252;COUNTRY=0’; dbVersion30 = 32; begin result := false; try try DBEngine := CreateOleObject(‘DAO.DBEngine.36’); except try {For DAO 3.5} DBEngine := CreateOleObject(‘DAO.DBEngine.35’); except raise; end; end; Workspace := DBEngine.Workspaces[0]; try Workspace.CreateDatabase(DatabaseName, dbLangGeneral, dbVersion30); except on e0: EOleException… Читать далее »

Ассемблерный код в Delphi

Начало ассемблерного кода – Asm Конец ассемблерного кода – end; Записать значение переменной “a” в регистр “eax” – mov eax,a // a:integer; Всего 4 32-х битных регистра eax,ebx,ecx,edx. 16-бит – ax,bx,cx,dx. 8 – бит – al,bl,cl,dl. Записать значение регистра “eax” в переменную “i” – mov i,eax // i:integer; Сложить два регистра “eax” и “ebx” и… Читать далее »

Работа с оперативной памятью

Вывести процент загруженности памяти –  GlobalMemoryStatus(mem);  ShowMessage(IntToStr(mem.dwMemoryLoad) + ‘ %’); // var mem: TMemoryStatus; Вывести размер физической памяти – GlobalMemoryStatus(mem);  ShowMessage(IntToStr((mem.dwTotalPhys) div 1024) + ‘ Кбайт’); // var mem: TMemoryStatus; Вывести размер свободной физической памяти – GlobalMemoryStatus(mem);  ShowMessage(IntToStr((mem.dwAvailPhys) div 1024) + ‘ Кбайт’); // var mem: TMemoryStatus; Вывести размер страничной памяти – GlobalMemoryStatus(mem);  ShowMessage(IntToStr((dwTotalPageFile) div… Читать далее »

Работа с указателем (мышь)

Переместить курсор мыши в точку скоординатами 1000,700  – setcursorpos (1000,700); Нажать программно левую кнопку мыши не отпуская ее – mouse_event(mouseeventf_leftdown,0,0,0,0); Отпустить левую кнопку мыши – mouse_event(mouseeventf_leftup,0,0,0,0); Нажать правую кнопку мыши не отпуская ее  – mouse_event(mouseeventf_rightdown,0,0,0,0); Отпустить правую кнопку мыши  – mouse_event(mouseeventf_rightup,0,0,0,0); Присвоить y координаты положения курсора по вертикали   – GetCursorPos(foo); y:= (foo.Y); // Не забудьте… Читать далее »

Программная логика для начинающих

Если x=2, то выполнить команду (вывод окна), если нет, то не выполнять её: [cc lang=”delphi” tab_size=”2″ line_numbers=”false” no_links=”false”] If x = 2 then ShowMessage(‘1 = 2’); // var x:Integer; [/cc] Выполнение блока команд, если x=1, если нет, то не выполнять: [cc lang=”delphi” tab_size=”2″ line_numbers=”false” no_links=”false”] If x=1 then begin ShowMessage(‘1-я команда’);  ShowMessage(‘2-я команда’); end; //… Читать далее »

Директивы компилятора

Показывать предупреждения компиляции – {$WARNINGS ON} Не показывать предупреждения компиляции – {$Warnings Off} Показывать подсказки компиляции – {$Hints On} Не показывать подсказки компиляции – {$Hints Off} Установить тип приложения консольным – {$AppType CONSOLE} Установить тип приложения графическим – {$AppType GUI} Присоеденить ресурс (форму) – {$R *.DFM}

Работа c Windows (API функции)

Вызов окна завершения работы Windows – SendMessage (FindWindow (‘Progman’, ‘Program Manager’), WM_CLOSE, 0, 0); Завершение работы – ExitWindows (EWX_ShutDown,0); Завершение работы (чуть пожестче) – ExitWindows (EWX_FORCE,0); Запустить панель управления – winexec(Pchar(‘rundll32 shell32,Control_RunDLL’),sw_Show); Открыть диалог “Выбор программы …” (‘Open With…’)  – winexec(Pchar(‘rundll32 shell32,OpenAs_RunDLL’),sw_Show); Открыть ‘About Window Window’  – winexec(Pchar(‘rundll32 shell32,ShellAboutA Info-Box’),sw_Show); Открыть диалог “Свойства: Экран” (Display… Читать далее »