Усовершенствованное применение ScriptControl в Delphi (i)
Наша система Windows предоставляет компонент OCX под названием ScriptControl, который мы можем использовать, чтобы реализовать замечательный мир рассказывания историй сценария.
1. Создание службы компонентов ScriptControl
Во -первых, давайте посмотрим, какие методы и свойства имеют этот компонент. Как показано на рисунке 001, 002.
Рисунок 001
Рисунок 002
Далее мы используем Delphi для создания компонентных сервисов. Из рисунка 001 видно, что прогид этого компонента является "msscriptControl.ScriptControl". .1 » Полем Таким образом, мы можем создать компонент, подобный этим: var sc: olevariant; begin sc: = createoleobject ('msscriptControl.scriptControl.1'); // Использование языкового свойства для установки языка, используемого компонентом // Язык может быть: VBScript, JavaScript (также может быть сокращена как JScript) // эквивалент <script language = 'jscript'> используется в html ... </scipt> sc.language: = 'javascript'; end;
2. Используйте eval () для реализации простейшего расчета математического выражения
Eval () является наиболее часто используемым методом в этом компоненте, и это также метод, который часто используется людьми для расчета математических выражений. Демо -функция Calc (Const Expring: String): Integer;
3 ' ; *
3 ' );
3. Внедрение шифрования китайских символов.
Есть две функции в JavaScript, Escape и Unescape, которые обычно используются в качестве шифрования для скрипта в HTML -коде.
Рис. '; // Результат:%u8fd9%u
662f %U4E00%U6BB5%U7528ESC%U.
52а 0%U5BC6%U7684%u
6C 49%U5B57%U4FE1%U.
606f %uff01 Результат: = sc.eval ('recap (' '+words+' '') ');
4. Используйте регулярные выражения JavaScript для проверки спецификации IP -адресов
Здесь нам нужно использовать метод AddCode ScriptControl для добавления пользовательских методов. Правила для IP -адресов из
0,0,0 .0-255.255.255.255.255. Ниже приведен код для проверки IP-адреса: var idict, script: string; begin // ip reful idict: = '^([01]? [0-9] [0-9] | [01]? [0 -9]? [0-9] | 2 [0-4] [0-9] | 25 [0-5]) /.'+ '([01]? [0-9] [0-9] | [01]? [0-9]? [0-9] | 2 [0-4] [0-9] | 25 [0-5]) /.'+ '([01]? [0-9] [0 -9] | [01]? [0-9]? [0-9] | 2 [0-4] [0-9] | 25 [0-5]) /.'+ '([01] ? [0-9] [0-9] | [01]? [0-9]? [0-9] | 2 [0-4] [0-9] | 25 [0-5]) $ '; // Javascript Custom Function Script: = 'function ipreg (str) {'+ 'var re = new regexp (' '+ ipreg+' ''); '+' return re.test (str);} '; (Script); ; end; ---------------------------- Joecom (Juwuyi) 2005-03-19