Autore Topic: Importazione progetto VB6  (Letto 4644 volte)

Offline claudio

  • Gambero
  • **
  • Post: 57
    • Mostra profilo
Importazione progetto VB6
« il: 19 Dicembre 2009, 10:47:09 »
Ho iniziato a scrivere una applicazione per importare i sorgenti da vb6 a gambas,
per il momento solo la parte grafica degli oggetti form, label, textbox e button (solo alcune proprietà).
Allego il sorgente in gambas e un form da importare scritto in vb6.

Funziona in questo modo:
1) Seleziono il form vb6 da convertire.
2) Avvio la conversione.
3) Salvo il codice ottenuto direttamente nella cartella dell'applicazione.

Che ne pensate, si può fare?

Offline Ceskho

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 3.778
  • Vi Veri Veniversum Vivus Vici
    • Mostra profilo
    • Pagina Personale
Re: Importazione progetto VB6
« Risposta #1 il: 19 Dicembre 2009, 15:00:06 »
Tempo fa avevo avuto un'idea simile e ne stavamo parlando un giorno con fsurfing...in realtà il mio progetto era il contrario del tuo, cioè portare progetti gambas in VB...

Lo sai perchè ho abbandonato l'idea? L'interfaccia grafica può essere convertita più o meno senza problemi. Il problema si presenta quando devi convertire il codice....se un utente fa uso di una data funzione limitata al solo sistema operativo su cui gira (immagina una API in win o un comando da shell in gambas) allora la conversione diventa a mio parere difficile o anche impossibile.


Questo però non toglie che in un modo o nell'altro tu possa riuscirci; anzi ti auguro che venga fuori un progettone coi fiocchi.

Se hai bisogno di una mano ti aiuto con tutto il cuore poichè hai riacceso in me la voglia di "riesumare" questa idea....

Offline claudio

  • Gambero
  • **
  • Post: 57
    • Mostra profilo
Re: Importazione progetto VB6
« Risposta #2 il: 19 Dicembre 2009, 15:25:02 »
Secondo me, la chiave per diffondere l'utilizzo di Linux è l'offerta di software gestionali che soddisfino qualsiasi esigenza, io in vb6 ne ho scritti molti (alcuni arrivano anche a centomila righe di codice) e se riesco a convertire anche solo il 50% è sicuramente un grande aiuto. Poi io personalmente ho sempre evitato quando possibile l'uso delle api di windows.
La mia idea è quella di convertire quanto possibile, poi chiaramente di completare il resto a mano.
Penso che il lavoro da fare sia molto, ma che unendo le forze si possa arrivare ad un ottimo risultato.
Poi anche l'idea inversa è fattibile.

Offline pastrank

  • Maestro Gambero
  • ****
  • Post: 265
    • Mostra profilo
Re: Importazione progetto VB6
« Risposta #3 il: 20 Dicembre 2009, 10:52:05 »
Da ex programmatore di VB sin dalla 1.0, una volta mi ero provato anche io, e mi ricordo alcune difficolta': non vorrei toppare clamorosamente con la memoria, ma, per esempio, la maggior parte dei sorgenti che trovi sono salvati in formato binario, i file .frx delle form se non sbaglio (non ricordo i moduli e le classi), e non riuscii a trovare attendibili indicazioni sul formato dei file. Viceversa, se era abbastanza facile tradurre le chiamate alle funzioni di Windows, lo era meno ricrearle con i corretti parametri; fino a che si traduce GetTempFile() o ExitWindowsEx(...) e' una sciocchezza, ma poiche' facevo un uso smodato di chiamate, se no VB diventava un bradipo, il lavoro da fare era enorme per il mio uso (e non pretendevo di avere il progetto Gambas gia' pronto, eh!). Se poi aggiungi che molti vbisti piu' che programmatori erano assemblatori di ocx, e che la traduzione non la potevi fare su di un file alla volta (le variabili e le funzioni potevano essere ovunque) il quadro mi parve completo.

Offline Ceskho

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 3.778
  • Vi Veri Veniversum Vivus Vici
    • Mostra profilo
    • Pagina Personale
Re: Importazione progetto VB6
« Risposta #4 il: 20 Dicembre 2009, 12:05:07 »
Ok...da ora vieto tassativamente di abbattere la stima verso il progetto di cbsoft ed anzi vi obbligo ad aiutarlo in tutti i modi possibili. Credo nel fatto che possa farcela e glielo auguro!!!! :2birre:

Offline pastrank

  • Maestro Gambero
  • ****
  • Post: 265
    • Mostra profilo
Re: Importazione progetto VB6
« Risposta #5 il: 21 Dicembre 2009, 23:22:20 »
Ci mancherebbe! Anzi, visto che mi provai, gli posso parlare, magari non qui, delle cose di cui mi accorsi...

Offline Pixel

  • Amministratore
  • Maestro Gambero
  • *****
  • Post: 414
    • Mostra profilo
    • http://www.gambas-it.org
Re: Importazione progetto VB6
« Risposta #6 il: 22 Dicembre 2009, 14:58:35 »
Per quanto riguarda l'impaginazione grafica di un progetto nessun problema, la conversione è pressochè immediata sia da sorgente (una form in vb6 è in chiaro) che da un exe in vb (ai tempi che furono crai un programmetto che faceva reverse engineering studiando l'esadecimale del programma).
Per quanto riguarda il codice, nonostante il divieto assoluto di Ceskho, ti posso assicurare che è pressochè infattibile.
Ti riporto brevemente alcuni ostacoli:
1) dichiarazione delle variabile
2) utilizzo delle API
3) gestione dei cicli for..next
4) utilizzo di ocx di terze parti
5) gestione dei percorsi
6) utilizzo di programmi esterni (crystal report per esempio)

Credimi se ti dico che è decisamente più semplice e veloce riscrivere da zero un progetto.

Ovviamente è solo una mia modestissima opinione.
Pix
Ubuntu Italian Member Ubuntu User 4683
Il mio Blog

Offline Ceskho

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 3.778
  • Vi Veri Veniversum Vivus Vici
    • Mostra profilo
    • Pagina Personale
Re: Importazione progetto VB6
« Risposta #7 il: 22 Dicembre 2009, 15:05:52 »
Pixel bannato a vita per aver disobbedito!!!!

Offline claudio

  • Gambero
  • **
  • Post: 57
    • Mostra profilo
Re: Importazione progetto VB6
« Risposta #8 il: 22 Dicembre 2009, 23:57:34 »
@ pixel e pastrano
Io non voglio fare assolutamente un copia e incolla da vb6.
Per lavoro sviluppo software gestionali in ambiente windows, quando inizio un nuovo progetto cerco di riutilizzare pezzi di codice scritto precedentemente (per esempio ogni gestionale ha la sua gestione degli accessi, sistema di backup dei dati, ecc.) e lo adatto alla nuova situazione.
Quindi se devo migrare un gestionale già scritto da vb a gambas, perchè non recuperare la parte grafica dei form in vb, caricando tutti gli oggetti e i relativi colori e dimensioni.
Io ho sempre scritto un codice pulito e semplice, per abitudine ho sempre dichiarato le variabili utilizzate, ho cercato di evitare se possibile ocx di terze parti e l'utilizzo delle api.
Il mio obiettivo è quello di creare una applicazione che mi aiuti nella migrazione, non che mi restituisca la pappa già pronta, voglio essere io a pilotare la conversione in ogni suo punto.
Penso che sia più facile adattare del codice che riscriverlo da zero, poi avevo in mente di creare una libreria di snippets (pezzi di codice per ogni esigenza) stile vb.net da integrare nel progetto.

@ ceskho
grazie per il sostegno

Allego il sorgente fin qui realizzato.

Offline Pixel

  • Amministratore
  • Maestro Gambero
  • *****
  • Post: 414
    • Mostra profilo
    • http://www.gambas-it.org
Re: Importazione progetto VB6
« Risposta #9 il: 23 Dicembre 2009, 08:47:58 »
Ah... ora mi è più chiaro il tuo intento, avevo capito un'altra cosa.
Ho provato al volo il tuo sorgente e mi restituisce un errore nel caricamento del file convertito.
Apparentemente la sintassi è conforme e probabilmente l'errore è dovuto alla versione di Gambas che uso qui in ufficio, dopo le ferie mi riprometto di approfondire il problema..
Comunque devo ammettere che (dopo il tuo chiarimento) l'idea mi sembra interessante e sicuramente da approfondire, mi sono anche venute in mente alcune idee.

Ciao e buon lavoro

Pix ( il bannato a vita  :-D )
Ubuntu Italian Member Ubuntu User 4683
Il mio Blog