Newsgroup: it.comp.lang.delphi
Titolo: modifica proprietà dei componenti in una procedura da me creata

Vengo subito al mio problema dovuto al fatto che ho conosciuto delphi solo 
da circa 1 mese.
C'è una cosa certamente banale che mi sfugge e comunque spero che qualcuno 
di voi possa aiutarmi a capire effettivamente il perché non potrebbe 
funzionare quello che vado a spiegarvi.
In un mio programma di prova, ho un componente memo ed un radiogroup 
composto da 3 items.
Una sorta di domande e risposte dove si seleziona dal radiogroup una scelta 
e si preme un bottone per andare avanti. Una volta premuto il bottone il 
programma deve modificare modificare il contenuto del memo (seconda domanda) 
e proporre nuove scelte nel radiogroup e via dicendo ad esempio per 10 
volte. Possiamo immaginare il tutto come un avventura testuale dove a 
seconda della scelta effettuata cambierà il contenuto del radiogroup e del 
memo.
Il mio approccio dopo poche ore di delphi, (quindi abbiate pietà eheh), 
consisteva semplicemente in due soluzioni diverse:
la prima:
procedure TForm2.TbconfermaClick(Sender: TObject);
begin
case kdomanda of
0: case  radiogroup1.ItemIndex of
      0: modificarispUnoA;   //richiamo questa procedura se ho scelto la 
risposta A della domanda uno
      1: modificarispUnoB; //richiamo questa proc. Se la risposta è la B 
della domanda uno
      2: modificarispUnoC;
end;
end;
. chiaramente se kdomanda=1  controllo nuovamente itemindex chiamando altre 
procedure e cosi via....
kdomanda:=kdomanda+1;  //Kdomanda mi serve per capire quale numero di 
domanda deve fare il programma, quindi a che punto sono.
soluzione lo so che farà ribrezzo ad un esperto programmatore ma a me per 
ora interessa fare delle prove.
Quello che non capisco è perché se poi vado a chiamare la procedura
procedure modificarispUnoA;  //proceduraperlarisposta A della domanda 1
begin
memo1.text:='seconda domanda: bla bla bla' //modifico ad esempio il 
componente memo
end;
il programma non riconosce la proprietà text e neanche il componente.
Seconda soluzione:
Stesso discorso se ovviamente cerco di passare direttamente i valori degli 
items del radiogroup ed il contenuto del memo ad una procedura in modo da 
evitare di scrivere tantissime procedure a seconda del numero delle domande.
Spero sia chiaro e mi scuso per la lunghezza del post. Grazie 
anticipatamente

Il problema e' che
procedure modificarispUnoA;
e' una funzione della unit ma non e' membro della tua form.
procedure TForm1.modificarispUnoA;
con relativa dichiarazione tra le private:
procedure modificarispUnoA;
Pertanto non vede i componenti della form.
ciao
S

 il programma non riconosce la proprietà text e neanche il componente.
Hai visto qualcuno degli esempi forniti con delphi o no?
Hai visto nella guida la differenza tra metodo e procedura o no?
Hai visto nella guida le sezioni private, public, protected o no?
Hai provato a dichiarare un metodo nella sezione private e, COME
SCRITTO NELLA GUIDA, premere ctrl+shift+c o no?
AS

SCRITTO NELLA GUIDA, premere ctrl+shift+c o no?
Si le ho viste e le sto provando ma credo che anche tu all'inizio avrai 
provato a fare qualcosa, e pur studiandola ti sarai reso conto di sbagliare. 
Allora semplicemente si riprende tutto in mano e si studia nuovamente 
cercando di capire cosa ci si è dimenticati. Perchè è facendo delle prove 
che ci si rende conto se si sono capiti o meno determinati argomenti oppure 
se si sono affrontati determinati argomenti.
Dispiace per il tuo tono, ma stai sbagliando persona. Se c'è uno che legge i 
manuali sono proprio io. Ma non posso permettermi di leggere un manuale e 
solo dopo 1 anno provare a fare qualcosa di mio.E' un approccio sbagliato.
Saluti



Ti ringrazio per la tua cortese risposta. Ho capito il problema, in questo 
mese ho studiato il pascal e quindi dovrò interessarmi maggiormente alla OOP 
per chiarire ovviamente questi concetti che non conosco ancora bene e che 
sono ovviamente fondamentali su delphi.
Saluti 

 ha scritto nel messaggio 
news:4352a9dd$0$24641$4faf...@reader3.news.tin.it...


