Добавляем формы в компонент TPageControl.

Written by haker on 19.05.2012 Categories: Статья

Один из пользователей DevelStudio попросил меня показать как сделать отображение формы в компоненте TPageControl.
Я написал простую функцию для этих целей.
Пользуемся на здоровье!

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
function loadFormsToPages(TPageControl $page, $forms){
        if(!is_array($forms))
                return false;
        $s = sizeof($forms);
        for($i=0;$i<$s;$i++){
                $form = $forms[$i];
                if($form instanceof TForm)
                        $formsCap[] = $form->caption;
        }
        $page->pagesList = implode(_BR_,$formsCap);
        $pages = $page->pages();
        $s = sizeof($pages);
        for($i=0;$i<$s;$i++){
                $form = $forms[$i];
                if(!$form instanceof TForm)
                        continue;
                $form->parent = $pages[$i];
                $form->windowState = wsMaximized;
                $form->borderStyle = bsNone;
                $form->visible = true;
        }
};
/* Пример работы
 * В первый параметр передаем компонент TPageControl.
 * Во второй параметр передаем массив формы.
 * Для каждой формы создается вкладка и имя вкладки совпадает с именем формы.
 * Вот так все просто
 */
loadFormsToPages(c("pages1"), array(c("form2"), c("form3")));
function loadFormsToPages(TPageControl $page, $forms){
        if(!is_array($forms))
                return false;
        $s = sizeof($forms);
        for($i=0;$i<$s;$i++){
                $form = $forms[$i];
                if($form instanceof TForm)
                        $formsCap[] = $form->caption;
        }
        $page->pagesList = implode(_BR_,$formsCap);
        $pages = $page->pages();
        $s = sizeof($pages);
        for($i=0;$i<$s;$i++){
                $form = $forms[$i];
                if(!$form instanceof TForm)
                        continue;
                $form->parent = $pages[$i];
                $form->windowState = wsMaximized;
                $form->borderStyle = bsNone;
                $form->visible = true;
        }
};
/* Пример работы
 * В первый параметр передаем компонент TPageControl.
 * Во второй параметр передаем массив формы.
 * Для каждой формы создается вкладка и имя вкладки совпадает с именем формы.
 * Вот так все просто
 */
loadFormsToPages(c("pages1"), array(c("form2"), c("form3")));
Комментариев нет

[Расширение для DevelStudio] Memory v0.3.4 — Классы

Written by haker on 12.05.2012 Categories: Memory

Вот обновление расширение. Добавлены новые функции и классы для более простой работы.
К сожалению описывать лень, много писать придется. Поэтому смотрим сами.
Те кто понимает английский, поймет что к чему по названиям.

Классы:

  • mem - содержит функции расширения, которые не вошли в другие классы
  • processes - класс содержит функции для получения процессов
  • procHandleMngr — Менеджер Handle процессов, что лишние не создавать.
  • memory — Класс для работы с памятью процесса. Содержит в себе запись, чтение и поиск.
  • procedure — Класс для работы с процедурами. Скоро будет добавлен вызов процедур.
  • module — Класс для работы с модулем процесса.
  • modulesList — Класс для работы с множеством модулей.
  • process — Класс для работы с процессом.
  • processList — Класс для работы с определенными процессами (более одного).
  • processListAll — Класс для работы со всеми процессами.

Ссылка на расширение с классами: http://system-x-files.ru/files/php_memory.rar

Установка:

  • Распакуем «php_memory.rar».
  • Положить «php_memory.DLL» в папку «<Папка DevelStudio>\ext\».
  • Выбрать в настройках проекта->PHP Модули расширение «php_memory.DLL».
Комментариев нет

[Расширение для DevelStudio] Memory — Обновление v0.3.2

Written by haker on 07.05.2012 Categories: Memory

По просьбе Nebel(пользователя соц. сети Develnet) я добавил пару функций в расширение Memory.

Функции:

1
2
bool EmptyWorkingSet(int $hProcess);
int memoryGetUsage(int $hProcess);
bool EmptyWorkingSet(int $hProcess);
int memoryGetUsage(int $hProcess);

Описание:
EmptyWorkingSet — эффективно очищает не используемую память.
memoryGetUsage — альтернатива PHP функции memory_get_usage. И кстати данная функция не точна, ибо реальную потребляемую память все равно не определить…

Ссылка на расширение: http://system-x-files.ru/files/php_memory.rar

Установка:

  • Распакуем «php_memory.rar».
  • Положить «php_memory.DLL» в папку «<Папка DevelStudio>\ext\».
  • Выбрать в настройках проекта->PHP Модули расширение «php_memory.DLL».
Комментариев нет

[Расширение для DevelStudio] Memory — Обновление

Written by haker on 06.05.2012 Categories: Memory

Обновление Memory.

Добавлены функции:

