Board.KolibriOS.org
http://board.kolibrios.org/

Delphi7 examples
http://board.kolibrios.org/viewtopic.php?f=33&t=3469
Страница 1 из 2

Автор:  0CodErr [ Сб фев 04, 2017 10:00 pm ]
Заголовок сообщения:  Delphi7 examples

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 КБ]
122 скачивания
Some examples and KolibriOS.lib:
Вложение:
KOSLib_Demo.7z [23.75 КБ]
121 скачивание
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 КБ | 3211 просмотров ]
{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 КБ | 3211 просмотров ]
{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.

Автор:  0CodErr [ Сб фев 11, 2017 11:43 pm ]
Заголовок сообщения:  Re: Delphi7 examples

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 КБ | 3159 просмотров ]
Source:
Вложение:
{6} DrawImage.7z [9.26 КБ]
89 скачиваний

Автор:  0CodErr [ Вс фев 19, 2017 11:47 pm ]
Заголовок сообщения:  Re: Delphi7 examples

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 КБ | 3092 просмотра ]
Source:
Вложение:
{7} SetPixel.7z [814 байт]
85 скачиваний

Автор:  0CodErr [ Пн май 15, 2017 2:12 pm ]
Заголовок сообщения:  Re: Delphi7 examples

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 КБ | 2697 просмотров ]


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

Автор:  0CodErr [ Сб май 27, 2017 3:44 pm ]
Заголовок сообщения:  Re: Delphi7 examples

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 КБ | 2619 просмотров ]

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

Автор:  0CodErr [ Вс июн 04, 2017 9:10 am ]
Заголовок сообщения:  Re: Delphi7 examples

Reading the contents of a folder in the console window.
Used functions: ReadFolder, LoadLibrary, GetProcAddress, ThreadTerminate.

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

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

Автор:  0CodErr [ Вс июн 11, 2017 9:24 pm ]
Заголовок сообщения:  Re: Delphi7 examples

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 КБ | 2526 просмотров ]

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

Автор:  0CodErr [ Пн июн 19, 2017 10:12 am ]
Заголовок сообщения:  Re: Delphi7 examples

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 КБ | 2475 просмотров ]

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

Автор:  0CodErr [ Пн июн 26, 2017 7:49 pm ]
Заголовок сообщения:  Re: Delphi7 examples

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 КБ | 2401 просмотр ]

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

Автор:  0CodErr [ Пт июл 07, 2017 9:27 pm ]
Заголовок сообщения:  Re: Delphi7 examples

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 КБ | 2355 просмотров ]

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

Автор:  0CodErr [ Чт сен 14, 2017 6:07 pm ]
Заголовок сообщения:  Re: Delphi7 examples

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 КБ | 2134 просмотра ]

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

Автор:  0CodErr [ Сб сен 23, 2017 11:18 am ]
Заголовок сообщения:  Re: Delphi7 examples

In this example a folder 'test_folder' is created on '/rd/1'.
Then in the folder you created a file is created 'test_file.txt'.
In the created file data is written 'Test100500'.
After that you can open 'test_file.txt' and find in it written data.
Used functions: CreateFolder, CreateFile, WriteFile, SetEventMask, GetScreenSize, WaitEvent, BeginDraw, DrawWindow, DrawButton, DrawText, EndDraw, GetButton, ThreadTerminate.

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

Source:
Вложение:
{16} CreateFolder, CreateFile, WriteFile.7z [1.36 КБ]
52 скачивания

Автор:  Siemargl [ Ср сен 27, 2017 9:15 pm ]
Заголовок сообщения:  Re: Delphi7 examples

Какого размера бинарники от Д7 получаются?

Автор:  0CodErr [ Ср сен 27, 2017 9:24 pm ]
Заголовок сообщения:  Re: Delphi7 examples

Siemargl, для примера приложение CoffDump viewtopic.php?f=9&t=3577
Сжатый kpaсk-ом: 1,91 КБ (1964 байта)
Несжатый: 3,72 КБ (3812 байтов)

Или самый первый пример {1} DrawWindow
Сжатый kpaсk-ом: 342 байта
Несжатый: 496 байтов

Автор:  Siemargl [ Ср сен 27, 2017 9:30 pm ]
Заголовок сообщения:  Re: Delphi7 examples

лучше по всем примерам прилагать. не было инфы - пришлось на хабре не упоминать (

Страница 1 из 2 Часовой пояс: UTC+03:00
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/