Conectar oracle en c#













Para realizar una conección de oracle 10g express con c# el cual trabaja en el IDE de visual studio 2013, que puedes descargar de la pagina oficial de visual studio la version express en el siguente enlace Descargar visual studio












Para descargar oracle 10g en el siguiente enlace Descarga oracle 10g



Configuración  de  visual studio

1) Nuevo proyecto windows form en c#


2)Agregar la referencia para poder generar la conexión de c sharp con Oracle la .dll se encuentra en la carpeta donde se instaló Oracle  (si instalo con la ruta predeterminada será esta ruta C:\oraclexe\app\oracle\product\10.2.0\server\BIN  y buscar el Oracle.DataAccess.dll)  


3) Una vez que haya ingresado el Oracle.DataAccess.dll y aparezca en las referencias,  vaya a ver código en el Windows form para poder agregar el siguiente using




 
using Oracle.DataAccess.Client;


4)A hora se agregara la cadena de conexión que va después de la clase




 
        OracleConnection ora = new OracleConnection("DATA SOURCE=XE ; PASSWORD =tu_contraseña; USER ID = SYSTEM; ");

En el password es la contraseña que ingreso en la instalación de Oracle y el user con el que esta trabajando (con el que trabaja por default es SYSTEM) yDATA
 SOURCE es XE 

5)En el evento load el formulario  agrega el siguiente código



 
            try
            {
                ora.Open();
                MessageBox.Show("Conectado");
                ora.Close();
            }
            catch(Exception error) 
            {
                MessageBox.Show(error.Message);

            }

Código completo

 
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using Oracle.DataAccess.Client;
namespace ORACL1
{
    public partial class Form1 : Form
    {
        OracleConnection ora = new OracleConnection("DATA SOURCE=XE ; PASSWORD =tu_contraseña; USER ID = SYSTEM; ");

        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            try
            {
                ora.Open();
                MessageBox.Show("Conectado");
                ora.Close();
            }
            catch(Exception error) 
            {
                MessageBox.Show(error.Message);

            }
        }
    }
}

Memoria dinamica C++













La asignación dinámica de memoria es útil en extremo cuando se manejan listas, debido a que permite que se expanda la lista conforme se agregan nuevos elementos y se con conforme se eliminan. Un ejemplo clásico  es el numero de alumnos de un salón, la cantidad de alumno puede ser N, y generar un arreglo como : a[10]  solo almacenara 10 alumnos y si son 30 no funcionara, es muy útil tener un mecanismo mediante el cual el arreglo pueda agrandarse y reducirse según sea necesario. Dos operadores en C++, new y delete,


new
Reserva el número de bytes solicitado por la declaración. Devuelve la dirección de la primera ubicación reservada o NULL si no se dispone de suficiente memoria.

delete
Libera un bloque de bytes reservado con anterioridad. La dirección de la primera ubicación reservada debe transmitirse como un argumento al operador.

Ejemplos

New

 //Francys System
//uso del new
int *calificaciones = new int;
//el puntero se utiliza para asignar un espacio  de memoria de tipo int
//otra manera
int *verduras;
verduras = new int(103);
//Se inicializa el en 5  

Arreglos
 //Francys System
//uso del new
int *calificaciones;
calificaciones = new int[10];

Otra manera
 
//Francys System
//uso del new
int calificaciones = new int[10];
//Un arreglo dimanico pero en una sola linea
Delete

 //Francys System
//uso del delete
delete verduras;
//para eliminar arregloas
int *calificaciones;
calificaciones = nrw int[10];
delete[] calificaciones;

Ejemplo funcional


      
      
      #include <iostream>
      #include <conio.h>
      using namespace std;
      
      int main() 
      {
       int *c;
        int numero;
       cout<< "Ingresa el numero de calificaciones  : : " <<endl;
        cin>>numero;
        c = new int[numero];
        for(int i=0;i < numero ; i++)
        {
       cout<< "Ingresa  la calificacion : : " <<endl;
        cin>>c[i];
        }
        cout<< "Calificacion de las materias"<<endl;
        for(int i=0;i < numero ; i++)
        {
       cout<< " calificaciones  : : " << c[i]<<endl;

        }
        delete[]c;
      getch();
      }
      

Encapsulación en C#










Encapsulación significa crear un límite alrededor de un objeto a
separar su comportamiento externo (público ) de su interior (privado )
implementación.


C # soporta encapsulación a través de:

- Tipo de Sistema Unificado
- Clases e Interfaces
- Propiedades, Métodos y Eventos

Ejemplo 



 
///Francys System

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace FrancysSytem_Encapsulamiento
{
    class Program
    {
        class Salon
        {
            private string nombre = "Omar";

            public string Nombre
            {
                get { return nombre; }
                set { nombre = value; }
            }
            public string nombres = "Carlos";


        }
        class MainClass
        {
            public static void Main()
            {
                Salon nuevo_salon = new Salon();
                Console.WriteLine("Encapsulación  en c#");
                Console.WriteLine("Nombre uno : {0}", nuevo_salon.nombres); ///Variable Publica
                Console.WriteLine("Nombre dos : {0}", nuevo_salon.Nombre); ///Encapsulación 
                Console.WriteLine("\n\nfrancysystem.blogspot.com");
                Console.ReadLine();

            }
        }
    }
}

Unir dos vectores y cambiar el 2 s a letra






#include <conio.h>
#include <iostream>
using namespace std;
main(){
int a[4]={2,4,3,2},b[4]={5,7,6,10},c[8];
cout<<"\nelemtos A"<<endl;
 for(int i=0; i<4; i++){
  cout<<a[i]<<" ";
 }
cout<<"\nelemtos B"<<endl;
 for(int i=0; i<4; i++){
    cout<<b[i]<<" ";
 }
cout<<"\n***********************************"<<endl;
 for(int i=0; i<8; i++){
  c[i] = a[i];
  c[i]= b[i];
 }
 for(int i=0; i<8; i++){
 cout<<c[i]<<" ";
 }
cout<<"\n***********************************"<<endl;
    for(int i=0; i<8; i++){
 if(c[i]== 2){
 cout<<"dos"<<" ";
  }
  else{
 cout<<c[i]<<" ";
 }
 }
cout<<"\n\nfrancysystem.blogspot.com"<<endl;
getch();
}

Factorial recursivo en c++

Se multiplican una serie de números que descienden.



Ejemplo


4! = 4* 3*2*1=24
3! = 3*2*1= 6
2!= 2*1 =2


1!= 1


Código



      
#include <iostream>
#include <conio.h>
using namespace std;
int factorial(int);
int main(){  
  int ingreso;
    cout << "Introduzca numero: ";
    cin >> ingreso;
    cout << "factorial: " << factorial(ingreso) << endl;
    cout<<"francysystem.blogspot.com"<<endl;
getch();
}
int factorial(int dato){
    int fact;
    if (dato==0){
        return 1;
}
    else
         return dato*factorial(dato-1);
} 

String.h










<string.h> Contiene los prototipos de las funciones para el procesamiento de cadenas.

Funciones 

strncpycopia los n primeros caracteres de una cadena en otra
strerrordevuelve la cadena con el mensaje de error correspondiente al número de error dado
strlendevuelve la longitud de una cadena
strspndevuelve la posición del primer carácter de una cadena que no coincide con ninguno de los caracteres de otra cadena dada
strcspndevuelve la posición del primer carácter que coincide con alguno de los caracteres de otra cadena dada
strpbrkencuentra la primera ocurrencia de alguno de los caracteres de una cadena dada en otra
strstrbusca una cadena dentro de otra
strtokparte una cadena en una secuencia de tokens
strxfrmtransforma una cadena en su forma de colación (??)
strrevinvierte una cadena

Ejemplo :


