AGB  ·  Datenschutz  ·  Impressum  







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

StringGrid.RowCount lässt sich nicht ändern

Ein Thema von hsbc · begonnen am 19. Nov 2006 · letzter Beitrag vom 19. Nov 2006
 
Reinhard Kern

Registriert seit: 22. Okt 2006
772 Beiträge
 
#5

Re: StringGrid.RowCount lässt sich nicht ändern

  Alt 19. Nov 2006, 15:42
Zitat von hsbc:
Es hat sich leider nichts verändert.

So lange ich kein neues Verzeichnis anlege, funktioniert alles wunderbar. ...

mfg
Herbert
Hallo Herbert,

setz doch mal einen Haltepunkt und lass dir c anzeigen (mit Start - Auswerten).

Grundsätzlich muss das funktionieren, ich habe Anwendungen mit mehr als 10 grossen Stringgrids, die werden beim Einlesen ensprechend immer weiter hochgesetzt bis über 1000 Rows, und notfalls auch wieder herunter. Anbei mein Code dafür, der keine Probleme macht:

Delphi-Quellcode:
procedure TRKMainForm.AddRowToGrid (var G : TStringGrid);
var NewSel : TGRidRect;
begin
G.RowCount := G.RowCount + 1;
NewSel.Top := G.RowCount - 1;
NewSel.Left := 1;
NewSel.Bottom := NewSel.Top;
NewSel.Right := 1;
G.Selection := NewSel;
end;

procedure TRKMainForm.InsertRowToGrid (var G : TStringGrid; docopy : boolean);
var ActSel : TGRidRect;
    c,cmax,r,rins : integer;
begin
ActSel := G.Selection;
r := ActSel.Top ;
if (r < 1) or (r >= G.RowCount) then
  begin
  Beep;
  exit;
  end;
G.RowCount := G.RowCount + 1;
rins := r;
cmax := G.ColCount - 1;
for r := G.RowCount - 2 downto rins do
  for c := 0 to cmax do G.Cells [c,r+1] := G.Cells[c,r];
if docopy then
  for c := 0 to cmax do G.Cells[c,rins] := G.Cells[c,rins+1]
else
  for c := 0 to cmax do G.Cells[c,rins] := '';
ActSel.Left := 1;
ActSel.Top := rins;
ActSel.Right := 1;
ActSel.Bottom := rins;
G.Selection := ActSel;
end;

procedure TRKMainForm.DeleteRowFromGrid (var G : TStringGrid);
var ActSel : TGRidRect;
    r,ri,rmax : integer;
begin
ActSel := G.Selection;
r := ActSel.Top ;
if (r < 1) or (r >= G.RowCount) then
  begin
  Beep;
  exit;
  end;
for ri := r to G.RowCount - 2 do
  G.Rows[ri] := G.Rows[ri+1];
G.RowCount := G.RowCount - 1;
end;
Ich sehe also auch nicht, wo du was falsch gemacht haben könntest.

Gruss Reinhard
  Mit Zitat antworten Zitat
 


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:01 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