Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Написание функции 
:(
    Опции темы
Destrifer
Дата 3.12.2007, 00:12 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Код

#include <vcl.h>
#pragma hdrstop

#include "New.h"
void MyFunction(int qwe);
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
    : TForm(Owner)
{
void MyFunction(int qwe);
int a;
};
void TForm1::MyFunction(int qwe)
{
 switch(qwe)
 {
  case  1:       a = 123;
 }
 Edit1->Text = a;
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)
{
MyFunction(1);
}


пишет - "TForm1::MyFunction(int)' is not a member of 'TForm1" :(
Почему?

Это сообщение отредактировал(а) Destrifer - 3.12.2007, 00:48
PM MAIL   Вверх
Fazil6
Дата 3.12.2007, 00:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



что это за бред?
Код

__fastcall TForm1::TForm1(TComponent* Owner)
    : TForm(Owner)
{
void MyFunction(int qwe);
int a;
};

PM MAIL   Вверх
Destrifer
Дата 3.12.2007, 00:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Хороший вопрос)). А как это должно правильно выглядеть?
PM MAIL   Вверх
Fazil6
Дата 3.12.2007, 00:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Цитата(Destrifer @  3.12.2007,  00:35 Найти цитируемый пост)
Хороший вопрос)). А как это должно правильно выглядеть?

ну это зависит от того что ЭТО такое?
PM MAIL   Вверх
Destrifer
Дата 3.12.2007, 00:48 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Да это и не столь важно
В данном случае имеется одно поле ввода, и кнопка при нажатии на которую в него заносится значение "123".
Вопрос в том как это реализовать в виде функции.
PM MAIL   Вверх
orthrus
Дата 3.12.2007, 06:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 400
Регистрация: 30.10.2007
Где: г. Усть-Илимск(Ир кутская обл.)

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



То, что ты написал в конструкторе, т.е. вот это:

Код

void MyFunction(int qwe);
int a;


Надо перенести в описание класса TForm1, чтобы обьявление было внутри класса а не так как ты это сделал.

Это сообщение отредактировал(а) orthrus - 3.12.2007, 06:24


--------------------
У того, кто ничего не делает, всегда много помощников.© Л.Н. Толстой
user posted image
PM MAIL ICQ   Вверх
Diamido
Дата 3.12.2007, 08:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Код

#include <vcl.h>
#pragma hdrstop
#pragma package(smart_init)
#pragma resource "*.dfm"
#include "New.h"
TForm1 *Form1;
//------------------ сначало объявлям функцию (если глобальную хочешь сделать то тут или в *.h  файле)
void MyFunction(int qwe);
int a; // глобальные переменные тоже тут
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
    : TForm(Owner)
{
  
};
//----------------- Потом описывает тело функции
void TForm1::MyFunction(int qwe)
{
 switch(qwe)
 {
  case  1:       a = 123;
 }
 Edit1->Text = a;
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)
{
  MyFunction(1);  // вызываем там где нужна обработка
}


Вот так ты наверное хотел.
PM MAIL ICQ   Вверх
Destrifer
Дата 3.12.2007, 12:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Спасибо всем, однако, к сожалению, ошибка остается (18 строка) :((
PM MAIL   Вверх
Fazil6
Дата 3.12.2007, 12:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Цитата(Destrifer @  3.12.2007,  12:05 Найти цитируемый пост)
Спасибо всем, однако, к сожалению, ошибка остается (18 строка) :((

почитали бы вы какой-нибудь учебник по синтаксису С++
PM MAIL   Вверх
Destrifer
Дата 3.12.2007, 19:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Читаю конечно, но учебник односторонен, может кто подскажет по проблеме? smile 
PM MAIL   Вверх
zkv
Дата 3.12.2007, 19:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



****


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

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



Destrifer, учебник почитать тебе советуют не из-за того, что все тут вредные такие, 
просто не сможешь ты ничего сделать (эта проблема если решится, то тут же следующая появится) без знаний хотя бы основ языка.

здесь тебе перед использованием нужно объявить метод в классе:
Код

//предварительно в хедере TForm1
class TForm1 //...

  void MyFunction(int qwe);
};

//реализация (cpp-файл)
#include <vcl.h>
#pragma hdrstop
#pragma package(smart_init)
#pragma resource "*.dfm"
#include "New.h"
TForm1 *Form1;

//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
    : TForm(Owner)
{
  
};
//----------------- Потом описывает тело функции
void TForm1::MyFunction(int qwe)
{
 switch(qwe)
 {
  case  1:       a = 123;
 }
 Edit1->Text = a;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
  MyFunction(1);  // вызываем там где нужна обработка
}

PM MAIL   Вверх
Destrifer
Дата 3.12.2007, 19:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Спасибо zkv, буду долбить учебник дальше ))
PM MAIL   Вверх
scija
Дата 9.12.2007, 18:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Помогите написать программу построения у=arcsin x
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

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

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

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

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


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

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


 




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


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

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