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 20-12-2005
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.738
Poder: 24
ContraVeneno Va por buen camino
Código Delphi [-]
TuQuery.Fields[x].FieldName
__________________

Responder Con Cita
  #2  
Antiguo 20-12-2005
YaninaGenia YaninaGenia is offline
Miembro
 
Registrado: jun 2005
Ubicación: Buenos Aires
Posts: 95
Poder: 20
YaninaGenia Va por buen camino
Thumbs down ...

Quise decir donde pongo ese código para que en la exportación figuren los nombres de las columnas. Esa propiedad la conozco, tan novata no soy!!!


Yanina
Responder Con Cita
  #3  
Antiguo 20-12-2005
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.738
Poder: 24
ContraVeneno Va por buen camino
_________________________________
__________________

Responder Con Cita
  #4  
Antiguo 20-12-2005
YaninaGenia YaninaGenia is offline
Miembro
 
Registrado: jun 2005
Ubicación: Buenos Aires
Posts: 95
Poder: 20
YaninaGenia Va por buen camino
Red face ...

Jajaja, no llores hijo, ahora me voy a poner a resolverlo porque ya vine de comer y me volviò a andar el cerebro. Es muy facil, en un ratito lo publico.

Yanina
Responder Con Cita
  #5  
Antiguo 20-12-2005
YaninaGenia YaninaGenia is offline
Miembro
 
Registrado: jun 2005
Ubicación: Buenos Aires
Posts: 95
Poder: 20
YaninaGenia Va por buen camino
Cool Listo!!!

Gracias Delphi.com.ar por tu ayuda, aca publico el còdigo que me mandaste un poco modificado:

Código:
procedure DataSetToStream(ADataSet: TDataSet; AStream: TStream);
var
  i: Integer;
  S: string;
begin
  if not ADataSet.IsEmpty then
  begin
	S := '';
	ADataSet.EnableControls;
	try
	  for i := 0 to ADataSet.Fields.Count -1 do
	  begin
		if (i = ADataSet.Fields.Count -1) then
		  S := S + ADataSet.fields[i].FieldName + #13#10
		else
		  S := S + ADataSet.fields[i].FieldName + ';';
	  end;
	  AStream.Write(S[1], Length(S));
	  ADataSet.First;
	  repeat
		S := '';
		for i := 0 to ADataSet.Fields.Count -1 do
		  if ADataSet.Fields[i].Visible then
		  begin
			if (i = ADataSet.Fields.Count -1) then
			  S := S + ADataSet.Fields[i].DisplayText + #13#10
			else
			  S := S + ADataSet.Fields[i].DisplayText + ';';
		  end;
		AStream.Write(S[1], Length(S));
		ADataSet.Next;
	  until ADataSet.Eof;
	finally
	  ADataSet.DisableControls;
	end;
  end;
end;
Con eso me salen las exportaciones con los nombres de las columnas. Le saquè el if que pregunta i > 0 porque no es necesario. Y en lugar del #9 le puse ; porque lo convierto a CSV.

Yanina Genia
Responder Con Cita
  #6  
Antiguo 20-12-2005
Avatar de Thales
Thales Thales is offline
Miembro
 
Registrado: ago 2005
Posts: 48
Poder: 0
Thales Va por buen camino
Cita:
Empezado por YaninaGenia
Quise decir donde pongo ese código para que en la exportación figuren los nombres de las columnas

Yanina
Te muestro una modificación del código de Federico para que muestre los nombres de los campos al principio del fichero

Código Delphi [-]
procedure DataSetToStream(ADataSet: TDataSet; AStream: TStream);
var
  I: integer;
  S: string;
begin
  with ADataSet do
  begin
    // Nombres de Campos
    S := '';
    for I := 0 to Pred(FieldCount) do
    begin
      if I > 0 then S := S + #9;
      S := S + Fields[i].DisplayLabel;
    end;
    S := S + #13#10;
    AStream.Write(S[1], Length(S));
    Open;
    // Registros
    while not Eof do
    begin
      S := '';
      for I := 0 to Pred(FieldCount) do
      begin
        if I > 0 then S := S + #9;
        S := S + Fields[i].DisplayText;
      end;
      S := S + #13#10;
      AStream.Write(S[1], Length(S));
      Next;
    end;
  end;
end;
 
procedure DataSetToFile(ADataSet: TDataSet; AFileName: string);
var
  Stream: TStream;
begin
  Screen.Cursor := crHourglass;
  try
    Stream := TFileStream.Create(AFileName, fmCreate);
    try
      DataSetToStream(ADataSet, Stream);
    finally
      Stream.Free;
    end;
  finally
    Screen.Cursor := crDefault;
  end;
end;

Un saludo
Responder Con Cita
  #7  
Antiguo 20-12-2005
Avatar de Thales
Thales Thales is offline
Miembro
 
Registrado: ago 2005
Posts: 48
Poder: 0
Thales Va por buen camino
oops.. no me di cuenta que había más mensajes en el hilo y que YaninaGenia ya había dado con una solución

Un saludo
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 15:00:29.


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