![]() |
AW: Größter Wert aus StringGrid
Delphi-Quellcode:
If (Form3.Checkbox2.Checked=True) Then Form8.StringGrid1.Cells[1,4]:= '3';
If (Form3.Checkbox2.Checked=True) Then Form8.StringGrid1.Cells[2,4]:= '2'; // Beginn Eintragen neuer Versuch function GetMaxFromStringGrid():Integer; var aRow, max:Integer ; begin max:=0; for aRow:=0 to 6 do if (Form8.StringGrid1.RowHeights[aRow]>-1) then begin if (StrToFloat(Form8.StringGrid1.Cells[1, aRow]) > max) then max:=StrToFloat(Form8.StringGrid1.Cells[1, aRow]); end; Form8.Edit6.Text:= FloatToStr(max); end; //Füllen von stringgrid 1 am anfang If (Form8.RadioButton1.Checked= True) Then Form8.StringGrid2.Hide; Befindet sich alles innerhalb einer button click procedure, da passieren recht viele Dinge. Fehler 2. & 3. : Ups :oops: Dafür kam noch dazu: Incompatible types "byte" and "extended" (analog dazu auch mit integer) |
AW: Größter Wert aus StringGrid
Delphi-Quellcode:
Das jetzt mal ohne große Erläuterungen, da ich wirklich nicht weiß, wo ich anfangen soll.
function GetMaxFromStringGrid():Integer;
var aRow, max:Integer ; begin max:=0; for aRow:=0 to 6 do if (Form8.StringGrid1.RowHeights[aRow]>-1) then begin if (StrToInt(Form8.StringGrid1.Cells[1, aRow]) > max) then max:=StrToInt(Form8.StringGrid1.Cells[1, aRow]); end; Form8.Edit6.Text:= IntToStr(max); Result := max; end; procedure abcdef; // Du musst nachsehen, wie deine procedure heißt var MaxWert : Integer; begin ... If (Form3.Checkbox2.Checked=True) Then Form8.StringGrid1.Cells[1,4]:= '3'; If (Form3.Checkbox2.Checked=True) Then Form8.StringGrid1.Cells[2,4]:= '2'; // Beginn Eintragen neuer Versuch MaxWert := GetMaxFromStringGrid; //Füllen von stringgrid 1 am anfang If (Form8.RadioButton1.Checked= True) Then Form8.StringGrid2.Hide; ... end; Ich denke, du solltest dich mit den Grundlagen der Delphi-Programmierung auseinandersetzen, ansonsten wirst du weiteren Aufgaben erheblich mehr Probleme bekommen. Tutorials gibt es reichlich im Internet. |
AW: Größter Wert aus StringGrid
Delphi-Quellcode:
...ein NoGo. Siehe:
Form8.RadioButton1.Checked= True
![]() |
AW: Größter Wert aus StringGrid
Zitat:
|
AW: Größter Wert aus StringGrid
Zitat:
|
AW: Größter Wert aus StringGrid
Eine einfache Funktion sollte keine Abhängigkeiten zu bestimmten globalen Formvoriablen (Form8) haben.
Benötigte Informationen sollten als Parameter übergeben werden. Ergebnisse werden zurückgegeben, die Ausgabe gehört nicht in die Funktion zum Ermitteln des Wertes. -> wiederverwendbar -> testbar Eingabewerte sind hier das Grid und welcher Bereich zu durchsuchen ist. Rückgabewert ist der gefundene Maximalwert.
Delphi-Quellcode:
function GetMaxFromStringGrid(AGrid: TStringGrid; ARange: TRect): Integer;
var col, row, value: Integer; begin // Ergebnis initialisieren Result := 0; for col := ARange.Left to ARange.Right do begin for row := ARange.Top to ARange.Bottom do begin // ungültigen Inhalte als "0" interpretieren und damit ignorieren value := StrToIntDef(AGrid.Cells[col, row], 0) // Wert mit bisherigem Ergebnis vergleichen, Ergebnis anpassen if Result < value then Result := value; end; end; end; procedure abcdef; // Du musst nachsehen, wie deine procedure heißt var MaxWert : Integer; begin // ... If (Form3.Checkbox2.Checked=True) Then Form8.StringGrid1.Cells[1,4]:= '3'; If (Form3.Checkbox2.Checked=True) Then Form8.StringGrid1.Cells[2,4]:= '2'; // Beginn Eintragen neuer Versuch // MaxWert für den Bereich "Spalte 1, Zeile 0" bis "Spalte 1, Zeile 6" MaxWert := GetMaxFromStringGrid(Form8.StringGrid1, Rect(1, 0, 1, 6)); Form8.Edit6.Text:= IntToStr(MaxWert); //Füllen von stringgrid 1 am anfang If (Form8.RadioButton1.Checked= True) Then Form8.StringGrid2.Hide; //... end; |
AW: Größter Wert aus StringGrid
Hallo,
vielen Dank für Eure umfassende Hilfe! Es hat alles geklappt und gestern habe ich das Projekt und die Prüfung vor Ort bestanden :-D . Zitat:
Zitat:
Das mit den Grundlagen stimmt sicherlicher, allerdings kann ich für kleinere Teilfächer des Studiums halt auch nich zu tief gehn, sonst bin ich noch in 10 Jahren an meinem Bachelor. --> Nochmal Danke an alle! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:48 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