mii-community/UsenetArchiveIT-conversations huggingface dataset:
Newsgroup: it.comp.lang.delphi
Titolo: Problema con query Master/detail  SDAC Corelab

Salve a tutti.
Spero che qualcuno possa aiutarmi a risolvere il seguente problema:
Ho due query (componenti TMSQuery SDAC di Corelab x MS sql server)
Master:
SELECT *
FROM   dbo.RegMain
(il campo IdRegMain di RegMain è Identity)
Detail
SELECT *
FROM   dbo.RegDet
where dbo.RegDet.IdReg=:IdReg
(il campo IdRegDet di RegDet è Identity)
(il Campo IdRegMain di RegDet è Index)
Quando vado a fare qualcosa del genere
.....
   RegMain.Insert;
   RegMainProgressivo.Value:=1;
   RegMainIdDocumento.Value:=78;
   RegMainData.Value:=Now;
   RegMainAnno.Value:='2005';
   RegMainIdAzienda.Value:=1;
   RegMain.Post;
   RegDet.Insert;
   RegDetContoDare.Value:=25;
//   RegDetIdReg.Value:=RegMainIdReg.Value;
   RegDetContoAvere.Value:=IdConto;
   RegDetImporto.Value:=200;
   RegDet.Post;
Ottengo errori.
Sembra che non si riesca a reperire RegMain.IdRegMain.
Usando dbexpress al posto di SDAC ottengo gli stessi errori??

 
Il campo Identity di SQLServer è in sostanza un campo incrementale il 
cui valore viene generato /*lato server*/
Il primo blocco di istruzioni
     RegMain.Insert;
     RegMainProgressivo.Value:=1;
     RegMainIdDocumento.Value:=78;
     RegMainData.Value:=Now;
     RegMainAnno.Value:='2005';
     RegMainIdAzienda.Value:=1;
     RegMain.Post;
istruisce il server affinchè aggiunga un record alla tabella master ma 
NON riceve alcun dato -> il valore del campo IdRegMain viene generato 
/*dal server*/ DOPO la Post lato client, quindi il recordset RegMain non 
ne può conoscere il valore finchè non viene rinfrescato.
E' ovvio poi che passare il valore al dataset detail prima di conoscerlo 
generi un'eccezione. Per ovviare a questo problema mi vengono due  strade:
1. all'interno di una transazione lato client, effettui l'inserimento 
del record di testata e recuperi il valore dell'identity appena generato 
(mi pare sia "select @@IDENTITY from TABELLA", ma non ci giurerei):
   DbConnection.BeginTrans;
   InserimentoRecordDiTestata;
   RecuperoValoreIndentità;
   DbConnection.Commit;
2. crei una stored procedure sul database che si occupi della creazione 
del record di testata e della restituzione del valore di identità generato
Fai tu.
Saluti
	Marco Bortolani
	info @ 
marcobortolani.it

 del record di testata e della restituzione del valore di identità generato
Ho dimenticato di aggiungere che poi l'inserimento dei record di 
dettaglio lo esegui con il valore della chiave della testata che hai 
recuperato ;-)
Newsgroup: it.comp.lang.delphi
Titolo: Ciclare i componenti di una Form

Ciao a tutti, io dovrei da codice, ciclare tutti i componenti di un certo
tipo (TLabel) sulla mia form e cambiargli lo stato di Enabled... ma mi manca
un pezzo...
for i:= 0 to Form1.ComponentCount -1 do
    if (Form1.Components[i] is TLabel) then
        Form1.Components[i].enabled := false
Questo codice mi dà errore sulla proprietà Enabled... dove sbaglio?
Grazie

TLabel(Form1.Components[i]).Enabled := False;
oppure
(Form1.Components[i] as TLabel).Enabled := False;
Ciaoux

for i:= 0 to Form1.ComponentCount -1 do
if (Form1.Components[i] is TLabel) then
   TLabel(Form1.Components[i]).enabled := False;
Prova con questo cast.
Ciao
-- 
Morde. (
mo...@despammed.com
)
M-List di icld: 
http://it.groups.yahoo.com/group/icld/
Firefox, il miglior browser: 
http://www.mozilla.org/products/firefox/

Grazie
	Ciao
	MassimoB
 
---------------------------
http:\\
www.massimobeschi.it


TLabeledEdit(Form1.Components[i]).Enabled:=true;
--- posted by geoForum on 
http://www.delphiedintorni.it

Grazie a tutti per le risposte, veloci e precise.
Thanks
Tomas

Newsgroup: it.comp.lang.delphi
Titolo: Leggere un foglio Excel

Come posso fare per leggere le informazioni
contenute in un foglio Excel?

 contenute in un foglio Excel?
Usa un componente di accesso ad Excel, no?
A seconda della versione che usi di Delphi potresti già averlo...sennò
sicuramente trovi qualcosa free che fa per te ricercandoc on google.
Ciao.
--
Giulio Pipitone (
www.fighters4web.com
 )
#sito per la lotta agli abusi in rete#

 ha scritto nel messaggio
news:BJcn9.10877$dj7....@tornado.fastwebnet.it...


Beh...dipenderà dal componente....ogni componente ha le sue proprietà..i
suoi eventi..i suoi comandi...probabilmente ci sarà un qualcosa del tipo:
Nomecomponente.Open('file.xls')...
Prova a inserire il componente e a scriver "nomecomponente." mentre
programmi.....ti verrà il popuppino che ti guida nel prossimo comando dove
vedrai tutte le procedure/funzioni che puoi usare...


ci sono vari modi per "usare" excel da una applicazione....
1) Tramite Ole Automation.
per fare cio ti serve la funzione CreateOleObject/GetActiveOleObject e la
guida VBA di excel.
Tale guida, ribadisco, non viene installata di default dalla maledetta
istallazione tipica, ma dovete dire voi al prg di installazione che volete
tale guida.
2) Usare un componente di 3 parti che fa cio che ho detto al punto 1
I siti per recuperare tali componenti sono facilmente reperibili tarmite una
ricerca su google anche nei posti vecchi di questo ng
3) Usare i componenti forniti con alcune versioni di delphi
4) Usare il driver ODBC per accedere via TTable o roba simile
5) Usare ADO, ma ti serve un OLE Db Provider x excel, che non so dove sia,
ma credo sia reperibile semrpe tramite google.
6) Usare un componente che legge e scrive i file di excel fregandosene di
OLE automation.
La peggiore è la 6: Se cambia la versione di excel probabilmente cambia il
formato di file e quel componente lo butti via
La migliore va scelta tra la 1, la 5 e la 6, ma molto dipende da cosa devi
realizzare.
Bye
A.

 ma credo sia reperibile semrpe tramite google.
Viene installato con ADO.
--------------------------------
Inviato via 
http://usenet.libero.it

credevo di dessero solo il driver ODBC e non l'OLE D provider :((
A.
Newsgroup: it.comp.lang.delphi
Titolo: I primi passi

