Autor |
Beitrag |
Spike Lobo
Hält's aus hier
Beiträge: 8
|
Verfasst: Do 25.10.07 21:18
Mahlzeit!
Ich habe ein kleines Problem. Immer, wenn ich mein kleines Programm starten will, sagt Delphi mir "Inkompatible Typen: String und TLabel". Was ich machen will, ist folgendes: Wenn in ein Feld ein bestimmter Wert eingegeben wird, soll einer Variable a (String) eine Zeichenfolge ('abcxyz', String) zugeordnet werden. Jetzt sagt er mir aber diese obengenannte Fehlermeldung. Ich weiß, wie ich Strings in Integer umwandeln kann und so weiter, aber was mache ich mit TLabel?
|
|
Christian S.
      
Beiträge: 20451
Erhaltene Danke: 2264
Win 10
C# (VS 2019)
|
Verfasst: Do 25.10.07 21:21
Hallo und  !
Normalerweise: Ohne Quellcode kann man da nix zu sagen.
In dem Fall: Der Text, den das Label anzeigt, steckt in der Caption-Eigenschaft, Du musst den String also dieser Eigenschaft zuweisen
Grüße
Christian
_________________ Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
|
|
mkinzler
      
Beiträge: 4106
Erhaltene Danke: 13
Delphi 2010 Pro; Delphi.Prism 2011 pro
|
Verfasst: Do 25.10.07 21:34
Zuletzt bearbeitet von mkinzler am Do 25.10.07 21:40, insgesamt 1-mal bearbeitet
|
|
Christian S.
      
Beiträge: 20451
Erhaltene Danke: 2264
Win 10
C# (VS 2019)
|
Verfasst: Do 25.10.07 21:35
@mkinzler: Ein Label hat keine Text-Eigenschaft 
_________________ Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
|
|
mkinzler
      
Beiträge: 4106
Erhaltene Danke: 13
Delphi 2010 Pro; Delphi.Prism 2011 pro
|
Verfasst: Do 25.10.07 21:40
Sorry meinte Caption
_________________ Markus Kinzler.
|
|
Tilman
      
Beiträge: 1405
Erhaltene Danke: 51
Win 7, Android
Turbo Delphi, Eclipse
|
Verfasst: Do 25.10.07 22:41
Christian S. hat folgendes geschrieben: | @mkinzler: Ein Label hat keine Text-Eigenschaft  |
Doch, hat es ^^ allerdings freilich als protected deklariert. (--> TControl)
_________________ Bringe einen Menschen zum grübeln, dann kannst du heimlich seinen Reis essen.
(Koreanisches Sprichwort)
|
|
Spike Lobo 
Hält's aus hier
Beiträge: 8
|
Verfasst: Fr 26.10.07 09:26
Da bin ich wieder. Also, ich erklär mal, was ich vorhabe:
Ich habe a und den Inhalt von Feld1 (b) als String-Variablen deklariert. Nun will ich, dass bei einer bestimmten Eingabe in Feld1 a eine bestimmte Zeichenfolge zugewiesen bekommt. Sprich:
Delphi-Quelltext 1: 2: 3: 4:
| b := Feld1.Text;
if b = 'MOIN'
then a := 'xyz123' |
Beim Versuch es zu compilieren, streicht er mir immer die then-Zeile rot an und meint, dass TLabel und String inkompatible Typen sind. Ich habe auch schon einmal versucht, einem neuen Edit-Feld diese Zeichenfolge zuzuweisen. Sprich:
Delphi-Quelltext 1: 2: 3: 4:
| b := Feld1.Text;
if b = 'MOIN'
then Edit2.Text := 'xyz123' |
Hat aber genausowenig funktioniert. Die gleiche Fehlermeldung.
Moderiert von Gausi: Delphi-Tags hinzugefügt
|
|
Gausi
      
Beiträge: 8548
Erhaltene Danke: 477
Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
|
Verfasst: Fr 26.10.07 09:32
Was sind denn a und b für Typen? Sind das Strings oder TEdits oder TLabel? Wenn es TLabel oder Edits sind, dann sollte es so funktionieren:
Delphi-Quelltext 1: 2:
| if b.Caption = 'MOIN' then if b.Text = 'MOIN' then |
_________________ We are, we were and will not be.
|
|
Spike Lobo 
Hält's aus hier
Beiträge: 8
|
Verfasst: Fr 26.10.07 09:40
Es sind String-Variablen. Hatte ich auch ganz am Anfang geschrieben.
|
|
Alpha_Wolf
      
Beiträge: 297
Ubuntu, Win XP, Win Vista
C#, Delphi 6 Prof, Delphi 2007 Prof, Java
|
Verfasst: Fr 26.10.07 09:45
Hab das mal anhand deines Codes nachgebaut..:
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36:
| unit Unit1;
interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;
type TForm1 = class(TForm) Feld1: TEdit; Button1: TButton; Edit2: TEdit; procedure Button1Click(Sender: TObject); private public end;
var Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject); var b: string; a: string; begin b := Feld1.Text; if b = 'MOIN' then Edit2.Text := 'xyz123'; end;
end. |
Denn der Code funktioniert bei mir einwandfrei.
_________________ Diskutiere nie mit einem Irren - er zieht dich auf sein Niveau und schlägt dich mit seiner Erfahrung.
|
|
Spike Lobo 
Hält's aus hier
Beiträge: 8
|
Verfasst: Fr 26.10.07 09:46
Kommando zurück! Ich weiß meinen Fehler. Ich hatte vergessen, der Variablen auch wirklich den Inhalt des Feldes zuzuweisen. Jetzt klappt es. Trotzdem danke für die Hilfe!
|
|