Affichage du chemin / noms de fichier sélectionné dans la fenêtre - Programmation de cacao
-
14-11-2019 - |
Question
Je suis nouveau dans la programmation de cacao, en utilisant le code ci-dessous, je souhaite afficher les noms de fichiers sélectionnés dans la fenêtre. Comment puis je faire ça?
- (IBAction)selectFile:(id)sender {
int i; // Loop counter.
// Create the File Open Dialog class.
NSOpenPanel* openDlg = [NSOpenPanel openPanel];
NSArray *fileTypes = [NSArray arrayWithObjects:@"wmv", @"3gp", @"mp4", @"avi", @"mp3", @"mma", @"wav", nil];
// Enable the selection of files in the dialog.
[openDlg setCanChooseFiles:YES];
//Enable multiple selection of files
[openDlg setAllowsMultipleSelection:YES];
// Enable the selection of directories in the dialog.
[openDlg setCanChooseDirectories:YES];
// Display the dialog. If the OK button was pressed,
// process the files.
if ( [openDlg runModalForDirectory:nil file:nil types:fileTypes] == NSOKButton )
{
// Get an array containing the full filenames of all
// files and directories selected.
NSArray* files = [openDlg filenames];
// Loop through all the files and process them.
for( i = 0; i < [files count]; i++ )
{
NSString* fileName = [files objectAtIndex:i];
NSLog(@"filename::: %@", fileName);
// Do something with the filename.
}
}
}
Dans NSLOG, j'obtiens les noms, ce que je veux, c'est afficher les noms de la fenêtre, pour afficher l'utilisateur que ces fichiers sont sélectionnés.
Quelle vue peut être utilisée? Quelle est la façon d'y parvenir?
Merci
La solution
Utiliser un NSTextView
ou un NSTextField
.
Autres conseils
NSArray* files = [openDlg filenames];
NSString* fileName;
// Loop through all the files and process them.
for( i = 0; i < [files count]; i++ )
{
fileName =[fileName stringByAppendingString:[files objectAtIndex:i];
// Do something with the filename.
}
NSLog(@"filename::: %@", fileName);
textView.text=fileName;
runModalForDirectory:file:types:
est obsolète dans OS X V10.6. Vous pourriez utiliser runModal
Au lieu. Vous pouvez définir le chemin en utilisant setDirectoryURL:
, et vous pouvez définir des filetypes en utilisant setAllowedFileTypes:
.
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow