Verzeichnis auswählen lassen, welche Komponente bietet sich mir an?



  • Hallo

    Die Beschreibung (sogar samt Beispielcode) bekommst du in der Builder-Hile bei der Methode TOpenDialog::Execute

    bis bald
    akari



  • Also ich habs jetzt wirklich oft versucht, aber ich bekomme es nicht hin. Ich finde auch kein Codebeispiel für TOpenDialog::Execute.
    Ich will ein TEdit in das man das Verzeichnis manuell eintragen kann, oder aber per OpenDialog auswählen kann.
    Ich bin soweit dass sich der Dialog per Buttonklick öffnet, wie ich aber das ausgewählte File in mein TEdit übertrage weiss ich nicht.

    Danke für jede Hilfe,

    Gruß



  • Hallo

    Das geht nur mit einem ungeheuer komplexen und völlig undokumentierten Hack 🙄

    if (OpenDialog->Execute())
      Edit->Text = OpenDialog->FileName;
    

    bis bald
    akari



  • Ich bekomms nicht hin. Hab jetzt folgenden Events von meinem OpenDialog1 Edit1->Text = OpenDialog1->Filename; zugeteilt.

    OnIncludeItem
    OnFolderChange
    OnClose

    Nichts hat funktioniert. Edit1->Text hat sich lediglich gelöscht. Einmal bekam ich sogar eine Exception..

    Welche Methode soll das wann auslösen? Es wäre nett mir einmal richtig zu antworten, dann sparst du dir die nächsten 3 Posts.

    Gruß



  • Hallo

    Du schreibst doch selber

    Ich bin soweit dass sich der Dialog per Buttonklick öffnet

    Davon bin ich ausgegangen. Der Code von mir muß einfach in den OnClick des Buttons.

    bis bald
    akari



  • Okay.. Danke

    Halte dich für weitere Fragen bereit 😉

    Gruß



  • Nächstes Problem : Jetzt brauch ich SelectDirectory. Wenn ich aber nun <QDialogs.hpp> einbinde, bekomme ich zu jeder meiner Komponenten eine Fehlermeldung.

    [C++ Error] Unit1.h(15): E2015 Ambiguity between 'TForm' and 'Forms::TForm'
    [C++ Error] Unit1.h(17): E2015 Ambiguity between 'TEdit' and 'Stdctrls::TEdit'
    [C++ Error] Unit1.h(18): E2015 Ambiguity between 'TButton' and 'Stdctrls::TButton'
    [C++ Error] Unit1.h(19): E2015 Ambiguity between 'TOpenDialog' and 'Dialogs::TOpenDialog'
    [C++ Error] Unit1.h(20): E2015 Ambiguity between 'TButton' and 'Stdctrls::TButton'
    //... etc
    

    Was stell ich nun am besten an?



  • Wie kommst du auf <QDialog.hpp> oder meintest du <Dialog.hpp>?

    Der richtige Header heißt: <FileCtrl.hpp> für SelectDirectory.



  • Danke, die Meldungen sind weg. Aber mit <FileCtrl> bekomme ich den Fehler

    No match found for SelectDirectory()
    

    .

    So hab ichs versucht

    void __fastcall Tfrm_auswahl::btn_opendialogClick(TObject *Sender)
    {
    SelectDirectory();
    }
    

    Welche Argumente ich übergeben soll, weiss ich auch nicht so recht, der schluckt nichts, immer wird gemeckert. Aber falls der Fehler bei den Argumenten liegen sollte, so würde mein BCB6 mir ne Fehlermeldung bringen, was nicht der fall ist.

    Gruß



  • Doch, es liegt an fehlenden Argumenten (da es zwei Versionen der Funktion gibt und du keine der passenden ("No match") aufgerufen hast!!!)

    Hast du schon mal F1 gedrückt? Oder hast du die Hilfe nicht installiert, dann solltest du das erstmal nachholen...



  • Wie gesagt.. ich hab Argumente übergeben, nur nimmt der mir keine an.. alles ist falsch. Habs probiert laut der Hilfe zu machen.

    Welche der beiden Funktionen soll ich denn nehmen? Ich möchte erneut per Buttonklick einen Dialog öffnen, nur diesmal soll nur der Pfad angegeben und in ein Editfeld übergeben werden



  • Sihe FAQ im Abschnitt "Dialoge".


Anmelden zum Antworten