Diretorio Windows
:shock:
é o seguinte antes de abrir o programa o sistema tem q verificar se existe um arquivo q esta na pasta windows\system mas o q acontece q ha uma diferença na pata do windows 2000 pois a pasta onde esta salvo o sistema operacional é winnt e nao windows e com isso ao rodar o aplicativo no win 2000 nao ira abrir ,gostaria de saber se tem como o sistema localizar o arquivo necessario na pasta do windows\system (mas ten q localizar a pasta do windows ).
é o seguinte antes de abrir o programa o sistema tem q verificar se existe um arquivo q esta na pasta windows\system mas o q acontece q ha uma diferença na pata do windows 2000 pois a pasta onde esta salvo o sistema operacional é winnt e nao windows e com isso ao rodar o aplicativo no win 2000 nao ira abrir ,gostaria de saber se tem como o sistema localizar o arquivo necessario na pasta do windows\system (mas ten q localizar a pasta do windows ).
Guilherme
Curtidas 0
Respostas
Rafs
17/12/2004
Utilize o método GetSystemDirectory que assim, independente do S.O. você obterá o diretório de sistemas correto.
GOSTEI 0
Rafael Miguel
17/12/2004
Fala mano véio.
Tente esse código:
Agora vc tem que descobrir como passar esse tipo de char para string normal do Delphi.
Espero ter ajudado.
Tente esse código:
procedure TForm1.FormCreate(Sender: TObject); var Str: PAnsiChar; begin StrCopy(Str, ´´); GetSystemDirectory(Str, 255); end;
Agora vc tem que descobrir como passar esse tipo de char para string normal do Delphi.
Espero ter ajudado.
GOSTEI 0
Guilherme
17/12/2004
[quote:590c46557e=´Rafael Miguel´]Fala mano véio.
Tente esse código:
Agora vc tem que descobrir como passar esse tipo de char para string normal do Delphi.
Espero ter ajudado.[/quote:590c46557e]
sou meio novato anto no delphi como na idade 14 aninhos
de uma olhada no codigo q ta no sistema
var
F: TextFile;
S: string;
begin
if not FileExists(´c:\winnt\sgcpro.dll´) Then Begin
ShowMessage(´Arquivo de Segurança nao Encontrado!´);
Application.Terminate;
End;
AssignFile(F, ´c:\winnt\sgcpro.dll´);
Reset(F);
Readln(F, S);
if StrToDate(S) < Date then Begin
ShowMessage(´Licença Expirada! Entre em Contato com o Distribuidor´);
Showmessage(´E-mail Gborges_13@yahoo.com.br´);
Application.terminate;
End;
CloseFile(F);
na onde esta (´c:\winnt|sgcpro.dll´) no lugar de ter que coloar o caminho do S O gostaria q encontrace altomaticamente ! Como fazo isso .
Tente esse código:
procedure TForm1.FormCreate(Sender: TObject); var Str: PAnsiChar; begin StrCopy(Str, ´´); GetSystemDirectory(Str, 255); end;
Agora vc tem que descobrir como passar esse tipo de char para string normal do Delphi.
Espero ter ajudado.[/quote:590c46557e]
sou meio novato anto no delphi como na idade 14 aninhos
de uma olhada no codigo q ta no sistema
var
F: TextFile;
S: string;
begin
if not FileExists(´c:\winnt\sgcpro.dll´) Then Begin
ShowMessage(´Arquivo de Segurança nao Encontrado!´);
Application.Terminate;
End;
AssignFile(F, ´c:\winnt\sgcpro.dll´);
Reset(F);
Readln(F, S);
if StrToDate(S) < Date then Begin
ShowMessage(´Licença Expirada! Entre em Contato com o Distribuidor´);
Showmessage(´E-mail Gborges_13@yahoo.com.br´);
Application.terminate;
End;
CloseFile(F);
na onde esta (´c:\winnt|sgcpro.dll´) no lugar de ter que coloar o caminho do S O gostaria q encontrace altomaticamente ! Como fazo isso .
GOSTEI 0
Martins
17/12/2004
Olá colega!
tente desse jeito.
Acredito deva servir para o q vc deseja.
Espero ter lhe ajudado!
Martins
tente desse jeito.
function RetornaSysDir: string; var MeuBuffer: Array [1..128] of Char; retorno: Integer; Begin retorno:=GetSystemDirectory(@MeuBuffer,128); if (retorno>128) OR (retorno=0) then RetornaSysDir:=´´ else RetornaSysDir:=StrPas(@MeuBuffer); End; procedure TForm1.Button1Click(Sender: TObject); begin Edit1.Text:=RetornaSysDir; end;
Acredito deva servir para o q vc deseja.
Espero ter lhe ajudado!
Martins
GOSTEI 0
Guilherme
17/12/2004
eu tentei mas nao consegui .Descupa ai pessoal mais sou mto novato como iria ficar no meu codigo q esta assima.
Obrigado pela compreensao
Obrigado pela compreensao
GOSTEI 0
Martins
17/12/2004
eu tentei mas nao consegui .Descupa ai pessoal mais sou mto novato como iria ficar no meu codigo q esta assima.
Obrigado pela compreensao
veja se assim funciona.
function RetornaSysDir: string; //Função para pegar o diretório do Win.
var
MeuBuffer: Array [1..128] of Char;
retorno: Integer;
Begin
retorno:=GetSystemDirectory(@MeuBuffer,128);
if (retorno>128) OR (retorno=0) then
RetornaSysDir:=´´
else
RetornaSysDir:=StrPas(@MeuBuffer);
End;
{** Sua função **}
var
F: TextFile;
S: string;
begin
if not FileExists(RetornaSysDir+´\sgcpro.dll´) Then Begin
ShowMessage(´Arquivo de Segurança nao Encontrado!´);
Application.Terminate;
End;
AssignFile(F, RetornaSysDir+´\sgcpro.dll´);
Reset(F);
Readln(F, S);
if StrToDate(S) < Date then Begin
ShowMessage(´Licença Expirada! Entre em Contato com o Distribuidor´);
Showmessage(´E-mail Gborges_13@yahoo.com.br´);
Application.terminate;
End;
CloseFile(F);
Veja se assim funciona e poste aqui novamente ok!
Espero ter ajudado.
Martins
GOSTEI 0
Guilherme
17/12/2004
Valeu galera vc´s me ajudaram mto !!!
GOSTEI 0