Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Teilstring aus String entfernen (https://www.delphipraxis.net/108185-teilstring-aus-string-entfernen.html)

DelphiManiac 8. Feb 2008 14:47


Teilstring aus String entfernen
 
Hallo,

habe zurzeit dieses kleine Problem:

Bsp: Ich habe ein TLabel mit dem Text '22 °C';

Nun will ich beim OnClick den Zahlenwert also 22 in ein SpinEditfeld laden.
D.h.: ich muss meine String nach der Zahl filtern, bzw das ' °C' entfernen aus dem String.

Leider fehlt mir da , der/die Funktionen, deshalb hat mich die OH hier nicht weitergebracht.

Also danke schonmal für eure Hilfe

Gruß
DelphiManiac

Blackheart 8. Feb 2008 14:48

Re: Teilstring aus String entfernen
 
Pos, Copy

mkinzler 8. Feb 2008 14:48

Re: Teilstring aus String entfernen
 
Hier würde sich Val() anbieten

fLaSh11 8. Feb 2008 14:48

Re: Teilstring aus String entfernen
 
Schau dir mal die Funktionen Copy und StringReplace an.

Die Muhkuh 8. Feb 2008 14:49

Re: Teilstring aus String entfernen
 
Du könntest per Delphi-Referenz durchsuchenPos das erste Leerzeichen suchen und bis dort hin den Text abkopieren, danach per StrToInt in einen Integer umwandeln und im SpinEdit anzeigen.

[edit] :shock: [/edit]

DelphiManiac 8. Feb 2008 14:50

Re: Teilstring aus String entfernen
 
Danke!!

die Funktionen werde ich jetzt mal abklappern,

und dann meine Lösung hier einstellen...

DelphiManiac 8. Feb 2008 15:26

Re: Teilstring aus String entfernen
 
So, danke euch nochmal,

ich habe mich jetzt für Val und Delete entschieden (naja auf die Funktionsnamen hätte ich wohl selber kommen müssen :-))

Delphi-Quellcode:
   
einString:=jvlblTempHyst.Caption;
Val(einString,temp,ID); // temp gibt mir den Index des ersten Zeichens zurück, dass nicht Integerkompatibel ist
Delete(einString,ID,Length(einString)); // löscht [°C] aus dem String
if (TryStrToInt(einString,temp)) then einDialog.Temp:=temp;
Also so klappts!!
Gruß
DelphiManiac

P.S.: nur zur Ergänzung, falls natürlich gar kein gültiger Wert in der Caption vorhanden ist,
das z.B.:
Delphi-Quellcode:
'-,-- °C'
dann gibt TryStrToInt ja false zurück und das SpinEdit wird nicht beschrieben, dann nimmt es den unteren Grenzwert an.

mkinzler 8. Feb 2008 15:29

Re: Teilstring aus String entfernen
 
Warum Delete? und dann Wandeln in Integer? Val liefert dir doch alles?

Hawkeye219 8. Feb 2008 18:30

Re: Teilstring aus String entfernen
 
Hallo,

Zitat:

Zitat von mkinzler
Warum Delete? und dann Wandeln in Integer? Val liefert dir doch alles?

Leider liefert Val() nicht in allen Fällen die korrekten Werte: klick

Gruß Hawkeye


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:24 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