AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Button + Edit Feld - zur Laufzeit entfernen?
Thema durchsuchen
Ansicht
Themen-Optionen

Button + Edit Feld - zur Laufzeit entfernen?

Ein Thema von atgis · begonnen am 18. Dez 2007 · letzter Beitrag vom 19. Dez 2007
Antwort Antwort
Seite 1 von 2  1 2      
atgis
(Gast)

n/a Beiträge
 
#1

Button + Edit Feld - zur Laufzeit entfernen?

  Alt 18. Dez 2007, 17:30
Hallo,

Ich bastle gerade an einem kleinem Programm, welches simple Wav-Dateien abspielen soll. Das ist ja soweit auch kein Problem...über das Edit Feld gebe ich den Pfad ein und drücke auf Play! Funktioniert!

Nun möchte ich aber gerne mehrere Sounds abspielen können. Also brauche ich mehrere Edit-Felder und Abspielbuttons.

Nun möchte ich die gern dynamisch über eine Button (+,-) hinzufügen/entfernen.

http://s6.directupload.net/images/071218/cwdk2siw.jpg


Wie mache ich das? Objekte während der Laufzeit hinzufügen?


Das Edit-Feld in meinem Programm heißt "Edit1" der Button "BitBtn1"...diese müssten doch dann beim hinzufügen (also klick aufs +) hochgezählt werden? Also Edit2, Edit3 usw...


Oder gibt es eine viele bequemere und einfacher Lösung als meine Idee?

MfG
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Button + Edit Feld - zur Laufzeit hinzufügen?

  Alt 18. Dez 2007, 17:31
Pack doch eine ListBox drunter und fülle sie aus dem Edit
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
atgis
(Gast)

n/a Beiträge
 
#3

Re: Button + Edit Feld - zur Laufzeit hinzufügen?

  Alt 18. Dez 2007, 17:34
Ja hab ich auch schon gedacht...aber ich wollte gerne eine Lösung mit Buttons (o.ä.)...damit man schnell einen Sound abspielen kann.

Wenn man erst einen Sound in einer ListBox suchen müsste, würde es schon zulang dauern
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: Button + Edit Feld - zur Laufzeit hinzufügen?

  Alt 18. Dez 2007, 17:35
Delphi-Quellcode:
Inc(Index);
with TEdit.Create( self) do
begin
   Parent := Self;
   Name := 'Edit'+IntToStr( index);
   Left := ...
   ...
end;
with TButton.Create( self) do
begin
   Parent := Self;
   Name := 'Edit'+IntToStr( index);
  Caption := ...
   Left := ...
   ...
end;
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#5

Re: Button + Edit Feld - zur Laufzeit hinzufügen?

  Alt 18. Dez 2007, 17:37
Und hinterher schön wieder freigeben

P.S.: Ob ich jetzt den entsprechenden Abspiel-Button suchen muss oder den Dateinamen in einer ListBox, ist IMHO Jacke wie Hose
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Apollonius

Registriert seit: 16. Apr 2007
2.325 Beiträge
 
Turbo Delphi für Win32
 
#6

Re: Button + Edit Feld - zur Laufzeit hinzufügen?

  Alt 18. Dez 2007, 17:39
Freigeben muss man Komponenten nicht, wenn man einen Owner hat.
Wer erweist der Welt einen Dienst und findet ein gutes Synonym für "Pointer"?
"An interface pointer is a pointer to a pointer. This pointer points to an array of pointers, each of which points to an interface function."
  Mit Zitat antworten Zitat
atgis
(Gast)

n/a Beiträge
 
#7

Re: Button + Edit Feld - zur Laufzeit hinzufügen?

  Alt 18. Dez 2007, 17:39
Wer das "Nippelboard" von TV-Total kennt, weiß was ich bezwecken möchte...
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#8

Re: Button + Edit Feld - zur Laufzeit hinzufügen?

  Alt 18. Dez 2007, 17:45
Zitat von Apollonius:
Freigeben muss man Komponenten nicht, wenn man einen Owner hat.
Was in meinem Beispiel der Fall ist.
Markus Kinzler
  Mit Zitat antworten Zitat
atgis
(Gast)

n/a Beiträge
 
#9

Re: Button + Edit Feld - zur Laufzeit hinzufügen?

  Alt 18. Dez 2007, 22:22
So richtig funktioniert es noch nicht...

Delphi-Quellcode:
//+
procedure TForm1.Button1Click(Sender: TObject);
var i: integer;
begin
inc(i);
with TEdit.Create(self) do
begin
   Parent:= Self;
   Name:= 'Edit'+IntToStr(i);
   Left:= 8;
   Top:= 32;
   Width:= 233;
end;
with TBitBtn.Create(self) do
begin
   Parent:= Self;
   Name:= 'Edit'+IntToStr(i);
   Caption:= 'Play';
   Left:= 244;
   Top:= 32;
   Width:= 22;
   Height:= 22;

end;
end;
Undzwar erzeugt es ja das Edit-Feld und nennt es Edit+i (=Edit1). Dann erzeugt es den Button und nennt ihn auch Edit+i (=Edit1) -> dadurch bekomme ich eine Exception, da das Objekt schon vorhanden ist...

Benenne ich einen Namen um...also z.b. Editblabla...kann ich zwar einmal beide Objekte erzeugen, doch beim 2. mal wieder der Fehler wie oben. Editblabla1 ist schon vorhanden...

Mh...
  Mit Zitat antworten Zitat
Crazy Ivan
(Gast)

n/a Beiträge
 
#10

Re: Button + Edit Feld - zur Laufzeit hinzufügen?

  Alt 18. Dez 2007, 22:28
weil du dem edit den selben namen wie dem bitbtn gibst.

richtig:

Name:= 'Edit'+IntToStr(i); für das edit

Name:= 'BitBtn'+IntToStr(i); für den button

bei dir ist das bei beiden gleich ==> beide haben den selben namen ==> exception
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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