Delphi-PRAXiS
Seite 6 von 6   « Erste     456   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi NTFS-Komprimierung einer einzelnen Datei? (https://www.delphipraxis.net/197883-ntfs-komprimierung-einer-einzelnen-datei.html)

Hobbycoder 15. Sep 2018 17:23

AW: NTFS-Komprimierung einer einzelnen Datei?
 
Zitat:

Zitat von PeterPanino (Beitrag 1413273)
Deswegen steht da ja
Delphi-Quellcode:
SW_HIDE
.

Noch schlimmer. Das heißt für den Benutzer deines Programms, ob das komprimieren erfolgreich war oder nicht, kann er raten.

Was den Rest angeht, dazu sage ich mal nichts mehr.

KodeZwerg 15. Sep 2018 19:15

AW: NTFS-Komprimierung einer einzelnen Datei?
 
Zitat:

Zitat von Luckie (Beitrag 1413276)
Reißt euch bitte etwas zusammen und versucht zu einer sachlichen, auf das Thema bezogene Diskussion zurück zu kommen!

Wobei eigentlich schon alles gesagt wurde. Es wurden zwei Möglichkeiten präsentiert, welche da von jetzt besser oder schlechter ist, ist wohl kaum abschließend zu klären und unterliegt unterschiedlichen Philosophien.

Ich sagte ja einen hab ich noch damit alle guten Dinge drei ergeben, für Leute die tatsächlich WinApi benutzen möchten, hier bitte schön
Delphi-Quellcode:
function CompressFile(const FileName: string; Compress: Boolean): integer;
var
  FSWbemLocator : OLEVariant;
  FWMIService  : OLEVariant;
  FWbemObject  : OLEVariant;
begin;
  FSWbemLocator := CreateOleObject('WbemScripting.SWbemLocator');
  FWMIService  := FSWbemLocator.ConnectServer('localhost', 'root\CIMV2', '', '');
  FWbemObject  := FWMIService.Get(Format('CIM_DataFile.Name="%s"',[StringReplace(FileName,'\','\\',[rfReplaceAll])]));
  if Compress then
    Result:=FWbemObject.Compress()
  else
    Result:=FWbemObject.UnCompress();
end;
Keine Fehlerkontrolle, nur reines "machen" momentan.

EWeiss 15. Sep 2018 21:28

AW: NTFS-Komprimierung einer einzelnen Datei?
 
Zitat:

für Leute die tatsächlich WinApi benutzen möchten, hier bitte schön
Ich verstehe eure rum Reiterei auf WinApi nicht wirklich. Sorry!

Nochmal.
Zitat:

Auch wenn man ein externes Programm startet bedient man sich der WinApi nämlich in dem fall ShellExecute/Ex.
ShellExecute bedient sich der Shellapi.. und ist das keine WinApi? Aus der (Shell32.dll (version 3.51 or later))

Die frage ist oder sollte eher lauten möchte ich eine fremde Anwendung aus meinem Code heraus starten oder eine Funktion verwenden die
am ende das gleiche tut mit dem unterschied das ich mehr Kontrolle über die Rückgabe der Funktionen habe die ich ausführen möchte.

Sorry WinApi wird in jedem fall verwendet so oder So.
Nur nochmal zur Klarstellung.

gruss

KodeZwerg 15. Sep 2018 21:55

AW: NTFS-Komprimierung einer einzelnen Datei?
 
Zitat:

Zitat von EWeiss (Beitrag 1413300)
Zitat:

für Leute die tatsächlich WinApi benutzen möchten, hier bitte schön
Ich verstehe eure rum Reiterei auf WinApi nicht wirklich. Sorry!

Nochmal.
Zitat:

Auch wenn man ein externes Programm startet bedient man sich der WinApi nämlich in dem fall ShellExecute/Ex.
ShellExecute bedient sich der Shellapi.. und ist das keine WinApi? Aus der (Shell32.dll (version 3.51 or later))

Die frage ist oder sollte eher lauten möchte ich eine fremde Anwendung aus meinem Code heraus starten oder eine Funktion verwenden die
am ende das gleiche tut mit dem unterschied das ich mehr Kontrolle über die Rückgabe der Funktionen habe die ich ausführen möchte.

Sorry WinApi wird in jedem fall verwendet so oder So.
Nur nochmal zur Klarstellung.

gruss

ShellExecute/Ex() WinExec() etc das ist Windows Api, habe ich nie bestritten und werde ich auch nicht in Frage stellen.
Was hinter dem Exec() passiert, das hat für mich wenig bis gar nichts mit Windows Api am Hut da man selbst ja nichts steuert sondern jemand fremden ans Lenkrad lässt wie Du ja selber schreibst. Mehr mag ich dazu nicht mehr sagen, nur das noch, ich wollte mich damit auch nicht direkt an den TE wenden, auch wollte ich niemals nicht sagen das ein externes Programm zu starten generell schlecht sei, sondern andere Interessierte Leser was eventuell brauchbares weitergeben.

EWeiss 15. Sep 2018 22:07

AW: NTFS-Komprimierung einer einzelnen Datei?
 
Zitat:

Was hinter dem Exec() passiert, das hat für mich wenig bis gar nichts mit Windows Api am Hut da man selbst ja nichts steuert sondern jemand fremden ans Lenkrad lässt wie Du ja selber schreibst.
Das ist korrekt. ;)

Ich finde deinen Einsatz ja auch nicht schlecht den du hier zeigst.
Wollte das nur nochmal aufgreifen um es ins richtige Licht zu rücken.

gruss


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:14 Uhr.
Seite 6 von 6   « Erste     456   

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