Pathoswithin wrote:Заняло больше времени, чем я думал.
А оно всегда так.
===================
Ну что?!.... Имена функций и входящие в них данные стандартизировать для ЯВУ будем ?... (хотя я было предлагал утвердить "всё до кучи", меняя лишь приставки к именам, ну да ладно...
)
Утверждать будем, на базе тех, что уже стандартизировали в этой теме? В ВерблюдКассе?
С именами входящих переменных и их типом (сразу)?... или может даже с содержимым (с кодом ) процедуры? С приставкой к имени функции или без ? Понятие "номерка" (цифрового ИД-процедуры) в реестре массива функций/процедур КОС у них должно быть ? Ну в смысле, типа "номерок" в массиве процедур:
(Вот только жаль функции нельзя присвоить в том массив процедур, и отдельный массив функций нельзя создать, в частности в Дельфи7)
Code: Select all
var procKOS: array [0..200] of procedure;
//{!!!нельзя} var funcKOS: array [0..200] of function;
procedure PutPixel; begin {....} end;
function Proba:byte; begin {....} end;
begin
procKOS[1]:=PutPixel;
//{!!!нельзя} procKOS[3]:=Proba;
end.
Будем утверждать и как функции и как процедуры ? Или в каком-то одном виде ?
Для начала вырезки того, что уже есть. Вырезки из (разных) kosSyst.cpp файлов попавшихся мне "на глаза"
Spoiler:
// функция 0
void kos_DefineAndDrawWindow(
Word x, Word y,
Word sizeX, Word sizeY,
Byte mainAreaType,
Dword mainAreaColour,
Byte headerType,
Dword headerColour,
Dword borderColour
)
// функция -1 завершения процесса
void kos_ExitApp()
// функция 1 поставить точку
void kos_PutPixel( Dword x, Dword y, Dword colour )
// функция 2 получить код нажатой клавиши
bool kos_GetKey( Byte &keyCode )
// функция 3 получить время
Dword kos_GetSystemClock()
// функция 4
void kos_WriteTextToWindow(
Word x,
Word y,
Byte fontType,
Dword textColour,
const char *textPtr,
Dword textLen
)
// функция 5 пауза, в сотых долях секунды
void kos_Pause( Dword value )
// функция 7 нарисовать изображение
void kos_PutImage( RGB * imagePtr, Word sizeX, Word sizeY, Word x, Word y )
// функция 8 определить кнопку
void kos_DefineButton( Word x, Word y, Word sizeX, Word sizeY, Dword buttonID, Dword colour )
// функция 9 - информация о процессе
Dword kos_ProcessInfo( sProcessInfo *targetPtr, Dword processID )
// функция 10
Dword kos_WaitForEvent()
// функция 11
Dword kos_CheckForEvent()
// функция 12
void kos_WindowRedrawStatus( Dword status )
// функция 13 нарисовать полосу
void kos_DrawBar( Word x, Word y, Word sizeX, Word sizeY, Dword colour )
// функция 17
bool kos_GetButtonID( Dword &buttonID )
// функция 23
Dword kos_WaitForEventTimeout( Dword timeOut )
// получение информации о состоянии "мыши" функция 37
void kos_GetMouseState( Dword & buttons, int & cursorX, int & cursorY )
// функция 40 установить маску событий
void kos_SetMaskForEvents( Dword mask )
// функция 47 вывести в окно приложения число
void kos_DisplayNumberToWindow(
Dword value,
Dword digitsNum,
Word x,
Word y,
Dword colour,
eNumberBase nBase,
bool valueIsPointer
)
// функция 70 доступ к файловой системе
Dword kos_FileSystemAccess( kosFileInfo *fileInfo )
// функция 63 вывод символя в окно отладки
void kos_DebugOutChar( char ccc )
// функция 66 режим получения данных от клавиатуры
void kos_SetKeyboardDataMode( Dword mode )
// вывод строки в окно отладки
void rtlDebugOutString( char *str )
// функция 64 изменение количества памяти, выделенной для программы
bool kos_ApplicationMemoryResize( Dword targetSize )
// функция 67 изменить параметры окна, параметр == -1 не меняется
void kos_ChangeWindow( Dword x, Dword y, Dword sizeX, Dword sizeY )
void kos_InitHeap() =?!?!?