Scusate se vi disturbo per una cavolata ma ho deciso di iniziare a
programmare in Delphi e, leggendo alcuni suggerimenti di questo newsgroup ho
acquistato il software (Delphi 7) e ora cerco di farmi un po' di esperienza
realizzando un piccola applicativo.
L'unico problema è che già all'inizio ho un po' di problemi per cominciare.
C'è qualcuno che potrebbe darmi una mano? Un qualche punto di riferimento
(possibilmente in italiano). Ad esempio il mio primo tentativo è quello di
realizzare una form stile pagina web in cui sono presenti due livelli di
menu e la parte principale in cui visualizzare l'argomento scelto. Cosa mi
consigliate?
Vi ringrazio in anticipo per qualsiasi risposta e scusate ancora per la
banalità della domanda.
Lela
--------------------------------
Inviato via 
http://usenet.libero.it

On Mon, 25 Aug 2003 08:49:59 GMT, Lela wrote:
Benvenuta.
Ti consiglierei innanzitutto di comprarti un bel libricino sul delphi, cerca
quelli di marco cantu oppure di Texeira e pacheco.
Se non sai proprio nulla neanche di pascal allora leggiti questi
http://www.marcocantu.com/epascal/default.htm
http://www.marcocantu.com/edelphi/default.htm
che ti spiegano i primi passi.
Dopodichč se hai qualche info prima cerca su google in questo gruppo, perchč
molte delle domande che avrai vi č gia una risposta ben documentata con
tanto di esempi. Poi molto utile č l'help in linea, basta capire come č
strutturato....
Poi se hai molta pazienza stiamo scrivendo l'Open Delphi Manual in italiano.
perň il progetto č partito da poco quindi c'č da pazientare parecchio
Poi se hai problemi chiedi pure. 
Ciao fabrizio

Grazie tantissimo per i riferimenti che mi hai dato e soprattutto grazie per
la gentile accoglienza.
Speriamo che non incontri troppe difficoltà.
Bacioni


Newsgroup: it.comp.lang.delphi
Titolo: Delphi ed Excel

Ho realizzato una procedura che data una cartella specifica apre i
file excel presenti (uno alla volta) , ne legge i dati e li trascrive
su un'altra tabella.
La procedura funziona però ho i seguenti problemi ...
- ogni qualvolta chiudo il file.xls tramite XAppl1.Quit mi viene
richiesto il salvataggio in automatico del file; a me non serve questa
richiesta in quanto NON ci scrivo nulla nei files di excel.
- al termine dell'intera procedura nel Task Manager ho "EXCEL" aperto
un sacco di volte.
Probabilmente mi sfugge qualche comando....
Grazie
Alberto

Io uso:
per aprire il file;
      xapp.WorkBooks.Open( Info.FileName )
per salvare:
      xapp.WorkBooks[ 1 ].Save 
se il file esisteva, oppure
      xapp.WorkBooks[ 1 ].SaveAs( InfoStampa.FileName )         se il file 
non esisteva;
quindi lo chiudo con
    xapp.WorkBooks[ 1 ].Close;
e non con il Quit: excel viene chiuso e non resta nel task manager.
Per il save ovviamente lo uso perchè io ci scrivo qualcosa, ma potresti 
farlo ugualmente per evitare il msg di richiesta (se ho capito nel tuo caso 
il file esiste sempre e on lo modifichi), a meno di idee migliori ;-) 
ovviamente
Gianni 

 Alberto
Ciao, Antò.

 - ogni qualvolta chiudo il file.xls tramite XAppl1.Quit mi viene
[CUT]
Devi chiudere con .Close non con .Quit
Ciao Raffaele
Newsgroup: it.comp.lang.delphi
Titolo: [d2006] esecuzione applicazione

Ciao a tutti,
Nel momento in cui lancio un'appliazione (es pippo.exe) vorrei controllare
se questa e' gia' in esecuzione , e se presente non permettere un'
ulteriore esecuzione, tutto fatto all' interno dell'applicazione
(pippo.exe)
Ho qualche possibilitŕ? 
Se si qualche dritta?
Grazie
Ciao
Loris
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 dell'applicazione (pippo.exe)
Cerca con Google delphi single instance:
http://www.google.it/search?q=delphi+single+instance
-- 
Vuoi distribuire il tuo sito web su CD/DVD?
Prova 
http://www.dwebpro.com/
Vuoi diventare un esperto analista PHP/MySQL?
Vieni a fare uno stage con noi: 
http://www.creativepark.it/stage/

 
io uso
   txt := 'BBook ' + Caption;
   num := FindWindow(nil,pchar(txt));
   if (num<>0) then
   begin
     ShowWindow(num, SW_SHOWMAXIMIZED);
     Caption := ''; // Segna per fare in modo che all'uscita non 
aggiorni il file LOG
     Application.Terminate;
     exit;
   end;
   Caption := txt;
il titolo della finestra naturalmente all'inizio deve essere diverso, 
sopratutto per la fase di designtime.
ciao
-- 
-------------------------------
per scrivere in privato
togliere "1975nosp"
to reply remove "1975nosp"

Grazie....
Provo a fare qualche prova e poi vi dico!
Ciao

Newsgroup: it.comp.lang.delphi
Titolo: OT - Report Manager

Ciao a tutti,
mi scuso anticipatamente per l'OT, ho scaricato questi componenti Open 
source per la generazione di Report, volevo sapere se qlc di voi li 
aveva già usati e se si volevo chiedere come si fa a creare un template 
di report, lo chiedo xche tra i componenti installati non vedo un 
designer visuale e la documentazione non dice niente a riguardo.
grazie
Diego
--- posted by geoForum on 
http://www.delphiedintorni.it

 designer visuale e la documentazione non dice niente a riguardo.
Forse non hai installato questi:
rppackdesisgnvcl_del  	Interface to Report Manager Designer (VCL)
rppackdesigntime_del.dpk 	Designtime package, design editors.
Ciao
Gianni

rppackdesigntime_del.dpk 	Designtime package, design editors.
Veramente li ho installati tutti cosi come dice nella documentazione 
l'elenco è questo :
rppackvcl_del.dpk.........VCL components 
rppackdesisgnvcl_del......Interface to Report Manager Designer (VCL) 
rppackdesigntime_del.dpk..Designtime package, design editors. 
rppackv_del.dpk...........Visual CLX package, for cross platform  
                          development 
rppackdesign_del.dpk......Visual CLX interface to Report Manager 
                          Designer 
Non trovo da nessuna parte un designer su cui posizionare ogetti!!!
cosa sbaglio?


 l'elenco č questo :


 vero e proprio passando paramentri e cosě via
Ma come? Nella documentaizone c'č scritto :
Panoramica delle caratteristiche
Se stai utilizzando Delphi/Kylix/Builder, puoi includere il motore di 
reporting nei tuoi eseguibili, che include la finestra di anteprima, una 
finestra di dialogo di stampa completa, una finestra di dialogo per le 
opzioni del report...


 Ma come? Nella documentaizone c'è scritto :


 impostare nome report,preview,execute
