come usare harbour ?

212 views
Skip to first unread message

gio65

unread,
Sep 5, 2010, 5:26:53 AM9/5/10
to Harbour supporto utenti in italiano
ciao a tutti, ho letto tutti i post ma nonostante ciò non ho ancora
capito come portare un vecchio programma clippler in win7. è un
programma che ho modificato l'ultima volta quando c'è stato il
passaggio da lira a euro, ricordo che per compilarlo creavo un obj
(forse) e poi usavo l'istruzione plink86 nomefile li clippere,extend
mi è parso di capire che non tutte le versioni di clipper vadano bene;
se così fosse come verifico la mia? ci sono anche problemi nella
gestione dei dbf?
grazie.

Massimo Belgrano

unread,
Sep 5, 2010, 6:13:31 AM9/5/10
to harbo...@googlegroups.com
Ciao Gio è
Molto più semplice che in clipper
hbmk2 mio.prg mio2.prg mio3.prg (poi passi eventuali fflag di
compilazione -b-l ecc)
e lui automaticamente crea mio.exe

Nessun problema con i dbf

Ti consiglio di
scaricare la versione creata ogni notte dai sorgenti harbourt da
https://sourceforge.net/projects/harbour-project/files/binaries-windows/nightly/harbour-nightly-win.exe/download
leggere dal mio blog qualche informazione aggiuntiva sul linguaggio
harbour http://harbourlanguage.blogspot.com/search/label/hbmk2

> --
> Hai ricevuto questo messaggio perché sei iscritto al gruppo "Harbour supporto utenti in italiano" di Google Gruppi.
> Per postare messaggi in questo gruppo, invia un'email a harbo...@googlegroups.com.
> Per annullare l'iscrizione a questo gruppo, invia un'email a harbourITA+...@googlegroups.com.
> Per ulteriori opzioni, visita il gruppo all'indirizzo http://groups.google.com/group/harbourITA?hl=it.
>
>

--
Massimo Belgrano

gio65

unread,
Sep 5, 2010, 3:09:03 PM9/5/10
to Harbour supporto utenti in italiano
grazie per le informazioni.

ora non ho a disposizione la macchina dove risiedono sia i prg clipper
che harbour, ne approfitto per leggere accuratamente il blog e spero
anche di risolvere 'i flag di configurazione'-
sono a digiuno da parecchi anni. mi è capitato di comprare un portatle
con win 7 64 bit, mi sono reso conto del problema e cercavo di
affrontarlo in maniera radicale senza dover riscrivere tutto, anche
perchè non so se riuscirei sia come tempo che come testa.

comunque mi faccio sentire in ogni caso.

ciao

gio65

unread,
Sep 6, 2010, 1:29:21 PM9/6/10
to Harbour supporto utenti in italiano
ciao, dopo aver letto ho provato:

ho portato i prg nella cartella bin per non avere problemi di
percorsi, ho provato a compilare il prg ed a eseguire ma non ci sono
riuscito. visto la difficoltà estrema che era usare il compilatore,
dopo questa penso che mi cresceranno le orecchie.

ecco ciò che ho fatto ed i risultati

C:\programmi\hb20\bin>hbmk2 edimenu1.prg

compiling ......
compiling......
Lines 12977, Functions/Procedures 133
Generating C source output to 'edimenu1.c' ... Done

C:\programmi\hb20\bin>hbmk2 edimenu1-run
hbmk2: Processing configuration: C:\programmi\hb20\bin\hbmk.cfg
Harbour 2.0.0 (Rev. 13372)
Copiright (c) 1999-2010, http://www.harbour-project.org/
Cannot open edimenu1-run.prg, assumed external

No code generated.
hbmk2: Error: Running Harbour compiler (embedded). 1
(C:\programmi\hb20\bin\harbour.exe) -n2 edimenu1-run.prg -iC:/
programmi/hb20/include

grazie per la pazienza

Massimo Belgrano

unread,
Sep 6, 2010, 1:46:30 PM9/6/10
to harbo...@googlegroups.com
in linea di massima devi aggiungere tutti i prg e il primo deve essere quello di avvvio dove c'e la procedure main 
hbmk2 edimenu1.prg altroprg.prg ciao.prg

se la tua procedura non ha una procedura di avvio
hbmk2 edimenu1.prg altroprg.prg ciao.prg -n

Devi verificare come deve verificaer la  procedura di avvio  nel tuo sorgente
-n0 /-n1 /-n2
magari la risposta è nella vecchia fase di compilazione per clipper
quale era il batch di compilazione con clipper?


Il giorno 06 settembre 2010 19:29, gio65 <iam...@alice.it> ha scritto:
ciao, dopo aver letto ho provato:

ho portato i prg nella cartella bin per non avere problemi di
percorsi, ho provato a compilare il prg ed a eseguire ma non ci sono
riuscito. visto la difficoltà estrema che era usare il compilatore,
dopo questa penso che mi cresceranno le orecchie.

ecco ciò che ho fatto ed i risultati

C:\programmi\hb20\bin>hbmk2 edimenu1.prg

compiling ......
compiling......
Lines 12977, Functions/Procedures 133
Generating C source output to 'edimenu1.c' ... Done

qua dovresti poter lanciare edimenu1.prg
 
C:\programmi\hb20\bin>hbmk2 edimenu1-run
hbmk2: Processing configuration: C:\programmi\hb20\bin\hbmk.cfg
Harbour 2.0.0 (Rev. 13372)
Copiright (c) 1999-2010,  http://www.harbour-project.org/
Cannot open edimenu1-run.prg, assumed external

No code generated.
hbmk2: Error: Running Harbour compiler (embedded). 1
(C:\programmi\hb20\bin\harbour.exe) -n2 edimenu1-run.prg -iC:/
programmi/hb20/include


con -n2 
le dovresti passare tu il nome della procedura di avvio

--
Massimo Belgrano

gio65

unread,
Sep 6, 2010, 3:21:15 PM9/6/10
to Harbour supporto utenti in italiano
ciao,
il programma che compilo (edimenu1) è il principale che a sua volta in
base ad un menù di scelta chiama tutti i vari programmi e procedure
esterne.
in fase di compilazione con hbmk2 infatti li vedo scorrere tutti sullo
schermo affianco della frase compiling esattamente come faceva il
primo passaggio di clipper quando mi creava il file (obj?bat?) da
compilare con 'plink86......'
se devo inserirli tutti (a parte che sono 108), il primo lo so per
certo ma l'ordine di tutti gli altri e le procedure esterne è
impossibile.

queso è edimenu1
--------------------------------------------------------
SET CENTURY ON
SAVE SCREEN TO my_menu1
SET DATE ITALIAN
SET SCOREBOARD OFF

fatpag=0

inserito=0
sfon=CHR(178)+CHR(178)+CHR(178)+CHR(178)+CHR(178)+CHR(178)+CHR(178)+CHR(178);
+CHR(178)

DO WHILE .T.

SET COLOR TO B/W
@0,0,24,79 BOX sfon
SET COLOR TO R/W
@1,30 SAY " E D I S E R V S.R.L. "
sc_men1=0

SET COLOR TO N/N
@ 6,2 CLEAR TO 20,21 && rettangolo nero (ombra)

SET COLOR TO W+/RB,G+/RB
@ 5,4 CLEAR TO 19,24 && rettangolo
@5,5 TO 19,23

SET WRAP ON && permette di scorrere il menu'

SET MESSAGE TO 24 CENTER && scrive nell'ultima riga dello schermo

@6,6 PROMPT " Inserimento " MESSAGE " Men— inserimento
dati "
@8,6 PROMPT " Visualizzazione " MESSAGE " Men— visualizzazione
dati "
@10,6 PROMPT " Stampa " MESSAGE " Men— stampa
dati "
@12,6 PROMPT " Banca " MESSAGE " Fornisce il saldo
bancario "
@14,6 PROMPT " Copia " MESSAGE " Men— copia dati: serv/
disco"
@16,6 PROMPT " Optional " MESSAGE " Men— programmi di
utilit… "
@18,6 PROMPT " Uscita " MESSAGE " Esce dal
programma "


MENU TO sc_men1 && restituisce nella veriabile " sc_men1 "
&& il numero dell'opzione selezionata


DO CASE && case della scelta effettuata nel
&& primo menu'
CASE sc_men1=1 && visualizzazione menu' inserimento
inserito=1
sc_mins=0
DO menins
LOOP
CASE sc_men1=2
sc_mvis=0
DO menvis
LOOP
CASE sc_men1=3
sc_mst=0
DO menst
LOOP
CASE sc_men1=4
DO saldo
LOOP
CASE sc_men1=5
sc_mco=0
DO mencopia
LOOP
CASE sc_men1=6
DO menutil
LOOP
ENDCASE

EXIT
ENDDO

SET SCOREBOARD ON
RESTORE SCREEN FROM my_menu1
SET CENTURY OFF
-------------------------------------------------

grazie

Massimo Belgrano

unread,
Sep 6, 2010, 3:25:26 PM9/6/10
to harbo...@googlegroups.com
Quale era il batch di compilazione?
clipper  bla bla
link bla bla


Il giorno 06 settembre 2010 21:21, gio65 <iam...@alice.it> ha scritto:
ciao,
il programma che compilo (edimenu1) è il principale che a sua volta in
base ad un menù di scelta chiama tutti i vari programmi e procedure
esterne.
in fase di compilazione con hbmk2 infatti li vedo scorrere tutti sullo
schermo affianco della frase compiling esattamente come faceva il
primo passaggio di clipper quando mi creava il file (obj?bat?) da
compilare con 'plink86......'
se devo inserirli tutti (a parte che sono 108), il primo lo so per
certo ma l'ordine di tutti gli altri e le procedure esterne è
impossibile.

queso è edimenu1


--
Massimo Belgrano

gio65

unread,
Sep 6, 2010, 3:29:46 PM9/6/10
to Harbour supporto utenti in italiano
rieccomi

ho provato con il vecchio clipper per compilare faccio esattamente
'clipper edimenu1.prg'

spero serva a spiegare un po di più.

grazie

gio65

unread,
Sep 6, 2010, 4:08:53 PM9/6/10
to Harbour supporto utenti in italiano
la tua risposta mi è arrivata dopo il mio 'rieccomi' quindi provo a
integrare sperando di darti dati utili

visto che ormai ho solo copia su disco, tutto quello che riesco a
vedere andando nelle propietà del programma Clipper, è che è stato
modificato nel 1987 come il compilatore.

il compilatore è Plink86

una volta creato edimenu1.obj faccio: plink86 fi edimenu1 li
clipper,extend e mi crea l'exe.

ciao




Massimo Belgrano

unread,
Sep 6, 2010, 4:33:31 PM9/6/10
to harbo...@googlegroups.com
sembra che manchi edimenu1.prg
mentre nei sorgenti hai la linea
 DO edimenu1-run
use hbide (nella bin se hai scelto inde nell'installazione) che ha la funzione find in files
cerca nella diectory del programma
e trasformala in 
//  DO edimenu1-run
ciao
>
>hbmk2 edimenu1-run
>hbmk2: Processing configuration: C:\programmi\hb20\bin\hbmk.cfg
>Harbour 2.0.0 (Rev. 13372)
>Copiright (c) 1999-2010,  http://www.harbour-project.org/
>Cannot open edimenu1-run.prg, assumed extern
--
Massimo Belgrano


gio65

unread,
Sep 6, 2010, 5:12:14 PM9/6/10
to Harbour supporto utenti in italiano
sono cotto, ma non penso sia a causa di questo che devo dire 'non ho
capito cosa devo fare'

nel frattempo andando nella dir bin. dove ho creato edimenu1.exe ho
visto che ha generato
un documento di testo 'hb.out' che dice:

Application Internal Error - C:\Programmi\hb20\bin\edimenu1.exe
Terminated at: 2010.09.06 18:48:33
Unrecoverable error 9012: Can't locate the starting procedure: 'MAIN'

quindi penso che il tuo consiglio sia esatto.

domani mi spiegheresti facile facile i passi? nel frattempo leggo
rileggo e rimuggino.

grazie a domani

Massimo Belgrano

unread,
Sep 6, 2010, 5:16:00 PM9/6/10
to harbo...@googlegroups.com

trasforma edimenu in :
function main
SET CENTURY ON
SAVE SCREEN TO  my_menu1
SET DATE ITALIAN
SET SCOREBOARD OFF

fatpag=0

inserito=0
sfon=CHR(178)+CHR(178)+CHR(178)+CHR(178)+CHR(178)+CHR(178)+CHR(178)+CHR(178);
    +CHR(178)

DO WHILE .T.
--
Hai ricevuto questo messaggio perché sei iscritto al gruppo "Harbour supporto utenti in italiano" di Google Gruppi.
Per postare messaggi in questo gruppo, invia un'email a harbo...@googlegroups.com.
Per annullare l'iscrizione a questo gruppo, invia un'email a harbourITA+...@googlegroups.com.
Per ulteriori opzioni, visita il gruppo all'indirizzo http://groups.google.com/group/harbourITA?hl=it.




--
Massimo Belgrano

gio65

unread,
Sep 7, 2010, 4:13:58 PM9/7/10
to Harbour supporto utenti in italiano
il prg gira!!!!!!

grazie sono già contento di vederlo apparire sullo schermo.

ora importo i dbf, vedo come gestire il fatto che è studiato per
lavorare in D: e copiare solo certe cose in C: e provo.

ho notato che facendo hbmk2 edimenu1 - run, esegue nuovamente una
compilazione quindi il programma deve sempre girare con sotto il
supporto harbour? non crea definitivamente un exe. secondo te harbour
è installabile su chiavetta?

problema: il mio programma presenta un primo menù ( e poi altri) in
cui puoi scegliere un'opzione digitando invio; ogni volta che do invio
lo prende 'anche' come a capo e la videata sale lasciando sotto righe
nere proprio come se fossi al promp del doss. gestione di qualche
scroll?

comunque è già una soddisfazione, erano anni oramai che facevo il
semplice utente di software, ma potendo avere il tempo è sempre bello
ed affascinante mettere mano ai programmi.

ciao

Massimo Belgrano

unread,
Sep 7, 2010, 4:26:52 PM9/7/10
to harbo...@googlegroups.com
Bene
hai l'eseguibile creato fai dir edi*.exe
harbour è portable a patto che tu accedi a percorsi corretti
set defa to c:\mioprogramma\dbf
non sara più portable
invece
 set defa to dbf
crea un percorso dalla directory corrente


Sulla chiavetta i tempi di accesso sono 10-100 volte più lenti che su un'hard disk

--
Massimo Belgrano

gio65

unread,
Sep 7, 2010, 4:51:37 PM9/7/10
to Harbour supporto utenti in italiano
ciao, farò un po di prove.

a genova temporale serio, mi sono già spento 2 volte

in questi giorni, appena riesco, vado avanti verificare il programma e
vedere come gira, per stasera sono più che soddisfatto.

grazie ancora

Reply all
Reply to author
Forward
0 new messages