Verzeichnis auswählen lassen, welche Komponente bietet sich mir an?
-
Hallo,
ich möchte ein Programm schreiben, im welchem der Benutzer eine Textdatei bearbeiten kann. Diese Datei soll er zuerst per Verzeichniswahl auswählen dürfen.
Nun wollte ich wissen, welche Komponente mir mein BCB 2006 dafür zur Verfügung stellt.
Gruß
-
Hallo
Wennn du wirklich Verzeichniswahl meinst dann ist das Stichwort SelectDirectory.
Wenn du aber aber Dateiauswahl meinst dann TOpenDialog.bis bald
akari
-
mh .. joa .. kannst du mir nen denkanstoss geben, wie ich einen dialog auf buttonklick bekomme? brauche keinen code nur ne kurze beschreibung
-
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
OnCloseNichts 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' //... etcWas 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".