public bool LoadDiskImageFromToken(CDBFileToken ftLoadImage, bool bFixed, bool bPrimary) { if (bFixed && bPrimary) { m_yaDiskImageFixed1 = ReadBinaryFromToken(ftLoadImage.FileTokenKey); return(m_yaDiskImageFixed1.Length > 0); } else if (!bFixed && bPrimary) { m_yaDiskImageRemovable1 = ReadBinaryFromToken(ftLoadImage.FileTokenKey); return(m_yaDiskImageRemovable1.Length > 0); } else if (bFixed && !bPrimary) { m_yaDiskImageFixed2 = ReadBinaryFromToken(ftLoadImage.FileTokenKey); return(m_yaDiskImageFixed2.Length > 0); } else if (!bFixed && !bPrimary) { m_yaDiskImageRemovable2 = ReadBinaryFromToken(ftLoadImage.FileTokenKey); return(m_yaDiskImageRemovable1.Length > 0); } return(false); }
public byte[] ReadBinaryFromToken(string strFileToken) { List <byte> lyDiskImage = new List <byte> (); List <string> lstrDataLines = new List <string> (); if (m_strDatabasePath.Length == 0 || !m_sdFileTokens.ContainsKey(strFileToken)) { return(lyDiskImage.ToArray()); } CDBFileToken ft = m_sdFileTokens[strFileToken]; try { if (m_odbConnection.ConnectionString.Length == 0) { m_odbConnection.ConnectionString = (string.Format("Provider=Microsoft.ACE.OLEDB.12.0;Data Source='{0}';", m_strDatabasePath)); } string strSqlCommand = string.Format("SELECT {0}.[DiskSectorPartOne], {0}.[DiskSectorPartTwo], {0}.[DiskSectorPartThree], {0}.[DiskSectorPartFour]" + "FROM {0} WHERE DiskImageName = '{1}' ORDER BY DiskRecordSequence", ft.TableName, ft.DataName); OleDbDataAdapter ordAdapter = new OleDbDataAdapter(strSqlCommand, m_odbConnection); DataSet ds = new DataSet("DiskOriginalImagesSet"); DataTable dtIPL = ds.Tables.Add("DiskOriginalImagesTable"); DataColumn dcdiDiskSectorPartOne = dtIPL.Columns.Add("DiskSectorPartOne", typeof(string)); DataColumn dcdiDiskSectorPartTwo = dtIPL.Columns.Add("DiskSectorPartTwo", typeof(string)); DataColumn dcdiDiskSectorPartThree = dtIPL.Columns.Add("DiskSectorPartThree", typeof(string)); DataColumn dcdiDiskSectorPartFour = dtIPL.Columns.Add("DiskSectorPartFour", typeof(string)); ordAdapter.Fill(dtIPL); DataTableReader dtr = dtIPL.CreateDataReader(); if (dtr.HasRows) { while (dtr.Read()) { CompressHexToByte(SafeGetString(dtr, 0), ref lyDiskImage); CompressHexToByte(SafeGetString(dtr, 1), ref lyDiskImage); CompressHexToByte(SafeGetString(dtr, 2), ref lyDiskImage); CompressHexToByte(SafeGetString(dtr, 3), ref lyDiskImage); } } } catch (Exception ex) { Console.WriteLine(ex.ToString()); return(lyDiskImage.ToArray()); } return(lyDiskImage.ToArray()); }
public List <string> ReadListFromToken(string strFileToken) { List <string> lstrDataLines = new List <string> (); if (m_strDatabasePath.Length == 0 || !m_sdFileTokens.ContainsKey(strFileToken)) { return(lstrDataLines); } CDBFileToken ft = m_sdFileTokens[strFileToken]; string strSelectName = ""; string strOrderByName = ""; string strDataName = ""; if (ft.TableName == "CardData") { strSelectName = "DataFileName"; strOrderByName = "CardSequence"; strDataName = "CardImage"; } else if (ft.TableName == "CardObjectIPL") { strSelectName = "ProgramName"; strOrderByName = "CardSequence"; strDataName = "CardImage"; } else if (ft.TableName == "CardObjectText") { strSelectName = "ProgramName"; strOrderByName = "CardSequence"; strDataName = "CardImage"; } else if (ft.TableName == "CardRPGiiSource") { strSelectName = "ProgramName"; strOrderByName = "CardSequence"; strDataName = "CardImage"; } else if (ft.TableName == "SavedScripts") { strSelectName = "ScriptName"; strOrderByName = "ScriptLineSequence"; strDataName = "ScriptLineText"; } else if (ft.TableName == "ScriptingMacros") { strSelectName = "MacroName"; strOrderByName = "MacroLineSequence"; strDataName = "MacroLineText"; } else { return(lstrDataLines); } string strSqlCommand = string.Format("SELECT {0}.[{3}] FROM {0} WHERE {1} = '{4}' Order by {2} ASC;", ft.TableName, strSelectName, strOrderByName, strDataName, ft.DataName); try { if (m_odbConnection.ConnectionString.Length == 0) { m_odbConnection.ConnectionString = (string.Format("Provider=Microsoft.ACE.OLEDB.12.0;Data Source='{0}';", m_strDatabasePath)); } OleDbDataAdapter ordAdapter = new OleDbDataAdapter(strSqlCommand, m_odbConnection); DataSet ds = new DataSet("CardObjectIPLSet"); DataTable dtIPL = ds.Tables.Add("CardObjectIPLTable"); DataColumn dciplCardImage = dtIPL.Columns.Add(strDataName, typeof(string)); ordAdapter.Fill(dtIPL); DataTableReader dtr = dtIPL.CreateDataReader(); if (dtr.HasRows) { while (dtr.Read()) { //lstrDataLines.Add (SqlInsertDecode (SafeGetString (dtr, 0))); string strNewString = SafeGetString(dtr, 0); if (strNewString.Length < 96) { strNewString += new string (' ', 96 - strNewString.Length); } lstrDataLines.Add(SqlInsertDecode(strNewString)); } } } catch (Exception ex) { Console.WriteLine(ex.ToString()); return(lstrDataLines); } return(lstrDataLines); }
public SortedDictionary <string, CDBFileToken> ReadFileTokens(string strDatabasePath = "") { SortedDictionary <string, CDBFileToken> sdFileTokens = new SortedDictionary <string, CDBFileToken> (); if (strDatabasePath.Length == 0) { if (m_strDatabasePath.Length == 0) { return(sdFileTokens); } strDatabasePath = m_strDatabasePath; } try { System.Data.OleDb.OleDbConnection odbConnection = new System.Data.OleDb.OleDbConnection (string.Format("Provider=Microsoft.ACE.OLEDB.12.0;Data Source='{0}';", strDatabasePath)); System.Data.OleDb.OleDbCommand odbCommand = new System.Data.OleDb.OleDbCommand(); string strSqlCommand = "SELECT * FROM FileTokens ORDER BY FileToken"; OleDbDataAdapter ordAdapter = new OleDbDataAdapter(strSqlCommand, odbConnection); DataSet dsFT = new DataSet("FileTokensSet"); DataTable dtFT = dsFT.Tables.Add("FileTokensTable"); DataColumn dcdiDiskSectorPartOne = dtFT.Columns.Add("FileToken", typeof(string)); DataColumn dcdiDiskSectorPartTwo = dtFT.Columns.Add("TableName", typeof(string)); DataColumn dcdiDiskSectorPartThree = dtFT.Columns.Add("DataName", typeof(string)); DataColumn dcdiDiskSectorPartFour = dtFT.Columns.Add("FilePath", typeof(string)); ordAdapter.Fill(dtFT); DataTableReader dtrFT = dtFT.CreateDataReader(); if (dtrFT.HasRows) { while (dtrFT.Read()) { //Console.WriteLine ("FileToken: " + SafeGetString (dtrFT, 0)); //Console.WriteLine ("TableName: " + SafeGetString (dtrFT, 1)); //Console.WriteLine ("DataName: " + SafeGetString (dtrFT, 2)); //Console.WriteLine ("FilePath: " + SafeGetString (dtrFT, 3)); CDBFileToken ft = new CDBFileToken(); ft.FileTokenKey = SafeGetString(dtrFT, 0); ft.TableName = SafeGetString(dtrFT, 1); ft.DataName = SafeGetString(dtrFT, 2); ft.FilePath = SafeGetString(dtrFT, 3); sdFileTokens.Add(ft.FileTokenKey, ft); //Console.WriteLine ("Count: " + sdFileTokens.Count.ToString ()); //Console.WriteLine (); } } odbConnection.Close(); } catch (Exception ex) { Console.WriteLine(ex.ToString()); return(sdFileTokens); } return(sdFileTokens); }