mii-community/UsenetArchiveIT-conversations huggingface dataset:
Newsgroup: it.comp.lang.delphi
Titolo: Delay.

Esiste un'istruzione per rallentare l'esecuzione di una procedura....
tipo Delay del Pascal.
Grazie!

Sleep, è una API.

Altrimenti te la fai da te con la GetTickCount

 tipo Delay del Pascal.
Sleep(millisecondi)
msx, che ne dici di inserirla nelle FAQ?
__
Jax

 tipo Delay del Pascal.
non ricordo come funzionasse la Delay del TP. Tuttavia puoi crearti un tuo
Delay di X millisecondi con GetTickCount()
procedure Delay(msec: Integer);
var
   Tick:  dWord;
begin
   Tick := GetTickCount();
   while ( GetTickCount - Tick ) <= msec do
             Application.ProcessMessages;
end;
In questo modo continui a servire la tua coda dei messaggi e non blocchi il
thread. Se questo dettaglio non ti interessa allora diventa molto piů
semplice richiamare la Sleep().
--
- Carlo -
c.b...@libero.it

 Sleep, è una API.
Se non ricordo male, non è possibile ottenere un "delay" con lo sleep per
tempi inferiori 20 millisencondi in quanto lo scheduler di windows ha come
tempo minimo di esecuzione di un thread di 20 millisecondi.
Lo sleep non fa altro che dire allo scheduler di ignorare quel thread per x
millisecondi. X quindi non può essere inferiore al tempo minimo che lo
scheduler può dare ad un thread prima di passare al successivo.
Andando sempre a memoria... ;)
Ciao
Matteo

Allora ti devi fare la routinetta in ASM :)))

 Allora ti devi fare la routinetta in ASM :)))
Non è necessaria. La Sleep() non permette tempi inferiori ai 20 millisecondi
perchè è il tempo minimo di CPU che lo scheduler assegna ad un processo.
Richiamando Sleep() tu notifichi al sistema operativo che la tua
applicazione non necessita di tempo di CPU in quel momento. E' sufficiente
non addormentare il tuo processo per poter ottenere tempi inferiori ai 20
msec. Vedi la soluzione suggerita nel mio post precedente
Ciao


 tempo minimo di esecuzione di un thread di 20 millisecondi.
Il time-slice dipende dal sistema operativo e dal processore, ma
e' approssimativamente di 20 millisecondi.  L'applicazione, pero'
puo' comunicare al sistema che non vuol piu' utilizzare parte del
time-slice assegnatole e lo fa mediante Sleep(0).
In questo caso, forza il sistema a compiere un context-switch
prima del tempo, verso il successivo thread con la stessa priorita'.
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

Grazie per la precisazione, non lo sapevo, comunque se leggi sopra anche io
avevo proposto di usare la GetTickCount, essendo il sistema che utilizzo
sempre.
Ciao
Newsgroup: it.comp.lang.delphi
Titolo: QReport, numerazione pagine

Ciao a tutti!
Avrei bisogno di numerare le pagine di un QReport, con una numerazione
di questo tipo:
pagina X di Y
Come posso fare? Qualcuno ha un'idea?
Grazie mille!

carmelo ha scritto:

c'e' un esempio sul sito del produttore, ma e' una cosa brutta..
E' come se il report venisse prodotto 2 volte, allungando ovviamente i
tempi di esecuzione.
A.

Grazia Alberto, ma non ho trovato il demo di cui tu parli. Sul sito del
produttore ci sono alcune cose da scaricare, ma occorre una password...

Qualcuno ha un'idea su come risolvere questo problema?
Grazie mille in anticipo!

Scarica le faq da qui:
http://www.qusoft.com/Downloaddoc.html
A.

Newsgroup: it.comp.lang.delphi
Titolo: Sql CaseInsensitive

Secondo voi c'è un modo di realizzare una sql caseinsensitive alla quale non
importa come sia scritta una stringa se con minuscole o maiuscole?
Grazie Marco

Dipende dal database su cui operi.
Comunque puoi sempre fare il confronto tra UPPERCASE(
CAMPODELLATABELLA) e UPPERCASE( QUELLOCHESTAICERCANDO)
Ciao
Rocco Barbaresco:
Herrare Humanum Est,
Perseverare Ovest ....
(By Fichi D'India)

Newsgroup: it.comp.lang.delphi
Titolo: SEGNALAZIONE SITO

vi segnalo : 
www.vorreisapere.com
una redazione "umana" risponde a tutti gli interrogativi posti........e
sembrano essere efficienti!
ciao Sandro



Newsgroup: it.comp.lang.delphi
Titolo: Connessione ADO a db Interbase

C'è nessuno che ha mai provato a connettersi ad un database Interbase (es.
6.02) via ADO?
Ho cercato un OLEDb provider per Ib su Internet ma l'unico che ho trovato
non funziona :-(( (su 
www.ibprovider.com
).
Purtroppo ho sviluppato un'applicazione con ADO che devo connettere ad un
database Interbase, e usare la connessione via ODBC mi sembra un po' troppo
macchinoso:
    Delphi <-> ADO <-> ODBC <-> Interbase
Grazie in anticipo, e saluti a tutti.
        Marco Bortolani
 
infoN...@marcobortolani.it
P.S.
In merito a SMAU, io ci sarò o venerdì o lunedì: purtroppo che viene con me
ha espresso un'unica clausola: che non sia nè di sabato nè di domenica,
mentre ho letto nei post precedenti che il NG si organizzi proprio per
quelle date... sarà per la prossima volta.

 6.02) via ADO?
Gratuiti (sembra)
http://www.zstyle.dp.ua/files/ibfree5.zip
http://www.ibprovider.com/download/eng_IBProviderFree.exe
http://sourceforge.net/projects/iboledb/
A pagamento:
http://www.lcpi.lipetsk.ru/prog/eng/index.html
http://www.sibprovider.com/
Ciao
--
Marco Kregar
marco....@FirebirdSQL.it
www.FirebirdSQL.it
"over the bench the goat sings, under the bench the goat dies"
Newsgroup: it.comp.lang.delphi
Titolo: Consigli di sviluppo su nuovo applicativo

Ciao a tutti,
spero possiate darmi dei consigli a livello generale su come
strutturare il programma che dovrei realizzare: quello che vorrei fare
è creare un applicazione che contenga due o quattro tipologie di
programmi differenti; in pratica un unico software che gestisca queste
applicazioni a seconda delle esigenze dell'utente. Il problema
principale è la dimensione dell'applicazione poichè sto facendo uso di
parecchie immagini per creare i layout grafici e anche per le
funzionalità che dovranno comprendere; le applicazioni "figlie" non
devono interagire tra loro anche perchè ne viene utilizzata una alla
volta. Al loro interno verranno inoltre richiamate alcune DLL per
alleggerire gli applicativi e dovranno interagire con un unico DB. Che
soluzioni potrei utilizzare? Una Form principale che richiama al suo
interno la Form padre relativa alle singole applicazioni come una
sorta di MDIForm/MDIChild? Oppure gestire tutto a livello di frame
anche se poi dovrei includere frame all'interno di altri frame? Esiste
qualche altra strada percorribile e che sia migliore di queste due?
Mi date dei consigli? Non ho mai affrontato applicazioni di questo
tipo per cui non vorrei cominciare col piede sbagliato.
Grazie mille

 volta.
Beh, e allora perché non fare semplicemente applicazioni differenti?
Office in fondo fa proprio cosě 

 Office in fondo fa proprio così
Diciamo che l'idea principale sarebbe quella di accorparli in un'unica
applicazione in modo da lanciare un solo eseguibile e gestire tutto da
una sola finestra. In se non è una grande scusante ma la situazione
attuale è già alquanto disordinata e ci sono diverse applicazioni che
creano confusione. Diciamo che la tua soluzione da un punto di vista
tecnico e di aggiornamenti è sicuramente migliore rispetto a
modificare ogni volta l'intero progetto "globale" e distribuire di
nuovo il tutto con tanto di file sempre più pesanti.
La tengo sicuramente presente come soluzione, non è affatto stupida e
non ci avevo pensato.
Grassie :)

 ha scritto nel messaggio 
