Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Sa Jul 12, 2025 19:08

Foren-Übersicht » Programmierung » Einsteiger-Fragen
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 20 Beiträge ]  Gehe zu Seite 1, 2  Nächste
Autor Nachricht
 Betreff des Beitrags: Editoransicht
BeitragVerfasst: Fr Mär 11, 2005 21:11 
Offline
DGL Member
Benutzeravatar

Registriert: So Dez 19, 2004 00:27
Beiträge: 454
Wohnort: Nürnberg
Ja,

ich progge grade einen Editor. Jetzt habe ich für jede meiner Ansichten (Oben, Vorne, Links, 3D) ein eigenes Fenster.
So, aber wenn ich jetzt einen Vertex, bzw. ein Face erstelle wie übergebe ich die Daten an die anderen Fenster, also wo speicher ich die???
In einer Klasse, oder ein Record geht des ja schlecht, da er (bei mir ;)) die Variablen der anderen Formulare nicht erkennt


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Mär 11, 2005 21:31 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Jul 16, 2003 15:20
Beiträge: 198
Mach dir doch einfach eine Globale Variable/Klasse in einer extra Unit, die packst du dann in die USES-Klausel der Formular-Units und schon können alle darauf zugreifen.

_________________
Bevor du definierst, was etwas ist, versichere dich seiner Existenz.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Mär 11, 2005 21:33 
Offline
DGL Member
Benutzeravatar

Registriert: Sa Dez 28, 2002 11:13
Beiträge: 2244
Da nimmst du am besten eine Klasse für dein Level, weil Objekte Referenzen sind und übergibst diese an jedes Fenster, so daß alle Fenster das gleiche Level bearbeiten.

Code:
  1. TLevel=class
  2.  
  3. end;
  4.  
  5. TEditLevelForm=class(TForm)
  6.  
  7. public
  8.  property Level:TLevel ..
  9. end;


Beim Laden oder Erstellen des Levels dann:

Code:
  1. level:=TLevel.create;
  2. for i:=0 to 3 do
  3.  editlevelforms[i].Level:=level;


Auf diese Art und Weise sind die Bearbeitung und die Verwaltung der eigentlichen Daten sauber getrennt.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Mär 11, 2005 22:02 
Offline
DGL Member
Benutzeravatar

Registriert: So Dez 19, 2004 00:27
Beiträge: 454
Wohnort: Nürnberg
des laden des Levels ist nicht das Problem. Sondern, wenn ich einen Vertex erstelle, wo ich Daten zwischenspeicher.
Wenn ich ne Klasse erstelle, muss ich die in jedem Fenster einzeln definieren, und kann nicht darauf zugreifen.


Zuletzt geändert von LH_Freak am Fr Mär 11, 2005 22:19, insgesamt 1-mal geändert.

Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Mär 11, 2005 22:10 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Jul 16, 2003 15:20
Beiträge: 198
Deshalb sollst du ja eine Extra Unit machen und da die Variable zwischen dem
Code:
  1. type
  2.   TForm1 = class(TForm)
  3.   private
  4.     { Private-Deklarationen }
  5.   public
  6.     { Public-Deklarationen }
  7.   end;
und dem
Code:
  1. implementation
deklarieren (var varablenname : Vondirdefiniertertyp;), dann kann jede Unit darauf zugreifen, die diese neue Unit in ihrer Usesliste hat.

_________________
Bevor du definierst, was etwas ist, versichere dich seiner Existenz.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Mär 11, 2005 22:11 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Deklinieren musst du erstmal überhaupt nix. Es reicht die Klasse im Infinitiv. (Sorry das musste sein :twisted: )

Du hast für jede Ansicht ein extra Fenster? Das ist schonmal mehr als suboptimal.

Lösung 1: Wie bereits gesagt: du machst ne extra Unit wo du die klasse als Variable im Interfaceteil definierst. Diese Unit musst du dann per Uses-Klausel den anderen Units zugänglich machen.

Lösung 2: Guck dir mal das Template mit den 2 Zeichenflächen an. So solltest du das auch machen. Is wesentlich praktischer, und außerdem hast du nur ein Fenster.

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Mär 11, 2005 22:20 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Mai 14, 2004 18:56
Beiträge: 804
Wohnort: GER/OBB/TÖL-WOR/Greiling
*spam*

