Uso da classe System

Flash Player 9 e posterior, Adobe AIR 1.0 e posterior

A classe System contém métodos e propriedades que permitem interagir com o sistema operacional do usuário e recuperar a utilização de memória atual do tempo de execução. Os métodos e as propriedades da classe System também permitem ouvir eventos imeComposition , instruir o tempo de execução do a carregar arquivos de texto externos usando a página de código atual do usuário ou carregá-las como Unicode ou definir o conteúdo da área de transferência do usuário.

Obtenção de dados sobre o sistema do usuário em tempo de execução

Com a verificação da propriedade System.totalMemory , é possível determinar a quantidade de memória (em bytes) que o tempo de execução do está usando no momento. Essa propriedade permite monitorar o uso de memória do monitor e otimizar os aplicativos com base em como o nível de memória é alterado. Por exemplo, se um efeito visual específico provocar um grande aumento no uso de memória, você poderá desejar considerar modificar ou eliminar o efeito completamente.

A propriedade System.ime é uma referência ao IME (Editor de método de entrada) instalado. Essa propriedade permite ouvir eventos imeComposition ( flash.events.IMEEvent.IME_COMPOSITION ) usando o método addEventListener() .

A terceira propriedade na classe System é useCodePage . Quando useCodePage está definido como true , o tempo de execução do usa a página de código tradicional do sistema operacional para carregar os arquivos de texto externos. Se definir essa propriedade como false , você indicará ao tempo de execução do para interpretar o arquivo externo como Unicode.

Se você definir System.useCodePage como true , lembre-se de que a página de código tradicional do sistema operacional deve incluir os caracteres usados no arquivo de texto externo para que o texto seja exibido. Por exemplo, se você carregar um arquivo de texto externo com caracteres chineses, esses caracteres não poderão ser exibidos em um sistema que use a página de código do Windows em inglês, pois essa página de código não inclui caracteres chineses.

Para garantir que usuários em diversas plataformas visualizem arquivos de texto externos utilizados em seu aplicativo, codifique todos os arquivos texto como Unicode e mantenha System.useCodePage definido em false com padrão. Dessa forma, o tempo de execução do interpreta o texto como Unicode.

Salvamento de texto na área de transferência

A classe System inclui um método chamado setClipboard() que permite que o tempo de execução do Flash defina o conteúdo da área de transferência do usuário com uma string especificada. Por motivos de segurança, não existe nenhum método Security.getClipboard() , pois esse método pode potencialmente permitir que sites mal-intencionados acessem os dados copiados recentemente na área de transferência do usuário.

O código a seguir ilustra como uma mensagem de erro pode ser copiada na área de transferência do usuário quando ocorre um erro de segurança. A mensagem de erro poderá ser útil se o usuário desejar relatar um bug potencial com um aplicativo.

private function securityErrorHandler(event:SecurityErrorEvent):void 
{ 
    var errorString:String = "[" + event.type + "] " + event.text; 
    trace(errorString); 
    System.setClipboard(errorString); 
}

Flash Player 10 e AIR 1.0

Você pode usar a classe Clipboard para ler e gravar dados na área de transferência e reagir a um evento do usuário. No AIR, um evento de usuário não é obrigatório para código executado na área de segurança do aplicativo para acessar a área de transferência.