Affichage du chemin / noms de fichier sélectionné dans la fenêtre - Programmation de cacao

StackOverflow https://stackoverflow.com/questions/9512443

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

Était-ce utile?

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
scroll top