Поиск:

Ответ в темуСоздание новой темы Создание опроса
> API для Builder, где найти? 
:(
    Опции темы
WhiteSpirit
Дата 10.11.2005, 09:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 242
Регистрация: 1.6.2005
Где: Челябинск

Репутация: нет
Всего: нет



Доброе время суток,
хотел бы научиться программированию на Api в Билдере,
подскажите рожалуйста ссылочки на литературу, статьи (желательно чтоб с примерами и на русском)


--------------------
To beer or no to beer
PM MAIL   Вверх
Dark Elf
Дата 10.11.2005, 10:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 576
Регистрация: 26.12.2003
Где: Брисбен

Репутация: нет
Всего: 10



http://anatolix.naumen.ru/Books/Win32?v=n8q

Кстати ты сайт http://anatolix.naumen.ru запомни - не раз пригодится smile


--------------------
PM MAIL WWW ICQ Skype GTalk Jabber MSN   Вверх
Vyacheslav
Дата 10.11.2005, 10:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2124
Регистрация: 25.3.2002
Где: Москва

Репутация: 47
Всего: 59



Что значит API. Если имеется интерфейс к среде,то в хелпе, если winapi то MSDN


--------------------
С уважением, Вячеслав Ермолаев
PM MAIL WWW ICQ   Вверх
bas
Дата 10.11.2005, 15:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 446
Регистрация: 14.8.2002
Где: Молдова, Кишинев

Репутация: нет
Всего: 2



Есть BDE API,WINAPI а об BCB API не слышал.
PM MAIL   Вверх
Neitron
Дата 10.11.2005, 15:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 580
Регистрация: 3.10.2005
Где: Москва

Репутация: нет
Всего: 5



bas
А оно есть smile
Интерфейс есть почти везде.


--------------------
Хороший программист никогда ничего не делает хорошо с первого раза. Он понимает важность патчей.
Ⓘ ⓁⒾⓀⒺ ⓂⓄⓏⒾⓁⓁⒶ
PM MAIL   Вверх
Vyacheslav
Дата 10.11.2005, 18:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2124
Регистрация: 25.3.2002
Где: Москва

Репутация: 47
Всего: 59



Если имеется в виду интерфейс к IDE C++Bulder, то открываем хелп, смотрим Tools API и пишем себе различные прибамбасы к IDE. Например свою форму с своими пропертями, добавляем пункты меню и пр. пр


--------------------
С уважением, Вячеслав Ермолаев
PM MAIL WWW ICQ   Вверх
WhiteSpirit
Дата 10.11.2005, 18:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 242
Регистрация: 1.6.2005
Где: Челябинск

Репутация: нет
Всего: нет



Vyacheslav Вот в это месте бы поподробнее где примеры то взять мона, да описанее поболее
--------------------
To beer or no to beer
PM MAIL   Вверх
bas
Дата 10.11.2005, 19:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 446
Регистрация: 14.8.2002
Где: Молдова, Кишинев

Репутация: нет
Всего: 2



Цитата(Vyacheslav @ 10.11.2005, 18:34)
то открываем хелп, смотрим Tools API
Подробней, у меня такого пункта нет BCB5.

PM MAIL   Вверх
Vyacheslav
Дата 11.11.2005, 09:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2124
Регистрация: 25.3.2002
Где: Москва

Репутация: 47
Всего: 59



Цитата(WhiteSpirit @ 10.11.2005, 18:51)
Vyacheslav Вот в это месте бы поподробнее где примеры то взять мона, да описанее поболее

Как создавать свою форму со своими событиями смотри здесь
http://bcdev.narod.ru/Articles/FMPropeties.htm
Как создать для этой формы визард используя API смотри здесь
http://bcdev.narod.ru/Articles/Expert.htm

Ну и небольшие примерчики
1) Получение интерфейса текущего проекта
http://bcdev.narod.ru/Code.htm#IOTAProject
2)Получение опций текущего проекта
http://bcdev.narod.ru/Code.htm#IOTAProjectOptions
Добавлено @ 09:28
Цитата(bas @ 10.11.2005, 19:25)
Цитата(Vyacheslav @ 10.11.2005, 18:34)
то открываем хелп, смотрим Tools API
Подробней, у меня такого пункта нет BCB5.

Может в пятом в хелпе такого и нет, но интерфейс точно есть. Визарды я для него лепил


--------------------
С уважением, Вячеслав Ермолаев
PM MAIL WWW ICQ   Вверх
Vyacheslav
Дата 11.11.2005, 09:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2124
Регистрация: 25.3.2002
Где: Москва

Репутация: 47
Всего: 59



Ну еще примеро

Так мы запускаем проект на компиляцию
Код

bool __fastcall TPluginModuleEditor::CompileProject(_di_IOTAProject a_Project)
{

    _di_IOTAProjectBuilder ProjectBuilder = a_Project->ProjectBuilder;
     return ProjectBuilder->BuildProject( cmOTAMake, true, false);
}


В моем проекте (и в данных в примерах) TPluginModuleEditor - это реализация своего редактора. В данном случае для моего собсвенного дата модуля, с которой работает IDE. Но точно также реализуется свой редактор и для формы Это класс наследник от TCustomModule

У меня на нее был навешен некий функционал
Код

class TPluginModuleEditor : public TCustomModule
{
    typedef TCustomModule inherited;
private:

