Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » VC++ / MFC » Pfad in dem sich das Programm befindet

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
10.05.2003, 17:51 Uhr
~michael
Gast


ich möchte mit

C++:
/// Optionen speichern
CFile* file = new CFile();
if(file->Open("option.txt",CFile::modeCreate|CFile::modeWrite))
{
    CArchive archive(file,CArchive::store);
    this->m_option->Serialize(archive);
    archive.Close();
    file->Close();
}


Daten sichern. Das geht auch nur sollte die Datei in dem Verzeichnis erzeugt werden wo das Programm steht! Aber er legt es unter eigenen Datein ab. wie kann ich zur Laufzeit den Programmpfad bestimmen?

Michael
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
10.05.2003, 18:33 Uhr
FloSoft
Medialer Over-Flow
(Administrator)



C++:
CFile* file = new CFile();
if(file->Open("c:\\option.txt",CFile::modeCreate|CFile::modeWrite))
{
    CArchive archive(file,CArchive::store);
    this->m_option->Serialize(archive);
    archive.Close();
    file->Close();
}



statt c: kann man natürlich jeden beliebigen Pfad nehmen
--
class God : public ChuckNorris { };

Dieser Post wurde am 10.05.2003 um 18:33 Uhr von FloSoft editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
10.05.2003, 18:43 Uhr
~Michael
Gast


Ja aber ich wollte es dynamisch machen! Also wenn der User1 es unter C\bla installiert das und wenn User2 es unter d\ installiert das! Also ich weiß es vorher nicht! Deswegen wollte ich abfragen wo das Programm installiert ist und diesen Pfad dann anbieten! Geht das irgendwie zu machen?

Michael
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
10.05.2003, 19:06 Uhr
Uwe
C/C++ Master
(Administrator)


Hallo,

C++:
CString GetApplicationDirectory()
{
      TCHAR szPathName[_MAX_PATH];
      ::GetModuleFileName(NULL, szPathName, _MAX_PATH);
      LPTSTR pszFileName = _tcsrchr(szPathName, '\\') + 1;
      *pszFileName = '\0';
      return szPathName;
}



--
"Es ist schwierig, ein Programm wirklich idiotensicher zu machen, weil Idioten so genial sind."

Bis dann...
Uwe

Dieser Post wurde am 10.05.2003 um 19:07 Uhr von Uwe editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
10.05.2003, 19:06 Uhr
mike
Pinguinhüpfer
(Operator)


Hi!
Vielleicht hilft dir das weiter
www.fun-soft.de//forum/showtopic.php?threadid=2329&time=

mfg mike
--
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
10.05.2003, 20:02 Uhr
~michael
Gast


Danke das is genau das was ich brauche.
Ich verstehe aber diese Zeile nicht, könnte die mir jemand kurz erklären?

C++:
LPTSTR pszFileName = _tcsrchr(szPathName, '\\') + 1;



Michael
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
11.05.2003, 10:24 Uhr
Uwe
C/C++ Master
(Administrator)


Hallo Michael,

Zitat:
~michael postete
Ich verstehe aber diese Zeile nicht, könnte die mir jemand kurz erklären?

C++:
LPTSTR pszFileName = _tcsrchr(szPathName, '\\') + 1;




in szPathName ist der komplette Path (also einschließlich der Exe-Name) Deiner Anwendung enthalten. _tcsrchr sucht nun nach dem letzten \. Würde nicht 1 addiert, wird der letzt \ durch die Funktion mit abgeschnitten.
Der Rest also "deine.exe" wird in pszFileName aufgefangen. Also hast Du jetzt in szPathName den Pfad und in pszFileName den Namen der Exe.
--
"Es ist schwierig, ein Programm wirklich idiotensicher zu machen, weil Idioten so genial sind."

Bis dann...
Uwe

Dieser Post wurde am 11.05.2003 um 10:31 Uhr von Uwe editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
12.05.2003, 09:19 Uhr
~Michael L.
Gast


Danke, das war genau das was ich brauche und es geht wunderbar!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ VC++ / MFC ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: