AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi DBGrid in txt speichern
Thema durchsuchen
Ansicht
Themen-Optionen

DBGrid in txt speichern

Ein Thema von Albi · begonnen am 11. Jun 2003 · letzter Beitrag vom 14. Jun 2003
Antwort Antwort
Seite 1 von 2  1 2      
Albi

Registriert seit: 4. Mai 2003
Ort: Berlin
458 Beiträge
 
Delphi 7 Professional
 
#1

DBGrid in txt speichern

  Alt 11. Jun 2003, 18:57
Und wieder einmal ein kleines Problem.

Ich will die sich in einer DBGrid (gefiltert) befindlichen Zeilen in eine *.txt abspeichern, so das ich im Anschluß daran, aus diesen gefilterten Zeilen einen Serienbrief erstellen kann.

Ich habe es es bis jetzt nur hinbekommen, das er mir einen Datensatz 14x (=Anzahl der Spalten) hintereinander abspeichert. Ich habe aber schon gesehen das es auch so aussehen kann:

Delphi-Quellcode:
Nr name Vorname
1 Test1 Test2
... ... ...
Ich habe auch schon gegoogelt bis zum schwarz werden aber gefunden habe ich nichts was mir weiterhilft.

Versucht habe ich es mit dem folgendem Quelltext

Code:
ar
x,y :integer;
list : TStringlist;
begin
list := TStringlist.Create;
for x:=0 to DBGrid1.Columns.Count-1 do
begin
   for y:= 0 to DBGrid1.SelectedRows.Count-1 do
   begin
   list.Add(Form1.Query1.Fields.Fields[x]);
   end;
end;
list.SaveToFile('Strings.txt');
list.Free;
end;
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.611 Beiträge
 
#2
  Alt 11. Jun 2003, 19:03
Schonmal
Code:
DBGrid1.Columns.SaveToFile('Strings.txt');
probiert?
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
Albi

Registriert seit: 4. Mai 2003
Ort: Berlin
458 Beiträge
 
Delphi 7 Professional
 
#3
  Alt 11. Jun 2003, 19:14
Ja, das habe ich schon aber da kommt nichts weiter dabei raus, als da ich die Spaltenname speichere.

Das sieht so aus.

DB_Vorname Title.Caption VornameVisible    Expanded    FieldName DB_Name Title.Caption NameVisible    Expanded    FieldName    DB_Zusatz Title.Caption ZusatzVisible    Expanded    FieldName Das hatte ich auch, nur sollten darunter dann auch noch die Einträge stehen.
  Mit Zitat antworten Zitat
JoelH
(Gast)

n/a Beiträge
 
#4

hmm,

  Alt 12. Jun 2003, 05:13
warum machst du dass mit einem DBGrid ? Lad dir den Kram doch in ein Array und speicher dieses als typisierte Datei oder so ab. Du musst auch bedenken dass nicht alle Daten im DBGrid stehen sondern nur die die auch auf dem Bildschirm angezeigt werden, also eventuell unvollständig ist !
  Mit Zitat antworten Zitat
Albi

Registriert seit: 4. Mai 2003
Ort: Berlin
458 Beiträge
 
Delphi 7 Professional
 
#5
  Alt 12. Jun 2003, 05:41
Genau das ist ja meine Absicht, ich will nur die Daten die im Grid stehen in die txt gespeichert haben. Wie ich oben geschrieben habe, sind die Daten gefiltert.

Des weiteren kenne ich mich mit Delphi noch nicht so gut aus, somit scheint das mir die einfachste Lösung zu sein, da ich mit der typisierte Datei absolut nicht auskenne.
  Mit Zitat antworten Zitat
grayfox

Registriert seit: 22. Jan 2003
Ort: Litschau
173 Beiträge
 
Delphi 4 Standard
 
#6
  Alt 13. Jun 2003, 16:56
hallo albi!
lass das DBGrid. es dient ja nur zum anzeigen der datensätze
wie wärs zb mit

Delphi-Quellcode:
while not table.eof do begin
  eintrag:= table.fieldbyname('feldname').asString;
   usw....
  table.next
end;
statt 'table' kannst auch 'query' einsetzen...
und schon hast zugriff auf alle gefilterten datensätze deine tabelle(n)

mfg, stefan
  Mit Zitat antworten Zitat
Albi

Registriert seit: 4. Mai 2003
Ort: Berlin
458 Beiträge
 
Delphi 7 Professional
 
#7
  Alt 13. Jun 2003, 18:37
Und wie speichere ich das dann in der Txt? Einfach über Tabel/Query SaveToFile?

Ich versteh nur noch Bahnhof.
  Mit Zitat antworten Zitat
Benutzerbild von r_kerber
r_kerber

Registriert seit: 11. Feb 2003
Ort: Trittau
3.538 Beiträge
 
Delphi XE Professional
 
#8
  Alt 13. Jun 2003, 18:46
Nur mal so auf die Schnelle (ungetestet) als Anregung:

Delphi-Quellcode:
var
  F: TextFile;
begin
  AssignFile (F, 'Dateiname');
  Rewrite (F);
  Table1.Open;
  Table1.First;
  repeat
    WriteLn (F, Table1.Fields[1].AsString,',',Table1.Fields[2],',',...)
    Table1.Next;
  until (Table1.EOF);
  Table1.Close;
  CloseFile(F);
end
;
  Mit Zitat antworten Zitat
Albi

Registriert seit: 4. Mai 2003
Ort: Berlin
458 Beiträge
 
Delphi 7 Professional
 
#9
  Alt 13. Jun 2003, 18:55
Super es klappt, das einzigste was da jetzt noch fehlt, ist das er mir die Spaltentitel mit in die txt Speichert.

Ansonsten erstmal vielen Dank für die schnelle Hilfe.
  Mit Zitat antworten Zitat
Albi

Registriert seit: 4. Mai 2003
Ort: Berlin
458 Beiträge
 
Delphi 7 Professional
 
#10
  Alt 13. Jun 2003, 19:22
Hab es hinbekommen.

Code:
var
  F: TextFile;
begin
  AssignFile (F, 'Dateiname');
  Rewrite (F);
  Table1.Open;
  Table1.First;
  Writeln(F, 'Test1,Test2,Test3,Test4,Test5');
  repeat
    WriteLn (F, Table1.Fields[1].AsString,',',Table1.Fields[2],',',...)
    Table1.Next;
  until (Table1.EOF);
  Table1.Close;
  CloseFile(F);
end
So sieht der Code aus und es funktioniert wunderbar, so wie ich es mir vorgestellt habe.

Danke

Mfg

Micha
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:49 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz