Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi set of.. speichern/laden? (https://www.delphipraxis.net/75745-set-speichern-laden.html)

Angel4585 24. Aug 2006 13:41

Re: set of.. speichern/laden?
 
und was soll in den Strings stehen? "001001101101" oder sowas? und die dann durchlaufen?

bleibt immernoch die Frage:
Delphi-Quellcode:
Result:= (Result or TMyTyp(i));//Wie geht das richtig?
ich bekomms nich hin :(

bernau 24. Aug 2006 13:46

Re: set of.. speichern/laden?
 
Zitat:

Zitat von Angel4585
und was soll in den Strings stehen? "001001101101" oder sowas? und die dann durchlaufen?

Ja.

Du kannst natürlich auch einen anderen Typ als String verwenden. Aber durch die Set/Get-Procedure kontrollierst du, wie gespeichert wird. Und wenn das Set mal erweitert wird, hast du keine Probleme beim Speichern bzw. lesen.


Gerd

himitsu 24. Aug 2006 14:02

Re: set of.. speichern/laden?
 
Wieso sollte ein set geneu einem Integer entsprechen ... bei 5 Werten ist es ein Byte :warn:

Wenn man also einen SET konvertieren will, sollte man auch die größe beachten.
Also entweder weiß man die, oder man guckt einfach ma mit SizeOf nach.
Und wenn dann die Größe bekannt ist, dann einfach nur noch den passenden Typen aussuchen ... wenn keine Passender existiert, dann kann man sich immernoch mit 'nem Array, oder 'nem Record passender Größe behelfen ^^

Sidorion 24. Aug 2006 14:09

Re: set of.. speichern/laden?
 
Wenn Dein Set Published ist, dann kannst Du Dir mit der Unit TypeInfo behelfen. da gibts Methoden, um Sets in Strings zu wandeln und umgekehrt.

Angel4585 24. Aug 2006 14:29

Re: set of.. speichern/laden?
 
Das ist ja alles schön und gut... aber:

Zitat:

Zitat von Angel4585
bleibt immernoch die Frage:
Delphi-Quellcode:
Result:= (Result or TMyTyp(i));//Wie geht das richtig?

:roll:

BTW: Das Set hat nicht mehr als 32 Werte .. vllt so um die 20. Die Zahl soll an ein php-Skript geschickt werden und in eine MySQL-Datenbank fließen. Danach muss ich diese Zahl wieder mit dem Skript auslesen und im programm auswerten. Ein String oder eine Zahl wäre also am geeignetsten.

himitsu 24. Aug 2006 15:43

Re: set of.. speichern/laden?
 
20 ... aufgerundet auf die nächste Bytegrenze ergibt das also 24 = 3 Byte


theoretisch gibt es also keinen nativen Typen für eine direkte Umwandlung

Du könntest es aber mit solchen Typen versuchen.
Delphi-Quellcode:
Type TTripple = packed Array[0..2] of Byte;

Type TIrgendwas = packed Record
    Lo: Word;
    Hi: Byte;
  End;

bernau 24. Aug 2006 15:48

Re: set of.. speichern/laden?
 
Zitat:

Zitat von Angel4585
bleibt immernoch die Frage:
Delphi-Quellcode:
Result:= (Result or TMyTyp(i));//Wie geht das richtig?


Probier mal folgendes:

Delphi-Quellcode:
result:=result + [TMyTyp(i)];




Gerd[delphi]


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:15 Uhr.
Seite 2 von 2     12   

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