Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (WinAPI, Konsole) » Welche endung??

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
02.09.2004, 22:06 Uhr
RedEagle



Ich habe einen code:

C++:
BOOL DoFileOpenSave(HWND hwnd, BOOL bSave)
{
   OPENFILENAME ofn;
   char szFileName[MAX_PATH];

   ZeroMemory(&ofn, sizeof(ofn));
   szFileName[0] = 0;

   ofn.lStructSize = sizeof(ofn);
   ofn.hwndOwner = hwnd;
   ofn.lpstrFilter = "Text Files (*.txt)\0*.txt\0All Files (*.*)\0*.*\0\0";
   ofn.lpstrFile = szFileName;
   ofn.nMaxFile = MAX_PATH;
   ofn.lpstrDefExt = "txt";

   if(bSave)
   { //PUNKT A
      ofn.Flags = OFN_EXPLORER | OFN_PATHMUSTEXIST | OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT;
        
      if(GetSaveFileName(&ofn))
      {
         if(!SaveFile(GetDlgItem(hwnd, IDC_MAIN_TEXT), szFileName))
         {
          error.str(""); error << __LINE__ << " SaveFile-Error"; str_error = error.str();
          MessageBox(NULL, "Die Datei konnte nicht Gespeichert werden.", str_error.c_str(), MB_ICONEXCLAMATION | MB_OK);
                                  
          return FALSE;
         }
      }
   }
   else
   { //PUNKT B
      ofn.Flags = OFN_EXPLORER | OFN_FILEMUSTEXIST | OFN_HIDEREADONLY;
      if(GetOpenFileName(&ofn))
      {
         if(!LoadFile(GetDlgItem(hwnd, IDC_MAIN_TEXT), szFileName))
         {
          error.str(""); error << __LINE__ << " LoadFile-Error"; str_error = error.str();
          MessageBox(NULL, "Die Datei konnte nicht Geladen werden.", str_error.c_str(), MB_ICONEXCLAMATION | MB_OK);
          
          return FALSE;
         }
      }
   }
   return TRUE;
}



Das den Offnen/speichern - Dialog öffnet. In welcher Varialbe ist an Punkt "A" und "B" die ausgewählte endung gespeichert??
--
MFG RedEagle
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
03.09.2004, 09:17 Uhr
Airdamn



Die ausgewählte Endung selbst ist nirgends gespeichert, wenn ich es richtig sehe.
Du kannst sie aber so ermitteln:


C++:
char* pszExtension = &szFileName[ofn.nFileExtension];



in ofn.nFileExtension ist die Stelle, ab der die Dateierweiterung anfängt.
bei "C:\test.txt" wäre in ofn.nFileExtension eine 8

MSDN ist schon ne feine Sache ^^

Dieser Post wurde am 03.09.2004 um 09:19 Uhr von Airdamn editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
03.09.2004, 09:44 Uhr
RedEagle



Ich benutze jetzt:
LPTSTR PathFindExtension(LPCTSTR pPath);
habs aber noch nicht getetet.

ist auch außa MSDN
--
MFG RedEagle
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (WinAPI, Konsole) ]  


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: