AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Ausdrücke vergleichen

Ein Thema von BMI · begonnen am 29. Dez 2012 · letzter Beitrag vom 30. Dez 2012
 
Benutzerbild von BMI
BMI

Registriert seit: 16. Jul 2010
58 Beiträge
 
Delphi 2 Desktop
 
#1

Ausdrücke vergleichen

  Alt 29. Dez 2012, 22:38
Hallo,

eigentlich dachte ich, es wäre unnötig deswegen hier zu posten, aber langsam denk ich, das vielleicht einer von Euch das auf Anhieb einfacher hinkriegen würde.
Seit heute Nachmittag fummel ich hier an den Vergleichen herum.
Aber so richtig will das nicht.

Es geht darum, daß vier Strings aus Editboxen in Variablen (a,b,c,d) gelesen werden und dann soll getestet werden, ob die Strings aller "gefüllten" Editfelder im Hauptstring vorkommen


Bedingung ist erfüllt,
wenn alle Teilstrings (a,b, c, d) in dem Hauptstring XSTRING vorhanden sind, sofern sie NICHT leer sind
  • mindestens 1 Teilstring sollte aber nicht leer sein (macht sonst keinen Sinn);
  • ob die 3 anderen etwas enthalten ist optional (sind alles Strings aus den Edit.text)
  • Aber wenn sie nicht leer sind - müssen sie alle im Hauptstring enthalten sein, damit es gültig wird.

Code (grob)
Delphi-Quellcode:
if A <> "" then
if pos( A , XSTRING, 1) <> 0 then

if B <> "" then
if pos( B , XSTRING, 1) <> 0 then

if C <> "" then
if pos( C , XSTRING, 1) <> 0 then

if D <> "" then
if pos( D , XSTRING, 1) <> 0 then

Hatte das wie unten - erst mit 4 Zwischenvariablen, damit ich das mit dem AND vergleichen kann -aber dann ist ja noch nicht sicher, daßdie Editfelder nicht leer waren


Hier mal mein Versuch:
Vielleicht so ??? Aber dann ist immer noch nicht geklärt, ob die Teilstrings B, C, D (genaugenommen auch A) überhaupt NICHT "" Leer sind

Delphi-Quellcode:
// wenn alle Teilstrings in XSTRING vorhanden sind

if A <> "" then
if pos( A , XSTRING, 1) <> 0 then
Q := 1;

if B <> "" then
if pos( B , XSTRING, 1) <> 0 then
W := 1;

if C <> "" then
if pos( C , XSTRING, 1) <> 0 then
E := 1;

if D <> "" then
if pos( D , XSTRING, 1) <> 0 then

// =========================
IF Q and W and E and R = 1 then OK !
R := 1;

Danke für jede gute Idee.

EDIT: Sorry, war so in den Browser getippt
eine Signatur? - in 2022? - WOZU ?!!!

Geändert von BMI (30. Dez 2012 um 09:21 Uhr) Grund: damit möglw. Anfänger mit selbem Problem nichts falsches lernen: bei pos()= -1 durch 0 ersetzt und == durch =
  Mit Zitat antworten Zitat
 


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 22:23 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