Fórum Diretorio Windows #262515
17/12/2004
0
é 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
Curtir tópico
+ 0Posts
17/12/2004
Rafs
Gostei + 0
17/12/2004
Rafael Miguel
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
17/12/2004
Guilherme
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
17/12/2004
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
19/12/2004
Guilherme
Obrigado pela compreensao
Gostei + 0
20/12/2004
Martins
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
20/12/2004
Guilherme
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)