Delphi-PRAXiS
Seite 3 von 4     123 4      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi TListView Problem (https://www.delphipraxis.net/145757-tlistview-problem.html)

Luckie 8. Jan 2010 15:52

Re: TListView Problem
 
Ist getestet. Funktioniert einwandfrei.

Jamah 8. Jan 2010 22:50

Re: TListView Problem
 
Weitere Infos:
Vielleicht ist das das Problem: Ich sehen in meinem ListView zwar die Columns aber nicht das Raster. Hat das was zu sagen?

2.:Ich hab gemerkt, dass der Scroll-Balken immer kleiner wird, wenn cih oft drauf drücke ( auf den button ), und tatsächlich steht in der Column[0] 'OptionalComponents'. Allerdings ist davor so ca 20 Zeilen leer.

Irgendwie komisch.

Luckie 8. Jan 2010 22:54

Re: TListView Problem
 
Hänge mal ein Demo-Projekt mit deinem Code an. Dann gucke ich mir das mal an. Aber beeile dich nach meinem fünften Southern-Cola könnte das nicht mehr klappen. ;)

hoika 9. Jan 2010 07:01

Re: TListView Problem
 
Hallo,

ListView.GridLines:= Trure ?


Heiko

Jamah 9. Jan 2010 08:38

Re: TListView Problem
 
Liste der Anhänge anzeigen (Anzahl: 3)
Ok. hier ist es

Matze 9. Jan 2010 09:00

Re: TListView Problem
 
Liste der Anhänge anzeigen (Anzahl: 3)
Wenn ich "Application.MainFormOnTaskbar := True;" in der dpr-Datei auskommentiere, geht der Code bei mir einwandfrei.
Ich sehe nach Klick auf "Get" einen Eintrag in der ListView "OptionalComponents".
Wähle ich als Pfad z.B. "SOFTWARE\Microsoft\Windows", dann sehe ich entsprechend mehrere Einträge.

Um die Spalten 2 und 3 musst du dich natürlich noch selbst kümmern (steht übrigens alles in der DP). Aber die erste Spalte wird korrekt gefüllt.

Edit: Luckie nutzt "GetKeyNames". Ich habe in meinem oberen Code "GetValueNames" verwendet. Vielleicht suchst du das (einfach "GetKeyNames" durch "GetValueNames" ersetzen). Je nachdem, was du anzeigen möchtest. Mein Code erzeugt die Ausgabe im Anhang "matze", deins das im Anhang "luckie". Der Anhang "matze_erweitert" erzeugt eine Ausgabe, wie du sie dir vielleicht vorstellst, nur für einen anderen Registry-Schlüssel (ich kaue dir aber nicht alles vor).

Luckie 9. Jan 2010 09:41

Re: TListView Problem
 
Zitat:

Zitat von Matze
[i]Edit: Luckie nutzt "GetKeyNames". Ich habe in meinem oberen Code "GetValueNames" verwendet.

Ichhabe irgendwas genommen, was mir bei einem Schlüssel mehrere Einträge zurückgibt. Ich bin davon ausgegangen, dass Jamah sich das dann entsprechend anpassen kann, je nach dem, was er haben will.

Jamah 9. Jan 2010 10:51

Re: TListView Problem
 
Wow. Das einzige was falsch war, war dass ich die ganze Zeit über GetKeyNames genommen hab. Das funktioniert natürlich nciht. Danke Leute ich hab es jetzt.
Falls nachfolgende nocheinmal das Problem haben, hier mein code. (Vorhanden ist ein LiestView1 mit 3 Subitems, in denen die Registry aufgeführt werden soll.

Delphi-Quellcode:
procedure GetValues(Sender: TObject);
var
  Keys: TStringList;
  Reg: TRegistry;
  i: Integer;
  li: TListItem;
begin
  Reg := TRegistry.Create(KEY_READ);
  Keys := TStringList.Create;
  try
    try
      Reg.RootKey := HKEY_LOCAL_MACHINE;
      if Reg.OpenKey('SOFTWARE\Microsoft\Windows\CurrentVersion\Run', False) then
      begin
        Reg.GetValueNames(Keys);
        for i := 0 to Keys.Count - 1 do
        begin
          li := ListView1.Items.Add;
          li.Caption := Keys.Strings[i];
          li.ImageIndex := 1;
          //li.SubItems.Add(); Hier liest man dann noch den KeyType aus. Das versuche cih auch grade noch aber ihr findet mit Sicherheit was.
          li.ImageIndex := 2;
          li.SubItems.Add(Reg.GetDataAsString(Keys.Strings[i]));
        end;
      end
      else
        raise Exception.Create('Schlüssel konnte nicht geöffnet werden');
    except
      on E: Exception do
        ShowMessage(E.Message);
    end;
  finally
    Reg.Free;
    Keys.Free;
  end;
end;
Vielleicht postet ja noch jemand die Möglichkeit einen RegistryKey-Type als String zu bekommen.

Jamah 11. Jan 2010 14:42

Re: TListView Problem
 
Hat vielleicht noch jemand was dazu?
Ich bräuchte wirklich dringend den Type.

hoika 11. Jan 2010 15:19

Re: TListView Problem
 
Hallo,

also ich schaue mir immer dazu zuerst mal die Hilfe an,
in diesem Fall also TRegistry.

Dort steht dann

TRegistry.GetDataInfo

Die Methode liefert Informationen über einen bestimmten Datenwert, der zum aktuellen Schlüssel gehört.



Heiko


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:45 Uhr.
Seite 3 von 4     123 4      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz