AGB  ·  Datenschutz  ·  Impressum  







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

Inhalt von Stringrid auf einmal löschen

Ein Thema von tom_po · begonnen am 6. Mai 2006 · letzter Beitrag vom 7. Mai 2006
Antwort Antwort
Seite 2 von 2     12   
tom_po

Registriert seit: 5. Feb 2006
137 Beiträge
 
Delphi 7 Enterprise
 
#11

Re: Inhalt von Stringrid auf einmal löschen

  Alt 6. Mai 2006, 10:29
super, spider, vielen dank, das war's
klappt super

hatte zwischenzeitlich noch einen anderen vorschlag zum löschen bekommen:

Delphi-Quellcode:
procedure tlote.ClearGrid(var Grid: TStringGrid);
var
  i: integer;
begin
  for i := 0 to Grid.RowCount - 1 do
    Grid.Rows[i].Clear;
end;
was hälst du davon?
  Mit Zitat antworten Zitat
tom_po

Registriert seit: 5. Feb 2006
137 Beiträge
 
Delphi 7 Enterprise
 
#12

Re: Inhalt von Stringrid auf einmal löschen

  Alt 6. Mai 2006, 11:02
habe doch noch ein Problem:

ich habe ja in der ersten Zeile des Stringrids Menu-Name eingetragen, die ich nicht löschen will,
habe aber auch in der ersten Spalte eine fortlaufende Nummer eingetragen, die ich auch nicht löschen will, wie mache ich das?
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.771 Beiträge
 
Delphi 10.4 Sydney
 
#13

Re: Inhalt von Stringrid auf einmal löschen

  Alt 6. Mai 2006, 11:09
Delphi-Quellcode:
procedure tLote.ClearStringGrid (sg : TStringGrid);
var
  r_ndx,c_ndx: Integer;
begin
  with sg do
  begin
    for r_ndx := FixedRows +1 to Pred(RowCount) do
       for c_ndx := FixedColls +1 to Pred(CollCount) do
         cells[c_ndx,r_ndx] := '';
  end;
end;
sollte ungefähr so gehen, nicht getestet.

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Hawkeye219

Registriert seit: 18. Feb 2006
Ort: Stolberg
2.227 Beiträge
 
Delphi 2010 Professional
 
#14

Re: Inhalt von Stringrid auf einmal löschen

  Alt 6. Mai 2006, 11:13
Die einfachste Lösung besteht darin, mit zwei Schleifen jede Zelle einzeln zu löschen:

Delphi-Quellcode:
with Grid do
  for ndy := FixedRows to RowCount - 1 do
    for ndx := FixedCols to ColCount - 1 do
      Cells[ndx, ndy] := '';
Gruß Hawkeye

//Edit @Klaus01: sehe gerade, daß du deinen Beitrag korrigiert hast. Es heißt trotzdem "Cols" und das Cells-Array ist nullbasiert
  Mit Zitat antworten Zitat
tom_po

Registriert seit: 5. Feb 2006
137 Beiträge
 
Delphi 7 Enterprise
 
#15

Re: Inhalt von Stringrid auf einmal löschen

  Alt 6. Mai 2006, 11:31
super jetzt habe ich es so wie ich es wollte:

Delphi-Quellcode:
procedure tLote.ClearStringGrid (sg : TStringGrid);
var
  ndx,ndy: Integer;
begin
  with sg do
  for ndy := FixedRows to RowCount - 1 do
    for ndx := FixedCols to ColCount - 1 do
      Cells[ndx, ndy] := '';
end;

Hawkeye219, kannst du noch kurz mir deine meinung über diese alternative sagen, bitte:

Delphi-Quellcode:
procedure tlote.ClearGrid(var Grid: TStringGrid);
var
  i: integer;
begin
  for i := 1 to Grid.RowCount - 1 do
    Grid.Rows[i].Clear;
    grid.Cols[i].Clear;
end;
  Mit Zitat antworten Zitat
Hawkeye219

Registriert seit: 18. Feb 2006
Ort: Stolberg
2.227 Beiträge
 
Delphi 2010 Professional
 
#16

Re: Inhalt von Stringrid auf einmal löschen

  Alt 6. Mai 2006, 11:45
Die Alternative dürfte nicht funktionieren, sie enthält mehrere Fehler:
  • Die Schleife durchläuft alle Zeilen des Grids und löscht diese komplett - also inklusive der festen Zellen (FixedCols).
  • Nach der Schleife erfolgt ein Zugriff auf das Spalten-Array mit dem undefinierten Wert der Schleifenvariablen i. Um die Spalten zu löschen, wäre hier eine weitere Schleife über alle Spalten notwendig.
  • Die Clear-Methoden löschen komplette Zeilen bzw. Spalten. Der Inhalt der festen Zellen (FixedRows, FixedCols) wird ebenfalls gelöscht. Somit wird dieses Lösung in keinem Fall zum Ziel führen.
Gruß Hawkeye
  Mit Zitat antworten Zitat
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#17

Re: Inhalt von Stringrid auf einmal löschen

  Alt 6. Mai 2006, 13:40
[edit] Sorry, ich hab nicht gesehen, dass es eine zweite Seite gibt [/edit]
  Mit Zitat antworten Zitat
tom_po

Registriert seit: 5. Feb 2006
137 Beiträge
 
Delphi 7 Enterprise
 
#18

Re: Inhalt von Stringrid auf einmal löschen

  Alt 7. Mai 2006, 03:36
Danke für die Hilfe
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 18:42 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