Pfad in ../../datei.dat änder
-
HI!
Wie kann ich den normalen pfad: C:/programm/anwdnung/datei.dat ind ../../datei.dat oder so ändern?
danke
-
hallo?!
-
Wie wärs mal mit ner gescheiten Frage?
-
wozu soll das gut sein oder was ist der Sinn?
-
Der Sinn wäre von einem Benutzer eine Datei per Filerquester auswählen zu lassen. Man holt sich dann den gesammten Pfad der fix ist. (C:\irgendwas\blaa\File.txt)
Nun braucht man den Pfad aber Relativ zum Programmpfad (c:\Irgendwas\Test\Program)
Der wäre dann
..\..\blaa\File.txt
Die Frage denke ich ist nun:
Gibts was in der WinAPI oder in den MFC Klassen die sowas ermitteln oder muß man sich das selbst auspusseln ?!
*mal rat*
-
gibt es sowas?!

ich trau mir gar net mehr zu antworten

-
kann es sein, dass ihr von:
GetModuleFileName()
und _splitpath()
redet?
-
Ich denk mal du meinst sowas: (ist nicht perfekt)
CString CHtmlFile::GetRelPath(CString Dir, CString File) { CStringList list1; CStringList list2; CString temp = ""; for (int i=0;i<Dir.GetLength();i++) { if (Dir.Mid(i,1) == "\\" || i == Dir.GetLength()) { list1.AddTail(temp); temp = ""; } else { temp += Dir.Mid(i,1); } } list1.AddTail(temp); temp = ""; for (i=0;i<File.GetLength();i++) { if (File.Mid(i,1) == "\\") { list2.AddTail(temp); temp = ""; } else temp += File.Mid(i,1); } list2.AddTail(temp); CString ret = ""; int max = list1.GetCount(); if (list2.GetCount() > max) max = list2.GetCount(); int FirstDif = 0; for (i=0;i<max;i++) { CString v1, v2; if (i < list1.GetCount()) v1 = list1.GetAt(list1.FindIndex(i)); else v1 = ""; if (i < list2.GetCount()) v2 = list2.GetAt(list2.FindIndex(i)); else v2 = ""; if (v1 != v2) { FirstDif = i; break; } } if (list1.GetCount() != FirstDif) { for (int j=0;j<list1.GetCount() - FirstDif;j++) ret += "..\\"; } for (int j=0;j<list2.GetCount() - FirstDif;j++) ret += list2.GetAt(list2.FindIndex(j+FirstDif)) + "\\"; ret = ret.Left(ret.GetLength()-1); return ret; }
-
Looks cool!
aber wie benutz ich das jetzt? gibt man bei CString Dir den Pfad der datei die man einfügen möchte, oder die auf der man das einfügen will?
PS: wäre für FAQ genau das richtige

-
Gibt es Gründe, die gegen die Verwendung der API-Funktion PathRelativePathTo sprechen?
-
Ahhh die Lösung

Danke schön @ -King-
-
vielen vielen dank!
