Einzelnen Beitrag anzeigen

MathiasSimmack
(Gast)

n/a Beiträge
 
#15

Re: Registry Werte beim starten auslesen klappt nicht

  Alt 23. Jan 2004, 09:10
@Pseudemys Nelsoni: Upps, ja stimmt. Ich habe dich verwechselt. Mein Fehler. Aber ich hätte den Code so gestaltet:
Delphi-Quellcode:
reg := TRegistry.Create;

if reg <> nil then
  with reg do
  try
    // eigentlich unnötig, weil Standard -->
    // RootKey := HKEY_CURRENT_USER;

    if OpenKey('Software\Fischmob\Flotteninformationen\0.1 beta',
      false) then
    try
      Edit1.Text := ReadString('Typ 1');
      Edit2.Text := ReadString('Typ 2');
      Edit3.Text := ReadString('Typ 3');
      Edit4.Text := ReadString('Typ 4');
      Edit5.Text := ReadString('Typ 5');
      Edit6.Text := ReadString('Typ 6');
      Edit7.Text := ReadString('Typ 7');
      Edit8.Text := ReadString('Typ 8');
      Edit9.Text := ReadString('Typ 9');
    finally
      CloseKey;
    end;
  finally
    Free;
  end;
Man könnte das Auslesen der Werte und Zuweisen an die Edits auch so machen:
Delphi-Quellcode:
      for i := 1 to 9 do
        if(ValueExists('Typ ' + inttostr(i))) then
        begin
          MyEdit := self.FindComponent('Edit' + inttostr(i));
          if(MyEdit <> nil) then
            (MyEdit as TEdit).Text := ReadString('Typ ' + inttostr(i));
        end;
Auf die gleiche Weise kann man natürlich vor dem Registryzugriff die Edits mit den gewünschten Standardwerten füllen.

@Helpliner: Wenn du die Werte nur lesen willst, halte ich
Zitat:
Code:
reg.OpenKey('Software\Fischmob\Flotteninformationen\0.1 beta', [color=#ff0000]true[/color]);
für überflüssig. false reicht, denn schreibend greifst du ja ohnehin nicht zu. Das machst du sicher später, beim Speichern der Werte, und dann passt es auch.
  Mit Zitat antworten Zitat