AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

If-Abfrage wird ignoriert (D7)

Ein Thema von Hobbycoder · begonnen am 24. Aug 2018 · letzter Beitrag vom 24. Aug 2018
Antwort Antwort
Seite 1 von 2  1 2   
Hobbycoder

Registriert seit: 22. Feb 2017
887 Beiträge
 
#1

If-Abfrage wird ignoriert (D7)

  Alt 24. Aug 2018, 14:13
Hi,

ich habe gerade ein etwas merkwürdiges Problem. In einem alten D7-Projekt muss ich ein paar Erweiterungen machen.
Delphi-Quellcode:
procedure TAuslastungList.SetZT(wer: string; ZT, zegeplant: Integer);
var
  ma: TAuslastungMA;
begin
  if wer<>'then
  begin
    ma:=self.ItemByWer(wer);
    if not Assigned(ma) then
    begin
      ma:=TAuslastungMA.Create;
      ma.Wer:=wer;
      self.Add(ma);
    end;
    .
    .
    .
  end;
end;
Nach meinem Verständnis sollte also der Block nur ausgeführt werden, wenn in Wer ein string vorhanden ist.
Komischerweise wird aber der Block trotzdem ausgeführt. Ich kann's mir nicht erklären.
Eigentlich was ganz banales, aber ich steh irgendwie auf dem Schlauch.

Hab mal ein Screenshot angehängt. Darin kann man sehen, was der debugger auswirft.
Miniaturansicht angehängter Grafiken
fehler1.png  
Gruß Hobbycoder
Alle sagten: "Das geht nicht.". Dann kam einer, der wusste das nicht, und hat's einfach gemacht.
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.116 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: If-Abfrage wird ignoriert (D7)

  Alt 24. Aug 2018, 14:14
Hallo,
mach mal ein Length(wer) und vor dem Create eine MessageBox.
Heiko
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
9.399 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: If-Abfrage wird ignoriert (D7)

  Alt 24. Aug 2018, 14:15
Sieht aus als enthält der String wer ein Leerzeichen.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Hobbycoder

Registriert seit: 22. Feb 2017
887 Beiträge
 
#4

AW: If-Abfrage wird ignoriert (D7)

  Alt 24. Aug 2018, 14:19
Oh Mann, das ist schon fast peinlich
Danke Uwe.
Gruß Hobbycoder
Alle sagten: "Das geht nicht.". Dann kam einer, der wusste das nicht, und hat's einfach gemacht.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.824 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: If-Abfrage wird ignoriert (D7)

  Alt 24. Aug 2018, 15:31
if Trim(wer<>'') then und Leerzeichen werden zum Vergleichen entfernt.
Markus Kinzler
  Mit Zitat antworten Zitat
Delphi.Narium

Registriert seit: 27. Nov 2017
2.037 Beiträge
 
Delphi 7 Professional
 
#6

AW: If-Abfrage wird ignoriert (D7)

  Alt 24. Aug 2018, 15:35
Wenn aber das Leerzeichen erlaubt ist und nur ein Leerstring die Bedingung erfüllt? if Length(wer) = 0 then
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.188 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#7

AW: If-Abfrage wird ignoriert (D7)

  Alt 24. Aug 2018, 16:23
if Trim(wer<>'') then und Leerzeichen werden zum Vergleichen entfernt.
Inkompatible Typen String und Boolean
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.288 Beiträge
 
Delphi 10.3 Rio
 
#8

AW: If-Abfrage wird ignoriert (D7)

  Alt 24. Aug 2018, 16:44
if Length(Trim(wer)) > 0 then
Sollte funktionieren.
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
Delphi.Narium

Registriert seit: 27. Nov 2017
2.037 Beiträge
 
Delphi 7 Professional
 
#9

AW: If-Abfrage wird ignoriert (D7)

  Alt 24. Aug 2018, 16:57
if Length(Trim(wer)) > 0 then
Sollte funktionieren.
Aber nur, wenn führende und folgende Leerzeichen zu ignorieren sind, bzw. ein nur aus Leerzeichen bestehender String mit einem Leerstring gleichzusetzen ist.
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.288 Beiträge
 
Delphi 10.3 Rio
 
#10

AW: If-Abfrage wird ignoriert (D7)

  Alt 24. Aug 2018, 17:05
if ((wer<>'')and(wer<>' ')) then
Sollte auch funktionieren mit Delphi.Nariums Wunsch nach Leerstellen.
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 03:05 Uhr.
Powered by vBulletin® Copyright ©2000 - 2022, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf