- Сообщения
- 8,673
- Репутация
- 2,486
Viktor1703 [?]
но естественно сразу встаёт вопрос о реализации обработки событии, условности и т.д. и т.п.
Теоретический, можно было бы написать обработчик, типа такого:циклы он не способен обработать
Код:
_Execute(ClipGet())
Func _Execute($sString)
Local $aSplit = StringSplit(StringStripCR($sString), @LF)
For $i = 1 To $aSplit[0]
If StringStripWS($aSplit[$i], 8) = '' Or StringRegExp($aSplit[$i], '^\h*;') Then
ContinueLoop
EndIf
$sVar = StringRegExpReplace($aSplit[$i], '^(?:\h*\$(\w+)\h*=\h*)?.*', '\1')
$sLine = StringRegExpReplace($aSplit[$i], '^(?:\h*\$\w+\h*=\h*)?(.*?)', '\1')
If StringStripWS($sLine, 8) = '' Then
ContinueLoop
EndIf
If $sVar <> '' Then
Assign($sVar, Execute($sLine), 2)
Else
If StringRegExp($sLine, '(?i)^\h*While\h*') Then
$sWhile_Statement = StringRegExpReplace($sLine, '(?i)^\h*While\h*', '')
While $sWhile_Statement
For $j = $i + 1 To $aSplit[0]
If StringRegExp($aSplit[$j], '(?i)^\h*WEnd\h*') Then
ExitLoop
Else
_Execute($aSplit[$j])
EndIf
Next
WEnd
$i = $j
ContinueLoop
EndIf
If StringRegExp($sLine, '(?i)^\h*Exit') Then
;Exit
EndIf
Execute($sLine)
EndIf
Next
EndFunc
но естественно сразу встаёт вопрос о реализации обработки событии, условности и т.д. и т.п.