Newsgroup: it.comp.lang.visual-basic
Titolo: da vb6 a vb.net 2010

ho dei vecchi progetti in vb6, è possibile convertirli in 
vb.net
 2010, 
senza installare l'intermediario (
vb.net
 2008)?
 

 senza installare l'intermediario (
vb.net
 2008)?
 
Certo, tanto dovrai farlo a mano.
Tool che lo facciano bene in modo automatico non credo esistano. (Forse 
uno fatto da Balena & Co. ma non ne so molto al riguardo).
 
 


 
Diciamo che ci sono dei tool  non proprio efficenti......
 
Io per un progetto con una 50 di form ho scelto di fare
la conversione  form  per  form, cancellando poco
per volta tutti gli errori che si presentavano.
Ha funzionato piuttosto bene ma posso dirti
che se il progetto fosse stato moooolto piu' piccolo
avrei fatto prima a riscriverlo.
 
ciao
 
 

 
 
 
Non esistono tool che fanno il lavoro che chiedi senza generarti una caterva di errori.
Restano poi decine di riferimenti a componenti COM ed API di windows.
Consiglio spassionato: fai la conversione a mano.
 
Nicola
 

 ha scritto nel messaggio 
news:4ea67af6$0$1379$4faf...@reader2.news.tin.it...

Concordo ....se il progetto è minimo !
 
Il mio aveva oltre 80.000 linee e una 50ina di form,
anche il solo ridisegnare i form mi sarebbe costato 6 mesi di lavoro.
Gli errori ci sono in conversione ma normalmente sono ripetizioni
che si correggono al volo con un copia incolla o un sostituisci.
 
Per i nuovi / piccoli progetti  allora si che conviene riscrivere 
 
 

 Per i nuovi / piccoli progetti  allora si che conviene riscrivere
 
OGNUNO FA COME CREDE! La via al dolore dell'uomo è infinita!
 
Se hai 80.000 righe di codice avrai anche una remunerazione alta, 
parecchi tomi di documentazione ed analisi.
A meno che le 80.000 righe non siano più che altro disegno di 
interfaccia!
La domanda....sempre imho ...è sempre la solita....perchè passo a NET?
Ogni prodotto ha un ciclo di vita....terminato è inutile prolungare 
l'agonia!
Quindi tutto si riformula in questi termini:
Sw in VB6....mi dà ancora la pagnotta? SI! la mantengo in vb6 e vivo 
felice!
Sw in vb6 che mi dà parecchi problemi compreso il fatto che il cliente 
chiede nuove funzionalità che mi costringerebbero a scrivere più del 20 
30% di nuove righe di codice (sempre che il codice non sia disegno 
interfaccia)....allora ci penso a terminare il prodotto ed avviare una 
nuova evoluzione!
 
Trasportare un sw da vb6 a 
vb.net
 con i tools di conversione sa 
parecchio di lamer!....abbi pazienza!...se vuoi(e ti interessa) poi 
possiamo discutere ampiamente del perchè di questa mia affermazione!
 
-- 
----- Italliaaaaa 3227! -----
Anche sul trono più alto del mondo, si sta seduti sul proprio culo.
( Michel de Montaigne )
 
 

 discutere ampiamente del perchè di questa mia affermazione!
 
Ho letto alcune tue risposte passate al riguardo .... e scusa se te lo dico
ma  .....   a me sembra che tu abbia solo paura che ti freghino del lavoro.
Lamer che significa scusa ?
Che io non possa utilizzare codice già fatto da altri ?
Tu dove hai studiato, su che libri , su che codici hai preso ' visione '
delle cose ?
 
 
 
 
 

 Per i nuovi / piccoli progetti  allora si che conviene riscrivere 
 
Invece è proprio il contrario.
 
Guarda che finora ho all'attivo vari porting da VB6 a WindowsForms/WPF, il più piccolo con svariate decine di migliaia di righe ed il più grosso con alcuni milioni di righe (ci sto lavorando ancora oggi).
 
Scrivere tutto in .NET, magari in WPF, è più faticoso all'inizio ma se capisci come funzionano certe logiche come MVVM, Binding ecc... alla fine ti viene tutto molto veloce.
 
Un progetto come quello che hai descritto ci metti 3 mesi al massimo a convertirlo a mano e, nel contempo, impari cose molto interessanti sul Framework.
 
Ripeto, il mio è solo un consiglio dettato dall'esperienza, poi decidi tu come vuoi procedere.
 
Nicola

 news:4ea68982$0$16660$5fc...@news.tiscali.it...
zac
 
Lamer significa tradotto terra terra in linguaggio comune 
italiano...."ragazzo spippolone che spippola e capisce forse il 30% di 
quello che fa ma si crede un grande ganzetto!"
 
L'affermazione che i tools di conversione sono roba da lamer deriva dal 
fatto che quella roba li è ...."li".... solo per fini commerciali e non 
per fini utili ad un programmatore!
 
Il perchè è presto detto....(e credimi se lo dico io che ho resistito A 
PIU' non posso contro il net (legge i post di qualche anno fa) forse un 
po di verità c'è!)
il metodo di sviluppo in net è alquanto DIVERSO da quello di vb6...
chi vuol trasportare damblè un programma vb6 in 
vb.net
 lo fa 
essenzialmente perchè non ha capito NULLA (mettiamoci la buona 
fede....perchè non ha tempo!) del nuovo ambiente di sviluppo!....un 
lamer appunto!
 
I vantaggo di una nuova SCRITTURA derivano sopratutto da un NETTA 
DRASTICA separazione fra DATI LOGICA INTERFACCIA....che te la sogni in 
vb6!
Il problema è che questa separazione ti... ci... vi.... darebbe grandi 
vantaggi....ma costringe a studiare di nuovo....e non tutti i colleghi 
hanno tempo/voglia/capacità/possibilità di farlo! Allora si inveisce 
contro i tools...o contro il nuovo linguaggio...o contro il grullo di 
turno come me che cerca di farvi/ci/mi/ti capire!...cosa che 
CICLICAMENTE avviene sul ng!
Ottomano più sotto...ha detto al meeting dvanti alla bistecca che lui 
cambiava l'interfaccia della sua applicazione semplicemte cambiando un 
foglio di stile similCSS....MERAVIGLIOSO! I vantaggi in termini di 
manutenzione e profitti sono grandissimi!....sta roba tu te la sogni 
con il vb6! ...e non c'è tools che te la implementi!
Ecco perchè son discorsi da lamer!
Non ho detto che SEI un lamer...ma che fai discorsi COME un lamer!
Per il resto non è vero nulla....che me frega del tuo lavoro? Posso 
dire nulla!??? Non sono geloso! Anzi....cerco di aiutare chi è passato 
dai casini da cui io son passato..!!!
Stai tranquillo....non mi ferghi nessun cliente....ne io ho interesse a 
fregarlo a te!....stai tranquillo!
:)
 
-- 
----- Italliaaaaa 3227! -----
Quando vedi la tua verità fiorire sulle labbra del tuo nemico, devi 
gioire, perché questo è il segno della vittoria.
(Giorgio Almirante)
 
 

 :)
 
E chi ti ha detto questo ......Ho semplicemente notato ( anche da tuoi post 
passati)
che sembrerebbe che ti scocci alquanto aver a che fare con
chi non ha la tua esperienza. 
 
 

 ha scritto nel messaggio 
news:4ea6d051$0$1384$4faf...@reader2.news.tin.it...

Non sono io che devo fare una conversione.
Ho già fatto su un progetto vecchio ed è andato bene.........
Posso solo portare la mia esperienza non fare il saputello .... 
 
 

 commerciali e non per fini utili ad un programmatore!
 
Quoto. Anch'io mi sono dovuto "arrendere" (con molte
paia di virgolette) a .NET, ma solo per i programmi
nuovi, tranne per uno che ho riscritto da capo in .NET.
D'altra parte, con un minimo di accortezze, tutti
i miei programmi scritti in VB5 girano tranquillamente
anche sotto W7 :-).
Ma nel momento in cui devo scrivere roba nuova, e
considerando che il VB classico non è più supportato
né sviluppato, la scelta è inevitabile.
 
Sì, ho provato un paio di convertitori.
Poi un altro paio.
Poi, a scrocco da un collega, uno che a suo dire
era il migliore... non ricordo neanche il nome,
ma mi pare di averlo citato qui qualche tempo fa.
Con quest'ultimo il programma *quasi* girava.
Ma il codice era praticamente incomprensibile,
laddove il codice originale era chiarissimo,
per la sintassi di VB. Rimetterci le mani era
come metterle su un programma scritto da qualcun
altro.
 
L'unico che ho riscritto, nonostante consistesse
graficamente in due form, uno principale con tre
pulsanti e tre voci di menu, l'altro solo per la
configurazione, aveva dietro una quantità notevole
di logica... beh, la logica l'ho mantenuta, ma il
codice ho fatto prima a riscriverlo da capo che ad
importarlo e farlo funzionare a calci.
 
 
Certo, la verbosità di .NET è mostruosa, in confronto
alla concisione di VB.
Partendo da zero, prima di capire come tradurre
un semplice UDT nested in una Structure equivalente
in .NET ci ho perso un bel po' di tempo.
 
Anzi, se qualcuno che non ci sia già passato
(e non barate !) si vuole divertire...
L'esempio in VB, estremamente terra terra, è quello
di un armadio, che contiene dei cassetti che contengono
delle buste che contengono dei foglietti, ognuno
con un numero.
 
****************
Option Explicit
 
Private Type Buste
    Foglio(10) As Integer
End Type
 
Private Type Cassetti
    Busta(20) As Buste
End Type
 
Private Type Armadi
    Cassetto(20) As Cassetti
End Type
 
 
 
Private Sub Form_Load()
    Dim Armadio(10) As Armadi
    Armadio(0).Cassetto(0).Busta(0).Foglio(0) = 5
    MsgBox Armadio(0).Cassetto(0).Busta(0).Foglio(0)
End Sub
****************
 
OK fin qui ? E' una cosa normalissima in VB come
in qualunque altro linguaggio. [Anzi, l'esempio
è estremamente semplice, rispetto a quello che
si usa in un programma reale, dove un UDT spesso
ha una dozzina di componenti, fra stringhe a
lunghezza fissa o variabile, matrici di qualunque
cosa, boolean e tutti gli altri tipi possibili.]
 
Beh, ora rifatelo in VB.NET...
 
Ripeto: io, prima di capire il trucco, ci ho
perso un paio d'ore sull'help e poi un'altro
paio su Google. D'accordo, io ho notoriamente
solo un povero mononeurone, ma obiettivamente
non mi pare una cosa lineare e intuitiva.
 
Bye, G. 
 

 chi non ha la tua esperienza.
Sarei un IDIOTA! ....io di sbagliato, lo riconosco, ci metto solo la 
foga e l'immediatezza del linguaggio  derivante probabilmente da 
maestri di vita validissimi ma rudi!
 
se vuoi una risposta più specifica
Tools di conversione? usati all'inizio del "Mondonet"....incazzato 
parecchio...inveito contro il net...contro zioBill...decantata la 
validità di vb6...etc etc....come vedi i soliti discorsi ....!
 
Tutti(gran parte) fanno questi discorsi quando non si ha una visione 
chiara del "nuovo" ...ma per averla bisogna provare a conoscere il 
"nuovo"...ed è un serpente che si morde la coda!
Ieri parlavo con un mio collega più fortunato : ha un swhouse molto più 
grossa con dipendenti sede alla Dilbert con openspace e  tutto il 
resto. Mi diceva che il più grande competitor locale ha ancora 
l'interfaccia a caratteri. Che lui l'ha grafica ma programma e sviluppa 
ancora in Delphi (nemmeno ultima versione).
Che hanno in programma un porting verso il mondo net ancora in 
embrione: tradotto...se ne parla fra qualche anno!
 
Voglio dire che ci sono ragioni pratiche...terra terra....che non 
giustificano ma rendono comprensibili tali scelte.
Ed alla fine il coglione, commercialmente parlando, sai chi è? sono io!
Perchè io ho clienti che mi telefonano per  farmi gli auguri di Natale 
e non li sento per un anno!Lui ha clienti che gli telefonano ogni 
settimana per una magagna ed a cui spedisce un "ragazzo"(caso mai 
apprendista o in stage) a fare assistenza!
 
Da un punto di vista della programmazione....i TOOLS di conversione 
fanno cagare! Ci perdi tempo! Non è codice manutenibile! Non è 
ottimizzato! Spesso nemmeno funzionante e se funziona si pianta....e 
vai a debuggarlo quel "melassa-code"!!!
Certo: se ti pagano ad ore e non hanno stabilito un monte ore, se non 
te ne frega nulla della qualità del codice, se sei uno stagista, se sei 
uno con un contratto a termine non rinnovabile, se sei un freeelance o 
subappaltatore e sai già che non lavorerai più con questa gente.....se 
non te ne frega nulla di questo cliente....TOOLS DI CONVERSIONE a gogò!
Alla fine basta tirar fuori la ciccia ...il grano...il problema casomai 
è che un sw fatto male ti porta ORA il "grano" ma te lo sega per il 
futuro....ma forse non ti interessa!
 
Ovviamente sai già che anche in VB6 un programma buono...rimane un 
programma buono!
E che un programma in vb6 se fatto bene...con minimi aggiustamenti gira 
anche in Windows7!
Io ho un programma che usa ancora DAO...perchè monoutente e con piccoli 
archivi...che va tranquillamente sotto win98 e win7!
ed uno assai più grande che si interfaccia ad un server mysql con 
vb6+ado!
Il nuovo invece si va di net e lo precludo a macchine inferiori a 
XP....(MIlleniummmmmmmmm???? ma che cazzo....bruciala quella 
macchina!!!)
 
Un ultima considerazione: il tools non ti ottimizza! Se il programma è 
"complesso"....ammesso e non concesso che tu riesca a produrre qualcosa 
di avviabile...lo lancerai e dirai...."ammmazza che cagata ....quanto 
ci mette ad avviarsi???"....e farai post contro la lentezza del net!
 
eh eh eh
Yo man!
;o)
 
-- 
----- Italliaaaaa 3227! -----
Come ti senti oggi???
 
Giano Geminus Bifrons Bepop Flowers
http://youtu.be/Wk_gyLo0i-c
 
minuto 3:14
 
(Un uomo un mito: Luciano Lupoletti)
 
 

 Posso solo portare la mia esperienza non fare il saputello ....
 
Cazzo Nicola....gli ho risposto senza leggere questo post!
Ho scazzato!Mannaggia alla mia foga!
 
DON'T FEED THE TROLL!!!
http://3.bp.blogspot.com/_QfFdPvqyz70/StyASSfXLSI/AAAAAAAAJok/naKf5KoBBsc/s1600/Don't%2Bfeed%2Bthe%2Btroll.jpg
 
 
-- 
----- Italliaaaaa 3227! -----
Ti prego, ti prego, non ci uccidere. Ti prego baby, lo sai che ti amo. 
Non avrei mai voluto lasciarti, non è stata colpa mia. Davvero, sono 
sincero. Quel giorno finì la benzina. Si bucò un pneumatico. Non avevo 
i soldi per il taxi! Il mio smoking non era arrivato in tempo dalla 
tintoria! Era venuto a trovarmi da lontano un amico che non vedevo da 
anni! Qualcuno mi rubò la macchina! Ci fu un terremoto! Una tremenda 
inondazione! Un'invasione di cavallette!
John Belushi [da "Blues Brothers"]
 
 

 mette ad avviarsi???"....e farai post contro la lentezza del net!
 
Allora la differenza è nella macchina non nel software.
A parità di macchina obsoleta ( tipo un pentium 4 ) qualsiasi
programma in .net è piu' lento.
Con una macchina nuova magari la differenza è risibile
 
 
 


 
Hueee  calmino pero'  ..........
 
Se io sono un troll  tu sei un Flamer del cavolo.... :-( 
 
 

 
 
Infatti, dopo aver letto ciò che mi ha scritto l'ho plonkato e che vada aff...lo.
 
Nicola

>  Io Posso solo portare la mia esperienza non fare  IO  il saputello ....
 
Grazie per il VAFFA ...ricambiato
 
 
 

 installare l'intermediario (
vb.net
 2008)?
 
Teoricamente si.
Io ho convertito parecchia roba, mai avuto problemi, il progetto che ne 
esce funziona correttamente.
Però è una cosa brutta, ma talmente brutta, ma talmente non ottimizzata 
e a rischio di future incompatibilità, che li ho usati solo come spunto 
per alcuni moduli.
 
Poi alla fine li abbiamo rifatti tutti ex-novo.
Però ne abbiamo approfittato, già avevamo iniziato a alleggerire i 
client e a scaricare la quasi totalità della logica sul dbms, adesso 
abbiamo dei client che sono pressochè universali, cambi la chiamata al 
db e le maschere fanno cose completamente diverse secondo necessità.
 
Pensa che abbiamo un applicativo che è composto da sole 3 form, ma 
quando lo usi a menù ce ne sono circa 40, perchè le voci di menu (a 
loro volta ricevute dal dbms al login), fanno solo l'attivazione di una 
di queste 3 form specificando dei parametri con cui poi la form 
chiederà al dbms cosa deve fare, ecc...
 
Quindi, per farla semplice, quello che voglio dire è che queste grandi 
'transizioni' devono essere colte come opportunità per interrompere la 
catena di "adatto il vecchio software fatto sette anni fa per quel 
cliente per far andare in qualche modo questo nuovo", per ridisegnare e 
industrializzare le metodiche di sviluppo.
 
Ciao
 
Alberto
 
 

bleah scriveva il 26/10/2011 :
ok abbozzzzzzzzzzzzzzzziamola
DON'T FEED THE TROLL!!!
B-)
bye man!
 
-- 
----- Italliaaaaa 3227! -----
Ci sono cattivi esploratori che pensano che non ci siano terre dove 
approdare solo perché non riescono a vedere altro che mare attorno a 
sé.
(Francesco Bacone)
 
 

 Con una macchina nuova magari la differenza è risibile
 
mi splonko solo un attimo per farti notare che un i7 se lo usi single 
core non va molto più veloce del mio pentium 3.0ghz!!!
e che il net ti permetterebbe lo sviluppo parallelo...basta saperlo 
fare!...e che qualsiasi sistema di sviluppo basato su un "virtual coso" 
è più lento di un compilato (quindi Net e Java)...e che comprare un 
motore incredibilmente potente per mandare un auto incredibilmente 
antiquata....è un po folle e sprecone!
 
torno nell'oscurità....
bye bye!
 
-- 
----- Italliaaaaa 3227! -----
Era Cecco, il figlio del fornaio; era un orribile butterato napoletano, 
col culo molto basso ed un alito agghiacciante tipo fogna di Calcutta.
(Fantozzi)
 
 


 
 
Non cambierai mai.......bah
 
 
 

 Non cambierai mai.......bah
è vero....mi avete contagiato....
Buon pranzo!
 
-- 
----- Italliaaaaa 3227! -----


 Private Type Buste
[CUT]
 
Nessun volontario, eh ? Chissà perché, me l'aspettavo :-D
 
OK, se per domani non ci prova nessuno, mando la (mia)
soluzione.
 
Bye, G.

 Paperino ha scritto:
allora caro mio.....obiettivamente non è proprio immediatissimo per un 
niubbo!
E in NET questa è soltanto una strada praticabile!...cmq....m'hai fatto 
pensare!
ecco la mia carognissima soluzione....stracommentata...e molto 
perfettibile....per stampare i valori degli array ad esempio una bella 
funzione ricorsiva sarebbe l'ideale...ma ...lo confesso...con la 
ricorsione ho fatto a cazzotti da piccolo!
 
 
 
solita form con un bottone
e un modulo
nel modulo ho messo le definizioni delle strutture (le volevi come 
strutture no?....)...l'ho chiamato modArmadi.vb
Module ModArmadi
    Public Structure Armadio
        Dim nome As String
        Dim cassetti() As Cassetto
    End Structure
    Public Structure Cassetto
        Dim nome As String
        Dim scatole() As Scatola
    End Structure
    Public Structure Scatola
        Dim nome As String
    End Structure
 
    Public Structure casa
        Dim indirizzo As String
        Dim armadi() As Armadio
    End Structure
End Module
 
nel form invece
Public Class Form1
    Dim Condominio As New List(Of casa)
 
 
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As 
System.EventArgs) Handles MyBase.Load
        Dim a, b1, b2, c1, c2, c3, d1, d2, d3, d4 As String
        Dim pp As New casa
 
        a = "Via rossi 12"
        b1 = "Armadio camera"
        b2 = "Armadio ripostiglio"
 
        c1 = "cassetto calzini"
        c2 = "cassetto chiodi"
        c3 = "Cassetto lenzuoli"
 
        d1 = "calzini invernali"
        d2 = "chiodini per quadri"
        d3 = "Lenzuola estive"
        d4 = "Rondelle & Riparelle"
 
        pp.indirizzo = a
        ' 2 armadi
        ReDim Preserve pp.armadi(1)
        pp.armadi(0).nome = b1
        pp.armadi(1).nome = b2
        'cassetti variabili
        ReDim Preserve pp.armadi(0).cassetti(1)
        ReDim Preserve pp.armadi(1).cassetti(0)
        '1 armadio...lista cassetti
        pp.armadi(0).cassetti(0).nome = c1
        pp.armadi(0).cassetti(1).nome = c3
        '2 armadio...lista cassetti
        pp.armadi(1).cassetti(0).nome = c2
        'pffff le scatole!...che palle!...le faccio uguali come numero!
        ReDim Preserve pp.armadi(0).cassetti(0).scatole(1)
        ReDim Preserve pp.armadi(0).cassetti(1).scatole(1)
        ReDim Preserve pp.armadi(1).cassetti(0).scatole(1)
        '1 cassetto  scatole
        pp.armadi(0).cassetti(0).scatole(0).nome = d1
        pp.armadi(0).cassetti(0).scatole(1).nome = d1 + " scatola 
vuota!"
        '2 cassetto scatole
        pp.armadi(0).cassetti(1).scatole(0).nome = d3
        pp.armadi(0).cassetti(1).scatole(1).nome = d3 + " scatola 
vuota!"
 
        'l'altro armadio siamo a fine!!!!
        '1 cassetto  scatole
        pp.armadi(1).cassetti(0).scatole(0).nome = d2
        pp.armadi(1).cassetti(0).scatole(1).nome = d4
 
 
 
        Condominio.Add(pp)
 
    End Sub
 
 
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As 
System.EventArgs) Handles Button1.Click
        For Each curcasa As casa In Condominio
            Console.WriteLine("Indirizzo: " + curcasa.indirizzo)
            For Each curArmadio As Armadio In curcasa.armadi
                Console.WriteLine("->" + curArmadio.nome)
                For Each curCassetto As Cassetto In curArmadio.cassetti
                    Console.WriteLine("-- ->" + curCassetto.nome)
                    For Each curScatola As Scatola In 
curCassetto.scatole
                        Console.WriteLine("-- -- -->" + 
curScatola.nome)
                    Next
                Next
            Next
        Next
        Stop
    End Sub
End Class
 
 
ATTENZIONE PER I NIUBBI
1)
        ReDim Preserve pp.armadi(0).cassetti(1)
mi crea 2 DUE cassetti (sul primo armadio) ....si parte da zero!
 
        ReDim Preserve pp.armadi(1).cassetti(0)
mi crea 1 UN cassetto (sul secondo armadio)....si parte sempre da zero!
 
2)
Vs2010 FW 4.0....credo però funzioni su parecchi framework precedenti 
basta al limite levare il generics all'inizio Dim Condominio As New 
List(Of casa) e usare un array!
 
**********************************************
.....che ho vinto???
**********************************************
 
-- 
----- Italliaaaaa 3227! -----
Che giovano a quell'uomo ottant'anni passati senza far niente?... 
Costui non è vissuto, ma si è attardato nella vita; né è morto 
tardi,... ma ha impiegato molto tempo per morire!
 
Lucio Anneo Seneca
 
 

Wodka40° ha spiegato il 27/10/2011 :
output(per dimostrare che funziona)...m'è rimasto nel pc... :P
 
Indirizzo: Via rossi 12
->Armadio camera
-- ->cassetto calzini
-- -- -->calzini invernali
-- -- -->calzini invernali scatola vuota!
-- ->Cassetto lenzuoli
-- -- -->Lenzuola estive
-- -- -->Lenzuola estive scatola vuota!
->Armadio ripostiglio
-- ->cassetto chiodi
-- -- -->chiodini per quadri
-- -- -->Rondelle & Riparelle


 Bye, G.
 
Scusa è.....ma a che ti serve una cosa del genere???....mi 
incuriosisce!
Siccome mi pare di ricordare che tu sia parecchio "grafico"....è la 
lista delle primitive per disegnare un oggetto complesso???
O la topologia di una intranet?
....ci intravedo utilità...ma perchè strutture e non classi base? Hai 
fatto test e vanno più veloci?...mi hai parecchio incuriosito!
 
-- 
----- Italliaaaaa 3227! -----


 Teoricamente si.
 
