Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?

Официальный форум Simple-Scada.

Автор Тема: Временная таблица в скриптах  (Прочитано 4134 раз)

ilnurikK

  • Новичок
  • *
  • Сообщений: 4
    • Просмотр профиля
Временная таблица в скриптах
« : 29 Октября 2025, 10:01:01 »
Добрый день!

Взял скрипт из  примера (чуток его изменил), который вызывается по клику кнопки:
Код: (delphi)
//
// Этот скрипт вызывается когда пользователь кликнул
// кнопку "ЗАДЕЙСТВОВАТЬ"
//

var
  aIndex: Integer;
  aQuery: string;
  tblTempRecipes: TM_Table;
begin
  aIndex := tblRecipes.RowIndex;  // получаем индекс выделенной строки в таблице рецептов
  if aIndex = -1 then             // если строка не выбрана
  begin
    ShowMessageClient(GetClientName, 'Рецепт не выбран!', 'Сначала выберите рецепт который нужно задействовать.');
    Exit;
  end;

  IDValue.Value := tblRecipes.GetCell(0, aIndex).Text;
  // формируем запрос из таблицы "recipes"
  aQuery := 'SELECT * FROM `recipes` WHERE `id`=' + QuotedStr(tblRecipes.GetCell(0, aIndex).Text);
  tblTempRecipes.RunSQL(aQuery, tsSaveFixRow);

  // записываем значения (из выделенной строки таблицы рецептов) в переменные
  txtRecipeName.Text := tblTempRecipes.GetCell(1, 1).Text;
  vrK1.Value := StrToInt(tblTempRecipes.GetCell(3, 1).Text);
  vrK2.Value := StrToInt(tblTempRecipes.GetCell(4, 1).Text);
  vrK3.Value := StrToInt(tblTempRecipes.GetCell(5, 1).Text);
  txtRecipeName.Hint := tblTempRecipes.GetCell(6, 1).Text;
end.
tblTempRecipes временная таблица, в которую хочу записать результат запроса, т потом вытащить из этой таблицы данные. В данном варианте скрипт не отрабатывает. Если же создаешь элемент Таблица на мнемосхеме с именем tblTempRecipesб то по клику в эту таблицу читаются данные. Почему при определении tblTempRecipes: TM_Table; не работает?
И еще, если же создаешь элемент Таблица на мнемосхеме, то данные   vrK1.Valu,  vrK2.Value,  vrK3.Value заполняются только после нескольких нажатий. То есть не с первого раза.
« Изменён: 29 Октября 2025, 10:07:57 от Simple Scada »

ilnurikK

  • Новичок
  • *
  • Сообщений: 4
    • Просмотр профиля
Re: Временная таблица в скриптах
« Ответ #1 : 29 Октября 2025, 16:30:06 »
Решил проблему через DataSet