AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Umrechnen von String-Werten zu dezimal Code und zurück
Thema durchsuchen
Ansicht
Themen-Optionen

Umrechnen von String-Werten zu dezimal Code und zurück

Ein Thema von Stresemann · begonnen am 24. Mai 2006 · letzter Beitrag vom 24. Mai 2006
Antwort Antwort
Seite 1 von 2  1 2      
Stresemann

Registriert seit: 23. Mai 2006
Ort: Münster
14 Beiträge
 
Delphi 6 Personal
 
#1

Umrechnen von String-Werten zu dezimal Code und zurück

  Alt 24. Mai 2006, 13:09
Hallo zusammen! Wie schon in einem anderen Tread brauche ich die Hilfe bei einem Programm
womit ich string-Werte, wie z.B. A zu dezimal-code laut Ascii bekommen, also bei A 65...
Bei dem Umrechnen von string nach dezimalcode habe ich schon ein Erfolg erzielt:

Delphi-Quellcode:

var i,n: integer;
Satz, int: String;

for i := 1 to (length(Satz)) do
begin
n := Ord(Satz[i]);
Mit diesem Quellcode klappt die Umrechnung! Hurrah und danke noch mal nachträglich
für die Hilfe dabei.. Nur jetzt fehlt mir noch die umgekehrte Rechnung von
dezimal zu String..
Einen Ansatz dazu habe ich:

Delphi-Quellcode:
var i,n: integer;
Satz, int: String;

for i := 1 to length(satz) do
begin
int := chr(strtoint(satz[i]));
Doch dies klappt noch net, da er bei jedem Wert nur  herausspuckt.
Ich bin mir sicher das die Schleife hochgradig falsch ist, jedoch weiß ich mir
selber noch nicht richtig zu helfen.
Michael Raring
  Mit Zitat antworten Zitat
ichbins

Registriert seit: 9. Jul 2005
Ort: Hohenaltheim
1.001 Beiträge
 
Delphi 2005 Personal
 
#2

Re: Umrechnen von String-Werten zu dezimal Code und zurück

  Alt 24. Mai 2006, 13:12
Zu was brauchst du eine Schleife?

str:=char(strtoint(int));
Michael Enßlin
Ich, der ich weiß, mir einzubilden, dass ich weiß, nichts zu wissen, weiß, dass ich nichts weiß.
Sokrates
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.755 Beiträge
 
Delphi 10.4 Sydney
 
#3

Re: Umrechnen von String-Werten zu dezimal Code und zurück

  Alt 24. Mai 2006, 13:15
Delphi-Quellcode:
var i,n: integer;
Satz, int: String;

for i := 1 to length(satz) do
  begin
   int := int + chr(strtoint(satz[i]));
  end;
weil int ein String und kein Char ist
und weil Zeichen von chr(0)- char(9) in der Regel nicht darstellbar sind.

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Benutzerbild von _frank_
_frank_

Registriert seit: 21. Feb 2003
Ort: Plauen / Bamberg
922 Beiträge
 
Delphi 3 Professional
 
#4

Re: Umrechnen von String-Werten zu dezimal Code und zurück

  Alt 24. Mai 2006, 13:18
