Newsgroup: it.comp.lang.delphi
Titolo: Codice di metodi o funzioni delle classi standard di Delphi.

 Salve  ragazzi , siccome  sono  un  principiante  e  non  ho  molta  
familiarità  con  l'ambiente  di  sviluppo  Delphi , mi  chiedevo  se  
fosse  possibile  visualizzare  il  codice  relativo  allo  sviluppo  
di  un  metodo  o  funzione  di  una  qualsiasi  classe  standard  di  
Delphi . Ad  esempio , è  possibile  visualizzare  il  codice  relativo  
allo  sviluppo  del  metodo  " LoadFromFile "  della  classe  TImage ? 
Se  si , come ? In attesa  di  risposta  ringrazio  in  anticipo . 
Saluti.
--- posted by geoForum on 
http://www.delphiedintorni.it

 allo  sviluppo  del  metodo  " LoadFromFile "  della  classe  TImage ?
Si, certamente č possibile. Se metti un TImage su un tuo Form 
automaticamente la clausola "uses" nella parte "interface" del unit relativo 
viene allargato del unit in cui risiede la componente. Se clicci Ctrl+Left 
Mouse sul nome del unit, delphi ti porta direttamente in quel unit (Funzina 
da Delphi 7 in poi).
Puoi anche cliccare (sempre col ctrl+Left Mouse) sul tipo di classe "TImage" 
nella dichiarazione del tipo del tuo form. Delphi ti porta direttamente al 
codice del componente.
Se usi nel tuo codice il metodo LoadFromFile di un componente del tipo 
TImage e clicci  (sempre col ctrl+Left Mouse) sul nome del metodo Delphi ti 
porta direttamente al codice di quel metodo.
Spero che mi sono spiegato.
Auguri - e "enjoy" lo sviluppo con Delphi!
Fritz 


Ho fatto come mi hai detto ma quando clicco sul nome del metodo con CTRL 
+ Mouse Left , mi dà il seguente messaggio di errore : " Unable to 
locate file "Registry.pas" " . Come mai?


 locate file "Registry.pas" " . Come mai?
Giusto per precauzione... che versione di Delphi stai utilizzando?
Ciao,
   Marco.
-- 
MARCO BREVEGLIERI
  (
http://www.marco.breveglieri.name
)


Sto usando Delphi 2007 , perchè questa domanda ?


 Sto usando Delphi 2007 , perchè questa domanda ?
Se si trattasse di una trial, i sorgenti non li avresti.
O comunque, le possibili soluzioni potrebbero variare in base alla 
versione di Delphi (o esserci bug specifici).



Però questo discorso è strano......perdona la mia ignoranza , ma perchè 
allora nei miei programmi quando dopo la parola chiave uses metto ad 
esempio "uses Registry, ...ecc " funziona tutto e invece quando vado a 
cercare il codice di un metodo di quella unit , non riesce a trovarlo o 
a trovare la unit? E poi , che vuoi dire quando affermi che possono 
esserci bug specifici?



Però questo discorso è strano...........perdona la mia ignoranza , ma 
allora come mai quando nei miei programmi metto ad esempio uses Windows, 
SysUtils, Registry...ecc funziona tutto ( quindi vuol dire che le unit 
ci sono ) , e invece quando faccio quel discorso del codice del metodo 
non mi trova la unit? E poi che vuoi dire quando affermi che possono 
esserci bug specifici?
--- posted by geoForum on 
http://www.delphiedintorni.it

 esserci bug specifici?
Descrivi i passi che compi, perché io non ho alcun problema ad 
individuare un metodo della classe *TRegistry* a cui fai riferimento 
facendo <CTRL+click> su una chiamata al metodo stesso nel mio codice, 
avendo già inserito il nome della unit in cui la classe è definita, 
*Registry*, nella clausola uses.



Allora il problema è questo:siccome mi stavo esercitando ad interagire 
con il registro di sistema , stavo utilizzando nel programma la funzione 
GetDataType della classe TRegistry per conoscere il tipo di dato 
presente dentro ad una chiave . Ho notato però che la funzione non è 
completa in quanto non restituisce tutti i tipi di dati che possono 
essere presenti in una chiave ma solo alcuni . Leggendo questo articolo: 
http://qc.codegear.com/wc/qcmain.aspx?d=23428
 , ho pensato quindi di 
ridefinire il metodo GetDataType . Mi serviva quindi vedere il codice 
per l'implementazione di esso per capire come è stato implementato , in 
modo tale che io lo possa modificare e quindi far sì che la funzione 
restituisca tutti i tipi di dati possibili che possono essere presenti 
dentro ad una chiave . Dagli un occhiata tu ( se puoi ) perchè io non sò 
come fare per aggiungere piu' opzioni e quindi modificare il tipo 
enumerativo  " TRegDataType " . Grazie....


 essere presenti in una chiave ma solo alcuni [...]
Non puoi modificare un tipo enumerativo già esistente.
Se proprio la classe appare limitata nelle sue funzionalità, invoca 
direttamente le funzioni API di gestione del Registro passando i valori 
richiesti.



Scusa se insisto , ma se io voglio che la funzione GetDataType dia come 
risultato tutti i possibili tipi di un dato presente dentro una chiave , 
come devo fare? Devo modificare la funzione forse? Cioè inserendo una 
unit nel progetto e dichiarando una nuova classe discendente da 
TRegistry e di conseguenza ridefinire la funzione GetDataType?( come 
avevo già detto prima ). Se si , puoi postare il codice relativo alla 
sua implementazione ( quello della classe TRegistry perchè io non posso 
visualizzarlo per quel problema che ho già detto ) , che poi magari 
provo io a modificarlo ( se riesco )? Grazie....


 Se si , puoi postare il codice relativo alla sua implementazione [...]
Non ho il tempo libero necessario per farlo, purtroppo. :-|



Ma io non intendevo il codice relativo alla nuova funzione da 
implementare , ma quello relativo all ' implementazione del 
metodo "GetDataType" che ha sviluppato la Borland . In fondo devi fare 
soltanto un copia incolla.....Se poi non hai proprio tempo non fa 
niente.....grazie lo stesso ciao.


 niente.....grazie lo stesso ciao.
E' una mia impressione, o hai un tono lievemente spazientito? Non sono 
al tuo servizio, e i messaggi che ho scritto avevano comunque 
l'intenzione di fornire un aiuto, e richiedono comunque tempo per essere 
scritti, tempo impiegato per risolvere un tuo problema, quindi come 
minimo ci si aspetterebbe di non essere almeno sollecitati o trattati in 
questo modo, con frasi del tipo "in fondo devi fare soltanto...".
Se anche non riesci a fare <CTRL+click>, il sorgente della unit di cui 
stiamo parlando ce lo hai comunque (se hai installato una versione 
regolarmente licenziata di Delphi, s'intende), pertanto puoi sempre 
ricercare il file "Registry.pas" per aprirlo e vedere tutto il codice 
che c'è all'interno. In fondo, devi fare soltanto una ricerca... ;-)


 che c'è all'interno. In fondo, devi fare soltanto una ricerca... ;-)
Inoltre i due "stipendiati" di Google potrebbero anche suggerirgli di usare
(se non e' troppo faticoso per l'OP, si intende ...) Google Code Search 
http://www.google.com/codesearch
 , pero' quei due fanno la bella vita
godendosi le montagne di soldi che hanno guadagnato in tutti questi anni a
rispondere su questo NG.
Ciao
ACSH
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 rispondere su questo NG.
Ehm... non ti sono arrivate le provvigioni questo mese o l'importo è troppo
basso? Possiamo rinegoziare... resta sempre il fatto che Alka è
irraggiungibile.. 
:-D
-- 
Morde

A meno che olii un po' il meccanismo...
Se non ricordo male Marco mette a disposizione Turbo Delphi belle che
masterizzato.
Se il tipo fa prima qualche prova con 5 diverse versioni di TD. Magari
possiamo postargli il codice ??

 Non sono al tuo servizio
Ma facci il piacere! se sei quello che guadagna più di tutti qui al
Googleplex!!!


 Googleplex!!!
Appunto... sono al servizio di Google. :-D


> Appunto... sono al servizio di Google. :-D
Ricordo signori, il taglio dei costi per rispondere all'acquisizione
di yahoo... Taglio fondi taglio codice nei post..

 irraggiungibile..
Dove e' stato versato questo mese: sul conte delle Cayman o su quello 
lussemburghese?
Ciao
ACSH
-- 
If you don't think carefully, you might think that programming is
just typing statements in a programming language.
(Ward Cunningham)

Ma... aspetta un attimo si tratta proprio di....
http://www.nntp.it/comp-lang-delphi/411936-http-www-google-e-sito-costruito-con-intraweb.html
Eccolo qui sotto le vesti di consulente per la nota casa .... ;-D