Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi MMF - Dateigröße verändern (https://www.delphipraxis.net/113164-mmf-dateigroesse-veraendern.html)

Neutral General 3. Mai 2008 18:30


MMF - Dateigröße verändern
 
Hi,

Im Moment mache ich es so (Datei vergrößern): Ich schließe die Datei und öffne sie erneut mit erhöhtem dwMaximumSizeLow-Parameter.

Aber wie verkleinert man sie? also wie löscht man Bytes (am ende der Datei) ?

Gruß
Neutral General

himitsu 3. Mai 2008 23:19

Re: MMF - Dateigröße verändern
 
das würde per MSDN-Library durchsuchenSetEndOfFile gehn

Delphi-Quellcode:
H := CreateFile(...

...
CloseHandle(HMap);
SetFilePointer(H, NewSize, nil, FILE_BEGIN);
SetEndOfFile(H);
HMap := CreateFileMapping(H, nil, PAGE_READWRITE, 0, NewSize, nil);
...
SetFilePointer - Dateizeiger setzen
SetEndOfFile - Datei an Dateizeiger löschen/abschneiden

Neutral General 3. Mai 2008 23:57

Re: MMF - Dateigröße verändern
 
Ich hatte schon fast nicht mehr mit einer Antwort gerechnet, aber nun ja..

Danke, das habe ich gesucht :thumb: :)

himitsu 4. Mai 2008 00:04

Re: MMF - Dateigröße verändern
 
nja, da man (hab jedenfalls noch nichts entdeckt) die MMF nicht direkt ändern kann und eh fast keiner sowas macht (abgesehn davon daß auch noch kaum wer mit MMFs arbeitet) mußt'e halt etwas warten (PS: wer ist denn auch um diese Zeit noch wach X'D)


baust'e dir jetzt 'nen eigenen MMF-FileStream?

Neutral General 4. Mai 2008 00:37

Re: MMF - Dateigröße verändern
 
Ist auch ne Ausnahme das ich wach bin.. Ne Mischung aus melancholischer Laune und Trotz^^

Ja ich baue mir gerade einen MMF-FileStream. Funktioniert sogar soweit wie er jetzt ist gut :)

himitsu 4. Mai 2008 01:04

Re: MMF - Dateigröße verändern
 
könntestt ihn dann ja mal zeigen, wenn er fertig ist.

Meiner ist zwar schon 'ne Weile fertig, aber ich bin immer gespannt drauf, was sich noch verbessern läßt :roll:

Neutral General 4. Mai 2008 01:06

Re: MMF - Dateigröße verändern
 
Also das er besser als deiner wird, bezweifle ich :mrgreen:

Naja ich werd ihn dann mal hier vorstellen wenn er fertig ist ;)

himitsu 4. Mai 2008 01:12

Re: MMF - Dateigröße verändern
 
vielleicht nicht vom Tempo und der Speicherauslastung her, aber da ich mich ja nur auf's "Nötigste" beschränkt hab, kannst du bei der Ausstatung punkten :zwinker:

du machst ihn doch als Object?
dann wäre deiner für OOP-ler interessanter :stupid:
und von TStream abgeleitet wäre er auch noch kompatibel zu den anderen Streaming-Klassen von Delphi (was meiner "leider" nicht ist)

Neutral General 4. Mai 2008 01:18

Re: MMF - Dateigröße verändern
 
Ja ich leite von TStream ab, was aber auch wahrscheinlich heißt, das die Funktionen nicht gerade so zahlreich sein werden.. naja mal abwarten :)

himitsu 4. Mai 2008 01:24

Re: MMF - Dateigröße verändern
 
Zitat:

Zitat von Neutral General
was aber auch wahrscheinlich heißt, das die Funktionen nicht gerade so zahlreich sein werden..

Ableiten heißt nur, daß due die slben Grundfunktionen unterstützt,
aber neue Funktionen kannst du dennoch mit reinbauen.

Die Grundfunktionen bieten eine Kompatibilität der Streamingklassen
- gleiche Funktionen und Einstiegspunkte

Und was mehr vorhanden ist, ist dann Klassenspezifisch ... kann also nur mit deinem Objekt und den davon Abgeleiteten genutzt werden.


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:22 Uhr.
Seite 1 von 2  1 2      

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