SlideShare una empresa de Scribd logo
1 de 60
Tutorial de Visual C++
Presentación
 Nombres: Zúñiga Acosta Martí Raúl
Badillo del Ángel Vianey Clara
 Asignatura: Desarrolla Software Utilizando Programación Estructurada
 Facilitadora: Margarita Romero Alvarado
 Especialidad: Programación
¿Qué es Visual C++?
Es un entorno de desarrollo integrado (IDE) para lenguajes de programación C,
C++ y C++/CLI.
Visual C++ engloba el desarrollo de aplicaciones hechas en C, C++ y C++/CLI en el
entorno Windows. Visual C++ incluye además las bibliotecas de Windows
(WinApi), las bibliotecas MFC y el entorno de desarrollo para .NET Framework.
Visual C++ cuenta con su propio compilador (de igual nombre) y otras
herramientas como IntelliSense, TeamFoundation Server, Debug,...
Elementos básicos
Informacion y Conocimiento son los dos elementos claves del nuevo milenio ninguna sociedad podra
alcanzar ni puede ignorar este nuevo esquema ya las naciones no se miden por su riqueza industrial, ni
sus activos fisicos, ni por su poder militar, sino por la cantidad de informacion que produce y consume,
asi como por la recombinacion de informacion nueva en un conocimiento de grado superior.
Nuevos sistemas de informacion, tienden a ser cada vez de mayor alcance y complejidad sobre todo
cuando se toman en cuenta la nuevas necesidades de informacion y conocimiento que demandan las
nuevas organizaciones.
Nuevos sistemas de informacion son costosos en tiempos y recursos, la solucion moderna de sistemas de
informacion exigen herramientas y metodologias que resuelvan rapida, economica, eficiente y de
manera global, problemas de informacion y conocimiento planteados por las organizaciones.
Ademas el pleno potencial del hardware tampoco es aprovechado plenamente y
existe un considerable retraso con el software y sus aplicaciones generando lo
que se conoce como “crisis del software”.
Actualmente el paradigma de programacion se ha enfocado a nuevas necesidades
de modernos y globales sistemas de informacion basados en redes y mas aun en
la red global de internet, actualmente es mas importante poder concebir y
construir sistemas de informacion con estas nuevas tecnologias de programacion.
Modelo de Solución
En general un problema de informacion es posible entenderlo, analizarlo y
descomponerlo en todos sus componentes o partes que de una u otra manera
intervienen tanto en su planteamiento como en su solucion.
Una herramienta rapida que nos permite descomponer en partes un problema
para su solucion es el llamado modelo de solucion, esta consiste de una pequena
caja que contiene los tres elementos mas basicos en que se puede descomponer
cualquier problema sencillo de informacion, estas tres partes son:
LA PRIMERA PARTE son todos los datos que el computador ocupa para resolver el
problema, estos datos son almacenados internamente en la memoria del
computador en las llamadas variables de entrada.
LA SEGUNDA PARTE son todas las operaciones generalmente algebraicas
necesarias para solucionar el problema, generalmente esta parte del modelo es
una ecuacion algebraica o formula (o igualdad matematica, ej. X= y + 5).
LA TERCERA PARTE es el resultado o solucion del problema que generalmente se
obtiene de la parte de operaciones del modelo y dichos datos estan almacenados
en las llamadas variables de salida.
En resumen para todo problema sencillo de informacion es necesario plantearse
las siguientes preguntas:
• Que datos ocupa conocer el computador para resolver el problema y en cuales
variables de entrada se van a almacenar?
• Que procesos u operaciones debe realizar el computador para resolver el
problema planteado?
• Que informacion o variables de salida se van a desplegar en pantalla para
responder al problema planteado originalmente?
Como nota importante no confundir los terminos datos, variables e informacion:
• Datos se refiere a informacion en bruto no procesada ni catalogada, por
ejemplo “Tijuana”, “calle primera # 213”,”15 anos”, ” $2,520.00”, etc.
• Variables es el nombre de una localidad o direccion interna en la memoria del
computador donde se almacenan los datos, ejemplo de variables para los
casos del inciso anterior, CIUDAD, DIRECCION, EDAD, SUELDO, ETC.
• Informacion son datos ya procesados que resuelven un problema planteado.
Ejemplo de Modelo de Solución
Construir un modelo de solucion que resuelva el problema de calcular el area de
un triangulo con la formula area igual a base por altura sobre dos.
Variable(s) de EntradaProceso u Operacion Variable(s) de Salida
BASE ALTURA AREA= BASE * ALTURA / 2 AREA
Problemas Sugeridos
Construir los modelos de solucion de los siguientes problemas:
PROBLEMA 6.- Convertir millas a kilometros (caso normal)
PROBLEMA 7.- Convertir 125 metros a centimetros (no ocupa entradas)
PROBLEMA 8.- Se calcula que en promedio hay 4.7 nidos en cada arbol en la UABC, tambien se
calcula que en cada nido existen un promedio de 5.8 pajaros, se pide calcular la cantidad total
de nidos y de pajaros en los 227 arboles que existen en la UABC. (no ocupa entradas)
PROBLEMA 9.- La gorda Sra. Lopez y sus 8 hijos solo compran una vez al mes su mandado en
conocido supermercado, en dicha tienda el kilogramo de frijol cuesta $8.75, el paquete de
tortillas cuesta $3.55 y el frasco de cafe vale $14.25, si solo compran de estos tres productos
para su mandado, calcular su gasto total.( problema no claro)
PROBLEMA 10.- Capturar y desplegar los cinco datos mas importantes de un automovil (no ocupa
operaciones)
Variables
VARIABLES VISUAL C++
Identificadores son conjuntos de letras y/o numeros que se utilizan para simbolizar todos los elementos que en un programa son
definibles por el usuario (programador o ingeniero de software) del mismo como son las variables donde se almacenan datos,
funciones( pequenos modulos con codigo), etiquetas, clases, objetos, etc.
Una variable se define como un identificador que se utiliza para almacenar todos los datos generados durante la ejecucion de un
programa.
Existen ciertas reglas en cuanto a variables:
Claras y con referencia directa al problema.
No espacios en blanco, ni simbolos extranos en ellas.
Se pueden usar abreviaturas, pero solo de caracter general.
No deben ser palabras reservadas del lenguaje.
Ejemplos de buenas variables:
Nombre, Edad, SdoDiario, IngMensual, Perimetro, Calif1, etc.
Declaración y tipos de datos
A toda variable que se use en un programa, se debera declarar de preferencia al principio del programa.
En VCPP (tambien se le conoce como C#) existen los siguientes tipos de variables:
CPP Tipo.Net Framework (System) type Signed? Bytes en Ram Rango
sbyte System.Sbyte Yes 1 -128 a 127
short System.Int16 Yes 2 -32768 a 32767
int System.Int32 Yes 4 -2147483648 a 2147483647
long System.Int64 Yes 8 -9223372036854775808 a 9223372036854775807
byte System.Byte No 1 0 a 255
ushort System.Uint16 No 2 0 a 65535
uint System.UInt32 No 4 0 a 4294967295
ulong System.Uint64 No 8 0 a 18446744073709551615
float System.Single Yes 4 Aprox. •}1.5 x 10-45 a •}3.4 x 1038 con 7 decimales
double System.Double Yes 8 Aprox. •}5.0 x 10-324 a •}1.7 x 10308 con 15 o 16 decimales
decimalSystem.Decimal Yes 12 Aprox. •}1.0 x 10-28 a •}7.9 x 1028 con 28 o 29 decimales
char System.Char N/A 2 Cualquier caracter Unicode
bool System.Boolean N/A 1 / 2 true o false
En particular cada tipo de dato que se menciona aqui es en realidad un OBJETO que se deriva a su
vez de una clase que provee el framework de microsoft.net, es por eso que se incluye la clase de
la cual proviene el tipo de dato.
Es decir en un programa se podra declarar una variable por ejemplo float pi; o tambien se podra
declarar y crear un objeto derivado de esa clase, por ejemplo System.Float alfa = new
System.Float(); para este caso observar y tener en cuenta dos cosas:
a) Observar como se declara y crea un objeto ( este formato de creacion de objetos aprenderlo
bien).
b) Como objeto, alfa podra usar todas las propiedades y metodos asociadas al objeto mas
adelante se ve un tema donde se analiza mas a fondo el concepto de clases y objetos.
Signed significa que se puede usar el signo + o - al usar la variable.
Por ultimo variables strings o variables cadena, se podran crear usando la clase STRING que
creara un objeto de dicho tipo.
Para declarar un variable en un script o programa solo usar el siguiente formato:
Tipo de dato lista de variables; ejemplo:
String *nombre, *ciudad;
int alfa, beta;
String *ciudad=“tijuana”;
float pi=3.1416;
Observar que variables strings, se declaran precedidas de un asterisco(*).
Para el caso de objetos numericos derivados de la clase respectiva, solo usar el
formato que se indico en los parrafos de arriba.
Recordar que vcpp es case-sensitive, es decir reconoce la diferencia que hay entre
mayusculas y minusculas, en otras palabras no declarar alfa e intentar capturar o
desplegar ALFA.
Para convertir numeros a strings no hay problema, solo cargar o asignar el numero o
variable numerica a la variable string, pero para convertir strings a numeros existen y
deberan usarse los metodos Parse de las clases respectivasejemplo;
String *beta1=“100”;
Int beta2 = System.Int32.Parse(beta1);
Las secuencias de escape que reconoce vcpp y que se pueden usar dentro de una string son:
Character Escape Sequence
' '
” ”

Alert a
Backspace b
Form feed f
New Line n
Carriage Return r
Horizontal Tab t
Vertical Tab v
A unicode character specified by its number e.g. u200 u
A unicode character specified by its hexidecimal code e.g. xc8 x
Null 0 (zero)
Operadores Aritméticos
Un operador es un simbolo especial que indica al compilador que debe efectuar
una operacion matematica o logica.
VC reconoce los siguientes operadores:
Category Name Syntax Example Overloadable?
Primary Grouping (a+b) No
Member A.B No
Struct pointer member
access
A→B No
Method call f(x) No
Post increment c++ Yes
Post decrement c– Yes
Constructor call c = new Coord(); No
Array stack allocation int* c = stackalloc int[10] No
Struct size retrieval sizeof (int) No
Arithmetic check on
checked {byte c = (byte)
d;}
No
Arithmetic check off
unchecked {byte c = (byte)
d;}
No
Unary Positive value +10 Yes
Negative value -10 Yes
Not !(c==d) Yes
Bitwise complement ~(int x) Yes
Pre increment ++c Yes
Pre decrement –c Yes
Type cast (myType)c No
Value at address int* c = d; No
Address value of int* c = &d; No
Type operators
Type equality /
compatibility
a is String No
Type retrieval typeof (int) No
Arithmetic Multiplication c*d Yes
Division c/d Yes
Remainder c%d Yes
Addition c+d Yes
Subtraction c-d Yes
Shift bits right c»3 Yes
Shift bits left c«3 Yes
Relational and Logical Less than c<d Yes
Greater than c>d Yes
Less than or equal to c⇐d Yes
Greater than or equal
to
c>=d Yes
Equality c==d Yes
Inequality c!=d Yes
Bitwise and c&d Yes
Bitwise or c d Yes
Logical and c&&d No
Logical or c d No
Conditional int c=(d<10) ? 5:15 No
De momento nos concentramos en los operadores aritmeticos, pero dejamos esta
tabla de operadores para usarla a lo largo del curso.
Recordar que en vc cuando se dividen dos enteros, vcpp trunca la parte residual,
es decir si se realiza la siguiente operacion:
float alfa= 10 / 3;
desplegar alfa–>sale 3 en pantalla
Es decir vcpp trunco el residuo de la division entre enteros, no importa el tipo de
variable (primero se realiza la operacion a la derecha y luego carga la variable a
la izquierda, es decir para cuando quiere cargar la variable el residuo ya no
existe) para arreglar este problema usar el siguiente metodo:
float alfa= 10/3.0; observar que ya no esta dividiendo enteros, sino un entero
entre un decimal.
El operador modulo o remanente (%) devuelve el residuo entero de una division entre enteros, ejemplo;
// area de declaracion
int float alfa;
// area de operaciones
alfa = 23 % 4;
// area de despliegue
desplegar alfa; ---> El resultado en pantalla es 3
Otro ejemplo;
alfa = 108 % 10;
desplegar alfa; –> El resultado en pantalla es 8
Para resolver los problemas de potencias y raices se usan ciertas instrucciones especiales que proporciona el lenguaje llamadas funciones
matematicas, en vcpp existe toda una libreria o mas correctamente dicho, una clase especializada en instrucciones o funciones matematicas
(System.Math).
Recordar que todas las funciones reciben uno o mas datos o valores y regresan
siempre un resultado, una de estas funciones matematicas es:
a) Potencias por ejemplo 52 se resuelve usando el objeto MATH y su metodo
Pow(base,exp).
System.field o metodo
Public Fields
E Represents the natural logarithmic base, specified by the constant, e.
PI Represents the ratio of the circumference of a circle to its diameter, specified
by the constant, ƒÎ.
Operador Cast
Se puede forzar un dato, variable o una expresion a convertirse o cambiarse a un nuevo tipo de dato.
El operador cast realiza este proceso es decir convierte datos, variables o expresiones a un nuevo tipo de dato, su formato
es:
(nvotipo) dato, var, exp;
Ejemplo:
// declaracion
int alfa;
// Asignacion
alfa=20;
// Cambio de tipo
(double)alfa;
Ejemplo:
(int)3.1416;
En este ejemplo se esta convirtiendo un float a int recordar que en este caso ya
no se tendran los decimales.
Como nota importante este operador resuelve los dos problemas pendientes:
El de la division entre enteros.
El tipo de dato especifico que requieren las funciones.
Ejemplos:
a) // Declaracion
float alfa;
// Operacion
alfa = float (23)/5;
// Pero en estos casos es preferible usar un puntodecimal
alfa=23/5.0;
En toda division recordar agregar a uno de los dos valores el (.0), solo que los dos
elementos sean variables entonces usar el operador cast con una de ellas.
b)// Declaracion
double potencia;
// Operacion
potencia = Pow ( (double)5, (double)3);
Como se observa en el ejemplo se puede usar Pow() directamente con los datos,
argumentos o parametros requeridos si estos son numericos pero
transformandolos con el operador cast.
Recordar que es Pow ←- P GRANDOTA.
Esto tambien va a permitir evaluar expresiones matematicas de manera mas
directa y sencilla, solo recordando usar un Pow() por cada potencia y cada raiz de
la ecuacion, ejemplo:
Sea image33.jpgdentro de un programa esto se resuelve con;
// area de declaracion de variables
double y, x;
// area de captura de datos
capturar el valor de x;
// area de operaciones
y = 3 * Pow(x, (double)3) - Pow(x, (1/3.0)) + 4 * Pow(x, (double)2 );
// area de despliegue de resultados
desplegar x, y
Jerarquía de Operaciones
El problema de no tomar en cuenta la jerarquia de los operadores al plantear y resolver una
operacion casi siempre conduce a resultados muchas veces equivocados como estos:
Ejemplos: a) 2 + 3 * 4 = 20 (incorrecto)
…………………..= 14 (correcto)
b) si calif1=60 y calif2=80
entonces si en programa se usa
promedio=calif1 + calif2/2
da como resultado promedio = 100
Recordar siempre que antes de plantear una formula en un programa se debera evaluar contra el siguiente:
Orden de operaciones:
1.- Parentesis
2.- Potencias y raices
3.- Multiplicaciones y divisiones
4.- Sumas y restas
5.- Dos o mas de la misma jerarquia u orden entonces resolver de izquierda a derecha
Nota: Si se quiere alterar el orden normal de operaciones entonces usar parentesis.
Nota: Tampoco es bueno usar parentesis de mas en una operacion esto solo indica que no se evaluo bien la formula como
en el siguiente ejemplo;
<m> area = ( base * altura ) / 2 </m>
Aqui los parentesis estan de mas porque por orden de operaciones, multiplicacion y division tienen la misma jerarquia y
entonces se resuelven de izquierda a derecha, en otras palabras ni que falten parentesis ni que sobren parentesis.
Conceptos Básicos de OOP
Para nuestro proposito en general un objeto puede definirse como cualquier
cosa, ente o entidad fisica o logica de informacion.
En este sentido todos los elementos materiales o inmateriales pueden clasificarse
como objetos.
En particular cualquier objeto considerado presenta los siguientes tres
elementos:
a) Propiedades: Son las caracteristicas propias de un objeto estas propiedades o atributos son los
que permiten diferenciar o individualizar un objeto de otro objeto ya sea de la misma o diferente
clase o categoria.
Las propiedades mas generales son forma, color, tamano, peso, etc., pero ya en particular:
Chamarra → Marca, material, precio, color, tamano, etc
Alumno → Matricula, nombre, edad, domicilio, etc.
Gato → Raza, nombre, color, edad, etc.
VentanaWindows–>Tamano, Color, font, etc.
b) Metodos: Son las conductas propias de la naturaleza del objeto.
Asi como las propiedades son el ser (que es) del objeto, los metodos son el hacer
(que hacer) del objeto.
ejemplo de metodos:
Gato —> Maullar(), comer(), correr(), saltar(), etc.
Alumno—> Estudiar(), comer(), asistir clase(), pintear()
Cuaderno–>Esescrito(), esrayado(), esborrado(), etc.
VentanaWindows–> Abrir(), cerrar(), maximizar(), etc….
c) Eventos: Es la relacion (de varias maneras) que se puede dar entre dos objetos
ya sean de la misma o diferente clase.
Un evento se manifiesta como un interaccion entre dos objetos, en general al
momento de la relacion al mismo tiempo se dara una reaccion o respuesta por
parte de los dos objetos que se manifiestan como una serie, cadena o conjuntos
de metodos propios que se activan o disparan, ejemplo:
Evento Relacion Metodos que se activan
gato detecta gata detectar maullar(), correr(), oler()
gato detecta perro detectar bufar(), saltar(), correr()
maestro ensena alumno Ensenar
pasar lista(), preguntar(),
etc
Raton click Windows click maximizar(), cerrar()
Raton dblclk Windows dblclk minimizar(), etc
Un Programa eN vcpp se puede considerar como un conjunto de una o mas
paginas o formas, donde cada una de ellas contiene un conjunto de objetos,
componentes o controles.
Un componente o propiamente dicho un control es un objeto que se especializa
en una tarea especifica por ejemplo hay controles especializados en desplegar
textos o mensajes, otros controles se especializan en desplegar imagenes o
videos, otros en manipular directorios o archivos en disco, etc.
Pero en general tanto las formas como los controles no dejan de ser objetos en
programacion y por tanto tienen sus propiedades, metodos y estan sujetos a
eventos.
Modelos de Programación en internet
VCPP (de momento lo entenderemos como programas en vcpp) y ASP.NET (active server pages) son
programas hechos para ejecutarse en la red de redes es decir en internet y mas apropiado en servidores
de paginas(web server).
En este modelo minimo se ocupan dos computadoras a la primera le llamamos servidor y es su mision
proporcionar paginas y algunos servicios a las segundas maquinas, este servidor tiene en ejecucion
constante un programa llamado servidor de paginas (web server).
La segunda maquina, le llamamos cliente y el unico programa que tiene en ejecucion es un programa o
compilador llamado browser de los cuales el mas comun es el internet explorer, mediante el browser el
cliente sube a una maquina servidora para bajar una pagina.html almacenada en la servidora y esta
pagina.html la compila y la despliega dentro de la ventana del browser en la maquina cliente.
En el modelo de programacion que se sigue en este curso, se construiran ejemplos de programas
de tipo CGI.
En principio cgi's son programas que son ejecutados por un servidor de paginas y sus resultados
son enviados a el browser de la maquina cliente.
Este programa se construye usando una serie o conjunto de objetos que pueden provenir de
varias fuentes distintas, las mas comunes son:
A) Objetos HTML.- Son los objetos mas elementales que puede contener o construirse en
cualquier pagina o forma html en internet, por ejemplo los input text, input submits, etc,
(recordar que como objetos tienen sus propiedades y metodos que hay que cargar o programar
ver apendice a final del capitulo).
B) Objetos ASP.- Son objetos propios de esta tecnologia y generalmente estan especializados en
comunicacion entre formas o paginas html, pero tambien tiene objetos especializados en
archivos, directorios, etc ver apendice al final.
C) Objetos ACTIVEX.- Componentes o controles especializados en muchas tareas
hechos por MicroSoft para sus lenguajes visuales de programacion, ejemplos
textbox, combobox, grids, etc ver apendice al final de la unidad.
D) Objetos ADO.- Active Data Object, componentes, controles u objetos
especializados en la manipulacion de bases de datos, entre ellas sqlserver,
access, etc.
E) Objeto DOM.- Document object model, un objeto estandar y especializado en
manipular una pagina html.
F) Objetos NET.- Nuevos objetos que facilitan aun mas la construccion de
programas en internet, de momento entender que son una combinacion de asp-
activex.
Sin embargo recordar que todos estos objetos de distinta fuente deberan ser
manipulados por algun lenguaje de programacion, es mediante instrucciones en
este lenguaje que se puede cargar propiedades o activar metodos o programar
eventos.
Los lenguajes basicos que microsoft incluyo en su primera version de ASP, son los
llamados LENGUAJES SCRIPTS, y los mas comunes fueron al principio
VisualBasicScript, JavaScript y por esfuerzos de personas y companias muy
responsables PERLSCRIPT y actualmente JSCRIPT.
Requisitos para POI
Para poder construir programas o aplicaciones orientadas a internet en VISUAL
CPP CGI, se ocupa lo siguiente:
1.- Una pc con enlace directo a internet esta pc le llmaremos servidor fisico
2.- El mejor editor del mundo, para crear paginas html y programas de vcpp, el
NOTEPAD o WORDPAD de windows.
3.- El compilador de VISUAL CPP, que se puede obtener gratis, bajandolo de
www.microsoft.com/net/, aguas son mas de 100 mb, bajarlo e instalarlo con
todos los default's o comprar el visual studio net o mejor aun vc++ net
4.- Una libreria especializada en obtener los datos que manda una pagina html,
llamada lcnet.dll que se puede bajar aqui
www.programacionfacil.com/visualc++/lcnet.dll bajarla y ponerla dentro de el
folder (TAREAS) o directorio donde crearan todos los programas que se pediran en
este curso.
RECORDAR que en este modelo de programacion nuestros programas se van a
almacenar y estar ejecutando en un servidor de paginas, es por esta razon que
les recomiendo usar un sitio de hospedaje adecuado, DE LA MANERA MAS
PROFESIONAL POSIBLE.
Forma o Página de Captura
Como ya se indico antes en este modelo de programacion es una pagina html ( a
estudiar un buen tutorial de html) quien proporciona los datos al programa en
vcpp ( que le llamaremos de aqui en adelante CGI), el programa los toma a
travez de unas funciones incluidas en la libreria lnet.dll, los procesa y construye
otra pagina html con los resultados, misma pagina que el usuario recibira para su
informacion.
Resolvemos el problema de calcular el area de un triangulo con la formula area =
base por altura sobre dos.
En este caso la pagina html (correctamente llamada forma.html porque lleva un tag html llamdo
<form>..</form>) de captura de datos, debera tener elementos para capturar la base y la altura y
mandar dicha informacion al programa en vcpp, esta sera todo el trabajo de la pagina o forma html.
El codigo de dicha pagina sera:
<HTML>
<FORM ACTION=/cgi-bin/tusitio/prog1.exe METHOD=get>
DAME LA BASE:<INPUT TYPE=text NAME=BASE1><BR>
DAME LA ALTURA:<INPUT TYPE=text NAME=ALTURA><BR>
<INPUT TYPE=submit VALUE="OK">
</FORM></HTML>
Una pagina html solo tiene unas cuantas instrucciones basicas, muy faciles de
aprender sobre todo si consiguen un tutorial sencillo de html de los cuales
muchos abundan en internet.
Como se observa una pagina empieza con
y termina con
,
Lleva un tag <FORM ACTION > que solo se utiliza cuando una pagina tiene que
comunicar datos a otras paginas o programas y termina con </FORM>
Las instrucciones INPUT TYPE son las que generan objetos, controles o
componentes html en una forma html tambien hay 6 clases diferentes de INPUT
TYPE (ver su tutorial de html y una apendice al final de este capitulo que solo
trae los objetos html's, no todas las instrucciones del lenguaje de programacion
html).
En este programa html (es verdad que una pagina o forma html es un programa y
su compilador es el browser, pero si a los usuarios les decimos haz un programa-
pagina-forma.html y compilalo con el browser internet explorer o netscape se
asustarian muchisimo, mejor les decimos haz una pagina y subela a tu sitio), se
estan usando dos objetos HTML de tipo “input type=text” mismos que se usan
para capturar los datos que proporciona el usuario y como una nota adicional el
nombre BASE1 que se ve raro es porque no se puede usar BASE, porque es una
palabra reservada del lenguaje vcpp (ver al final de este capitulo todas las
instrucciones opalabras reservadas de vcpp).
Otros tipos de INPUT TYPE en HTML son equivalentes a objetos, controles o
componentes de orden o comando como el INPUT TYPE=submit que se carga con
el letrero OK y recordar que existen otros tipos de INPUT TYPE para comboboxs,
etc., cuando el usuario realiza un click en el, este componente de orden activa
las instrucciones del FORM ACTION, que en este caso consisten en mandar los
datos al servidor de paginas y avisarle que ejecute el prog1.exe
Mensajes a desplegar se pueden enviar directamente como en la frase DAME LA
BASE, ALTURA o utilizando instruciones especiales de HTML como son
<P>mensaje</P>, <B>mensaje</B>, <H1>mensaje</H1>, etc, pero es mejor
consultar el tutorial de HTML.
INPUT TYPE=text, crea una caja que contendra texto o numeros NAME=BASE1, es
el nombre que tendra la caja.
Cuando el usuario carga los datos en los controles y hace un click en OK, FORM
ACTION avisa al servidor de paginas (web server) que ejecute el prog1.exe y
ademas le pasa los nombres y los datos de las cajas de texto y aqui termina el
trabajo de esta pagina o forma de captura de HTML.
Para crearla solo copiar el codigo al notepad o wordpad de windows, es mas
recomendable este ultimo, grabarla con el nombre de prog1.html, este
programa1.html subirlo a su sitio en LUNARPAGES, usando el ftp del INTERNET
EXPLORER.
Forma en ejecucion:
Aplicaciones
El programa o aplicacion que recibe los datos de la forma es el siguiente:
#using <mscorlib.dll>
#using <System.dll>
#using <lcnet.dll>
using namespace System;
void main(){
//declarando variables
int base1, altura;
Double area;
// capturando,cargando y convirtiendo
//los datos de la forma a las variables
base1 = Int32::Parse(lcnet::getparametro("BASE1"));
altura = Int32::Parse(lcnet::getparametro("ALTURA"));
// operaciones
area = base1 * altura /2.0;
//construyendo y desplegando la pagina de salida
Console::WriteLine("Content-Type:text/htmln");
Console::WriteLine(String::Concat(S"area=",area.ToString("#.##")) );
}
Reglas para escribir un programa en VCPP:
Todo programa empieza #using o importanndo las librerias de clases adecuadas
paar el programa, en este ejemplo se importo:
mscorlib.dll ← la libreria mas generica de vcpp, trae todas las instrucciones
genericas de cpp.
System.dll ← la libreria mas generica de microsoft.net, incluye las definiciones
de los tipos de datos, entrada/salida, etc
lcnet.dll ← libreria creada por su servidor lauro soto y que solo contiene una
instruccion o funcion (getparametro(string))recordar que en este modelo de
programacion cgi, una forma o pagina html mandara los datos al programa.cpp,
es esta instruccion o propiamente dicho funcion quien realmente toma el dato de
la pagina.html y lo manda a una variable en cpp.
Despues de los #using vienen los namespaces (observar que using no lleva #), un
namespace es una manera de recortar dentro del programa un
objeto::metodo::propiedad o valor, es decir por ejemplo:
se esta usando la instruccion console::writeline(string) para desplegar un
mensaje, existen tres posibles manera de escribirse:
a) System::Console::WriteLine(string) ← es la forma mas completa de escribirla y
observar que System es una clase u objeto, Console es otra clase u objeto
derivado de la clase System y WriteLine es un metodo de la clase Console,
observar tambien que en VCPP se usa el formato clase::metodo para construir las
instrucciones apropiadas.
b) Como existe un using namespace system como default en cpp, en el programa
se uso la instruccion Console::WriteLine(string);.
c) Si se pone en el programa using namespace Sistem::Console; (observar este
formato) se pudo usar en el programa la instruccion WriteLine(string);
Este programa se debera crear y grabar con extencion cpp, es decir debera
quedar grabado como prog1.cpp
Observar, usar y respetar mayusculas y minusculas que trae el programa, en
general clase::propiedad o metodo siempre empiezan con mayuscula.
Todo programa comienza con una funcion llamada void main().
El cuerpo de instrucciones del programa debera encerrarse entre llaves.
Todas las instrucciones ejecutables terminan con punto y coma.
Objetos Propios HTML
“Button, Submit, Reset, CheckBox, Radio, Password, Text, TextArea, Select,
Hidden”
Propiedades Eventos Metodos
“form” “OnClick” “click”
“name” “OnFocus” “focus”
“value”
“enabled”
Propiedades Eventos Metodos
“form” “OnClick” “click”
“name” “OnFocus” “focus”
“value”
“enabled”
“checked”
“defaultchecked”
Control “CheckBox”.
Propiedades Eventos Metodos
“form” “OnClick” “click”
“name” “OnFocus” “focus”
“value”
“enabled”
“checked”
Control “Radio”.
Propiedades Eventos Metodos
“form” “OnBlur” “blur”
“name” “OnFocus” “focus”
“value”
“enabled”
Control “Password”.
Propiedades Eventos Metodos
“form” “OnBlur” “blur”
“name” “OnFocus” “focus”
“value”
“enabled”
Controles “Text” y “Textarea”s.
Propiedades Eventos Metodos
“length” “OnBlur” “blur”
“options” “OnFocus” “focus”
“selectedIndex” “OnChange”
Control “Select”.
Propiedades Eventos Metodos
“name”
“value”
Control “Hidden”.
Palabras Reservadas VCPP
abstract event new struct
as explicit null switch
base extern object this
bool false operator throw
break finally out true
byte fixed override try
case float params typeof
catch for private uint
char foreach protected ulong
checked goto public unchecked
class if readonly unsafe
const implicit ref ushort
continue in return using
decimal int sbyte virtual
default interface sealed volatile
delegate internal short void
do is sizeof while
double lock stackalloc
else long static
enum namespace string

Más contenido relacionado

La actualidad más candente (16)

Aplicacion de tora a pl
Aplicacion de tora a plAplicacion de tora a pl
Aplicacion de tora a pl
 
Tora
ToraTora
Tora
 
Trabajo de tecnologia
Trabajo de tecnologiaTrabajo de tecnologia
Trabajo de tecnologia
 
Estructuras basicas tecnología
Estructuras basicas  tecnología Estructuras basicas  tecnología
Estructuras basicas tecnología
 
Ingeniería en software
Ingeniería en softwareIngeniería en software
Ingeniería en software
 
Diagramas De Flujo
Diagramas De FlujoDiagramas De Flujo
Diagramas De Flujo
 
Portafolio
PortafolioPortafolio
Portafolio
 
Visual c# ok
Visual c# okVisual c# ok
Visual c# ok
 
Estructuras básicas
Estructuras básicas Estructuras básicas
Estructuras básicas
 
Programacion_II_Interfaz_grafica_guia_I
Programacion_II_Interfaz_grafica_guia_IProgramacion_II_Interfaz_grafica_guia_I
Programacion_II_Interfaz_grafica_guia_I
 
DEFINICIÓN DE LENGUAJES ALGORÍTMICOS
DEFINICIÓN DE LENGUAJES ALGORÍTMICOSDEFINICIÓN DE LENGUAJES ALGORÍTMICOS
DEFINICIÓN DE LENGUAJES ALGORÍTMICOS
 
