Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   IF in mit Strings (https://www.delphipraxis.net/173037-if-mit-strings.html)

Ykcim 4. Feb 2013 10:06

IF in mit Strings
 
Hallo Zusammen,

mich interessiert, wie Ihr das lösen würdet:

Ich muss meine Fertigungsaufträge nach verschiedenen Prozesses selektieren. Das kann ich über die Maschinennummern machen, da die ersten beiden Stellen immer aussagen, zu welchem Prozess die Maschine gehört.

Jetzt gibt es aber Prozesse, die haben Unterprozess und somit mehrere Möglichkeiten der Maschinennummern.

Beispiel:
Zu Prozess 1 gehören alle Maschinen, bei denen die Maschinennummer mit KA und HG anfangen
Zu Prozess 2 gehören alle Maschinen, bei denen die Maschinennummer mit PO, ZF, DH anfangen.

Gibt es eine Möglichkeit in Delphi, wie ich das mit einer IF-Anweisung flexibel abfragen kann. Ich hatte schon an so etwas wie:
Delphi-Quellcode:
IF Maschine.Text in ('PO', 'ZF', 'DH') then begin

end;
Aber damit habe ich leider keinen Erfolg gehabt.

Hat hier jemand eine Idee?

Vielen Dank
Patrick

DeddyH 4. Feb 2013 10:09

AW: IF in mit Strings
 
Delphi-Quellcode:
if AnsiIndexText(Maschine.Text, ['PO', 'ZF', 'DH']) > -1 then

Ykcim 4. Feb 2013 10:33

AW: IF in mit Strings
 
Hallo DeedyH,

vielen Dank! Die Funktion kannte ich noch nicht. Kann ich das auch irgendwie verwenden, wenn ich die Anzahl der möglich Maschinen noch nicht kenne? Also statt:

Delphi-Quellcode:
if AnsiIndexText(Maschine.Text, ['PO', 'ZF', 'DH']) > -1 then
Irgendwie etwas wie
Delphi-Quellcode:
if AnsiIndexText(Maschine.Text, VARIABLE) > -1 then
In diese Variable würde ich dann die Maschinennummern (PO, ZF, DH) reinschreiben...

Vielen Dank
Patrick

DeddyH 4. Feb 2013 10:38

AW: IF in mit Strings
 
Geht.
Delphi-Quellcode:
procedure TFormTest.ButtonWuppdiClick(Sender: TObject);
var
  StrArr: array of string;
begin
  SetLength(StrArr, 3);
  StrArr[0] := 'PO';
  StrArr[1] := 'ZF';
  StrArr[2] := 'DH';
  if AnsiIndexText('DH', StrArr) > -1 then
    ShowMessage('Gefunden');
  StrArr := nil;
end;

Ykcim 4. Feb 2013 10:44

AW: IF in mit Strings
 
KLAPPT! Riesig!

Vielen Dank!
Patrick

Jens01 4. Feb 2013 12:21

AW: IF in mit Strings
 
Code:
if MatchText(Maschine.Text, ['PO', 'ZF', 'DH']) then

sx2008 4. Feb 2013 17:35

AW: IF in mit Strings
 
Wenn die Maschinennummern in Form einer Stringliste vorliegen dann kann man es auch so machen:
Delphi-Quellcode:
var
  Maschinenliste : TStrings; // bzw. TStringList
begin
  ...
  if Maschinenliste.IndexOf(Maschine.Text) <> -1 then
  begin
    ...


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