Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi StringGrid Einträge ausgeben ohne Komma (https://www.delphipraxis.net/136879-stringgrid-eintraege-ausgeben-ohne-komma.html)

aaaaaaaaaa_10 9. Jul 2009 12:29


StringGrid Einträge ausgeben ohne Komma
 
Hallo,
ich möchte mir meine erste Zeile (Kopfzeile) aus StringGrid in einer txt. Datei hintereinander (mit Leerzeichen) ausgeben lassen. Allerdings bekomme ich das entweder nur untereinander oder mit Kommas dazwischen hin. Jemand einen Vorschlag? :?:

toms 9. Jul 2009 12:44

Re: StringGrid Einträge ausgeben ohne Komma
 
Wie sieht dein Code aus? :glaskugel:

Stormy 9. Jul 2009 12:44

Re: StringGrid Einträge ausgeben ohne Komma
 
Wie gibst du es denn bis jetzt aus bzw. mit Komma?
Vielleicht muss dein Code nur minimal angepasst werden.

Edit: @toms, 2 Dumme ein Gedanke :lol:


Gruß
Stormy

aaaaaaaaaa_10 9. Jul 2009 12:46

Re: StringGrid Einträge ausgeben ohne Komma
 
Delphi-Quellcode:
for i := 1 to (StringGrid.RowCount - 1) do
      F.Add(StringGrid.Rows[i].CommaText);

p80286 9. Jul 2009 12:57

Re: StringGrid Einträge ausgeben ohne Komma
 
Delphi-Quellcode:
for i := 1 to (StringGrid.RowCount - 1) do
      F.Add(StringGrid.cells[0,i]);
oder
Delphi-Quellcode:
textdummy:string;
....
for i := 1 to (StringGrid.RowCount - 1) do
      textdummy:=StringGrid.Rows[i].CommaText;
for i:=1 to length(textdummy) do
  if textdummy[i]=',' then textdummy[i]:=' ';
f.add(textdummy);
oder du packst eine Row in den TextDummy und ersetzt die #13#10 durch Blanks.


Gruß
K-H

aaaaaaaaaa_10 9. Jul 2009 13:03

Re: StringGrid Einträge ausgeben ohne Komma
 
bei deiner ersten variante gibt es ja auch nur die erste spalte. ich möchte aber die erste zeile hintereinander

p80286 9. Jul 2009 13:13

Re: StringGrid Einträge ausgeben ohne Komma
 
Delphi-Quellcode:
StringGrid.cells[0,i]
Damit bekommst Du alle Spalten (i) der ersten Zeile(0).

Und wenn ich mich vertan hab, dann dreh's halt rum.

Gruß
K-H

aaaaaaaaaa_10 9. Jul 2009 13:15

Re: StringGrid Einträge ausgeben ohne Komma
 
du hast dich vertan,aber ich bekomme trotzdem die daten der zeile untereinander ausgegeben und nicht hintereinander :cry:

aaaaaaaaaa_10 9. Jul 2009 13:35

Re: StringGrid Einträge ausgeben ohne Komma
 
Delphi-Quellcode:
for j := 1 to (StringGrid.RowCount - 1) do
  begin
    for i := 0 to (StringGrid.ColCount - 1) do
    begin
      temp := StringGrid.Cells[i,j];
      temp2:= temp2+'    '+temp;
    end;
      F.Add(temp2);
      temp2 := '';
  end;
jetzt bekomme ich die komplette stringlist ohne Kommas und tabellarisch ausgegeben,allerding hab ich jetzt das Prob, dass die zusammengehörigen Daten nicht direkt untereinanderstehen, sondern durch unterschiedliche Textlänge verschoben sind .. Gibts da ne Lösung?

p80286 9. Jul 2009 13:42

Re: StringGrid Einträge ausgeben ohne Komma
 
nimm einen Font mit fixed pitch (z.B. Courier)

oder
gib die Daten auf einer Canvas mit TextOut aus, dann kannst Du genau positionieren.

Gruß
K-H

Klaus01 9. Jul 2009 13:44

Re: StringGrid Einträge ausgeben ohne Komma
 
.. Tabulatoren (#9) einfügen.

@p80286
es soll doch in eine Datei gespeichert werden

Grüße
Klaus

aaaaaaaaaa_10 9. Jul 2009 13:54

Re: StringGrid Einträge ausgeben ohne Komma
 
Tab einfügen,klar...danke .hat supi geklappt. jetzt kann ich es wenigstens mit excel und co öffnen

p80286 9. Jul 2009 16:25

Re: StringGrid Einträge ausgeben ohne Komma
 
@Klaus01

Jo überlesen! aber dann ist der Tab (#9) auch nur eine Frickellösung weil er nur ein paar Zeichen (wieviele eigentlich?) abdeckt, es sei denn er fungiert als Feldtrenner.
und es kommt natürlich auf das Darstellungsprogramm der TXT-Datei an.
Wenn's wirklich untereinander stehen soll dann hilft nur

Pseudocode:
Delphi-Quellcode:
für jede Spalte
  stelle maximale breite fest
  speichere in spaltenbreitenarray
für jede zeile
  für jede spalte
    lies zelle in dummy
    füll dummy mit blanks bis spaltenbreite erreicht
    schreibe dummy
oder gleich im "richtigen" Format speichern (CSV,XLS......)

(hoffentlich hab ich jetzt nichts übersehen)

Gruß
K-H

aaaaaaaaaa_10 10. Jul 2009 06:12

Re: StringGrid Einträge ausgeben ohne Komma
 
Er fungiert als Feldtrenner.Und wenn der Chef eine txt. Datei wünscht bekommt er diese


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:05 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz