Oppure

Loading
16/01/18 15:29
giorossi
Ciao a tutti,
mi rivolgo al forum per chiedere assistenza per il mio problema.
In azienda avevamo un vecchio PC con Windows XP dotato di porta parallela LPT1.
Mille anni fa da un ex dipendente era stato fatto un programmino in Qbasic per stampare le distinte materiali per preparare gli ordini in corso. Questo computer purtroppo è defunto e non esistono altri computer in azienda con XP, ne tantomeno con porte LPT1, quindi ad oggi non è più possibile stampare distinte. Sono però riuscito dai backup a ritrovare il codice sorgente e chiedo se qualcuno potesse assistermi nel ricompilare il codice e piuttosto che indirizzare la stampa su LPT1 se fosse possibile salvare il risultato su un file TXT.

Grazie a chiunque per l'attenzione
Giovanni
aaa
16/01/18 16:40
Poggi Marco
Ciao !

Ho visionati i sorgenti, devo ammettere che non ho capito molto della logica del programma, o programmi.
Purtroppo, cosi su due piedi, non posso aiutarti.

Posso solo consigliarti qb64; un compilatore compatibile con QBasic: qb64.net/

aaa
16/01/18 19:10
nessuno
A quale sorgente ti riferisci? M82 M92 ... ?

Il codice ha una "protezione" (ovviamente stupidissima) che comunque indica che qualcun altro non voleva che si utilizzasse senza permesso oltre il 2000 (o 2010 ...)

Per il resto mi sembra abbastanza banale ... Apri un file in output e ogni LPRINT la cambi in PRINT # usando il canale prescelto.
Poi ricompili con il BC e il LINK
Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
17/01/18 6:52
torn24
Il suggerimento di nessuno è ottimo, però guardando il sorgente mi sembra di aver trovato un bug, e magari ce ne sono altri.


Esempio, si sceglie tra i colori bianco, avorio o grigio, secondo me in questo codice si esclude la scelta del bianco




DO
  COLOR 10, 0, 0
  LOCATE 20, 5
  PRINT "Inserire <A> o <B> o <G>"
  COLOR 14, 0, 0
  LOCATE 11, 1
  PRINT "                                                                     "
  LOCATE 11, 1
  INPUT "Colore delle porte AVORIO, BIANCO o GRIGIO "; POR$
  POR$ = UCASE$(POR$)
LOOP UNTIL POR$ = "A" OR POR$ = "B" OR POR$ = "G"
IF POR$ = "B" THEN MID$(F$, 8, 1) = "B"
IF POR$ = "G" THEN MID$(F$, 8, 1) = "G" ELSE MID$(F$, 8, 1) = "A"





Quindi mi chiederei se è il caso di utilizzare il programma, magari ha dei bug che non sono mai stati rivelati.
aaa
17/01/18 14:10
nessuno
In effetti ...
Ultima modifica effettuata da nessuno 17/01/18 14:31
Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
17/01/18 14:38
giorossi
Ragazzi non ho parole...siete fantastici!
Premetto dicendo che questo codice non è niente di commerciale ma lo aveva creato il disegnatore che lavorava in azienda prima di me (parlo del 2000) e in fase di avvicendamento mi ha stampato e lasciato il sorgente dicendomi che poteva essere modificato in base alle esigenze di lavoro senza problemi, quindi il discorso della protezione lo andrei a eliminare e la porzione di codice relativa alla protezione l'ho trovata.
E' un programmino vecchissimo ma mi salva quando devo creare la distinta base per la preparazione degli ordini.
Per quanto riguarda la scelta dei colori non ho notato bug e comunque non fa altro che comparire sulla stampa ma quello posso correggerlo a mano prima di passare l'ordine in magazzino.
Il mio problema più grosso è reindirizzare la stampa su un file txt e ricompilare il codice affinchè possa essere lanciato su Windows 7 64bit ma ahimè sono totalmente a secco di programmazione.
aaa
17/01/18 14:41
torn24
Forse sbaglio, ma io lo interpreto in questo modo

IF POR$ = "B" THEN MID$(F$, 8, 1) = "B" ' Se la stringa è B cambia il carattere in B

Ma poi viene eseguito anche questo IF anche nel caso la stringa sia B
IF POR$ = "G" THEN MID$(F$, 8, 1) = "G" ELSE MID$(F$, 8, 1) = "A"  ' se non è G  ELSE cambia il carattere in A


quindi ho pensato, se è B viene impostato comunque in A e quindi non è possibile scegliere B
Ma probabilmente ho sbagliato qualcosa :pat:
aaa
17/01/18 14:47
giorossi
Credo (ma prendetelo con il beneficio di un perfetto ignorante in materia) che sia QBasic. Nella cartella "Pareti" dove ci sono i codici sorgente e gli eseguibili ho trovato anche il file qbasic.exe
aaa