AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi probleme mit Listbox, TList und Objekten
Thema durchsuchen
Ansicht
Themen-Optionen

probleme mit Listbox, TList und Objekten

Ein Thema von magic87 · begonnen am 17. Okt 2006 · letzter Beitrag vom 17. Okt 2006
Antwort Antwort
magic87

Registriert seit: 15. Aug 2006
10 Beiträge
 
#1

probleme mit Listbox, TList und Objekten

  Alt 17. Okt 2006, 10:38
Hallo liebe Delphianer! Habe folgendes Problem. Ich hab ein Programm, das beim Programmstart in einer TList 8Lampen erstellt! Diese 8 Lampen werden in der Listbox angezeigt. Jetzt möchte ich das wenn man in ein Edit schreibt und auf den Button "Hinzufügen" klickt. Die Position der Lampe den Wert von dem Edit bekommt. Aber ich weiß nicht so recht wie ich das schreiben soll. Mein Quelltext an der relevanten Stelle sieht bisher so aus:

Delphi-Quellcode:
procedure TForm1.btHinzu1Click(Sender: TObject);
var
  x : integer;
begin
  Lampe.Roehre1.Watt := strToInt(edWatt1.text);
end;

procedure TForm1.lstLampenClick(Sender: TObject);
begin
  edWatt1.text := IntToStr(Lampe.Roehre1.Watt);
end;
Habe 2 Klassen erstellt. Einmal Lampe und einmal Röhre. Wobei Lampe 2 Instanzen von Röhre hat und Röhre die Eigenschaft Watt(integer) hat.

Wäre sehr froh, wenn es jemanden gibt, der mir da ein bisschen auf die Sprünge hilft.
Liebe Grüße

Dennis
  Mit Zitat antworten Zitat
Der_Unwissende

Registriert seit: 13. Dez 2003
Ort: Berlin
1.756 Beiträge
 
#2

Re: probleme mit Listbox, TList und Objekten

  Alt 17. Okt 2006, 10:43
Hi,
könntest du etwas genauer erklären was du erreichen möchtest?
Was meinst du denn mit

Zitat von magic87:
Jetzt möchte ich das wenn man in ein Edit schreibt und auf den Button "Hinzufügen" klickt. Die Position der Lampe den Wert von dem Edit bekommt.
Du hast doch 8 Lampen, wenn du also hinzufügen drückst, soll dann eine neunte Weitere erstellt werden? Oder ist eine der 8 Lampen ausgewählt und soll verschoben werden?
Und was meinst du mit der Position? Die Position der Lampe in der Listbox? Was ist dann hier wenn der Index ungültig ist? Wie sieht es aus, wenn du noch keine Lampe hast und eine an Position 8 einfügen willst?

Du siehst jede Menge Fragen, deshalb versuch bitte einfach nochmal etwas genauer zu sagen, was du machen möchtest.

Gruß Der Unwissende
  Mit Zitat antworten Zitat
Benutzerbild von chrisw
chrisw

Registriert seit: 11. Jan 2005
Ort: Schleswig
193 Beiträge
 
Delphi XE8 Professional
 
#3

Re: probleme mit Listbox, TList und Objekten

  Alt 17. Okt 2006, 10:56
Schau mal in den Anhang :
Christian Wahl
me, myself and I, die lustigen Drei !!
  Mit Zitat antworten Zitat
magic87

Registriert seit: 15. Aug 2006
10 Beiträge
 
#4

Re: probleme mit Listbox, TList und Objekten

  Alt 17. Okt 2006, 10:59
nein.. keine neuen Lampen erstellen! Die beispielsweise 8 Lampen werden bei mir beim Programmstart erzeugt. In etwa so:
Lampe1
Lampe2
Lampe3
.
.
.
Lampe8

-->Jetzt soll man eine von den Lampen anklicken - z.B Lampe3.
-->Dann in ein Edit eine beliebige Zahl schreiben
-->Dann auf ein Button drücken und dieser weist die Zahl der Lampe zu. so das sie unter Lampe3 gespeichert ist praktisch
--> Das soll man mit jeder Lampe machen können.
--> Wenn man dann später wieder auf Lampe3 klickt, soll die entsprechende Zahl, die wir hierfür ins edit eingetragen haben, dort auch wieder erscheinen.

Ich hoffe ich konnte es diesmal ein bisschen verständlicher erklären.
Liebe Grüße

