Autor Beitrag
Chatfix
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1583
Erhaltene Danke: 10

Win 10, Win 8, Win 7, Win Vista, Win XP
VB.net (VS 2015), MsSQL (T-SQL), HTML, CSS, PHP, MySQL
BeitragVerfasst: Di 10.07.07 08:49 
Hallo,

ich möchte eine Datei binär einlesen.
Es soll Praktisch "0110 1110" intern stehen.

Wenn ich das habe möchte ich dann Bitweise verschieben. Z. B. ein Bit nach links.

Es würde dann so aussehen (Beispiel oben): "1101 1100"
Das erste Bit wird hinten rangesetzt. Wenn ich nach rechts verschiebe das letzte vorn ran.

Hat jemand eine Idee wie man das realisieren könnte?

_________________
Gehirn: ein Organ, mit dem wir denken, daß wir denken. - Ambrose Bierce
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10183
Erhaltene Danke: 1256

W10ent
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Di 10.07.07 09:36 
Moin!

8) Bist du sicher, dass du verstehst, was du da tun willst... :? ;)

user profile iconChatfix hat folgendes geschrieben:
ich möchte eine Datei binär einlesen.
Es soll Praktisch "0110 1110" intern stehen.

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
var
  FS: TFileStream;
  Datei: String;
begin
  FS := TFileStream.Create('c:\test.txt',fmOpenRead or fmShareDenyWrite);
  try
    SetLength(Datei,FS.Size);
    FS.Read(PChar(Datei)^,Length(Datei));
  finally
    FS.Free;
  end;


user profile iconChatfix hat folgendes geschrieben:
Wenn ich das habe möchte ich dann Bitweise verschieben. Z. B. ein Bit nach links.

Was willst du verschieben, die Bits pro Byte, das gesamte File als große Bitfolge... :nixweiss: Und, ehrlich gesagt, was soll das... :gruebel: :?!?: ;)

cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.
Chatfix Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1583
Erhaltene Danke: 10

Win 10, Win 8, Win 7, Win Vista, Win XP
VB.net (VS 2015), MsSQL (T-SQL), HTML, CSS, PHP, MySQL
BeitragVerfasst: Di 10.07.07 09:49 
Nein die Datei als große Bitfolge.

Was das soll weis ich selber nicht, mein Arbeitskollege hat gesagt wenn ich mal lange weile hab soll ich mich dem mal annehmen, dieser ist jetzt im Urlaub deswegen kann ich keine Details hinterfragen. Ich dachte einfach ich mache ihm eine Freude, wenn er kommt hat er sein Programm...

_________________
Gehirn: ein Organ, mit dem wir denken, daß wir denken. - Ambrose Bierce
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10183
Erhaltene Danke: 1256

W10ent
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Di 10.07.07 10:06 
Moin!

user profile iconChatfix hat folgendes geschrieben:
Nein die Datei als große Bitfolge.

Was das soll weis ich selber nicht, mein Arbeitskollege hat gesagt wenn ich mal lange weile hab soll ich mich dem mal annehmen,

OK, wenn das so ist, dann würde ich sagen, du fängst jetzt man damit an, deine Langeweile zu bekämpfen und findest mal selbst raus, wie das geht... :roll:

OMG, womit man nicht alles so seine Zeit vergeuden kann, z.B. auf so ein Posting zu antworten...

cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.
Kroko
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1284

W98 W2k WXP
Turbo D
BeitragVerfasst: Di 10.07.07 10:11 
Vorschlag: mach doch gleich daraus ein schwarz-weiß-Bitmap mit
Bit=0 -> schwarz
Bit=1 -> weiß
:wink:

_________________
Die F1-Taste steht nicht unter Naturschutz und darf somit regelmäßig und oft benutzt werden! oder Wer lesen kann, ist klar im Vorteil!
Chatfix Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1583
Erhaltene Danke: 10

Win 10, Win 8, Win 7, Win Vista, Win XP
VB.net (VS 2015), MsSQL (T-SQL), HTML, CSS, PHP, MySQL
BeitragVerfasst: Di 10.07.07 10:57 
Ja das wäre eine schöne Idee der visuellen Umsetzung, aber ich glaube die ist unnötig.

@ Narses dann lass es doch einfach ;)
Muss es immer alles einen Sinn haben?

Ich werde mich schon damit beschäftigen, so langsam glaube ich echt Fragen sind hier im DF unerwünscht...

_________________
Gehirn: ein Organ, mit dem wir denken, daß wir denken. - Ambrose Bierce
Kroko
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1284

W98 W2k WXP
Turbo D
BeitragVerfasst: Di 10.07.07 11:30 
(a) Datei Byte/Word-weise lesen
(b) Byte/Word in "Binär-String" umwandeln
(c) Strings zusammensetzen
(d) fertig!

_________________
Die F1-Taste steht nicht unter Naturschutz und darf somit regelmäßig und oft benutzt werden! oder Wer lesen kann, ist klar im Vorteil!
OlafSt
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 486
Erhaltene Danke: 99

Win7, Win81, Win10
Tokyo, VS2017
BeitragVerfasst: Di 10.07.07 11:46 
Eigentlich ist das ganze doch recht simpel.

