Newsgroup: it.comp.lang.delphi
Titolo: E' possibile creare controlli a run time?

Ciao a tutti,
sono nuovo del gruppo e attualmente programmo in VB6...
ok, non bombardatemi di insulti, sono gia' consapevole
delle differenze fra VB e Delphi (e' per questo che
sto pianificando di passare a Delphi nel giro di 6
mesi, quando il progettone cui sto lavorando finira'
;-) ...
Ho appena iniziato a guardare Delphi (D5 Ent Demo), e da una 
sfogliata superficiale dell'help on line non sono 
riuscito a trovare nulla riguardo la possibilita'
di creare a run time dei componenti visuali. In VB
ci sono diversi modi per farlo, dagli array di controlli
alla creazione dinamica pura e semplice (introdotta
in VB6).
... ditemi che si puo' fare anche in Delphi, io la
uso abbastanza spesso... ;-)
Ciao!
Andrea
PS: avete una idea delle differenze di prestazioni/dimensione
fra una applicazione scritta in VB in stile quasi OO e la stessa
applicazione scritta in Delphi (questa volta davvero in stile 
object oriented)? C'e' qualcuno che ha fatto delle prove?

uso abbastanza spesso... ;-)
Ti faccio un esempio con la con la creazione di una Edit.
Var Edit1 : TEdit; // dichiara una variabile di tipo TClasse che ti
interessa
begin
Edit1:=TEdit.Create(Self); // qui assegno a Edit1 un istanza della classe
TEdit (creata con il costruttore predefinito, Create)
    With Edit1 Do Begin
         Parent:=Self;
         Show;
         Width:=150;
         Text:='Edit creata a Run-Time';
    end;
end;
Spero che sia tutto chiaro, in caso contrario sai dove trovarci!
Ciao
--
- Carlo -

 Andrea
Nulla di piu' semplice.....facciamo un esempio...
Devo creare un bottone con testo "Prova"
Procedure TForm1.CreaBottone;
Var
   B : TButton;
Begin
    B := TButton.Create(Self);
    B.Parent := Self;      // Questa e' necessaria
    B.Top := 50;
    B.Left := 30;
    B.Width := 200;        // lo creo un po' lungo (height = standard)
    B.Caption := "Prova"
    // Volendo posso dichiarare l'evento OnClick (per esempio)
   B.OnClick := CliccaBottone;
End;
.Dato che ho dichiarato l'evento OnClick necessito della procedura di
gestione
Procedure TForm1.CliccaBottone(Sender : TObject);
Begin
    // Eseguo la procedura
End;
Come vedi e' abbastanza semplice. O No?!?!?!? :-)
Ciao,
David

  |
|  Use manually this address!!   |
|  ICQ#: 19577419                |
+--------------------------------+

 object oriented)? C'e' qualcuno che ha fatto delle prove?
Sulle prestazioni non ne so tanto (+ o - penso siano lì, certo
non saranno ai livelli del c++ però...)
invece in quanto a dimensione gli exe con delphi sono molto + grandi,
ma hanno il GRANDE pregio di essere built-in e di
poter essere copiati su una macchina 'vergine' e di funzionare senza bisogno
di
 msvcrtxyz vbrunxxyyzzvattelapesca.dll e cose del genere...
cmq con delphi questa è un'opzione, se proprio si vuole
si può creare un exe che dipendano da runtime packages
con una notevole diminuzione di spazio, oppure
creare un prg senza le vcl usando le api.
ah, dimenticavo: benvenuto nel *Linguaggio di Programmazione*!! :-)
Ciao
Alan Solo

ah, dimenticavo: benvenuto nel *Linguaggio di Programmazione*!! :-)
Si',...vabbe' ;)
--
Andrea Laforgia (
andrea_...@bigfoot.com
)
---------------------------------------------
#exclude <windows.h>

> ah, dimenticavo: benvenuto nel *Linguaggio di Programmazione*!! :-)
Come programmatore C++ avrei qualcosina da obiettare!!   ;-)


 Come programmatore C++ avrei qualcosina da obiettare!!   ;-)
...miiiiii, quanto siete permalosi!! ;-)