Problem mit CString
-
...oder das Zeichen in einen temporären CString schreiben und MakeUpper() benutzen.
Und dann noch mit CString::Find den Dateinamen nach Leerzeichen durchsuchen und das folgende Zeichen auch wieder gross machen.
-
Hab da foldenden Code jetzt:
void CRenamerDlg::MakeUpper(CString filename, CString filepath) { CFile file; CString oldname = filename; CString temp; temp = filename.GetAt(0); temp.MakeUpper(); filename.SetAt(0, temp); file.Rename(filepath + "\\" + oldname, filepath + "\\" + filename); }funktioniert aber nicht bekomme da immer folgenden Fehler wenn ich den String wieder hinzufüge:
error C2664: 'SetAt' : Konvertierung des Parameters 2 von 'class CString' in 'char' nicht moeglich
Woran liegt das?
-
Vielleicht war mein Vorschlag mit dem CString Mist. Wenn er schon ein char verlangt, dann probier doch mal den Vorschlag von drops.
-
oder so:
CString tmp(fileName[0]); tmp.MakeUpper(); fileName.Delete(0); fileName.Insert(0, tmp);fileName ist vom Type CString natürlich

-
Danke für die Vorschläge habs so wie drops geschrieben hat gemacht.

-
hier auch ne moeglichkeit
CString lol = "hallo"; AfxMessageBox(lol); CString onechar = lol.Mid(0,1); onechar.MakeUpper(); int lenght = lol.GetLength(); lol = lol.Right(lenght - 1); lol = onechar + lol; AfxMessageBox(lol);
-
lol, du bist witzig.
Statt dem ersten Mid(0,1) verwendet man normalerweise Left(1) und statt dem Right(length-1) verwendet man Mid(1)
-
deswegen auch die varibale lol

der user kann es uebernehmen ( es funzt )
aber bissle denken muss er selber wenn er optimieren will
nur copy paste ist zwar goil, bildet net sonderlich viel
-
lol.
Geile Ausrede
-
lol hab ich mir auch gedacht

"bitte nicht weitersagen
"