mii-community/UsenetArchiveIT-conversations huggingface dataset:
Newsgroup: it.comp.lang.delphi
Titolo: si, grazie un po' maleducati...

Dal Delphi 4 ci sono tanti bottoncini per creare programmi server/client per
la grande rete... avrei bisogno di un programma con smtp impostabile per
mandare molti messaggi di posta senza usare i pesanti client come outlokko
(molto peso) e Eudora (molto bello, ma non adattissimo all'utilizzo di cui
ho bisogno!)
Per cui vi ringazio in anticipo, sempre che siate in grado di fornirmi il
source :-)

almeno i ragazzi del ng pascal sono piů gentili, perchč si divertono
veramente a programmare, non come voi veramente gente ot (ho un problema quě
e uno lě...) sono tre stupidate e poi IO NON SPAMMO, MA DEVO INOLTRARE MOLTI
MESSAGGI, A VOLTE UGUALI, A VOLTE COMPLETAMENTE DIVERSI.
saluti e abbracci

 e abbracci
beh non esageriamo ;)
ps: chi ti ha detto che non ci divertiamo?
cmq, in i.c.l.pascal ci sono prevalentemente studenti che smanettano,
qui si possono trovare piu' gente che con delphi si guadagna la pagnotta,
la cosa e' un po' diversa..

Mi astengo dal commentare per non scatenare altri flame....
AS
"Se è Microsoft non funziona"

 source :-)
Scusa, ma per curiosita' tu pensi che uno sotto richiesta di uno sconosciuto
in ng si metta cosi' a scrivere un intero client di email per poi dare via
gratis il source? :)
Magari provo anche io a scrivere alla Fiat chiedendo una bella Punto nuova,
chissa' che non me la mandino a casa gratis ;)
Ciao, Sandro

 MESSAGGI, A VOLTE UGUALI, A VOLTE COMPLETAMENTE DIVERSI.
Qua lavoriamo, non stiamo a programmare per divertirci.. quello lo possono
fare i ragazzini che non sanno che c@zzo fare durante la giornata..
Ciao, Sandro

> Mi astengo dal commentare per non scatenare altri flame....
Idem.
-=SIMO=-

 fare i ragazzini che non sanno che c@zzo fare durante la giornata..
it.comp.lang.delphi e non it.comp.lavoro.proprietaprivata.lang.delphi
Questo è un newsgroup dedicato al linguaggio Delphi ed è frequentato da
persone che sono accomunate da passione per tale linguaggio, ciò significa
che è frequentato da chiunque usa Delphi per dirvertirsi, per imparare o per
lavorare.
Ricordatevi che questo è un newsgroup aperto a tutti e appartiene a tutti e
a nessuno.
Se uno non vuole perdere tempo con delle domande banali o che non lo
interessano si limita a non postare niente e soprattutto a non postare nulla
che possa risultare offensivo per nessuno.
Bye
   Luca T.

 a nessuno.
appunto, quindi non vedo perche' lamentarsi se nessuno si prende la briga di
perdere 4/5 ore del proprio tempo per scrivere&regalare un sorgente. Io non
sono mai andato sui ng a chiedere che qualcuno mi scrivesse un programma in
base alle mie specifiche.
Ciao, Sandro

 offensivo per nessuno.
ok, pero' se non ti risponde nessuno non ti devi inc@zz@re
ripostando il messagio un'ora dopo usando un tono,
appunto, offensivo...
Newsgroup: it.comp.lang.delphi
Titolo: questa non l'ho capita...

ok, allora metto un bottone sulla form e scrivo nell'onclick questo codice:
var
 a: TGroupBox;
begin
 a.Color:= clred; // nota non ho scritto  a:= TGroupBox.Create(Form1);
end;
quando clicco sul bottone la form diventa rossa ?!? invece se uso  a:=
TGroupBox.Create(Form1);
tutto a posto. perchè ?
--
Consonni Davide
DavideC...@Virgilio.it
webmaster of
http://www.traduzioniellepi.com

tutto a posto. perchè ?
Bizzarra... ha a che fare con l'optimizer di Delphi. Se togli
l'optimizer va in access violation come ci si aspetta.
E' come se eliminasse a. chiamando solo Color che in questo caso si
riferisce a Form.
Max.
-- 
"Ciao Rex, che cavolo di situazione eh? Due dentro, due fuori, puo' succedere di tutto!"

Newsgroup: it.comp.lang.delphi
Titolo: database CAP in formato .mdb

ciao a tutti,
avete per caso un database dei C.A.P italiani in fomato Access??? Ho
scaricato quello presente sul sito delle Poste Italiane ma è in formato
testo. In alterativa come posso fare per estrarre i dati dal file di testo
ed inserirli in un db .mdb???
ciao!

Importandoli da Access ?
Ciao,
MM


"schumy83" <flys...@NOSPAM.it> ha scritto nel messaggio
news:2bcp9.28414$Fz.8...@news1.tin.it...

Se il file che hai è in formato testo, delimitato da segni come il punto e
virgola fra un campo e l'altro, allora Access lo può importare
tranquillamente.
Per informazioni su Access consulta il NG it.comp.appl.access
Ciao
Riccardo
Newsgroup: it.comp.lang.delphi
Titolo: Errore con D5 e W2000SP1

Ho fatto un programmino gestionale in rete utilizzando tabelle Pdox+BDE
5.11. Tutto funziona correttamente su PC con W98 e ME. Quando tento di
accedere con un PC su cui è installato W2000 all'apertura mi solleva
un'eccezione EDBEngine Error 'Cannot access directory'. A questo punto
l'unico modo per far funzionare il prg su W2000 è di farlo partire prima che
lo stesso prg venga eseguito sul computer dove fisicamente sono presenti le
tabelle! Cosa posso fare?
N.B. Ho seguito scrupolosamente le istruzioni per la configurazione in rete
di Paradox con BDE
Franco Filipucci

Il pc su cui hai le tabelle che SO ha?
Hai altri protocolli installi oltre al TCP/IP?
Bye
AS
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 Hai altri protocolli installi oltre al TCP/IP?
No
Franco Filipucci

 Win ME
Hai provato a spostare i dati sulla macchina con Win2000?




Hmm... l'unica cosa che mi viene in mente e' ripercorrere le
impostazioni che vanno fatte perche' Paradox e NT (W2000 e'
un NT) vadano d'accordo.
Innanzitutto, da BDE Administrator devi impostare il Local
Share a True.
In ogni evento AfterPost delle tabelle, ti conviene inserire
l'API BDE DbiSaveChanges, nel modo seguente:
DbiSaveChanges((Sender as TBDEDataSet).Handle); 
Bisogna accertarsi che le macchine con W95 non abbiano il
driver di rete scorretto (VREDIR.VXD), e nel caso, adoperare
la patch vrdrupd.exe (vedi gli articoli Q148367 e Q17437 di
MSDN).
Dopo l'installazione della patch, verifica che la voce di
registry:
HKey_Local_Machine\System\CurrentControlSet\Services\VxD\VREDIR\DiscardCacheOnOpen
sia uguale a 1 (uno).
In ogni caso, sotto W95/98, apri:
Pannello di controllo -> 
    Sistema -> 
      Prestazioni ->
         File System -> 
            Risoluzioni dei problemi 
