Поиск:

Ответ в темуСоздание новой темы Создание опроса
> DBgrid, DataSet, Excel 
:(
    Опции темы
Knorkator
Дата 29.5.2008, 14:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Всем привет.
Запутался с типом Variant. 
Вопрос.
Как в C++ Builder занести данные из DBgrid в котором хранится таблица из ADOTable, в Excel?
Средствами Delphi все делается очень просто, в билдере не могу разобраться.

Всем откликнувшимся: Заранее большое спасибо!
PM MAIL   Вверх
Knorkator
Дата 29.5.2008, 18:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Код

Variant XLSAPP;
//===============================================
int f4_ExcelInit(AnsiString File){//Подключение к Excel
try{//Если Excel запущен - подключиться к нему
  XLSAPP=Variant::GetActiveObject("Excel.Application");}
catch (...){//Если Excel не запущен - запустить его
  try{XLSAPP=Variant::CreateObject("Excel.Application");}
  catch (...){
    Application->MessageBox("Невозможно открыть Microsoft Excel."
    "Возможно, Excel не установлен на компьютере.","Ошибка",MB_OK+MB_ICONERROR);}
  }
try{
 if(File!=""){
    XLSAPP.OlePropertyGet("WorkBooks").OleProcedure("Open",File.c_str());}//Открыть документ
 else XLSAPP.OlePropertyGet("WorkBooks").OleProcedure("add");//Создать новый документ
 }
catch (...){
 Application->MessageBox("Ошибка открытия файла Microsoft Excel.",
                         "Ошибка",MB_OK+MB_ICONERROR);return -1;}
return 1;
}
//===============================================
int f4_ExcelVisible(bool i){//Показать/скрыть Excel
if(!XLSAPP.IsEmpty())XLSAPP.OlePropertySet("Visible",i);
return 1;
}
//===============================================
int f4_ExcelSend(int Sheet, int Stolb, int Stroka, AnsiString Str, bool asText=false){//>>>
Variant ExcelSheet,Cur;//Запись данных в Excel (Лист, столбец, строка, "данные",как_текст?)
AnsiString ErrStr;
if(Str=="")return 1;//Не писать "пустоту"
ErrStr="Ошибка при записи: лист "+IntToStr(Sheet)+", столбец "+IntToStr(Stolb)+", строка "+IntToStr(Stroka);
try{ExcelSheet=XLSAPP.OlePropertyGet("WorkSheets",Sheet);}
catch (...){Application->MessageBox(ErrStr.c_str(),
           "Ошибочный номер листа Microsoft Excel",MB_OK+MB_ICONERROR); return -1;}
try{Cur=ExcelSheet.OlePropertyGet("Cells",Stroka,Stolb);
   if(asText)Cur.OlePropertySet("NumberFormat","@");//Форматировать ячейку как текст
   Cur.OlePropertySet("Value",Str.c_str());}
catch (...){Application->MessageBox(ErrStr.c_str(),
           "Ошибка Microsoft Excel",MB_OK+MB_ICONERROR); return -1;}
return 1;
}
//===============================================
int f4_SaveToExcel(){//Экспорт всех ячеек в Excel
TBookmark bm;
int result,col, row;
Screen->Cursor=crHourGlass;
Application->ProcessMessages();
result=f4_ExcelInit("");//Инициализация Excel
if(result==-1){Screen->Cursor=crDefault;return -1;}
Form1->DBGrid1->DataSource->DataSet->DisableControls();
bm=Form1->DBGrid1->DataSource->DataSet->GetBookmark();//Текущая ячейка
Form1->DBGrid1->DataSource->DataSet->First();
for(col=0;col<Form1->DBGrid1->FieldCount;col++){//добавляем имена колонок
 result=f4_ExcelSend(1,col+1,1,Form1->DBGrid1->Fields[col]->DisplayLabel,true);
 if(result==-1){Screen->Cursor=crDefault;return -1;}
 }
Form1->ProgressBar1->Position=0;//Прогрессбар
Form1->ProgressBar1->Max=Form1->DBGrid1->DataSource->DataSet->RecordCount;
for(row=0;row<Form1->DBGrid1->DataSource->DataSet->RecordCount;row++){// получаем данные
 Form1->ProgressBar1->Position=row;//Прогрессбар
 for(col=0;col<Form1->DBGrid1->FieldCount;col++){
   result=f4_ExcelSend(1,col+1,row+2,Form1->DBGrid1->Fields[col]->AsString,true);
   if(result==-1){Screen->Cursor=crDefault;return -1;}
   }
 Form1->DBGrid1->DataSource->DataSet->Next();
 }
Form1->DBGrid1->DataSource->DataSet->GotoBookmark(bm);//Текущая ячейка
Form1->DBGrid1->DataSource->DataSet->FreeBookmark(bm);
Form1->DBGrid1->DataSource->DataSet->EnableControls();
f4_ExcelVisible(true);//Сделать видимым Excel
Form1->ProgressBar1->Position=0;//Прогрессбар
Screen->Cursor=crDefault;
Application->ProcessMessages();
return 1;
}

Нашел на просторах рунета, неизвестное авторство, прекрасно работает.
PM MAIL   Вверх
Пепс
Дата 23.10.2012, 11:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



возможно и прекрасно работает в 6-ом билдере, а в новом - хрен в сметане. разные кодировки ansi и unicode. как поправить этот код чтоб в Embarcadero 15 работало?
сам же и отвечу - везде где стоит Ansistring меняем на Unicodestring, и перед тесктами ставим L (например, L"Невозможно открыть Microsoft Excel.")
еще здесь отредактировал 
Код

int f4_ExcelSend(int Sheet, int Stolb, int Stroka, AnsiString Str, bool asText=false){//>>>
Variant ExcelSheet,Cur;//Запись данных в Excel (Лист, столбец, строка, "данные",как_текст?)
AnsiString ErrStr;


на

Код

int f4_ExcelSend(int Sheet, int Stolb, int Stroka, UnicodeString Str, bool asText){//>>>
Variant ExcelSheet,Cur;//Запись данных в Excel (Лист, столбец, строка, "данные",как_текст?)
UnicodeString ErrStr;
asText = bool;


и еще t_str поменял на w_str

Это сообщение отредактировал(а) Пепс - 24.10.2012, 09:05
PM MAIL   Вверх
Пепс
Дата 24.10.2012, 10:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



эти процедуры запускают процесс excel.exe но не закрывают. кто-нить знает как его (процесс) грохнуть по завершению?
PM MAIL   Вверх
xvr
Дата 24.10.2012, 12:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

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



Цитата(Пепс @  24.10.2012,  10:20 Найти цитируемый пост)
 кто-нить знает как его (процесс) грохнуть по завершению? 

Послать ему команду Quit() (через OleProcedure)


PM MAIL   Вверх
Пепс
Дата 25.10.2012, 07:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



выгружаю через вышеописанные функции. Проблема: в эксел попадают "урезанные" данные, например в DBGrid значение ячейки 591145001, в экселе эта ячейка имеет значение 59114.
пробовал менять формат вот здесь:
Код

if(asText)Cur.OlePropertySet("NumberFormat","@");//Форматировать ячейку как текст
   Cur.OlePropertySet("Value",Str.w_str());}

вместо @ пробовал как число, и пустые кавычки ставлял - результат тот же.
если я все правильно понимаю, формат данных в DBGrid задается здесь
Код

for(row=0;row<Form4->DBGrid1->DataSource->DataSet->RecordCount;row++){// получаем данные
 Form4->ProgressBar1->Position=row;//Прогрессбар
 for(col=0;col<Form4->DBGrid1->FieldCount;col++){
   result=f4_ExcelSend(1,col+1,row+2,Form4->DBGrid1->Fields[col]->AsString,true);
   if(result==-1){Screen->Cursor=crDefault;return -1;}

т.е. AsString.
Почему все же эксел "отбрасывает" часть данных?
Как исправить?
PM MAIL   Вверх
xvr
Дата 25.10.2012, 12:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

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



Цитата(Пепс @  25.10.2012,  07:32 Найти цитируемый пост)
Проблема: в эксел попадают "урезанные" данные, например в DBGrid значение ячейки 591145001, в экселе эта ячейка имеет значение 59114.

Excel понимает тип данных по их (данных) внешнему виду. У вас данные выглядят как число - он их и делает числом

Цитата(Пепс @  25.10.2012,  07:32 Найти цитируемый пост)
пробовал менять формат вот здесь:

Это формат показа, на содержимое ячейки он не влияет.

Скажите Excel'у, что у вас текст - добавьте апостроф перед числом:
Код

Cur.OlePropertySet("Value",('\''+Str).w_str());}


PM MAIL   Вверх
Пепс
  Дата 25.10.2012, 13:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(xvr @ 25.10.2012,  12:19)
Скажите Excel'у, что у вас текст - добавьте апостроф перед числом:
Код

Cur.OlePropertySet("Value",('\''+Str).w_str());}



сделал как вы предложили, вываливает ошибку
[BCC32 Error] Unit4.cpp(156): E2015 Ambiguity between '_fastcall System::+(int,const System::Currency &) at c:\program files\embarcadero\rad studio\8.0\include\windows\rtl\syscurr.h:178' and '_fastcall System::+(int,const System::Variant &) at c:\program files\embarcadero\rad studio\8.0\include\windows\rtl\sysvari.h:3497'
  Full parser context
    Unit4.cpp(142): parsing: int f4_ExcelSend(int,int,int,System::UnicodeString,bool)

и

[BCC32 Error] Unit4.cpp(156): E2285 Could not find a match for 'Variant::OlePropertySet(const char *,undefined)'
  Full parser context
    Unit4.cpp(142): parsing: int f4_ExcelSend(int,int,int,UnicodeString,bool)

указывая на данную строку
PM MAIL   Вверх
xvr
Дата 25.10.2012, 13:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

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



Ну тогда сделайте так
Код

Cur.OlePropertySet("Value",(L"'"+Str).w_str());}

Да, Str у вас надеюсь типа String ?

PM MAIL   Вверх
Пепс
Дата 25.10.2012, 13:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(xvr @ 25.10.2012,  13:40)
Ну тогда сделайте так
Код

Cur.OlePropertySet("Value",(L"'"+Str).w_str());}

Да, Str у вас надеюсь типа String ?

так я уже тоже делал...
Str - тип Unicodestring
PM MAIL   Вверх
xvr
Дата 25.10.2012, 14:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

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



Цитата(Пепс @  25.10.2012,  13:43 Найти цитируемый пост)
так я уже тоже делал...

И что, тоже не компилируется? Или не работает?

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


Новичок



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

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



Цитата(xvr @ 25.10.2012,  14:57)
Цитата(Пепс @  25.10.2012,  13:43 Найти цитируемый пост)
так я уже тоже делал...

И что, тоже не компилируется? Или не работает?

компилируется, но данные тоже "обрезаны"
PM MAIL   Вверх
xvr
Дата 26.10.2012, 11:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

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



Цитата(Пепс @  26.10.2012,  05:48 Найти цитируемый пост)
компилируется, но данные тоже "обрезаны" 

А если в Excel'е в эту ячейку встать курсором, он в троке редактирования показывает обрезанные или полные данные?

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


Новичок



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

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



Цитата(xvr @ 26.10.2012,  11:49)
Цитата(Пепс @  26.10.2012,  05:48 Найти цитируемый пост)
компилируется, но данные тоже "обрезаны" 

А если в Excel'е в эту ячейку встать курсором, он в троке редактирования показывает обрезанные или полные данные?

