Progr'amador Postado Agosto 6, 2004 Denunciar Share Postado Agosto 6, 2004 TENHO UM PROGRAMA QUE EU QUERO CONTROLAR O USO DELE. NO CASO EU USO UMA TABELA DO BD PRA LIMITAR A ABERTURA DELE, E ONDE TEM UM CAMPO DE DATA QUE INFORMA A DATA E A HORA QUE O PROG. FOI ABERTO. PERGUNTO: É POSSÍVEL EU TRAZER NUM CAMPO DA TABELA O LOCAL OU O NOME DO COMPUTADOR DA REDE QUE FOI ABERTO ESSE PROGRAMA, EX: Terminal1 OU \\Terminal\C\Conc alguém AI SABE ESSA? Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest thicow Postado Agosto 8, 2004 Denunciar Share Postado Agosto 8, 2004 Caso você ainda não tenha resolvido sua bronca, ai vai um código para você utilizar.Com ele você pode pegar o nome da máquina do usuário e o login de rede que o usuário esta logado.depois tem uma funcao que com ela você pode pegar o ip do usuário. Gravando alguma informação dessa no banco quando o usuário se loga, acho que tem como você fazer um certo controle..... var computername : array [0..MAX_COMUTERNAME_LENGTH+1] of char; username : Pchar; size: cardinal; count: cardinal; begin // computer size := MAX_COMPUTERNAME_LENGTH+1; if getcomputername (computername, size) then edit1.text := strpas(computarname) ; //user count := 0; getusername(nil,count); username := stralloc(Count); if getusername (username, count) then edit2.text := strpas (username); strdispose (username); end;onde MAX_COMUTERNAME_LENGTH = (quantidade de caracteres máxima que o nome de uma máquina da sua rede pode conter)função que retorna o IP!!!!!function GetIP:string;//--> Declare a Winsock na clausula uses da unit <--\\varWSAData: TWSAData;HostEnt: PHostEnt;Name:string;beginWSAStartup(2, WSAData);SetLength(Name, 255);Gethostname(PChar(Name), 255);SetLength(Name, StrLen(PChar(Name)));HostEnt := gethostbyname(PChar(Name));with HostEnt^ dobeginResult := Format('%d.%d.%d.%d',[byte(h_addr^[0]),Byte(h_addr^[1]),Byte(h_addr^[2]),Byte(h_addr^[3])]);end;WSACleanup;end;bom... tomara que tenha lhe ajudado!Atc Thicow Link para o comentário Compartilhar em outros sites More sharing options...
0 Progr'amador Postado Agosto 9, 2004 Autor Denunciar Share Postado Agosto 9, 2004 Ola amigo, deu o seguinte erro na linha abaixo:Types of actual and formal var parameters must be identical. if getcomputername (computername, size) then edit1.text := strpas(computername) valeu! Link para o comentário Compartilhar em outros sites More sharing options...
0 Progr'amador Postado Agosto 9, 2004 Autor Denunciar Share Postado Agosto 9, 2004 Resolvido,Fechado... Link para o comentário Compartilhar em outros sites More sharing options...
0 Arlon Postado Agosto 10, 2004 Denunciar Share Postado Agosto 10, 2004 Qual era o erro? Link para o comentário Compartilhar em outros sites More sharing options...
0 Progr'amador Postado Agosto 10, 2004 Autor Denunciar Share Postado Agosto 10, 2004 Qual era o erro? na verdade ainda não sei, é que eu achei um outro codigo que deu certo: //Nome do Computador function TForm1.NomeComputador : String; //--> Declare Registry no uses da unit var lpBuffer : PChar; nSize : DWord; const Buff_Size = MAX_COMPUTERNAME_LENGTH + 1; begin nSize := Buff_Size; lpBuffer := StrAlloc(Buff_Size); GetComputerName(lpBuffer,nSize); Result := String(lpBuffer); StrDispose(lpBuffer); end; //Nome do Usuario function TForm1.UserComputador : String; var vUser : PChar; nSize : DWord; const Buff_Size = MAX_COMPUTERNAME_LENGTH + 1; begin nSize := Buff_Size; vUser := StrAlloc(Buff_Size); GetUserName(vUser,nSize); Result := String(vUser); StrDispose(vUser); end; e a dica do ip deu certo. Link para o comentário Compartilhar em outros sites More sharing options...
0 Corposemalma Postado Agosto 10, 2004 Denunciar Share Postado Agosto 10, 2004 Fechando Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Progr'amador
TENHO UM PROGRAMA QUE EU QUERO CONTROLAR O USO DELE.
NO CASO EU USO UMA TABELA DO BD PRA LIMITAR A ABERTURA DELE, E ONDE TEM UM CAMPO DE DATA QUE INFORMA A DATA E A HORA QUE O PROG. FOI ABERTO.
PERGUNTO:
É POSSÍVEL EU TRAZER NUM CAMPO DA TABELA O LOCAL OU O NOME DO COMPUTADOR DA REDE QUE FOI ABERTO ESSE PROGRAMA,
EX: Terminal1 OU \\Terminal\C\Conc
alguém AI SABE ESSA?
Link para o comentário
Compartilhar em outros sites
6 respostass a esta questão
Posts Recomendados