AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Variable in anderen Formular ausgeben

Ein Thema von DeepBlueSea · begonnen am 21. Mai 2007 · letzter Beitrag vom 21. Mai 2007
Antwort Antwort
DeepBlueSea

Registriert seit: 29. Mär 2007
13 Beiträge
 
#1

Variable in anderen Formular ausgeben

  Alt 21. Mai 2007, 16:22
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.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Variable in anderen Formular ausgeben

  Alt 21. Mai 2007, 16:25
Unit1:

Delphi-Quellcode:
Uses ...<unit2>;

<Instanz von Formular2>.<Editfeld>.Text := ...;
Markus Kinzler
  Mit Zitat antworten Zitat
DeepBlueSea

Registriert seit: 29. Mär 2007
13 Beiträge
 
#3

Re: Variable in anderen Formular ausgeben

  Alt 21. Mai 2007, 16:35
Danke,
klappt wunderbar .
  Mit Zitat antworten Zitat
DeepBlueSea

Registriert seit: 29. Mär 2007
13 Beiträge
 
#4

Re: Variable in anderen Formular ausgeben

  Alt 21. Mai 2007, 16:52
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.
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#5

Re: Variable in anderen Formular ausgeben

  Alt 21. Mai 2007, 16:58
Zitat von DeepBlueSea:
Er bringt jetzt den Fehler:
[Pascal Fehler] Unit1.pas(592): E2096 Methodenbezeichner erwartet
Warum zeigst du uns den Sourcecode von Unit1 im Bereich der Zeile 592 nicht ??
siehe auch: http://www.chiark.greenend.org.uk/~s...m/bugs-de.html
Andreas
  Mit Zitat antworten Zitat
DeepBlueSea

Registriert seit: 29. Mär 2007
13 Beiträge
 
#6

Re: Variable in anderen Formular ausgeben

  Alt 21. Mai 2007, 17:11
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;
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.771 Beiträge
 
Delphi 10.4 Sydney
 
#7

Re: Variable in anderen Formular ausgeben

  Alt 21. Mai 2007, 17:13
Und welche ist Zeile 592?

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
DeepBlueSea

Registriert seit: 29. Mär 2007
13 Beiträge
 
#8

Re: Variable in anderen Formular ausgeben

  Alt 21. Mai 2007, 17:22
Oh, vergessen zu markieren .
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);
  Mit Zitat antworten Zitat
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#9

Re: Variable in anderen Formular ausgeben

  Alt 21. Mai 2007, 17:27
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)
  Mit Zitat antworten Zitat
DeepBlueSea

Registriert seit: 29. Mär 2007
13 Beiträge
 
#10

Re: Variable in anderen Formular ausgeben

  Alt 21. Mai 2007, 17:31
OK, vielen Dank.
Jetz funktionierts richtig
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:37 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz