Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 19-09-2014
pr0sper0 pr0sper0 is offline
Miembro
NULL
 
Registrado: sep 2014
Ubicación: Villa Clara-Cuba
Posts: 12
Poder: 0
pr0sper0 Va por buen camino
Dialer Avanzado-Ayuda

Hola aqui les dejo un proyecto q estoy haciendo, si pueden hechenle una ojeada y denme idea para terminarlo que no se como hacerlo.

Última edición por Neftali [Germán.Estévez] fecha: 23-09-2014 a las 08:36:20.
Responder Con Cita
  #2  
Antiguo 19-09-2014
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.037
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
¿Idea sobre qué, para hacer qué?
Responder Con Cita
  #3  
Antiguo 19-09-2014
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.267
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Difícil poder ayudarte. Tal y como comenta Casimiro no dices nada del proyecto ni los problemas que tienes.
Además por lo que he visto en el código utilizas componentes TSui...
Por lo que intentar abrir el proyecto para los que no lostenemos instalados se hace imposible.

Un saludo.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #4  
Antiguo 19-09-2014
Avatar de gatosoft
[gatosoft] gatosoft is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Bogotá, Colombia
Posts: 833
Poder: 21
gatosoft Va camino a la fama
Intente abrir el proyecto y como dice Neftali tiene requerimientos de clases o componentes no nativos...

Podrías empezar con una breve descripción del objetivo y una guía de instalación / Ejecución....

Un saludo,
Responder Con Cita
  #5  
Antiguo 22-09-2014
pr0sper0 pr0sper0 is offline
Miembro
NULL
 
Registrado: sep 2014
Ubicación: Villa Clara-Cuba
Posts: 12
Poder: 0
pr0sper0 Va por buen camino
Smile Hola amigo

Me hace falata que el moderador del foro me quite el adjunto este junto con el mensaje que me hace falta poner otro adjunto y no tengo espacio, gracias.
Responder Con Cita
  #6  
Antiguo 23-09-2014
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.267
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por pr0sper0 Ver Mensaje
Me hace falata que el moderador del foro me quite el adjunto este junto con el mensaje que me hace falta poner otro adjunto y no tengo espacio, gracias.
Eliminado el adjunto.
Un saludo.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #7  
Antiguo 23-09-2014
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.037
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
No hacía falta pedirlo a todo el mundo en posts, mensajes privados, mensaje al email de contacto de los foros...
Responder Con Cita
  #8  
Antiguo 24-09-2014
pr0sper0 pr0sper0 is offline
Miembro
NULL
 
Registrado: sep 2014
Ubicación: Villa Clara-Cuba
Posts: 12
Poder: 0
pr0sper0 Va por buen camino
Question Marcador para conexión a Internet por modem

Hola necesito su ayuda con este código, lo que necesito esta comentado en el mismo y el proyecto lo pueden descargar en

terawiki.clubdelphi.com/Delphi/Proyectos/?download=Dialer.rar

Código Delphi [-]
unit Dialer;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, XPMan, ExtCtrls, ComCtrls, Buttons, StdCtrls, jpeg, shellapi;

type
  TFPrincipal = class(TForm)
    Image1: TImage;
    Image2: TImage;
    Image3: TImage;
    PageControl2: TPageControl;
    TabSheet3: TTabSheet;
    Label6: TLabel;
    Label8: TLabel;
    LabelSpeed: TLabel;
    Label10: TLabel;
    LabelOnline: TLabel;
    GroupBox4: TGroupBox;
    ConnList: TListBox;
    doHangup: TButton;
    doDial: TButton;
    GroupBox5: TGroupBox;
    Label14: TLabel;
    Label15: TLabel;
    ETiempoConexion: TPanel;
    ETiempoConsumido: TPanel;
    GroupBox11: TGroupBox;
    ETiempoContratado: TPanel;
    ConnLog: TMemo;
    TabSheet6: TTabSheet;
    Label3: TLabel;
    PageControl1: TPageControl;
    TabSheet2: TTabSheet;
    Label1: TLabel;
    SpeedButton2: TSpeedButton;
    GroupBox2: TGroupBox;
    edtUser: TEdit;
    GroupBox3: TGroupBox;
    edtPhone: TEdit;
    BitBtn1: TBitBtn;
    GroupBox6: TGroupBox;
    edtPass: TEdit;
    TabSheet5: TTabSheet;
    BitBtn2: TBitBtn;
    GroupBox1: TGroupBox;
    Edit4: TEdit;
    UpDown1: TUpDown;
    TabSheet7: TTabSheet;
    Label2: TLabel;
    GroupBox7: TGroupBox;
    Edit5: TEdit;
    GroupBox8: TGroupBox;
    Edit6: TEdit;
    BitBtn3: TBitBtn;
    TabSheet1: TTabSheet;
    Button2: TButton;
    GroupBox10: TGroupBox;
    Panel3: TPanel;
    TabSheet8: TTabSheet;
    Label12: TLabel;
    Panel6: TPanel;
    Label9: TLabel;
    DateTimePicker1: TDateTimePicker;
    Panel7: TPanel;
    Label11: TLabel;
    DateTimePicker2: TDateTimePicker;
    BitBtn4: TBitBtn;
    GroupBox9: TGroupBox;
    SpeedButton1: TSpeedButton;
    Edit7: TEdit;
    Button1: TButton;
    TabSheet4: TTabSheet;
    Label7: TLabel;
    Panel4: TPanel;
    Label4: TLabel;
    Label5: TLabel;
    Image4: TImage;
    Edit8: TEdit;
    Button3: TButton;
    XPManifest1: TXPManifest;
    TUnSegundo: TTimer;
    procedure FormCreate(Sender: TObject);
    procedure doDialClick(Sender: TObject);
    procedure doHangupClick(Sender: TObject);
    procedure TUnSegundoTimer(Sender: TObject);
    procedure Image2Click(Sender: TObject);
  private
  InicioConexion, TiempoConsumidoAlIniciarAplicacion : TDateTime;
  TiempoConexion, TiempoConsumido,TiempoContratado : TDateTime;
  procedure ActualizaDatos;
    { Private declarations }
  public
    { Public declarations }
  end;

