А-а-а-а вот оно что...Pathoswithin wrote:Вообще-то я и предлагал, чтобы Background была структурой с полями.
Ну допустим, можно и так!Pathoswithin wrote:Общее правило английского языка: сначала "чего?", потом "что?". Либо kernel version, либо version of the kernel.
ну можно начинать с «B” да и цифры есть.Pathoswithin wrote: Буква А в конце названия обычно означает ascii версию функции, W в конце — UTF-16.
==========================
Так, ребята! Давайте все внимательно определимся и сосредоточимся на том, что мы делаем для кого мы это делаем и зачем мы это всё делаем. Мы принимаем стандартизацию в названии процедур и функций КОС. Для кого и для чего?! Для программистов желающих, реализовать, что-то связанное с КОС и для пользователей желающих использовать это.
И вот тут пошли немного разногласия и непонимания, мол что из себя представляет это имя?! По-моему, Pathoswithin, писал, что несложно вписать в inc “привязку” имени к цифре ит .д. Я пишу, что имя функции это не сама цифра(костанта), а макрос или процедура или... или... и т.д.
Тут вот еще и «впуталось» что можно и даже нужно делать в виде структур.
Ребята, имя, точнее выражаясь КОРНЕВОЕ ИМЯ, или даже КЛЮЧЕВОЕ ИМЯ (думаю так будет правильно)! это как бы правильно выразится что-то (абстрактное ?!?!) «завязанное» на отношение к той функции КОС, т. е. это может быть всё что угодно, константа, макрос, процедура функции, ну и вхожее в структуру если так уж!
Итак, если утвердить, КЛЮЧЕВОЕ ИМЯ, то приставки (или окончания) к этому корневому имя будут означать, что именно это имя из себя представляет и как его использовать.
Допустим утверждаем приставку
«c» - контсанта
“fk” прямой вызов процедуру ( mov eAx... int 40)
“t” - как объект,(например).
а само КОРНЕВОЕ ИМЯ, в свою очередь — это процедура, функция или макрос (по моему это всё до кучи можно)
Ну и вот допустим...
Как-то так.Является программист (пусть даже такой паршивенький как я ) и думает: Я вот хочу написать визуализатор (эмулятор), среду программирования, среду использования, еще чего-то.... с реализацией или использованием, каких-то функций КОС. Стандартная документация нам говорит: что у каждой процедуры есть номер (цифра)! Кого-то это вполне устраивает!
Но кто-то скажет: да не-е-е-еет... мне эти циферки неудобны, как бы мне функцию которая «Deactivate Window», вызывать как имя, а не как цифру, можно ли так?... ответ: да вот оно: сDeactivateWindow — константа, используй её как константу и делай mov eAx, сDeactivateWindow int 40 и даже если это нигде в коде, не прописано, стандарт, то принят, и неважно кто и как и когда и где это пропишет (или вообще не собирается это делать) всё равно ведь сDeactivateWindow считается константой которая привязана к цифре (номеру этой процедуры).
Еще один «кадр» скажет, - да не-е-е-е-еет... я хочу процедуру вызвать как имя, а не вписывать имя-константу в mov!... - Так её можно вызвать, вот так: fkDeactivateWindow. И опять же не важно реализовано это или нет, но если кто-то захочет реализовать, то он будет знать, что делать, чтобы по стандарту, который все понимают!
Является еще один «кадр» и говорит: да не-е-е-е-е-е.... это всё это хорошо, что можно использовать ваши процедуры и так и сяк, а вот я, программирую, всё таки в ЯВУ, и хотелось бы использовать как полноценную процедуру ЯВУ, с понятной передачей данных, а не данные преобразовывать в «регистры»?! - Да вот, пожалуйста, - DeactivateWindow(параметры), и если она даже не написана, то опять же, - стандарт её имени принят, напиши её, а имя уже готово, согласно стандарту, который понятен всем, - и тем кто пишет и тем кто это использует!
Но тут еще один «кадр» является: а как бы мне использовать эту процедуру через структуры такое есть ? - Да! Пожалуйста, вот — System.DeactivateWindow, вызов через структуру, да и со структурой можешь ознакомится вот «там то», в стандарты прописана, правда не всё в ней реализовано, но в случае желания или необходимости, всё знают, что да как реализовывать, ну в смысле согласно стандартам!
Является «кадр будущего»: а как бы мне.... Ответ: ну такого у нас еще нету, но мы сейчас прямо мигом впишем в стандарт, - к КЛЮЧЕВОМУ имени приставка «j” и будет то что ты просил! А процедура Deactivate Window будет называться jDeactivateWindow! КЛЮЧЕВЫЕ имена, то, ведь уже давно готовы, стандартизированы!
Всё я это к тому, что должно быть КЛЮЧЕВОЕ ИМЯ, в данном случаем оно "DeactivateWindow", которое надо принять в стандарт, а также стандартизировать приставки («c» - контсанта, “fk” прямой вызов процедуру ( mov eAx... int 40), “t” - как объект,(например). ) к ключевым именам, которые будут определять, что это такое и как его использовать! Да и само то ключевое имя можно ведь тоже использовать, без приставок!
И вот получается:
ключевое имя процедуры:DeactivateWindow
константа процедуры: cDeactivateWindow
Прямой вызов процедуры: fkDeactivateWindow
Вызов, (с определённой передачей параметров, как в ЯВУ): DeactivateWindow(параметры) (тут имя используется ключевое без приставок к имени)
Как объект: tDeactivateWindow
Использование в будущем: jDeactivateWindow
И КАК ВИДИТЕ ВСЕ ЭТО "ЗАВЯЗАНО" НА КЛЮЧЕВОЕ ИМЯ, в данном случае это имя DeactivateWindow, и само имя определяет лишь свою принадлежность к какой-то процедуре КОС!
Может я ошибаюсь, что подобное можно сделать и стандартизировать, "одним махом" для всего (константы, прямые процедуры, процедуры с определённой передачей параметров ?