mii-community/UsenetArchiveIT-conversations huggingface dataset:
Newsgroup: it.comp.lang.delphi
Titolo: Come si crea un file di HELP?

Premetto che sono nuovo del ng, e visto che non ho trovato niente a riguardo
volevo chiedere a chi di delphi ne sa a pacchi come si può creare un file di
Help. Grazie e buone feste a tutti!
Andrea
ICQ UIN 17383962

 Help. Grazie e buone feste a tutti!
Io non ne so a pacchi di Delphi pero' posso dirti che se usi dei programmi
(che si trovano facilmente sulla DSP) come "Windows Help Designer" o altri
simili è veramente facile...sono completamente visuali e fatti come un word
processor...alla fine compili et voila'!!
Altrimenti se non vuoi usare programmi di terzi ti devi fare un progettino
in RTF (il formato preciso non lo so), dopo di che lo compili con il
compilatore (che c'e' assieme a Windows) e il gioco e' fatto...
CIAO!

+AD4-Io non ne so a pacchi di Delphi pero' posso dirti che se usi dei programmi
+AD4-(che si trovano facilmente sulla DSP) come +ACI-Windows Help Designer+ACI- o altri
+AD4-simili +AOg- veramente facile...sono completamente visuali e fatti come un word
+AD4-processor...alla fine compili et voila'+ACEAIQ-
+AD4-Altrimenti se non vuoi usare programmi di terzi ti devi fare un progettino
+AD4-in RTF (il formato preciso non lo so), dopo di che lo compili con il
+AD4-compilatore (che c'e' assieme a Windows) e il gioco e' fatto...
+AD4-CIAO+ACE-
Sembra cosi' semplice eppure non sono mai riuscito a creare un help...
Allora dove posso reperire eventualmente un DSP?
Oppure io ho un file rtf fatto con word che rappresenta il mio help.
Mi fai un esempio pratico di come lo posso compilare con il compilatore che
e' assieme a windows?
Se puoi ti ringrazio veramente.

>Allora dove posso reperire eventualmente un DSP?
Dunque con DSP se non sbaglio fabio indicava la Delphi Super Page, ovvero la
più importante pagina web riguardante Delphi della quale non ricordo
l'indirizzo ma lo puoi trovare su 
http://gpi.eden.it/abc/delphi
 .
Per creare un file di Help, dovrebbero esserci dei tool apposta dentro
delphi, nella directory delphi4/help/tools, ma non so bene come si usano...
qualche piccolo esperimento dovrebbe permettere di capirci qualcosa...
Ciao a tutti !                {MSX}

Se puoi ti ringrazio veramente.
Non e' sufficiente un file rtf "nudo & crudo". Comunque utilizzando una
utility non ci vuole molto a costruire quello che manca...
ciao
Andrea
Newsgroup: it.comp.lang.delphi
Titolo: QUESTION I: Lampeggio di pannelli

Rivolto solo a coloro che hanno pazienza e voglia (ed educazione) di
rispondere ad una persona che chiede un piccolo consiglio:
ciao dovrei impostare un pannello che inizia a lampeggiare ( o se vi piace
cambiare colore) dopo che si è verificato un certo evento ( la pressione di
un tasto) e che smetta dopo il verificarsi di un altro (la pressione di un
altro tasto)... Io avevo pensato di usare un timer che si attiva alla
pressione del primo tasto e si disattiva alla pressione del secondo... ma so
che usare il componente timer non è molto corretto (la form in questione
visualizza i dati ed evidenzia su un pannello lampeggiante quelli diciamo
particolari... il lampeggio viene interrotto dalla pressione di un altro
pulsante)... Mi suggerite un metodo alternativo (magari più "elegante") o
può andare anche questo???
Grazie
GIONATA DEL GATTO
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

 può andare anche questo???
Apparentemente, non mi sembra il caso di complicarsi troppo la vita per 
far lampeggiare un pannello: credo che un *TTimer* possa essere più che 
adatto alle tue esigenze.
Non credo sia il caso di scomodare thread o altre strutture più 
complesse per un esigenza di questo tipo, anche perchè dovresti 
sincronizzarti comunque con il thread principale dell'applicazione 
attraverso il metodo /Synchronize/, perciò il gioco non vale la candela, 
secondo me.
La cosa più elegante che potresti fare è incapsulare pannello e timer in 
un controllo personalizzato che vai ad aggiungere ad un tuo package in 
modo da poter replicare le funzionalità del "pannello lampeggiante" in 
tutte le applicazioni dove ti serve utilizzarlo, senza dover riscrivere 
il codice, trascinandolo con un semplice "drag&drop" dalla Palette dei 
Componenti di Delphi.
Ciao! :-)
-- 
Marco «Alka» Breveglieri
  ABLS Team S.n.c. - Software & Web
  Via De Gasperi, 14
  42019 Scandiano (Reggio Emilia)
 
http://www.abls.it

 ha scritto nel messaggio
news:1Stfd.88424$b5.42...@news3.tin.it...


 lavoro.
Uhm, il consiglio puň essere buono ma solo a patto di prendere tutte le 
precauzioni necessarie ed evitare gli effetti collaterali del metodo 
/ProcessMessages/; ad esempio, oltre al messaggio WM_TIMER, potrebbero 
pure essere processati eventuali azioni di clic su pulsanti o menu 
mentre č ancora in corso l'esecuzione di un'altra procedura.
Se si gestiscono opportunamente i possibili effetti collaterali (ad 
esempio, disabilitando i suddetti pulsanti) allora l'uso della 
/ProcessMessages/ č ok. :-)
Ciao!


 /ProcessMessages/ è ok. :-)

Newsgroup: it.comp.lang.delphi
Titolo: Parametro NULL

Salve a tutti, ho questo problema:
nella memorizzazione di una query con dei parametri ho l'esigenza di
registrare un parametro con NULL
Tra le istruzioni ho letto che bisogna chiamare il metodo TParam.Clear
insieme al metodo TParam.Bound e ho fatto cosi;
if variabile_data <> '  /  /   ' then
  Params[1].AsDate := variabile_data
else
  begin
    Params[1].Clear;
    Params[1].Bound := true;
  end;
L'errore è che il parametro in posizione 1 è di un tipo sconosciuto.
Che cosa sbaglio ?
Grazie, Gianluca Giandomenico

   Params[1].AsDate := variabile_data
Tipi incompatibili.
variabile_data e' di tipo stringa.
Params[1].AsDate viene trattato come TDateTime.
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