e :
  1. disattiva la condivisione dei file e la modalita' di
bloccaggio
  2. disattiva la cache write-behind per tutte le unita'
 
  3. disattiva il buffer sincrono
Sulla macchina con W2000, nel registro devi impostare:
Nella voce:
HKLM\System\CurrentControlSet\Services\LanmanServer\Parameters
EnableOpLocks=0 
EnableOpLockForceClose=1 
CachedOpenLimit=0 
Nella voce:
HKLM\System\CurrentControlSet\Services\LanmanWorkStation\Parameters
UseOpportunisticLocking=0 
UtilizeNtCaching=0 
Prova...
-- 
Andrea Laforgia - walkietalkie(at)
libero.it
"Meglio cieco che negro" (Stevie Wonder)
Newsgroup: it.comp.lang.delphi
Titolo: Aumentare i valori di una variabile TDate

Ciao a tutti,
altro quesito. Come posso aumentare la data di una variabile TDate? ad
esempio portarla dal 18/06/2007 al 25/06/2007? ci sono dei metodi
diretti o devo trovare delle altre strade?
Grazie a tutti
Simpz

 o devo trovare delle altre strade?
Bah !
Ci mancherebbe altro che con uno strumento di lavoro come Delphi per fare 
una cosa cosě banale si dovessero anche "trovare altre strade" . :-D
Non č  che stai trolleggiando pure tu ? :-D
Ciao e buon lavoro
Marco C.


No no, dall'ultimo post che ho messo ho visto che state belli pieni :-


 altro quesito. Come posso aumentare la data di una variabile TDate?
IncDays()
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

Guarda qui ....
http://www.delphibasics.co.uk/ByFunction.asp?Main=DatesAndTimes
Metti il link tutto su una riga
--- posted by geoForum on 
http://www.delphiedintorni.it

Newsgroup: it.comp.lang.delphi
Titolo: Aiuto su Grid, selezionare riga fuori visuale

Ho una grid con qualche centinaio righe, vorrei sapere come selezionare 
una riga (o una cella) in via programmativa, ossia da codice, e 
naturalmente evidenziarla (diciamo con uno scrolling automatico se 
necessario).
Spero di essere stato sufficientemente chiaro.
Grazie anticipate,
ciao.

"morlok" <mor...@morlok.mor> ha scritto nel messaggio 
news:46e96e22$0$36444$4faf...@reader5.news.tin.it...

Dipende dal ti po di griglia, per esempio per una dbgrid
basta lavorare sul dataset e impostare le proprietą in modo
da visualizzare sempre la selezione.
-- 
______________________
Gaetano - cdm_roccotanica

Newsgroup: it.comp.lang.delphi
Titolo: [delphi 5 + indy] Componenti per delphi 5

Come da oggetto cerco i componenti Indy della nevrona per Delphi 5.
Ho provato sul sito della Nevrona (
nevrona.com
) ma ho trovato solo quelli
per delphi 6.
Grazie per le eventuali risposte
Michele

 ha scritto nel messaggio
news:a4b82j$1d5v1c$1...@ID-110545.news.dfncis.de...

Trovate
Winshoes 9.0.3
Grazie
Newsgroup: it.comp.lang.delphi
Titolo: contatore record, help!

Salve, sto studianod il delphi vers. 5.0 vers standard, sto realizzando un
archvio database in formato paradox 7.0, sono riuscito a creare l'archivio
ed a gestire la maschera per la compilazione dei record, ora vorrei che mi
spuntasse da una parte il contatore dei record o meglio un contatore del
record corrente (dove mi trovo attualmente) e dei record totali in un
determinato data base, so che c'e' la funzione ''recno'' ma non riesco ad
usarla, grazie, un neofita di delphi.
Giovanni

Hello Giovanni
On 13-Ago-00, you wrote:

Dunque per le tabelle in paradox puoi usare due funzioni: la RecNo e
RecordCount. La prima indica la posizione corrente e la seconda il numero di
record presenti nella tabella.
Si usano con Tabel1.RecNo e ti dice il num. del record corrente (puoi anche
mettere un numero per spostare la posizione) Table1.RecordCount restituise
il numero dei record della table. Se vuoi visualizzare il RecordCount su una
label devi fare cosi': Label1.Caption:=IntToStr(Tabel1.RecordCount);
-- 
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

 usarla, grazie, un neofita di delphi.
Per "far spuntare da qualche parte" le informazioni che chiedi potresti
usare una label che conterrą, ad esempio, la scritta "Record 1 di 10"....
per far comparire tale scritta puoi usare questa riga di codice
==================================================================
label1.Caption:='Record '+inttostr(Table1.RecNo)+' di
'+inttostr(Table1.RecordCount);
==================================================================
RecNo --> Numero del record corrente
RecordCount --> Numero totale dei record in una tabella
Naturalmente quella linea di codice va inserita in qualche evento....
Ad esempio potresti sfruttare l'evento OnClick del DBNavigator (se lo stai
usando)
Oppure gli eventi AfterScroll, AfterInsert, AfterDelete,
AfterEdit......della tabella che controlli
Magari ci sono soluzioni migliori....ma io conosco queste :-b
Spero di esserti stato d'aiuto...ciao! :-)
--
DeViL!
=====================================
Togliere ILDISTURBO per rispondere :-)
=====================================
--------------------------------------------------------
"in tutti i tipi di unione, ciascuno dovrebbe comportarsi
secondo la sua naturale inclinazione" (Vatsayana)
--------------------------------------------------------






Newsgroup: it.comp.lang.delphi
Titolo: Errore ADO

Salve a tutto il Ng!
	Utilizzo Delphi 6.0 con i componenti ADO (il db è Access2000). Ho scovato
un errore durante la modifica dei dati nel mio programma, e chiedo l'aiuto del ng
per correggere l'errore!
	Ho una tabella CLIENTI, con un ID autoinc, vari campi testo descrittivi, e
