Ver Mensaje Individual
  #3  
Antiguo 23-12-2009
MARLON1 MARLON1 is offline
Miembro
 
Registrado: nov 2007
Posts: 118
Reputación: 17
MARLON1 Va por buen camino
Disculpen

bueno el truco ke les cometo es para recibir datos por medio del puerto serial, les dejo el codigo, con este codigo puedo leer y almacenar lo que leo en mi bd, todo corre perfectamente cuando lo ejecuto desde delphi, pero al ejecutarlo desde el .exe no me lee el puerto, gracias. utilizo delphi 10


Código SQL [-]
procedure TForm1.BitBtn2Click(Sender: TObject);
var
puerto,n: integer;
num:byte;
cad: string;
mode: DCB;
com: string;
 
begin
com:= edit1.Text;
label3.Caption:=com;
compa:=true;
puerto:= FileOpen(com,fmOpenRead);
mode.BaudRate:=9600;
mode.ByteSize:=8;
mode.Parity:=NOPARITY;
mode.StopBits:= ONESTOPBIT;
SetCommState(puerto,mode);
   while compa=true do begin
   Application.ProcessMessages;
  repeat
  repeat until FileRead(puerto,num,1)=1;
  until num=13 ;
  cad:= '';
  for n:=1 to 46 do begin
   repeat until FileRead(puerto,num,1)=1;
   cad:= cad + chr(num);
  end;
   //alamcenamieno de datos en la BD
   query1.Close;
   query1.SQL.Clear;
   query1.SQL.Add('insert into datos(medidor,fecha,hora,gasto,tirante,tem)');
   query1.SQL.Add('values(:med,:fec,:ho,:gas,:tir,:te)');
   query1.ParamByName('med').Value:=COPY(cad,1,3);
   query1.ParamByName('fec').Value:=COPY(cad,5,10);
   query1.ParamByName('ho').Value:=COPY(cad,16,5);
   query1.ParamByName('gas').Value:=COPY(cad,22,7);
   query1.ParamByName('tir').Value:=COPY(cad,30,8);
   query1.ParamByName('te').Value:=COPY(cad,39,8);
   query1.ExecSQL;
  memo1.Lines.Add(cad);

    if compa=false then
  break;

   end;

end;

Última edición por MARLON1 fecha: 23-12-2009 a las 04:59:49. Razón: error codigo
Responder Con Cita