![]() |
Array
Schönen Tag Liebe User,
hab bereits die Suche benutzt aber leider nichts finden können, ebenso wenig in der Delphi Hilfe. Ist wahrscheinlich eine einfache Frage, doch wie kann ich abfragen ob etwas in einem Array ist? Also es geht darum, dass ich drei Buchstaben per Zufall generiere und dann jedoch aufgrund von "doppelten Buchstaben" abfragen will, ob es nicht schon im Array ist und er daher so lange wiederholen soll, bis er einen noch nicht generierten Buchstaben erfasst.
Delphi-Quellcode:
Bekomme in der "until not"-Zeile einen Fehler, der Operator wäre
repeat
buchstabe := random(48) + 1; until not (buchstabe in BuchstabenGesamt) Buchstabengesamt[i] := buchstabe; auf den Operandentyp nicht anwendbar? BuchstabenGesamt ist ein Array vom Typ Byte, buchstabe ist ebenfalls vom Typ Byte. Schonmal Danle für eure Hilfe! ------- EDIT: Ebenso würde ich gerne fragen ... Ich hab 20 Checkboxen und möchte die Caption von denen speichern, welche angeklickt wurden. Wie mache ich das am sinnvollsten? |
Re: Array
Hi Problemmacher,
Du musst dir selbst eine Funktion schreiben in dem du das Array und das nachdem du suchst übergibst... Du gehst mit einer for-Schleife durch dein Array und guckst mit if ob Eintrag[i] = ParameterEigenschaft. Wenn das der Fall ist gibst du true zurück, ansonsten false. Pseudocode:
Code:
Das mit den Captions machst du am besten mit
Funktion IstImArray(Was: TypVonWas; Wo: Array): Boolean;
ANFANG Ergebnis = false; ZÄHLE VON 0 BIS High(Array) UND TUE WENN Was = Wo[Zählvariable] DANN ANFANG Ergebnis = true; FunktionVerlassen; ENDE; ENDE; ![]() Gruß Neutral General |
Re: Array
Die For-Schleife hab ich ja bereits, jedoch weiß ich dann nicht
wie ich abfrage ob es schon drinn ist ... Der Code vor dem Code von oben ...
Delphi-Quellcode:
for i := 1 to 3 do
BuchstabenGesamt[i] := 0; randomize; for i := 1 to 3 do begin [...] |
Re: Array
Du hast eine For-Schleife, ja. Aber nicht die For-Schleife (bzw. Funktion) vom General.
Ein Tip noch zu den Checkboxen:
Delphi-Quellcode:
for a := 0 to ContainerDerCheckboxen.ComponentCount - 1 do
if (ContainerDerCheckboxen.Components[a] is TCheckBox) and (ContainerDerCheckboxen.Components[a] as TCheckBox).Checked then ... |
Re: Array
Zitat:
Delphi-Quellcode:
for i := Low(DeinArray) to High(DeinArray) do // oder von 0 an *grübel*
begin if DeinArray[i] = 'DeinString' then begin result := true; break; end; end; |
Re: Array
Kann ich eigentlich auch irgendwie ganz vielen Werten
auf einmal den gleichen Wert zuweisen? Hab nämlich vor 50 Werte auf einen "Schlag" zu leeren bzw. deren Inhalt und alles einzeln zu schreiben wäre eine sehr aufwendige Prozedur ... |
Re: Array
Wenn es ein Array ist, dann mit ZeroMemory oder FillChar.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 22: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