Speichern einer anwendung.



  • Wie speichere ich die anwendung so das wenn ich sie schließe komplett gespeichert wird.
    Und wenn ich sie öffne genau das ist wie ich es verlassen habe.



  • Wie fahre ich ein Auto so das wenn ich einsteige es losfährt.
    Und wenn ich aussteige es genau da ist wo ich eingestiegen bin.
    🙄
    Deine Fragestellung ist etwas konfus ...



  • Hallo!

    Ich meine das war unter TOOLS->Umgebungsoptionen->PRÄFERENZEN ProjektDesktop speichern.

    Wenn du das meinst?! Oder meinst du eine programmierte Anwendung?



  • ok sagen wir ich habe 10 memos 10 labels 10 editfelder und 6 listboxes.
    wie speicher ich das alles ohne mir mein finger wund zutippen.
    ich dacht da an ein butten der exit heißt wo ich draufclicke und alles wird gespeicher wenn ich die anwendung ferlasse. beim aufrufen sollte dan alles genau so sein wie beim verlassen.



  • Eigens zu diesem Zweck wurden seinerzeit INI-Dateien erfunden. Heutzutage nimmt man dafür die Registry. Dort kannst Du die Stati und Werte beim Beenden abspeichern und beim Starten wieder laden.



  • Ok ich habe mir die hilfe angeschaut. Ich habe was gefunden könntet ihr fielleicht helfen. So weit bin ich noch nicht das ich das verstehen kann.
    Einfach erklärungen an der seite reichen denn ich will es ja verstehen und nicht ein programm haben das schon fertig ist das würde mich nicht weiterbringen.

    #include <Registry.hpp>
    
    void __fastcall TForm1::Button1Click(TObject *Sender)
    {
      if (NameofKey->Text.IsEmpty() || ValueforKey->Text.IsEmpty())
      {
        ShowMessage("Schlüsselname oder Wert nicht gefunden.")
        return;
      }
      TRegIniFile *Reg = new TRegIniFile("MyApplication");
      try
      {
        Reg->RootKey =  HKEY_LOCAL_MACHINE; // Abschnitt in Registrierung
        if (!Reg->OpenKey(NameofKey->Text, false))
        {
          if (Application->MessageBox("Angegebener Schlüssel existiert nicht, erstellen?",
    
                                      "", MB_YESNO) == IDYES)
          {
            Reg->CreateKey(NameofKey->Text);
            if (!Reg->OpenKey(NameofKey->Text, false))
              ShowMessage("Fehler beim Öffnen des erstellten Schlüssels");
            else
              Reg->WriteString("Value1",ValueForKey->Text);
          }
        }
        else
              Reg->WriteString("Section1", "Value1", ValueforKey->Text);
          }
        }
        else
          Reg->WriteString("Section1", "Value1", ValueforKey->Text);
    
      }
      __finally
      {
        delete Reg;
      }
    }
    

    vielen dank



  • ??? Was verstehst Du nicht ?

    Die Kommentare sind doch eindeutig.

    * "MyApplication" ist DEIN Programmname - kannst Du beliebig wählen.

    * NameofKey ist ein Editfeld mit dem Schlüssel der zu speichern ist.

    * ValueofKey ist der zugehörige Wert

    PS: Du kannst Schluesselwert/ und Name auch als Parameter (Liste) an eine Funktion übergeben, dann speichert der alle möglichen Schlüssel mit Wert in Registry (bei mehrfachem Aufruf der Funktion)

    Die Werte kannste mit Regedit (WINDOWS) nachschauen. 🙂
    Bei Programmstart lässt Du die Befehlsfolge auch abfahren aber mit Readstring!!!


Log in to reply