AGB  ·  Datenschutz  ·  Impressum  







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

string -> char -> integer

Ein Thema von braingrenade · begonnen am 27. Apr 2003 · letzter Beitrag vom 5. Mai 2003
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von braingrenade
braingrenade

Registriert seit: 30. Okt 2002
Ort: Neufra
274 Beiträge
 
Delphi 6 Personal
 
#1

string -> char -> integer

  Alt 27. Apr 2003, 13:16
Moi Leute !

hab mal wieder n'Problem :

wie kann ich den z.b. string '1001010001010010' in ein array vom typ
smallint reinkriegen so dass am Ende der array so aussieht :

intarray[0] := 1;
intarray[1] := 0;
intarray[2] := 0;
intarray[3] := 1;
.
.
.
intarray[15] := 0;

hoffe jeder hats verstanden!
Let the sun beat down upon my face
Stars fill my dream
I am a traveller of both time and space
To be where I have been ________________ Such A Surge
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#2
  Alt 27. Apr 2003, 13:24
Moin Braingrenade,

einfach in einer for Schleife durch den String gehen (1 to length(StringVariable)), und dann mit StrToInt in das korrespondiernde Element des intarray eintragen.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Benutzerbild von braingrenade
braingrenade

Registriert seit: 30. Okt 2002
Ort: Neufra
274 Beiträge
 
Delphi 6 Personal
 
#3
  Alt 27. Apr 2003, 13:55
danke fürr die antwort , aber irgedwas hab ich da falsch gemacht ,
jetzt mach ichs halt mit if schleifen , das geht auch !
Let the sun beat down upon my face
Stars fill my dream
I am a traveller of both time and space
To be where I have been ________________ Such A Surge
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#4
  Alt 27. Apr 2003, 14:21
Moin Braingrenade,

if Schleife


Wie geht das denn?
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Benutzerbild von braingrenade
braingrenade

Registriert seit: 30. Okt 2002
Ort: Neufra
274 Beiträge
 
Delphi 6 Personal
 
#5
  Alt 27. Apr 2003, 15:01
Moin !


ganz einfach:

Delphi-Quellcode:
for i := 0 to lenth(inputstring) do
begin
if inputstring[i] = '1then intarray[i] := 1
else intarray[i] := 0;
end;
Let the sun beat down upon my face
Stars fill my dream
I am a traveller of both time and space
To be where I have been ________________ Such A Surge
  Mit Zitat antworten Zitat
Benutzerbild von Stanlay Hanks
Stanlay Hanks

Registriert seit: 1. Mär 2003
2.078 Beiträge
 
Delphi 2005 Professional
 
#6
  Alt 27. Apr 2003, 15:14
Das ist aber trotzdem noch eine For Schleife, weil das begin nach dem do steht.
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#7
  Alt 27. Apr 2003, 15:20
Moin Braingrenade,

ich hatte schon Schlimmeres befürchtet

Wieso klappt

Delphi-Quellcode:
for i := 0 to lenth(inputstring) do
begin
  intarray[i] := StrToInt(inputstring[i]);
end;
bei Dir nicht?

Stimmt der inhalt nicht?

Übrigens: So dürfte es auch nicht gehen, da die Indizes eines Strings bei 1 beginnen.

Es sollte also wohl besser so aussehen:

Delphi-Quellcode:
for i := 0 to lenth(inputstring)-1 do
begin
  intarray[i] := StrToInt(inputstring[i+1]);
end;
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Benutzerbild von braingrenade
braingrenade

Registriert seit: 30. Okt 2002
Ort: Neufra
274 Beiträge
 
Delphi 6 Personal
 
#8
  Alt 27. Apr 2003, 15:33
Moin !

Da gabs bei mir immer nen Convert-Error
aber is ja jetzt eh egal weil die andere Methode klappt ja auch.

das mit den indizes ist bei mir anders, ich mach dass eigentlich immer mit 'ner repeat-schleife :


Delphi-Quellcode:
i:=0;
repeat
...
i := i+1;
until i := high(irgendwas)+1;
geht auch !
Let the sun beat down upon my face
Stars fill my dream
I am a traveller of both time and space
To be where I have been ________________ Such A Surge
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#9
  Alt 27. Apr 2003, 15:45
Moin Braingrenade,

wie jetzt die Schleife aussieht, in der man die Elemente eines Arrays anspricht ist zweitrangig.
Wichtig ist nur, dass die Indizes, die angesprochen werden richtig sind, und bei einem Hugestring beginnen die nun einmal bei 1 und nicht bei 0.
Der Fehler wird wahrscheinlich darin liegen, dass Du einen Shortstring verwendest (z.B. deklariert mit s : string[16]), bei dem s[0] dann das Längenbyte enthält, so dass ein Zugriff auf [0] überhaupt möglich ist. Da die Länge keine ASCII Code ist, der sich mittels StrToInt umwandeln lässt, erhältst Du einen Convert Error.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Benutzerbild von braingrenade
braingrenade

Registriert seit: 30. Okt 2002
Ort: Neufra
274 Beiträge
 
Delphi 6 Personal
 
#10
  Alt 27. Apr 2003, 15:48
Moin !

Das mit den indizes passt schon , dass funtzt bei mir alles jetzt !
Let the sun beat down upon my face
Stars fill my dream
I am a traveller of both time and space
To be where I have been ________________ Such A Surge
  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:10 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