Entwickler-Ecke

Algorithmen, Optimierung und Assembler - Erste Stelle eines Strings bestimmen


pausenbrot11 - Do 13.03.08 03:33
Titel: Erste Stelle eines Strings bestimmen
Hallo!

Ich möchte einen beliebigen Text oder eine Zahlenfolge in ein Edit Fenster eingeben und durch eine Button Methode soll auf einem Label immer die erste, bzw. zweite, dritte usw. Zahl oder Buchstabe angezeigt werden. Nur leider habe ich keine Ahnung wie ein passender Befehl dazu heißt. Wäre nett wenn mir jemand helfen könnte.


Ironwulf - Do 13.03.08 04:24

hy,

ich hoff ich habs richtig verstanden versuch mal das


Delphi-Quelltext
1:
Label1.Caption:= Edit1.Text[2];                    


und für die 2 setzt du einfach ein der wievielte buchstaber benutzt werden soll


klezmor - Do 13.03.08 04:25

Also Strings sind eigentlich Arrays of Char, das heißt du kannst über einen Index auf die gesuchte Zahl, Ziffer usw. zugreifen z.b. button1.caption:=edit1.text[0];


Kroko - Do 13.03.08 07:37

user profile iconklezmor hat folgendes geschrieben:
Also Strings sind eigentlich Arrays of Char, das heißt du kannst über einen Index auf die gesuchte Zahl, Ziffer usw. zugreifen z.b. button1.caption:=edit1.text[0];
Viel Spaß bei der Fehlermeldung!


Blackheart666 - Do 13.03.08 08:18

Schau mal in der Hilfe nach copy.


pausenbrot11 - Do 13.03.08 14:58

Danke euch habs jetzt raus. Machs jetzt so:

Label1.caption := edit1.text[x]

wobei x die gesuchte Stelle ist. Mit copy habe ich mal was gemacht, aber eher nur abgeschrieben, habs noch nicht ganz gecheckt.


Blackheart666 - Do 13.03.08 16:47

user profile iconpausenbrot11 hat folgendes geschrieben:
Danke euch habs jetzt raus. Machs jetzt so:

Label1.caption := edit1.text[x]

wobei x die gesuchte Stelle ist. Mit copy habe ich mal was gemacht, aber eher nur abgeschrieben, habs noch nicht ganz gecheckt.

Wenn es denn so klappt :shock:


Ironwulf - Do 13.03.08 17:13

user profile iconBlackheart666 hat folgendes geschrieben:
user profile iconpausenbrot11 hat folgendes geschrieben:
Danke euch habs jetzt raus. Machs jetzt so:

Label1.caption := edit1.text[x]

wobei x die gesuchte Stelle ist. Mit copy habe ich mal was gemacht, aber eher nur abgeschrieben, habs noch nicht ganz gecheckt.

Wenn es denn so klappt :shock:


was soll daran nicht klappen?


Yogu - Do 13.03.08 18:54

user profile iconIronwulf hat folgendes geschrieben:
was soll daran nicht klappen?

Eine große Fehlerquelle bei Strings ist immer, dass bei 1 zu zählen angefangen wird. Normale Schleifen und dynamische Arrays starten aber bei 0.


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
S := Text[0]; // Fehlermeldung: Es gibt kein nulltest Element
S := Text[1]; // Gibt erstes Element
S := Text[X]; // Pass auf, dass X nicht kleiner gleich Null ist

S := Copy(Text, Anfang, Anzahl); // Anfang zählt ab 1
P := Pos(Suchtest, Text);        // Auch wieder ab 1; 0 bedeutet nicht gefunden


Ironwulf - Do 13.03.08 19:42

na aber wenn mans richtig macht kommt kein fehler, ist wie bei allem andren auch :P


pausenbrot11 - Fr 14.03.08 17:50

Hatte damit bis jetzt keine Probleme, mein x ist nie gleich 0. Das mit dem copy hab ich jetzt auch geheckt. Also danke nochmal. Stehe jetzt sowieso schon wieder vor einem anderen Problem^^


Yogu - Fr 14.03.08 17:53

user profile iconpausenbrot11 hat folgendes geschrieben:
tehe jetzt sowieso schon wieder vor einem anderen Problem^^

So ist das halt. Programmieren besteht nur aus dem Lösen von Problemen. ;)

Wenn du nicht weiter weißt, kannst du die Forensuche benutzen. Solltest du auch dort nichts finden, kannst du deine Frage gerne hier stellen.