alcuni campi numerici (es. ID_GRUPPO) che fanno riferimento ad altre tabelle
(tuttavia non c'è una relazione tra le tabelle). Questi ultimi dati vengono
inseriti tramite normalissime DBComboLookup. Se modifico un record esistente non
ci sono problemi: anche se ID_GRUPPO era null o 0, posso aggiornare correttamente
il record. Se invece creo il record (con il metodo Insert), inserisco i dati
obbligatori, salvo (metodo Post), edito, modifico ID_GRUPPO e salvo, viene
generato il famigerato errore "Impossibile trovare la riga specificata per
l'aggiornamento". Gli unici eventi del ClientDataSet che ho utilizzato sono
AfterPost e AfterScroll, ma non influiscono sull'errore, che rimane.
	Cosa sbaglio?
	Grazie
Giovanni
-- 
=========================================================
http://www.zangrossi.137.it
Hattrick: Dinamo Ducks (50212), Italia, Lombardia, IV.32
Dinamo Ducks website: 
http://dinamoducks.altervista.org/
=========================================================

Sto imparando delphi e quindi mi potrei sbagliare, ma mi ti da errore 
perchè dopo che hai fatto il DataSet.Post anche se vedi la riga che hai 
appena creato, la riga medesima non asiste nel DataSet che hai attivo. 
Quindi dopo che hai fatto il Post fai un bel DataSet.Close e subito dopo 
DataSet.Open (ci dovrebbe essere anche un Refresh o qualcosa del genere 
ma io mi trovo meglio a chiudere e riaprire); in questo modo il DataSet è 
aggiornato e ci puoi fare quello che vuoi. La stessa cosa vale se vuoi 
cancellare un record appena dopo che lo hai creato, ti da errore perchè 
non esiste ancora la riga che hai appena creato finchè non aggiorni il 
DataSet.
Ovviamente se ho detto qualche fesseria illuminatemi.
Ciao. 
--
La mia mail è aperta a tutti.
Inviato da 
www.mynewsgate.net



	Grazie della risposta, ma se fosse così darebbe errore anche sui campi
testo, e non solo sui campi numerici. In realtà ho scoperto poco fa che se imposto
a 0 i campi dopo l'Insert, l'errore scompare...

Newsgroup: it.comp.lang.delphi
Titolo: Stampa etichette con codice a barre

Salve a tutti.
Ho una piccola necessità :
dovrei stampare delle etichette per una con una bollinatrice.
per etichette intendo la codifica completa dell'articolo,
EAN-Articolo-Prezzo- ecc..
Esiste un componente che prevede la stampa con un passaggio di parametri ? o
qulache altra cosa ?
Sempre grato saluti tutti
-- 
Daniele Napoli
s_mu...@tin.it

 Esiste un componente che prevede la stampa con un passaggio di parametri ? 
??
A

 
Esiste l'OCX Mabry Barcod Control (
www.mabry.com
) che stampa i codici a 
barre. Sviluppato per Visual Basic, dovrebbe funzionarti anche in Delphi. 
Gli altri valori (Prezzo, Descrizione Articolo ecc.) te li devi stampare 
tu agendo direttamente sulla stampante. E' però consigliabile utilizzare 
fogli con etichette adesive e una stampante normale, anziché 
etichettatrici. 
-- 
|-----------------------------------------------|
|Davide Guida          >>> 
davide...@email.it
|
|-----------------------------------------------|

 ha scritto nel messaggio
news:BtqPc.86140$5D1.4...@news4.tin.it...


Perchè non provi a cercare un font che ti permetta di stampare i codici 
a barre.
Trovato, ti scrivi normalmente una stringa con tutti i dati che ti 
servono e la stampi con il font che hai scaricato da internet.
Saluti

--- posted by geoForum on 
http://www.delphiedintorni.it

 ha scritto nel messaggio
news:BtqPc.86140$5D1.4...@news4.tin.it...

Penso che ti puoi valere di un componente Free che
puoi trovare a
http://mitglied.lycos.de/AJSchmidt/index.html
in realtà i componenti sono due, uno per visualizzare e
l'altro per stamparlo tramite quickreport.
Ciao
Newsgroup: it.comp.lang.delphi
Titolo: che database?

salve a tutti!
ho una domandina :
ho sviluppato un'applicazione gestionale con db Access ed ora questa
verrà commercializzata in molte copie. ho visto che con Access (odbc) 
ho avuto problemi, anche semplicemente per la mancanza del software 
installlato sul pc del cliente o differenza della versone di Access.
Voi che db mi consigliereste, date cmq le esigue dimensioni dello
stesso (per cui, per intenderci, niente db stile oracle) ?
Interbase ?
tabell Paradox  o DB5 ?
grazie 10000!
Matteo

installlato sul pc del cliente o differenza della versone di Access.
Non passare per ODBC, ma utilizza ADO.
Tutte le connessioni falle utilizzando Jet Engine 4.0, il quale si installa
dal cliente facilmente con l'MDAC 2.7.
Fine dei problemi.
Ciao
--
Morde. 
morde[at]programmer[.]net

Come già detto da Morde conviene usare ADO, molto +veloce e stabile, specie
per Access.
ODBC è una interfaccia generica verso basi di dati che conviene 'scomodare'
quando ci sono necessità particolari come ad esempio la sostituzione del
motore db 'desktop' (tipo Access) in tempi successivi con un database server
vero e proprio multiutente (MSDE, SQLServer, Oracle, Interbase, Firebird,
MySQL, etc.) eventualmente per creare applicativi multiutente operanti su
rete locale, per gestire grosse quantità di dati o ancora per separare la
logica di business dal layer di presentazione (in programmi n-tier)
sfruttando ad esempio trigger e stored procedures sul dbserver stesso, etc.
Diciamo che ODBC, pur non estremamente performante, garantisce una certa
scalabilità.
Tuttavia io userei, a meno di esigenze particolari, Access con la sua
interfaccia ADO.
Magari con l'accorgimento di muovere tutta la parte di connessione al db
(specifica per Access) in una classe/modulo all'interno del progetto, in
modo tale che, volendo cambiare il db passando ad un dbserver
successivamente, si possa intervenire in modo abbastanza indolore sul codice
sostituendo solo la parte di accesso ai dati.
Tutto questo IMHO.
zXc

modo tale che, volendo cambiare il db passando ad un dbserver
Infatti e' stato concepito il DataModule come contenitore per la parte dati.


grazie 1000 per il consiglio, volevo chiederti quindi, se devo fare un
programma che deve installarsi dal cliente con InstallShield, senza la
mia assistenza, riesco a farlo con MDAC & C?
Inoltre anche via ADO è necessario il BDE?
grazie ancora e ciao!
Matteo


grazie 10000 x le info!
tutto questo č possibile farlo in maniera automatica via
installsghield ? io non vorrei dover a che fare con l'installazione
del programma...
inoltre ho una domanda : ma via ADO, comunque mi serve anche il BDE.
Giusto ?
grazie e ciao!
Matteo


 wrote:

Newsgroup: it.comp.lang.delphi
Titolo: TIdFTP e adsl wireless di telecom

