AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Globale Variable in anderen Forms = 0 obwohl schon definiert
Thema durchsuchen
Ansicht
Themen-Optionen

Globale Variable in anderen Forms = 0 obwohl schon definiert

Ein Thema von DelphiforIngBachelor · begonnen am 10. Jun 2018 · letzter Beitrag vom 11. Jun 2018
 
DelphiforIngBachelor

Registriert seit: 8. Jun 2018
3 Beiträge
 
#1

Globale Variable in anderen Forms = 0 obwohl schon definiert

  Alt 10. Jun 2018, 19:27
Hallo Leute,

Ich habe folgendes allgemeines Problem

BSP:
In Form 6 wird die Variable "ZimmerG" mit 6 definiert

In Form 8 soll die Variable angezeigt werden. Anstatt 6 wird jedoch 0 angezeigt.


Weiß jemand wie ich das Problem in den Griff bekomme?


Mit freundlichen Grüßen

Jan

Hier die relevanten Ausschnitte des Quellcodes der Unit6:

Delphi-Quellcode:
unit Unit6;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Math, StdCtrls;

type
  TForm6 = class(TForm)
    Label1: TLabel;
    Label2: TLabel;
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Edit4: TEdit;
    Label8: TLabel;
    Label9: TLabel;
    Edit5: TEdit;
    Label10: TLabel;
    Edit6: TEdit;
    Label11: TLabel;
    Edit7: TEdit;
    Button1: TButton;
    Label12: TLabel;
    Label13: TLabel;
    Label14: TLabel;
    Label15: TLabel;
    Label16: TLabel;
    Label17: TLabel;
    Button2: TButton;
    Label3: TLabel;
    Edit8: TEdit;
    Edit9: TEdit;
    Edit10: TEdit;
    Edit11: TEdit;
    Label18: TLabel;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public


  function Zimmer(a, b, c, d, e, f: Real):Real;

  function BerechneAbluft(Baeder, Kuechen, Toiletten, HWR: Real): Real;

  function BerechneZuluft(Nutzer: Real):Real;

  function Innenliegend(Baeder, Kuechen, Toiletten, HWR: Real): Real;
    { Public-Deklarationen }
  end;


var


  Form6: TForm6;
  Baeder, Kuechen, Toiletten, HWR, Schlafzimmer, Wohnzimmer, Nutzer, ZimmerG, Innen, a, b, c, d, e, f: Real;



implementation

uses Unit7;

function TForm6.Innenliegend(Baeder, Kuechen, Toiletten, HWR: Real): Real;
begin
Innenliegend := Baeder+Kuechen+Toiletten+HWR
end;


 function TForm6.BerechneAbluft(Baeder, Kuechen, Toiletten, HWR: Real): Real;

 begin
 BerechneAbluft := (Baeder+Kuechen)*60+(Toiletten+HWR)*30;
 end;

 function TForm6.Zimmer(a, b, c, d, e, f: Real): Real;
 begin
Zimmer := a+b+c+d+e+f;
 end;

 function TForm6.BerechneZuluft(Nutzer: Real):Real;

 begin
 BerechneZuluft := (Nutzer*30);
 end;
{$R *.dfm}


procedure TForm6.Button1Click(Sender: TObject);

begin
a := StrToFloat(Edit8.Text);
b := StrToFloat(Edit9.Text);
c := StrToFloat(Edit10.Text);
d := StrToFloat(Edit11.Text);
e := StrToFloat(Edit7.Text);
f := StrToFloat(Edit6.Text);
ZimmerG := (Zimmer(a, b, c, d, e, f));
Innen := (Innenliegend(Baeder, Kuechen, Toiletten, HWR));

Nutzer := StrToFloat(Edit5.Text);
Baeder := StrToFloat(Edit1.Text);
Kuechen := StrToFloat(Edit2.Text);
Toiletten := StrToFloat(Edit3.Text);
HWR := StrToFloat(Edit4.Text);
Label16.Caption := FloatToStr(BerechneZuluft(Nutzer));
Label13.Caption := FloatToStr(BerechneAbluft(Baeder, Kuechen, Toiletten, HWR));
Label18.Caption := FloatToStr(ZimmerG);


if

Label16.Caption = '0'

then

showmessage ('Bitte prüfen Sie Ihre Angaben');

end;


procedure TForm6.Button2Click(Sender: TObject);
begin
Form7.Show;
end;

end.

[B]und der Unit 8[/B]

unit Unit8;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Unit6;

type
  TForm8 = class(TForm)
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    Label9: TLabel;
    Label10: TLabel;
    Label11: TLabel;
    Label12: TLabel;
    Label14: TLabel;
    Button1: TButton;
    Label13: TLabel;
    Label15: TLabel;
    Label16: TLabel;
    Label17: TLabel;
    Label18: TLabel;
    procedure Button1Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form8: TForm8;

  Bewertung, Infiltration, Feuchteschutz, Innen, ZimmerG, Nutzer: Real;

implementation

{$R *.dfm}

procedure TForm8.Button1Click(Sender: TObject);
begin
Label17.Caption := FloatToStr(ZimmerG);
Label16.Caption := FloatToStr(Nutzer);
Label18.Caption := FloatToStr(Bewertung);

if
Feuchteschutz < Infiltration
then
Label13.Caption := 'Ja'
else
Label13.Caption := 'Nein';

if
Innen > 0
then
Label15.Caption := 'Ja'
else
Label15.Caption := 'Nein'


end;


end.

Geändert von mkinzler (10. Jun 2018 um 20:13 Uhr)
  Mit Zitat antworten Zitat
 

 

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 18:07 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 by Thomas Breitkreuz