AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Gesperrte Dateien löschen

Ein Thema von himitsu · begonnen am 20. Jul 2006 · letzter Beitrag vom 3. Aug 2006
Antwort Antwort
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#1

Gesperrte Dateien löschen

  Alt 20. Jul 2006, 18:26
aus Code-Library -> Object-Pascal / Delphi-Language -> Gesperrte Dateien löschen

irgendwie seh ich doppelt

Delphi-Quellcode:
// NT/2K/XP/.NET Systeme
if StrLen(PChar(ExtractFileDrive(aFileName))) < 3 then
  Result := MoveFileEx(PChar(aFileName), nil, MOVEFILE_REPLACE_EXISTING +
      MOVEFILE_DELAY_UNTIL_REBOOT)
else
  Result := MoveFileEx(PChar(aFileName), nil, MOVEFILE_REPLACE_EXISTING +
      MOVEFILE_DELAY_UNTIL_REBOOT);
oder kurzgesagt ... was ist hier der Unterschied?
$2B or not $2B
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#2

Re: Gesperrte Dateien löschen

  Alt 20. Jul 2006, 18:56
Hi,

Sieht für mich auch identisch aus

... aber sollten die Optionen nicht mit OR statt mit + verknüpft werden?

mfG
mirage228
David F.

May the source be with you, stranger.
PHP Inspection Unit (Delphi-Unit zum Analysieren von PHP Code)
  Mit Zitat antworten Zitat
generic

Registriert seit: 24. Mär 2004
Ort: bei Hannover
2.416 Beiträge
 
Delphi XE5 Professional
 
#3

Re: Gesperrte Dateien löschen

  Alt 21. Jul 2006, 07:22
so lange man die konstanten nicht doppelt angiebt oder es konstanten mit zusammengefassten werten gibt ist das kein problem.

binär:
10 + 01 = 11
10 or 01 = 11

also jeweils da gleiche ergebnis.


zu der frage oben ich kann auch keinen unterschied entdecken.
Coding BOTT - Video Tutorials rund um das Programmieren - https://www.youtube.com/@codingbott
  Mit Zitat antworten Zitat
Go2EITS

Registriert seit: 25. Jun 2006
519 Beiträge
 
Delphi 7 Personal
 
#4

Re: Gesperrte Dateien löschen

  Alt 21. Jul 2006, 12:40
Hallo, himitsu!

Der erste Teil wird ausgeführt wenn die kleiner als Len 3 sind, um Fehleingaben wie C:\ zu umgehen
der zweite Teil geht in Aktion wenn z. B. C: übergeben wurde.

Dieser Code ist aber meines Erachtens zweifach fehlerhaft, weil ja ein hier ein 'C:\' = Len 3 übergeben werden kann. Richtig muss es heißen, da ja ein FilePath mit der Laufwerksangabe wohl mindestens 4 Buchstaben haben muss und z. B. so aussieht: C:\a und wenn Len < 4 ist, wird nix gelöscht und result:=false; gesetzt.

Delphi-Quellcode:
if StrLen(PChar(ExtractFileDrive(aFileName))) < 4 then
  Result := False; // Falls Filename z. B. nur aus C:\ besteht
else
  Result := MoveFileEx(PChar(aFileName), nil, MOVEFILE_REPLACE_EXISTING +
      MOVEFILE_DELAY_UNTIL_REBOOT);
Ich hoffe, ich konnte Dir weiterhelfen!

Beste Grüße.
Go2EITS
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#5

Re: Gesperrte Dateien löschen

  Alt 21. Jul 2006, 13:02
Ein bissl hab ich mir sowa schon gedacht .. wollte aber unsere Mieze nich die Arbeit wegnehmen

Das Problem war halt nur, das in dem OriginalCode diese IF-Abrafge total sinnlos ist ... wird ja so, oder so das selbe ausgeführt
$2B or not $2B
  Mit Zitat antworten Zitat
Go2EITS

Registriert seit: 25. Jun 2006
519 Beiträge
 
Delphi 7 Personal
 
#6

Re: Gesperrte Dateien löschen

  Alt 21. Jul 2006, 13:23
Genau. In dem Falle ist die IF Abfrage sinnlos. Kannst aber meinen Code in eine Function mit Boolean stecken. Wenn der Path kleiner als 4 Buchstaben sein sollte, kannst Du ein False zurückgeben. Nicht schöner Code, weil ja auch die Function MoveFileEx ja auch FALSE zurückgeben kann, aber für den Zweck sicherlich vorerst ausreichend. CU
  Mit Zitat antworten Zitat
3. Aug 2006, 14:33
Dieses Thema wurde von "Chakotay1308" von "Neuen Beitrag zur Code-Library hinzufügen" nach "Windows API / MS.NET Framework API" verschoben.
Fehler ist korrigiert. Vielen Dank für den Hinweis und die Lösung.
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:39 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