Newsgroup: it.comp.lang.delphi
Titolo: Conoscere i Bounds dei componenti

Ho cercato nell'help ma non ho trovato informazioni circa i limiti dei
vari componenti Delphi.
Neanche sul mio manuale. Anche su google difficile. Come conoscere i
limiti dei vari componenti, es numero massimo di righe, colonne, items. etc.
Forse ho guardato male l'help ?
Ciao
--- posted by geoForum on 
http://www.delphiedintorni.it

 Forse ho guardato male l'help ?
Non credo ci sia sull'help, inoltre credo che i limiti dipendano 
soprattutto dalla memoria disponibile.
In ogni caso, prova a cercare con la parola chiave "limit" e non 
"bounds" (che possono essere intesi come "confini" - larghezza, altezza...).
-- 
Jax

 items. etc. 
Esempio di ragionamento n. 1: "quante righe e quante colonne può avere una 
TStringGrid?"
TStringGrid deriva da TDrawGrid, che deriva da TCustomDrawGrid, che deriva 
da TCustomGrid, la quale ha due proprietà ColCount e RowCount, di tipo 
Longint. 
Longint, dall'help, sta nel range:
  -
2147483648
..
2147483647
 
Siccome non ha senso avere una griglia con un numero di righe o colonne 
negativo, la risposta è "da zero a 
2147483647
", o anche "da 0 a 
High(Longint)"
Esempio di ragionamento n. 2: "quante linee può avere al massimo un TMemo?"
TMemo deriva da TCustomMemo, il quale ha una proprietà Lines di tipo 
TStrings. TStrings ha una default property di nome Strings con indice di 
tipo Integer
  property Strings[Index: Integer]: string read Get write Put; default;
e Integer sta nel range:
  -
2147483648
..
2147483647
 
ecc, ecc.
Sono cose piuttosto semplici a portata di "code navigation" (CTRL + CLIC 
del mouse) e di F1 premuto con il caret (cursore di testo) posizionato 
sulla parola chiave che interessa (nel Code Editor).
-- 
Mauro Falzari
"Mente sapendo di mentolo".
  (Groucho)

 limiti dei vari componenti,
Posso chiederti a che pro ?
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

  -
2147483648
..
2147483647
 
E' proprio questa la logica adottata ?
Esempio stupido sotto:
var x : longint;
x:=147483648;
mi serve più di integer ma non uso tutto longint



Ad esempio mi interesserebbe utilizzare una TListBox (più che altro per le
sue modalità grafiche) nella quale passare un numero di righe massime di
50x1000 = 50.000  sicuramente per la tipologia del programma l'utente non
arriverà mai (se non per sfida) a tale limite, mediamente dovrebbe
aggirarsi attorno ai 500/1000. Pero' vorrei essere sicuro di precedere un
errore di out of bound o diventerebbe instabile e la struttura dei file
sul disco va a pallino.
Poi ho anche una StringGrid usata a mo di battaglia navale dove con il
semplice click del mouse inserisco un +, ma vorrei poter dare liberta'
all'utente di spaziarvi un po' dove vuole. A tale proposito RowCount e
ColCount vengono incrementati automaticamente ogni volta che l'utente si
avvicina al limite attuale della griglia.


 50x1000 = 50.000  
Non sono problemi che bisogna porsi, econdo me, quando si progetta
un'interfaccia grafica.  Mi spiego: l'interfaccia di un'applicazione è
solo una "finestra" sui dati, non serve memorizzarne mai più di un tot
comodamente maneggiabile dall'utente.  Preoccuparsi del limite di una
listbox significa porsi un problema inutile, a mio avviso.  Bisognerebbe
capire se memorizzare 50000 dati (ma anche 5000) è utile o meno.


 è dato dal video del PC, quindi non c'è da preoccuparsi ?
Diciamo che parlare di limite del video ha senso fino a un certo punto,
visto che molti di questi componenti (vedi le listbox) rendono lo spazio
virtuale grazie alle scroll bar, ma quanto detto sopra vale comunque.
