deleteFile()
-
Habe folgende leichte Frage (naja, für mich ist das schwer):
Ich möchte mit DeleteFile ein Datei löschen. Der Name der Datei muss aber erst noch zusammen gesetzt werden. Dazu ließt er erst einen String aus einer TStringListe ein:String zuloeschen; zuloeschen = Listendateiname->Strings[0];
und hiermit soll die Datei löschen werden:
DeleteFile(ExtractFilePath(Application->ExeName)+zuloeschen+".htm");
Nur leider bekomme ich zwei Fehlermeldungen. unter anderem diese
"cannot convert ansiString to const char*" Muss da vielleicht irgendwas mit "char" gemacht werden?? *dummsei*
Danke für eure Hilfe!
MfG, Michi
-
Siehe FAQ unter AnsiString.
-
Danke erstmal, aber das verstehe ich irgendwie nicht...
Wie sollte das denn dann in meinem Beispiel aussehn? und wieso ist da von einer MessageBox die Rede??? *grübel*
-
Der Builder mag Strings nicht gern addieren
Versuch's mal mit 'nem AnsiString
AnsiString FN;
.
.
.
FN=ExtractFilePath(... EXENAME..);
FN=FN.operator +(zuLöschen);
FN=FN.operator +(".HTM");Kuck Dir das im Debugger 'mal an (FN prüfen, was drin steht!)
-
warum rufst du die operatoren so komisch auf? lol
-
Damit's gut lesbar wird und einzeln zu debuggen !!!
In einer Zeile geht's auch (eleganter), aber schlecht zu testen
Ausserdem geht's bei mir so immer!!!
:p[ Dieser Beitrag wurde am 23.02.2003 um 22:20 Uhr von DerAltenburger editiert. ]
-
das liegt doch garnicht daran. DeleteFile nimmt doch garkein AnsiString, also muss man AnstString.c_str() aufrufen
-
Hab' ich behauptet, DELETEFILE nimmt AnsiString?
Ich vermute ja nur, dass der Namen nicht stimmt beim Miischii !
[ Dieser Beitrag wurde am 23.02.2003 um 22:36 Uhr von DerAltenburger editiert. ]
[ Dieser Beitrag wurde am 23.02.2003 um 22:36 Uhr von DerAltenburger editiert. ]
-
Mindestens ab BCB5 gibt es eine VCL-Funktion namens DeleteFile, die AnsiString als Parameter erlaubt/verlangt.
-
und wie wird verhindert das es mit der Winapifunktion DeleteFile 2zusammenstößt"?
-
Das wird anhand des übergebenen Parameters entschieden. Wenn du einen AnsiString übergibst wird die VCL-Variante benutzt, bei einem char* die WinAPI-Version.
-
ich glaube, ich bin nicht dafür geboren... Ich habe jetzt das hier eingetippt
AnsiString FN; String zuloeschen; . . . zuloeschen = Listendateiname->Strings[0]; FN=ExtractFilePath(Application->ExeName); FN=FN.operator +(zuloeschen); FN=FN.operator +(".HTM"); DeleteFile(FN);
Es kommen aber noch die selben Fehler wie vorher. Wieder diese: "cannot convert ansiString to const char*"! Ich weiß nicht, ob ihr das braucht: Ich hab den BCB 1.0 (leider nur)!
Wäre euch sehr dankbar, wenn ihr mir Anfänger nochmal helfen könntet!
-
Ich hab den BCB 1.0 (leider nur)!
dann:
DeleteFile(FN.c_str());