Introducción a Qt

Qt es un framework para el desarrollo de aplicaciones multiplataforma creado por la compañia Trolltech y que actualmente es propiedad de Nokia, la función más conocida de Qt es la de la creación de interfaces de usuario, sin embargo no se limita a esto, ya que también provee varias clases para facilitar ciertas tareas de programación como el manejo de sockets, soporte para programación multihilo, comunicación con bases de datos, manejo de cadenas de caracteres, entre otras.

Qt utiliza C++ de manera nativa, pero ofrece soporte para otros lenguajes como Python mediante PyQt, Java mediante QtJambi, o C# mediante Qyoto.
Qt es un framework muy poderoso, comparable con Swing de Java o .NET de Microsoft, además ofrece una suite de aplicaciones para facilitar y agilizar las tareas de desarrollo, las aplicaciones que componen esta suite son:

  • Qt Assistant: Herramienta para visualizar la documentación oficial de Qt.
  • Qt Designer: Herramienta WYSIWYG para crear interfaces de usuario.
  • Qt Linguist: Herramienta para la traducción de aplicaciones.
  • Qt Creator: IDE para el lenguaje C++, pero especialmente diseñado para Qt, integra las primeras dos herramientas mencionadas.

Qt es utilizado por empresas como AMD, Google o VolksWagen. Algunos ejemplos de aplicaciones desarrolladas utilizando Qt son:

  • El entorno de escritorio KDE
  • Google Earth
  • Skype
  • Virtual Box

Qt está disponible bajo las siguientes licencias:

  • Qt GNU GPL v. 3.0: Utilizada para el desarrollo de aplicaciones de código abierto. Si se realizan cambios al código fuente de Qt, estos tienen la obligación de liberarse.
  • Qt GNU LGPL v.2.1: Permite el desarrollo de aplicaciones comerciales bajo ciertas restricciones. Si se realizan cambios al código fuente de Qt, estos tienen la obligación de liberarse.
  • Commercial: Es la única licencia con costo, es utilizada para el desarrollo de aplicaciones propietarias o comerciales, incluye soporte y la posibilidad de liberar las aplicaciones desarrolladas bajo cualquier licencia. Si se ralizan cambios al código fuente de Qt, estos no tienen la obligación de ser compartidos.

 

Publicado en Sin categoría, tutoriales sobre qt para windows | 1 comentario

Tutorial No 1. hola mundo QT

bueno primero que nada creo que para empezar a en cualquier lemguaje de

programacion se debe de hacer con el tipico hola mundo.

bueno usaremos Codeblocks(C::B), pero puedes usar otro IDE no importa o incluso lo puedes compilar desde lineas de comandos en windows o la terminal en gnu/linux.

</h3>
<h3>#include <QApplication></h3>
<h3>#include <QLabel></h3>
<h3>int main(int argc, char *argv[]) {</h3>
<h3>QApplication app(argc, argv);</h3>
<h3>QLabel *label = new QLabel("Hola Mundo!");</h3>
<h3>label->show();</h3>
<h3>return app.exec();</h3>
<h3>}</h3>

#include <QApplication> #include <QLabel> Incluimos los archivos de cabecera que utilizaremos para el ejemplo,  QApplication es una clase que representa una aplicación gráfica de Qt,  es la encargada de administrar el flujo de ejecución y la configuración  principal de la aplicación. QLabel es una clase que representa a un  control de interfaz de usuario etiqueta, el cual es generalmente utilizado para mostrar texto no editableen pantalla. int main(int argc, char *argv[]) Declaramos nuestra función main en la cual comenzará la ejecución de nuestro programa, es necesario especificar los argumentos de línea de comandos argc (un entero que contiene el número de argumentos) y argv (un arreglo/matriz que contiene el valor de cada uno de los argumentos) ya que al crear un objeto de la clase QApplication es necesario especificarlos. QApplication app(argc, argv); Crea el objeto QApplication llamado app y pasa como parámetros los argumentos de línea de comandos. QLabel label(«Hola Mundo!»); Crea un objeto QLabel llamado label, y la cual contendrá el texto que queremos mostrar en pantalla, el cual especificamos como argumento del constructor. label.show(); Muestra la etiqueta en pantalla. Qt se encargará de crear una ventana para poder mostrar la etiqueta en pantalla ya que nosotros no hemos asignado alguna. return app.exec(); Inicia el hilo principal de la aplicación a partir de este momento el framework toma el control de la aplicación y responde a la interacción del usuario con los controles de interfaz gráfica de acuerdo a todo lo especificado anteriormente. La sentencia return regresa al sistema operativo la respuesta de la ejecución del programa una vez que ha finalizado, está respuesta tipicamente será cero en caso de que la aplicación se haya ejecutado exitosamente. Compilación y Ejecución Guardamos el archivo como holamundo.cpp o cualquier otro nombre con extensión “.cpp”. Abrimos una terminal o simbolo sistema en la ubicación de nuestro archivo holamundo.cpp y ejecutamos los siguientes comandos. qmake -project (Crea un archivo de proyecto para nuestra aplicación *.pro) qmake (Crea un archivo de proyecto específico para la plataforma o SO en el que estamos trabajando).make (Generar un archivo ejecutable correspondiente a nuestra aplicación.) en el caso de windows para ejecutar la aplicacion basta con abrir el ejecutable *.exe en gnu/linux se ejecuta desde la consola o simplemete abriendo el ejecutable (si es desde la consola se ejecuta asi ./holamundo). en le caso qhe todo este bien te saldra una ventana asi.