#include <conio.h>
#include <iostream>
#include <string.h>
using namespace std;
main(){
 char texto[]= "francysystem.blogspot.com";
 char texto2[40];
 cout<<"El texto es : "<<texto<<endl;
 cout<<"\nPalabra invertida : "<<endl;
 cout<<strrev(texto)<<endl;
 cout<<"\nLongitud : "<<endl;
 cout<<strlen(texto)<<endl;
 cout<<"\nCopia : "<<endl;
 cout<< strcpy(texto2,texto)<<endl; 
 
getch(); 
}

Modificar un valor dentro de un arreglo en C++















#include <iostream> 

#include <stdlib.h>

 #include <conio.h>

 using namespace std;main()            

  int pila[16],pila1[0];  

int x=0,z=1,po=0,pib=0,d=0,m=0,aux,a=2,y=0,t=0; 

cout<<"La pila comprendida de 20 a 50 en numeros pares es"<<endl; 

  for( x=20;x<=50;x++){  

 if(x%2==0)   {  

  pila[t]=x;   

 t=t+1;}
}  

for(x=0; x<=15; x++)  {          

cout<<"posicion : "<< x << "valor : "<<pila[x]<<endl;      }     

cout<<"************INVERTIDA***********"<<endl;
          for(x=15; x>=0; x--)  {          pila1[d]=pila[x];     

  cout<<"posicion : "<<x <<" valor :  "<<pila1[d]<<endl;      }     

   cout<<"Dame la posicion que desea cambiar  para hacer el cambio de valor"<<endl;  

     cin>>po;    

   cout<<pila[po-1]<<endl;     

 cout<<"dame el numero que cambiar en la posicion que elgio   "<<endl;     

 cin >>aux;       

pila [po-1]=aux;      

  cout<<"La pila comprendida es"<<endl;
    for(x=0; x<=15; x++)  { 

 cout<<"posicion : "<< x <<" valor : "<<pila[x]<<endl;      }     

 getch();           

 }

Torres de hanoi en c++


El juego consiste en tres varillas verticales. En una de ellas están apiladas un número de discos, generalmente ocho, de diámetros diferentes, ordenados de mayor a menor (el de mayor diámetro abajo). Las otras dos varillas están vacías. El juego consiste en pasar todos los discos de la varilla ocupada a una de las varillas libres.

Reglas:
  1. Sólo se puede mover un disco cada vez.
  2. Un disco de mayor tamaño no se puede colocar encima de uno más pequeño.
  3. Sólo se puede mover el disco que se encuentre en la parte superior de cada varilla.

Código



      
#include <conio.h>

#include <iostream>

using namespace std;

void torres_foca(int,int,int,int);

main(){ 

int a; 

cout<<"Torres de Hanoi\n\n"<<endl; 

cout<<"Ingresa el numero de discos : \t";

 cin>>a; 

torres_foca(a,1,3,2); 

getch();

}

void torres_foca(int foca,int uno,int tres,int dos){

 if(foca==1){  

cout<<"Disco : "<<foca<<" del poste  "<<uno<<" al poste "<<tres<<endl;

getch();  

 } 

else{   

 torres_foca(foca-1,uno,dos,tres); 

cout<<"Disco : "<<foca<<" del poste  "<<uno<<" al poste "<<tres<<endl;  

getch(); 

 torres_foca(foca-1,dos,tres,uno); 

}

}

Obtener el numero mayor de un arreglo en c++










Código


      
#include <iostream>

#include <conio.h>

using namespace std;

main( ) {

int m[5],r,i,pos;

for (i = 0; i < 5; i++) {

cout<<"Ingresa elemeto : ";

cin>>m[i]; 

}

r = m[0];
for (i = 0; i < 5; i++) {  

if (r < m[i])   {

     r = m[i];
   }

  }

cout<<"El valor maximo del arreglo es : "<<r<<endl; 

cout<<"\nhttp://francysystem.blogspot.mx/"<<endl;

getch();

}

Total de toneladas de cereales cosechadas en c++










En un arreglo se ha almacenado el número total de toneladas de cereales cosechadas durante cada mes del año anterior. Se desea la siguiente información:

El promedio anual de toneladas cosechada

  • ¿Cuántos meses tuvieron una cosecha superior al promedio anual?
  • ¿Cuántos meses tuvieron una cosecha inferior al promedio anual?


Solución 


#include <conio.h>

#include <iostream>

using namespace std;

main(){ 

int cos[12],c=0,conta=0,canta2=0; 

float total=0;

for(int i=0; i<12; i++){ 

cout<<"Ingresa el mes "<<i+1<<" cantidad de cosecha : ";

cin>>cos[i]; 

c=c+cos[i];

}

total= c/12;

cout<<"PROMEDIO ES : "<<total <<endl;

for(int i=0; i<12;i++){ 

if(cos[i]>total){  

conta++; 

} 

else{ 

 canta2++; 

}

}

cout<<" Mayores  : "<<conta<<endl;

cout<<"Menores :  "<<canta2 <<endl;

getch();

}

Binario a decimal recursivo en c++





Capturas









Código



#include <conio.h>
#include <iostream>
using namespace std;

void binario(int n){

    if (n!=0){      
   binario(n/2);       
   cout<<n%2;   
  }
}

int main(){    

int a=0;   

cout<<" DECIMAL A BINARIO "<<endl;    

cout<<"Introduce un numero: "<<endl; cin>>a;    binario(a);    

cout<<"\nhttp://francysystem.blogspot.mx/"<<endl;  
getch();

}

Abecedario en c++










Capturas 






Código



#include <conio.h>

#include <iostream>

using namespace std;

main(){

 char i;

 cout<<"http://francysystem.blogspot.mx/"<<endl;  

 for(i='a'; i<'z'; i++){

  cout<<i<<" ";

 }

getch();

}

Divisores de un numero en c++








Código 



#include<conio.h>

#include<iostream>

using namespace std;

 int main()

{

    int n,x;

    cout<<"Ingresa un nummero"<<endl;

    cin>>n;

 cout << "los numeros divisores son : "<<endl;

for (x = 1; x <= n; x++)

{


if (n%x == 0)

{

cout<< x <<" ";

}

}

                                

    getch(); 

}


Desfragmentar Varias Unidades cmd (Windows)

Esta es otra manera de desfragmentar las unidades de almacenamiento quitando la forma típica  para ello utilizaremos el CMD de Windows.
1) inicio, buscar programas y archivos, y hay buscar  "CMD "y ejecutar como administrador 
2) Saldrá una ventana negra con el directorio actual
3) Escribir defrag  /c  /h  /r  /u

Parámetros:
/c: Realizar la operación en todos los volúmenes.
/h: Ejecutar la operación con una prioridad normal (el valor predeterminado es una prioridad baja).
/r: Hacer un seguimiento de una operación que ya esté en curso en él.
/u: Imprimir el progreso de la operación en pantalla.



 
En total serán 9 pasos con lo que el tiempo de duración será dependiendo de espacio ocupado de las unidades así como el número de unidades desfragmentando.
Al finalizar mostrara otra vez  el  directorio con ello finaliza la desfragmentación

Nota: Funciona para Windows xp, Windows 7, Windows 8, PERO NO FUNCIONARA SI NO SE EJECUTA COMO ADMINISTRADOR.



Triangulo en C++









Para realizar el  triangulo debemos realizar un ciclo for anidado ejemplo:
                                               For( ) //ciclo padre
                                               {
                                                               For() //ciclo secundario
                                                               {
                                                               }
                                               }
Básicamente un ciclo dentro de otro 

Ejemplo:


for(int i=0; i<10; i++)
                {
                for(int p=0; p<10;i++)
                {
                cout<<i<<” ”<<p<<endl;
}
}

La manera como se ejecuta un ciclo anidado primero se ejecuta el ciclo principal i=0, después se ejecuta el ciclo p=0 y el primer resultado será (00) una vez que termine p=0 no sale del ciclo por que 0<10 y ahora vale (01). Cuando 9<10 se terminar la condición con loque regresa al ciclo principal y ahora i=1 y visualiza el (1,0), este ciclo terminara cuando i=9 y p=9;

