Exemplo n.º 1
0
            public FileOpenResult FileDialogOpen()
            {
                FileOpenResult openResult = new FileOpenResult();

                using (OpenFileDialog fileDialog = new OpenFileDialog())
                {
                    DialogResult result = fileDialog.ShowDialog();
                    fileDialog.InitialDirectory = @"c:\\";
                    fileDialog.Filter           = "txt files (*.txt)|*.txt";
                    fileDialog.FilterIndex      = 2;
                    fileDialog.RestoreDirectory = true;
                    fileDialog.Title            = "Załaduj plik z wynikami pomiarów";
                    //zabezpieczenie, ze zostanie zaladowany plik z poprawnym rozszerzeniem
                    if (fileDialog.ShowDialog().Equals(DialogResult.OK) && System.IO.Path.GetExtension(fileDialog.FileName) == ".txt")
                    {
                        Console.WriteLine(fileDialog.FileName);
                        openResult.Path         = fileDialog.FileName;
                        openResult.DialogResult = DialogResult.OK;
                    }
                    else if (result == DialogResult.Cancel)
                    {
                        openResult.Path         = "";
                        openResult.DialogResult = DialogResult.None;
                    }
                    else
                    {
                        openResult.Path         = "";
                        openResult.DialogResult = DialogResult.None;
                    }
                }
                return(openResult);
            }
Exemplo n.º 2
0
        public FileReader()
        {
            FileOpenResult fileOpen = new FileOpenResult().FileDialogOpen();

            this.Path   = fileOpen.GetPath();
            this.Status = fileOpen.GetStatus();
        }
Exemplo n.º 3
0
        /// <summary>
        /// Translate a <c>FileOpenResult</c> code to a string. The returned
        /// string is localized.
        /// </summary>
        /// <param name="fr"><c>FileOpenResult</c> code to be translated.</param>
        /// <returns>Localized string.</returns>
        public static string FileOpenResultToString(FileOpenResult fr)
        {
            string str;

            switch (fr.Code)
            {
            case FileOpenResultCode.Success:
                str = KPRes.Success;
                break;

            case FileOpenResultCode.FileNotFound:
                str = KPRes.FileNotFoundError;
                break;

            case FileOpenResultCode.InvalidFileStructure:
                str = KPRes.InvalidFileStructure;
                break;

            case FileOpenResultCode.InvalidFileSignature:
                str = KPRes.InvalidFileSignature;
                break;

            case FileOpenResultCode.IOError:
                str = KPRes.IOError;
                break;

            case FileOpenResultCode.NoFileAccess:
                str = KPRes.NoFileAccessRead;
                break;

            case FileOpenResultCode.UnknownEncryptionAlgorithm:
                str = KPRes.UnknownEncryptionAlgorithm;
                break;

            case FileOpenResultCode.UnknownError:
                str = KPRes.UnknownError;
                break;

            case FileOpenResultCode.UnknownFileVersion:
                str = KPRes.UnknownFileVersion;
                break;

            case FileOpenResultCode.SecurityException:
                str = KPRes.InternalSecurityException;
                break;

            case FileOpenResultCode.InvalidHeader:
                str = KPRes.InvalidHeader;
                break;

            case FileOpenResultCode.InvalidFileFormat:
                str = KPRes.InvalidFileFormat;
                break;

            default:
                str = KPRes.UnknownError;
                break;
            }

            if ((fr.Message != null) && (fr.Message.Length > 0))
            {
                str += "\r\n\r\n" + fr.Message;
            }

            return(str);
        }
Exemplo n.º 4
0
        /// <summary>
        /// Presents a file dialog box, and then opens and reads the selected hex file.
        /// If successful, the object's fields are appropriately updated.
        /// </summary>
        /// <returns></returns>
        public FileOpenResult OpenHexFile()
        {
            FileOpenResult retval = FileOpenResult.ReadCancelled;

            OpenFileDialog openFileDialog1 = new OpenFileDialog();

            openFileDialog1.InitialDirectory = "c:\\";
            openFileDialog1.Filter           = "All files (*.*)|*.*|Hex files (*.hex)|*.hex";
            openFileDialog1.ShowReadOnly     = true;
            openFileDialog1.ReadOnlyChecked  = true;
            openFileDialog1.FilterIndex      = 2;
            openFileDialog1.RestoreDirectory = true;

            if (openFileDialog1.ShowDialog() == DialogResult.OK)
            {
                InitHexImage();
                mHexImageValid = false;

                mHexFileName = openFileDialog1.FileName.ToString();

                try
                {
                    Stream HexFileStream;
                    if ((HexFileStream = openFileDialog1.OpenFile()) != null)
                    {
                        InitHexImage();
                        if (ReadHexFile(HexFileStream) == true)
                        {
                            //MessageBox.Show("Hex file read successfully!");
                            Debug.WriteLine("Hex file read successfully!");
                            //serialComm.DisplayStatus(Serial_Comm.OutputStyle.Status, "Hex file read successfully!" + Environment.NewLine);
                            mHexImageValid = true;

                            // The first byte of AppFW space has to be the lowest specified addr in the hex file
                            mAppFWstartAddr = mLowestSpecifiedAddr;

                            // Add number of signature/CRC bytes to highest specified addr to get app FW end addr
//                            mAppFWendAddr = mHighestSpecifiedAddr + (int)AppFWimageInfoBlock.sigByte3 + 1; // Add 1 because enum starts at 0
                            mAppFWendAddr = mHighestSpecifiedAddr;

                            InitHexImageInfo(ref mHexImage);

                            retval = FileOpenResult.ReadSuccess;
                        }
                        else
                        {
                            retval = FileOpenResult.ReadError;
                            //MessageBox.Show("Unknown error reading the Hex file!");
                            //serialComm.DisplayStatus(Serial_Comm.OutputStyle.Error, "Unknown error reading the Hex file!" + Environment.NewLine);
                        }
                    }
                }
                catch (Exception ex)
                {
                    //MessageBox.Show("Error: Could not read file from disk. Original error: " + ex.Message);
                    //serialComm.DisplayStatus(Serial_Comm.OutputStyle.Error, "Error: Could not read file from disk. Original error: " + ex.Message + Environment.NewLine);
                    Debug.WriteLine("Error: Could not read file from disk. Original error: " + ex.Message);
                    retval = FileOpenResult.ReadError;
                }
            }

            return(retval);
        }