Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - Problem mit bedingung
110022 - Di 30.10.07 19:09
Titel: Problem mit bedingung
Was ist hierdran falsch??
Delphi-Quelltext
1: 2: 3: 4: 5: 6:
| procedure TForm1.N1Click(Sender: TObject); begin if not Memo1.lines:='' then showmessage('Hallo'); end;
end. |
Agawain - Di 30.10.07 19:10
Hi
Du verwendest den Zuweisungsoperator := in der if Abfrage, richtig wäre =
110022 - Di 30.10.07 19:26
kann aber nich sein.
habs schon probiert
da muss es ne andere lösung geben
Blackheart666 - Di 30.10.07 19:31
110022 hat folgendes geschrieben: |
kann aber nich sein.
habs schon probiert
da muss es ne andere lösung geben |
Na sicher, was soll das auch werden ?
Vieleicht könntest Du mal schreiben was Du damit bezweckst, vieleicht ist auch Memo die falsche Komponente...
jaenicke - Di 30.10.07 19:32
Memo1.Lines ist eine Liste von Zeilen, d.h. Strings während '' nur ein String ist ;-).
Der gesamte Text in dem Memo ist Memo1.Text, und das kannst du mit '' vergleichen, wie du es ja versucht hast.
dummzeuch - Di 30.10.07 19:35
Titel: Re: Problem mit bedingung
110022 hat folgendes geschrieben: |
Was ist hierdran falsch??
Delphi-Quelltext 1: 2: 3: 4: 5: 6:
| procedure TForm1.N1Click(Sender: TObject); begin if not Memo1.lines:='' then showmessage('Hallo'); end;
end. | |
Da sind gleich drei Fehler drin:
1. TMemo.Lines ist vom Typ TStrings und kann deshalb nicht mit einem String verglichen werden.
2. := ist der Zuweisungsoperator, Du willst aber vergleichen, dafuer muss = verwendet werden
3. not bindet staerker als der Vergleichsoperator, deshalb brauchst Du Klammern
Alternativen:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7:
| if not (Memo1.Lines.Count = 0) then ...
if Memo1.Lines.Count <> 0 then ...
if not (Memo1.Lines.Text = '') then ...
if Memo1.Lines.Text <> '' then ... |
twm
Blackheart666 - Di 30.10.07 20:25
dummzeuch hat folgendes geschrieben: |
Alternativen:
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7:
| if not (Memo1.Lines.Count = 0) then ...
if Memo1.Lines.Count <> 0 then ...
if not (Memo1.Lines.Text = '') then ...
if Memo1.Lines.Text <> '' then ... | |
Das ist glaub Ich dummes Zeug, entweder das was
jaenicke schon geschrieben hat oder mal den Fragesteller noch eimal fragen worauf das ganze hinauslaufen soll.
Moderiert von
Narses: Quote gekürzt.
Marc. - Di 30.10.07 23:42
Blackheart666 hat folgendes geschrieben: |
Das ist glaub Ich dummes Zeug, entweder das was jaenicke schon geschrieben hat oder mal den Fragesteller noch eimal fragen worauf das ganze hinauslaufen soll. |
Ist alles vollkommen korrekt, was
dummzeuch geschrieben hat! :?
grüße,
Marc
jaenicke - Mi 31.10.07 00:24
Genau, denn Memo1.Lines.Text ist das selbe wie Memo1.Text, was ich geschrieben hatte...
Agawain - Mi 31.10.07 00:35
Hi
cool down boys :mrgreen:
m.e. geht es hier um eine Variante von 'Hello World'
also ansich völlig sinnfrei
m.e. hat dummzeuch hier den Vogel abgeschossen...sagt zumindest meine Kristallkugel
hihi
ne, ich lass es
dummzeuch - Mi 31.10.07 10:46
jaenicke hat folgendes geschrieben: |
Genau, denn Memo1.Lines.Text ist das selbe wie Memo1.Text, was ich geschrieben hatte... |
Nein. Memo1.Text ist eine Property, die von TCustomEdit stammt und von TMemo nicht ueberschrieben wird. Sie ist AFAIR immer ein leerer String.
twm
jaenicke - Mi 31.10.07 12:08
dummzeuch hat folgendes geschrieben: |
Nein. Memo1.Text ist eine Property, die von TCustomEdit stammt und von TMemo nicht ueberschrieben wird. Sie ist AFAIR immer ein leerer String. |
Probier es bitte einfach mal aus... Diese Aussage ist definitiv falsch...
dummzeuch - Mi 31.10.07 14:46
jaenicke hat folgendes geschrieben: |
dummzeuch hat folgendes geschrieben: | Nein. Memo1.Text ist eine Property, die von TCustomEdit stammt und von TMemo nicht ueberschrieben wird. Sie ist AFAIR immer ein leerer String. | Probier es bitte einfach mal aus... Diese Aussage ist definitiv falsch... |
Ok, bei Delphi 2007 ist es aequivalent. Ich erinnere mich allerdings dunkel, dass ich mich bei einer der frueheren Versionen (Delphi 5?) mal vertippt hatte und stundenlang den Fehler gesucht habe.
jaenicke - Mi 31.10.07 15:05
Seltsam, dass es bei D5 so ist (wie du ja sagst)...
Bei Delphi 3, 6, 7, 2005, 2006 und 2007 funktioniert es (mehr Versionen habe ich nicht zur Verfügung).
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!