scusa un ultima cosa, dimmi se ho capito bene!
i template dei report si creano col tool esterno, e visto che la 
finestra di preview viene installata insieme ai package non c'è bisogno 
di fornire insieme al software il tool esterno! 
E' cosi?



 Ciò vuol dire che insieme all'eseguibile devi dare un file di report 
insieme?
Stefano Lorenzi


  Ciň vuol dire che insieme all'eseguibile devi dare un file di report


 wrote in message
news:kBRwe.37788$bc.3...@tornado.fastwebnet.it...


> Ti serve solamente fornire il file rep generato dal reportmanager 
perfetto, è quello che volevo sapere! 
ti ringrazio
Diego


Può essere usata da qualsiasi versione di Delphi?
Stefano Lorenzi


>Può essere usata da qualsiasi versione di Delphi?
vai su questo link, trovi tutto quello che puoi sapere.
http://www.visual-basic.it/ReportManager/Index.html
Diego


 wrote in message
news:ZUSwe.38023$bc.1...@tornado.fastwebnet.it...


tenendo presente che il file del report deve esistere.
beh! mi sembra ovvio. :)
L'unico mio dubbio era se distribuire anche il report manager.

Newsgroup: it.comp.lang.delphi
Titolo: BDE

Oggi ho installato la versione 5.1 del BDE (da premettere che avevo D3 con
BDE 4.0) e sono rimasto profondamente deluso: e' molto piu' lento del
precedente. E' una mia impressione oppure ho sbagliato qualcosa?
-- 
Ciao da Giuseppe Fraddosio
    // FidoNET 2:335/727.2    
 \X/  
fradd...@libero.it
 
fradd...@tin.it
 
Membro AGI Puglia Sez. Bari 
Powered By Amiga2000T/060@50Mhz/CV3D 4Mb/AmigaOS 3.5

passa a ADO.
--
web:    
http://gnaffy.tripod.com/
e-mail: Gna...@Wappi.com
e-mail: 
bmq...@tin.it
ICQ#:  76488613

 passa a ADO.
Piu' che ad ADO pensavo di passare ad Interbase.


| Piu' che ad ADO pensavo di passare ad Interbase.
... e' che con ADO (e BDE e simili) ti puoi interfacciare
con molte tabelle/RDMS,
se passi a InterBase (inteso come full IB, ovvero
con oggeti dedicati) mogliori le prestazioni
ma usi IB e basta...
se ne discuteva sul ng di cantu',
concentrarsi definitivamente su un prodotto OpenSource come IB e' una sfida,
se la vinci lo metti nel **** a tutti e riparmi molto,
pero' il rischio c'e' ...
Io sono ottimista...
Ciao,
Alan Solo

 se ne discuteva sul ng di cantu',
Qual'č l'NG di Cantů?

"Alessandro Toia":
| > se ne discuteva sul ng di cantu',
| Qual'è l'NG di Cantù?
Qual'è l'NG di Cantù? Qual'è l'NG di Cantùuuu?? :))
seriamente:
http://www.marcocantu.it
ti devi iscrivere.
ps: precisamente (cio' che stavo aprlando io)
e' libero.interbase

news.marcocantu.it
ma ti devi registrare gratis sul suo sito. (perchè poi?)
www.marcocantu.it


Newsgroup: it.comp.lang.delphi
Titolo: Mi date una mano?...grazie

Sto facendo un programmino per la gestione di un database...sono solo
all'inizio...ho usato gli ado control e ora ho una dbgrid con tutti i miei
record...funziona tutto come voglio...l'unico problema č che vorrei poter
ordinare la griglia per un determinato campo...č possibile farlo
semplicemente cliccando sul'intestazione del campo? Se si, come faccio?
Grazie Matteo

semplicemente cliccando sul'intestazione del campo? Se si, come faccio?
Utilizza la proprieta' IndexNameFields delle ADOTable per
impostare, di volta in volta, l'indice giusto.
Ti ho scritto un esempio completo, scaricalo:
http://www24.brinkster.com/walkietalkie/ADOAccess.zip
-- 
Andrea Laforgia - walkietalkie(at)
libero.it

 wrote in message
news:3bc267ad...@news.tin.it...


Newsgroup: it.comp.lang.delphi
Titolo: [ot] Aiuto sintassi query

Non riesco a fare una select col MySQL.
Ho una tabella composta da n campi tra cui l'id_utente e un campo
"orario" (datetime). Come faccio a prendere per ogni utente il *record*
con l'orario più grande?
Facendo:
select id_utente, [lista campi],  max(orario) from tabella group by
id_utente
ottengo un risultato che non va bene perchè ho sì un solo record per
utente e l'orario più grande, ma gli altri campi non corrispondono al
record di quell'orario.
Spero di essermi spiegato.
Un saluto,
Dario
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

6 ot.
A.

 A.
STAI ESAGERANDO!!! e' pur sempre SQL strausato in applicazioni Delphi...
Giorgio padoan
Newsgroup: it.comp.lang.delphi
Titolo: rs232 e rs485

Salve
vorrei avere qualche suggerimento riguardo alla comunicazione seriale
in delphi.
Devo raccogliere dati provenienti da una bilancia elettronica.
Prima di passare al delphi, programmavo con VB6 ed utilizzavo
l'oggetto MSComm per comunicare con la seriale.
Esiste qualche oggetto simile in Delphi?
Grazie


Come da discussione precedente consiglio Async Pro che include molti 
strumenti per le comunicazioni naturalmente anche la seriale.
Omega

Newsgroup: it.comp.lang.delphi
Titolo: [HELP] masterizzare file e stampare su pdf

Sto scrivendo un prg per una fiera a fine mese, avendo i tempi molto
stretti vorrei sapere se qualcuno del ng ha già implementato codice in
win32 (uso D6) per masterizzare su cd.
Riguardo il pdf, ho deciso di donare 50 euro al progetto PDFCreator per
distribuire poi questo software nel cd del prg: qualcuno di voi ha già
implementato l'interfaccia COM in qualche software delphi?
(l'ultima release di pdfcreator infatti espone un'interfaccia COM rendendo
così possibile pilotarlo da prg anzichè far scegliere all'utente la
stampante PDF).
Chiedere non è mai male, magari qualcuno ha già scritto qualcosa. ;-)
-- 
Morde. 
ICLDweb: 
http://www2.samatel.com/icld/

 Chiedere non è mai male, magari qualcuno ha già scritto qualcosa. ;-)
Mi spiace, noi per il pdf abbiamo scelto un'altra strada (ci siamo scritti
una nostra stampante virtuale)
-- 
Lis                   
www.alessandroghezzi.it
Angolo del buonumore: 
www.alessandroghezzi.it/ridere
Comincia il mondiale 2006, iscriviti ad O'Telma F1: 
www.snurl.com/otelma
Ci inganna più spesso la ragione che la natura (Vauvenargues)

 una nostra stampante virtuale)
Ottima scelta :-)
ciao e grazie lo stesso


 Ottima scelta :-)
Sì...ma è stato un bagno di sangue :)
-- 
Lis                   
www.alessandroghezzi.it
Angolo del buonumore: 
www.alessandroghezzi.it/ridere
Comincia il mondiale 2006, iscriviti ad O'Telma F1: 
www.snurl.com/otelma
A volte l'uomo inciampa nella verità, ma nella maggior parte dei casi si
rialzerà e continuerà per la sua strada (Wiston Churchill)

Ciao,
se questo link l'hai gia visto, sorry.  :-D
http://sourceforge.net/projects/delphineroapi/
Io non l'ho provato, ma magari a te può servire. 

 Sě...ma č stato un bagno di sangue :)
Ehehe.... lo dici a uno sfigato che su os/2 ha scritto in c++ un driver
stampante PCL5: gpibitbuilt e altre stupende api erano il mio pasto
quitidiano anni fa... (
http://snipurl.com/nd50
)
In queste cose c'e' tanto da imparare e da divertirsi, quello che manca č
il tempo, purtroppo :)


 Io non l'ho provato, ma magari a te può servire.
Per ora ho scaricato e aperto i sorgenti di questo:
http://www.dancemammal.com/cdburn.htm
grazie comunque per l'aiuto Mao :-D


 il tempo, purtroppo :)
già, come sempre
-- 
Lis                   
www.alessandroghezzi.it
Angolo del buonumore: 
www.alessandroghezzi.it/ridere
Comincia il mondiale 2006, iscriviti ad O'Telma F1: 
www.snurl.com/otelma
E' meglio ingannarsi sul conto dei propri amici che ingannare i propri
amici. (J. Wolfgang Goethe)
Newsgroup: it.comp.lang.delphi
Titolo: ok...mi arrendo...aiuto con le if

Salve
Sto avendo difficolta' con le if...else.
Provengo da vb e mi trovo un po confuso.
Esempio codice vb:
if pippo = 1 then
    pallo = "hello"
    I = pippo + 10
    beep
    msgbox("prova")
else
    pallo = "addio"
    I = pippo + 20
    beep
    msgbox("prova2")
end if
codice delphi SBAGLIATO:
if pippo = 1 then
begin
    pallo := "hello";
    I := pippo + 10;
    beep;
    showmessage("prova");
else
    pallo := "addio";
    I := pippo + 20;
    beep;
    showmessage("prova2");
end;
Non riesco a capire come funziona dopo l' else.
In tutti gli esempi (nell'help e su un libro) dopo l'else c'e' sempre
un'altro if...ma a me in questo caso non serve!
Mi spiegate la struttura perfavore...
Grazie

Mi spiegate la struttura perfavore...
if pippo = 1 then
begin
   pallo := "hello";
   I := pippo + 10;
   beep;
   showmessage("prova");
end
else
begin


 wrote:
Se sei abituato a alla struttura
if
else
end
puoi scrivere cosi' :
 
if pippo = 1 then begin
    pallo = "hello";
    I = pippo + 10;
    beep;
    msgbox("prova");
end else begin
    pallo = "addio";
    I = pippo + 20;
    beep;
    msgbox("prova2");
end 
in C basta sostituiere begin end con {}
ed a parte le istruzioni viene cosi':
if pippo = 1 then {
    pallo = "hello";
    I = pippo + 10;
    beep;
    msgbox("prova");
} else {
    pallo = "addio";
    I = pippo + 20;
    beep;
    msgbox("prova2");
}
in clipper mi viene cosi':
(senza then)
if pippo = 1 
    pallo = "hello"
    I = pippo + 10
    beep
    msgbox("prova")
else
    pallo = "addio"
    I = pippo + 20
    beep
    msgbox("prova2")
end 
In ogni caso (anche in VB)
Ho sempre l'if l'else e l'end sulla stessa verticale .
E' una questione di abitudini...
Ciao,
Eugenio Belli.
 

if pippo = 1 then {
if (pippo == 1) {



A volte mi scappa uno then anche in Clipper e 
anche lui non ne vuole sapere. :-)))
Grazie per la correzione.
Eugenio Belli.
 

end;
In generale un gruppo di istruzioni deve essere delimitato da
begin...end (tranne per try..finally/except...end), mentre una sola
istruzione no.
Le parole chiave if..then..else in OP _non_ funzionano da
delimitatori!
Idem per esempio per il for:
for i:=0 to 10 do
  writeln('ciao'); //qui non c'e' bisogno di begin..end
for i:=0 to 10 do
begin //qui ci va il begin!!
  writeln('ciao');
  writeln('ariciao');
end; // e anche l'end!!!
Ciao
--
Piero Bonanno
bop...@libero.it
pie...@tiscalinet.it
bop...@tin.it
bpie...@hotmail.com
______________________________________________
"Madame, lei ha tra le gambe uno strumento
che puo' offrire piacere a migliaia di persone,
e tutto quello che sa fare e' grattarlo"
- Sir Thomas Beechan a una violoncellista
Newsgroup: it.comp.lang.delphi
Titolo: Connessione a server FTP

Ciao,
avrei bisogno di accedere ad un server FTP e scaricare un file che poi
dovrò elaborare per aggiornare il DB.
In una vecchia applicazione che ho trovato viene usato un componenete
di nome TNMFTP, che però sul mio DELPHI 7 non trovo.
Sembra che debba usare INDY ma non ho trovato una guida decente per
capire come fare.
Qualcuno di voi lo ha già fatto ?
Grazie
Federico

 Qualcuno di voi lo ha gi� fatto ?
Hai visto la documentazione sul sito ufficiale degli *Indy Components*?
http://www.indyproject.org
Inoltre, nel pacchetto da scaricare per l'installazione, credo che sia 
incluso anche qualche esempio... prova a vedere se c'� qualcosa che 
riguarda l'uso di FTP.
Ciao,
   Marco.
-- 
MARCO BREVEGLIERI
  (
http://www.marco.breveglieri.name
)

Non è che ci capisca molto, ho pure scaricato una demo "FTPClient" ma
mi da un errore in compilazione
File not found "IdExplicitTLSClientServerBase.dcu"
Come faccio a saèere che versione ho di indy ?


Era una demo per Indy 10, io ho la versione 9.
Ora ho trovato la demo giusta e me la studio :-)

Ok risolto senza problemi grazie alla demo trovata ... il componente
antifreeze è fondamentale  ?
Newsgroup: it.comp.lang.delphi
Titolo: FINESTRE tipo MIRC

Salve a tutti, devo realizzare un sistema di finestre simile a quello
che usa mirc, con una barra che contenga le icone relative alle
singole finestre, finestre che siano mobili all'interno del programma
e creabili dinamicamente. Che procedura devo usare? Esistono
componenti ad hoc? Ho provato con i Tform a creare oggetti dinamici ma
non riesco a dare il "fuoco" alle finestre medesime nonastente sia
possibile spostarle/chiuderle ecc.
Inoltre il testo all'interno deve essere multicolore, per cui vorrei
usare degli oggetti meno pesanti di richedit e + flessibili e potenti
di tmemo.
Cosa mi suggerite?
ciao, grazie

 Cosa mi suggerite?
Per questo non saprei, prova su torry

 Cosa mi suggerite?
se conosci c++ c'è un sorgente su 
www.codeguru.com
 che ti darà un minimoo di
aiuto.Devi modificarlo in molte parti ma potrai integrarlo in una dll oppure
ocx (come ho fatto io)
ops dimenticavo per trovarlo (non sarà facile) sul motore di ricerca
inserisci "irc view".Purtroppo codeguru ha modificato il suo motore ed è un
vero casino.
Non ho più i sorgenti in questione altirmenti te li avrei mandati .
ciao


Trovato componente free molto valido: Fatmemo.
grazie ancora, ciao

Newsgroup: it.comp.lang.delphi
Titolo: DbGrid

Ciao a tutti, volevo chiedere un paio di cose a proposito di un DataBase.
come faccio a eliminare la riga selezionata in un DBgrid?
come faccio a fare in modo che selezionando una voce in un combobox, mi si
evidenzi la voce nella DBgrid corrispondente a quella del Dbgrid?
Es
Voce1
            Voce2 relativa a Voce1 --- Voce3 relativa a Voce1 --- Voce5
relativa a Voce1
altra cosa, relativa alla domanda come faccio dopo a inserire la voce nel
combobox e le altre relative nel FbGRid, richiamandole come l'esempio. Spero
di essere stato chiaro.
un altra cosa, mi servirebbe saper se in una certa directory, esistono file
con un certo tipo di estensione, per poi avviare una cosa, ho provato cosě
ma niente da fare;
ES:
var a : Integer;
begin
for a := 0 to FileListBox1.Items.Count -1 do
begin
if FilelistBox1.Items[a] = '*.XA' then
ShowMessage('EstensioneTrovata');
non mi interessa il nome, ma solo l'estensione. come faccio?
                                                        Grazie e Ciao

ma niente da fare;
Ti conviene utilizzare FindFirst/FindNext/FindClose.
procedure GetFileList(Filter: String; L: TStringList);
var
  F: TSearchRec;
  XCmp: String;
begin
  XCmp := UpperCase(ExtractFileExt(Filter));
  if (FindFirst(Filter, faAnyFile, F) = 0) then
  begin
    repeat
      if (UpperCase(ExtractFileExt(F.Name)) = XCmp) then
        L.Add(F.Name)
    until FindNext(F) <> 0;
  end;
  FindClose(F);
end;
procedure TForm1.Button2Click(Sender: TObject);
var
  FNameList: TStringList;
begin
  FNameList := TStringList.Create;
  try
    GetFileList('\*.exe', FNameList);
    ShowMessage(FNameList.Text);
  finally
    FNameList.Free;
  end;
end;

Grazie mi puň spiegare come cancellare la riga selezionata che non ho mica
capito? Usando Delete, richiede alcuni parametri, che non so configurare.
                                        Ciao e Grazie
Newsgroup: it.comp.lang.delphi
Titolo: STORED PROCEDURE

SALVE,
sto sviluppando una mia applicazione con firebird 1.5
Ho creato delle stored procedure, che vorrei che il contenuto mi venga
visualizzato un una dbgrid.
Io ho usato il TSQLClientDataset, agganciando la mia stored procedure.
Ho Passato i parametri creati con params.paramsbyname.
e poi ho fatto la open.
Ma mi da questo messaggio di errore:
DATASET1: CURSOR NOT RETURNED FROM QUERY.
cosa fare ?

 cosa fare ?
Prova a riportare uno stralcio di codice significativo della stored 
procedure...magari, controlla di non aver dimenticato una chiamata a 
SUSPEND per restituire le righe di dati da visualizzare nella DBGrid.
Ciao! :-)
-- 
Marco «Alka» Breveglieri
  ABLS Team S.n.c. - Software & Web
  Via De Gasperi, 14
  42019 Scandiano (Reggio Emilia)
 
http://www.abls.it

SALVE,
sto sviluppando una mia applicazione con firebird 1.5
Ho creato delle stored procedure, che vorrei che il contenuto mi venga
visualizzato un una dbgrid.
Io ho usato il TSQLClientDataset, agganciando la mia stored procedure.
Ho Passato i parametri creati con params.paramsbyname.
e poi ho fatto la open.


>cosa fare ?
Se la tua SP è corretta, devi usare una SELECT * FROM SP(:PARAMETRO)
Per i dettagli:
http://www.ibphoenix.com/main.nfs?a=ibphoenix&s=1094732830:248944&page=ibp_using_sps
Luigi D. Sandon - D&amp;D Support Team
--- posted by geoForum on 
http://www.delphiedintorni.it

 cosa fare ?
Un'occhiatina all'istruzione suspend io la darei: infatti se crei una
stored procedure fatta così:
CREATE PROCEDURE PROVA(
	PARAMETROINT INTEGER
)
RETURNS(
	CAMPOINT INTEGER,
	CAMPOCHAR CHAR(10)
)
AS
BEGIN
	FOR SELECT CAMPOINTERO, CAMPOCARATTERE
	    FROM TABELLA
	    WHERE CAMPOINT = :PARAMETROINT
	    INTO CAMPOINT, CAMPOCHAR
	DO
		SUSPEND;
END
essa funziona come vuoi tu, cioè è interrogabile tramite query:
	select *
	from PROVA(1)
Saluti
	Marco Bortolani
	info @ 
marcobortolani.it
P.S.
Non sono sicuro al 200% che la sintassi sia corretta, ma a grandi linee
l'esempio il senso lo dà!
P.P.S.
Ma non avevi postato la stessa domanda qualche giorno fa?

Newsgroup: it.comp.lang.delphi
Titolo: Errore Strano

Salve a tutti,
la mia applicazione  in fase di stampa mi da il seguente errore :
103 Failed to retrive error message print Engine.
Cosa vuol dire ?
Uso tabelle paradox con crystal report 8.5.
-- 
Daniele Napoli
nap...@drsoft.it
 

 
-- 
Alberto Salvati
A NEAPOLITAN Delphi Developer who is studying c# and .net
"Dicette 'o pappece 'nfaccia 'a noce dammi 'o tiempo che pure te spertoso"
Newsgroup: it.comp.lang.delphi
Titolo: Indy e mail multipart

Salve, mi trovo con un problema da cui non so uscire. Dovrei salvare delle
e-mail multipart (in cui l'allegato è suddiviso in più parti) che mi
arrivano al controllo Indy SMTP server e di cui faccio relay rimandando la
mail ad un altro SMTP server ma come una unica mail (devono andare ad un fax
server che non gestisce le multipart).
Non c'è nessun TIdAttachment da salvare. Qualcuno sa come poter unire queste
mail (e a cosa accedere nel TIdMessage)?
grazie

grazie
	Ciao
	MassimoB
 
---------------------------
http://www.massimobeschi.it/

 per il porting alla 10).