deklinieren und infinitiv passt nicht zusammen.

man muss sagen: die klasse im nominativ.

:twisted:

um noch ein wenig sinn reinzubringen:
:arrow: klassen werden eingeführt oder deklariert
:arrow: nachfahrklassen werden abgeleitet oder geerbt
:arrow: objekte werden erstellt oder instanziiert

:twisted:

BTT:

ich hab auch zuerst daran gedacht, das ganze gleich auf panels zu machen, aber der vorteil von fenstern ist eben, dass man die frei schanuze verschieben kann.
ich würde also zur erstenlösung tendieren.

_________________
Bild

"User Error. Replace User and hit Continue."


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Mär 11, 2005 22:49 
Offline
DGL Member
Benutzeravatar

Registriert: So Dez 19, 2004 00:27
Beiträge: 454
Wohnort: Nürnberg
macht mich hier fertig :heul: ;)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Mär 12, 2005 01:31 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Das kann man mit den Pannels auch. Man muss nur das Kreuz in der Mitte irgendwie klickable machen und dann per StartDrag und EndDrag die Panelgrößen neu berechnen. Bei Fenstern hat man das Problem, dass die gesamte Oberfläche "auseinanderfallen" kann.

Aber das war glaub ich net das Problem. Hast du's jetzt soweit hingegrigt?

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Mär 12, 2005 13:21 
Offline
DGL Member
Benutzeravatar

Registriert: So Dez 19, 2004 00:27
Beiträge: 454
Wohnort: Nürnberg
Also, ich hab jetzt in meinem Hauptfenster eine Klasse EINGEFÜHRT, in der meine Vertices, und Faces gespeichert sind (als dynamische Arrays),
und greif halt von den anderen Fenstern darauf zu. Dürfte also funktionieren.
Ist wirklich nichts besonderes.


Zuletzt geändert von LH_Freak am Sa Mär 12, 2005 16:49, insgesamt 3-mal geändert.

Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Mär 12, 2005 16:21 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Mai 14, 2004 18:56
Beiträge: 804
Wohnort: GER/OBB/TÖL-WOR/Greiling
sry, aber deine bilder funzen nicht.

da kommt bei mir "externes linke nicht erlaubt"

_________________
Bild

"User Error. Replace User and hit Continue."


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Mär 12, 2005 16:44 
Offline
DGL Member
Benutzeravatar

Registriert: Sa Dez 28, 2002 11:13
Beiträge: 2244
Kopieren und direkt in die Addresszeile eingeben.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Mär 15, 2005 22:06 
Offline
DGL Member
Benutzeravatar

Registriert: So Dez 19, 2004 00:27
Beiträge: 454
Wohnort: Nürnberg
Sorry, noch ne Frage:

Was ist besser: Die anderen Ansichten (also Oben, Vorne, Links usw.) mit OGL zu machen, oder GDI oder so??????


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Mär 15, 2005 22:43 
Offline
DGL Member
Benutzeravatar

Registriert: Sa Dez 28, 2002 11:13
Beiträge: 2244
Am besten alles mit OpenGL, dann braucht man nichts zweimal programmieren. Für die 2D Ansichten mußt du nur die Matrix anders setzen, ein Gitter im Hintergrund zeichnen und auf Drahtgittermodus umstellen.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Mär 16, 2005 18:14 
Offline
DGL Member
Benutzeravatar

Registriert: So Dez 19, 2004 00:27
Beiträge: 454
Wohnort: Nürnberg
LarsMiddendorf hat geschrieben:
Am besten alles mit OpenGL, dann braucht man nichts zweimal programmieren. Für die 2D Ansichten mußt du nur die Matrix anders setzen, ein Gitter im Hintergrund zeichnen und auf Drahtgittermodus umstellen.


Wie Matrix (sorry, bin halt Newbie) umstellen??? Heißt das, dass ich die Kamera position umstellen soll?????


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 20 Beiträge ]  Gehe zu Seite 1, 2  Nächste
Foren-Übersicht » Programmierung » Einsteiger-Fragen


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.012s | 14 Queries | GZIP : On ]