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:

Mehere Dateien zu einer verbinden?

 
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
surfer87



Anmeldungsdatum: 16.09.2004
Beiträge: 103

BeitragVerfasst am: 24.08.2007, 10:51    Titel: Mehere Dateien zu einer verbinden? Antworten mit Zitat

Hi, ich habe mich gefragt ob es möglich ist mehrere Dateien zu einer zu verbinden, sodass alle aufgerufen werden.
Wäre nützlich für eine Setup Routine.

Es gibt zwar die Möglichkeit, dass man erst alle Dateien aus der gepackten per binary ausließt, speichert und dann öffnet, aber lassen diese sich auch irgendwie direkt öffnen?

Ich danke.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jojo
alter Rang


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

BeitragVerfasst am: 24.08.2007, 10:55    Titel: Antworten mit Zitat

direkt ist das nur, wei du schon erwähnt hast, nur im binary-modus mit einem header möglich. es gibt aber sicher auch DLLs, die solche routinen beinhalten. ich weiß nur, dass es dafür z.B. das PAK-Format von Quake gibt, aber das ist ja mit kanonen auf spatzen geschossen... sowas lässt sich nämlich relativ einfach selber bauen happy
_________________
» 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
Eternal_pain



Anmeldungsdatum: 08.08.2006
Beiträge: 1783
Wohnort: BW/KA

BeitragVerfasst am: 24.08.2007, 10:56    Titel: Antworten mit Zitat

Das ist meines wissens nur moeglich wenn Du auch die Laderoutinen dafuer selbst anfertigst, bzw die Laderoutinen sowas wie 'Load From Memory' unterstuetzen, so ist es nicht unmoeglich alle moeglichen Dateien in eine Datai zu speichern und auch wieder daraus zu laden, mit entsrechenden Headerinformationen wo welche Datei mit welcher groesse innerhalb der Datei zu finden ist... der Teil wird dann geladen/gestreamt (je nach groesse) und der entsprechenden verarbeitungs-/lade routine uebergeben...

(btw: etwas das ich mir schon lange mal vorgenommen habe grinsen )

Edit:
Jojo war schneller durchgeknallt
_________________
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen MSN Messenger
csde_rats



Anmeldungsdatum: 07.01.2007
Beiträge: 2292
Wohnort: Zwischen Sessel und Tastatur

BeitragVerfasst am: 24.08.2007, 12:27    Titel: Antworten mit Zitat

Ich weiß nicht ob das WAD-Format von HL nur Bilder speichern kann, aber ich glaube beim HL-Mod SDK sind da Lade & Speicherroutinen dabei...
_________________
If hilfreicher_Beitrag then klick(location.here)

Klick
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Jojo
alter Rang


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

BeitragVerfasst am: 24.08.2007, 16:47    Titel: Antworten mit Zitat

ich bin ja nicht so wie du und poste einfach zeugs, das "vielleicht" stimmen könnte... Deswegen nun volle Info: PAK aus Quake kann alles speichern, und WAD muss es logischerweise auch, weil (zumindest Original-)WAD-Dateien komplette level (Doom und Spiele auf der Doom-Engine), also auch musik und alles beinhalten... wie du siehst, gibt es mehr als nur 1 format, und für qbasic existiert sogar ein Quake-Pack (PAK) Reader...
_________________
» 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
AndT



Anmeldungsdatum: 02.04.2007
Beiträge: 481

BeitragVerfasst am: 24.08.2007, 17:03    Titel: Antworten mit Zitat

Das weicht zwar vom Thema leicht ab aber mir ist es sogar schon gelungen, eine Art Installer mit FB zu schreiben. Die Dateien wurden direckt mit in die Exe Complitiert.
_________________
Bis irgendwann... grinsen


Zuletzt bearbeitet von AndT am 24.08.2007, 17:04, insgesamt einmal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Sebastian
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 5969
Wohnort: Deutschland

BeitragVerfasst am: 24.08.2007, 17:03    Titel: Antworten mit Zitat

@surfer: Meinst du also prinzipiell sowas http://forum.qbasic.at/viewtopic.php?t=3087 oder wie meinst du das mit dem Ausführen?
_________________

Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Eternal_pain



Anmeldungsdatum: 08.08.2006
Beiträge: 1783
Wohnort: BW/KA

BeitragVerfasst am: 24.08.2007, 17:09    Titel: Antworten mit Zitat

AndT hat Folgendes geschrieben:
Das weicht zwar vom Thema leicht ab aber mir ist es sogar schon gelungen, eine Art Installer mit FB zu schreiben. Die Dateien wurden direckt mit in die Exe Complitiert.

Du meinst wohl angehaengt?

Wie gesagt, es ist moeglich, nur kann man beispielsweise eine BMP nicht mit BLoad Datein aus Datei laden man braucht dazu dann eine eigene laderoutine die entweder die datei aus der datei einliest oder aus dem speicher, das man die ganze datei in einen buffer laedt und von daraus verarbeitet.....[/quote]
_________________
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen MSN Messenger
AndT



Anmeldungsdatum: 02.04.2007
Beiträge: 481

BeitragVerfasst am: 24.08.2007, 17:14    Titel: Antworten mit Zitat

Es geht. Allerdings bräuchte man einen Header, welcher Informationen über die einzelnden Dateien hat.
Als minimale Information reicht aber auch schon die Startposition für jede einzelnde Datei.
Den header könnte man auf 3 weisen implentieren.
1. Die Headerinformationen direckt mit complitieren
2. Per Extradatei
3. Am Anfang einer Datei.
//Edit
Ich frage mich ob da nicht Zlib helfen könnte.
_________________
Bis irgendwann... grinsen


Zuletzt bearbeitet von AndT am 24.08.2007, 17:16, insgesamt einmal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Eternal_pain



Anmeldungsdatum: 08.08.2006
Beiträge: 1783
Wohnort: BW/KA

BeitragVerfasst am: 24.08.2007, 17:16    Titel: Antworten mit Zitat

EternalPain hat Folgendes geschrieben:

Das ist meines wissens nur moeglich wenn Du auch die Laderoutinen dafuer selbst anfertigst, bzw die Laderoutinen sowas wie 'Load From Memory' unterstuetzen, so ist es nicht unmoeglich alle moeglichen Dateien in eine Datai zu speichern und auch wieder daraus zu laden, mit entsrechenden Headerinformationen wo welche Datei mit welcher groesse innerhalb der Datei zu finden ist... der Teil wird dann geladen/gestreamt (je nach groesse) und der entsprechenden verarbeitungs-/lade routine uebergeben...


mit den Augen rollen
_________________
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen MSN Messenger
Eisbaer



Anmeldungsdatum: 16.10.2004
Beiträge: 354
Wohnort: Deutschland,Bayern

BeitragVerfasst am: 24.08.2007, 17:47    Titel: CAB Dateien Antworten mit Zitat

Es gibt da noch was nettes.. lächeln

Das CAB-Dateiformat ist ein Format zur komprimierten Archivierung von Dateien, die Abkürzung steht für Cabinet (was z.B. für Gehäuse, Kasten oder auch (Akten)schrank steht).

Es ist ein Microsoft eigenes Format und damit in jedem Windows verankert.

Zum Erstellen von Cab Dateien gibt es das
Komandozeilen Tool "makecab.exe" das in der CMD mit dem
Paramter:

MAKECAB [/V[n]] [/D var=value ...] [/L dir] source [destination]
MAKECAB [/V[n]] [/D var=value ...] /F directive_file [...]

aufgerufen werden kann.

Und so kann über das CMD auch eine Datei wieder entpackt werden.

EXTRACT WIN95_02.CAB /D /A >> C:\CABS.TXT

Aber das war nun mehr was für die QB User als für die FB User... zwinkern


Windows basierendes Freeware Tool zum erstellen:

http://www.forgesoft.net/index.php?id=wc.php

Und eine DLL zum Auslesen und extrahieren von Cab Dateien.

http://www.forgesoft.de/Resources/blitzcab.zip

Ist zwar für BlitzBasic entwickelt worden, sollte aber auch einfach in eine
Free Basic Umgebung zu Integrieren sein.

bzw. hier noch ein paar Links:

http://www.vbarchiv.net/archiv/tipp_578.html

http://www.tech-archive.net/Archive/VB/microsoft.public.vb.winapi/2004-07/0129.html