Oltre al bug fixing, principalmente sono state introdotte nuove classi 
intermedie e rinominate altre classi esistenti per meglio ridistribuire 
la "valanga" di metodi presenti nella versione precedente della libreria.
Credo che questo refactoring rientri nella normale evoluzione e 
manutenzione del prodotto, cioè non è direttamente collegata alla 
disponibilità della libreria anche in ambiente .NET, anche se di fatto 
giova anche a questa causa.
Trovo che la nuova implementazione sia molto più efficiente e stabile, 
nonchè meglio strutturata, anche se concordo sul fatto che la migrazione 
da 9 a 10 non sia proprio immediata, poichè vi sono alcuni ritocchi da 
apportare al proprio codice per poterlo compilare e far funzionare 
adeguatamente.
Ho comunque eseguito il porting proprio ieri di un'applicazione che fa 
uso intensivo dei componenti TIdPOP3, TIdSMTP, TIdPOP3Server, 
TIdSMTPServer e TIdMessage; una volta compresi i punti in cui sono stati 
apportati i cambiamenti, in un paio d'ore ho revisionato e testato tutto 
il codice. Insomma, non è un'operazione così gravosa. :-)
Nella Guida in linea di Delphi (2005) è integrato l'help dei componenti 
Indy (in corso d'opera, tuttavia) che include un argomento dedicato alla 
migrazione.
Ciao! :-)
-- 
Marco «Alka» Breveglieri
  (marco [@] abls [.] it)
  ABLS Team S.n.c. - Software & Web
  42019 Scandiano (Reggio Emilia)
 
http://www.abls.it

 
http://www.massimobeschi.it/
ciao

Newsgroup: it.comp.lang.delphi
Titolo: stringgrid e dimensione font del canvas

Salve. Uso una stringgrid per mostrare dei grafici tramite il metodo 
OnDrawCell, il problema č:
Dovendo utilizzare varie dimensioni di caratteri uso il classico 
griglia.Canvas.Font.Size=X, ma se provo ad impostare dei caratteri piů 
piccoli di 8, questi mi vengono sempre stampati con questa dimensione. Es.
griglia.Canvas.Font.Size:=8;
griglia.Canvas.TextOut(x,y,'pippo');
mi stampa regolare, poi...
griglia.Canvas.Font.Size:=5;
griglia.Canvas.TextOut(x1,y1,'pluto');
me lo stampa comunque con carattere grande (8?)
che ci sia una dimensione minima nella canvas.Font.Size ?
Grazie a tutti. Gennaro 

 che ci sia una dimensione minima nella canvas.Font.Size ?
No, non mi risulta. Potrebbe dipendere dal font.
Cosa hai come 
canvas.font.name
 ? Se hai un font truetype non
dovresti avere problemi di questo tipo...
ciao
Giacomo

 ha 
scritto nel messaggio 
news:4a527079-c7a5-4954...@w31g2000yqb.googlegroups.com...


 ha scritto nel messaggio 
news:4c0cd9df$0$12125$4faf...@reader4.news.tin.it...

Newsgroup: it.comp.lang.delphi
Titolo: Caret/Cursor Hiding on a RichEdit

Per di sabilitare il cursore in una richedit readonly ho utilizzato le
seguenti istruzioni nell'evento onCreate della form che lo contiene:
RichEdit1.ReadOnly:=true;
 HideCaret( RichEdit1.handle );
Perchč tutto ciň non funziona?
Grazie

Grazie
	Ciao
	MassimoB
 

RichEdit1.Cursor := crNone;
forse ho compreso male il post ...
intendevi togliere il cursore legato ai movimenti del mouse
o il caret di posizionamento caratteri nel richedit?
	Ciao
	MassimoB
 

 o il caret di posizionamento caratteri nel richedit?
No, io intendevo solamente eliminare il lampeggiamento del cursore quando
apro un file rtf nel richedit, dato che per me il richedit viene usato
solamente per visualizzare info e non per modificare.
Grazie

Newsgroup: it.comp.lang.delphi
Titolo: Chiedo un parere sugli array dinamici

Salve, premetto che sono nuovo dell'NG
avrei bisogno nell'applicazione che stò sviluppando di utilizzare un array
dinamico a due dimensioni di
Extended, sul libro Delphi 7 non ho trovato niente e neppure sul sito di
marco cantù nelle dispense on line.
c'è qualche modo per fare quello che mi serve? o bisogna ricorrere a
soluzioni alternative? quali?
Non mi piace la soluzione di fissare le dimensioni dell'array con delle
costanti e poi "ridefinire" il valore di queste strada facendo.
ringrazio chi avrà la benevolenza di darmi un suggerimento
marcononcantu

 marcononcantu
Giorgio

 ha scritto nel messaggio
news:75BGc.1598$tP4....@news4.tin.it...

Hai provato a cercare sui soliti Torry, DSP, About..se c'e' qualcosa pronto
all'uso?
Ciao Giorgio

Newsgroup: it.comp.lang.delphi
Titolo: Form adattabili alle diverse risoluzioni video 1024x768 e 800x600

Come fate nei vostri programmi a fare from che si adattano alle diverse
risoluzioni
scrivete procedure personalizzate oppure esiste qualche modo standard
utilizzato da Delphi?
Mauro Cecili
Pluservice S.R.L.

 utilizzato da Delphi?
Utilizza la proprieta' anchor dei componenti.
-- 
I'am what I'am, I do what I can

> Utilizza la proprieta' anchor dei componenti.
... e guardati la property Align dei controlli.
Saluti
    Marco Bortolani
 
infoN...@marcobortolani.it

 ... e guardati la property Align dei controlli.
...e:
* metti la proprietà AutoScroll della Form a False
* usa caratteri TrueType come Verdana
* guarda il metodo ScaleBy e la proprietà Scaled
* guarda la proprietà PixelPerInch
-- 
Mauro Falzari 
   [ 
http://digilander.libero.it/mauro.falzari
 ]
 
 "Se guardi nell'abisso, anche l'abisso guarda in te." 
   (Friedrich Nietzsche)
Newsgroup: it.comp.lang.delphi
Titolo: Tabella casistica

Salve a tutti, avrei bisogno di una cosa assolutamente non dfficile ma un
pochino impegnativa...
supponendo di avere TOP caratteri possibili a gruppi di NUMBER voglio
immettere in una stringlist tutte le possibilitą.
Esempio: se Top č 3 e Number č 4 voglio una tabella in cui ci siano
1111
1112
1113
1121
1122
1123
1131
1132
1133
...
3333
Qualcuno potrebbe psotare un po' di codice per esaudire il mio desiderio per
TOP e NUMBER variabili a piacere?
Grazie, Gio

