Open Dialog & Save Dialog



  • Hi Leute,
    Ich selbst hab im C++ Builder Steuerlemente namens Open Dialog und Save Dialog entdeckt.
    Wie man es öffnet weiß ich bereits- mit Execute()- doch wie kann ich Pfade ermitteln und was kann ich sonst noch damit machen?
    Kann mir mal jemand einige Beispiel geben?
    Ich würde mich sehr über eine Antwort freuen.
    David

    PS: 🙂 😉 😉 🙂



  • Hallo

    schau dir einfach die Klassen TOpenDialog ... in der BCB-Hilfe an, dort sind alle Eigenschaften aufgelistet und erklärt. Auch die für den Dateinamen

    bis bald
    akari



  • Da steht folgendes:

    Beim Öffnen einer Datei wird in Windows-Anwendungen automatisch das Dialogfeld Datei öffnen angezeigt. Um diese Funktion zu implementieren, fügen Sie eine TOpenDialog-Komponente in das Formular ein. Anschließend können Sie eine Ereignisbehandlungsroutine für den Befehl Öffnen erstellen.
    So erstellen Sie ein Dialogfeld zum Öffnen von Dateien und eine Ereignisbehandlungsroutine für den Befehl Öffnen:

    1 Wechseln Sie in das Hauptformular (wählen Sie Ansicht/Formulare, und klicken Sie auf Form1).
    2 Fügen Sie aus der Registerkarte Dialoge der Komponentenpalette eine OpenDialog-Komponente in das Formular ein (Sie müssen gegebenenfalls einen Bildlauf in der Palette durchführen). Bei diesem nichtvisuellen Objekt ist die Position nicht von Bedeutung. Es erhält automatisch den Standardnamen OpenDialog1. Wenn Sie die Methode Execute von OpenDialog1 aufrufen, wird das Windows-Standarddialogfeld zum Öffnen von Dateien angezeigt.

    3 Legen Sie im Objektinspektor folgende Eigenschaften für OpenDialog1 fest:

    Setzen Sie DefaultExt auf txt.
    Doppelklicken Sie auf die Wertespalte der Eigenschaft Filter, um den Filter-Editor zu öffnen. Geben Sie hier folgende Dateifilter an: 1. Textdateien und *.txt, 2. Alle Dateien und .. Bestätigen Sie anschließend mit OK.
    Setzen Sie Title auf Datei öffnen.

    4 Wechseln Sie in den Aktionslisteneditor (öffnen Sie ihn bei Bedarf durch Doppelklicken auf das Aktionslistensymbol im Formular).
    5 Doppelklicken Sie auf die Aktion Dateioeffnen.

    Die Ereignisbehandlungsroutine wird erstellt und im Quelltext-Editor geöffnet.

    6 Geben Sie an der Cursorposition folgende Zeilen ein:

    if (OpenDialog1->Execute())

    {
    RichEdit1->Lines->LoadFromFile(OpenDialog1->FileName);
    FileName = OpenDialog1->FileName;
    StatusBar1->Panels->Items[0]->Text = FileName;
    }

    Speichern Sie das Projekt. Der Befehl Datei/Öffnen ist nun vollständig implementiert.

    Doch ich werd daraus nicht schlau, weil ich auch nicht weiß, was ein Aktionseditor ist- ich weiß zwar, dass es da ne Komponente gibt aber wenn ich die doppel klicke gibts da keine Aktion "Datei öffnen" 😞



  • Hallo

    du brauchst keine Action, um den Dialog benutzen zu können.
    Und du hast auch nicht an der Stelle in der Hilfe geschaut, die ich gesagt haben, nämlich die Referenz zu TOpenDialog. Dort findet du zum Beispiel die Eigenschaft FileName, mitsamt diesem Beispiel

    void __fastcall TForm1::Button1Click(TObject *Sender)
    {
      OpenDialog1->Title = "Datei löschen";
      if (OpenDialog1->Execute())
      {
        if (FileExists(OpenDialog1->FileName))
          DeleteFile(OpenDialog1->FileName);
      }
    }
    

    Und das ist das wichtige was du zu OpenDialog wissen must.

    bis bald
    akari



  • Schau dir die Eigenschaft "Filename" an, die Eigenschaft "Files". Es ist sinnvoll sich alle Methoden und Eigenschaften mal anzusehen, dann hat man so einen Überblick was die Komponente kann und macht

    Üblicherweise nutzt man diese wie in dem Beispiel unten angegeben. Im Objektinspektor kannst du Dinge wie zugelassene Dateiendungen, Startverzeichnis usw. einstellen



  • Danke- ich denk ich werd das schon hinbekommen 🙂


Anmelden zum Antworten