    AnsiString m_OutputPath;
private:
    _di_IOTAProject __fastcall GetProject();
    AnsiString __fastcall GetPluginName(_di_IOTAProject a_Project);
    Variant __fastcall GetOptions(_di_IOTAProject, const AnsiString&);
    AnsiString __fastcall GetOutputPath(_di_IOTAProject);
    void __fastcall ModuleRegister(_di_IOTAProject a_Project);
    void __fastcall Registration(void);
    bool __fastcall CompileProject(_di_IOTAProject a_Project);
    void __fastcall FunctionsRegistration(const AnsiString&);
    void __fastcall OldFunctionsDelete(TAdsQuery*,TFunctions*);
    void __fastcall OldParamsDelete(TAdsQuery*, TParams*);
    void __fastcall FunctionRegistration(const AnsiString&, TAdsQuery*,TFunction*);
    void __fastcall ParamRegistation(const AnsiString&, TParam*, TAdsQuery*);
    void __fastcall ParamsRegistration(const AnsiString&, TParams*);
public:
    __fastcall virtual TPluginModuleEditor(Classes::TComponent* a_Root,
                                 const Designintf::_di_IDesigner a_Designer);
    __fastcall virtual ~TPluginModuleEditor(void){};
    virtual void __fastcall ExecuteVerb(int Index);
    virtual AnsiString __fastcall GetVerb(int Index);
    virtual int __fastcall GetVerbCount(void);
};




Соответствующий ей DataModulе с дополнительными published свойствами, выглядит вот так
Код

class PACKAGE TPluginModule : public TDataModule
{
    typedef TDataModule inherited;
private:
    TFunctions* m_Functions;
    TAdsConnection* m_MainConnection;
    TAdsConnection* m_WorkConnection;
private:
    HINSTANCE m_HModule;
    void __fastcall SetFunctions(TFunctions* value);
    TFunctions* __fastcall GetFunctions();
    TAdsConnection* __fastcall GetMainConnection();
    AnsiString __fastcall GetUser();
    AnsiString __fastcall GetPassword();
    AnsiString __fastcall GetConnectPath();
    bool __fastcall GetRunning();
    void __fastcall SetMainConnection(TAdsConnection* value);
    void __fastcall SetWorkConnection(TAdsConnection* value);
    TAdsConnection* __fastcall GetWorkConnection();
    void __fastcall SetHModule(HINSTANCE value);
    HINSTANCE __fastcall GetHModule();
protected:
    void __fastcall Notification(Classes::TComponent*, Classes::TOperation);
public:
    virtual __fastcall TPluginModule(TComponent* Owner, TAdsConnection* a_Connection);
    __fastcall ~TPluginModule(void);
public:
    void __fastcall Execute(const AnsiString&, TParams* Params, const AnsiString&);
    __property bool Running  = { read=GetRunning };
    __property AnsiString User  = { read=GetUser };
    __property AnsiString Password  = { read=GetPassword };
    __property AnsiString ConnectPath  = { read=GetConnectPath };
    __property HINSTANCE HModule  = { read=GetHModule, write=SetHModule };
__published:
    __property TFunctions* Functions = { read=GetFunctions, write=SetFunctions };
    __property TAdsConnection* MainConnection  = { read=m_MainConnection, write=m_MainConnection };
    __property TAdsConnection* WorkConnection  = { read=m_WorkConnection, write=m_WorkConnection };
};



А вот так в дизайн -пакадже он регистриуются
Код

          RegisterCustomModule(__classid(TPluginModule),__classid(TPluginModuleEditor));

А так региструется собственная форма при условии, что меня устраивает стандартный редактор формы
Код

          RegisterCustomModule(__classid(TModuleForm),__classid(TCustomModule));





--------------------
С уважением, Вячеслав Ермолаев
PM MAIL WWW ICQ   Вверх
WhiteSpirit
Дата 11.11.2005, 10:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 242
Регистрация: 1.6.2005
Где: Челябинск

Репутация: нет
Всего: нет



Вот спасибо. Тут уже есть что посмотреть и чему поучиться.
Можно скачать конечно готовые компоненты (XP и т.д.), но ведь охота самому научиться и разобратьсяsmile
--------------------
To beer or no to beer
PM MAIL   Вверх
Neitron
Дата 11.11.2005, 13:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 580
Регистрация: 3.10.2005
Где: Москва

Репутация: нет
Всего: 5



Я думаю что тебе нужно все же было Windows API
http://msdn.microsoft.com

Это сообщение отредактировал(а) Neitron - 11.11.2005, 13:03


--------------------
Хороший программист никогда ничего не делает хорошо с первого раза. Он понимает важность патчей.
Ⓘ ⓁⒾⓀⒺ ⓂⓄⓏⒾⓁⓁⒶ
PM MAIL   Вверх
WhiteSpirit
Дата 11.11.2005, 13:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 242
Регистрация: 1.6.2005
Где: Челябинск

Репутация: нет
Всего: нет



Извините за ламерство.

Если я не ошибаюсь вроде бы MSDN для MSVS.
А для билдера то же самое?
--------------------
To beer or no to beer
PM MAIL   Вверх
Neitron
Дата 11.11.2005, 14:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 580
Регистрация: 3.10.2005
Где: Москва

Репутация: нет
Всего: 5



WhiteSpirit
MSDN для С++
по большей части.
Но там и для басика примеры есть и для только для VC++ и много других.
Ты забываешь, что реализация всегда имела маленькое значение. Самое главное язык то один.

Это сообщение отредактировал(а) Neitron - 11.11.2005, 14:27


--------------------
Хороший программист никогда ничего не делает хорошо с первого раза. Он понимает важность патчей.
Ⓘ ⓁⒾⓀⒺ ⓂⓄⓏⒾⓁⓁⒶ
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C++ Builder | Следующая тема »


 




[ Время генерации скрипта: 0.1101 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.