[gelöst]Pfadangabe nicht korrekt->getOpenFileName()

Alles rund um die Programmierung mit Qt
shader76
Beiträge: 107
Registriert: 3. März 2006 14:29

[gelöst]Pfadangabe nicht korrekt->getOpenFileName()

Beitrag von shader76 »

Hallo Forum,

ich habe ein tool programmiert worüber ich eine Datei öffnen will.Nur bekomme ich danach eine Fehlermeldung C:\temp\... der Slash ist der UNIX Slash sollte aber der Backslash sein. Hat jemand eine Ahnung woran das liegen könnte und wie man das lösen kann ?

Code: Alles auswählen

QString sDirectory = "C:\\";
	QString sTypes;
    sTypes = tr("txt files") + " (*.txt)" ;
	
	 
	 QString sFileName = QFileDialog::getOpenFileName(
						this,
						"",
						sDirectory,
						sTypes);
Ist es ausserdem nicht so das mit QT programmierte Tool sowohl unter Windows als auch unter UNIX laufen ?

Bin am Ende mit meinem Latein :evil:
Zuletzt geändert von shader76 am 22. März 2006 13:52, insgesamt 1-mal geändert.
-shader76-
-Visual Studio.Net 2003 & QT4.1
macman
Beiträge: 1738
Registriert: 15. Juni 2005 13:33
Wohnort: Gütersloh
Kontaktdaten:

Beitrag von macman »

Damit es plattformunabhängig bleibt, solltest Du immer den Slash nehmen. Qt wandelt den intern immer passend um und XP kommt inzwischen auch damit zurecht. Wo kommt denn in deinem Beispielcode der Fehler und wie genau lautet er?
shader76
Beiträge: 107
Registriert: 3. März 2006 14:29

Beitrag von shader76 »

Hallo macman,

Der Fehler erscheint in Form einer MessageBox wenn ich die Datei öffne

Die Pfadangabe ist ungültig!
c:\temp\Éö[]


Kompilieren macht er fehlerfrei nur halt beim starten bzw beim öffnen der datei kommt halt dieser fehler.
Ich programmiere unter Windows2000

habe

Code: Alles auswählen

QString sDirectory = "C:/";
genommen nur der fehler besteht weiterhin
-shader76-
-Visual Studio.Net 2003 & QT4.1
macman
Beiträge: 1738
Registriert: 15. Juni 2005 13:33
Wohnort: Gütersloh
Kontaktdaten:

Beitrag von macman »

shader76 hat geschrieben:Der Fehler erscheint in Form einer MessageBox wenn ich die Datei öffne
Also macht Qt doch alles richtig.
shader76 hat geschrieben: Die Pfadangabe ist ungültig!
c:\temp\Éö[]
Bei einem solchen Fehler würde ich mir Sorgen um mein Dateisystem machen. Heißt die Datei wirklich so? Benenn sie mal im Explorer um.
shader76
Beiträge: 107
Registriert: 3. März 2006 14:29

Beitrag von shader76 »

Die Datei heisst aber nicht so,..wollte ja eine Datei.txt öffnen das ist ja das Problem
-shader76-
-Visual Studio.Net 2003 & QT4.1
macman
Beiträge: 1738
Registriert: 15. Juni 2005 13:33
Wohnort: Gütersloh
Kontaktdaten:

Beitrag von macman »

Wann erscheint denn nun der Fehler? Beim getOpenFileName oder erst wenn Du die Datei öffnest? Das ist mir noch nicht klar.
shader76
Beiträge: 107
Registriert: 3. März 2006 14:29

Beitrag von shader76 »

ach so ,..erst wenn ich datei öffne
-shader76-
-Visual Studio.Net 2003 & QT4.1
macman
Beiträge: 1738
Registriert: 15. Juni 2005 13:33
Wohnort: Gütersloh
Kontaktdaten:

Beitrag von macman »

Ist das wieder schwer heute :-) Der String, den Du von getOpenFileName zurück bekommst, ist also noch ok? Gib mal mehr Code, so fischt man ja nur im Trüben.
shader76
Beiträge: 107
Registriert: 3. März 2006 14:29

Beitrag von shader76 »

ich hab grade mit einer MessageBox getestet mir den Wert ausgeben lassen den getOpenFileName zurückliefert,..der Wert stimmt, nur das Slash ist falsch es musss ein Backslash sein.

Ausgabe in der MessageBox :

Code: Alles auswählen

C:/Datei.txt
-shader76-
-Visual Studio.Net 2003 & QT4.1
macman
Beiträge: 1738
Registriert: 15. Juni 2005 13:33
Wohnort: Gütersloh
Kontaktdaten:

Beitrag von macman »

Das ist ja enorm viel Code, den Du da bringst. Es stimmt, es muss ein Backslash sein, wenn Du die Datei mit Windows eigenen Methode bearbeitest. Öffnest Du die Datei mit Qt, dann brauchst Du das nicht. Abar da Du nicht damit raus rückst, kann ich nicht weiter helfen.
shader76
Beiträge: 107
Registriert: 3. März 2006 14:29

Beitrag von shader76 »

Da es ein Inhouse Projekt ist kann ich nicht alles zeigen

Welchen Teil vom Code brauchst du, es ist enorm viel und ich weiss nicht was du noch brauchst ?
-shader76-
-Visual Studio.Net 2003 & QT4.1
macman
Beiträge: 1738
Registriert: 15. Juni 2005 13:33
Wohnort: Gütersloh
Kontaktdaten:

Beitrag von macman »

Das wo der Fehler auftritt. Arbeitest Du da mit QFile oder was anderem? Benutzt Du nur Qt-Funktionen oder Teile der Win-API?
shader76
Beiträge: 107
Registriert: 3. März 2006 14:29

Beitrag von shader76 »

---
Zuletzt geändert von shader76 am 17. März 2006 14:30, insgesamt 1-mal geändert.
-shader76-
-Visual Studio.Net 2003 & QT4.1
macman
Beiträge: 1738
Registriert: 15. Juni 2005 13:33
Wohnort: Gütersloh
Kontaktdaten:

Beitrag von macman »

Hmm, ich seh keinen Fehler. Ich seh aber auch nicht wo Du nach dem getOpenFileName eine Datei öffnest. An welcher Stelle kommt denn der Fehler genau?
shader76
Beiträge: 107
Registriert: 3. März 2006 14:29

Beitrag von shader76 »

die datei öffne ich wenn ich das programm starte und auf den btn1 des Tools klicke die datei auswähle im getopenfilename fenster und dann kommt die FehlerMessageBox s.o.

siehe Funktion meinEditor() dort wird der Prozess gestartet und ich starte mein Tool womit ich die datei öffnen möchte.

Das ganze wird mit einer QStringList übergeben
-shader76-
-Visual Studio.Net 2003 & QT4.1
Antworten