![]() |
Minimum Suche im StringGrid
Hallo! (Delphi2005 Prof)
ich möchte ein Unterprogramm "minimum" in einer Prozedur "Berechne" aufrufen und den Wert über ein Edit-Feld aufrufen. Die Ausgabe klappt leider nicht. Kann mir jemand bei der Fehlersuche helfen und diesen bitte kurz erklären. Ich übe noch.
Delphi-Quellcode:
Ich danke euch im voraus
...
type Tfeld= array[1..10000]of integer; function minimum(n:integer;x:Tfeld):integer; var i,min:integer; begin min:=x[1]; for i:=2 to n do if x[i]< min then min:=x[i]; minimum:= min end; procedure TForm1.Button4_Berechne_MinClick(Sender: TObject); var n,i,min: integer; x:Tfeld; begin x[i]:=StrToInt(StringGrid1.Cells[1,i]); n:= StrToInt (Edit1_eingabe_n.Text); minimum(n,x); Edit2_ergebnis.Text:=IntToStr (x[i]); end; ... Technikus |
Re: Minimum Suche im StringGrid
Was willst Du denn genau machen? Die Funktion 'minimum' ist (bis auf die falsche Einrückung) ok, aber das 'berechnen'... Da ist was faul...
Erkläre bitte, was das Programm machen soll, und dann kriegen wir das schon hin. |
Re: Minimum Suche im StringGrid
Hallo Technikus,
sprechende Namen solltest du dir angewöhnen. Ich habe dir eine Prüfung in deine Funktion Minimum() eingebaut und die Aktion hinter dem Button4 etwas berichtigt und kommentiert.
Delphi-Quellcode:
Grüße vom marabu
...
type TFeld = array [1..10000] of integer; function Minimum(n: integer; const x: TFeld): integer; var i: integer; begin if n < 1 then raise Exception.Create(''); Result := x[1]; for i := 2 to n do if x[i] < Result then Result := x[i]; end; procedure TForm1.Button4_Berechne_MinClick(Sender: TObject); var i: integer; x: TFeld; begin // hier wolltest du bestimmt dein array initialisieren? // ich übertrage mal alle Werte aus der ersten Datenspalte for i := 1 to StringGrid1.RowCount - 1 do x[i] := StrToInt(StringGrid1.Cells[1,i]); // über Edit1_eingabe_n stellst du die Zeilen in deinem StringGrid ein? // i enthält jetzt aber schon den richtigen Wert durch das Hochzählen // i := StrToInt(Edit1_eingabe_n.Text); // Minimum() ist eine Funktion. Wenn du das Ergebnis nicht verwendest, verfällt es. Edit2_ergebnis.Text := IntToStr(Minimum(i, x)); end; ... |
Re: Minimum Suche im StringGrid
Guten Morgen,
ich habe -dank euch- eine Lösung gefunden. diese hat auch funktioniert.
Delphi-Quellcode:
nochmal Dank an Euch, bis zum nächsten Problem,
type
Tfeld= array[1..10000]of integer; function minimum(n:integer;x:Tfeld):integer; var i,min:integer; begin min:=x[1]; for i:=2 to n do if x[i]< min then min:=x[i]; minimum:= min end; var n,i,min: integer; x:Tfeld; procedure TForm1.Button4_Berechne_MinClick(Sender: TObject); begin n:= StrToInt (Edit1_eingabe_n.Text); for i:=1 to n do x[i]:=StrToInt(StringGrid1.Cells[1,i]); minimum(n,x); Edit2_ergebnis.Text:=IntToStr (minimum(n, x)) end; Technikus |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14: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