コード例 #1
0
ファイル: MainPage.xaml.cs プロジェクト: kacerbar/BinToHex
        private async void OpenNewFile(object sender, RoutedEventArgs e)
        {
            // ViewModel.IsShowBar = Visibility.Visible;
            Ring.IsActive = true;
            try
            {
                var picker = new Windows.Storage.Pickers.FileOpenPicker();
                picker.ViewMode = Windows.Storage.Pickers.PickerViewMode.Thumbnail;
                picker.SuggestedStartLocation = Windows.Storage.Pickers.PickerLocationId.PicturesLibrary;
                //  picker.FileTypeFilter.Add(".bin");
                //  picker.FileTypeFilter.Add(".txt");
                // picker.FileTypeFilter.Add(".doc");
                picker.FileTypeFilter.Add("*");
                Windows.Storage.StorageFile file = await picker.PickSingleFileAsync();

                if (file != null)
                {
                    var buffer = await Windows.Storage.FileIO.ReadBufferAsync(file);

                    byte[] bb = buffer.ToArray();
                    Windows.Storage.FileProperties.BasicProperties basicProperties = await file.GetBasicPropertiesAsync();

                    VidDoc vidDoc = new VidDoc()
                    {
                        //uuu
                        //jjj
                        Name     = file.DisplayName,
                        Sppan    = true,
                        ccc      = cout,
                        IsShow   = Visibility.Visible,
                        IsShow1  = Visibility.Visible,
                        Poz      = 0,
                        Path     = file.Path,
                        Size     = basicProperties.Size.ToString(),
                        NameType = file.FileType
                                   //   bb1 = bb
                                   //  BiteFile=bb
                    };
                    await Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () =>
                    {
                        ViewModel.ColTabs.Add(vidDoc
                                              );
                    });

                    if (ViewModel.ColTabs[0].Name == "New File")
                    {
                        ViewModel.ColTabs.RemoveAt(0);
                    }


                    cout++;
                    await Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () =>
                    {
                        Tabs.SelectedIndex = ViewModel.ColTabs.Count - 1;
                    });

                    await Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () =>
                    {
                        vidDoc.bb1 = bb;
                    });

                    await vidDoc.OpenF();
                    await OpenF(bb, vidDoc);

                    //ViewModel.IsShowBar = Visibility.Collapsed;
                    Ring.IsActive = false;
                }
                else
                {
                    MessageDialog f = new MessageDialog("Файл не открыт");
                    await f.ShowAsync();

                    Ring.IsActive = false;
                }
            }
            catch
            {
                MessageDialog f = new MessageDialog("Произошла ошибка, возможно файл поврежден");
                await f.ShowAsync();

                Ring.IsActive = false;
            }
            Ring.IsActive = false;
        }
コード例 #2
0
ファイル: MainPage.xaml.cs プロジェクト: kacerbar/BinToHex
        private async void AppBarButton_Click(object sender, RoutedEventArgs e)
        {
            Ring.IsActive = true;
            try
            {
                var picker = new Windows.Storage.Pickers.FileOpenPicker();
                picker.ViewMode = Windows.Storage.Pickers.PickerViewMode.Thumbnail;
                picker.SuggestedStartLocation = Windows.Storage.Pickers.PickerLocationId.PicturesLibrary;
                // picker.FileTypeFilter.Add(".bin");
                // picker.FileTypeFilter.Add(".txt");
                picker.FileTypeFilter.Add("*");
                Windows.Storage.StorageFile file = await picker.PickSingleFileAsync();

                if (file != null)
                {
                    var buffer = await Windows.Storage.FileIO.ReadBufferAsync(file);



                    byte[] bb = buffer.ToArray();
                    Windows.Storage.FileProperties.BasicProperties basicProperties = await file.GetBasicPropertiesAsync();

                    // ViewModel.newVid();



                    int icol = 0;
                    if (ViewModel.ColTabs.Count > 0)
                    {
                        if (ViewModel.ColTabs[0].Name == "New File")
                        {
                            try
                            {
                                VidDoc vidDoc = new VidDoc()
                                {
                                    Name    = file.DisplayName,
                                    Sppan   = true,
                                    ccc     = cout,
                                    IsShow  = Visibility.Visible,
                                    IsShow1 = Visibility.Visible,

                                    Poz      = 0,
                                    Path     = file.Path,
                                    Size     = basicProperties.Size.ToString(),
                                    NameType = file.FileType
                                               //  BiteFile=bb
                                };

                                ViewModel.ColTabs.Add(vidDoc);

                                //   cout++;
                                ViewModel.ColTabs.RemoveAt(0);
                                Tabs.SelectedIndex = 0;
                                vidDoc.bb1         = bb;
                                await vidDoc.OpenF();

                                //Tabs.SelectedIndex = 0;
                                cout++;
                            }
                            catch (Exception ex)
                            {
                                MessageDialog messageDialog = new MessageDialog(ex.ToString());
                                await messageDialog.ShowAsync();
                            }
                        }
                        else
                        {
                            icol = Tabs.SelectedIndex;
                            ViewModel.ColTabs.RemoveAt(icol);
                            VidDoc vidDoc = new VidDoc()
                            {
                                //uuu
                                //jjj
                                Name    = file.DisplayName,
                                Sppan   = true,
                                ccc     = cout,
                                IsShow  = Visibility.Visible,
                                IsShow1 = Visibility.Visible,

                                Poz      = 0,
                                Path     = file.Path,
                                Size     = basicProperties.Size.ToString(),
                                NameType = file.FileType
                                           //   bb1 = bb
                                           //  BiteFile=bb
                            };
                            ViewModel.ColTabs.Insert(icol, vidDoc);
                            Tabs.SelectedIndex = icol;
                            vidDoc.bb1         = bb;
                            await vidDoc.OpenF();

                            cout++;
                        }
                    }
                    else
                    {
                        VidDoc vidDoc = new VidDoc()
                        {
                            //uuu
                            //jjj
                            Name    = file.DisplayName,
                            Sppan   = true,
                            ccc     = cout,
                            IsShow  = Visibility.Visible,
                            IsShow1 = Visibility.Visible,

                            Poz      = 0,
                            Path     = file.Path,
                            Size     = basicProperties.Size.ToString(),
                            NameType = file.FileType
                                       //   bb1 = bb
                                       //  BiteFile=bb
                        };
                        ViewModel.ColTabs.Add(vidDoc);
                        cout++;
                        Tabs.SelectedIndex = ViewModel.ColTabs.Count - 1;
                        vidDoc.bb1         = bb;
                        await vidDoc.OpenF();
                    }
                    Ring.IsActive = false;
                }
                else
                {
                    Ring.IsActive = false;
                    MessageDialog f = new MessageDialog("Файл не открыт");
                    await f.ShowAsync();
                }
            }
            catch
            {
                Ring.IsActive = false;
                MessageDialog f = new MessageDialog("Произошла ошибка, возможно файл поврежден");
                await f.ShowAsync();
            }
            Ring.IsActive = false;
        }
コード例 #3
0
ファイル: MainPage.xaml.cs プロジェクト: kacerbar/BinToHex
        public async Task OpenF(byte[] bb1, VidDoc vidDoc)
        {
            // iniz();
            int i   = 0;
            int ofs = 0;
            int ss  = 0;
            int s   = 0;

            // var fd = new ClassData() { };
            //   string text;

            // text = String.Format("{0:X2}", ofs) + "\t";
            // await Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () =>
            // {
            //   fd.offset = ofs;
            //   fd.oneB = ss;
            //  text = String.Format("{0:X2}", ofs)+"\t";

            //   });
            while (i < bb1.Length)
            {
                if (s == 16)
                {
                    s = 0;

                    //  fd.oneB = ss;

                    ofs += 16;
                    //  text += "\n";

                    //  ClassDatas1.Add(fd);

                    ss += 16;
                    //  fd = new ClassData() { };


                    //   fd.offset = ofs;
                }
                switch (s)
                {
                case 0:
                    await Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () =>
                    {
                        vidDoc.ClassDatas1B.Add(bb1[i]);
                    });

                    // fd.addByte(s, bb1[i]);

                    break;

                case 1:

                    //fd.addByte(s, bb1[i]);

                    break;

                case 2:
                    // fd.addByte(s, bb1[i]);
                    break;

                case 3:
                    //  fd.addByte(s, bb1[i]);
                    break;

                case 4:
                    //  fd.addByte(s, bb1[i]);
                    break;

                case 5:
                    //  fd.addByte(s, bb1[i]);
                    break;

                case 6:
                    // fd.addByte(s, bb1[i]);
                    break;

                case 7:
                    // fd.addByte(s, bb1[i]);
                    break;

                case 8:
                    // fd.addByte(s, bb1[i]);

                    break;

                case 9:
                    //  fd.addByte(s, bb1[i]);
                    break;

                case 10:
                    // fd.addByte(s, bb1[i]);
                    break;

                case 11:
                    //  fd.addByte(s, bb1[i]);
                    break;

                case 12:
                    // fd.addByte(s, bb1[i]);
                    break;

                case 13:
                    //  fd.addByte(s, bb1[i]);
                    break;

                case 14:
                    // fd.addByte(s, bb1[i]);
                    break;

                case 15:
                    // fd.addByte(s, bb1[i]);
                    break;
                }
                s++;
                i++;
            }
            if (s != 0)
            {
                s = 0;

                // fd.oneB = ss;
                //  ofs += 16;
                //  text += "\n";
                await Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () =>
                {
                    //vidDoc.ClassDatas1B.Add(bb1[i]);
                });

                //  ClassDatas1.Add(fd);

                ss += 16;
                // fd = new ClassData() { };

                // await Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () =>
                //  {
                //   text += String.Format("{0:X2}", ofs) + "\t";
                // fd.offset = ofs;
            }
        }