Entwickler-Ecke
Sonstiges (Delphi) - Prüfen ob Wert in Array vorhanden
Girgl - Fr 29.10.04 13:28
Titel: Prüfen ob Wert in Array vorhanden
Servus,
ich wollte mir ne funktion schreiben,um zu prüfen,ob ein bestimmter wert in einem array vorhanden ist.
So sieht die funktion aus:
TArray=Array[1..10] of Integer
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13:
| function TForm1.ValInArr(Value:Integer;Arr:TArray):Boolean; var i:Integer; IstDrin:Boolean; begin For i:=Low(Arr) To High(Arr) do begin If(Value=Arr[i]) Then begin IstDrin:=True; break; end; If(IstDrin) Then result:=true else result:=false; end; end; |
Ich hab probehalber Arr[1] und Arr[2] mit Werten belegt,aber es kommt nie die richtige anweisung.
Hoffe es kann jemand helfen
Stübi - Fr 29.10.04 13:32
Du springst bei break aus der For-Schleife raus, das heisst wenn dein Wert gekommen ist kannst du gar nicht ein True als Resultat ausgeben da dies auserhalb dieser Schlaufe ist.
nimm das zweite end for die zweite if Schlaufe dann solts gehen.
Gruss Stübi
uall@ogc - Fr 29.10.04 13:41
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13:
| function TForm1.ValInArr(Value:Integer;Arr:TArray):Boolean; var i:Integer; begin result := false; For i:=Low(Arr) To High(Arr) do begin If(Value=Arr[i]) Then begin result:=True; break; end; end end; |
Stübi - Fr 29.10.04 13:46
die Lösung von uall@ogc ist die bessere ist kar, habe ich nid gesehen.
@Grigl: Macht es überhaubt Sinn hier eine eigene function zu schreiben?
Gruss Stübi
Udontknow - Fr 29.10.04 13:49
@Girgl:
Der Fehler wäre dir sicherlich nicht unterlaufen, würdest du dich an diese zwei der Borland´schen Sprachkonventionen halten:
- "begin" und "end" stehen immer für sich alleine in einer Zeile.
- Der Code zwischen einem begin-End-Block wird um 2 Zeichen nach rechts eingerückt.
Cu,
Udontknow
Girgl - Fr 29.10.04 14:35
@Stübi
Naja,ob da sinnvoll ist,weiss ich selber nicht so genau.Brauch eben so eine funktion für ein spiel,um zu testen,welche karten schon weg sind und welche noch nicht.
Thx an alle
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!