Aplicação avançada do ScriptControl em Delphi (i)
Nosso sistema Windows fornece um componente OCX chamado ScriptControl, que podemos usar para realizar o maravilhoso mundo da narrativa de scripts.
1. Crie serviço de componente ScriptControl
Primeiro, vamos dar uma olhada em quais métodos e propriedades esse componente possui. Conforme mostrado na Figura 001, 002.
Figura 001
Figura 002
Em seguida, usamos o Delphi para criar serviços de componentes. Na Figura 001, pode -se observar que o progídeo deste componente é "msscriptControl.scriptControl". .1 ” . Assim, podemos criar um componente como este: var sc: olevariant; BEGN SC: = CREATELOOBJET ('MSSCRCriptControl.ScriptControl.1'); // Use a propriedade Language para definir o idioma usado pelo componente // o idioma pode ser: VBScript, JavaScript (também pode ser abreviado como jScript) // equivalente a <script linguagem = 'jscript'> usado em html ... </sCipp> sc.language: = 'javascript'; end;
2. Use avaliar () para implementar o cálculo da expressão matemática mais simples
Eval () é o método mais comumente usado neste componente e também é um método que é frequentemente usado pelas pessoas para calcular expressões matemáticas. Função de demonstração Calc (Expressão Const: String): Inteiro;
3 ' ; *
3 ' );
3. Implementar a criptografia de caracteres chinesa
Existem duas funções em JavaScript, Escape e UNESCAPE, que geralmente são usadas como criptografia para scripts no código HTML.
Figura 003 Criptografia: Palavras: = 'Esta é uma peça de informação de caractere chinesa criptografada com fuga! '; // Resultado:%u8fd9%u
662f %u4e00%u6bb5%u7528escape%u
52a 0%u5bc6%u7684%u
6c 49%U5B57%U4FE1%u
606f %UFF01 Resultado: = SC.Eval ('Escape (' 'Words+' '' ')');
4. Use expressões regulares JavaScript para verificar a especificação de endereços IP
Aqui precisamos usar o método AddCode de ScriptControl para adicionar métodos personalizados. As regras para endereços IP são de
0.0.0 .0-255.255.255.255.255. A seguir, é apresentado o código para verificar o endereço IP: var idict, script: string; Begin // Ip Idict regular: = '^([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]) $ '; // Script de função personalizado javascript: = 'função ipreg (str) {'+ 'var re = novo regexp (' '+ ipreg+' '' ');'+ 'return re.test (str);}'; (script); ; end; -------------------------- Joecom (Juwuyi) 2005-03-19