AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Stringgrid Spalten in Zeilen tauschen

Ein Thema von fl63 · begonnen am 10. Feb 2010 · letzter Beitrag vom 11. Feb 2010
Antwort Antwort
fl63

Registriert seit: 30. Mär 2008
124 Beiträge
 
#1

Stringgrid Spalten in Zeilen tauschen

  Alt 10. Feb 2010, 11:56
Hallo DPler!

Ich möchte eine Art Logbuch Datei anlegen, d.h.
ein zweispaltiges Stringgrid mit erster Spalte als Spaltenüberschrift und zweiter Spalte als WerteSpalte soll in ein
zweites Stringgrid dessen Spalten die Spaltenüberschriften des ersten Grids enthalten und die Wertespalte des ersten Grids soll in den Zeilen des zweiten Grids übernommen werden.

also ungefähr so:

Delphi-Quellcode:
procedure TForm1.einfugenClick(Sender: TObject);
var i :integer;
begin
 SG2.Cells[0,1] := DateToStr(DateTimePicker1.Date);
 SG2.Cells[1,1] := 'hauf'; //hier kommt FileName der laufenden Datei hinein
 SG2.Cells[2,1] := IntToStr(SGaddieren(SG1,1)) ; //Summe der WerteSpalte des ersten Grids
 SG2.Cells[3,1] := SG1.Cells[1,0]; // 15 Werte entsprechend der Wertespalte ds ersten Grids
 SG2.Cells[4,1] := SG1.Cells[1,1];
 SG2.Cells[5,1] := SG1.Cells[1,2];
 SG2.Cells[6,1] := SG1.Cells[1,3];
 SG2.Cells[7,1] := SG1.Cells[1,4];
 SG2.Cells[8,1] := SG1.Cells[1,5];
 SG2.Cells[9,1] := SG1.Cells[1,6];
 SG2.Cells[10,1] := SG1.Cells[1,7];
 SG2.Cells[11,1] := SG1.Cells[1,8];
 SG2.Cells[12,1] := SG1.Cells[1,9];
 SG2.Cells[13,1] := SG1.Cells[1,10];
 SG2.Cells[14,1] := SG1.Cells[1,11];
 SG2.Cells[15,1] := SG1.Cells[1,12];
 SG2.Cells[16,1] := SG1.Cells[1,13];
 SG2.Cells[17,1] := SG1.Cells[1,14];
 SG2.Cells[18,1] := SG1.Cells[1,15]; //WerteSpalte Ende

 SG2.SaveToCSV('HaufigLog.txt',#9);
end;
dieser Text ist natürlich nur dummes Zeug. Es fehlt die Zeilenweiterschaltung für das zweite Grid und vieles andere mehr.
Aber vielleicht kennt jemand eine Funktion die Spalten in Zeilen tauscht
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.270 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: Stringgrid Spalten in Zeilen tauschen

  Alt 10. Feb 2010, 12:14
Hallo,

ich habe das jetzt 5 mal gelesen und nicht verstanden ...

Und nein, so ene Funktion gibt es nicht.
Kann man aber leicht selber schreiben.
So wie ich das gesehen habve, reicht eine for-Schleife,
vielleicht auch 2 (geschachtelt).


Heiko
Heiko
  Mit Zitat antworten Zitat
fl63

Registriert seit: 30. Mär 2008
124 Beiträge
 
#3

Re: Stringgrid Spalten in Zeilen tauschen

  Alt 10. Feb 2010, 14:11
also versuch ich es zu erklären

Ich habe ein Stringgrid mit zwei Spalten. Nun soll die zweite Spalte, nennen wir sie Wertespalte, zur (Werte)Zeile eines zweiten Stringgrids werden.

Hier habe ich 'nen Vorschlag für die Zeilenweiterschaltung:
Delphi-Quellcode:

i:= SG2.RowCount-1 +1;
:
SG2.Cells[5,i] := SG1.Cells[1,2];
:
Wo mein Fehler steckt weiß ich nicht.


Zitat von hoika:
Hallo,

So wie ich das gesehen habve, reicht eine for-Schleife,
vielleicht auch 2 (geschachtelt).


Heiko
???

Ich hoffe doch das mir jemand helfen kann.
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.270 Beiträge
 
Delphi 10.4 Sydney
 
#4

Re: Stringgrid Spalten in Zeilen tauschen

  Alt 10. Feb 2010, 14:17
Hallo,

SG2.Cells[5,i] := SG1.Cells[1,2]; rechts ist kein i ...

F5 / F7 / F8 / Add Watch


Heiko
Heiko
  Mit Zitat antworten Zitat
fl63

Registriert seit: 30. Mär 2008
124 Beiträge
 
#5

Re: Stringgrid Spalten in Zeilen tauschen

  Alt 10. Feb 2010, 14:26
Zitat von hoika:
Hallo,

SG2.Cells[5,i] := SG1.Cells[1,2]; rechts ist kein i ...

F5 / F7 / F8 / Add Watch


Heiko

rechts ist kein i.. Ich versteh nicht... Das i soll doch nur die Zeilennummer des Zielgrids um eine Zeile weiterschalten?
Und das funktioniert nicht!

Ach so ich begreife

andersrum ist es aber auch nicht möglich.

So habe ich aber keine Idee für die ZeilenWeiterSchaltung.
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#6

Re: Stringgrid Spalten in Zeilen tauschen

  Alt 10. Feb 2010, 15:54
Wenn ich das Problem richtig verstanden habe sollte das hier weiter hefen:
Delphi-Quellcode:
var
  x,y : integer;
begin
  { dient nur zum füllen }
  y:=0;
  for x:=0 to 5 do
    stringgrid1.Cells[y,x]:=inttohex(x,2);
  y:=1;
  for x:=0 to 5 do
    stringgrid1.Cells[y,x]:=char(x+32);
  stringgrid1.rowcount:=6; {x+1}
  stringgrid1.ColCount:=2; {y+1}
{--------------------------------------}

  for x:=0 to stringgrid1.RowCount-1 do
    for y:=0 to stringgrid1.ColCount-1 do
      stringgrid2.Cells[x,y]:=stringgrid1.Cells[y,x];

end;
Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
fl63

Registriert seit: 30. Mär 2008
124 Beiträge
 
#7

Re: Stringgrid Spalten in Zeilen tauschen

  Alt 11. Feb 2010, 08:42
Manchmal ist man wirklich

Anbei meine Lösung verwendet wurde ein Jedi Stringgrid

Delphi-Quellcode:
procedure TForm1.einfuegenClick(Sender: TObject);
var i,j,Zeile,Spalte :integer;
begin
 begin
   Spalte := 0;
 For j := 0 to SG1.RowCount-1 do
   begin
   SG2.Cells[Spalte,1] := SG1.Cells[1,j];
   Spalte := Spalte+1;
   end;
 end;
 SG2.InsertRow(1);
end;
  Mit Zitat antworten Zitat
Antwort Antwort


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 13:39 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