Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2005
    Messaggi
    65

    Basic antico

    Buongiorno.Premetto che non sono un programmatore VB ma che per questioni si lavoro mi trovo a doverlo usare per una piccola routine.
    Ho un vecchissimo file .bas il cui listato è questo

    1 Clear , , 2000
    5 TEST = 0
    10 OPEN "I", #1, "IDEA.dat"
    20 OPEN "o", #2, "ORDI.TXT"
    30 If EOF(1) = -1 Then Close #1: If COD1 < 600000 Then GoSub 305: GoTo 360 Else GoTo 360
    39 Line Input #1, campo$
    41 If Left$(campo$, 1) = Chr$(2) Then GoTo 30
    42 If Mid$(campo$, 14, 1) <> Chr$(66) Then GoTo 30
    43 QTA1$ = Mid$(campo$, 2, 12): C66$ = Mid$(campo$, 8, 1): C6 = Val(C66$)
    44 QTA2 = Val(QTA1$)
    45 If QTA2 < 80000 Then VAR1$ = Mid$(campo$, 10, 4): GoTo 30
    47 If QTA2 < 600000 Then If C6 = 1 Then tio$ = "PEC"
    49 If QTA2 < 600000 Then If C6 = 2 Then tio$ = "TIR"
    51 If QTA2 < 600000 Then If C6 = 3 Then tio$ = "TAT"
    53 If QTA2 < 600000 Then If C6 = 4 Then tio$ = "TMO"
    55 If QTA2 < 600000 Then If C6 = 5 Then tio$ = "TPR"
    56 If QTA2 = 699000 And QTAM = 0 Then If C6 = 6 Then QTAM = QTA: tipos$ = tio$: GoTo 30
    57 If QTA2 = 699000 And QTAM > 0 Then GoTo 30
    58 If QTA2 = 600999 Then If C6 = 6 Then tx = 1: GoTo 30
    59 If QTA2 < 600000 Then C6 = C6 * 100000
    61 If QTA2 < 600000 Then QTA = QTA + ((QTA2 - C6) / 100): GoTo 30
    70 ART$ = Mid$(campo$, 2, 5)
    72 DIS$ = Mid$(campo$, 7, 3)
    73 Var$ = Mid$(campo$, 10, 4)
    75 If QTA2 > 600000 And TEST > 0 Then GoSub 305
    80 If QTA2 > 600000 And TEST = 0 Then ART1$ = ART$: DIS1$ = DIS$: VAR1$ = Var$: GoSub 105: GoTo 30
    105 TEST = TEST + 1: tio$ = "REF"
    106 c1 = 0: c2 = 0: c3 = 0: QTA3 = 0
    107 If Mid$(campo$, 15, 1) <> Chr$(93) Then QTA = 0: GoTo 30
    108 c1$ = Mid$(campo$, 16, 1): c11 = Asc(c1$)
    109 If (c11 >= 48) And (c11 <= 57) Then c1 = Val(c1$)
    110 c2$ = Mid$(campo$, 17, 1): c22 = Asc(c2$)
    120 If (c22 >= 48) And (c22 <= 57) Then c2 = Val(c2$): c1 = c1 * 10
    130 c3$ = Mid$(campo$, 18, 1): c33 = Asc(c3$)
    140 If (c33 >= 48) And (c33 <= 57) Then c3 = Val(c3$): c1 = c1 * 10: c2 = c2 * 10
    200 QTA3 = c1 + c2 + c3
    300 Return
    305 If QTA = 0 Then QTA = QTA3
    306 If QTAM > 0 Then QTA = QTAM: tio$ = tipos$
    310 Print ART1$, DIS1$, VAR1$, QTA, tio$
    320 Write #2, ART1$, DIS1$, VAR1$, QTA, tio$
    330 TEST = 0: QTA = 0: QTA3 = 0
    334 If tx = 1 Then QTAM = 0: tipos$ = "": tx = 0
    350 Return
    360 Cls
    380 Close #1

    Apro il file con VB 6.0 e viene aperto come modulo.
    come faccio ad utilizzare il pgm e modificarlo con vb 6 visto che solo lanciandolo per fare il debug mi da errore ?

    Un grazie disperato a tutti


    390 Close #2

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,326
    Lo devi riscrivere... Basic non è VisualBasic e molte istruzioni del vecchio Basic in VB sono cambiate.

    VisualBasic lo apre come modulo perchè .BAS è l'estensione che è stata "mantenuta" per i moduli di VB.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Ti da' un errore ... quale?

    Intanto elimina tutti i numeri di linea ... le istruzioni non supportate (come la prima Clear ...) ... dichiara le variabili con i tipi corretti eliminando il carattere finale (%, $, #) ... sostituisci tutti i GOSUB con delle chiamate a Sub ... elimina i GOTO cercando di scrivere codice strutturato ...

    In realta' ... se riscrivi tutto tenendo conto solamente dell'algoritmo, e' meglio.
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  4. #4
    Utente di HTML.it
    Registrato dal
    Mar 2005
    Messaggi
    65
    Grazie per le risposte.Temevo la riscrittura del codice.
    Il fatto è che di VB non ne so niente.
    Editando eventualmente la variazione aprendo il .bas con notpad posso poi ricompilarlo in un exe?

  5. #5
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Originariamente inviato da gian666
    Grazie per le risposte.Temevo la riscrittura del codice.
    Il fatto è che di VB non ne so niente.
    Non e' tanto diverso da quel vecchio BASIC ... semmai e' il "modo" di programmare che VB impone che e' un po' diverso ... non credo che, se conosci il Basic, non puoi arrivare ad una soluzione ...

    Editando eventualmente la variazione aprendo il .bas con notpad posso poi ricompilarlo in un exe?
    Non ho capito ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  6. #6
    Utente di HTML.it
    Registrato dal
    Mar 2005
    Messaggi
    65
    Volevo dire che il file .bas che mi ritrovo posso variarlo( si tratta solo di variare questa istruzione ART$ = Mid$(campo$, 2, 3) in ART$ = Mid$(campo$, 2, 4) senza usare visual basic e poi compilarlo in eseguibile.

  7. #7
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Ma devi avere il compilatore originale ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  8. #8
    Utente di HTML.it
    Registrato dal
    Mar 2005
    Messaggi
    65
    puoi essere piu' chiaro.Grazie

  9. #9
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Beh .. piu' chiaro di cosi' ...

    Quando scrivi

    "posso poi ricompilarlo in un exe? "

    per farlo, senza riscrivere il tutto in VB, devi avere il compilatore BASIC originale ... chiaro?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  10. #10
    Utente di HTML.it
    Registrato dal
    Mar 2005
    Messaggi
    65
    Ho trovato un programma che fa al caso mio:QuickBasic.
    E' molto arcaio e gira sotto Dos ma mi permette da un file .bas di compilarlo in .exe.

    Grazie

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.