| 
 | 
  
кто шарит в C++builder[CLOSE]
 
 
 
 
 
20.03.2009 19:16 
 | 
 | 
 
 
 | 
 
Пишу программку на c++builder. Опыт этого дела у меня небольшой, и возник один практический вопрос. Вся проблема в том, что найти на него ответ через инет оказалось слишком геморно (проблема с формулировкой). Кто в гз может за сок/шоколадку посмотреть и подсказать как его решить. Думаю, для тех кто уже писал программы на builder-e это будет раз плюнуть.
 
 
  
 | 
 
НИИЧАВО  |  
 
 | 
| 
ayvango
 | 
 
| 
ушастый
 | 
 
| 
  
 | 
 
| 
 
 | 
 
 
 
 | 
 
| 
Рег.:  10.01.2006
 | 
 
| 
Сообщений: 27732
 | 
 
| 
Из:  Воронеж
 | 
 
| 
Рейтинг: 11833
 | 
 
 
 | 
 | 
 
тренируйся формулировать тут. Могу сразу подсказать, что билдеровский вариант языка ни в коей мере не удовлетворяет стандарту
 
 
  
 | 
 
Сеть темна и полна ужасов  |  
 
 | 
| 
 | 
  
 кто шарит в C++builder
 
 [re: *NONE*]
 
 
 
 
20.03.2009 21:20 
 | 
 | 
 
 
 | 
 
да вы все мАлАдцЫ, такие умные
  Если кто-нибудь имеет опыт написания прог в с++builder - отзовитесь!
  Перенесено модератором DarkGray из ветки в разделе Development
  Присоединено модератором DarkGray
 
 
 
 
  Редактировал DarkGray (20.03.2009 23:41)
 | 
 
НИИЧАВО  |  
 
 | 
| 
ayvango
 | 
 
| 
ушастый
 | 
 
| 
  
 | 
 
| 
 
 | 
 
 
 
 | 
 
| 
Рег.:  10.01.2006
 | 
 
| 
Сообщений: 27732
 | 
 
| 
Из:  Воронеж
 | 
 
| 
Рейтинг: 11833
 | 
 
 
 | 
 | 
 
имею. Вот и рекомендую тебе тренироваться и описать проблему сначала на форуме. Мы уже поможем наводящими вопросами
 
 
  
 | 
 
Сеть темна и полна ужасов  |  
 
 | 
| 
 | 
  
Re: кто шарит в C++builder
 
 [re: ayvango]
 
 
 
 
20.03.2009 21:42 
 | 
 | 
 
 
 | 
 
ОК, попробую сформулировать проблему.
  При нажатии Button1Click считываем ячейку экселевского файла:
 code: 
void __fastcall TForm1::Button1Click(TObject *Sender)
{
        Label1->Caption=fromExcelCell(1,1);
}
  
  Проблема в том, как задать fromExcelCell. По идее (изложенной в инете), в .cpp файле должна появиться строчка:
 code: 
variant__fastcall TForm1::fromExcelCell(int Row,int Column)
{
   ля-ля-ля;
}
   а в .h файле в соответствующем месте записанно:
 code: 
private:	
        Variant__fastcall fromExcelCell(int Row,int Column);
   Если переписать все это ручками, то ничего не работает (type name expected). Если кто что понял - пишите.
 
 
  
 | 
 
НИИЧАВО  |  
 
 | 
| 
Thirteen
 | 
 
| 
ጷ
 | 
 
| 
  
 | 
 
| 
 
 | 
 
 
 
 | 
 
| 
Рег.:  28.02.2005
 | 
 
| 
Сообщений: 10082
 | 
 
| 
 | 
 
| 
Рейтинг: 6754
 | 
 
 
 | 
 | 
 
пробелы?
 
 
  
 | 
 
улыбаемся и машем  |  
 
 | 
| 
ayvango
 | 
 
| 
ушастый
 | 
 
| 
  
 | 
 
| 
 
 | 
 
 
 
 | 
 
| 
Рег.:  10.01.2006
 | 
 
| 
Сообщений: 27732
 | 
 
| 
Из:  Воронеж
 | 
 
| 
Рейтинг: 11833
 | 
 
 
 | 
 | 
 
fromExcelCell должен возвращать строку. У тебя ничего не возвращается.
 
 
  
 | 
 
Сеть темна и полна ужасов  |  
 
 | 
| 
Rad
 | 
 
| 
delinquent guy
 | 
 
| 
  
 | 
 
| 
 
 | 
 
 
 
 | 
 
| 
Рег.:  06.09.2005
 | 
 
| 
Сообщений: 17291
 | 
 
| 
Из:  here and there
 | 
 
| 
Рейтинг: 2232
 | 
 
 
 | 
 | 
 
Что за вольности с регистром букв в идентификаторах?
  Кстати, builder поддерживает COM на том-же уровне, что и Delphi?
 
 
  
 | 
 
 |  
 
 | 
| 
unkulunkulu
 | 
 
| 
unkulunkulunkulu
 | 
 
| 
  
 | 
 
| 
 
 | 
 
 
 
 | 
 
| 
Рег.:  12.11.2006
 | 
 
| 
Сообщений: 18453
 | 
 
| 
Из:  13000
 | 
 
| 
Рейтинг: 11759
 | 
 
 
 | 
 | 
 
Quote:
  пробелы?
 
 
  почему минус поставили? действительно я не вижу пробела перед __fastcall, а он, как мне кажется, должен быть. Ну и как сказал Rad, что за большие буквы? За всем этим текстом скрывается старый добрый C++, об этом не стоит забывать. Он же тебе пишет 'Type name expected': нет такого типа Variant__fastcall, __fastcall - спецификация вызова функции (насколько помню, передача параметров через регистры)
  
 | 
 
 
 | 
DarkGray 
 | 
 
| 
Carpal Tunnel
 | 
 
| 
  
 | 
 
| 
 
 | 
 
 
 
 | 
 
| 
Рег.:  30.09.2002
 | 
 
| 
Сообщений: 31415
 | 
 
| 
 | 
 
| 
Рейтинг: 8952
 | 
 
 
 | 
 | 
 
Thirteen-а - с одной стороны, зря заминусовали, т.к. разумное зерно в его посте было, с другой стороны -  заслуженно - т.к. он не разъяснил что значит "пробелы".
 
  ты понимаешь, что вот между этими двумя словами должен быть пробел?
  Variant__fastcall 
  и что в C++ важен регистр символов, и название написанное большими буквами, отличается от названия написанное маленькими буквами?
  т.е. как минимум одно из этих слов variant написано неправильно.
  variant__fastcall TForm1::fromExcelCell(int Row,int Column) Variant__fastcall fromExcelCell(int Row,int Column)
  
 | 
 
 
 | 
| 
unkulunkulu
 | 
 
| 
unkulunkulunkulu
 | 
 
| 
  
 | 
 
| 
 
 | 
 
 
 
 | 
 
| 
Рег.:  12.11.2006
 | 
 
| 
Сообщений: 18453
 | 
 
| 
Из:  13000
 | 
 
| 
Рейтинг: 11759
 | 
 
 
 | 
 | 
 
и да, там выше при описании обработчика onclick есть пример правильного использования __fastcall, логично провести аналогию, затем обобщение... =)
  
 | 
 
 
 | 
| 
 | 
 | 
 
После исправления всех перечисленных вами ошибок (большая буква, пробел, возвращаемый тип), все заработало   Спасибо!
 
 
  
 | 
 
НИИЧАВО  |  
 
 |