AGB  ·  Datenschutz  ·  Impressum  







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

Zeilenumbruch aus TStringList löschen

Ein Thema von fanavity · begonnen am 5. Sep 2011 · letzter Beitrag vom 5. Sep 2011
Antwort Antwort
fanavity

Registriert seit: 2. Sep 2011
65 Beiträge
 
#1

AW: Zeilenumbruch aus TStringList löschen

  Alt 5. Sep 2011, 12:54
Ja das weiß ich ja.. Nur wie sage ich dem Programm:" Hey, geh mal in eine neue Zeile! ?"
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.656 Beiträge
 
Delphi 12 Athens
 
#2

AW: Zeilenumbruch aus TStringList löschen

  Alt 5. Sep 2011, 12:56
Indem Du auf StringGrid.Cells zugreifst, da kannst Du Zeile und Spalte der aktuellen Zelle angeben.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
fanavity

Registriert seit: 2. Sep 2011
65 Beiträge
 
#3

AW: Zeilenumbruch aus TStringList löschen

  Alt 5. Sep 2011, 13:01
Das weiß ich auch, nur irgendwie stehe ich auf dem Schlauch. Ist mein Lösungsansatz von oben denn richtig oder muss ich den kommplett umbauen?

wenn ich es mit StringGrid1.Cells[x,y] versuche, bekomme ich immer eine Diagonale ^^

Wie gesagt, ich stehe auf dem Schlauch :/
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.656 Beiträge
 
Delphi 12 Athens
 
#4

AW: Zeilenumbruch aus TStringList löschen

  Alt 5. Sep 2011, 13:12
Ungetestet:
Delphi-Quellcode:
procedure FillGridFromStringlist(List: TStrings; Grid: TStringGrid; ColsPerRow: integer);
var
  i, Zeile, Spalte: integer;
begin
  if not Assigned(List) or not Assigned(Grid) then
    raise Exception.Create('Liste und Grid müssen vorhanden sein.');
  Grid.RowCount := Grid.FixedRows + List.Count div ColsPerRow;
  if List.Count mod ColsPerRow > 0 then
    Grid.RowCount := Grid.RowCount + 1;
  for i := 0 to List.Count - 1 do
    begin
      Zeile := Grid.FixedRows + i div ColsPerRow;
      Spalte := Grid.FixedCols + i mod ColsPerRow;
      Grid.Cells[Spalte, Zeile] := List[i];
    end;
end;
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Blup

Registriert seit: 7. Aug 2008
Ort: Brandenburg
1.487 Beiträge
 
Delphi 12 Athens
 
#5

AW: Zeilenumbruch aus TStringList löschen

  Alt 5. Sep 2011, 13:37
Die vorherige Variante hat noch einen kleinen Fehler bei der Zuweisung von RowCount.
Delphi-Quellcode:
procedure FillGridFromStringlist(List: TStrings; Grid: TStringGrid; ColsPerRow: integer);
var
  i, x0, y0, x, y: integer;
begin
  if not Assigned(List) or not Assigned(Grid) then
    raise Exception.Create('Liste und Grid müssen vorhanden sein.');

  y0 := Grid.FixedRows;
  x0 := Grid.FixedCols;

  if (ColsPerRow < 1) or (ColsPerRow > (Grid.ColCount - x0)) then
    raise Exception.CreateFmt('Parameter ungültig: ColsPerRow = %d', [ColsPerRow]);

  if List.Count = 0 then
    Grid.RowCount := y0 + 1 // eine Zeile ist notwendig
  else
  begin
    Grid.RowCount := y0 + ((List.Count - 1) div ColsPerRow) + 1;

    for i := 0 to List.Count - 1 do
    begin
      x := x0 + i div ColsPerRow;
      y := y0 + i mod ColsPerRow;
      Grid.Cells[x, y] := List[i];
    end;
  end;
end;
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.656 Beiträge
 
Delphi 12 Athens
 
#6

AW: Zeilenumbruch aus TStringList löschen

  Alt 5. Sep 2011, 13:42
Man könnte aber auch ColCount an ColsPerRow anpassen
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  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 04:47 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