Board.KolibriOS.org

Официальный форум KolibriOS
Текущее время: Чт сен 21, 2017 2:36 am

Часовой пояс: UTC+03:00




Начать новую тему  Ответить на тему  [ 11 сообщений ] 
Автор Сообщение
 Заголовок сообщения: Delphi7 examples
СообщениеДобавлено: Сб фев 04, 2017 10:00 pm 
Не в сети

Зарегистрирован: Вс окт 30, 2011 6:43 pm
Сообщения: 1009
Here are some Delphi7 examples of using wrappers to call system functions from KolibriOS.lib.
Also, it is possible to use FreePascal compiler i hope. Newer version is more compatible with Delphi.
The main goal is more convenient programming with KolibriOS API.

Tools needed:
Код:
dcc32   — Delphi compiler
omf2d   — utility for converting from Borland omf to Intel omf
link    — Microsoft linker
ld      — GNU linker
objcopy — utility to convert object files
Here omf2d utility just in case:
Вложение:
OMF2D.7z [40.7 КБ]
55 скачиваний
Some examples and KolibriOS.lib:
Вложение:
KOSLib_Demo.7z [23.75 КБ]
51 скачивание
It contains these 5 examples:
{1} Just a simple window.
Used functions: DrawWindow, GetScreenSize, WaitEvent, BeginDraw, EndDraw, GetKey, GetButton, ThreadTerminate.
Спойлер: Показать
Изображение
{2} When you click on the buttons the window caption changes.
Used functions: DrawButton, GetButton, SetWindowCaption, GetScreenSize, WaitEvent, BeginDraw, DrawWindow, EndDraw, GetKey, ThreadTerminate.
Спойлер: Показать
Вложение:
2.PNG
2.PNG [ 2.92 КБ | 1129 просмотров ]
{3} Press on the keyboard and text will be drawn in window.
Used functions: GetKey, DrawText, GetScreenSize, WaitEvent, BeginDraw, DrawWindow, EndDraw, GetButton, ThreadTerminate.
Спойлер: Показать
Вложение:
3.PNG
3.PNG [ 3.92 КБ | 1129 просмотров ]
{4} Load example.asm into console window.
Used functions: LoadFile, LoadLibrary, GetProcAddress, ThreadTerminate.
Спойлер: Показать
Изображение
{5} Show CurrentDirectory, AppPath and CmdLine in console window.
Used functions: GetCurrentDirectory, LoadLibrary, GetProcAddress, ThreadTerminate.

In the case of new examples they will be added to this topic below.


Вернуться к началу
 Заголовок сообщения: Re: Delphi7 examples
СообщениеДобавлено: Сб фев 11, 2017 11:43 pm 
Не в сети

Зарегистрирован: Вс окт 30, 2011 6:43 pm
Сообщения: 1009
DrawImage example.

Load 24 bits per pixel targa file and draw it into the window.
This image file is uncompressed and was saved with top to bottom pixel order.
Used functions: DrawImage, LoadFile, HeapCreate, SetCurrentDirectory, GetScreenSize, WaitEvent, BeginDraw, DrawWindow, EndDraw, GetKey, GetButton, ThreadTerminate.

Screenshot:
Спойлер: Показать
Вложение:
6.PNG
6.PNG [ 12 КБ | 1077 просмотров ]
Source:
Вложение:
{6} DrawImage.7z [9.26 КБ]
30 скачиваний


Вернуться к началу
 Заголовок сообщения: Re: Delphi7 examples
СообщениеДобавлено: Вс фев 19, 2017 11:47 pm 
Не в сети

Зарегистрирован: Вс окт 30, 2011 6:43 pm
Сообщения: 1009
Just a simple example. Drawing in the window with SetPixel function.
Used functions: SetPixel, BeginDraw, DrawWindow, EndDraw, WaitEvent, GetKey, GetButton, GetScreenSize, ThreadTerminate.

Screenshot:
Спойлер: Показать
Вложение:
7.PNG
7.PNG [ 2.66 КБ | 1010 просмотров ]
Source:
Вложение:
{7} SetPixel.7z [814 байт]
20 скачиваний


Вернуться к началу
 Заголовок сообщения: Re: Delphi7 examples
СообщениеДобавлено: Пн май 15, 2017 2:12 pm 
Не в сети

Зарегистрирован: Вс окт 30, 2011 6:43 pm
Сообщения: 1009
Show info about the thread with given slot in the console window.
Used functions: LoadLibrary, GetProcAddress, GetThreadInfo, ThreadTerminate.

Screenshot:
Спойлер: Показать
Вложение:
8.PNG
8.PNG [ 12.68 КБ | 615 просмотров ]


Source:
Вложение:
{8} GetThreadInfo.7z [1.15 КБ]
11 скачиваний


Вернуться к началу
 Заголовок сообщения: Re: Delphi7 examples
СообщениеДобавлено: Сб май 27, 2017 3:44 pm 
Не в сети

Зарегистрирован: Вс окт 30, 2011 6:43 pm
Сообщения: 1009
Draw the rectangle with a color of the pixel under the mouse.
Used functions: GetPixel, GetMousePos, DrawRectangle, GetScreenSize, SetEventMask, WaitEvent, BeginDraw, DrawWindow, DrawLine, EndDraw, GetButton, ThreadTerminate.

