AGB  ·  Datenschutz  ·  Impressum  







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

Memo1.Lines[0] prüfen!

Ein Thema von strom · begonnen am 23. Mai 2015 · letzter Beitrag vom 23. Mai 2015
Antwort Antwort
strom

Registriert seit: 23. Aug 2008
Ort: Keine Ergebnisse gefunden
290 Beiträge
 
#1

Memo1.Lines[0] prüfen!

  Alt 23. Mai 2015, 11:53
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;
  Mit Zitat antworten Zitat
AlexII

Registriert seit: 28. Apr 2008
1.717 Beiträge
 
FreePascal / Lazarus
 
#2

AW: Memo1.Lines[0] prüfen!

  Alt 23. Mai 2015, 12:00
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:
s := 'Test = 5';
Position := Pos('=', s);
if Position <> 0 then
  ShowMessage('gefunden an Position: ' + IntToStr(Position))
else
  ShowMessage('nicht im string vorhanden');
Die Beschreibung der Funktion Pos in der deutschen Hilfe von Delphi ist fehlerhaft.
Entgegen der dortigen Aussage unterscheidet die Funktion sehr wohl zwischen Groß- und
Kleinschreibung.
C by Christian Rehn
Bin Hobbyprogrammierer! Meine Fragen beziehen sich meistens auf Lazarus!
  Mit Zitat antworten Zitat
Popov
(Gast)

n/a Beiträge
 
#3

AW: Memo1.Lines[0] prüfen!

  Alt 23. Mai 2015, 12:11
@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.
  Mit Zitat antworten Zitat
Popov
(Gast)

n/a Beiträge
 
#4

AW: Memo1.Lines[0] prüfen!

  Alt 23. Mai 2015, 12:36
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:
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;
Womit das in dein Beispiel so aussehen könnte:
Delphi-Quellcode:
var
  ...
  i: Integer;
  ...
begin
  ...
  if TryStrToInt(Memo3.Lines[0], i) then
  begin
    Memo5.text := Memo3.Lines[0];
  end;
  Mit Zitat antworten Zitat
Daniel
(Co-Admin)

Registriert seit: 30. Mai 2002
Ort: Hamburg
13.920 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: Memo1.Lines[0] prüfen!

  Alt 23. Mai 2015, 13:40
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.
Daniel R. Wolf
mit Grüßen aus Hamburg
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#6

AW: Memo1.Lines[0] prüfen!

  Alt 23. Mai 2015, 13:41
Delphi-Quellcode:
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;
Könnte man auch mit repeat until oder while lösen wenn die Ziffer relativ weit vorne steht. Das spart ein paar Takte.

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

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

AW: Memo1.Lines[0] prüfen!

  Alt 23. Mai 2015, 13:41
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.
No risk, no fun.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Antwort Antwort


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 18:03 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