![]() |
Anzeige:
|
|
|||||||
| XProfan Alles rund um die Programmiersprache XProfan. |
|
![]() |
|
|
LinkBack | Themen-Optionen | Ansicht |
|
|
#1 (Direktlink) | |
|
Super-Moderator
![]() Registriert seit: 15.02.2009
Beiträge: 10.786
|
Kleiner Tipp:
Ich stand gerade vor dem Problem, dass ich möglichst von jeder Datei die Dateigröße benötigte - welche API ist dafür aber die beste? Es gibt da ja einige, die man verwenden könnte. Unter anderem für GetFileSizeEx benötigt man ein Handle auf die Datei, das mittels CreateFile ermittelt werden muss. In MSDN ist über dieses Handle folgendes zu lesen: Zitat:
MSDN schreibt hier aber nicht ganz die Wahrheit. CreateFile kann, wenn das Handle zum Ermitteln der Dateigröße verwendet werden soll, ohne weiteres als zweiten Parameter den Wert $0 erhalten - GetFileSizeEx schlägt dann nicht fehl. Aber kann man dann die Größe aller Dateien ermitteln? Nein! Bei sich gerade in Benutzung befindlichen Dateien (zum Beispiel pagefile.sys) kann es vorkommen, dass CreateFile fehl schlägt und GetLastError den Code 32 (Der Prozess kann nicht auf die Datei zugreifen, da sie von einem anderen Prozess verwendet wird.) zurückgibt. Zur Ermittlung der Dateigröße bietet sich FindFirstFile an, denn diese API öffnet auch Dateien, die sich in Bearbeitung befinden. PS: In MSDN sind sehr oft die nötigen Rechte für ein Handle viel zu hoch angegeben. Ein eigener Test zahlt sich oft aus.
__________________
______________ Bitte Schnelltest durchführen: Neuer Virus, ahnungslose User seit Monaten infiziert! Mfg AHT Geändert von AHT (30.01.2010 um 11:01 Uhr) |
|
|
|
|
|
|
|
#2 (Direktlink) |
|
Forenmaskottchen
![]() Registriert seit: 09.02.2009
Ort: Bangkok
Beiträge: 686
|
Ja Findfirstfile ist das zuverläsisgste um Dateigrößen zu ermitteln, Gibt ja auch jede Menge andere Infos zurück. Ich glaube Profan verwendet diese API ab Version 9 auch um Größe und sonstige Attribute zu ermitteln.
__________________
Er ist ein Mann wie ein Baum. Sie nennen ihn Bonsai. http://dieterzornow.gmxhome.de |
|
|
|
|
|
#3 (Direktlink) | |
|
MoRoGeP-Träger 2011
![]() Registriert seit: 06.02.2009
Ort: Heidelberg
Alter: 71
Beiträge: 1.878
|
Dann ist also der Code, mit dem ich als API-Nichtkenner die Dateigröße ermittle, für den A...
Zitat:
__________________
Gruss, horst Computer werden kleiner und kleiner, bald verschwinden sie völlig. (Ephraim Kishon 1924-2005) http://www.web-treffpunkt.de |
|
|
|
|
|
|
#4 (Direktlink) |
|
Super-Moderator
![]() Registriert seit: 05.02.2009
Ort: Westliches NRW
Alter: 44
Beiträge: 5.094
|
Teste das doch aus, Horst. Lad einen Text in einen Editor und versuche mit deinem Programm die Dateigrösse der Textdatei zu ermitteln.
__________________
Gruß, Frank ![]() Webpage http://frabbing.bplaced.net mit Freeware - Tools, Spiele und Grafiken. |
|
|
|
|
|
#5 (Direktlink) |
|
Super-Moderator
![]() Registriert seit: 15.02.2009
Beiträge: 10.786
|
Nein. Auf älteren Profanversionen macht FileSize einen dicken Fehler und schließt ein Handle nicht - ich brauchte deshalb gleichwertigen Ersatz (einige hunderttausend Handles die nicht geschlossen werden, war mir doch zuviel).
__________________
______________ Bitte Schnelltest durchführen: Neuer Virus, ahnungslose User seit Monaten infiziert! Mfg AHT |
|
|
|
|
|
|
#6 (Direktlink) |
|
MoRoGeP-Träger 2011
![]() Registriert seit: 06.02.2009
Ort: Heidelberg
Alter: 71
Beiträge: 1.878
|
@Frank
Hab ich gemacht - Habe die hier gezeigte Code-Datei geladen und dann als FILEEXISTS(datei$) gesucht. Die Größe wurde einwandfrei angezeigt PS: Meine Frage war wie meist, rein rhetorisch: Es muss nicht immer API sein. XProfan kann das auch !
__________________
Gruss, horst Computer werden kleiner und kleiner, bald verschwinden sie völlig. (Ephraim Kishon 1924-2005) http://www.web-treffpunkt.de |
|
|
|
|
|
#7 (Direktlink) |
|
Super-Moderator
![]() Registriert seit: 05.02.2009
Ort: Westliches NRW
Alter: 44
Beiträge: 5.094
|
XProfan ist im Grunde ja auch eine Form von API.
__________________
Gruß, Frank ![]() Webpage http://frabbing.bplaced.net mit Freeware - Tools, Spiele und Grafiken. |
|
|
|
|
|
#8 (Direktlink) |
|
Super-Moderator
![]() Registriert seit: 15.02.2009
Beiträge: 10.786
|
Wie gesagt, es geht nicht um die Funktion sondern um das Speicherleck (dürfte in der Freewareversion 8 auch drin sein).
__________________
______________ Bitte Schnelltest durchführen: Neuer Virus, ahnungslose User seit Monaten infiziert! Mfg AHT |
|
|
|
|
|
#9 (Direktlink) | ||
|
MoRoGeP-Träger 2011
![]() Registriert seit: 06.02.2009
Ort: Heidelberg
Alter: 71
Beiträge: 1.878
|
Zitat:
Wenn ich den Code ändere: Zitat:
__________________
Gruss, horst Computer werden kleiner und kleiner, bald verschwinden sie völlig. (Ephraim Kishon 1924-2005) http://www.web-treffpunkt.de |
||
|
|
|
|
|
#10 (Direktlink) |
|
Super-Moderator
![]() Registriert seit: 15.02.2009
Beiträge: 10.786
|
__________________
______________ Bitte Schnelltest durchführen: Neuer Virus, ahnungslose User seit Monaten infiziert! Mfg AHT |
|
|
|
|
|
|
#11 (Direktlink) |
|
Forenmaskottchen
![]() Registriert seit: 09.02.2009
Ort: Bangkok
Beiträge: 686
|
@Horst:
Profan besteht zum größten Teil intern aus API Aufrufen. Nur sind die Aufrufe so aufbereitet, dass sie leichter zu verwenden sind und manchmal wird dabei halt etwas übersehen. Prinzipiell könnte man die Profan Befehle und Funktionen alle über API nachbilden.
__________________
Er ist ein Mann wie ein Baum. Sie nennen ihn Bonsai. http://dieterzornow.gmxhome.de |
|
|
|
|
|
#12 (Direktlink) |
|
Super-Moderator
![]() Registriert seit: 15.02.2009
Beiträge: 10.786
|
Hallo Horst...
Du musst gar nichts ändern und kannst bei FileSize bleiben (geht auch schneller als über API). Frank hat schon bestätigt, dass der Fehler unter XProfan11 gefixt ist.
__________________
______________ Bitte Schnelltest durchführen: Neuer Virus, ahnungslose User seit Monaten infiziert! Mfg AHT |
|
|
|
|
|
#13 (Direktlink) |
|
Forenmaskottchen
![]() Registriert seit: 08.02.2009
Ort: Nußloch (bei Heidelberg)
Beiträge: 550
|
Hallo,
dass Spreicherrlerck war zum Einem so winzig (nur wenige Bytes pro FindFirst im Programm), dass es in 99,99% aller Programme gar nicht auffiel und zum Anderen auch nur sehr kurzzeitig (ich weiß nicht mal genau mehr, welche Version) im Programm, als ich intern von den Delphi-Dateifunktionen auf die entsprechenden API-Funktionen umgestiegen bin (sind etwas mächtiger und flexibler) und übersehen hatte, dass die API FindFirst ein Handle erzeugt, das wieder geschlossen werden muss. Gruß Roland
__________________
Pentium D 2,8 GHz / 3 GB RAM / 500 GB HDD / ATI Radeon HD5450 1024 MB / Windows 7(32) - XProfan X2.0c AMD Athlon II X2 2,9 GHz / 3 GB RAM / 500 GB HDD / ATI Radeon 3000 / Windows 7(64) - XProfan X2.0c http://www.xprofan.de |
|
|
|
|
|
#14 (Direktlink) |
|
Super-Moderator
![]() Registriert seit: 15.02.2009
Beiträge: 10.786
|
Na ja - bei mir sind am Schluss eines Dateilistings so in etwa 50000 Handles offen
Es könnte sogar sein, das XProfan8 den Fehler noch gar nicht enthält - habe es noch nicht getestet.
__________________
______________ Bitte Schnelltest durchführen: Neuer Virus, ahnungslose User seit Monaten infiziert! Mfg AHT |
|
|
|
|
|
#15 (Direktlink) | |
|
MoRoGeP-Träger 2011
![]() Registriert seit: 06.02.2009
Ort: Heidelberg
Alter: 71
Beiträge: 1.878
|
@AHT
Zitat:
Wir sind bei 11.2 !
__________________
Gruss, horst Computer werden kleiner und kleiner, bald verschwinden sie völlig. (Ephraim Kishon 1924-2005) http://www.web-treffpunkt.de |
|
|
|
|
|
![]() |
|
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
|
|
Ähnliche Themen
|
||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Gifs in der Dateigröße (Kb) verlkeinern? | Checkervara | Homepagegestaltung | 6 | 27.09.2007 17:56 |
| Dateigröße verkleinern MPEG | VfB ler | Software - Allgemein | 11 | 09.02.2007 09:17 |
| Dateigröße für Avatare | WuestenFuX | über das Forum | 11 | 24.10.2006 20:46 |
| dateigröße ''runterpainten'' | s.j. | Allgemein | 9 | 08.08.2006 19:57 |
| Probleme mit Davideo 2 - Dateigröße | Herry | Software - Allgemein | 1 | 09.12.2002 22:07 |