/* * Loads the selected database * returns true if OK. */ private bool LoadDB(string filename) { Kvadblib.Hnd hnd = new Kvadblib.Hnd(); Kvadblib.Status status; Kvadblib.Open(out hnd); status = Kvadblib.ReadFile(hnd, filename); if (status == Kvadblib.Status.OK) { dh = hnd; } return(status == Kvadblib.Status.OK); }
public Form1() { InitializeComponent(); Kvadblib.Status dbstatus; //Load database dbhandle = new Kvadblib.Hnd(); dbstatus = Kvadblib.Open(out dbhandle); dbstatus = Kvadblib.ReadFile(dbhandle, DBCPath); idBox.Text = "318"; DLCBox.Text = "8"; dataBox0.Text = "02"; flagsBox.Text = "0"; //Sets up a BackgroundWorker and adds delegates to //the DumpMessageLoop and ProcessMessage methods dumper = new BackgroundWorker(); dumper.DoWork += DumpMessageLoop; dumper.WorkerReportsProgress = true; dumper.ProgressChanged += new ProgressChangedEventHandler(ProcessMessage); }
static int Main(string[] args) { // Dummy initializations to make the compiler happy. var dh = new Kvadblib.Hnd(); var mh = new Kvadblib.MessageHnd(); var sh = new Kvadblib.SignalHnd(); var nh = new Kvadblib.NodeHnd(); bool verbose = false; char last = '\0'; int ival; double fval; byte[] data = new byte[8]; DisplayError(Kvadblib.Open(out dh), "Open"); for(int n = 0; n < args.Length; n++) { if (verbose) { Console.WriteLine("{0}: {1}", n, args[n]); } if (args[n][0] == '-') { if ((n == 0) && (args[n][1] != 'v')) { DisplayError(Kvadblib.Status.Err_Param, "Argument fetch"); } switch (args[n][1]) { // File operations case 'f': DisplayError(Kvadblib.ReadFile(dh, args[n - 1]), "ReadFile"); break; case 'w': DisplayError(Kvadblib.WriteFile(dh, args[n - 1]), "WriteFile"); break; case 'c': DisplayError(Kvadblib.Create(dh, args[n - 1], ""), "Create"); createDatabase(dh); break; // Locate item case 'm': DisplayError(Kvadblib.GetMsgByName(dh, args[n - 1], out mh), "GetMsgByName"); break; case 'i': DisplayError(Kvadblib.GetMsgById(dh, int.Parse(args[n - 1]), out mh), "GetMsgById"); break; case 's': DisplayError(Kvadblib.GetSignalByName(mh, args[n - 1], out sh), "GetSignalByName"); break; case 'N': case 'n': DisplayError(Kvadblib.GetNodeByName(dh, args[n - 1], out nh), "GetNodeByName"); break; case 'a': DisplayError(Kvadblib.GetNodeAttributeIntByName(nh, args[n - 1], out ival), "GetNodeAttributeIntByName"); Console.WriteLine("Node attribute: {1}", ival); break; // Message data case 'z': for (int i = 0; i < data.Length; i++) { data[i] = 0; } break; case 'h': if (((args[n - 1].Length % 2) == 1) || (args[n - 1].Length > 16)) { DisplayError(Kvadblib.Status.Err_Param, "Hex input"); } for(int i = 0; i < args[n - 1].Length; i += 2) { data[i / 2] = (byte)Convert.ToInt32(args[n - 1].Substring(i, 2), 16); } break; // Signal data case 'P': DisplayError(Kvadblib.GetSignalValueFloat(sh, out fval, data, 8), "GetSignalValueFloat"); Console.WriteLine("Physical: {0}", fval); break; case 'R': DisplayError(Kvadblib.GetSignalValueInteger(sh, out ival, data, 8), "GetSignalValueInteger"); Console.WriteLine("Raw: {0}", ival); break; case 'p': if (!double.TryParse(args[n - 1], out fval)) { DisplayError(Kvadblib.Status.Err_Param, "double.TryParse"); } DisplayError(Kvadblib.StoreSignalValuePhys(sh, data, 8, fval), "StoreSignalValuePhys"); break; case 'r': if (!int.TryParse(args[n - 1], out ival)) { DisplayError(Kvadblib.Status.Err_Param, "int.TryParse"); } DisplayError(Kvadblib.StoreSignalValueRaw(sh, data, 8, ival), "StoreSignalValueRaw"); break; // Delete case 'd': switch (last) { case 'm': DisplayError(Kvadblib.DeleteMsg(dh, mh), "DeleteMsg"); break; case 's': DisplayError(Kvadblib.DeleteSignal(mh, sh), "DeleteSignal"); break; case 'n': DisplayError(Kvadblib.DeleteNode(dh, nh), "DeleteNode"); break; case 'N': DisplayError(Kvadblib.RemoveReceiveNodeFromSignal(sh, nh), "RemoveReceiveNodeFromSignal"); break; default: DisplayError(Kvadblib.Status.Err_Param, args[n]); break; } break; // View case 'v': switch (last) { case 'f': case 'c': dumpDatabase(dh); break; case 'm': dumpMessage(mh); break; case 's': dumpSignal(sh); break; case 'n': dumpNode(nh); break; case 'h': case 'p': case 'r': dumpData(data); break; case '\0': verbose = true; break; default: DisplayError(Kvadblib.Status.Err_Param, args[n]); break; } break; default: DisplayError(Kvadblib.Status.Err_Param, args[n]); break; } last = args[n][1]; } } DisplayError(Kvadblib.Close(dh), "Close"); return 0; }