обрезанные
прикрепил скрин как это выглдит в проге

Добавлено через 12 минут и 2 секунды
блин, .xls нельзя сюда загрузить, но вот так это выглядит. в строке формул точно так же

19.10    59021    5904    460072
19.10    59021    5904    460072
19.10    59021    5904    460072
19.10    59021    5904    460072
19.10    59021    5904    460072


Это сообщение отредактировал(а) Пепс - 26.10.2012, 12:29

Присоединённый файл ( Кол-во скачиваний: 6 )
Присоединённый файл  Новый_рисунок.png 18,08 Kb
PM MAIL   Вверх
xvr
Дата 28.10.2012, 17:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

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



Настолько оно не должно обрезать. Зазипуйте xls и приатачте сюда

PM MAIL   Вверх
Пепс
Дата 30.10.2012, 09:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



файл прикрепил, надеюсь поможете разобраться smile 

Присоединённый файл ( Кол-во скачиваний: 2 )
Присоединённый файл  Книга1.rar 9,64 Kb
PM MAIL   Вверх
xvr
Дата 30.10.2012, 11:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

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



Да, действительно урезано  smile 
Проверьте, что вы действительно пытаетесь пометить в Excel полные строки. Станьте дебагером на Cur.OlePropertySet("Value",Str.w_str()); и посмотрите, что у вас лежит в Str

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


Новичок



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

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



присоединил скрин - данные передаются нормальные.
попробовал Cur.OlePropertySet("Value",Str.data()); - в каждой ячейке выгрузил "ИСТИНА" smile 

Присоединённый файл ( Кол-во скачиваний: 6 )
Присоединённый файл  Новый_рисунок.jpg 122,57 Kb
PM MAIL   Вверх
xvr
Дата 30.10.2012, 21:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

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



