Ik ben bezig met de code van een bestaand elektronica project te veranderen.
Het gaat om een soort van mini-scope
Helaas is het ding te traag om zelfs te gebruiken op audio gebied, vandaar dat ik er een spannigslogger me wou maken.
De waardes worden door de µC verzonden over USB, en een C# progje dumpt ze in een XML bestand.
De µC werkt, en de communicatie ook, alleen lukt het genereren van men XML bestand niet echt geweldig.
De bedoeling is dat je de logsnelheid kan instellen, en dat op elke 'timer tick' (nui nog ff met een simpel knopje) de waarde naar het XML bestand worden geschreven.
De XML code genereren lukt, maar ik wil bvb data wegschrijven, bestand opslaan, 5min later terug openen, bijschrijven, opslaan, 5min...
Helaas ben ik er nog niet uit hoe ik het terug kan openen om data bij te schrijven.
Voor ze te lezen vind je info genoeg.
Dit is mijn code tot nu toe: (mijn kennis over C# is nihil, ik heb alles op google opgezocht)
het zou dit soort code moeten genereren:
waarom een xml bestand? Het lijkt mij het simpelste, en als ik het goed heb kan je dankzij een deftige css sheet (aloewel het niet persee hoeft) het ook openen in een internet browser waar het mooi en overzichtelijk word weergegeven.
Het gaat om een soort van mini-scope
Helaas is het ding te traag om zelfs te gebruiken op audio gebied, vandaar dat ik er een spannigslogger me wou maken.
De waardes worden door de µC verzonden over USB, en een C# progje dumpt ze in een XML bestand.
De µC werkt, en de communicatie ook, alleen lukt het genereren van men XML bestand niet echt geweldig.
De bedoeling is dat je de logsnelheid kan instellen, en dat op elke 'timer tick' (nui nog ff met een simpel knopje) de waarde naar het XML bestand worden geschreven.
De XML code genereren lukt, maar ik wil bvb data wegschrijven, bestand opslaan, 5min later terug openen, bijschrijven, opslaan, 5min...
Helaas ben ik er nog niet uit hoe ik het terug kan openen om data bij te schrijven.
Voor ze te lezen vind je info genoeg.
Dit is mijn code tot nu toe: (mijn kennis over C# is nihil, ik heb alles op google opgezocht)
C#:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
| using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Xml; using System.Data.SqlClient; namespace WindowsFormsApplication1 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } string thetime = DateTime.Now.Hour + "-" + DateTime.Now.Minute + "-" + DateTime.Now.Second; // string for the xml-logfile the time is in the HH-MM-S format this is because XML-files cant handle the ":" in the element tags string thetime_dotted = DateTime.Now.Hour + ":" + DateTime.Now.Minute + ":" + DateTime.Now.Second; // string for the xml-logfile its attributes int measuring_nummer = 0; int interval_1to2 =0; int value_sample1 = 0; private void button1_Click(object sender, EventArgs e) { XmlWriterSettings settings = new XmlWriterSettings(); settings.Indent = true; // We dictated the program to use proper indention when writing the xml by using this settings. XmlWriter writer = XmlWriter.Create("logfile.xml", settings); // create a new xml file writer.WriteStartDocument(); // start writing in the xml file // generating the deafault text of the logfile containing the basic info writer.WriteComment("-+=======================================================+-"); writer.WriteComment(" logfile of the USB-logger "); writer.WriteComment("-+=======================================================+-"); writer.WriteStartElement("log"); writer.WriteAttributeString("start-date", DateTime.Now.ToString()); writer.WriteStartElement("Interval-times"); writer.WriteElementString("interval_1-2", Convert.ToString(interval_1to2)); writer.WriteEndElement(); //**************************************************** // Dit zou bij button 2 moeten horen //**************************************************** writer.WriteStartElement("measuring"); writer.WriteAttributeString("nr", Convert.ToString(measuring_nummer)); writer.WriteAttributeString("time", thetime_dotted); writer.WriteStartElement("chan1"); writer.WriteElementString("sample1", Convert.ToString(value_sample1)); writer.WriteEndElement(); writer.WriteEndDocument(); writer.Flush(); // clean the contents of the stream writer.Close(); // save the xml file, the program stops completly with using it //**************************************************** // einde code button2 //**************************************************** } private void button2_Click(object sender, EventArgs e) { //******************* // hier komt code //******************* } } } |
het zou dit soort code moeten genereren:
XML:
1
2
3
4
5
6
7
8
9
10
11
12
13
| <!---+=======================================================+- --> <!-- logfile of the USB-logger --> <!---+=======================================================+- --> <log start-date="30/08/2010 23:14:17"> <Interval-times> <interval_1-2>0</interval_1-2> </Interval-times> <measuring nr="0" time="23:14:15"> <chan1> <sample1>0</sample1> </chan1> </measuring> </log> |
waarom een xml bestand? Het lijkt mij het simpelste, en als ik het goed heb kan je dankzij een deftige css sheet (aloewel het niet persee hoeft) het ook openen in een internet browser waar het mooi en overzichtelijk word weergegeven.
[ Voor 134% gewijzigd door Verwijderd op 31-08-2010 10:52 ]