<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Datei einlesen und grafisch auswerten]]></title><description><![CDATA[<p>Hi</p>
<p>Hat jemand eine Idee, wie ich eine Datei sinvoll einlesen kann und diese dann grafisch auswerten?</p>
<p>Hier einmal die Strucktur:</p>
<pre><code class="language-cpp">//Informationen zur Datei
Filename:;T0001P0001D22042004T162432;
AV 95 ACE;
ADS (Version 1.0);
Spur;1;
Ueberfahrt;1;
Datum:;22.04.2004;
Uhrzeit:;16:24:32;
Fahrtrichtung;vorw.;
kB max:;169;MN/m
kB min:;0;MN/m
íkB:;110;MN/m
kB:;110;MN/m
temp.;27;øC
Geschwindigkeit;4.9;km/h
Laenge;1.46937e-37;m
Raster;10;m

100;//Anzahl Messwerte
126 //Messwerte
147
74
103
154
112
124
0
92
128
98
72
</code></pre>
<p>Die Dateiinformation ist nicht das Problem (1. Abschnitt) Aber die Messwerte.<br />
Diese sollten in einem Liniediagramm dahrgestellt werden. Wie lese ich solche Dateien am Besten ein? Ist es besser in einen String oder währe es wohl besser das ganze in ein Listenfeld einzulesen (Da Jeder Messwert auf einer neuen Zeile ist und ohne ; getrennt ist....</p>
<p>Kann mir jemand ein Beispiel geben, wie ich die Datei einlesen kann und wie ich Linien zeichnen kann.... (Am Besten in eine Picturebox, da ich eine Vorschau machen muss... (das ganze sollte später ausgedruckt werden...)</p>
<p>Vielen Dank!</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/82974/datei-einlesen-und-grafisch-auswerten</link><generator>RSS for Node</generator><lastBuildDate>Tue, 14 Apr 2026 05:08:56 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/82974.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 16 Aug 2004 15:57:45 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Datei einlesen und grafisch auswerten on Mon, 16 Aug 2004 15:57:45 GMT]]></title><description><![CDATA[<p>Hi</p>
<p>Hat jemand eine Idee, wie ich eine Datei sinvoll einlesen kann und diese dann grafisch auswerten?</p>
<p>Hier einmal die Strucktur:</p>
<pre><code class="language-cpp">//Informationen zur Datei
Filename:;T0001P0001D22042004T162432;
AV 95 ACE;
ADS (Version 1.0);
Spur;1;
Ueberfahrt;1;
Datum:;22.04.2004;
Uhrzeit:;16:24:32;
Fahrtrichtung;vorw.;
kB max:;169;MN/m
kB min:;0;MN/m
íkB:;110;MN/m
kB:;110;MN/m
temp.;27;øC
Geschwindigkeit;4.9;km/h
Laenge;1.46937e-37;m
Raster;10;m

100;//Anzahl Messwerte
126 //Messwerte
147
74
103
154
112
124
0
92
128
98
72
</code></pre>
<p>Die Dateiinformation ist nicht das Problem (1. Abschnitt) Aber die Messwerte.<br />
Diese sollten in einem Liniediagramm dahrgestellt werden. Wie lese ich solche Dateien am Besten ein? Ist es besser in einen String oder währe es wohl besser das ganze in ein Listenfeld einzulesen (Da Jeder Messwert auf einer neuen Zeile ist und ohne ; getrennt ist....</p>
<p>Kann mir jemand ein Beispiel geben, wie ich die Datei einlesen kann und wie ich Linien zeichnen kann.... (Am Besten in eine Picturebox, da ich eine Vorschau machen muss... (das ganze sollte später ausgedruckt werden...)</p>
<p>Vielen Dank!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/583880</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/583880</guid><dc:creator><![CDATA[addict]]></dc:creator><pubDate>Mon, 16 Aug 2004 15:57:45 GMT</pubDate></item><item><title><![CDATA[Reply to Datei einlesen und grafisch auswerten on Mon, 16 Aug 2004 17:16:15 GMT]]></title><description><![CDATA[<p>Sieht der Dateikopf immer gleich aus und stehen die Messwerte immer an der gleichen Stelle in der gleichen Reihenfolge? Hatte vor kurzem ein ähnliches Problem. Wenn die Messwerte wie bei mir in einer reinen Textdatei zeilenweise getrennt da stehen dann kannst Du sie doch in einer Schleife in einen String einlesen und in eine Zahl umwandeln (dynamische Dateintypen machen nur Sinn, wenn Du nicht weißt, wieviele Messwerte drin stehen), bis das Dateiende erreicht ist. Bei mir waren es ca. 1000 Messwerte, ich habe das immer noch mit statischen Strukturen Array hinbekommen, obwohl man da schon über verkettete Listen nachdenken sollte. Allerdings ist das Handling mit dynamischenn Strukturen nicht ganz einfach (Zeiger, Speicherreservierung und -freigabe).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/583960</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/583960</guid><dc:creator><![CDATA[AndyDD]]></dc:creator><pubDate>Mon, 16 Aug 2004 17:16:15 GMT</pubDate></item><item><title><![CDATA[Reply to Datei einlesen und grafisch auswerten on Mon, 16 Aug 2004 17:32:03 GMT]]></title><description><![CDATA[<p>Hi</p>
<p>Also der Dateikopf ist immer gleich (Einfach die Werte unterscheiden sich...)<br />
Die Anzahl der Messwerte ist aber sehr verschieden. kann von ca. 2 bis 200000 Messwerte oder noch mehr sein...<br />
Kann ich es aber nicht trotzdem in einen String einlesen und dann Zeilenweise ansprechen?</p>
<p>kannst du mir nicht ein Beispiel posten?<br />
Vielen Dank!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/583975</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/583975</guid><dc:creator><![CDATA[addict]]></dc:creator><pubDate>Mon, 16 Aug 2004 17:32:03 GMT</pubDate></item><item><title><![CDATA[Reply to Datei einlesen und grafisch auswerten on Mon, 16 Aug 2004 17:52:48 GMT]]></title><description><![CDATA[<p>also wenn der dateikopf immer gleich ist, würde ich das folgendermassen machen:<br />
du öffnest die datei mit einer CStdioFile. dann leist du die zeilenweise ein, zb. mit dateiname.ReadString(deinstring).<br />
in diesem String kannst du dann über die funktionen find, findoneof, die zahlenwerte und art erkennen und die in eine struktur oder ähnliches speichern.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/583992</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/583992</guid><dc:creator><![CDATA[daniel12345]]></dc:creator><pubDate>Mon, 16 Aug 2004 17:52:48 GMT</pubDate></item><item><title><![CDATA[Reply to Datei einlesen und grafisch auswerten on Mon, 16 Aug 2004 18:11:00 GMT]]></title><description><![CDATA[<p>Sorry aber i verstehe dies nicht ganz!<br />
Ich bin ziemlich neu (Habe noch nie so etwas aus einer Datei gelesen)<br />
Was ist ein CStdioFile?<br />
Wie setzte ich den dateiname.ReadString(deinstring) richtig ein?<br />
Was bewirkt find und findoneof?</p>
<p>Kannst du mir nicht ein kurzes Beispiel posten wie ich es realisiere?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/584011</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/584011</guid><dc:creator><![CDATA[addict]]></dc:creator><pubDate>Mon, 16 Aug 2004 18:11:00 GMT</pubDate></item><item><title><![CDATA[Reply to Datei einlesen und grafisch auswerten on Mon, 16 Aug 2004 18:30:04 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">{
	CString LineToRead, helpstring;
	CStdioFile datei;
	datei.Open(&quot;deinedatei&quot;, CFile::modeRead); // Datei öffnen
	datei.SeekToBegin();
      for (int i = 0; i &lt; zahl /*beginn der messwerte*/; i++)
      { 
      datei.ReadString(LineToRead); //Dateikopf solange einlesen, bis Messwerte erreicht
	}//messwerte erreicht
      datei.ReadString(LineToRead);
      while(!LineToRead.IsEmpty())
      {	
      pos = LineToRead.Find(&quot; &quot;); // Leerzeichen suchen: Wert zuende
	helpstring = LineToRead.Left(pos); // in einen string speichern
      datei.ReadString(LineToRead);
      }
}
</code></pre>
<p>habe den code zwar gekürzt, aber müsste trotzdem funktionieren. es müsste auch möglich sein, die werte anschliessend in ein array zu übertragen, bspw über formatierung in double-werte, um das dann grafisch darzustellen.<br />
find und findoneof sind funktionen der klasse cstring, damit kann man strings auf bestimmte zeichen und zeichenfolge untersuchen,schau dir am besten mal die memberfunktionen der cstring klasse in der msdn an.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/584026</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/584026</guid><dc:creator><![CDATA[daniel12345]]></dc:creator><pubDate>Mon, 16 Aug 2004 18:30:04 GMT</pubDate></item><item><title><![CDATA[Reply to Datei einlesen und grafisch auswerten on Mon, 16 Aug 2004 18:28:54 GMT]]></title><description><![CDATA[<p>Vielen Dank!</p>
<p>Wie kann ich dann die Messwerte im String (Variblen) ansprechen? Oder besser gesagt, wie kann ich dann die einzelnen Messwerte herausholen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/584029</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/584029</guid><dc:creator><![CDATA[addict]]></dc:creator><pubDate>Mon, 16 Aug 2004 18:28:54 GMT</pubDate></item><item><title><![CDATA[Reply to Datei einlesen und grafisch auswerten on Mon, 16 Aug 2004 18:32:23 GMT]]></title><description><![CDATA[<p>du hast in dem string jeweils nur einen messwert, er liest ja eine zeile ein, sucht das ende des messwertes und speichert diesen dann in den helpstring. was ich da grade vergessen habe, ist, dass du den wert noch umspeichern musst, in ein array oder sowas. und zwar am besten, bevor du die neue zeile einliest, also direkt nach dem befehl<br />
helpstring = LineToRead.Left(pos)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/584032</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/584032</guid><dc:creator><![CDATA[daniel12345]]></dc:creator><pubDate>Mon, 16 Aug 2004 18:32:23 GMT</pubDate></item><item><title><![CDATA[Reply to Datei einlesen und grafisch auswerten on Mon, 16 Aug 2004 18:37:49 GMT]]></title><description><![CDATA[<p>ok das leuchtet mir ein.<br />
Aber dann habe ich ja am Schluss einen Arrey mit z.B 200 Messwerten. Wie finde ich denn dann noch den Messwert?</p>
<p>Funktioniert dies so: helpstring = helpstring &amp; LineToRead.Left(pos) &amp; &quot;;&quot;</p>
<p>Ich möchte einfach immer nach dem Messwert ein ; einfügen damit ich dann später das ganze wieder teilen kann?!?!?!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/584035</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/584035</guid><dc:creator><![CDATA[addict]]></dc:creator><pubDate>Mon, 16 Aug 2004 18:37:49 GMT</pubDate></item><item><title><![CDATA[Reply to Datei einlesen und grafisch auswerten on Mon, 16 Aug 2004 18:55:56 GMT]]></title><description><![CDATA[<p>addict schrieb:</p>
<blockquote>
<p>ok das leuchtet mir ein.<br />
Aber dann habe ich ja am Schluss einen Arrey mit z.B 200 Messwerten. Wie finde ich denn dann noch den Messwert?</p>
</blockquote>
<p>naja, du kannst ja jeden messwert in einem eigenen element speichern und dann über ein for-schleife ansteuern.</p>
<p>addict schrieb:</p>
<blockquote>
<p>Funktioniert dies so: helpstring = helpstring &amp; LineToRead.Left(pos) &amp; &quot;;&quot;</p>
<h1></h1>
</blockquote>
<p>eher so:</p>
<p>allemesswerte.insert(&quot;;&quot;);<br />
int stringende = allemesswerte.GetLength();<br />
allemesswerte.insert(stringende, helpstring);</p>
<p>die genauen funktionen stehen in der msdn bei cstring, class members. wenn du das gemacht hast, müsste da so ein string rauskommen:<br />
mw1;mw2;mw3;....</p>
<p>addict schrieb:</p>
<blockquote>
<p>Ich möchte einfach immer nach dem Messwert ein ; einfügen damit ich dann später das ganze wieder teilen kann?!?!?!</p>
</blockquote>
<p>bin mir jetzt nicht mehr so sicher, ob ich das richtig verstanden habe, was du machen möchtest. wenn du ein array mit den messwerten anlegst, hat das für jeden wert ein element. da ist dann quasi jeder messwert einzeln</p>
]]></description><link>https://www.c-plusplus.net/forum/post/584052</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/584052</guid><dc:creator><![CDATA[daniel12345]]></dc:creator><pubDate>Mon, 16 Aug 2004 18:55:56 GMT</pubDate></item><item><title><![CDATA[Reply to Datei einlesen und grafisch auswerten on Mon, 16 Aug 2004 18:59:18 GMT]]></title><description><![CDATA[<p>Ich möchte im Prinzip einfach alle Messwerte in einer Variablen haben, damit ich später ein Diagramm (in einer schlaufe) zeichnen kann das ganze mit einfachen Linien.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/584056</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/584056</guid><dc:creator><![CDATA[addict]]></dc:creator><pubDate>Mon, 16 Aug 2004 18:59:18 GMT</pubDate></item><item><title><![CDATA[Reply to Datei einlesen und grafisch auswerten on Mon, 16 Aug 2004 19:06:03 GMT]]></title><description><![CDATA[<p>dann würde ich das in ein array einlesen, da kannst du dieses array durch eine for-schleife auslesen, dann kannst du jeden einzelnen messwert auswerten und weiterverarbeiten, also array[nr messwert] = wert messwert.<br />
in dem fall solltest du allerdings den cstring über cstring.format in ein double-wert umrechnen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/584064</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/584064</guid><dc:creator><![CDATA[daniel12345]]></dc:creator><pubDate>Mon, 16 Aug 2004 19:06:03 GMT</pubDate></item><item><title><![CDATA[Reply to Datei einlesen und grafisch auswerten on Mon, 16 Aug 2004 19:32:00 GMT]]></title><description><![CDATA[<p>Sorry aber ich verstehe das schon wieder nicht ganz!<br />
Wie würde denn nun das einlesen und dann diese for-Schlaufe aussehen?<br />
Könntest du mir nicht ein Beispiel posten?</p>
<p>Vielen Dank für deine Bemühungen!!!!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/584097</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/584097</guid><dc:creator><![CDATA[addict]]></dc:creator><pubDate>Mon, 16 Aug 2004 19:32:00 GMT</pubDate></item><item><title><![CDATA[Reply to Datei einlesen und grafisch auswerten on Mon, 16 Aug 2004 19:53:09 GMT]]></title><description><![CDATA[<p>einlesen und in array speichern. am besten global deklarieren: double array[10000]</p>
<pre><code class="language-cpp">{
	CString LineToRead, helpstring;
	CStdioFile datei;
      int lauf = 0;
	datei.Open(&quot;deinedatei&quot;, CFile::modeRead); // Datei öffnen
	datei.SeekToBegin();
      for (int i = 0; i &lt; zahl /*beginn der messwerte*/; i++)
      { 
      datei.ReadString(LineToRead); //Dateikopf solange einlesen, bis Messwerte erreicht
	}//messwerte erreicht
      datei.ReadString(LineToRead);
      while(!LineToRead.IsEmpty())
      {	
      pos = LineToRead.Find(&quot; &quot;); // Leerzeichen suchen: Wert zuende
	helpstring = LineToRead.Left(pos); // in einen string speichern
      array[lauf] = helpstring.Format()//da fehlen noch parameter, weiss aber nicht mehr welche.
//allerdings musst du das cstring in einen double wert formatieren.      
      lauf++;
      datei.ReadString(LineToRead);
      }
}
</code></pre>
<p>mit dem helpstring.Format musst du mal etwas experimentieren, da müsste es auch schon einträge hier im forum zu geben. und halt die msdn.<br />
nun das auslesen:</p>
<pre><code class="language-cpp">for (int i=0; i&lt;lauf; i++)
tue irgendwas mit array[lauf], das ist der messwert
</code></pre>
<p>mit der schleife gehst du einmal durch das gesamte array, und kannst jeden messwert verarbeiten.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/584123</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/584123</guid><dc:creator><![CDATA[daniel12345]]></dc:creator><pubDate>Mon, 16 Aug 2004 19:53:09 GMT</pubDate></item><item><title><![CDATA[Reply to Datei einlesen und grafisch auswerten on Tue, 17 Aug 2004 05:48:36 GMT]]></title><description><![CDATA[<p>Im Prinzip ist das schon richtig was Daniel schreibt. Du musst nur aufpassen wenn Du mit den Messwerten arbeiten willst. In der Regel wird Dein Array immer größer sein wie die Anzahl Deiner Werte. Wenn Du Berechungen damit anstellen musst (ich habe bei meinen Messwerten die Standardabweichung Medianwert, Varianzenkoeffizient zu berechnen) darfst Du nicht über den letzten Wert herausschießen. Bei Arrays ist ja eigentlich der Vorteil, dass in einfachen Schleifen über Hochzählen des Feldindexes solche Berechnungen sehr einfach zu implementieren sind. Sind die Arrays größer wie die Anzhal der Messwerte funktioniert das nicht mehr.<br />
Ein Einlesen aller Werte in einen CString mit einem Trennzeichen (m1;m2;m3;...) würde ich nicht machen. Dann muss man wieder mit Positionszeigern arbeiten oder die Trennzeichen detektieren. Sind unnötige Fehlerquellen. Machs wie vorgeschlagen: in einer Schleife die Datei ab der Position des ersten Messwertes in eine Hilfsvariable vom Typ String/CString einlesen und dann sofort in eine Zahl umwandeln und in ein Array speichern.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/584290</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/584290</guid><dc:creator><![CDATA[AndyDD]]></dc:creator><pubDate>Tue, 17 Aug 2004 05:48:36 GMT</pubDate></item></channel></rss>