Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Text in Dualzahlen umwandeln (https://www.delphipraxis.net/149535-text-dualzahlen-umwandeln.html)

countdown 23. Mär 2010 20:07


Text in Dualzahlen umwandeln
 
Hallo,
ich habe ein Problem bei dem ich einfach nicht weiterkomme.
Ich möchte gerne einen Text, der in ein Editfeld eingegeben wurde, in Dualzahlen,also Nullen und Einsen, umwandeln.
Hat jemand eine Idee wie man das macht? Wäre super wenn mir jemand das ganz genau erklären könnte, da ich nicht sooo viel von Delphi verstehe.

MfG countdown

Wolfgang Mix 23. Mär 2010 20:12

Re: Text in Dualzahlen umwandeln
 
Erstmal herzlich willkommen in der DP :dp:

Deine Frage verstehe ich, ehrlich gesagt, nicht.
Frage noch einmal genauer, bitte

alleinherrscher 23. Mär 2010 20:13

Re: Text in Dualzahlen umwandeln
 
Du möchtest einen Text in Binärzahlen umwandeln? Oder meinst du, du willst eine Dezimalzahl ins Binärsystem konvertieren? Ich frage mich, wie du auf die Idee kommst, sowas zu programmieren. Schule?

Die Muhkuh 23. Mär 2010 20:21

Re: Text in Dualzahlen umwandeln
 
Du könntest den jeweiligen Buchstabenwert in seinen Ordinalwert konvertieren und diesen Dual darstellen.

Wolfgang Mix 23. Mär 2010 20:23

Re: Text in Dualzahlen umwandeln
 
ASCII-Tabelle?

Fragen über Fragen

Genauere Fragen ergäben bessere Antworten.
[/Edit] Sage uns doch bitte, was du genau vorhast [/Edit]

countdown 23. Mär 2010 20:29

Re: Text in Dualzahlen umwandeln
 
Danke für die freundliche Begrüßung :-D

Also ich möchte gerne einen Text in ein Editfeld eingeben z.b. "Hallo".
Nun gib es doch die Möglichkeit die einzelnen Buchstaben als Folge von Nullen und Einsen darzustellen.
Dies möchte ich gerne machen und der umgewandelte Text soll dann wieder in dem Editfeld ausgegeben werden.
Ich stelle mir das ungefähr so vor, dass man mit einer for-Schleife durch den Text geht und dann eben jeder Buchstabe durch eine Folge von Nullen und Einsen ersetzt wird. Dafür müsste man dann natürlich iwo auflisten, welcher Buchstabe welche Folge von Nullen und Einsen hat.
Oder gibt es da vielleicht eine einfachere Lösung?
Zur Frage wie ich auf die Idee komme: Ich möchte gerne ein Verschlüsselungsverfahren umsetzten.Also einen Text in Dualzahlen umsetzten genauso wie einen Schlüssel, den man ebenfalls eingeben können soll, und den Text dann mit Hilfe des Schlüssels verschlüsseln.

@ die muhkuh: Wie gesagt ich versteh noch nicht so viel von Delphi..also versteh ich bei deiner Aussage nur Bahnhof^^

alleinherrscher 23. Mär 2010 20:36

Re: Text in Dualzahlen umwandeln
 
Wie bereits gesagt wurde, entspricht jeder Buchstabe einem ASCII-Wert. (Bei wiki mal nach ASCII-Tabelle suchen).

Die Idee mit der For-Schleife ist richtig. Den Wert eines Buchstabens bekommst du mit der Funktion Ord. Anschließend musst du nur noch den dezimalen Wert in einen Binären Wert umrechnen. Da würd ich mal im Forum suchen nach Binärzahl oder so, findet sich einiges zu.

Wolfgang Mix 23. Mär 2010 20:40

Re: Text in Dualzahlen umwandeln
 
Wie Die Muhkuh schon schrieb:

Nimm jeden Buchstaben, bilde mit ORD den ASCII-Wert dazu und wandle
die Integerzahl nach Dual um. Fertige Lösung dazu findest du in der
CodeLib.

Aphton 23. Mär 2010 21:46

Re: Text in Dualzahlen umwandeln
 
1.
Alle Zeichen werden (in der Computerwelt) durch eine bestimmte Zahl dargestellt.
Die Zahlen zu all den Zeichen findest du in der Ascii Tabelle
Per Ord() Function (in Delphi) ermittelst du den Ascii-Wert von einem Zeichen.
Folglich gäbe dir zb. Ord('A') den Wert 65 zurück.

2.
Für die duale Darstellung eines Dezimalzahls musst du nur umrechnen. Dazu gibt es bestimmte Vorgänge, die du selber nachrecherchieren solltest, da es wirklich nicht hier rein gehört.
Nachdem du das hast, kannst du dann, so wie du eh anfangs beschrieben hast, vorgehen:
Eine Schleife: Alle Zeichen des eingegebenen Strings (Textes) durchgehen und für jedes Zeichen den Ascii Wert ermitteln;
Die Dezimalzahl (Ascii-Wert, per Ord()) dann in eine Dualzahl verwandeln;

Hoffe dir auf einfachste Art und Weise geholfen zu haben =)

MfG

stho 24. Mär 2010 07:57

Re: Text in Dualzahlen umwandeln
 
schau mal hier:

Delphi-Quellcode:
  while sWert / 2 <> 0 do
  begin
    sAusgabe := IntToStr(sWert mod 2) + sAusgabe;
    sWert := sWert div 2;
  end;
sWert = Ascii-Wert eines Buchstaben
sAusgabe = Text der ins Edit-Feld kommen soll ^^

Damit kannst du eine Zahl in Binär umwandeln ;-)
(Wenn Fehler da sind, einfach bescheid geben oder korregieren ^^)
Achja, die Schleife prüft nicht ob pro Zeichen 8 Stellen geschrieben werden... Musst du gegebenenfalls nochmal überprüfen


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:59 Uhr.
Seite 1 von 3  1 23      

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