![]() |
Eigenschaften von Arrays
Halllo,
bin noch Delphi-Anfänger und habe mal folgende primitive Frage: Ich habe einen array of string, der aus beispielsweise 4 Elementen besteht. Darüber hinaus habe ich noch einen String, den ich mal mit 'S' bezeichne. Den String durchlaufe ich mit einer for-Schleife. Nun soll die Schleife dann anhalten, wenn lediglcih eines der array-Elemente in dem String vorkommt, ganz gleich welches der 4 Elemente. Wie gebe ich das ein? Vielen Dank im voraus, MFG Propeller |
Re: Eigenschaften von Arrays
soll ein Arrayelement nur in s sein oder gleich s?
|
Re: Eigenschaften von Arrays
"Wie gebe ich das ein"
Andersrum. es gibt die Funktion "Pos". z.B. Pos('Hallo',s) gibt dir das erste Vorkommen von 'Hallo' in s zurück, oder 0 wenn es nicht drinn vorkommt. |
Re: Eigenschaften von Arrays
Delphi-Quellcode:
for i:=0 to arraylength do
begin if pos(array[i],s)<>0 then enthalten; end; |
Re: Eigenschaften von Arrays
Hey Leute,
danke für die schnelle Hilfe. Ich glaube, ich habe mich nicht ganz richtig ausgedrückt. Also, mein Problem ist folgendes: S wird durchlaufen! Ist ein Zeichen von S gleich irgendeinem Zeichen von dem Array, so wird der vorangegangene Teil abgeschnitten. Beispiel: Das sind die vier Elemente unseres Arrays:
Delphi-Quellcode:
Jetzt haben wir einen String, beispielsweise:
Rechenzeichen[0]:='+';
Rechenzeichen[1]:='-'; Rechenzeichen[2]:='*'; Rechenzeichen[3]:='/'; S:='300-200+500' Nun soll der String durchlaufen werden und vor dem ersten Rechenzeichen "abgeschnitten" werden. Da man aber in der Regel nicht weiß, welches das erste Rechenzeichen ist, soll die Schleife anhalten, wenn irgendein Zeichen des Arrays im String gefunden wurde! MFG Propeller |
Re: Eigenschaften von Arrays
:hi:
Delphi-Quellcode:
ich denke das hilft dir weiter...
var
S,r : String; i,j : Integer; begin s := '200+300/400'; r := '+-* /'; for i:= 1 to length(s) do begin j := 1; while (S[i] <> r[j]) and (j < length(r)) do inc(j); if S[i] = r[j] then showmessage('operator'''+r[j]+'''gefunden '); end; while (S[i] <> r[j]) and (j < length(r)) do is nix anderes als pos nur kannst du das debuggen |
Re: Eigenschaften von Arrays
Geht das nicht einfacher mit dem "in" Operator?
|
Re: Eigenschaften von Arrays
Zitat:
Grüße Klaus |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:51 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