Dateiformat herausfinden!

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

 

Blitzkrieg Bop

Betreff: Dateiformat herausfinden!

BeitragFr, Jul 30, 2004 20:59
Antworten mit Zitat
Benutzer-Profile anzeigen
Moin Leute!
Also, folgende Frage:
In einem Programm, kann man eine externe Datei öffnen, indem man deren Namen eingibt. Beispiel : test.txt und schwups wird die Datei test.txt geöffnet. Doch nun stellt sich mir die Frage, wie man am besten direkt nach der Eingabe überprüft, ob es sich bei der Datei z.B um ein Bild handelt. Natürlich könnte man die Endungen prüfen, was ich aber mal ausschließen möchte! Wie würdet ihr das machen?

MFG
Bop
~ Hey Ho Let's Go ~
 

Kekskiller

BeitragFr, Jul 30, 2004 21:21
Antworten mit Zitat
Benutzer-Profile anzeigen
Entweder prüfst du die einzelnen Signaturbytes, oder du versuchst
an Hand der Komprimierung (oder auch Nicht-Komprimierung) das
Format herauszufinden (was an sich komplett verwahrloster Schwachsinn
ist). Aber irgendwie ergibt sich da nicht unbedingt immer ein Sinn.

Beispiel: Bau mir ein Programm, was ohne Endung herausfindet, ob
es sich um eine Text- oder eine normale Datei handelt! Es geht nicht.
Geht doch? Denkste, wenn du bekannte Formate prüfen willst, scheiterst
du daran, dass du nicht alle Formate und Kompressionen kennst.

Fazit: Prüf lieber die Endung.
 

Blitzkrieg Bop

BeitragFr, Jul 30, 2004 21:25
Antworten mit Zitat
Benutzer-Profile anzeigen
Naja also kann man da nichts machen!? DAnn müsste ich erstmal alle Bildendungen wissen... Mir is grad noch ne Idee eingefallen, gibt es nicht noch nen Befehl, der ein Bild lädt und dann Null bei Nichtexistenz zurückgibt oder so?! Surprised
~ Hey Ho Let's Go ~
 

Edlothiol

BeitragFr, Jul 30, 2004 21:26
Antworten mit Zitat
Benutzer-Profile anzeigen
LoadImage Rolling Eyes
 

Kekskiller

BeitragFr, Jul 30, 2004 21:28
Antworten mit Zitat
Benutzer-Profile anzeigen
Edlothiol hat Folgendes geschrieben:
LoadImage Rolling Eyes


Du sprichst mir aus der Seele ^_^ .
Also wenn du darauf nicht kommszt, Bop, dann weiß ich auch nicht,
was man mit dir machen soll...
 

Blitzkrieg Bop

BeitragFr, Jul 30, 2004 22:01
Antworten mit Zitat
Benutzer-Profile anzeigen
*grml* ..
*zehn mal mit dem kopp auf den tisch hau* ..
Naja, aber ich hab mir das eigentlich anders gedacht , doch das müsste funzen... Very Happy

Die einfachsten Sachen entfallen plötzlich... Rolling Eyes

Jo, so geht's:
Code: [AUSKLAPPEN]

Graphics 800,600
SetBuffer BackBuffer()

datei$ = Input("dateinamen: ")

bild = LoadImage(datei$)


Repeat
Cls

If bild = False
   Text 0,30,"Es wurde was anderes als nen Bild geladen!"
EndIf    

If Not bild = False
   DrawImage bild,500,500
EndIf
Flip
Until KeyHit(1) : End
~ Hey Ho Let's Go ~
 

David

BeitragFr, Jul 30, 2004 22:31
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi!

Wieso nicht die Signatur prüfen?
Kompression etc... is tatsächlich schwachsinnig, da mehrere Bildformate auch gleiche Kompressionsverfahren unterstützen (z.B. BMP, TGA unterstützen beide RLE Kompression).
Aber um Bilder zu identifizieren haben sie ja die Signatur...

Falls keine Sig vorhanden sein sollte, kannst du immer noch die Headerdaten auslesen und vergleichen.

grüße
http://bl4ckd0g.funpic.de
 

Blitzkrieg Bop

BeitragFr, Jul 30, 2004 22:36
Antworten mit Zitat
Benutzer-Profile anzeigen
Ja okay das sollte reichen! Wollte ja nur wissen, ob es allgemein machbar ist.
Danke Wink
~ Hey Ho Let's Go ~

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group