Имя: Пароль:
   
LIFE
 
OFF: Воскресенье скукотище
0 skunk
 
18.01.04
09:47
1. Подскажите литературу, сам "билдер" и утилиты по АССЕМБЛЕРУ, очень охота научиться!!
2. Я программирую на Visual Studio NET на С++ -> подскажите как написать прогу, которая сначала демка, потом вводишь в программе S/N и она становится полной версией.
3. Помогите по WinApi. Когда создаешь консольное приложение, то там в функции main() можно указать аргументы(скажем файлы из которых беруться исходные данные) и определить их в свойствах проекта, т.е. будет main(arg_1,arg_2). Как это сделать в оконном приложении и где(думаю в WINAPI WinMain(...)?, но как).
Заранее всем спасибо - огромное человеческое!!

Немного юмора :)
1 fellow
 
18.01.04
10:42
Начну, пожалуй, с третьего вопроса, т.к. он самый простой.
У функции WinMain, которая вызывается системой как точка входа в приложение Win32, будь то консольное или оконное, имеется четыре параметра:
1 - hInstance - имеет тип HINSTANCE, задаёт хэндл (описатель) текущего экземпляра приложения.
2 - hPrevInstance - тоже тип HINSTANCE, задаёт хэндл предыдущего экземпляра. _Этот_параметр_всегда_нулевой_. Он достался в наследство от 16-битной Windows, где действительно определял уже выполняющийся экземпляр этого же приложения.
3 - lpCmdLine - имеет тип LPSTR, т.е. "длинный указатель на строку (ограниченную нулём)". Указывает на ограниченную нулём командную строку, причём имя программы из неё вырезано, оставлены только аргументы. Полностью всю командную строку можно получить функцией WinAPI GetCommandLine.
4 - nCmdShow - имеет тип int, указывает каким образом должно быть показано окно приложения.

Итак, lpCmdLine предоставляет приложению командную строку.
Лучший справочник по WinAPI - MSDN. Я бесконечно счастлив, что четыре года назад купил три диска с этой штукой.

--------------------------------------------------------

Вопрос второй.
Как реализовать расширение функциональности программы при вводе серийного номера.
Путей решения - великое множество. Например, если бы я решал подобную задачу с помощью объектной технологии, то я воспользовался бы, например, паттерном "Стратегия". Подробности смотрите в замечательной книге "Банды Четырёх" на http://anatolix.naumen.ru/books.htm (Это книга "Приёмы объектно-ориентированного проектирования, паттерны проектирования", авторы Гамма, Хелм, Джонсон, Влиссидес).
Кроме этого можно ввести блокировку на уровне компонентов пользовательского интерфейса. В билдеровской терминологии, на уровне обработчиков событий визуальных компонентов. Этот вариант делать проще, а модернизировать и переделывать в двадцать раз сложнее, как мне кажется.
Кроме того, можно в нете найти ещё уйму способов сделать нечто в этом духе.
Кстати, я тоже хочу попробовать Visual Studio NET, только у нас в городе не могу его найти.

---------------------------------------------------------

Вопрос первый.
Ну, литературу по С++ Builder можно посмотреть там же. А можно в ближайшем магазине. Сам я пользуюсь, изредка, печатной книгой Холингворта, Баттерфилда, Сворта, Оллсопа "C++ Builder 5, руководство разработчика" на русском языке.

---------------------------------------------------------

Интересное же у Вас, коллега, представление о воскресной скуке!!!
Я вот пивка взял, в пять вечера буду хоккей смотреть, наша команда будет с "Северсталью" биться.
2 skunk
 
18.01.04
10:48
Шутка получилась неудачной.
Лазил везде где не попадя наткнулся на это. Просто показалась забавным.
3 fellow
 
18.01.04
10:55
Да я, в общем, так и понял, что смеяться нужно после слова трактор.
4 skunk
 
18.01.04
12:26
я же говорю скукотище.
5 fellow
 
18.01.04
12:30
А как насчёт хоккея? Не передумали?
6 skunk
 
18.01.04
12:32
Не нравиться мне такое время провождение, да еще с НДС надо кучу каки переделывать. Хотя сердце не лежит, чует мое сердце все зря делаю.