Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

Die Arbeit mit ZIP von den Mitteln Windows

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC.
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
VANYA



Anmeldungsdatum: 17.06.2011
Beiträge: 8

BeitragVerfasst am: 17.06.2011, 10:31    Titel: Die Arbeit mit ZIP von den Mitteln Windows Antworten mit Zitat

Искал по интернету возможность упаковки\распаковки ZIP средствами Windows. Но все, что я сумел найти это код на C#. Может кто подсказать, есть ли возможность его перевести на FreeBasic ?

Suchte nach dem Internet die Möglichkeit der Verpackung \Entpackens ZIP von den Mitteln Windows. Aber allen, dass ich geschaffen habe, es den Kode auf C # zu finden. Ob wer vorsagen kann es gibt die Möglichkeit es, auf FreeBasic zu übersetzen.


Code:
// C# version 3.0
using System;
using System.IO;
using System.Text;
using Shell32; // Reference to C:\WINDOWS\system32\shell32.dll
 
public static class Zipper {
    public static void Compress(string zipFileName, params string[] fileNames) {
        //Create an empty zip file
        byte[] emptyzip = new byte[] {80, 75, 5, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
        using (FileStream fileStream = File.Create(zipFileName)) {
            fileStream.Write(emptyzip, 0, emptyzip.Length);
            fileStream.Flush();
            fileStream.Close();
        }
        Add(zipFileName, fileNames);
    }
 
    public static void Add(string zipFileName, params string[] fileNames) {
        Folder destFolder = new ShellClass().NameSpace(zipFileName);
        foreach (string filename in fileNames)
            destFolder.CopyHere(filename, 20);
    }
 
    public static void Extract(string zipFileName, string targetPath) {
        Folder srcFolder = new ShellClass().NameSpace(zipFileName);
        Folder dstFolder = new ShellClass().NameSpace(targetPath);
        dstFolder.CopyHere(srcFolder.Items(), 20);
    }
}
 
 
// Zipper test
internal class Program {
    private static void Main(string[] args) {
        FileInfo zipFileInfo = new FileInfo(Path.Combine(Path.GetTempPath(), Path.GetRandomFileName() + ".zip"));
        if (zipFileInfo.Exists)
            zipFileInfo.Delete();
        Zipper.Compress(zipFileInfo.FullName); // just create empty zip-file
        DirectoryInfo sourceDir = new DirectoryInfo(Path.Combine(Path.GetTempPath(), Path.GetRandomFileName()));
        if (!sourceDir.Exists)
            sourceDir.Create();
        for (int i = 0; i < 31; i++) {
            FileInfo fileInfo = new FileInfo(Path.Combine(sourceDir.FullName, Path.GetRandomFileName()));
            if (!fileInfo.Exists) {
                using (FileStream fileStream = fileInfo.Create()) {
                    for (int j = 0; j < 15; j++) {
                        byte[] bytes = Encoding.Default.GetBytes(fileInfo.FullName + Environment.NewLine);
                        fileStream.Write(bytes, 0, bytes.Length);
                    }
                    fileStream.Close();
                }
            }
            Zipper.Add(zipFileInfo.FullName, fileInfo.FullName);
        }
        DirectoryInfo targetDir = new DirectoryInfo(Path.Combine(Path.GetTempPath(), Path.GetRandomFileName()));
        if (!targetDir.Exists)
            targetDir.Create();
        Zipper.Extract(zipFileInfo.FullName, targetDir.FullName);
 
        sourceDir.Delete(true);
        targetDir.Delete(true);
        zipFileInfo.Delete();
    }
}



Работа при помощи ZLIB , 7ZIP и других библиотек меня не интересует.

Die Arbeit mit Hilfe ZLIB, 7ZIP und anderer Bibliotheken interessiert mich nicht.
_________________
http://free-basic.ru/ - Russian FreeBasic site
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 17.06.2011, 11:22    Titel: Antworten mit Zitat

Der Code wird nur mit .net-Sprachen funktionieren, also nicht mit FreeBASIC. Unter FreeBASIC kannst du die Zip-Bibliothek von Info-Zip verwenden.
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
VANYA



Anmeldungsdatum: 17.06.2011
Beiträge: 8

BeitragVerfasst am: 17.06.2011, 13:53    Titel: Antworten mit Zitat

Über diesen sagen Sie?

http://www.freebasic-portal.de/downloads/bibliotheken/libzip-version-0-9-3-161.html
_________________
http://free-basic.ru/ - Russian FreeBasic site
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 17.06.2011, 14:35    Titel: Antworten mit Zitat

Das ist zwar eine andere Bibliothek, aber sie wird sicher genau so gut funktionieren.
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
VANYA



Anmeldungsdatum: 17.06.2011
Beiträge: 8

BeitragVerfasst am: 17.06.2011, 14:38    Titel: Antworten mit Zitat

Danke!
_________________
http://free-basic.ru/ - Russian FreeBasic site
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC. Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz