Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 06-07-2011
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.682
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
De todas formas si no pones el código fuente que lo veamos, no nos dice si sale algún error ni cual es, etc...
Responder Con Cita
  #2  
Antiguo 06-07-2011
wal_laplata wal_laplata is offline
Registrado
NULL
 
Registrado: jul 2011
Posts: 2
Poder: 0
wal_laplata Va por buen camino
Código Delphi [-]
begin
  AssignFile(myFile, 'C:\Temp\SELE-SAL-CONSTA.tmp');
  i:=0;
  FileMode := fmOpenRead;
  Reset(myFile);
  Memory.Active:=true;
  while not Eof(myFile) do
  begin
    text:='';
    while length(text) < 21 do
    begin
      Read(myFile, letter) ;   // Read and display one letter at a time
      text:=text + letter ;
    end;
    Read(myFile, letter);
    Memory.Append;
    Memorycuil.Value :=copy(text,1,2)+'-'+copy(text,3,8)+'-'+copy(text,11,1);
    Memoryganancias.Value:=copy(text,12,2);
    Memoryiva.Value:=copy(text,14,2);
    Memorymonotibuto.Value:= copy(text,16,2);
    MemoryintegranteSo.Value:= copy(text,18,1);
    Memoryempleador.Value:=copy(text,19,1);
    MemoryactividadMono.Value:=copy(text,20,2);
    Memory.Post;
    i:=i+1;
    Label1.Caption:=inttostr(i);
  end;
end;

Última edición por ecfisa fecha: 06-07-2011 a las 21:37:43. Razón: ETIQUETAS [DELPHI] [/DELPHI]
Responder Con Cita
  #3  
Antiguo 06-07-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 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 wal_laplata.

Por favor cuando pongas código Delphi encerralo entre las etiquetas [delphi] codigo [/delphi] para una mejor legibilidad.

Una pregunta: ¿ Cual es la longitud exácta que ocupa cada registro en el formato texto ?
Es decir en referencia a lo dicho más arriba:
Cita:
20201215749 NI NI NI N N
¿ Los últimos campos tienen longitud fija de dos caracteres, de uno ... ? ¿ Tienen algún separador ?



Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #4  
Antiguo 07-07-2011
pelikno pelikno is offline
Miembro
NULL
 
Registrado: oct 2010
Posts: 95
Poder: 16
pelikno Va por buen camino
Este es el Formato

Cita:
Empezado por ecfisa Ver Mensaje
Hola wal_laplata.

Por favor cuando pongas código Delphi encerralo entre las etiquetas [delphi] codigo [/delphi] para una mejor legibilidad.

Una pregunta: ¿ Cual es la longitud exácta que ocupa cada registro en el formato texto ?
Es decir en referencia a lo dicho más arriba:

¿ Los últimos campos tienen longitud fija de dos caracteres, de uno ... ? ¿ Tienen algún separador ?



Saludos.
Responder Con Cita
  #5  
Antiguo 07-07-2011
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.682
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
Entonces cuento 21 caracteres más cr+lf = 23 por línea.
Si son 5 millones de registros hacen: 115.000.000 bytes= 109 MB.
No es que sea algo muy abrumador, aunque me pregunto por qué lo cargas en memoria, ¿por qué no usas una tabla para ello?.
Responder Con Cita
  #6  
Antiguo 07-07-2011
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 26
maeyanes Va por buen camino
Otra cosa que podrías hacer es ir leyendo los datos en bloques, o sea, lees primero unas 1,000 líneas (o 10,000) y las procesas, luego lees otro bloque de n líneas y lo procesas y así hasta finalizar...


Saludos...
__________________
Lee la Guía de Estilo antes que cualquier cosa. - Twitter
Responder Con Cita
  #7  
Antiguo 07-07-2011
pelikno pelikno is offline
Miembro
NULL
 
Registrado: oct 2010
Posts: 95
Poder: 16
pelikno Va por buen camino
Cita:
Empezado por Casimiro Notevi Ver Mensaje
Entonces cuento 21 caracteres más cr+lf = 23 por línea.
Si son 5 millones de registros hacen: 115.000.000 bytes= 109 MB.
No es que sea algo muy abrumador, aunque me pregunto por qué lo cargas en memoria, ¿por qué no usas una tabla para ello?.
El Archivo es de 85 mgb, por lo de la memoria vos decis que lo cargue en un ttable?
Responder Con Cita
  #8  
Antiguo 07-07-2011
pelikno pelikno is offline
Miembro
NULL
 
Registrado: oct 2010
Posts: 95
Poder: 16
pelikno Va por buen camino
Código Delphi [-]
procedure TForm1.Button2Click(Sender: TObject);

var
  Fichero: File of byte;
  Buffer: array[0..21] of Char; // 22 bytes + 1
  Leidos: Integer;
  Str: string;
  b:byte;
  i:integer;
begin
i:=0;
  AssignFile(Fichero,'C:\Temp\SELE-SAL-CONSTA.tmp');
  Filemode:= fmOpenRead;
   Memory.Active:=true;
  {$I-}
    Reset(Fichero);// Reset(Fichero,1);
  {$I+}
  Timer1.Enabled:= true;
  if IOResult = 0 then
  begin

    while not  eof(Fichero) do
    begin
      FillChar(Buffer,Sizeof(Buffer),0);
      BlockRead(Fichero,Buffer,Sizeof(Buffer)-1,Leidos);
      read(fichero,b);
      if Leidos > 0 then
      begin
        Str:= String(PChar(@Buffer));
         i:=i+1;
         Label1.Caption:=inttostr(i);
        CargarGrilla(Str);
      end;
    end;
    Timer1.Enabled:=false;
    CloseFile(Fichero);
  end else
    ShowMessage('No puedo abrir el archivo');
end;

este es el codigo, el tema que tego que actualizar mi base con este txt, como me recomiendan que la cargue o donde, my base es sqlserver.
Gracias!!
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
ayuda copiar datos de una tabla a otra Rofocale Varios 1 18-05-2011 03:39:40
Ayuda insertar cadena en otra ? Coco_jac Varios 4 14-12-2005 21:37:46
necesito ayuda para pasar registros a otra tabla ddd_ddd Conexión con bases de datos 2 09-09-2005 20:33:41
ayuda para enlazar con otra tabla Debian Conexión con bases de datos 1 24-03-2005 16:48:28
Como puedo tabajar de otra forma un DBGrid, Ayuda urgente danytorres Varios 7 18-07-2003 21:24:02


La franja horaria es GMT +2. Ahora son las 22:12:39.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi