Autor |
Beitrag |
110022
      
Beiträge: 287
XP SP2
Delphi 7
|
Verfasst: Di 30.10.07 19:09
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
      
Beiträge: 460
win xp
D5, MySQL, devxpress
|
Verfasst: Di 30.10.07 19:10
Hi
Du verwendest den Zuweisungsoperator := in der if Abfrage, richtig wäre =
_________________ Gruß Aga
|
|
110022 
      
Beiträge: 287
XP SP2
Delphi 7
|
Verfasst: Di 30.10.07 19:26
kann aber nich sein.
habs schon probiert
da muss es ne andere lösung geben
|
|
Blackheart666
      
Beiträge: 2195
XP
D3Prof, D6Pers.
|
Verfasst: 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...
_________________ Blackheart666
Der Irrsinn ist bei Einzelnen etwas Seltenes, - aber bei Gruppen, Parteien, Völkern, Zeiten die Regel. (Friedrich Nietzsche)
|
|
jaenicke
      
Beiträge: 19315
Erhaltene Danke: 1747
W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: 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
      
Beiträge: 593
Erhaltene Danke: 5
Delphi 5 ent, Delphi 6 bis Delphi XE8 pro
|
Verfasst: Di 30.10.07 19:35
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
      
Beiträge: 2195
XP
D3Prof, D6Pers.
|
Verfasst: Di 30.10.07 20:25
_________________ Blackheart666
Der Irrsinn ist bei Einzelnen etwas Seltenes, - aber bei Gruppen, Parteien, Völkern, Zeiten die Regel. (Friedrich Nietzsche)
|
|
Marc.
      
Beiträge: 1876
Erhaltene Danke: 129
Win 8.1, Xubuntu 15.10
|
Verfasst: 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
      
Beiträge: 19315
Erhaltene Danke: 1747
W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Mi 31.10.07 00:24
Genau, denn Memo1.Lines.Text ist das selbe wie Memo1.Text, was ich geschrieben hatte...
|
|
Agawain
      
Beiträge: 460
win xp
D5, MySQL, devxpress
|
Verfasst: Mi 31.10.07 00:35
Hi
cool down boys
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
_________________ Gruß Aga
|
|
dummzeuch
      
Beiträge: 593
Erhaltene Danke: 5
Delphi 5 ent, Delphi 6 bis Delphi XE8 pro
|
Verfasst: 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
      
Beiträge: 19315
Erhaltene Danke: 1747
W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: 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
      
Beiträge: 593
Erhaltene Danke: 5
Delphi 5 ent, Delphi 6 bis Delphi XE8 pro
|
Verfasst: 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
      
Beiträge: 19315
Erhaltene Danke: 1747
W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: 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).
|
|