Saludos seguidores;
Hacia algún tiempo que no dejaba un post por acá.
Bueno resulta que en nuestro trabajo, CBIT-Yaracuy se presento una situación para el desarrollo de software educativo para las Canaima empleado Impress, de como introducir texto en una caja de texto y validar éste.
Indagando, buscando e investigando se logro dar con una solución empleando Macros de OpenOffice, acá la solución desarrollada:
Y este es el código Basic de las macros empleadas:
REM ***** BASIC *****
REM Codigo desarrollado por Ing. Tom Zambrano
REM el CBIT "Prof. Ferdinando Manto"
REM Marzo 2011
REM Se autoriza el empleo de este código, puede copiarlo, estudiarlo, modificarlo, distribuirlo
REM siempre y cuando de crédito de la autoría del mismo
Option Explicit
global oDoc As Object 'Para obtener la instancia del documento Impress
global oPre As Object 'Para obtener la instancia de la presentación
global oPreContr As Object 'Para obtener el los controles de la presentación
global oPagAct1 As Object 'Para obtener la instancia de la diapositiva donde esta la actividad
global oCajaTexto As Object 'Obtiene la instancia de la caja de texto
Sub Main
End Sub
Sub validar
obtenerAreaTrabajo
if (ucase(oCajaTexto.String)="ALGO") then
msgbox "muy bien"
oPreContr.gotoNextSlide() 'Va a la proxima diapositiva
oCajaTexto.String = "" 'para garantizar que la caja de texto quede vacia
else
msgbox "revisa tu respuesta"
oPreContr.gotoSlide(oPagAct1)
End IF
End Sub
Sub obtenerAreaTrabajo
oDoc = ThisComponent
oPagAct1 = oDoc.DrawPages.getByName("actividad1") 'Puede emplearse tambien
oCajaTexto = oPagAct1.getLinks().getByName("cajatexto")
oCajaTexto.CharHeight = 44
oPre = oDoc.Presentation
oPreContr = oPre.getController()
End Sub
Sub Tecla1
obtenerAreaTrabajo
oCajaTexto.String = oCajaTexto.String + "1"
oPreContr.gotoSlide(oPagAct1)
End Sub
Sub Tecla2
obtenerAreaTrabajo
oCajaTexto.String = oCajaTexto.String + "2"
oPreContr.gotoSlide(oPagAct1)
End Sub
Sub Tecla3
obtenerAreaTrabajo
oCajaTexto.String = oCajaTexto.String + "3"
oPreContr.gotoSlide(oPagAct1)
End Sub
Sub Tecla4
obtenerAreaTrabajo
oCajaTexto.String = oCajaTexto.String + "4"
oPreContr.gotoSlide(oPagAct1)
End Sub
Sub Tecla5
obtenerAreaTrabajo
oCajaTexto.String = oCajaTexto.String + "5"
oPreContr.gotoSlide(oPagAct1)
End Sub
Sub Tecla6
obtenerAreaTrabajo
oCajaTexto.String = oCajaTexto.String + "6"
oPreContr.gotoSlide(oPagAct1)
End Sub
Sub Tecla7
obtenerAreaTrabajo
oCajaTexto.String = oCajaTexto.String + "7"
oPreContr.gotoSlide(oPagAct1)
End Sub
Sub Tecla8
obtenerAreaTrabajo
oCajaTexto.String = oCajaTexto.String + "8"
oPreContr.gotoSlide(oPagAct1)
End Sub
Sub Tecla9
obtenerAreaTrabajo
oCajaTexto.String = oCajaTexto.String + "9"
oPreContr.gotoSlide(oPagAct1)
End Sub
Sub Tecla0
obtenerAreaTrabajo
oCajaTexto.String = oCajaTexto.String + "0"
oPreContr.gotoSlide(oPagAct1)
End Sub
Sub TeclaBorrar
Dim L As integer
obtenerAreaTrabajo
L = len(oCajaTexto.String)
if L>0 then
oCajaTexto.String = Left(oCajaTexto.String,L-1)
End If
oPreContr.gotoSlide(oPagAct1)
End Sub
Sub TeclaQ
obtenerAreaTrabajo
oCajaTexto.String = oCajaTexto.String + "Q"
oPreContr.gotoSlide(oPagAct1)
End Sub
Sub TeclaW
obtenerAreaTrabajo
oCajaTexto.String = oCajaTexto.String + "W"
oPreContr.gotoSlide(oPagAct1)
End Sub
Sub TeclaE
obtenerAreaTrabajo
oCajaTexto.String = oCajaTexto.String + "E"
oPreContr.gotoSlide(oPagAct1)
End Sub
Sub TeclaR
obtenerAreaTrabajo
oCajaTexto.String = oCajaTexto.String + "R"
oPreContr.gotoSlide(oPagAct1)
End Sub
Sub TeclaT
obtenerAreaTrabajo
oCajaTexto.String = oCajaTexto.String + "T"
oPreContr.gotoSlide(oPagAct1)
End Sub
Sub TeclaY
obtenerAreaTrabajo
oCajaTexto.String = oCajaTexto.String + "Y"
oPreContr.gotoSlide(oPagAct1)
End Sub
Sub TeclaU
obtenerAreaTrabajo
oCajaTexto.String = oCajaTexto.String + "U"
oPreContr.gotoSlide(oPagAct1)
End Sub
Sub TeclaI
obtenerAreaTrabajo
oCajaTexto.String = oCajaTexto.String + "I"
oPreContr.gotoSlide(oPagAct1)
End Sub
Sub TeclaO
obtenerAreaTrabajo
oCajaTexto.String = oCajaTexto.String + "O"
oPreContr.gotoSlide(oPagAct1)
End Sub
Sub TeclaP
obtenerAreaTrabajo
oCajaTexto.String = oCajaTexto.String + "P"
oPreContr.gotoSlide(oPagAct1)
End Sub
Sub TeclaA
obtenerAreaTrabajo
oCajaTexto.String = oCajaTexto.String + "A"
oPreContr.gotoSlide(oPagAct1)
End Sub
Sub TeclaS
obtenerAreaTrabajo
oCajaTexto.String = oCajaTexto.String + "S"
oPreContr.gotoSlide(oPagAct1)
End Sub
Sub TeclaD
obtenerAreaTrabajo
oCajaTexto.String = oCajaTexto.String + "D"
oPreContr.gotoSlide(oPagAct1)
End Sub
Sub TeclaF
obtenerAreaTrabajo
oCajaTexto.String = oCajaTexto.String + "F"
oPreContr.gotoSlide(oPagAct1)
End Sub
Sub TeclaG
obtenerAreaTrabajo
oCajaTexto.String = oCajaTexto.String + "G"
oPreContr.gotoSlide(oPagAct1)
End Sub
Sub TeclaH
obtenerAreaTrabajo
oCajaTexto.String = oCajaTexto.String + "H"
oPreContr.gotoSlide(oPagAct1)
End Sub
Sub TeclaJ
obtenerAreaTrabajo
oCajaTexto.String = oCajaTexto.String + "J"
oPreContr.gotoSlide(oPagAct1)
End Sub
Sub TeclaK
obtenerAreaTrabajo
oCajaTexto.String = oCajaTexto.String + "K"
oPreContr.gotoSlide(oPagAct1)
End Sub
Sub TeclaL
obtenerAreaTrabajo
oCajaTexto.String = oCajaTexto.String + "L"
oPreContr.gotoSlide(oPagAct1)
End Sub
Sub TeclaNtilde
obtenerAreaTrabajo
oCajaTexto.String = oCajaTexto.String + "Ñ"
oPreContr.gotoSlide(oPagAct1)
End Sub
Sub TeclaZ
obtenerAreaTrabajo
oCajaTexto.String = oCajaTexto.String + "Z"
oPreContr.gotoSlide(oPagAct1)
End Sub
Sub TeclaX
obtenerAreaTrabajo
oCajaTexto.String = oCajaTexto.String + "X"
oPreContr.gotoSlide(oPagAct1)
End Sub
Sub TeclaC
obtenerAreaTrabajo
oCajaTexto.String = oCajaTexto.String + "C"
oPreContr.gotoSlide(oPagAct1)
End Sub
Sub TeclaV
obtenerAreaTrabajo
oCajaTexto.String = oCajaTexto.String + "V"
oPreContr.gotoSlide(oPagAct1)
End Sub
Sub TeclaB
obtenerAreaTrabajo
oCajaTexto.String = oCajaTexto.String + "B"
oPreContr.gotoSlide(oPagAct1)
End Sub
Sub TeclaN
obtenerAreaTrabajo
oCajaTexto.String = oCajaTexto.String + "N"
oPreContr.gotoSlide(oPagAct1)
End Sub
Sub TeclaM
obtenerAreaTrabajo
oCajaTexto.String = oCajaTexto.String + "M"
oPreContr.gotoSlide(oPagAct1)
End Sub
Sub TeclaSpace
obtenerAreaTrabajo
oCajaTexto.String = oCajaTexto.String + " "
oPreContr.gotoSlide(oPagAct1)
End Sub
A cada objeto, se le asigna un nombre, sobe todo a la caja de texto, y en la interacción de los objetos se le asocia la macro correspondiente
Deseo que este código les sea de utilidad y de provecho, no duden en dar crédito de su desarrollo, porque el conocimiento es de todos y todos tenemos derecho a el.
No olvides en hacer tus comentarios