PDA

Ver la Versión Completa : enviar mensajes con TComPort recorriendo tabla


n03l
20-08-2012, 15:38:00
Saludos.
Estoy tratando de enviar SMS a celulares a traves de un modem con el Componente TComPort

De la siguiente manera lo hago y funciona bien:
if Comport.Connected then
begin

mensaje:= 'Mensaje ' ;
Sleep(100);
ComPort.WriteStr('AT+CMGS="123456789"'+ #13#10);
Sleep(100);
ComPort.WriteStr(mensaje + #26);

end

El problema que tengo es que quiero recorrer una tabla e ir enviando mensajes a los proveedores, pero no se porque me envia solo el primer mensaje correscondiente al primer campo de dicha tabla:

ADOProveedores.First;
for I := 0 to ADOProveedores.RecordCount - 1 do
begin
ComPort.WriteStr('AT+CMGS="'+ ADOProveedores.FieldByName('TELF').AsString +'"'+ #13#10);

Sleep(100);
ComPort.WriteStr(mensaje + #26);
ADOProveedores.Next;
Sleep(100);

la verdad esque no se como solucionar esto. le e movido los Sleep a varias partes y nada, saludos y gracias de antemano

n03l
20-08-2012, 15:48:02
Bueno ice una prueba incrementando los sleep a 5000 y me los enviaba salteados, luego los puse en 10000 y funciona bien,
¿Uds creen que esta sea la mejor manera de hacerlo?

Neftali [Germán.Estévez]
20-08-2012, 16:08:11
Eso debería estar especificado en algún sitio, seguramente en la parte que recibe los envío del Comport.
Es posible que sea necesario un tiempo entre peticiones o que puedas enviar agun tipo de separador entre peticiones, pero eso debería estar documentado. :confused: