Probleme beim Umgang mit System::object



  • moin moin

    ein neuer tag ein neues problem 🙂

    also ich habe auf meiner form ein treeView objekt und eine ListBox. in das TreeView objekt trage ich ordner und dren unterordner ein und in der list box möchte ich die datein anzeigen die in diesem ordner sind. dies mach ich momentan so das ich wenn ich die ordner zum treeview hinzufüge(mit ADD) eine sortierte Liste(SortedList) im Tag Element des neuen TreeNodes ablege.

    System::Void RenameTool::Form1::ButtonAddFolder_Click(System::Object *  sender, System::EventArgs *  e){
    	if(this->folderBrowserDialog1->ShowDialog()==System::Windows::Forms::DialogResult::OK){
    		String *strNameAndPath[]=SplitNameAndPath(this->folderBrowserDialog1->get_SelectedPath());
    		TreeNode *treenodeNewNode=this->FolderTreeView->Nodes->Item[FOLDERS]->Nodes->Add(strNameAndPath[NAME]);
    		SortedList *sortedFileList=this->CreateSortedFileList(this->folderBrowserDialog1->get_SelectedPath());
    		treenodeNewNode->Tag=sortedFileList;
    		if(this->boolRecursion){
    			this->AddFoldersToTreeView(treenodeNewNode,this->folderBrowserDialog1->get_SelectedPath());
    		}
    	}
    }
    
    System::Void RenameTool::Form1::AddFoldersToTreeView(TreeNode *treenodeNode,String * strFolderFullName){
    		String *strFolderFullNames[]=Directory::GetDirectories(strFolderFullName);
    		for(long nI=0;nI<strFolderFullNames->Length;nI++){
    			String *strNameAndPath[]=SplitNameAndPath(strFolderFullNames[nI]);
    			TreeNode *treenodeNewNode=treenodeNode->Nodes->Add(strNameAndPath[NAME]);
    			SortedList *sortedFileList=this->CreateSortedFileList(strFolderFullName);
    			treenodeNewNode->Tag=sortedFileList;
    			this->AddFoldersToTreeView(treenodeNewNode,strFolderFullNames[nI]);
    	}
    }
    
    SortedList * RenameTool::Form1::CreateSortedFileList(String * strFullFolderName){
    	String * strFullFileNames[]=Directory::GetFiles(strFullFolderName);
    	SortedList *sortedFileList=new SortedList();
    	for(long nI=0;nI<strFullFileNames->Length;nI++){
    		String *strNameAndExtention[]=this->SplitNameAndExtention(strFullFileNames[nI]->Substring(strFullFolderName->Length));
    		String *strExtentionAndPath[]={strNameAndExtention[EXTENTION],strFullFolderName};
    		sortedFileList->Add(strNameAndExtention[NAME],strExtentionAndPath);
    	}
    	return sortedFileList;
    }
    

    nun meine Frage:
    wie kann ich später wieder auf die liste zugreifen denn das Tag element ist vom typ System::Object und ich plans nicht wie ich da wieder an meine daten ran komme.

    (beim suchen hab ich nichts gefunden

    mfG Kanimir



  • Ich würd sagen einfach auf den Typ von "sortedFileList" casten 😉



  • hm ok 😛 das ist echt zu arm ... naja jetzt weiss ichs ja 🙂

    danke


Anmelden zum Antworten