Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Как проверить массив значений

1.2K
24 марта 2005 года
richel
142 / / 20.01.2005
Раскрываю файл Excel. В нем, допустим, 7 колонок. Построчно из каждой колонки мне нужно вытащить значение. Затем, если заполнены первые три колонки значениями, то в сообщение (это для упрощения) вывести значения из всех колоной строки. Если встречается другая вариация (например, первая колонка пуста, остальные заняты или все пустые - тут не нужно перечислять), то строку просто пропустить. У меня не получается. А делаю так:
Цитата:
[COLOR=indigo]Variant result[NumCol],cur[NumCol];

for (int Row = 1; Row < xlRow; ++Row)
for (int Column = 1; Column < 8; ++Column)
{
cur[Column] = vVarSheet.OlePropertyGet("Cells",Row,Column);
result[Column] = cur[Column].OlePropertyGet("Value");
answer = String(result[Column]);
if (!(AnsiString(result[1]).IsEmpty()) &&
AnsiString(result[2]).IsEmpty() && AnsiString(result[3]).IsEmpty()
))
{ ShowMessage(answer);
}
else
continue;
} [/COLOR]


Это мой вариант. Но что-то тут не то. Помогите мне правильно написать условие. Пожалуйста!

985
24 марта 2005 года
kostas
34 / / 20.07.2000
Цитата:
Originally posted by richel
Раскрываю файл Excel. В нем, допустим, 7 колонок. Построчно из каждой колонки мне нужно вытащить значение. Затем, если заполнены первые три колонки значениями, то в сообщение (это для упрощения) вывести значения из всех колоной строки. Если встречается другая вариация (например, первая колонка пуста, остальные заняты или все пустые - тут не нужно перечислять), то строку просто пропустить. У меня не получается. А делаю так:

Это мой вариант. Но что-то тут не то. Помогите мне правильно написать условие. Пожалуйста!

985
24 марта 2005 года
kostas
34 / / 20.07.2000
Цитата:
Originally posted by kostas



//----------------------------------------------------
Variant result[NumCol],cur[NumCol];

AnsiString answer;
answer = "";
for (int Row = 1; Row < xlRow; ++Row)
{
for (int Column = 1; Column < 8; ++Column)
{
cur[Column] = vVarSheet.OlePropertyGet("Cells",Row,Column);
result[Column] = cur[Column].OlePropertyGet("Value");
answer = answer + String(result[Column]);
}

if (!(AnsiString(result[1]).IsEmpty()) &&
AnsiString(result[2]).IsEmpty() && AnsiString(result[3]).IsEmpty()
))
{ ShowMessage(answer);
}
else
{
}

answer = "";
}
//---------------------------------------------------------

1.2K
24 марта 2005 года
richel
142 / / 20.01.2005
Спасибо за ответ!:) Проверю уже дома. Если возникнут вопросы, снова обращусь.
1.2K
25 марта 2005 года
richel
142 / / 20.01.2005
Да, действительно работает. Спасибо!
Но вот теперь такая проблема - вместо вывода значения в сообщение
Цитата:
ShowMessage(answer);

мне нужно написать код вставки этих значений в таблицу БД. Кол-во столбцов в таблице Excel совпадает с кол-вом полей в таблице БД. Код у меня такой (пока без проверки данных на наличие в числовом значении "." или ",").

Цитата:
TADOQuery *ds = ADOQuery1;
if (!ds->Active) ds->Active = true;
ds->DisableControls();
try {
ds->Append();
ds->Fields->Fields[Column]->Value = answer;
ds->Fields->Fields[21]->AsString = "19146"; // Project
ds->Fields->Fields[22]->AsString = "fg"; // Variant
if (ds->State == dsEdit && ds->State == dsInsert) ds->Post();

} // try DisableControls

catch(Exception &xcp) { ShowMessage(xcp.Message); }

ds->Last();
ds->EnableControls();


Вопроса 2: 1) Fields[Column] у меня теперь за пределами цикла и, естественно, не проходит.
2)

Цитата:
answer = answer + String(result[Column]);

- это целая строка, причем, начиная с середины, я не могу разобрать, что это выводятся за значения (все числовые значения не похожи на те, которые должны быть). Если я пишу код

Цитата:
answer = String(result[Column]);

, то выводится значение последнего столбца. А мне нужно каждое значение столбца вставить в поле таблицы БД. Я приведу пример xsl файла, а то вслепую, наверное, трудно давать советы?

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог