Delphi-PRAXiS
Seite 1 von 6  1 23     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   Der neue FileSplitter ist da (https://www.delphipraxis.net/5327-der-neue-filesplitter-ist-da.html)

Luckie 2. Jun 2003 03:38


Der neue FileSplitter ist da
 
So, die neue Version (4.0) des FileSplitters ist da. Die Dateioperationsroutinen sind noch die alten, aber der Code und das Design wurden etwas überarbeitet.

Wenn die Testphase erfolgreich verlaufen ist, gibt es auch den Source. :wink:

Download: FileSplitter (68 KB)

Luckie 2. Jun 2003 11:41

Ach übrigens:
Das Teilen und Zusammmenfügen passiert in Threads. Theoretisch könnte man eine Datei teilen und gleichzeitig eine andere zusammenfügen. Diesen Härtetest haben ich den FileSplitter aber noch nicht unterzogen. :mrgreen:

tommie-lie 2. Jun 2003 13:49

Bei mir (Win98 SE) funktionieren deine gesamten Dialoge nicht...
Das ist mir schon bei deinem Crypter aufgefallen, den ich mir wegen den Callbacks runteralden sollte.
Gemeint sind die "Datei Öffnen"-Dialoge. Der Info-Button funktioniert (sowohl im FileSplitte rlas auch im Crypter).
Ist das so beabsichtigt, daß Win98-User keine Dateien öffnen dürfen? :mrgreen:

MathiasSimmack 2. Jun 2003 14:35

Das liegt daran, dass unser Luckie nicht hören will ... und wir müssen es dann ausbaden. :wink: Tatsächlich benutzt der Gute eine modifizierte Struktur, die unter Win9x dann nicht reagiert.

Das habe ich ihm bei seinem Crypter auch schon vorgehalten. Wenn er stattdessen den Originalrecord von Borland benutzt, gibt´s dieses Problem nicht (mehr). :)

tommie-lie 2. Jun 2003 14:41

Mensch Luckie, was machst du denn auch :-P

Luckie 2. Jun 2003 15:32

Zitat:

Zitat von MathiasSimmack
Das liegt daran, dass unser Luckie nicht hören will ... und wir müssen es dann ausbaden. :wink: Tatsächlich benutzt der Gute eine modifizierte Struktur, die unter Win9x dann nicht reagiert.

Nein. Tue ich nicht!
Zitat:

Das habe ich ihm bei seinem Crypter auch schon vorgehalten. Wenn er stattdessen den Originalrecord von Borland benutzt, gibt´s dieses Problem nicht (mehr). :)
In beiden Fällen benutze ich den original Code von Borland, wie er von D6 zur Verfügung gestellt wird, keine modifizierte ComDlg oder sonst was. Kuck dir den Crypter an, da ist der Source dabei und hier der Auszug aus dem FileSplitter:
Delphi-Quellcode:
{-----------------------------------------------------------------------------
  Procedure : OpenFile - 2003-06-01 03:45:47
  modified : 2003-06-01
  Author   : Michael Puff
  Purpose  : OpenFileDialog for file to split
  Arguments : None
  Result   : string
-----------------------------------------------------------------------------}

function OpenFile : string;
var
  ofn : TOpenFilename;
  Buffer : array[0..MAX_PATH - 1] of Char;
begin
  result := '';
  ZeroMemory(@Buffer[0], sizeof(Buffer));
  ZeroMemory(@ofn, sizeof(TOpenFilename));
  ofn.lStructSize := sizeof(TOpenFilename);
  ofn.hWndOwner := hApp;
  ofn.hInstance := hInstance;
  ofn.lpstrFile := @Buffer[0];
  ofn.nMaxFile := sizeof(Buffer);
  ofn.Flags := OFN_LONGNAMES;

  { Datei-Öffnen-Dialog aufrufen }
  if GetOpenFileName(ofn) then
    result := ofn.lpstrFile;
end;

Mirilin 2. Jun 2003 15:52

Zitat:

Das Teilen und Zusammmenfügen passiert in Threads. Theoretisch könnte man eine Datei teilen und gleichzeitig eine andere zusammenfügen. Diesen Härtetest haben ich den FileSplitter aber noch nicht unterzogen.
Funktioniert :mrgreen:

tommie-lie 2. Jun 2003 15:58

Tja, dann läuft's bei mir aus einem anderen Grund nicht. Ich bitte um Korrektur!

Luckie 2. Jun 2003 16:19

So. Probiert noch mal. Ich habe da jetzt was gedreht. Der Code sieht jetzt so aus:
Delphi-Quellcode:
const
        OPENFILENAME_SIZE_VERSION_400 : Cardinal = $000004C;

function IsNT5OrHigher: Boolean;
var
  ovi: TOSVERSIONINFO;
begin
  ZeroMemory(@ovi, sizeof(TOSVERSIONINFO));
  ovi.dwOSVersionInfoSize := SizeOf(TOSVERSIONINFO);
  GetVersionEx(ovi);
  if (ovi.dwPlatformId = VER_PLATFORM_WIN32_NT) AND (ovi.dwMajorVersion >= 5) then
    result := TRUE
  else
    result := FALSE;
end;

{-----------------------------------------------------------------------------
  Procedure : OpenFile - 2003-06-01 03:45:47
  modified : 2003-06-01
  Author   : Michael Puff
  Purpose  : OpenFileDialog for file to split
  Arguments : None
  Result   : string
-----------------------------------------------------------------------------}

function OpenFile : string;
var
  ofn : TOpenFilename;
  Buffer : array[0..MAX_PATH - 1] of Char;
begin
  result := '';
  ZeroMemory(@Buffer[0], sizeof(Buffer));
  ZeroMemory(@ofn, sizeof(TOpenFilename));
  if IsNT5OrHigher then
    ofn.lStructSize := sizeof(TOpenFilename)
  else
    ofn.lStructSize := sizeof(OPENFILENAME_SIZE_VERSION_400);
  ofn.hWndOwner := hApp;
  ofn.hInstance := hInstance;
  ofn.lpstrFile := @Buffer[0];
  ofn.nMaxFile := sizeof(Buffer);
  ofn.Flags := OFN_LONGNAMES;

  { Datei-Öffnen-Dialog aufrufen }
  if GetOpenFileName(ofn) then
    result := ofn.lpstrFile;
end;

MathiasSimmack 2. Jun 2003 17:03

Ich wollte nur einwerfen: die von Luckie vor-kompilierte Version hat das Problem, das tommie bereits erwähnt hat; die Dialoge erscheinen nicht. Das Interessante kommt aber jetzt -

Ich habe den Quellcode zur Ansicht bekommen und habe ihn mit meinem Delphi 5 Pro unter Win98 kompiliert (ohne irgendeine Änderung!). Fazit: die Dialoge erscheinen.

:?

Jetzt weiß ich auch nicht mehr.


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:45 Uhr.
Seite 1 von 6  1 23     Letzte »    

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