Exemplo n.º 1
0
        private void bgWork_Acqui_DoWork()
        {
            if (mECU.AcquiItems() > 0)
            {
                //nachfragen ob daten erneut laden, oder gelesene daten erneut speichern
                mECU.AcquiDeleteItems();
            }
            byte BlockAnzahl = mECU.Acqui();

            for (byte i = 0; i < BlockAnzahl; i++)
            {
                tellStatus(String.Format("Auslesen Akquisition {0}/{1}", i, BlockAnzahl));
                mECU.AcquiStep(i);
                tellProgress(((i + 1) * 100) / BlockAnzahl);
                if (mECU.LastReturnValue == HJS.ReturnValue.TimeOut)
                {
                    // Break for loop
                    i = BlockAnzahl;
                }
            }
            if (mECU.LastReturnValue == HJS.ReturnValue.TimeOut)
            {
                tellStatus("Akquisition nicht gespeichert! Verbindung unterbrochen!");
            }
            else
            {
                // speichern
                switch (mFileExtensionIndex)
                {
                case 2:    /*csv*/
                    mECU.AcquiCsvExport(mAcquiFileName);
                    tellStatus("Akquisition (CSV) gespeichert.");
                    break;

                case 1:    /*xml*/
                    try
                    {
                        mECU.AcquiXmlExport(mAcquiFileName);
                        tellStatus("Akquisition (XML) gespeichert.");
                    }
                    catch (Exception ex)
                    {
                        Console.WriteLine("Exception during opening XML file: {0}", ex.Message);
                        tellStatus("Akquisition (XML) konnte nicht gespeichert werden!");
                    }
                    break;

                case 0:
                default:
                    //
                    tellStatus("Akquisition nicht gespeichert! Unbekannter Dateityp!");
                    break;
                }
            }
        }