Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Typen in Registry speichern (https://www.delphipraxis.net/89100-typen-registry-speichern.html)

andydp 26. Mär 2007 12:01


Typen in Registry speichern
 
Hi

Ich möchte für meine selbst programmierte Komponente diverse Typen (ctH8Tiny, br9600...)
in der Registry speichern, ohne den Umweg die Typen in einen Integer zu konvertieren und
wieder zurück.

Gibt es überhautp eine Möglichkeit dies zu tun?

Bin für jeden Tip sehr dankbar

SirThornberry 26. Mär 2007 12:04

Re: Typen in Registry speichern
 
was für typen sind das? Enumerations? Binär kannst du eigentlich jeden Typ speichern.

himitsu 26. Mär 2007 12:06

Re: Typen in Registry speichern
 
die Registry kennt auch einen binären Typen (REG_BINARY) ... da kannst du alles reinspeichern was du willst.

Robert Marquardt 26. Mär 2007 12:07

Re: Typen in Registry speichern
 
Wenn es Enumerationen sind, dann ist REG_DWORD der richtige Registrytyp dafuer. Eine Umtypung eines Ordinaltyps kostet doch gar keine Zeit, denn es wird kein Code generiert.

andydp 26. Mär 2007 12:09

Re: Typen in Registry speichern
 
Danke für die rasche Antwort!

Ich neheme an, dass es Aufzählungstypen sind.

Hier meine Typendeklaration.

Delphi-Quellcode:
type
  TVariboxInterface = (viSerial,viUsb,viEthernet);
  TCPUTyp = (ctH8Tiny,ctH8H,ctH8S,ctH8L,ctH8SH);
  TProtocol = (pr_A,pr_B,pr_C,pr_D,pr_E);
  TResetMode = (rmNegativePuls,rmPositivePuls,rmNegativeLevel,rmPositiveLevel);
  TBootMode = (bmVB3000,bmDLC,bmManual);
  TTargeQuarzFrequency = (qf2000000,qf2457600,qf4000000);
Hat mir jemand evt. ein wenig Code, um die Typen im Hauptprogramm, wo meine Komponente
verwendet wird in die Registry zu sichern und wieder auszulesen?

Danke

andydp 26. Mär 2007 12:11

Re: Typen in Registry speichern
 
Ups, das geht ja mega schnell, ihr seit wirklich Spitze. :angel:

Bitte, bitte... Ein wenig Code....

himitsu 26. Mär 2007 12:14

Re: Typen in Registry speichern
 
Eine Umwandlung ist Recht einfach:

z.B.:
Delphi-Quellcode:
Var X: TVariboxInterface;
  i: Byte;

i := Ord(X);               // beim Speichern

X := TVariboxInterface(i); // für's Laden
also z.B. etwa so:
Delphi-Quellcode:
reg.WriteInteger('..', Ord(X));
(zulange nicht mehr damit gearbeitet ... hoff' es stimmt)

[add]
@andydp_ ein Doppelpost wäre nich nötig ... du kannst auch deine Beiträge editieren und etwas ändern/anhängen :zwinker:

andydp 26. Mär 2007 12:19

Re: Typen in Registry speichern
 
Müsste eigendlich so klappen.

Werd's gleich mal ausprobieren.

Herzlichen Dank :thumb:

Robert Marquardt 26. Mär 2007 12:23

Re: Typen in Registry speichern
 
I: Integer, sonst geht es irgendwann schief.
Die JCL http://jcl.sf.net enthaelt praktische Funktionen fuer die Registry ohne den Overhead von TRegistry.


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