Scusa, ma per un errore ho dimenticati di trascrivere la giusta istruzione:
 Params[1].AsDate :=  StrToDate(variabile_data)
che non mi da' problemi;
è l'altra, cioè in caso che variabile_data sia = a '  /  /    ', allora devo
assegnare null al Params[1].
Ciao...

 assegnare null al Params[1].
try
  if (StrToDate(variabile_data) = 0) then
    Params[1].Value := Null; 
except
  //... data non valida
end;


Vedi la prop. datatype di TParam.
Se definisci i parametri a deisgntime, devi assegnare il tipo
dall'object inspector.
Se invece crei i parametri a runtime:
ParamByName('xx')|Params[x].DATATYPE := ftDate;
Bye
AS
"Se è Microsoft non funziona"


giŕ, ho risolto cosě. Grazie

     Params[1].Value := Null; 
Grave errore:
  Params[1].CLEAR;
Bye
AS
"Se è Microsoft non funziona"


 Grave errore:
Ma che stai a di' ???
TParam
property Value: Variant;
Description
Use Value in generic code that manipulates the values 
of parameters without needing to know the field type 
the parameters represent.
Il valore Null e' compatibile con i Variant.


Newsgroup: it.comp.lang.delphi
Titolo: Ricerca di sottostringhe in un campo di una tabella

Come dice il subject del post:
cosa devo fare per selezionare da una tabella ad esempio tutti i
record che contengono la parola 'pippo'? 
Riesco solo a selezionare i record che iniziano con 'pippo' usando la
proprietą filter.
Un colossale grazie a chi potrą rispondermi.

Un colossale grazie a chi potrà rispondermi.
così su due piedi, (anzi seduto) non ti so dare una risposta esatta.
Voglio dire che una semplice soluzione potrebbe consistere in un filtro dove
su ogni record applichi una tua funzione che tramite la "StrPos"  controlla
che nella stringa sia contenuta la stringa che ricerchi tu.
Se la tua funzione restituisce True, allora setti la proprietà Accept del
filtro a True.
Magari qualcuno ti suggerirà una soluzione migliore.
Ora devo scappare.....ciaoo !!!!
Antonio Tarolla

Un colossale grazie a chi potrà rispondermi.
Se usi una query aggiungici una cosa del tipo
where
.
 and (nome_campo like "%pippo%")
Ciao,
  Cristian
Newsgroup: it.comp.lang.delphi
Titolo: Forse un pò OT ma.........

Salve a tutti, 
scusate la mia richiesta che potrebbe sembrare un pò OT, ma ho
sviluppato un prodotto per il controllo remoto di PC via internet e sto
cercando dei beta tester che mi aiutino a testare il prodotto e se la
cosa funziona potranno anche essere pagati per effettuare sviluppo su
nuove funzioni. Il programma è fatto interamente in delphi 5.
Chi fosse interessato mi contatti a 
g.via...@jtnet.it
Grazie per lo spazio
Gianluca
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

cercando dei beta tester [cut]
Prova a segnalarlo a 
http://betatester.tin.it
 
Io sono abbonato alla loro mailing-list con cui segnalano i programmi in
beta test alle persone disponibili a fare da "cavie".
Simone
_______________________________________________________
 All resistance is futile ! Prepare to be assimilated !

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

Ciao a tutti
sono nuovo del ng e alle prime armi con delphi5
non riesco a collegare un qrdbtext ad un query per un report, o meglio, lo
collego ma non accade nulla
Dov'č che sbaglio??
Grazie

 Grazie
Visto che 6 nuovo ti do un paio di indicazioni su come si postano i msg:
1) Nel subject scrivere un qualcosa che faccia capire grosso
modo il problema.
In questo modo non si è costretti ad aprire un messaggio per sapere
di che tipo di problema si tratta
2) Essere precisi nello spiegare il problema.
"Non accade nulla" non è molto chiaro.
Bye e benvenuto a bordo.
AS
-- 
Posted from  [212.17.220.41] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG


Ho messo il mio quickrep con un qrdbtext su nu form.Chiamo il form sul click
di un pulsante 'stampa'
Io devo stampare un dbgrid che č risultante di un query.
Procedo cosě:
ho collegato il qrdbtext.dataset al relativo componente query dell'altro
form
quello che non capisco č come gestire il datafield del qrdbtext: se dň il
nome di uno dei due campi del dbgrid non accade nulla, ossia la stampa č
bianca, nonostante ke il query abbia generato un dbgrid con campi 'pieni'.
Ho fatto una prova con un componente table e in questo caso č andato tutto
bene in quanto con questo componenete posso specificare databasename e
tablename, cosě il qrdbtext si collega alla perfezione
Ho provato anche a ridichiarare nel form del quickrep l'istruzione SQL del
query in questione ma non va.
Grazie per i consigli
Ciao Andrea

Innanzi tutto quando definisci il Qr devi definirgli il dataset dal quale
andrà a fare il fetch dei dati ( propiety dataset dell'oggetto TQuickRep )
Come seconda cosa il qrdbtext lo devi porre in una band di tipo Detail
sennò quello che ottieni è un bel foglio bianco quando vai a fare il
preview o la stampa.
Ciao, Dario.
--------------------------------
Inviato via 
http://usenet.iol.it
Newsgroup: it.comp.lang.delphi
Titolo: problema con dblookupcombobox

problema con dblookupcombobox
ciao a tutti,
ho due dblookupcombobox. in fase di insert la seconda dipende dal valore
della prima. Come faccio a disabilitare la seconda in funzione della prima ?
ciao

 ha scritto nel messaggio
news:Zz%Ea.104007$g92.2...@news2.tin.it...

Spiegati meglio....hai 2 query separate o la stessa query?
e che vuoi fare di preciso?
ciao
Newsgroup: it.comp.lang.delphi
Titolo: ProcessMessages

Salve a tutti!
Qualcuno sa spiegarmi perchè la seguente la seguente procedura mi usa la 
CPU al 100%?
procedure TForm1.Button1Click(Sender: TObject);
begin
   while true do
     Application.ProcessMessages;
end;
Premetto che è un bottone in un form vuoto.

 CPU al 100%? [...]
Hai avviato un ciclo infinito che indica ripetutamente a Delphi di 
verificare la presenza di messaggi in coda all'applicazione ed 
eventualmente di gestirli, senza introdurre alcuna pausa (che rilasci la 
CPU ad altri processi) con una chiamata a /Sleep/.
Non c'è da stupirsi se la CPU va al 100%, senza contare che non si 
comprende bene l'utilità di quel ciclo. ;-)
Ciao,
   Marco.
-- 
MARCO BREVEGLIERI
  (
http://www.marco.breveglieri.name
)

 CPU al 100%?
Perché se fai un ciclo infinito e ci scrivi dentro un'istruzione, stai
dicendo a un computer di fare qualcosa all'infinito. Siccome un computer,
per "fare qualcosa", deve usare la cpu, allora lui (intelligentemente) la
usa.
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

Intanto grazie per le dritte. Pensavo che ProcessMessages fosse 
"pesante" solo in relazione al numero di messaggi da processare, ma 
effettivamente già chiamare la procedura milioni di volte al secondo è 
un peso di per sé :)
L'indicazione mi serviva per la procedura sottostante; siccome la uso 
per alcune attese (in comunicazioni seriali) avrei preferito trasformare 
  "Delay" in modo da scendere sotto il millisecondo ma Sleep non me lo 
permette (mi arrangio comunque).
procedure Delay(milliseconds: Cardinal);
var
   iTemp : Cardinal;
begin
   iTemp := GetTickCount + milliseconds;
   while GetTickCount <  iTemp do
   begin
     Application.ProcessMessages;
     Sleep(1);
   end;
end;
Già che ci sono posto un timer ad alta risoluzione (non si sa mai che a 
qualcuno possa servire) scritto da John Mertus
Unit HRTimer;
interface
Uses Windows;
Type
    THRTimer = Class(TObject)
      Constructor Create;
      Function StartTimer : Boolean;
      Function ReadTimer : Double;
    private
      StartTime : Double;
      ClockRate : Double;
    public
      Exists    : Boolean;
    End;
implementation
Constructor THRTimer.Create;
{ This reads the windows HR time and stores it for later use}
Var
   //QW : TLargeInteger;
   QW : Int64;
BEGIN
    Inherited Create;
    Exists := QueryPerformanceFrequency(QW);
    ClockRate := QW;
    //ClockRate := QW.QuadPart;
END;
    Function THRTimer.StartTimer : Boolean;
{ This reads the windows HR time and stores it for later use.}
Var
    QW : Int64;
BEGIN
    Result := QueryPerformanceCounter(QW);
    StartTime := QW;//.QuadPart;
END;
{ReadTimer}
    Function THRTimer.ReadTimer : Double;
{ This reads the windows HR time and stores it for later use}
Var
    ET : Int64;
BEGIN
    QueryPerformanceCounter(ET);
    Result := 1000.0*(ET - StartTime)/ClockRate;
END;
end.
Marco Breveglieri ha scritto:

Newsgroup: it.comp.lang.delphi
Titolo: Rave Reports (piccolo problema)

Salve amici, visto che con quickreport non ci cavavo un ragno dal buco, sono
passato a  RaveReports (ver 5.x BXE) e sono sorti 2 piccoli problemi....
1) Ho messo un DataMemo nella DetailBand, ma la banda non si estende
verticalmente ed il contenuto del DataMemo và a coprire il successivo record
:(   Come posso ovviare?
2) Come posso disegnare delle griglie? Cioè....esiste la possibilità di
mettere delle righe verticali che si estendano al crescere della detailband?
(problema che avevo con quickreport...)
Non sò + che pesci prendere... :(
Grazie dei consigli.

 (problema che avevo con quickreport...)
Questo rimane un problema...


Salve amici, visto che con quickreport non ci cavavo un ragno dal buco, sono
passato a  RaveReports (ver 5.x BXE) e sono sorti 2 piccoli problemi....
1) Ho messo un DataMemo nella DetailBand, ma la banda non si estende
verticalmente ed il contenuto del DataMemo và a coprire il successivo record
:(   Come posso ovviare?
2) Come posso disegnare delle griglie? Cioè....esiste la possibilità di
mettere delle righe verticali che si estendano al crescere della detailband?
(problema che avevo con quickreport...)
Non sò + che pesci prendere... :(
Grazie dei consigli.

>Questo rimane un problema...
Guarda la proprietą Anchor dei componenti linea. Resize č il valore che
dovrebbe fare al caso tuo.
Luigi D. Sandon - D&amp;D Support Team
--- posted by geoForum on 
http://www.delphiedintorni.it

 ha scritto nel messaggio
news:ExU4d.18707$Ie2....@tornado.fastwebnet.it...

Grazieinfinite! Funziona!
Newsgroup: it.comp.lang.delphi
Titolo: blockwrite e dynamic array

Vi chiedo di aiutarmi a risolvere un problemino che per voi sara' banale ma
io non riesco a venirne a capo.
Nella seguente classica procedura per copiare da un file ad un altro
dichiarando un
array[1..16] of byte, tutto funziona a meraviglia:
procedure FileCopy(const FileFrom, FileTo: string);
var FromF, ToF: file;
NumRead, NumWritten: Integer;
Buffer: array[1..16] of Byte;
   begin AssignFile(FromF, FileFrom);
   Reset(FromF, 1);
   AssignFile(ToF, FileTo);
   Rewrite(ToF, 1);
      repeat  BlockRead(FromF, Buffer, SizeOf(Buffer), NumRead);
      BlockWrite(ToF, Buffer, NumRead, NumWritten);
      until (NumRead = 0) or (NumWritten <> NumRead);
   CloseFile(FromF);
   CloseFile(ToF);
end;
Se invece dichiaro il secondo array semplicemente come array of byte, quindi
dinamico, ne setto la lunghezza a 16, e quindi con un ciclo for copio il
contenuto del primo array nel secondo, anche qui tutto sembra procedere per
il meglio (nel debug, anche nel parametro di blockwrite, l'array dinamico
risulta
correttamente riempito) ma se poi vado a guardare il file che ne risulta,
esso non contiene i dati che blockrite avrebbe dovuto scrivere:
Procedure FileCopy(const FileFrom, FileTo: string);
var FromF : file;
ToF: File;
NumRead, NumWritten, i: Integer;
Buffer: array[1..16] of Byte;
Buffer2: array of Byte;
   begin AssignFile(FromF, FileFrom);
   Reset(FromF, 1);
   AssignFile(ToF, FileTo);
   Rewrite(ToF, 1);
   SetLength (buffer2,16);
      repeat  BlockRead(FromF, Buffer, SizeOf(Buffer), NumRead);
         for i:=0 to Numread-1 do
         buffer2[i]:=buffer[i+1];
      BlockWrite(ToF, Buffer2, NumRead, NumWritten);
      until (NumRead = 0) or (NumWritten <> NumRead);
CloseFile(FromF);
CloseFile(ToF);
end;
Dove me li perdo i miei bytes? Grazie a chi vorra' fornirmi una spiegazione
--
F&R

 esso non contiene i dati che blockrite avrebbe dovuto scrivere:
Premetto che non ho guardato le tue procedure nè ho tempo di farlo, ma ti
pongo questo spunto: lo sai che gli array dinamici partono sempre da 0,
vero?
Non è cioè che nel caso dinamico cicli sempre da 1 a 16, invece che da 0 a
15?
Saluti
        Marco Bortolani
        info @ 
marcobortolani.it

Basta che cambi la riga
BlockWrite(ToF, Buffer2, NumRead, NumWritten);
con
BlockWrite(ToF, Buffer2[0], NumRead, NumWritten);
Spiego.... gli array dinamici sono puntatori quindi se passi direttamente Buffer2 in realtą passi il valore del
puntatore non il contenuto, invece, passando Buffer2[0] passi il puntatore al primo elemento e, dato che gli altri sono
concatenati ti vengono scritti tutti.
Ciao,
David (
www.utilityweb.net
)
--
Ciao,
David (
www.utilityweb.net
)
Newsgroup: it.comp.lang.delphi
Titolo: TurboPower AsyncPro in Delphi 2010

Ciao a tutti,
apro un nuovo post per quanto riguarda l'installazione del componente
TurboPower AsyncPro in Delphi 2010. Qualcuno di voi è riuscito a
farlo? Ho
seguito le istruzioni fornite col componente ma ogni volta che cerco
di fare la compilazione mi da errore dicendo che non trova il file bpl
relativo (per forza..ti compilo apposta per fartelo creare!)..boh..sto
delphi 2010 mi sta dando qualche problema con i componenti di terze
parti..probabilmente essendo appena uscito non ci sono tutte le
risorse che mi aspettavo.
Se avete suggerimenti sono pronto ad ascoltarvi.
Grazie mille
Andrea


Ciao da esperimenti fatti da altri non da me in prima persona ma 
comunque affidabili posso dirti che questo problema pare essere lo 
stesso che si incontra su Windows 7 installando D2007. Oltre alle Async 
hai provato altri componenti ?

 hai provato altri componenti ?
Ciao e grazie dell'interessamento, altri componenti per ora non li ho
provati e preferirei non provarli visto che ho un progetto abbastanza
corposo con relativo protocollo non vorrei riscrivermi tutto, ci
perderei un un sacco se non due di tempo. Ho cercato su google per
avere qualche info in più sul problema e a quanto pare non sono
l'unico ad averlo riscontrato, purtroppo però per ora di soluzioni non
ne ho trovate.
Disponibile a seguire eventuali consigli e proprio come ultima
spiaggia orientarmi si altri componenti..anche se lo eviterei come la
peste.
Andrea

Il 26/04/2010 16.54, colde ha scritto:

Di solito basta inserire il path della bpl nell'enviromet path di delphi 
Tools->options->Enviroment variable->path
e il path dei sorgenti in library-win32.
Se cosi' non fosse ... mi spiace :(
^_Goblin_^
-- 
Ibis et redibis non morieris in bello
http://goblinland.myminicity.com/

 e il path dei sorgenti in library-win32.
Niente da fare, il problema durante la compilazione si ripresenta.
Temo sia qualche bug del componente perchè OnGuard sempre della
TurboPower si è installato al primo colpo senza alcun errore.
Spero che tirino fuori a breve una versione corretta, nel frattempo
attendiamo.
Grazie mille
Andrea


Sbagli qualche candeggio :) .. oppure hai una libreria obsoleta, io ho 
preso  gli ASP da qui: 
http://www.songbeamer.com/delphi/
 scaricati ed 
installati in 30 Secondi


 installati in 30 Secondi
Excellent :)
-- 
Morde

 installati in 30 Secondi
Confermo, funzionano alla grande e l'installazione è veloce senza
alcun problema o errore.
Ottimo direi.
Grazie mille a tutti per l'aiuto!
Andrea
Newsgroup: it.comp.lang.delphi
Titolo: Numero di licenze...

Ciao a tutti,
fino a ieri quando dovevo limitare l'accesso da parte degli utenti ai dati
mi affidavo al database. In questo modo era il database a tornare il msg di
errore nel caso un numero eccessivo di utenti si fosse collegato al DB.
Ora mi trovo a dover scrivere delle applicazioni che nulla hanno a che fare
con i database oppure utilizzano DB tipo paradox che non può controllare
quanti utenti sono collegati.
Visto che per questo progetto devo utilizzare un DB paradox se qualcuno
conosce qualche API BDE (uso D5 -  BDE 5.11) che mi dice quanti utenti sono
collegati ho risolto il problema!
In caso questo non esistesse io ho pensato di costruire un piccolo EXE da
piazzare su una macchina (client o server è indifferente) che comunica via
TCP "una tantum" con le altre macchine collegate in rete e tiene aggiornato
elenco di utenti collegati. In questo modo sono indipendente dal DB.
Lo sviluppo sarebbe semplice. Ogni EXE client conosce l'IP / nome computer
che deve "pingare". Il programma "controller" riceve il "ping" fa un paio di
controlli di coerenza e aggiunge alla lista il nuovo computer "collegato".
Tralasciando tutti i problemi di sicurezza e stabilità (se eseguo l'EXE
"controller" su Win98 e la macchina va in crash blocco tutti. Se eseguo su
un server scrivendo un servizio il problema lo risolvo...se "cade" il
server...."cade" tutta la rete...) vi chiedo:
1. Sapete dirmi dove posso reperire componenti/routine per la gestione degli
accessi ?
2. In caso la risposta sopra è negativa secondo voi ho pensato una soluzione
valida e fattibile ?
grazie in anticipo...
Solid Snake IT

 ha scritto nel messaggio
news:9ihp1g$smq$1...@fe2.cs.interbusiness.it...
: Ciao a tutti,

:
:
puoi sempre creare una tabella dove incrementi un contatore per ogni
macchina connessa e controlli quel contatore per conoscere il numero delle
licenze in uso.
giuliano


Io faccio cosi':
- premesso che utilizzo una chiave HW che pero' non cambia nulla in
quanto controlla altre cose (scadenze, intestazioni etc).
- Ho un servizio sul server che traccia gli IP addess dei computer che
si collegano.
- I client  via RPC "parlano" con il servizio sul server.
- Il servizio sul server controlla se l'indirizzo è libero e quanti
collegamenti sono disponibili e da l'ok o il non ok.
- Il programma sul client ha un thread dedicato che ogni tot secondi
(una trentina) chiama il servizio e questi gli risponde.
- Il client, quindi, termina se il servizio si stoppa (da solo non
succede) o se il servizio non da l'ok.
Ciao,
Massimo.
-- 
"Ciao Rex, che cavolo di situazione eh? Due dentro, due fuori, puo' succedere di tutto!"
Newsgroup: it.comp.lang.delphi
Titolo: QuickRep1.print; - Non riesco a stampare!

Ciao a tutti!
Ho iniziato proprio oggi a usare il QuickReport, e con il comando 
"QuickRep1.print;", anche avendo del contenuto all'interno del riquadro del 
rapporto, non riesco a fargli stampare niente...!
Mi potreste aiutare...!?
Grazie mille anticipatamente a tutti!
Salutoni. 

 Mi potreste aiutare...!?
Dire "non riesco" è sempre un modo poco tecnico di definire l'errore, e 
si rischia di non comprendere bene il problema, quindi risalire alla sua 
causa e infine tentare una soluzione.
Quando dici "non riesco a fargli stampare niente", cosa intendi di 
preciso? Ottieni una pagina completamente vuota? Oppure ottieni una 
pagina corretta, con i dati che ti aspetti, ma non viene stampata? 
Oppure ancora ottieni un errore quando la pagina viene preparata per la 
stampa o addirittura stampata?
Indica con più precisione il problema, magari descrivendo i passi che 
hai compiuto nella creazione del report (ad esempio, le "bande" che hai 
inserito per ospitare i "Report Controls", le loro impostazioni e così 
via)... vedrai che una soluzione la si trova (troppo fiducioso?). ;-)
Ciao,
   Marco.
-- 
MARCO BREVEGLIERI
  (
http://www.marco.breveglieri.name
)

 inserito per ospitare i "Report Controls", le loro impostazioni e cosě 


 problema.
Secondo me, dovresti procedere in modo differente, creando il Report 
usando l'apposito wizard di Delphi.
Dalla finestra di dialogo "New Items..." [File|New|Other...] seleziona 
"Report" per creare un nuovo report da inserire all'interno del tuo 
progetto. La sua progettazione assomiglia molto a quella di un Form o di 
un Frame comuni, ma ciò che puoi inserire all'interno della superficie 
di progettazione sono esclusivamente i controlli adatti al reporting, 
che trovi nelle pagine della Palette dei Componenti dedicati a QuickReport.
Dal pulsante di cui parlavi nel tuo messaggio, crea un'istanza del 
report descritto sopra e invoca il metodo /Print/ o /Preview/.
Per fare una prova, potresti semplicemente inserire una banale etichetta 
nel report e valorizzarla con un qualsiasi testo.
Se il tutto funziona, puoi passare alla Guida in linea per approfondire 
le caratteristiche e i modi d'uso di tutti gli altri controlli QReport 
disponibili. :-)
Ciao,
   tuo omonimo. ;-)

Newsgroup: it.comp.lang.delphi
Titolo: migliorare ClientDataSet (dbExpress)

operando con SQLDataSet e ClientDataSet su db Interbase , dopo
un'operazione di aggornamento , i dati non sono sincronizzati.
L'aggiornamento avviene tramite query Update <tabella> su SqlDataSet
e i dati visulizzati tramite ClientDataSet
Se non rieseguo la query non vedo i dati aggiornati.
Dopo un'aggiormamento , in conseguenza della  riesecuzione della Query,
per tornare al record variato, si deve scorre SqlDataSet.
L'operazione dovrebbe avvenire localmente dato che il server ha gia' inviato
il risultato della Query , ma ugualmente non mi pare una gran soluzione.
(i Bookmark sono legai al Bde) , esiste qualcosa di simile ?

Io sto usando IB con IBTable e tutto fila come l'olio.
Certo che non ho la comodità del ClientDataSet pero è tutto sincronizzato.
Ciao
Mario - (
mari...@inwind.it
)
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

 Se non rieseguo la query non vedo i dati aggiornati.
Ho il forte dubbio che tu stia utilizzando male il tuo ClientDataSet.
Tu devi contare sul fatto che l'applicazione che utilizza il ClientDataSet
"conosca" solo lui per lavorare sui dati, non deve eseguire update in
parallelo, altrimenti è chiaro che perdi la sincronia.  Il ClientDataSet è
stato originariamente previsto per le applicazioni distribuite, si rifà ad
un DatasetProvider, il quale provvedere a comunicare con l'oggetto che
eseguirà fisicamente le operazioni.  *Tutte* le operazioni le devi
compiere lato client (con il ClientDataSet, appunto), sfruttando i solidi
metodi (Append/Edit + Post) del TDataSet, la classe madre, e poi usare
l'evento BeforeUpdateRecord del TDataSetProvider per eseguire fisicamente
le query di update.  In questo modo mantieni la sincronizzazione dei dati
lato client in modo molto semplice.
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 Certo che non ho la comodità del ClientDataSet pero è tutto sincronizzato.
Col CDS si può tenere tutto sincronizzato ugualmente, basta saperlo usare
:-)


 FIBPlus.
I componenti che mi indichi costano però 235 Euro.
Se non ricordo male c'era un sito (che purtroppo non riesco piu' a trovare)
... http;//yahoo.groups. ....
dove tu ed altri avevate scritto qualcosa a proposito del ClientDataSet ???


 I componenti che mi indichi costano però 235 Euro.
..quindi ?


Devo confessare che benchè non abbia dubbio alcuno sulla bontà della serie
di componenti. Tutti i miei guadagni (tranne brevissimi periodi) dal 1999 ad
oggi derivano solo dallo stipendio di insegnante. 1310 euro. E la cifra
seppur piccola non è attalmente alla mia portata.
Grazie comunque per il link. :-)

Newsgroup: it.comp.lang.delphi
Titolo: Individuare chi ha scatenato l'evento

creo delle label nel seguente modo
non so a priori quante siano, ma sono meno di 56.
var
  i: Integer;
  obj: TLabel;
begin
    for i := 1 to count do
    begin
        obj := TLabel.Create(Self);
        obj.Name := 'label'+inttostr(i);
        obj.Parent := Self;
        obj.Font.Size:= 12;
        obj.Font.Color := clblue;
        obj.Font.Style := [fsbold];
        obj.Caption := artisti[i];
        obj.Tag := i;
        obj.Transparent:=False;
        obj.Visible:=True;
        obj.OnMouseMove := form1.trovanome;
        case i of
             1..14: begin
                         obj.Top := (i * 20)-15;
                         obj.Left := 5;
                    end;
             15..28: begin
                         obj.Top := ((i-14) * 20)-15;
                         obj.Left := 160;
                     end;
             29..42: begin
                         obj.Top := ((i-28) * 20)-15;
                         obj.Left := 315;
                     end;
            43..56: begin
                         obj.Top := ((i-42) * 20)-15;
                         obj.Left := 470;
                     end;
        end;
    end;
end;
La funzione "form1.trovanome" vorrei che mi restituisse il nome della
label alla quale il mouse e' passato sopra e lo stampasse su una label
chiamata  "Labelx".
Grazie  in anticipo a chi mi rispondera'

 ha scritto nel messaggio
news:3aeec62e...@news.libero.it...

procedure TForm1.TrovaNome( Sender: TObject;etc... );
begin
  LabelX.Caption := ( Sender as TLabel ).Name;
end;
Ciao
Andrea

Newsgroup: it.comp.lang.delphi
Titolo: proprietà dei form

Ho il seguente problema:
ho un form principale, da cui lancio gli eventuali altri form di inserimento
record etc.... tutti questi altri form li chiudo semplicemente mettendo i
valori visible e enabled a falsi e rimettendo enabled a true il form
"padre", quello dal quale ho chiamato il form secondario. Ora: se ho altre
finestre aperte oltre al mio programmino, queste mi passano in primo piano,
mentre il programmino mi viene "disabilitato". Per capirci meglio, la barra
in alto, quella classica delle finestre window è di colore grigino.
C'è la possibilità di renderlo attivo subito, appena il controllo viene
ritornato al form principale da uno secondario?
Grazie a tutti
Saluti

ritornato al form principale da uno secondario?
non ho ben capito (teoricamente diventa attiva da sola)
cmq, dai un'occhiata a SetFocus di TForm
es:
frmPrincipale.SetFocus;
rende frmPrincipale la form attiva
Ciao,
Alan Solo

Grazie 1000, funziona
Saluti
Newsgroup: it.comp.lang.delphi
Titolo: Componente irremovibile

Cia a tutti, la situazione è questa:
Ho posizionato un componente DB sulla mia form ma adesso
non riesco più a rimuoverlo.
No, non sono diventato scema, probabilemente c'è qualcosa che non và più nel
mio D5
Come faccio a rimuoverlo manualmente?
Visto che se seleziono il componente e premo "Canc" mi si pianta sempre il
Delphi
Ho porvato a rimuovere a mano nella Unit il componente nel Type della Classe
dove è definito
ma quando provo a eseguire il programma mi da errore.
Como posso fare.
Grazie
Tomas

Como posso fare.
A tuo rischio e pericolo di perdere la form per sempre:
Chiudi Delphi, apri il file .pas della form e rimuovi tutti i
riferimenti al componente. Poi apri il corrispondente .dfm (devi
salvarlo in formato testo altrimenti vedrai un file binario
illeggibile), e cerca la parte relativa al componente, di solito del
tipo
  object btnApply: TButton
    Left = 392
    Top = 304
    Width = 73
    Height = 25
    Caption = '&Applica'
    TabOrder = 1
    OnClick = btnApplyClick
  end
Cancella tutta la parte che va da "object" a "end", _stando bene
attento_ a non rimuovere parti di altri componenti.
Infine salva e prova a riaprire la unit da Delphi.
Ciao
--
Piero Bonanno
bop...@libero.it
pie...@tiscalinet.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

tipo
per fare questo puoi fare anche comodamente
tasto destro - view as text :-)
ah, potenza di Delphi.... ;-)
Ciao,
Alan Solo

ah, potenza di Delphi.... ;-)
Considera anche che da D5 i dfm sono gia' in formato testo... :-)


 tipo
[cut]

ah, potenza di Delphi.... ;-)
..e potenza dell'opensource :-)


Newsgroup: it.comp.lang.delphi
Titolo: DB e Delphi, domanda

Una volta si diceva che era possibile con il delphi convertore in
eseguibile un database realizzato con DBase della stessa borland, si può
fare? servono delle procedure particolari?
Thx

 eseguibile un database realizzato con DBase della stessa borland
chi te l'ha detto? tuo cuGGino (quello che una volta e' morto)? :D
Ciao, Sandro

chi te l'ha detto? tuo cuGGino (quello che una volta e' morto)? :D
LLLLOOOOLLLLLL!!!!!!!!
:-)))
-- 
Morde. 
(
mo...@despammed.com
)
M-List di icld: 
http://it.groups.yahoo.com/group/icld/
Newsgroup: it.comp.lang.delphi
Titolo: Prevenire nuove istanze di un'applicazione

Come da subject, come posso fare a prevenire nuove istanze di
un'applicazione in Delphi?
In VB5 usavo App.PrevIstance.... e in Delphi esiste qualche cosa del
genere? O ci sono altri metodi?
Scusate la domanda (che forse è stata fatta tante volte) ma sui miei
testi non riesco a trovare la risposta.
Grazie
Robin


program Project1;
uses
  Windows,
  Forms,
  Dialogs,
  Unit1 in 'Unit1.pas' {Form1};
{$R *.RES}
var hMutex : THandle ;
begin
  hMutex := CreateMutex( nil, false, 'MIO_MUTEX' ) ;
  if ( hMutex = 0 ) and
    ( GetLastError = ERROR_ALREADY_EXISTS ) then
   ShowMessage( 'Istanza gia'' presente' ) ;
  else
  begin
   Application.Initialize;
   Application.CreateForm(TForm1, Form1);
   Application.Run;
  end ;
end.
Fatta da Andrea Laforgia
Massimo

Scusa, grazie lo stesso ma mi pare non funzioni almeno con Delphi 5:
Chissà mancherà qualche cosa?


Chissà mancherà qualche cosa?
program Project1 ;
uses
  Dialogs,
  Windows,
  Forms,
  Unit1 in 'Unit1.pas' {Form1};
{$R *.RES}
begin
  CreateMutex( nil, false, 'MIO_MUTEX' ) ;
  if ( GetLastError = ERROR_ALREADY_EXISTS ) then
    ShowMessage( 'Istanza gia'' presente' )
  else
  begin
    Application.Initialize ;
    Application.CreateForm(TForm1, Form1);
    Application.Run ;
  end ;
end.
--
Andrea Laforgia (ICQ 87230455)
"ci sono tre tipi di persone nel mondo : quelli che
 sono bravi in matematica e quelli che non lo sono."

Se vai su torry trovi un componente che fa quello che vuoi ed e' decisamente
facile da usare: basta metterlo nella form :)
www.torry.ru
Robin ha scritto nel messaggio ...


Newsgroup: it.comp.lang.delphi
Titolo: Controllo esistenza file

Domandina veloce delle 17.52:
Come faccio a controllare se un file esiste, dato il path completo?


Unit SysUtils, 
function FileExists(const FileName: string): Boolean;
Ciao
--
Buon      .-""",
 Natale    /____, \
          {_____}`{} 
Buone    (/ . . \)
 Feste   {`-=^=-`}
         {   `   }
          {     }jgs
Morde.     `-,-`

Gabriele Boccone wrote:
FileExists
Per i dettagli guarda nell'help di Delphi.
-- 
Ciao,
   Stefano

Newsgroup: it.comp.lang.delphi
Titolo: Query in Edit

Salve a tutti.
Ho un problemino.
Ho creato un query con tabelle paradox, creata in questo modo :
Select * from TOrdR
 Where (Articolo = :CODNEW) AND NumReg in (Select Numreg from TOrdT
  WHERE ((TORDT.DataReg >= :DataI) and (TORDT.DataReg<=:DataF)) and
  ((TORDT.NumReg >= :DaNum) and (TORDT.NumReg <= :ANum)))
TOrdR : tabella paradox (Dettaglio)
TOrdT : tablella paradox (Testata).
Il collegamento delle due tabelle si effettua tramite il campo NumReg.
Dopo aver tatto tale select io la devo rileggere e devo andare in edit su
tale query ma mi dice che non posso andare perchè read only.
Come posso fare ?
C'è modo di andare in edit su tale query ?
Aiuto.
-- 
Daniele Napoli
nap...@drsoft.it
-- 
Daniele Napoli
nap...@drsoft.it
 

 Come posso fare ?
Le query non sono "live" di default.  Usa un componente TUpdateSQL.
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it
Newsgroup: it.comp.lang.delphi
Titolo: Multi concorrenza su file testo!

Salve a tutti avrei il bisogno di sapere (consiglio) come posso gestire la
scrittura concorrenziale su un file testo.
praticamente ho 2 processi che cercano di scrivere sullo stesso file e
vorrei impedire brutte sorprese,perrdite di dati,errori di SO e cos
altro.Chiaramente dovrei impedere al secondo processo di scrivere ( la
lettura è possibile ) quando il primo è in fase di scrittura mentre quando i
due sono in fase di lettura non porre nessun vincolo.
            Grazie Damiano!

 ha scritto nel messaggio
news:arwla.27501$iy5.7...@twister2.libero.it...


Avere il file di testo aperto contemporaneamente in scrittura da due
processi concorrenti non e' possibile, se e' questo che ti interessa sapere.
Ciao, Sandro

 errore attendi fincè non è libero il file
 beh, non mi sembra un gran bel modo di programmare.
Potrei capire se non si riuscissero a trovare soluzioni alternative, ma mi
sembra che il problema della condivisione di un oggetto sia stato sottoposto
all' attenzione mondiale e che siano state studiati sia diversi
problemi-esempio (i filosofi a cena, il barbiere dormiente) che diverse
soluzioni. Nel contesto possono essere inserite le tecniche di IPC in cui i
processi si informano vicendevolmente su quanto stanno facendo. Se proprio
bisogna mettere un processo in attesa attiva preferirei aprire il file in
modalità esclusiva e far ritornare un eventuale errore alla CreateFile().
--
- Carlo -

Newsgroup: it.comp.lang.delphi
Titolo: Delphi 2010 personalizzare un percorso per il progetto

Salve,
   ho bisogno di migrare un software che utilizza una versione vecchia 
della libreria ZEOS per portarlo alla più nuova e performante versione 8.
 
Per farlo, ho:
1) duplicato il sorgente della mia applicazione;
2) creato le due directory delle ZEOS:
    - ZEOS7
    - ZEOS8
 
Se ho capito bene, adesso dovrei impostare nel progetto che deve puntare 
alle ZEOS8 la cartella ZEOS8 invece che ZEOS7 ma non ho capito come 
farlo perché se apro "Project-Options" e clicco sul pulsante "..." di 
"Search Path" vedo due listbox, una in alto e l'altra in basso. In 
quella in alto ci sono dei path in grigio che dovrebbero essere 
inesistenti in quella in basso vedo una lista ma non è modificabile 
anche perché giusto sopra c'è un CheckBox denominato "Inherit Values" 
dove c'è la spunta ed è disabilitato per cui non posso toglierla.
 
Come faccio?
 
Grazie.

Ho visto che se creo un progetto nuovo il listbox superiore è vuoto 
mentre quello inferiore è sempre con la spunta su "inherit Values" ed è 
in "sola lettura".
 
Grazie.

Togli la spunta "inherit Values", usa il pulsante "delete invalid paths" per togliere i path errati e aggiungi i path corretti.
Fai la stessa cosa sia nella configurazione "debug" che quella "release" (target) ma non toccare "all configurations".
Applica. SALVA. FORZA UNA RICOMPILAZIONE (shift+f9).
 
A.


Purtroppo, forse è un bug dell'ide di delphi 2010, il checkbox è 
disabilitato e non riesco a capire se si può e come abilitarlo :(
 
Grazie.
Newsgroup: it.comp.lang.delphi
Titolo: Memobox

Ciao raga,
  domandina credo semplice.
Ho un memo box. Salvo il
contenuto del memobox in un file. Prima di salvarlo però, aggiungo al
memobox 100 linee vuote. 
Cliccando su un bottone voglio poi ricaricare
quel file nel memobox visualizzando immediatamente le righe scritte, non le
100 vuote.
in pratica voglio subito spostarmi alla fine del file e
visualizzare la fine del file nel memobox....
Come faccio?
Grazie
Ciao
Ferry
--------------------------------
Inviato via 
http://usenet.iol.it

Come faccio?
MemoBox.Perform( EM_LINESCROLL, 0, MemoBox.Lines.Count );
... o qualcosa del genere :-))
-- 
So I dub thee Unforgiven.

Newsgroup: it.comp.lang.delphi
Titolo: Come adattare un'immagine bitmap di piccole dimensioni a tutto lo sfondo.

Premesso che non condivido questa cosa xche appesantiche troppo
le operazioni di creazione/visualizzazione/etc del form...
Il TImage penso non ti serva.
vedi la proprieta' brush del form.
E'un oggetto di classe TBrush che tra le sue proprietą
ne ha una che si chiama BitMap di classe TBitMap.
Saluti e buon lavoro
AS
-- 
Posted from 
ammi.mclink.it
 [195.110.128.1] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 le operazioni di creazione/visualizzazione/etc del form...
quando si lavorava con macchine con 16 Kb di RAM (o meno) si pensava alle
cose importanti, e la gente imparava gli algoritmi, e li ottimizzava :)
..altri tempi :)
Ciao, Sandro

..altri tempi :)
AHAHAH! E' vero! E' un po' triste questa cosa! :)
Chris

 wrote:

Hisoft DEVPAC (lacrimuccia)
Simone
____________________________________________________
"...dei suoi mille figli non ricorda un viso,
  ne ha avuto uno per coltello, ha fatto un figlio 
  per ogni nemico ucciso..."
____________________________________________________

Newsgroup: it.comp.lang.delphi
Titolo: TidMessage e allegati

Ciao!
Come si fa ad allegare un file ad un messaggio (TidMessage)? Ho guardato
l'help ma non mi è stato utile, in termini di esempi non si sprecano...
(Uso Delphi 2005)
Grazie
Daniele

Gia visto l'uso del costruttore di TIdAttachment?
-- 
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: Assegnazione a runtime di più procedure ad un evento

Ringrazio in anticipo chiunque mi vorrà aiutare.
Vi espongo il mio problema:
Ho dei diversi forms di configurazione (variano uno dall'altro in
piccoli particolari) che derivano tutti dal medesimo progenitore.
Solo in alcuni di questi forms ho associato all'evento OnClick di
alcuni RadioButton una procedura locale allo specifico form di
configurazione.
Esempio:
//
procedure TfrmFiglio.rbtOpzione1Click(Sender: TObject);
begin
  inherited;
  ProceduraLocale;
end;
//
Tutto è andato liscio come l'olio, fino a ieri, quando è diventato
necessario dover modificare il progenitore di tutti i forms di
configurazione.
La modifica consiste nel dover assegnare all'evento OnClick di tutti i
forms figli, una procedura comune per tutti i componenti di tipo
TRadioButtn e TCheckBox, a runtime.
Esempio:
//
procedure TfrmProgenitore.FormCreate(Sender: TObject);
var i:integer;
begin
  for i:=0 to ComponentCount-1 do
  begin
    if (Components[i] is TCheckBox) or (Components[i] is TRadioButton)
then
    begin
      TCheckBox(Components[i]).OnClick := ProceduraComune;
    end;
  end;
end;
//
Questo naturalmente (ma sul momento non c'ho pensato affatto :P) fa si
che il codice associato all'evento OnClick di un particolare
RadioButton di uno dei form di configurazione impostato in designtime,
venga perso, sostituito nel momento della create del form dalla
ProceduraComune.
Il problema è risolvibile in diversi modi, a me interessava in
particolar modo sapere se era possibile associare all'evento in
runtime qualcosa in più a quello già previsto nel designtime.
Non sostituire ma aggiungere, in modo che se un giorno dovessi
aggiungere un nuovo checkbox che sul click deve fare anche qualcosa di
particolare ad esempio, non debba andare a toccare codice già scirtto
e cose del genere.
Questa mi sembra la via più "pulita" diciamo, però non so come fare,
ho trovato altre soluzioni però un pò meno "soddisfacenti", diciamo
che io spero che qualcuno di voi mi sappia illuminare a riguardo, poi
se volete darmi anche suggerimenti su soluzioni alternative siete i
ben venuti :)

 ha scritto nel messaggio
news:5ab9816b.0406...@posting.google.com...

Fai la nuova procedura dell'onclick di quel pulsante con solo le cose nuove
da fare e alla fine o allinizio chiami ProceduraComune.
Assegnare due procedure and un evento non si può fare ne a runtime ne a
DesigntTime.
per eseguire piu procedure bisogna chiamarle uno dentro l'altro.
è quello che succede quando derivi un oggetto da da uno esistente:
tutti gli eventi sono del tipo
procedure TMiaClasse.onchangee;.
begin
if assigned (FChange) then Fonchange;
 inherited Onchange;
end
ovvero viene eseguita prima o dopo  la pricedura dell'utente e poi quella
della classe da cui l'hai eraditato.

Newsgroup: it.comp.lang.delphi
Titolo: Ruotare l'output di stampa

Dovrei fare in modo che la stampa di una
etichettatrice esca ruotata di 180°.
E' possibile farlo in qualche modo?
Ho provato con SetWorldTransform ma non
è supportato da Win95/98.
R.Moro

che handle dc hai passato alla SetWorldTransform?
Posta un po di codice.
Bye
A

Ho scritto "ho provato".. ma non l'ho provato visto che
SetWorldTransform non è supportato da Win95/98
come da SDK. Avrei dovuto scrivere .."ho trovato"!  (-:
Devo trovare un'altro sistema.
Moro.

 E' possibile farlo in qualche modo?
Potrebbe essere utile CreateFontIndirect. Esempi sia nella vcl sia su
icld.
Saluti
Paolo Arosio
-- 
"La dimostrazione dell'esistenza di specie intelligenti nell'universo
 e' che non ci vengono a trovare"

Newsgroup: it.comp.lang.delphi
Titolo: Delphi e web

 Avrei bisogno di sapare quali sono le soluzioni che delphi utilizza per 
applicazioni web. Avete informazioni a riguardo? qualcuno di voi ha già 
sviluppato qualcosa?
--- posted by geoForum on 
http://www.delphiedintorni.it

 sviluppato qualcosa?
Cerca su questo gruppo tramite *Google* (
http://groups.google.it
) usando 
le parole chiave /IntraWeb/, /
ASP.NET/
 e /WebSnap/...troverai 
probabilmente molti risultati che si rifanno a discussioni relative 
all'argomento di tuo interesse.
Purtroppo, data l'ora, non ho il tempo materiale di presentarti una 
ricerca già pronta. :-D
-- 
MARCO «Alka» BREVEGLIERI
   (
http://www.marco.breveglieri.name
)
Leggi le FAQ di ICLD: 
http://icld.altervista.org