VC++ System IO wyswietlanie katologow itp

0

Mam problem
otoz chce aby program po wybraniu napedu z comboboxa wyswietlal w listboxie tylko nazwe katalogu bez pelnej sciezki
czyli po wybraniu napedu chcialbym aby listbox wygadal tak:
listbox1:

Documents and Settings
Users
Windows

a nie tak jak aktualnie:

C:\Documents and Settings
C:\Users
C:\Windows

 #pragma endregion
	private: System::Void Form1_Load(System::Object^  sender, System::EventArgs^  e) {
				
			
				comboBox1->Items->Clear();
				array<String^> ^naped = Directory::GetLogicalDrives();
				for (int i=0; i<naped[i]->Length ;i++){
				comboBox1->Items->Add(naped[i]);}
			 }
	private: System::Void comboBox1_SelectedIndexChanged(System::Object^  sender, System::EventArgs^  e) {
				

				listBox1->Items->Clear();
				array<String^> ^katalog = Directory::GetDirectories(comboBox1->Text);
				for (int i=0; i<katalog->Length; i++){
				listBox1->Items->Add(katalog[i]);}
			 }
	};

potrzebuje rowiez pomocy w kwestii przechodzenia "o katalog wyzej" na butonie
jaka komende musze uzyc

0

Jeśli chodzi o wyswietlenie napisu bez .np c:\ zrób coś takiego tylko przerób sobie na listBoxa

				 array <String^>^ tablica= Directory::GetDirectories("c:\\");
				 for(int i=0;i<tablica->Length;++i)
				 {
					 MessageBox::Show(tablica[i]->Remove(0,3));
				 }
0

Jeśli chcesz mieć listę plików i folderów (chyba też, nie pamiętam) w podanej ścieżce to zrobiłem takie coś w WinApi

        string buffer;
	vector<string> fileNames;
	
	WIN32_FIND_DATA findFileData;
	HANDLE myHandle=FindFirstFile((LPCTSTR)pathBuffer.c_str(),&findFileData);

	if( myHandle != INVALID_HANDLE_VALUE)//znalazl przynajmniej jeden plik
	{ 
		buffer = findFileData.cFileName;
		fileNames.push_back( buffer);
		while( FindNextFile( myHandle, &findFileData) != 0)
		{
			buffer = findFileData.cFileName;
			fileNames.push_back( buffer);
		}
	}

	FindClose(myHandle); 

1 użytkowników online, w tym zalogowanych: 0, gości: 1