Ergebnis 1 bis 20 von 37

Thema: Konfigurationsdateien in C++

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Also, fang' ich mal von Vorne an.
    Den Dialog hatte ich ja auch schon als "Fehlerquelle" ausgemacht. Die CBuilder Doku sagt dazu ja Folgendes:
    Zitat Zitat
    Header

    vcl/dialogs.hpp
    TOpenDialog erzeugt ein Dialogfeld, in dem der Benutzer eine Datei auswählen kann.

    Beschreibung

    TOpenDialog erzeugt ein Windows-Dialogfeld, in dem der Benutzer eine Datei auswählen und öffnen kann. Das Dialogfeld wird zur Laufzeit erst angezeigt, wenn es mit der Methode Execute aktiviert wird. Wenn der Benutzer auf öffnen klickt, wird das Dialogfeld geschlossen, und die ausgewählten Dateien werden in der Eigenschaft File gespeichert.
    Wobei die Eigenschaft 'File' nicht existiert sondern nur 'FileName'.
    Geöffnet und abgefragt wird der Öffnen-Dialog bei mir folgendermaßen:
    Code:
    void __fastcall TMainForm::ChangePathBtnClick(TObject *Sender)
    {
    	OpenDlg->Filter = "Ausführbare Dateien | *.exe";
    	if(OpenDlg->Execute());
    	{
    		PathEdt->Text = OpenDlg->FileName;
    		playerPath = PathEdt->Text;
    	}
    }
    Stand, glaube ich, sogar so in der beiliegenden Hilfe.

    @ine
    Eigentlich hatte ich vor, so weit weg von der WinAPI zu arbeiten wie möglich. Was mir schon mit der verwendung von 'ShellExecute()' leider nicht geglückt ist (gibts einen anderen Weg ausser über 'system()'?). Ich möchte das Programm später eventuell mal auf Linux testen(weiß nich nicht mal, wie ich mir da die Oberfläche zusammenschnibbeln muss).

    Ich hatte ja ausserdem selbst nicht vor verschiedenen Code zu mischen und fragte daher auch schon dach einer vergleichbaren Funktion von 'fprintf()' und 'fscanf()' in C++.

    Zudem wollte ich eigentlich nur zur Übung abseits der Ausbildung ein Programm schreiben, da ich mich mit Programmieren ansonsten wohl nie beschäftigen würde (leider bin ich irgendwie noch nicht so weit, dass ich mich einfach vor ein gutes, das Thema betreffende, Buch setze anstatt drauf los zu Programmieren).

  2. #2
    Wenn du portabel arbeiten willst, dann ist der Borland CBuilder eine gaaaaanz schlechte Wahl. Borland CBuilder ist zu C(++) das selbe, was Delphi zu ObjectPascal ist.

    Fuer Portabilitaet empfehle ich einzig und allein die GCC und ein unabhaengiges GUI Toolkit. Borland CBuilder und Windows ist praktisch untrennbar.

  3. #3
    Ich weiß, das habe ich schon zu Ausbildungsbeginn von meinem Lehrer erfahren. Deswegen schrieb ich ja auch, dass ich noch nicht weiß, wie ich mir da die Oberfläche zusammenbauen soll. Auf'm Amiga haben die das mit einem extra Editor gelöst. Die damit erstellte Datei ließ sich einfach in's Projekt einbinden.
    (Memo an mich: am Programm weiterarbeiten.)

    Das problem mit dem Öffnen-Dialog besteht übrigens auch bei Verwendung von 'ofstream'. Oder ich mach' einfach irgendwas falsch.

    Geändert von Junta (17.08.2006 um 05:48 Uhr)

  4. #4
    Schau dir doch einfach einmal GTK an. Das ist eine wunderschoene objektorientierte API in C geschrieben, die ziemlich plattformunabhaengig ist. Die Lizens ist auch ziemlich entwicklerfreundlich.


    btw ist der ifstream und der ofstream in fstream zusammengefasst.

  5. #5
    Wenn du lieber auf C++ stehst, kannst du dir auch Qt anschauen, was ich übrigens gerade mache.^^ Neben Tutorials auf der Homepage von Trolltech, habe ich auch noch ein eBook dazu gefunden und es gibt auch ein deutsches Forum.

  6. #6
    Hmmm... ich häng' immernoch bei dem Problem mit dem Öffnen-Dialog... keiner mehr ne Idee? Um die Portierung (oder eher um das Umschreiben um das zu ermöglichen) wollte ich mich eigentlich erst kümmern, wenn die WinVersion läuft... möglich muss es ja sein, da genügend Leute ihre Pfade in irgendwelche Configs schreiben lassen.

  7. #7
    Zitat Zitat von Junta
    Hmmm... ich häng' immernoch bei dem Problem mit dem Öffnen-Dialog... keiner mehr ne Idee? Um die Portierung (oder eher um das Umschreiben um das zu ermöglichen) wollte ich mich eigentlich erst kümmern, wenn die WinVersion läuft... möglich muss es ja sein, da genügend Leute ihre Pfade in irgendwelche Configs schreiben lassen.

    Pruef einmal den Typ; vll ist das irgend ein dynamischer String.

  8. #8
    Ne, ich bin so dumm... ich bin sowas von dumm. Der Öffnen-Dialog ändert leider auch den aktuell benutzten Pfad. Sprich, er schreibt schon in die Konfigurationsdatei. Er legt sie nur im Pfad der zuletzt ausgewählten Datei an... hmmm es müsste doch ne Möglichkeit geben (wird es wahrscheinlich auch) den aktuellen Anwendungspfad beim Starten des Programms abzufragen, oder?

    Irgendwann hatte ich das mit dem Öffnen-Dialog schon gelesen... allein, dass ich das total verpennt hab ist schon schlimm *ärger*...

    Geändert von Junta (17.08.2006 um 22:08 Uhr)

  9. #9
    GetModuleFileName() sollte es tun. Das ist aber Windows-only. Das ganze gibt den Pfad+Programmname zurueck. Mit etwas RegExp sollte das aber np sein.

  10. #10
    Könnt ich ja für die Win Version so übernehmen... müsste dann immer nur den Programmnamen "abschneiden". getcwd() ist ja wieder eine C-Funktion, soweit ich weiß...
    Ich brauch' echt mal'n Buch^^

  11. #11
    Zitat Zitat von Junta
    Könnt ich ja für die Win Version so übernehmen... müsste dann immer nur den Programmnamen "abschneiden". getcwd() ist ja wieder eine C-Funktion, soweit ich weiß...
    Ich brauch' echt mal'n Buch^^

    schau dir lieber msdn an. Das was du brauchst passt inhaltlich unmoeglich in ein Buch. Du brauchst blos eine Funktionsreferenz, und musst lernen damit umzugehen. ^^

  12. #12

    Recht kurzer Post, ich weiß...

    Msdn?

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •