22-08-2007, 22:20
Il Resource Editor e' un add-in (che va installato, se guardi nel menu principale di VB dovresti vedere la voce "Add-Ins"
che permette di creare e editare un file di tipo ".res" (resources) in cui puoi mettere dati di tipo stringhe, o dati letti da files (ad esempio immagini, musica, suoni, ma anche file di testo ordinari)
Quando contruisci l'eseguibilie, il file .res viene "incluso" nell'eseguibile stesso, per cui non c'e' bisogno di includere nella distribuzione i vari files che sono stati inseriti dentro. Nel tuo caso, ci puoi memorizzare sia i files di suoni, che quello con le domande. Un hacker ovviamente sara' capace di "estrarre" quella informazione dall'eseguibile, ma di certo non i tuoi studenti (basta che non dici come funziona, altrimenti chiedono al fratello maggiore
)
Per esempio, supponiamo che hai inserito un suono come risorsa con identificatore 101 e il file con le tue domande con identificatore 102, il codice seguente suona il fille e ti carica nella stringa "s" il contenuto del file. Semplice no?
Option Explicit
Private Const SND_APPLICATION = &H80
Private Const SND_ALIAS = &H10000
Private Const SND_ALIAS_ID = &H110000
Private Const SND_ASYNC = &H1
Private Const SND_FILENAME = &H20000
Private Const SND_LOOP = &H8
Private Const SND_MEMORY = &H4
Private Const SND_NODEFAULT = &H2
Private Const SND_NOSTOP = &H10
Private Const SND_NOWAIT = &H2000
Private Const SND_PURGE = &H40
Private Const SND_RESOURCE = &H40004
Private Const SND_SYNC = &H0
Private Declare Function PlaySound Lib "WINMM.DLL" Alias "PlaySoundA" (ByRef Sound As Any, _
ByVal hLib As Long, ByVal lngFlag As Long) As Long
Private Sub Form_Load()
Dim b() As Byte
b = LoadResData(101, "MIDI"
PlaySound b(0), 0, SND_MEMORY Or SND_NODEFAULT Or SND_SYNC
b = LoadResData(102, "TEXT"
s = StrConv(b, vbUnicode)
End Sub