Announcement

Collapse
No announcement yet.

Hilfe gesucht: Registry, ini...

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Hilfe gesucht: Registry, ini...

    Als erstes zur <b>Registry:</b>

    ich möchte mir ein kleines Programm schreiben, mit dem ich die Windows-
    einstellungen nach der Installation schnell und bequem anpassen kann.
    Doch wenn ich versuche verschiede Roots oder Keys zu verwenden wirft mir
    Delphi eine Fehlermeldung aus. Und da ich alles auf einer Seite haben möchte und nicht mit x Timer arbeiten, wie es gerade der Fall ist.
    Ich gebe dann jedem Timer seinen eigenen Key. Eine bessere Lösung habe ich mit meinem Anfängerwissen noch nicht gefunden, kann mir jemand helfen?
    (1 Timer zum auslesen des Keys, und einer zum schreiben, nach Buttonklick)

    ich fange immer so an...<br>
    reg:=TRegistry.Create;<br>
    try reg.RootKey:=HKEY_LOCAL_MACHINE;<br>
    reg.OpenKey('Software\Microsoft\Windows\CurrentVer sion',False);<br>
    und dann eben die Values bearbeiten oder auslesen.<br>

    <b>Ini-Files:</b>
    Ich habe bis noch nicht kappiert, wie man in eine Ini Datei schreibt, oder aus ihr liest. Hilfe??

    <b>Datenbank:</b>
    Wie kann ich mir ein kleines Programm schreiben, mit dem ich Adressen verwalten kann? Datenbank sind mir fremd.

    <b>Ausführen:</b>
    Wie kann ich externe Programme per klick oder ähnlichem aufrufen?

    <b>Checklistbox:</b>
    Wie spreche ich die einzelnen Zeilen an?

    Wäre euch wirklich sehr dankbar, wenn mir jemand helfen könnte

    MfG
    Marco L.

  • #2
    Hallo,

    hier jeweils ein Beispiel zu deinen Fragen:

    1. Die Registry
    <pre>
    implementation

    uses registry;

    {$R *.DFM}

    procedure TForm1.Button1Click(Sender: TObject);
    var reg : TRegistry;
    SuchString : string;
    begin
    reg := TRegistry.create;
    reg.RootKey := HKEY_LOCAL_MACHINE;
    reg.openKey('Software\Microsoft\Windows\CurrentVer sion',false);
    suchstring := reg.ReadString('CommonFilesDir');
    reg.free;
    showmessage(suchstring);
    end;

    end.
    </pre>

    2. Die Ini-Datei

    <pre >

    implementation

    uses IniFiles;

    {$R *.DFM}

    procedure TForm1.Button1Click(Sender: TObject);
    var ini : TIniFile;
    SuchString : string;
    begin
    //Schreiben:
    ini := TIniFile.create('c:\MeineIniDatei.ini');
    ini.writeString('Abschnitt1','Absatz1','Zeile1');
    ini.writeString('Abschnitt1','Absatz1','Zeile2');
    ini.writeString('Abschnitt2','Absatz2','Zeile1');
    ini.free;
    //Lesen:
    ini := TIniFile.create('c:\MeineIniDatei.ini');
    SuchString := ini.ReadString('Abschnitt1','Absatz1','');
    ini.free;
    if SuchString <> '' then
    showmessage(suchString);
    end;

    end.
    </pre>

    3. Das Starten eines Programmes:

    <pre >
    implementation

    uses ShellAPI;

    {$R *.DFM}

    procedure TForm1.Button1Click(Sender: TObject);
    begin
    ShellExecute(Application.Handle, 'open',pchar('notepad.exe'),nil, nil, SW_NORMAL);
    end;

    end.

    </pre>

    4. Adress-Programm

    Das geht natürlich auch ohne Datenbank, würde aber hier zu weit führen. Ich empfehle ein gutes Buch, z.B. aus dem Hanser-Verlag, das steht so etwas genau beschrieben.

    5. Die Check-List-Box

    <pre >

    procedure TForm1.Button1Click(Sender: TObject);
    var i : integer;
    begin
    for i := 0 to CheckListBox1.items.count -1 do
    if CheckListBox1.Checked[i] then
    showmessage('Zeile ' + inttostr(i+1) + ' ist markiert.');
    end;
    </pre>

    Viel Erfolg..

    Comment

    Working...
    X