salve, ho un applicazione che esegue un upload di una serie di file su un
sito ftp.
Su buona parte delle installazioni non ho avuto problemi, ma un cliente che
utilizza adsl wireless di telecom risulta darmi un exception (provata con
tanto di log usando try-except) dopo il comando put()... praticamente il
connect lo esegue senza problemi ma quando si tratta di copiare si pianta...
come posso fare per capire qualè il problema??? perchè negli altri casi non
si è mai verificato??
Simone

 tanto di log usando try-except)
che eccezione ti da?
Lo fa su qualsiasi ftp?
Bye
A

 ha scritto nel messaggio
news:bdrfge$1vs2$1...@newsreader1.mclink.it...


per vedere l'eccezione basta non nasconderla.
Se fai cosi, non saprai MAI cosa succede.
Inoltre, a cosa ti serve trappare l'eccezione se non fai niente altro che
mostrare un messaggio?
Tanto vale non trapparla e vedere il *VERO* messaggio di errore:
 try
  put()
 except
  ON E:EXCEPTION DO
  SHOWMESSAGE(E.MESSAGE)
 end;
Sai su un db che bello una cosa del tipo:
try
  Query.ApplyUpdates;
except
  ShowMessage('errore')
end;
Il cliente ti chiama e ti dice "non riesco a salvare".
Tu cosa capisci?
Cosa gli dici?
Da cosa parti per un debug?
Bye
A

 ha scritto nel messaggio
news:bdrk7u$2406$1...@newsreader1.mclink.it...


 ha scritto nel messaggio
news:wEcMa.2939$Mw3....@news1.tin.it...


significa che se vai su msdn nella sezione socket trovi un elenco di tutti i
codici di errore di WinSock con un dettaglio dei motivi.
Bye
A


Socket Error # 10054:
"A existing connection was forcibly closed by the remote host. This normally
results if the peer program on the remote host is suddenly stopped, the host
is rebooted, or the remote host used a "hard close" (see setsockopt for more
information on the SO_LINGER option on the remote socket.) "
Per qualche motivo ti scollega! va a capire perche' pero'....
ciauz!
maz

 ha scritto nel messaggio
news:%RgMa.668$xK6....@news1.tin.it...


 ha scritto nel messaggio
news:bds7nv$10aph6$1...@ID-194014.news.dfncis.de...


quanto tempo passa tra il connect e il tentativo di copia?
A

 ha scritto nel messaggio
news:bds8jd$2jvm$1...@newsreader1.mclink.it...


 ha scritto nel messaggio
news:bds8jd$2jvm$1...@newsreader1.mclink.it...


quindi si connette, fai il changedir e poi si inkazza sul put?
Hai provato dal cliente a fate la stessa operazione da un diverso client
ftp?
In questo modo, se comunque non va, puoi escludere un problema alla tua app.
A

 ha scritto nel messaggio
news:bdu61f$8qk$1...@newsreader1.mclink.it...

Newsgroup: it.comp.lang.delphi
Titolo: orario di apertura e chiusura file

Io ho un problema che non so bene come risolvere e chiederei aiuto a questo
gruppo e di seguito spiego il mio problema
ho una dir di cui non so il numero di files che ci sono.
l'utente apre un file attraverso il programma appropriato es.. (Word
Excell  Paint  ecc... )e fa quello che deve fare, po lo richiude, quindi
l'ultimo utilizzo è il ... ore.....
quindi devo prima sapere l'ultima data e ora del file, conoscere la data e
l'ora dell'ultimo utilizzo e quindi calcolare quanto tempo è stato aperto.
potrei usare un Thread che mi controlla cotinuamente i file nella dir.. ma
impegnerei in modo eccessivo la cpu.
dovrei cercare un qualche cosa che monitorizza la cartella e mi crea un
file.log, poi di conseguenza analizzando il file.log, ricaverei quello che
voglio io.
avete una qualche idea?
Grazie in anticipo

voglio io.
Hai la giusta intuizione. 
Cerca su torry, oppure su suorceforge (mi sembra che fosse un componente
turbopower anche): avevo visto che ci sono diversi componenti che monitorano i
cambiamenti che avvengono su una directory. Dovresti cosi' poter controllare
ogni qualvolta il file subisce uan modifica.
ecco nel frattempo ho cercato con google, eccoti la query, non hai che
l'imbarazzo della scelta:
http://www.google.it/search?q=delphi+component+notify+directory+change
Ciao
-- 
Morde. 
(
mo...@despammed.com
)
M-List di icld: 
http://it.groups.yahoo.com/group/icld/

 l'ora dell'ultimo utilizzo e quindi calcolare quanto tempo è stato aperto.
Domanda: se due utenti aprono lo stesso file ? come viene calcolato questo
tempo ?
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 avete una qualche idea?
Dipende se ho ben capito, ma nei 'samples' della component palette (almeno 
nella mia di Delphi 6.0) c'è il componente ShellChangeNotifier, che poi alla 
fine si basa su api e callback. Magari ti può essere utile anche solo dare 
un'occhio al sorgente.
Ciao,
Gianluca.

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

Salve a tutti
avrei bisogno di aiuto..
io ho una directory chiamata "c:\pippo\pluto"..
come posso ottenere la directory "c:\pippo"..
cioe l'operazione DOS sarebbe "cd.."
come posso fare???
grazie a tutti
Dante.
-- 
Posted from 
pop09-acc.tin.it
 [212.216.176.72] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 cioe l'operazione DOS sarebbe "cd.."
 Label1.caption := GetCurrentDir;
 chdir ('..');
 Label2.caption := GetCurrentDir;
ciao
--
-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
Per rispondere in privato rimovere 1975 dall'indirizzo
-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
Newsgroup: it.comp.lang.delphi
Titolo: Sono Nuovo

salve ragazzi...e da poche ore che mi sono avvicinato a Delphi...e lo trovo
molto bello. Io già conosco il Pascal..quindi ho una conoscenza di base di
questo linguaggio...però con delphi le cose si complicano...entrano in gioco
altre istruzioni ed è tutto diverso...qualcuno sapremme darmi l'indirizzo di
qualche homepage che mi permetta di conoscere maggiormente le istruzioni...o
in generale tratti in maniera specifica il Dephi?!?! Grazie
Davide

 Davide
Ciao, Antò.


Grazie mille :)
Davide

Newsgroup: it.comp.lang.delphi
Titolo: Firedac - Gestione di un errore -

Ciao a tutti,
  per la connessione al db firebird utilizzo firedac ed il suo componente 
TFDConnection.
Ho un problema di "timeout" sul tentativo di connessione.
Puo' succedere che il server sia spento e, su un pc in rete, ho un programma 
che si connette al server.
Ovviamente se e' spento la connessione non si fare e viene visualizzata una 
finestra di errore tipo
 
[FireDac][Phisis][FB] Unable to complete the request ......
 
La classe dell'eccezione e' EFDDBEngineException e il tipo di errore e' 
ekServerGone.
 
Quindi, per evitare di visualizzare questo messaggio standard ho pensato di 
gestire l'errore con un
 
try
  FCon1.Connected:=True;
except
  On E :  EFDDBEngineException do
       If E.Kind=ekServerGone then
       Begin
           // Messaggio alternativo.
       End;
  End;
end;
 
Ma se rimango sul "messaggio alternativo" per piu' di 30 secondi, la 
schermata di firedac esce comunque.
Ho anche tentato con gestire questo tipo di errore con il 
FDConnection.OnError, stesso risultato ... in ogni caso la finestra di 
firedac esce sempre.
 
Qualche suggerimento ??
 
Delphi Seattle/Tokyo
 
Grazie
 
Ciao
 
Daniele
 
 

 end;
 
 
Metti un breakpoint sulla assegnazione di OtherExceptionType.
Cosi' vedi quale classe di eccezione è e gestisci anche questa oltre a EFDDBEngineException.
 
A.
 

Ciao Alberto,
   grazie per il suggerimento.
 
Ho inserito le linee nuove e messo una bella finestra che, se capita, da 
l'idea di che errore sia.
Gia' ... se capita ... perche' nell'universo digitale ... dopo che ho spento 
il pc e lasciato tutta la notte a riposare .... questa mattina riavvio e ... 
non da piu' quel problema.
Misteri !!
Da non credere !!!
 
Grazie e buon fine settimana
 
Ciao
 
Daniele
Newsgroup: it.comp.lang.delphi
Titolo: Array

Ciao a tutti,
ho un nuovo problema:
Come faccio ad utilizzare un array di stringhe?
Esempio:
...
var
    MyArray : array of string;
    ind: Integer
...
begin
...
Ind := 1;
MyArray[Ind] := 'Hello';
...
end;
Lo compila ma in esecuzione va in errore. My compare un messaggio del tipo
"Project ... raised execption class EAccessViolation whith message 'Access
Violation at address'..."
Qualcuno mi puň aiutare? Grazie.

MyArray[Ind] := 'Hello';
Devi prima inizializzare l'array, facendolo cioé puntare a della
memoria valida: 
SetLength(MyArray, 5); // alloco spazio per 5 stringhe.
-- 
Andrea Laforgia
"640kb of memory should be enough for anyone." -- Bill Gates.

 Violation at address'..."
Prova cosě:
SetLength(MyArray, 1);
Ind := 1;
MyArray[Ind] := 'Hello';
ciao
Massimo

Ma se non so esattamente di quanti campi ho bisogno è un problema
inizializzarlo ad un valore sicuramente maggiore del necessario? Oppure la
dimensione si può definire dinamicamente?
Dado
"Andrea Laforgia" <x@x.x> wrote in message
news:g5iu5vshnt4tvum11...@4ax.com...


inizializzarlo ad un valore sicuramente maggiore del necessario? 
No, no è un problema, però se le stringhe da memorizzare sono tante,
ti conviene usare una TStringList.


cerca:
dynamic arrays
nella guida di delphi
Bye
A.

Grazie ancora.
Dado
"Andrea Laforgia" <x@x.x> wrote in message
news:rbju5vcivg3h73og9...@4ax.com...


Newsgroup: it.comp.lang.delphi
Titolo: TreeView fuoco sul primo nodo dopo espansione

Si puo' portare il fuoco sul primo nodo ?
 
porto il fuoco sul TJvTreeView, ma la Caption non e' completamente 
evidenziata
 
primo nodo -> Servizio Affari Generali , dopo il SetFocus
viene evidenziata fino a Servizio Affari Gener
 
Delphi XE, controllo TJvTreeView (Jedi), perche' permette di associare
al TreeView un Menu.
 
 
procedure Tfrm_MenuAree.MenuGeneraleCustomDrawItem(Sender: TCustomTreeView;
   Node: TTreeNode; State: TCustomDrawState; var DefaultDraw: Boolean);
begin
   if MenuGenerale.Visible then
     begin
        //MenuGenerale.SetFocus;
 
       //Se il nodo ha figli - e' espandibile
       if Node.HasChildren then
         begin
           Sender.Canvas.Font.Color := clNavy;
           Sender.Canvas.Font.Style := [fsBold];
         end
       else
         Sender.Canvas.Font.Color := clNavy;
 
       if not Node.Expanded then Node.Expand(True);
     end;
end;

 >Si puo' portare il fuoco sul primo nodo ?
 >
Risolto:
 
1) spostata la gestione del Focus nella procedure di richiamo Menu
 
procedure Tfrm_MenuAree.VisualizzaMenu(var sArea: string);
begin
   MenuGenerale.Align := alLeft;
   MenuGenerale.Visible := True;
 
   //Settore Dirigenza
   if sArea = 'act_Segreteria' then MenuGenerale.Menu := Segreteria
   else if sArea = 'act_Generali' then MenuGenerale.Menu := AffariGenerali
   ........
   MenuGenerale.SetFocus;
end;
 
2) usato l'evento OnAdvancedCustomDrawItem
 
procedure Tfrm_MenuAree.MenuGeneraleAdvancedCustomDrawItem(
   Sender: TCustomTreeView; Node: TTreeNode; State: TCustomDrawState;
   Stage: TCustomDrawStage; var PaintImages, DefaultDraw: Boolean);
begin

Newsgroup: it.comp.lang.delphi
Titolo: CreateProcess e Memo...