VISUAL BASIC 6.0
VISUAL BASIC 6.0VISUAL BASIC 6.0
VISUAL BASIC 6.0
 
Tecno
TecnoTecno
Tecno
 
T9
T9T9
T9
 
Estructuras básicas
Estructuras básicas Estructuras básicas
Estructuras básicas
 
ESTRUCTURAS BÁSICAS
ESTRUCTURAS BÁSICASESTRUCTURAS BÁSICAS
ESTRUCTURAS BÁSICAS
 

Similar a Tutorial de visual c++

Similar a Tutorial de visual c++ (20)

Tutorial de visual_c_3
Tutorial de visual_c_3Tutorial de visual_c_3
Tutorial de visual_c_3
 
Tutorial de visual c++3
Tutorial  de visual c++3Tutorial  de visual c++3
Tutorial de visual c++3
 
Programacion primero
Programacion primeroProgramacion primero
Programacion primero
 
Lo básico para programar
Lo básico para programarLo básico para programar
Lo básico para programar
 
Lo básico para programar
Lo básico para programarLo básico para programar
Lo básico para programar
 
Algoritmo
AlgoritmoAlgoritmo
Algoritmo
 
Herramientas de Programación
Herramientas de ProgramaciónHerramientas de Programación
Herramientas de Programación
 
Estructuras de un Algoritmo
Estructuras de un AlgoritmoEstructuras de un Algoritmo
Estructuras de un Algoritmo
 
Modulo programacion las_naves
Modulo programacion las_navesModulo programacion las_naves
Modulo programacion las_naves
 
Tema n° 1
Tema n° 1Tema n° 1
Tema n° 1
 
Programacionvb
ProgramacionvbProgramacionvb
Programacionvb
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
Programación
ProgramaciónProgramación
Programación
 
Unidad 1 Desarrollar el Proceso de Solución de un Problema
Unidad 1 Desarrollar el Proceso de Solución de un ProblemaUnidad 1 Desarrollar el Proceso de Solución de un Problema
Unidad 1 Desarrollar el Proceso de Solución de un Problema
 
Logica computacional conceptos basicos
Logica computacional conceptos basicosLogica computacional conceptos basicos
Logica computacional conceptos basicos
 
Pseint
PseintPseint
Pseint
 
pseint
pseintpseint
pseint
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
Tema vi guia de c
Tema vi guia de cTema vi guia de c
Tema vi guia de c
 

Más de claravianeybadillodelangel (16)

7 estrategias para_trabajar_con_la_atencion
7 estrategias para_trabajar_con_la_atencion7 estrategias para_trabajar_con_la_atencion
7 estrategias para_trabajar_con_la_atencion
 
Cuestionario de segunda unidad
Cuestionario de segunda unidadCuestionario de segunda unidad
Cuestionario de segunda unidad
 
Estructura basica para c++
Estructura basica para c++Estructura basica para c++
Estructura basica para c++
 
Examen unidad 2
Examen unidad 2Examen unidad 2
Examen unidad 2
 
Instrucciones basicas para c++
Instrucciones basicas para c++Instrucciones basicas para c++
Instrucciones basicas para c++
 
Instrucciones basicas para C++
Instrucciones basicas para C++Instrucciones basicas para C++
Instrucciones basicas para C++
 
Jerarquia de las operaciones
Jerarquia de las operacionesJerarquia de las operaciones
Jerarquia de las operaciones
 
Practica 5 diagramas
Practica 5 diagramasPractica 5 diagramas
Practica 5 diagramas
 
Tablas de verdad para C++
Tablas de verdad para C++Tablas de verdad para C++
Tablas de verdad para C++
 
Tipos de datos para C++
Tipos de datos para C++Tipos de datos para C++
Tipos de datos para C++
 
Manual de codeblocks
Manual de codeblocksManual de codeblocks
Manual de codeblocks
 
Historia de-los-lenguajes-de-programación
Historia de-los-lenguajes-de-programaciónHistoria de-los-lenguajes-de-programación
Historia de-los-lenguajes-de-programación
 
Transporte
TransporteTransporte
Transporte
 
Ventas
VentasVentas
Ventas
 
grafica circular
grafica circulargrafica circular
grafica circular
 
grafica de barras
grafica de barrasgrafica de barras
grafica de barras
 

Último

cortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuacortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuaDANNYISAACCARVAJALGA
 
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSTEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSjlorentemartos
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...JAVIER SOLIS NOYOLA
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.José Luis Palma
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADOJosé Luis Palma
 
texto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticostexto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticosisabeltrejoros
 
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxAna Fernandez
 
Historia y técnica del collage en el arte
Historia y técnica del collage en el arteHistoria y técnica del collage en el arte
Historia y técnica del collage en el arteRaquel Martín Contreras
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para eventoDiegoMtsS
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxlclcarmen
 
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptxPRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptxinformacionasapespu
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadAlejandrino Halire Ccahuana
 
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIACarlos Campaña Montenegro
 
codigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karinacodigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karinavergarakarina022
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Lourdes Feria
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoFundación YOD YOD
 
2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdfBaker Publishing Company
 
EXPECTATIVAS vs PERSPECTIVA en la vida.
EXPECTATIVAS vs PERSPECTIVA  en la vida.EXPECTATIVAS vs PERSPECTIVA  en la vida.
EXPECTATIVAS vs PERSPECTIVA en la vida.DaluiMonasterio
 
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptDE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptELENA GALLARDO PAÚLS
 

Último (20)

cortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuacortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahua
 
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSTEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
 
texto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticostexto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticos
 
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docx
 
Historia y técnica del collage en el arte
Historia y técnica del collage en el arteHistoria y técnica del collage en el arte
Historia y técnica del collage en el arte
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para evento
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
 
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptxPRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdad
 
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
 
codigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karinacodigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karina
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativo
 
2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf
 
EXPECTATIVAS vs PERSPECTIVA en la vida.
EXPECTATIVAS vs PERSPECTIVA  en la vida.EXPECTATIVAS vs PERSPECTIVA  en la vida.
EXPECTATIVAS vs PERSPECTIVA en la vida.
 
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptDE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
 

