AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Problem mit einem betimmten Wert aus Array ansprechen!

Problem mit einem betimmten Wert aus Array ansprechen!

Ein Thema von Hallo_Thomas · begonnen am 25. Jul 2005 · letzter Beitrag vom 25. Jul 2005
Antwort Antwort
Hallo_Thomas

Registriert seit: 18. Apr 2005
Ort: Dresden
405 Beiträge
 
Delphi 2005 Professional
 
#1

Problem mit einem betimmten Wert aus Array ansprechen!

  Alt 25. Jul 2005, 18:11
Ich habe folgendes Problem, ich wollte das nur eine Wertigkeit über Null ist, das klappt! Nun hab ich folgendes problem im nächsten Durchlauf sollte ganz genau diese Wertigkeit solange berechnet werden bis sie auf Null ist, das klappt irgendwie noch nicht.

Das ist in Form1. so definiert

Delphi-Quellcode:
Public
welche Zahl:Integer;
Befehl in Form1.
Form3.Einwert(Wertigkeit,0,1784,Zaehler,welcheZahl,Wertigkeit,welcheZahl);
Delphi-Quellcode:
procedure TForm3.EinWert(aWert: array of Integer;aStart,aEnd:Integer;Zaehler: array of Integer;welchZahl:Integer;Var Wertigkeit:array of Integer;welcheZahl:Integer);
Var x,niedrig,y :Integer ;
    A : array[1..5] of Integer; ///für die fünf Werte der Arrays
    B : array[1..5] of Integer; ///für die fünf Werte der Arrays
    C : array[1..5] of Integer; ///für die fünf Werte der Arrays
begin
  y:=5; /// um die Anzahl der Werte über null zu zählen
  aWert[1785]:=0; ///ist immer nein Nullwert
  for x:=1 to 5 do
  begin
    A[x]:=0;
    B[x]:=0;
    C[x]:=0;
  end;
  if 0<aWert[welchZahl] Then///welchZahl vorhergehenden Durchlauf für Wert der über Null ist
 [b] begin
    for x := aStart to aEnd do
    begin
      Wertigkeit[x]:=0; ///Alles auf Null setzen
    end;
    Wertigkeit[welchZahl]:=aWert[welchZahl]; //Den einen Wert wieder über null setzen
    welcheZahl:=welchZahl; //Alte=Neuer Wert für nächsten Durchgang
  end else [/b] /// der rest brüchte nicht mehr ausgeführt werden wenn if zutrifft
  begin ////ab hier werden fünf Werte herrausgesucht die über null sind
    for x := aEnd downto aStart do
    begin
      if aWert[x]>0 Then
      begin
        a[1]:=aWert[x];
        b[1]:=x;
        break;
      end;
    end;
    if b[1]>0 then
    begin
      for x := b[1]-1 downto aStart do
      if aWert[x]>0 Then
      begin
        a[2]:=aWert[x];
        b[2]:=x;
        break;
      end;
    end else y:=1; /////////Wenn nur ein Wert über Null ist wird y auf 1 gesetzt
    if b[2]>0 then
    begin
      for x := b[2]-1 downto aStart do
      if aWert[x]>0 Then
      begin
        a[3]:=aWert[x];
        b[3]:=x;
        break;
      end;
    end else y:=2;
    if b[3]>0 then
    begin
      for x := b[3]-1 downto aStart do
      if aWert[x]>0 Then
      begin
        a[4]:=aWert[x];
        b[4]:=x;
        break;
      end;
    end else y:=3;
    if b[4]>0 then
    begin
      for x := b[4]-1 downto aStart do
      if aWert[x]>0 Then
      begin
        a[5]:=aWert[x];
        b[5]:=x;
        break;
      end;
    end else y:=4;
    for x := 1 to y do ////hier werden die bis zu5 Werte einer Wertigkeit zugewiesen
    c[x]:=Form3.zaehlen(b[x],Zaehler);
    for x := aStart to aEnd do ///Hier werden die Werte auf Null gesetzt
    Wertigkeit[x]:=0;
    case y of
      1:begin //
        niedrig:=C[1];
      end;
      2:begin
        niedrig:= MinIntValue([C[1],C[2]]);
      end;
      3:begin
        niedrig:= MinIntValue([C[1],C[2],C[3]]);
      end;
      4:begin
        niedrig:= MinIntValue([C[1],C[2],C[3],C[4]]);
      end;
      5:begin
        niedrig:= MinIntValue([C[1],C[2],C[3],C[4],C[5]]);
      end;
    end;
    for x:=1 to y do
    begin
      if Niedrig=C[x] then///Hier wird dem ein Wert über Null gestzt, wenn vorhanden
      begin
        Wertigkeit[b[x]]:=a[x];
        if Wertigkeit[b[x]]=0 then
          welcheZahl:=1785 ///Hier wird der eine Wert zurückgegben der nächste Runde bevorzugt angesteuert werden soll
        else
          welcheZahl:=b[x];
        break;
      end;
    end;
  end;
end;
  Mit Zitat antworten Zitat
Hallo_Thomas

Registriert seit: 18. Apr 2005
Ort: Dresden
405 Beiträge
 
Delphi 2005 Professional
 
#2

Re: Problem mit einem betimmten Wert aus Array ansprechen!

  Alt 25. Jul 2005, 21:16
Habs noch mah, analysiert, problem, ist der Rückgabewert: Welche Zahl in Form3

Eingabe in Form1
Form3.Einwert(Wertigkeit,0,1784,Zaehler,welcheZahl,Wertigkeit,welcheZahl); Procedure in Form3
procedure TForm3.EinWert(aWert: array of Integer;aStart,aEnd:Integer;Zaehler: array of Integer;welchZahl:Integer;Var Wertigkeit:array of Integer;welcheZahl:Integer);
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 03:00 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