magic87
  Mit Zitat antworten Zitat
magic87

Registriert seit: 15. Aug 2006
10 Beiträge
 
#5

Re: probleme mit Listbox, TList und Objekten

  Alt 17. Okt 2006, 11:03
danke christian! Ist sehr nett, wie du das gemacht hast! Aber leider darf ich noch keine Properties benutzen!
Wäre ja schon glücklich, wenn ich einfach nur wissen würde, wie die Lampen in der Listbox den hinzugefügten wert speichern und diesen dann auch wieder ausgeben wenn man auf die entsprechende Lampe klickt.
  Mit Zitat antworten Zitat
Benutzerbild von chrisw
chrisw

Registriert seit: 11. Jan 2005
Ort: Schleswig
193 Beiträge
 
Delphi XE8 Professional
 
#6

Re: probleme mit Listbox, TList und Objekten

  Alt 17. Okt 2006, 11:04
OK, dann mach doch die privaten Variablen (die mit F beginnen) public und lösche die properties,
dann hast Du doch genau das was Du willst !
Delphi-Quellcode:
type TRoehre = class(TObject)
      public
        Watt : Integer;
        IsOn: Boolean;
        constructor create (Watt: Integer; IsOn : Boolean) ;
        destructor destroy; override;

end;

type TLampe = class(TObject)
    public
      Nr : integer;
      Bezeichnung : string;
      Roehre1 : TRoehre;
      Roehre2 : TRoehre;
    constructor create (Nr : Integer; Bezeichnung : String);
    destructor destroy; override;
end;
.............

constructor TLampe.create (Nr : Integer; Bezeichnung : String);
begin
  self.Nr := Nr;
  self.Bezeichnung := Bezeichnung;
  self.Roehre1 := TRoehre.create(30,False);
  self.Roehre2 := TRoehre.create(40,False);
  inherited create;
end;


constructor TRoehre.create(Watt : Integer; IsOn : Boolean);
begin
  inherited create;
  self.Watt := Watt;
  self.IsOn := IsOn;
end;
Christian Wahl
me, myself and I, die lustigen Drei !!
  Mit Zitat antworten Zitat
uwewo

Registriert seit: 14. Jul 2004
Ort: Karlsruhe
479 Beiträge
 
Delphi 2006 Professional
 
#7

Re: probleme mit Listbox, TList und Objekten

  Alt 17. Okt 2006, 11:09
Da wirst Du wohl mit einem Array arbeiten müssen.

Var Lampen : Array[1..8] of TLampe; danach kannst Du dann mit z.B.

  Lampen[1].Bezeichnung := 'Lampe1'; die Werte zuweisen.
Uwe
  Mit Zitat antworten Zitat
magic87

Registriert seit: 15. Aug 2006
10 Beiträge
 
#8

Re: probleme mit Listbox, TList und Objekten

  Alt 17. Okt 2006, 11:20
wofür soll das self stehen?? Versteh ich nich ganz?
  Mit Zitat antworten Zitat
Benutzerbild von chrisw
chrisw

Registriert seit: 11. Jan 2005
Ort: Schleswig
193 Beiträge
 
Delphi XE8 Professional
 
#9

Re: probleme mit Listbox, TList und Objekten

  Alt 17. Okt 2006, 11:25
Damit nicht die lokale Variable (aus dem Deklarationsteil) genommen wird, sondern die aus dem Objekt,
da die (zufällig) die gleiche Bezeichnung haben .
Bsp.:
....
public
hallo : String;
......
constructor Create (hallo : String);
begin
self.hallo := hallo;
end;



Du kannst sie aber auch anders nennen, dann kannst Du das "self" weglassen !
Christian Wahl
me, myself and I, die lustigen Drei !!
  Mit Zitat antworten Zitat
Benutzerbild von chrisw
chrisw

Registriert seit: 11. Jan 2005
Ort: Schleswig
193 Beiträge
 
Delphi XE8 Professional
 
#10

Re: probleme mit Listbox, TList und Objekten

  Alt 17. Okt 2006, 11:51
Hab mal neu gespeichert, kannst ja mal gucken !
Angehängte Dateien
Dateityp: zip lampen_191.zip (1,8 KB, 4x aufgerufen)
Christian Wahl
me, myself and I, die lustigen Drei !!
  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 02:54 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