AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Registry- Schlüssel Informationen

Ein Thema von Gast · begonnen am 26. Jun 2002 · letzter Beitrag vom 15. Jul 2008
Antwort Antwort
Gast
(Gast)

n/a Beiträge
 
#1

Registry- Schlüssel Informationen

  Alt 26. Jun 2002, 09:52
Hallo System Profis, 8)

ich bekomme via:

Registry.GetValueNames(...)

die Namen aller Datenwerte zurück, die dem aktuellen Schlüssel zugeordnet sind.

Bei jedem Namen aber sehe ich in der Registry noch Erweiterung: Typ und Wert.

Wie kann ich den Typ und Wert (ich muss hier den Pfad (der im Wert steht) ablesen und im Edit- Feld anzeigen.

Gruß

Paul Jr.
  Mit Zitat antworten Zitat
Daniel
(Administrator)

Registriert seit: 30. Mai 2002
Ort: Hamburg
15.468 Beiträge
 
Delphi 10.4 Sydney
 
#2
  Alt 26. Jun 2002, 09:59
Hallo Paule,

schau doch mal in der Delphi-Hilfe folgende Funktionen an:
  • TRegistry.GetDataType
  • TRegistry.GetDataSize
  • TRegistry.ReadString / .ReadFloat / .ReadInteger / .Readsonstwas
Ich denke, dass das diejenigen sind, die Du suchst. Wenn Du magst, kann ich Dir auch noch ein Code-Beispiel erstellen.


Grüße,
Daniel
Daniel R. Wolf
  Mit Zitat antworten Zitat
Gast
(Gast)

n/a Beiträge
 
#3
  Alt 26. Jun 2002, 10:39
Ok

ich probiere zuerst selbst...es zu knacken....

Danke Daniel

Gruß

Paul Jr.
  Mit Zitat antworten Zitat
Gast
(Gast)

n/a Beiträge
 
#4
  Alt 26. Jun 2002, 10:43
Outsch, Daniel...

habe leider nicht viel Zeit..., also wenn Du könntest mache für mich bitte ein einfaches
Beispiel...

Gruß

Paul Jr.
  Mit Zitat antworten Zitat
Daniel
(Administrator)

Registriert seit: 30. Mai 2002
Ort: Hamburg
15.468 Beiträge
 
Delphi 10.4 Sydney
 
#5
  Alt 26. Jun 2002, 11:26
iiieeek.
Ich habe kurzfristig einen Termin einzuhalten.

Ich fürchte, ich werde Dir das erst am nachmittag liefern können.


Grüße,
Daniel
Daniel R. Wolf
  Mit Zitat antworten Zitat
jbg

Registriert seit: 12. Jun 2002
3.475 Beiträge
 
Delphi 10.1 Berlin Professional
 
#6
  Alt 26. Jun 2002, 11:45
Da Daniel gerade keine Zeit hat, poste ich einfach mal ein Beispiel. Vielleicht kann dir das ja helfen.
Code:
var
  reg: TRegistry;
  DataType: TRegDataType;
  DataInfo: TRegDataInfo;
  Value: string;
begin
  reg := TRegistry.Create;
  try
    if reg.OpenKeyReadOnly('\Software\Somewhere') then
    begin
      if reg.ValueExists('MeinWert') then
      begin
       { reg.GetDataInfo('MeinWert', DataInfo)
        DataType := DataInfo.RegData;
        // oder so wenn nur der Datentyp interessiert }
        DataType := reg.GetDataType('MeinWert');
        case DataType of
          rdUnknown: raise Exception.Create('Unbekannter Datentyp');
          rdString, rdExpandString: Value := reg.ReadString('MeinWert');
          rdInteger: Value := IntToStr(reg.ReadInteger('MeinWert'));
{          rdBinary:
          begin
            GetMem(Buffer, DataInfo.DataSize);
            reg.ReadBinaryData('MeinWert', Buffer^, DataInfo.DataSize);
            ...
            FreeMem(Buffer);
          end;}
        end;
      end;
      reg.CloseKey; // wird auch von reg.Free gemacht, aber der Ordnung zuliebe
    end;
  finally
    reg.Free;
  end;
end;
  Mit Zitat antworten Zitat
Gast
(Gast)

n/a Beiträge
 
#7
  Alt 26. Jun 2002, 11:56
Prima jbg 8)

ich werde es gleich ausprobieren...falls ich mich hier nicht mehr melden sollte bedeutet das, dass ich mit Deinem Beispiel zu recht gekommen bin...

Danke

Gruß

Paul Jr.
  Mit Zitat antworten Zitat
toyoman

Registriert seit: 2. Jun 2003
323 Beiträge
 
Delphi 2010 Enterprise
 
#8
  Alt 15. Jul 2008, 15:39
Zitat von jbg:
Da Daniel gerade keine Zeit hat, poste ich einfach mal ein Beispiel. Vielleicht kann dir das ja helfen.
Code:
var
  reg: TRegistry;
  DataType: TRegDataType;
  DataInfo: TRegDataInfo;
  Value: string;
begin
  reg := TRegistry.Create;
  try
    if reg.OpenKeyReadOnly('\Software\Somewhere') then
    begin
      if reg.ValueExists('MeinWert') then
      begin
       { reg.GetDataInfo('MeinWert', DataInfo)
        DataType := DataInfo.RegData;
        // oder so wenn nur der Datentyp interessiert }
        DataType := reg.GetDataType('MeinWert');
        case DataType of
          rdUnknown: raise Exception.Create('Unbekannter Datentyp');
          rdString, rdExpandString: Value := reg.ReadString('MeinWert');
          rdInteger: Value := IntToStr(reg.ReadInteger('MeinWert'));
{          rdBinary:
          begin
            GetMem(Buffer, DataInfo.DataSize);
            reg.ReadBinaryData('MeinWert', Buffer^, DataInfo.DataSize);
            ...
            FreeMem(Buffer);
          end;}
        end;
      end;
      reg.CloseKey; // wird auch von reg.Free gemacht, aber der Ordnung zuliebe
    end;
  finally
    reg.Free;
  end;
end;
wie muss der BUFFER definiert werden?
Bei mir erkennt er diesen als nix.
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +2. Es ist jetzt 05:54 Uhr.
Powered by vBulletin® Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf