Архив метки: 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… Читать далее »