Software MAME Clean

Problemi e soluzioni su configurazioni software, firmware
Avatar utente
pucci
Moderatore
Moderatore
Messaggi: 4747
Iscritto il: 19/07/2005, 18:52
Città: San Clemente (RN)
Località: Rimini
Grazie Ricevuti: 62 volte

Re: Software MAME Clean

Messaggio 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
Non hai i permessi necessari per visualizzare i file allegati in questo messaggio.
Avatar utente
pucci
Moderatore
Moderatore
Messaggi: 4747
Iscritto il: 19/07/2005, 18:52
Città: San Clemente (RN)
Località: Rimini
Grazie Ricevuti: 62 volte

Re: Software MAME Clean

Messaggio 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
Non hai i permessi necessari per visualizzare i file allegati in questo messaggio.
Avatar utente
AntoPISA
Affezionato
Affezionato
Messaggi: 260
Iscritto il: 12/05/2010, 23:44
Città: Pisa
Località: Pisa
Grazie Inviati: 4 volte
Grazie Ricevuti: 4 volte
Contatta:

Re: Software MAME Clean

Messaggio 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:
Avatar utente
pucci
Moderatore
Moderatore
Messaggi: 4747
Iscritto il: 19/07/2005, 18:52
Città: San Clemente (RN)
Località: Rimini
Grazie Ricevuti: 62 volte

Re: Software MAME Clean

Messaggio 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
Avatar utente
pucci
Moderatore
Moderatore
Messaggi: 4747
Iscritto il: 19/07/2005, 18:52
Città: San Clemente (RN)
Località: Rimini
Grazie Ricevuti: 62 volte

Re: Software MAME Clean

Messaggio 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?
Non hai i permessi necessari per visualizzare i file allegati in questo messaggio.
Avatar utente
dR.pRoDiGy

Donatore
Moderatore F.E.E.L.
Moderatore F.E.E.L.
Messaggi: 3069
Iscritto il: 17/11/2009, 15:55
Medaglie: 1
Città: Prov_Milano_zona_Sempione
Grazie Inviati: 10 volte
Grazie Ricevuti: 17 volte

Re: Software MAME Clean

Messaggio 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:
"Non si smette di giocare perché si diventa vecchi, ma si diventa vecchi perché si smette di giocare"

Immagine F.E.E.L. - FrontEnd (Emulator Launcher)
http://feelfrontend.altervista.org
https://github.com/dr-prodigy/feel-frontend/
Avatar utente
pucci
Moderatore
Moderatore
Messaggi: 4747
Iscritto il: 19/07/2005, 18:52
Città: San Clemente (RN)
Località: Rimini
Grazie Ricevuti: 62 volte

Re: Software MAME Clean

Messaggio 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")
Avatar utente
pucci
Moderatore
Moderatore
Messaggi: 4747
Iscritto il: 19/07/2005, 18:52
Città: San Clemente (RN)
Località: Rimini
Grazie Ricevuti: 62 volte

Re: Software MAME Clean

Messaggio 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?
Avatar utente
dR.pRoDiGy

Donatore
Moderatore F.E.E.L.
Moderatore F.E.E.L.
Messaggi: 3069
Iscritto il: 17/11/2009, 15:55
Medaglie: 1
Città: Prov_Milano_zona_Sempione
Grazie Inviati: 10 volte
Grazie Ricevuti: 17 volte

Re: R: Software MAME Clean

Messaggio 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! ;-)
Ultima modifica di dR.pRoDiGy il 19/02/2013, 9:08, modificato 1 volta in totale.
"Non si smette di giocare perché si diventa vecchi, ma si diventa vecchi perché si smette di giocare"

Immagine F.E.E.L. - FrontEnd (Emulator Launcher)
http://feelfrontend.altervista.org
https://github.com/dr-prodigy/feel-frontend/
Avatar utente
dR.pRoDiGy

Donatore
Moderatore F.E.E.L.
Moderatore F.E.E.L.
Messaggi: 3069
Iscritto il: 17/11/2009, 15:55
Medaglie: 1
Città: Prov_Milano_zona_Sempione
Grazie Inviati: 10 volte
Grazie Ricevuti: 17 volte

Re: R: Software MAME Clean

Messaggio 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:
"Non si smette di giocare perché si diventa vecchi, ma si diventa vecchi perché si smette di giocare"

Immagine F.E.E.L. - FrontEnd (Emulator Launcher)
http://feelfrontend.altervista.org
https://github.com/dr-prodigy/feel-frontend/
Rispondi

Torna a “Miscellanea software”