AGB  ·  Datenschutz  ·  Impressum  







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

Minimum Suche im StringGrid

Ein Thema von Technikus · begonnen am 1. Okt 2005 · letzter Beitrag vom 2. Okt 2005
Antwort Antwort
Technikus

Registriert seit: 2. Aug 2005
46 Beiträge
 
#1

Minimum Suche im StringGrid

  Alt 1. Okt 2005, 17:31
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:
...
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;
...
Ich danke euch im voraus
Technikus
  Mit Zitat antworten Zitat
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#2

Re: Minimum Suche im StringGrid

  Alt 1. Okt 2005, 19:34
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.
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#3

Re: Minimum Suche im StringGrid

  Alt 1. Okt 2005, 20:26
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:
...
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;
...
Grüße vom marabu
  Mit Zitat antworten Zitat
Technikus

Registriert seit: 2. Aug 2005
46 Beiträge
 
#4

Re: Minimum Suche im StringGrid

  Alt 2. Okt 2005, 10:43
Guten Morgen,

ich habe -dank euch- eine Lösung gefunden.
diese hat auch funktioniert.
Delphi-Quellcode:
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;
nochmal Dank an Euch, bis zum nächsten Problem,
Technikus
  Mit Zitat antworten Zitat
Antwort Antwort


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 05:46 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