maikl |
Отправлено: 16.01.2004, 03:31 |
|
Станционный диспетчер
Группа: Участник
Сообщений: 135
|
В уроке № 3 в исходниках написаны следующие функции, а в объяснениям к ним нечего не говориться, хотелось бы узнать что они все таки выполняют, при компиляции их выдает предупреждения у меня, ну а так все в принципе компилирует.
Variant toExcel(Variant App,const char *Exc, int off, String data)
{
try {
App.OlePropertyGet("Range", Exc).OlePropertyGet("Offset", off).OlePropertySet("Value", data.c_str());
} catch(...) { ; }
}/* toExcel() */
//---------------------------------------------------------------------------
Variant toExcel(Variant App,const char *Exc, double data)
{
try {
App.OlePropertyGet("Range", Exc).OlePropertySet("Value", data);
} catch(...) { ; }
}/* toExcel() */
//---------------------------------------------------------------------------
Variant toExcel(Variant App,const char *Exc, int data)
{
try {
App.OlePropertyGet("Range", Exc).OlePropertySet("Value", data);
} catch(...) { ; }
}/* toExcel() */
//---------------------------------------------------------------------------
Variant toExcel(Variant App,const char *Exc, AnsiString data)
{
try {
Variant cur = App.OlePropertyGet("Range", Exc);
cur.OlePropertySet("Value", data.c_str());
} catch(...) { ; }
}/* toExcel() */
|
|
maikl |
Отправлено: 16.01.2004, 14:01 |
|
Станционный диспетчер
Группа: Участник
Сообщений: 135
|
Что действительно никто не знает. В примере все работает в том что с уроком идет, а у меня выдает 4 предупреждения [C++ Warning] Unit9.cpp(31): W8070 Function should return a value и одно [C++ Warning] Unit9.cpp(81): W8004 'Today' is assigned a value that is never used это я еще только Excel это я еще только Excel открываю. Помогите кто нибудь, завтро курсовик надо сдать, осталось 16 часов что бы сделать. |
|
maikl |
Отправлено: 16.01.2004, 16:02 |
|
Станционный диспетчер
Группа: Участник
Сообщений: 135
|
Предупреждения не пропали, но зато все заработало. Только единственная проблема, в том что если тип поля в таблице числовой , и в этом поле одна из ячеек будет пуста то он выводит в Excel, 0 а мне нужно, что бы она так пустой и оставалась, может это кто подскажет, как исправить. |
|
Nick |
Отправлено: 16.01.2004, 17:13 |
|
Машинист паровоза
Группа: Участник
Сообщений: 247
|
попробуй так
Variant toExcel(Variant App,const char *Exc, int data)
{
try {
if ( data == NULL )
App.OlePropertyGet("Range", Exc).OlePropertySet("Value", "");
else
App.OlePropertyGet("Range", Exc).OlePropertySet("Value", data);
} catch(...) { ; }
}/* toExcel() */
|
|
maikl |
Отправлено: 16.01.2004, 17:51 |
|
Станционный диспетчер
Группа: Участник
Сообщений: 135
|
Попробывал, не выходит, он просто мне всю базу почистил, и вывел данные из тех поляй что я задал что бы нельзя было редактировать, а все остальное пустые ячейки, нолики тоже по прежнему выводил. |
|
Nick |
Отправлено: 16.01.2004, 18:31 |
|
Машинист паровоза
Группа: Участник
Сообщений: 247
|
Немно поясню.
Это переопределенные (или дружественные) функции.
Может я немного ошибаюсь с терминологией, но происходит так.
Ты просто пишешь.
toExel( EApp,"A1", Переменная );
при этом если Переменная имеет тип String работает первая функция,
тип Double — вторая, int — третья и т.д.
Выясни где у тебя неправильно работает и подправь.
Я приводил пример для типа Int.
|
|
maikl |
Отправлено: 17.01.2004, 02:57 |
|
Станционный диспетчер
Группа: Участник
Сообщений: 135
|
QUOTE (Nick @ 17/01/2004, 03:33) | Немно поясню.
|
Все спасибо, нашел где собака зарыта, надо было тут писать :
Variant toExcel(Variant App,const char *Exc, int off, String data)
{
try {
if(data == NULL)
App.OlePropertyGet("Range", Exc).OlePropertyGet("Offset", off).OlePropertySet("Value", "");
else
App.OlePropertyGet("Range", Exc).OlePropertyGet("Offset", off).OlePropertySet("Value", data.c_str());
} catch(...) { ; }
}/* toExcel() */
Непонятно только одно, почему при компиляции показывает 4 предупреждения, ну а так все нормально. |
|
Dream |
Отправлено: 30.01.2004, 15:16 |
|
Не зарегистрирован
|
Function should return a value
Функция не возвращает значение
Чтобы не высвечивался это WARNING
Variant toExcel(Variant App,const char *Exc, int off, String data)
исправь на
Void toExcel(Variant App,const char *Exc, int off, String data)
и так далее по всем оставшимся трём
т.к твои функции всёравно ничего не возвращают.
Today' is assigned a value that is never used
Что то, типа не используеш ты нигде обьявленныю переменную
|
|
maikl |
Отправлено: 30.01.2004, 16:21 |
|
Станционный диспетчер
Группа: Участник
Сообщений: 135
|
Спасибо за подсказу, вопрос задавал давно, а с проблемой так и не разобрался, теперь буду знать. |
|
|