![]() |
Variable in anderen Formular ausgeben
HI,
hab grad mal wieder ein kleines Problem. Und zwar will ich eine Variable, die in Unit1, bzw. Formular1 berechnet wurde, in Formular2 ausgeben. Leider bringt er mir "undefinierter Bezeichner", bei der Angabe des Namens des Edit-Feldes aus Formular zwei. Wie kann ich das ändern? MfG D.B.S. |
Re: Variable in anderen Formular ausgeben
Unit1:
Delphi-Quellcode:
Uses ...<unit2>;
<Instanz von Formular2>.<Editfeld>.Text := ...; |
Re: Variable in anderen Formular ausgeben
Danke,
klappt wunderbar :-D . |
Re: Variable in anderen Formular ausgeben
Mist anscheinend doch nicht.
Er bringt jetzt den Fehler: [Pascal Fehler] Unit1.pas(592): E2096 Methodenbezeichner erwartet Wie kann ich das beheben? Gruß D.B.S. |
Re: Variable in anderen Formular ausgeben
Zitat:
siehe auch: ![]() |
Re: Variable in anderen Formular ausgeben
OK, wenn das weiterhilft kann ich das gerne machen.
Nicht über die komischen Variablennamen wundern, das wird ein kleines Spiel ;-)
Delphi-Quellcode:
procedure THauptmenu.Gegnerangriff_timerTimer(Sender: TObject); //Gegnerangrifftimer
begin aufbauphase:= aufbauphase+1; if aufbauphase=3 then Begin randomize; angriff:= random(11); if angriff<=5 then Begin //Einheiten vor Kampf anzeigen TSchlacht.spielerrittervorschlacht_edit.text:= IntToStr(spielerritter); TSchlacht.spielerritterstufeinschlacht_edit.text:= IntToStr(ritterstufe); TSchlacht.spielerbogenvorschlacht_edit.text:= IntToStr(spielerbogen); TSchlacht.spielerbogenstufeinschlacht_edit.text:= IntToStr(bogenstufe); TSchlacht.spielerzaubervorschlacht_edit.text:= IntToStr(spielerzauber); TSchlacht.spielerzauberstufeinschlacht_edit.text:= IntToStr(zauberstufe); TSchlacht.computerrittervorschlacht_edit.text:= IntToStr(computerritter); TSchlacht.computerbogenvorschlacht_edit.text:= IntToStr(computerbogen); TSchlacht.computerzaubervorschlacht_edit.text:= IntToStr(computerzauber); //Gesamt STR,DEF spielerritterstr:= spielerritterstr*spielerritter; spielerritterdef:= spielerritterdef*spielerritter; spielerbogenstr:= spielerbogenstr*spielerbogen; spielerbogendef:= spielerbogendef*spielerbogen; spielerzauberstr:= spielerzauberstr*spielerzauber; spielerzauberdef:= spielerzauberdef*spielerzauber; computerritterstr:= computerritterstr*computerritter; computerritterdef:= computerritterdef*computerritter; computerbogenstr:= computerbogenstr*computerbogen; computerbogendef:= computerbogendef*computerbogen; computerzauberstr:= computerzauberstr*computerzauber; computerzauberdef:= computerzauberdef*computerzauber; //Ergebnisberechnung spielerkampfbonus:= 1; computerkampfbonus:= 1; spielergewinn:= false; if spielerritter<>computerritter then if spielerritter>computerritter then spielerkampfbonus:= spielerkampfbonus+0.01 else computerkampfbonus:= computerkampfbonus+0.01; if spielerbogen<>computerbogen then if spielerbogen>computerbogen then spielerkampfbonus:= spielerkampfbonus+0.01 else computerkampfbonus:= computerkampfbonus+0.01; if spielerzauber<>computerzauber then if spielerzauber>computerzauber then spielerkampfbonus:= spielerkampfbonus+0.01 else computerkampfbonus:= computerkampfbonus+0.01; spielergesamtstr:=round((spielerritterstr+spielerbogenstr+spielerzauberstr)*spielerkampfbonus); spielergesamtdef:=round((spielerritterdef+spielerbogendef+spielerzauberdef)*spielerkampfbonus); computergesamtstr:=round((computerritterstr+computerbogenstr+computerzauberstr)*computerkampfbonus); computergesamtdef:=round((computerritterdef+computerbogendef+computerzauberdef)*computerkampfbonus); if spielergesamtdef>computergesamtdef then spielergesamtstr:=spielergesamtstr+spielergesamtdef-computergesamtdef else computergesamtstr:=computergesamtstr+computergesamtdef-spielergesamtdef; if spielergesamtstr>computergesamtstr then Begin punkte:= punkte+ round((spielergesamtstr-computergesamtstr)/100); computerritter:= 0; computerbogen:= 0; computerzauber:= 0; spielergewinn:=true; end else Begin punkte:= punkte- round((computergesamtstr-spielergesamtstr)/100); spielerritter:= 0; spielerbogen:= 0; spielerzauber:= 0; end; //überlebende Einheiten if spielergewinn=true then Begin spielerritter:= round((100-(computergesamtstr/spielergesamtstr*100))*spielerritter/100); spielerbogen:= round((100-(computergesamtstr/spielergesamtstr*100))*spielerbogen/100); spielerzauber:= round((100-(computergesamtstr/spielergesamtstr*100))*spielerzauber/100); end else Begin computerritter:= round((100-(spielergesamtstr/computergesamtstr*100))*computerritter/100); computerbogen:= round((100-(spielergesamtstr/computergesamtstr*100))*computerbogen/100); computerzauber:= round((100-(spielergesamtstr/computergesamtstr*100))*computerzauber/100); end; //Einheiten nach Schlacht anzeigen TSchlacht.spielerritternachschlacht_edit.text:= IntToStr(spielerritter); TSchlacht.spielerbogennachschlacht_edit.text:= IntToStr(spielerbogen); TSchlacht.spielerzaubernachschlacht_edit.text:= IntToStr(spielerzauber); TSchlacht.computerritternachschlacht_edit.text:= IntToStr(computerritter); TSchlacht.computerbogennachschlacht_edit.text:= IntToStr(computerbogen); TSchlacht.computerzaubernachschlacht_edit.text:= IntToStr(computerzauber); schlacht.showmodal; end; end; end; |
Re: Variable in anderen Formular ausgeben
Und welche ist Zeile 592?
Grüße Klaus |
Re: Variable in anderen Formular ausgeben
Oh, vergessen zu markieren :oops: .
Das hier ist Zeile 592-601, in denen der Fehler auftritt. TSchlacht.spielerrittervorschlacht_edit.text:= IntToStr(spielerritter); TSchlacht.spielerritterstufeinschlacht_edit.text:= IntToStr(ritterstufe); TSchlacht.spielerbogenvorschlacht_edit.text:= IntToStr(spielerbogen); TSchlacht.spielerbogenstufeinschlacht_edit.text:= IntToStr(bogenstufe); TSchlacht.spielerzaubervorschlacht_edit.text:= IntToStr(spielerzauber); TSchlacht.spielerzauberstufeinschlacht_edit.text:= IntToStr(zauberstufe); TSchlacht.computerrittervorschlacht_edit.text:= IntToStr(computerritter); TSchlacht.computerbogenvorschlacht_edit.text:= IntToStr(computerbogen); TSchlacht.computerzaubervorschlacht_edit.text:= IntToStr(computerzauber); |
Re: Variable in anderen Formular ausgeben
Du musst den Namen des Formulars nehmen und nicht den Klassennamen (also, wenn das Formular TSchlacht heißt, wirst Du wohl Schlacht nehmen müssen)
|
Re: Variable in anderen Formular ausgeben
OK, vielen Dank.
Jetz funktionierts richtig :-) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:09 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