Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 09-08-2013
exequielmatias1 exequielmatias1 is offline
Miembro
NULL
 
Registrado: jul 2013
Posts: 29
Poder: 0
exequielmatias1 Va por buen camino
Unhappy Imprimir texto en archivo *.txt

Tengo una ventana con varios edit y un DBMemo, los mismos muestran los datos de un DBGrid conectado a un ADOQuery. Quiero poner un Boton el cual genere un archivo txt en una ubicacion especifica con el texto de los edit y del dbmemo ó con los datos seleccionados del dbgrid.
Para esto encontre el componente SaveDialog, pero este solo me guarda el DBMemo, y no puedo agregar texto de un edit o cualquier texto.
Quisiera saber si existe otro componente o un codigo ya que no encuentro nada
Responder Con Cita
  #2  
Antiguo 09-08-2013
Avatar de movorack
[movorack] movorack is offline
Miguel A. Valero
 
Registrado: feb 2007
Ubicación: Bogotá - Colombia
Posts: 1.346
Poder: 20
movorack Va camino a la famamovorack Va camino a la fama
Hola,

Puedes utilizar un TStringList para ir guardando los textos que requieres (Edits, Memos, Grids, ...) y al final solo le dices donde guardarlo.

ej:

Código Delphi [-]
procedure GuardarEnArchivo;
  var
    StringList : TStringList;
begin
  StringList := TSTringList.Create;
  try
    StringList.Add(Edit1.Text);
    StringList.Add(Memo.Text);
    StringList.Add('Abc...');
    StringList.SaveToFile('C:\MiArchivodetexto.txt');
  finally
    StringList.Free;
  end;
end;
__________________
Buena caza y buen remar... http://mivaler.blogspot.com
Responder Con Cita
  #3  
Antiguo 09-08-2013
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: sep 2006
Ubicación: Lima - Perú
Posts: 2.010
Poder: 20
oscarac Va por buen camino
yo hacia algo como esto
Código Delphi [-]
 _FileData := 'Envios\CD' + frmMain._Serie + FormatDateTime('ddmmyyyy', dtFechaIni.Date) + '-' + FormatDateTime('ddmmyyyy', dtFechaFin.Date);
if chbMovimiento.Checked then
  Begin
    StrSql := 'Select C.*, d.* ' +
              'From (tblconsumoc C with (nolock) ' +
              'Left Join tblConsumod D with (nolock) on (C.TDC = D.TDC and C.doc = d.DOC)) ' +
              'Where C.F_DOC Between ' + QuotedStr(FormatDateTime('DD/MM/YYYY', dtFechaIni.Date)) + ' and ' +
              QuotedStr(FormatDateTime('DD/MM/YYYY', dtFechaFin.Date)) +  ' and Isnull(D.TDC, ' + QuotedStr('') + ') <> ' + quotedstr('') +
              ' order by C.TDC, C.DOC';
    qryTemporal.Close;
    qryTemporal.SQL.Clear;
    qryTemporal.sql.Add(StrSql);
    qryTemporal.Open;
    qryTemporal.First; // Por siacaso
  ExportedData := TStringList.Create;
    try
      while not qryTemporal.Eof do
      begin
        Line := '';
        for I := 0 to Pred(qryTemporal.FieldCount) do
          Line := Format('%s%s¦', [Line, qryTemporal.Fields[i].Value]);
        ExportedData.Add(Line);
        qryTemporal.Next;
      end;
      ExportedData.SaveToFile(ExtractFilePath( Application.ExeName ) + _FileData + '.txt')
    finally
      ExportedData.Free
    end
  end;
__________________
Dulce Regalo que Satanas manda para mi.....
Responder Con Cita
  #4  
Antiguo 09-08-2013
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
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 exequielmatias1.

Si buscar guardar todos los campos del registro seleccionado actualmente en el TADOQuery, otra opción es:
Código Delphi [-]
procedure SaveAsText(Qry: TADOQuery; const aFileName: TFileName);
var
  i   : Integer;
  str : string;
