кто шарит в C++builder[CLOSE]

nomad

Пишу программку на c++builder. Опыт этого дела у меня небольшой, и возник один практический вопрос. Вся проблема в том, что найти на него ответ через инет оказалось слишком геморно (проблема с формулировкой). Кто в гз может за сок/шоколадку посмотреть и подсказать как его решить. Думаю, для тех кто уже писал программы на builder-e это будет раз плюнуть.

yroslavasako

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

nomad

да вы все мАлАдцЫ, такие умные
Если кто-нибудь имеет опыт написания прог в с++builder - отзовитесь!

yroslavasako

имею. Вот и рекомендую тебе тренироваться и описать проблему сначала на форуме. Мы уже поможем наводящими вопросами

nomad

ОК, попробую сформулировать проблему.
При нажатии Button1Click считываем ячейку экселевского файла:

void __fastcall TForm1::Button1Click(TObject *Sender)
{
Label1->Caption=fromExcelCell(1,1);
}

Проблема в том, как задать fromExcelCell. По идее (изложенной в инете в .cpp файле должна появиться строчка:

variant__fastcall TForm1::fromExcelCell(int Row,int Column)
{
ля-ля-ля;
}

а в .h файле в соответствующем месте записанно:

private:
Variant__fastcall fromExcelCell(int Row,int Column);

Если переписать все это ручками, то ничего не работает (type name expected).
Если кто что понял - пишите.

fufa58

пробелы?

yroslavasako

fromExcelCell должен возвращать строку. У тебя ничего не возвращается.

Andbar

Что за вольности с регистром букв в идентификаторах?
Кстати, builder поддерживает COM на том-же уровне, что и Delphi?

Serab

пробелы?
почему минус поставили? действительно я не вижу пробела перед __fastcall, а он, как мне кажется, должен быть. Ну и как сказал , что за большие буквы? За всем этим текстом скрывается старый добрый C++, об этом не стоит забывать.
Он же тебе пишет «Type name expected»: нет такого типа Variant__fastcall, __fastcall — спецификация вызова функции (насколько помню, передача параметров через регистры)

Dasar

-а - с одной стороны, зря заминусовали, т.к. разумное зерно в его посте было, с другой стороны - заслуженно - т.к. он не разъяснил что значит "пробелы".
ты понимаешь, что вот между этими двумя словами должен быть пробел?
Variant__fastcall
и что в C++ важен регистр символов, и название написанное большими буквами, отличается от названия написанное маленькими буквами?
т.е. как минимум одно из этих слов variant написано неправильно.
variant__fastcall TForm1::fromExcelCell(int Row,int Column)
Variant__fastcall fromExcelCell(int Row,int Column)

Serab

и да, там выше при описании обработчика onclick есть пример правильного использования __fastcall, логично провести аналогию, затем обобщение... =)

nomad

После исправления всех перечисленных вами ошибок (большая буква, пробел, возвращаемый тип все заработало :D Спасибо!
Оставить комментарий
Имя или ник:
Комментарий: