Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 20-11-2019, 12:29   #1
robertino_salemi
Senior Member
 
L'Avatar di robertino_salemi
 
Iscritto dal: Apr 2009
Città: Aci Catena (CT)
Messaggi: 1021
Porting da Visual Basic a C#

Buongiorno a tutti,
sto effettuando il porting di un'applicazione da VB6 a C#.

E' la prima volta che effettuo un'operazione del genere, avete consigli o suggerimenti da condividere?

Ad esempio: nel codice VB sono presenti 2 etichette che vengono richiamate da diversi goto, qual è la best practices da adottare in questo caso?

Grazie.
__________________
robertino_salemi è offline   Rispondi citando il messaggio o parte di esso
Old 20-11-2019, 13:24   #2
Mursey
Senior Member
 
L'Avatar di Mursey
 
Iscritto dal: Aug 2017
Messaggi: 469
Quote:
Originariamente inviato da robertino_salemi Guarda i messaggi
nel codice VB sono presenti 2 etichette che vengono richiamate da diversi goto, qual è la best practices da adottare in questo caso?
Fare delle funzioni.
Mursey è offline   Rispondi citando il messaggio o parte di esso
Old 20-11-2019, 14:33   #3
!fazz
Moderatore
 
L'Avatar di !fazz
 
Iscritto dal: Nov 2006
Messaggi: 22057
ed evitare l'uso di goto che sono peggio della peste nera medievale
__________________
"WS" (p280,cx750m,4790k+212evo,z97pro,4x8GB ddr3 1600c11,GTX760-DC2OC,MZ-7TE500, WD20EFRX)
Desktop (three hundred,650gq,3800x+nh-u14s ,x570 arous elite,2x16GB ddr4 3200c16, rx5600xt pulse P5 1TB)+NB: Lenovo p53 i7-9750H,64GB DDR4,2x1TB SSD, T1000
!fazz è offline   Rispondi citando il messaggio o parte di esso
Old 20-11-2019, 17:53   #4
lorenzo001
Senior Member
 
Iscritto dal: Jul 2008
Città: Roma
Messaggi: 542
Erano già inopportuni in vb6... ovviamente devi valutare caso per caso per la soluzione ma niente goto

Se sono usate per la gestione degli errori usa la try catch
lorenzo001 è offline   Rispondi citando il messaggio o parte di esso
Old 20-11-2019, 20:16   #5
Mursey
Senior Member
 
L'Avatar di Mursey
 
Iscritto dal: Aug 2017
Messaggi: 469
Si, in effetti strano che siano state usate su VB6.
Mursey è offline   Rispondi citando il messaggio o parte di esso
Old 21-11-2019, 07:42   #6
robertino_salemi
Senior Member
 
L'Avatar di robertino_salemi
 
Iscritto dal: Apr 2009
Città: Aci Catena (CT)
Messaggi: 1021
Si, sicuramente utilizzerò delle funzioni, anche se non sarà semplicissimo il porting dato l'accessivo di numerosi goto verso la stessa etichetta che riporta all'inizio del codice.

__________________
robertino_salemi è offline   Rispondi citando il messaggio o parte di esso
Old 21-11-2019, 09:27   #7
!fazz
Moderatore
 
L'Avatar di !fazz
 
Iscritto dal: Nov 2006
Messaggi: 22057
Quote:
Originariamente inviato da robertino_salemi Guarda i messaggi
Si, sicuramente utilizzerò delle funzioni, anche se non sarà semplicissimo il porting dato l'accessivo di numerosi goto verso la stessa etichetta che riporta all'inizio del codice.

sviluppa il programma mediante macchine a stati finiti è la soluzione migliore in questi casi, individui e sposti in funzioni tutte le attività che sono logicamente raggruppabili e logicamente non divisibili

poi la logica del tuo programma la programmi mediante la gestione delle chiamate alla varie funzioni fino alla condizione di uscita
alla fine ogni goto non è altro che una transizione da uno stato all'altro del software

Codice:
int FSM=0;
while(FSM!= ExitCondition)
{
  switch(FSM)
  {
     case 0:{ init();FSM=1;};break;
    .....
    ....
    ...
     case N:{ lastActivities();FSM=ExitCondition;}
  }
}
__________________
"WS" (p280,cx750m,4790k+212evo,z97pro,4x8GB ddr3 1600c11,GTX760-DC2OC,MZ-7TE500, WD20EFRX)
Desktop (three hundred,650gq,3800x+nh-u14s ,x570 arous elite,2x16GB ddr4 3200c16, rx5600xt pulse P5 1TB)+NB: Lenovo p53 i7-9750H,64GB DDR4,2x1TB SSD, T1000
!fazz è offline   Rispondi citando il messaggio o parte di esso
Old 21-11-2019, 09:59   #8
lorenzo001
Senior Member
 
Iscritto dal: Jul 2008
Città: Roma
Messaggi: 542
Quote:
Originariamente inviato da robertino_salemi Guarda i messaggi
Si, sicuramente utilizzerò delle funzioni, anche se non sarà semplicissimo il porting dato l'accessivo di numerosi goto verso la stessa etichetta che riporta all'inizio del codice.

Si deve valutare caso per caso ma penso tu possa ridurre tutto ad un loop con dei controlli al posto giusto ...

Se conosci bene il C# e la OOP non dovresti avere problemi ...
lorenzo001 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 04:46.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v