0
Отвечен

script Pascal

Игорь Сазонов 4 недели назад обновлен СИМП Лайт (тех.поддержка) 3 недели назад 4

Добрый день! Все было замечательно со скриптами, пока кому то из разработчиков не пришла гениальная мысль убрать из выбора скриптов язык Basic. Сразу возник выбор: либо начинать с нуля изучать оставленные языки в скриптах либо переводить все скрипты на Blocs diagram в которых нет всех функций скриптов. Как быть, разработчики. Конкретный пример:

'Basic Script
dim In1, Out1, Out2

In1=ReadValue("data")



if In1 = 1 then Out1 =LoadFromTxtFile("d:\1.txt",0)
if In1 = 2 then Out1 =LoadFromTxtFile("d:\1.txt",1)
if In1 = 3 then Out1 =LoadFromTxtFile("d:\1.txt",2)
if In1 = 4 then Out1 =LoadFromTxtFile("d:\1.txt",3)

if In1 = 1 then Out2 =LoadFromTxtFile("d:\1.txt",5)
if In1 = 2 then Out2 =LoadFromTxtFile("d:\1.txt",6)
if In1 = 3 then Out2 =LoadFromTxtFile("d:\1.txt",7)
if In1 = 4 then Out2 =LoadFromTxtFile("d:\1.txt",8)


WriteValue("out1", Out1)
WriteValue("out2",Out2)
end

Как все это записать на паскале? Стандартные операторы паскаля программа не принимает.

ХОРОШО, МНЕ ПОНРАВИЛОСЬ

ок

Оценка удовлетворенности от Игорь Сазонов 3 недели назад

попробовал все переделать с помощью "гугл в руки" получилось так:

Var In1, Out1, Out2 : Integer;
Begin
In1 := ReadValue('выбор рецепта');

Begin
if In1 = 1 then
Out1 :=LoadFromTxtFile('d:\\1.txt',0);
end;
Begin
if In1 = 2 then
Out1 :=LoadFromTxtFile('d:\\1.txt',1);
end;
Begin
if In1 = 3 then
Out1 :=LoadFromTxtFile('d:\\1.txt',2);
end;
Begin
if In1 = 4 then
Out1 :=LoadFromTxtFile('d:\\1.txt',3);
end;
Begin
if In1 = 1 then
Out2 :=LoadFromTxtFile('d:\\1.txt',5);
end;
Begin
if In1 = 2 then
Out2 :=LoadFromTxtFile('d:\\1.txt',6);
end;
Begin
if In1 = 3 then
Out2 :=LoadFromTxtFile('d:\\1.txt',7);
end;
Begin
if In1 = 4 then
Out2 :=LoadFromTxtFile('d:\\1.txt',8);
end;
Begin
WriteValue('устав1_1',Out1);
WriteValue('устав1_2',Out2);
end ; 

но почему то ругается на окончание скрипта end; Что не так? пишу в SimpLight уже четыре дня - ни фига никто не отвечает !!!

Var

   In1 : Integer;

   Out1, Out2 : String;

Begin

   In1 := ReadValue('выбор рецепта');

   if In1 = 1 then Out1 := LoadFromTxtFile('d:\\1.txt',0)

   else if In1 = 2 then Out1 := LoadFromTxtFile('d:\\1.txt',1)

   else if In1 = 3 then Out1 := LoadFromTxtFile('d:\\1.txt',2)

   else if In1 = 4 then Out1 := LoadFromTxtFile('d:\\1.txt',3);

   if In1 = 1 then Out2 := LoadFromTxtFile('d:\\1.txt',5)

   else if In1 = 2 then Out2 := LoadFromTxtFile('d:\\1.txt',6)

   else if In1 = 3 then Out2 := LoadFromTxtFile('d:\\1.txt',7)

   else if In1 = 4 then Out2 := LoadFromTxtFile('d:\\1.txt',8);


   WriteValue('устав1_1',Out1);

   WriteValue('устав1_2',Out2);

end.

подскажите как сохранить глобальные переменные на диск. чтобы они оставались в значениях после закрытия программы:

Var
in1, in2, in3, in4, in5, out1: Integer;
Begin
in1 := ReadValue('in1');
in2 := ReadValue('in2');
in3 := ReadValue('in3');
in4 := ReadValue('in4');
in5 := readvalue('in5');
SetGlobalVar('in2',in2,true);
SetGlobalVar('in3',in3,true);
SetGlobalVar('in4',in4,true);

GetGlobalVar('in2');
GetGlobalVar('in3');
GetGlobalVar('in4');

if in1 = 1 then out1 := in2;
if in1 = 2 then out1 := in3;
if in1 = 3 then out1 := in4;

WriteValue('out1', out1);

end.

после перезагрузки программы задавая в in1 - 1. 2. 3 значения переменных не сохранились - только 0

Сервис поддержки клиентов работает на платформе UserEcho