![]() |
Memo1.Lines[0] prüfen!
wenn im Memo, in der ersten Zeile eine Zahl steht,
soll eine das Memo kopiert werden! Wie könnte so was aussehen?
Delphi-Quellcode:
begin
if Memo3.Lines[0] =( Key in ['0'..'9', #8] ) then /????????????????????? begin Memo5.text := Memo3.Lines[0]; end; |
AW: Memo1.Lines[0] prüfen!
Pos
Will man prüfen, ob ein Teilstring in einem String vorkommt bzw. will man die Stelle ermitteln, an der dieser Teilstring vorkommt, so benutzt man die Funktion Pos. function Pos(SubStr: string; S: string): Integer; SubStr: der String, nach dem gesucht werden soll S: der String, in dem gesucht werden soll Rückgabewert: die Position, an der der Teilstring gefunden wurde; ansonsten 0 So kann man in einem String suchen:
Delphi-Quellcode:
Die Beschreibung der Funktion Pos in der deutschen Hilfe von Delphi ist fehlerhaft.
s := 'Test = 5';
Position := Pos('=', s); if Position <> 0 then ShowMessage('gefunden an Position: ' + IntToStr(Position)) else ShowMessage('nicht im string vorhanden'); Entgegen der dortigen Aussage unterscheidet die Funktion sehr wohl zwischen Groß- und Kleinschreibung. C by Christian Rehn |
AW: Memo1.Lines[0] prüfen!
@strom
1. Solche Fragen kann man sich oft selbst beantworten wenn man sich mit der Komponente beschäftigt. Einfach in der OH alle Eigenschaften und Methoden durchlesen. Eigentlich bin ich der Letzte der auf die OH verweist, denn schließlich ist ein Forum dazu da Fragen zu stellen, aber TStrings & Co. gehören zu den Delphi-Grundlagen. 2. Wenn man etwas wissen will und wünscht, dass sich jemand Mühe mit einer Antwort gibt, dann sollte man sich mehr also nur 5 Sekunden mit der Frage auseinandersetzen. Vielleicht sollte man zuerst die Vorschau wählen, sich dann alles durchlesen und sich fragen - werde ich und meine Frage auch verstanden? Ich wette mit dir um ein Puddingteilchen, dass du diese Frage einfach so ohne Überlegung runter geschrieben hast. Und nun muss sich jeder damit auseinandersetzen und fragen was du eigentlich willst? 3. Ich würde dir gerne helfen, weiß aber nicht was du willst. AlexII hat evtl. eine Glaskugel in der er es sieht. |
AW: Memo1.Lines[0] prüfen!
Ich weiß zwar immer noch nicht was die Frage ist, aber evtl. geht es um Zahlen. Hier ein Beispiel wie man herausfindet ob ein String eine Interger Zahl oder gar eine Reelle Zahl enthält.
Delphi-Quellcode:
Womit das in dein Beispiel so aussehen könnte:
var
sZahl: string; iResult: Integer; fResult: Double; begin sZahl := '42'; //sZahl := '12,3456'; //Prüfen ob Integer if TryStrToInt(sZahl, iResult) then ShowMessage(sZahl + ' ist eine Integer-Zahl') else ShowMessage(sZahl + ' ist keine Integer-Zahl'); //Prüfen ob Zahl mit Nachkommastellen if TryStrToFloat(sZahl, fResult) then ShowMessage(sZahl + ' ist eine Reelle-Zahl') else ShowMessage(sZahl + ' ist keine Reelle-Zahl'); end;
Delphi-Quellcode:
var
... i: Integer; ... begin ... if TryStrToInt(Memo3.Lines[0], i) then begin Memo5.text := Memo3.Lines[0]; end; |
AW: Memo1.Lines[0] prüfen!
Das sollte ihm helfen.
Wenn er dann noch mittels "Memo1.Lines.Count" prüft, ob es überhaupt eine erste Zeile (mit Index 0) gibt, dann wird die Lösung wohl rund. |
AW: Memo1.Lines[0] prüfen!
Delphi-Quellcode:
Könnte man auch mit repeat until oder while lösen wenn die Ziffer relativ weit vorne steht. Das spart ein paar Takte.
function IstZifferinString(const s:string):boolean;
var i : integer, begin result:=false; if length(s)>0 then for i:=1 to length(s) do if s[i] in ['0'..'9'] then result:=true; end; Gruß K-H |
AW: Memo1.Lines[0] prüfen!
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:46 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz