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 byte für byte

 
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: 02.11.2007, 22:23    Titel: Datei byte für byte Antworten mit Zitat

Sodelle:
Andere Frage, wie kann ich zuerst einmal ermitteln, aus wieviel Bytes eine Datei besteht.
Anschliessend soll er die Datei Byte für Byte weise binär lesen.

Zuerst Byte 1,
dann Byte 2,
dann Byte 3
usw.
bis das Dateiende erreicht ist.

Hoffe, das ihr mir schnell helfen könnt.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
nemored



Anmeldungsdatum: 22.02.2007
Beiträge: 4702
Wohnort: ~/

BeitragVerfasst am: 02.11.2007, 22:40    Titel: Antworten mit Zitat

Öffnen einer Datei
http://www.freebasic-portal.de/index.php?s=reftopic&id=233
siehe auch
http://www.freebasic-portal.de/index.php?s=reftopic&id=55
und
http://www.freebasic-portal.de/index.php?s=reftopic&id=251

Die Dateilänge würde ich durch das Auslesen ermitteln - zähle einfach, wie viele Bytes du auslesen musstest um an das Dateiende zu gelangen.
_________________
Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Andy19312



Anmeldungsdatum: 22.10.2005
Beiträge: 428

BeitragVerfasst am: 02.11.2007, 22:44    Titel: Antworten mit Zitat

Ein Beispiel?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Mao



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

BeitragVerfasst am: 02.11.2007, 22:47    Titel: Antworten mit Zitat

Eigeninitiative? böse
_________________
Eine handvoll Glück reicht nie für zwei.
--
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Andy19312



Anmeldungsdatum: 22.10.2005
Beiträge: 428

BeitragVerfasst am: 02.11.2007, 22:49    Titel: Antworten mit Zitat

mir fällt seit 2 std. nichts ein, sorry
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
csde_rats



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

BeitragVerfasst am: 02.11.2007, 22:53    Titel: Antworten mit Zitat

http://www.o-bizz.de/qbtuts/omastut/index.htm

Sollte perfekt sein für dein Niveau Zunge rausstrecken
_________________
If hilfreicher_Beitrag then klick(location.here)

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



Anmeldungsdatum: 04.05.2005
Beiträge: 1876
Wohnort: D59192

BeitragVerfasst am: 02.11.2007, 22:56    Titel: Antworten mit Zitat

hast du Alzheimer?
vor ein paar Tagen war das doch schonmal so ein Thema von dir:
http://forum.qbasic.at/viewtopic.php?p=69270
da habe ich dir auch ein Beispiel geschrieben, ich hoffe du kanst noch lesen? durchgeknallt
_________________
Warnung an Choleriker:
Dieser Beitrag kann Spuren von Ironie & Sarkasmus enthalten.
Zu Risiken & Nebenwirkungen fragen Sie Ihren Therapeuten oder Psychiater.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Andy19312



Anmeldungsdatum: 22.10.2005
Beiträge: 428

BeitragVerfasst am: 02.11.2007, 23:06    Titel: Antworten mit Zitat

Code:
SCREEN 17, 8
DIM AS STRING fName
fName = "c:\lp.mp3" 'Hier Dateiname angeben
DIM AS INTEGER ff = FREEFILE, n=0, j
OPEN fName FOR BINARY ACCESS READ AS #ff
DO UNTIL EOF(ff)
  GET #ff,, j
  PRINT HEX(n, 8);" "; BIN(j, 32);" "; HEX(j, 8);" "; Mki(j)
  n = n + 4
  IF (n MOD 80)=0 THEN SLEEP 1000
LOOP
CLOSE #ff
SLEEP


schreib mal bitte hin, was es genau macht "bitte die info zu jeder zeile"

Editiert durch Moderator: Code-Tags hinzugefügt. (Sebastian)
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
csde_rats



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

BeitragVerfasst am: 02.11.2007, 23:10    Titel: Antworten mit Zitat

Also ICH finde ja, dass [ Code]-Tags nicht ohne Grund erfunden wurden.
Und wenn du diesen einfachen Snippet nicht verstehst oO
_________________
If hilfreicher_Beitrag then klick(location.here)

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



Anmeldungsdatum: 04.05.2005
Beiträge: 1876
Wohnort: D59192

BeitragVerfasst am: 03.11.2007, 00:14    Titel: Antworten mit Zitat

Zitat:
schreib mal bitte hin, was es genau macht "bitte die info zu jeder zeile"

Nee Kopf schütteln
es bleibt dir bestimmt besser im Gedächnis haften und verschafft dir ein bleibendes Erfolgserlebnis wenn du das selbst erarbeitest.
_________________
Warnung an Choleriker:
Dieser Beitrag kann Spuren von Ironie & Sarkasmus enthalten.
Zu Risiken & Nebenwirkungen fragen Sie Ihren Therapeuten oder Psychiater.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
AndT



Anmeldungsdatum: 02.04.2007
Beiträge: 481

BeitragVerfasst am: 03.11.2007, 12:22    Titel: Antworten mit Zitat

Naja ein einfachres Beispiel.. (mit kommentar)

Code:


dim as ubyte char7filter = 0                    ' 1 schaltet den Filter ein um das gepiepse zu besitigen ;)
dim as ubyte char                               ' der name des Ubyte ist egal aber er sollte schon einen Sinn ergeben
open "C:\ntldr" for binary access read as #1    ' öffnet die ntldr aber als nur-lesen
do                                              ' startet die schleife
    get #1,,char                                ' holt den nächsten byte
    if char7filter = 0 then                     ' bedingung für den char7filter
        print chr(char);                        ' gibt das byte auf den bildschirm aus
    else                                        ' wenn bedinung nicht erfüllt
        if char <> 7 then print chr(char);      ' werden nur noch die bytes welche größer oder kleiner sind auf den bildschirm ausgegeben
    end if                                      ' ende der bedingung
    loop until eof(1) or inkey =chr(27)         ' bei dateiende oder drücken von ESC wird die Schleife verlassen


_________________
Bis irgendwann... grinsen
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Mao



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

BeitragVerfasst am: 03.11.2007, 14:49    Titel: Antworten mit Zitat

AndT wenn du jede "erzieherische Maßnahme" hier wieder zu nichte machst, weil du meinst, du müsstest mit deinen "perfekten" Codes die Welt verbessern, dann gehörst du hier meiner Meinung nach genauso wenig hin wie Andy191312.

@Andy19312:
csde_rats hat dir Links zur Befehlsreferenz gegeben - und wenn du sowas selbst auf deutsch nicht verstehst, ist programmieren dann wohl doch das falsche Hobby für dich. Wenn wenigstens *irgendwas* bei dir Haften bliebe, bzw. du ein wenig Eigeninitative zeigen würdest...
_________________
Eine handvoll Glück reicht nie für zwei.
--
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
AndT



Anmeldungsdatum: 02.04.2007
Beiträge: 481

BeitragVerfasst am: 03.11.2007, 15:18    Titel: Antworten mit Zitat

oops.. wird ab jetzt eingestellt mit den Augen rollen
_________________
Bis irgendwann... grinsen
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