Официальный форум российского программного комплекса T-FLEX PLM


Поиск  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Страницы: 1
Работа с внутренней БД, Хочется записать результаты не в файл отчета, а сразу в БД
 
Если у кого-то есть опыт программного создания и заполнения внутренней базы данных - поделитесь пожалуйста! В результате анимации 2D схемы получается массив значений, по которым в дальнейщем надо строить графики. Простейший выход вижу в записи значений в бд, однако справка мало чем помогает. Может быть, кто-нибудь сможет поделиться примером? Больше всего интересует создание базы и доступ к конкретным ячейкам. Язык программирования не важен.
Заранее спасибо всем кто поможет, или хотя-бы взял на себя труд дочитать до этого места )
 
1. Выложите ваш файл отчета.
2. Где (в какой программе) будете создавать графики?
3. Если файл отчета имеет разделители, можно его открыть в Excel с разделителями, потом сохранить как файл БД и загрузить во флекс.
4. Или загрузить файл отчета в DataTable (С#), а там уже что душа пожелает.
Изменено: Сергей Максимов - 06.11.2010 14:23:27
 
Спасибо что откликнулись!
Сам отчет представляет из себя 3-5 колонок цифр, зависящих от одного из параметров чертежа. Графики строятся в T-Flex. Excel и прочие внешние источники требуется исключить, потому что периодически возникают сбои при подключении.
Точно также не удалось осуществит подключение VS, хотя с инвентором она на той же машине работает без проблем. Так что пришлось подключаться через VBA. По большому счету проблема решена, однако помимо чтения, записи и перезаписи инф-ции в уже имеющихся ячейках возможностей никаких :bal:
 
Возможно есть более простые варианты. Например, если зависимость всех параметров легко описывается математической зависимостью, то можно воспользоваться командой Построения->функция. Программирование исключается и можно получить очень гладкие графики.
Другой вариант. Можно сделать несколько переменных, по одной на каждый зависимый параметр, и при помощи пользовательских функций осуществить считывание значений из 2D схемы в эти переменные. Далее программным путем в цикле изменять значение главной переменной и считывать при этом значения зависимых переменных. Записывать их в текстовый файл.

Цитата
Сергей Максимов пишет:

Если файл отчета имеет разделители...

Я не знаком с "разделителями", но возможно эти разделители указываются в файле *.db, который в принципе представляет текстовый файл. Этот момент может прояснить Сергей Максимов. Если я прав, то можно записывать в текстовый файл и разделители. Далее по схеме, предложенной Сергеем Максимовым.

PS В свое время осуществлял считывание значений из внутренней БД программными средствами. К сожалению, столкнулся с глюком...
Изменено: Brom25 - 08.11.2010 21:06:37
Кто ищет - тот всегда найдет!
 
Здравствуйте
Попробуйте вот так:

{
Document doc = null;
InternalDatabase db = null;
try
{
doc = TFlex.Application.OpenDocument(doc_fname);
doc.BeginChanges("Создать Базу Данных");
db = new InternalDatabase(doc,"db1");
db.Name = "db1";
}
catch
{
MessageBox.Show("Exeption", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}

// nc - это количество колонок
// nType - это массив, содержащий типы колонок, 1 - текстовая, остальные значения - вещественная
// sName - массив имен колонок

for (int n = 0; n < nc; n ++)
{
if (nType[n] == 1)
{
db.InsertTextColumn(-1, sName[n], 80);
}
else
{
db.InsertColumn(-1, DatabaseColumnType.DBReal, sName[n]);
}
}

double val = 10.5;

for (int i = 0; i < nStr; i++)
{
db.AppendRow();
for (int n = 0; n < nc; n++)
{
switch (nType[n])
{
case 0:
db.SetRealValue(n, i, val);
break;

case 1:
db.SetTextValue(n, i, "текст");
break;
}
}
}

doc.EndChanges();
doc.Save();
}
 
Спасибо!
А когда это (и прочие примеры) можно будет увидеть в справке по T-Flex API)?
 
Примеры кода можно посмотреть в макросах.
Кто ищет - тот всегда найдет!
 
А вот еще такой вопрос на "засыпку"( :) ) - а как подружить f-flex с vb.net express edition (C#-наше все, я в курсе, но тем не менее...)? Категорически отказывается видеть tflexapi при попытке компиляции. Может, что-то можно подшаманить (сишные "заклятья" оказались бессильны) ? X
Страницы: 1