begin
  with TStringList.Create do
  try
    for i := 0 to Qry.FieldCount-1 do
       str := str + Qry.Fields[i].AsString + ' ';
    SetLength(str, Length(str) -1);
    Text := str;
    SaveToFile(ChangeFileExt(aFileName, '.TXT'));
  finally
    Free;
  end;
end;

Llamada ejemplo:
Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
begin
  if SaveDialog1.Execute then
    SaveAsText(ADOQuery1, SaveDialog1.FileName);
end;

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #5  
Antiguo 10-08-2013
Avatar de TiammatMX
TiammatMX TiammatMX is offline
Miembro
 
Registrado: jun 2006
Ubicación: Universo Curvo\Vía Láctea\Sistema Solar\Planeta Tierra\América\México\Puebla\Heróica Puebla de Zaragoza\Jardines de San Manuel\Home
Posts: 746
Poder: 18
TiammatMX Va camino a la fama
Cita:
Empezado por ecfisa Ver Mensaje
...SaveToFile(ChangeFileExt(aFileName, '.TXT'));...
O si vas a guardar un CSV para ser usado en Excel (como es éste caso particular), te recomiendo que lo hagas así:

Código Delphi [-]
   AssignFile(atArchivo, wsNombreArchivo);
   Rewrite(atArchivo);
   Write(atArchivo,wsContenidoCSV);
   CloseFile(atArchivo);

Por que a veces, inyecta "caracteres que pueden ser confusos" y confundidos con cualquier otra cantidad de cosas excepto datos...
__________________
Felipe Eduardo Ortiz López. Delphi programmers does it recursively...

"Un programador, es un creador de universos en donde sólo él es responsable. Universos de complejidad prácticamente ilimitada que se puede crear en forma de programas de ordenador." - Joseph Weizenbaum.

Témele a los profetas... y a aquellos que están listos para morir por "la verdad", ya que como regla general hacen morir a muchos otros con ellos, frecuentemente antes que ellos, y a veces en lugar de ellos. — Umberto Eco
Responder Con Cita
  #6  
Antiguo 11-08-2013
Avatar de santiago14
santiago14 santiago14 is offline
Miembro
 
Registrado: sep 2003
Ubicación: Cerrillos, Salta, Argentina
Posts: 583
Poder: 21
santiago14 Va por buen camino
Smile

Cita:
Empezado por movorack Ver Mensaje
Hola,

Puedes utilizar un TStringList para ir guardando los textos que requieres (Edits, Memos, Grids, ...) y al final solo le dices donde guardarlo.

ej:

Código Delphi [-]
procedure GuardarEnArchivo;
  var
    StringList : TStringList;
begin
  StringList := TSTringList.Create;
  try
    StringList.Add(Edit1.Text);
    StringList.Add(Memo.Text);
    StringList.Add('Abc...');
    StringList.SaveToFile('C:\MiArchivodetexto.txt');
  finally
    StringList.Free;
  end;
end;
Me parece que esta opción es buena. Si querés guardar el archivo como .csv cambiamos StringList.SaveToFile('C:\MiArchivodetexto.txt'); por StringList.SaveToFile('C:\MiArchivodetexto.csv');
__________________
Uno es responsable de lo que hace y de lo que omite hacer.
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
Imprimir Archivo de Texto MAXIUM API de Windows 5 08-07-2008 23:24:46
Imprimir texto de un TMemo ixMike Impresión 0 10-10-2006 19:19:02
Imprimir un texto en vertical Neftali [Germán.Estévez] Trucos 0 30-06-2006 17:57:24
Imprimir un archivo de texto davidgaldo Impresión 3 28-11-2005 14:50:19
Como puedo grabar texto en un Archivo de Texto sin Sobreescribir???? AGAG4 Varios 12 08-11-2005 22:53:00


La franja horaria es GMT +2. Ahora son las 05:46:18.


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