000
23.11.2006, 08:42 Uhr
~Marcosan
Gast
|
Hallo Community
Nach längerem suchen stelle ich meine Fragen hier doch einmal ein in der Hoffnung, es kann mir jemand einen Tipp geben, wie ich bei meinem Programm weiterkomme.
Ziel ist es, Daten die von einem Scanner kommen, in ein Text File zu speichern. Datensatz um Da-tensatz. Die Funktion funktioniert soweit, das Problem vermute ich bei der von mir erstellten Speiche-rung der Daten. Folgende Probleme habe ich beim unten angefügten Code. 1. Text „anfügen“ Der vom Scanner eingelesene Text wird zwar in der Datei gespeichert, er überschreibt aber den alten Inhalt. Eigentlich sollte der Text auf einer neuen Zeile im Textfile angefügt werden. 2. dynamische Länge der Daten die eingelesen werden. WriteFile (hFile,g_pszTextLabel,20,&Readd, NULL); die 20 sollte durch den dynamischen Wert in nTextLength ersetzt warden. Setze ich nTextLength anstelle der 20 ein, so wird nur 50% der Daten in g_pszTextLabel gespeichert. 3. Zeinenumbrüche Ich würde gerne in einem String einen Zeilenumbruch in die Textdatei speichern. Aber weder \n noch andere Formatierungen die mir bekannt sind, scheinen zu gehen.
C++: |
void ThisProgram_UpdateTextLabel(void) { HANDLE hFile; DWORD Readd; hFile = CreateFile(_T("/My Documents/test.txt"), GENERIC_WRITE, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); // File erstellen
g_bNewCode = true; ThisProgram_DeinitTextLabel();
//Datem vom Scanner empfangen size_t nTextLength = g_oScanner.getLabelTextLength();
if (nTextLength>0) { g_pszTextLabel = new TCHAR [nTextLength+1]; if (g_pszTextLabel != NULL) { g_oScanner.getLabelText(g_pszTextLabel, nTextLength); g_pszTextLabel[nTextLength] = _T('\0'); // Daten in Datei speichern WriteFile (hFile,g_pszTextLabel,20,&Readd, NULL); // Statischer WERT 20 durch dynamischen ersetzen } } // Speicherfile schliessen CloseHandle (hFile); }
|
Das Gerät auf dem das Programm laufen wird findet man hier: www.datalogic.de/_vti_g2_p_det.aspx?idp=e7a3ea6d-c1b8-40ed-bfda-9009003187ac&rpstry=17_
Sind zwar gleich 3 Fragen auf einmal, bin aber für jeden Hinweis froh, der mich etwas weiterbringt bei meinem kleinen Programm. Dieser Post wurde am 25.11.2006 um 15:10 Uhr von Windalf editiert. |