PascalScript, включая другие сценарии для каждого использования или команды включения - PullRequest
1 голос
/ 26 мая 2011

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

Он хочет написать один скрипт, который содержит все виды констант / переменных, и другой, который выполняет логику.В конце он хочет включить константы в свой логический сценарий.

Надеюсь, это было достаточно ясно, чтобы понять.

Ответы [ 2 ]

3 голосов
/ 26 мая 2011

Я узнал, вот как это сделать: для свойства UsePreprocessor компилятора PascalScript должно быть установлено значение true.Если это так, теперь вы можете использовать следующую команду препроцессора:

{$ I filename.txt}

Также вам нужно реализовать событие OnNeedFile компилятора с помощью чего-то вроде следующего примера, который я нашелв сети:

function TForm1.ceNeedFile(Sender: TObject; const OrginFileName: String;
var FileName, Output: String): Boolean;
var
  path: string;
  f: TFileStream;
begin
  Path := ExtractFilePath(ParamStr(0)) + FileName;
  try
    F := TFileStream.Create(Path, fmOpenRead or fmShareDenyWrite);
  except
    Result := false;
    exit;
  end;
  try
    SetLength(Output, f.Size);
    f.Read(Output[1], Length(Output));
  finally
    f.Free;
  end;
  Result := True;
end;
0 голосов
/ 26 мая 2011

(пожалуйста, исправьте заголовок вашего вопроса)

Я не совсем уверен, но у afaik Pascalscript нет понятия «файл».Вы можете просто объединить обе части перед передачей их интерпретатору или сделать небольшой препроцессор для поиска операторов включения {$ I} и поиска кода для вставки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...