/// <summary> /// get project pages (from pages.dbf) /// </summary> /// <param name="path"></param> public void GetProjectPages(string path, bool retrievePageANs = true) { using (var dbfTable = new DbfTable(path, System.Text.Encoding.UTF8)) { var skipDeleted = true; var dbfRecord = new DbfRecord(dbfTable); while (dbfTable.Read(dbfRecord)) { if (skipDeleted && dbfRecord.IsDeleted) { continue; } CitectPages.Add(new CitectPages { PageName = dbfRecord.Values[0].ToString(), ObjectANs = new List <int>() }); } } var subdir = path.Substring(0, path.LastIndexOf('\\')); if (retrievePageANs) { GetPageAns(subdir + @"\pgdynobj.dbf"); } }
private KartSs ParseKartSsRecord(DbfRecord record) { return(new ( record.GetString("COD_SS"), record.GetString("СЕЛЬСОВЕТ"))); }
private ASVIDYST ParseASVIDYSTRecord(DbfRecord record) { return(new ( record.GetString("COD_SS"), record.GetString("MESTO"))); }
public static void Init(string path_root) { PathDirectory = path_root + @"DBF\"; if (!Directory.Exists(PathDirectory)) { Directory.CreateDirectory(PathDirectory); } var afs = Directory.GetFiles(PathDirectory, "*.dbf"); if (afs.Length > 0) { for (int k = 0; k < afs.Length; k++) { string fi = afs[k]; var odbf = new DbfFile(Encoding.GetEncoding(1252)); odbf.Open(fi, FileMode.Open); //State_vars1.dbf county_vars1.dbf //read and print records to screen... var orec = new DbfRecord(odbf.Header); for (int i = 0; i < odbf.Header.RecordCount; i++) { if (!odbf.Read(i, orec)) { break; } //osw.WriteLine("index: " + orec.RecordIndex + ": " + orec); string ji = orec.ToJson(); } } } }
private KartSt ParseKartStRecord(DbfRecord record) { return(new ( record.GetString("COD_ST"), record.GetString("STREET"))); }
public static DbfRecord ConvertFromProtobuf(ScenarioDbRecord protoScenario) { if (protoScenario == null) { return(null); } DbfRecord record = new DbfRecord(); AddDbfField(record, "ID", protoScenario.Id); AddDbfField(record, "NOTE_DESC", protoScenario.NoteDesc); AddDbfField(record, "PLAYERS", protoScenario.NumPlayers); AddDbfField(record, "PLAYER1_HERO_CARD_ID", (int)protoScenario.Player1HeroCardId); AddDbfField(record, "PLAYER2_HERO_CARD_ID", (int)protoScenario.Player2HeroCardId); AddDbfField(record, "IS_EXPERT", protoScenario.IsExpert); AddDbfField(record, "IS_COOP", !protoScenario.HasIsCoop ? ((object)0) : ((object)protoScenario.IsCoop)); AddDbfField(record, "ADVENTURE_ID", protoScenario.AdventureId); AddDbfField(record, "MODE_ID", !protoScenario.HasAdventureModeId ? null : ((object)protoScenario.AdventureModeId)); AddDbfField(record, "WING_ID", protoScenario.WingId); AddDbfField(record, "SORT_ORDER", protoScenario.SortOrder); AddDbfField(record, "CLIENT_PLAYER2_HERO_CARD_ID", !protoScenario.HasClientPlayer2HeroCardId ? null : ((object)((int)protoScenario.ClientPlayer2HeroCardId))); AddDbfField(record, "TB_TEXTURE", protoScenario.TavernBrawlTexture); AddDbfField(record, "TB_TEXTURE_PHONE", protoScenario.TavernBrawlTexturePhone); AddDbfField(record, "TB_TEXTURE_PHONE_OFFSET_Y", !protoScenario.HasTavernBrawlTexturePhoneOffset ? null : ((object)protoScenario.TavernBrawlTexturePhoneOffset.Y)); AddLocStrings(record, protoScenario.Strings); return(record); }
protected override void OnDataSet(bool updateVisuals) { if (updateVisuals) { this.m_BoosterPackBone.gameObject.SetActive(false); BoosterPackRewardData data = base.Data as BoosterPackRewardData; string headline = string.Empty; string details = string.Empty; string source = string.Empty; if (base.Data.Origin == NetCache.ProfileNotice.NoticeOrigin.OUT_OF_BAND_LICENSE) { headline = GameStrings.Get("GLOBAL_REWARD_BOOSTER_HEADLINE_OUT_OF_BAND"); object[] args = new object[] { data.Count }; source = GameStrings.Format("GLOBAL_REWARD_BOOSTER_DETAILS_OUT_OF_BAND", args); } else if (data.Count <= 1) { string key = "GLOBAL_REWARD_BOOSTER_HEADLINE_GENERIC"; headline = GameStrings.Get(key); } else { object[] objArray2 = new object[] { data.Count }; headline = GameStrings.Format("GLOBAL_REWARD_BOOSTER_HEADLINE_MULTIPLE", objArray2); } base.SetRewardText(headline, details, source); DbfRecord record = GameDbf.Booster.GetRecord(data.Id); if (record != null) { base.SetReady(false); string assetName = record.GetAssetName("PACK_OPENING_PREFAB"); AssetLoader.Get().LoadActor(assetName, new AssetLoader.GameObjectCallback(this.OnUnopenedPackPrefabLoaded), null, false); } } }
/// <summary> /// получение полезного отпуска (FORMAB71) /// </summary> /// <returns></returns> private ElectricitySupply ParseElectricitySupplyRecord(DbfRecord record) { ElectricitySupply electricitySupply = new(); if (record != null) { int currYear = DateTime.Now.Year; DateOnly period = ConvertToDateOnly(record.GetValue <DateTime>("DATE_N")); if (period.Year == currYear || period.Year == currYear - 1) { try { electricitySupply.ДатаОплаты = ConvertToDateOnly(record.GetValue <DateTime>("DATE_OPL")); electricitySupply.ОплаченныеПоказания = record.GetValue <int>("DATA_OPL"); electricitySupply.Период = period.AddMonths(-1); // оплата на месяц позже electricitySupply.Лицевой = ConvertToULong(record.GetString("LIC_SCH")); electricitySupply.Полезный_отпуск = record.GetValue <int>("POLOT"); electricitySupply.Задолженность = record.GetValue <int>("KVT_ZADOL"); electricitySupply.Тип_населённого_пункта = record.GetString("TIP"); } catch (Exception ex) { logger?.Error($">>> TMP.WORK.AramisChetchiki.Repository>GetSelectedDepartamentData->electricitySupplyTable\n>>>: {TMPApp.GetExceptionDetails(ex)}"); } /* * System.Data.DataRow[] abonents = electricitySupplyRow.GetChildRows("ПО_абонент"); * * if (abonents != null && abonents.Length != 0) * { * DataRow abonent = abonents[0]; * electricitySupply.Населённый_пункт = _getChildRelationValue(abonent, "населенный_пункт", "TOWN"); * electricitySupply.Адрес = string.Join(", ", new string[] * { * _getChildRelationValue(abonent, "улицы", "STREET"), * _getString(abonent["HOME"]), * _getString(abonent["KV"]) * }); * * var fider10Rows = abonent.GetChildRows("фидер10"); * if (fider10Rows.Length > 0) * { * var fider10 = fider10Rows[0]; * s = _getString(fider10["ФИДЕР"]); * electricitySupply.Фидер10 = String.IsNullOrWhiteSpace(s) ? String.Empty : _getString(fider10["НАИМЕНОВ"]) + "-" + s; * electricitySupply.Подстанция = _getChildRelationValue(fider10, "подстанция", "НАИМЕНОВ"); * } * electricitySupply.ТП = _getChildRelationValue(abonent, "тп", "НАИМЕНОВ"); * electricitySupply.Фидер04 = _getString(abonent["ФИДЕР"]); * } * */ } } else { } return(electricitySupply); }
private ASKONTR ParseASKONTRRecord(DbfRecord record) { return(new ( record.GetString("КОД_КОН"), record.GetString("ФАМИЛИЯ"))); }
public void WriteGB2312() { var dbf = new Dbf(encoding); fields.ForEach(x => dbf.Fields.Add(x)); DbfRecord record = dbf.CreateRecord(); foreach (var field in fields) { object item = null; try { item = data[field.Name]; } catch (Exception) { // ignored } record.Data[fields.IndexOf(field)] = item; } // Act. dbf.Write("test.dbf", DbfVersion.FoxBaseDBase3NoMemo); // Assert. var dbfTest = new Dbf(encoding); dbfTest.Read("test.dbf"); var rowStd = dbfTest.Records[0]; Assert.AreEqual(rowStd["中文字段"], "股票代码"); Assert.AreEqual(rowStd["中文字段2"], "股票代码股"); //should be truncated to 10 bytes }
public bool ShowABanner(DelOnCloseBanner callback = null) { int displayBannerId = this.GetDisplayBannerId(); if (this.m_seenBanners.Contains(displayBannerId)) { return(false); } if (displayBannerId == 0) { return(false); } DbfRecord record = GameDbf.Banner.GetRecord(displayBannerId); string assetPath = (record != null) ? record.GetAssetName("PREFAB") : null; if ((record == null) || (assetPath == null)) { Debug.LogWarning(string.Format("No banner defined for bannerID={0}", displayBannerId)); return(false); } BannerPopup popup = GameUtils.LoadGameObjectWithComponent <BannerPopup>(assetPath); if (popup == null) { return(false); } this.AcknowledgeBanner(displayBannerId); popup.Show(record.GetLocString("TEXT"), callback); return(true); }
public List <DbfRecord> GetRecords(IEnumerable <int> ids) { if (ids == null) { return(null); } List <DbfRecord> list = new List <DbfRecord>(); for (int i = 0; i < this.m_records.Count; i++) { DbfRecord item = this.m_records[i]; IEnumerator <int> enumerator = ids.GetEnumerator(); try { while (enumerator.MoveNext()) { if (enumerator.Current == item.GetId()) { list.Add(item); continue; } } } finally { if (enumerator == null) { } enumerator.Dispose(); } } return(list); }
/// <summary> /// find reference of function name in dbf /// </summary> /// <param name="path"></param> /// <param name="functionName"></param> /// <returns></returns> private static int FunctionRefExistsInDBF(string path, string functionName) { var skipDeleted = true; //DbfDataReader.DbfDataReader reader = new DbfDataReader.DbfDataReader(kvp.Key); using (var dbfTable = new DbfTable(path, System.Text.Encoding.UTF8)) { try { var dbfRecord = new DbfRecord(dbfTable); var found = 0; while (dbfTable.Read(dbfRecord)) { if (skipDeleted && dbfRecord.IsDeleted) { continue; } if (dbfRecord.Values.Any(s => s.GetValue().ToString().Contains(functionName))) { found++; break; } } return(found); } catch (Exception ex) { log.Error("error:", ex); return(0); } } }
public void IsDataCorrect() { DbfFile dbfFile = new DbfFile(encoding); dbfFile.Open(dbfFileName, FileMode.Open); DbfRecord orec = new DbfRecord(dbfFile.Header); Assert.IsTrue(dbfFile.ReadNext(orec)); Assert.AreEqual(DbfColumn.DbfColumnType.Character, orec.Column(0).ColumnType); Assert.AreEqual(DbfColumn.DbfColumnType.Number, orec.Column(1).ColumnType); Assert.AreEqual(DbfColumn.DbfColumnType.Date, orec.Column(2).ColumnType); // DBF возвращает строки такой длины, какая указана в хедерах при создании string fio = "Ivanov Ivan Ivanovich"; Assert.AreEqual(fio + new String(' ', 40 - fio.Length), orec[0]); string num = "12.3456"; Assert.AreEqual(new String(' ', 10 - num.Length) + num, orec[1]); Assert.AreEqual("20011122", orec[2]); }
public DbfRecord GetCardRecord(string cardId) { DbfRecord record = null; this.m_cardsByCardId.TryGetValue(cardId, out record); return(record); }
private KartKat ParseKartKatRecord(DbfRecord record) { return(new ( record.GetString("COD_KAT"), record.GetString("KATEGAB"))); }
private List <fakeDB> GetFakeDBs() { var fakeDBs = new List <fakeDB>(); var dbfPath = "../../SvgFile/Seoul.dbf"; List <int> list = new List <int>(); for (i = 0; i < 500; i++) { list.Add(i); } using (var dbf = new DbfTable(dbfPath, DbfDataReader.EncodingProvider.UTF8)) { var dbfRecord = new DbfRecord(dbf); i = 0; while (dbf.Read(dbfRecord))//480번 반복 { fakeDB fakeDB = new fakeDB(); fakeDB.emd_cd = int.Parse(dbfRecord.Values[0].ToString()); fakeDB.eng = dbfRecord.Values[1].ToString(); fakeDB.val1 = int.Parse(dbfRecord.Values[3].ToString()); //fakeDB.val1 = list[i++]; fakeDB.val2 = int.Parse(dbfRecord.Values[4].ToString()); fakeDB.val3 = int.Parse(dbfRecord.Values[5].ToString()); fakeDBs.Add(fakeDB); } } return(fakeDBs); }
private KartIsp ParseKartIspRecord(DbfRecord record) { return(new ( record.GetString("COD_ISP"), record.GetString("ISPIEM"))); }
public bool CanOpenPack() { SpecialEventType type; NetCache.BoosterStack boosterStack = this.GetBoosterStack(); if (boosterStack == null) { return(false); } DbfRecord record = GameDbf.Booster.GetRecord(boosterStack.Id); if (record == null) { return(false); } string val = string.Empty; if (!record.TryGetString("OPEN_PACK_EVENT", out val)) { return(false); } if (!EnumUtils.TryGetEnum <SpecialEventType>(val, out type)) { return(false); } return((type == SpecialEventType.IGNORE) || SpecialEventManager.Get().IsEventActive(type, false)); }
private KartTpr ParseKartTprRecord(DbfRecord record) { return(new ( record.GetString("COD_TPR"), record.GetString("TPRIEM"))); }
public ShapefileDataReader(string path, IGeometryFactory geometryFactory = null, GeometryTransform transform = null) : base(path, geometryFactory, transform) { _dbf = DbfFile.Open(Path.ChangeExtension(path, ".dbf")); _currentRecord = new DbfRecord(_dbf.Header); }
public DbfRecord GetCardRecord(int dbId) { DbfRecord record = null; this.m_cardsByDbId.TryGetValue(dbId, out record); return(record); }
private static void PrintCsv(Options options) { var encoding = GetEncoding(); using (var dbfTable = new DbfTable(options.Filename, encoding)) { var columnNames = string.Join(",", dbfTable.Columns.Select(c => c.ColumnName)); if (!options.SkipDeleted) { columnNames += ",Deleted"; } Console.WriteLine(columnNames); var dbfRecord = new DbfRecord(dbfTable); while (dbfTable.Read(dbfRecord)) { if (options.SkipDeleted && dbfRecord.IsDeleted) { continue; } var values = string.Join(",", dbfRecord.Values.Select(v => EscapeValue(v))); if (!options.SkipDeleted) { values += $",{dbfRecord.IsDeleted}"; } Console.WriteLine(values); } } }
protected void ValidateRowValues(string path) { var dbfRecord = new DbfRecord(DbfTable); using (var textReader = File.OpenText(path)) using (var csvParser = new CsvParser(textReader, CultureInfo.InvariantCulture)) { csvParser.Read(); var row = 1; while (DbfTable.Read(dbfRecord)) { csvParser.Read(); var index = 0; foreach (var dbfValue in dbfRecord.Values) { var value = dbfValue.ToString(); var csvValue = csvParser[index]; value.ShouldBe(csvValue, $"Row: {row}, column: {index} ({DbfTable.Columns[index].ColumnName})", StringCompareShould.IgnoreLineEndings); index++; } row++; } } }
/// <summary> /// open pgdynobject.dbf to get ANs /// </summary> /// <param name="path"></param> private void GetPageAns(string path) { using (var dbfTable = new DbfTable(path, System.Text.Encoding.UTF8)) { var skipDeleted = true; var dbfRecord = new DbfRecord(dbfTable); var cols = dbfTable.Columns.ToList(); var ANColIdx = 0; if (cols.FirstOrDefault(s => s.Name.Contains("AN")) != null) { ANColIdx = cols.FirstOrDefault(s => s.Name.Contains("AN")).Index; } while (dbfTable.Read(dbfRecord)) { if (skipDeleted && dbfRecord.IsDeleted) { continue; } //get citectpage object from list var citectPage = CitectPages.Find(s => s.PageName.Equals(dbfRecord.GetValue(0).ToString())); citectPage.ObjectANs.Add(int.Parse(dbfRecord.GetValue(ANColIdx).ToString())); } } }
protected void ValidateRowValues(string path) { var dbfRecord = new DbfRecord(DbfTable); using (var textReader = File.OpenText(path)) using (var csvParser = new CsvParser(textReader)) { csvParser.Read(); var row = 1; while (DbfTable.Read(dbfRecord)) { var csvValues = csvParser.Read(); var index = 0; foreach (var dbfValue in dbfRecord.Values) { var value = dbfValue.ToString(); var csvValue = csvValues[index++]; value.ShouldBe(csvValue, $"Row: {row}, column: {index}"); } row++; } } }
private static void TestReadHttpConn() { //Open a web file... //------------------------------------- var oWebDBF = new DbfFile(Encoding.GetEncoding(1252)); var oWebFile = new WebClient(); oWebDBF.Open(oWebFile.OpenRead("http://private.socialexplorer.com/State_vars1.dbf")); //read and print records to screen... var orecWeb = new DbfRecord(oWebDBF.Header); var ofs2 = new FileStream(Path.Combine(TestPath, "Webfile.txt"), FileMode.Create); var osw2 = new StreamWriter(ofs2); bool bIsForwardOnly = oWebDBF.IsForwardOnly; bool bIsReadOnly = oWebDBF.IsReadOnly; while (oWebDBF.ReadNext(orecWeb)) { osw2.WriteLine("index: " + orecWeb.RecordIndex + ": " + orecWeb); } osw2.Flush(); osw2.Close(); oWebDBF.Close(); }
private void Start() { DbfRecord record = GameDbf.Scenario.GetRecord(this.m_missionId); if (record == null) { object[] messageArgs = new object[] { this.m_missionId }; Error.AddDevWarning("Error", "scenario {0} does not exist in the DBF", messageArgs); } else { if (this.m_name != null) { this.m_name.Text = record.GetLocString("SHORT_NAME"); } int @int = record.GetInt("CLIENT_PLAYER2_HERO_CARD_ID"); if (@int == 0) { @int = record.GetInt("PLAYER2_HERO_CARD_ID"); } string cardId = GameUtils.TranslateDbIdToCardId(@int); if (cardId != null) { DefLoader.Get().LoadCardDef(cardId, new DefLoader.LoadDefCallback <CardDef>(this.OnCardDefLoaded), null, null); } } }
private string GetGameTypeName(GameType gameType, int missionId) { DbfRecord adventureRecord = GameUtils.GetAdventureRecord(missionId); if (adventureRecord == null) { string str; if (this.m_gameTypeNameKeys.TryGetValue(gameType, out str)) { return(GameStrings.Get(str)); } object[] messageArgs = new object[] { missionId, gameType }; Error.AddDevFatal("ReconnectMgr.GetGameTypeName() - no name for mission {0} gameType {1}", messageArgs); return(string.Empty); } switch (adventureRecord.GetInt("ID")) { case 1: return(GameStrings.Get("GLUE_RECONNECT_GAME_TYPE_TUTORIAL")); case 2: return(GameStrings.Get("GLUE_RECONNECT_GAME_TYPE_PRACTICE")); case 3: return(GameStrings.Get("GLUE_RECONNECT_GAME_TYPE_NAXXRAMAS")); case 4: return(GameStrings.Get("GLUE_RECONNECT_GAME_TYPE_BRM")); case 7: return(GameStrings.Get("GLUE_RECONNECT_GAME_TYPE_TAVERN_BRAWL")); } return(adventureRecord.GetLocString("NAME")); }
private static void DbfTestWrite(string filepath) { //编码Encoding.UTF8 中文字符占三字节 Encoding.GetEncoding(936) Encoding.Default中文字符占二字节 var odbf = new DbfFile(Encoding.GetEncoding(936)); odbf.Open(filepath, FileMode.Create);//FileMode.Create OpenOrCreate //创建列头 //odbf.Header.AddColumn(new DbfColumn("编号", DbfColumn.DbfColumnType.Character, 20, 0)); //odbf.Header.AddColumn(new DbfColumn("名称", DbfColumn.DbfColumnType.Character, 20, 0)); //odbf.Header.AddColumn(new DbfColumn("地址", DbfColumn.DbfColumnType.Character, 20, 0)); //odbf.Header.AddColumn(new DbfColumn("时间", DbfColumn.DbfColumnType.Date)); //odbf.Header.AddColumn(new DbfColumn("余额", DbfColumn.DbfColumnType.Number, 15, 3)); //var orec = new DbfRecord(odbf.Header) { AllowDecimalTruncate = true }; //List<User> list = User.GetList(); ////foreach (var item in list) ////{ //User item=list[0]; // orec[0] = item.UserCode; // orec[1] = item.UserName; // orec[2] = item.Address; // orec[3] = item.date.ToString("yyyy-MM-dd HH:mm:ss"); // orec[4] = item.money.ToString(); // odbf.Write(orec, true); ////} //写入边界 //odbf.Header.AddColumn(new DbfColumn("id", DbfColumn.DbfColumnType.Number, 19, 0)); //var orec = new DbfRecord(odbf.Header) { AllowDecimalTruncate = true }; //orec[0] = 1.ToString(); //odbf.Write(orec, true); //写入图斑 odbf.Header.AddColumn(new DbfColumn("图斑编码", DbfColumn.DbfColumnType.Character, 80, 0)); odbf.Header.AddColumn(new DbfColumn("措施代码", DbfColumn.DbfColumnType.Character, 80, 0)); odbf.Header.AddColumn(new DbfColumn("措施名称", DbfColumn.DbfColumnType.Character, 80, 0)); odbf.Header.AddColumn(new DbfColumn("利用现状", DbfColumn.DbfColumnType.Character, 80, 0)); odbf.Header.AddColumn(new DbfColumn("措施数量", DbfColumn.DbfColumnType.Number, 18, 15)); odbf.Header.AddColumn(new DbfColumn("坡度", DbfColumn.DbfColumnType.Number, 18, 15)); var orec = new DbfRecord(odbf.Header) { AllowDecimalTruncate = true }; List <MapPolygon> list = MapPolygon.GetList(); foreach (var item in list) { //MapPolygon item = list[0]; orec[0] = item.Code;//顺序要与header顺序保持一致 orec[1] = item.Mark; orec[2] = item.Name; orec[3] = item.State; orec[4] = item.Number.ToString(); orec[5] = item.Slope.ToString(); odbf.Write(orec, true); } odbf.Close(); }