Páginas

NIMADRES

Hacer un Compilador en C++


Este es en pocas palabras una aplicación en la consola donde puedes compilar tus programas en C++. Ojo este programa solo funciona en "Windows", antes que nada primero necesitas haber instalado el compilador real de C++, que es "G++", este es el que te permite transformar el texto en archivos binarios, una vez ya instalado, es necesario configurar en el "path" para que la consola lo reconozca, para esto entramos a Mi PC, y con el menú contextual dar clic en propiedades, ahi les aparecerá esto:


damos clic en "Variables del entorno" y en variables del sistma buscamos el path, clic en modificar y agregamos la ruta donde se encuentra guardao el g++, en mi caso ya tenia instalado el Dev-cpp asi que solo entre ala carpeta de los binarios y con un ';'(punto y coma) solo haces referencia al archivo y listo.


ahora solo tienen que compilar el siguiente código tal y como lo habían hecho antes

#include <iostream>
#include <cstring>

using namespace std;

int Menu(int &opcion){
    cout<<"1) Compilar\n";
    cout<<"2) Ejecutar\n\n";
    cout<<" Opcion: ";
    cin>>opcion;
    return opcion;
}

int main(){
    string archivo = "";
    string compilador = "g++ -Wall ";
    string ejecutable = ".cpp -o ";
    string ejecutable1 = "";
    string final = "";
    char compilacion[100];
    char exe[50];
    int opcion;
    
    do{
        Menu(opcion);
        switch(opcion){
            case 1:
                cout<<"Nombre del Archivo: ";
                getline(cin,archivo);
                getline(cin,archivo);
                cout<<"Nombre del ejecutable: ";
                getline(cin,ejecutable1);
                
                final  = (compilador + archivo + ejecutable + ejecutable1);
                
                for(int i = 0; i < 100;i++)
                    compilacion[i] = final[i];
                system(compilacion);
                break;
            case 2:
                for(int i = 0; i < 100;i++)
                    exe[i] = ejecutable1[i];
                system(exe);
                break;
            default:
                    cerr<<"error";
                break;
        }
        system("cls");
    }while(true);
    return 0;
}
el archivo ejecutable solo lo guardan en la carpeta donde estén los archivos a compilar, ya ejecutado solo ponen el nombre del archivo sin la extensión ".cpp", ejemplo:
y así solo eliges la opción 2 para ejecutar después y en la misma ventana se abrirá, esto funciona con cualquier archivo.

Hacer un Reloj en Java (Gráfico)

Este programa es una sencilla aplicación en la cual pueden robarse la hora del sistema(hora actual del sistema operativo) e imprimirlo cada segundo, logrando esto implementado la clase Runnable de hilos en java.
mas información sobre hilos en: http://monillo007.blogspot.com/2008/01/hilos-en-java-threads-parte-1.html

Esta aplicación esta hecha en bloc de notas, así que no es necesario utilizar un  IDE como netBeans o Eclipse, solo basta con el compilador, ademas que esta hecho de manera gráfica para verse mas dinámico.
De esta manera se vera si es que lo compilas en Windows Xp, sino quedara tal y como se ven las ventanas del sistema operativo gracias a la herramienta: UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());

import javax.swing.*;
import java.util.*;
import java.awt.*;
public class Reloj extends JFrame{
    public Calendar date;
    public int horas;
    public int minutos;
    public int segundos;
    private JPanel panel =  new JPanel(new GridLayout(2, 1, 30, 0));
    private JPanel panel2 =  new JPanel(new FlowLayout());
    private JLabel lblMexico;
    private JLabel lblZonasHorarias;
    public Reloj(){
        setTitle("NIMADRES");
        setVisible(true);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setBounds(200,200,300,200);
        setResizable(false);
        
        Mexico mexico = new Mexico();
        Thread r = new Thread(mexico);
        lblMexico = new JLabel(" MEXICO ");
        lblMexico.setFont(new java.awt.Font("Tahoma", 1, 30));
        
        panel.setBounds(100,150,200,50);
        panel.setBackground(java.awt.Color.ORANGE);
        panel.add(lblMexico,BorderLayout.SOUTH);
        panel.add(mexico,java.awt.BorderLayout.CENTER);
        
        lblZonasHorarias = new JLabel("Reloj en Java");
        lblZonasHorarias.setFont(new java.awt.Font("Tahoma", 1, 30));
        
        panel2.setBackground(java.awt.Color.WHITE);
        panel2.add(lblZonasHorarias,BorderLayout.CENTER);
        add(panel,BorderLayout.CENTER);
        add(panel2,BorderLayout.NORTH);
        r.start();
    }
    class Mexico extends JLabel implements Runnable{
        @Override
        public void run() {
        setFont(new java.awt.Font("Tahoma", 3, 60));
        while(true){
            try{
                Thread.sleep(100);
                date = Calendar.getInstance();
                horas = date.get(Calendar.HOUR);
                minutos = date.get(Calendar.MINUTE);
                segundos = date.get(Calendar.SECOND);
                setText(horas+":"+minutos+":"+segundos);
                repaint();
            }
            catch(InterruptedException e){}
            }
        }
    }
    public static void main(String args[]){
        try {
            UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
        }
        catch(Exception e) {}
        java.awt.EventQueue.invokeLater(new Runnable(){
            @Override
            public void run(){
                new Reloj().setVisible(true);
            }
        });
    }
}
Al final solo se guarda el archivo tal y como se llama la clase Reloj.java y lo compilan y ejecutan en la consola.