Grüße Eisbaer
_________________
Eigene Webseite:
http://www.eisbaer-studios.de
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
csde_rats



Anmeldungsdatum: 07.01.2007
Beiträge: 2292
Wohnort: Zwischen Sessel und Tastatur

BeitragVerfasst am: 24.08.2007, 18:04    Titel: Antworten mit Zitat

Eventuell auch sehr hilfreich beim 'eigenen' Format:
http://forum.qbasic.at/viewtopic.php?t=3811
Die dort verwendeten Sourcen sollten recht einfach portierbar sein.
_________________
If hilfreicher_Beitrag then klick(location.here)

Klick
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Mao



Anmeldungsdatum: 25.09.2005
Beiträge: 4409
Wohnort: /dev/hda1

BeitragVerfasst am: 24.08.2007, 18:05    Titel: Antworten mit Zitat

@AndT:
Wow, das ist dir echt gelungen? geschockt mit den Augen rollen
Ich glaub mit der Zeit hat das so oder so jeder schonmal für irgendetwas gebraucht.

Sorry, das musste jetzt raus...
_________________
Eine handvoll Glück reicht nie für zwei.
--
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Eisbaer



Anmeldungsdatum: 16.10.2004
Beiträge: 354
Wohnort: Deutschland,Bayern

BeitragVerfasst am: 24.08.2007, 20:31    Titel: Antworten mit Zitat

Naja Exe in Exe Packer sind ja auch nicht alzu schwirig zu realisieren.

Es ist kein Problem, an eine existierende Exe einfach hinten belibige Bytes anzuhängen, das macht sie nicht ungültig.

mal was primitives:

Code:
OPEN "main.exe" FOR INPUT AS #1

summe_bytes% = LOF(1)

CLOSE #1

OPEN "anhang.png" FOR INPUT AS #2

OPEN "main.exe" FOR APPEND AS #3

While NOT EOF(2)

input #1,inhalt$

Print #3, inhalt$

wend

print #3, summe_bytes%

Close #2
Close #3



Und dann kann sich die main exe ja selber auslesen beim lesen zum ende der Datei springen -1 einlesen (damit wir den Ursprünglichen End Byte Bekommen) und dann das Bild ab dem Byte Satz wieder zusammensetzen.

Ich hoffe der Code stimmt so einigermaßen, ist aus dem Kopf raus und nicht überprüft.


Grüße Eisbaer
_________________
Eigene Webseite:
http://www.eisbaer-studios.de
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
surfer87



Anmeldungsdatum: 16.09.2004
Beiträge: 103

BeitragVerfasst am: 21.09.2007, 18:24    Titel: Antworten mit Zitat

Ist jetzt zwar schon ein wenig her, aber ich möchte nochmal eben meinen aktuellen Status erläutern.

Ich habe eine Entpackroutine, die über den zu entpackenden Exe Dateien sitzt. Um diese zu entpacken werden lediglich die Dateigrößen in Bytes benötigt, diese werden mitkompiliert.

Ich kann die Dateien also ohne Probleme entpacken.
Aber ich möchte immernoch keine unnötigen Dateien erstellen, damit ich erst dann die Dateien ausführen kann.

Was gäbe es für Möglichkeiten diese Dateien direkt zu streamen, bzw. welche Dateinformationen werden dafür benötigt?

Ich danke euch.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
PMedia



Anmeldungsdatum: 14.08.2006
Beiträge: 2847

BeitragVerfasst am: 21.09.2007, 21:56    Titel: Antworten mit Zitat

Du kannst die Files doch auch zB per Array / Data einbetten... so kannst du sie ohne weitere Festplattenzugriffe verwenden.
Und Komprimiern kannst du sie ja trotzdem noch, und in ein Array dekomprimiern.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
surfer87



Anmeldungsdatum: 16.09.2004
Beiträge: 103

BeitragVerfasst am: 22.09.2007, 00:27    Titel: Antworten mit Zitat

Hm hat jemand den Nerv, mich da grad ein wenig über ICQ zu unterstützen?

Ich will hier nur nicht wie wild alle Leute adden, da ich nicht nerven möchte.
Wäre nett lächeln
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
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