AGB  ·  Datenschutz  ·  Impressum  







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

Schleifen Problem

Ein Thema von Shinoda16 · begonnen am 12. Mär 2009 · letzter Beitrag vom 12. Mär 2009
Antwort Antwort
Shinoda16

Registriert seit: 12. Mär 2009
3 Beiträge
 
#1

Schleifen Problem

  Alt 12. Mär 2009, 22:22
Hallo,
Mein Plan ist es einen String in die ASCII Zahlenwerte umzuwandeln. Also wenn ich z.B. in das Edit1.text "AA" eingebe soll mir im Edit2.text 6565 ausgegeben werden.

Aber es funktioniert nicht wegen diesem Fehler:

[Fehler] Unit1.pas(36): Inkompatible Typen: 'Char' und 'Integer'


Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var text: string;
u: byte;

begin
text:= edit1.text;
for u:=1 to length(text) do begin
text[u]:=ord(text[u]);
edit2.text := text
end;

end;

 end.
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: Schleifen Problem

  Alt 12. Mär 2009, 22:25
Hallo, herzlich Willkommen!

text[u] ist ein String bzw. Char und dem kannst du direkt keinen Integer-Wert zuweisen. Evtl. geht das:

text[u] := IntToStr(Ord(text[u])); Bzw. so wird es nicht gehen. Speicher den Ord-Wert in einer String-Variablen und weise den 1. Buchstaben zu:

Delphi-Quellcode:
OrdStr := IntToStr(Ord(text[u]));
text[u] := OrdStr[0];
Oder irgendwie sowas.

Grüße, Matze
  Mit Zitat antworten Zitat
Shinoda16

Registriert seit: 12. Mär 2009
3 Beiträge
 
#3

Re: Schleifen Problem

  Alt 12. Mär 2009, 22:36
Vielen Dank Matze!
Nun sind wir schon einen Schritt weiter.
Das Programm lässt sich starten und ich kann Buchstaben eingeben und umwandeln.

ABER

Wenn ich z.B. A eingebe, wird mir anstatt "65" nur "6" ausgegeben. Bei "a" wird mir nur die "9" anstatt "97" ausgegeben.Also irgendwo streicht er immer automatisch die zweite Ziffer vom Zahlenwert weg. Das Problem besteht bei allen Zeichen. Immer gibt Delphi nur eine Zahl aus.
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: Schleifen Problem

  Alt 12. Mär 2009, 22:40
Hallo,

ja string[0] ist nur das erste Zeichen. Mich hat es verwirrt, dass du einem einzelnen Zeichen etwas zuweist, daher dachte ich nicht daran, dass das so gar nicht gehen kann. habe dein Beispiel nicht gelesen. *g*

Ich würde es so lösen:

Delphi-Quellcode:
var
  text, textASCI: string;
  u: Byte;
begin
  text := Edit1.Text;
  textASCI := '';

  for u := 1 to length(text) do
    textASCI := textASCI + IntToStr(Ord(text[u]));

  Edit2.Text := textASCI;
end;
ungetestet.

Grüße, Matze
  Mit Zitat antworten Zitat
Shinoda16

Registriert seit: 12. Mär 2009
3 Beiträge
 
#5

Re: Schleifen Problem

  Alt 12. Mär 2009, 22:45
Klappt wunderbar Matze ! Vielen dank für die schnelle Hilfe
  Mit Zitat antworten Zitat
Antwort Antwort


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 05:42 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