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 1 von 2  1 2      
tom_po

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

Inhalt von Stringrid auf einmal löschen

  Alt 6. Mai 2006, 08:24
ich möchte mit einem Button den Inhalt aller Zeilen und Spalten auf einmal löschen, habe gesucht, aber noch nichts gefunden.
Ich kann zwar die gesamte Zeile eines Grid löschen, das will ich aber nicht.
Danke für Eure Hilfe.
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.252 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Inhalt von Stringrid auf einmal löschen

  Alt 6. Mai 2006, 08:39
Hai tom_po,

meinst Du so etwas?:
Delphi-Quellcode:
procedure ClearStringGrid (sg : TStringGrid);
var
  ndx: Integer;
begin
  with sg do
  begin
    for ndx := FixedRows to Pred(RowCount) do
    begin
      Rows[ndx].Clear;
    end;
  end;
end;

procedure TDemoForm.btn_ClearClick(Sender: TObject);
begin
  ClearStringGrid(StringGrid1);
end;
Stephan B.
  Mit Zitat antworten Zitat
tom_po

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

Re: Inhalt von Stringrid auf einmal löschen

  Alt 6. Mai 2006, 09:38
Zunächst danke Sharky für deine hilfe

Hab's probiert, bekomme aber dann diesen Kompilierfehler:

"[Fehler] loteunit.pas(41): Ungenügende Forward- oder External-Deklaration: 'Tlote.ClearStringGrid'"

weisst du woran es liegt?
  Mit Zitat antworten Zitat
Benutzerbild von fkerber
fkerber
(CodeLib-Manager)

Registriert seit: 9. Jul 2003
Ort: Ensdorf
6.723 Beiträge
 
Delphi XE Professional
 
#4

Re: Inhalt von Stringrid auf einmal löschen

  Alt 6. Mai 2006, 09:41
Hi!

Du hast sicherlich versucht, die Prozedur oben bei den Prozeduren der Klasse Tlote einzutragen.
Wenn du das tust (warum auch immer), dann müsstest die erste Zeile der eigentlichen Prozedur lauten:

procedure Tlote.ClearStringGrid (sg : TStringGrid); Nur dann ist sie auch wirklich "Bestandteil" der Klasse.


Ciao Frederic
Frederic Kerber
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.252 Beiträge
 
Delphi 2006 Professional
 
#5

Re: Inhalt von Stringrid auf einmal löschen

  Alt 6. Mai 2006, 09:45
Zitat von fkerber:
Hi!

Du hast sicherlich versucht, die Prozedur oben bei den Prozeduren der Klasse Tlote einzutragen....
Eher umgedreht.

Ich glaube tom_po hat die Procedure so im Code stehen:
procedure Tlote.ClearStringGrid (sg : TStringGrid); Aber sie nicht im Type-Abschnitt der Klasse eingetragen.
Delphi-Quellcode:
Type = class(TForm)
   .
   .
   .
  private
    { Private-Deklarationen }
     procedure ClearStringGrid (sg : TStringGrid);[/
  public
    { Public-Deklarationen }
  end;
Wobei das eigentlich nicht notwendig ist. Es reicht wenn die Procedure von mir im Quellcode vor dem ersten Aufruf steht.
Sie muss keine Methode der Klasse sein.
Stephan B.
  Mit Zitat antworten Zitat
Benutzerbild von fkerber
fkerber
(CodeLib-Manager)

Registriert seit: 9. Jul 2003
Ort: Ensdorf
6.723 Beiträge
 
Delphi XE Professional
 
#6

Re: Inhalt von Stringrid auf einmal löschen

  Alt 6. Mai 2006, 09:49
Hi!

nein, dann käme:
Zitat:
[Error] Unit1.pas(26): Undeclared identifier: 'ClearStringGrid'
Trägt er sie hingegen oben ein und schreibt sie unten ohne Tlote. dann kommt der beschriebene Fehler.


Ciao Frederic
Frederic Kerber
  Mit Zitat antworten Zitat
tom_po

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

Re: Inhalt von Stringrid auf einmal löschen

  Alt 6. Mai 2006, 09:56
ich hatte wirklich das tlote bei der procedure vergessen, sorry.
bekomme jetzt aber diesen fehler:
[Fehler] loteunit.pas(473): Nicht genügend wirkliche Parameter
  Mit Zitat antworten Zitat
Benutzerbild von fkerber
fkerber
(CodeLib-Manager)

Registriert seit: 9. Jul 2003
Ort: Ensdorf
6.723 Beiträge
 
Delphi XE Professional
 
#8

Re: Inhalt von Stringrid auf einmal löschen

  Alt 6. Mai 2006, 10:04
Hi!

Wie genau rufst du die Prozedur denn auf? Und was steht in Zeile 473?


Ciao Frederic
Frederic Kerber
  Mit Zitat antworten Zitat
tom_po

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

Re: Inhalt von Stringrid auf einmal löschen

  Alt 6. Mai 2006, 10:23
dir procedure rufe ich über button2 auf:

Delphi-Quellcode:
procedure Tlote.Button2Click(Sender: TObject);
begin
 clearstringgrid;
end;
in der zeile 473 steht das clearstringgrid; über der aufruf mit dem button steht meine procedure:

Delphi-Quellcode:
procedure tLote.ClearStringGrid (sg : TStringGrid);
var
  ndx: Integer;
begin
  with sg do
  begin
    for ndx := FixedRows to Pred(RowCount) do
    begin
      Rows[ndx].Clear;
    end;
  end;
end;
fehlermeldung:
[Fehler] loteunit.pas(473): Nicht genügend wirkliche Parameter
  Mit Zitat antworten Zitat
Benutzerbild von Die Muhkuh
Die Muhkuh

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

Re: Inhalt von Stringrid auf einmal löschen

  Alt 6. Mai 2006, 10:25
Hi,

du musst als Parameter dein Stringgrid mitgeben:

ClearStringGrid(NameDeinesStringGrids);
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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