AGB  ·  Datenschutz  ·  Impressum  







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

Text in Dualzahlen umwandeln

Ein Thema von countdown · begonnen am 23. Mär 2010 · letzter Beitrag vom 24. Mär 2010
Antwort Antwort
Seite 2 von 3     12 3      
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#11

Re: Text in Dualzahlen umwandeln

  Alt 24. Mär 2010, 08:09
Zitat von stho:
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 ^^
Da benutzt du schon Präfixe für deine Variablen (wovon ich (in der Form) kein Fan bin ) und dann auch noch falsch
sWert müsste dann wohl eher ein bWert oder ein iWert sein
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
guidok

Registriert seit: 28. Jun 2007
417 Beiträge
 
#12

Re: Text in Dualzahlen umwandeln

  Alt 24. Mär 2010, 08:34
Zitat von stho:
(Wenn Fehler da sind, einfach bescheid geben oder korregieren ^^)
korregieren --> korrigieren
  Mit Zitat antworten Zitat
countdown

Registriert seit: 23. Mär 2010
10 Beiträge
 
#13

Re: Text in Dualzahlen umwandeln

  Alt 24. Mär 2010, 12:04
Hallo Leute!
danke für die ganzen Hilfen, aber iwie verzweifele ich im Moment schon an der Umwandlung eines Textes in die ascii-werte...

Hier mal etwas Quelltext:

Delphi-Quellcode:
Var
S: integer
ttext: string
begin
 For s:= 1 to length(ztext) do

begin
ttext:= inttostr(ord(ztext[s])); // ttext:= ttext + intostr(ord(ztext[s]));
end;

ztext:= ttext;

end;

ztext ist der in ein Editfeld eingegebene Text.
Nun möchte ich, dass jedes Zeichen von ztext in mit ord umgewandelt wird, dann zu einem string gemacht wird und als ttext gesetzt wird.Am Ende wird ztext dann zu ttext und ich kann mir ztext in einem editfeld wieder ausgeben lassen.
Das Problem ist aber dass bei der Lösung mit "ttext:= inttostr(ord(ztext[s]));" die eig ja nur für einen Buchstaben ist, da ttext ja sonst immer wieder neu überschrieben wird, auch bei unterschiedlichen Eingaben immer die selbe Zahl 116 zurückkommt.
Bei der Lösung // ttext:= ttext + intostr(ord(ztext[s])); , mit der man meiner meinung nach ja auch mehr zeichen umwandeln und wieder ausgeben können müsste, bekomme ich schon bei einer eingabe von nur einem zeichen eine 50-60 Stellige Zahl zurück!
Weiß da jemand Rat und könnte mir vielleicht zeigen wie es richtig gemacht wird?
  Mit Zitat antworten Zitat
guidok

Registriert seit: 28. Jun 2007
417 Beiträge
 
#14

Re: Text in Dualzahlen umwandeln

  Alt 24. Mär 2010, 12:13
Wo und wie rufst du denn deine Routine auf?

Grundsätzlich sollte die auskommentierte Variante schon funktionieren. Die nicht auskommentierte Variante müsste normalerweise den ASCII-Wert des letzten Zeichens in ztext liefern, da du zwar eine Schleife über alle Zeichen durchläufts, aber den ermittelten Wert immer wieder überschreibst.
  Mit Zitat antworten Zitat
countdown

Registriert seit: 23. Mär 2010
10 Beiträge
 
#15

Re: Text in Dualzahlen umwandeln

  Alt 24. Mär 2010, 12:24
ich habe eine "neueklasse" erstellt, die das attribut ztext und einige methoden u.a auch "textumwandeln" besitzt.
nun habe ich in der hauptunit ztext über die methode "setztetext" aus der klasse "neueklasse" den in ein editfeld eingegebenen Text zugewiesen und rufe dann über eine buttonclick methode die prozedure "textumwandeln" auf in der der angegebene Quelltext steht. Über eine Methode gibtext der klasse "neueklasse" lasse ich dann in der hauptunit ztext wieder in einem editfeld ausgeben.

Hoffe das ist verständlich formuliert^^
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

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

Re: Text in Dualzahlen umwandeln

  Alt 24. Mär 2010, 12:41
versuch es doch einmal mit dieser Simpellösung:
Delphi-Quellcode:
function Byte2Bin(inbyte:byte):string;
const
  bina:array [0..1] of char=('0','1');
begin
  result:=' ';
  result[1]:=bina[(inbyte shr 7) and $01];
  result[2]:=bina[(inbyte shr 6) and $01];
  result[3]:=bina[(inbyte shr 5) and $01];
  result[4]:=bina[(inbyte shr 4) and $01];
  result[5]:=bina[(inbyte shr 3) and $01];
  result[6]:=bina[(inbyte shr 2) and $01];
  result[7]:=bina[(inbyte shr 1) and $01];
  result[8]:=bina[(inbyte and $01)];
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  i : integer;
begin
  for i:=1 to length(label1.caption) do
    label2.Caption:=label2.Caption+' '+Byte2Bin(byte(label1.Caption[i]));
end;
Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
guidok

Registriert seit: 28. Jun 2007
417 Beiträge
 
#17

Re: Text in Dualzahlen umwandeln

  Alt 24. Mär 2010, 12:53
Also bei mir funktioniert das problemlos:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
  var
    s: integer;
    ttext: string;
begin
  for s:= 1 to length(Edit1.Text) do
  begin
    ttext:= ttext + inttostr(ord(Edit1.Text[s]));
  end;

Label1.Caption := ttext;
end;
  Mit Zitat antworten Zitat
countdown

Registriert seit: 23. Mär 2010
10 Beiträge
 
#18

Re: Text in Dualzahlen umwandeln

  Alt 24. Mär 2010, 13:02
Danke p80286 auch wenn ich die funktion, die du mir gegeben hast, absolut nicht verstehe, konnte ich es zu laufen bringen indem ich es so in die hauptunit geschrieben habe:

Delphi-Quellcode:
procedure TForm1.Button3Click(Sender: TObject);
var s:integer;
begin
 for s:= 1 to length(edit1.text) do
  label17.caption := label17.caption + inttostr(ord(edit1.text[s])) ;
end;
was jetzt nicht verstehe ist warum das ganze nicht funktioniert, wenn ich das umwandeln in eine andere klasse auslagern will...
hat da noch jemand eine antwort drauf?wäre super wenn ihr mir das noch erklären könntet aber ich bin erstmal froh, dass es jetzt soweit bei mir klappt danke an alle
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.540 Beiträge
 
Delphi 11 Alexandria
 
#19

Re: Text in Dualzahlen umwandeln

  Alt 24. Mär 2010, 13:13
Was genau funktioniert denn nicht?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
countdown

Registriert seit: 23. Mär 2010
10 Beiträge
 
#20

Re: Text in Dualzahlen umwandeln

  Alt 24. Mär 2010, 13:13
alles klar hat sich erledigt, ich habe den fehler selber gefunden
danke nochmals an alle helfer
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


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 21:19 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