Io vorei fare un IDE per ASM in delphi...
vorei rinderizare l'output del compilatore (da riga di comando) su un
componente tipo un Memo oppure una lista (intanto infondo sono tutti
classi con dentro TStrings)...
Il mio prof si era posto questo problema circa 6 mesi fa... all'epoca
non mi interessava e lui la risolse con le 2 api createprocess e
createpipe e un memo
ora io ci ho provato ma non mi funge :°(
sono andato a cerca di qualke componente e to trovato TProcess ma il
link era fallato (doh!)...
ora qualcuno sa aiutarmi? a me non interessa il metodo sia il
componente sia le api mi vanno bene
Il Razziatore,
The Only Good Windows is an uninstalled Windows
-----------------------------------------------
E-MAILs : IlRazziat...@NOSPAMnetscape.net
ICQ     : 67552596

 The Only Good Windows is an uninstalled Windows
se mandi l'uscita del compilatore verso un file e poi carichi questo nel 
memo.
ciao
-- 
---------------------------------------
Per rispondere in privato togliere 1975

> createpipe e un memo
(tra parentesi gli ho dato io il cosiglio delle createpipe)
Il Razziatore,
The Only Good Windows is an uninstalled Windows


Newsgroup: it.comp.lang.delphi
Titolo: Inserire dll

Come si fa ad inserire una dll esterna per poterne usare le funzioni?


Tempo fa avevo fatto un tutorial su come scrivere e usare le DLL...
diciamo che in pascal si possono usare funzioni della una DLL in 3
modi.... tramite indice, tramite nome, tramite nuovo nome...
Nuovo Nome:
 procedure ImportByNewName; external 'TESTLIB.DLL' name 'ANOTHERNAME';
Nome:
 procedure ImportByName;    external 'TESTLIB';
Indice:
 procedure ImportByOrdinal; external 'TESTLIB' index 5;
Naturalmente devi mettere tutti i parametri se e dove ci vogliono...
per vedere una definizione un po' complessa ti coniglio di guardati la
unit OpenGL
Il Razziatore,
The Only Good Windows in an uninstalled Windows
-----------------------------------------------
E-MAILs : IlRazziat...@NOSPAMnetscape.net
WEB     : 
http://www.razziatore.dns2go.com/
ICQ     : 67552596
Newsgroup: it.comp.lang.delphi
Titolo: Dll da usare con altri sistemi

Ho creato una DLL con una semplice funzione, come sotto riportato:
function GetCurrentUserName : pchar;
const
  cnMaxUserNameLen = 254;
var
  sUserName : string;
  dwUserNameLen : DWord;
begin
  dwUserNameLen := cnMaxUserNameLen-1;
  SetLength( sUserName, cnMaxUserNameLen );
  GetUserName( PChar( sUserName ), dwUserNameLen );
  SetLength( sUserName,   dwUserNameLen );
  Result := pchar(sUserName);
end;
La funzione gira perfettamente, la DLL è richiamata da qualsiasi
applicativo, ma se tento di usarla con Visual basic in Word, ottengo un
errore: impossibile trovare il punto d'ingresso GetCurrentUserName  nella
DLL <nome della DLL>
Cosa sto sbagliando ?
Grazie a tutti anticipatamente
Andrea

 ha scritto nel messaggio
news:WUbe6.43572$L94.4...@twister2.tin.it...

    Magari sto dicendo una castronata, ma nella dichiarazione della funzione
dovresti aggiungere "stdcall". Delphi utilizza il passaggio di parametri in
memoria in modo diverso rispetto a Windows, utilizzando questo parametro,
obblighi Delphi a utilizzare il modo di default di Windows stesso... Prova e
fammi sapere!
    Saluti!
--
_________________________________
Gian Luca Dalla Torre
E - Mail: 
gianluca....@casteo.net
_________________________________

Subito dopo end; aggiungi:
Exports
GetCurrentUserName;
Ho provato io con VB5 e funziona correttamente.
Ciao 
Robin


ho già provato sia con stdcall che con safecall ma nulla!
Comunque assolvo Delphi: la DLL doveva essere usata con M$ word..... ne ho
provata un'altra, presa dall'esempio della guida in linea di VBA e il
risultato è lo stesso errore.
Quindi deduco che la DLL può andare bene (da altre applicazioni delphi
funziona), forse è la mia installazione di word che zoppica
Ciao e grazie per l'interessamento

Newsgroup: it.comp.lang.delphi
Titolo: twebbrowser code

 Nostromo


Newsgroup: it.comp.lang.delphi
Titolo: Problema all'arresto del sistema.

Salve ho una finestra principale che in realta' e' sempre nascosta
(serve per la tray icon) tale finestra gestisce una serie di
finestrelle che sono gestite e configurate dall'utente.
Il problema e' che all'arresto del sistema succede qualcosa di strano,
io credo (ma non ne ho la certezza dato che non riesco a fare il debug
all'arresto :P) che windows chiuda prima le finestrelle e dopo la
mainform.
Quindi il programma si crede che l'utente abbia chiuso le finestrelle.
C'e' un modo per evitare questo inconveniente?
Grazie
.     _  _______  ¸,ø*°`°*ø,¸_¸,ø*°` Kirys `°*ø,¸_¸,ø*°`°*ø,¸
  /| // /__  __/  Web site: 
http://www.kt2k.com
 / |/ \   / /     FAQ non ufficiali sulla CashCard Vodafone
/__|\__\ /_/ 2000 
http://www.neoteroi.org/cashcard/

 C'e' un modo per evitare questo inconveniente?
Sì, cercare con google  :-))
A parte questo punto da ricordare e fare sempre prima di postare, guarda
qui:
http://snurl.com/2n2a
-- 
Lis
ICQ@Home #7317603sette     ICQ@Work #16285702tre
Mercatino: 
http://snurl.com/sito_lis

Sì, cercare con google  :-))
il problema non e' trappare lo shut (che gia faccio) e' evitare che
win mi chiuda le finestre prima che io riesca a salvare il loro
contenuto :(.
Le finestre ricevono il messaggio prima di quella principale :(


 Le finestre ricevono il messaggio prima di quella principale :(
_Credo_ che i messaggi WM_ENDSESSION, WM_QUERYENDSESSION vengano gestiti
dalla WndProc della applicazione, piuttosto che da quella delle finestre
figlie. In ogni caso, quando l'applicazione sta terminando, *di sicuro*
chiude le finestre figlie prima della principale. Dovrebbe però essere
sufficiente, in FormClose o FormCloseQuery, effettuare il salvataggio di
cio' che deve essere salvato.
Tieni conto che NT e 9x si comportano diversamente a fronte della
risposta data dalla applicazione a WM_QUERYENDSESSION.
Saluti
Paolo Arosio
-- 
"La dimostrazione dell'esistenza di specie intelligenti nell'universo
 e' che non ci vengono a trovare"

risposta data dalla applicazione a WM_QUERYENDSESSION.
ma entrabi si comportano random :P


Newsgroup: it.comp.lang.delphi
Titolo: Record Locked

Usando un tabella paradox, ho questo tipo di errore,
record locked by another user , il nome della tabelle.db ecc...ecc...
come fare?

problema risolto....
Newsgroup: it.comp.lang.delphi
Titolo: problemi co installShielld

Salve a tutti.
Sto creando un setup per una mia applicazione.
Questa applicazione è sviluppata con delphi 2005 con database Firebird.
L'installazione viene creata con installshield 4.
Fin qui nessun problema.
Il problema che si viene a presentare è il seguente :
In precedenza ho installato nello stesso pc un altra applicazione sempre 
creata con installshield 4 sviluppata con delphi 6 e BDE.
Quando lancio il setup della nuova applicazione lui trova un versione già 
esistenza e mi da errore.
Io ho la necessità di fare coesistere tutte e due le versioni del mio 
applicativo.
Cosa va a controllare l'installazione  per riconoscee una versione già 
installata ?
Cosa posso fare ?
Inoltre non esiste una versione di installshield in italiano ? o un software 
come installshield in italiano.
Grazie.
-- 
Daniele Napoli
nap...@drsoft.it
 
Inviato da X-Privat.Org - Registrazione gratuita 
http://www.x-privat.org/join.php

 esistenza e mi da errore.
Non dovrebbe essere necessario chiedere QUALE ERRRORE su un ng di
sviluppatori....
A.

Newsgroup: it.comp.lang.delphi
Titolo: [APPLET PANNELLO CONTROLLO] come installare un cpl

Come da oggetto sono a chiedervi qualche informazione su come distribuire ed
installare un'applet per il pannello di controllo di Windows(tm)
Grazie
Michele

 ha scritto nel messaggio
news:GMIj7.45647$%a4.16...@news.infostrada.it...

Newsgroup: it.comp.lang.delphi
Titolo: [D5] Intercettare Browser

Scusate ma sto facendo un programma che conta il numero delle pagine e
le pagine che un untente internet visita mediamente. Per far questo mi
servirebbero due aiuti:
1) come faccio a sapere quando un browser sta caricando un nuova
pagina (un pņ come fanno il getright e il gozilla)?
2) come faccio a sapere l'indirizzo della pagina che sta caricando?
Michele Memč

2) come faccio a sapere l'indirizzo della pagina che sta caricando?
Questo problema è stato posto diverse volte e ho sentito proporre soluzioni
sempre diverse!
Cantù mi disse che tra le Environment Variable del browser ci dovrebbe
essere anche l'URL, quindi accedendoci via CGI potresti estrarlo da la! Poi
ho sentito la soluzione di altre persone, che si basano
sull'interfacciamento COM...personalmente non conosco COM, ma "per sentito
dire" non è il massimo della semplicità! Forse la soluzione migliore è
quella + rudimentale, ovvero ottenere l'handle dell'oggetto (StatusBar o
Combobox) in cui compare l'URL e lanciargli un bel GetWindowText (o, meglio,
un WM_GETTEXT).
Ola!
--
- Carlo -

