Fórum Informação sobre o S.O. #410457
12/12/2011
0
Como sou novato em Delphi fiquei perdido e espero que possam me ajudar.
unit uFuncoes;
interface
uses Windows, IniFiles;
function getMemoriaFisica : Integer;
function getMemoriaFisicaMB : Integer;
function getSO : string;
function getIni(lcIni, lcSessao, lcSubSessao : string) : string;
procedure setIni(lcIni, lcSessao, lcSubSessao, lcValor : string);
implementation
//funcao que retorna o tamanho da memoria fisica
function getMemoriaFisica : Integer;
var
{
typedef struct _MEMORYSTATUS
DWORD dwLength; //sizeof (MEMORYSTATUS)
DWORD dwMemoryLoad; //percentual de memoria em uso
DWORD dwTotalPhys; //bytes de memoria fisica
DWORD dwAvailPhys; //bytes livres de memoria fisica
DWORD dwTotalPageFile; //bytes de paginacao do arquivo
DWORD dwAvailPageFile; //bytes livres de paginacao do arquivo
DWORD dwTotalVirtual; //byte em uso de espaco de endereco
DWORD dwAvailVirtual; //bytes livres
}
loMemoryStatus : TMemoryStatus;
begin
loMemoryStatus.dwLength := sizeof(loMemoryStatus);
GlobalMemoryStatus(loMemoryStatus);
Result := loMemoryStatus.dwAvailPhys;
end;
//funcao que retorna o tamanho da memoria fisica em megabytes
function getMemoriaFisicaMB : Integer;
begin
Result := getMemoriaFisica div 1024; //obtem o tamanho em kilobytes
Result := Result div 1024; //obtem o tamanho em megabytes
end;
//funcao que retorna informacoes sobre o Sistema Operacional
//{
function getSO : string;
var
loInfo : TOsVersionInfo;
begin
loInfo.dwOSVersionInfoSize := SizeOf(TOSVersionInfo);
if GetVersionEx(loInfo) then
begin
if loInfo.dwPlatformId = VER_PLATAFORM_WIN32s then
Result := Microsoft Windows 95
else if loInfo.dwPlatformId = VER_PLATAFORM_WIN32_WINDOWS then
Result := Microsoft Windows 95 Osr2 / 98
else
Result := Microsoft Windows NT;
end
else
Result := Não foi possivel descobrir S.O.;
end;
//}
procedure setIni(lcIni, lcSessao, lcSubSessao, lcValor : String);
var
loIni : TIniFile;
begin
loIni := TIniFile.Create(lcIni);
try
loIni.WriteString(lcSessao, lcSubSessao, lcValor);
finally
loIni.Free;
end;
end;
function getIni(lcIni, lcSessao, lcSubSessao : String) : String;
var
loIni : TIniFile;
begin
loIni := TIniFile.Create(lcIni);
try
Result := loIni.ReadString(lcSessao, lcSubSessao, );
finally
loIni.Free;
end;
end;
end.
Os erros ao tentar compilar seguem abaixo:
[Error] uFuncoes.pas(51): Undeclared identifier: VER_PLATAFORM_WIN32s
[Warning] uFuncoes.pas(51): Comparing signed and unsigned types - widened both operands
[Error] uFuncoes.pas(53): Undeclared identifier: VER_PLATAFORM_WIN32_WINDOWS
[Warning] uFuncoes.pas(53): Comparing signed and unsigned types - widened both operands
[Fatal Error] Ponto.dpr(9): Could not compile used unit uFuncoes.pas
Espero que eu tenha sido claro e que vocês possam me ajudar.
Mario Junior
Curtir tópico
+ 0Posts
12/12/2011
Marcelo Fernandes
Gostei + 0
12/12/2011
Mario Junior
Eu declarei VER_PLATAFORM_WIN32s e o correto é VER_PLATFORM_WIN32s.
Percebeu a diferença?
Depois que eu corrigi, compilou normalmente.
Agradeço a atenção.
Gostei + 0
12/12/2011
Mario Junior
Eu declarei VER_PLATAFORM_WIN32s e o correto é VER_PLATFORM_WIN32s.
Percebeu a diferença?
Depois que eu corrigi, compilou normalmente.
Agradeço a atenção.
Detalhe importante: Como finalizo/concluo um tópico?
Risos...
Gostei + 0
13/12/2011
Mario Junior
Gostei + 0
15/12/2011
Wilson Junior
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)