news:f17a2e7c-227f-4380...@41g2000hsh.googlegroups.com...


------------------
Dunque, intanto io metterei tutte le immagini in una cartella e le 
caricherei a runtime, nel caso non esistano si carica una immagine standard 
presente nell'exe, in questo modo la dimensione dell'exe risulta più snella;
poi farei la main form con la connection al db (così è unica)e i vari link 
alle applicazioni fittizie, che non sono altro che altre form che aprirai in 
ShowModal in modo che fino a quando non la chiudi non hai disponibile la 
main form, e poi in ogni form figlia fai quello che devi fare. Mi sembra 
troppo semplice, forse non ho capito io, ma visto che dici che NON devono 
interagire tra loro è sufficiente come ho scritto con ShowModal. 

 devono interagire tra loro è sufficiente come ho scritto con ShowModal.
forse è molto più semplice richiamare le diverse applicazioni attraverso un 
componente TOleContainer
Newsgroup: it.comp.lang.delphi
Titolo: Aiuto con SQLite

Sto sperimentando SQLite. Con SQLite Manager (Add on di Firefox), ho creato 
il mio database Schedule.sqlite e la prima tabella che ho chiamato 
Schedule.db, che ho anche popolato con dei dati.
Il problema č che non la vedo sul disco fisso, anche se ne vedo il contenuto 
nel browser del SQLite manager.  Ho provato con un semplice form Delphi a 
eseguire una select sulla tabella, ma FireDAC solleva un'eccezione 'no such 
table'.
C'č qualcosa che non ho capito del funzionamento, ovviamente. Cos'č? 
 
 
---
Questa e-mail č stata controllata per individuare virus con Avast antivirus.
http://www.avast.com
 
 

 C'è qualcosa che non ho capito del funzionamento, ovviamente. Cos'è?
 
Che un file SQLite e` un contenitore e la tabella e` un elemento contenuto 
nel file. Per fare un paragone becero, pensa ad un file Excel e ai fogli in 
esso contenuti (di default ne contiene tre ;) )
 
Enrico
P.S. non chiamare la tabella qualcosa.db, al piu` qualcosa_db

Che un file SQLite e` un contenitore e la tabella e` un elemento contenuto
nel file. Per fare un paragone becero, pensa ad un file Excel e ai fogli in
esso contenuti (di default ne contiene tre ;) )
Enrico
Visto che sei l'unico che mi ha risposto, forse sei l'unico che ne sa. 
Allora ti chiedo: come si rappresentano in SQLite i valori con tanti 
decimali?
Io vengo da BDE/dBase e lì usavo i floating point o i currency, ma non vedo 
niente del genere tra i data types di SQLite.
Sto forse facendo la scelta sbagliata per la conversione ? 
 
 
---
Questa e-mail è stata controllata per individuare virus con Avast antivirus.
http://www.avast.com
 
 

 Sto forse facendo la scelta sbagliata per la conversione ?
 
usa il tipo REAL, che in delphi lo puoi trattare come float/double/long
 
https://www.sqlite.org/datatype3.html
 
 
-- 
Morde

 Sto forse facendo la scelta sbagliata per la conversione ?
usa il tipo REAL, che in delphi lo puoi trattare come float/double/long
Morde
 
Grazie. Ho un  altro problema (prevedo che ne avrò molti..). Nella creazione 
di una tabella che ho fatto con SQLite Manager (di Firefox) ho definito i 
campi date come DATETIME, che è una delle scelte che SQLite Manager 
suggerisce in un comboBox. In effetti, se faccio una select in SQLite 
manager, appaiono corrette. Ho provato con un programmino in Delphi usando 
TFDQuery e la select visualizzata in un DBGrid mostra i campi date vuoti (e 
questo accade anche mostrandoli in un TMemo). Che problema è ? 

Newsgroup: it.comp.lang.delphi
Titolo: QuickReport

Ciao a tutti,
            ho letto diverse faq, ma non ho trovato nessuna risposta.
Ecco i nuovi problemi sorti :
1) che metodo si deve chiamare, in una preview pesonalizzata, per 
visualizzare la pagina successiva o quella precedente ???
2) che metodo si deve chiamare per stampare solo la pagina visualizzata ?
3) con quickreport 3 c'e' la possibilita' di visualizzare piu' di una pagina 
nella preview ? (per esempio se il report richiede 15 pagine e' possibile 
visualizzare gruppi di 2,4 pagine ?)
4) sono ancora reperibili le fuzzyreport ?
Grazie a chiunque mi dara' una risposta.
Daniele 

 4) sono ancora reperibili le fuzzyreport ?
http://www.massimobeschi.it/downloads.asp?azione=categoria&idCategoria=4
Giulio

 
http://www.massimobeschi.it/downloads.asp?azione=categoria&idCategoria=4
Grazie della dritta, Che mi dici per i punti 2 e 3 ??? (il primo e' stato 
risolto !!)
Ciao
Daniele 

 stato risolto !!)
Ti ho mandato in email del materiale , piů di cosě non so perchč ho 
"mollato" qr da alcuni anni.
Giulio
Newsgroup: it.comp.lang.delphi
Titolo: Installare componente synedit

Salve a tutti, ho scaricato il componente synedit versione beta, ma non
riesco ad installarlo, scusatemi ma sono un principiante. Io procedo così:
ho i seguenti file nella directory package synedit_d6.dpk,
synedit_d6_clx.dpk, synedit_d6_pe.dpk, synedit_r6.dpk, in pratica ho provato
a cliccare su ognuno di questi file li ho compilati, ma quando tento di
istallare col comando installa mi dice che manca un file synedit.dcu. Nelle
opzioni non ho messo niente.
Grazie a quanti, mi aiuteranno

 riesco ad installarlo, scusatemi ma sono un principiante. Io procedo cosě:


 prova cosě e non dovresti avere problemi
Grazie per la risposta, sono riuscito ad installare il package
synedit_d6_pe.dpk, ma gli altri non riesco e cioč synedit_d6.dpk, (mi da
l'errore che bon trova il file synedit_d6.bpl) SynEdit_D6_CLX.dpk,
SynEdit_R6.dpk (questi ultimi due non mi riconosce dei comandi del
pacchetto). Il problema e che non so a cosa servano tutti questi package e
se posso ignorarne qualcuno...
Ora installando solo il primo (synedit_d6_pe.dpk) nella palette ho i
componenti ma non mi funzionano... ho provato con un proggetto di
dimostrazione ma mi dice che manca il file SynEdit.inc.
Potete aiutarmi?
Grazie per eventuali risposte!

 se posso ignorarne qualcuno...
nella cartella package di SE sono raccolti i package destinati alle varie
versioni di Delphi (e CB3-6)
PE si riferisce ad es. alla versione personal
CLX alla versioen basata su compo. CLX
Kylix alla vers. per kylix
ecc.
dunque se ad es. tu hai Delphi "normale" per windows (es D6 Pro), dovresti
installare il package synedit_d6.dpk
se invece hai D5  synedit_d5.dpk
(la versione PE solo se hai la vers. personal edition)
comunque ti consiglio di leggere le FAQ sul sito di SE e far rieferimento
all'autore per eventuali dettagli
spero ti sia utile
un saluto

Grazie ancora, per avermi chiarito un po le idee, ma ho ancora dei dubbi,
perchč ora ho installato il package giusto, ho tutti i componenti, ma se
tento di creare un'applicazione, o anche usando le applicazioni di
dimostrazione, non riesce a trovare dei file che sono presenti nella
cartella source come dice sulle faq. Io non capisco questo, cioč ho messo
nel search path il percorso dove ci sono i file richiesti, .dcu, .inc ecc,
ma quando utilizzo un componente che ho appena installato non trova i
file...
Forse nelle opzioni dovrei aggiungere qualcosa che non so, per esempio:
Output directory = non so
Unit Output directory= non so
Search path = percorso della cartella 'source'
Debug source path= non so
DCP Output directory=non so
Conditional defines = non so
Scusami, ma se hai un po di tempo rispondimi perfavore e grazie ancora!

 cartella source come dice sulle faq. Io non capisco questo, cioè ho messo

Newsgroup: it.comp.lang.delphi
Titolo: fuzzy x delphi 6/7

Qualcuno sa se esiste la versione di FuzzyReport per delphi 6 o 7?
GRazie


Uso D7 Pro.
Ho scaricato la 2.1 release candidate 2 (ma credo funzioni anche con le
precedenti, purchč vadano con D6).
L'installazione ti copia i file in una cartella di tua scelta (dove tieni in
componenti aggiuntivi).
PRIMA di installare Fuzzy in delphi (segui le istruzioni per D6) , sono
andato nella suddetta cartella e apro con un editor di testo tipo Notepad
il file FR_VERS.INC   Ci trovi le definizioni delle versioni di Delphi usate
dalle librerie Fuzzy: sono blocchi come questo
{$IFDEF VER140}              // Delphi 6.0
  {$DEFINE Delphi4}
  {$DEFINE Delphi5}
  {$DEFINE Delphi6}
  {$DEFINE OK_JPEG}
{$ENDIF}
Ricopi questo blocco subito sottto e lo chiami
{$IFDEF VER150}              // Delphi 7 !!!
                        ^^^
  {$DEFINE Delphi4}
  {$DEFINE Delphi5}
  {$DEFINE Delphi6}
  {$DEFINE OK_JPEG}
{$ENDIF}
Salvi il file e poi installi Fuzzy come da istruzioni.
Spero di essere stato chiaro.
Ciao da Giulio
Newsgroup: it.comp.lang.delphi
Titolo: Thread e struttura di parametri

Buongiorno, mi trovo davanti ad un anomalo problema:
devo eseguire un Thread con <BeginThread> e passargli dei valori che sono 
presenti in un RECORD nella funzion che lancia il comando <BeginThread>.
La struttura č cosě:
type TConnessioni = record
    IP          : string[15];
    PORTA       : string[5];
    DEVICE      : TTcpSrvClient; //WSocket di FPiette
    LISTITEM    : TListItem;  //oggetto di un ListView
    ID          : integer;
  end;
ho dichiarato in una sezione ThreadVar la variabile:
ThreadVar
  msgPtr : ^TConnessioni;
la funzione del Thread č:
function ConnettiSubThread(PARAMETERS : pointer) : integer; stdcall;
begin
   msgPtr := PARAMETERS;
   MessageBox(pchar(msgPtr^.IP),pchar('titolo'),MB_ICONASTERISK+MB_OK);
   EndThread(0);
end;
utilizzo questo per richiamare la fuzione:
[...]
var Param : TConnessioni;
begin
  Param.IP       := '127.0.0.1';
  Param.PORTA    := '5432';
  Param.DEVICE   := nil;
  Param.LISTITEM := nil;
  Param.ID       := 0;
  ThreadHandle   := BeginThread(nil,0,addr(ConnettiSubThread),addr
(Param),0,ThreadId);
end;
A questo punto quando eseguo il tutto e si avvia il Thread, anche in 
debug mi ritrovo stringhe casuali per tutti i valori del RECORD.
Come posso fare?
PS: perň questo funziona:
unit Unit1;
interface
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, 
Forms, Dialogs, StdCtrls, ComCtrls;
type
  Tppp = record
    a : string;
    b : string;
    i : integer;
    t : TListItem;
  end;
  TForm1 = class(TForm)
    Button1: TButton;
    ListView1: TListView;
    procedure Button1Click(Sender: TObject);
  private
  public
    ThreadInfo : array[0..4] of TThreadInfo;
  end;
var
  Form1: TForm1;
  ppp : Tppp;
  c : cardinal;
implementation
{$R *.dfm}
function ControllaNuovaPosizioneMezzo(p : pointer) : integer;
var ppp_ : ^Tppp;
begin
ppp_ := p;
Application.MessageBox(pchar(ppp_^.a+' | '+ppp_^.b+' | '+inttostr(ppp_^.i)
+' | '+ppp_^.t.Caption),'no',MB_ICONASTERISK+MB_OK);
EndThread(0);
end;
procedure TForm1.Button1Click(Sender: TObject);
var new : TListItem;
begin
ppp.a := 'A';
ppp.b := 'B';
ppp.i := 10;
new := ListView1.Items.Add;
new.Caption := 'pippo';
ppp.t := new;
BeginThread(nil,0,addr(ControllaNuovaPosizioneMezzo),addr(ppp),0,c);
end;
end.
--- posted by geoForum on 
http://www.delphiedintorni.it

 PS: però questo funziona:

Newsgroup: it.comp.lang.delphi
Titolo: TPanel con Caption Multilinee

Salve,
nessuno ha mai cercato di avere un TPanle che visualizzato nella sua
prop Caption testo su più linee???
questi metodi siti nella unit Windows possono sortire l'effetto
desiderato????
{Hnd: Integer; Self: TPanel}
Hnd := GetWindowLong(Self.Handle, GWL_STYLE);
SetWindowLong(Self.Handle, GWL_STYLE, Hnd);
Grazie per l'attenzione e per un eventuale aiuto
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

Grazie per l'attenzione e per un eventuale aiuto
Alfio, il metodo più semplice è quello di ereditare la classe TPanel e
modificare l'evento OnPaint che per qualche misterioso motivo è
privato (come pure il canvas).
I passaggi da fare sono 2:
1) modificare i flags da
Flags := DT_EXPANDTABS or DT_VCENTER or Alignments[FAlignment];
a
Flags := DT_EXPANDTABS or DT_VCENTER or DT_WORDBREAK or
Alignments[FAlignment];
2) ricalcolare il rect che essendo 
 FontHeight := TextHeight('W');
    with Rect do
    begin
      Top := ((Bottom + Top) - FontHeight) div 2;
      Bottom := Top + FontHeight;
    end;
non va bene in quanto risulterebbe troppo "stretto"...
-- 
"La velocità luce non è sufficiente Comandante Nunziatella, 
dobbiamo passare alla velocità smodata!"

 ha scritto nel messaggio
news:89bdd7ed6cff2ff2d3e...@mygate.mailgate.org...


ho risolto in qesto modo(grazie a M.Pini)
TMultilinePanel = class(TCustomPanel)
private
  [...]
protected
  procedure Paint; override;
  [...]
public
  [...]
end;
procedure TMultilinePanel.Paint
const
  Alignments: array[TAlignment] of Longint = (DT_LEFT, DT_RIGHT,
DT_CENTER);
var
  Rect: TRect;
  TopColor, BottomColor: TColor;
  FontHeight: Integer;
  Flags: Longint;
  procedure AdjustColors(Bevel: TPanelBevel);
  begin
    TopColor := clBtnHighlight;
    if Bevel = bvLowered then TopColor := clBtnShadow;
    BottomColor := clBtnShadow;
    if Bevel = bvLowered then BottomColor := clBtnHighlight;
  end;
begin
  Rect := GetClientRect;
  if BevelOuter <> bvNone then
  begin
    AdjustColors(BevelOuter);
    Frame3D(Canvas, Rect, TopColor, BottomColor, BevelWidth);
  end;
  Frame3D(Canvas, Rect, Color, Color, BorderWidth);
  if BevelInner <> bvNone then
  begin
    AdjustColors(BevelInner);
    Frame3D(Canvas, Rect, TopColor, BottomColor, BevelWidth);
  end;
  with Canvas do
  begin
    if not ThemeServices.ThemesEnabled or not ParentBackground then
    begin
      Brush.Color := Color;
      FillRect(Rect);
    end;
    Brush.Style := bsClear;
    Font := Self.Font;
    //FontHeight := TextHeight('W');
    FontHeight := TextHeight('W') * 2{permette di scrivere (solo) su due
righe};
    with Rect do
    begin
      Top := ((Bottom + Top) - FontHeight) div 2;
      Bottom := Top + FontHeight;
    end;
    //Flags := DT_EXPANDTABS or DT_VCENTER or Alignments[FAlignment];
    Flags := DT_EXPANDTABS or DT_VCENTER or DT_WORDBREAK or
             Alignments[Alignment];
    Flags := DrawTextBiDiModeFlags(Flags);
    DrawText(Handle, PChar(Caption), -1, Rect, Flags);
  end;
end;
end;


 ha scritto nel messaggio
news:89bdd7ed6cff2ff2d3e...@mygate.mailgate.org...

Newsgroup: it.comp.lang.delphi
Titolo: Packages

 
Fino ad ora ho sviluppato piccole/medie applicazioni Delphi non
preoccupandomi del size dell'eseguibile finale (mediamente sono arrivato ad
avere exe di circa 4 Mb). Adesso ho la necessità di sviluppare un nuovo
progetto molto più "sostanzioso" per cui non è pensabile avere tutto in un
unico eseguibile. Inoltre ho anche la necessità di dividere in moduli il
progetto in modo da poter installare al cliente finale solo i moduli
richiesti.
Ho visto che in Delphi ci sono i packages (bpl), ma non avendoli mai
creati/usati chiedo un consiglio a chi eventualmente ne ha già fatto uso:
è la strada che devo seguire per avere eseguibili più ridotti e rendere
modulare il mio applicativo?
Ci sono punti critici a cui devo prestare particolare attenzione durante lo
sviluppo?
Ogni consiglio è ben accetto.
Ivano
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

 sviluppo?
Qualche accorgimento va preso se fai uso della VFI (Visual Form 
Inheritance) o se carichi/scarichi i package a runtime usando le 
apposite funzioni, ma questi accorgimenti dipendono molto dalle 
caratteristiche del progetto che vai a sviluppare.
I package sono comunque molto "maneggevoli".
Ciao,
   Marco.
-- 
MARCO BREVEGLIERI
  (
http://www.marco.breveglieri.name
)

Grazie per la risposta.
Cosa intendi con "accorgimenti" ?
Il progetto è un classico gestionale a menu (gli argomenti sono produzione,
magazzino, qualità, acquisti, ecc....), quindi avrò il classico menu
generale dal quali saranno poi eseguiti i vari sottomenu (quindi ben si
presta alla suddivisione in moduli).
Pensavo di utilizzare i packages con "LoadPackage" e poi con "ExecuteChild",
ad esempio:
Load del mio pbl:
PkgQualita := LoadPackage('Qualita.bpl');
Attivo il menu del modulo con
@ExecuteChild := GetProcAddress(PkgQualita,'RunMenuQualita');
e alla fine per pulire tutto utilizzo:
UnloadPackage(PkgQualita)


 [...]
Ad esempio, devi accertarti che la tua applicazione sia compilata 
facendo uso dei "runtime package", oppure - nel caso tu abbia un package 
con le classi base - compilare l'applicazione con quel runtime package 
specifico.
Devi assicurarti che tutti gli oggetti che fanno riferimento ad una 
classe contenuta nel package caricato dinamicamente siano stati 
distrutti prima di "scaricarlo" con UnloadPackage.
Prova a leggere questo articolo per una breve introduzione:
http://delphi.about.com/od/objectpascalide/l/aa010901a.htm

Newsgroup: it.comp.lang.delphi
Titolo: Creare una IntegerList

Salve,
mai nessuno ha provato a creare una TIntegerList che assomigli sul
genere della TStringList??
Se si mi dareste qualche suggeriemnto???
Grazie in anticipo!
alfio
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

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

 ha scritto nel messaggio
news:9b231b68102566c874e...@mygate.mailgate.org...

Scusa per la banalita' ma considera che puoi usare la TStringList anche per
gli interi ricordandoti di insere le funzioni IntToStr per aggiungere e
StrToInt per leggere il valore.
Giorgio

Newsgroup: it.comp.lang.delphi
Titolo: Immagini dal canvas del Printer

Salve a tutto il NG
Ho girato con google nei post del NG ma non ho trovato niente che possa
aiutarmi.
Avrei bisogno di catturare l'immagine presente sul CANVAS della stampante
per eseguire preview oppure stampe a video (anzichč su carta ...).
Ho giocato alla nausea con le API di Winsozz ma non ne vengo fuori.
Qualcuno ha qualche dritta da darmi, per favore ?
Grazie
Andrea

 per eseguire preview oppure stampe a video (anzichč su carta ...).
E' la tua app che ci scrive sopra o vuoi intercettare il contenuto prima
che venga stampato da un'altra applicazione?
Nel primo caso la risposta semplice e': invece di stampare direttamente
su Printer.Canvas, stampa su un PaintBox o simile.
Nel secondo caso, o se non si applica la risposta semplice, la mia
risposta e' non saprei.
Saluti
Paolo Arosio


In effetti era quello che volevo evitare: stampare da un'altra parte e poi
buttare di qua o di la.
Mi sembra strano di non poter catturae l'immagine della stampante: se vogli
opresentare la stampa per come verrà nella stampante, ho
bisogno di formattarla con i dati della stampante ed è per questo che volevo
stampare direttamente li, senza dover fare precalcoli
Andrea
Newsgroup: it.comp.lang.delphi
Titolo: Stampare con Lazarus

Ciao a tutti... ho lurkato un po' sul ng (e sul web), ma non ho trovato 
niente di buono (o quasi).
Ecco il problema: uso Lazarus ed ho la necessità di stampare una stringa (o 
meglio una serie di stringhe).
Ho visto che è stata implementata la unit Printers, ma non ho trovato 
traccia del componente PrintDialog (ho trovato un esempio per delphi che lo 
sfrutta... magari funzionerebbe pure se avessi il PrintDialog)
Fatto sta che non riesco proprio a stampare niente con gli esempi trovati 
che usano la unit Printers... non è che mi sapete consigliare qualche 
procedura, componente o altro che mi permetta la stampa di testo? (dagli 
esempi trovati sembra si ustilizzi canvas e quindi aggiungere magari 
un'immagine in testa non dovrebbe complicare le cose)
Aiuto sono disperato! :(
Grazie e ciao.
PS Mi piace Lazarus... se solo ci fosse più supporto per i componenti 
potrebbe essere una concreta alternativa al delphi ufficiale :) IMHO :p 
(ok... qualche bugghetto c'è, ma si può risolvere tutto) 

 meglio una serie di stringhe).
Esiste un porting di free-report chiamato lazreport:
http://lazreport.sourceforge.net/
Non l'ho mai provato ma se è come free-report è già un buon e semplice 
sistema di reporting.
Se lo provi fammi sapere come va.
Ciao
Gianni

 Se lo provi fammi sapere come va.
Non so come ringraziarti :)
Avevo la versione 0.9.6 di Lazarus (di febbraio se non sbaglio) e lazreport 
non potevo installarlo (mancava tra i componenti anche printer4lazarus).
Ho quindi scaricato i sorgenti di Lazarus 0.9.7, l'FPC 2.0.0 e relativi 
sorgenti, compilato e ho installato i vari componenti liscio come l'olio :)
Sinceramente lazreport non l'ho provato (mi chiedeva dataset e simili)... 
però ho notato che installando printer4lazarus è comparso il PrintDialog e 
con la procedura trovata... STAMPA! :D
Premessa:
Come stampante per ora ho utilizzato solo il pdf writer, ma dovrebbe dare lo 
stesso risultato (dopo proverò anche con una epson)
Ecco il codice (così creo un record nel ng e in caso serva si ritrova 
facilmente):
uses ...,Printers;
...
procedure TForm1.Button1Click(Sender: TObject);
var myPrinter   : TPrinter;
    DaStampare : string;
begin
if PrintDialog1.execute then
 begin
  myPrinter := Printer;
  myPrinter.Title:='aaa.pdf';
//senza questo va in errore...
//da il nome al file che salva la stampante virtuale
  with myPrinter do
   begin
    daStampare := 'Testo da stampare!';
    BeginDoc;
    Canvas.Font.Size   := 140;
//utilizzando una "size" di 14 invece che 140 i caratteri erano minuscoli,
//con 140 ho un effetto simile al "vero" 14.
    Canvas.Font.Color  := clBlack;
    Canvas.TextOut(20,  20, daStampare + #13#10 +daStampare);
//Non mi prende il "a capo" -> #13#10. Invece che andare a riga nuova
//mi mette degli spazi... non so se è un bug della stampante virtuale pdf... 
idee?
    EndDoc;
   end;
 end;
end;
Byez :) 

 Non so come ringraziarti :)
Grazie a te per aver inviato la tua esperienza di stampa con lazarus. 
Quando in futuro mi servirą la stampa in Lazarus, questo post mi sarą 
sicuramente di aiuto. :-)
Ciao
Gianni
Newsgroup: it.comp.lang.delphi
Titolo: allineamento pannelli

nella mia form ho diversi pannelli.
supponiamo due pannelli
uno voglio allinearlo a sinistra (left) e l'altro in alto (TOP)
però facendo così ho il pannello in alto che ha la larghezza della form mentre quello di sinistra ha l'altezza ridotta.
Io voglio esattamente il contrario e cioè il pannello di sinistra su tutta l'altezza della form (ad eccezione della toolbutton che è in alto) e il pannello superiore di larghezza ridotta e immediatamente al di sotto della toolbar


inoltre il pannello di sinistra deve essere a scomparsa e andarsi a sovrapporre a tutto il resto quando viene visualizzato.. quindi tutto quello che c'è nella form non si deve spostare quando visualizzo il pannello


devi mettere sulla form
1 pannello left
1 pannello client
sul client 1 pannello top
 
la visibilità e gli spessori te li giochi come ti pare
 
 

si ma così quando il pannello left è visibile mi fa spostare il pannello client.... io invece voglio che quando il pannello left (che in pratica è un page control) è visibile questo si vada a sovrapporre a tutto il resto

 questo si vada a sovrapporre a tutto il resto
 
Se ho capito bene cosa stai cercando di fare, in questo caso non devi usare "Align", in modo che il controllo rimanga slegato dall'allineamento dei pannelli e non influisca su di essi.
 
Posizionalo manualmente, magari ridimensionandolo tramite codice oppure usando la proprietà "Anchors" e assicurati di portarlo in primo piano rispetto agli altri controlli.
 
Ciao,
  Marco.
 
-- 
MARCO BREVEGLIERI (Software and Web Developer)
 #Home: 
http://www.marco.breveglieri.name
 
 #Blog: 
http://www.compilaquindiva.com
 
 #DelphiPodcast: 
http://www.delphipodcast.com
Newsgroup: it.comp.lang.delphi
Titolo: Cambiare il colore testo solo quando il mouse è sul testo:

Salve,
          Come potrei fare per cambiare il colore di un testo
solo quando il mouse č nell'area del testo, e quando torna
fuori farlo tornare del colore precedente, nei label non c'č
un evento OnMouseEnter OnMouseExit?
Grazie
MaTTeO.



no no ci sono, te li devi intercettare da te
CM_MOUSEENTER e CM_MOUSELEAVE
Ciao,
Alan Solo

no no ci sono, te li devi intercettare da te
volevo di re no noN ci sono ;)
cmq, otresti ereditare da TLabel:
/*****************/
unit MyLabel;
interface
uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
Dialogs,
  StdCtrls;
type
  TOnMouseEvent = procedure(Sender: TObject) of object;
  TMyLabel = class(TLabel)
  private
   FOnMouseEnter: TOnMouseEvent;
   FOnMouseExit: TOnMouseEvent;
   procedure MouseEnter (var Msg: TMessage); message CM_MOUSEENTER;
   procedure MouseExit  (var Msg: TMessage); message CM_MOUSELEAVE;
  published
   property OnMouseEnter : TOnMouseEvent read FOnMouseEnter write
FOnMouseEnter;
   property OnMouseExit : TOnMouseEvent read FOnMouseExit write
FOnMouseExit;
  end;
procedure Register;
implementation
procedure Register;
begin
  RegisterComponents('Samples', [TMyLabel]);
end;
procedure TMyLabel.MouseEnter;
begin
 if Assigned( OnMouseEnter )
  then FOnMouseEnter( Self );
end;
procedure TMyLabel.MouseExit;
begin
 if Assigned( OnMouseExit )
  then FOnMouseExit( Self );
end;
end.
/*****************/
in questo modo hai gli eventi che ti servono e te li gestisci
"esternamente",
oppure potresti pensare di farti una proprieta' ColorOnMuoseEnter
di tipo Tcolor e fare tutto ell'interno della classe TMyLabel
procedure TMyLabel.MouseEnter;
begin
FNormalColor :=  Self.Color; // salvo il colore precedente
Self.Color := ColorOnMuoseEnter;
 if Assigned( OnMouseEnter )
  then FOnMouseEnter( Self );
end;
e poi 
procedure TMyLabel.MouseExit;
begin
 Self.Color := FNormalColor;
 if Assigned( OnMouseExit )
  then FOnMouseExit( Self );
end;

 Alan Solo
Ok ora c'è solo il piccolo problemino che non so intercettare gli eventi!
Mi daresti una mano?
Grazie 1000
MaTTeO.
Newsgroup: it.comp.lang.delphi
Titolo: Aggiornare i record su un Server InterBase

Ho una tabella con 1.000 record con paradox. Aprendo le tabelle i dati
mi vengono passati dal server al client. Vorrei sapere se con
Interbase esiste la possibilità di effettuare una query che mi
restituisca gli unici record che mi servono, così da avere 20/30
record, e una volta selezionato il record che m'interessa, come fare
per modificare quest'ultimo (in modo che venga modificato solo
questo,confermando la modifica e memorizzando sul server i dati
modificati). Se fosse possibile ottenere, oltre ad una risposta, anche
un esempio, ve ne sarei IMMENSAMENTE grato.

un esempio, ve ne sarei IMMENSAMENTE grato.
Il "fetching" dei record viene ottimizzato calibrando opportunamente
la query, il che significa organizzare i vincoli di ricerca in modo da
darti un risultato più piccolo possibile.  Per modificare il record, o
esegui una query di update o usi un TIBDataSet, che maschera per te le
operazioni di selezione, inserimento, modifica e cancellazione,
mediante, rispettivamente, le query SelectSQL, InsertSQL, UpdateSQL e
DeleteSQL.  Puoi usare, cioè, gli stessi metodi
(Open/Append/Edit/Delete/Post/Close) usati con le TTable Paradox.
Ogni operazione, però, è mappata sulla query relativa.


--------------------------------
Inviato via 
http://usenet.libero.it

 modificati).
Questo dipende dalla tecnologia di accesso ai dati che utilizzi.
bye
A
--
Per rispondere non usare il reply ma scrivere al seguente indirizzo:
zzato(at)supereva;it
Please, don'r reply this message.
Use this address:
zzato(at)supereva;it
Newsgroup: it.comp.lang.delphi
Titolo: Quali sono gli svandaggi di access?

Essendo nuovo e conoscendo solo access,
vi chiedo quali sono gli svandaggi di access
in delphi e non le sue qualità che già conosco,
non sono in vena di fare paragoni, ma voglio
sapere i difetti di questo archivio in delphi.
Ciao

I database di MsAccess hanno le seguenti limitazioni:
1) dimensione massima totale di ogni file mdb pari 2 gigabyte. Con
MsAccess97 era 1 gigabyte. Puo' sembrare tanto ma non lo č. Devi infatti
pensare che in questo spazio sono inclusi, oltre ai tuoi records, una serie
di informazioni usate internamente dal motore.
2) Unico contatore per indici e relazioni. Il limite č 32, Cioč, se hai 30
relazioni per tabella, su questa tabella puoi avere solo 2 indici e
viceversa.
3) Access non č client/server; adesso pensi "a me che me frega?", ma data la
tendenza di questi tempi ritengo sia opportuno dimenticare i sistemi
file-server e buttarsi a pesce sul client-server, pena il restare tagliati
fuori dal mercato qualora si cercasse lavoro. Anche se devi sviluppare una
applicazione leggera in monoutenza ti consiglio di passare a questa
architettura. Le offerte di lavoro come sviluppatori e/o analisti, a
prescindere dal linguaggio, richiedono sempre piu'spesso la conoscenza di db
relazionali come MsSql, Oracle, Interbase.
Ti basta?
Saluti
AS
"Se č Microsoft non funziona"

 ha scritto nel messaggio
news:8v04se$ami$1...@news.mclink.it...


 funziona sono abituato all'interfaccia access, mi puoi aiutare?
la tastiera ;)
create table Tabella(
campo tipo valori di default
primary key
foreign key
......
)
ci sono cmq molte utiliti visuali, che non ho provato
Ciao,
Alan Solo

> ci sono cmq molte utiliti visuali, che non ho provato
Ad esempio Interbase Workbench, un ottimo prodotto.
Puoi scaricarlo dalla pagina dei downloads di Interbase oppure da
http://www.interbaseworkbench.com
Ciao,
-=SIMO=-



 wrote in message
rxLQ5.11271$%j3.8...@news6.giganews.com...


Newsgroup: it.comp.lang.delphi
Titolo: [?]output in interbase

Qualcuno sa se in Intebase esiste una funzione analoga all' OUTPUT TO di
SyBase che permette direttamente dalla console di esportare in un file di
testo il risultato di una SELECT. (in sybase la sintassi era: select *
from tabella; output to c:\prova.txt).
Grazie a tutti.
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

eeeeeeh!
Sybase è un signor database:
coalesce
ifnull
similar
senza contare il debugger per le st. procedure...
Come statement sql no, ma nelle classi degli ibx esiste un qualcosa che fa
l'export.
In Ib6.5 hanno aggiunto il salvataggio in XML se non vado errato; magari
hanno messo pure quello in txt.
Bye
A
Newsgroup: it.comp.lang.delphi
Titolo: QuickReport

Sto utilizzando Quick Report con Delphi 4.
Ho un problema....sto creando la stampa di alcuni dati ma non capisco
il motivo per cui talvolta se faccio un QuickReport.Preview non vedo i 
dati che ho precedentemente impostato....
es :
QrLabel1.Caption := 'prova';
...
...
QrReport1.Preview ;
e vedo tutto grigio....e invece il valore lo vedo se mostro il form che
contiene il Report....
QrLabel1.Caption := 'prova';
...
...
Form1.Show;
Come mai non riesco a vederlo con il Preview...???
Grazie.
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

QR fa un po' pena
Se la proprietà Caption non la imposti a DesignTime nella Preview da Delphi
non vedi un fico secco Il 'fico secco' lo vedi solo a RunTime
--
_________________________________
Edmondo Di Tucci 
snar...@tin.it
www.powernetsi.it
 
edm...@powernetsi.it

 wrote in message
news:w9kv8.53034$m41.1...@twister2.libero.it...



Newsgroup: it.comp.lang.delphi
Titolo: Controllo esistenza del server InterBase

Devo controllare se su una macchina remota č installato il Server Interbase
con il mio DataBase,
usando un SQLConnection ho tentato di usare le eccezzioni cosě
try
    MySQLConnection.Connected := True;
    Result := True;
except
    Result := False;
end;
e lui funziona ma quando si verifica l'eccezzione me la fa vedere, invece io
non voglio che il programma si fermi.
Qualcuno sa aiutarmi...
Grazie in anticipo, Samuele

 non voglio che il programma si fermi.
Sei sicuro che ti fa vedere il messaggio d'errore?
Non è che per caso è una tua impressione in quanto lo lanci da Delphi in
modalità Debug?
Hai provato a lanciarlo da Explorer?
Se te lo fa vedere vuol dire che l'eccezione è "gestita" all'interno del
.Connect.
Se è così, il componente non ha  una proprietà.... un qualcosa che ti
permette di non visualizzare i messaggi d'errore?
....mmmmmm...... Qualcosa non mi è chiara!
Acqua
Newsgroup: it.comp.lang.delphi
Titolo: Calcolo coefficiente angolare di una retta

Qualcuno mi sa indicare se esistono già delle funzioni incluse in
Delphi o delle librerie che permettono di ricostruire l'equazione di
una retta, ovvero restituiscono il coeff. angolare fornendo almeno 2
punti nel piano (il minimo!). Ma anche qualcuno in più , se
disponibili.
In altre parole mi servirebbe una libreria che fa il BEST FIT della
retta, fornendole da un minimo di 2 ad un max. di 6-7 punti.
Grazie,
Cecilia Saltori

 ha scritto nel messaggio
news:vep4qv0dgacskfopl...@4ax.com...

Un po' di analsi matematica ? (Y2-Y1)/(X2-X1) oppure esistono infiniti libri
... anche delle superiori
Ciao

Cecilia wrote:

Ma se fai il rapporto differenziale (si chiamerà cosi?) tra i 2 punti?

PS
Ovviamente quello è il coefficiente angolare della retta per i punti (x1,y1)
(x2,y2)
RiCiao

non ho il tempo di verificare, ma forse qui puoi trovare qualche dritta:
http://www-rab.larc.nasa.gov/nmp/fNMPindex.htm
Bye
A

 retta, fornendole da un minimo di 2 ad un max. di 6-7 punti.
Riporto quanto avevo postato su libero.delphi prima che cadesse:
Copiando dall'help di XL: se come eq. della retta usi y = a + bx
b = (N SUM(xy) - SUM(x)SUM(y)) / (N SUM(x^2) - (SUM(x))^2)
a = Y - b X          [Y = SUM(y)/N; X = SUM(x)/N]
in Math.pas ci sono Mean, Sum, SumOfSquares e SumAndSquares; rimane solo
da inizializzare l'array [xy] e gestire eDivByZero.
Saluti
Paolo Arosio
-- 
"La dimostrazione dell'esistenza di specie intelligenti nell'universo
 e' che non ci vengono a trovare"


Grazie, a questo ci ero arrivata da sola! Forse non hai idea di cosa
significhi best fit:
ho a disposizione una matrice [Nx2] contenente le coordinate dei miei
punti sperimentali e voglio costruire una retta che meglio rappresenti
(best fit) la relazione lineare esistente fra tali punti.
Ciao
Cecilia


Grazie, qui ho trovato parecchio.
Cecilia

Risolto con lea libreria SysTools di Turbopower:
http://sourceforge.net/projects/tpsystools/
Cecilia

Newsgroup: it.comp.lang.delphi
Titolo: nella barra winzozz si apre due volte...why?

la mia domanda è:
il mio programma all'improvviso (almeno mi è parso) si è messo ad aprire
nella barra delle applicazioni due barrette come se il prog fosse stato
aperto due volte.
di fatto è aperto solo 1 volta e se lo chiudo uno resta con il nome e
l'icona di windows...
prima di cambiare il nome della form principale risultava una barretta con
il nome che ho impostato in project-option e una con la caption della form
da cosa è dato?
(ci sono altre 2 piccole form ke tengo invisibili)
ciaoz

già risolto


Puoi postare la soluzione?

> Puoi postare la soluzione?
avevo semplicemente messo a true la visibilità della form principale e
quindi dell'applicazione...infatti una delle barrette che esce è quella
dell'applicazione.
nel mio caso la form principale è la prima che ho creato (metti a false la
visibilità di questa)...a proposito qualcuno sa come cambiare la form
principale?

project-options
Bye
AS
Newsgroup: it.comp.lang.delphi
Titolo: componenti FTP di andreas hörstemeier

salve a tutti,
ho sempre utilizzato i suddetti componenti nelle mie applicazioni e mi hanno 
seguito dal D3 al D5 e al D7. Con alcuni accorgimenti è ovvio, ma senza 
troppi problemi. Ora volevo adattare questi componenti al compilatore XE ma 
volevo farlo per gradi passando da D2009 ma non ci riesco proprio. Mi 
segnala degli errori di typecast che non riesco a risolvere (le mie 
competenze sono limitate lo ammetto).
Mi chiedevo se qualcuno avesse già affrontato questo porting o se c'è 
qualche anima buona che può darmi una mano.
I componenti sono facilmente reperibili alla pagina 
http://www.hoerstemeier.com/tcpip.htm
 il vantaggio di questi componenti 
rispetto a quelli di Piette (x esempio) è che lavorano in modo sincrono e 
che sono riusciti a piegarli in modo sufficientemente agevole ai miei scopi 
consentendomi di far colloquiare senza grossi problemi as400 e pc.
Vi ringrazio fin d'ora dell'aiuto che vorrete darmi
Gian Claudio Bernardi


Vado un po' OT, non conosco i componenti che usi, ma il porting da D3/D7 
a Xe non è molto semplice, dunque ... hai pensato alla migrazione verso 
i componenti indy ?
G.

a suo tempo avevo provato per connettermi ad un as400 questi
componenti 
http://tothpaul.free.fr/cawin32.php3
Newsgroup: it.comp.lang.delphi
Titolo: Compilazione condizionale: chi era coste?

Come si implementa la compilazione condizionale in Delphi?
Mi serve per differenziare la versione demo/free dalla standard, dalla 
professional, e dalla class (credo sia l'approccio giusto, me lo 
confermate?). 
Sergio Pappalardo aka Silver Black
--- posted by geoForum on 
http://www.delphiedintorni.it


intendi una cosa simile
(*$Define demo*)
procedure TForm1.Button1Click(Sender: TObject);
begin
(*$ifdef demo*)
   caption := 'demo';
(*$else*)
   caption := 'full';
(*$Endif*)
end;
ciao
-- 
-------------------------------
per scrivere in privato
togliere "1975"

)

nel tuo caso, per compilare il programma in modi diversi.
Ottima spiegazione, grazie!


end;
In pratica per rendere la versione DEMO basta che tolga la riga
  (*$Define demo*)
e invece la metto per renderla tale, giusto? Sei stato prezioso! 
Grazie a tutti.
P.S.
Errata Corrige: Compilazione condizionale: chi era costei?


 e invece la metto per renderla tale, giusto? Sei stato prezioso! 
Aggiungo che puoi verificare il risultato osservando quali righe del tuo 
programma vengono compilate e quali no (le righe compilate recano un 
"pallino blu" nel gutter a sinistra).


 un "pallino blu" nel gutter a sinistra).
Una volta mi sono chiesto: "ma chissà cosa significa gutter"... grondaia,
sul dizionario O__o
--
Jax
====
Il file-sharing?
"E' grande. E nessuno può farci nulla"
Robbie Williams, musicista

Newsgroup: it.comp.lang.delphi
Titolo: compattare tabella

Esiste un metodo semplice per compattare un databse in formato
paradox?
Ciao Gulma

uses DB;
function PackTable(tbl:TTable; db:TDatabase):DBIResult;
var
  crtd: CRTblDesc;
begin
  Result := DBIERR_NA;
  with tbl do if Active then Active := False;
  with db do if not Connected then Connected := True;
  FillChar(crtd,SizeOf(CRTblDesc),0);
  StrPCopy(crtd.szTblName,tbl.TableName);
  crtd.bPack := True;
  Result:=DbiDoRestructure(db.Handle,1,@crtd,nil,nil,nil,FALSE);
end;
Tieni conto che paradox riutilizza lo spazio, per cui se hai cancellato dei
record, quando ne inserirai dei nuovi questi ultimi andaranno ad occupare il
posto di quelli precedentemente cancellati; per cui, se hai un'applicazione
che prevalentemente cancella ok, altrimenti non otterrai grandi risultati.
CIAOUX

Newsgroup: it.comp.lang.delphi
Titolo: FuzzyReport o QuickReport?

Devo realizzare un gestionale in delphi ed ho scoperto da poco i componenti
FuzzyReport.  E' affidabile il loro utilizzo rispetto agli odiati
QuickReport?
Grazie
Donato

 ha scritto nel messaggio
news:5fqD8.47690$US3.1...@twister1.libero.it...

Newsgroup: it.comp.lang.delphi
Titolo: Disegnare un numero affianco ad un nodo di un Treeview.

Ciao a tutti.
C'è il TTreeView che mi fa impazzire.
Volevo cercare di simulare un TtreeView simile a quello usato da Outlook
Express (quello che mostra ramificato le cartelle e i NG sottoscritti).
Quello che mi interessava molto era poter aggiungere affianco al nodo un
numero (nel mio caso il numero di elementi che fanno parte della categoria
indicata dal nodo).
Ho agganciato una mia procedura OnCustomDrawItem, nella quale, sfruttando la
proprietà DisplayRect del nodo che si sta disegnando, ho fatto scrivere con
un canvas.textout il numero desiderato.
Il risultato? il numero viene disegnato nella posizione giusta, ma c'è un
problema.
Automaticamente tutte le scritte die nodi aumentano di dimensione e
diventano grassetto.
Ho pensato, ho pasticciato con lo Style del canvas.
Lo inizializzo: nulla
lo salvo e lo ripristino dopo al textout : nulla
Canvas.lock e unlock: nulla
Per prova ho disegnato una semplice riga di pochi pixel di lunghezza in un
punto vuoto da nodi. Si incasina in modo uguale. quindi non credo che il
problema sia disegnare un testo, ma disegnare qualunque cosa.
Io non riesco a trovare soluzioni.
Qualcuno ha qualche suggerimento da darmi?
Grazie per l'attenzione.
Matteo

 Il risultato? il numero viene disegnato nella posizione giusta, ma c'č un


 wrote in message
8o2gr3$130i$1...@stargate1.inet.it...


>C'è il TTreeView che mi fa impazzire.
nell'evento CustomDrawItem :
 with TreeView1.Canvas do
  begin
    DefaultDraw:= True;
    // x correzione bug Delphi5
    Font.Name:= 'MS Sans Serif';
    Font.Size:= 8;
    Font.Style:= [];
    if cdsSelected in State then
      Font.Color:= clWhite
    else
      Font.Color:= clBlack;
   [...ecc...]
  end;
Ciao,
-=SIMO=-

Newsgroup: it.comp.lang.delphi
Titolo: IdHTTP e Cookies

Ciao a tutti!
Utilizzo IdHTTP per scaricare le pagine web, ma ho un problema con
alcune pagine. Non riesco a scaricarle, forse a causa dei cookie.
Probabilmente il sito fa un controllo con dei cookies. Ho visto che
esiste IdCookieManager, io l'ho solamente messo sul form e l'ho
collegato all'IdHTTP, ma la situazione rimane come prima...
Avete qualche idea su come fare??
Grazie mille!

alcune pagine. Non riesco a scaricarle[...]
Ovvero ? 
Dire "non riesco" non fa alcuna luce sul problema.

Adesso posso fornire maggiori informazioni sul problema. Mi sono
accorto, tramite l'evento OnRedirect, che il programma viene rediretto
su un'altra pagina. Per questo non riesce ad aprire la pagina che gli
specifico...
Come fare?