naja, wie speicherst du die dezimalzahlen? sicherlich als string hintereinander. du brauchst da ein trennzeichen (leerzeichen, #, oder was anderes) um zu kennzeichnen, wann ein neuer Wert anfängt.
Dann zerlegst du anhand des trennzeichens den string und wandelst um.

ungetested und ohne fehlerprüfung (n>255):

Delphi-Quellcode:
satz2:='';
p:=pos(' ',satz);
while p>0 do
begin
  n:=StrtoInt(copy(satz,1,n-1));
  satz2:=satz2+chr(n);
  delete(satz,1,n);
end;
Gruß Frank
Frank Wunderlich
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#5

Re: Umrechnen von String-Werten zu dezimal Code und zurück

  Alt 24. Mai 2006, 13:19
Hier ein Stück Code zum Studieren:

Delphi-Quellcode:
procedure Test;
var
  s: String;
  ba: array of Byte;
  i: Integer;
begin
  s := 'Stresemann';
  SetLength(ba, Length(s));
  for i := 1 to Length(s) do
    ba[Pred(i)] := Ord(s[i]);
  s := 'wundersam'; // nur zur Verwirrung
  SetLength(s, Length(ba));
  for i := 1 to Length(s) do
    s[i] := Chr(ba[Pred(i)]);
  ShowMessage(s); // was wird angezeigt?
end;
Grüße vom marabu
  Mit Zitat antworten Zitat
24. Mai 2006, 13:19
Dieses Thema wurde von "Sharky" von "Freeware" nach "Object-Pascal / Delphi-Language" verschoben.
Ist ja kein Programm das vorgestelt wird.
Stresemann

Registriert seit: 23. Mai 2006
Ort: Münster
14 Beiträge
 
Delphi 6 Personal
 
#7

Re: Umrechnen von String-Werten zu dezimal Code und zurück

  Alt 24. Mai 2006, 15:16
Danke für die Tipps! Letzendlich ist es darauf hinausgelaufen:

int :=chr(strtoint(satz)); Jedoch kann ich damit nur einen Buchstaben umrechnen. Ich würde aber gerne ganze Sätzte um rechnen
können. Hätte jemand eine Idee für die Schleife?!
Michael Raring
Zwei Dinge sind unendlich: das Universum und die menschliche Dummheit; aber bei dem Universum bin ich mir noch nicht ganz sicher.

Albert Einstein
  Mit Zitat antworten Zitat
Benutzerbild von DGL-luke
DGL-luke

Registriert seit: 1. Apr 2005
Ort: Bad Tölz
4.149 Beiträge
 
Delphi 2006 Professional
 
#8

Re: Umrechnen von String-Werten zu dezimal Code und zurück

  Alt 24. Mai 2006, 15:20
Delphi-Quellcode:
function StringToCharCodes(s: string): string;
begin
  Result := '';
  for i := 1 to length(s) do
    Result := Result + '#' + inttostr(ord(s[i]));
end;
Sollte so gehen. "ABC" -> "#65#66#67".

Wenn du statt dem Gatter als trennzeichen mit leerzeichen oder nullen auffüllen willst, solltest du dir evtl. mal Delphi-Referenz durchsuchenFormat ansehen.
Lukas Erlacher
Suche Grafiktablett. Spenden/Gebrauchtangebote willkommen.
Gotteskrieger gesucht!
For it is the chief characteristic of the religion of science that it works. - Isaac Asimov, Foundation I, Buch 1
  Mit Zitat antworten Zitat
Stresemann

Registriert seit: 23. Mai 2006
Ort: Münster
14 Beiträge
 
Delphi 6 Personal
 
#9

Re: Umrechnen von String-Werten zu dezimal Code und zurück

  Alt 24. Mai 2006, 15:24
Das ist aber leider bei meinem Programm nicht möglich..
Der Dezimalcode darf keine Trennzeichen haben.. Gibt es nicht auch noch eine andere Möglichkeit?
Michael Raring
Zwei Dinge sind unendlich: das Universum und die menschliche Dummheit; aber bei dem Universum bin ich mir noch nicht ganz sicher.

Albert Einstein
  Mit Zitat antworten Zitat
Benutzerbild von _frank_
_frank_

Registriert seit: 21. Feb 2003
Ort: Plauen / Bamberg
922 Beiträge
 
Delphi 3 Professional
 
#10

Re: Umrechnen von String-Werten zu dezimal Code und zurück

  Alt 24. Mai 2006, 15:36
eine idee hab ich noch...mach den dezimalcode immer 3-stellig wenn du den string erweiterst
z.b. so:

Delphi-Quellcode:
function StringToCharCodes(s: string): string;
var i:integer;
begin
  Result := '';
  for i := 1 to length(s) do
    Result := Result + format('%.3d',[ord(s[i])]);
end;

function CharCodesToString(s: string): string;
var i,c:integer;
begin
  Result := '';
  c:=length(s) div 3;
  for i := 0 to c-1 do
    Result := Result + chr(strToInt(copy(s,i*3+1,3)));
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  edit2.text:=StringToCharCodes(edit1.text);
  edit3.text:=CharCodesToString(edit2.text);
end;

Gruß Frank
Frank Wunderlich
  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 02:15 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