var
  FPrincipal: TFPrincipal;

implementation

{$R *.dfm}
uses IniFiles;
const
  RAS_MaxEntryName = 256;
  RASBASE = 600;
  ERROR_BUFFER_TOO_SMALL = RASBASE + 3;
  ERROR_INVALID_SIZE = RASBASE + 32;

type
  PRasEntryName = ^TRasEntryName;
  TRasEntryName = record
    dwSize: Longint;
    szEntryName: array [0..RAS_MaxEntryName] of Char;
  end;

function RasEnumEntriesA(reserved: PChar; lpszPhonebook: PChar;
          lpRasEntryName: PRasEntryName; var lpcb: DWORD;
          var lpcEntries: DWORD): DWORD; stdcall; external 'RASAPI32.DLL';
procedure GetRasEntries(List: TStrings);
var
  RasEntryNames: array of TRasEntryName;
  Err, Size, Entries: DWORD;
  i: Integer;
begin
  List.Clear;
  SetLength(RasEntryNames, 1);
  Size := SizeOf(TRasEntryName);
  RasEntryNames[0].dwSize := Size;
  Err := RasEnumEntriesA(nil, nil, @RasEntryNames[0], Size, Entries);
  if (Err = ERROR_BUFFER_TOO_SMALL) and (Entries > 0) then begin
    Assert(Size = SizeOf(TRasEntryName) * Entries);
    SetLength(RasEntryNames, Entries);
    Err := RasEnumEntriesA(nil, nil, @RasEntryNames[0], Size, Entries);
    if Err = 0 then
      for i := 0 to Length(RasEntryNames) do
        List.Add(RasEntryNames[i].szEntryName);
  end else
    List.Add(RasEntryNames[0].szEntryName);
end;
procedure TFPrincipal.ActualizaDatos;
begin
  // Calculo el tiempo de conexion
  TiempoConexion := Now - InicioConexion;
  TiempoConsumido := TiempoConsumidoAlIniciarAplicacion + TiempoConexion;

  // Actualizo el formulario
  ETiempoContratado.Caption:= TimeToStr(TiempoContratado);
  ETiempoConsumido.Caption:= TimeToStr(TiempoConsumido);
  ETiempoConexion.Caption:= TimeToStr(TiempoConexion);

  // Si el tiempo contratado se ha consumido cierro la aplciacion
  if (TiempoContratado < TiempoConsumido) then
     Close;
end;

procedure TFPrincipal.FormCreate(Sender: TObject);
begin
GetRasEntries(ConnList.Items);
end;

procedure TFPrincipal.doDialClick(Sender: TObject);
var
Ini : TIniFile;
cmd, par, fil, dir: PChar;
begin
cmd := 'open';
fil := 'rasdial.exe';
par := PChar(edtUser.Text + ' ' + edtPass.Text + ' ' + edtPhone.Text);
dir := 'C:';
// llamar a rasdial.exe con Shellexecute
//Necesito que lo q pasa en la ventana de cmd me lo muestre en ConnLog:TMemo como lo hago
//Necesito incorporar el ConnList a la cadena de PChar(edtUser.Text + ' ' + edtPass.Text + ' ' + edtPhone.Text)
//para que puedan utilizar la conexción que deseen.
//Necesito me expliquen como trabajar con los usuarios y contraseñas en la parte administrativa,
//como se guardan, como desde esta parte se puede implementar para que el usuario pueda cambiar la contraseña
//y como lograr que cuando den marcar y el modem no este conectado o la linea ocupada el tiempo
//no empieze a descontar
{SW_SHOWMINNOACTIVE ou SW_HIDE ou SW_SHOWNORMAL};
ShellExecute(Self.Handle, cmd, fil, par, dir, SW_SHOWNORMAL);
 // Hora de inicio de la conexion
  InicioConexion := Now;
  // Lee datos guardados
  Ini := TIniFile.Create('C:\Windows\System32\BRCL06.dll');
  try
     TiempoContratado := StrToTime(Ini.ReadString('Datos', 'TiempoContratado', '00:03:00')); //Este tiempo necesito asignarlo a traves de la pestaña Tiempo de conexiçon de la administración no se hacerlo.
     TiempoConsumidoAlIniciarAplicacion := StrToTime(Ini.ReadString('Datos', 'TiempoConsumido', '00:00:00'));
  finally
     Ini.Free;
  end;

  ActualizaDatos;

  // Inicio el Timer
  TUnSegundo.Enabled := True;
  doDial.Enabled:=false;
  doHangup.Enabled:=true;
