Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > C++ Builder
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.12.2011, 21:31   #1
SevenXP
Пользователь
 
Регистрация: 17.09.2010
Сообщений: 44
По умолчанию C++ Builder не видит функции моего класса в чем проблема?

в unit2.cpp
После
TForm2 *Form2;
дописал
TGame *Game;

На форм креате не видет не 1 функции пишу Game->

листинг кода unit2.h

//---------------------------------------------------------------------------

#ifndef Unit2H
#define Unit2H
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
#include <ADODB.hpp>
#include <Buttons.hpp>
#include <DB.hpp>
#include <ExtCtrls.hpp>
#include <jpeg.hpp>
//---------------------------------------------------------------------------
class TForm2 : public TForm
{
__published: // IDE-managed Components
TImage *Image1;
TImage *Image2;
TImage *Image3;
TBitBtn *BitBtn1;
TBitBtn *BitBtn2;
TBitBtn *BitBtn3;
TBitBtn *BitBtn4;
TADOConnection *ADOConnection1;
TADOTable *ADOTable1;
TWideStringField *ADOTable1DSDesigner;
TWideStringField *ADOTable1type;
TWideStringField *ADOTable1vopros;
TWideStringField *ADOTable1v1;
TWideStringField *ADOTable1v2;
TWideStringField *ADOTable1v3;
TWideStringField *ADOTable1v4;
TWideStringField *ADOTable1otvet;
TWideStringField *ADOTable1path;
TLabel *Label1;
TLabel *Label2;
TTimer *Timer1;
TLabel *Label3;
TLabel *Label4;
private: // User declarations
public: // User declarations
__fastcall TForm2(TComponent* Owner);
};

class TGame{
int list[30],Nvop,vopros,colvop,time,sum;
void init();
void poiskvop();
void rastanovka(TTimer *Timer1,TADOTable *ADOTable1,TImage *Image2, TLabel *Label1, TLabel *Label2,TBitBtn *BitBtn1, TBitBtn *BitBtn2, TBitBtn *BitBtn3, TBitBtn *BitBtn4);
void otvet(AnsiString a,TADOTable *ADOTable1,TLabel *Label4); };

void TGame::init(){
time=30;
sum=0;
colvop=150;
Nvop=0;}

void TGame:oiskvop(){
randomize();
vopros=random(150);
if (vopros==0)
vopros=1;
int i;
for(i=1;i<30;i++)
if(list[i]==vopros){
vopros=random(150);
i=1;
}
list[Nvop]=vopros;
Nvop++; }

void TGame::rastanovka(TTimer *Timer1,TADOTable *ADOTable1,TImage *Image2, TLabel *Label1, TLabel *Label2,TBitBtn *BitBtn1, TBitBtn *BitBtn2, TBitBtn *BitBtn3, TBitBtn *BitBtn4){
int a;
randomize();
a=random(4);
ADOTable1->Filtered=false;
ADOTable1->Filter="¹="+QuotedStr(IntToStr(vop ros));
ADOTable1->Filtered=true;

if (ADOTable1->FieldByName("type")->AsString=='T') {
Image2->Picture->LoadFromFile("pic/back3.jpg");
Label1->Caption=ADOTable1->FieldByName("vopros")->AsString; }

if (ADOTable1->FieldByName("type")->AsString=='P') {
Image2->Picture->LoadFromFile(ADOTable1->FieldByName("path")->AsString);
Label2->Caption=ADOTable1->FieldByName("vopros")->AsString; }

if(a==0) {
BitBtn1->Caption=ADOTable1->FieldByName("v1")->AsString;
BitBtn2->Caption=ADOTable1->FieldByName("v2")->AsString;
BitBtn3->Caption=ADOTable1->FieldByName("v3")->AsString;
BitBtn4->Caption=ADOTable1->FieldByName("v4")->AsString;
}

if(a==1) {
BitBtn1->Caption=ADOTable1->FieldByName("v3")->AsString;
BitBtn2->Caption=ADOTable1->FieldByName("v2")->AsString;
BitBtn3->Caption=ADOTable1->FieldByName("v4")->AsString;
BitBtn4->Caption=ADOTable1->FieldByName("v1")->AsString;
}

if(a==2) {
BitBtn1->Caption=ADOTable1->FieldByName("v4")->AsString;
BitBtn2->Caption=ADOTable1->FieldByName("v3")->AsString;
BitBtn3->Caption=ADOTable1->FieldByName("v1")->AsString;
BitBtn4->Caption=ADOTable1->FieldByName("v2")->AsString;
}

if(a==3) {
BitBtn1->Caption=ADOTable1->FieldByName("v2")->AsString;
BitBtn2->Caption=ADOTable1->FieldByName("v1")->AsString;
BitBtn3->Caption=ADOTable1->FieldByName("v4")->AsString;
BitBtn4->Caption=ADOTable1->FieldByName("v3")->AsString;
}
Timer1->Enabled=true;
}

void TGame:tvet(AnsiString a,TADOTable *ADOTable1,TLabel *Label4){
if(a==ADOTable1->FieldByName("otvet")->AsString) {
sum+=(time*3);
Label4->Caption=IntToStr(sum);
poiskvop();

time=30;
}
else {
Label4->Caption=IntToStr(sum);
poiskvop();
time=30;
}

}




//Êîíåö êëàññà


//---------------------------------------------------------------------------
extern PACKAGE TForm2 *Form2;
//---------------------------------------------------------------------------
#endif



Скажите хотябы где создать процедуры и куда вписать глобальные переменные чет все забыл (( если с классом не получиться

Я писал переменные после __fastcall TForm2(TComponent* Owner); int time;
и на unit2.cpp писал после TForm2 *Form;

void init(){
time=30;}

но он ругаеться на time тип не видит в процедуре или как оно функция (( После ActivScript тяжко)


По классу пробовал еще писать так TGame *Game = new TGame; и все равно не видит не одной void __fastcall TForm2::FormCreate(TObject *Sender)
{
Game->init(); <- не нравиться((
}

Последний раз редактировалось SevenXP; 15.12.2011 в 21:40.
SevenXP вне форума Ответить с цитированием
Старый 18.12.2011, 19:46   #2
SevenXP
Пользователь
 
Регистрация: 17.09.2010
Сообщений: 44
По умолчанию

Cпасибо что не кто не помог проблема была в том что с доступом public работает нормально но я немного не понял чего с приватам вызвать не смог но и вроде понял
SevenXP вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обращение к из одной функции класса к другой того же класса,не указывая к какому объекту она относиться zipwind C++ Builder 1 09.04.2011 17:18
Классы.Не видит переменные из самого класса...Вилы=( Rid Общие вопросы Delphi 3 26.04.2010 12:32
Как мне из моего класса вывести сообщение? Utkin Общие вопросы Delphi 9 19.11.2009 14:43
Класс не видит обЪект Borland C++ Builder firefox0013 C++ Builder 11 01.10.2009 17:30
Чем различаются функции чтения класса istream C++ Go6a Помощь студентам 3 25.04.2008 11:04