mit c++ eine .dmm auslesen

elsaber

Grünschnabel
Hallo zusammen,
ich habe folgendes Problem: Ich habe ein Digitalmultimeter, das die messwerte (Temperatur) jede sekunde an deine Software (USB View) übergiebt. Mittels dieser Software muss ich nach beendigung der Messung (dauert meist ca acht Stunden; somit ca25000 Messwerte bzw. Zeilen) das Protokoll speichern. Das Dateiformat ist .dmm ich kann kein anderes Format wählen. Um nun die Messung auszuwerten möchte ich die Werte an Excel übergeben aber nur jeden 15. Wert also alle 15 Sekunden. Dieses Zeitintervall möchte ich jedoch variabel gestalten (10 bis 240 sek). In der Software USB VIEW gibt es zwar die Möglichkeit dieses Zeitintervall einzustellen, allerdings funktioniert diese Funktion nicht. Vom Hersteller METEX ist trotz einiger emails kene Hilfe zu erwarten. Sie haben wir als Verfahrenstechnikstudent geraten, meine eigene Software zu schreiben. Nun sitz ich also hier....:rolleyes:

Also die .dmm sieht so aus:
Code:
NOMAINSUB1SUB2TIME
000220022007111:25:48
100220022007111:25:49
200220022007111:25:50
300220022007111:25:51
400250022007311:25:52
500270025008011:25:53
600280028008211:25:54
700290028008411:25:55
800290029008411:25:56
900290029008411:25:57
1000300029008411:25:58
1100300029008611:25:59


Ich benötige im Endstadium eigentlich nur die Main Spalte (die Temperatur in °C) [ SUB=temp in °F ] die Zeit ist auch nicht so wichtig, weil ich nur das Intervall benötige und nicht die absolute Zeit.


Mein erster entwurf nach einem Semester C++ ist eher schlecht als recht, und sieht so aus: meine Idee ist dass ich ein Array benutze, das abhängig von der Zeit in sekunden (X) fünf spalten breit ist und X Zeilen hoch. von diesem Array nehme ich jeweils die letzte Zeile und schreibe die in einer andere Datei.
Das Problem ist derzeit bereits, dass die Input datei nicht gefunden wird, obwohl sie im gleichen Ordner liegt. Für Hilfe jeder Art bin ich sehr, sehr dankbar. Wenn Du der Meinung bist, dass es sinnvoller wäre, ein .xls Makro zu verwenden, ist das auch kein Problem. Nur brauche ich dann die komplettlösung, da ich von Makros nun gar keine Ahnung habe.

Code:
#include<fstream.h>
#include<math.h>
#include <iostream.h>
#include <stdlib.h>
void main ()
{
ifstream indat;
ofstream outdat;
indat.open("quelle.dmm");
outdat.open("ziel.txt");
	if(!indat)
	{
		cout<<"Einlesedatei nicht vorhanden"<<endl;
	}
	else
	{

int dau, z,s, stopp;
cout<<"wieviele sekunden? ";        //je sek eine Zeile überspringen
cin>> dau;
float P[dau][5];


  	indat>>P[z][s];

    for (int z=0; z<=dau;z++)
    {
      for (int s=0; s<=5;s++)
		{			
			cout<<P[z][s];
   		}
     }

}
}

 system("PAUSE");
return 0;


}
 
Zurück