• Domingo 18 de Mayo de 2025, 18:56

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 - m0skit0

Páginas: 1 ... 50 51 [52] 53 54 ... 100
1276
C/C++ / Re: Globales en C++
« en: Jueves 2 de Abril de 2009, 13:35 »
Ahí tienes, a ver qué tal.

1277
C/C++ / Re: Globales en C++
« en: Jueves 2 de Abril de 2009, 12:59 »
Sigo con los mismos errores:

Código: C++
  1. //clases.h
  2. //Variables globales
  3. extern volatile int contador_ticks;
  4.  
Esta declaración sólo aparece en clases.h. Aunque cada .cpp de clase tiene un #include "clases.h". ¿Será por esto?

Cita de: "Eternal Idol"
volatile no tiene sentido para una variable global, no puede estar en un registro eternamente
La documentación de Allegro aconseja ponerlo de esta forma.

Gracias de nuevo Eternal Idol.

1278
C/C++ / [Solucionado] Globales en C++
« en: Jueves 2 de Abril de 2009, 12:35 »
Tengo en el fichero clases.h las especificaciones de las clases y una variable global, con un .cpp por cada implementación de clase.

Código: C++
  1. //clases.h
  2. //Variables globales
  3. volatile int contador_ticks;
  4.  
Luego, en main.cpp tengo una función global (que se usa como rutina de interrupción):

Código: C++
  1. //main.cpp
  2. //Rutina de interrupción del temporizador
  3. void interrupcion_tick()
  4. {
  5.     contador_ticks++;
  6. }
  7. END_OF_FUNCTION(interrupcion_tick);
  8.  
Compila, pero el enlazado me da errores:

Código: Text
  1. ccoordenada.o(.text+0x0) In function `Z17interrupcion_tickv':
  2. 171 clases.h multiple definition of `interrupcion_tick()'
  3.  
Y así en todos las compilaciones objeto (.o) de todos los .cpp.

Lo que más me intriga es que la línea que me marca de clases.h (171)... no existe, puesto que el fichero sólo tiene 168 líneas :ph34r:

1279
C/C++ / Re: Convertir Cadena de caracteres en un float
« en: Jueves 2 de Abril de 2009, 12:21 »
Cita de: "zairillo"
Los valores que me devuelve el GPS están en hexadecimal, de ahí que a la hora de convertir a float los valores, lo que me salga no tenga mucho sentido...
Pues claro, y en binario, y en decimal, y en octal, y en sexagesimal... Eso es sólo una representación, el valor en sí es el mismo. ¿O acaso no es lo mismo 16:30, 4:30 y las cuatro y media de la tarde, pero se escriben de diferente manera?  :bad:

¿Cuántas veces te vamos a tener que repetir lo mismo?  :ph34r:

1280
C/C++ / Re: Error en constructor de clase
« en: Jueves 2 de Abril de 2009, 11:57 »
Cita de: "Eternal Idol"
aca en el foro el ; estaba en cFrame
Sí, pero en el proyecto no  :ph34r:

Se me habrán traspapelado los ficheros con otros... En fin, una cuestión de "trasficherado"  ^_^

1281
C/C++ / Re: Error en constructor de clase
« en: Jueves 2 de Abril de 2009, 10:52 »
Nada, nada, olvídenlo, ese error era por la falta de ; al final de la especificación de clase...  <_<

Volví a insertar las clases de una en una, corrigiendo los errores y ya compila.  :clown:

¡Gracias por la atención prestada!  :good:  :comp:

1282
Sobre los Foros de SoloCodigo / Re: Color de los permanentes
« en: Jueves 2 de Abril de 2009, 10:03 »
Citar
CAA686
Color de mier... coles :lol:

1283
C/C++ / Re: Error en constructor de clase
« en: Miércoles 1 de Abril de 2009, 18:34 »
Gracias Eternal Idol, pero me sigue sin funcionar:

Código: C++
  1. typedef int BITMAP;
  2.  
  3. ////////////////
  4. //Constructores
  5. ////////////////
  6. cFrame::cFrame()
  7. {
  8.     frame = NULL;
  9. }
  10.  
4 cframe.cpp two or more data types in declaration of `BITMAP'
4 cframe.cpp extraneous `int' ignored
276 gfx.h 'BITMAP' has a previous declaration as `typedef struct BITMAP BITMAP'

O sea que sí reconoce el tipo declarado en gfx.h BITMAP...  <_<  ¿Pero no reconoce "int"?  :argh:

Código: C
  1. typedef struct BITMAP            /* a bitmap structure */
  2. {
  3.    int w, h;                     /* width and height in pixels */
  4.    int clip;                     /* flag if clipping is turned on */
  5.    int cl, cr, ct, cb;           /* clip left, right, top and bottom values */
  6.    GFX_VTABLE *vtable;           /* drawing functions */
  7.    void *write_bank;             /* C func on some machines, asm on i386 */
  8.    void *read_bank;              /* C func on some machines, asm on i386 */
  9.    void *dat;                    /* the memory we allocated for the bitmap */
  10.    unsigned long id;             /* for identifying sub-bitmaps */
  11.    void *extra;                  /* points to a structure with more info */
  12.    int x_ofs;                    /* horizontal offset (for sub-bitmaps) */
  13.    int y_ofs;                    /* vertical offset (for sub-bitmaps) */
  14.    int seg;                      /* bitmap segment */
  15.    ZERO_SIZE_ARRAY(unsigned char *, line);
  16. } BITMAP;
  17.  
Me explico más en profundidad: en clases.h tengo todas las especificaciones de las clases junto con algunas cabeceras:

Código: C
  1. #include <string>
  2. #include <allegro.h>
  3. #include "tipos.h"
  4. #include "constantes.h"
  5.  
Luego por cada clase un .cpp. Pero da el error comentado en el primer post en el constructor, da igual la clase que sea -aunque no tenga BITMAP como atributo-.

Todo esto usando Dev-C++, con el enlazador configurado con -lalleg. De hecho ejemplos más sencillos sí compilan con la librería, pero con C++ ya no...

¿Es posible que se trate del orden en que g++ intenta compilarlo? Aunque no le veo mucho sentido, porque cada .cpp sólo depende de clases.h, que está incluído...  :brickwall: Adjunto clases.h y cframe.cpp por si acaso...  :mellow:

1284
C/C++ / Re: Error en constructor de clase
« en: Miércoles 1 de Abril de 2009, 17:00 »
Perdona, no he incluído toda la información...

En clases.h está:
Código: C
  1. #include <allegro.h>
  2.  

Donde sí está definido BITMAP.

1285
C/C++ / [SOLUCIONADO] Error en constructor de clase
« en: Miércoles 1 de Abril de 2009, 16:19 »
Error: 5 cframe.cpp new types may not be defined in a return type
Error: 5 cframe.cpp two or more data types in declaration of `cFrame'
Error: 5 cframe.cpp two or more data types in declaration of `cFrame'
Error: 5 cframe.cpp two or more data types in declaration of `cFrame'
Error: 5 cframe.cpp return type specification for constructor invalid

Código: C++
  1. //cframe.cpp
  2. #include "clases.h"
  3.  
  4. cFrame::cFrame()
  5. {
  6.     frame = NULL;
  7. }
  8.  
Código: C++
  1. //clases.h
  2. class cFrame
  3. {
  4.     private:
  5.         BITMAP *frame;
  6.    
  7.     public:
  8.         cFrame();
  9.         ~cFrame();
  10.         void obtener(BITMAP *ob_frame);    
  11.         void modificar(BITMAP *mod_frame);
  12. };
  13.  

 :wacko:  :wacko:

1286
La taberna del BIT / Re: Cuentame Un Chiste
« en: Miércoles 1 de Abril de 2009, 09:45 »
:good:  :good:

1287
Visual Basic para principiantes / Re: REPORTES EN VISUAL BASIC
« en: Miércoles 1 de Abril de 2009, 09:42 »
Podrías buscar en Google, porque es tu colega. Vaguete...  -_-

Primero hay que añadir la referencia al Excel en Proyecto->Referencias->Microsoft Excel x.x Object Library

Código: Visual Basic
  1. Dim Excel As Excel.Application
  2. Dim Excel_Libro As Excel.Workbook
  3. Dim Excel_Hoja As Excel.Worksheet
  4.  
  5. Set Excel = New Excel.Application
  6. Set Excel_Libro = Excel.Open(Ruta_Libro_Excel)
  7. Set Excel_Hoja = Excel.Libro.Worksheets(Indice_Numerico_O_Nombre_Hoja)
  8.  

1288
Hardware / Re: Memoria USB Kingston "se volvió" de solo lectura
« en: Martes 31 de Marzo de 2009, 10:25 »
Cita de: "Geo"
O simplemente es que la memoria se ha dañado
Parece ser más bien esto. Lástima.

1289
C/C++ / Re: Pedir password al iniciar el programa
« en: Martes 31 de Marzo de 2009, 10:01 »
Bueno, estamos en las mismas. Con leer 3-4 líneas de código uno se encuentra con tantos errores de concepto que no se puede hacer nada para ayudarte, a menos que sea escribiéndote el código entero (cosa que no voy a hacer).

Últimos consejos que te doy:

Ya que usas C++, utiliza la clase string.
Código: C++
  1. #include <string>
  2.  
Sustituye:

Código: C
  1. char password [MAX_TAM_PASSWORD] = DEF_PASSWORD;
  2.  
por

Código: C++
  1. string password = DEF_PASSWORD;
  2.  
Citar
Código: C
  1. char pass[i];
  2.  
¿Mande?  :blink: No puedes usar i en una declaración...

Código: C++
  1. string pass;
  2.  

Código: C
  1. for (i=0;i<5;i++)
  2.  {cin>>pass[i];
  3.   }
  4.  
¿Obligado a 5 caracteres? ¿Por qué? ¿No pueden ser menos o más? Además cin es C++ (un flujo de datos).

Código: C++
  1. cin >> pass;
  2.  

Código: C
  1. while (pass[i]==password[i])
  2. {
  3.        if (pass[i]!= password[i])
  4.        {
  5.        cout<<" Digite un password valido !!! n";  
  6.        
  7.        break;
  8.        }
  9.  
El while sólo debe abarcar esta parte, no todo. ¿Para qué comparas lo mismo dos veces? Te repito que i vale 5 al terminar el bucle for anterior, así que debes reinicializarla. Aparte, ¿dónde incrementas i para ir recorriendo?

Utilizando la clase string, mucho más fácil:

Código: C
  1. if (pass != password)
  2.     cout<<" Digite un password valido !!! n";
  3. else
  4. {
  5.     [Aquí ya va el resto - dentro del else]
  6. }
  7.  
Cita de: "ceslinx"
no es que no lea lo que pasa es estoy muy corto de tiempo,
Porque no leíste en su momento, y menos practicaste. Esto es tu problema, no el mío. Te repito lo que te he dicho en el último post. Ya no esperes más ayuda de mi parte sobre este problema.

1290
C/C++ / Re: Dispositivos HID
« en: Martes 31 de Marzo de 2009, 09:27 »
¿Vas a reescribir el driver?  :ph34r: ¿Para qué?

Además, ahí mismo donde dices, si te metes en Deisgn Guide, verás... DirectInput (oh, qué sorpresa). Además hoy en día DirectX es un componente fundamental de Windows, así que por disponibilidad no va a ser.

 :brickwall:

1291
Sobre los Foros de SoloCodigo / Re: Color de los permanentes
« en: Lunes 30 de Marzo de 2009, 13:19 »
Cita de: "iron man"
Edito: Hecho
'sias!  :good:

1292
C/C++ / Re: Substituir cadena
« en: Lunes 30 de Marzo de 2009, 10:59 »
Cita de: "badyalberto"
for (i=indice; i<indice+longnou;i++)
Cita de: "badyalberto"
ya, quiero que indice tenga el valor de i.
Será más bien que i tiene el valor de indice, nen...

Para el caso de igual, nunca dices antes qué valor tienen ni i ni indice, así que ya me dirás cómo pretendes controlar tu programa sin saber qué valores andan rulando por ahí.

Mi consejo es que cojas un buen libro y estudies un poco...

1293
C/C++ / Re: Pedir password al iniciar el programa
« en: Lunes 30 de Marzo de 2009, 10:49 »
Bueno, son tantos errores que no sé por dónde empezar...  :no:

Primero te aconsejo que te cojas un buen libro de C++ y empieces a estudiar. Practica con ejercicios más sencillos hasta que realmente domines los conceptos básicos, porque sin eso no vas a ir muy lejos.

  • Ya que usas C++, utiliza la clase strings en vez de char *: bueno, bonito, barato.
  • La contraseña no pueden ser más de 5 caracteres porque tú mismo lo has definido así (líneas 29 y 36).
  • No sé para qué muestras el mensaje "Digite la contraseña" cada vez que se introduce un carácter (bucle líneas 36-41)
  • No marcas el final de cadena () (bucle líneas 36-41)
  • Haces una asignación (=) y no una comparación (==) (línea 44)
  • Aunque el punto anterior estuviera bien, estás comparando el 6º carácter (puesto que usas i, que al salir del for vale 5) de password y pass. Esta posición de carácter no existe en pass[] tal y como la has definido (línea 29).
  • Aunque valiera la comparación siempre ejecutaría el bucle while() porque lo único que haces en el if-else (línea 44) es imprimir un mensaje por pantalla y seguir con la ejecución.
Vuelve a pensar cómo hacerlo, porque con esto vas bastante mal encaminado.

Salud

P.D: ¿qué demonios es "totea"?

1294
¿Bueno, qué, no se apunta nadie más? ¡Pasen y vean!

:Rajaos:  :devil:  :no:  :D

Entonces que simplemente la gente postee por quien vota, independientemente de si se ha presentado o no, como en "La República" de Platón: demotiranía  :lol:

1295
Sobre los Foros de SoloCodigo / Re: Color de los permanentes
« en: Lunes 30 de Marzo de 2009, 00:56 »
Cita de: "iron man"
En vez del 5 seleccionas el 6 y le das otra vez a Enviar voto.
No me salen las opciones, sino directamente los resultados...  :wacko:

1296
Software / Re: ¿Cuál es tu sistema operativo favorito?
« en: Lunes 30 de Marzo de 2009, 00:55 »
Cita de: "posman"
tambien habria que poner las versiones/distribuciones/derivados del BSD Unix.
Lo había puesto. Yo también lo uso. Bueno si te fijas un poco más arriba, verás que

Cita de: "m0skit0"
De todas formas, había puesto muchas más opciones, pero hay un límite :oops: :)
;)

1297
C/C++ / Re: Substituir cadena
« en: Lunes 30 de Marzo de 2009, 00:49 »
indice tiene un valor desconocido y se lo asignas a i en la línea 23.

1298
Sobre los Foros de SoloCodigo / Re: Color de los permanentes
« en: Domingo 29 de Marzo de 2009, 19:29 »
Cita de: "iron man"
cambiar el voto
¿Cómo?

1299
Visual Basic para principiantes / Re: Escribir al principio de un archivo txt
« en: Domingo 29 de Marzo de 2009, 19:28 »
Hazle caso a Nebire mejor...

1300
Sobre los Foros de SoloCodigo / Re: Color de los permanentes
« en: Domingo 29 de Marzo de 2009, 12:53 »
Jor, he votado por el 5 cuando quería decir el 6... Bueno, no importa...  :unsure:

Páginas: 1 ... 50 51 [52] 53 54 ... 100