AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein String gleich aber doch nicht gleich...
Thema durchsuchen
Ansicht
Themen-Optionen

String gleich aber doch nicht gleich...

Ein Thema von EWeiss · begonnen am 9. Sep 2012 · letzter Beitrag vom 9. Sep 2012
Antwort Antwort
Seite 3 von 3     123   
EWeiss
(Gast)

n/a Beiträge
 
#21

AW: String gleich aber doch nicht gleich...

  Alt 9. Sep 2012, 20:57
Str <> ''
Weniger dürfte ja eigentlich nicht auftreten. Oder?
Weder „größer“ noch „weniger“ dürfte auftreten, da überhaupt nicht definiert ist, was bei einem String „größer“ oder „kleiner“ überhaupt sein soll. Wenn dann kann die Länge des Strings verglichen werden, das wäre dann aber Length(Str) .

<> ist in Delphi einfach das Symbol für Ungleichheit, wie != in C-artigen Sprachen oder ≠ in der Mathematik. Str <> '' ist hier nicht zu verstehen als „Str ist größer oder kleiner '' “, sondern als „Str ist ungleich '' “, oder man könnte auch sagen: „Str ist kein Leerstring“.

Ich halte den Vergleich auf '' daher für die sauberste Lösung.
Eine prüfung auf nur '' mag der Compiler gar nicht
zumindest nicht in verbindung mit not if not goProgBar.ClassNamen = 'then
Wie man's macht ist es nicht richtig..

gruss
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#22

AW: String gleich aber doch nicht gleich...

  Alt 9. Sep 2012, 21:00
Das SizeOf bei GetWindowText ist falsch. Die Funktion möchte die maximale Anzahl an Zeichen (Char) haben und nicht die Byte-Größe (Quelle MSDN: "The maximum number of characters to copy to the buffer").

Mit SizeOf(Buf) bekommst du ab Delphi 2009 (Unicode) die doppelte Anzahl zurück, da SizeOf(Char) = 2 ist und somit "257*2" zurückkommt. GetWindowText möchte aber nicht die Byte-Größe, sondern die "Anzahl der verfügbaren Zeichen". Und die ermittelt man über Length.
Danke..
Da hab ich wohl ein Thema angestoßen ich denke viel nicht Studierte Schreiber dürften damit probleme haben.


gruss
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#23

AW: String gleich aber doch nicht gleich...

  Alt 9. Sep 2012, 21:00
Musst Klammern setzen ansonsten denkt der Compiler Du versuchst "goProgBar.ClassNamen" zu negieren (bool'scher Operator):

if not (goProgBar.ClassNamen = '') oder gleich
if goProgBar.ClassNamen <> ''
David F.

May the source be with you, stranger.
PHP Inspection Unit (Delphi-Unit zum Analysieren von PHP Code)
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#24

AW: String gleich aber doch nicht gleich...

  Alt 9. Sep 2012, 21:05
Musst Klammern setzen ansonsten denkt der Compiler Du versuchst "goProgBar.ClassNamen" zu negieren (bool'scher Operator):

if not (goProgBar.ClassNamen = '') oder gleich
if goProgBar.ClassNamen <> ''
Jup das war's und das zu später Stunde

Auf jedenfall bekomme ich jetzt die richtige Meldung..
Denn mit MSTaskListWClass kann ich bei meiner Button steuerung nichts anfangen
Könnte zwar noch ProcEntry.szExeFile; aktivieren wenn der FileName nil ist
aber wie schon gesagt was soll ich steuern über die Button mit der TaskLeiste.

Danke euch
Denke das nutzt anderen auch etwas.

gruss

Geändert von EWeiss (11. Jul 2019 um 16:41 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 3     123   


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 16:47 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