![]() |
Incompatible Types: 'Boolean' and 'Integer'
Tach!
Ich würd gerne den Text eines Labels in ein Memo hinzufügen. Das ganze will ich möglichst einfach mit
Code:
machen. Egal was ich änder (leuchtet mir ein dass man nicht viel am Typ der Komponente :? (oder war das jetzt falsch) ändern kann) ich krieg jedesmal dieses schöne?!? Fehlermeldung:
infocheck.Lines.add(Lblyes.Caption);
Zitat:
Was kann ich ändern oder besser machen, damit es funktioniert??? Thx im Voraus! MfG Florian |
Hallo flomei,
das Problem kommt woanders her. Wenn Dir dieser Fehler angezeigt wird, wo steht dann der Cursor? Denn Memo1.Lines.Add(Label1.Caption); geht sehr wohl! Grüsse, Daniel :hi: |
Meine Fresse bin ich dämlich! :wall: :wall: :wall: :wall: :wall: :wall: :wall: :wall: :wall: :wall:
Code:
Das war jetzt aber echt dämlich!
if
yes.Checked then infocheck.Lines.add(Lblyes.Caption); :wall: :wall: :wall: :wall: Vielen Dank für die schnelle Hilfe! MfG Florian |
Jetzt weiss ich wieder was ich noch Fragen wollte!
Wie kann ich innerhalb einer Prozedur mehrere If Bedingungen einbauen. Ich demonstrier das besser mal kurz:
Delphi-Quellcode:
Ich hoffe ihr versteht jetzt so ungefähr was ich meine.
//tu dies
//tu das //tu noch mehr //immer noch was machen //immer weiter if blabla.Checked then //tu noch was anderes else if {<-- ich glaub hier ist der erste Fehler} blablabla.Checked then //tu noch was ganz anderes {jetzt irgendwie Ende der Bedingungen} {neue fangen an} if blabla.Checked then //tu noch was anderes else if blablabla.Checked then //tu noch was ganz anderes {ende zum zweiten} Form3.ShowModal; end; Thx! MfG Florian [edit=Daniel B]Delphi-Tags gesetzt. Florian, Bitte [ delphi]und[/delphi], anstatt [ code]und[/code] benutzen. Danke! MfG Daniel B.[/edit] |
haste es denn schonmal so probiert???
aber eigentlich könnteste dir dann das "else" sparen. gruss haegar |
Hi Flomei,
wer haut sich so den Kopf gegen die Wand, so dumm war die Frage doch nicht, krieg ja fast selber Kopfweh. :wall: Was Du brauchst (mit IF THEN ELSE usw.) ist CASE Bitte in der Hilfe nachlesen. P.S.: habe gerade noch gesehen, daß in dem Posting anscheinend Code-Tags hinzugefügt sind, der sieht aber trotzdem kriminell aus. :mrgreen: Wie willst Du da die Übersicht behalten und was ist mit den ";" :?: Der erste Fehler könnte wegen eines fehlenden ; komme, oder wegen eines überflüssigen vor ELSE. |
Verzeihung Daniel!
Naja, ich steig noch durch. Das sollte auch nicht mehr werden. tut mir leid, dass ich das nicht sofort nachgucken kann aber ich hab Mandelentzündung und deshalb geh ich gleich wieder ins Bett. Ich hab das schon mal ohne else ausprobiert aber da bekam ich auch ne Fehlermeldung, glaub ich. :? Sorry, aber es geht mir heute echt nicht so gut. Ich setz mich bald wieder dran. Trotzdem Thx! MfG Florian P.S.: Mittwoch fahr ich zur CeBit :bouncing4: :bounce1: :bounce2: :dancer: :dancer2: |
Hoi,
erst mal gute Besserung und viel Spaß auf der CeBit :evil: Nun zum Problem:
Delphi-Quellcode:
oder wenn du mehrere Aktionen pro Bedingung machen willst dann immer mit begin und end.
if flomei.krank then
// naja dann bist du halt krank ;)) und kannst ned zur CeBit ;)) der eine Befehl hier darf kein ; am ende haben!!!! else if flomei.vater.krank then // dieser bedingung wird nur überprüft wenn du gesund bist. // leider ist dein vater krank... du kannst ned zur CeBit ;)) der eine Befehl hier darf kein ; am ende haben!!!! else // das wird nur ausgeführt wenn alle vorherigen abfragen negativ verlaufen sind, also du und dein Vater gesund sind. // jetzt kannsch zur CeBit :D dieser befehl aber bitte mit ;
Delphi-Quellcode:
flomei.krank und flomei.vater.krank mussen boolsche Werte sein
if flomei.krank then
begin // naja dann bist du halt krank ;)) und kannst ned zur CeBit ;)) // Hier kannst du mehr als nur ein Befehl ausführen. end // wichtig: ohne ; else if flomei.vater.krank then // dieser bedingung wird nur überprüft wenn du gesund bist. begin // leider ist dein vater krank... du kannst ned zur CeBit ;)) // Hier kannst du mehr als nur ein Befehl ausführen. end else // das wird nur ausgeführt wenn alle vorherigen abfragen negativ verlaufen sind, also du und dein Vater gesund sind. begin // jetzt kannsch zur CeBit :D end; // wichtig: mit ; Naja, ich hoffe das es dir Hilft. PS: wenn du in der Hilfe unter if-Anweisungen suchst findest du eine gute Beschreibung über die ganze Sache. |
:mrgreen: ich göaub das war mehr als verständlich :mrgreen:
wirklich kompetente leute hier :D gruss haegar |
@flo...-Dingsbums: Neue Frage, neuer Thread bitte. Dann findet man Themen mit der Suche leichter wieder.
|
hm
Danke, danke!
Ich hab meinen Quelltext jetzt verändert aber es gibt immer noch Probleme. (Sch*** Bedingungen :( )
Delphi-Quellcode:
Fehlermeldung:
if
yes.Checked then addnewguestfinal.checkinfo.Lines.Add(smokeryes.Caption); addnewguestfinal.ShowModal else //Zeile 96 im Quelltext addnewguestfinal.checkinfo.Lines.Add(smokerno.Caption); addnewguestfinal.ShowModal end; Zitat:
hm... Thx! MfG Florian |
Hallo flomei,
das Problem ist, Du hast die Hilfe nicht gelesen. Wenn nach dem then oder else mehrere Zeilen kommen, also mehr als eine, so musst Du es in begin und end setzen. Also, entweder:
Delphi-Quellcode:
oder:
if bla then
blabla else blablabla end;
Delphi-Quellcode:
Grüsse, Daniel :hi:
if bla then
begin bla bla bla end else begin bla bla bla end; |
Das geht jetzt. Er fängt an zu kompilieren und dann krieg ich ne üble Fehlermeldung.
Zitat:
MfG Florian |
Vor allem aber : ; hinter jedes "bla", also "bla;"
Da es aber keine Regel ohne Ausnahme gibt : vor dem ELSE BEGIN keiner :!: @everyone : an so was kann ein Anfänger verzweifeln. |
Hmm,
ich nehme mal an das es sich dabei um eine CheckBox handelt. Du solltest die Namen so vergeben das man noch erkennen kann was es ist, ist eine sehr schlechte Angewohnheit was Du da hast! Also, wie lautet die Meldung. "newguestform.yes.Checked" sieht recht seltsam aus. Eine CheckBox hätte eigentlich nur einen Namen. Was wäre dann das yes in der mitte? Ein grüner Pfeil ist allerdings seltsam. Sieht eher nach einem Breakpoint aus, wenn der Debugger dort anhält. Grüsse, Daniel :hi: |
Zitat:
Grüsse, Daniel :hi: |
Zitat:
Desweitern kenne ich kein Objekt, welches die Methode oder Eigenschaft "yes" kennen würde. :shock: Einen Haken in eine Checkbox setzte man mit:
Delphi-Quellcode:
So und jetzt bitte noch mal alles komplett mit Code, wo er stehen bleibt mit was für einer Fehlermeldung und von was für einen Typ die Objekte sind.
Chekcbox1.Checked := TRUE;
Hättest du das gleich von anfang an beherzigt, dann wäre dein Problem wohl schon spätestens nach dem zweiten Posting gelöst gewesen. Und wenn du dann noch die Hilfe zu Rate gezogen hättest plus eventuell ein paar Grundlagen Tutorilas und / oder Bücher, dann wäre dein Posting sogar wahrscheinlich überflüssig. Dies bezüglich will ich dir auch gleich noch zwei gute Seiten an das Herz legen: ![]() ![]() Anmerkung: Der grüne Pfeil ist nicht seltsam, den zeig die IDE immer, wenn der Debugger an einer fehlerhaften Stelle im Code stehen bleibt. Die Zeile ist dann noch zusätzlich farblich gekennzeichnet. Und die zugehörige Fehlermeldung steht unten im Ausgabefenster. ______________________________________ Und das nächste mal bitte für eine neue Frage einen neuen Thread! Jetzt ist es schon zu spät, wo schon so viele geantwortet haben. Noch was: Quote-Tags heißen Quote-Tags, weil man Zitate damit kennzeichnet. Und jetzt rate mal für was die Code-Tages und insbesondere die Delphi-Tags da sind. :roll: |
Liste der Anhänge anzeigen (Anzahl: 2)
RE: hm
Das ist ein Breakpoint! Ich krieg immer ne Meldung wegen einer Zugriffsverletzung. newguestform = Form2 yes = RadioButton in einer GroupBox Wenn ich das so:
Delphi-Quellcode:
schreibe krieg ich eine Fehlermeldung:
if
yes.Checked then . . . Zitat:
Auf Luckies Bitte hin hab ich den kompletten Quelltext mal angehängt. Das ganze soll ein Verwaltungsprogramm für ein Hotel werden (zum Gäste anlegen und so) und ausserdem die Fehlermeldung |
Ich immer noch/ schon wieder: Luckie verzweifel bitte nicht an mir!
:lol: :angle2: :angle: :oops: :roll: :? :) |
Ich habe den Fehler, aber Du wirst ihn selber suchen. Siehe Anhang.
Du schaust Dir das Bild an bist Du es kapiert hast!! Grüsse, Daniel :hi: |
Delphi-Quellcode:
nach dem addnewguestfinal... ist falsch, oder?
end;
Hoffe ich mal! :? :? :? MfG Florian |
Du hast nach dem end; der Prozedur einfach irgedn welche Zeilen geschrieben. Also ausserhalb. Kann nicht gehen.
Grüsse, Daniel :hi: |
Nach dem end; der Unterprozedur:
Delphi-Quellcode:
Das ist das end, oder?
end;
begin Wie soll man das denn ändern damit es geht? Denn jetzt ist die ja beendet aber wie soll man die neue einleiten (Prozedur) Wenn man das Semikolon entfernt gibt es einfach diese Meldung:
Delphi-Quellcode:
Ist also noch nicht fertig.
[Error] Unit2.pas(92): ';' expected but 'BEGIN' found
hm... MfG Florian |
Du solltest Dir im Klaren sein was Du tust und was Du willst!
Also,
Delphi-Quellcode:
Wo ist das Problem?
procedure
begin //Sonstiger Code if then begin end else begin end; //Sonstiger Code if then begin end else begin end; //Sonstiger Code if then begin end else begin end; //Sonstiger Code if then begin end else begin end; end; Grüsse, Daniel :hi: |
Juhu! Jetzt läuft alles.
Das war eine wirklich schwere Geburt. Vielen Dank an alle die geholfen haben und nicht an mir verzweifelt sind. Ich bitte einen Moderator darum, diesen Thread zu schliessen, damit endlich Schluss ist. Thx again! :bouncing4: :bounce1: :bounce2: :bounce2: :bounce1: :bouncing4: Thx again! ;-) MfG Florian |
*lock*
:mrgreen: |
Zitat:
Zitat:
Zitat:
Grüsse, Daniel :hi: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:41 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz