Pagina 5 di 7

Re: Software MAME Clean

Inviato: 07/02/2013, 23:15
da pucci
visto che se ne parla anche su MAME Italia (http://www.mameitalia.net/index.php?showtopic=14518) e visto che il tempo è sempre meno da quando mi hanno cambiato incarico sul lavoro, posto qui il codice sorgente (scritto in Visual Basic) delle "scheletro" di quello che sarebbe dovuto essere MAME Clean (che in realtà ho rinominato "MAME Washer").

liberi di usarlo/migliorarlo/completarlo (alla sola condizione che venga rilasciato il sorgente delle modifiche e che non venga usato a scopi commerciali)
liberi di farmi domane sul codice (sempre che mi ricordi cosa ho scritto)
MAME Washer.rar

Re: Software MAME Clean

Inviato: 17/02/2013, 15:40
da pucci
vi posto una versione eseguibile del mio programmino.
si tratta di una versione veramente pre-pre-pre-alpha, dove mancano istruzioni, gestione degli errori, ecc...
quando lanciate l'eseguibile, vi si apre una finestra dove potete selezionare un file: scegliete o un eseguibile del MAME oppure in file XML generato dal MAME con la funzione -listXML e attendete.

il resto più o meno è comprensibile.

ecco il programma:
MAME Washer.rar
ed ecco un file INI per MAMEUI basato sulla versione 0.148u1 e dal quale sono stati tolti: device, bios, mechanical, not working, cloni (passando da una lista di 28459 ad una di 3758!):
MAMEWasher.rar

Re: Software MAME Clean

Inviato: 17/02/2013, 23:39
da AntoPISA
pucci ha scritto:vi posto una versione eseguibile del mio programmino.
si tratta di una versione veramente pre-pre-pre-alpha, dove mancano istruzioni, gestione degli errori, ecc...
quando lanciate l'eseguibile, vi si apre una finestra dove potete selezionare un file: scegliete o un eseguibile del MAME oppure in file XML generato dal MAME con la funzione -listXML e attendete.

il resto più o meno è comprensibile.

ecco il programma:
MAME Washer.rar
ed ecco un file INI per MAMEUI basato sulla versione 0.148u1 e dal quale sono stati tolti: device, bios, mechanical, not working, cloni (passando da una lista di 28459 ad una di 3758!):
MAMEWasher.rar
A me la tua idea pare molto utile, che ne diresti se aggiungessi il tuo "programmino" alla mia pagina dei tools? Fammi sapere. :wink:

Re: Software MAME Clean

Inviato: 18/02/2013, 21:37
da pucci
non ho problemi a renderlo disponibile (sorgenti compresi), solo che il mio programma al momento non è "sperimentale", è "più che sperimentale".
penso che se lo metti sul sito ti sputtani!!! :)

magari cerco (con i miei tempi da bancario improvvisato programmatore) a renderlo un attimino più "usabile"

però se vuoi già metterlo posso passarti sorgenti ed eseguibili

Re: Software MAME Clean

Inviato: 18/02/2013, 22:30
da pucci
avrei biasogno di un aiuto da un programmatore "serio" come dR.pRoDiGy

nel programma ho creato un form (frmFileSelect) che si occupa semplicemente di permettere all'utente di selezionare alcuni dei file necessari al programma principale, ecco il form:
Cattura.JPG
una volta selezionati correttamente i file, quando l'utente preme il pulsante "let's clean", i dati relativi ai 4 file devono essere passati al form principale (frmMAMEWasher) che si occupera dell'elaborazione.

qual'è il modo migliore e più corretto per gestire il passaggio dei dati tra i due form? non di sicuro delle variabili globali. qui ci sono dei suggerimenti: http://forum.masterdrive.it/visual-basi ... ali-65604/

dR.pRoDiGy, mi dai qualche dritta?

Re: Software MAME Clean

Inviato: 18/02/2013, 22:46
da dR.pRoDiGy
Programmatore serio?? Troppo buono <-happy->

Le prime 2 soluzioni che mi vengono in mente:
1) creare le variabili di input nel secondo form (o saranno probabilmente già lì perchè ti servono), e appena prima di avviarlo ( frm2.Show() ), scriverci dentro i valori

Codice: Seleziona tutto

Public Class Form1
 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
 Dim frm2 As Form2
 frm2 = New Form2()
 frm2.var1 = "Ciao mondo"
 frm2.Show()
 End Sub
End Class
  
Public Class Form2

 Dim var1 as String

End Class
2) soluzione un pò più "fine": creare in Form2 una sub che sia l'overload del metodo standard Show().. aggiungendogli i parametri da ricevere. All'interno del metodo si inizializzano, e per ultimo si chiama il metodo Show()

Codice: Seleziona tutto

Public Class Form1
 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
 Dim frm2 As Form2
 frm2 = New Form2()
 frm2.Show("Ciao mondo")
 End Sub
 End Class
  
Public Class Form2
 Dim var1 As String
 Overloads Sub Show(ByVal s As String)
 var1 = s
 Show()
 End Sub
 End Class
Tutto chiaro? Fammi sapere :wink:

Re: Software MAME Clean

Inviato: 18/02/2013, 23:04
da pucci
chiarissimo!
magari sarà una cazzata o uno scrupolo inutile, ma in questo modo non si rende form2 (che in realtà al momento è il cuore del programma) una specie di form "dipendente" dal primo

forse è effettivamente una cazzata, ma io vengo dal mondo della programmazione procedurale (la programmazione ad oggetti ce l'hanno accennata l'ultimo anno di istituto tecnico indicandolo come "il futuro")

Re: Software MAME Clean

Inviato: 18/02/2013, 23:14
da pucci
dR.pRoDiGy ha scritto:1) creare le variabili di input nel secondo form (o saranno probabilmente già lì perchè ti servono), e appena prima di avviarlo ( frm2.Show() ), scriverci dentro i valori

Codice: Seleziona tutto

Public Class Form1
 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
 Dim frm2 As Form2
 frm2 = New Form2()
 frm2.var1 = "Ciao mondo"
 frm2.Show()
 End Sub
End Class
  
Public Class Form2

 Dim var1 as String

End Class
in questa soluzione non sarebbe più corretto per i concetti di incapsulamento questo:

Codice: Seleziona tutto

Private  _var1 As String
Public Property var1() As String
Get
    Return _var1
End Get
Set(ByVal Value As String)
    _var1 = Value
End Set
End Property
con la tua soluzione non viene "esposta" all'esterno una variabile senza il filtro dato dall'uso di una proprietà della classe?
e sopratutto: funziona? nel senso che lo scope della tua variabile "var1" le permette di essere visibile da form1?

Re: R: Software MAME Clean

Inviato: 19/02/2013, 8:47
da dR.pRoDiGy
pucci ha scritto:chiarissimo!
magari sarà una cazzata o uno scrupolo inutile, ma in questo modo non si rende form2 (che in realtà al momento è il cuore del programma) una specie di form "dipendente" dal primo
Ottimo! :grin:
No beh, più che altro si fa in modo che form2 esponga al resto del programma un'interfaccia (i.e.: metodi, proprietà) che permetta di usarla dove più ci serve! ;-)

Re: R: Software MAME Clean

Inviato: 19/02/2013, 9:04
da dR.pRoDiGy
pucci ha scritto:
dR.pRoDiGy ha scritto:1) creare le variabili di input nel secondo form (o saranno probabilmente già lì perchè ti servono), e appena prima di avviarlo ( frm2.Show() ), scriverci dentro i valori

Codice: Seleziona tutto

Public Class Form1
 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
 Dim frm2 As Form2
 frm2 = New Form2()
 frm2.var1 = "Ciao mondo"
 frm2.Show()
 End Sub
End Class
  
Public Class Form2

 Dim var1 as String

End Class
in questa soluzione non sarebbe più corretto per i concetti di incapsulamento questo:

Codice: Seleziona tutto

Private  _var1 As String
Public Property var1() As String
Get
    Return _var1
End Get
Set(ByVal Value As String)
    _var1 = Value
End Set
End Property
con la tua soluzione non viene "esposta" all'esterno una variabile senza il filtro dato dall'uso di una proprietà della classe?
e sopratutto: funziona? nel senso che lo scope della tua variabile "var1" le permette di essere visibile da form1?
Diciamo che nella programmazione ad oggetti l'uso di proprietà è più corretto stilisticamente rispetto alle pure variabili pubbliche, appunto per via dell'incapsulare e proteggere le complessità all'interno delle classi..
Ma di fatto nel tuo esempio l'incapsulamento non serve in quanto non c'è .. nulla da incapsulare :smile:

Diverso il caso se:
- la definizione della proprietà (in lettura o scrittura) avesse dovuto contenere della logica (codice di controllo, normalizzazione, etc.)
- avessi voluto inibire la lettura o la scrittura della proprietà dall'esterno (es.: caso delle proprietà in sola lettura, inizializzate all'interno della classe che le contiene)

Ultimo, si, in VB.NET funziona, in quanto (essendo il linguaggio più "per principianti" di .Net, rispetto al più rigoroso c# ), se non diversamente specificato, tutte le variabili vengono create col modificatore Friend (= visibile da tutto il programma).
In c# avresti dovuto dichiararla public :wink:

Re: Software MAME Clean

Inviato: 19/02/2013, 23:02
da pucci
ecco una nuova versione di MAME Washer

al momento il changelog è molto "scarno" (ma purtroppo fino a quando tornerò a casa alle 20:00 non posso fare molto di più):

- aggiunta le selezione dei file: MAME.exe o XML, catver.ini, languages.ini, multiplayer.ini (al momento solo i primi due vengono realmente usati)
- implementata la lettura del genere e categoria dei giochi (ma non ancora usabile per la selezione)

ricordo che il programma è ancora MOLTO "user unfriendly" e manca completamente la gestione degli errori

vi allego anche il sorgente in visual basic

Re: Software MAME Clean

Inviato: 04/07/2013, 15:08
da superlilly
Ciao Pucci, fammi estrarre il dat per clrmamepro dal tuo programmino è ti do un bacio sul chiappino !!!

Re: Software MAME Clean

Inviato: 04/07/2013, 18:55
da pucci
superlilly ha scritto:Ciao Pucci, fammi estrarre il dat per clrmamepro dal tuo programmino è ti do un bacio sul chiappino !!!
è in programma, ma purtroppo causa molti impegni estivi al momento lo sviluppo è fermo.
nel frattempo potresti usare romlister che, pur essendo un pò più complicato e non supportando tutti i dat per il filtro, fa comunque quello che vuoi tu

Re: Software MAME Clean

Inviato: 08/07/2013, 11:24
da superlilly
Provato ma è molto meglio il tuo per via dei filtri, dai aspetto che lo finisci e grazie comunque.

Re: Software MAME Clean

Inviato: 18/07/2013, 16:31
da vic20
Faccio una domanda stupida....Dopo aver ottenuto il file ini, come faccio a darlo in pasto a mala per poter creare una lista di giochi pulita??

Grazie

Re: Software MAME Clean

Inviato: 24/07/2013, 9:20
da vic20
Scusate mi rispondo da solo, nel MalaGameList import custom mame list...

Ciao

Re: Software MAME Clean

Inviato: 13/08/2013, 18:04
da pucci
superlilly ha scritto:Ciao Pucci, fammi estrarre il dat per clrmamepro dal tuo programmino è ti do un bacio sul chiappino !!!
il mio chiappino è pronto per il bacio...

ecco la versione 1.0.0.3 che permette anche di salvarsi un DAT per ClrMAME Pro

io l'ho testata e direi che funziona, ma magari fate qualche test pure voi per esserne sicuri
MAME Washer.rar
e vi lascio anche i sorgenti aggiornati
MAME Washer SOURCE.rar
è ancora da perfezionare, perchè devo tenere conto delle rom BAD DUMP e NO GOOD DUMP KNOW (per il momento il programma le considera tutte buone)
e anche dei CHD (che al momento non sono presenti nel DAT)

poi il passo successivo sarà aggiungere nuovi filtri per:
- categorie (catlist)
- linguaggio (languages)
- numero di giocatori (nplayer)
ecc

Re: Software MAME Clean

Inviato: 18/08/2013, 14:25
da superlilly
smack smack ottimo lavoro pucci e grazie 1000

Re: R: Software MAME Clean

Inviato: 18/08/2013, 15:15
da pucci
Oggi ho fatto altre migliorie al dat ClrMAME pro che viene generato:
- aggiunti i CHD e i sample
- aggiunti i flag baddump e nodump
- aggiunti year, manufacturer e sourceof
- aggiunti status e deviceof

Inoltre ora il programma salva la posizione degli ultimi file usati

Non l'ho ancora caricato perché devo terminare delle modifiche e ora devo andare a Urbino

Inviato dal mio MB526 con Tapatalk 2

Re: Software MAME Clean

Inviato: 18/08/2013, 16:50
da pucci
ok, sono riuscito a pubblicare una versione aggiornata:
MAME Washer.rar
i sorgenti non sto a pubblicarli, tanto ho visto che nessuno li scarica