Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Löschen von Dateien (https://www.delphipraxis.net/85694-loeschen-von-dateien.html)

SaFu 3. Feb 2007 12:04


Löschen von Dateien
 
Hi ab mal ne Frage.

Kann man bilder beziehungsweise Dateien in einer FileListBox nicht einfach so löschen? :gruebel:

Delphi-Quellcode:
{Bilder Löschen}
procedure TForm4.Button1Click(Sender: TObject);
var a :String;
begin
FileListBox1.FileName:= a;
DeleteFile(ExtractFilePath (ParamStr(0))+'Bilder\'+ a);
end;
Gruss sascha

phreax 3. Feb 2007 12:50

Re: Löschen von Dateien
 
Du hast 2 Fehler in deinem code:

Delphi-Quellcode:
{Bilder Löschen}
procedure TForm4.Button1Click(Sender: TObject);
var a :String;
begin
a := FileListBox1.FileName;//hier so muss das aussehen...
DeleteFile(ExtractFilePath (ParamStr(0))+'\Bilder\'+ a); //hier muss imho noch eine "\" rein...
end;
mfg phreax

Blackheart 3. Feb 2007 13:09

Re: Löschen von Dateien
 
Lass Dir doch einfach mal den Pfad zurückgeben.
Und dann schau Dir mal Items.text.

himitsu 3. Feb 2007 13:13

Re: Löschen von Dateien
 
Und bedenke, DeleteFile löscht keine Schreibgeschützten Dateien.

Also notfalls noch das Schreibschutzattribut zurücksetzten.

SaFu 3. Feb 2007 17:07

Re: Löschen von Dateien
 
Wie meinst er das den Pfad zurückgeben lassen.

Blackheart 3. Feb 2007 17:17

Re: Löschen von Dateien
 
Zbsp. So
Delphi-Quellcode:
ShowMessage(ExtractFilePath (ParamStr(0))+'Bilder\'+ a);

SaFu 3. Feb 2007 17:20

Re: Löschen von Dateien
 
Achso

Aber es werden so immernoch keine Dateien gelöscht.

yörsch 3. Feb 2007 17:30

Re: Löschen von Dateien
 
hast du es mal direkt probiert? also die datei mit pfad angegeben ?
Delphi-Quellcode:
DeleteFile('c:\Bilder\Bild1.bmp');

C.Schoch 3. Feb 2007 17:32

Re: Löschen von Dateien
 
Was zeigt die die MessageBox denn an?
Wenn der Pfad den die zuvor beschriebene MessageBox ausgibt stimmt kannst du mal nach DeleteFile den Fehlercode mit GetLastError holen. Für die Ausgabe eines Fehlertextes einfach noch SysErrorMessage(GetLastError) davor.

SaFu 3. Feb 2007 17:33

Re: Löschen von Dateien
 
ne noch nicht wäre ja auch nicht die funktion.

Muss die gewählte datei in der FileListBox Löschen können geht so aber nicht
Delphi-Quellcode:
procedure TForm4.Button1Click(Sender: TObject);
var a :String;
begin
a:= FileListBox1.FileName;
DeleteFile(ExtractFilePath (ParamStr(0))+'\Bilder\'+ a);
end;

SaFu 3. Feb 2007 17:35

Re: Löschen von Dateien
 
Es wird 2 mal der gleiche Pfad zurückgegeben ?????

Wie geht das denn :gruebel:

Hawkeye219 3. Feb 2007 17:37

Re: Löschen von Dateien
 
Hallo Sascha,

Zitat:

Zitat von Delphi-Hilfe zu TFileListBox.FileName
Die Eigenschaft FileName gibt den Namen der ausgewählten Datei im Dateilistenfeld einschließlich des Pfades an.

Du kannst den über FileListBox1.FileName ausgelesenen Dateinamen also direkt an DeleteFile übergeben.

Gruß Hawkeye

SaFu 3. Feb 2007 17:45

Re: Löschen von Dateien
 
Ok habs schon

war ja noch einfacher als ich gedacht habe sonnst immer alles so koplieziert und jetzt..... :wall: :wall: :wall:

Delphi-Quellcode:

{Bilder Löschen}
procedure TForm4.Button1Click(Sender: TObject);
var a :String;
begin
a:= FileListBox1.FileName;
DeleteFile( FileListBox1.FileName);
end;

SaFu 3. Feb 2007 17:57

Re: Löschen von Dateien
 
Hab gerade nochmal ne frage

Wie kann ich abfragen ob die FileListBox leer ist und wenn ja message ausgeben hab es so geht aber nicht

Delphi-Quellcode:
procedure TForm4.Button1Click(Sender: TObject);
var a :String;
begin
if FileListBox1.<> '' then
  begin
    if Application.MessageBox('Wollen sie wirklich dieses Bild Löschen ','Löschinformation',68)=6 Then
      begin
        a:= FileListBox1.FileName;
        DeleteFile( FileListBox1.FileName);
        ShowMessage('Datei: ' +FileListBox1.FileName+' wurde gelöscht');
        FileListbox1.Update;
      end
  else
    Application.MessageBox('Bitte Name des zu Löschenden Bildes auswählen','Löschinformation',48);
  end;
end;

Daniel G 3. Feb 2007 18:02

Re: Löschen von Dateien
 
Delphi-Quellcode:
if FileListBox1.Filename <> '' then //Filename vergessen
Und die Satzzeichen hast du in deinem Post auch vergessen... :wall:

SaFu 3. Feb 2007 18:07

Re: Löschen von Dateien
 
Ich steh heute voll aufm schlauch.

das FileName hate ich schon reingesetzt, hatte nur das end an die falsche stelle gestzt.

Delphi-Quellcode:

procedure TForm4.Button1Click(Sender: TObject);
var a :String;
begin
if FileListBox1.FileName <> '' then
  begin
    if Application.MessageBox('Wollen sie wirklich dieses Bild Löschen ','Löschinformation',68)=6 Then
      begin
        a:= FileListBox1.FileName;
        DeleteFile( FileListBox1.FileName);
        ShowMessage('Datei: ' +FileListBox1.FileName+' wurde gelöscht');
        FileListbox1.Update;
      end;
     end// hier gehört es hin
  else
    Application.MessageBox('Bitte Name des zu Löschenden Bildes auswählen','Löschinformation',48);
end;
aber danke nochmals für eure hilfe

C.Schoch 3. Feb 2007 18:18

Re: Löschen von Dateien
 
Des weiteren kannst du noch nicht davon ausgehen, dass die Datei wirklich gelöscht wurde!
Ich würd noch den Rückgabewert von DeleteFile abfragen
Delphi-Quellcode:
procedure TForm4.Button1Click(Sender: TObject);
var a :String;
begin
if FileListBox1.FileName <> '' then
  begin
    if Application.MessageBox('Wollen sie wirklich dieses Bild Löschen ','Löschinformation',68)=6 Then
      begin
        a:= FileListBox1.FileName;
        if DeleteFile( FileListBox1.FileName) then // <- Hier geändert
        begin
          ShowMessage('Datei: ' +FileListBox1.FileName+' wurde gelöscht');
          FileListbox1.Update; // Das Updaten auch sparen wenn nichts gelöscht
        end;
      end;
     end// hier gehört es hin
  else
    Application.MessageBox('Bitte Name des zu Löschenden Bildes auswählen','Löschinformation',48);
end;

SaFu 3. Feb 2007 18:59

Re: Löschen von Dateien
 
ja stimmt ist besser so aber das updaten muss rein sonnst wir die ListBox nicht aktualliesiert


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:34 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz