Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi CAB oder sonst. Archiv coden (https://www.delphipraxis.net/15869-cab-oder-sonst-archiv-coden.html)

TheMiller 5. Feb 2004 15:50


CAB oder sonst. Archiv coden
 
Hi leute,

auf cds finde ich manchmal *.cab daten, in denen die zu installierenden Daten liegen. Diese können auch nicht extrahiert werden. Wie kann ich meine daten so packen. Gibt es da eine spez. funktion?

danke im vorraus

Bobator 5. Feb 2004 15:55

Re: CAB oder sonst. Archiv coden
 
hi,

für Arbeiten mit gepackten Dateien benutze ich Abbrevia v.3.04 von Turbo Power Software. Die Komponenten sind echt leicht zu handhaben.

TheMiller 5. Feb 2004 16:08

Re: CAB oder sonst. Archiv coden
 
Hi danke erstmal.

Sieht ganz gut aus.
Aber kannst du mir evtl. mal bitte einen Code fü's packen und entpacken senden? Also, ich hätte gerne ein CAB Archiv, oder so, damit nicht jeder daran kann... Wäre echt nett

Bobator 5. Feb 2004 16:36

Re: CAB oder sonst. Archiv coden
 
hi,

im Unterverzeichnis \tpabbrevia\examples\Delphi findest du ne Menge Beispiele, wenn dir die nicht weiterhelfen frag noch mal.

Gruß Bob

TheMiller 5. Feb 2004 16:48

Re: CAB oder sonst. Archiv coden
 
OK, habe sie jetzt gesehen. Bei mir steht immer "Udenfinierter Bezeichner:AbmakeCab1" wie kann ich das mit in die unit einbeziehen, sodass es auch funzt?

Danke für die hilfe

Bobator 5. Feb 2004 17:27

Re: CAB oder sonst. Archiv coden
 
mhh. Anscheinend ist der Pfad mit den Sourcen noch nicht eingetragen. Klicke auf Tools->Umgebungsoptionen->Bibliothekspfad und da auf den Button mit den Punkten. Füge in der Liste den Pfad mit den *.pas Dateien hinzu, dann müsste es gehen.

TheMiller 5. Feb 2004 17:45

Re: CAB oder sonst. Archiv coden
 
Das habe ich getan. es funzt nicht

Die Datei "AbmakeCab1" ist auch in dem Verzeichnis (das ich von der DP aus deiner Antwort laden konnte) nicht vorhanden

Der Compiler meckert an der Stelle im code:
Delphi-Quellcode:
procedure TForm1.CreateBtnClick(Sender: TObject);
begin
  OpenDialog1.Filename := '*.Cab';
  OpenDialog1.Title := 'Name of 1st cabinet';
  if OpenDialog1.Execute then begin
    Panel1.Caption := 'Creating ' + OpenDialog1.FileName;
    AbMakeCab1.OpenArchive(OpenDialog1.FileName);
    Caption := AbMakeCab1.FileName;
    Panel1.Caption := 'Idle';
  end;
end;
Delphi-Quellcode:
AbMakeCab1.OpenArchive(OpenDialog1.FileName);

Bobator 5. Feb 2004 18:01

Re: CAB oder sonst. Archiv coden
 
mhh. hab dein Code einfach rüberkopiert ein button, ein panel und ein opendialog raufgezogen und natürlich die komponente und er macht keinen Fehler! Bei der Installation muss bei dir was falsch gelaufen sein. Wann kommt die Fehlermeldung? Beim Kompilieren oder beim Öffnen?

TheMiller 5. Feb 2004 18:04

Re: CAB oder sonst. Archiv coden
 
Erst beim Kompilieren....

Bobator 5. Feb 2004 18:29

Re: CAB oder sonst. Archiv coden
 
Keine Ahnung :?: . poste mal den ganzen Quelltext als Attachment.

TheMiller 5. Feb 2004 18:31

Re: CAB oder sonst. Archiv coden
 
Ich glaube nicht, dass es am Quelltext liegt. Ich müsste ja eine Komponente sehen, die so ähnlich ist, wie z.b der Timer, oder der Opendialog. Das ist auch nicht da


Ich glaube es ich falsch bzw. garnet installiert. Wie mache ich das richtig?

Bobator 5. Feb 2004 19:04

Re: CAB oder sonst. Archiv coden
 
hi,

hast du die Anweisungen der readme befolgt? Hier nochmal das Dokument:
Code:
TurboPower Abbrevia


Table of contents

1. Introduction
2. Package names
3. Installation
4. Version history
4.1   Release 3.04

==============================================


1. Introduction


Abbrevia is a compression toolkit for Borland Delphi, C++Builder, &
Kylix. It supports PKZIP 4, Microsoft CAB, TAR, & gzip formats & the
creation of self-extracting archives. It includes visual components
that simplify the manipulation of ZIP files.


This is a source-only release of TurboPower Abbrevia. It includes
designtime and runtime packages for Delphi 3 through 7 and C++Builder
3 through 6.

==============================================

2. Package names


TurboPower Abbrevia package names have the following form:

  BNNNKKVV.*
   |  | |
   |  | +------ VV VCL version (30=Delphi 3, 40=Delphi 4, 70=Delphi 7)
   |  +-------- KK Kind of package (R=runtime, D=designtime, CD = CLX designtime,
   |                                 CR = CLX runtime, VD = VCL designtime,
   |                                 VR = VCL runtime)
   |
   +----------- NNN Product version number (e.g., 304=version 3.04)


For example, the Abbrevia designtime package files for Delphi 5 have
the filename B304_D50.*.

==============================================

3. Installation


To install TurboPower Abbrevia into your IDE, take the following steps:

  1. Unzip the release files into a directory (e.g., d:\abbrevia).

  2. Start Delphi or C++Builder.

  3. Add the source subdirectory (e.g., d:\abbrevia\source) to the
     IDE's library path.

  4. Open & compile the runtime package specific to the IDE being
     used.

  5. Open & install the designtime package specific to the IDE being
     used. The IDE should notify you the components have been
     installed.

  6. Make sure the PATH environmental variable contains the directory
     in which the compiled packages (i.e., BPL or DPL files) were
     placed.

==============================================

4. Version history


4.1 Release 3.04

    Bug Fixes
    ---------

    - Problem with redundant checks for Central Directory Tail on spanned archives.

    - Removed AbZipTyp dependency on Dialogs unit.


    Enhancements
    ------------

    - Delphi 7 Support Added

    - Added Support for Archive Save Progress
Für Delphi 6 musst du die Dateien B304_r60.dpk, B304vr60.dpk kompilieren und die Datei B304vd60.dpk kompilieren und installieren. Dann geht es.

TheMiller 5. Feb 2004 19:11

Re: CAB oder sonst. Archiv coden
 
Ok, das mit dem Compilieren war eine gute idee. Das habe ich auch getan. Nur als ich die Packages hinzufügen wollte sagte er mir bei B304_vd60 und B304_vr60, dass er den "Prozedureinsprungspunkt @bla@bla" nicht finden könne... Ich sehe also immernoch keine Komponenten

Luckie 5. Feb 2004 19:16

Re: CAB oder sonst. Archiv coden
 
Zitat:

Zitat von DJ-SPM
Also, ich hätte gerne ein CAB Archiv, oder so, damit nicht jeder daran kann.

Nun, ich will dich ja nicht deiner Illusion berauben, aber heutzutage kann wohl jeder etwas bessere Packer Cab-Archive entpacken. Desweiteren hat das Cab-Format einige etwas unangenehmen Restriktionen. So kann man einem Archiv keine datei hinzufügen, ohne es kpmplett zu entpacken und neu zu packen. Das gleioche gilt für des Löschen aus einem Archiv. Auch können keine Pfade gespeichert werden. Alle sin allem würde ich ein Zip Archiv nehmen und selbiges verschlüsseln oder so.

Bobator 5. Feb 2004 19:17

Re: CAB oder sonst. Archiv coden
 
mit welcher delphi version hast du es gemacht? mit 6 enterprise? Installieren darst du nur das vd_package.

TheMiller 5. Feb 2004 19:18

Re: CAB oder sonst. Archiv coden
 
Tja Luckie,

so soll es ja sein. In diesem Falle ist es von Vorteil, wenn es schwer zu handhaben ist.

TheMiller 5. Feb 2004 19:19

Re: CAB oder sonst. Archiv coden
 
Ja, genau siese Version habe ich. Hm, ich fange nochmal von vorne an und installiere nur die besagte Version. Bis gleich ;-)

TheMiller 5. Feb 2004 19:26

Re: CAB oder sonst. Archiv coden
 
So, jetzt habe ich NUR die Datei B305vd60.bpl einladen wollen und dir Meldung "Die Anwendung konnte nicht gestartet werden, weil B305vr60.bpl nicht gefunden wurde. Neuinstallation der Anwendung könnte das Problem beheben." und "Package C:\...\B305vd60.bpl kann nicht geladen werden. das Modul wurde nicht gefunden" <- ?? erscheinen...

Ich dreh bald durch. Ach. erstmal danke für deine Hilfe. find cih nett... Nur weiter so ;-)

TheMiller 5. Feb 2004 19:31

Re: CAB oder sonst. Archiv coden
 
:shock:
IIIIICCCCCHHHHHH HHHHHAAAAAABBBBBBSSSSSS!!!!!!!!!!!!!

Vielen Dank für deine Hilfe!!!!!!!!!

Danke Danke Danke

stoxx 11. Feb 2004 12:51

Re: CAB oder sonst. Archiv coden
 
Zitat:

Zitat von Luckie
Zitat:

Zitat von DJ-SPM
Also, ich hätte gerne ein CAB Archiv, oder so, damit nicht jeder daran kann.

Nun, ich will dich ja nicht deiner Illusion berauben, aber heutzutage kann wohl jeder etwas bessere Packer Cab-Archive entpacken. Desweiteren hat das Cab-Format einige etwas unangenehmen Restriktionen. So kann man einem Archiv keine datei hinzufügen, ohne es kpmplett zu entpacken und neu zu packen. Das gleioche gilt für des Löschen aus einem Archiv. Auch können keine Pfade gespeichert werden. Alle sin allem würde ich ein Zip Archiv nehmen und selbiges verschlüsseln oder so.


