Hallo,
ich habe ein Problem. Immer wenn ich compilieren will, kommt folgende Fehler meldung : "Inkompatible Typen : 'TCheckBox' und 'Integer' "
Das is ja auch erstmal nicht ungwöhnlich, jedoch habe den gleichen Code in einer vorherigen Datei verwendet und in der gleichen Datei nochmal und da war es kein Fehler.
Hier sind die beiden Quellcodes:
Fehlerhafte:
Alles anzeigen
Funktionierender Code:
Alles anzeigen
Thx
Nexor
ich habe ein Problem. Immer wenn ich compilieren will, kommt folgende Fehler meldung : "Inkompatible Typen : 'TCheckBox' und 'Integer' "
Das is ja auch erstmal nicht ungwöhnlich, jedoch habe den gleichen Code in einer vorherigen Datei verwendet und in der gleichen Datei nochmal und da war es kein Fehler.
Hier sind die beiden Quellcodes:
Fehlerhafte:
Quellcode
- unit Rechner;
- interface
- uses
- Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
- Dialogs, StdCtrls, ExtCtrls;
- type
- TForm1 = class(TForm)
- ueberschrift: TLabel;
- orte_label: TLabel;
- gelberkreis: TCheckBox;
- rote_bruecke: TCheckBox;
- gelbe_bruecke: TCheckBox;
- Label1: TLabel;
- puffereinheiten: TComboBox;
- schlingen: TComboBox;
- beschriftung_puffereinheiten: TLabel;
- beschriftung_schlingen: TLabel;
- ueberstehen_label: TLabel;
- vermeiden_label: TLabel;
- warnlichter: TComboBox;
- warnlichter_label: TLabel;
- sensorwaende: TComboBox;
- sensorwaende_label: TLabel;
- sensorwaende_liegen: TCheckBox;
- truck: TCheckBox;
- mitfahrer: TCheckBox;
- mehrere_mitfahrer: TCheckBox;
- Panel1: TPanel;
- ergebnislabel: TLabel;
- punkte_label: TLabel;
- rechnen: TButton;
- beenden: TButton;
- procedure gelberkreisClick(Sender: TObject);
- procedure rote_brueckeClick(Sender: TObject);
- procedure gelbe_brueckeClick(Sender: TObject);
- procedure rechnenClick(Sender: TObject);
- procedure beendenClick(Sender: TObject);
- procedure truckClick(Sender: TObject);
- private
- { Private-Deklarationen }
- public
- { Public-Deklarationen }
- end;
- var
- Form1: TForm1;
- kreis, rot, gelb, wand_liegen, truck, dummy, mitfahrer : integer;
- puffer, schlingen, warnlichter, waende : integer;
- ergebnis : integer;
- implementation
- {$R *.dfm}
- procedure TForm1.beendenClick(Sender: TObject);
- begin
- close;
- end;
- procedure TForm1.rechnenClick(Sender: TObject);
- begin
- ergebnis := kreis+rot+gelb;
- ergebnislabel.Caption := IntToStr (ergebnis);
- end;
- procedure TForm1.gelberkreisClick(Sender: TObject);
- begin
- if gelberkreis.Checked = True then
- kreis := 25
- else kreis := 0;
- end;
- procedure TForm1.rote_brueckeClick(Sender: TObject);
- begin
- if rote_bruecke.Checked = True then
- rot := 25
- else rot := 0;
- end;
- procedure TForm1.gelbe_brueckeClick(Sender: TObject);
- begin
- if gelbe_bruecke.Checked = True then
- gelb := 20
- else gelb :=0;
- end;
- procedure TForm1.truckClick(Sender: TObject);
- begin
- if truck.Checked = True then
- truck := 20
- =========================================> else truck := 0; <======================= Inkompatible Typen : 'TCheckBox' und 'Integer'
- end;
- end.
Funktionierender Code:
Quellcode
- unit checkbox;
- interface
- uses
- Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
- Dialogs, StdCtrls;
- type
- TForm1 = class(TForm)
- CheckBox1: TCheckBox;
- Button1: TButton;
- Label1: TLabel;
- CheckBox2: TCheckBox;
- beenden: TButton;
- Button2: TButton;
- test: TComboBox;
- procedure CheckBox1Click(Sender: TObject);
- procedure CheckBox2Click(Sender: TObject);
- procedure Button1Click(Sender: TObject);
- procedure Button2Click(Sender: TObject);
- procedure beendenClick(Sender: TObject);
- procedure testChange(Sender: TObject);
- private
- { Private-Deklarationen }
- public
- { Public-Deklarationen }
- end;
- var
- Form1: TForm1;
- ergebnis1,ergebnis2,ergebnis3,ergebnis,dropdown : integer;
- implementation
- {$R *.dfm}
- procedure TForm1.CheckBox1Click(Sender: TObject);
- begin
- if CheckBox1.Checked = True then
- ergebnis1 := ergebnis1 + 20
- else ergebnis1 := 0;
- end;
- procedure TForm1.CheckBox2Click(Sender: TObject);
- begin
- if Checkbox2.Checked = True then
- ergebnis2 := ergebnis2 + 50
- else
- ergebnis2 := 0;
- end;
- procedure TForm1.Button1Click(Sender: TObject);
- begin
- ergebnis := ergebnis1 + ergebnis2 + ergebnis3;
- Label1.Caption := IntToStr (ergebnis);
- end;
- procedure TForm1.Button2Click(Sender: TObject);
- begin
- Label1.Caption := IntToStr (0);
- end;
- procedure TForm1.beendenClick(Sender: TObject);
- begin
- close;
- end;
- procedure TForm1.testChange(Sender: TObject);
- begin
- if test.itemindex=1 then dropdown := 200;
- if test.itemindex=2 then dropdown := 500;
- if test.itemindex=0 then dropdown := 700;
- ergebnis3 := dropdown;
- end;
- end.
Thx
Nexor
Zitat von "Elbert Hubbard"
Eine Maschine kann die Arbeit von fünfzig gewöhnlichen Menschen leisten, aber sie kann nicht einen einzigen außergewöhnlichen ersetzen.
Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von Nexor ()