
Haureu de comprimir (Winzip) els fitxers dels projectes i les DLL i EXE’s que genereu. Generareu enllaços des de la vostre pàgina web per poder-los descarregar. Comproveu vosaltres mateixos que els projectes es recuperen i s’executen correctament abans de notificar al professor que heu acabat la pràctica.
Crear un component de codi DLL ActiveX que oferirà un objecte TarjaCredit a altres aplicacions. S’utilitzarà l’objecte TarjaCredit per la validació d’una compra amb targeta de crèdit.
Els elements de l’objecte són:
|
Nom |
Tipus |
|
Numero |
Propietat (enter) |
|
Caducitat |
Propietat (data) |
|
Quantitat |
Propietat (procediment) |
|
Aprovar |
Mètode |
Les propietats del projecte seran les següents:
|
Propietat |
Valor |
|
Nom del projecte |
DLLCreditCard |
|
Descripció del projecte |
Objeto CreditCard |
|
Execució desatesa |
Activada |
|
Name de la classe |
CreditCard |
|
Nom del fitxer de classe |
Cc.cls |
|
Nom del fitxer vbp |
Cc.vbp |
Quantitat ha de ser un procediment de propietat. Hi haurà una variable privada per emmagatzemar el valor de l’import de la compra. En el procediment Property Get, retornem el valor de la variable privada. En el procedimient Property Let, comprovar que el valor és més gran que zero. Si es menor que zero, la variable privada valdrà zero.
El mètode Aprovar retorna un valor Boolean. Si s’aprova la targeta de crèdit, el mètode retorna True, altrament False. Per saber si s’aprova o no utilitzar la següent lògica:
| Condició.... | Acció |
| Quantitat = 1000 And Caducitat > Now() | Aprovar= True |
| Quantitat>= 1000 And Caducitat <= Now() | Aprovar= False |
La propietat Numero ha de ser la propietat predeterminada de la clase CreditCard.
Compilar el projecto Cc.dll. Activeu l’opció “Propiedades del proyecto à Compatibilidad del proyecto “ per tal de que quan efectuem canvis en el projecto no es perdin les referències de l’aplicació client.
Utilitzarem successos per simular la connexió a l’entitat bancària durant el procés del mètode Aprovar.
Dim sngEndTime As Single
RaiseEvent Status("Connectant amb el banc...") ‘informa al client de l’estat
'Simula el retard de trucar al banc: 2 segons
sngEndTime = Timer + 2
Do While Timer < sngEndTime
DoEvents ' Passa a altres processos
Loop
RaiseEvent Status("Procés de la targeta...") ‘informa al client de l’estat
'Simula el retard del procés de la targeta: 2 segons
sngEndTime = Timer + 2
Do While Timer < sngEndTime
DoEvents ' Passa a altres processos
Loop
Compileu la DLL i el projecte client per separat. Tanqueu Visual Basic i proveu a executar el client compilat.
Hem de crear un control ActiveX que simularà l’obtenció de informació de cotitzacions de la borsa.
If txtIdentificacio = "MSFT" Then
'preu simulat
txtPreu.TEXT = Rnd() * 200
Else 'tipus desconegut
txtPreu.TEXT = 0
End If
Afegiu al control ActiveX dos procediments de propietat: Actiu i Font. La propietat Actiu serà de tipus Boolean i quedarà connectada a la propietat Enabled de l’objecte Timer de forma que el client podrà controlar si es modifiquen o no els valors. La propietat Font és de tipus Object i servirà per que el client seleccioni el tipus de font que es mostrarà ens els Label i els TextBox del control ActiveX.