AGB  ·  Datenschutz  ·  Impressum  







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

Nummer zu String

Ein Thema von synex · begonnen am 14. Sep 2003 · letzter Beitrag vom 14. Sep 2003
Antwort Antwort
Seite 1 von 2  1 2      
synex

Registriert seit: 14. Apr 2003
147 Beiträge
 
Delphi 6 Personal
 
#1

Nummer zu String

  Alt 14. Sep 2003, 14:35
Hi Leute!

Ich bin grade dabei ein Programm zu schreiben, welches eine Nummer (z.B. 6542317) in die daraus möglichen Buchstabenkombinationen umwandelt (also 2=ABC, 3=DEF wie beim SMS schreiben). Jetzt hab ich da aber ein Problem bei:

Wie zerpflück ich eine zahl 1234 in die einzelnen zahlen 1, 2, 3 und 4? Ich denke am besten speichere ich die Zahlen in einem dynamischen Array, die Länge von dem kriege ich durch length(inttostr(nummer)) raus, aber wie krieg ich die erste Zahl auf die erste Position, die zweite auf die zweite und so weiter?

Das wird denke ich mal nicht das einzige Problem bei dem Programm sein, aber fürs erste hilft mir das weiter!

MfG synex
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Nummer zu String

  Alt 14. Sep 2003, 14:39
Die Zeichen eines String kannst du mit deren Index ansprechen. Achtung Delphi Strings fangen bei eins an!
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
axelf98

Registriert seit: 27. Aug 2003
Ort: Ennepetal
440 Beiträge
 
Delphi 2005 Personal
 
#3

Re: Nummer zu String

  Alt 14. Sep 2003, 14:43
Hmm... Vielleicht so:

Delphi-Quellcode:
var S: String;

...
function FindeHandyBuchstaben(X:Pchar) : String;
begin
result := 'Keine Zahl!';
case X of
'1' : result := ' ';
'2' : result := 'ABC';
'3' : result := 'DEF';
'4' : result := 'GHI';
'5' : result := 'JKL';
'6' : result := 'MNO';
'7' : result := 'PQRS';
'8' : result := 'TUV';
'9' : result := 'WXYZ';
'0' : result := ' ';
end;
end;
...

procedure Button1Click(Sender);
var i : integer;
begin

S := '1284';

for i := 1 to length(S) do
Edit1.Text := Edit1.Text + FindeHandyBuchstaben(S[i])+ '__' ;

// Edit1.Text = ABC__DEF__TUV__GHI

end;
  Mit Zitat antworten Zitat
Dagon

Registriert seit: 13. Jul 2003
505 Beiträge
 
Delphi 7 Professional
 
#4

Re: Nummer zu String

  Alt 14. Sep 2003, 14:46
das ist ganz einfach:
Delphi-Quellcode:
var dynamischesArray: array of String;
  ...
  s := IntToStr(nummer);
  setlength(dynamischesArray, length(s));
  for k := 0 to length(s)-1 do
    dynamischesArray[k] := s[k+1];
  Mit Zitat antworten Zitat
synex

Registriert seit: 14. Apr 2003
147 Beiträge
 
Delphi 6 Personal
 
#5

Re: Nummer zu String

  Alt 14. Sep 2003, 14:50
hui danke für die schnellen Antworten, ich probiers mal aus

danke nochmal, synex
  Mit Zitat antworten Zitat
synex

Registriert seit: 14. Apr 2003
147 Beiträge
 
Delphi 6 Personal
 
#6

Re: Nummer zu String

  Alt 14. Sep 2003, 14:55
also ich hab grade axelf98 seinen Vorschlag ausprobiert, aber er sagt mir bei

case x of
[...]

ordinaltyp erforderlich

Ich hab schon probiert irgendwie mit strtoint(x) aber dann hatter beim Start vom Programm gemmeckert Zugriffsverletzung irgendwo ...

Wenn du mir da noch nen Tipp geben könntest wie ich das hinbekomm wär ich dir echt dankbar.

MfG synex
  Mit Zitat antworten Zitat
axelf98

Registriert seit: 27. Aug 2003
Ort: Ennepetal
440 Beiträge
 
Delphi 2005 Personal
 
#7

Re: Nummer zu String

  Alt 14. Sep 2003, 14:56
Hmm, ich hatte den Code einfach so geschrieben.. Hat natürlich nicht geklappt

Der hier geht schon besser:

Delphi-Quellcode:
function FindeHandyBuchstaben(X:Char) : String;
begin
result := 'Keine Zahl!';

case X of // Wer lieber Caselisten mag:
'1' : result := ' ';
'2' : result := 'ABC';
'3' : result := 'DEF';
'4' : result := 'GHI';
'5' : result := 'JKL';
'6' : result := 'MNO';
'7' : result := 'PQRS';
'8' : result := 'TUV';
'9' : result := 'WXYZ';
'0' : result := ' ';
end;

end;

procedure TForm1.Button1Click(Sender: TObject);
 var i : integer;
begin
S := '2243';
edit1.clear;
for i := 1 to length(S) do
Edit1.Text := Edit1.Text + FindeHandyBuchstaben(S[i]) + ' ';
// TEXT = ABC ABC GHI DEF
end;
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#8

Re: Nummer zu String

  Alt 14. Sep 2003, 14:59
Grausam. Mach doch bitte aus den if's eine case Konstruktion. Danke.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von flomei
flomei

Registriert seit: 17. Jan 2003
Ort: Schieder-Schwalenberg
2.094 Beiträge
 
Delphi 2005 Personal
 
#9

Re: Nummer zu String

  Alt 14. Sep 2003, 15:03
Ja und was is mit den Sonderzeichen, Satzzeichen usw. ???

MfG Florian
Florian Meier
... ist raus.
Vielen Dank für die Zeit mit euch!
http://www.flomei.de -- http://www.md5hash.de
  Mit Zitat antworten Zitat
synex

Registriert seit: 14. Apr 2003
147 Beiträge
 
Delphi 6 Personal
 
#10

Re: Nummer zu String

  Alt 14. Sep 2003, 15:03
wow vielen Dank axelf98!! Jetzt hats geklappt!

Ich verscuh jetzt mal weiter mein Glück, mal schaun wo das nächste Problem lauert!

MfG synex
  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 15:51 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