• Lunes 29 de Abril de 2024, 01:53

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - Valtiel

Páginas: [1]
1
VB .NET / Re: Acceder Al Puerto Serial.
« en: Miércoles 12 de Septiembre de 2007, 22:41 »
De verdad ?. Te estaria muy agradecido.

Ojala pudieras poner algo sobre el puerto paralelo tambien, que al parecer es mas facil.

Saludos y gracias de antemano.

2
VB .NET / Acceder Al Puerto Serial.
« en: Miércoles 12 de Septiembre de 2007, 21:58 »
Hola muchachos.

Me gustaria saber si es posible acceder al puerto serial en Visual.net, pero desde una aplicacion windows.

He estado buscando informacion y solo mecionan metodos a traves de aplicaciones de consola, por lo que me entro la duda.

Lo necesito para manejar un dispositivo y seria bastante mas comodo de hacer a traves de una aplicacion con ventanas.

Saludos.

3
VB .NET / Re: Existe Esta Funcion ?
« en: Miércoles 12 de Septiembre de 2007, 15:56 »
Descubri como hacerlo.

Gracias de todas formas  :lol:

4
VB .NET / Existe Esta Funcion ?
« en: Miércoles 12 de Septiembre de 2007, 15:43 »
Necesito saber si existe alguna funcion que me retorne el elemento que ha sido clickeado por el usuario. Por ejemplo, tengo una serie de labels agrupadas, y necesito que la funcion me retorne el nombre del label que el usuario ha clickeado.

Lo necesito para un procedimiento que maneja el evento click de cada una de las etiquetas. Necesito asignarle valores a las etiquetas, pero al tener cada una un nombre distinto, necesito hacerlo de la manera que mencione arriba.

Se puede hacer esto ?.

Saludos.

5
C/C++ / Problema Extraño Al Tratar De Escribir Un Archivo.
« en: Domingo 22 de Julio de 2007, 01:58 »
Hola.

Estoy haciendo un programa (bancario) mas o menos simple, que debe almacenar los datos de un cliente en 3 archivos distintos. En uno iran los datos pesonales, en el segundo los tipos de transacciones, y en el tercero las transacciones mismas.

El problema surge al tratar de escribir en el tercer archivo, ya que al ingresar cualquier valor, en el archivo solo se muestran caracteres extraños (cuadrados y otras cosas).

He tratado de todo a mi alcance y no doy con la solucion. Es extraño porque los 2 primeros archivos se escriben sin ningun problema, pero el tercero lo escribe mal, siendo que esta todo declarado exactamente igual que los otros 2. La diferencia esta en que en este archivo estoy escribiendo un numero traido desde una variable de tipo int, pero no es eso, ya que ingresando el valor desde un char sucede lo mismo.

Este es el codigo (compila perfectamente, por si quieren pegarlo en su compilador y probarlo):

Citar
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>

struct _person{
char nombre[20];
char paterno[14];
char materno[14];
char rut[10];
char correo[20];
char edad[10];
char direccion[50];
char ncuenta[20];
};

struct _person datosper;

struct _tipot{
char tipotrans[15];
char desc[100];
char dep[];
char giro[];
char trasp[];
char ab[];
char cdep[];
char cgiro[];
char ctrasp[];
char cab[];
int monto;
};

struct _tipot tip={
"",
"",
"deposito",
"giro",
"traspaso",
"abono",
"001",
"002",
"003",
"004",
};



void main()
{
   FILE *personales,*tipotrans,*trans;
   int i,sel,sw1=0,sw2=0;
   personales=fopen("DatosPersonales.txt","a+");
   tipotrans=fopen("TipoTransacciones.txt","a+");
   trans=fopen("Transacciones.txt","a+");

   if(personales==NULL || tipotrans==NULL || trans==NULL)
   {
      printf("problemas con el archivo");
      exit(1);
   }
   printf("Nombre:");
   gets(datosper.nombre);
   fwrite(datosper.nombre,sizeof(datosper.nombre),1,personales);

   printf("Apellido paterno:");
   gets(datosper.paterno);
   fwrite(datosper.paterno,sizeof(datosper.paterno),1,personales);

   printf("Apellido materno:");
   gets(datosper.materno);
   fwrite(datosper.materno,sizeof(datosper.materno),1,personales);

   do
   {
      printf("Correo electronico:");
      gets(datosper.correo);
      for(i=0;i<20;i++)
      {
         if(datosper.correo=='@')
            sw1=1;
         if(datosper.correo=='.')
            sw2=1;
      }
      if(sw1!=1 || sw2!=1)
      {
         printf("correo no valido\n");
         sw1=0;
         sw2=0;
      }
   }while((sw1!=1) || (sw2!=1));
   fwrite(datosper.correo,sizeof(datosper.correo),1,personales);
   sw1=0; sw2=0;
   do
   {
      printf("RUT (sin puntos): ");
      gets(datosper.rut);
      for(i=0;i<10;i++)
      {
         if(datosper.rut=='-')
            sw1=1;
      }
      if(sw1!=1)
         printf("Ingrese su rut incluyendo guion \n");

   }
   while(sw1!=1);
   fwrite(datosper.rut,sizeof(datosper.rut),1,personales);
   sw1=0;

   printf("Edad:");
   gets(datosper.edad);
   fwrite(datosper.edad,sizeof(datosper.edad),1,personales);

   printf("Direccion: ");
   gets(datosper.direccion);
   fwrite(datosper.direccion,sizeof(datosper.direccion),1,personales);

   printf("Numero de cuenta: ");
   gets(datosper.ncuenta);
   fwrite(datosper.ncuenta,sizeof(datosper.ncuenta),1,personales);

//------------------------------------------------------------

   printf("\n\nSeleccione el tipo de transaccion que desea realizar:\n\n");
   printf("a) Deposito\n");
   printf("b) Giro\n");
   printf("c) Traspaso\n");
   printf("d) abono\n\n");
   sel=getch();
   switch(sel)
   {
      case'a': fputs(tip.cdep,tipotrans);
               printf("Monto: ");
               scanf("%d",&tip.monto);
               fwrite(&tip.monto,sizeof(&tip.monto),1,trans);
   }

getche();
}


Gracias de antemano.

6
C/C++ / Re: Escribir Archivo Con Saltos De Linea.
« en: Lunes 16 de Julio de 2007, 05:05 »
Bueno, encontre una manera pero me gustaria saber que otras formas existen. Lo que hice fue agregar un arreglo que contiene "\n".

Existe otra manera mas "elegante" de hacerlo ?.

7
C/C++ / Escribir Archivo Con Saltos De Linea.
« en: Lunes 16 de Julio de 2007, 04:58 »
Hola.

Me gustaria saber de que manera puedo escribir en un archivo con saltos de linea, ya que necesito ingresar los siguientes datos de usuario: Nombre, Email y Edad, y me gustaria que el programa escribiera cada dato despues de un salto de linea.

Saludos y gracias de antemano.

8
C/C++ / Pequeña Consulta Sobre El Scanf.
« en: Domingo 3 de Junio de 2007, 09:29 »
Resulta que estoy haciendo un programa que contiene varios menus, y necesito que al escanear una variable para acceder a una determinada opcion, esta ingrese inmediatamente, es decir, que si hago un scanf("%d",numero), al ingresar el numero no tenga que apretar enter ni nada, solo apretar el numero (sin que lo muestre en pantalla) e ingrese a dicha opcion.

Como puedo hacer eso?.

9
C/C++ / Clock(); Y Sistemas De Ordenamiento.
« en: Lunes 28 de Mayo de 2007, 20:08 »
Se me pidio confeccionar un programa en C que utilize varios metodos de ordenamiento sobre un arreglo de X elementos (en este caso 25000). Sobre esto tengo las siguientes 3 dudas:

-¿Es normal que el metodo de ordenamiento Burbuja demore significativamente menos que el metodo de Seleccion?, puesto que ordenar la matriz mediante el primer me toma tan solo 2 segundos, en cambio con el segundo 177.

-Que puedo hacer para que no me muestre el tiempo que demora en ordenar la matriz en cifras redondas ?, puesto que el tiempo me lo imprime por ejemplo asi: 2.00000 segundos, 3.00000 segundos, etc. (creo que tiene que ver con la constanste CLK_TCK que estoy utilizando para divir la diferencia de los tiempos de inicio y fin).

-Si a la funcion Bubble le agrego una variable para calcular la cantidad de intercambios que realiza, para luego imprimirla en la funcion principal, el tiempo que demora en ordenar la matriz baja en 1 segundo: ordenandola sin calcular ni imprimir la cantidad de comparaciones le lleva 2 segundos, en cambio, calculando e imprimiendo la variable "inter" junto con ordenar la matriz le toma 1 segundo. Que pasa ahí?.

Saludos y gracias de antemano.

Estas son algunas partes del programa:


...
#define MAX 25000

int Globx=0;

int Bubble(int A3[],int MAX3)
{
   int i,k,AUX,inter=0;

   for(i=1;i<MAX3;i++)
   {
      for(k=0;k<MAX3-1;k++)
   {
      if(A3<A3[k])
      {
         AUX=A3;
         A3=A3[k];
         A3[k]=AUX;
         inter=inter+1;
      }
   }
}

return inter;

}

int Menor(int A5[],int MAX5)
{
   int i,j,menor=0;

   for(i=0;i<MAX5-1;i++)
   {
      menor=i;

      for(j=i+1;j<MAX5;j++)
      {
         if (A5[menor] > A5[j])
         {
            menor=j;
         }
      }
   }

return menor;

}

int Seleccion(int A4[],int MAX4)
{
   int i,AUX,pos_men;
   for(i=0;i<MAX4-1;i++)
   {
      pos_men=Menor(A4,MAX4);
      AUX=A4;
      A4=A4[pos_men];
      A4[pos_men]=AUX;
   }

   return 0;

}

.......

int A[MAX],i;
float t1;

void main()
{
   randomize();
   for(i=0;i<MAX;i++)
   {
      A=random(20000)+1;
   }

//Determinacion de tiempo de ordenamiento mediante Bubblesort.
   int inter;
   inter=Bubble(A,MAX);
   Globx=Globx+1;
   t1=DetTiempo(A,MAX);
   printf("Burbuja demora %f segundos en ordenar la matriz, realizando %d intercambios.",t1,inter);
   printf("\n\nPresione cualquier tecla para continuar");
   getche();

   //Determinacion de tiempo de ordenamiento mediante Selection Sort.
   Globx=Globx+1;
   t1=DetTiempo(A,MAX);
   printf("\n\nSelection Sort demora %f segundos en ordenar la matriz.",t1);
   printf("\n\nPresione cualquier tecla para continuar");
   getche();

...

getche();
}

Páginas: [1]