Entwickler-Ecke

Sonstiges (Delphi) - Deletefile funktioniert nicht


Pandax3 - Mi 18.05.11 20:15
Titel: Deletefile funktioniert nicht
Hallo ;D
ich habe mich dafür entschieden noch ein neues Thema aufzumachen, falls jemand anders auch so ein Problem hat.
Wenn ihr mir hier noch helfen könntet wäre das echt Klasse :)


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
procedure TForm1.Button4Click(Sender: TObject);
begin
combobox1.Items.Delete(combobox1.ItemIndex);
Getcurrentdir;
DeleteFile(combobox1.text+'.dat');
DeleteFile(combobox1.text+'.bmp');


ich möchte hier 2 dateien aus dem aktuellen Verzeichnis löschen, jedoch passiert nichts.
Geben ich anstatt combobox1.text das direkte verzeichnis ein also z.B D:\Delphi dann löscht er die datei.
Es muss also an dieser Kombination liegen: (combobox1.text+'....');
Weiß vielleicht einer was ich da ändern kann damit er es auch mit dieser Kombination löscht ? :D


HenryHux - Mi 18.05.11 20:22

Das Zusammenstellen der Strings ist richtig.
Ich vermute mal, dass dein Combobox Eintrag nicht richtig ist.
Lass dir den Text doch mal ausgeben dann siehst du es.
Hast du eventuell vergessen einen Pfad + eine Datei anzugeben?

lg


Pandax3 - Mi 18.05.11 20:59

Ach jaaaa..
als ich das mit showmessage ausprobiert habe und die nachricht leer war, war ich kurz stutzig ;D
aber dann ist es ja ganz logisch ..
so ist es korrekt


Delphi-Quelltext
1:
2:
3:
DeleteFile(combobox1.text+'.bmp');
DeleteFile(combobox1.text+'.dat');
combobox1.Items.Delete(combobox1.ItemIndex);


ich hatte den text ja zuerst gelöscht ;D kein wunder das es nicht geht :D


HenryHux - Mi 18.05.11 21:06

user profile iconPandax3 hat folgendes geschrieben Zum zitierten Posting springen:
Ach jaaaa..
als ich das mit showmessage ausprobiert habe und die nachricht leer war, war ich kurz stutzig ;D
aber dann ist es ja ganz logisch ..
so ist es korrekt


Delphi-Quelltext
1:
2:
3:
DeleteFile(combobox1.text+'.bmp');
DeleteFile(combobox1.text+'.dat');
combobox1.Items.Delete(combobox1.ItemIndex);


ich hatte den text ja zuerst gelöscht ;D kein wunder das es nicht geht :D


:autsch: :autsch:


:D


jaenicke - Mi 18.05.11 21:56

user profile iconPandax3 hat folgendes geschrieben Zum zitierten Posting springen:

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
procedure TForm1.Button4Click(Sender: TObject);
begin
combobox1.Items.Delete(combobox1.ItemIndex);
Getcurrentdir;
DeleteFile(combobox1.text+'.dat');
DeleteFile(combobox1.text+'.bmp');
Was genau meinst du bewirkt diese Zeile? :gruebel:
Wenn deine Antwort "nichts" ist, hast du Recht.

Du musst das aktuelle Verzeichnis schon auch benutzen und zum Rest des Dateipfades hinzufügen...

Delphi-Quelltext
1:
DeleteFile(Getcurrentdir + '\' + ComboBox1.Text + '.dat');                    


Delete - Mi 18.05.11 22:11

Und er sollte sich fragen, ob er wirklich das aktuelle Arbeitsverzeichnis haben will.


Delete - Do 19.05.11 00:53

Warum werden eigentlich ständig jegliche Rückgabewerte ignoriert? Hättest du eine gescheite Fehlerbehandlung implementiert, hättest du dir das Rätselraten ersparen können und gewusst, wo der Fehler liegt.