Novità

Mente da programmatore

Edoardo_95

Advanced Member
Perfetto funziona tutto. Volevo chiederti una cosa (mi serve sia a capire sia a finire una funzionalità del software abbastanza complessa per me) la statistica per essere lanciata deve essere prima inizializzata. Ora tu mi hai detto che è possibile passare una singola ruota e lanciarla ogni volta per la statistica su ruote separate ma non è così. Il parametro che viene passato all'inizializzazione è un Array di booleana che viene gestito internamente alla struttura. Non posso passare una singola ruota. Quindi dovrei creare una struttura dove accetta una ruota soltanto. E passargli la ruota solo se è true. È sbagliato?
 
L

LuigiB

Guest
Il fatto che ci sia un array boolean non significa che debbano essere impostati a true tutti gli elementi .. uno imposta atruie l'indice della ruota che serve ,


numeri = array .....
posizioni = array ..
inizio = ..
fine = --


for r = 1 to 11
redim aRuote (11)
aRuote (r) = true
frz.inizializza
statistca formazione
mostrarisultati
next
 
L

LuigiB

Guest
inoltre nessunoi ti impedisce di duplicare la funzione inizializza cambiando il parametro delel ruote in un integer
internamente dovrai valorizzare l'array con la ruota passata ...
è facile la funzione la devi copiare tale e quale , cambi il parametrro e lo gestisci dentro
poi in fase di chiamata l'amviente si rete conto da solo quale funzione stai usando se quella cone le ruote boolean o quelle con il numero integer


1638884526221.png
 
L

LuigiB

Guest
vedi che internamente c'è un arra che viene valorizzato con quanto passato , quindi se ti fa comodoavere la funzione inizializza che accetti una sola ruota basta che fai le opportune modifiche nelle parti che ti ho evidenziato e crei una seconda funzione inizializza , avendo parametr idiversi pssono coesistere si chiama overload , senno puoi benissimo farne a meno e gestire la cosa coem ti ho spiegato su
 

Edoardo_95

Advanced Member
vedi che internamente c'è un arra che viene valorizzato con quanto passato , quindi se ti fa comodoavere la funzione inizializza che accetti una sola ruota basta che fai le opportune modifiche nelle parti che ti ho evidenziato e crei una seconda funzione inizializza , avendo parametr idiversi pssono coesistere si chiama overload , senno puoi benissimo farne a meno e gestire la cosa coem ti ho spiegato su
Grazie mille davvero 🙂 io stavo procedendo nel primo modo generando l'overload. Comunque ora vedo 🙂
 
L

LuigiB

Guest
l'overload delel funzioni si ha quando una stessa funzione accetta contemporaneamente parametri diversi , il compilatore ne riconosce la chiamata.
Internamente la formazione ha sempre il suo array da 11 , mo se uno dall'esterno gli vuole passare piu ruote pure lui deve usare un array , se gl ivuole passare una ruota sola gli passa solo quella e la funzione internamente continua a fare quell oche faceva prima e cioè valorizzare il suao array ruote interno , prima ciserviva poter selezionare una o piu ruote .. ora se in questa nuova funzionalità ti fa comodo poterla inizializzare con una sola ruota lo puoi fare..la logica della statistica non cambia
 
L

LuigiB

Guest
qui la richiesta che ci fanno è inserire un modulo di scripting , in dotnet è meglio non usare (a parte che funziona solo a 32 bit) lo scriptcontrol di microsoft, lo scriptcontrol era un componente in grado di eseguire codice vbscript.
In vb net gli script si fanno in vbnet .. quindi eventualmente dovremmo realizzare una libreria che poi una volta referenziata nell'ambiente consentira di usare le funzioni che andremo ad inserirci facilitando la stesura dei successivi script che poi script non sono, sono veri e propri programmi.
In pratica andrebbero replicate le funzioni di script che sono presenti in spaziometria.
Sinceramente a pensarci mi viene un colpo .. tra l'altro data la potenza del linguaggio non è che si possa mettere un editor come in spaziometria dove il linguaggio vbscript era piu semplice e meno potente, per sfruttare appieno le potenzialita del vbnet bisogna usare il suo ide. Si guadagna in potenza ma si perde in semplicità non so se verrebbe utilizzato come capita con spaziometria.
 

Edoardo_95

Advanced Member
qui la richiesta che ci fanno è inserire un modulo di scripting , in dotnet è meglio non usare (a parte che funziona solo a 32 bit) lo scriptcontrol di microsoft, lo scriptcontrol era un componente in grado di eseguire codice vbscript.
In vb net gli script si fanno in vbnet .. quindi eventualmente dovremmo realizzare una libreria che poi una volta referenziata nell'ambiente consentira di usare le funzioni che andremo ad inserirci facilitando la stesura dei successivi script che poi script non sono, sono veri e propri programmi.
In pratica andrebbero replicate le funzioni di script che sono presenti in spaziometria.
Sinceramente a pensarci mi viene un colpo .. tra l'altro data la potenza del linguaggio non è che si possa mettere un editor come in spaziometria dove il linguaggio vbscript era piu semplice e meno potente, per sfruttare appieno le potenzialita del vbnet bisogna usare il suo ide. Si guadagna in potenza ma si perde in semplicità non so se verrebbe utilizzato come capita con spaziometria.
Credimi ti capisco perfettamente. Non hai idea anche delle richieste "in privato" di utenti che conosco. Saranno almeno 15. Se te con la tua esperienza utilizzi il termine "complesso" ...mi viene un colpo anche a me credimi ahahahaha. Beh se per te va bene potremmo fare sempre una versione moooooolto light dello stesso. E poi compreso il meccanismo..nel tempo.. implementerò altro
 
L

LuigiB

Guest
mha secondo me non lo userebbe nessuno perche è un po piu complesso , a reimplementare le funzioni dello spazioscript cosi come sono si potrebbe pure .

devi corrggere que per silop , invece che chekeditems ci vuole items , nel form interessato

1639053299211.png
 

Edoardo_95

Advanced Member
mha secondo me non lo userebbe nessuno perche è un po piu complesso , a reimplementare le funzioni dello spazioscript cosi come sono si potrebbe pure .

devi corrggere que per silop , invece che chekeditems ci vuole items , nel form interessato

Vedi l'allegato 2226502
Vedi un po' te, nel caso la mia voglia di imparare da te è pressoché infinita aha 🙂. Io purtroppo non avendo le competenze necessarie non ho proprio voce in capitolo
 

Edoardo_95

Advanced Member
Se a prescindere poi decidi di lasciar perdere. Dammi le linee guida di come andrebbe sviluppato e proverò a cimentarmi a "tempo perso"
 

i legend

Premium Member
Luigi prima di spaziometria (anche altri programmi free avevano l editor per gli script) erano in pochissimi a saper fare un listato.
Poi tu hai insegnato, e i tuoi studenti si sono moltiplicati.
Potresti portare qualche vecchietto, nella next generation. :)
In ogni caso , grazie mille :) di tutto.
 
L

LuigiB

Guest
esempio con possibilita di script.
Ho implementato solo Estratto e Scrivi

attento a non sostituire i tuo isorgenti ... questi usali solo per prova



se vuoi aggiungere funzioni deviandare nel progetot della libreria nella classe clsGiochi e scriverle li seguendo la falsa riga diquelel che gia ci sono.
Poi pero devi andare anche a scrivere i lcodice per fare il wrapper delel lfunzioni della classe.
Per spiagarmi meglio noi per usare le funzioni dobbiamo prima istanziare una classe cioè quella che le espone. Pero il vecchio scriptdispaziometria non funzionava cosi se pensiamo che chi fa gl iscript si metta aistanziare le classi stiamo freschi .. allora bbiamo dovuto creare un wrapper un involucro per richiaare lafunzione senzaq bisogno di istanziare esplicitamente la classe .

fadi finta che noi abbiamo la classe clsGiochi che espone la funzione scrivi

nello script dovremm oprima istanziare la classe e poi richiamare il metodo , per facilitarel le cose e lanciare soloscrivi comesi ffaceva in spazioscript dietro le quinde una vclasse viene istanziatra e ci sono dlle funzioni wrapper che consentono di richiamarne i metodi

piu facile vederlo in pratica che spiegarlo .. dai un occhiata al file ModScriptWrapper.vb che si trova nella dir di debug o in quella di release , attenzione non è un vero file vb ,aprilo con notepad o ultraedit.
Ogni funzione che scrivi nella classe Giochi deve avere il suo wrapper in quel file.
Inoltre quando complili la dll poi la devi copiare in debug o release dle nostro programma.
 
L

LuigiB

Guest
questo è solo per farti capire .. dobbiamo farl oun po meglio .. poi doman ici penso .. tu intanto guardalo ..
 
L

LuigiB

Guest
ecco ho messo un esempio migliore ,teoricamente da questo esempio mattoncino dopo matoncino puoi ricreare l'ambiente di script dispazioemtria

 
L

LuigiB

Guest
errori

1639090335282.png

1639090354973.png


in tutte edue le routine hai istanziato dei form che non servovno a nulla se non a occupare memoria ...
quali sono ? Fai le correzioni ..
 

Edoardo_95

Advanced Member
Eeeeeeeh la miseria. "Dietro le quinte" c'è il mondo altro che. Te in pratica hai pensato letteralmente a tutto. Comunque ora devo studiarmelo bene. A prima vista ho già compreso il concetto di fondo (hai ragione senza vedere non avevo capito) ma devo comprendere bene i passaggi.
 

Ultima estrazione Lotto

  • Estrazione del lotto
    sabato 18 maggio 2024
    Bari
    77
    62
    67
    60
    04
    Cagliari
    89
    01
    35
    54
    38
    Firenze
    84
    58
    25
    64
    57
    Genova
    53
    25
    66
    59
    23
    Milano
    22
    75
    48
    16
    77
    Napoli
    81
    41
    42
    67
    39
    Palermo
    19
    63
    57
    43
    05
    Roma
    04
    35
    50
    33
    23
    Torino
    56
    20
    46
    14
    88
    Venezia
    78
    81
    42
    74
    36
    Nazionale
    42
    83
    59
    86
    34
    Estrazione Simbolotto
    Milano
    41
    29
    01
    27
    30
Alto