powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / При передаче массива в Excel пишет ИСТИНА - почему
5 сообщений из 5, страница 1 из 1
При передаче массива в Excel пишет ИСТИНА - почему
    #32361192
'FaTsO'
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пишу вот такую вещь:
TDateTime dt1, dt2, dt3, dt4, dt5, dt6;
int days1, days2, days3, days4, days5, days6;
TDateTime date1, date2, date3, date4, date5;
int d1, d2, d3, d4, d5;
char* res[120];
String* str;
dt1 = Edit1->Text;
dt2 = Query3->FieldByName("Дата1")->AsString;
dt3 = Query3->FieldByName("Дата2")->AsString;
dt4 = Query3->FieldByName("Дата3")->AsString;
dt5 = Query3->FieldByName("Дата4")->AsString;
dt6 = Query3->FieldByName("Дата5")->AsString;
date1 = dt2-dt1; days1 = StrToInt(date1.FormatString("dd"));
date2 = dt3-dt2; days2 = StrToInt(date2.FormatString("dd"));
date3 = dt4-dt3; days3 = StrToInt(date3.FormatString("dd"));
date4 = dt5-dt4; days4 = StrToInt(date4.FormatString("dd"));
date5 = dt6-dt4; days5 = StrToInt(date5.FormatString("dd"));
d1 = days1 / 6;
d2 = days2 / 6;
d3 = days3 / 6;
d4 = days4 / 12;
d5 = days5 / 6;
for (j = 0; j < d1; j++)
{ res[j] = " "; }
for (j = d1; j < d2; j++)
{ res[j] = "."; }
res[d2] = " ";
for (j = d2 + 1; j < d3; j++)
{ res[j] = "_"; }
res[d3] = " ";
for(j = d3 + 1; j < d4; j++)
{ res[j] = "-"; }
for(j = d4; j < d5; j++)
{ res[j] = "_ "; }
res[d5] = "|>";
for(j = d5 + 1; j < 119; j++)
{ res[j] = " "; }
toExcelCell(Row, 26, Variant(res));
toExcelCell выглядит примерно так:
void __fastcall TForm3::toExcelCell(int Row,int Column, Variant data)
{
try
{
Variant cur = Sh.OlePropertyGet("Cells", Row,Column);
cur.OlePropertySet("Value", data);
}
catch(...) { ; }
}
ТОлько при подаче в Excel он пишет в ячейке слово ИСТИНА...
а должно получиться что то вроде этого:
" .................______________---------------_ _ _ _ _ |> "

Подскажите, как мне сделать чтобы он выводил массив этот...???
...
Рейтинг: 0 / 0
При передаче массива в Excel пишет ИСТИНА - почему
    #32363002
LAlex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
На самом деле там записано какое-то выражение, а ИСТИНА это его значение. Встань на эту истину и в строке формул посмотри что там на самом деле находится. Может быть сам разберешься
...
Рейтинг: 0 / 0
При передаче массива в Excel пишет ИСТИНА - почему
    #32363349
'FaTsO'
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо уже разобралься
он почему то когда пишешь char *res = "";
стал все правильно делать
...
Рейтинг: 0 / 0
При передаче массива в Excel пишет ИСТИНА - почему
    #32363973
Gasanov2003
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
char* res[120]; - Это у тебя что? Строка в стиле с ? Если да, попробуй написать так char res[120];
...
Рейтинг: 0 / 0
При передаче массива в Excel пишет ИСТИНА - почему
    #32363976
Gasanov2003
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Мне кажется у автора явная путаница с понятиями строк в С и указателями.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / При передаче массива в Excel пишет ИСТИНА - почему
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]