Tutorial de visual c++

  • 2. Presentación  Nombres: Zúñiga Acosta Martí Raúl Badillo del Ángel Vianey Clara  Asignatura: Desarrolla Software Utilizando Programación Estructurada  Facilitadora: Margarita Romero Alvarado  Especialidad: Programación
  • 3. ¿Qué es Visual C++? Es un entorno de desarrollo integrado (IDE) para lenguajes de programación C, C++ y C++/CLI. Visual C++ engloba el desarrollo de aplicaciones hechas en C, C++ y C++/CLI en el entorno Windows. Visual C++ incluye además las bibliotecas de Windows (WinApi), las bibliotecas MFC y el entorno de desarrollo para .NET Framework. Visual C++ cuenta con su propio compilador (de igual nombre) y otras herramientas como IntelliSense, TeamFoundation Server, Debug,...
  • 4. Elementos básicos Informacion y Conocimiento son los dos elementos claves del nuevo milenio ninguna sociedad podra alcanzar ni puede ignorar este nuevo esquema ya las naciones no se miden por su riqueza industrial, ni sus activos fisicos, ni por su poder militar, sino por la cantidad de informacion que produce y consume, asi como por la recombinacion de informacion nueva en un conocimiento de grado superior. Nuevos sistemas de informacion, tienden a ser cada vez de mayor alcance y complejidad sobre todo cuando se toman en cuenta la nuevas necesidades de informacion y conocimiento que demandan las nuevas organizaciones. Nuevos sistemas de informacion son costosos en tiempos y recursos, la solucion moderna de sistemas de informacion exigen herramientas y metodologias que resuelvan rapida, economica, eficiente y de manera global, problemas de informacion y conocimiento planteados por las organizaciones.
  • 5. Ademas el pleno potencial del hardware tampoco es aprovechado plenamente y existe un considerable retraso con el software y sus aplicaciones generando lo que se conoce como “crisis del software”. Actualmente el paradigma de programacion se ha enfocado a nuevas necesidades de modernos y globales sistemas de informacion basados en redes y mas aun en la red global de internet, actualmente es mas importante poder concebir y construir sistemas de informacion con estas nuevas tecnologias de programacion.
  • 6. Modelo de Solución En general un problema de informacion es posible entenderlo, analizarlo y descomponerlo en todos sus componentes o partes que de una u otra manera intervienen tanto en su planteamiento como en su solucion. Una herramienta rapida que nos permite descomponer en partes un problema para su solucion es el llamado modelo de solucion, esta consiste de una pequena caja que contiene los tres elementos mas basicos en que se puede descomponer cualquier problema sencillo de informacion, estas tres partes son:
  • 7. LA PRIMERA PARTE son todos los datos que el computador ocupa para resolver el problema, estos datos son almacenados internamente en la memoria del computador en las llamadas variables de entrada. LA SEGUNDA PARTE son todas las operaciones generalmente algebraicas necesarias para solucionar el problema, generalmente esta parte del modelo es una ecuacion algebraica o formula (o igualdad matematica, ej. X= y + 5). LA TERCERA PARTE es el resultado o solucion del problema que generalmente se obtiene de la parte de operaciones del modelo y dichos datos estan almacenados en las llamadas variables de salida.
  • 8. En resumen para todo problema sencillo de informacion es necesario plantearse las siguientes preguntas: • Que datos ocupa conocer el computador para resolver el problema y en cuales variables de entrada se van a almacenar? • Que procesos u operaciones debe realizar el computador para resolver el problema planteado? • Que informacion o variables de salida se van a desplegar en pantalla para responder al problema planteado originalmente?
  • 9. Como nota importante no confundir los terminos datos, variables e informacion: • Datos se refiere a informacion en bruto no procesada ni catalogada, por ejemplo “Tijuana”, “calle primera # 213”,”15 anos”, ” $2,520.00”, etc. • Variables es el nombre de una localidad o direccion interna en la memoria del computador donde se almacenan los datos, ejemplo de variables para los casos del inciso anterior, CIUDAD, DIRECCION, EDAD, SUELDO, ETC. • Informacion son datos ya procesados que resuelven un problema planteado.
  • 10. Ejemplo de Modelo de Solución Construir un modelo de solucion que resuelva el problema de calcular el area de un triangulo con la formula area igual a base por altura sobre dos. Variable(s) de EntradaProceso u Operacion Variable(s) de Salida BASE ALTURA AREA= BASE * ALTURA / 2 AREA
  • 11. Problemas Sugeridos Construir los modelos de solucion de los siguientes problemas: PROBLEMA 6.- Convertir millas a kilometros (caso normal) PROBLEMA 7.- Convertir 125 metros a centimetros (no ocupa entradas) PROBLEMA 8.- Se calcula que en promedio hay 4.7 nidos en cada arbol en la UABC, tambien se calcula que en cada nido existen un promedio de 5.8 pajaros, se pide calcular la cantidad total de nidos y de pajaros en los 227 arboles que existen en la UABC. (no ocupa entradas) PROBLEMA 9.- La gorda Sra. Lopez y sus 8 hijos solo compran una vez al mes su mandado en conocido supermercado, en dicha tienda el kilogramo de frijol cuesta $8.75, el paquete de tortillas cuesta $3.55 y el frasco de cafe vale $14.25, si solo compran de estos tres productos para su mandado, calcular su gasto total.( problema no claro) PROBLEMA 10.- Capturar y desplegar los cinco datos mas importantes de un automovil (no ocupa operaciones)
  • 12. Variables VARIABLES VISUAL C++ Identificadores son conjuntos de letras y/o numeros que se utilizan para simbolizar todos los elementos que en un programa son definibles por el usuario (programador o ingeniero de software) del mismo como son las variables donde se almacenan datos, funciones( pequenos modulos con codigo), etiquetas, clases, objetos, etc. Una variable se define como un identificador que se utiliza para almacenar todos los datos generados durante la ejecucion de un programa. Existen ciertas reglas en cuanto a variables: Claras y con referencia directa al problema. No espacios en blanco, ni simbolos extranos en ellas. Se pueden usar abreviaturas, pero solo de caracter general. No deben ser palabras reservadas del lenguaje. Ejemplos de buenas variables: Nombre, Edad, SdoDiario, IngMensual, Perimetro, Calif1, etc.
  • 13. Declaración y tipos de datos A toda variable que se use en un programa, se debera declarar de preferencia al principio del programa. En VCPP (tambien se le conoce como C#) existen los siguientes tipos de variables: CPP Tipo.Net Framework (System) type Signed? Bytes en Ram Rango sbyte System.Sbyte Yes 1 -128 a 127 short System.Int16 Yes 2 -32768 a 32767 int System.Int32 Yes 4 -2147483648 a 2147483647 long System.Int64 Yes 8 -9223372036854775808 a 9223372036854775807 byte System.Byte No 1 0 a 255 ushort System.Uint16 No 2 0 a 65535 uint System.UInt32 No 4 0 a 4294967295 ulong System.Uint64 No 8 0 a 18446744073709551615 float System.Single Yes 4 Aprox. •}1.5 x 10-45 a •}3.4 x 1038 con 7 decimales double System.Double Yes 8 Aprox. •}5.0 x 10-324 a •}1.7 x 10308 con 15 o 16 decimales decimalSystem.Decimal Yes 12 Aprox. •}1.0 x 10-28 a •}7.9 x 1028 con 28 o 29 decimales char System.Char N/A 2 Cualquier caracter Unicode bool System.Boolean N/A 1 / 2 true o false
  • 14. En particular cada tipo de dato que se menciona aqui es en realidad un OBJETO que se deriva a su vez de una clase que provee el framework de microsoft.net, es por eso que se incluye la clase de la cual proviene el tipo de dato. Es decir en un programa se podra declarar una variable por ejemplo float pi; o tambien se podra declarar y crear un objeto derivado de esa clase, por ejemplo System.Float alfa = new System.Float(); para este caso observar y tener en cuenta dos cosas: a) Observar como se declara y crea un objeto ( este formato de creacion de objetos aprenderlo bien). b) Como objeto, alfa podra usar todas las propiedades y metodos asociadas al objeto mas adelante se ve un tema donde se analiza mas a fondo el concepto de clases y objetos. Signed significa que se puede usar el signo + o - al usar la variable. Por ultimo variables strings o variables cadena, se podran crear usando la clase STRING que creara un objeto de dicho tipo.
  • 15. Para declarar un variable en un script o programa solo usar el siguiente formato: Tipo de dato lista de variables; ejemplo: String *nombre, *ciudad; int alfa, beta; String *ciudad=“tijuana”; float pi=3.1416;
  • 16. Observar que variables strings, se declaran precedidas de un asterisco(*). Para el caso de objetos numericos derivados de la clase respectiva, solo usar el formato que se indico en los parrafos de arriba. Recordar que vcpp es case-sensitive, es decir reconoce la diferencia que hay entre mayusculas y minusculas, en otras palabras no declarar alfa e intentar capturar o desplegar ALFA. Para convertir numeros a strings no hay problema, solo cargar o asignar el numero o variable numerica a la variable string, pero para convertir strings a numeros existen y deberan usarse los metodos Parse de las clases respectivasejemplo; String *beta1=“100”; Int beta2 = System.Int32.Parse(beta1);
  • 17. Las secuencias de escape que reconoce vcpp y que se pueden usar dentro de una string son: Character Escape Sequence ' ' ” ” Alert a Backspace b Form feed f New Line n Carriage Return r Horizontal Tab t Vertical Tab v A unicode character specified by its number e.g. u200 u A unicode character specified by its hexidecimal code e.g. xc8 x Null 0 (zero)
  • 18. Operadores Aritméticos Un operador es un simbolo especial que indica al compilador que debe efectuar una operacion matematica o logica. VC reconoce los siguientes operadores: Category Name Syntax Example Overloadable? Primary Grouping (a+b) No Member A.B No Struct pointer member access A→B No Method call f(x) No Post increment c++ Yes Post decrement c– Yes Constructor call c = new Coord(); No Array stack allocation int* c = stackalloc int[10] No Struct size retrieval sizeof (int) No Arithmetic check on checked {byte c = (byte) d;} No Arithmetic check off unchecked {byte c = (byte) d;} No Unary Positive value +10 Yes Negative value -10 Yes Not !(c==d) Yes
  • 19. Bitwise complement ~(int x) Yes Pre increment ++c Yes Pre decrement –c Yes Type cast (myType)c No Value at address int* c = d; No Address value of int* c = &d; No Type operators Type equality / compatibility a is String No Type retrieval typeof (int) No Arithmetic Multiplication c*d Yes Division c/d Yes Remainder c%d Yes Addition c+d Yes Subtraction c-d Yes Shift bits right c»3 Yes Shift bits left c«3 Yes Relational and Logical Less than c<d Yes Greater than c>d Yes Less than or equal to c⇐d Yes Greater than or equal to c>=d Yes Equality c==d Yes Inequality c!=d Yes Bitwise and c&d Yes Bitwise or c d Yes Logical and c&&d No Logical or c d No Conditional int c=(d<10) ? 5:15 No
  • 20. De momento nos concentramos en los operadores aritmeticos, pero dejamos esta tabla de operadores para usarla a lo largo del curso. Recordar que en vc cuando se dividen dos enteros, vcpp trunca la parte residual, es decir si se realiza la siguiente operacion: float alfa= 10 / 3; desplegar alfa–>sale 3 en pantalla Es decir vcpp trunco el residuo de la division entre enteros, no importa el tipo de variable (primero se realiza la operacion a la derecha y luego carga la variable a la izquierda, es decir para cuando quiere cargar la variable el residuo ya no existe) para arreglar este problema usar el siguiente metodo: float alfa= 10/3.0; observar que ya no esta dividiendo enteros, sino un entero entre un decimal.
  • 21. El operador modulo o remanente (%) devuelve el residuo entero de una division entre enteros, ejemplo; // area de declaracion int float alfa; // area de operaciones alfa = 23 % 4; // area de despliegue desplegar alfa; ---> El resultado en pantalla es 3 Otro ejemplo; alfa = 108 % 10; desplegar alfa; –> El resultado en pantalla es 8 Para resolver los problemas de potencias y raices se usan ciertas instrucciones especiales que proporciona el lenguaje llamadas funciones matematicas, en vcpp existe toda una libreria o mas correctamente dicho, una clase especializada en instrucciones o funciones matematicas (System.Math).
  • 22. Recordar que todas las funciones reciben uno o mas datos o valores y regresan siempre un resultado, una de estas funciones matematicas es: a) Potencias por ejemplo 52 se resuelve usando el objeto MATH y su metodo Pow(base,exp). System.field o metodo Public Fields E Represents the natural logarithmic base, specified by the constant, e. PI Represents the ratio of the circumference of a circle to its diameter, specified by the constant, ƒÎ.
  • 23. Operador Cast Se puede forzar un dato, variable o una expresion a convertirse o cambiarse a un nuevo tipo de dato. El operador cast realiza este proceso es decir convierte datos, variables o expresiones a un nuevo tipo de dato, su formato es: (nvotipo) dato, var, exp; Ejemplo: // declaracion int alfa; // Asignacion alfa=20; // Cambio de tipo (double)alfa; Ejemplo: (int)3.1416;
  • 24. En este ejemplo se esta convirtiendo un float a int recordar que en este caso ya no se tendran los decimales. Como nota importante este operador resuelve los dos problemas pendientes: El de la division entre enteros. El tipo de dato especifico que requieren las funciones. Ejemplos: a) // Declaracion float alfa; // Operacion alfa = float (23)/5; // Pero en estos casos es preferible usar un puntodecimal alfa=23/5.0;
  • 25. En toda division recordar agregar a uno de los dos valores el (.0), solo que los dos elementos sean variables entonces usar el operador cast con una de ellas. b)// Declaracion double potencia; // Operacion potencia = Pow ( (double)5, (double)3); Como se observa en el ejemplo se puede usar Pow() directamente con los datos, argumentos o parametros requeridos si estos son numericos pero transformandolos con el operador cast. Recordar que es Pow ←- P GRANDOTA.
  • 26. Esto tambien va a permitir evaluar expresiones matematicas de manera mas directa y sencilla, solo recordando usar un Pow() por cada potencia y cada raiz de la ecuacion, ejemplo: Sea image33.jpgdentro de un programa esto se resuelve con; // area de declaracion de variables double y, x; // area de captura de datos capturar el valor de x; // area de operaciones y = 3 * Pow(x, (double)3) - Pow(x, (1/3.0)) + 4 * Pow(x, (double)2 ); // area de despliegue de resultados desplegar x, y
  • 27. Jerarquía de Operaciones El problema de no tomar en cuenta la jerarquia de los operadores al plantear y resolver una operacion casi siempre conduce a resultados muchas veces equivocados como estos: Ejemplos: a) 2 + 3 * 4 = 20 (incorrecto) …………………..= 14 (correcto) b) si calif1=60 y calif2=80 entonces si en programa se usa promedio=calif1 + calif2/2 da como resultado promedio = 100
  • 28. Recordar siempre que antes de plantear una formula en un programa se debera evaluar contra el siguiente: Orden de operaciones: 1.- Parentesis 2.- Potencias y raices 3.- Multiplicaciones y divisiones 4.- Sumas y restas 5.- Dos o mas de la misma jerarquia u orden entonces resolver de izquierda a derecha Nota: Si se quiere alterar el orden normal de operaciones entonces usar parentesis. Nota: Tampoco es bueno usar parentesis de mas en una operacion esto solo indica que no se evaluo bien la formula como en el siguiente ejemplo; <m> area = ( base * altura ) / 2 </m> Aqui los parentesis estan de mas porque por orden de operaciones, multiplicacion y division tienen la misma jerarquia y entonces se resuelven de izquierda a derecha, en otras palabras ni que falten parentesis ni que sobren parentesis.
  • 29. Conceptos Básicos de OOP Para nuestro proposito en general un objeto puede definirse como cualquier cosa, ente o entidad fisica o logica de informacion. En este sentido todos los elementos materiales o inmateriales pueden clasificarse como objetos. En particular cualquier objeto considerado presenta los siguientes tres elementos:
  • 30. a) Propiedades: Son las caracteristicas propias de un objeto estas propiedades o atributos son los que permiten diferenciar o individualizar un objeto de otro objeto ya sea de la misma o diferente clase o categoria. Las propiedades mas generales son forma, color, tamano, peso, etc., pero ya en particular: Chamarra → Marca, material, precio, color, tamano, etc Alumno → Matricula, nombre, edad, domicilio, etc. Gato → Raza, nombre, color, edad, etc. VentanaWindows–>Tamano, Color, font, etc.
  • 31. b) Metodos: Son las conductas propias de la naturaleza del objeto. Asi como las propiedades son el ser (que es) del objeto, los metodos son el hacer (que hacer) del objeto. ejemplo de metodos: Gato —> Maullar(), comer(), correr(), saltar(), etc. Alumno—> Estudiar(), comer(), asistir clase(), pintear() Cuaderno–>Esescrito(), esrayado(), esborrado(), etc. VentanaWindows–> Abrir(), cerrar(), maximizar(), etc….
  • 32. c) Eventos: Es la relacion (de varias maneras) que se puede dar entre dos objetos ya sean de la misma o diferente clase. Un evento se manifiesta como un interaccion entre dos objetos, en general al momento de la relacion al mismo tiempo se dara una reaccion o respuesta por parte de los dos objetos que se manifiestan como una serie, cadena o conjuntos de metodos propios que se activan o disparan, ejemplo: Evento Relacion Metodos que se activan gato detecta gata detectar maullar(), correr(), oler() gato detecta perro detectar bufar(), saltar(), correr() maestro ensena alumno Ensenar pasar lista(), preguntar(), etc Raton click Windows click maximizar(), cerrar() Raton dblclk Windows dblclk minimizar(), etc
  • 33. Un Programa eN vcpp se puede considerar como un conjunto de una o mas paginas o formas, donde cada una de ellas contiene un conjunto de objetos, componentes o controles. Un componente o propiamente dicho un control es un objeto que se especializa en una tarea especifica por ejemplo hay controles especializados en desplegar textos o mensajes, otros controles se especializan en desplegar imagenes o videos, otros en manipular directorios o archivos en disco, etc. Pero en general tanto las formas como los controles no dejan de ser objetos en programacion y por tanto tienen sus propiedades, metodos y estan sujetos a eventos.
  • 34. Modelos de Programación en internet VCPP (de momento lo entenderemos como programas en vcpp) y ASP.NET (active server pages) son programas hechos para ejecutarse en la red de redes es decir en internet y mas apropiado en servidores de paginas(web server). En este modelo minimo se ocupan dos computadoras a la primera le llamamos servidor y es su mision proporcionar paginas y algunos servicios a las segundas maquinas, este servidor tiene en ejecucion constante un programa llamado servidor de paginas (web server). La segunda maquina, le llamamos cliente y el unico programa que tiene en ejecucion es un programa o compilador llamado browser de los cuales el mas comun es el internet explorer, mediante el browser el cliente sube a una maquina servidora para bajar una pagina.html almacenada en la servidora y esta pagina.html la compila y la despliega dentro de la ventana del browser en la maquina cliente.
  • 35. En el modelo de programacion que se sigue en este curso, se construiran ejemplos de programas de tipo CGI. En principio cgi's son programas que son ejecutados por un servidor de paginas y sus resultados son enviados a el browser de la maquina cliente. Este programa se construye usando una serie o conjunto de objetos que pueden provenir de varias fuentes distintas, las mas comunes son: A) Objetos HTML.- Son los objetos mas elementales que puede contener o construirse en cualquier pagina o forma html en internet, por ejemplo los input text, input submits, etc, (recordar que como objetos tienen sus propiedades y metodos que hay que cargar o programar ver apendice a final del capitulo). B) Objetos ASP.- Son objetos propios de esta tecnologia y generalmente estan especializados en comunicacion entre formas o paginas html, pero tambien tiene objetos especializados en archivos, directorios, etc ver apendice al final.
  • 36. C) Objetos ACTIVEX.- Componentes o controles especializados en muchas tareas hechos por MicroSoft para sus lenguajes visuales de programacion, ejemplos textbox, combobox, grids, etc ver apendice al final de la unidad. D) Objetos ADO.- Active Data Object, componentes, controles u objetos especializados en la manipulacion de bases de datos, entre ellas sqlserver, access, etc. E) Objeto DOM.- Document object model, un objeto estandar y especializado en manipular una pagina html. F) Objetos NET.- Nuevos objetos que facilitan aun mas la construccion de programas en internet, de momento entender que son una combinacion de asp- activex.
  • 37. Sin embargo recordar que todos estos objetos de distinta fuente deberan ser manipulados por algun lenguaje de programacion, es mediante instrucciones en este lenguaje que se puede cargar propiedades o activar metodos o programar eventos. Los lenguajes basicos que microsoft incluyo en su primera version de ASP, son los llamados LENGUAJES SCRIPTS, y los mas comunes fueron al principio VisualBasicScript, JavaScript y por esfuerzos de personas y companias muy responsables PERLSCRIPT y actualmente JSCRIPT.
  • 38. Requisitos para POI Para poder construir programas o aplicaciones orientadas a internet en VISUAL CPP CGI, se ocupa lo siguiente: 1.- Una pc con enlace directo a internet esta pc le llmaremos servidor fisico 2.- El mejor editor del mundo, para crear paginas html y programas de vcpp, el NOTEPAD o WORDPAD de windows. 3.- El compilador de VISUAL CPP, que se puede obtener gratis, bajandolo de www.microsoft.com/net/, aguas son mas de 100 mb, bajarlo e instalarlo con todos los default's o comprar el visual studio net o mejor aun vc++ net
  • 39. 4.- Una libreria especializada en obtener los datos que manda una pagina html, llamada lcnet.dll que se puede bajar aqui www.programacionfacil.com/visualc++/lcnet.dll bajarla y ponerla dentro de el folder (TAREAS) o directorio donde crearan todos los programas que se pediran en este curso. RECORDAR que en este modelo de programacion nuestros programas se van a almacenar y estar ejecutando en un servidor de paginas, es por esta razon que les recomiendo usar un sitio de hospedaje adecuado, DE LA MANERA MAS PROFESIONAL POSIBLE.
  • 40. Forma o Página de Captura Como ya se indico antes en este modelo de programacion es una pagina html ( a estudiar un buen tutorial de html) quien proporciona los datos al programa en vcpp ( que le llamaremos de aqui en adelante CGI), el programa los toma a travez de unas funciones incluidas en la libreria lnet.dll, los procesa y construye otra pagina html con los resultados, misma pagina que el usuario recibira para su informacion. Resolvemos el problema de calcular el area de un triangulo con la formula area = base por altura sobre dos.
  • 41. En este caso la pagina html (correctamente llamada forma.html porque lleva un tag html llamdo <form>..</form>) de captura de datos, debera tener elementos para capturar la base y la altura y mandar dicha informacion al programa en vcpp, esta sera todo el trabajo de la pagina o forma html. El codigo de dicha pagina sera: <HTML> <FORM ACTION=/cgi-bin/tusitio/prog1.exe METHOD=get> DAME LA BASE:<INPUT TYPE=text NAME=BASE1><BR> DAME LA ALTURA:<INPUT TYPE=text NAME=ALTURA><BR> <INPUT TYPE=submit VALUE="OK"> </FORM></HTML>
  • 42. Una pagina html solo tiene unas cuantas instrucciones basicas, muy faciles de aprender sobre todo si consiguen un tutorial sencillo de html de los cuales muchos abundan en internet. Como se observa una pagina empieza con y termina con , Lleva un tag <FORM ACTION > que solo se utiliza cuando una pagina tiene que comunicar datos a otras paginas o programas y termina con </FORM> Las instrucciones INPUT TYPE son las que generan objetos, controles o componentes html en una forma html tambien hay 6 clases diferentes de INPUT TYPE (ver su tutorial de html y una apendice al final de este capitulo que solo trae los objetos html's, no todas las instrucciones del lenguaje de programacion html).
  • 43. En este programa html (es verdad que una pagina o forma html es un programa y su compilador es el browser, pero si a los usuarios les decimos haz un programa- pagina-forma.html y compilalo con el browser internet explorer o netscape se asustarian muchisimo, mejor les decimos haz una pagina y subela a tu sitio), se estan usando dos objetos HTML de tipo “input type=text” mismos que se usan para capturar los datos que proporciona el usuario y como una nota adicional el nombre BASE1 que se ve raro es porque no se puede usar BASE, porque es una palabra reservada del lenguaje vcpp (ver al final de este capitulo todas las instrucciones opalabras reservadas de vcpp).
  • 44. Otros tipos de INPUT TYPE en HTML son equivalentes a objetos, controles o componentes de orden o comando como el INPUT TYPE=submit que se carga con el letrero OK y recordar que existen otros tipos de INPUT TYPE para comboboxs, etc., cuando el usuario realiza un click en el, este componente de orden activa las instrucciones del FORM ACTION, que en este caso consisten en mandar los datos al servidor de paginas y avisarle que ejecute el prog1.exe Mensajes a desplegar se pueden enviar directamente como en la frase DAME LA BASE, ALTURA o utilizando instruciones especiales de HTML como son <P>mensaje</P>, <B>mensaje</B>, <H1>mensaje</H1>, etc, pero es mejor consultar el tutorial de HTML.
  • 45. INPUT TYPE=text, crea una caja que contendra texto o numeros NAME=BASE1, es el nombre que tendra la caja. Cuando el usuario carga los datos en los controles y hace un click en OK, FORM ACTION avisa al servidor de paginas (web server) que ejecute el prog1.exe y ademas le pasa los nombres y los datos de las cajas de texto y aqui termina el trabajo de esta pagina o forma de captura de HTML. Para crearla solo copiar el codigo al notepad o wordpad de windows, es mas recomendable este ultimo, grabarla con el nombre de prog1.html, este programa1.html subirlo a su sitio en LUNARPAGES, usando el ftp del INTERNET EXPLORER.
  • 47. Aplicaciones El programa o aplicacion que recibe los datos de la forma es el siguiente: #using <mscorlib.dll> #using <System.dll> #using <lcnet.dll> using namespace System; void main(){ //declarando variables int base1, altura; Double area;
  • 48. // capturando,cargando y convirtiendo //los datos de la forma a las variables base1 = Int32::Parse(lcnet::getparametro("BASE1")); altura = Int32::Parse(lcnet::getparametro("ALTURA")); // operaciones area = base1 * altura /2.0; //construyendo y desplegando la pagina de salida Console::WriteLine("Content-Type:text/htmln"); Console::WriteLine(String::Concat(S"area=",area.ToString("#.##")) ); }
  • 49. Reglas para escribir un programa en VCPP: Todo programa empieza #using o importanndo las librerias de clases adecuadas paar el programa, en este ejemplo se importo: mscorlib.dll ← la libreria mas generica de vcpp, trae todas las instrucciones genericas de cpp. System.dll ← la libreria mas generica de microsoft.net, incluye las definiciones de los tipos de datos, entrada/salida, etc
  • 50. lcnet.dll ← libreria creada por su servidor lauro soto y que solo contiene una instruccion o funcion (getparametro(string))recordar que en este modelo de programacion cgi, una forma o pagina html mandara los datos al programa.cpp, es esta instruccion o propiamente dicho funcion quien realmente toma el dato de la pagina.html y lo manda a una variable en cpp. Despues de los #using vienen los namespaces (observar que using no lleva #), un namespace es una manera de recortar dentro del programa un objeto::metodo::propiedad o valor, es decir por ejemplo: se esta usando la instruccion console::writeline(string) para desplegar un mensaje, existen tres posibles manera de escribirse:
  • 51. a) System::Console::WriteLine(string) ← es la forma mas completa de escribirla y observar que System es una clase u objeto, Console es otra clase u objeto derivado de la clase System y WriteLine es un metodo de la clase Console, observar tambien que en VCPP se usa el formato clase::metodo para construir las instrucciones apropiadas. b) Como existe un using namespace system como default en cpp, en el programa se uso la instruccion Console::WriteLine(string);. c) Si se pone en el programa using namespace Sistem::Console; (observar este formato) se pudo usar en el programa la instruccion WriteLine(string);
  • 52. Este programa se debera crear y grabar con extencion cpp, es decir debera quedar grabado como prog1.cpp Observar, usar y respetar mayusculas y minusculas que trae el programa, en general clase::propiedad o metodo siempre empiezan con mayuscula. Todo programa comienza con una funcion llamada void main(). El cuerpo de instrucciones del programa debera encerrarse entre llaves. Todas las instrucciones ejecutables terminan con punto y coma.
  • 53. Objetos Propios HTML “Button, Submit, Reset, CheckBox, Radio, Password, Text, TextArea, Select, Hidden” Propiedades Eventos Metodos “form” “OnClick” “click” “name” “OnFocus” “focus” “value” “enabled”
  • 54. Propiedades Eventos Metodos “form” “OnClick” “click” “name” “OnFocus” “focus” “value” “enabled” “checked” “defaultchecked” Control “CheckBox”.
  • 55. Propiedades Eventos Metodos “form” “OnClick” “click” “name” “OnFocus” “focus” “value” “enabled” “checked” Control “Radio”.
  • 56. Propiedades Eventos Metodos “form” “OnBlur” “blur” “name” “OnFocus” “focus” “value” “enabled” Control “Password”.
  • 57. Propiedades Eventos Metodos “form” “OnBlur” “blur” “name” “OnFocus” “focus” “value” “enabled” Controles “Text” y “Textarea”s.
  • 58. Propiedades Eventos Metodos “length” “OnBlur” “blur” “options” “OnFocus” “focus” “selectedIndex” “OnChange” Control “Select”.
  • 60. Palabras Reservadas VCPP abstract event new struct as explicit null switch base extern object this bool false operator throw break finally out true byte fixed override try case float params typeof catch for private uint char foreach protected ulong checked goto public unchecked class if readonly unsafe const implicit ref ushort continue in return using decimal int sbyte virtual default interface sealed volatile delegate internal short void do is sizeof while double lock stackalloc else long static enum namespace string