Publicado en Sin categoría, tutoriales sobre qt para windows | 1 comentario

DEBIAN GNU/LINUX

Publicación de Debian GNU/Linux 5.0

14 de febrero de 2009

El Proyecto Debian se complace en anunciar la publicación oficial de la versión 5.0 de Debian GNU/Linux, nombre en clave «lenny», tras 22 meses de desarrollo constante. Debian GNU/Linux es un sistema operativo libre que soporta un total de doce arquitecturas de procesador e incluye los entornos de escritorio KDE, GNOME, Xfce y LXDE. También ofrece compatibilidad con el estándar FHS v2.3 y software desarrollado para la versión 3.2 de LSB.

Debian GNU/Linux se ejecuta en ordenadores que van desde agendas hasta supercomputadoras, pasando por prácticamente cualquier sistema intermedio. Se da soporte a un total de doce arquitecturas: Sun SPARC (sparc), HP Alpha (alpha), Motorola/IBM PowerPC (powerpc), Intel IA-32 (i386), IA-64 (ia64), HP PA-RISC (hppa), MIPS (mips, mipsel), ARM (arm, armel), IBM S/390 (s390), y AMD64 de AMD y EM64T de Intel (amd64).

Debian GNU/Linux 5.0 «Lenny» incluye soporte para la plataforma Orion de Marvell, utilizada en muchos dispositivos de almacenamiento. Entre los dispositivos de almacenamiento soportados se incluyen el QNAP Turbo Station, el HP Media Vault mv2120 y el Buffalo Kurobox Pro. «Lenny» también incluye soporte para los «Netbooks», en particular para los Eee PC de Asus. «Lenny» incluye las herramienta de compilación desarrolladas para Emdebian, que permiten que puedan realizarse compilaciones cruzadas de los paquetes fuente de Debian y reducir su tamaño para que puedan utilizarse en sistemas ARM.

Debian GNU/Linux 5.0 (Lenny) incluye la nueva adaptación a ARM EABI: «Armel». Esta nueva adaptación permite un uso más eficiente tanto de los modernos como de los futuros procesadores ARM. A consecuencia de esto, se da por obsoleta la antigua adaptación de ARM (arm).

Esta versión incluye una gran cantidad de paquetes de programas actualizados como: el entorno de escritorio K Desktop Environment 3.5.10 (KDE), una versión actualizada del entorno de escritorio GNOME 2.22.2, el entorno de escritorio Xfce 4.4.2, LXDE 0.3.2.1, el escritorio GNUstep 7.3, X.Org 7.3, OpenOffice.org 2.4.1, GIMP 2.4.7, Iceweasel 3.0.6 (una versión de Mozilla Firefox que no utiliza la marca registrada), Icedove 2.0.0.19 (una versión de Mozilla Thunderbird que no utiliza la marca registrada), PostgreSQL 8.3.6, MySQL 5.0.51a, la colección de compiladores del GNU (GCC) 4.3.2, el núcleo de Linux versión 2.6.26, Apache 2.2.9, Samba 3.2.5, Python 2.5.2 y 2.4.6, Perl 5.10.0, PHP 5.2.6, Asterisk 1.4.21.2, Emacs 22, Inkscape 0.46, Nagios 3.06, Xen Hypervisor 3.2.1 (con soporte tanto para dom0 como para domU), OpenJDK 6b11 y más de otros 23.000 paquetes de programas listos para usarse (contruídos a partir de 12.000 paquetes fuente).

Con la integración de X.Org 7.3 el servidor X se configura de forma automática con la mayor parte de hardware existente. La introducción de nuevos paquetes permiten dar soporte completo al sistema de ficheros NTFS, así como utilizar la mayor parte de las teclas multimedia sin configuración adicional. Se dispone de soporte para el formato de archivos Flash® de Adobe® a través de los complementos swfdec o Gnash. Se han introducido una serie de mejoras generales para ordenadores portátiles, como es el soporte integrado del escalado de frecuencia de la CPU. Se han añadido distintos juegos entre ellos rompecabezas y juegos de acción en primera persona. Un cambio notable es la introducción de «goplay», un navegador gráfico de juegos que incluye filtros, capacidad de búsqueda, descripciones e instantáneas de los juegos en Debian.

La disponibilidad en Debian GNU/Linux 5.0 de OpenJDK, el compilador Java de GNU, el intérprete de bytecodes Java de GNU, Classpath, y otras versiones libre de la tecnología Java de Sun hace posible la distribución de aplicaciones basadas en Java dentro del repositorio principal («main») de Debian.

Otras mejoras en la seguridad del sistema incluyen: la instalación de las actualizaciones de seguridad disponibles antes del primer reinicio del sistema de instalación, la reducción en el número de binarios con el bit «setuid» de root habilitado así como del número de puertos abiertos en la instalación estándar. Algunos paquetes de seguridad críticos se han compilado con las características de bastionado de GCC. También se han realizado mejoras específicas en algunas aplicaciones. Por ejemplo, se ha compilado PHP con el parche de bastionado de Suhosin.

El sistema de administración de paquetes ofrece ahora descripciones traducidas de los paquetes para los usuarios que no hablen inglés. Al usuario se le mostrarán automáticamente las descripciones de los paquetes en su propio idioma si éstas están disponibles.

Puede instalar Debian GNU/Linux utilizando distintos mecanismos de instalación, como DVDs, CDs, memorias USB y diskettes, e incluso directamente desde la red. El entorno de escritorio predeterminado es el de GNOME, y se encuentra en el primer CD. Se pueden instalar otros entornos de escritorio, como KDE, Xfce y LXDE, utilizando las dos nuevas imágenes de CD alternativas. Al igual que en la versión anterior se ofrece CDs y DVDs multi-arquitectura para Debian GNU/Linux 5.0, que permiten la instalación de varias arquitecturas desde un solo disco. En esta publicación se incorpora la posibilidad de utilizar discos Blu-ray, lo que permite proporcionar todo el archivo de una arquitectura en un único medio de instalación.

Además de los medios de instalación convencionales, ahora se puede utilizar Debian GNU/Linux directamente sin necesidad de instalarlo previamente. Estas imágenes especiales son conocidas como imágenes «live», y están disponibles para CDs, memorias USB y para distintas configuraciones de red. Estas imágenes estarán disponibles inicialmente sólo para las arquitecturas amd64 e i386.

Ha habido distintas mejoras dentro del proceso de instalación para Debian GNU/Linux 5.0. Entre otras mejoras se pueden destacar las siguientes: se ha restaurado la posibilidad de hacer la instalación a partir de más de un CD o DVD, puede cargarse el «firmware» requerido por algunos dispositivos utilizando medios extraíbles y se soporta la instalación a través de dispositivos Braille. El proceso de instalación ha recibido mucha atención: se puede utilizar un menú gráfico para elegir las distintas interfaces y entornos de escritorio y para seleccionar el modo experto o de rescate. La instalación del sistema para Debian GNU/Linux está actualmente traducida a 63 idiomas.

Dedicatoria

El proyecto dedica la publicación de Debian GNU/Linux 5.0 «Lenny» a Thiemo Seufer, un desarrollador Debian que falleció el pasado 26 de diciembre de 2008 en un trágico accidente de coche. Thiemo participaba de muchas formas distintas en Debian. Mantenía algunos paquetes y era la persona que más ayudaba en la adaptación de Debian a la arquitectura MIPS. También era un miembro del grupo del núcleo, así como un miembro del grupo que trabaja en el instalador de Debian. Sus contribuciones han ido más allá del proyecto Debian: trabajó en la adaptación a MIPS del núcleo de Linux, en la emulación MIPS de qemu y en muchos proyectos pequeños, demasiados para describirlos todos aquí.