Cerca in rete materiale riguardante le permutazioni semplici.
ciao
-- 
Morde. 
morde[at]programmer[.]net
Newsgroup: it.comp.lang.delphi
Titolo: caricare una form mentre si sta avviando il programma

salve a tutti
Vorrei caricare all'avvio di un mio programma la form con l'immagine e la
versione del programma stesso, che scompare quando il programma è caricato
in memoria o viene attivato dall'utente.
Un pò come quando si carica delphi dove compare il volto greco.
Come faccio ?
Grazie anticipatamente a tutti
Livio

 quando si carica delphi dove compare il volto greco. Come faccio ?
poi scriverti il codice nel .dpr
Application.CreateForm(TfrmPrincipale, frmPrincipale)
Application.CreateForm(TfrmSplash, frmSplash)
frmSplash.Show;
frmSplash.Refresh;
...
...
e poi potresti fare frmSplah.Close nell'onShow della form princiapale
Ciao,
Alan Solo

Metti nel codice di avvio del programma:
frmSplash := TfrmSplash.Create(Application)
Application.CreateForm.....
frmSplash.Free
--
*****
Nolle
no...@ciaoweb.it

Grazie
Immaginavo che fosse una cosa semplice , ma non cosi semplice(perň non ci
avevo pensato)

avevo pensato)
In delphi si applica sempre il rasoio di Occam!
AS
"Se č Microsoft non funziona"
Newsgroup: it.comp.lang.delphi
Titolo: Alt+Tab

Salve a tutto il ng
Fermi, non attaccatemi.
Mi sono spulciato i vecchi post con google e non ho trovato aiuto valido.
Il problema è il solito: quando la mia applicazione è attiva, devo
intercettare ed "eliminare" ogni chiamata ad Alt+TAB che possa spostare il
cotnrollo dalla mia ad un'altra applicazione.
Ho visto numerosi suggerimenti, alcuni dei quali non capisco.
Es.
SystemParametersInfo(SPI_SCREENSAVERRUNNING, ...) o
SystemParametersInfo(SPI_SETFASTTASKSWITCH, ...)
Ora, dubito che esistano due codici per ottenere lo stesso risultato ... in
ogni caso viene specificato nell'help (per il 2°) che valeva solo per
vecchie versioni del Win95 ... Non funziona.
Un'altro amico ha proposto di fare un hook sulla combinazione Alt+Tab ...
peccato che non sia intercettabile questa combinazione.
Un'altro amico ha proposto di attaccarsi all'evento APplication.OnDeactivate
riportando inserendo un BringToFront ... funziona ma l'utente si domanderà
perchè può scegliere un nuovo processo se poi non funziona.
Io ho provato ad intercettare WM_SYSCOMMAND ma nulla da fare.
Qualcuno può suggerirmi qualcosa di valido per fare in modo che Alt+Tab non
sortisca nessun effetto tranne, forse, un MessageBeep(0)?
Grazie anticipatamente a chi può aiutarmi.
Andrea

"phora" ha scritto nel messaggio
| Il problema è il solito: quando la mia applicazione è attiva, devo
| intercettare ed "eliminare" ogni chiamata ad Alt+TAB che possa spostare
| il cotnrollo dalla mia ad un'altra applicazione.
|
| Ho visto numerosi suggerimenti, alcuni dei quali non capisco.
| SystemParametersInfo(SPI_SCREENSAVERRUNNING, ...) o
| SystemParametersInfo(SPI_SETFASTTASKSWITCH, ...)
|
| Ora, dubito che esistano due codici per ottenere lo stesso risultato ...
| in ogni caso viene specificato nell'help (per il 2°) che valeva solo per
| vecchie versioni del Win95 ... Non funziona.
Io uso queste (su Win98 funzionano):
procedure DisattivaTastiDiSistema;
// Impedisce il funzionamento di ALT+TAB, CTRL+ALT+CANC, CTRL+ESC
var
  VecchioValore : LongInt;
begin
  SystemParametersInfo(
     SPI_SCREENSAVERRUNNING, Word(True),@VecchioValore, 0);
end;
procedure AttivaTastiDiSistema;
// Riattiva il funzionamento di ALT+TAB, CTRL+ALT+CANC, CTRL+ESC
var
  VecchioValore : LongInt;
begin
  SystemParametersInfo(
     SPI_SCREENSAVERRUNNING, Word(False),@VecchioValore, 0);
end;
Per Win2000 e NT devi creare un 'low-level keyboard hook', come ti
ha proposto il tuo amico.
Qui trovi un po' di codice (in C):
Articolo Microsoft Knowledge Base - 226359
http://support.microsoft.com/default.aspx?scid=KB;en-us;q226359
--
Ciao.
ACSH
[D4]
---------------------------
Chi fa da se'
fatica il doppio

Grazie ACSH
Andrea
"ACSH" <cat...@XXXinfinito.it> ha scritto nel messaggio
news:yWQ4a.275644$AA2.10...@news2.tin.it...

Newsgroup: it.comp.lang.delphi
Titolo: Ancora Query

Ciao,
Non ho ancora ben capito come gestire le Query, come faccio a fare una
query che
coinvolga piu' tabelle ?
Nella property SQL io inserisco il codice con i vari Join che 
coinvolgono piu' tabelle prese
da diversi DB, ma poi nel campo DataSource inserisco un valore che a 
sua volta si riferisce
ad una singola tabella e quindi eseguendo la query mi segnala errore 
perche' non trova i
campi che non fanno parte della tabella relativa al Datasource.
Ora, come faccio ad indicare come Datasource diverse tabelle, o meglio
ancora diversi DB ?
Al momento io ho questa catena :
DB -> TABLE -> Datasource - > Query -> DBGrid
Anzi, ho due DB, tre tabelle , due DataSource, ma ogni DataSource si 
riferisce ad una sola
tabella e quindi anche la Query...
Come faccio a passare a :
DataSource1, DataSource2, DataSourcen -> Query
E poi, suppondendo un caso molto piu' complesso, cioe' diversi DB e 
molte tabelle, e' possibile
gestire tutto a Runtime ? Senza cioe' definire tutto prima a mano ?
Francesco
IACT Member.
http://Frengo.dragonfire.net/

La catena giusta è
DB -> Query -> DataSource -> DBGrid
NB il componente DataBase di solito non è strettamente necessario. Secondo
è comunque preferibile usarlo.
Frengo ha scritto:


 Š comunque preferibile usarlo.
Non mi e' ancora ben chiara la catena di legami tra i vari componenti,
da quello che dici non
e' stretta mentre a me pareva il contrario...


