AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Registry: Typ ermitteln

Ein Thema von Pseudemys Nelsoni · begonnen am 19. Mai 2004 · letzter Beitrag vom 19. Mai 2004
 
Benutzerbild von Pseudemys Nelsoni
Pseudemys Nelsoni

Registriert seit: 24. Dez 2002
Ort: Hamburg-Harburg
3.551 Beiträge
 
#11

Re: Registry: Typ ermitteln

  Alt 19. Mai 2004, 16:21
wäre dieser code hier denn in ordnung?

Delphi-Quellcode:
function ReadRegFromAPI(const Key: HKEY; Path, lpValueName: string): string;
var
  KeyH : HKEY;
  lpType,
  lpcbData,
  lpData : DWORD;
  bRes : boolean;
begin
  Result := '';
  if RegOpenKeyEx(Key, PAnsiChar(Path), 0, KEY_READ, KeyH) = ERROR_SUCCESS then
  try
    lpType := REG_NONE;
    lpcbData := 0;
    bRes := false;
    if RegQueryValueEx(KeyH, PAnsiChar(lpValueName), nil, @lpType, nil, @lpcbData) = ERROR_SUCCESS then
    case lpType of
      REG_SZ, REG_EXPAND_SZ:
        begin
          SetLength(Result, lpcbData + 1);
          bRes := RegQueryValueEx(KeyH, PAnsiChar(lpValueName), nil, @lpType, @Result[1], @lpcbData) = ERROR_SUCCESS;
        end;
      REG_DWORD:
        begin
          bRes := RegQueryValueEx(KeyH, PAnsiChar(lpValueName), nil, @lpType, @lpData, @lpcbData) = ERROR_SUCCESS;
          Result := string(lpData);
        end;
    end;
  finally
    if not bRes then
      MessageBox(0, 'Fehler aufgetreten', '!', 0);
    RegCloseKey(Key);
  end;
end;

und wieso muss ich bei einem string auf das erste byte zeigen? also [1] ? bei einem integer sind es doch auch 4 bytes, wieso muss ich da nicht [1] angeben?
Mario
MSN: cyanide@ccode.de
  Mit Zitat antworten Zitat
 


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 +1. Es ist jetzt 04:36 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