Thema: Delphi TListView Problem

Einzelnen Beitrag anzeigen

Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#12

Re: TListView Problem

  Alt 8. Jan 2010, 15:33
Jupp, die Case-Of-Anweisung ist keine Schleife. Dort wird nichts wiederholt ausgeführt.

Das folgende Beispiel zeigt mal einen Ansatz, macht aber noch nicht ganz das, was du haben möchtest (selber groß ). Das Beispiel ist dazu da, damit du siehst, wie man mit der Registry arbeitet. Die Try-Finally-Blöcke sind wichtig. Falls Fehler dazwischen auftreten, wird der Speicher für die Objekte dennoch freigegeben.

Auch zeigt das Beispiel, wie man lesend auf die Registry zugreift (dir reicht der lesende Zugriff). Mit eingeschränkten Benutzerrechten bleibt deine ListView sonst immer leer (soeben getestet)!

Delphi-Quellcode:
Reg:= TRegistry.Create;
try
  Keys := TStringList.Create;
  try
    Reg.RootKey:= HKEY_LOCAL_MACHINE;
    if Reg.OpenKeyReadOnly('SOFTWARE\Microsoft\Windows\CurrentVersion\Run') then
    begin
      Reg.GetValueNames(Keys);

      for i := 0 to Keys.Count - 1 do
      begin
        lItem := ListView1.Items.Add;
        lItem.Caption := Keys[i];
      end;
      Reg.CloseKey;
    end;
  finally
    Keys.Free;
  end;
finally
  Reg.Free;
end;
Grüße, Matze

Edit: Wir haben "CloseKey" bisher ganz unterschlagen.
  Mit Zitat antworten Zitat