Script 1 para práctica de programación

Anuncio
REM
REM
REM
REM
***** BASIC – OpenOffice *****
***** Aplicaciones Informáticas en Geología *****
***** Miguel Ángel Sanz *****
***** Fac. CC. Geológicas – UCM ****
'Variables globales
Private DialogoGrados as Object
'Ejecución dialogo
Sub EjecutaDialogo
DialogLibraries.LoadLibrary("Standard")
DialogoGrados = createUnoDialog(DialogLibraries.Standard.grados1)
DialogoGrados.execute()
End Sub
'Calculo de F a C
Sub Gradosfc
'Variables utilizadas para el procedimiento
Dim gradosf as single
Dim gradosc as single
'Obtención de datos y calculo de conversión
gradosf = val(DialogoGrados.Model.TextField1.Text)
gradosc = (gradosf-32)/1.8
DialogoGrados.Model.TextField2.Text = str(gradosc)
End Sub
Sub Gradoscf
'Variables utilizadas para el procedimiento
Dim gradosf as single
Dim gradosc as single
'Obtención de datos y calculo de conversión
gradosc = val(DialogoGrados.Model.TextField2.text)
gradosf = (gradosc* 1.8) + 32
DialogoGrados.Model.TextField1.Text = str(gradosf)
End Sub
'Limpiar los cuadros de texto
Sub LimpiaTexto
DialogoGrados.Model.TextField1.Text= ""
DialogoGrados.Model.TextField2.Text =""
end sub
'Cierra dialogo
Sub CierraDialogo
DialogoGrados.endExecute()
End Sub
'Mandar al documento y bajar a la siguiente linea
Sub MandarDocumento
' varaibles de objetos
Dim DocumentoOpen as object
Dim Hoja as object
Dim Cursor as object
Dim ServicioHoja as object
'Variables utilizadas para el procedimiento
Dim gradosf as single
Dim gradosc as single
Dim control as integer
Dim contar as integer
'Apertura de servicio de hoja de calculo
ServicioHoja = createUnoService ("com.sun.star.sheet.SpreadsheetDocument")
'Llamada al documento activo
DocumentoOpen = StarDesktop.CurrentComponent
'Llamada a la hoja 1 del libro de calculo
Hoja= DocumentoOpen.Sheets.getByName("Hoja1")
' Nos posicionamos en la primera celda
Cursor = Hoja.getCellByPosition (0,0)
'Lectura de datos de la casilla del cuadro de dialogo
gradosf =val(DialogoGrados.Model.TextField1.Text)
gradosc =val(DialogoGrados.Model.TextField2.Text)
' Condición de análisis de la ocupación de la casilla - vacía
if Cursor.Type = com.sun.star.table.CellContentType.EMPTY then
'escritura de los datos de encabezamiento
Cursor.String = "Fahrenheit"
Cursor = Hoja.getCellByPosition(1,0)
Cursor.String = "Celsius"
'posicionamiento en la primera celda de introducción de datos e introducción
Cursor = Hoja.getCellByPosition(0,1)
Cursor.String = gradosf
Cursor = Hoja.getCellByPosition(1,1)
Cursor.String = gradosc
' análisis de casilla llena
else
control = 0
contar= 0
'Creamos un bucle que mire donde tenemos casillas vacías
do until control = 1
Cursor = Hoja.getCellByPosition(0,contar)
'Condicional de comprobación de casilla vacía
if Cursor.Type = com.sun.star.table.CellContentType.EMPTY then
control = 1
else
contar= contar+1
end if
loop
' Rellena las casillas vacías
Cursor = Hoja.getCellByPosition(0,contar)
Cursor.String = gradosf
Cursor = Hoja.getCellByPosition(1,contar)
Cursor.String = gradosc
end if
end sub
' Procedimiento principal
Sub Main
'Apertura del cuadro de dialogo
EjecutaDialogo()
End Sub
Descargar