Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Registry-Anfänger-Probleme (https://www.delphipraxis.net/6493-registry-anfaenger-probleme.html)

sakura 13. Jul 2003 10:09

Re: Registry-Anfänger-Probleme
 
Zitat:

Zitat von Assarbad
die Cleverlinge bei Borland könnten ja ...

Stimmt, wenn man in die system.pas schaut steht da oft etwas von "Compiler-Magic", sollten die doch für Assigned wirklich auch mal machen. :twisted:

...:cat:...

[OT]Test: :dancer: [/OT]

flomei 14. Jul 2003 14:24

Re: Registry-Anfänger-Probleme
 
hm... :roll:
Ich hab mich da noch mal rangesetzt und das nochmal neu geschrieben. Rausgekommen ist folgendes:
Delphi-Quellcode:
procedure TMainForm.SaveSettings(Sender: TObject;
  var Action: TCloseAction);
  begin
    if
      CBxSaveSettings.Checked
    then
      begin
        regist := TRegistry.Create;
        try
          regist.RootKey := HKEY_CURRENT_USER;
          regist.OpenKey('Software\flomei\pumpensteuerung\1.0', False);
          regist.WriteInteger('Filled', Counter.Value);
          regist.WriteBool('OnTop an', OnTopChecked);
          regist.WriteBool('SaveSettings an', SaveSettingsChecked);
          regist.CloseKey;
          regist.Free;
        except
          MessageDlg('Es existieren noch keine Registrierungsschlüssel' +#10#13
                    +'Es werden Neue angelegt!', mtInformation, [mbOK], 0);
          regist.RootKey := HKEY_CURRENT_USER;
          regist.CreateKey('Software\flomei\pumpensteuerung\1.0');
          regist.OpenKey('Software\flomei\pumpensteuerung\1.0', False);
          regist.WriteInteger('Filled', Counter.Value);
          regist.WriteBool('OnTop an', OnTopChecked);
          regist.WriteBool('SaveSettings an', SaveSettingsChecked);
          regist.CloseKey;
          regist.Free;
        end;
    end;
end;
Mein Programm beende ich ganz einfach mit:
Delphi-Quellcode:
procedure TMainForm.ImgQuitClick(Sender: TObject);
  begin
    Close;
  end;
Liegt im Beenden vielleicht der Fehler? Ich bin echt nen noob auf dem Gebiet...
Bin für jede Hilfe dankbar!

MfG Florian :hi:

[EDIT] Mir ist klar, dass man dies:
Delphi-Quellcode:
regist.CreateKey('Software\flomei\pumpensteuerung\1.0');
          regist.OpenKey('Software\flomei\pumpensteuerung\1.0', False);
auch einfacher machen könnte wenn man True nimmt aber ich find es eleganter ;) [/EDIT]

MathiasSimmack 14. Jul 2003 14:32

Re: Registry-Anfänger-Probleme
 
Zitat:

Zitat von flomei
Ich hab mich da noch mal rangesetzt und das nochmal neu geschrieben. Rausgekommen ist folgendes:

Warum wird´n das immer schlimmer? Den ganzen Quark unter except kannst du dir sparen, wenn du bei OpenKey den zweiten Parameter richtig benutzt. Wenn da nämlich ein TRUE steht, dann heißt das: Schlüssel anlegen, wenn er nicht existiert. Wenn er existiert, wird er auch nicht angelegt sondern nur geöffnet.

MathiasSimmack 14. Jul 2003 14:40

Re: Registry-Anfänger-Probleme
 
Kurz und schmerzlos:
Delphi-Quellcode:
  regist := TRegistry.Create;
  if(regist <> nil) then
    with regist do try
      RootKey := HKEY_CURRENT_USER;

      if(OpenKey('Software\flomei\pumpensteuerung\1.0',TRUE)) then try
        WriteInteger('Filled',Counter.Value);
        WriteBool('OnTop an',OnTopChecked);
        WriteBool('SaveSettings an',SaveSettingsChecked);
      finally
        CloseKey;
      end;
    finally
      Free;
    end;
Sorry, aber ich muss meinen Beitragszähler ja auch mal hochdrehen. :)

sakura 14. Jul 2003 14:43

Re: Registry-Anfänger-Probleme
 
Zitat:

Zitat von MathiasSimmack
Kurz und schmerzlos:

und elegant :!:

...:cat:...

Gast 14. Jul 2003 15:29

Re: Registry-Anfänger-Probleme
 
Stimmt ;)

BTW: Hatte schon arge Probleme mit WITH ?? DO, da bei einer Exception manchmal der Kontext scheinbar verrutscht. Betraf Delphi 4 Pro. In Delphi 5 ist es mir noch nie aufgefallen. Das nur deshalb, falls jemand anders mal über diese Probleme stolpert ;)

flomei 14. Jul 2003 16:16

Re: Registry-Anfänger-Probleme
 
Zitat:

Zitat von MathiasSimmack
Warum wird´n das immer schlimmer?

Gute Frage! :roll: Ich hab halt noch nen paar Fehler eingebaut :mrgreen:
Danke, jetzt geht es aber auch endlich *dreikreuzemach*

MfG Florian :hi:


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:12 Uhr.
Seite 2 von 2     12   

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