Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > WPF, UWP, WinRT, XAML
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.07.2017, 11:54   #11
Mukudori
Пользователь
 
Регистрация: 05.07.2017
Сообщений: 24
По умолчанию

Чем кроме цикла отличаются эти 2 функции:

Код:
private async void Add_Click(object sender, RoutedEventArgs e)
        {
            FileOpenPicker openPicker = new FileOpenPicker();
            openPicker.ViewMode = PickerViewMode.Thumbnail;
            openPicker.SuggestedStartLocation = PickerLocationId.PicturesLibrary;
            openPicker.FileTypeFilter.Add(".jpg");
            openPicker.FileTypeFilter.Add(".jpeg");
            openPicker.FileTypeFilter.Add(".png");
            openPicker.FileTypeFilter.Add(".bmp");
            StorageFile file = await openPicker.PickSingleFileAsync();            
           
            StorageFolder folderImages = await Package.Current.InstalledLocation.GetFolderAsync(GlobalFuncs.GetLocalFolder());
            string localFolder = GlobalFuncs.GetLocalFolder(true, true);

            if (file != null) // Если выбрали файл
            {

                double jq, Blur;
                string[] NewName = GlobalFuncs.GetFormatAndNameFromString(file.Name);
                string oldName = file.Name; 
                await file.RenameAsync(imageId.ToString() + NewName[1]);

                if (await folderImages.TryGetItemAsync(file.Name) == null) // Если файл с таким именем не существует, то загружаем выбраный
                {
                    var stream = await file.OpenAsync(Windows.Storage.FileAccessMode.Read);                                      
                    await file.CopyAsync(folderImages); // ВОТ ЗДЕСЬ ВСЕ НОРМАЛЬНО
                    OpenCvFuncs of = new OpenCvFuncs(GlobalFuncs.GetLocalFolder(true, false) + file.Name);
                    jq = of.GetJQ();
                    Blur = of.GetBlur();

                    listEvaluate.Add(new ListEvaluate(file.Name, String.Format("{0:0.000}", jq), String.Format("{0:0.000}", (Blur)), new Uri(localFolder + file.Name)));
                }
                else
                {
                    var dialog = new MessageDialog("Файл с таким именем существует!");
                    await dialog.ShowAsync();

                    file = await folderImages.GetFileAsync(file.Name);
                    var stream = await file.OpenAsync(Windows.Storage.FileAccessMode.Read);
                   
                    OpenCvFuncs of = new OpenCvFuncs(GlobalFuncs.GetLocalFolder(true, false) + file.Name);
                    jq = of.GetJQ();
                    Blur = of.GetBlur();

                    listEvaluate.Add(new ListEvaluate(file.Name, String.Format("{0:0.000}", jq), String.Format("{0:0.000}", (Blur)), new Uri(localFolder + file.Name)));
                }
                await file.RenameAsync(oldName);
                listImageView.ItemsSource = listEvaluate.ToList();
            }
            else
            {
                //  файл не выбран - ничего не делаем
            }

        }
Код:
  private async void Add_Click(object sender, RoutedEventArgs e)
        {
            var picker = new Windows.Storage.Pickers.FileOpenPicker();
            picker.ViewMode = Windows.Storage.Pickers.PickerViewMode.Thumbnail;
            picker.SuggestedStartLocation =
                Windows.Storage.Pickers.PickerLocationId.PicturesLibrary;
            picker.FileTypeFilter.Add(".jpg");
            picker.FileTypeFilter.Add(".jpeg");
            picker.FileTypeFilter.Add(".png");

            var files = await picker.PickMultipleFilesAsync();

            StorageFolder folderImages = await Package.Current.InstalledLocation.GetFolderAsync(GlobalFuncs.GetLocalFolder());
            string localFolder = GlobalFuncs.GetLocalFolder(true, true);
            

            if (files.Count > 0)
            {
                for (int i = 0; i < files.Count; i++)
                {
                    double jq, Blur;
                    string[] NewName = GlobalFuncs.GetFormatAndNameFromString(files[i].Name);
                    string oldName = files[i].Name;
                    await files[i].RenameAsync(imageId.ToString() + NewName[1]);


                    if (await folderImages.TryGetItemAsync(files[i].Name) == null) // Если файл с таким именем не существует, то загружаем выбраный
                    {
                        
                        await files[i].CopyAsync(folderImages); // ЗДЕСЬ ОШИБКА
                        OpenCvFuncs of = new OpenCvFuncs(GlobalFuncs.GetLocalFolder(true, false) + files[i].Name);
                        jq = of.GetJQ();
                        Blur = of.GetBlur();

                        listEvaluate.Add(new ListEvaluate(files[i].Name, String.Format("{0:0.000}", jq), String.Format("{0:0.000}", (Blur)), new Uri(localFolder + files[i].Name)));
                        await files[i].RenameAsync(oldName);
                    }
                    else
                    {
                        var file = await folderImages.GetFileAsync(files[i].Name);                       

                        OpenCvFuncs of = new OpenCvFuncs(GlobalFuncs.GetLocalFolder(true, false) + file.Name);
                        jq = of.GetJQ();
                        Blur = of.GetBlur();

                        listEvaluate.Add(new ListEvaluate(file.Name, String.Format("{0:0.000}", jq), String.Format("{0:0.000}", (Blur)), new Uri(localFolder + file.Name)));
                        await file.RenameAsync(oldName);
                    }
                   
                    listImageView.ItemsSource = listEvaluate.ToList();
    
                   
                }
            }
            else
            {

            }
            listImageView.ItemsSource = listEvaluate.ToList();   
}
В первой копирование файла происходит нормально во второй вылетает ошибка что такого файла нет.

Последний раз редактировалось Mukudori; 15.07.2017 в 12:01.
Mukudori вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[UWP] Пересоздание базы данных SQLite Mukudori WPF, UWP, WinRT, XAML 1 10.07.2017 11:39
Перевести C++ библиотеки в UWP C# Yury8888 WPF, UWP, WinRT, XAML 0 09.06.2017 17:39
UWP приложение можно запустить в виндувс 7? spruced Windows 3 05.03.2017 18:29
Прошу примеры Delphi asm по битовым операциям Turbine Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 3 21.09.2016 11:46
Нужен учитель. UWP. 102 WPF, UWP, WinRT, XAML 22 03.06.2016 09:22