Странно это. Все должно работать  smile 
Попробуйте убрать присваивание в Cur.OlePropertySet("NumberFormat","@");
Еще можно попробовать записать через проперть Text (вместо Value)

PM MAIL   Вверх
Мишистик
Дата 30.10.2012, 22:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



  Уважаемые форумчане  подскажить  почему не работает запроос

    AnsiString q;
    ADOQuery1->Close();
    q=" SELECT row_number() over(ORDER BY id_comp, trip_no) num, trip_no, id_comp  ";
    q+= "  FROM trip  WHERE ID_comp<3 ORDER BY id_comp, trip_no";
    ADOQuery1->SQL->Clear();  ADOQuery1->SQL->Add(q);
    //  ADOQuery1->ExecSQL();
      ADOQuery1->Open();
   
           Появляется сообщение что пропущен оператор помогите разобраться
           а то с запросами слабовато. Зарание благодарен!!!
 
PM MAIL   Вверх
xvr
Дата 31.10.2012, 11:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

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



Цитата(Мишистик @  30.10.2012,  22:22 Найти цитируемый пост)
подскажить  почему не работает запроос

Видимо не понимает часть row_number() over(ORDER BY id_comp, trip_no) (я ее то же не понимаю  smile )

PM MAIL   Вверх
Пепс
Дата 31.10.2012, 13:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(xvr @ 30.10.2012,  21:38)
Странно это. Все должно работать  smile 
Попробуйте убрать присваивание в Cur.OlePropertySet("NumberFormat","@");
Еще можно попробовать записать через проперть Text (вместо Value)

убирал NumberFormat - отрезает строку
Text - пишет ошибку записи в ячейку (видимо, определяет как пустую строку)
ваще уже одолела smile

Добавлено @ 13:14
тут есть такая строка
Код

XLSAPP.OlePropertyGet("Range", "A1:K1000").OlePropertySet("WrapText", false);

WrapText - это перенос строки, менял значение истины на ложь и обратьно, комметнировал эту инструкцию - нифига,, все также
Я так понимаю, что приложуха передает все нормально, а уже эксель (свойство ячейки) подрезает строку.
я пробовал передать строковую константу "дповалопрщлащшилдвоазщуоро" - отображает только первые слева 16 символов.
какие еще идеи? smile 

Это сообщение отредактировал(а) Пепс - 31.10.2012, 13:18
PM MAIL   Вверх
xvr
Дата 31.10.2012, 19:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

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



Цитата(Пепс @  31.10.2012,  13:09 Найти цитируемый пост)
какие еще идеи?

Увы, идей больше нет. Для очистки совести - попробуйте записать Cur.OlePropertySet("Value",L"'591145001"), что получится?


Это сообщение отредактировал(а) xvr - 31.10.2012, 19:47
PM MAIL   Вверх
Мишистик
Дата 31.10.2012, 20:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Разобрался row_number() over(ORDER BY id_comp, trip_no) в Builder6 ее просто нет функция работает в PHP Подскажите кто знает как запросом пронумеровать строки .  Пока в просторах инета ничего не нашлось. Пробовал создать вычисляемое поле типа avtoinc  геморойно и не надежно .



PM MAIL   Вверх
Мишистик
Дата 31.10.2012, 20:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Нумеруются перебором   ADOQuery1->Next(); но это долгая песня
много записей >1000. 
PM MAIL   Вверх
Пепс
Дата 1.11.2012, 05:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(xvr @  31.10.2012,  19:46 Найти цитируемый пост)
591145001

В каждой ячейке пишет ИСТИНА smile 

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


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

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



Цитата(Пепс @  1.11.2012,  05:32 Найти цитируемый пост)
В каждой ячейке пишет ИСТИНА smile 

Это сильно  smile Может ему Unicode строки не нравятся? Попробуйте Cur.OlePropertySet("Value","'591145001") (без буквы L)

PS. Builder'ы всегда не давали скучать програмистам - баги в них очень чудные и всегда в самых неожиданных местах  smile И то, что оно теперь не Borland и не Builder ситуацию не изменило - как говорится, стабильность - признак мастерства  smile 

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


Новичок



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

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



 smile 
без L все отображается ништяк!!!!!!!!!!!!!
как теперь код изменить?
PM MAIL   Вверх
Пепс
Дата 16.11.2012, 07:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



проблему помогли решить на соседнем форуме -  WideString(Str):
Код

 if(asText)Cur.OlePropertySet("NumberFormat","@");//Форматировать ячейку как текст
   Cur.OlePropertySet("Value",WideString(Str));

PM MAIL   Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

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

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

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

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


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

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


 




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


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

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