public string GetText(DpkWordItem word) { List <bool> fieldVal = new List <bool>(); List <bool> dataVal = Service.ConvertFromInt(word.DATA, 24); for (int i = FirstBit - 9; i < (CountBits + FirstBit - 9); i++) { fieldVal.Add(dataVal[i]); } // string res = ""; foreach (List <bool> key in ListEnum.Keys) { bool flag = true; int numBit = 0; foreach (bool item in key) { if (item) { if (!item.Equals(fieldVal[numBit])) { flag = false; break; } } numBit++; } if (flag) { res += ListEnum[key] + ", "; } } return(res); }
static void Main(string[] args) { Console.WriteLine(string.Format("Программа генерации DpkLog-файла версии {0}.{1}", Version, Revision)); DpkDataBuf dpkLogFile = new DpkDataBuf(); List <object> dpkWords = new List <object>(); Random ramdomizer = new Random(); Console.WriteLine("Введите кол-во слов ДПК в файле и нажмите клавишу 'Enter':"); int countWords = 10000; if (!int.TryParse(Console.ReadLine(), out countWords)) { countWords = 10000; } TimeSpan time = TimeSpan.Zero; for (int i = 0; i < countWords; i++) { DpkWordItem word = new DpkWordItem(); word.IsGood = true; word.Flags = 0; word.ADR = 1; word.DATA = ramdomizer.Next(0, 0xFFFF); word.Time = time; time = time.Add(new TimeSpan(0, 0, 0, 0, ramdomizer.Next(10, 30))); dpkWords.Add(word); } dpkLogFile.PutData(dpkWords); Console.WriteLine("Введите имя DpkLog-файла и нажмите клавишу 'Enter':"); string fileName = Console.ReadLine(); dpkLogFile.SaveToFile(fileName + ".dpklog"); }
public string GetText(int numWord, DpkWordItem word) { return(string.Format("№ {0} Время: {1} Адрес[1-8]: {2} Данные[9-32]: {3}", new object[] { numWord, string.Format("{0}:{1}:{2}:{3}", word.Time.Hours.ToString().PadLeft(2, '0'), word.Time.Minutes.ToString().PadLeft(2, '0'), word.Time.Seconds.ToString().PadLeft(2, '0'), word.Time.Milliseconds.ToString().PadLeft(3, '0')), Service.ConvertFrom(Service.ConvertFromInt(word.ADR, 8)), Service.ConvertFrom(Service.ConvertFromInt(word.DATA, 24)) })); }
public string GetText(DpkWordItem word) { List <bool> fieldVal = new List <bool>(); List <bool> dataVal = Service.ConvertFromInt(word.DATA, 24); for (int i = FirstBit - 9; i < (CountBits + FirstBit - 9); i++) { fieldVal.Add(dataVal[i]); } return(string.Format("{0} {1}", NameField, Service.ConvertFrom(fieldVal))); }
//Функция построения строки со словом ДПК в списке DataListTemplate SourceDataElementConvert(object item, int indexItem) { DpkWordItem dkpWord = (DpkWordItem)item; DataListTemplate data_l = new DataListTemplate(); TimeSpan timeItem = dkpWord.Time; string adr_str = Convert.ToString(dkpWord.ADR, 2).PadLeft(8, '0'); string adr = ""; for (int i = 0; i < 8; i++) { adr = adr_str[i] + adr; } string data_str = Convert.ToString(dkpWord.DATA, 2).PadLeft(24, '0'); string data = ""; for (int i = 0; i < 24; i++) { data = data_str[i] + data; } data_l.ListColumnText = new List <string>() { indexItem.ToString(), string.Format("{0}:{1}:{2}:{3}", timeItem.Hours.ToString().PadLeft(2, '0'), timeItem.Minutes.ToString().PadLeft(2, '0'), timeItem.Seconds.ToString().PadLeft(2, '0'), timeItem.Milliseconds.ToString().PadLeft(3, '0')), adr, data }; if ((indexItem % 2) == 0) { data_l.ViewT = ViewMessage_1; } else { data_l.ViewT = ViewMessage_2; } if ((dkpWord.Flags & 0x1).Equals(0x1)) { data_l.ViewT = ViewSynchroImpulse; } if ((dkpWord.Flags & 0x2).Equals(0x2)) { data_l.ViewT = ViewError; } if ((dkpWord.Flags & 0x4).Equals(0x4)) { data_l.ViewT = ViewOver; } return(data_l); }
public string GetText(DpkWordItem word) { List <bool> fieldVal = new List <bool>(); List <bool> dataVal = Service.ConvertFromInt(word.DATA, 24); for (int i = FirstBit - 9; i < (CountBits + FirstBit - 9); i++) { fieldVal.Add(dataVal[i]); } string res = string.Format("{0} {1}", NameField, Service.ConvertFrom(fieldVal)); foreach (List <bool> key in Values.Keys) { if (Service.IsEqual(fieldVal, key)) { res += " - " + Values[key]; break; } } return(res); }
public void SetDpkWord(DpkWordItem word) { binView_Address.SetValues(Service.ConvertFromInt(word.ADR, 8)); binView_Data.SetValues(Service.ConvertFromInt(word.DATA, 24)); }