Autor Beitrag
Pyr0cracker
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 164

Win XP, Ubuntu 8.04, openSUSE 11.0
Delphi 7 Personal
BeitragVerfasst: Mi 26.03.03 11:05 
Hi, ich habe folgendes Problem:
Mein Programm erstellt mit CreateFile('bla') dateien. ich möchte sie aber danach sofort wieder löschen.
ausblenden Quelltext
1:
2:
3:
4:
createfile('bla.bla');
showmessage('datei wurde erstellt');
deletefile('bla.bla');
showmessage('datei wurde gelöscht.');
wenn ich nur deletefile mache und die datei schon existiert, funzt es.
und wenn ich die Datei erstelle, das programmbeende und wieder starte, kann ich sie auch löschen.
Nur wenn sie direkt hintereinandererstellt und wieder gelöscht werden soll gehts nicht.

Ich freue auf Antworten.
Teutobod
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 55



BeitragVerfasst: Mi 26.03.03 11:37 
Hallo Pyr0cracker!

createfile gibt dir einen Handle zurück und über diesen Handle musst du die Datei erst schließen bevor du sie löschen kannst.

ausblenden Quelltext
1:
2:
3:
4:
5:
var FileHandle : Integer;

FileHandle := filecreate('c:\bla.bla');
FileClose(FileHandle);
if deletefile('c:\bla.bla') = true then showmessage('gelöscht');


mfg Teutobod
ShadowCaster
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 312



BeitragVerfasst: Mi 26.03.03 11:44 
ich setz noch eines oben drauf:

ausblenden Quelltext
1:
2:
3:
var FileHandle : Integer; 
FileClose(filecreate('c:\bla.bla')); 
if deletefile('c:\bla.bla') then showmessage('gelöscht');
Teutobod
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 55



BeitragVerfasst: Mi 26.03.03 11:53 
So gehts natürlich auch. Aber verständlicher für ihn ist sicher meins. Er solls ja auch verstehen, nicht nur kopieren und verwenden. Auf den Rest wird er sicher noch draufkommen.
:D
ShadowCaster
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 312



BeitragVerfasst: Mi 26.03.03 11:59 
sicher doch. Sollte doch nichts gegen deine Programmierkünste sein. So wie du es gemacht hast, ist der Code absolut verständlich und lesbar. :)

Ich persönlich bevorzuge die Variante, alles direkt durch die Funktionen zu pipen und deren Results direkt in einer Zeile zu verwenden.
So wie ich das sehe, geht es noch kürzer ohne Handle:

ausblenden Quelltext
1:
2:
FileClose(filecreate('c:\bla.bla')); 
if deletefile('c:\bla.bla') then showmessage('gelöscht');
Teutobod
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 55



BeitragVerfasst: Mi 26.03.03 12:03 
In deinem vorherigen Post hast du die Variable eh nicht verwendet, nur versehentlich stehen gelassen. :wink:
Pyr0cracker Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 164

Win XP, Ubuntu 8.04, openSUSE 11.0
Delphi 7 Personal
BeitragVerfasst: Mi 26.03.03 17:55 
Wunderbar!
Danke für Beides
wulfskin
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1349
Erhaltene Danke: 1

Win XP
D5 Pers (SSL), D2005 Pro, C, C#
BeitragVerfasst: Mi 26.03.03 18:56 
Nur mal so nebenbei: Wür was brauchst du überhaupt diese "komische" Methode?

_________________
Manche antworten um ihren Beitragszähler zu erhöhen, andere um zu Helfen.