Menú

Mostrar Mensajes

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

Mostrar Mensajes Menú

Temas - naidmen

#1
Bueno mi duda consiste en que veo y veo tutoriales pero solo enseñan hasta arboles binarios algunos pero yo siento que en realidad eso tan solo es lo más superficial de C/C++, por eso quisiera saber si existen tutoriales o vídeos o algún foro en donde te enseñen a programar para crear por ejemplo: librerías como el WinApi o SDL1.2/SDL2, quiero crear desde cero mi propia ventana y crear programas variados y todo eso, lo cual no puedo hacer si solo se utilizar vectores, matrices, punteros y demás pendejadas, necesito ir más allá y meterme con el manejo de la maquina o yo no se, estoy tan confundido que no encuentro información sobre lo que realmente quiero.
#2
Es que veo muchas lineas que no entiendo como por ejemplo:

struct _iobuf {
    char *_ptr;
    int _cnt;
    char *_base;
    int _flag;
    int _file;
    int _charbuf;
    int _bufsiz;
    char *_tmpfname;
  };
  typedef struct _iobuf FILE;


No entiendo nada y me gustaría saber si hay una guia para aprender a programar esas lineas, osea crear esas librerías.
#3
Estuve viendo unas guías, pero al momento de llegar a la parte del botón no me sirve y no entiendo, alguien me pasaría una guía para poder ver como usar correctamente la librería para aplicaciones windows, uso lenguaje C.
#4
Bueno yo uso CodeBlock para programar en C, y esta mañana me levante para seguir repasando lo del WinApi, y veo que el getch no me sirve o yo no se que, dejo unas lineas de codigo sencillas: #include <conio.h> //Para getch
#include <stdio.h> //Para printf

int main(){
char tecla;

printf("Pulsa la tecla de la que quieres conocer su codigo: ");
tecla = getch();

printf("\nEl codigo de la tecla pulsada es: %d\n",tecla);

return 0;
}


Y todo normal pero el problema es que se queda en la pantalla negra, y cuando presiono teclas, no hace absolutamente nada, es como si no reconociera las teclas o que se yo. Es un problema raro que solo me pasa hoy, reinicie el pc y nada sigue igual.
#5
Resulta que quiero aprender acerca de desarrollar aplicaciones windows, se que es con la librería windows.h(uso lenguaje C), pero solo me salen para C++ o java, alguien me pasaría una guía para aplicaciones windows solo en lenguaje C.
#6
string exe = "ELEXE";
    HRSRC res=FindResource(NULL,exe.c_str(),RT_RCDATA);

    if(res==NULL)
         cout << GetLastError();
         cout << "\n";

    int size=SizeofResource(NULL,res);

    if( !size )
        cout << 122; // Arbitrario. -> ERROR_INSUFFICIENT_BUFFER
        cout << "\n";

    HGLOBAL hRes=LoadResource(NULL,res);


Llevo casi 6 meses en lenguaje C de forma independiente, ya he visto: pilas,colas listas enlazadas y doblemente enlazadas y aun no se que significan esos códigos. Y si es posible alguien me pasaría una guía que este desde el principio para poder entenderlos.

#7
No se si les servirá este ejercicio pero lo dejo por si lo necesitan, lo hice hace un rato por petición de un tipo que vi en Internet.

#include<stdio.h>
#include<windows.h>

void posicion(int x,int y)
{
     HANDLE hcon;
     hcon = GetStdHandle(STD_OUTPUT_HANDLE);
     COORD dwPos;
     dwPos.X = x;
     dwPos.Y= y;
     SetConsoleCursorPosition(hcon,dwPos);
}

int main()
{
   int y=0,x=0;
   char tecla,letra='#';

   posicion(x,y);
   printf("%c",letra);

   while(tecla!='x'){
       tecla=getch();

       system("cls");
       switch(tecla){
       case 'w':
           if(y>0){
               posicion(x,y-=1);
               printf("%c",letra);
           }
           else{
               posicion(x,y);
               printf("%c",letra);
           }
           break;
       case 's':
           if(y<=24){
               posicion(x,y+=1);
               printf("%c",letra);
           }
           else{
               posicion(x,y);
               printf("%c",letra);
           }
           break;
       case 'a':
           if(x>0){
               posicion(x-=1,y);
               printf("%c",letra);
           }
           else{
               posicion(x,y);
               printf("%c",letra);
           }
           break;
       case 'd':
           if(x<=70){
               posicion(x+=1,y);
               printf("%c",letra);
           }
           else{
               posicion(x,y);
               printf("%c",letra);
           }
           break;
       default:
           break;
       }
   }

   system("pause");
   return 0;
}



· Los códigos deben ir en etiquetas GeSHi
>aquí las reglas del foro
-Engel Lex