Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - String vs. TLabel
Spike Lobo - Do 25.10.07 21:18
Titel: String vs. TLabel
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. - Do 25.10.07 21:21
Hallo und :welcome:!
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
mkinzler - Do 25.10.07 21:34
Christian S. - Do 25.10.07 21:35
@mkinzler: Ein Label hat keine Text-Eigenschaft :zwinker:
mkinzler - Do 25.10.07 21:40
Sorry meinte Caption
Tilman - Do 25.10.07 22:41
Christian S. hat folgendes geschrieben: |
@mkinzler: Ein Label hat keine Text-Eigenschaft :zwinker: |
Doch, hat es ^^ allerdings freilich als protected deklariert. (--> TControl)
Spike Lobo - 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 - 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 |
Spike Lobo - Fr 26.10.07 09:40
Es sind String-Variablen. Hatte ich auch ganz am Anfang geschrieben.
Alpha_Wolf - Fr 26.10.07 09:45
Hab das mal anhand deines Codes nachgebaut..:
Delphi-Quelltext
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.
Spike Lobo - 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!
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!