Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   If Abfrage mit or und and kombinieren (https://www.delphipraxis.net/188449-if-abfrage-mit-und-kombinieren.html)

Luckner 6. Mär 2016 16:27

AW: If Abfrage mit or und and kombinieren
 
Hallo Bernau,
diese Funktion kannte ich bis heute nicht, aber sie sieht elegant aus für mein Problem. Werde es gleich ausprobieren.

Danke!
Luckner

nahpets 6. Mär 2016 18:00

AW: If Abfrage mit or und and kombinieren
 
Mein Delphi 7 kennt Matchtext nicht.

Wäre dashier eventuell ein Lösungsansatz (nur ungetestet so hingedaddelt)?
Delphi-Quellcode:
procedure TForm1.irgendwas;
var
  sl      : TStringList;
begin
  sl := TStringList.Create;
  // Dashier eventuell aus einer Datei laden, damit bei Änderungen in der Liste
  // das Programm nicht geändert werden muss.
  sl.Add('TT');
  sl.Add('TT / Cutter');
  sl.Add('TT600');
  sl.Add('Laser');
  sl.Add('Primera');
  if (sl.IndexOf(JvComboMaschine2.Text) > -1)
  and (Trim(JvEditRohwareNr.Text) = '') then begin
    Messagedlg('Rohwaren-Nr. eintragen!', mtwarning, [mbok], 0);
    JvEditRohwareNr.SetFocus;
  else begin
    PanelSpeichern.Visible := True;
    JvHTButtonspeichernOK.SetFocus;
  end;
  sl.Free;
end;

Luckner 6. Mär 2016 18:09

AW: If Abfrage mit or und and kombinieren
 
Habe auch Delphi 7 Ent. und es kennt auch kein MatchText. Schade. Dann lasse ich es mit den vielen elseif's.

Danke für die Hilfe

Luckner 6. Mär 2016 18:12

AW: If Abfrage mit or und and kombinieren
 
Hallo nahpets,

ja, mit einer Strinlist, das wäre auch eine Lösung. Besser als die vielen else's.

Sir Rufo 6. Mär 2016 18:42

AW: If Abfrage mit or und and kombinieren
 
So eine
Delphi-Quellcode:
MatchText
Funktion bekommt man scheinbar ausschließlich mit neueren Versionen.

Gut, man könnte sich die programmieren, aber dazu müsste man wohl Programmierer sein :roll:

Mal im Ernst gefragt:

Habt ihr keine eigene Bibliothek wo ihr solche Standard-Routinen/Klassen sammelt? Wenn Nein, warum nicht?

Gerade hier würde sich z.B. die Funktion
Delphi-Quellcode:
IndexText( const s: string; const v: array of string ): Integer
aufdrängen die man dann in
Delphi-Quellcode:
MatchText
verwendet.

Sowas braucht man idR alle Naselang

Und weil es gerade so viel Spaß macht, schiebt man
Delphi-Quellcode:
IndexStr
und
Delphi-Quellcode:
MatchStr
gleich noch hinterher.

Luckner 6. Mär 2016 19:02

AW: If Abfrage mit or und and kombinieren
 
Hallo Sir Rufo,

dazu müsste man Programmieren sein:) und dann die Zeit dazu haben, neben seinen eigenen Routinen auch noch allgemeine zu etwickeln. Aber ich bin auch ehrlich und glaube nicht, dass ich da Was vernüftiges programmieren könnte. Bin schon froh, wenn Andere das können und hier im Forum mal helfen.

Gruß, Luckner

Sir Rufo 6. Mär 2016 19:20

AW: If Abfrage mit or und and kombinieren
 
Zugegeben es gibt da immer schwer und leicht, aber hier geht man einfach durch ein Array vergleicht die Werte mit
Delphi-Quellcode:
CompareText
und gibt den Array-Index oder -1 zurück =>
Delphi-Quellcode:
IndexText
.

Delphi-Quellcode:
MatchText
ist dann einfach
Delphi-Quellcode:
Result := IndexText( s, v ) > -1;

nahpets 7. Mär 2016 08:12

AW: If Abfrage mit or und and kombinieren
 
Unter Delphi 7 gibt es u. a. AnsiMatchText, damit könnte es in etwa so funktionieren:
Delphi-Quellcode:
uses StrUtils;
...
procedure TForm1.irgendwas;
begin
  if AnsiMatchText(JvComboMaschine2.Text,['TT','TT / Cutter','TT600','Laser','Primera'])
  and (Trim(JvEditRohwareNr.Text) = '') then begin
    Messagedlg('Rohwaren-Nr. eintragen!', mtwarning, [mbok], 0);
    JvEditRohwareNr.SetFocus;
  else begin
    PanelSpeichern.Visible := True;
    JvHTButtonspeichernOK.SetFocus;
  end;
end;

Luckner 7. Mär 2016 09:54

AW: If Abfrage mit or und and kombinieren
 
Danke nahpets,

es funktioniert und es läßt sich für die Zukunft gut erweitern.

Gruß, Luckner


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:10 Uhr.
Seite 2 von 2     12   

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