/// <summary> /// 读取某个变量在头部文件种的序号 /// </summary> /// <param name="datafile"></param> /// <param name="tid"></param> /// <param name="offset"></param> /// <param name="fileDuration"></param> /// <param name="blockDuration"></param> /// <param name="timetick"></param> /// <returns></returns> public static int ReadTagIndexInDataPointer(this DataFileSeriserbase datafile, int tid, long offset, out int tagCount, out int fileDuration, out int blockDuration, out int timetick, out long blockpointer, out DateTime time) { var hfile = datafile.CheckBlockHeadCach(offset, out tagCount, out fileDuration, out blockDuration, out timetick, out blockpointer, out time); if (hfile.ContainsKey(tid)) { return(hfile[tid]); } return(-1); }
/// <summary> /// 读取数据区域的数据头数据 /// </summary> /// <param name="datafile"></param> /// <param name="tid"></param> /// <param name="offset"></param> /// <param name="fileDuration"></param> /// <param name="blockDuration"></param> /// <param name="timetick"></param> /// <returns></returns> public static List <long> ReadTargetBlockAddress(this DataFileSeriserbase datafile, List <int> tid, long offset, out int tagCount, out int fileDuration, out int blockDuration, out int timetick, out long blockpointer, out DateTime time) { var hfile = datafile.CheckBlockHeadCach(offset, out tagCount, out fileDuration, out blockDuration, out timetick, out blockpointer, out time); List <long> re = new List <long>(); foreach (var vv in tid) { if (hfile.ContainsKey(vv)) { re.Add(hfile[vv]); } else { re.Add(-1); } } return(re); }