Ver Mensaje Individual
  #2  
Antiguo 10-05-2014
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 38
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola webmasterpcl.

Voy a empezar por el final.
Cita:
Lo Otro es que como ven solo paso el numero al array quisiera ver si es posible pasarle numero y nombre a un array para personalizar el mensaje de texto cuando sea necesario.
De este modo podes enviarle los datos que desees mediante un arreglo dinámico:
Código Delphi [-]
...
type
  TRecip = record
    Nombre: string;
    Numero: string;
    //...
  end;

var
  contactos: array of TRecip;

function enviarSMS (Recip: TRecip; Mensaje: string): string;
var
  http: TIdHttp;
  params: TStrings;
  respuesta: string;
begin
  http := TIdHTTP.Create(nil);
  params := TStringList.Create;
  try        
    params.Add('usuario=miusuario');
    params.Add('clave=AprilApril1979');
    params.Add('Nombre=' + Recip.Nombre);
    params.Add('telefonos=' + Recip.Numero);
    params.Add('texto=' + Mensaje);
    Result := http.Post('http://www.enlinea-ve.com/webservices/' + 'SendSms', params);
  finally
    params.Free;     
    http.Free;
  end;
end;

En el uso tendras que modificar:
Código Delphi [-]
  with datos.sqcontactos do
  begin                 
    Close;                 
    SQL.Text:= 'SELECT * FROM vcontactos WHERE vcontactos.miem_clasificacion =: miem_clasificacion';                 
    ParamByName('miem_clasificacion').AsString:=cbbclasificacion.Text;
    Open;                     
    while not Eof do                     
    begin                       
      SetLength(contactos, Length(contactos)+1);  
      //  * Aquí *
      contactos[High(contactos)].Nombre:= FieldByName('Nombre').AsString;                     
      contactos[High(contactos)].Numero:= FieldByName('celular').AsString;
      Next;                     
    end;               
  end;      
  try             
    for i:= Low(contactos) to High(contactos) do             
     enviarSMS(contactos[i], Memo1.Text);   // * Y aquí *    
  finally             
    contactos:=nil;             
    lst1.Clear;             
    mmomensaje.Clear;             
    MessageDlg('Proceso de Envío de SMS Concluido Exitosmente', mtCustom, [mbOK], 0);            
  end;

Cita:
...hasta 500 y alli hace una sola petición pos miestras que como lo hago hace 1000 peticiones, como podre hacer para concatenar y eliminar el ultimo numero el punto y coma que le queda al final este es el codigo.
No termino de comprender esta parte, pero para eliminar el último el último caracter de una cadena:
Código Delphi [-]
  
  SetLength(un_string, Length(un_string) - 1);

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita