Newsgroup: it.comp.lang.delphi
Titolo: Quizzone da 5 domande! :)

Ed ecco a voi un fantastico quizzone estivo da 5 domande!
Chi risponde a tutte e 5 vince un GRAZIE enorme da parte mia, chi invece di
meno, ... idem! :)
Vado? Vado!
1) Come faccio a fare in modo che un form MDI Child, quando aperto, blocchi
gli altri child aperti in modo che l'utente sia costretto a chiudere prima
lui?
2) Perche' se creo un MDI form e due child con una dimensione ben definita
(a design time), quando lancio l'applicazione i due child vengono
gentilmente disposti in cascata, e tutti con dimensioni uguali e diverse da
quelle che avevo dato loro ? (se i child li faccio Autosizable ok, ma
altrimenti...)
3) Ma come CAVOLO si fa a chekkare da codice un item di una TCheckListBox
?!?!?! (questa la voglio proprio sapere!) :P
4) Come si fa un array di controlli in Delphi (purtroppo ho un triste
passato di VB, che sto' cercando di dimenticare)? Ovvero, se ho una form con
500 pulsanti, come faccio a riferirmi ad essi con un bel ciclo for...next?
5) ShellExecEx -> come faccio in Delphi a passargli un comando o un
parametro con le doppie virgolette?!
Vi saluto.
In bocca a lupo per il Quiz... ;)
Chris

 parametro con le doppie virgolette?!
vuoi dire qualcosa del genere
uses ShellAPI;
procedure TForm1.Button1Click(Sender: TObject);
var
  Info: TShellExecuteInfo;
  ExitCode: DWORD;
begin
  FillChar(Info, SizeOf(Info), 0);
  Info.cbSize := SizeOf(TShellExecuteInfo);
  with Info do begin
    fMask := SEE_MASK_NOCLOSEPROCESS;
    Wnd := Application.Handle;
    lpFile := PChar('notepad.exe');
    lpParameters := PChar('"c:\Delphi 2.0\DEPLOY.TXT"');
    lpDirectory := PChar('c:\');
    nShow := SW_SHOW;
  end;
  ShellExecuteEx(@Info);
end;
P.S. ho vinto qualche cosa.
--
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-
Per rispondere in privato rimuovere 1975 dall'indirizzo
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

"Christian Meneghini" ha scritto nel messaggio
| 1) Come faccio a fare in modo che un form MDI Child,
| quando aperto, blocchi
| gli altri child aperti in modo che l'utente sia costretto a chiudere
| prima lui?
Secondo me, se hai questa necessita', hai sbagliato qualcosa nella
progettazione della tua applicazione. A quel punto, la tua form non e' piu'
una finestra MDI (Multiple Document Interface) ma una form generica. La
prima soluzione - forse un po' drastica - che mi viene in mente e': non
creare la form come MDI Child, ma come una form generica. La seconda, ma
non sono affatto sicuro che funzioni, e' quella di gestire in qualche
maniera l'evento OnActivate delle form che devono essere bloccate.
| 3) Ma come CAVOLO si fa a chekkare da codice un item di una TCheckListBox
| ?!?!?! (questa la voglio proprio sapere!) :P
CheckListBox1.Checked[posizione] := True;
| 4) Come si fa un array di controlli in Delphi (purtroppo ho un triste
| passato di VB, che sto' cercando di dimenticare)? Ovvero, se ho una form
| con 500 pulsanti, come faccio a riferirmi ad essi con un
| bel ciclo for...next?
Usa una TList - nella quale carichi i componenti - e la sua proprieta'
Count per il ciclo.
Ciao.
ACSH
---------------------------
Why doesn't DOS ever say:
"EXCELLENT command or filename!"?

 P.S. ho vinto qualche cosa.
Si: GRAZIEEEEEEEE!!! :)))
Chris.
P.S.: GRazie a tutti quelli che mi hanno risposto... ;)

 500 pulsanti, come faccio a riferirmi ad essi con un bel ciclo for...next?
potresti fare un conteggio di tutti gli oggetti nellaa tua form se questi
oggetti sono di tipo TButton aggiungerli all'oggetto TObjectList e poi
gestirli
una cosa del genere:
var ocomp: TComponent;
      oList: TObjectList ;
for x:= 0 to componentcount-1 do
begin
  ocomp := Components[I]
  if ocomp is tbutton then
    oList.Add(oComp)
end;
NB il codice sopra non è testato l'ho scritto così come mi veniva prendilo
solo come idea andrebbe migliorato ma data l'ora....;)
^_o_^