Per visualizzare i dati la sequenza logica giusta è
DB -> Query -> DataSource -> DBGrid
Il campo datasource del componente TQuery serve per il binding automatico
dei parametri.
Se crei una query1 con una istruzione SQL come questa:
SELECT * FROM TABELLA WHERE Colonna1 = : XVALORE
farai una richiesta condizionata dal parametro XVALORE.
Ora questo parametro lo puoi gestire da codice assegnandogli un valore o, se
è in una seconda tabella/query [query2] lo puoi <TRASFERIRE> automaticamente
impostando la proprietà datasource della query1 con il datasource della
query2. In pratica la query1 farà una ricerca e imposterà autonomamente il
parametro [se lo trova in query2] senza che tu debba scrivere codice.
Questo ti permette di gestire relazioni Master/Detail via SQL in modo
automatico.
Marco Soravia.
Newsgroup: it.comp.lang.delphi
Titolo: delphi e c++ con i rad è comunque più difficile c++

considerando gli attuali strumenti borland con interfaccie rad;
è sempre più complicato creare applicazioni in c++ rispetto a delphi;
sempre per chi non conosce nè il pascal nè il c++;

 sempre per chi non conosce nè il pascal nè il c++;
Mah... oggi è la giornata delle elucubrazioni? :-)
-- 
MARCO BREVEGLIERI
  (
http://www.marco.breveglieri.name
)

perche?

volevo solo aggiungere che conosco di base il php ;

 sempre per chi non conosce nè il pascal nè il c++;
A parte che non sono d'accordo, visto che se uno non conosce né il 
pascal né il c++ non scriverà un bel niente con delphi o c++ builder, ma 
quindi?
-- 
Jax

> quindi?
essendo di sicuro c++ più complesso del pascal volevo capire se
nonmostante l'uso di rad (che semplifica il lavoro della costruzione
grafica dell'interfaccia) è comunque ancora notevole la distanza in temini
di semplicità di costruire applicazioni (semplici) tra i due.
non so quanto il php che è simile al C possa poi in effetti aiutare per
scegliere l'uno o  l'altro;

Conoscendo la VCL sono passato a C++ Builder praticamente senza studiare.
la cosa che ho trovato più ostica è
Edit->Text.ToInt () ; oppure
Edit->Text.ToFloat() ; oppure
Edit->Text.ToDouble () ; del C++
Non mi sembra ci sia molto altro
Ciao
Mario
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/


che non ti sia servito molto altro posso anche capirlo, ma che non ci 
sia altro è un'affermazione veramente molto azzardata.

Newsgroup: it.comp.lang.delphi
Titolo: nozioni elementari.. di cui sono carente!!

Precisando che sto usando Kylix 3 con Linux con KDE 3.2..
Perdonate l'ignoranza...
ho una piccola applicazione che visualizza un'iconcina nel system tray
mediante qualcosa come..
procedure TForm1.FormCreate(Sender: TObject);
var
  prop: TAtom;
  data: TAtom;
begin
  Width := 24;
  Height := 24;
  BorderStyle := fbsNone;
  BorderIcons := [];procedure TForm1.FormCreate(Sender: TObject);
  prop := XInternAtom(Application.Display,'_KDE_NET_WM_SYSTEM_TRAY_WINDOW_FOR', 1);
  XChangeProperty(Application.Display, QWidget_winId(self.Handle), prop, XA_WINDOW, 32, PropModeReplace, PByte(@data), 1);
end;
ora vorrei variare l'iconcina, cambiando il valore alla form1.bitmap, ma
ottengo come risultato la fusione delle due immagini, e per di più non
riesco ad assegnare la trasparenza ad un colore in modo tale che l'icona
appaia senza il riquadro bianco. Se visualizzo l'icona con l'anteprima del
konqueror non mi mostra alcun riquadro.. cercando di spiegarmi meglio...
ho una provetta creata con il kiconedit o gimp senza colore di sfondo, ma
invece mi appare un quadrato bianco (o nero) con dentro la provetta.
perdonate ancora la pochezza del mio quesito, spero possiate fugarmi
queste lacune con il minimo dispendio di tempo!

scusate mi ha scombussolato un pò il codice, lo riscrivo:
procedure TForm1.FormCreate(Sender: TObject);
var
  prop: TAtom;
  data: TAtom;
begin
  Width := 24;
  Height := 24;
  BorderStyle := fbsNone;
  BorderIcons := [];
  prop := XInternAtom(Application.Display, '_KDE_NET_WM_SYSTEM_TRAY_WINDOW_FOR', 1);

Newsgroup: it.comp.lang.delphi
Titolo: Icona a un TMenuItem

E' possibile assegnare a una voce di un TMenuItem l'icona di un file?...
ho fatto un sistema per allegare file a un record... e volevo metterci
l'icona del file... qualsiasi essa sia...
Che farmi un ImageList con tutte le icone esistenti non mi pare un amella
cosa...
grazie :)
Raptor

 ha scritto nel messaggio
news:JBW_6.109620$Uo3.2...@news6.giganews.com...

Puoi definire l'icona associata a un TMenuItem tramite la proprietà Bitmap;
tale proprietà è di tipo TBitmap e include un metodo LoadFromFile() che ti
consente di leggere l'immagine bitmap da un file .bmp esterno...
Forse però tu intendevi caricare l'icona associata al file eseguibile o al
file che apre il documento selezionato, così come viene visualizzata da
Gestione Risorse?
--
/\/\arco Breveglieri (
ma...@abls.it
)
· SINTESI S.r.l. (
www.sintesi.com
)
· ABLS Team (
www.abls.it
)

 ha scritto nel messaggio
news:Im__6.109841$Uo3.2...@news6.giganews.com...



Nulla è impossibile, ma sarà necessario accedere al Registro di
Configurazione di Windows, aprire la chiave di sistema HKEY_CLASSES_ROOT,
individuare il tipo di file in base all'estensione (dai un'occhiata con
RegEdit) e leggere dalla sottochiave DefaultIcon la libreria DLL,
l'eseguibile o il file icona che viene usata da Gestione Risorse. In Delphi,
puoi accedere agevolmente al Registro di Configurazione tramite la classe
TRegistry aggiungendo 'Registry' alla clausola 'uses' della tua unit. Prova
a consultare la Guida in linea per maggiori informazioni sull'uso dei
metodi.



Posso dire con relativa certezza che la situazione non è così "drammatica"
come la dipinge Marco.
Ci sono dei componenti che lo fanno di sicuro, quindi potresti almeno
prendere lo spunto da quel codice.
Cerca sui soliti siti. :=)
Andrea

 Raptor
Dai un'occhiata a ExtractIcon e ExtractIconEx nella documentazione delle 
API del Windows.
-- 
Roberto Lupi
http://www.lupi.ws/

 ha scritto nel messaggio
news:MPG.15a70a3d...@News.CIS.DFN.DE...


 di leggibile da un TImage (o altro componente che visualizzi .ICO,
.BMP...) ?
var IconObject : TIcon;
Begin
   IconObject := TIcon.Create;
   try
     IconObject.Handle := ExtractIcon (hInstance,
PCHAR(Application.ExeName),0);
     Canvas.Draw (0,0,IconObject);
   finally
     IconObject.Free;
   end;
End;
Ciao, Davide DG.
PS: Per evitare mem.leak: leggiti le info di TIcon.ReleaseHandle