REVELAR

Fórum DialUp com Delphi #327153

10/08/2006

0

Olá amigos, até então sempre achei uma tolisse criar um discador,
já que todos os provedores possuem seus próprios discadores.


Mais infelismente percebi, que existem situações particulares em que os discadores dos provedores não possuem todos os recuros:

Tipo:
#Multiplas conexões:
(ou seja, colocar em um único discador vários conexões: oi, uol ig, ibest)
Assim um único discador poderia, guarda vários logins, senhas e número de acesso.
Horário reduzido: Configurar o discador para somente permitir conectar determinados horários(horários reduzidos).

Em fim, existem n motivos ...

Olá amigos, já busquei aqui no forum vários tópicos sobre o assunto mais não encontrei a solução.

Estou querendo Criar um discador com o delphi:
Que informando:
ID de login: guialberto@oi.com.br
Senha: ******
número de acesso: 1500-2222

Ou seja, que podesse Discar e autenticar usuário senha

Ok, estou aguardando a ajuda dos amigos ...


Guialberto Soares

Guialberto Soares

Responder

Posts

11/08/2006

Guialberto Soares

Olá amigos, encontrei em ´Torry´s Delphi Pages´ os seguintes códigos:

uses shellapi;
{$R *.dfm}

procedure TForm1.btnConectarClick(Sender: TObject);
var
cmd, par, fil, dir: PChar;
begin
// establish the connection
// die Verbindung aufbauen
// rasdial.exe entryname username password
cmd := ´open´;
fil := ´rasdial.exe´;
[b:96de6a27d7]par := PChar(edtEntry.Text+´ ´+edtUser.Text + ´ ´ + edtPass.Text);[/b:96de6a27d7]
dir := ´C:´;
// call rasdial.exe with Shellexecute
// rasdial mit Shellexecute aufrufen
{SW_SHOWMINNOACTIVE ou SW_HIDE ou SW_SHOWNORMAL};
ShellExecute(Self.Handle, cmd, fil, par, dir, SW_SHOWNORMAL);
end;

procedure TForm1.btnDesconectarClick(Sender: TObject);
var
cmd, par, fil, dir: PChar;
begin
// disconnect the connection to the Internet
// Verbindung zum Internet abbrechen
cmd := ´open´;
fil := ´[color=red:96de6a27d7]rasdial.exe[/color:96de6a27d7]´;
par := PChar(edtEntry.Text + ´ /DISCONNECT´);
dir := ´C:´;
ShellExecute(Self.Handle, cmd, fil, par, dir, SW_SHOWMINNOACTIVE);
end;


Se eu criar uma conexão (em Conexões de rede), com um
NOME, TELEFONE DE ACESSO, com o código acima consigo conectar
e autenticar normalmente:
consigo, me conectar até mesmo passando um outro nome de usuário e senha, o único incoveniente é que não consigo passa para a linha de código um outro TELEFONE DE ACESSO, a linha de código:

par := PChar(edtEntry.Text+´ ´+edtUser.Text + ´ ´ + edtPass.Text);

ficaria mais ou menos assim:

[color=red:96de6a27d7]par := PChar(edtEntry.Text+´ ´+edtUser.Text + ´ ´ + edtPass.Text+´ ´+EditNumeoAcesso.text)[/color:96de6a27d7]

Mas, não dá certo, alguém saberia me ajudar:

Pesquisei sobre Rasdial.exe no Windows e a sintaxe é o seguinte:

[color=blue:96de6a27d7]Sintaxe
rasdial nome_da_conexão [nome_de_usuário [senha | *]] [/domain:domínio] [/phone:número_de_telefone] [/callback:número_para_retorno_de_chamada] [/phonebook:caminho_do_catálogo_telefônico] [/prefixsuffix][/color:96de6a27d7]

onde:

nome_de_usuário [senha | *]
Especifica um nome de usuário e uma senha com os quais será estabelecida a conexão. Se for utilizado um asterisco, o usuário será solicitado a fornecer a senha, mas os caracteres digitados não serão exibidos.
/domain:domínio
Especifica o domínio no qual se localiza a conta de usuário.
Se não estiver presente, será utilizado o último valor do campo Domínio, na caixa de diálogo Conectar a.

/phone:número_de_telefone
Substitui o número de telefone especificado pelo número de telefone da entrada no arquivo Rasphone.pbk.
/callback:número_para_chamada_de_retorno
Substitui o número de retorno de chamada especificado pelo número de retorno de chamada da entrada no arquivo Rasphone.pbk.
/disconnect
Desconecta a entrada especificada.
/phonebook:caminho_do_catálogo_telefônico
Especifica o caminho para o arquivo do catálogo telefônico. O padrão é raiz_do_sistema\System32\Ras\nome_de_usuário.pbk. Você pode especificar um caminho completo para o arquivo.
/prefixsuffix
Aplica as atuais configurações de discagem de local TAPI ao número de telefone. Essas configurações são definidas em Telefonia, no Painel de controle. Por padrão, essa opção fica desativada.


[color=red:96de6a27d7]Como fazer então?[/color:96de6a27d7]


Responder

Gostei + 0

11/08/2006

Guialberto Soares

Ok amigos, conseguir a linha de código que me referir, ficará assim:

[color=blue:4b2b4ad835]par := PChar(edtEntry.Text+´ ´+edtUser.Text + ´ ´ + edtPass.Text+´ /phone:´+edtNumero.text);[/color:4b2b4ad835][b:4b2b4ad835][/b:4b2b4ad835]


Coloco agora uma outra dúvida:
O programa rasdial.exe, que é executado no prompt do DOS, exibi
menssagens sobre o estatus da conexão, tais como:

[color=violet:4b2b4ad835]Conectanto-se a IBEST
Verificando nome do usuário e a senha ....
Registrando o computador na rede[/color:4b2b4ad835]

Como fazer para capturar essas menssagens e exibi-las em label em
meu aplicativo, pois desse modo eu poderial ao chamar a


[color=red:4b2b4ad835]ShellExecute(Self.Handle, cmd, fil, par, dir, SW_SHOWNORMAL);[/color:4b2b4ad835]
passaria SW_HIDE, como parâmetro para não mostrar a janela do prompt
Ficando assim
[color=blue:4b2b4ad835]ShellExecute(Self.Handle, cmd, fil, par, dir, SW_HIDE);[/color:4b2b4ad835]


Aguardo retorno ...


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar