|
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 - diego.martinez
Páginas: 1 ... 3 4 [5] 6 7 ... 12
101
« en: Miércoles 21 de Octubre de 2009, 16:17 »
buenas:
sigo con el mismo problema, no le ha pasado a nadie mas?
102
« en: Miércoles 21 de Octubre de 2009, 16:14 »
buenas:
yo lo que suelo hacer para portabilidad es usar el patrón factory y crear una clase para win32 y otra para unix.
entonces simplemente uso la api en uno y la stat en el otro.
suerte.
103
« en: Miércoles 21 de Octubre de 2009, 16:06 »
buenas: solo era para comentar que empiricamente, eternal idol tiene razón, yo trabajo programando en c++ en entornos embebidos y siempre he tenido que demostrar que el c++ es igual de rapido (o eficiente) que C. Sabiendo un poco lo que se hace, usando bien las clases y todo eso se puede hacer que el esamblador sea igual que en C solo que con toda la eficacia(a la hora de desarrollar) de un proyecto en c++.
104
« en: Miércoles 7 de Octubre de 2009, 20:27 »
curioso detalle el de las J mayusculas. Denota una mayuscula en el original? un nombre propio? o es que el encriptado es mas amplio que las letras minusculas?
105
« en: Miércoles 7 de Octubre de 2009, 20:24 »
buenas.
Lo de que se repita la y dos veces podria ser un indicativo de que el cifrado utiliza la letra anterior para definir el nuevo caracter de la siguiente. Lo que lo puede hacer bastante complejo de crackear.
suerte!
106
« en: Miércoles 7 de Octubre de 2009, 20:15 »
Buenas:
Veamos, estoy intentando poner seguridad encripatada para las comunicaciones FTP y HTML en un servidor interno de la empresa.
Para ello, me he instalado OpenSSH y lo he configurado con claves RSA.
Hasta aqui todo correcto.
Conecto al SSH con el Putty y todo va bien. Cuando no tenia la seguridad RSA puesta, me autentificaba y podia entrar en el arbol de directorios y todo. He puesto seguridad y le he puesto la clave Id_Rsa que he creado con el OpenSSH (y modificado para usarla con el Putty usando el PuttyGen) y le incrusto la clave "putty" en Connection > SSH > Auth > Private Key... etc.
Cuando me conecto al Servidor SSH todo va bien, me solicita usuario , introduzco uno valido, me pide el Passphrase para la clave rsa (se lo facilito) y me autoriza y en ese momento hop: "Connection Closed by remote Host"
No se que puedo estar haciendo mal. La clave es valida, por que si suministro otra me dice "invalid passphrase" y me la pide otra vez. El usuario tambien es valido.
Que puede estar pasando? tengo algo mal configurado? en el cliente o en el server? es su forma de decirme que no vale la id_rsa que le he puesto al putty?
otra cosa, no se como mirar los logs del servidor (por si aparecia algo interesante) google dice que haga "ssh -vvv" o "ssh -v -v -v" pero eso no funciona y en la lista de parametros no aparece....
Otra cosa mas, cuando me autentificaba mediante user/pass todo iba bien. Pero no queria que el usuario final tenga acceso al arbol de directorios, ya que lo quiero unicamente para que mis usuarios cifren sus transferencias con mi servidor interno usando el Tunnel SSH del putty, hay forma de evitar que se tenga acceso a la terminal? una configuracion seguramente.
Gracias por todo!
107
« en: Viernes 2 de Octubre de 2009, 16:24 »
usa la api de windows, mirate las funciones:
createfile (para abrir puertos com) y ReadFile (para leer el buffer del com)
108
« en: Martes 8 de Septiembre de 2009, 11:50 »
buenas: gracias por la respuesta, pero no se si no lo sabia implementar, pero no me salia bien con tu formula. Sin embargo, encontré el problema con la mia simplemente, no estaba usando unsigned char y encima lo almacenaba mal unsigned int r,g,b; unsigned char Or=img->Data[ImgOffset]; unsigned char Og=img->Data[ImgOffset+1]; unsigned char Ob=img->Data[ImgOffset+2]; unsigned char Mr=Mask->Data[ImgOffset]; unsigned char Mg=Mask->Data[ImgOffset+1]; unsigned char Mb=Mask->Data[ImgOffset+2]; unsigned char Br=this->Data[CanvasOffset]; unsigned char Bg=this->Data[CanvasOffset+1]; unsigned char Bb=this->Data[CanvasOffset+2]; r=Br*(255-Mr)+(Or*Mr); g=Bg*(255-Mg)+(Og*Mg); b=Bb*(255-Mb)+(Ob*Mb); r>>=8; g>>=8; b>>=8;
esta es la solucion
109
« en: Jueves 3 de Septiembre de 2009, 14:59 »
Buenas: estoy dibujando unos sprites en pantalla. Para ello tengo un buffer con el fondo (24 bits, canales r,g,b entrelazados) y un buffer con el sprite (24 bits tambien entrelazado), luego tengo otro buffer igual de grande con el canal alpha del sprite, un blur sobre lo que seria su mascara para que los bordes sean suaves. Bien, estoy teniendo problemas con el blending. en teoria (corregidme si me equivoco) la formula seria r= ( rojo de overlay & rojo de Mascara) | (rojo de fondo & (255-rojo de mascara)); g= ( verde de overlay & verde de Mascara) | (verde de fondo & (255-verde de mascara)); b= ( azul de overlay & azul de Mascara) | (azul de fondo & (255-azul de mascara)); es asi? por que haciendolo asi me esta dando fallos en el gradiente. Y salen extrañas rayas. overlay : verde completo liso con una banda blanca mascara: Es un gradiente de blanco a negro de izquierda superior a derecha inferior fondo: el visible, la mayor parte en rojo.
110
« en: Jueves 3 de Septiembre de 2009, 09:19 »
tiene pinta de que estas intentando depurar una dll.
la dll de por si no puede ser depurada y te esta pidiendo un ejecutable que la use para poder debugearla.
para ello es mejor que en la misma solution , hacas un programa de prueba en el que linkas la dll y desde ese depures la dll.
111
« en: Lunes 31 de Agosto de 2009, 12:01 »
si estas haciendo una aplicacion consola podrias usar GotoXY() retroceder el cursor y pintar 80 caracteres blancos, y luego volver a poner el cursor en su sitio.
si estas programando la grafica en modo texto, puedes hacer un memset de 160 ceros en la direccion 0x0b0000+(24*80*2)
112
« en: Miércoles 26 de Agosto de 2009, 11:19 »
gracias! ahora entiendo mejor cual es el problema.
La solución que he puesto es meterlo todo en una funcion a parte. Esto hace que pueda hacer mejor el unwinding y no me da el fallo, manteniendo la funcionalidad que queria.
nos vemos!
PD: realmente no uso nunca excepciones. Siempre verifico los returns. Lo que tengo es un try catch global en cada hilo, para que si se da una excepcion que no haya tenido en cuenta (buffer overrun, un paseo por un puntero nulo...) la capture el StackWalker y me traze el fallo hasta la función.
113
« en: Martes 25 de Agosto de 2009, 11:42 »
Buenas: estoy teniendo un problema con el object unwinding tengo una seccion __try __except que usa EHsc para hacer el StackWalk. Todo ha ido siempre bien, pero hoy he descubierto que tiene problemas con el polimorfismo. si hago: class CA { public: CA() {} virtual ~CA(){} }; class CB : public CA { public: CB() {} ~CB(){} }; int WINAPI WinMain(HINSTANCE hinstance, HINSTANCE hprevinst, LPSTR cmdline, int cmdshow) { __try { CA * a=new CB(); //aqui me da el fallo } __except (ExpFilter("principal",GetExceptionInformation(), GetExceptionCode(),__LINE__,__FUNCTION__)){} return 0; } long _stdcall ExpFilter(char *Message,EXCEPTION_POINTERS* pExp, DWORD dwExpCode,int line,char * func) { GStackWalk sw; [...] //stack walk code return EXCEPTION_EXECUTE_HANDLER; //esto hace que acepte la excepcion , si devolvemos 0 , la gestiona windows }
al ser CB una clase polimorfica me tira el error: Cannot use __try in functions that require object unwinding compilo con la opcion /EHsc para activar las excepciones estructuradas de windows, lo que hace que no pueda resolver este caso. (cualquier otro lo hace bien) Alguien puede explicarme que ocurre? y que es exactamente el unwinding? gracias por adelantado
114
« en: Lunes 24 de Agosto de 2009, 16:40 »
buenas, pasaba por aqui
lo mejor es C++ con diferencia
tienes que decidir si para unix o para windows. en caso de Windows puedes usar el Visual Studio Xpress 2008 que es gratis. en caso de linux tienes unas cuantas toneladas de compiladores , pero de esto ya no entiendo yo tanto.
para crear 3D puedes usar DirectX o OpenGL. El OpenGL es standard y te servira en cualquier plataforma.
Para empezar primero aprende C++ con cualquier guia (hay una de Bjorne Strouttupp o como se escriba que es muy buena) puedes usar C con Clase para aprender Una vez sepas y controles el Lenguaje, si vas a aprender para Windows te recomiendo TheForger's Guide To Windows que es con la que aprendí yo Y una vez controles el sistema y el lenguaje, para aprender OpenGL te recomiendo los tutoriales de NeHe para empezar.
yo como habras podido ver programo OpenGL para Windows en Visual Studio, asi que es de lo que hablo solo por que es de lo que sé. Seguro que los demas pueden aportar otros compiladores para unix o window.
ale, a googlear! si tienes duda preguntando se va a roma, asi que no dudes en preguntar
115
« en: Lunes 24 de Agosto de 2009, 03:31 »
Buenas: estoy interesado en un algoritmo para asignar automaticamente los bones a los vertices debido a su posicion espacial. lo que quiero es , dado un mesh (malla) y unos bones(rigging) que mi algoritmo asigne los bones a los vertices sin necesidad de importar sus asociaciones. Se que existe y tiene un nombre, pero no se como es, asi que no puedo encontrarlo en google. alguien sabe como se llama / donde encontrar un tutorial? gracias de antemano
116
« en: Jueves 30 de Julio de 2009, 10:58 »
int CuentaDigitos(int Numero) { for (e=1;;e++) { if (Numero < pow(10,e)) return e; } return 1; }
o , aplicado a cualquier base: int CuentaDigitos(int Numero, int Base=10) { for (e=1;;e++) { if (Numero < pow(Base,e)) return e; } return 1; }
mas simple
117
« en: Lunes 27 de Julio de 2009, 09:28 »
desde windows?
si es desde windows solo tienes que usar las funciones de la api de bluetooth BTAPI . Una vez tienes enlazado el device , tienes que empaquetar el archivo que quieres enviar en protocolo OBEX. Busca en google protocolo OBEX de IRDA. Encontraras un manual con todas las instrucciones, es un estilo al protocolo de jpg, haciendo secciones con un encabezado que indica lo que viene a continuación.
118
« en: Lunes 13 de Julio de 2009, 09:31 »
mirate a ver si tienes la API en c/c++ de la base de datos esa
119
« en: Viernes 10 de Julio de 2009, 09:13 »
ok gracias!
120
« en: Miércoles 8 de Julio de 2009, 14:55 »
Buenas: estoy programando el interfaz de un dispositivo electronico (un estilo a un movil) y bueno, tengo menues, botones, labels... etc. El interfaz esta bastante bien hecho, pero me ha surgido duda de diseño a la hora de implementar el multilenguaje. Mi idea , por ahora, es crear una clase de strings especiales, que miren una variable global para saber el idioma en el que esta el equipo, y que automaticamente cambien su puntero a uno diferente aplicando un offset definido por el idioma seleccionado. Entonces, durante el codigo habria que ir usando los strings por una referencia y luego definir en un .h/.cpp los arrays de strings con sus numeros de referencia. Encuentro bastante engorroso la forma de implementar esto y no tengo muy claro si es una buena solución, como soleis hacer el multilenguaje? como veis esta solución? gracias por cualquier idea! PD: es un programa embebido en un microcontrolador, asi que no puedo usar resources como se usaria en visual studio.
121
« en: Miércoles 17 de Junio de 2009, 16:36 »
Buenas: Yo he programado un sistema de scripts que interpreta estas formulas. Para ello se usa algo llamado Notación Polaca Inversa. http://en.wikipedia.org/wiki/Reverse_Polish_notation Primero interpretas la formula y la vas convirtiendo a esta notación polaca inversa. Ex: Notacion noramal 1*2+(3*5) Notación polaca inversa 1 2 * 3 5 * + Una vez la tienes en polaca inversa, la metes en un stack. Y vas desencolando. Cuando desencolas un operador, miras cuantos elementos usa ese operador (+ - * / usan 2 operadores, not, abs, sen, cos, tan, usan solo 1) y vas desencolando hasta x elementos y aplicando el operador entre ellos. Asi de facil. Ten cuidado con los parentesis, tienes que mover los operadores que afectan al parentesis hasta donde este el fin del bloque. Suerte!
122
« en: Lunes 8 de Junio de 2009, 18:31 »
char alumnos[5]; //proceso leer for(i=1;i<=5;i++){ aqui tienes el fallo. Cuando defines un array de 5 elementos, estas definiendo un array de elementos de 0 a N-1 o sea, que tienes el elemento 0, el 1, el 2, el 3 Y el 4, pero NO el 5. el for deberia ser: En los demas arrays, el mismo problema , el elemento N no existe! un array de N elementos va del 0 a N-1! ah, y usa las etiquetas de codigo.
123
« en: Lunes 8 de Junio de 2009, 09:31 »
Res = pow(Var1; Var2); Seguramente esta linea esta mal al copiarla , por que te habrias dado cuenta del error al compilar, el ';' del centro deberia ser ',' por lo demas, he probado el codigo y funciona correctamente.
124
« en: Miércoles 3 de Junio de 2009, 16:02 »
if(v<j)
en esta linea estas comparando el valor del array con el INDICE! seguramente querias AUN ASI, eso no te encuentra el menor! Lo que tienes que hacer es: 1) coges el primer elemento del array 2) lo copias en una variable y asumes que es el numero menor 3) iteras el vector: si el elemento n del vector es < que el numero menor: copias el elemento n en el numero menor asi al terminar tendras en esa variable el menor numero del array (o arreglo). for(i=0;i<n;i++) { if(v<0) { x++; cout<<"La cantidad de numeros negativos que tiene el arreglo son: "<<x; } }
es que realmente tienes el escribir esa frase DENTRO del for, luego lo hara N veces. Pon el cout al final y en el ciclo simplemente incrementa una variable cada vez que encuentres uno negativo.
125
« en: Lunes 1 de Junio de 2009, 11:30 »
si, ya lo habia probado asi, y funciona, lo que queria saber es si hay forma de indicarle que haga el corchete incluso con punteros, supongo que la respuesta es no  Gracias igualmente
Páginas: 1 ... 3 4 [5] 6 7 ... 12
|
|
|