1
2
3
4
5
6
7
8
9
10
int WaitForSingleObject(int $hHandle, int $dwMilliseconds);
int GetInterfaceMethod(int $interfaceHandle, int $offsetMethod);
int SizeOfType(int $typeVar /*смотрите в описании Write/ReadMemory*/);
void KeyDown(int $key);
void KeyUp(int $key);
void KeyStroke(int $key, int $bScan);
bool isKeyDown(int $key);
bool TerminateProcess(int $hProcess, int $uExitCode);
string GetIconModule(string $lpPathModule, int $Index);
string GetIconFile(string $lpPathFile, int $Index);
int WaitForSingleObject(int $hHandle, int $dwMilliseconds);
int GetInterfaceMethod(int $interfaceHandle, int $offsetMethod);
int SizeOfType(int $typeVar /*смотрите в описании Write/ReadMemory*/);
void KeyDown(int $key);
void KeyUp(int $key);
void KeyStroke(int $key, int $bScan);
bool isKeyDown(int $key);
bool TerminateProcess(int $hProcess, int $uExitCode);
string GetIconModule(string $lpPathModule, int $Index);
string GetIconFile(string $lpPathFile, int $Index);

Описание функций:
WaitForSingleObject
TerminateProcess
GetInterfaceMethod — Получить указатель на метод интерфейса. Первый параметр указатель на интерфейс. Второй номер метода.
SizeOfType - Получить размер типа в байтах. Типы из WriteMemory (см. тут).
KeyDown — Нажать клавишу $key.
KeyUp — Отжать клавишу $key.
KeyStroke — Кликнуть клавишу $key. Второй параметр — аппаратный скан код клавиши (передать ноль).
isKeyDown — Нажата ли клавиша $key.
GetIconModule — Получить иконку модуля (в том числе и EXE) в виде строки. Первый параметр — путь к модулю. Второй параметр — индекс иконки.
GetIconFile — Получить иконку файла в виде строки. Первый параметр — путь к файлу. Второй параметр — индекс иконки.

Ссылка на расширение: http://system-x-files.ru/files/php_memory.rar

Установка:

  • Распакуем «php_memory.rar».
  • Положить «php_memory.DLL» в папку «<Папка DevelStudio>\ext\».
  • Выбрать в настройках проекта->PHP Модули расширение «php_memory.DLL».
Комментариев нет

[Класс для DevelStudio] ChromeJS — Обновление

Written by haker on  Categories: ChromeJS

Обновление класса ChromeJS.
Что исправлено/добавлено:

  • Убран баг отсутствия результата функций при определенных условий
  • Улучшена  система перехвата ошибок
  • Генерация JS кода стала более адекватна
  • Изменен способ определения является ли данные объектом
  • Убраны бессмысленные строки кода

Класс: скачать

Комментариев нет

Видео демонстрация ChromeJS

Written by haker on 29.04.2012 Categories: ChromeJS

Комментариев нет

[Класс для DevelStudio] ChromeJS — Очень простая работа с JS компонентом Chromium

Written by haker on 28.04.2012 Categories: ChromeJS

Недавно начал писать аналог класса (полностью с нуля) V8JS от DENFER.
ChromeJS получился относительно простым(разнообразные способы получение одного результата и выбирай который лучше) и мощным по сравнению с классом V8JS.
Сейчас я расскажу о его основных фичах.
(далее…)

Комментарии (4)

[Расширение для DevelStudio] Memory

Written by haker on 14.04.2012 Categories: Memory

Относительно давно я писал расширение для работы с памятью.
И после того как выложил расширение Screenshot,решил доделать и его.
(далее…)

Комментарии (4)

[Devel Studio] Drag&Drop

Written by haker on  Categories: Все для DevelStudio

Один из пользователей Devel Studio хотел узнать «Как сделать Drag&Drop?».
Это статья как раз об этом.
(далее…)

Комментарии (8)

Хостинг сморозил глупость…

Written by haker on 11.04.2012 Categories: Новости блога

Всем  привет!

Вчера хостинг, которым я пользуюсь, решил походу переустановить сервер. Длилось это где то 15 минут.
Сегодня решил почитать БОР через свой скрипт (новость),но заметил, что вместо заветных цитат я скачал страницу с PHP кодом внутри… Я немного офигел, не уж то весь блог так?
Решил проверить, сначала просто перезалил файл, потом перенастроил права — не помогло…
Переименовал файл с bash.php в bashorg.php и заработало…
Судя по всему хостинг решил что скрипты с названием bash несут в себе СИЛУ ТЕМНОГО ВЛАСТЕЛИНА , из за которой взломать сайт будет проще…

Выяснилось что непонятно что у них там… И говорят что про имя bash они ничего не знают… Надеюсь они исправят :)

Так что теперь мобильная версия БОР по этому адресу:

http://system-x-files.ru/bashorg.php — Цитаты с главной
http://system-x-files.ru/bashorg.php?r — Случайные цитаты

Комментариев нет