Borland C++ Builder 5.0 Übergabe von Dateinahmen



  • Hallo, ich benutze noch den Borland C++ Builder 5 und habe ein Problem:
    Ich soll ein Programm erstellen, mit dem ich anschliessend Dateien per Doppelklick öffnen kann. Ich meine das ganz so, wie es bei anderen Programmen geschieht: man doppelklickt die Datei mit unbekannter Endung, und daraufhin öffnet sich der Dialog: "Öffnen mit", und man sagt ihm, welche .exe die Datei öffnen kann, und wenn man dann wieder so eine Datei mit diesem Format herumliegen hat und die wieder doppelklickt, öffnet sich das eigene Programm automatisch und läd genau die Datei. Dazu brauche ich aber den Dateipfad, und den in Borland C++ Builder 5.0 aus der Main in die Unit1.cpp zu bekommen, das habe ich nicht geschafft.
    Kann mir da einer Helfen? Einfaches "herumincluden" geht ja dank dem ausgesprochen einfach und durchsichtig angelegten Dateisystem meistens nicht.



  • Also, ich habe so eine tolle Angewohnheit: Ich verstehe andere Menschen nicht, und andere Menschen verstehen mich nicht. Windows übergibt Programmen, die es startet, ja Parameter. Wie bekomme ich es hin, dass ich diese Parameter in der Unit1.h abrufen kann? Ohne dass das Huhn platzt.



  • In der main()-Funktion werden die Parameter normalerweise als Argumente übergeben (für ANSI-C++ int main(int argc,char*argv[]) - fein säuberlich auseinandergenommen in argv, für WinAPI int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nCmdShow); am Stück in lpCmdLine, etc). Darauf kannst du dann im Programm zugreifen.

    Wie genau das bei Borland aussieht, mußt du mal die dortigen Experten fragen - ich schick dich mal rüber.



  • Dieser Thread wurde von Moderator/in CStoll aus dem Forum C++ in das Forum VCL/CLX (Borland C++ Builder) verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • Hallo

    Vermutlich suchst du das was in diesem FAQ-Beitrag erklärt wird. Insbesondere der letzte Post von Jansen.

    bis bald
    akari



  • Wenn mittels Windows-Explorer eine Datei doppelgeklickt wird, dann wird der Dateiname(+Pfad) der Anwendung als ersten Parameter mitgegeben.
    Dieser Parameter läßt sich mit dem BCB mittels ParamStr(1) auslesen. Mittels ParamCount kannst du die Anzahl der Parameter abfragen. In ParamStr(0) steht der Dateiname (+Pfad) der Anwendung.
    Such mal hier im Forum nach diesen beiden Begriffen, um mehr darüber zu erfahren (bzw. in der VCL-Hilfe).



  • Hallo

    @ Th : Und was von dem was du geschrieben hast steht nicht in dem von mir verlinktem FAQ-Artikel? 😉

    bis bald
    akari



  • Sorry, akari.
    Habe ich dann auch gemerkt, als ich meinen Beitrag gepostet hatte (ich war während dem Schreiben unterbrochen worden, daher der Zeitunterschied von 10min). Demnächst schaue ich dann nach, ob schon jemand anders geantwortet hat -)



  • Ich kenn mich ehrlich gesagt in diesem Forum nicht aus, deshalb wusste ich nicht, dass es ein Borland C++ Subforum gibt. Kein Wunder, die schaffen es ja auch alles und jeden kompliziert zu machen.
    Danke für das ParamStr(1) Kommando, das werde ich gleich mal ausprobieren.
    Unter Vista funktioniert dummerweise die Borland-Hilfe nicht mehr.
    Ich verstehe den Inhalts des Films "Kill Bill" jeden Tag besser.


Anmelden zum Antworten