1
Ваши вопросы / Re: Использование ресурсов
« : 08 Декабря 2021, 17:25:39 »
Просьба сделать сообщение оповещения о завершении сохранения проекта - статичным. Чтобы оно исчезало после щелчка на него мышкой.
Официальный форум Simple-Scada.
В этом разделе можно просмотреть все сообщения, сделанные этим пользователем.
{ вспомогательная процедура для обработки отдельной строки }
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.
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.
Здравствуйте.
Это делается в настройках устройства.
Заводите один канал и на него сажаете столько устройств сколько вам необходимо.
Айрат
Здравствуйте.
И скажите, с помощью какой программы создаются подобные изображения, посоветуйте мне что нибудь специально предназначенное для этих целей...
begin
if Sender is TM_Image then
with Sender as TM_Image do
if ValueAsInt = 0 then
AnimSpeed := 0
else
AnimSpeed := 10;
end.
begin
if Sender is TM_Object then
case TM_Object(Sender).ValueAsInt of
0 : Image5.AnimSpeed := 0;
1 : Image5.AnimSpeed := 10;
end;
end.
begin
if Sender is TM_Object then
case TM_Object(Sender).ValueAsInt of
0 : Sender.AnimSpeed := 0;
1 : Sender.AnimSpeed := 10;
end;
end.
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.