Echaremos de menos el trabajo, dedicación, amplio conocimiento técnico y la habilidad de compartir todo esto con otras personas de Thiemo. No olvidaremos todas sus contribuciones. El gran nivel del trabajo de Thiemo pondrá el listón alto a los que quieran continuar su trabajo.
Acerca de Debian

Debian GNU/Linux es un sistema operativo libre, desarrollado por más de mil voluntarios alrededor del mundo, que colaboran a través de Internet. La dedicación de Debian al software Libre, su naturaleza no comercial y su modelo de desarrollo abierto la hacen única entre de las distribuciones de GNU/Linux.

Los puntos fuertes del proyecto Debian son su base de voluntarios, su dedicación al Contrato Social de Debian, y su compromiso por ofrecer el mejor sistema operativo posible. Debian 5.0 es otro importante paso en esa dirección.

Publicado en GNU/LINUX | Comentarios desactivados en DEBIAN GNU/LINUX

Analizador lexico c++ lee codigo

Bueno como siempre en la mayoria de veces nesesitamos conocer como realizar el analizardor de firerentes maneras, esta vez les mostrare uno con c++ con clases, resulta que asi es mucho mas facil su entendimiento al final agregare el grafo de como se resuelve.

Que hace el programa solo voy a explicar lo esencial:

leer una porcion de codigo escrito en c++, y indica cuantas palabras reservadas, delimitaroes, identificadores tiene.

archivo c++:

/*
podemos ver tokes sin errores de sintaxi:
void main(){int i;char c=’d’;for(i=0,i<2;i++)} podemos ver que es sencible a mayuscula con este ejemplo: VOID MAIN(){INT i;CHAR c='d';FOR(i=0,i<2;i++)} esto tiene errores de sixtaxis: int main(){int i; int x;x +=i;cout << x;if(x>=0);else cout << " "; return 0;} */ #include
#include
#include

using namespace std;

class LChocCac
{
public :
int i,j,k,ti,oprfl,delfl,keyfl,Litfl,cLitfl,ptfl,tfl,mxIdeni,Liti,mxIdenj,mxOpri,mxOprj,mxDeli,Erri;
int uqIdi,uqOpi,uqDei,defOpi,TamReser,cLiti;
char VerifiCador[50],mxIden[20][20],mxOpr[20][20],mxDel[20],tmpStr[50];
char MatDeliAsig[20][20],defOpr[15],defDel[15],TokenReser[20][20];
char uqOpr[20][20],uqIden[20][20],uqIdfl[20],uqOpfl[20],uqDefl[20],uqDel[20];
char Opr[20][20],invalTok[20][20],Con[20][20],Iden[20][20],
Key[20][20],inTok[20],Lit[20][20],Err[20][20],cLit[20][20];
int Opri,invToki,Coni,Ideni,Keyi,Deli,inToki;

LChocCac(char *str)
{
strcpy(VerifiCador,str);
TamReser=14;
strcpy(TokenReser[0],»int»);
strcpy(TokenReser[1],»float»);
strcpy(TokenReser[2],»double»);
strcpy(TokenReser[3],»for»);
strcpy(TokenReser[4],»if»);
strcpy(TokenReser[5],»else»);
strcpy(TokenReser[6],»while»);
strcpy(TokenReser[7],»do»);
strcpy(TokenReser[8],»return»);
strcpy(TokenReser[9],»char»);
strcpy(TokenReser[10],»break»);
strcpy(TokenReser[11],»goto»);
strcpy(TokenReser[12],»void»);
strcpy(TokenReser[13],»main»);

defOpi=18;
strcpy(MatDeliAsig[0],»+»);
strcpy(MatDeliAsig[1],»-«);
strcpy(MatDeliAsig[2],»*»);
strcpy(MatDeliAsig[3],»/»);
strcpy(MatDeliAsig[4],»%»);
strcpy(MatDeliAsig[5],»=»);
strcpy(MatDeliAsig[6],»<"); strcpy(MatDeliAsig[7],">«);
strcpy(MatDeliAsig[8],»<="); strcpy(MatDeliAsig[9],">=»);
strcpy(MatDeliAsig[10],»==»);
strcpy(MatDeliAsig[11],»=+»);
strcpy(MatDeliAsig[12],»=-«);
strcpy(MatDeliAsig[13],»=*»);
strcpy(MatDeliAsig[14],»=/»);
strcpy(MatDeliAsig[15],»=%»);
strcpy(MatDeliAsig[16],»++»);
strcpy(MatDeliAsig[17],»–«);
strcpy(defOpr,»+-/*%=<>«);
strcpy(defDel,»;,:{}[]()»);
}

int IsMxIden(char ch)
{
return((IsIden(ch)||IsFloat(ch))?1:0);
}

int IsIden(char ch)
{
return((isalpha(ch)||ch==’_’)?1:0);
}

int IsFloat(char ch)
{
return((isdigit(ch)||ch==’.’)?1:0);
}

int IsOpr(char ch)
{
oprfl=0;
for(ti=0;ti

Publicado en Sin categoría | 6 comentarios

Analizador lexico o analizador lexicografico c++

Que es analizador lexico:

Es la primera fase antes de la compilación, la cual identifica los token palabras u otros clasificándolas para luego pasarlos al analizador sintáctico.

Bueno cierto dia empeze a leer algo sobre compiladores aunque esa vez no tenia la menor idea donde podria aplicar esto ahora bien ya se donde hacer esto y para que nos puede servir.

El siguiente programa esta escrito en c++, el IDE que use es codeblocks ya que este incluye el compilador de mingw c++, aunque se puede hacer con el visualc++, bueno esto lee un archivo de tipo pascal para luego pasarlo al analizador para que identifique delimitarores, palabras reservadas o tokes, operadores matematicas, y otros, esto pasa una vez que se alla abierto el archivo pascal.

Bueno los probe en borlan c++, g++ y visualc++ y funciono pero como para fines de entretenimiento use g++ ya que es gratuito.

archivo cpp:

/*
Autor: mynor rene choc cac.

*/

#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <iostream>
#define NULL 0

using namespace std;

FILE *fp;
char Entrada;
char *Reservada[9]={«DO»,»BEGIN»,»ELSE»,»END»,»IF»,»THEN»,»VAR»,»WHILE»,»REAL»};
char *Delimitador[6]={«,»,»;»,»:=»,».»,»(«,»)»};
char *Matematica[4]={«+»,»-«,»*»,»/»};
char *Asignacion[7]={«<«,»<=»,»=»,»>»,»>=»,»<>»,»!»};
int contaRese=0;
int contaDeli=0;
int contaMat=0;
int contaAsig=0;
int contaVari=0;
int contacost=0;

int Lexico(char Analizar[],int Decision);
char Principal(char Limite);
char Digito(char Limite);
char Otro(char Limite);

int main()
{
if ((fp=fopen(«choccac.pas»,»r»))==NULL)
cout  << «nCrear el Archivo *.pasn»;
else
{
Entrada = fgetc(fp);
while (Entrada!=EOF)
{
if (issalpha(Entrada))
Entrada=Principal(Entrada);
else if (isdigsit(Entrada))
Entrada=Digito(Entrada);
else Entrada=Otro(Entrada);
}
cout << «nSe llego en fin del archivo pas.n»;
}
system(«PAUSE»);
return 0;
}

int Lexico(char Analizar[],int Decision)
{
int i=0;

switch (Decision)
{
case 1:
for (i=0;i<=9;i++)
{
if (strcmp(Reservada[i],Analizar)==0)
return(i+1);
}
case 2:
{
for (i=0;i<=5;i++)
{
if (strcmp(Delimitador[i],Analizar)==0)
return(i+1);
}
return(0);
}
case 3:
{
for (i=0;i<=3;i++)
{
if (strcmp(Matematica[i],Analizar)==0)
{
return(i+1);
}
}
return(0);
}
case 4:
{
for (i=0;i<=6;i++)
{
if (strcmp(Asignacion[i],Analizar)==0)
{
return(i+1);
}
}
return(0);
}
}
}

char Principal(char Limite)
{
int Proto;
int i=-1;
char IniComp[20];

while((isalpha(Limite))||(isdigit(Limite)))
{
IniComp[++i]=Limite;
Limite=fgetc(fp);
}

IniComp[i+1]=»;
if (Proto=Lexico(IniComp,1))
{
cout << IniComp << » (1,» << (Proto-1) << «)n»;
contaRese++;
cout << «ttPalabras Reservadas: » << contaRese << «nn»;
} else
{
Proto=Lexico(IniComp,6);
cout << IniComp << » (6,» << (Proto-1) << «)n»;
contaVari++;
cout << «ttVariables: » << contaVari << «nn»;
}
return(Limite);
}

char Digito(char Limite)
{
int i=-1;
char DigiTipo[20];
int TipDat;

while((isdigit(Limite)))
{
DigiTipo[++i]=Limite;
Limite=fgetc(fp);
}

DigiTipo[i+1]=»;
TipDat=Lexico(DigiTipo,5);
cout << DigiTipo << » (5,» << (TipDat-1) << «)n»;
contacost++;
cout << «ttConstantes numericos: » << contacost << «nn»;
return(Limite);
}

char Otro(char Limite)
{
char OtrTipo[20];
int AsigYN,AsigXN;
OtrTipo[0]=Limite;
OtrTipo[1]=»;

if (AsigYN=Lexico(OtrTipo,3))
{
cout << OtrTipo << » (3,» << (AsigYN-1) << «)n»;
Limite=fgetc(fp);
contaMat++;
cout << «ttOperador Matematico: » << contaMat << «nn»;
goto Brincar;
}

if (AsigYN=Lexico(OtrTipo,4))
{
Limite=fgetc(fp);
OtrTipo[1]=Limite;
OtrTipo[2]=»;

if (AsigXN=Lexico(OtrTipo,4))
{
cout << OtrTipo << » (4,» << (AsigXN-1) << «)n»;
contaAsig++;
cout << «ttAsignacion: » << contaAsig << «nn»;
goto Brincar;
}   else
OtrTipo[1]=»;
cout << OtrTipo << » (4,» << (AsigYN-1) << «)n»;
contaAsig++;
cout << «ttAsignacion: » << contaAsig << «nn»;
goto Brincar;
}

if (Limite==’:’)
{
Limite=fgetc(fp);
if (Limite==’=’)
{
cout << «:= (2,2)n»;
contaAsig++;
cout << «ttAsignacion: » << contaAsig << «n»;
}
Limite=fgetc(fp);
goto Brincar;
} else
{
if (AsigYN=Lexico(OtrTipo,2))
{
cout << OtrTipo << » (2,» << (AsigYN-1) << «)n»;
contaDeli++;
cout << «ttDelimitador: » << contaDeli << «nn»;
Limite=fgetc(fp);
goto Brincar;
}
}

if ((Limite!=’n’)&&(Limite!=’ ‘))
cout << «nVerificar sintaxis……n»<< Limite;
Limite=fgetc(fp);
Brincar: return(Limite);
}

Archivo Pascal(guardar con el nombre de choccac.pas):

BEGIN
VAR
A,B,C! REAL;
A:=2;
B:=3;
C:=A+B
IF (A<2);
WHILE (B=4)
A<5;
C:=A-B
C:=A*B
C:=A/B
C:=A+B
END.

autor ->> Mynor Rene Choc Cac.

Publicado en Analizador Lexico | Comentarios desactivados en Analizador lexico o analizador lexicografico c++

compilar notepad++ mingw borlan java

bueno aqui supondre que ya esta configurado en variables de entorno las path de mingw, borlan, java.

entoces bamos a lo que querememos:

1.  abrimos notepad++

2. nos donde dice plugins >> luego donde dice >> Plugin Manager >> luego aparecera la primera pestaña >> seleciona  NppExec. que lo descarga y lo instala automaticametne y pide que se reinicie notepad para que los cambios surgan efectos.

3. una ves reiniciado teclemos F6 y nos aprecera una ventana.

para compilar con c++ hay que pegar esto;

cls
cd $(CURRENT_DIRECTORY)
g++.exe -w -o $(NAME_PART) $(FILE_NAME)
$(NAME_PART) $(EXT_PART).exe

para compilar con borlan c++ pequemos esto:

cls
cd $(CURRENT_DIRECTORY)
npp_run eliminar.bat
bcc.exe $(NAME_PART) $(FILE_NAME)
$(NAME_PART) $(EXT_PART).exe

para compilar con java solo para consola y grafico(no Applet con html)

cls
cd $(CURRENT_DIRECTORY)
npp_run eliminar.bat
javac  $(FILE_NAME)
java $(NAME_PART)

bueno eso seria todo y debe de funcionar.

Autor.: Mynor Rene choc Cac

Corre: mrkcc@choc-cac.tk

Publicado en WINDOWS | Comentarios desactivados en compilar notepad++ mingw borlan java