Screenshot:
Спойлер: Показать
Вложение:
9.PNG
9.PNG [ 2.79 КБ | 537 просмотров ]

Source:
Вложение:
{9} GetPixel.7z [865 байт]
8 скачиваний


Вернуться к началу
 Заголовок сообщения: Re: Delphi7 examples
СообщениеДобавлено: Вс июн 04, 2017 9:10 am 
Не в сети

Зарегистрирован: Вс окт 30, 2011 6:43 pm
Сообщения: 1009
Reading the contents of a folder in the console window.
Used functions: ReadFolder, LoadLibrary, GetProcAddress, ThreadTerminate.

Screenshot:
Спойлер: Показать
Вложение:
10.PNG
10.PNG [ 16.22 КБ | 500 просмотров ]

Source:
Вложение:
{10} ReadFolder.7z [959 байт]
8 скачиваний


Вернуться к началу
 Заголовок сообщения: Re: Delphi7 examples
СообщениеДобавлено: Вс июн 11, 2017 9:24 pm 
Не в сети

Зарегистрирован: Вс окт 30, 2011 6:43 pm
Сообщения: 1009
Reading image files with different bits per pixel values(4, 1, 24) and draw images in window.
Used functions: DrawImageEx, ReadFile, HeapCreate, HeapAllocate, SetCurrentDirectory, GetFileAttributes, GetScreenSize, WaitEvent, BeginDraw, DrawWindow, EndDraw, GetKey, GetButton, ThreadTerminate.

Screenshot:
Спойлер: Показать
Вложение:
11.PNG
11.PNG [ 16.49 КБ | 444 просмотра ]

Source:
Вложение:
{11} DrawImageEx.7z [10.58 КБ]
7 скачиваний


Вернуться к началу
 Заголовок сообщения: Re: Delphi7 examples
СообщениеДобавлено: Пн июн 19, 2017 10:12 am 
Не в сети

Зарегистрирован: Вс окт 30, 2011 6:43 pm
Сообщения: 1009
Launch application "TextEditor" with parameters for open "example.asm" in it. Also do minimize and restore "TextEditor" window.
Used functions: RunFile, MinimizeWindowByID, RestoreWindowByID, DrawText, GetScreenSize, WaitEvent, BeginDraw, DrawWindow, DrawButton, EndDraw, GetKey, GetButton, ThreadTerminate.

Screenshot:
Спойлер: Показать
Вложение:
12.PNG
12.PNG [ 2.7 КБ | 393 просмотра ]

Source:
Вложение:
{12} RunFile, MinimizeWindowByID, RestoreWindowByID.7z [1006 байт]
7 скачиваний


Вернуться к началу
 Заголовок сообщения: Re: Delphi7 examples
СообщениеДобавлено: Пн июн 26, 2017 7:49 pm 
Не в сети

Зарегистрирован: Вс окт 30, 2011 6:43 pm
Сообщения: 1009
Load 32 bit bitmaps(top to bottom pixel order) and use it as mouse cursors. Also draw these pictures on window. For this purpose Blit function is used.
Used functions: LoadCursorIndirect, SetCursor, Blit, DrawText, DrawButton, LoadFile, HeapCreate, SetCurrentDirectory, GetScreenSize, WaitEvent, BeginDraw, DrawWindow, EndDraw, GetKey, GetButton, ThreadTerminate.

Screenshot:
Спойлер: Показать
Вложение:
13.PNG
13.PNG [ 4.08 КБ | 319 просмотров ]

Source:
Вложение:
{13} LoadCursorIndirect, SetCursor.7z [1.76 КБ]
4 скачивания


Вернуться к началу
 Заголовок сообщения: Re: Delphi7 examples
СообщениеДобавлено: Пт июл 07, 2017 9:27 pm 
Не в сети

Зарегистрирован: Вс окт 30, 2011 6:43 pm
Сообщения: 1009
Get image of screen and draw it in the application window.
Used functions: GetScreenImage, DrawImage, GetSkinHeight, HeapCreate, GetScreenSize, HeapAllocate, WaitEvent, BeginDraw, DrawWindow, EndDraw, GetKey, GetButton, ThreadTerminate.

Screenshot:
Спойлер: Показать
Вложение:
14.PNG
14.PNG [ 72.08 КБ | 273 просмотра ]

Source:
Вложение:
{14} GetScreenImage.7z [1.14 КБ]
5 скачиваний


Вернуться к началу
 Заголовок сообщения: Re: Delphi7 examples
СообщениеДобавлено: Чт сен 14, 2017 6:07 pm 
Не в сети

Зарегистрирован: Вс окт 30, 2011 6:43 pm
Сообщения: 1009
This example writes the system date and system time to the console window and updates it periodically.
Used functions: LoadLibrary, GetProcAddress, GetSystemDate, GetSystemTime, Sleep, ThreadTerminate.

Screenshot:
Спойлер: Показать
Вложение:
SystemDate_SystemTime.PNG
SystemDate_SystemTime.PNG [ 7.6 КБ | 52 просмотра ]

Source:
Вложение:
{15} GetSystemDate, GetSystemTime.7z [928 байт]
0 скачиваний


Вернуться к началу
Показать сообщения за:  Поле сортировки  
Начать новую тему  Ответить на тему  [ 11 сообщений ] 

Часовой пояс: UTC+03:00


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Limited
Русская поддержка phpBB