Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #21  
Antiguo 18-08-2005
Avatar de jmariano
jmariano jmariano is offline
Miembro
 
Registrado: jul 2005
Posts: 376
Poder: 20
jmariano Va por buen camino
Prueba los siguiente (a ver si hay suerte)

Código Delphi [-]
procedure TInventarios.Button2Click(Sender: TObject);
var
  Archivo,Campos: TStringList;
  I, J: Integer;
  Codigo: string;
  Cant : real;
  Linea : Integer;
begin
  Archivo:= TStringList.Create;
  Campos:= TStringList.Create;

  try
    Archivo.LoadFromFile('C:\INVENTARIO.txt');

    for I := 0 to Archivo.Count -1 do
    begin
      Codigo := '';
      Cant := 0;
      Campos.Clear;
      Campos.CommaText:= Archivo[i];

      if Campos.Count >= 2 then
      begin
        Codigo:= Campos[0];
        Cant:= Strtofloat(Campos[1]);
      end;

      if (Codigo <> '') and (Cant > 0) then
      begin
        Linea:= Linea + 1;
        DataModule1.STOMOV.Insert;
        DataModule1.STOMOV.Fields[1].Value := 1;
        DataModule1.STOMOV.Fields[3].Value := Linea;
        DataModule1.STOMOV.Fields[4].Text := DateToStr(Now);
        DataModule1.STOMOV.Fields[5].Value := 530;
        DataModule1.STOMOV.Fields[7].Value := strToInt(Edit4.text);
        DataModule1.STOMOV.Fields[8].Text := Codigo;
        DataModule1.STOMOV.Fields[9].Value := Cant;
        DataModule1.STOMOV.Post;
      end;
    end;
  finally
    Archivo.Free;
    Campos.Free;
  end;
end;

(Como verás, he respetado tu código original añadiéndole sólo unas sentencias)

Chao!
Responder Con Cita
  #22  
Antiguo 18-08-2005
danytorres danytorres is offline
Miembro
 
Registrado: may 2003
Ubicación: Venezuela. Edo Carabobo
Posts: 361
Poder: 22
danytorres Va por buen camino
Question

Amigos nose que mas intentar. pero no encuentro la solucion.
__________________
____________________________
Un saludo a todos...
Responder Con Cita
  #23  
Antiguo 18-08-2005
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Haz un trazado de la aplicación y dinos exactamente qué contiene la línea del archivo en donde te lanza el error.

// Saludos
Responder Con Cita
  #24  
Antiguo 18-08-2005
Avatar de jmariano
jmariano jmariano is offline
Miembro
 
Registrado: jul 2005
Posts: 376
Poder: 20
jmariano Va por buen camino
¿Probaste el código que especifiqué mas arriba? ¿Que error te dió?.
Responder Con Cita
  #25  
Antiguo 18-08-2005
danytorres danytorres is offline
Miembro
 
Registrado: may 2003
Ubicación: Venezuela. Edo Carabobo
Posts: 361
Poder: 22
danytorres Va por buen camino
Roman, el archivo lo genera una pistota de codigos de barra cuando el operador presiona enter en la pistola se genera una lina en blanco en el archivo, esa linea contienedos comas ,,

y el error que me da es cuando le asigno un string vacio a una variable real;

Code:
_________________________________
Cant:= Strtofloat(Campos[1]);
_________________________________

Esto ocurre porque nose como saltar la linea un blanco, bueno tiene dos espacios un blancos separados por dos coma.
__________________
____________________________
Un saludo a todos...
Responder Con Cita
  #26  
Antiguo 18-08-2005
Avatar de jmariano
jmariano jmariano is offline
Miembro
 
Registrado: jul 2005
Posts: 376
Poder: 20
jmariano Va por buen camino
Entonces, te valdría con sólo probar que "Campos[1]" no esté vacio antes de asignar el valor

Código Delphi [-]
    ...
    if Campos[1] <> '' then
      Cant := Strtofloat(Campos[1]);
    ...
Responder Con Cita
  #27  
Antiguo 18-08-2005
danytorres danytorres is offline
Miembro
 
Registrado: may 2003
Ubicación: Venezuela. Edo Carabobo
Posts: 361
Poder: 22
danytorres Va por buen camino
Unhappy

si jmariano lo probe pero no detiene la linea en blanco,

code:
_______________________________________________
if Campos.Count >= 2 then
begin
Codigo:= Campos[0];
Cant:= Strtofloat(Campos[1]);
end;
_____________________________________________________

el detalle es que campo se es igual a dos por lo siguiente, es como le espleque a roman, la linea en blanco esta formada por dos espacios en blancos que son los dos campos que captura la lectora perop estos estan separados por comas, entonces campos es igial a dos porque esta formado por dos string en blanco.
__________________
____________________________
Un saludo a todos...
Responder Con Cita
  #28  
Antiguo 18-08-2005
Avatar de jmariano
jmariano jmariano is offline
Miembro
 
Registrado: jul 2005
Posts: 376
Poder: 20
jmariano Va por buen camino
Sip, ya me di cuenta jeje! (se ve que posteamos casi al mismo tiempo). Pero fíjate en la sentencia que puse antes de tu mensaje (la sentencia "if")

(Eso sí, siempre reinicia las variables "Codigo" y "Cant" por cada línea que leas del archivo)
Responder Con Cita
  #29  
Antiguo 18-08-2005
danytorres danytorres is offline
Miembro
 
Registrado: may 2003
Ubicación: Venezuela. Edo Carabobo
Posts: 361
Poder: 22
danytorres Va por buen camino
Gracias jmariano y a todos por el interes en ayudarme, ya resolvi el pequeño problema. Hay momentos en que uno esta mentalmente agotado y la solucion estan sencilla que no la ves. Gracias

haa la solucion fue esta;

Code:
__________________________________________
Cant := 0;
Campos.Clear;
Campos.CommaText:= Archivo[i];

if (Campos[0] <> '') and (Campos[1] <> '') then
begin
Codigo:= Campos[0];
Cant:= Strtofloat(Campos[1]);
end;
____________________________________________
__________________
____________________________
Un saludo a todos...
Responder Con Cita
Respuesta



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


La franja horaria es GMT +2. Ahora son las 12:52:01.


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