Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Eigenschaften von Arrays (https://www.delphipraxis.net/84548-eigenschaften-von-arrays.html)

Propeller 18. Jan 2007 12:06


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

fLaSh11 18. Jan 2007 12:10

Re: Eigenschaften von Arrays
 
soll ein Arrayelement nur in s sein oder gleich s?

sirius 18. Jan 2007 12:11

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.

fLaSh11 18. Jan 2007 12:14

Re: Eigenschaften von Arrays
 
Delphi-Quellcode:
for i:=0 to arraylength do
  begin
  if pos(array[i],s)<>0 then
    enthalten;
  end;

Propeller 18. Jan 2007 12:30

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:
Rechenzeichen[0]:='+';
Rechenzeichen[1]:='-';
Rechenzeichen[2]:='*';
Rechenzeichen[3]:='/';
Jetzt haben wir einen String, beispielsweise:

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

yörsch 18. Jan 2007 13:53

Re: Eigenschaften von Arrays
 
:hi:
Delphi-Quellcode:
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;
ich denke das hilft dir weiter...
while (S[i] <> r[j]) and (j < length(r)) do is nix anderes als pos nur kannst du das debuggen

No0oB 18. Jan 2007 14:29

Re: Eigenschaften von Arrays
 
Geht das nicht einfacher mit dem "in" Operator?

Klaus01 18. Jan 2007 14:34

Re: Eigenschaften von Arrays
 
Zitat:

Zitat von No0oB
Geht das nicht einfacher mit dem "in" Operator?

in funktioniert nicht mit Arrays, dazu müßtest Du sets verwenden.

Grüße
Klaus


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