senza nessun tool?

 Se io sono un troll  tu sei un Flamer del cavolo.... :-(
 
Uno che da del "saputello" ad un poster che risponde per dare il proprio
contributo non è un troll, è un cafone. Con la tua uscita ti sei giocato
l'aiuto presente e futuro da parte del ng, complimenti.
 
PaF

 
 
Non capisco, dov'è la difficoltà? O non ho capito :D stasera ti pasto il code.
 

>  Io Posso solo portare la mia esperienza non fare  IO  il saputello ....
 
Certo che pero siete proprio prevenuti ....:-( 
 
 

 End Sub
 
In .NET farei così:
 
 
Private Class Buste
	Public Foglio As New ObservableCollection(Of Integer)
End Class
 
Private Class Cassetti
	Public Cassetto As New ObservableCollection(Of Buste)
End Class
 
Private Class Armadi
	Public Armadio As New ObservableCollection(Of Cassetti)
End Class
 
Private Sub Form_Load()
    Dim OBSArmadio As New ObservableCollection(Of Armadi) 
    Armadio(0).Cassetto(0).Busta(0).Foglio(0) = 5
    MessageBox.Show(Armadio(0).Cassetto(0).Busta(0).Foglio(0))
End Sub
 
L'ho scritta così al volo, magari la sintassi non è perfetta.
Ho scelto le ObservableCollection perchè sono utili anche per il binding sui controlli e tante altre belle cosine.
 
Nicola

 Ho scelto le ObservableCollection perchè sono utili anche per il binding sui controlli e tante altre belle cosine.
 
Infatti ho cannato la Form_Load. Ecco quella corretta
 
Private Sub Form_Load()
   Dim OBSArmadio As New ObservableCollection(Of Armadi)
   OBSArmadio(0).Armadio(0).Cassetto(0).Foglio(0) = 5
   MessageBox.Show(OBSArmadio(0).Armadio(0).Cassetto(0).Foglio(0))
End Sub
 

 
 
ecco al volo:
 
Nel form:
Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles 
MyBase.Load
      Dim armadi(10) As Armadio
 
      For i As Integer = 0 To armadi.Length - 1
         armadi(i) = New Armadio(20)
      Next
 
      armadi(0).Cassetti(0).Buste(0).Foglio(0) = 5
 
      MessageBox.Show(armadi(0).Cassetti(0).Buste(0).Foglio(0).ToString())
   End Sub
 
In un modulo:
Public Structure Busta
      Public Foglio() As Integer
 
      Public Sub New(ByVal szFoglio As Integer)
         ReDim Foglio(szFoglio)
      End Sub
   End Structure
 
   Public Structure Cassetto
      Public Buste() As Busta
 
      Public Sub New(ByVal szCassetto As Integer)
         ReDim Buste(szCassetto)
 
         For i As Integer = 0 To Buste.Length - 1
            Buste(i) = New Busta(10)
         Next
      End Sub
   End Structure
 
   Public Structure Armadio
      Public Cassetti() As Cassetto
 
      Public Sub New(ByVal szArmadio As Integer)
         ReDim Cassetti(szArmadio)
 
         For i As Integer = 0 To Cassetti.Length - 1
            Cassetti(i) = New Cassetto(20)
         Next
      End Sub
   End Structure
 

 Ciccio
^^^
 
PLONK !
 
PaF

 ha scritto nel messaggio 
news:1thdd94e6trbw$.1qsoi6ifrgjhq$.dlg@40tude.net...

E che cazzo mi frega !!!!
 
PLINK  ! 
 
 

 fatto test e vanno più veloci?...mi hai parecchio incuriosito!
 
Perché non mi serviva una classe, ma solo i dati :-)
Sto reimplementando un programma vecchissimo, scritto
giùppersu nel '97. Lo scrissi all'epoca con sufficiente
flessibilità, tanto che, con poche righe di modifica
(per esempio quando è stata aggiunta la ruota "Nazionale"),
da allora ha funzionato senza mai un problema.
 
E per quello che mi serve, se uso una Structure al posto
di una classe, se le due sub per aggiungere un record
o per salvarla su disco sono esterne anziché interne
ad una classe non è che mi cambi molto.
 
 
P.S.: vedo che le "sfide", per quanto banali, alla
fine "attizzano" gli ingegni. Belle idee che escono, eh ?
 
Grazie ai partecipanti :-)
 
Bye, G.

 > zac
 
Quasi copione :P hiaihaihaihihaiha :*
 

 Quasi copione :P hiaihaihaihihaiha :*
 
Quel codice gira giï¿œ da un paio di settimane :-P
 
Seriamente, riparlando di flessibilitï¿œ, mi ï¿œ piaciuto
questo nel tuo codice:
          For i As Integer = 0 To Buste.Length - 1
che dï¿œ un tocco di flessibilitï¿œ in piï¿œ, mentre
il mio ï¿œ un tantino piï¿œ conciso e non ha bisogno
di usare il New.
 
Nuova versione con un paio di ritocchi, quindi:
****************
  Public Structure Estratti
      Public Estratto() As Integer
      Sub Inizializza(Indice As Integer)
          ReDim Estratto(Indice)
      End Sub
  End Structure
 
  Public Structure Estrazioni
      Public data As Date
      Public Ruota() As Estratti
      Sub Inizializza(IndiceRuote As Integer, IndiceEstratti As Integer)
          ReDim Ruota(IndiceRuote)
          Dim N As Long
          For N = 0 To Ruota.Length - 1
              Ruota(N).Inizializza(IndiceEstratti)
          Next N
      End Sub
  End Structure
 
  Public Extra(16000) As Estrazioni
****************
         Dim Z As Long
         For Z = 0 To 16000
             Extra(Z).Inizializza(10, 4)
         Next Z
****************
 
Mi piace :-).
 
Bye, G.

 
 
:) se vinci alle estrazioni poi ricordati degli AMISCIII!!! Buona serata :)
 

Paperino <non...@lo.dico.invalid> ha scritto:
 
A proposito ma su azzurra? Vieni ogni tanto a farci una visitina  ^_^ (io Gnomo)
 

 :) se vinci alle estrazioni poi ricordati degli AMISCIII!!!
 > Buona serata :)
 
Ah, ma io mica ci gioco... non ho soldi da sprecare :-).
 
Bye, G.

 A proposito ma su azzurra? Vieni ogni tanto a farci una visitina  ^_^ (io Gnomo)
 
Ci ho messo un po' a capire cosa intendevi.
IRC :-), se non fosse perchï¿œ ogni tanto mi faccio
quattro risate su 
http://qdb.us
 ne avrei perfino
scordato l'esistenza. Non so neanche se riesco ad
arrivarci, da dietro tutti i FW che abbiamo qui.
Sono anni e anni... prima o poi ci riprovo,
hai/avete un consiglio su un client "umano" ?
 
Bye, G.

Paperino <non...@lo.dico.invalid> ha scritto:

Io uso Xchat2 (gratuito) per Windows.
COmunque mi collego solo la sera e nei weekend :D dal lavoro stesso problema tuo
(ma ï¿œ meglio cosï¿œ hihih).
 
Siamo rimasti in pochi ma buoni :)
 
PS: Perchï¿œ vuoi dimenticare? non so cosa sia successo perï¿œ adesso ï¿œ
tranquillissimo!!!!
 

 
 
O magari mi dici te dove posso trovarti :) Sempre se ne hai voglia eh :). Non mi
offendo perchè capisco che uno la sera voglia starsene un po' a fare altro e non
essere legato ad internetttss.
 

 Bye, G.
 
Io uso Hydrairc o il "buon" mirc
cmq è vero ....uso irc solo per fini "ignobili" legati a Fserve ( ;o) 
B-) .... ) mi son scordato il vecchio chan....mo provo a vedere se ci 
siete!
 
-- 
----- Italliaaaaa 3227! -----
Pasquà...Pasquale Zagaria...u'fighh'Riccard
[Vieni avanti cretino (1982)
c'ho pure il video! 
http://www.martek.it/public/dblog/banfi1.swf
 ]
 
 

 .... ) mi son scordato il vecchio chan....mo provo a vedere se ci siete!
 
non c'ï¿œ piï¿œ il chan #visualbasic ??????
 
-- 
----- Italliaaaaa 3227! -----
Anche sul trono piï¿œ alto del mondo, si sta seduti sul proprio culo.
( Michel de Montaigne )
 
 

 
 
 
Come no, sulla rete azzurra.
Io perï¿œ ci sono solo la sera, forse trovi Jertix :)
 
Mio nick su azzurra ï¿œ DavidGnomo :P
 


 
 
 
Uhhh  interessante !!
 
Scusami sempre al riguardo .
 
Un algoritmo efficente  per gestire  le  frequenze
delle cinquine uscite per ambo  ?
 
Cioe'  ... come faccio a gestire tutte le 60.000.000 di cinquine
in modo tale  di vedere quelle piu' uscite per AMBO,terno quaterna e 
cinquina ?
 
io avevo studiato di gestire solo le cinquine uscite
(che sono molte meno)  mettendo in ORDINE i
numeri della cinquina in modo da poterle indicizzare ?
 
Cio� .....
 
esce    52  85  1  25  89
le ordino  1 25 52 85 89
 
 
e per ambo ,terno , quaterna e cinquina?
 
 

 originali, cosï¿œ capisci direttamente :-)
...mi son ripreso solo adesso dallo shock!...anche tu cedi al lato 
oscuro della forza!
 
Cmq....volendo farci un minimo di riflessione...imho se rimangono 
43.949.268 combinazioni su 90 numeri ...vi conviene farvi un bel 
database (mysql? Postgresql? Sqlite non credo ce la faccia)
 
Una volta che avete tutto il generato...lo interroghi e riduci a colpi 
di query...per me non sarebbe affatto malaccio come velocitï¿œ: sono 
record di 5 campi numerici!
Mi ricordo che ai tempi del totocalcio si facevano riduzioni su 
riduzioni....e quando si scendeva di parecchio...si impostava una 
riduzione in piï¿œ....il vecchio commodore64 frullava frullava...e non 
toglieva nemmeno una colonna!
Potresti memorizzare in tabelle temporanee (sotto un certo numero di 
record ovvio) le successive elaborazioni e guadagnare in velocitï¿œ....
Volevo dire: oggi ci sono pc con cpu potentissime, tanta ram e con 
tanto spazio su disco....l'approccio brute force ritorna praticabile!
 
-- 
----- Italliaaaaa 3227! -----
Ho trovato una cittï¿œ di mattoni, ve la restituisco di marmo.
(Imperatore Augusto da Epistole)
 
 


 
Uhhh  interessante !!!
 
Senti ma  se volessi sviluppare un sistema con riduzioni n-  ( 1- 2 3 )
sapresti indicarmi un algoritmo efficente ? 
 
 

 sapresti indicarmi un algoritmo efficente ?
 
eh eh eh non mi conosci eh!?!
aborro codesta pseudo.sciiiienzaaaa!!!
 
-- 
----- Italliaaaaa 3227! -----
Quando vedi la tua veritï¿œ fiorire sulle labbra del tuo nemico, devi 
gioire, perchï¿œ questo ï¿œ il segno della vittoria.
(Giorgio Almirante)
 
 


 
 
La mia č solo una richiesta  di matematica
disposizioni senza ripetizione.
 
tutto li ! 
 
 

 ha scritto nel messaggio 
news:4eaacb4b$0$1377$4faf...@reader2.news.tin.it...

Puoi trovare alcune persone che sono piu'
avvicinabili  su it.scienza.matematica
 
ciauuu 
 
 

 disposizioni senza ripetizione.
Ma non volevi la frequenza?
Informaticamente parlando lo fai con un database
in rete trovi database con tutte le estrazioni
con almeno data ->numeri estratti
 
cosi' son 2 3 query in croce fare tutto quello che la pseudoscienza  
dice di fare!
 
i nuovi numeri li memorizzi nel database e tutto risolto!
 
 
piccole precisazioni
leggi
http://it.wikisource.org/wiki/Matematica_allegra/11b
 
 
-- 
----- Italliaaaaa 3227! -----
Il coraggio ce l'ho. E' la paura che mi frega.
(Totï¿œ)
 
 


 
Socratis?
;-)
 
-- 
---------------------------
Mauro Gamberini
Microsoft MVP - Excel
http://www.riolab.org/
 
http://www.maurogsc.eu/
 
 
 

 
http://it.wikisource.org/wiki/Matematica_allegra/11b
 
 
M'è partito l'invio!....sorry
(cito)
"...
3°) Determinato così il numero di tutte le disposizioni possibili a 
coppie, a terne, ecc... e il numero delle permutazioni che si possono 
fare con una coppia, una terna, ecc... basterà dividere il primo numero 
per il secondo, per ottenere il numero delle combinazioni nei diversi 
casi, tenuto conto solo della diversità dei numeri e non del loro 
ordine.
 
Per la coppia avremo: 90 x 89 / 1 x 2 = 8010/2 = 4005.
 
Per la terna: 90 x 89 x 88 / 1 x 2 x 3 = 117.480.
 
Per la quaterna: 90 x 89, x 88 x 87 / 1 x 2 x 3 x 4 = 2.555.190.
 
Per la cinquina: 90 x 89 x 88 x 87 x 86 / 1 x 2 x 3 x 4 x 5 = 
43.949.268.
 
Siamo perciò arrivati a determinare il numero di ambi, terni, quaterne 
e cinquine che si possono formare con 90 numeri diversi, senza tener 
conto dell’ordine dei numeri, ma solo della loro diversità.
...."
 
Quindi occhio non sono 60milioni le disposizioni possibili!!!!
se vuoi il superenalotto
90*89*88*87*86*85=448.282.533.600
 
son questi i numeri giusti!
 
Sem le metti in un database le estrazioni ....puoi fare i giochetti da 
pseudo scienza ....tipo: quante volte il 23 è uscito accoppiato al 32?
 
La chiamo pseudoscienza perchè solo un allocco può credere ai numeri 
che si chiamano!!! o cazzate simili!
 
Senza astio....è una mia vecchia battaglia!
Maledizione di Montezuma e via andare!
 
-- 
----- Italliaaaaa 3227! -----
Soldato Joker, cosa ci fa il soldato Palla di Lardo con quel fucile in 
mano nel mio fottutissimo bagno?
 
Sergente Artman [ da: "Full Metal Jacket" ]
 
 

 90*89*88*87*86*85=448.282.533.600
zac
e dagli....non ï¿œ serata.....rimasta la seconda parte ancora!
1*2*3*4*5*6=720
quindi sono possibili
448282533600/720=622.614.630
 
ecco ora ï¿œ giusto!.....cosa sono per te 62 milioni non l'ho 
capito????!!!!
 
-- 
----- Italliaaaaa 3227! -----
Come ti senti oggi???
 
Giano Geminus Bifrons Bepop Flowers
http://youtu.be/Wk_gyLo0i-c
 
minuto 3:14
 
(Un uomo un mito: Luciano Lupoletti)
 
 


 
 
Avevo fatto  confusione tra lotto e super......
 
Comunque era solo una richiesta fatta da un mio amico
col banco del lotto che mi chiedeva  come fare a
sapere la  cinquina pe ambo piu' uscita........
 
Per il resto per curiosita mia, era lo sviluppo  del
superenalotto in sestine con garanzie varie ?
 
A me puo' anche non servire ( perch� tanto le probabilit�
di vincita sono sempre quelle )  al mio amico
invece possono servire eccome visto che ci campa !
 
 

 toglieva nemmeno una colonna!
 
Eh, ma questo non è il totocalcio, dove hai dei fattori
che, obiettivamente, influiscono su una partita e quindi
possono essere sfruttati per fare una cosa del genere.
Nel lotto non mi risulta che si facciano riduzioni, al
massimo analisi ROTFLstatistiche sul pregresso.
E siccome di estrazioni, finora, dal 1871, siamo ancora
sotto le 9000, l'intero DB delle estrazioni, in formato
testo, quindi assolutamente non ottimizzato :-),
entra in meno di un MB su disco.
 
Per una qualunque ricerca [IMVHO, savasandìr ;-)], come
dici anche tu sotto, l'approccio bruteforce è più semplice
che non stare a metter su un database vero e proprio,
per poi magari poi impazzire con le query... per guadagnare
quanto, un decimo di secondo ?
Il vecchio programma in VB fa qualunque tipo di ricerca
prevista, anche quelle più complesse a filtri multipli,
in meno di un secondo, su un HW abbastanza datato.
 
Su .NET devo ancora fare delle prove, ma mi pare che
la velocità sia assolutamente comparabile. E se anche
fosse un po' più lento, anche del doppio, non farebbe
nessuna differenza per l'utente, tranne che così usa
il minimo indispensabile di risorse.
 
Bye, G.

 Bye, G.
 
 
Ciao Paperino
 
Ascolta.... io faccio alcune cose del genere se ti interessa possiamo 
collaborare !
 
p.s. astenersi NON CREDENTI  :-)