011
21.07.2004, 11:43 Uhr
~wasa
Gast
|
tagchen!
okay! Ich hoffe du kommst damit zurecht!!! VIELEN DANK SCHONMAL!
In dem folgenden Code wird im Verzeichnis nach einer Befehlsdatei gesucht. Wenn erfolgreich dann öffne com und beginne auszulesen.
C++: |
WIN32_FIND_DATA V_Data; //DatenVerzeichnis CString s_file,s_temp,s_Schreibe, s_Eintrag=""; char c_Daten[13]; FILE* f_File; // Verzeichnisabfrage while (verz_i_Flag) { HANDLE hSearch = FindFirstFile("C:\\Messungen\\*.what",&V_Data);
if((int) hSearch!=-1) { Onleeren(); ListenEintrag("-----Datei gefunden-----"); s_temp = V_Data.cFileName; s_file = "C:\\Messungen\\"; s_file = s_file+s_temp; s_Eintrag.Format("Datei:%s",s_file); ListenEintrag(s_Eintrag); // Inhalt der Datei f_File = fopen(s_file,"rt"); s_temp = fgets(c_Daten,13,f_File); s_Eintrag.Format("Daten: %s",s_temp); ListenEintrag(s_Eintrag);
s_Eintrag.Format("Wiederholungen: %c", c_Daten[0]); ListenEintrag(s_Eintrag); s_Eintrag.Format("Intervall: %c", c_Daten[1]); ListenEintrag(s_Eintrag); // COM1 wird geöffnet com_ComHandle1=com_port_1.Open_Comport_HS(); Sleep(2000); ListenEintrag("COM geöffnet!!"); // COM1 wird gelesen com_port_1.Read_Comport_HS(com_ComHandle1, 14, L); s_Eintrag.Format(" Lesen: %s", L); //Ausgabe ListenEintrag(s_Eintrag); //das nachfolgende ist der Sourc Code aus dem anderen Beispiel L1[0]=L[0]&15; for(n=0;n<8;n++) L1[1+n]=((L[2*n+1]&15)<<4)|(L[2*n+2]&15); if ((L1[3]&0x7f)==0x68) { it=9999999; } else { int dig[10]={0xd7,0x05,0x5b,0x1f,0x27,0x3e, 0x7e,0x15,0x7f, 0x3f}; int n; x=x&0x7f; for(n=0;n<10;n++) { x==dig[n]; } it=1000.0*L1[1]+100.0*L1[2]+10*L1[3]+1*L1[4]; } if (L1[4]&0x80) it=it/10.0;
if (L1[3]&0x80) it=it/100.0;
if (L1[2]&0x80) it=it/1000.0; if (L1[1]&0x80) it=-it; ListenEintrag(it); // dvm_unit(L1[0], (L1[5]<<16)|(L1[6]<<8)|L1[7],units); //timestamp();
CString s_Eintrag=""; char *prefix=""; char *unit=""; char *ext=""; char *ext1="";
if (x&0x2000) ext="delta"; else if (x&0x100000) ext="Diode"; else if (x&0x10000) ext="Beep"; if (x&0x080000) prefix="m"; else if (x&0x800000) prefix="u"; else if (x&0x400000) prefix="n"; else if (x&0x020000) prefix="M"; else if (x&0x200000) prefix="k";
if (x&0x0800) unit="A"; else if (x&0x0200) unit="Hz"; else if (x&0x40000) unit="%"; else if (x&0x10) unit="°C"; else if (x&0x4000) unit="Ohm"; else if (x&0x0400) unit="V"; else if (x&0x8000) unit="F";
s_Eintrag.Format("%s%s %s (%s)", prefix, unit, (y&0x8?"AC":""),ext); ListenEintrag("TEST"); ListenEintrag(s_Eintrag); //Ende Source Code des anderen Beispiels welches ich nur eingebunden habe Sleep(1000);
//Datei schliessen und löschen fclose(f_File); DeleteFile(s_file); TRACE("\n\n*************Datei %s wurde gelöscht*************\n\n",s_file); s_Eintrag.Format("Datei %s wurde gelöscht",s_file); ListenEintrag(s_Eintrag); Sleep(2000); } else //Wenn keine datei gefunden { ListenEintrag("-----keine Datei gefunden-----"); Sleep(1000);
}
|
cu wasa |