Resultado :


00,01,02,03…,99.

Triangulo 





Codigo en C++


#include <conio.h>

#include <iostream>

using namespace std;

main()

{ 

int a; 

cout<<"Ingresa la dimencion"<<endl; 

cin>>a; 

 for(int i=1; i<=a;i++) { 

for(int j=1; j<i;j++) {  

cout<<"*";  

  } 

cout<<endl; 

} 

getch();}

Descarga Borlan C++


Descargas


Es un entorno de desarrollo en C/C++

Biblioteca de objetos de Windows (OWL) : Un conjunto de clases C + + para hacer más fácil el desarrollo de aplicaciones profesionales de Windows gráficos.
Turbo Vision : Un conjunto de clases C + + para crear aplicaciones profesionales en DOS. Esas clases imita algunos de los aspectos de una aplicación de Windows, como: cuadros de diálogo , las bombas de los mensajes , menús , aceleradores, etc
Borland Interfaz Gráfica : Una biblioteca de funciones para hacer, al estilo de la presentación de gráficos 2D simples. Se incluyeron los Drivers para medicamentos genéricos CGA , EGA y VGA capacidad, con soporte para un número limitado de modos de video-, pero los conductores más avanzados, de terceros también estaban disponibles.

Requerimientos para la Instalación mínimos


Version 5.02
Windows XP, a superior
Memoria: 16 MB
 Disco Duro: 100 MB


Instalación

Solo ejecutar el SETUP

nota: No requiere activador 


Link de descarga

Descarga




Sleep en Dev c++





Sleep en C++







SLEEP (N) permite hacer una pausa N segundos  similar como delay,  pero la desventaja de delay, es que trabaja con la librería conio del compilador de borlan, y Sleep puede trabajar sin ningún problema en Dev c++

nota: La primera letra de Sleep debe ser escrita en mayúsculas.

Ejemplo:


#include <conio.h>

#include <iostream>  

#include <windows.h> 

using namespace std;

 main()    { 

for(int i=0; i<80;i++){ 

 cout<<"*"; 

Sleep(10);

}

getch( );

Funciones y puntero en c







Funciones y Punteros en  C





Puntero 
Es una variable que da referencia a una región de memoria; en otras palabras es una variable cuyo valor es una dirección de memoria.

Ejemplo de un puntero :
...
int i=5;
int *m;
m = &i;
cout<<"el valor de i es :  "<<i<<endl;
cout<<"el valor puntero :  "<<*m<<endl;
cout<<"Dirección de i :  "<<&i<<endl;

Para los apuntadores no es necesario crear funciones que retornen ejemplo
inr f (int g)
{
return g+1;
}
Estas funciones son nombradas como:
función de transmisión de valores

Mientras que un apuntador no es necesario retornar un valor ya que  con el uso de apuntadores utiliza la dirección para posicionar el nuevo valor.
void apun (int *a)
{


}

 UN NUMERO AL CUBO 


#include <conio.h>

#include <stdio.h> 

#include <math.h> 

void potencia (int *); 

main() { 

int a; 

printf("Un numero que se eleva el cubo \n"); 

printf("Usuario ingrese su numero : "); 

scanf("%d",&a);  

potencia(&a); 

printf("\n la potencia es : [%d]",a);  

getch();

 } 

void potencia (int *g)  

{

 *g = pow(*g,3);  

}


El programa contiene un prototipo void  potencia (int *), esta funcion no retorna y se llama potencia y recibe un dato de tipo entero como apuntador

En el main ingresa el valor de a,el valor de a lo manda al argumento de la función potencia mediante la el llamado de la función potencia(&a);  símbolo de ampersand para utilizar la dirección de a ya que se están utilizando funciones con punteros.

En la función potencia utiliza el valor del argumento *g, la función  realizara la operación *g = pow(*g,3)
pow eleva un numero  a n.