Il mio non voleva essere un j'accuse nei tuoi riguardi, come persona,
quanto di un atteggiamento abbastanza generalizzato da parte di persone
che frequentano il ng.
Se ti ho "colpito" personalmente ti chiedo scusa, avevo male
interpretato il tuo post.
Condivido il concetto della inutilità di leggere 100 manuali.
Ma non puoi guidare se non sai come usare il cambio, e certo ad un
neopatentanto nessuno chiederà un testacoda su una TP....
Visto che il tuo problema è legato essenzialmente alla differenza tra
metodi (legati ad istanze di classi) e procedure/funzioni (non legate a
istanze di classi) ho ritenuto opportuno darti una dritta sul "cosa
cercare", "cosa guardare" nella guida.
Salvo non si tratti di cose VERAMENTE TOSTE, non è mia abitudine dare
soluzioni quanto indicare la strada per trovare da se la soluzione.
Essendo uno che legge e si documenta credo che apprezzerai questo modo
"indiretto" di dare aiuto.
Visto che sei all'inizio, ti do un consiglio.
Prima ancora di fare esperimenti su database o altro impara 2 cose:
1) la separazione tra logica e interfaccia
2) la programmazione object oriented
Questi 2 aspetti sono indipendenti dal linguaggio che usi.
Poi ogni linguaggio ha le sue prerogative, nel senso che applichi le
cose in modo diverso, ma la sostanza non cambia.
Imho, è errato imparare a usare delphi per poi scoprire le classi dopo
2 anni che lavori.  La via giusta è quella che sembra il contrario,
iniziare dalla OOP e poi vedere tutto il resto.
Se hai padronanza della OOP usi delphi in modo completamente diverso,
migliore.
Te lo dico per esperienza personale...
Dopo 2 anni che usavo delphi ho dovuto fare una inversione a u, tornare
indietro e ricominciare. 
Benvenuto a bordo.
AS

roftl.
AS

indietro e ricominciare.
Ti ringrazio, per le precisazioni. Ho capito cosa intendi, in effetti io 
praticamente ho prima studiato le basi del pascal, e poi alcuni tra i 
componenti di delphi. Tuttavia non ho ancora visto nulla di OOP, spero di 
rimediare presto e poi vi farò sapere se ci saranno con il tempo dei 
miglioramenti. Insomma devo darmi un calmata e non andare troppo veloce.
Mi scuso per aver male interpretato il tuo intervento e ti auguro una buona 
giornata. 

 Il ns è un lavoro dove l'estro è importante [...]
Ma per piacere!... 
;)
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 Ma per piacere!...
Programmare e' un'arte, caro Andrea, non dimenticartelo.. ;-) 
Tu sei l'artista, il monitor e' la tua tela, la tastiera il tuo pennello, e
il programma e' il tuo dipinto...
Ricordi questo post?
http://groups.google.it/group/it.comp.lang.delphi/msg/2a664ce00f5bf6e7?hl=it&
Visione romantica della mente dell'uomo, questo si ;-)
Ciao!
-- 
Morde. 
ICLDweb: 
http://www2.samatel.com/icld/

 Programmare e' un'arte, caro Andrea, non dimenticartelo.. ;-) 
Questa è la solita cazzata spacciata da chi non sa programmare, a
giustificazione delle macchie di colore nel proprio codice ;-)
La frase "Programmare è un'arte" è stata più volte fraintesa dai
programmatori.  Il suo significato reale è che programmare è un'attività
talmente difficile che, a farla bene, si può essere considerati degli
artisti e NON che, essendo artisti, ci è concesso di tutto ;-)


 Questa č la solita cazzata spacciata da chi non sa programmare
Ops, ti ho appena risposto sopra nella tua replica a Breveglieri sulla
querelle "MonthsBetween": beh a giudicare da questo followups, devo dedurre
che vuoi trolleggiare un po'... ma per quanto mi riguarda con questo
finisci da ora nel mio killfile, benvenuto :-D
plonk.


 ICLDweb: 
http://www2.samatel.com/icld/
E Bravo Morde.
Stavo pensendo a come rispondere a Sacho, e a come sostenere le tue tesi nel 
post "incriminato", ma visto che si sostengono gią da sole, senza aiuti 
ulteriori, non mi venivano le parole.
Io mi sento un "artista", nel fare questo lavoro, non un "genio", beninteso, 
ma un "creatore" si.
Pigiando su dei tasti e cliccando qua e lą con il mouse, creo software, che 
serve a risovere problemi di altri, che li aiuta nel loro lavoro e che mi 
permette di "campare".
Certo commetto errori, ma poi li risolvo e in tanti anni di onesto lavoro, 
nessuno dei miei errori ha creato troppi intoppi o problemi ad altri, se non 
a me stesso, alle mie notti a pensare al posto che dormire, a scervellarmi 
su come andarcene a capo il giorno dopo per raggiungere l'obbiettivo 
prefissato.
Bravo Morde, non lasciamo che tutto questo sia *solo* un lavoro.
Ciao
Marco

 ma un "creatore" si.
Una volta, anche io pensavo che il lavoro del programmatore fosse simile 
a quello di un artista, ma poi la mia idea è cambiata: penso che lo 
sviluppatore di software debba essere maggiormente assimilato ad un 
"medico" particolare... intendo dire che, come un medico o un qualsiasi 
professionista, il programmatore "ci mette del suo" ma dovrebbe anche 
seguire qualche pratica conosciuta, qualche regola prestabilita, senza 
affidarsi completamente all'estro, ma solamente quel tanto che basta.
Comunque, chiudo qui perchè altrimenti questo OT che già è OT diventa 
ancora più OT. :-)
Ciao a tutti,
   Marco.
-- 
MARCO BREVEGLIERI
  (
http://www.marco.breveglieri.name
)

 finisci da ora nel mio killfile, benvenuto :-D
Allora dovrai metterci anche me, visto che sono perfettamente d'accordo.


 prefissato.
Qeusto non significa essere "artisti".


 affidarsi completamente all'estro, ma solamente quel tanto che basta.
Io credo che, in programmazione, l'estro non c'entri per nulla.  La
programmazione non è arte ed è arte allo stesso tempo.  Non è arte perché
non è fantasia, bisogna seguire regole precise, bisogna essere
disciplinati, quando si scrive codice non si può svicolare per percorsi
poetici e chi lo fa è considerabile tutt'altro che un "artista".  E' allo
stesso tempo "arte", perché è un'attività oggettivamente difficile (per
chi vuole abbracciarla bene).  E' questo il senso del titolo "The Art of
Computer Programming" di Knuth.  Prova a leggerlo: è praticamente tutta
matematica.  Molti di coloro che credono che la programmazione sia una
forma d'arte, nel senso classico del termine, hanno preso una sonora
cantonata e in realtà, non hanno ben capito come si programma, quali sono
i paradigmi che andrebbero seguiti e che cosa significa creare software
che non si pianti ogni due per tre.  Se l'insieme del software in
circolazione fosse assimilabile ad un complesso di "opere d'arte", allora
saremmo circondati da monumenti bizzarri, patetici ed orrendi a vedersi.


> Io credo che, in programmazione, l'estro non c'entri per nulla.
Attenzione, Andrea.
Forse ho usato un termine infelice.
Io per "persona con estro" non intendo una specie di fuoriclasse che
non puoi mettere in un team xche "lui lavora a modo suo"..
Per me, uno sviluppatore che ha estro è quello che ha un  pò di
fantasia per inventarsi una soluzione ad un problema, è consapevole
che le regole sono fondamentali, la capacità di trovare LA SOLUZIONE
e non UNA SOLUZIONE.
Insisto, magari il termine da me usato non esprime ciò....
Lo so, lo so, devo comprarmi un dizionario... :-)


Come è bello vedere gente mai vista su questo ng il cui primo post
sembra fatto apposta x scatenare un flame.
AS

 Allora dovrai metterci anche me, visto che sono perfettamente d'accordo.
Lo faccio subito, tant'e' che hai lo stesso IP del sancho panza in
questione, e questo artificio (morphing), fatto proprio da te, e' una
grande caduta di stile. 
E con questo ho detto tutto quanto c'era da dire.


 sembra fatto apposta x scatenare un flame.
leggi la mia risposta appena data a laforgia e controgglia negli header gli
indirizzi ip del troll gia' plonkato in precedenza.
ciao


 grande caduta di stile. 
ROTFL... che cosa non si fa pur di far vedere d'essere coerenti ;-)
A parte che avere lo stesso IP non significa essere la stessa persona, se
mi avessi chiesto se siamo la stessa persona, ti avrei risposto di sě.
Io uso 
newsland.it
 per leggere/scrivere le news e questo sistema ti
permette di mandare messaggi cambiando il tuo nome (e memorizzandoselo). 
Non c'č nessun morphing, semplicemente messaggi mandati, in tempi diversi,
con due nomi diversi.  Quando mi sono accorto di aver spedito quei
messaggi con un nick che non era il mio nome (non ci faccio caso, tutte le
volte), ho corretto le impostazioni di newsland.  Del fatto che tu mi
possa plonkare, guarda, me ne importa veramente poco poco poco, ma sul
fatto che io fossi d'accordo con me stesso, ti stavo semplicemente
prendendo in giro ;-)


 sembra fatto apposta x scatenare un flame.
Niente affatto.  Ho scritto io quel messaggio.  Sai, è bello vedere come
alla stessa persona vengano date risposte in toni diversi dalle stesse
persone.  Ti assicuro che in quel messaggio non c'è nessun tentativo di
scatenare un flame, ma solo la volontà di dichiarare una sacrosanta (per
quanto personale) verità.
Tu, piuttosto, anziché vedere flammeggiatori ovunque, giustifica
ragionatamente i tuoi no.


 fantasia per inventarsi una soluzione ad un problema[...]