un WM_GETTEXT).
Mi faresti un esempio ?
--
Andrea Laforgia (
andrea_...@bigfoot.com
)
--------------------------------------------------------------
"Partire e' un po' morire e morire e' partire un po' troppo !"
--------------------------------------------------------------

Mi faresti un esempio ?
Si, ti faccio un esempio che va a leggere il testo dal Combobox....o meglio
dalla Edit.
Var mWnd, cWnd : THandle;
    WText : Array [0..255] of Char;
begin
 mWnd := FindWindow ( 'CabinetWClass' , nil );
 cWnd := FindWindowEx ( mWnd, 0, 'Worker', nil );
 cWnd := FindWindowEx ( cWnd, 0, 'ReBarWindow32', nil );
 cWnd := FindWindowEx ( cWnd, 0, 'ComboBoxEx32', nil );
 cWnd := FindWindowEx ( cWnd, 0, 'ComboBox', nil );
 cWnd := FindWindowEx ( cWnd, 0, 'Edit', nil );
 SendMessage(cWnd,WM_GETTEXT,256,Integer(@WText));
 ShowMessage(WText);
end;
Spero che vada bene per le diverse versioni di Explorer....ho paura che
cambi l'ordine e le relazioni child/parent nelle nuove versioni.
Io lo ho testato sul mio PC e funziona....ovviamente il tutto va corredato
con ulteriori controlli.
Adesso ho osservato Winsigth per le relazioni delle finestre, tuttal+ si può
fare sempre qualcosa con GetWindow o EnumChildWindows.
WM_GETTEXT è potentissimo, va a leggere dove GetWindowText fallisce (legge
anche le Edit mascherate)
Non ho fatto nulla di dinamico, cmq osservando il risultato di un
emplice  - SendMessage(cWnd,WM_GETTEXTLENGTH,0,0) -  avresti scoperto la
lunghezza della stringa e potevi crearti una struttura dinamica a cui
assegnare il valore....cmq ritengo che 256 caratteri per un URL siano + che
sufficienti.
Spero di aver soddisfatto le tue richieste! :)


cambi l'ordine e le relazioni child/parent nelle nuove versioni.
Osservando con WinSight, vedo che l'Edit dipende dalla Combobox che, a
sua volta, dipende dalla ComboboxEx32.


sua volta, dipende dalla ComboboxEx32.
Che versione di IE hai? Mi piacerebbe sapere se qualche versione particolare
cambia l'ordine delle finestre!


Che versione di IE hai? 
5.0

Newsgroup: it.comp.lang.delphi
Titolo: Domandona...

Ciao a tutti!!! Sono un novello di Delphi e vorrei proporvi alcuni
quesiti...
1)Devo fare un programma per risolvere una funzione (e fin qui...tutto
bene), che un modo per cui, inserendo in un campo una qualsiasi
funzione, questi la esegue. [in poche parole ora il programma risolve
solo la funzione scritta nel codice...ed io vorrei che fosse l'utente a
metterla.
2)Sto creando un programma per codificare i file *.att ricevuti dai form
del proprio sito internet [quelli con tutti quei codici strani]...avete
qualche consiglio da darmi??
Ringraziandovi anticipatamente...Asto

qualche consiglio da darmi??
*.att ? Non gli ho presenti in questo momento.
Comunque a te interessa solo criptarli o cosa ?
Se ti interessa criptarli, puoi basarti su algoritmi già pronti che trovi su
http://torry.rimini.com
 oppure puoi farlo anche tu se hai qualche concetto
crittografico. Poi tutto dipende dal grado di sicurezza che vuoi
raggiungere.
Per scrivere una procedura che si limita a rendere illeggibile un file di
testo (ad esempio) ci vuole un attimo !!
Ti saluto.....ciao !!
Antonio Tarolla
BSSoftware Tips Mailing - List Support

> qualche consiglio da darmi??
non lo so non li conosco..
ciao!!!!
-- 
ICQ: 11024183
"Lo sciocco non perdona e non dimentica.
L'ingenuo perdona e dimentica.
Il saggio perdona, ma non dimentica."
(Thomas Szasz) 

 qualche consiglio da darmi??
Non saprei... mai sentito quel formato. (prova a sbirciare se lo trovi su
www.wotsit.org
 )
ciao :-)
--
(¯`·.¸¸.·´¯`·.¸¸.-> Andrea <-.¸¸.·´¯`·.¸¸.·´¯)
AntiSpam: rimuovere il trattino basso dall'indirizzo per rispondere
AntiSpam: remove the underscore from the e-mail address to reply

| 2)Sto creando un programma per codificare i file *.att ricevuti dai form
| del proprio sito internet [quelli con tutti quei codici strani]...avete
| qualche consiglio da darmi??
In effetti non si tratta di un formato, solamente succede che, inviando le
mail con un form html, alcuni caratteri particolari (vocali accentate, ecc.)
vengano inviati secondo la codifica ASCII in formato esadecimale (ad esempio
"è" diventa "%E8"). Tempo fa ho scritto (a dire il vero malissimo, ma le mie
conoscenze sono limitate... cmq funge:) ) un programma che esegue questa
"conversione". Se ti può interessare posso inviartelo, così puoi farti
un'idea.
Ciao
--
--======================--
        Francesco Lombardi
 
http://www.itaprogaming.com
 
reda...@itaprogaming.com
--======================--

Newsgroup: it.comp.lang.delphi
Titolo: OLEDB Provider per Firebird

Salve a tutti
Sto cercando disperatamente un OLE DB provider per Interbase/Firebird per
uniformare le mie applicazioni che utilizzano ADO.
Quelli che ho trovato fanno schifo
Sapete consigliarmi qualcosa di buono a gratės ???  :))))))
Grazie in anticipo per la risposta

"Mario"  ha scritto nel messaggio

Io  ho fatto delle prove con i componenti dbExpress + ClientDataSet e devo
dire che funziona abbastanza bene.
Cmq prova a fare un giro sul sito di firebird per vedere se c'č qualcosa
www.ibphoenix.com
^_Goblin_^
Newsgroup: it.comp.lang.delphi
Titolo: Scrivere DLL in Delphi per VB e Access

In parole povere... devo scrivere una funzione da inserire in una DLL che ha
2 parametri: una stringa e un numero intero e mi deve ritornare una stringa.
Questa DLL la vorrei scrivere in Delphi ma verrà usata in progetti Visual
Basic e M$ Access...
Qualcuno ha un idea o un esempio (anche banale) da mostrarmi?
Grazie,
  Luca

>>>>>>>>>>>>>>>>> Notizia originaria <<<<<<<<<<<<<<<<<<
Il 04/01/2002, 0.09.28, "Luca T." <luc...@BADBADSPAMlibero.it> ha scritto 
sull‘argomento Scrivere DLL in Delphi per VB e Access:


Nella help in linea la creazione di dll è spiegata abbastanza bene.
Vedi anche safecall sempre nella guida in linea.
Bye
AS
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

"Luca T." <luc...@BADBADSPAMlibero.it> wrote in message
news:Iw5Z7.11355$SE3.4...@twister1.libero.it...

Tipicamente quando si scrive una DLL da usare in VB ci si comporta secondo i
paradigmi delle API, ovvero
1) La funzione usa le convenzioni di chiamata delle API (che per Delphi
significa definire la funzione come safecall)
2) La funzione restituisce UN SOLO valore INTERO a 32 bit; ogni altro valore
va restituito in un'area di memoria allocata dal chiamante
3) La funzione disalloca tutta la memoria che ha allocato, oppure la DLL
fornisce una funzione che disallochi la memoria allocata
Per fare quello che ti serve dovresti definire
function MyFunction(lngIn, cbSize: Integer; strIn, strOut: PChar): Integer;
safecall;
con corrispondente VB
Declare Function MyFunction(ByVal lngIn As Long, ByVal cbSize As Long, _
        ByVal strIn As String, ByVal strOut As String) As Long
Le due stringhe vanno definite ByVal in VB in modo che alla funzione
arrivino stringhe ANSI, ovvero PChar, e non puntatori a BSTR.
L'alternativa e'
Declare Function MyFunction(ByVal lngIn As Long, ByVal cbSize As Long, _
        ByRef strIn As Byte, ByRef strOut As Byte) As Long
Ma a quel punto devi convertire a mano la stringa in un array di byte e
passare ab(0), il che non e' conveniente se non hai esigenze particolari.
Da VB devi allocare la stringa DI USCITA (in modo che la funzione abbia
della memoria in cui scrivere) con
cbSize=200 ' O altro valore a tua scelta
strOut=Space$(cbSize)
In questo modo allochi cbSize byte che verranno poi disallocati
automaticamente da VB quando la stringa non servira' piu'.
Se vuoi proprio avere come valore di ritorno una stringa, si crea il
problema di dover restituire una BSTR dall'interno della funzione, il che
significa che quando allocherai la stringa nei primi 4 byte dovrai scrivere
la dimensione della memoria allocata in byte, meno i 4 byte della
dimensione, dopodiche' dovrai incrementare il puntatore di 4 in modo che
punti alla stringa e non alla sua dimensione...
Piuttosto incasinato e abbastanza inutile, anche perche' in Delphi non hai
l'oggetto Err e quindi per restituire un errore avresti dei problemi.
Con una funzione che ritorna un long, invece, il valore di ritorno
dev'essere il suo codice di errore: normalmente 0 significa "tutto bene",
nonzero e' una condizione di errore specifica.
Ciaotutti,
*
Newsgroup: it.comp.lang.delphi
Titolo: Versione free

Da dove è possibile scaricare una versione free di Delphi che non sia
naturalmente la Personal Editino della 6 o successiva. Mi interesserebbe la
5 o precedenti.

 a écrit dans le message news:
b2be4l$1auivp$7...@ID-134361.news.dfncis.de...



Non mi sembra che tu abbia un'idea precisa di cosa e' "free"... da questo
momento sei ufficialmente *ignorato*.

Newsgroup: it.comp.lang.delphi
Titolo: Come mai il Create non lo fa da se?

In Delphi 5 ( io uso questo non so se in altre versioni funziona in
modo diverso ) quando uno crea un componente dinamicamente
fa una cosa del genere
Comp1 := TComp.Create ( Self );
Comp1.parent := Self;
Coma mai non ci pensa il create a assegnare il parent?
io nei miei componenti lo faccio almeno mi risparmio una riga...
Il Razziatore,
The Only Good Windows is an uninstalled Windows
-----------------------------------------------
E-MAILs : IlRazziat...@NOSPAMnetscape.net
ICQ     : 67552596
-----------------------------------------------
Founder of MediaPlayer Project
http://mpp.iwebland.com

 Coma mai non ci pensa il create a assegnare il parent?
Hai ben presente la differenza tra l'owner di un componente e il parent di
un componente???
Dai una occhiata all'help (che su questo punto mi sembra chiaro) e
ragionandoci vedrai che ci sono soluzioni percui è meglio che si scriva da
codice come si deve comportare delphi piuttosto che faccia tutto lui e non
aver soluzioni per farlo lavorare diversamente.
Tieni conto nell'analisi che Delphi offre un framework generico di classi
che figlio dopo figlio vengono personalizzate in componenti che hanno un uso
specifico. Definire una regola così importante di default darebbe molti
problemi a chi deve sviluppare componenti particolari.
Lo stesso esempio che offre delphi da una idea del rischio di aver fatto
impostare dalla vcl tale proprietà in automatico:
Some controls (such as ActiveX controls) are contained in non-VCL windows
rather than in a parent control. For these controls, the value of Parent is
nil and the ParentWindow property specifies the non-VCL parent window
In quel caso come si sarebbe risolto se la VCL faceva tutto lei??
Ciao
Matteo


    Via De Gasperi, 14 - 42019
    Scandiano (Reggio Emilia)