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

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

Просмотр сообщений

В этом разделе можно просмотреть все сообщения, сделанные этим пользователем.


Сообщения - Павло

Страницы: [1] 2 3
1
Ваши вопросы / Re: Использование ресурсов
« : 08 Декабря 2021, 17:25:39 »
Просьба сделать сообщение оповещения о завершении сохранения проекта - статичным. Чтобы оно исчезало после щелчка на него мышкой.

2
Добрый день.

Наведите пожалуйста пример скрипта для глобального модуля с изменением цвета объекта. Благодярю.

3
Как очистить таблицу после функции RunSQL?

4
Ваши вопросы / Работа с CSV файлами
« : 24 Июля 2020, 15:11:54 »
Добрьій день.

В руководстве по скриптах есть пример работьі с CSV через процедуру.
Код: (delphi)
{ вспомогательная процедура для обработки отдельной строки }
  procedure ProcStr(const AStr: string);
  var
    I: Integer;
    aBuf: string;
 
    { эта подпроцедура вызывается каждый раз когда из строки было извлечено
      значение отделённое ";" }
    procedure OnDone;
    begin
      if aBuf = '' then Exit;  // игнорируем пустые значения
      // ...
      // здесь работаем с полученным значением, которое хранится в aBuf
      // ...
      aBuf := '';  // затем обнуляем буферную строку
    end;
  begin
    aBuf := '';
    for I := 1 to Length(AStr) do   // проходим по каждому символу строки в цикле
      if aStr[I] <> ';' then        // если текущий символ не ";", то
      begin
        if aStr[I] <> ' ' then      // игнорируем пробелы
          aBuf := aBuf + AStr[I]    // добавляем символ в буферную строку
      end else                      // если дошли до ";", то
        OnDone;                     // работаем с полученным значением
 
    OnDone;  // вызываем завершающую процедуру напоследок
  end;         
 
begin
  // открываем текстовый файл для чтения
  if TextFileOpen('MyCSV.csv', 'D:\', fomReset, fcpDefault) then
  begin
    while not TextFileEOF do     // цикл с проходом по каждой строке текстового файла
      ProcStr(TextFileReadLn);   // считываем и обрабатываем очередную строку
 
    TextFileClose;               // закрываем файл
  end;
end.
В месте "здесь работаем с полученным значением, которое хранится в aBuf" - можно показать пример?  :D

5
Ваши вопросы / Re: ptHorizontal Image
« : 16 Июля 2020, 15:21:30 »
Код: (delphi)
begin
  if Sender is TM_Object then    // проверяем, что Sender это объект
    with Sender as TM_Object do  // приводим Sender к типу "TM_Object"
      if AsInt = 1 then          // если значение переменной объекта = 1
      begin
        Visible := True;          // показать объект
        X := 100;                 // перемещение по оси X
      end
      else                       // иначе
        Visible := False;        // скрыть объект
end.

6
Добрьій день. Как в скрипте передать значение переменной типа DateTime в таблицу MySQL?

7
Добрьій день.
Как в скрипте реализовать перемещение Image по горизонтале?

8
Здравствуйте.

Это делается в настройках устройства.
Заводите один канал и на него сажаете столько устройств сколько вам необходимо.

Айрат

Благодарю.

9
Здравствуйте.
В настройках ОРС и в инструкции не нашел параметр: "Адрес устройства" при работе с Modbus RTU.

Как опрашивать несколько устройств на одном COM порту?
Благодарю.

10
Ваши вопросы / Re: Слои
« : 26 Июля 2016, 15:20:39 »
То что нужно!!!

11
Ваши вопросы / Re: Слои
« : 21 Июля 2016, 10:05:46 »
А можно еще блокировать хотя бы 1 слой (с элементами на нем)? Очень нужно.  :D

12
И скажите, с помощью какой программы создаются подобные изображения, посоветуйте мне что нибудь специально предназначенное для этих целей...

С помощью векторных редакторов:

Adobe Illustrator
CorelDraw

13
Благодарю, работает. Теперь есть  еще один универсальній скрипт.

Код
begin
 if Sender is TM_Image then
  with Sender as TM_Image do
    if ValueAsInt = 0 then
      AnimSpeed := 0
    else
      AnimSpeed := 10;
end.

14
Хотел сделать универсальный код для анимации насоса Пуск/Стоп почти получилось.
Сейчас в коде есть привъязка к елементу анимации.

Код
begin
 if Sender is TM_Object then
 case TM_Object(Sender).ValueAsInt of
 0 :  Image5.AnimSpeed := 0;
 1 :  Image5.AnimSpeed := 10;
 end;
end.

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

Код
begin
 if Sender is TM_Object then
 case TM_Object(Sender).ValueAsInt of
 0 :  Sender.AnimSpeed := 0;
 1 :  Sender.AnimSpeed := 10;
 end;
end.


15
Предлагаю на форуме сделать отдельную ветку с темами для готовых шаблонов кода по скриптам.
Думаю будет очень полезно для начинающих. (сейчас есть только 1 тема вопросов)

Например.

Сигнализации аварийных параметров:

Скрыть/Показать элемент
Код
begin
 if Sender is TM_Object then
 case TM_Object(Sender).ValueAsInt of
 0 :  Sender.Visible := False; 
 1 :  Sender.Visible := True;
 end;
end.

Изменить цвет элемента
Код
begin
  if Sender is TM_Object then
   case TM_Object(Sender).ValueAsInt of
   0 :  Sender.Color := clGray;
   1 :  Sender.Color := clLime;
   end;
end.

Страницы: [1] 2 3