Hallo Luckie,

welcher Pack Algorithmus unterstützt das anhängen von Daten ohne das alte Archiv entpacken und neu packen zu müssen.
Sowas suche ich nämlich auch.
vielen Dank !

Bobator 11. Feb 2004 15:51

Re: CAB oder sonst. Archiv coden
 
@stoxx
Wie gesagt euch kann die Komponente Abbrevia sehr empfehlen. Das zip-Format dürfte deine Anforderungen erfüllen. Das einzigste was mir an dieser Komponente nicht gefällt ist, dass sie keine Threads benutzt, geht aber auch nicht, weil man sonst nur schwer einen Fortschrittsbalken realisieren könnte.

DXler 11. Feb 2004 16:45

Re: CAB oder sonst. Archiv coden
 
hmmm....

Also ich hab einfach über "Typenbibliothek importieren" die .cab-Version von Microsoft ausgewählt ("COM MakeCab 1.0") und schon konnte ich mit 3(!) Befehlen ein .cab-Archiv erstellen.

Die Funktionen/Prozeduren:

.CreateCab('<beliebiger Dateiname>.cab',0,0);
.AddFile('<Quelldateiname>','<Dateiname in der .cab-Datei>');
.CloseCab;

Diese CAB-Datei kann später im Microsoft Installer integriert werden. => nähere Infos im MSDN (Microsoft Developer Network => Using cabinets and compressed sources )


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:50 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