Ver Mensaje Individual
  #8  
Antiguo 05-05-2011
aagrlp640 aagrlp640 is offline
Miembro
NULL
 
Registrado: abr 2011
Ubicación: México
Posts: 12
Reputación: 0
aagrlp640 Va por buen camino
Hola, ya lo logre hacer funcionar correctamente en mi nokia n900, sin embargo en un modem usb de telcel marca zte modelo MF100 me falla, desde la hiperterminal he probado los comandos y si me funcionan, sin embargo en delphi algunos no funcionan.
Estos comandos no funcionan en Delphi me mandan “ERROR”:
Código:
AT+CMGF=1   (Para definir el formato del mensaje)
AT+CMGs=”442……” (Para enviar un mensaje)
Algunos que si funcionan son por ejemplo:
Código:
AT (Ver si hay comunicación con el modem)
AT+CGMI (Nombre del fabricante)
Sin embargo en el n900 si corre bien todos los que ponga. No sé que será lo que falla que en hiperterminal si me reconoce todos y en Delphi sólo algunos
Aquí está esa parte de código donde pongo esos comandos
Código Delphi [-]
        procedure TForm1.Button_SendClick(Sender: TObject);
var
  Str: String;
begin

  if Comport.Connected  then
    begin
        mensaje:= Edit_Data.Text;
        at := 'AT' + #13#10; {Este commando si funciona en Delphi}
        ComPort.WriteStr(at); 
        Sleep(10);
        at := 'AT+CMGF=1' + #13#10; {Este commando si funciona en hiperterminal pero no en delphi}
        ComPort.WriteStr(at);
        Sleep(10);
        at := 'AT+CMGS="4424311080"' + #13#10; {Este commando si funciona en hiperterminal pero no en delphi}
        ComPort.WriteStr(at);
        Sleep(10);
        ComPort.WriteStr(mensaje + #26);
        Sleep(10);
      end
  Else
    begin
      lblpuerto.Caption := 'Se debe conectar primero al puerto';
    end
end;
Les pongo todo mi código a continuación:

Código Delphi [-]
unit ComMainForm;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, ExtCtrls, CPort, CPortCtl;

type
  TForm1 = class(TForm)
    ComPort: TComPort;
    Memo: TMemo;
    Button_Open: TButton;
    Button_Settings: TButton;
    Edit_Data: TEdit;
    Button_Send: TButton;
    lblpuerto: TLabel;
    ComLed1: TComLed;
    Label1: TLabel;
    procedure Button_OpenClick(Sender: TObject);
    procedure Button_SettingsClick(Sender: TObject);
    procedure Button_SendClick(Sender: TObject);
    procedure ComPortOpen(Sender: TObject);
    procedure ComPortClose(Sender: TObject);
    procedure ComPortRxChar(Sender: TObject; Count: Integer);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  at : AnsiString;
  mensaje : String;
implementation

{$R *.DFM}

procedure TForm1.Button_OpenClick(Sender: TObject);
begin
  if ComPort.Connected then
    begin
    ComPort.Close;
    lblpuerto.Caption := 'Desconectado';
    end
  else
    begin
    ComPort.Port := 'COM5';
    ComPort.BaudRate := StrToBaudRate('2400');
    ComPort.Open;
    lblpuerto.Caption := 'Conectado a '+ ComPort.Port;

    end
end;

procedure TForm1.Button_SettingsClick(Sender: TObject);
begin
  ComPort.ShowSetupDialog;
end;

procedure TForm1.Button_SendClick(Sender: TObject);
var
  Str: String;
begin

  if Comport.Connected  then
    begin
        mensaje:= Edit_Data.Text;
        at := 'AT' + #13#10;
        ComPort.WriteStr(at);
        Sleep(10);
        at := 'AT+CMGF=1' + #13#10;
        ComPort.WriteStr(at);
        Sleep(10);
        at := 'AT+CMGS="4424311080"' + #13#10;
        ComPort.WriteStr(at);
        Sleep(10);
        ComPort.WriteStr(mensaje + #26);
        Sleep(10);
      end
  Else
    begin
      lblpuerto.Caption := 'Se debe conectar primero al puerto';
    end
end;

procedure TForm1.ComPortOpen(Sender: TObject);
begin
  Button_Open.Caption := 'Desconectar';
end;

procedure TForm1.ComPortClose(Sender: TObject);
begin
  if Button_Open <> nil then
    Button_Open.Caption := 'Conectar';
end;

procedure TForm1.ComPortRxChar(Sender: TObject; Count: Integer);
var
  Str: String;
begin
  ComPort.ReadStr(Str, Count);
  Memo.Text := Memo.Text + Str;
end;


end.
Muchas gracias, ojalá me puedan apoyar.
Saludos.

Última edición por aagrlp640 fecha: 05-05-2011 a las 20:52:07.
Responder Con Cita