AGB  ·  Datenschutz  ·  Impressum  







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

TEdit in Klasse ?

Ein Thema von richard_boderich · begonnen am 7. Mai 2005 · letzter Beitrag vom 10. Mai 2005
Antwort Antwort
Seite 1 von 5  1 23     Letzte »    
Benutzerbild von richard_boderich
richard_boderich

Registriert seit: 21. Jun 2004
Ort: Berlin
1.067 Beiträge
 
Delphi 7 Architect
 
#1

TEdit in Klasse ?

  Alt 7. Mai 2005, 21:28
Hallo Leute!

Ich habe mal ne Frage zu Klassen. Ich moechte ein Teditfeld in einer selbsterstellten
Klasse nutzen, und folgendermaßen ansprechen.

Label1.caption:=Klasse.edit1.text; Ist sowas überhaupt realisierbar oder muss ich dafür eine Komponente erstellen?
Bisher habe ich in Klassen nur Variablen benutzt. Ich würde mich über eine kleines
Beispiel freuen, das zeigt wie ich ein Tedit bzw. eine anderes Object der VCL in eine Klasse einbinden kann.

So long,

Euer Richard
mfG Richard

Cimmams schrieb "das einzige was an ArmA gut ist, ist die Grafik bis 100m und der Rest ist so unreal wie unsere Demokratie."
  Mit Zitat antworten Zitat
Benutzerbild von Ultimator
Ultimator

Registriert seit: 17. Feb 2004
Ort: Coburg
1.860 Beiträge
 
FreePascal / Lazarus
 
#2

Re: TEdit in Klasse ?

  Alt 7. Mai 2005, 21:35
Klar geht das.
Zitat:
Bisher habe ich in Klassen nur Variablen benutzt.
Dein Edit1 ist ja auch nur eine Variable, und zwar vom Typ TEdit
Julian J. Pracht
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#3

Re: TEdit in Klasse ?

  Alt 7. Mai 2005, 21:37
Naja, du kannst das Edit als Unterobjekt definieren, z.B. so:
Delphi-Quellcode:
TMyCFlass = class
published
Edit1: TEdit;
end;
Dann kannst du imho normal auf das Edit zugreigen (Instanz.Edit1.Text usw.)

So kannst du auch gewisse Eigenschaften wieder verbergen, die das Edit hatte, einfach im Private Teil deklarieren, und dann ein paar Wrapperfunktionen schreiben ...
  Mit Zitat antworten Zitat
Benutzerbild von richard_boderich
richard_boderich

Registriert seit: 21. Jun 2004
Ort: Berlin
1.067 Beiträge
 
Delphi 7 Architect
 
#4

Re: TEdit in Klasse ?

  Alt 7. Mai 2005, 22:52
@All,

wenn ich die Klasse definiert hab. Und ich führe 2 x ein create aus, so hatt er dann doch 2 objecte von der Klasse erstellt. Sozusagen 2 instanzen vom selben Typ. Gibt es eine
Möglichkeit dann die beiden objecte Anhand eines unterschiedlichen Bezeichners anzusprechen?

z.B. meineKlasse1 1. Object, meineKlasse2 2. Object oder muss ich dafür ein
Array of Class machen?

es koennte auch sein das ich sowas benoetige

Delphi-Quellcode:
For i:=1 to 200 do
begin
create.meineklasse[i]
end;
mfG Richard

Cimmams schrieb "das einzige was an ArmA gut ist, ist die Grafik bis 100m und der Rest ist so unreal wie unsere Demokratie."
  Mit Zitat antworten Zitat
Benutzerbild von Ultimator
Ultimator

Registriert seit: 17. Feb 2004
Ort: Coburg
1.860 Beiträge
 
FreePascal / Lazarus
 
#5

Re: TEdit in Klasse ?

  Alt 7. Mai 2005, 23:04
Also du hast eine Klasse MyClass1.
Und du möchtest zwei Instanzen davon erzeugen.
Dann brauchst du auch zwei Variablen vom Typ MyClass1.
Wenn du aber nicht weißt, wie viele Instanzen du benötigst, dann musst du ein Array nehmen.
Ich weiß nicht, ob nicht vielleicht auch Listen gingen, weil ich mich damit nicht weiter auskenne

Zur unteren Frage:

Verstehe ich das richtig:
Du hast ein paar Klassen, angenommen namens MyClass42 bis MyClass666 ().
Und du möchtest von jeder Klasse eine Instanz erstellen?
Das erscheint mir so gut wie unmöglich
Wenn du zudem noch eine variable Anzahl an Instanzen dieser Klassen benötigst, dann brauchst du ja auch noch arrays of Wasweißich, evtrl. sogar array of Variant

Also das kann ich mir fast nicht vorstellen, dass das geht
Julian J. Pracht
  Mit Zitat antworten Zitat
Benutzerbild von richard_boderich
richard_boderich

Registriert seit: 21. Jun 2004
Ort: Berlin
1.067 Beiträge
 
Delphi 7 Architect
 
#6

Re: TEdit in Klasse ?

  Alt 7. Mai 2005, 23:26
@Ultimator,

Es ist etwas schwer zu erklaeren. Ich programmiere grad eine Strategiemap für unseren Clan.

auf der Map kann ich Marker, Einheiten, Spieler und soweiter setzten. Ich würde das gern mit
Objecten machen.

nehmen wir an ich habe für jeden Einheitentyp eine eingene Klasse z.b

"Infantry" , "Luftabwehr" , "Panzer"
-----------------------------------------------------
1. Instanz ............................................Panzer 1
2. Instanz ............................................Panzer 2


wenn nun der spieler eine einheitentyp waehlt, soll dort wo er auf die Karte klickt ein entsprechendes
Object erscheinen. Nehmen wir mal an er erstellt 2 Panzer. Das sind 2 objecte mit namen "Panzer1" und "Panzer2" Obige Tabelle soll das mal verdeutlichen.

nehmen wir aber mal an. der spieler will die Psition der einheit aendern und klickt auf die einheit.
Jetzt habe ich das Problem wie ich diejenige Instanz ermittle die zu dem angeklickten object gehört.

ich muss ja dann eine Procedure schreiben die ein bewegen der einheiten ermoeglicht. Da ich nicht für jede instanz eine extra Procedure machen will, muss ich ja dann sowas machen.

Delphi-Quellcode:

Panzer[x].left:=20;
ICh hoffe du verstehts jetzt mein Problem.

So long

Richard
mfG Richard

Cimmams schrieb "das einzige was an ArmA gut ist, ist die Grafik bis 100m und der Rest ist so unreal wie unsere Demokratie."
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#7

Re: TEdit in Klasse ?

  Alt 7. Mai 2005, 23:27
Zitat von jfheins:
Naja, du kannst das Edit als Unterobjekt definieren, z.B. so:
Delphi-Quellcode:
TMyCFlass = class
published
Edit1: TEdit;
end;
Dann kannst du imho normal auf das Edit zugreigen (Instanz.Edit1.Text usw.)

So kannst du auch gewisse Eigenschaften wieder verbergen, die das Edit hatte, einfach im Private Teil deklarieren, und dann ein paar Wrapperfunktionen schreiben ...
Sorry, aber bist du nicht mehr ganz fix ? Was erzählst du denn da für seltsames Zeugs mit Wrapper-Klassen usw. ? Um es vorwegzunehmen : das da geht ziemlich in Richtung Komponentenentwicklung. Richard soll mal bitte etwas näher beschreiben, um was es geht.
Gruß
Hansa
  Mit Zitat antworten Zitat
Benutzerbild von richard_boderich
richard_boderich

Registriert seit: 21. Jun 2004
Ort: Berlin
1.067 Beiträge
 
Delphi 7 Architect
 
#8

Re: TEdit in Klasse ?

  Alt 7. Mai 2005, 23:34
@Hansa,

^^ hab es oben mal genauer versucht zu erklaeren. hoffe es ist verstaendlich.

Richard
mfG Richard

Cimmams schrieb "das einzige was an ArmA gut ist, ist die Grafik bis 100m und der Rest ist so unreal wie unsere Demokratie."
  Mit Zitat antworten Zitat
Benutzerbild von richard_boderich
richard_boderich

Registriert seit: 21. Jun 2004
Ort: Berlin
1.067 Beiträge
 
Delphi 7 Architect
 
#9

Re: TEdit in Klasse ?

  Alt 7. Mai 2005, 23:47
@Hansa,

kann ich da nicht einfach (sender:Tobject) abfragen?
mfG Richard

Cimmams schrieb "das einzige was an ArmA gut ist, ist die Grafik bis 100m und der Rest ist so unreal wie unsere Demokratie."
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#10

Re: TEdit in Klasse ?

  Alt 7. Mai 2005, 23:52
Ja, so ist es fast verständlich. Jeder Spieler wird ja wohl eine Namen haben ? Dann benutzte die Methode Addobject. Die ist in der Hierarchie mind. ab TStrings vorhanden. Aber ich muß dich trotzdem warnen : wenn das auch keine eigene Komponente erfordert, dann doch zumindest eigene Objekte. Und da muß genau überlegt werden wie sie aussehen und wie sie gehandhabt werden, also wann anlegen wann freigeben usw. Nicht ganz trivial. 8)

P.S. : Wie einfach Sender abfangen ?
Gruß
Hansa
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 5  1 23     Letzte »    


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 15:15 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