tBane Temat założony przez niniejszego użytkownika |
Ścieżki do popularnych lokalizacji w windowsie tj. dokumenty, pobrane itp » 2025-09-22 23:05:10 Witam. Jak uzyskać ścieżki do popularnych lokalizacji w windowsie typu moje dokumenty, moje obrazy, pobrane? |
|
pekfos |
» 2025-09-22 23:36:08 |
|
tBane Temat założony przez niniejszego użytkownika |
» 2025-09-23 03:58:03 Ok dzięki. :-) A jak załadować ścieżki do dysków? W sensie: C:\ D:\ E:\ i tak dalej ? |
|
pekfos |
» 2025-09-23 16:50:14 |
|
tBane Temat założony przez niniejszego użytkownika |
» 2025-09-24 02:40:18 Ok dzięki. Wszystko działa :-) Teraz będę mógł napisać całkiem dobre okienko dialogowe do przeglądania plików! :D |
|
tBane Temat założony przez niniejszego użytkownika |
» 2025-09-27 05:05:46 Cześć. Pracuję obecnie nad zakładką Favorites. Potrzebuję jeszcze wczytać ostatnio przeglądane pliki. Chodzi mi o tę lokalizację \Recent Places. Wyrzuca mi niestety błąd. Da się to jakoś zrobić? Czy to wewnętrznie jakoś Windows przetwarza i nie da się z tym nic zrobić? w taki sposób przypisuję aktualną lokalizacjęvoid Dialog_Save_As::createFavorites() { const wchar_t * userProfile = _wgetenv( L"USERPROFILE" ); std::wstring up( userProfile ); _favorites.push_back( new LocationRect( up + L"\\Desktop" ) ); _favorites.push_back( new LocationRect( up + L"\\Downloads" ) ); _favorites.push_back( new LocationRect( up + L"\\Recent" ) ); currentPath = _favorites[ 2 ]->_path.wstring(); }
w taki sposób ładuję foldervoid Dialog_Save_As::loadDirectory() { _paths.clear(); for( const auto & path: std::filesystem::directory_iterator( currentPath ) ) { _paths.push_back( path ); std::wcout << path.path().wstring() << std::endl; } }
ps. sorki za wygląd ramki ale nie potrafię dobrze jej sformatować |
|
tBane Temat założony przez niniejszego użytkownika |
» 2025-09-28 00:28:03 Zmieniłem ścieżkę do folderu recent places. Teraz listuje folder ale, wyrzuca błąd void Dialog_Save_As::createFavorites() { const wchar_t * userProfile = _wgetenv( L"USERPROFILE" ); std::wstring up( userProfile ); _favorites.push_back( new LocationRect( up + L"\\Desktop" ) ); _favorites.push_back( new LocationRect( up + L"\\Downloads" ) ); _favorites.push_back( new LocationRect( up + L"\\AppData\\Roaming\\Microsoft\\Windows\\Recent" ) ); currentPath = _favorites[ 2 ]->_path.wstring(); }
[[noreturn]] inline void _Throw_system_error_from_std_win_error(const __std_win_error _Errno) { _THROW(system_error{_Make_ec(_Errno)});
|
|
tBane Temat założony przez niniejszego użytkownika |
» 2025-09-28 01:26:05 To przez złe sortowanie. Jakiś błąd się tu wkradł. bool sortkey( std::filesystem::directory_entry first, std::filesystem::directory_entry second ) { if( first.is_directory() && second.is_directory() ) { std::string name_1 = first.path().filename().string(); std::string name_2 = second.path().filename().string(); std::transform( name_1.begin(), name_1.end(), name_1.begin(),[ ]( unsigned char c ) { return std::tolower( c ); } ); std::transform( name_2.begin(), name_2.end(), name_2.begin(),[ ]( unsigned char c ) { return std::tolower( c ); } ); if( name_1 < name_2 ) return true; else return false; } else if( first.is_directory() && !second.is_directory() ) { return true; } else if( !first.is_directory() && second.is_directory() ) { return false; } else { std::string name_1 = first.path().filename().string(); std::string name_2 = second.path().filename().string(); std::transform( name_1.begin(), name_1.end(), name_1.begin(),[ ]( unsigned char c ) { return std::tolower( c ); } ); std::transform( name_2.begin(), name_2.end(), name_2.begin(),[ ]( unsigned char c ) { return std::tolower( c ); } ); if( name_1 < name_2 ) return true; else return false; } }
void Dialog_Save_As::sortTheFiles() { std::sort( _paths.begin(), _paths.end(), sortkey ); }
|
|
| « 1 » 2 |