Uses ddeman;
function GetURL(Service: string): String;
var
ClDDE: TDDEClientConv;
temp:PChar;
begin
Result := '';
//create a new DDE Client object
ClDDE:= TDDEClientConv.Create( nil );
with ClDDE do
begin
SetLink(Service,'WWW_GetWindowInfo');
temp := RequestData('0xFFFFFFFF');
Result := StrPas(temp);
StrDispose(temp);
CloseLink;
end;
ClDDE.Free;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
ShowMessage(GetURL('IExplore'));
end;
segunda-feira, 16 de agosto de 2010
Como descobrir se você esta conectado com a Internet?
1º) Você deve acrescentar um componente NMFTP (da paleta FastNet).
2º) Insira o seguinte código no evento OnShow do formulário.
If (NMFtp1.GetLocalAddress <> '0,0,0,0') Then ShowMessage('Você não está conectado!') Else ShowMessage('Você está conectado!');
3º) Execute o programa e veja o resultado.
By Carlos Naves - http://www.carlosnaves.hpg.com.br/
2º) Insira o seguinte código no evento OnShow do formulário.
If (NMFtp1.GetLocalAddress <> '0,0,0,0') Then ShowMessage('Você não está conectado!') Else ShowMessage('Você está conectado!');
3º) Execute o programa e veja o resultado.
By Carlos Naves - http://www.carlosnaves.hpg.com.br/
Como conectar uma unidade de rede
procedure TForm1.Button1Click(Sender: TObject);
var
NRW: TNetResource;
begin
with NRW do
begin
dwType := RESOURCETYPE_ANY;
lpLocalName := 'G:';
lpRemoteName := '\\servidor\c';
lpProvider := '';
end;
WNetAddConnection2(NRW, 'MyPassword', 'MyUserName', CONNECT_UPDATE_PROFILE);
end;
var
NRW: TNetResource;
begin
with NRW do
begin
dwType := RESOURCETYPE_ANY;
lpLocalName := 'G:';
lpRemoteName := '\\servidor\c';
lpProvider := '';
end;
WNetAddConnection2(NRW, 'MyPassword', 'MyUserName', CONNECT_UPDATE_PROFILE);
end;
Como compartilhar uma pasta de um outro micro e mapear com uma letra
var
err : DWord;
PServer, PSenha, PLetra : PChar;
Begin
PServer := '\\Caminho\Caminho' + #0;
PLetra := 'L:';
PSenha := '';
ERR := WNetAddConnection ( PServer , PSenha , PLetra );
CASE ERR of
ERROR_ACCESS_DENIED : ShowMessage ( 'Acesso negado.' );
ERROR_ALREADY_ASSIGNED : ShowMessage ( 'A letra do drive especificada já está conectada.' );
ERROR_BAD_DEV_TYPE : ShowMessage ( 'O tipo de dispositivo e o tipo de recurso não são compatíveis.' );
ERROR_BAD_DEVICE : ShowMessage ( 'Letra inválida.' );
ERROR_BAD_NET_NAME : ShowMessage ( 'Nome do servidor não é válido ou não pode ser localizado.' );
ERROR_BAD_PROFILE : ShowMessage ( 'Formato incorreto de parâmetros.' );
ERROR_CANNOT_OPEN_PROFILE : ShowMessage ( 'Conexão permanente não disponível.' );
ERROR_DEVICE_ALREADY_REMEMBERED : ShowMessage ( 'Uma entrada para o dispositivo especificado já está no perfil do usuário.' );
ERROR_EXTENDED_ERROR : ShowMessage ( 'Erro de rede.' );
ERROR_INVALID_PASSWORD : ShowMessage ( 'Senha especificada inválida.' );
ERROR_NO_NET_OR_BAD_PATH : ShowMessage ( 'A operação não foi concluída porque a rede não foi inicializada ou caminho é inválido.' );
ERROR_NO_NETWORK : ShowMessage ( 'A rede não está presente.' );
else if Err > 0 then
ShowMessage (IntToStr(Err));
end;
end;
Obs.:Se "PLetra" for deixada em branco, o acesso será liberado sem ser criada uma unidade lógica.
err : DWord;
PServer, PSenha, PLetra : PChar;
Begin
PServer := '\\Caminho\Caminho' + #0;
PLetra := 'L:';
PSenha := '';
ERR := WNetAddConnection ( PServer , PSenha , PLetra );
CASE ERR of
ERROR_ACCESS_DENIED : ShowMessage ( 'Acesso negado.' );
ERROR_ALREADY_ASSIGNED : ShowMessage ( 'A letra do drive especificada já está conectada.' );
ERROR_BAD_DEV_TYPE : ShowMessage ( 'O tipo de dispositivo e o tipo de recurso não são compatíveis.' );
ERROR_BAD_DEVICE : ShowMessage ( 'Letra inválida.' );
ERROR_BAD_NET_NAME : ShowMessage ( 'Nome do servidor não é válido ou não pode ser localizado.' );
ERROR_BAD_PROFILE : ShowMessage ( 'Formato incorreto de parâmetros.' );
ERROR_CANNOT_OPEN_PROFILE : ShowMessage ( 'Conexão permanente não disponível.' );
ERROR_DEVICE_ALREADY_REMEMBERED : ShowMessage ( 'Uma entrada para o dispositivo especificado já está no perfil do usuário.' );
ERROR_EXTENDED_ERROR : ShowMessage ( 'Erro de rede.' );
ERROR_INVALID_PASSWORD : ShowMessage ( 'Senha especificada inválida.' );
ERROR_NO_NET_OR_BAD_PATH : ShowMessage ( 'A operação não foi concluída porque a rede não foi inicializada ou caminho é inválido.' );
ERROR_NO_NETWORK : ShowMessage ( 'A rede não está presente.' );
else if Err > 0 then
ShowMessage (IntToStr(Err));
end;
end;
Obs.:Se "PLetra" for deixada em branco, o acesso será liberado sem ser criada uma unidade lógica.
Chamar um site utilizando o seu browse padrão
Uses UrlMon;
Procedure TForm1.Button1Click(Sender: TObject);
Begin
HlinkNavigateString(nil,'http://www.lloydsoft.hpg.ig.com.br');
End;
Procedure TForm1.Button1Click(Sender: TObject);
Begin
HlinkNavigateString(nil,'http://www.lloydsoft.hpg.ig.com.br');
End;
Chamar um e-mail pelo Delphi
procedure TForm1.Button1Click(Sender: TObject);
var
Mail : String;
begin
Mail := 'mailto:rudineirosa@gmail.com';
ShellExecute(GetDesktopWindow,'open',pchar(Mail),nil,nil,sw_ShowNormal);
end;
var
Mail : String;
begin
Mail := 'mailto:rudineirosa@gmail.com';
ShellExecute(GetDesktopWindow,'open',pchar(Mail),nil,nil,sw_ShowNormal);
end;
Bloqueando um arquivo em ambiente de rede
Quando você programar visando uma rede e quiser bloquear um arquivo, é só chamar o metodo "Edit" da Tabela que estiver usando.
Exemplo:
Table1.edit;
Se o registro já estiver bloqueado, ocorrerá um erro, então você deve fazer o seguinte :
try { para verificar o erro }
Table1.edit;
exception on TDBEngineError do { o erro..}
MensageDlg('Registro ja esta sendo usado...!',mtInformation,[ mbOk ],0 );
end;
Nao use o DBNavigation
Exemplo:
Table1.edit;
Se o registro já estiver bloqueado, ocorrerá um erro, então você deve fazer o seguinte :
try { para verificar o erro }
Table1.edit;
exception on TDBEngineError do { o erro..}
MensageDlg('Registro ja esta sendo usado...!',mtInformation,[ mbOk ],0 );
end;
Nao use o DBNavigation
Assinar:
Postagens (Atom)
-
function GetIP:string;//--> Declare a Winsock na clausula uses da unit var WSAData: TWSAData; HostEnt: PHostEnt; Name:string; begin...
-
Vamos criar uma API REST simples em Delphi. Para isso, usaremos o Delphi 7 com Indy components (se for o que você tem disponível) ou, se est...