viernes, 16 de septiembre de 2011

Conversor Temperaturas

Conversor de temperaturas realizado en Visual C++.
Permite la conversión entre grados Centígrados, Farenheit y Kelvin.
También permite la selección de idioma.

Se muestra el uso de bucles, RadioButton, GroupBox, Botones, Múltiples Formularios, Messagebox, etc.














- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Código Fuente
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -


private: System::Void abriToolStripMenuItem_Click(System::Object^  sender, System::EventArgs^  e) {
	mensaxe();	 
}

private: System::Void salirToolStripMenuItem_Click(System::Object^  sender, System::EventArgs^  e) {
	this->Close(); 		 
}

private: System::Void acercaDeToolStripMenuItem_Click(System::Object^  sender, System::EventArgs^  e) {
	Formulario2().ShowDialog();
}

private: System::Void bt_convertir_Click(System::Object^  sender, System::EventArgs^  e) {
	double valor_origen, valor_destino;

	//Se usa TryParse para comprobar si es posible convertir el valor
	//En caso de que no sea posible se muestra un mensaje de advertencia
	if (!double::TryParse (this->txt_c->Text, valor_origen)) MessageBox::Show("El dato introducido no es numérico.");
	//En caso contrario se realiza la conversión
	else
	{	//se convierte el valor origen de string a double
		valor_origen = Convert::ToDouble (this->txt_c->Text);
				
		//para convertir de °C a °F es... °F= 32+(°C x 1.8) 
		if (this->rb_cf->Checked) valor_destino = 32.0 + (valor_origen - 32) * 1.8);
		else if (this->rb_fc->Checked) valor_destino = ((valor_origen / 1.8);
		else if (this->rb_ck->Checked) valor_destino =  valor_origen + 273.15;
		else valor_destino =  valor_origen - 273.15;
				 
		//se convierte el valor destino de double a string
		this->txt_f->Text = Convert::ToString (valor_destino);
	}


	if ((valor_origen <= 100) && (valor_origen >= 0))
	{//se modifica el valor para que simule un termómetro entre 0 y 100
		this->label4->Top = 52 + (200 - (valor_origen *2) );
		this->label4->Height = valor_origen *2;
	}
	else
	{
	//si el valor de temperatura esta fuera del rango 0-100 no se muestra como para cero
		this->label4->Top = 252;
		this->label4->Height = 0;
	}
}

private: System::Void ayudaToolStripMenuItem1_Click(System::Object^  sender, System::EventArgs^  e) {
	mensaxe();	 
}

private: System::Void nuevoToolStripMenuItem_Click(System::Object^  sender, System::EventArgs^  e) {
	mensaxe();	 
}

private: System::Void guardarToolStripMenuItem_Click(System::Object^  sender, System::EventArgs^  e) {
	mensaxe();	 
}

private: System::Void englishToolStripMenuItem_Click(System::Object^  sender, System::EventArgs^  e) {
	//Desmarcar os outros idiomas e marcar o actual
	castellanoToolStripMenuItem->Checked = false;
	gToolStripMenuItem->Checked = false;
	françaisToolStripMenuItem->Checked = false;
	englishToolStripMenuItem->Checked = true;
			 
	//Traducir os menus a ingles
	archivoToolStripMenuItem->Text = "File";
	ayudaToolStripMenuItem->Text = "Help";
	idiomasToolStripMenuItem->Text = "Languages";
	nuevoToolStripMenuItem->Text = "New";
	abriToolStripMenuItem->Text = "Open";
	guardarToolStripMenuItem->Text = "Save";
	salirToolStripMenuItem->Text = "Quit";
	ayudaToolStripMenuItem1->Text = "Help";
	acercaDeToolStripMenuItem->Text = "About";
	bt_convertir->Text = "Convert";
}

private: System::Void castellanoToolStripMenuItem_Click(System::Object^  sender, System::EventArgs^  e) {
	//Desmarcar os outros idiomas e marcar o actual
	castellanoToolStripMenuItem->Checked = true;
	gToolStripMenuItem->Checked = false;
	françaisToolStripMenuItem->Checked = false;
	englishToolStripMenuItem->Checked = false;
			 
	//Traducir menus a castellano
	archivoToolStripMenuItem->Text = "Archivo";
	ayudaToolStripMenuItem->Text = "Ayuda";
	idiomasToolStripMenuItem->Text = "Idiomas";
	nuevoToolStripMenuItem->Text = "Nuevo";
	abriToolStripMenuItem->Text = "Abrir";
	guardarToolStripMenuItem->Text = "Salvar";
	salirToolStripMenuItem->Text = "Salir";
	ayudaToolStripMenuItem1->Text = "Ayuda";
	acercaDeToolStripMenuItem->Text = "Acerca de";
	bt_convertir->Text = "Convertir";
}

private: System::Void françaisToolStripMenuItem_Click(System::Object^  sender, System::EventArgs^  e) {
	//Desmarcar os outros idiomas e marcar o actual
	castellanoToolStripMenuItem->Checked = false;
	gToolStripMenuItem->Checked = false;
	françaisToolStripMenuItem->Checked = true;
	englishToolStripMenuItem->Checked = false;
			 
	//Traducir menus a castellano
	archivoToolStripMenuItem->Text = "Fichier";
	ayudaToolStripMenuItem->Text = "Aide";
	idiomasToolStripMenuItem->Text = "Langues";
	nuevoToolStripMenuItem->Text = "Nouveau";
	abriToolStripMenuItem->Text = "Ouvrir";
	guardarToolStripMenuItem->Text = "Sauver";
	salirToolStripMenuItem->Text = "Sortir";
	ayudaToolStripMenuItem1->Text = "Aide";
	acercaDeToolStripMenuItem->Text = "Apropos";
	bt_convertir->Text = "Convert";
}

private: System::Void gToolStripMenuItem_Click(System::Object^  sender, System::EventArgs^  e) {		 
	//Desmarcar os outros idiomas e marcar o actual
	castellanoToolStripMenuItem->Checked = false;
	gToolStripMenuItem->Checked = true;
	françaisToolStripMenuItem->Checked = false;
	englishToolStripMenuItem->Checked = false;
			 
	//Traducir menus a galego
	archivoToolStripMenuItem->Text = "Arquivo";
	ayudaToolStripMenuItem->Text = "Axuda";
	idiomasToolStripMenuItem->Text = "Linguas";
	nuevoToolStripMenuItem->Text = "Novo";
	abriToolStripMenuItem->Text = "Abrir";
	guardarToolStripMenuItem->Text = "Salvar";
	salirToolStripMenuItem->Text = "Sair";
	ayudaToolStripMenuItem1->Text = "Axuda";
	acercaDeToolStripMenuItem->Text = "Acerca de";
	bt_convertir->Text = "Converter";
}

private: Void mensaxe()
{
	if (castellanoToolStripMenuItem->Checked) MessageBox::Show("Opción no disponible en esta versión del programa\nActualicese a la versión PRO.", "Ayuda");
	else if (gToolStripMenuItem->Checked) MessageBox::Show("Opción non dispoñible nesta versión do programa\nActualicese á versión PRO.", "Axuda");
	else if (françaisToolStripMenuItem->Checked) MessageBox::Show("Cette opcion n'est pas avaliable a cette version du logiciel\nS'il vous plaît telecharlle la nouvelle versión PRO.", "Aide");
	else MessageBox::Show("This opción is not available in this version of the software\nPlease upgrade to PRO version.", "Help");
}

No hay comentarios:

Publicar un comentario

Related Posts Plugin for WordPress, Blogger...