Поиск:

Ответ в темуСоздание новой темы Создание опроса
> *.h////*.cpp и другое, Немогу распараллелить код. 
V
    Опции темы
Alexandering
Дата 14.9.2008, 17:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Господа..помогите..(Все в BCB 6)
Создаю обычное Application
Но..Необходимо все различные функции описать в отдельном модуле. В Дельфи это делается оч. просто. А вот в BCB я че-т как-то растерян.
Я делаю следующее:
Помимо основного модуля(Unit1.cpp) я создаю Header *.h Вот в нем хочу сделать интерфейс для всех своих функций, А потом создаю CPP File *.cpp в котором уже пишу реализайию своих функций...
Но при таком подходе я имею кучу ошибок...
Допустим Header наз-ся Formyla.h. Дак вот в Unit1.cpp я пишу #include "Formyla.h" и пытаюсь в этом модуле (Unit1.cpp) использовать свои функции..Но можно ли так просто по имени к ним обращатья?? Если бы я там в Header`e описывал свой класс, то в Unit1.cpp создавал бы просто экземпляр этого класса, и уже работал с ним(Если описывать класс, и юзать функции этого класса, то все просто, но я же хочу просто функции, без всяких новых классов)...
И обЪясните мне технику создания, компилирования, сохранения...А то возникают ошибки, типа ******.obj (К сожалению текста ошибок не помню)...Потому как я часто замечал, что если я создаю Новое приложение, сразу его откомпилю, Потом сохраню на ж0ский, А потом буду добавлять новые хедеры, *.cpp. То вот после описания вот этих новых модулей, что в первую очередь необходимо сделать - 1)Сразу все откомпилить?? Или 2) Сначала все сохранить в одну папку и потом откомпилить?? Вот на этом этапе я всегда мучаюсь, потому как если сделаю в неправильной последовательности, возникает какая-то ошибка и потом ни че не помагает, кроме как все делать с начала, с нуля.
------------------------------------------------------
Надеюсь не утомил вас.
Прошу подробно ответить на каждый вопрос, какой усмотрите во всей этой вате.
Жду... (с) 
PM MAIL   Вверх
mrbrooks
Дата 14.9.2008, 21:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


трололомен
****


Профиль
Группа: Завсегдатай
Сообщений: 4259
Регистрация: 4.10.2006
Где: Дол Гулдур

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



надо добавить файлы в проект либо

1.File->New->Application
2.File->New->Unit
Сохраняем. 
в юните с формой (п.1) жмем alt-F11 - добавляем второй юнит (п.2). Делаем что хотим.

зы. берем книжку по борману и читаем. 
PM MAIL   Вверх
Dem_max
Дата 15.9.2008, 14:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1780
Регистрация: 12.4.2007

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



Пример у тебя есть проект, чтоб добавить к нему функции описанные в отдельном cpp нужно сделать:
1.  Создаешь MyFunc.h
в нем
int Print(int data);

и #include "MyFunc.h" в основном cpp проекта

2. Создаешь MyFunc.cpp
в нем
int Print(int data)
{

 return data;
}

и Project->Add to Project->MyFunc.cpp

Это для обычных функций, для класса немного подругому.


--------------------
Американские программисты долго не могли понять, почему русские при зависании Windоws всё время повторяют "Твой зайка написал" ("Yоur bunnу wrоte")
PM MAIL   Вверх
Alexandering
Дата 15.9.2008, 14:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Все...понял..
Спасибочки..))
PM MAIL   Вверх
Dem_max
Дата 15.9.2008, 15:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1780
Регистрация: 12.4.2007

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



Эт еще не все, вот тебе для класса,  работа..., не успел дописать пост
Language.h в нем:
Код

#ifndef LANGUAGE_H // Вот на эти команды препроцессора не забывай для классов.
#define LANGUAGE_H

class TGUITranslator
{

   int ItemCount;
   TCHAR *strText;

public:

   TGUITranslator(){ItemCount = 0;}
   ~TGUITranslator(){vControl.clear(); ItemCount = 0;}
   virtual BOOL Translate(int LangID);
   virtual BOOL GetTextItem(UINT CtrlID, int LangID, LPTSTR str);

protected:
   BOOL TranslateStatic(HINSTANCE hInstance, HWND pWnd, UINT CtrlStringID);
};
#endif


В Language.cpp пишем
Код

#include <windows.h>
#include <tchar.h>
#include "Language.h"


BOOL TGUITranslator::GetTextItem(UINT CtrlID, int LangID, LPTSTR str)
{
   UINT StrID = CtrlID + 10000 + LangID*1000;
   HINSTANCE hInstance = GetModuleHandle(NULL);
   LoadString(hInstance, StrID, str, MAX_TXT);
   return 0;
}

BOOL TGUITranslator::Translate(int LangID)
{
   PCONTROL_DATA pCtrlData = new CONTROL_DATA;

   HINSTANCE hInstance = GetModuleHandle(NULL);
   for (int i = 0; i < ItemCount; i++ )
   {
      pCtrlData = vControl[i];
      UINT StrID = pCtrlData->CtrlStringID + 10000 + LangID*1000;
      TCHAR *Txt_Message;
      Txt_Message = new TCHAR[50];
      wsprintf(Txt_Message, _T("StrID  %d"), StrID);
      //MessageBox(0, Txt_Message, _T("Ошибка:"), MB_OK);
      delete Txt_Message;
      switch(pCtrlData->CtrlType)// (pCtrlData->eType)
      {
      case STATIC: TranslateStatic(hInstance, pCtrlData->hWndCtrl, StrID); break;
      case BUTTON: TranslateButton(hInstance, pCtrlData->hWndCtrl, StrID); break;
      }
   }
   return 0;
}

BOOL TGUITranslator::TranslateStatic(HINSTANCE hInstance, HWND hWnd, UINT CtrlStringID)
{
    strText = new TCHAR[MAX_TXT];
    LoadString(hInstance, CtrlStringID, strText, MAX_TXT);
    SetWindowText(hWnd, strText);
    delete strText;
    return TRUE;
}




--------------------
Американские программисты долго не могли понять, почему русские при зависании Windоws всё время повторяют "Твой зайка написал" ("Yоur bunnу wrоte")
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

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

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

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

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


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

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


 




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


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

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