1. Datei einlesen. Wurde hier schon gezeigt, wie das geht.
2. Vom ersten gelesenen Byte das oberste Bit isolieren und merken, dann 1x nach links shiften
3. Schleife:
3.1 Von Byte(n+1) das oberste Bit isolieren
3.2 Byte(n+1) einmal nach links shiften
3.3 das gemerkte Bit als unterstes Bit in Byte(n) ein-Odern
3.4 n=n+1 und zurück zu 3.1, bis wir das letzte Byte zu fassen haben
4. In das letzte Byte (das schon geshiftet wurde) noch das bei 2. gemerkte Bit als unterstes Bit ein-Odern
5. Datei wieder wegspeichern.

Klingt einfach, ist einfach. Und mir ist klar, das das ganze mit DWords deutlich schneller geht - aber der das ist dann nur halb so lehrreich ;)

_________________
Lies, was da steht. Denk dann drüber nach. Dann erst fragen.
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10183
Erhaltene Danke: 1256

W10ent
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Di 10.07.07 11:47 
Moin!

user profile iconChatfix hat folgendes geschrieben:
Ich werde mich schon damit beschäftigen, so langsam glaube ich echt Fragen sind hier im DF unerwünscht...

Langsam, DU solltest dich damit im Falle von brüllender Langeweile beschäftigen (laut deinem Kollegen), von "stell im DF Fragen zu sinnlosen Zeittotschlagaufgaben" hat er nichts gesagt... :roll: 8) (und ich kann mir auch nicht vorstellen, dass du etwas lernst, wenn du dich nicht mit den Grundlagen beschäftigst, die zum Verstehen dieser Aufgabe nötig sind - was dein Kollege wohl auch im Sinn hatte, mit der (sinnlosen) Aufgabe)

Trotzdem noch viel Erfolg! :zustimm:

cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.
Chatfix Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1583
Erhaltene Danke: 10

Win 10, Win 8, Win 7, Win Vista, Win XP
VB.net (VS 2015), MsSQL (T-SQL), HTML, CSS, PHP, MySQL
BeitragVerfasst: Di 10.07.07 12:12 
Stand irgendwo was von postet mir den Sourcecode?

Und mein Kollege gab mir diese Aufgabe sicher nich damit ich was lerne (man lernt ja sowieso ständig), er ist derzeit einfach anderweitig beschäftigt um sich selbst darum zu kümmern. Das Programm hat auch keinerlei Priorität, ich nehme an er will irgendeine Spielerei testen....
Da wir betrieblich nicht mit Delphi programmieren und er meinte ihm sei die Sprache egal, wusste ich sofort es ist etwas privater Natur.
Aber das tut hier auch absolut nix zu Sache, ich hätte auch sagen können ich will mal was ausprobieren...

Und es is schön das du darauf rumreitest das ich es machen sollte, ich dachte trotzdem das man hier Hilfestellungen bekommt, und nich dumm angemacht wird nur weil es jemandem sinnlos erscheint...

Aber schon ok, es hat sich hier anscheinend doch einiges geändert... Ich wollts vielleicht nur nicht wahr haben...

Und nun schweifen wir vom Thema ab, danke an alle die sich mit der eigentlichen Aufgabe beschäftigt haben und mir erste Denkanstöße gegeben haben.

_________________
Gehirn: ein Organ, mit dem wir denken, daß wir denken. - Ambrose Bierce
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10183
Erhaltene Danke: 1256

W10ent
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Di 10.07.07 12:19 
Moin!

user profile iconChatfix hat folgendes geschrieben:
Und es is schön das du darauf rumreitest das ich es machen sollte, ich dachte trotzdem das man hier Hilfestellungen bekommt, und nich dumm angemacht wird nur weil es jemandem sinnlos erscheint...

Jetzt komm mal wieder auf den Teppich, du hast doch deine Hilfestellung bekommen, oder? ;)

user profile iconChatfix hat folgendes geschrieben:
Aber schon ok, es hat sich hier anscheinend doch einiges geändert... Ich wollts vielleicht nur nicht wahr haben...
[...]
Muss es immer alles einen Sinn haben?

Nein, aber die Frage danach muss schon erlaubt sein. :| Und eine Diskussion darüber bräuchte auch nicht in der Form von dir abgelehnt werden... das ist dann auf dem Niveau, das du hier beklagst. 8)

cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.
Chatfix Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1583
Erhaltene Danke: 10

Win 10, Win 8, Win 7, Win Vista, Win XP
VB.net (VS 2015), MsSQL (T-SQL), HTML, CSS, PHP, MySQL
BeitragVerfasst: Di 10.07.07 12:52 
Ich habe dir die Frage nach dem Sinn beantwortet, sofern ich das konnte, und dann kam deine provozierende Antwort darauf...

Aber schluss jetzt... am betsen Thema schliesen oder löschen...

_________________
Gehirn: ein Organ, mit dem wir denken, daß wir denken. - Ambrose Bierce
UGrohne
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Veteran
Beiträge: 5502
Erhaltene Danke: 220

Windows 8 , Server 2012
D7 Pro, VS.NET 2012 (C#)
BeitragVerfasst: Di 10.07.07 13:09 
Alle weiteren OT-Diskussionen über Sinn und/oder Unsinn dieser Frage bitte ich nun einzustellen, denn sie werden gelöscht. Ab jetzt nur noch Fragen/Hinweise zum Thema, sofern noch notwendig oder vorhanden!