Newsgroup: it.comp.lang.vo-clipper
Titolo: Harbour

Cari amici, ho iniziato a fare degli esperimenti con Harbour e ho notato
subito una stranezza. Il seguente programmino
FUNCTION MAIN()
    USE TEST
    WHILE !EOF()
        ? FIELD -> first, FIELD -> last
        SKIP
    ENDDO
    CLOSE
    RETURN NIL
se eseguito in una finestra DOS mostra i record abbastanza lentamente ma
non appena premo un tasto allora schizza via rapidissimo.
Qualche idea al riguardo?
Ciao a tutti.
EMG


cosa intendi esattamente per "premo un tasto" ? uno qualsiasi ? la
windows dos e' quella che ha il focus in quel momento ?
Ciao.Alberto.
-------------------------------------------------------------
Alberto Rubinelli           Mail : 
alb...@retrocomputing.net
A2 SISTEMI                  Http : 
www.retrocomputing.net
Via Costantino Perazzi 22   Tel 0321 640149
28100 NOVARA (NO) - ITALY   Fax 0321 391769
ICQ : 49872318              Odigo : 5269083

Qualche idea al riguardo?
Lo fa anche Clipper, non so se si tratta dello stesso problema,
comunque nel caso Clipper e' un problema di windows.
ciao, acc.   
a...@libero.it

 la windows dos e' quella che ha il focus in quel momento ?
Si. Inoltre ho scoperto un altro problema. Il seguente codice compila in
Clipper ma non in Harbour:
#command DBLIST <top>, <left>, <bottom>, <right>                       
;
                HEADING <heading,...>                                  
;
                FIELDS <fields,...>                                    
;
 
;
      => DbList( <top>, <left>, <bottom>, <right>, { <heading> }, {
<"fields"> } )
FUNCTION MAIN()
    DBLIST 0, 0, 0, 0;
           HEADING "TEST", "TEST";
           FIELDS test, test
    RETURN NIL
Ho già descritto il bug sul newsgroup della Fivetech
(local.fivewin.harbour.errors).
EMG

 compilato con Clipper.
Questo e' normale, nei forum di Xbase++ si e' parlato molto di problemi di
velocita', il risultato e' che e' normale che le applicazioni a 32 bit
siano molto piu' lente delle applicazioni a 16 bit nell'accesso ai dati,
qualcuno ha anche postato un piccolo programma di test scritto in C, le 
differenze tra la versione a 16 bit e quella a 32 bit erano davvero 
impressionanti.
Ciao...
Claudio Driussi
http://www.swit.net/csoft
mailto:
cldr...@swit.net

 comunque nel caso Clipper e' un problema di windows.
Veramente a me Clipper non lo fa. ???
EMG

 impressionanti.
Si, questo l'ho sempre sospettato (anche se non ne ho mai avute le prove
certe). Ma così mi sembra veramente eccessivo. Anzi, credo di poterti
assicurare che non dipende da quello in quanto se tolgo la
visualizzazione a video dei record allora lo spazzolamento è istantaneo
(come dovrebbe essere ed è in Clipper anche con la visualizzazione).
Immagino quindi sia un problema di efficienza dell'accesso al video in
finestra. Io utilizzo la GTWIN.LIB. Sarà quella giusta? Ho provato con
la GTSTD.LIB ma non si vede niente.
EMG

Veramente a me Clipper non lo fa. ???
Forse il rallentamento e' meno avvertibile su Clipper, ma se provi a
misurare, magari con la seconds() vedrai la differenza.
Ovviamente il tutto in finestra DOS sotto windows, non in DOS puro.
ciao, acc.   
a...@libero.it

 la GTSTD.LIB ma non si vede niente.
Purtroppo non conosco Harbour, comunque hai provato il programma in modalita'
a tutto schermo ed a finestra? ci sono differenze?


 misurare, magari con la seconds() vedrai la differenza.
Ok, può essere. Ma la differenza tra Clipper e Harbour, almeno come
accesso al video, è eclatante.
EMG

 ha scritto nel messaggio
news:3B947A3C...@libero.it...

Anche io non conosco Harbour, ma una cosa simile mi è capitato con un
programma  Clipper sotto finestra DOS. In effetti se il programma veniva
eseguito in finestra i records venivano letti (in apparenza) più lentamente
rispetto a schermo intero. Comunque ciò era una illusione in realtà la
velocità di lettura era identica in entrambi i casi; probabilmente a video
non venivano visualizzati tutti i records letti. Questo mi accadeva su
sistemi operativi WINDOWS 9.x mentre su NT x tutto era ok.
Ciao, Fabrizio Malaguti


 a tutto schermo ed a finestra? ci sono differenze?
Si, ho appena fatto la prova e c'è parecchia differenza, anche se la
visualizzazione del Clipper rimane ben lontana, come prestazioni
velocistiche.
A proposito: ho visto che il fatto di dover prima compilare da Harbour a
C e poi da C ad EXE non comporta alcun problema né rallentamento nella
sequenza di compilazione (anzi, forse è anche più veloce). Forse può
servire a qualcuno questo batch che ho fatto, per il momento, per la
compilazione ed esecuzione automatica dei PRG singoli:
@ ECHO OFF
SET HARBOURCMD=/a /es2 /l /m /n /q /w
SET INCLUDE=include
IF EXIST %1.prg harbour %1
SET HARBOURCMD=
SET INCLUDE=
IF EXIST %1.c \bc\bcc32 -e%1.EXE %1.c vm.lib rtl.lib common.lib lang.lib
gtwin.lib rdd.lib dbfntx.lib macro.lib
IF EXIST %1.c DEL %1.c
IF EXIST %1.obj DEL %1.obj
IF EXIST %1.tds DEL %1.tds
IF NOT ERRORLEVEL 1 IF EXIST %1.exe %1
Naturalmente richiede che sia installato e configurato correttamente il
Borland C++ 5.5.1.
EMG

 sistemi operativi WINDOWS 9.x mentre su NT x tutto era ok.
No, come ho già detto, premendo un tasto qualunque lo scorrimento
diventa molto più rapido e finisce molto prima. Quindi non è
un'illusione.
EMG

accesso al video, è eclatante.
A favore di chi ?
ciao, acc.   
a...@libero.it


Ok, al momento non mi vengono altre idee in proposito.
Ciao,
          Fabrizio Malaguti

un'illusione.
Posso fare un'ipotesi : la virtual machine instaurata da harbour come
processo, potrebbe darsi che venga trattata da windows con una
priorita' da background; toccando il tasto, essa diviene attiva (per
windows) e quindi riceve il 100% di risorse macchina.


 A favore di chi ?
Del Clipper, ovviamente.
EMG

 windows) e quindi riceve il 100% di risorse macchina.
Quello che mi pare strano è che non se ne sia accorto nessuno. Forse,
per qualche arcano motivo, succede solo sul mio sistema?
EMG

per qualche arcano motivo, succede solo sul mio sistema?
Io sono partito subito con il gestionale tutto intero, non ho fatto
prove con programmi di test, e sicuramente ho fatto male.
Adesso i problemi che ho io sono piu' che altro legati alla RDD.


 Adesso i problemi che ho io sono piu' che altro legati alla RDD.
Sicuramente finché non esisterà una DBFCDX.LIB funzionante sarà
impossibile utilizzare Harbour al posto di Clipper. La DBFNTX.LIB è
troppo limitata di natura e l'ADS RDD, ha quanto ho sentito, ha alcune
limitazioni sul tipo di funzioni che si possono mettere nelle clasulole
come la FOR (che è essenziale per creare viste logiche anche molto
complesse).
EMG

complesse).
Non ho ancora provato ad usare harbour con ADS, anche perche' vorrei
prima farlo funzionare con la versione stand alone, poi passare al
client/server.
Come diciamo dalle nostre parti, sperem  :))
