Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Mi primer libreria en lenguaje C

Estas en el tema de Mi primer libreria en lenguaje C en el foro de C/C++ en Foros del Web. Hola a todos Nunca hice una librería por eso les pido una manito para hacer la primera, lo que quiero es que esta parte del ...
  #1 (permalink)  
Antiguo 12/09/2010, 13:54
RoDaVi
Invitado
 
Mensajes: n/a
Puntos:
Mi primer libreria en lenguaje C

Hola a todos
Nunca hice una librería por eso les pido una manito para hacer la primera, lo que quiero es que esta parte del código esté en una.-

Código:
int letra(void)
{   
   int car;   
   DWORD leidos, modo;   
   GetConsoleMode(GetStdHandle(STD_INPUT_HANDLE), &modo);     
   SetConsoleMode(GetStdHandle(STD_INPUT_HANDLE), modo & !ENABLE_ECHO_INPUT & !ENABLE_PROCESSED_INPUT);   
   ReadConsole(GetStdHandle(STD_INPUT_HANDLE), &car, 1, &leidos, NULL);   
   SetConsoleMode(GetStdHandle(STD_INPUT_HANDLE), modo);     
   return car;   
}
Este es el código completo.-

Código:
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
#include <string.h>

#define men printf("\n Apriete cualquier tecla para cerrar la ventana...");system("pause>null");

int letra(void);
void inicio_error(char[],int);

int main (int argc,char *argv[])
{
   char frase[11];
   int mxo = 0;
   inicio_error(frase,mxo);
   while(mxo<10)
   {
      frase[mxo]=letra();
      if(frase[mxo] < 48 || frase[mxo] > 58)
      {
         printf("%c",frase[mxo]);
         mxo++;
      }
      else
      {
         printf("\n No se permiten numeros \" Apriete una tecla...\"");system("pause>null");         
         inicio_error(frase,mxo);
      }
   };
   printf("\n");
   men;
   return 0;
}

void inicio_error(char frase[], int mxo)
{
   system("CLS");
   printf("\n         Ayuda ---> maximo 10 caracteres - no se permiten numeros");
   printf("\n\n Ingrece una frase.:");
   int i = 0;
   for(i=0;i<mxo;i++)
   {
       printf("%c", frase[i]); 
   }
}     

int letra(void)
{   
   int car;   
   DWORD leidos, modo;   
   GetConsoleMode(GetStdHandle(STD_INPUT_HANDLE), &modo);     
   SetConsoleMode(GetStdHandle(STD_INPUT_HANDLE), modo & !ENABLE_ECHO_INPUT & !ENABLE_PROCESSED_INPUT);   
   ReadConsole(GetStdHandle(STD_INPUT_HANDLE), &car, 1, &leidos, NULL);   
   SetConsoleMode(GetStdHandle(STD_INPUT_HANDLE), modo);     
   return car;   
}
Si alguien tiene algo distinto para capturar la tecla pulsada y validarla antes que sea impresa en pantalla, les agradecería me pongan un ej.-(no conio.h)
Bueno espero vuestra ayuda y si no es mucho pedir un poco de explicación.-

Muchos saludos.
Daniel
  #2 (permalink)  
Antiguo 13/09/2010, 02:07
 
Fecha de Ingreso: noviembre-2009
Mensajes: 186
Antigüedad: 14 años, 5 meses
Puntos: 2
Respuesta: Mi primer libreria en lenguaje C

para cosas en consola la biblioteca ncurses esta muy bien, te deja hacer de todo y controlarlo todo, y es portable, no dependes de código exclusivo de windows
  #3 (permalink)  
Antiguo 13/09/2010, 11:07
RoDaVi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Mi primer libreria en lenguaje C

Hola stiwi222
Muchas gracias por el consejo, ya tenia algo leído de esa librería.-

Saludos.
Daniel
  #4 (permalink)  
Antiguo 14/09/2010, 22:50
 
Fecha de Ingreso: septiembre-2010
Mensajes: 2
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: Mi primer libreria en lenguaje C

porque una libreria?? solo debes guardar el codigo como un .h y luego incluirlo en el codigo..no te parece??
  #5 (permalink)  
Antiguo 15/09/2010, 10:03
RoDaVi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Mi primer libreria en lenguaje C

Hola theprogrammer
¿Es realmente asi de simple?, lo voy a probar, desconozco como hacer referencia al archivo si #include "..." o #include<>, me lo dirá el compilador.-
¿Que diferencia hay entre lo que vos me decís y una librería?.-

Saludos.
Daniel
  #6 (permalink)  
Antiguo 15/09/2010, 13:17
 
Fecha de Ingreso: noviembre-2009
Mensajes: 186
Antigüedad: 14 años, 5 meses
Puntos: 2
Respuesta: Mi primer libreria en lenguaje C

a ver, si en el .h solo pusieras las declaraciones de las funciones, y en otro archivo .c las definieras (con lo que ello conlleva, el enlazado y eso) podrias hablar de una biblioteca. la utilidad de los archivos de cabecera es esa, no se usa para definir funciones, aunque si es para algo pequeño te podria servir
  #7 (permalink)  
Antiguo 15/09/2010, 18:52
RoDaVi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Mi primer libreria en lenguaje C

Hola stiwi222
Cita:
a ver, si en el .h solo pusieras las declaraciones de las funciones, y en otro archivo .c las definieras (con lo que ello conlleva, el enlazado y eso) podrias hablar de una biblioteca. la utilidad de los archivos de cabecera es esa, no se usa para definir funciones, aunque si es para algo pequeño te podria servir
Gracias ya me queda un poco mas claro lo de las librerías, solo que no se como se mide que es algo pequeño, en fin.-

Un gran saludo.-
Daniel
  #8 (permalink)  
Antiguo 15/09/2010, 23:30
 
Fecha de Ingreso: noviembre-2009
Mensajes: 186
Antigüedad: 14 años, 5 meses
Puntos: 2
Respuesta: Mi primer libreria en lenguaje C

a ver, si tienes dudas directamente haz otro .c y su .h asociado, es lo mas sencillo (aunque para esto mejor que uses un IDE)

Etiquetas: lenguaje, libreria, primer
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:53.