Criando aplicação para detectar informações do sistema em Kylix

Esse artigo vai ensinar a criar uma aplicação no qual o usuário obterá algumas informações do sistema, tais como: processador, fabricante, velocidade, cache, etc.

[ Hits: 13.635 ]

Por: Perfil removido em 05/01/2004


Criando as procedures



Agora vamos programar:

Primeiramente vamos criar uma procedure privada com as variáveis nos quais servirão para tabular as informações.

private
  { Private declarations }  
  procedure QuebraLinha(Linha : String; var Info, Valor :  
  String);  

Vamos voltar a procedure onCreate:

procedure TForm1.FormCreate(Sender: TObject);  
const  
  Nomes : Array[1..5] of String = ('model name', 'vendor_id',  
    'cpu MHz', 'cache size', 'bogomips');  
var  
  Info, Valor : String;  
  i : Integer;  

  CpuInfo : PIOFile;  
  Linha : Array[0..254] of Char;  
begin  
// abre o arquivo /proc/cpuinfo para leitura
  CpuInfo := fopen('/proc/cpuinfo', 'r');  
  try  
// processa o arquivo enquanto carrega as informações  
    while fgets(Linha,255,CpuInfo) <> nil do begin  
// realiza tabulação entre o dado da informação e seu valor  
      QuebraLinha(String(Linha), Info, Valor);  
// verifica os valores das informações levantadas  
      for i := 1 to 5 do  
        if Info = Nomes[i] then  
// se estiver de acordo preenche o label com o valor  
          TLabel(FindComponent('label'+IntToStr(i))).Caption :=  
            Valor;  
    end;  
  finally  
    fclose(CpuInfo);  
  end;  
end;  
  
procedure TForm1.QuebraLinha(Linha: String; var Info,  
  Valor: String);  
var  
  PosAtu : Integer;  
begin  
// determina posição do sinal de :  
  PosAtu := Pos(':', Linha);  
  if PosAtu > 0 then begin  
// a linha tem : - quebra a parte anterior e joga em Info  
//    a parte posterior é colocada em Valor  
    Info := Trim(Copy(Linha,1,PosAtu-1));  
    Valor := Trim(Copy(Linha,PosAtu+1,Length(Linha)));  
  end  
  else begin  
// a linha não tem : - Info tem a linha toda e  
//    Valor é uma string em branco  
    Info := Linha;  
    Valor := '';  
  end;  
end;  

end.

Beleza amigos, agora é só compilar e visualizar as configurações do seu sistema!

-----------------------------
Viva a liberdade dos Códigos
-----------------------------
Master_foca.

Página anterior    

Páginas do artigo
   1. Construindo o formulário
   2. Criando as procedures
Outros artigos deste autor

Distribuições Linux no Samsung Chromebook ARM (XE303C12)

Criando um servidor de impressão para residências e pequenas empresas com Linux

Arquivos de configuração de rede - Parte I - /etc/hosts

Como imprimir diretamente na porta de impressão

Como prevenir o Buffer Overflow

Leitura recomendada

Como fazer seu programa Kylix chamar uma aplicação externa

TCollection e Generics no Free Pascal - Uma breve visão sobre lista de objetos com o Lazarus

Aprendendo a modelar forms no Kylix

Cross-compile Lazarus: Gerando executáveis Win32 estando no Linux

Integrando saídas de comandos shell com sua aplicação Kylix

  
Comentários
[1] Comentário enviado por removido em 06/01/2004 - 04:24h

Parabéns pelo artigo :)

[2] Comentário enviado por nico_di_mafre em 03/09/2004 - 15:19h

Legal este seu artigo, muito bom!!!


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts