![]() |
1. und 2. Spalte eines Stringgrid auf "leer" überp
Hallo!
ich suche wiedermal Hilfe beim Basteln meiner Wertetabelle. (Delphi 2005 Prof.) Ich möchte gern eine Fehlermeldung(Textmeldung als Label) ausgeben, wenn irgend eine (oder mehrere) Zelle der ersten oder zweiten Spalte(und nur dieser) nicht belegt sind. Einen Anfang habe ich gemacht, die Meldung kommt, aber auch, wenn die dritte Spalte leer ist und das ist meine Spalte für zu berechnende Werte. Und die geht ach nciht weg, wenn ich die Zellen belegt habe. Was muss ich ändern, damit es funktioniert? Weiterhin wollte wissen, wie ich die Meldung wieder weg bekomme, wenn alle Zellen der 1. und 2. Spalte belegt sind und ich auf den Button "Berechne" drücke. Vielleicht kann mir jemand helfen.
Delphi-Quellcode:
Danke im Voraus
...
procedure TForm1.Button4_Berechne_PClick(Sender: TObject); var j,k,i, anzahl: integer; Spannung, Strom, Leistung: double; s,M: string; ok: boolean; begin anzahl:=StrToInt(Edit3_Eingabe_anzahl.Text); with StringGrid1 do begin if (Cells [1,j]='') and (Cells [2,k]='') then begin M:='Messreihe unvollständig!'; Label1_Warnung.caption:=M; end else for i := FixedRows to anzahl do begin ... Technikus |
Re: 1. und 2. Spalte eines Stringgrid auf "leer" ü
Hallo Technikus,
mit dieser Methode deines Formulars sollte es dir gelingen eine Prüfung zu bauen:
Delphi-Quellcode:
Sie liefert für den Aufruf IndexOfEmptyRow(1) das Ergebnis -1, wenn alle Zellen der Spalte mit dem Index 1 gefüllt sind.
function TCalcForm.IndexOfEmptyRow(iCol: integer): integer;
begin Result := Grid.FixedRows; while (Result < Grid.RowCount) and (Grid.Cells[iCol, Result] <> '') do Inc(Result); if Result = Grid.RowCount then Result := -1; end; Grüße vom marabu |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:10 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