Se il nostro lavoro fosse basato sulla "fantasia" allora nessuno avrebbe
problemi con cui combattere fino alle quattro del mattino il giorno prima
della consegna.  Si risolverebbe tutto con un bel, estroso, tocco di
pennello.
Inventare una soluzione al problema intendendola come: ciò che di più
facile e immediato viene in mente per accontentare il cliente e nascondere
al meglio qualche bug (tanto poi si sistemerà), non è estro, non è arte, è
solo furberia che serve a far sbarcare il lunario.  Sentirsi "artisti" per
questo è veramente cosa meschina...



Veramente io intendo esattamente il contrario.
Avere "estro" (non e' il termine corretto) significa trovare la
soluzione corretta al problema e non apiccicare pezze.
E' proprio chi manca di capacita' "creativa" che spesso produce codice
spazzatura.
Comunque e' filosofia...
ciao
S

 soluzione corretta al problema e non apiccicare pezze.
Trovare soluzioni, in programmazione, non è affatto attività creativa.
Il range di soluzioni a un problema specifico è molto spesso ben ristretto.
Trovare quella giusta, più adatta, più conveniente, è solo questione di
esperienza, NON di capacità "creative" speciali.


 giustifica ragionatamente i tuoi no.
Mi sono perso. quale "no" in particolare?
AS
AS


Siamo andati fortemente OT e non replichero' oltre.
Concludo spiegandomi meglio.
Avere capacita' di "astrazione" e quindi riuscire a vedere il problema
nel suo insieme e non nello specifico, avere una visione "laterale" del
problema e quindi non incaponirsi in una strada ma cercare possibili
(non e' detto esistano) alternative.
Questo sono per me (IMHO IMHO IMHO) capacita' "artistiche".
Il che naturalmente non sottrae dalla necessita' di essere dei
professionisti preparati e competenti.
ciao
S

 usare identita' multiple e/o fittizie..
Siccome e' stato killato dal mio newsreader non leggo piu' i suoi post,ma
leggo gli altri followup come il tuo: rimango della mia opinione, e cioe'
che laforgia sia stato pizzicato nel compiere una grande caduta di stile.
Ciao


 usare identita' multiple e/o fittizie..
Io non sto affatto usando identità multiple o fittizie.
Rileggi il mio messaggio in cui spiego il perché del nick diverso.

 Questo sono per me (IMHO IMHO IMHO) capacita' "artistiche".
...arrampicamento sugli specchi per sentirsi "artisti" per forza.
L'arte č un'altra cosa, lasciamola a chi ha davvero talento.

 che laforgia sia stato pizzicato nel compiere una grande caduta di stile.
...ROTFL!... non ho mai avuto uno stile preciso, quindi non vedo 
come quest'ultimo possa cadere.  Ora posso anche dirti che sei un 
coglione che si è appena sparato nei piedi, ma tanto non leggerai 
questo messaggio! LOL! ;-)

 Io non sto affatto usando identità multiple o fittizie.
Lo hai fatto per errate impostazioni, ok, ma cio' che non toglie che lo
hai fatto, altrimenti il msg sul newsgroup postato da te con un altro
nome non esisterebbe....
E poi, quelle impostazioni non le ho certo messe io, ne credo che
newsland possa creare in automatico identita.
AS


 nome non esisterebbe....
Che deduzione degna di Sherlock Holmes.  Il fatto che io l'abbia 
fatto non vuol dire che l'abbia fatto con certe intenzioni. 
Invece, parlare di identità fittizie significa parlare di 
intenzioni.  Ora cerca di ragionare su questo e il prossimo 
messaggio scrivilo dopo aver pensato bene.

 aver pensato bene. 
come fai tu, Andrea?
AS

 come fai tu, Andrea?
No no, pensare cosě tanto sarebbe uno sforzo troppo grande per te.
Allenati.  Un po' alla volta ci riuscirai.

 Allenati.  Un po' alla volta ci riuscirai.
dopo aver sentito questa illuminante verità sono pronto ad andare alla
conquista del mondo....
AS

 Se il tuo è "pensare"  è meglio non pensare.
Se il tuo è "essere" allora è meglio non essere.

 Se il tuo è "essere" allora è meglio non essere.
Infatti tu semplicemente "non sei". Tu sei in quescienza gia da un
pezzo. 
AS

 Tu sei in quescienza gia da un pezzo.
Si scrive "quiescenza" e "già" si scrive con l'accento.
Ignorante.

wow! che bravo! 7+!
AS