![]() |
Quelltext Verständnis Problem
Ich hab von einem Freund ein Stück Quelltext für mein Programm bekommen aber er ist jetzt im Urlaub und kann es mir nicht wirklich erklären ich hoffe ihr könnt mir dabei helfen
Der 1. Teil Wandelt einen Text in Binär Zahlen um.
Delphi-Quellcode:
binCodeA:='';
asc:= length(cop); for y:= 1 to asc do begin zahl:=ord(cop[y]); zahl2:=zahl; binCodeS:=''; while zahl2>0 do begin bin:=zahl2 mod 2; zahl2:=zahl2 div 2; binCS:=inttostr(bin); binCodeS:=binCS+binCodeS; end; if length(binCodeS)<8 then begin hlp:=8-length(binCodeS); for x:= 1 to hlp do begin binCodeS:='0'+binCodeS; end; end; binCodeA:=binCodeA+binCodeS; end; Der 2. Teil wandelt die Binär Zahlen dann wieder zurück in Text.
Delphi-Quellcode:
binCodeA:=code.Text;
binDecodeS:=''; binDecodeA:=''; hlp:=length(binCodeA); count:=hlp div 8; for x:= 1 to count do begin binDS:=''; for y:= 1 to 8 do begin binDS:=binDS+binCodeA[1]; delete(binCodeA,1,1); end; for z:= 1 to 8 do begin if copy(binDS,z,1)='1' then begin case z of 1: zahl3:=128; 2: zahl3:=64; 3: zahl3:=32; 4: zahl3:=16; 5: zahl3:=8; 6: zahl3:=4; 7: zahl3:=2; 8: zahl3:=1; end; end else begin zahl3:=0; end; zahl4:=zahl3+zahl4; end; binDecodeS:=chr(zahl4); zahl4:=0; binDecodeA:=binDecodeA+BinDecodeS; end; Die Quelltexte sind alle richtig und funktionieren auch perfekt in meinem Programm aber ich verstehe die einzelnen befehle nicht wirklich und hoffe ihr könnt mir ein paar Kommentare zu den einzelnen Zeilen schreiben damit ich den Quelltext auch verstehe den ich benutze. Vorallem der 2. Teil mit dem copy und delete sind mir nicht so verständlich. |
Re: Quelltext Verständnis Problem
Welche Befehle verstehst du genau nicht
|
Re: Quelltext Verständnis Problem
Was genau verstehst du denn nicht ?
Hast du dir mal die Einträge in der OH zu den Befehlen angesehen ? |
Re: Quelltext Verständnis Problem
Ich konnte mich leider jetzt erst wieder melden. Ich verstehe die Zeilen mit dem delete und copy nicht wirklich.
Was wird da gelöscht und was kopiert? Und wo finde ich die OH ? |
Re: Quelltext Verständnis Problem
Es wird eigentlich nichts kopiert sondern eigentlich ein Teilstring extrahiert. Delete() löscht einen Teil einer Zeichenkette
Zitat:
|
Re: Quelltext Verständnis Problem
Ich bin gerade nicht zuhause am PC, hier ist kein Delphi vorhanden. Ich erkläre das alles gerade theoretisch in meiner Facharbeit.
Was wird nun genau aus dem String gelöscht? Die 1 ? das würde aber ja kein Sinn machen. Bei Copy wird also an jeder der 8 Stellen geguckt ob eine 1 vorhanden ist, ist diese nun vorhanden wird je nach dem an Welcher Stelle die zahl ist in der Case Anweisung die Zahl genommen und addiert. Aber wäre dann dieser code nicht überflüssig ? Ich verstehe leider nicht den Sinn dahinter.
Delphi-Quellcode:
for y:= 1 to 8 do
begin binDS:=binDS+binCodeA[1]; delete(binCodeA,1,1); end; |
Re: Quelltext Verständnis Problem
Diese Schleife dreht einen String um. Es wird immer der erste Buchstaben hinten an den Zielstring angehängt und dann vom Quellstring entfernt. Man kann das natürlich auch anders machen.
|
Re: Quelltext Verständnis Problem
Vielen Dank für die schnelle antwort.
|
Re: Quelltext Verständnis Problem
Nagut was ich mich aber dennoch frage wieso wird der String nun umgedreht ?
Wenn der Binärcode nun 1000000 ist wäre es ja 128 aber wenn er ja vorher umgedreht ist, ist der code ja 00000001 und somit 1. |
Re: Quelltext Verständnis Problem
Zitat:
Zitat:
Dies wird immer 8 mal gemacht, um ein volles Byte zu erhalten. Es sollen damit die einzelnen Bytes aus dem Editfeld zusammengestellt werden. Es fehlt in dem Code allerdings noch die wichtige Untersuchung, ob das Editfeld zu 1 und 0 enthält und ob die Anzahl der Zeichen ein Vielfaches von 8 ist. Wird nicht der Binärcode von einem oder mehreren kompletten Byte in das Editfeld eingegeben, so läuft dieses auf einen Fehler. my 2 cent onlinekater |
Re: Quelltext Verständnis Problem
@Thomas: Hätte den ersten Satz vielleicht in " setzten sollen. Die beiden Zitate gehören aber zusammen
|
Re: Quelltext Verständnis Problem
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:50 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