AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein If Abfrage mit or und and kombinieren
Thema durchsuchen
Ansicht
Themen-Optionen

If Abfrage mit or und and kombinieren

Ein Thema von Luckner · begonnen am 4. Mär 2016 · letzter Beitrag vom 7. Mär 2016
Antwort Antwort
Seite 1 von 2  1 2      
Luckner

Registriert seit: 28. Nov 2006
Ort: Berlin
418 Beiträge
 
Delphi 7 Enterprise
 
#1

If Abfrage mit or und and kombinieren

  Alt 4. Mär 2016, 16:17
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
  Mit Zitat antworten Zitat
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#2

AW: If Abfrage mit or und and kombinieren

  Alt 4. Mär 2016, 16:49
Was genau ist das Problem? Sieht auf den ersten Blick korrekt aus.
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)
  Mit Zitat antworten Zitat
Luckner

Registriert seit: 28. Nov 2006
Ort: Berlin
418 Beiträge
 
Delphi 7 Enterprise
 
#3

AW: If Abfrage mit or und and kombinieren

  Alt 4. Mär 2016, 17:07
Habe ich auch gedacht, aber auch wenn im "JvEditRohwareNr.Text = '123456'" was drin steht, springt das Programm in die if-Abfrage.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#4

AW: If Abfrage mit or und and kombinieren

  Alt 4. Mär 2016, 17:20
Kannst du die Combobox JvComboMaschine2.Text nicht erst aktivieren, wenn in JvEditRohwareNr was eingetragen wurde? Dann sparst du dir die ganze Abfrage.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Luckner

Registriert seit: 28. Nov 2006
Ort: Berlin
418 Beiträge
 
Delphi 7 Enterprise
 
#5

AW: If Abfrage mit or und and kombinieren

  Alt 4. Mär 2016, 17:30
Nein, weil (Die der Name der Combobox schon sagt, bei einigen Maschinen (eingetragen in der Combobox) kein Eintrag in JvEditRohwareNr sein darf.
  Mit Zitat antworten Zitat
Bjoerk

Registriert seit: 28. Feb 2011
Ort: Mannheim
1.384 Beiträge
 
Delphi 10.4 Sydney
 
#6

AW: If Abfrage mit or und and kombinieren

  Alt 4. Mär 2016, 17:31
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;
  Mit Zitat antworten Zitat
gb0

Registriert seit: 27. Aug 2005
20 Beiträge
 
#7

AW: If Abfrage mit or und and kombinieren

  Alt 4. Mär 2016, 17:37
Wenn ich es richtig verstanden habe, ist das nicht zielführend, weil JvEditRohwareNr.Text ja doch kein ComboBox-Eintrag sein soll - oder??
  Mit Zitat antworten Zitat
gb0

Registriert seit: 27. Aug 2005
20 Beiträge
 
#8

AW: If Abfrage mit or und and kombinieren

  Alt 4. Mär 2016, 17:38
@Luckner - an der Logik finde ich auch nichts.
  Mit Zitat antworten Zitat
Benutzerbild von Helmi
Helmi

Registriert seit: 29. Dez 2003
Ort: Erding, Republik Bayern
3.312 Beiträge
 
Delphi XE2 Professional
 
#9

AW: If Abfrage mit or und and kombinieren

  Alt 4. Mär 2016, 17:39
Hallo,

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
and (trim(JvEditRohwareNr.Text) = '') then um die Eingabe von nur Leerzeichen auch als leere Eingabe anzusehen
mfg
Helmi

>> Theorie ist Wissen, dass nicht funktioniert - Praxis ist, wenn alles funktioniert und keiner weiss warum! <<
  Mit Zitat antworten Zitat
Benutzerbild von bernau
bernau

Registriert seit: 1. Dez 2004
Ort: Köln
1.268 Beiträge
 
Delphi 11 Alexandria
 
#10

AW: If Abfrage mit or und and kombinieren

  Alt 4. Mär 2016, 22:48
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;
Gerd
Kölner Delphi Usergroup: http://wiki.delphitreff.de
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:25 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