viernes, 27 de abril de 2012

Crystal Reports 9 en PowerBuilder

Primero creamos un Control Ole insertando el Cristal Report Viewer en la Ventana
Luego en un Boton ponemos el siguiente Codigo.
Todavia no se como pasarle parametros.
Asi que Continuara

int li_rtn
any la_valor
OLEObject lole_crystal
lole_crystal = CREATE OLEObject
li_rtn = lole_crystal.ConnectToNewObject( "CrystalRuntime.Application.9" )
if li_rtn=0  then
    if li_rtn=0  then
        la_valor=lole_crystal.OpenReport("C:\Recibo.rpt", 1)
        ole_1.Object.ReportSource=la_valor
        ole_1.Object.ViewReport()
    end if
end if

martes, 3 de abril de 2012

Validar CUIT/CUIL en PowerBuilder

of_validar_cuit(string as_cuit)
Codigo
string ls_multiplos="5432765432"
int li_digito_cuit,li_digito_multiplo
int li_resultado=0
int li_acumulado=0
int li_modulo=0
int li_codigo=0
int li_inicio,li_fin
int li_digito_verificador
li_fin=len(as_cuit)

if li_fin<>11 then
 messagebox("Advertencia","Verifique la longitud del CUIT")
 return -1
else
 li_digito_verificador=integer(right(as_cuit,1))
end if

for li_inicio=1 to  li_fin - 1
 li_digito_cuit=integer(mid(as_cuit,li_inicio,1))
 li_digito_multiplo=integer(mid(ls_multiplos,li_inicio,1))
 li_resultado=li_digito_cuit * li_digito_multiplo
 li_acumulado += li_resultado // li_acumulado=li_acumulado + li_resultado
next
li_modulo=Mod(li_acumulado,11)
li_codigo=11 - li_modulo

if li_codigo=10 then li_codigo=0
if li_codigo=11 then li_codigo=1
if li_codigo<>li_digito_verificador then
 messagebox("Advertencia","CUIT / CUIL No Valido")
 return -1
else
 return 0
end if

Paradigmas y Lenguajes - Clase Practica 3 (30/03/2012)

Consigna:
Al codigo fuente realizado en la clase anteriror modificarlo para que realize las siguientes tareas
  1. Cargar 5 Alumnos 
  2. Mostrar Alumnos Cargados
  3. Ordenar Alumnos por Matricula 
  4. Mostrar Alumnos Ordenados
Les dejo el codigo fuente que realizamos en clase al cual falta completar el ordenamiento de los alumnos, para el dia viernes 13 de Abril deben llevar a clase la solucion del ordenamiento.

Codigo:
#include < cstdlib>
#include <iostream>
using namespace std;
struct alumnox
    { char nombre[20];
      char apellido[20];
      int edad;
      char carrera[20];
      int matricula;
    } ;
int cargaralumno(alumnox& alumno);
int ordenaralumno(alumnox alumnos[]);
int mostraralumno(alumnox alumnos[]);
int main(int argc, char *argv[])
{   int inicio,fin;
    alumnox alumnos[5];
    int i_rtn;
    for (inicio=0; inicio<5;inicio ++)
    {
        i_rtn=cargaralumno(alumnos[inicio]);
    }
    mostraralumno(alumnos);
  //  ordenaralumno(alumnos);
    mostraralumno(alumnos);
    return EXIT_SUCCESS;
}
int cargaralumno(alumnox& alumno)
{
    printf("Nombre: ");
    scanf("%s",&alumno.nombre);
    printf("Apellido: ");
    scanf("%s",&alumno.apellido);
    printf("Edad: ");
    scanf("%i",&alumno.edad);
    printf("Carrera: ");
    scanf("%s",&alumno.carrera);
    printf("Matricula: ");
    scanf("%i",&alumno.matricula);
    return 0;
}
int mostraralumno(alumnox alumnos[])
{   int inicio;
    for (inicio=0; inicio<5;inicio ++)
    {
   
     printf("Alumno: %s,%s Edad: %i",alumnos[inicio].nombre,alumnos[inicio]. apellido,alumnos[inicio].edad);
     printf("Carrera: %s Matricula: %i",alumnos[inicio].carrera,alumnos[inicio].matricula);  
       }
     return 0;
}
int ordenaralumno(alumnox& alumno)
{
  alumnox alumnoaux;
  return 0;
}