Einzelnen Beitrag anzeigen

NooL

Registriert seit: 26. Okt 2008
Ort: Dreiländereck
15 Beiträge
 
Delphi 7 Professional
 
#4

AW: POS liefert bei Registry-String immer Null

  Alt 15. Aug 2010, 10:53
Also, ich arbeite mit Delphi 5. Ich weiß nicht, ob das etwas zu sagen hat ?

Der Code mal ganz einfach dargestellt:

Den SubStr bekomme ich über:
Delphi-Quellcode:
    BufStr : Array[0..39] of char;
    reg : TRegistry;
    DrvName : String;

DeviceIoControl(r, IOCTL_STORAGE_QUERY_PROPERTY , @query, SizeOf(query), @buffer, sizeof(buffer), dwBytesReturned, nil );
 j := 0;
 for i := 0 to 39 do begin
   if buffer[i] = #0 then break;
   if buffer[i] >= ' then begin
     BufStr[j] := buffer[i];
     inc(j);
   end;
 end;
DrvName:=BufStr;
Zur Kontrolle gebe ich den SubStr DrvName in einer ListBOX aus.
Dort wird der Inhalt von DrvName mit '00HLFS-01G6U0' korrekt angezeigt.

Den SuchString hole ich mir aus der Registry.

Delphi-Quellcode:
reg:=TRegistry.Create;
reg.RootKey:=HKEY_LOCAL_MACHINE;
reg.OPenKey('SYSTEM\CurrentControlSet\Services\Disk\Enum',false);
s:=reg.ReadString('6');
Die 6 ist momentan zum testen fest vergeben -> an dieser Stelle steht der Suchstring bei mir in der Registry -> wird aber später automatisch gesucht.

Zur Kontrolle gebe ich den SuchStr S wieder in einer ListBOX aus.
Dort wird der Inhalt von S mit
'USBSTOR\Disk&Ven_WDC_WD30&Prod_00HLFS-01G6U0&Rev_4V01\D57860C59536&0'
korrekt angezeigt.

Jedoch bringt Pos(DrvName,s) bei mir immer 0 !


Komisch ???

Mein Ziel ist es, den Namen eine Festplatte (hier als TeilString DrvName) in der Registry
eindeutig der dortigen Count-Variable zuzuordnen.
Nool

Geändert von NooL (15. Aug 2010 um 11:17 Uhr) Grund: Delphi-Tags eingefügt
  Mit Zitat antworten Zitat