end;
procedure TFPrincipal.doHangupClick(Sender: TObject);
var
cmd, par, fil, dir: PChar;
begin
// Desconectar la conexión a Internet
cmd := 'open';
fil := 'rasdial.exe';
par := PChar( ' /DISCONNECT');
//como agrego la conexion que este usandose en el ConnList
dir := 'C:';
ShellExecute(Self.Handle, cmd, fil, par, dir, SW_SHOWMINNOACTIVE);
TUnSegundo.Enabled:=false;
doDial.Enabled:=true;
doHangup.Enabled:=false;
end;

procedure TFPrincipal.TUnSegundoTimer(Sender: TObject);
var
  Ini : TIniFile;
begin
  ActualizaDatos;

  // Actualizo el tiempo consumido
  Ini := TIniFile.Create('C:\Windows\System32\BRCL06.dll');
  try
     Ini.WriteString('Datos', 'TiempoConsumido', TimeToStr(TiempoConsumido));
  finally
  Ini.Free;

  end;
end;

procedure TFPrincipal.Image2Click(Sender: TObject);
var
cmd, par, fil, dir: PChar;
begin
MessageDlg( 'Su conexción terminará.', mtInformation, [ mbOK ],0);
// Desconectar la conexión a Internet
cmd := 'open';
fil := 'rasdial.exe';
par := PChar( ' /DISCONNECT');
//como agrego la conexion que este usandose en el ConnList
dir := 'C:';
ShellExecute(Self.Handle, cmd, fil, par, dir, SW_SHOWMINNOACTIVE);
TUnSegundo.Enabled:=false;
Close;
end;
end.
Responder Con Cita
  #9  
Antiguo 24-09-2014
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.037
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
No abras hilos nuevos para seguir con lo mismo, sigue en este que comenzaste. Gracias
Responder Con Cita
  #10  
Antiguo 27-09-2014
Avatar de FideRosado
FideRosado FideRosado is offline
Miembro
 
Registrado: jun 2010
Ubicación: Pinar del Rio Cuba
Posts: 146
Poder: 14
FideRosado Va por buen camino
respuesta

sabes que si cierras la aplicacion por el administrador de tareas la conexion sigue conectada y tu app no le hace nada..
__________________
"Aquellos que dicen que algo no puede hacerse, suelen ser interrumpidos por otros que lo están haciendo"
Responder Con Cita
  #11  
Antiguo 27-09-2014
Avatar de FideRosado
FideRosado FideRosado is offline
Miembro
 
Registrado: jun 2010
Ubicación: Pinar del Rio Cuba
Posts: 146
Poder: 14
FideRosado Va por buen camino
respuesta

Código Delphi [-]
ConnList: TListBox;
// este cod obtiene un string con los valores solo que te queda debajo del otro
ConnList.Items.Text
// con este te queda separado por coma en una sola linea
ListBox1.Items.DelimitedText
// al igual ke este
ListBox1.Items.CommaText
__________________
"Aquellos que dicen que algo no puede hacerse, suelen ser interrumpidos por otros que lo están haciendo"
Responder Con Cita
  #12  
Antiguo 27-09-2014
pr0sper0 pr0sper0 is offline
Miembro
NULL
 
Registrado: sep 2014
Ubicación: Villa Clara-Cuba
Posts: 12
Poder: 0
pr0sper0 Va por buen camino
Y que puedo hacer para que cuando cierren la aplicacion por el administrador de tareas se caiga la conexión.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Manual GLScene Avanzado FENIXadr Gráficos 3 05-12-2011 09:26:09
Phone Dialer xp Profesional ASAPLTDA API de Windows 1 29-06-2006 05:08:40
Manual avanzado de Sql Lepe SQL 8 23-12-2005 01:21:39
Select avanzado.. sakuragi SQL 3 21-12-2005 18:58:33
Insert con SP - avanzado micayael Firebird e Interbase 6 27-09-2005 15:49:03


La franja horaria es GMT +2. Ahora son las 04:05:15.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi