![]() |
Re: Problem: While Schleife
die IN-Variante geht nur mit Sets, da dürfen a, b, c nur ordinale Typen (Byte, Char) sein, aber keine Integer oder Strings.
Ne Variante wäre:
Delphi-Quellcode:
hier können auch Integer genommen werden.
case a of
b, c, d: Machwas else machnix end |
Re: Problem: While Schleife
Hai,
warum nicht eine kleine Hilfsfunktion basteln?
Delphi-Quellcode:
function InArray(aValue: Integer; aArray: array of Integer): Boolean;
var i: Integer; begin result := False; for i := Low(aArray) to High(aArray) do begin if (aValue = aArray[i]) then begin result := True; Exit; end; end; end; procedure TDemo_Form.Button1Click(Sender: TObject); var a, b, c, d: Integer; begin a := 1; b := 2; c := 3; d := 4; while InArray(a, [b, c, d]) do begin end; end; |
Re: Problem: While Schleife
Zitat:
[EDIT] @Sharky:
Code:
funzt sehr wohl, wie ich in #12 beschrieben habe
while a in [b, c, d]
[/EDIT] |
Re: Problem: While Schleife
Zitat:
|
Re: Problem: While Schleife
Zitat:
|
Re: Problem: While Schleife
@Sharky: richtig! Also funzt das mit Integer genauso, allerdings nur bis zur 'Grenze' 255 ;) Selbst bei Variablen, sofern der Wert eben diese Grenze nicht überschreitet.
|
Re: Problem: While Schleife
Mh....
auch mal senfen.... NEVER use Exit in your code! (Ich weiss, ist philosophisch und hart umstritten) Abaenderung (sorry hab nur ne Koreanische Tastatur / kein Umlaute) der Funktion von Sharky.
Delphi-Quellcode:
function InArr(const val:Integer;arr:array of integer):Boolean;
var i:integer; begin result := false; i := low(arr); // := 0; while (not(result) and (i<=high(arr))) do begin result := result or (val=arr[i]); inc(i); end; end; procedure TForm1.Button1Click(Sender: TObject); var i : integer; ar : array of integer; begin setlength(ar,65536); // es geht auch noch groesser!!! for i := low(ar) to high(ar) do ar[i]:=random(MaxInt); if InArr(random(MaxInt),ar) then Button1.Caption:='IN' else Button1.Caption:='NOT IN'; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:16 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