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:

Datei binär einlesen

 
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
Andy19312



Anmeldungsdatum: 22.10.2005
Beiträge: 428

BeitragVerfasst am: 12.08.2008, 15:48    Titel: Datei binär einlesen Antworten mit Zitat

Hallo zusammen,
da ich nun eine bmp Datei einlesen möchte, welche mir zuerst einmal den Dateikopf und Informationsblock anzeigen soll, wollte ich diese Grafik dann anschliessend auch noch darstellen.

Bevor ich jedoch zum darstellen der Grafik komme, muss ich erst einmal die Datei binär einlesen.

Irgendwie klappt es nicht:

Dim As Integer DateiNummer = FreeFile
Dim As String t

'--- Datei lesen ---
OPEN "a.bmp" FOR INPUT AS #DateiNummer
INPUT #DateiNummer, t
CLOSE #DateiNummer

PRINT t
SLEEP

Alles bekomme ich an Zeichen nicht angezeigt.
Was mache ich falsch
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Sebastian
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 5969
Wohnort: Deutschland

BeitragVerfasst am: 12.08.2008, 15:53    Titel: Antworten mit Zitat

Hallo,

Andy hat Folgendes geschrieben:
Bevor ich jedoch zum darstellen der Grafik komme, muss ich erst einmal die Datei binär einlesen.

Genau, dein Programm macht aber etwas ganz Anderes! zwinkern

Du versuchst die Datei nämlich wie eine Textdatei zu öffnen (Modus und Lesemethode INPUT). Dieser Dateimodus kann die Steuerzeichen/Escapesequenzen, die in Bitmap-Dateien vorkommen, nicht verarbeiten. Das im folgenden verlinkte Tutorial zeigt, wie man BMP-Dateien in FreeBASIC richtig öffnet: FreeBASIC-Portal.de - BMP-Bild laden, anzeigen und speichern.

Viele Grüße!
Sebastian
_________________

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
Andy19312



Anmeldungsdatum: 22.10.2005
Beiträge: 428

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

Ich will die Datei ganz normal in einen String einlesen.
Anschliessend mit right und left die erforderlichen Zeichen aus dem String herausfischen und dann anzeigen, wass im Dateikopf und Informationsblock steht.

Ist das schwer zu verstehen?

http://de.wikipedia.org/wiki/Windows_Bitmap

Cu Andy
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jojo
alter Rang


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

BeitragVerfasst am: 12.08.2008, 16:24    Titel: Antworten mit Zitat

der code, den sebastian verlinkt hat, zeigt schon mal, wie man die höhe und breite des bildes ausliest. der rest geht genauso!
_________________
» 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
Sebastian
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 5969
Wohnort: Deutschland

BeitragVerfasst am: 12.08.2008, 16:58    Titel: Antworten mit Zitat

Hallo!
Andy19312 hat Folgendes geschrieben:
im Dateikopf und Informationsblock steht.

Ist das schwer zu verstehen?

http://de.wikipedia.org/wiki/Windows_Bitmap

Ich glaube die Verständnisschwierigkeiten liegen hier anderswo....

http://www.freebasic-portal.de/index.php?s=fbporticula&mode=show&id=407 Vor etwa 3 Jahren habe ich den verlinkten Quelltext mal geschrieben. (Heute würd ich den wohl etwas optimierter schreiben... zwinkern ) Der Header einer BMP-Datei wird vom Programm zunächst binär (-> BINARY) als UDT-Variable eingelesen, dann wird das Bild angezeigt (PRINT ist nur für ASCII-Zeichen und nicht für bunte Bilder Zunge rausstrecken - mal von ASCII-Art abgesehen).
Da der Quelltext schon relativ alt ist, wird er sich mit der aktuellsten FreeBASIC-Version möglicherweise nicht mehr reibungslos compilieren lassen. Viel dürfte allerdings nicht zu ändern sein. Das Programm lädt das BMP-Bild übrigens Pixel für Pixel "zu Fuß". Das ist viel langsamer als FreeBASICs integrierte BLOAD/PUT-Funktionalität, war damals aber für einen Spezialfall nötig.

Der Umweg über einen STRING ist zwar nicht nötig, aber wenn du ihn beschreiten willst, kannst du das natürlich auch tun.

Viele Grüße!
Sebastian
_________________

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
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