Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.
Внимание! Некоторое время письма не доходят до аккаунтов MAIL RU GROUP, не доходят на все почтовые ящики mail.ru, inbox.ru, bk.ru. Пишите им жалобы, чтобы быстрее восстановили получение писем, регистрируйтесь через яндекс почту и gmail, туда письма с активизацией доходят.

Вернуться   Форум программистов > .NET > WPF, UWP, WinRT, XAML
Регистрация

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

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

Чем кроме цикла отличаются эти 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 в 13:01.
Mukudori вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[UWP] Пересоздание базы данных SQLite Mukudori WPF, UWP, WinRT, XAML 1 10.07.2017 12:39
Перевести C++ библиотеки в UWP C# Yury8888 WPF, UWP, WinRT, XAML 0 09.06.2017 18:39
UWP приложение можно запустить в виндувс 7? spruced Windows 3 05.03.2017 19:29
Прошу примеры Delphi asm по битовым операциям Turbine Assembler 3 21.09.2016 12:46
Нужен учитель. UWP. 102 WPF, UWP, WinRT, XAML 22 03.06.2016 10:22


08:24.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru