Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Checkboxen zu Zeichen (https://www.delphipraxis.net/114099-checkboxen-zu-zeichen.html)

haentschman 19. Mai 2008 18:27


Checkboxen zu Zeichen
 
Hallo alle miteinander... :-D

ich glaube ich bin überarbeitet. :?

Ich brauche einen Denkanstoß für eine eigentlich simple Lösung.

Ich möchte 4 (später mehr) Checkboxen in zwei Zeichen kodieren.

4 Checkboxen (BIT´s) --> 16 Möglichkeiten --> Zeichen 00..0F

Auch wenn mir denken im Moment schwer fällt bitte keinen fertigen Code sondern nur Stichwörter 8)

Danke...

DeddyH 19. Mai 2008 18:33

Re: Checkboxen zu Zeichen
 
Wenn es nur 2 Zeichen sein dürfen, ist das Maximum also $FF (255), daraus ergeben sich 8 Checkboxen.

Fussball-Robby 19. Mai 2008 18:38

Re: Checkboxen zu Zeichen
 
Variable zuerst auf 0 setzen dann mittels or mit dem Status einer jeden CheckBox verknüpfen, dabei bei jeder CheckBox das Bit um 1 weiter nach links verschieben (Stichwort shl). Dann mittels IntToHex anzeigen lassen :wink:

haentschman 19. Mai 2008 18:38

Re: Checkboxen zu Zeichen
 
Zitat:

Wenn es nur 2 Zeichen sein dürfen, ist das Maximum also $FF (255), daraus ergeben sich 8 Checkboxen.
- im Moment habe ich nur 4 Checkboxen. Die 8 Checkboxen werde ich wohl nicht erreichen und damit sollten 2 Zeichen genügen.
- mir fehlt im Moment die Idee wie ich diese Checkboxen in einen Bitwert z.B. 09 umwandle und dann die 09 in einen String.
- Checkbox1 (1.Bit)... Checkbox4 (4.Bit)

:gruebel:

[edit]
Zitat:

Variable zuerst auf 0 setzen dann mittels or mit dem Status einer jeden CheckBox verknüpfen, dabei bei jeder CheckBox die Bits um 1 weiter nach links verschieben (Stichwort shl). Dann mittels IntToHex anzeigen lassen
...hört sich ja nicht schwer an :shock: ...kriegen wir !

Danke für die Richtung... :hi:

[edit]fehlende Buchstaben :evil: ...Batterien [/edit]

FAlter 19. Mai 2008 18:45

Re: Checkboxen zu Zeichen
 
Hi,

für sowas kennt Delphi Mengen. Die sind standardmäßig so platzsparend wie Möglich, also bei maximal acht Elementen sind sie nur ein Byte groß. Bei bis 16 wären es zwei Bytes.

Delphi-Quellcode:
type
  TCheckBoxen = set of (cbEins, cdZwei, cbDrei, cbVier); //set = Menge

...

var
  CheckBoxen: TCheckBoxen;

...

CheckBoxen := []; //Leere Menge

if CheckBox1.Checked then
  CheckBoxen := CheckBoxen + [cbEins]; //+ Teilmenge hinzufügen, - Teilmenge entfernen

...

CheckBox1.Checked := cbEins in CheckBoxen //Vorhandensein prüfen

//Falls du den Inhalt als String darstellen willst
ShowMessage(IntToHex(Byte(CheckBoxen), 2));
//Wenn du hier einen ungültigen Typecast gemeldet bekommst, ist deine Menge größer (ab 9 Elementen)
Mfg
FAlter

DeddyH 19. Mai 2008 18:45

Re: Checkboxen zu Zeichen
 
Vielleicht hilft es Dir ja: http://www.delphipraxis.net/internal...t.php?t=113482

haentschman 19. Mai 2008 19:22

Re: Checkboxen zu Zeichen
 
Danke an alle. :thumb:

werde die verschiedenen Varianten mal durchprobieren.

...einen schönen Abend :hi:

HalloDu 19. Mai 2008 20:56

Re: Checkboxen zu Zeichen
 
Liste der Anhänge anzeigen (Anzahl: 1)
Wenn es dir hilft. Ich habe hier noch ein kleines Codebeispiel gefunden, in dem aus jeweil 2*8 Checkboxen Zahlen gemacht werden. Und diese dann nur mit logischen Operatoren addiert werden. Ist aber weder kommentiert noch aufgeräumt.


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:08 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