Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- prac15.cpp
- Programa basado en la practica 26 y 27 del Cuaderno de ejercicios Programacion I
- Para convertir temperaturas y usar los controles de Slider o Track
- Por: LSC Sergio Hugo Sanchez O.
- Fecha: 19/Mayo/2011
- NOTA: Descubrimos que no es posible poner 2 tracks porque al momento de
- evaluar sus eventos el programa se congela. Por lo mismo, el codigo marcado
- con comentarios seria valido si la libreria no tendria errores
- */
- #include <radc++.h>
- int fahrenheit, celsius;
- int nPos, nPos2;
- Form form1("Conversiones de Temperatura",0,0,400,500);
- Label lblCelsius("CELSIUS",AUTO_ID, 10,10,80,20,form1);
- Label lblFarenheit("FARENHEIT",AUTO_ID, 100,10,80,20,form1);
- Track sldCelsius(AUTO_ID,10,30,30,430,form1,0,true,true,false,true);
- Track sldFaren(AUTO_ID,100,30,30,430,form1,0,true,true,false,true);
- Label label2("Temperatura en Celsius",-1,170,60 ,150,20,form1);
- TextBox txt_Cel("0",AUTO_ID,170,85 ,170,20,form1);
- Label label3("Temperatura en Farenheit",-1,170,155 ,150,20,form1);
- TextBox txt_Far("32",AUTO_ID,170,180 ,150,20,form1);
- Button cmdConvertir("Convertir",AUTO_ID,170,230,100,20,form1);
- Button cmdFaren("Fahrenheit",AUTO_ID,170,260,100,20,form1);
- FormProcedure proc(FormProcArgs) {
- ON_CLOSE() Application.close();
- ON_TRACK_CHANGE(sldCelsius) {
- nPos = sldCelsius.position; //get track position
- celsius = nPos;
- fahrenheit = ( 9.0 * celsius ) / 5.0 + 32.0;
- txt_Far.text = str(fahrenheit);
- sldFaren.position = fahrenheit;
- sldCelsius.position = celsius;
- txt_Cel.text = str(sldCelsius.position);
- }
- //o poner el codigo siguiente porque no funciona con 2 tracks al mismo tiempo
- /*ON_TRACK_CHANGE(sldFaren) {
- nPos2 = sldFaren.position; //get track position
- fahrenheit = nPos2;
- celsius = ( 5.0 / 9.0 ) * ( fahrenheit - 32.0 );
- txt_Far.text = str(sldFaren.position);
- sldFaren.position = fahrenheit;
- // sldCelsius.position = celsius;
- // txt_Cel.text = str(celsius);
- }
- */
- /*
- ON_TEXT_CHANGED(txt_Cel) {
- celsius = val(txt_Cel.text);
- fahrenheit = ( 9.0 * celsius ) / 5.0 + 32.0;
- txt_Far.text = str(fahrenheit);
- sldFaren.position = fahrenheit;
- sldCelsius.position = celsius;
- }
- ON_TEXT_CHANGED(txt_Far) {
- // sldCelsius.position = val(txt_pos.text);
- fahrenheit = val(txt_Far.text);
- celsius = ( 5.0 / 9.0 ) * ( fahrenheit - 32.0 );
- txt_Cel.text = str(fahrenheit);
- sldFaren.position = fahrenheit;
- sldCelsius.position = celsius;
- }
- */
- ON_COMMAND_BY( cmdConvertir){
- celsius = val(txt_Cel.text);
- fahrenheit = ( 9.0 * celsius ) / 5.0 + 32.0;
- txt_Far.text = str(fahrenheit);
- sldFaren.position = fahrenheit;
- sldCelsius.position = celsius;
- }
- ON_COMMAND_BY( cmdFaren) {
- fahrenheit = val(txt_Far.text);
- celsius = ( 5.0 / 9.0 ) * ( fahrenheit - 32.0 );
- txt_Cel.text = str(fahrenheit);
- sldFaren.position = fahrenheit;
- sldCelsius.position = celsius;
- }
- return 0;
- }
- rad_main()
- form1.procedure = proc;
- //poner minimos y maximos iniciales
- sldCelsius.minRange = 0;
- sldCelsius.maxRange = 52;
- sldCelsius.ticks = 52;
- sldFaren.minRange = 0;
- sldFaren.maxRange = 248;
- sldFaren.ticks = 130;
- sldFaren.position = 32;
- rad_end()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement