AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi klick auf button -> mehrere fenster öffnen sich - WIE ?
Thema durchsuchen
Ansicht
Themen-Optionen

klick auf button -> mehrere fenster öffnen sich - WIE ?

Ein Thema von eni · begonnen am 7. Nov 2003 · letzter Beitrag vom 10. Nov 2003
Antwort Antwort
Seite 1 von 2  1 2      
eni

Registriert seit: 7. Nov 2003
Ort: Rostock
2 Beiträge
 
#1

klick auf button -> mehrere fenster öffnen sich - WIE ?

  Alt 7. Nov 2003, 09:51
hallo alle zusammen.

ich bräuchte mal ganz dringend hilfe.

und zwar möchte ich bei klick auf einen button das soviele fenster erscheinen wie im edit-text eingegeben wurden. man kann bis zur zahl 100 eingeben. und wenn man 22 eingibt und auf den ok-button klickt, sollen 22 fenster aufspringen. wie kann ich das programmieren?

wäre euch sehr dankbar wenn ihr mir helfen könntet!
  Mit Zitat antworten Zitat
Tyrael Y.

Registriert seit: 28. Jul 2003
Ort: Stuttgart
1.093 Beiträge
 
Delphi 2007 Professional
 
#2

Re: klick auf button -> mehrere fenster öffnen sich - WIE

  Alt 7. Nov 2003, 10:04
Wilkommen erst einmal im Forum.

Ich weiss ja nicht ob du die Formulare, die du öffnen möchtest schon hast.

Aber hier mal so aus dem stehgreif, wenn die Formulare zur Laufzeit erstelt werden sollen.

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var aForm:TForm;
    i:integer;
begin
  for i := 0 to StrToInt(Edit1.Text) - 1 do
  begin
   aForm := TForm.Create(nil);
   aForm.Show;
  end;
end;
du musst natürlich noch irgendwo die erzeugten Formulare wieder freigeben.


Gruß

Tyrael
Levent Yildirim
Erzeugung von Icons aus Bildern:IconLev
  Mit Zitat antworten Zitat
Minz

Registriert seit: 19. Dez 2002
476 Beiträge
 
#3

Re: klick auf button -> mehrere fenster öffnen sich - WIE

  Alt 7. Nov 2003, 13:57
wird das nicht problematisch wenn du du versuchst

aForm immer wieder neu zu erstellen, obwohls schon existiert?

Delphi-Quellcode:

var myform:array of TForm;
begin
 setlength(myform,strtoint(edit1.text));
 for i := 0 to StrToInt(Edit1.Text) - 1 do
  begin
   myform[i] := TForm.Create(nil);
   myform[i] := aForm.Show;
  end;
 end;
end;
gruß Minz
  Mit Zitat antworten Zitat
Tyrael Y.

Registriert seit: 28. Jul 2003
Ort: Stuttgart
1.093 Beiträge
 
Delphi 2007 Professional
 
#4

Re: klick auf button -> mehrere fenster öffnen sich - WIE

  Alt 7. Nov 2003, 14:01
deswegen habe ich ja geschrieben irgendwo muss er das wieder freigeben
Levent Yildirim
Erzeugung von Icons aus Bildern:IconLev
  Mit Zitat antworten Zitat
Tyrael Y.

Registriert seit: 28. Jul 2003
Ort: Stuttgart
1.093 Beiträge
 
Delphi 2007 Professional
 
#5

Re: klick auf button -> mehrere fenster öffnen sich - WIE

  Alt 7. Nov 2003, 14:03
deine variante ist auch besser

hab es halt aus dem stehgreif geschrieben gehabt


Gruß

Tyrael
Levent Yildirim
Erzeugung von Icons aus Bildern:IconLev
  Mit Zitat antworten Zitat
choose

Registriert seit: 2. Nov 2003
Ort: Bei Kiel, SH
729 Beiträge
 
Delphi 2006 Architect
 
#6

Re: klick auf button -> mehrere fenster öffnen sich - WIE

  Alt 7. Nov 2003, 14:12
Zitat von Minz:
wird das nicht problematisch wenn du du versuchst

aForm immer wieder neu zu erstellen, obwohls schon existiert?
Hallo Minz,

Abgesehen von der Tatsache, dass Du die direkten Referenzen verlierst (notfalls über Screen.Forms[] erreichbar, siehe OH), um sie ggf wieder freizugeben (was aber auch in OnClose mit caFree realisiert werden könnte), ist es absolut unproblematisch, weil lediglich die bisherige Referenz durch die jeweils vom Konstruktor-Aufruf zurückgegebene Referenz überschrieben wird.
Von diesem Vorgang "bekommnt das Fenster nichts mit".

Es wäre auch denkbar, die Referenz gar nicht zu speichern:
Delphi-Quellcode:
for i := 0 to StrToInt(Edit1.Text) - 1 do
  TForm.Create(nil).Show;
bzw
Delphi-Quellcode:
for i := 0 to StrToInt(Edit1.Text) - 1 do
  with TForm.Create(nil) do
  begin
    Caption:= IntToStr(i);
    Left:= i*10;
    Show;
  end;
gruß, choose
  Mit Zitat antworten Zitat
Minz

Registriert seit: 19. Dez 2002
476 Beiträge
 
#7

Re: klick auf button -> mehrere fenster öffnen sich - WIE

  Alt 7. Nov 2003, 14:16
öhm, aber wenn du auf die Fenster nicht mehr zugreifen kannst, finde ich das problematisch, es sei denn du verfolgst einzig und allein den Zweck den Bildschirm von jemanden vollzumüllen

oder liegen die alle übereinander
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.608 Beiträge
 
#8

Re: klick auf button -> mehrere fenster öffnen sich - WIE

  Alt 7. Nov 2003, 14:18
wie er sagte: Man kommt wieder an die Fenster. Ist zwar etwas umständlich, geht aber
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
Minz

Registriert seit: 19. Dez 2002
476 Beiträge
 
#9

Re: klick auf button -> mehrere fenster öffnen sich - WIE

  Alt 7. Nov 2003, 14:22
naja mag ja sein, aber ich sehe nicht den Sinn den Bezug zu den Fenstern zu verlieren und sie später mühsam aus dem Speicher zu kramen *wurschtel*

ist einfach nur umständlich oder net? (->problematisch? ist ein subjektiver Begriff

hier: Frage der Machbarkeit vs. Frage des Handlings)
  Mit Zitat antworten Zitat
choose

Registriert seit: 2. Nov 2003
Ort: Bei Kiel, SH
729 Beiträge
 
Delphi 2006 Architect
 
#10

Re: klick auf button -> mehrere fenster öffnen sich - WIE

  Alt 7. Nov 2003, 14:40
Hallo Minz,

mir ging es eher um die generelle Möglichkeit, mehrer visuelle VCL-Objekte zu erzeugen. Ein anderes Szenario wäre zB mehrere Buttons zu platzieren (ungetestet):
Delphi-Quellcode:
//Methode im Formular
for i:=0 to 10 do
  with TButton.Create(Self) do
  begin
    Top:= i*(Height+GapKonstante);
    Caption:= IntToStr(i);
    OnClick:= Button1Click;
    Parent:= Self;
  end;
In diesem Fall kann das eben erklärte verwendet werden, ohne dass ich mich um das Freigeben der Buttons kümmern muss, weil sie
  1. die ganze Zeit zu sehen sein sollen und
  2. die Freigabe der Destruktor des Formular übernimmt (so wie jedes TWinControl)
gruß, choose
  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 01:21 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