Autor Beitrag
wunsiedler
ontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic starofftopic starofftopic star
Beiträge: 506
Erhaltene Danke: 4

Win7

BeitragVerfasst: So 13.11.05 21:18 
Hallo,

will einen binären Wert aus der Registry auslesen mit:

auszug aus quelltext:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
var text: string;
reg := Tregistry.create;
reg.create.......
reg.rootkey......
reg.openkey.....
reg.read.....


diesen wert will ich dann in eine variable speichern, aber von welchem Typ muss diese sein? bekomm immer nur ne fehlermeldung ungültiger var.typ. also text vom typ string ist bestimmt falsch. was muss ich dann nehmen?

gruß

Moderiert von user profile iconraziel: Delphi-Tags hinzugefügt.
Christian V.
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 311

Win Xp Prof
Turbo Delphi 2005
BeitragVerfasst: So 13.11.05 21:47 
Hi, du musst zuerst die Variable, reg definieren, etwa so:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
uses

registry;

var
reg:Tregistry;

#####

... 
begin
reg:=Tregistry.Create; 
reg.RootKey:=HEKY_LOCAL_MACHINE; //oder was auch immer,
reg.OpenKey('Microsft\Windows',false);
deinevar:=reg.ReadBinaryData('name des keys');
reg.free;

Ungefähr so.

_________________
Hardware runs the world, software controls the hardware, code generates software - Have You already coded today?
wunsiedler Threadstarter
ontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic starofftopic starofftopic star
Beiträge: 506
Erhaltene Danke: 4

Win7

BeitragVerfasst: So 13.11.05 21:57 
ja so hab ich's ja auch, aber von welchem typ ist 'deinevar' ? habs mal als string definiert aber da bekomm ich eine fehlermeldung 'ungültiger datentyp'
Stefan.Buchholtz
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 612

WIN 2000, WIN XP, Mac OS X
D7 Enterprise, XCode, Eclipse, Ruby On Rails
BeitragVerfasst: Mo 14.11.05 18:33 
ReadBinaryDara erwartet den Puffer, in den die Binärdaten geschrieben werden sollen, als Argument:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
var
  buffer    : array of Byte;
  bufSize   : Integer;
  valueSize : Integer;
begin
  reg:=TRegistry.Create;   
  reg.RootKey:=HKEY_LOCAL_MACHINE; //oder was auch immer,  
  reg.OpenKey('Microsoft\Windows',false);  
  bufSize := reg.GetDataSize('name des keys'); // Grösse des Binärdatenwerts ermitteln
  SetLength(buffer, bufSize); // Puffer in entsprechender Grösse anlegen
  valueSize := reg.ReadBinaryData('name des keys', PByteArray(buffer)^, bufSize);  
  reg.free;
  ...


Du kannst natürlich auch einen String oder irgendeine andere Datenstruktur als Puffer verwenden - was du am besten nimmst, hängt davon ab, was das überhaupt für Daten sind.

Stefan