Pfad Auswahl + Ausgabe sowie Pfad Speichern.



  • Ich würd gern wissen, wie ich eine Pfad Box erstelle und mit diesem eine Start Routine ausführe.

    Als Beispiel.:
    http://nobodywantstop.no.ohost.de/bsp.JPG

    Darunter soll ein "Start" Button entstehen der in dem Ausgewählten Verzeichnis die "ziel.exe" ausführt und ein "Speichern" Button der diesen Pfad als standart für den jeweiligen user Speichert sodass beim nächsten Programm start die Pfade nicht erneut eingetragen werden müssen.

    Bedanke mich herzlichst im vor raus

    mfg.: Black++



  • Stichworte:

    TEdit für die Textbox
    TBitBtn für den Button mit Bild (alternativ einfach ein TButton mit Caption "...")
    SelectDirectory(...) zum Aufrufen des Windows-Standard-Dialogs

    CreateProcess(...) zum Aufrufen einer Anwendung mit Pfadangaben

    TStringList::LoadFromFile()/SaveToFile() zum Laden und Speichern einer Textdatei (für den Pfad)



  • void __fastcall TPagesDlg::BitBtn1Click(TObject Sender)
    {
    String Directory = "
    .*";
    SelectDirectory(Directory, TSelectDirOpts(), 0);
    }

    soweit so gut wie bekomm ichs hin das er mir nun den pfad in der TEdit box einfügt, ebenfalls wie ich den pfad von der TEdit Box mit dem Start Button verbinde und ausführen lasse ?



  • Hallo

    Wie SelectDirectoy funktioniert kannst du in der BCB-Hilfe oder auch in der FAQ hier im Forum nachlesen.

    Das Ausführen wird im OnClick des Buttons gemacht., du liest aus was im Edit steht und übergibst das an Die genannte Funktion CreateProcess oder deren einfachere Variante WinExec.

    bis bald
    akari



  • {
    #include <filectrl.hpp> // ggfs. als letztes(!) include einbinden
    
    String dir = "", root = ""; // "c:"
    if (SelectDirectory("Select directory", WideString(root), dir))
      Edit1->Text = dir;
    }
    

    Soweit hab ichs jetzt hinbekommen und funzt auch super aber an der Ausführung haperts x.x

    Ich habe einen Button3 Erstellt und wollte nun den Pfad auslesen und starten.

    Quasi so.

    WinExec(Edit1.Text,"Filename.exe",SW_SHOW);

    leider klappt mein gedanke nicht.

    Wo liegt der Fehler ?

    Ebenfalls würd ich gern wissen wie der Quellcode aussehen müsste wenn ich anbei eine Datei check ausführen würde via if FileExists("Filename.exe")

    bedanke mich und nen schönen Abend noch



  • Hat sich erledigt, statt WinExec habe ich ShellExecute genommen :

    void __fastcall TPagesDlg::PfadClick(TObject *Sender)
    {
    	AnsiString pfad = Edit1->Text;
    	ShellExecute(0, "open", "file.exe", NULL, pfad.c_str(), SW_SHOWNORMAL);
    
    }
    

    danke trotzdem : )


Anmelden zum Antworten