AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Variablen an eine andere Form "schicken"
Thema durchsuchen
Ansicht
Themen-Optionen

Variablen an eine andere Form "schicken"

Ein Thema von qb-tim · begonnen am 5. Mai 2006 · letzter Beitrag vom 5. Mai 2006
Antwort Antwort
Benutzerbild von qb-tim
qb-tim

Registriert seit: 3. Mär 2006
Ort: Deutschland
280 Beiträge
 
Delphi 6 Professional
 
#1

Variablen an eine andere Form "schicken"

  Alt 5. Mai 2006, 17:43
Hi,

ich würde gerne wissen, wie man eine in (z.Bsp) Form1 deklarierte Variable (außerhalb der Prozeduren) an Form2 "weitergibt" damit ich sie da benutzten kann. Mein Beispiel:

Delphi-Quellcode:
//in Form1:
  //...
  var H, W, D : Integer;
  //...
  //in einer OnClick Prozedur:
  H := 31;
  W := 32;
  D := 32;
  //...
  end.
//in Form2:
  //...
  var V : Integer;
  //...
  //in der OnActivate Prozedur:
  V := H * W * D;
  Label1.Caption := IntToStr(V);
  //...
  end.
  Mit Zitat antworten Zitat
Benutzerbild von Khabarakh
Khabarakh

Registriert seit: 18. Aug 2004
Ort: Brackenheim VS08 Pro
2.876 Beiträge
 
#2

Re: Variablen an eine andere Form "schicken"

  Alt 5. Mai 2006, 17:45
Erstelle für die drei Felder jeweils eine öffentliche(public) Property, diese kannst du dann über eine Instanz von TForm1 überall benutzen.
Sebastian
Moderator in der EE
  Mit Zitat antworten Zitat
Benutzerbild von Martin K
Martin K

Registriert seit: 20. Okt 2005
919 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: Variablen an eine andere Form "schicken"

  Alt 5. Mai 2006, 17:57
Du brauchst keine public-property zu nehmen.
Du kannst auch einfach deine Variablen behalten (wenn sie global definiert sind) und einfach den Namen der einen Unit bei der jeweils anderen unter implemantation uses ... schreiben.

Beispiel:
Delphi-Quellcode:
unit Unit2; //Form2

interface

uses
  {...}

type
  TForm2 = class(TForm)
    {...}
  end;

var
  Form2: TForm2;

implementation

uses Unit1; //<-- hier hinzufügen, dann kannst du alle Variablen die in Unit1 global definiert sind auch in dieser Unit2 verwenden!

{...}
Ich hoffe, ich habe mich verständlich ausgedrückt, ansonsten:
bei Fragen einfach fragen!
Mit den Menschen ist es wie mit Computern -
es gibt Nullen und Einsen.
  Mit Zitat antworten Zitat
Benutzerbild von qb-tim
qb-tim

Registriert seit: 3. Mär 2006
Ort: Deutschland
280 Beiträge
 
Delphi 6 Professional
 
#4

Re: Variablen an eine andere Form "schicken"

  Alt 5. Mai 2006, 18:03
Danke


  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#5

Re: Variablen an eine andere Form "schicken"

  Alt 5. Mai 2006, 18:03
@Martin K: Natürlich ist dies eine Variante, aber man sollte doch Leuten welche Object-Pascal verwenden die objetorientierte Programmierung näher bringen. Alles was zu einem Object gehört soll auch darin declariert sein. Und nur Dinge die nicht zu irgend einem Object gehören (was es aber eigentlich nicht gibt) gehören zu den Globalen.
Leider wird auch im Buch Delphi für Kids das ganze etwas anders gesehen.

Ich würde die Variante von Khabarakh klar bevorzugen.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Benutzerbild von Martin K
Martin K

Registriert seit: 20. Okt 2005
919 Beiträge
 
Turbo Delphi für Win32
 
#6

Re: Variablen an eine andere Form "schicken"

  Alt 5. Mai 2006, 18:11
@SirThornberry:
Naja, ich dachte mir halt, dass dies doch die deutlich einfachere Variante ist und außerdem wollte qb-tim ja Variablen haben (die er wahrscheinlich ohnehin schon global definiert hatte) und keine Object-Propertys.

Mal abgesehen davon:
Wenn man in einer Unit die Form der anderen aufruft (z.B. Form2. in Unit1), dann fragt ja Delphi ohnehin schon beim compilieren, ob nicht die andere Unit hinzugefügt werden soll.
Dann kann man sich das oben geschriebene komplett sparen...

Also ich bin halt immer für die einfachere Variante
Mit den Menschen ist es wie mit Computern -
es gibt Nullen und Einsen.
  Mit Zitat antworten Zitat
Benutzerbild von Khabarakh
Khabarakh

Registriert seit: 18. Aug 2004
Ort: Brackenheim VS08 Pro
2.876 Beiträge
 
#7

Re: Variablen an eine andere Form "schicken"

  Alt 5. Mai 2006, 19:15
Auch wenn qb-tim globale Variablen benutzt hat, so wollte er doch eigentlich auf die Variablen als Member seiner Form und nicht der Unit zugreifen. Und wenn du schon bei solchen Winzigkeiten OOP den Rücken zukehrst, möchte ich deine größeren Projekte gar nicht sehen .
Sebastian
Moderator in der EE
  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 06:00 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