Imágen:
Código:
' gambas class file
PUBLIC vol11 AS Single
PUBLIC pres11 AS Single
PUBLIC temp11 AS Single
PUBLIC vol22 AS Single
PUBLIC pres22 AS Single
PUBLIC temp22 AS Single
PUBLIC boylevar1 AS Single
PUBLIC boylevar2 AS Single
PUBLIC gayluvar1 AS Single
PUBLIC gayluvar12 AS Single
PUBLIC gayluvar2 AS Single
PUBLIC gayluvar22 AS Single
PUBLIC cels AS Single
PUBLIC kelv AS Single
PUBLIC control AS Boolean
PROCEDURE boyle1()
boylevar1 = (pres11 * vol11) / pres22
Message("Aplicada la ley de Boyle ----- Volumen Final: " & boylevar1 & " Litros")
END PROCEDURE
PROCEDURE boyle2()
boylevar2 = (pres11 * vol11) / vol22
Message("Aplicada la ley de Boyle ----- Presión Final: " & boylevar2 & " Atmósferas")
END PROCEDURE
PROCEDURE gaylu1()
gayluvar1 = (vol11 / temp11) * temp22
Message("Aplicada la 1° ley de Charles Gay Lussac ----- Volumen Final: " & gayluvar1 & " Litros")
END PROCEDURE
PROCEDURE gaylu12()
gayluvar12 = (vol11 / temp11) * vol22
Message("Aplicada la 1° ley de Charles Gay Lussac ----- Temperatura Final: " & gayluvar12 & " °Kelvin")
END PROCEDURE
PROCEDURE gaylu2()
gayluvar2 = (pres11 / temp11) * temp22
Message("Aplicada la 2° ley de Charles Gay Lussac ----- Presión Final: " & gayluvar2 & " Atmósferas")
END PROCEDURE
PROCEDURE gaylu22()
gayluvar22 = (pres11 / temp11) * pres22
Message("Aplicada la 2° ley de Charles Gay Lussac ----- Temperatura Final: " & gayluvar22 & " °Kelvin")
END PROCEDURE
PUBLIC SUB Button1_Click()
vol11 = Vol1.Value
pres11 = Pres1.Value
temp11 = Temp1.Value
vol22 = Vol2.Value
pres22 = Pres2.Value
temp22 = Temp2.Value
IF vol22 = 0 AND temp11 = temp22 AND pres11 <> 0 AND vol11 <> 0 AND pres22 <> 0 THEN
boyle1
ENDIF
IF pres22 = 0 AND temp11 = temp22 AND pres11 <> 0 AND vol11 <> 0 AND vol22 <> 0 THEN
boyle2
ENDIF
IF vol22 = 0 AND pres11 = pres22 AND vol11 <> 0 AND temp11 <> 0 AND temp22 <> 0 THEN
gaylu1
ENDIF
IF temp22 = 0 AND pres11 = pres22 AND temp11 <> 0 AND vol11 <> 0 AND vol22 <> 0 THEN
gaylu12
ENDIF
IF pres22 = 0 AND vol11 = vol22 AND pres11 <> 0 AND temp11 <> 0 AND temp22 <> 0 THEN
gaylu2
ENDIF
IF temp22 = 0 AND vol11 = vol22 AND temp11 <> 0 AND pres11 <> 0 AND pres22 <> 0 THEN
gaylu22
ENDIF
IF vol22 <> 0 AND temp22 <> 0 AND pres22 <> 0 THEN
Message.Error("Ningún valor final incognito para calcular")
END IF
IF vol11 <> vol22 AND temp11 <> temp22 AND pres11 <> pres22 THEN
Message.Error("No hay valores constantes, no se puede aplicar ninguna ley")
END IF
IF vol11 = 0 OR temp11 = 0 OR pres11 = 0 THEN
Message.Error("Faltan valores iniciales para calcular")
ENDIF
IF vol22 = 0 AND temp22 = 0 OR vol22 = 0 AND pres22 = 0 OR temp22 = 0 AND pres22 = 0 OR vol22 = 0 AND temp22 = 0 AND pres22 = 0 THEN
Message.Error("Hay más de un valor incognito. Imposible aplicar alguna ley")
ENDIF
END
PUBLIC SUB Button2_Click()
Vol1.Clear
Vol2.Clear
Temp1.Clear
Temp2.Clear
Pres1.Clear
Pres2.Clear
END
PUBLIC SUB Button3_Click()
control = TRUE
IF Kelvin.Text <> "" THEN
Message.Error("Borra los valores para volver a convertir")
control = FALSE
END IF
IF control = TRUE
cels = Celcius.Value
kelv = cels + 273
Kelvin.Text = kelv
ENDIF
END
PUBLIC SUB Button4_Click()
Celcius.Clear
Kelvin.Clear
END
PUBLIC vol11 AS Single
PUBLIC pres11 AS Single
PUBLIC temp11 AS Single
PUBLIC vol22 AS Single
PUBLIC pres22 AS Single
PUBLIC temp22 AS Single
PUBLIC boylevar1 AS Single
PUBLIC boylevar2 AS Single
PUBLIC gayluvar1 AS Single
PUBLIC gayluvar12 AS Single
PUBLIC gayluvar2 AS Single
PUBLIC gayluvar22 AS Single
PUBLIC cels AS Single
PUBLIC kelv AS Single
PUBLIC control AS Boolean
PROCEDURE boyle1()
boylevar1 = (pres11 * vol11) / pres22
Message("Aplicada la ley de Boyle ----- Volumen Final: " & boylevar1 & " Litros")
END PROCEDURE
PROCEDURE boyle2()
boylevar2 = (pres11 * vol11) / vol22
Message("Aplicada la ley de Boyle ----- Presión Final: " & boylevar2 & " Atmósferas")
END PROCEDURE
PROCEDURE gaylu1()
gayluvar1 = (vol11 / temp11) * temp22
Message("Aplicada la 1° ley de Charles Gay Lussac ----- Volumen Final: " & gayluvar1 & " Litros")
END PROCEDURE
PROCEDURE gaylu12()
gayluvar12 = (vol11 / temp11) * vol22
Message("Aplicada la 1° ley de Charles Gay Lussac ----- Temperatura Final: " & gayluvar12 & " °Kelvin")
END PROCEDURE
PROCEDURE gaylu2()
gayluvar2 = (pres11 / temp11) * temp22
Message("Aplicada la 2° ley de Charles Gay Lussac ----- Presión Final: " & gayluvar2 & " Atmósferas")
END PROCEDURE
PROCEDURE gaylu22()
gayluvar22 = (pres11 / temp11) * pres22
Message("Aplicada la 2° ley de Charles Gay Lussac ----- Temperatura Final: " & gayluvar22 & " °Kelvin")
END PROCEDURE
PUBLIC SUB Button1_Click()
vol11 = Vol1.Value
pres11 = Pres1.Value
temp11 = Temp1.Value
vol22 = Vol2.Value
pres22 = Pres2.Value
temp22 = Temp2.Value
IF vol22 = 0 AND temp11 = temp22 AND pres11 <> 0 AND vol11 <> 0 AND pres22 <> 0 THEN
boyle1
ENDIF
IF pres22 = 0 AND temp11 = temp22 AND pres11 <> 0 AND vol11 <> 0 AND vol22 <> 0 THEN
boyle2
ENDIF
IF vol22 = 0 AND pres11 = pres22 AND vol11 <> 0 AND temp11 <> 0 AND temp22 <> 0 THEN
gaylu1
ENDIF
IF temp22 = 0 AND pres11 = pres22 AND temp11 <> 0 AND vol11 <> 0 AND vol22 <> 0 THEN
gaylu12
ENDIF
IF pres22 = 0 AND vol11 = vol22 AND pres11 <> 0 AND temp11 <> 0 AND temp22 <> 0 THEN
gaylu2
ENDIF
IF temp22 = 0 AND vol11 = vol22 AND temp11 <> 0 AND pres11 <> 0 AND pres22 <> 0 THEN
gaylu22
ENDIF
IF vol22 <> 0 AND temp22 <> 0 AND pres22 <> 0 THEN
Message.Error("Ningún valor final incognito para calcular")
END IF
IF vol11 <> vol22 AND temp11 <> temp22 AND pres11 <> pres22 THEN
Message.Error("No hay valores constantes, no se puede aplicar ninguna ley")
END IF
IF vol11 = 0 OR temp11 = 0 OR pres11 = 0 THEN
Message.Error("Faltan valores iniciales para calcular")
ENDIF
IF vol22 = 0 AND temp22 = 0 OR vol22 = 0 AND pres22 = 0 OR temp22 = 0 AND pres22 = 0 OR vol22 = 0 AND temp22 = 0 AND pres22 = 0 THEN
Message.Error("Hay más de un valor incognito. Imposible aplicar alguna ley")
ENDIF
END
PUBLIC SUB Button2_Click()
Vol1.Clear
Vol2.Clear
Temp1.Clear
Temp2.Clear
Pres1.Clear
Pres2.Clear
END
PUBLIC SUB Button3_Click()
control = TRUE
IF Kelvin.Text <> "" THEN
Message.Error("Borra los valores para volver a convertir")
control = FALSE
END IF
IF control = TRUE
cels = Celcius.Value
kelv = cels + 273
Kelvin.Text = kelv
ENDIF
END
PUBLIC SUB Button4_Click()
Celcius.Clear
Kelvin.Clear
END
Aqui les dejo para descargarlo
http://www.mediafire.com/download/7...es-0.0.3.tar.gz
Saludos Gente