Delphi-PRAXiS
Seite 1 von 2  1 2      

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 4. Mär 2016 16:17

If Abfrage mit or und and kombinieren
 
Hallo, habe folgende if-Anfrage;
Delphi-Quellcode:
if (JvComboMaschine2.Text = 'TT') and (JvEditRohwareNr.Text = '') then
     begin
       Messagedlg('Rohwaren-Nr. eintragen!', mtwarning, [mbok], 0);
       JvEditRohwareNr.SetFocus;
     end
  else if (JvComboMaschine2.Text = 'TT / Cutter') and (JvEditRohwareNr.Text = '') then
     begin
       Messagedlg('Rohwaren-Nr. eintragen!', mtwarning, [mbok], 0);
       JvEditRohwareNr.SetFocus;
     end
  else if (JvComboMaschine2.Text = 'TT600') and (JvEditRohwareNr.Text = '') then
     begin
       Messagedlg('Rohwaren-Nr. eintragen!', mtwarning, [mbok], 0);
       JvEditRohwareNr.SetFocus;
     end
  else if (JvComboMaschine2.Text = 'Laser') and (JvEditRohwareNr.Text = '') then
     begin
       Messagedlg('Rohwaren-Nr. eintragen!', mtwarning, [mbok], 0);
       JvEditRohwareNr.SetFocus;
     end
  else if (JvComboMaschine2.Text = 'Primera') and (JvEditRohwareNr.Text = '') then
     begin
       Messagedlg('Rohwaren-Nr. eintragen!', mtwarning, [mbok], 0);
       JvEditRohwareNr.SetFocus;
     end
  else
    begin
      PanelSpeichern.Visible := True;
      JvHTButtonspeichernOK.SetFocus;
    end;
Läßt sich das durch eine If-Abfrage beschreiben, so wie:
Delphi-Quellcode:
if ((JvComboMaschine2.Text = 'TT') or (JvComboMaschine2.Text = 'TT / Cutter') or (JvComboMaschine2.Text = 'TT600') or (JvComboMaschine2.Text = 'Laser') or (JvComboMaschine2.Text = 'Memjet') or (JvComboMaschine2.Text = 'Primera')) and (JvEditRohwareNr.Text = '') then
     begin
       Messagedlg('Rohwaren-Nr. eintragen!', mtwarning, [mbok], 0);
       JvEditRohwareNr.SetFocus;
     end
 else
    begin
      PanelSpeichern.Visible := True;
      JvHTButtonspeichernOK.SetFocus;
    end;
Habe schon verschiedene versuche gemacht, jedoch ohne Erfolg. Könnte ich ich einen Schubser von Euch bekommen?

Danke, Luckner

Zacherl 4. Mär 2016 16:49

AW: If Abfrage mit or und and kombinieren
 
Was genau ist das Problem? Sieht auf den ersten Blick korrekt aus.

Luckner 4. Mär 2016 17:07

AW: If Abfrage mit or und and kombinieren
 
Habe ich auch gedacht, aber auch wenn im "JvEditRohwareNr.Text = '123456'" was drin steht, springt das Programm in die if-Abfrage.

Luckie 4. Mär 2016 17:20

AW: If Abfrage mit or und and kombinieren
 
Kannst du die Combobox JvComboMaschine2.Text nicht erst aktivieren, wenn in JvEditRohwareNr was eingetragen wurde? Dann sparst du dir die ganze Abfrage.

Luckner 4. Mär 2016 17:30

AW: If Abfrage mit or und and kombinieren
 
Nein, weil (Die der Name der Combobox schon sagt, bei einigen Maschinen (eingetragen in der Combobox) kein Eintrag in JvEditRohwareNr sein darf.

Bjoerk 4. Mär 2016 17:31

AW: If Abfrage mit or und and kombinieren
 
Kann es sein daß du bur das brauchst?
Delphi-Quellcode:
  if JvComboMaschine2.Items.IndexOf(JvEditRohwareNr.Text) < 0 then
  begin
    Messagedlg('Rohwaren-Nr. eintragen!', mtwarning, [mbok], 0);
    JvEditRohwareNr.SetFocus;
  end
  else
  begin
    PanelSpeichern.Visible := True;
    JvHTButtonspeichernOK.SetFocus;
  end;

gb0 4. Mär 2016 17:37

AW: If Abfrage mit or und and kombinieren
 
Wenn ich es richtig verstanden habe, ist das nicht zielführend, weil JvEditRohwareNr.Text ja doch kein ComboBox-Eintrag sein soll - oder??

gb0 4. Mär 2016 17:38

AW: If Abfrage mit or und and kombinieren
 
@Luckner - an der Logik finde ich auch nichts.

Helmi 4. Mär 2016 17:39

AW: If Abfrage mit or und and kombinieren
 
Hallo,

Zitat:

Zitat von Luckner (Beitrag 1332094)
Delphi-Quellcode:
if ((JvComboMaschine2.Text = 'TT') or (JvComboMaschine2.Text = 'TT / Cutter') or (JvComboMaschine2.Text = 'TT600') or (JvComboMaschine2.Text = 'Laser') or (JvComboMaschine2.Text = 'Memjet') or (JvComboMaschine2.Text = 'Primera')) and (JvEditRohwareNr.Text = '') then
     begin
       Messagedlg('Rohwaren-Nr. eintragen!', mtwarning, [mbok], 0);
       JvEditRohwareNr.SetFocus;
     end
 else
    begin
      PanelSpeichern.Visible := True;
      JvHTButtonspeichernOK.SetFocus;
    end;

bist du dir sicher, dass der Code nicht funktioniert?

Vielleicht noch
Delphi-Quellcode:
and (trim(JvEditRohwareNr.Text) = '') then
um die Eingabe von nur Leerzeichen auch als leere Eingabe anzusehen

bernau 4. Mär 2016 22:48

AW: If Abfrage mit or und and kombinieren
 
Wie wäre es damit?

Delphi-Quellcode:
   
  if MatchText(JvComboMaschine2.Text, ['TT', 'TT / Cutter', 'TT600', 'Laser', 'Primera']) and (JvEditRohwareNr.Text = '') then
      begin
        Messagedlg('Rohwaren-Nr. eintragen!', mtwarning, [mbok], 0);
        JvEditRohwareNr.SetFocus;
      end
    else
      begin
        PanelSpeichern.Visible := True;
        JvHTButtonspeichernOK.SetFocus;
      end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:38 Uhr.
Seite 1 von 2  1 2      

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