Den Inhalt einer EditBox in eine Datei schreiben
-
In einer vorhandenen Anwendung werden Daten in eine Edit Box "IDC_EDIT_DATA" geschrieben.
Diesen Inhalt möchte ich in eine Text Datei schreiben.TCHAR szTest[14]; HWND hctl_data; hctl_data = GetDlgItem(hwnd,IDC_EDIT_DATA); Edit_SetText(hctl_data, (LPTSTR)SCNBUF_GETDATA (lpScanBuffer));
Ich habe mit Edit_GetText(hctl_data, szTest,14);
das Feld ausgelesen, weiß jedoch nicht wie ich szTest in eine Datei schreiben kann.
-
CStdioFile OutFile; { if (OutFile.Open(FileName,CFile::modeCreate | CFile::modeWrite)) for( i=0; i < 14; i++) { GetDlgItemText(szTest[i],sTemp); } OutFile.WriteString(sTemp); } OutFile.Close();
-
den FileName kannste dir ja z.B mit
FileName=m_File.GetPathName();
holen
-
Danke für deine Hilfe leider bekomme ich Fehler angezeigt.
Bei der Zeile bekomme ich den Fehler angezeigt:
CStdioFile OutFile;
error C2061 : sytax error : identifier `OutFile`
Bei der Zeile diesen Fehler:
GetDlgItemText(szTest[i],sTemp);
warning C4047: 'function' : 'struct HWND__ *' differs in levels of indirection from 'unsigned short ' C:\1EVC\BasicScan\BasicScan.c(321) : warning C4024: 'GetDlgItemTextW' : different types for formal and actual parameter 1 C:\1EVC\BasicScan\BasicScan.c(321) : error C2198: 'GetDlgItemTextW' : too few actual parameters
-
int GetDlgItemText( int nID, LPTSTR lpStr, int nMaxCount ) const;
dein sTemp ust doch sicher ein char-Feld und kein CString? In dem Fall will er die max. Länge des Feldes, damit er nicht ausversehen drüber hinausschreibt.
und wa soll das szTest? Da kommt ne RessourcenID an die Stelle und die ist ein int
-
hhabel schrieb:
Danke für deine Hilfe leider bekomme ich Fehler angezeigt.
Bei der Zeile bekomme ich den Fehler angezeigt:
CStdioFile OutFile;error C2061 : sytax error : identifier `OutFile`
Dann nenn die Datei anders
hhabel schrieb:
Bei der Zeile diesen Fehler:
GetDlgItemText(szTest[i],sTemp);warning C4047: 'function' : 'struct HWND__ *' differs in levels of indirection from 'unsigned short '
C:\1EVC\BasicScan\BasicScan.c(321) : warning C4024: 'GetDlgItemTextW' : different types for formal and actual parameter 1
C:\1EVC\BasicScan\BasicScan.c(321) : error C2198: 'GetDlgItemTextW' : too few actual parametersint GetDlgItemText( int nID, CString& rString ) const;
erst ID des Controls dann den String in den du das schreiben willst
oder eben die Variante:
int GetDlgItemText( int nID, LPTSTR lpStr, int nMaxCount ) const;Edit: damn zu langsam
-
TCHAR szTest[14] ; CHAR s; FILE *stream; GetDlgItemText(hwnd,IDC_EDIT_DATA,szTest,14);
Beim Debugen steht in der Variabelen szTest 0XX1e013400 "4002590106007"
4002590106007 ist auch der Inhalt der EditBox IDC_EDIT_DATA
Nun möchte ich den Inhalt von szTest in meine Datei schreiben
stream=fopen("\\Temp\\Test.txt","w"); fprintf( stream, "%szTest", szTest ); fclose(stream);
In der Datei steht dann allerdings nur 4zTest
Zum Testen habe ich versucht szTest in s zu schreibens = szTest;
Dann bekomme ich den Fehler
warning C4047: '=' : 'char ' differs in levels of indirection from 'unsigned short *'
Wie kann ich szTest so umwandeln das ich es speichern kann ?
-
So funktioniert es
stream=fopen("\\Temp\\Test.txt","w");
fwprintf( stream, szTest );
fclose(stream);Vielen Dank für die Hilfe