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
  #1  
Antiguo 10-04-2005
alfredosg19 alfredosg19 is offline
Miembro
 
Registrado: ene 2005
Ubicación: Barcelona
Posts: 91
Poder: 20
alfredosg19 Va por buen camino
Exportar en un archivo txt

Hola, estoy intentando exportar de un TADO a un archivo de texto, el problema es que a la hora de guardarme los datos en el archivo sólo me guarda el primer registro, no entiendo el motivo por el cual se salta el While y se sale del bucle,. Si alguien pudiera ayudarme le estaría muy agradecido. GRAAACIASSS.

Código:
 procedure TfrmClients.sbExportaClick(Sender: TObject);
 var NomArxiu: String;
 	S:string;
 	f:Textfile;
 begin
 If sdGuarda.Execute then
   Begin
 	NomArxiu:=sdGuarda.Filename;
 	AssignFile(F,'Dades.txt');
 	Rewrite(F);
 	ADOTClient.First; 
   While not ADOTClient.EOF do
 	Begin
 	  s:='#';
 	  s:=s+ADOTClient.FieldbyName('CodiT02').asString+'#';
 	  s:=s+ADOTClient.FieldbyName('NomT02').asString+'#';
 	  s:=s+AdoTClient.FieldbyName('DireccioT02').asString+'#';
 	  s:=s+AdoTClient.FieldbyName('PoblacioT02').asString+'#';
 	  s:=s+AdoTClient.FieldbyName('CodiPostalT02').asString+'#';
 	  s:=s+AdoTClient.FieldbyName('ProvinciaT02').asString+'#';
 	  s:=s+AdoTClient.FieldbyName('Telf1T02').asString+'#';
 	  s:=s+AdoTClient.FieldbyName('Telf2T02').asString+'#';
 	  s:=s+AdoTClient.FieldbyName('FaxT02').asString+'#';
 	  Writeln(F,s);
 	  ADOTClient.Next; 
 	end;
 end;
 Closefile(F);
   end;
__________________
"La perseverancia es el camino del éxito"
Responder Con Cita
  #2  
Antiguo 10-04-2005
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
Es más que probable que ese archivo se vaya a parar a c:\windows, ahí si debe estar todos los registros. El archivo que solo tiene un registro, será de pruebas anteriores.

Pasa siempre la ruta completa 'c:\dades.txt'

Por cierto, el CloseFile, no está dentro del bloque del IF.

Un saludo
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #3  
Antiguo 10-04-2005
alfredosg19 alfredosg19 is offline
Miembro
 
Registrado: ene 2005
Ubicación: Barcelona
Posts: 91
Poder: 20
alfredosg19 Va por buen camino
Sigue el error..., detallo más.

El error continua, he arreglado lo del Closefile (gracias Lepe) y lo de la ubicación del archivo, pero aún así sigue fallando. Lo que pasa es que entra en el bucle anterior pero sólo una vez, después se sale (sin respetar la condición).
__________________
"La perseverancia es el camino del éxito"
Responder Con Cita
  #4  
Antiguo 10-04-2005
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Por más vueltas que le doy al bucle no le veo fallo alguno. ¿Por qué no pones una rejilla conectada alADOTClient ?

No vaya a ser que por algún motivo solamente te esté devolviendo un registro.

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #5  
Antiguo 11-04-2005
alfredosg19 alfredosg19 is offline
Miembro
 
Registrado: ene 2005
Ubicación: Barcelona
Posts: 91
Poder: 20
alfredosg19 Va por buen camino
¿Qué es una rejilla?.

Hola, y antes que nada agradezco tu ayuda, lo que pasa es que no sé a que te refieres con lo de la rejilla. ¿Me lo podria explicar alguien?. Muchas gracias.
__________________
"La perseverancia es el camino del éxito"
Responder Con Cita
  #6  
Antiguo 11-04-2005
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
Rejilla es la traducción oficial para DBGRID

Un saludo
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #7  
Antiguo 11-04-2005
oscorm oscorm is offline
Miembro
 
Registrado: ago 2004
Ubicación: Alcorcón
Posts: 59
Poder: 20
oscorm Va por buen camino
lo he probao y funciona, app_path es el directorio donde se ejecuta la aplicacion
Código Delphi [-]
 function app_path: String;
 begin
      Result := ExtractFilePath(Application.ExeName);
 end;
 
  
 procedure Tmiform.Button1Click(Sender: TObject);
 var S: string; f: Textfile;
 begin
      AssignFile(F,app_path + 'Dades.txt');
      Rewrite(F);
      coches.First;
      While not coches.EOF do Begin
            s:='#';
            s:=s+coches.FieldbyName('Interno').asString+'#';
            s:=s+coches.FieldbyName('Referencia').asString+'#';
            Writeln(F,s);
            coches.Next;
      end;
      Closefile(F);
 end;

Última edición por marcoszorrilla fecha: 11-04-2005 a las 17:06:19.
Responder Con Cita
  #8  
Antiguo 11-04-2005
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
Hola alfredo:

Bien, de todo lo anterior, deducimos que el bucle no es el problema, así que habrá que mirar por otro sitio.

- Haces algo en los eventos beforeScroll, AfterScroll de la tabla ?
- Tienes algun código escrito para el Datasource, OnStateChange,OnDataChange?
- Algún código en los eventos de los campos, quizás en el OnGetText ?
- Algún dato a exportar es nulo ?
- Ocultas alguna excepción en tu aplicación ?
Algo del estilo try ... except on e:except do ;
- Cierras la tabla en algún momento ?
Un saludo, y suerte!!
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, 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


La franja horaria es GMT +2. Ahora son las 00:51:11.


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