Русскоязычный форум закрыт из-за отсутствия активности (доступен только для чтения).
Пожалуйста, пользуйтесь англоязычной его версией. Приносим извинения за неудобства
Добро пожаловать, Гость! Чтобы использовать все возможности Вход. Новые регистрации запрещены.

Уведомление

Icon
Error

Вход


Опции
К последнему сообщению К первому непрочитанному
Offline Shwartz  
#1 Оставлено : 23 июля 2012 г. 16:33:03(UTC)
Shwartz

Статус: Newbie

Группы: Registered
Зарегистрирован: 22.07.2012(UTC)
Сообщений: 4
Откуда: Moscow

Сказал(а) «Спасибо»: 1 раз
Добрый день!
Есть желание написать модуль, но не пролучается преобразовать типы данных:

bool IPluginLowLevelEvaluation.ExpressionEvaluation(Term root, Term[][] args, ref Store context, ref Term[] result)
{
if (root.Type == TermType.Function && root.Text == "post" && root.ChildCount == 2)
{

Term[]
arg1 = Decision.Preprocessing(args[0], ref context),
arg2 = Decision.Preprocessing(args[1], ref context);

//..Как перевести Term[] в string, чтобы использовать, например, в MessageBox?
string MSG= (string)args[0];// public static explicit operator string(Term[] obj)?

javascript:__doPostBack('forum$ctl03$PostReply',''Wink MessageBox.Show(MSG, "Name", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
.
.
.

Спасибо за помощь новичку в ООП!

Отредактировано пользователем 23 июля 2012 г. 16:34:43(UTC)  | Причина: Не указана

Wanna join the discussion?! Login to your Форум проекта SMath forum account. Новые регистрации запрещены.

Offline уни  
#2 Оставлено : 24 июля 2012 г. 3:06:52(UTC)
уни


Статус: Advanced Member

Группы: Registered
Зарегистрирован: 02.06.2009(UTC)
Сообщений: 346
Мужчина
Российская Федерация

Сказал «Спасибо»: 50 раз
Поблагодарили: 156 раз в 105 постах
Ответ зависит от того что находится в args[][]. Если нужно вывести термы в виде строки, то это один вариант, если нужно вывести число, которое введено как параметр - это другой, если же там в качестве параметра введён текст, то уже третий вариант.

Может поможет вот этот кусок кода:
Код:


            Term[] out1 = Decision.Preprocessing( Вых.ToArray(), ref context );

            // Вычисляем получившийся вектор
            TMatrix вых = SMath.Math.Numeric.Expression.Calculate( out1, context );

            // Переписываем ответ в терминах double[]
            int r = x.GetLength(0);
            for ( int ii = 0; ii < r; ii++ ) {
                dx[ii] = вых.unit[ ii, 0 ].obj.ToDouble();
            }


Из вот этого исходника: ODESolvers/Functions/rkfixed.cs
Россия навсегда!
Вячеслав Мезенцев
thanks 1 пользователь поблагодарил уни за этот пост.
Shwartz оставлено 15.09.2012(UTC)
Offline Shwartz  
#3 Оставлено : 1 октября 2012 г. 17:56:43(UTC)
Shwartz

Статус: Newbie

Группы: Registered
Зарегистрирован: 22.07.2012(UTC)
Сообщений: 4
Откуда: Moscow

Сказал(а) «Спасибо»: 1 раз
искал что-то типа этого:
Код:
string MSG4 = SMath.Math.Numeric.Expression.Calculate(arg4, context).obj.ToString();

Спасибо за наводку!
Пользователи, просматривающие эту тему
Guest
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.