AGB  ·  Datenschutz  ·  Impressum  







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

Quelltext Verständnis Problem

Ein Thema von tEhHoLLoW · begonnen am 30. Mär 2008 · letzter Beitrag vom 1. Apr 2008
Antwort Antwort
Seite 1 von 2  1 2      
tEhHoLLoW

Registriert seit: 10. Feb 2008
9 Beiträge
 
#1

Quelltext Verständnis Problem

  Alt 30. Mär 2008, 20:30
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)='1then
                        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.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Quelltext Verständnis Problem

  Alt 30. Mär 2008, 20:32
Welche Befehle verstehst du genau nicht
Markus Kinzler
  Mit Zitat antworten Zitat
MrKnogge

Registriert seit: 9. Jun 2003
Ort: Pforzheim
2.458 Beiträge
 
Delphi 2007 Professional
 
#3

Re: Quelltext Verständnis Problem

  Alt 30. Mär 2008, 20:33
Was genau verstehst du denn nicht ?
Hast du dir mal die Einträge in der OH zu den Befehlen angesehen ?
Christian Bootz
Einstein ist tot, Newton ist tot,
und mir ist auch schon ganz schlecht...
  Mit Zitat antworten Zitat
tEhHoLLoW

Registriert seit: 10. Feb 2008
9 Beiträge
 
#4

Re: Quelltext Verständnis Problem

  Alt 1. Apr 2008, 19:50
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 ?
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#5

Re: Quelltext Verständnis Problem

  Alt 1. Apr 2008, 19:54
Es wird eigentlich nichts kopiert sondern eigentlich ein Teilstring extrahiert. Delete() löscht einen Teil einer Zeichenkette
Zitat:
Und wo finde ich die OH ?
Drück mal F1
Markus Kinzler
  Mit Zitat antworten Zitat
tEhHoLLoW

Registriert seit: 10. Feb 2008
9 Beiträge
 
#6

Re: Quelltext Verständnis Problem

  Alt 1. Apr 2008, 20:06
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;
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#7

Re: Quelltext Verständnis Problem

  Alt 1. Apr 2008, 20:10
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.
Markus Kinzler
  Mit Zitat antworten Zitat
tEhHoLLoW

Registriert seit: 10. Feb 2008
9 Beiträge
 
#8

Re: Quelltext Verständnis Problem

  Alt 1. Apr 2008, 20:15
Vielen Dank für die schnelle antwort.
  Mit Zitat antworten Zitat
tEhHoLLoW

Registriert seit: 10. Feb 2008
9 Beiträge
 
#9

Re: Quelltext Verständnis Problem

  Alt 1. Apr 2008, 20:28
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.
  Mit Zitat antworten Zitat
TBx
(Administrator)

Registriert seit: 13. Jul 2005
Ort: Stadthagen
1.875 Beiträge
 
Delphi 12 Athens
 
#10

Re: Quelltext Verständnis Problem

  Alt 1. Apr 2008, 22:00
Zitat von mkinzler:
Diese Schleife dreht einen String um.
Das ist schlicht falsch!

Zitat von mkinzler:
Es wird immer der erste Buchstaben hinten an den Zielstring angehängt und dann vom Quellstring entfernt.
Korrekt.

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
Thomas Breitkreuz
Gruß Thomas
- Admin DelphiPRAXIS
- Admin Delphi-Treff
- Embarcadero MVP
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 08:26 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz