AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Inforeferat

Ein Thema von Fehlersucher · begonnen am 12. Jan 2013 · letzter Beitrag vom 14. Jan 2013
Antwort Antwort
Fehlersucher

Registriert seit: 10. Nov 2012
32 Beiträge
 
#1

AW: Inforeferat

  Alt 12. Jan 2013, 19:05
Wenn Du bei einem Bitmap die reinen "Pixeldaten" meinst dann kannst Du mal nach Scanline suchen. Ansonsten könntest Du gleich das ganze File verwenden.
Wie macht man das mit dem ganzen File?

Afaik sind die Prinzipien ... relativ einfach zu zu verstehen
Also entweder *verstehst* Du es, oder nicht. Nix mit 'afaik' (afaik="Soweit ich das weiß" => "Ich glaube").

Und wie komme ich bei Dateien (z.B. Bildern) an diese Bytes dran?
Wie kann man mit den Bytes arbeiten? Speichert man die irgendwie als Variable?
Du scheinst noch nicht so gut programmieren zu können. Dann ist das vielleicht eine Nummer zu hoch, oder (wenn Du ergeizig bist), fängst Du einfach an und holst Dir Hilfe hier im Forum.
Nun, ich habe seit etwa 3 Jahren Info. Wir haben aber nie über Bytes gesprochen, geschweige denn, wie man diese aus Dateien herausquetscht.

Wie bekommt man jetzt die Bytes aus einer beliebigen Datei? Kann man die Bytefolge dann in einen String schreiben und mit dem String den RLE-Algorithmus füttern?

Gruß
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#2

AW: Inforeferat

  Alt 12. Jan 2013, 20:22
Eine Bytefolge gehört nicht in einen String sondern in einen Stream,
eine Array of Byte oder ähnliches.
Ich war gedanklich allerdings bei LZW hängengeblieben, sorry.
Für RLE macht es natürlich Sinn nur auf die Bilddaten zuzugreifen. Da würde dann wieder der Verweis auf Scanline greifen, die Triple/QuadArrays lesen, mit letzt gelesenem vergleichen und Zähler und Array direkt wieder in einen Stream schreiben.
Falls es doch in Richtung LZW gehen sollte:
Lesen kannst Du so eine Datei z.B. in einen MemoryStream und über MemoryStream.Memory wahlfrei zugreifen. Du könntest aber auch einfach per FileStream Byte für Byte einlesen.
Für die Generierung der Tabellen wirst Du Verwaltungsstrukturen, gegf. in Form von Arrays benötigen.
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#3

AW: Inforeferat

  Alt 13. Jan 2013, 00:13
3 Jahre und kein Byte?
Das klint für mich als hättest Du zuerst die binomischen Formeln gelernt ohne das kleine 1x1 zu kennen.
Ein Byte ist die kleinste Informationseinheit. Sie wird mit 8 Bit dargestellt. Ein Bit hat den Wert 0 oder Eins. Ein Byte kann somit Werte von 0 bis 2^8 -1 annehmen.
ird das höchste Bit als Vorzeichen interpretiert, dan reicht der Wertebereich von -127 bis 127. Ein Byte kann auch als (Ansi-)Char interpretiert werden. Davon dan mehrere hintereinander sind ein string oder ein Array of Char.

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Benutzerbild von Valle
Valle

Registriert seit: 26. Dez 2005
Ort: Karlsruhe
1.223 Beiträge
 
#4

AW: Inforeferat

  Alt 13. Jan 2013, 00:23
Ich glaube du interpretierst da etwas zu viel in die Aussage rein.

Ich hatte auch knapp drei Jahre Informatik und wir haben überhaupt nichts sinnvolles gelernt. Streams oder byteweiser Zugriff auf Dateien? Nä. Wir fangen jetzt an "HTML zu programmieren". Erwarte nicht zu viel von Informatik in der Schule. Bei manchen Themen wäre es sogar besser gewesen, wenn wir sie gar nicht erst behandelt hätten...

Liebe Grüße,
Valentin
Valentin Voigt
BOFH excuse #423: „It's not RFC-822 compliant.“
Mein total langweiliger Blog
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#5

AW: Inforeferat

  Alt 13. Jan 2013, 00:27
Du willst mich veräppeln??

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Benutzerbild von Valle
Valle

Registriert seit: 26. Dez 2005
Ort: Karlsruhe
1.223 Beiträge
 
#6

AW: Inforeferat

  Alt 13. Jan 2013, 01:42
Du willst mich veräppeln??
Ähm, nein? Mein Post war (zur Ausnahme ) völlig frei von Ironie oder ähnlichem.

Ist dir irgendwas davon jetzt wirklich neu? Ich dachte mittlerweile hätte sich sowas hier rumgesprochen.

Liebe Grüße,
Valentin
Valentin Voigt
BOFH excuse #423: „It's not RFC-822 compliant.“
Mein total langweiliger Blog
  Mit Zitat antworten Zitat
Furtbichler
(Gast)

n/a Beiträge
 
#7

AW: Inforeferat

  Alt 13. Jan 2013, 09:08
Ich glaube, es geht nicht um die Güte des Informatik-Unterrichts in Schulen, sondern um das Referat.

Ich würde das auch nicht auf eine Datei anwenden, denn es geht im Referat nicht unbedingt um den Zugriff auf Dateien. Natürlich wäre es schick, als Essenz des Referates ein kleines Komprimierungsprogramm vorzuweisen, aber imho wäre das ein wenig viel für den Anfang.

Du kannst auf verschiedene Arten auf eine byteweise auf eine Datei zugreifen. Hier mal die Stichwörter: TFileStream (modern) per 'File Of Byte (Uralt, Einzige Möglichkeit des Ur-Pascal)' oder per 'File/BlockRead (alte Methode)'. Google mal nach diesen Stichwörtern.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:09 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz