|
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.
Temas - Geo
1
« en: Miércoles 28 de Agosto de 2019, 05:29 »
He visitado varios hilos donde al parecer se agregaron comentarios código fuente y no se puede visualizar, p. ej. en este hilo https://solocodigo.com/48129/python-en-espanol/al visualizarlo en la lista de hilos del foro, se indica que tiene 13 mensajes (Selection_033.png), pero al entrar solamente se puede ver hasta el cuarto mensaje (Selection_034.png). La lista de mensajes parece que se corta en donde aparece el mensaje de error: Class 'Geshi' not found
2
« en: Martes 18 de Enero de 2011, 07:28 »
Qué tal, acabo de instalar Visual Studio 2010 y estoy intentando ejecutar un ejemplo de síntesis de voz, hago lo siguiente: 1. Creo un nuevo proyecto Windows Forms 2. Agrego una referencia a Speech.Synthesis 3. Agrego un botón con este código al hacer clic: try { SpeechSynthesizer speaker = new SpeechSynthesizer (); speaker.Rate = 1; speaker.Volume = 100; speaker.Speak("Hello"); //speak.SpeakAsync("Hello world, how are you doing"); } catch (Exception ex) { MessageBox.Show(ex.Message); }
Pero siempre obtengo el mensaje de excepción "Object reference not set to an instance of an object". El ejemplo es muy sencillo, basado en varios que he encontrado en la red pero no entiendo la razón del error, se supone que speaker debe haber sido correctamente instanciado tras la instrucción new. Espero su ayuda, cualquier comentario es bienvenido.
3
« en: Viernes 15 de Mayo de 2009, 07:28 »
Qué tal, estoy buscando información para saber si es posible elegir a cual conectarme entre dos señales inalámbricas con el mismo nombre. Resulta que tengo un repetidor de señal inalámbrica configurado con los mismos datos que la señal "original", y aunque tengo más cercano el repetidor, y por tanto Windows conecta automáticamente con este, me gustaría saber si existe alguna forma de conectarme al módem fuente. Pensando, imaginaría que de alguna forma habría que indicar algún dato que distinguiera entre uno u otro, p. ej. la dirección MAC, aunque desconozco si sea posible y, de ser así, cómo conseguirlo. ¿Pueden echarme una mano? me sirve información tanto si es para Windows como para Linux ![Smile :)](https://solocodigo.com/Smileys/solocodigo/smile.gif) .
4
« en: Martes 7 de Abril de 2009, 20:22 »
Qué tal, tengo una tarjeta de captura de video Pinnacle 500-USB que incluye el software Pinnacle Studio para capturar y editar video, sin embargo, no tiene ninguna opción (o no la encontré ![Tongue :P](https://solocodigo.com/Smileys/solocodigo/tongue.gif) ) para simplemente visualizar el video, solamente me permite previsualizar cuando se está capturando a un archivo. Lo que me gustaría es un programa para poder visualizar el video (y escuchar el audio, también ![Smile :)](https://solocodigo.com/Smileys/solocodigo/smile.gif) ), que me permita poner a pantalla completa, es decir, algo solamente para ver la captura ![Smile :)](https://solocodigo.com/Smileys/solocodigo/smile.gif) . Busqué entre los programas que tengo para reproducción y ninguno me permite elegir como fuente la tarjeta de captura. Gracias ![Smile :)](https://solocodigo.com/Smileys/solocodigo/smile.gif) .
5
« en: Martes 31 de Marzo de 2009, 09:02 »
Me han dado una memoria USB marca Kingston que se ha vuelto de solo lectura, la memoria no tiene selector para establecer esta opción, sin embargo, en la computadora no se puede editar, eliminar ni crear ningún archivo pues muestra el error de que el dispositivo es de solo lectura (probé en Windows Vista y en Ubuntu). ¿A alguien le ha pasado esto? ¿Saben si existe alguna forma de configurar desde software? O simplemente es que la memoria se ha dañado ![Tongue :P](https://solocodigo.com/Smileys/solocodigo/tongue.gif) . Gracias de antemano ![Smile :)](https://solocodigo.com/Smileys/solocodigo/smile.gif) .
6
« en: Martes 24 de Marzo de 2009, 07:53 »
Qué tal amigos, estoy realizando una aplicación de procesamiento de video, para ello estoy utilizando AVICap. De hecho, ya he realizado lo que intento hacer, con C (sin AVICap) y con VB.NET, sin embargo, por motivos didáctivos me han pedido lo implemente también en VB 6 :p. El problema es que de VB no conozco demasiado, y tengo problemas para poder configurar la función "callback" que se ejecutará al momento de que la cámara se actualiza con el siguiente frame. En VB.NET lo estoy haciendo así (lo tomé de otro código que encontré): Módulo: Delegate Function CallBackDelegate(ByVal hwnd As IntPtr, ByRef lpVhdr As VIDEOHDR) As IntPtr Declare Function SendMessage Lib "user32.dll" Alias "SendMessageA" (ByVal hWnd As IntPtr, ByVal msg As Integer, ByVal wParam As IntPtr, ByVal lParam As CallBackDelegate) As IntPtr Public Structure VIDEOHDR Dim lpData As Integer '// address of video buffer Dim dwBufferLength As Integer '// size, in bytes, of the Data buffer Dim dwBytesUsed As Integer '// see below Dim dwTimeCaptured As Integer '// see below Dim dwUser As Integer '// user-specific data Dim dwFlags As Integer '// see below <VBFixedArray(3)> Dim dwReserved() As Integer '// reserved; do notuse} End Structure
Clase del form principal: Public Class frmCaptura Dim hwdc As Integer Dim conectado As Boolean Dim g As Graphics Private delCallBack As CallBackDelegate = New CallBackDelegate(AddressOf procesaFrame) Private Sub btnIniciar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnIniciar.Click Dim res As Integer hwdc = capCreateCaptureWindow("Captura Cámara", WS_CHILD Or WS_VISIBLE, 0, 0, 320, 240, picCaptura.Handle.ToInt32, 0) If (hwdc <> 0) Then res = SendMessage(hwdc, WM_CAP_DRIVER_CONNECT, 0, 0) res = SendMessage(hwdc, WM_CAP_SET_PREVIEW, 1, 0) res = SendMessage(hwdc, WM_CAP_SET_PREVIEWRATE, 60, 0) conectado = True ' Configura callback res = SendMessage(hwdc, WM_CAP_SET_CALLBACK_FRAME, New IntPtr(0), delCallBack) Else MsgBox("No se encontró dispositivo de captura") End If End Sub ... Private Function procesaFrame(ByVal hwnd As IntPtr, ByRef lpVHdr As VIDEOHDR) As IntPtr ... End Function
¿Alguien sabría cómo hacerlo en VB 6? De hecho, ya tengo un avance, pero me gustaría saber si alguien ya lo ha hecho y que pudiera echarme una mano ![Smile :)](https://solocodigo.com/Smileys/solocodigo/smile.gif) . Por el momento ya los estoy convenciendo de trabajar con .NET (con VB o C#, que lo manejo mejor), ya que con C/C++ por el momento nop (este si lo domino :p). Gracias.
7
« en: Martes 13 de Enero de 2009, 01:07 »
Qué tal, recién le estoy echando un vistazo a OpenGL, estoy checando unos ejemplos de la Superbiblia ![Smile :)](https://solocodigo.com/Smileys/solocodigo/smile.gif) . Tengo un problema, el siguiente código: // Points.c // OpenGL SuperBible // Demonstrates OpenGL Primative GL_POINTS // Program by Richard S. Wright Jr. #include "../../shared/gltools.h" // OpenGL toolkit #include <math.h> #include <cstdio> // Define a constant for the value of PI #define GL_PI 3.1415f // Rotation amounts static GLfloat xRot = 0.0f; static GLfloat yRot = 0.0f; // Called to draw scene void RenderScene(void) { GLfloat x,y,z,angle; // Storeage for coordinat // Save matrix state and do the rotation glPushMatrix(); glRotatef(xRot, 1.0f, 0.0f, 0.0f); glRotatef(yRot, 0.0f, 1.0f, 0.0f); // Call only once for all remaining points glBegin(GL_POINTS); z = -50.0f; for(angle = 0.0f; angle <= (2.0f*GL_PI)*3.0f; angle += 0.1f) { x = 50.0f*sin(angle); y = 50.0f*cos(angle); // Specify the point and move the Z value up a little glVertex3f(x, y, z); z += 0.5f; } // Done drawing points glEnd(); // Restore transformations glPopMatrix(); // Flush drawing commands glutSwapBuffers(); } // This function does any needed initialization on the rendering // context. void SetupRC() { // Black background glClearColor(0.0f, 0.0f, 0.0f, 1.0f ); // Set drawing color to green glColor3f(0.0f, 1.0f, 0.0f); } void SpecialKeys(int key, int x, int y) { if(key == GLUT_KEY_UP) xRot-= 5.0f; if(key == GLUT_KEY_DOWN) xRot += 5.0f; if(key == GLUT_KEY_LEFT) yRot -= 5.0f; if(key == GLUT_KEY_RIGHT) yRot += 5.0f; if(key > 356.0f) xRot = 0.0f; if(key < -1.0f) xRot = 355.0f; if(key > 356.0f) yRot = 0.0f; if(key < -1.0f) yRot = 355.0f; // Refresh the Window glutPostRedisplay(); } void ChangeSize(int w, int h) { GLfloat nRange = 1000.0f; // Prevent a divide by zero if(h == 0) h = 1; // Set Viewport to window dimensions glViewport(0, 0, w, h); // Reset projection matrix stack glMatrixMode(GL_PROJECTION); glLoadIdentity(); // Establish clipping volume (left, right, bottom, top, near, far) if (w <= h) glOrtho (-nRange, nRange, -nRange*h/w, nRange*h/w, -nRange, nRange); else glOrtho (-nRange*w/h, nRange*w/h, -nRange, nRange, -nRange, nRange); // Reset Model view matrix stack glMatrixMode(GL_MODELVIEW); glLoadIdentity(); } int main(int argc, char* argv[]) { glutInit(&argc, argv); glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH); glutCreateWindow("Points Example"); glutReshapeFunc(ChangeSize); glutSpecialFunc(SpecialKeys); glutDisplayFunc(RenderScene); SetupRC(); glutMainLoop(); return 0; }
Dibuja unos puntos en espiral y permite mover la perspectiva con las flechas del teclado, lo probé hace algunas semanas, y funcionaba muy bien, pero hoy intento de nuevo y ahora al intentar mover, el dibujo anterior no se borra, sino que las nuevas posiciones se van sobreponiendo a las anteriores, quedando todo encimado tras intentar mover varias veces. ¿Alguien sabe si es posible modificar esto en código? Porque por ahora mi única idea es algo con drivers o versión de alguna librería, acabo de instalar la última versión de DirectX pero no sé si tenga algo que ver con esto. Gracias de antemano por cualquier ayuda que puedan darme ![Smile :)](https://solocodigo.com/Smileys/solocodigo/smile.gif) .
8
« en: Martes 27 de Noviembre de 2007, 05:15 »
Para realizar una interfaz por puerto USB he utilizado un controlador de la empresa Microchip, la cual provee un conjunto de funciones en una DLL para crear la aplicación cliente en la PC, la he utilizado con éxito tanto en VB como con VC++. Pero, ahora el interés está en realizar una interfaz vía web, para lo cual estoy revisando con qué herramientas puedo trabajar, me gustaría saber si es posible cargar una DLL desde ASP (en PHP no es posible a menos que fuera un objeto COM, lo que no es el caso), y si es posible, cómo hacerlo ![Smile :)](https://solocodigo.com/Smileys/solocodigo/smile.gif) . Cualquier ayuda es bienvenida, gracias de antemano.
9
« en: Miércoles 29 de Agosto de 2007, 23:28 »
Recientemente adquirí un equipo nuevo con Windows Vista Home Premium, al intentar instalar cualquiera de las versiones Express 2005 de VS obtengo el error que se muestra en la imagen, he buscado información pero no logro resolver el problema, ¿alguien me puede echar la mano?
10
« en: Jueves 12 de Julio de 2007, 16:53 »
Qué tal, estoy por iniciar un trabajo en el que necesitaré capturar imágenes de una cámara web para luego procesarlas. En la escuela han hecho trabajos similares y se ha empleado MATLAB o LabVIEW para ello, en un principio haré uso de MATLAB, tanto para la captura como para desarrollar los algoritmos de procesamiento. Sin embargo, mi intención es independizarme de MATLAB y hacer uso de un lenguaje de programación como C/C++ o C# (lo estoy aprendiendo), para lo cual les consulto ![Smile :)](https://solocodigo.com/Smileys/solocodigo/smile.gif) . ¿Conocen de librerías/funciones que me ayuden a la obtención de imágenes (estáticas o "streaming" de video) de una cámara web? Lo que busco en si es conseguir la mayor velocidad posible, ya que no sé qué tanto pueda llegar a optimizar mis algoritmos (je, es la primera vez que enfrentaré algo así ![Biggrin :D](https://solocodigo.com/Smileys/solocodigo/biggrin.gif) ). Por ahora he probado con WIA (Windows Image Acquisition), que la vi mencionada en un artículo de Coding4Fun, aún no modifico el programa de ejemplo pero me pareció muy lenta (el programa obtiene la imagen y la muestra en un form), esto usando C#. Muchas gracias de antemano ![Biggrin :D](https://solocodigo.com/Smileys/solocodigo/biggrin.gif) . (Coloqué este mismo tema en "Dudas informáticas", pero creo que me equivoqué de lugar, es más adecuado aquí ![Tongue :P](https://solocodigo.com/Smileys/solocodigo/tongue.gif) , mil disculpas).
11
« en: Sábado 14 de Abril de 2007, 06:35 »
Qué tal, recién me he dado cuenta de que cuando creo una nueva aplicación con Visual C# Express no me aparecen las dos configuraciones "clásicas" de los proyectos VS: Debug y Release, de hecho, no aparece el menú "Configuration Manager..." dentro de Build, ¿alguien sabe la razón, o cómo hacerle para crear diferentes configuraciones para un proyecto?
El único proyecto en el que me aparece "por defecto" es en el template SpaceWar de XNA, pero no logro habilitarlo para otros proyectos.
12
« en: Jueves 28 de Diciembre de 2006, 06:19 »
Qué tal, tengo problemas para poder actualizar una clave del registro de Windows. Este es mi código: TCHAR buffer[ MAX_PATH ]; wsprintf( buffer, L"ControlPanel\\Desktop" );
HKEY hKey; LONG open;
open = RegOpenKeyEx( HKEY_CURRENT_USER, buffer, 0, KEY_WRITE, &hKey );
if ( open != ERROR_SUCCESS ) { showError(); //return false; }
RegSetValueEx( hKey, L"WallpaperStyle", 0, REG_SZ, (LPBYTE)"0", lstrlen( L"0" ) + 1 ); RegSetValueEx( hKey, L"TileWallpaper", 0, REG_SZ, (LPBYTE)"0", lstrlen( L"0" ) + 1 );
Pero no logro que las claves se actualicen, siempre conservan su valor. El único detalle que he encontrado es que en la variable open me aparece un valor de error que con la función showError() me muestra Error 183: No se puede crear un archivo que ya existe.. Lo que no entiendo es porqué indica eso si se supone que la función RegOpenKeyEx no crea la clave sino simplemente la abre: Remarks Unlike the RegCreateKeyEx function, the RegOpenKeyEx function does not create the specified key if the key does not exist in the registry.
La función showError: void showError() { TCHAR szBuf[80]; LPVOID lpMsgBuf; DWORD dw = GetLastError(); FormatMessage( FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM, NULL, dw, MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), (LPTSTR) &lpMsgBuf, 0, NULL ); wsprintf( szBuf, L"Error %d: %s", dw, lpMsgBuf ); MessageBox(NULL, szBuf, L"Error", MB_OK); }
Gracias de antemano ![Smile :)](https://solocodigo.com/Smileys/solocodigo/smile.gif) .
13
« en: Domingo 24 de Diciembre de 2006, 23:54 »
Un saludo a todos los visitantes/miembros/colaboradores del foro, sobretodo a los que ahorita encontré conectados: JuanK (amigo, te aseguro que voy a hacer lo del reto de animaciones, pero los profesores no aflojan la soga todavía, nisiquiera en vacaciones ![Sad :(](https://solocodigo.com/Smileys/solocodigo/sad.gif) ), su-, Enko y Eternal Idol ![Smile :)](https://solocodigo.com/Smileys/solocodigo/smile.gif) . ¡FELICIDADES! Espero nos sigamos viendo por aquí durante el próximo año ![Smile :)](https://solocodigo.com/Smileys/solocodigo/smile.gif) . JJ (Geo).
14
« en: Miércoles 15 de Noviembre de 2006, 06:51 »
Qué tal, estoy graficando algunas señales sencillas, como: t = -2 * pi : 0.1 : 2 * pi; x = exp( t ); plot( t, x );
Puedo graficar fácilmente su inversión en el tiempo mediante: O aplicarla explícitamente a la variable mediante: Pero mi problema es que me gustaría saber de qué forma puedo guardar la función de transformación y aplicarla cuando la requiera, por ejemplo, para evaluar la linealidad de un sistema cuya respuesta sea: y_t = x( t + 2 ) + x( 2 - t )
Lo que hasta ahora hago es: x1 = exp( t + 2 ); x2 = exp( 2 - t ); y = x1 + x2;
Pero de esta forma es complicado aplicar propiedades como la superposición (aditividad + escalabilidad) para determinar si el sistema es lineal. O también, no lo hago bien y alguien sabe cómo se hace esto, ojalá puedan echarme una mano ![Smile :)](https://solocodigo.com/Smileys/solocodigo/smile.gif) . Saludos, JJ (Geo).
15
« en: Viernes 22 de Septiembre de 2006, 06:47 »
Hoy al encender la computadora, tras unos minutos se congeló indicando que Windows se bloqueó por un problema de hardware, al apagarla apareció algo de recuperación del BIOS y se apagó. Al encenderla nuevamente ya de plano ni los mensajes del BIOS salieron, y ya no arranca.
Hace poco instalé un disco duro nuevo (de hecho, en este reinstalé Windows y lo estaba usando ahora como el principal), pero no creo que la cosa vaya por allí porque el BIOS supongo que debería funcionar (a menos que el disco duro hubiera ocasionado la falla al arrancar el sistema, pero no creo :?). Entonces, lo que pienso es que tendré que cambiar la tarjeta madre, ¿creen que sea así o creen que haya otra causa de la falla?
Saludos, JJ (Geo).
16
« en: Sábado 16 de Septiembre de 2006, 22:18 »
He estado buscando (sin éxito), un editor que sea un poco más accesible que Ultraedit, el cual me ha parecido excelente. Lo usaría principalmente para trabajar con PHP, he probado ya varios editores gratuitos especializados en PHP, otros multilenguaje pero ninguno me ha convencido, en serio que este es realmente bueno (pero US$40.00 se me hace un poco elevado, aunque si no estuviera en la escuela lo compraría ![Tongue :P](https://solocodigo.com/Smileys/solocodigo/tongue.gif) ). Las características más importantes que busco son las siguientes: - Resaltado de sintaxis (jeje, obvio
).</li> - Autocompletado de código (Ultraedit no lo tiene, pero vendría bien).</li>
- Formato de fin de línea Unix <-> DOS.</li>
- Buen soporte de UTF-8 (con "buen" me refiero a que la opción de convertir realmente funcione, probé algunos que supuestamente realizaban la conversión pero el archivo continuaba sin cambios :?).</li>
- Manejo de proyectos.</li>
La mayoría de los que probé y me gustaron no me sirvieron por carecer de soporte para UTF-8. Saludos, JJ (Geo).
17
« en: Sábado 16 de Septiembre de 2006, 18:58 »
Al inicar sesión en Windows, me muestra un mensaje diciendo "Tiene X mensajes sin leer", supongo que está asociado con mi cuenta de correo de Hotmail (o Passport, o lo que haya sido), no sé en qué momento activé eso pero quiero quitarlo. ¿Alguien me puede echar una mano?
Saludos, JJ (Geo).
18
« en: Sábado 2 de Septiembre de 2006, 23:57 »
Qué tal, tengo en mi PC un solo disco duro IDE de 80 GB, si, es poquito ![Tongue :P](https://solocodigo.com/Smileys/solocodigo/tongue.gif) . Por eso acabo de comprarme uno nuevo SATA de 250 GB, y me gustaría me comentaran cómo es que puedo agregarlo pues ahora que lo he colocado no lo veo en Windows (XP). Lo que hice es ir a Mi PC -> Administrar -> Administrador de discos (o algo así), buscarla, la muestra como espacio No asignado. ¿Bastará con darle a crear nueva partición? Supongo que sí, es sólo que ya no le dí (y ahorita estoy en Linux ![Tongue :P](https://solocodigo.com/Smileys/solocodigo/tongue.gif) . Por cierto, ¿alguien sabe cómo se haría desde Linux?). Mi otra idea es usar este nuevo disco como principal, reinstalando mi WinXP, montar el primero (IDE) como secundario, copiar mis datos y luego deshecharlo o formatearlo y usarlo todo para Linux (je, tengo unos meses usando Ubuntu y los 8 GB que le dejé ya se me quedaron cortos ![Tongue :P](https://solocodigo.com/Smileys/solocodigo/tongue.gif) ). Aquí mi única duda es cómo hacer que mi PC reconozca al disco SATA como el primario, ¿es automático o cómo? Es que según dice esta cosa ya no se usan los "jumpers" ![Tongue :P](https://solocodigo.com/Smileys/solocodigo/tongue.gif) . Saludos, JJ (Geo).
19
« en: Martes 18 de Julio de 2006, 17:17 »
Qué tal amigos, estoy actualizando un pequeño script con PHP y estoy pensando en incluir una opción que permita seleccionar el idioma de la interfaz.Tenía pensado guardar los textos en archivos .php, uno por cada idioma, y colocar allí las variables con los textos. Ahora, estoy buscando si existirá por allí alguna clase o librería que permita trabajar con traducciones, al estilo de gettext, la cual me gusta mucho, pero en mi caso me gustaría trabajar solo con archivos de texto (es decir, sin compilar), ya que entre los textos no se encontrarán sólo mensajes del sistema, sino mensajes que puedan ser personalizados por el administrador. Por ahora tengo algo como: $strErrorFileNotFound = "File not found"; $strGoBack = "Go back"; $strSend = "Send";
y probando también he usado: $str[ 'ErrorFileNotFound' ] = 'File not found'; $str[ 'GoBack' ] = 'Go Back';
¿Conocen una mejor opción? Como dije, me encantaría algo al estilo de gettext pero que trabajara con archivos de texto, no compilados. Saludos, JJ (Geo).
20
« en: Miércoles 8 de Marzo de 2006, 03:14 »
Qué tal, estoy tratando de hacer funcionar ghdl y gtkwave para simular algunos ejemplos de VHDL en Linux, hasta ahora ghdl parece no darme problemas pues compilo sin errores, sin embargo, al intentar visualizar las formas de onda del testbench con gtkwave no me muestra nada en el archivo exportado desde la ejecución de ghdl, ¿alguien ha usado estas herramientas? Ojalá pudieran pasarme alguna referencia o guía ![Smile :)](https://solocodigo.com/Smileys/solocodigo/smile.gif) . Saludos, José Jorge (Geo).
21
« en: Miércoles 8 de Marzo de 2006, 03:08 »
Qué tal, yo hice hace algún tiempo una aplicación en VB (bastante simple) en la que manipulaba el puerto paralelo haciendo uso de una DLL; también, conozco las funciones outportb del TurboC que funcionan en DOS. Pero ahora que a últimas fechas he tenido la oportunidad de probar Linux (uso Ubuntu), me he preguntado cómo es que en este sistema se podría hacer algo similar. He visto mencionada en algunas partes algo sobre una "parport API" e, inclusive, vi algún código (en C) usando la biblioteca del sistema, mi pregunta es: ¿alguien ha realizado alguna aplicación en Linux en la que manipule algún puerto (el paralelo por ejemplo)? ¿Podrían pasarme algunas referencias? Aclaro que por ahora no estoy haciendo nada (estoy enfrascado aprendiendo VHDL), es mera curiosidad ![Biggrin :D](https://solocodigo.com/Smileys/solocodigo/biggrin.gif) . Saludos, José Jorge (Geo).
22
« en: Miércoles 8 de Febrero de 2006, 06:17 »
Qué tal, recién empiezo un curso en el que usaremos VHDL, por ahora estoy comenzando a leer y ojalá puedan ayudarme con un par de ejercicios. En el libro que estoy leyendo (en el capítulo dedicado a las setencias secuenciales), se pide implementar un multiplexor 2-1 utilizando la sentencia CASE. Ya hice el multiplexor con una sentencia when en una asignación, pero no logro que me funcione usando la sentencia case, tengo esto: library ieee; use ieee.std_logic_1164.all; entity multiplexor is port( entrada0, entrada1: in std_logic; selector: in std_logic; salida: out std_logic ); end multiplexor; architecture comp_multiplexor of multiplexor is begin -- con esto funciona -- salida <= entrada0 when selector = '0' else entrada1; -- pero aquí no case selector is when '0' => null; when '1' => null; end case; end data_flow;
¿Qué es lo que estoy haciendo mal? No sé si no pueda usar '0' y '1' para las selecciones, me gustaría que me comentaran al respecto. Por ahora estoy usando el simulador Simili Sonata 3. También, tengo problemas con otro ejercicio, pero estoy seguro que la solución es la misma, se trata de un decodificador 2x4 implementado también con una sentencia case (y con una if), no sé si se pueda hacer esto: entity dec24 is port( entrada: in std_logic_vector( 1 downto 0 ); salida: out std_logic_vector( 3 downto 0 ); ... ); end dec24; architecture arch of dec24 is begin ... case entrada is when B"00" => ... when B"01" => end case; ... end arch;
Me refiero a las opciones B"00" y B"01", ¿es correcto hacerlo? En este mismo ejemplo, ¿esta instrucción será válida? salida <= ( 0 => '1', others => '0' );
La pretendo usar para poner en 1 el bit deseado y los demás en 0 explícitamente. Gracias de antemano por cualquier comentario. Saludos, José Jorge (Geo).
23
« en: Jueves 25 de Agosto de 2005, 00:01 »
Qué tal, me gustaría saber si hay alguna forma de lograr compilar el siguiente código (o similar): struct Estructura { int a; int b; }; Estructura newEstructura(int, int); int main() { Estructura arrayDeEstructuras = { newEstructura(0, 1), newEstructura(1, 1) }; return 0; } Estructura newEstructura(int _a, int _b) { Estructura estructura = {_a, _b}; return estructura; }
Resulta que el compilador de VC++ (versión 6) me da error al tratar de crear arrayDeEstructuras usando la función newEstructura (por supuesto, puedo crearlo agregando cada campo en lugar de usar la función), sin embargo, este mismo código lo he compilado con MinGW (con Dev-C++) sin problemas, ¿alguien sabe si es posible copilar dicho código desactivando (o activando) alguna opción del compilador? ¿O simplemente no se puede? Gracias de antemano ![Smile :)](https://solocodigo.com/Smileys/solocodigo/smile.gif) . Saludos, José Jorge (Geo).
24
« en: Viernes 14 de Enero de 2005, 23:56 »
Bien, creo que se podría abrir un pequeño post con información general sobre Allegro, comenzando con la instalación ![Smile :)](https://solocodigo.com/Smileys/solocodigo/smile.gif) . InstalaciónDev-C++Se puede instalar esta librería de manera muy sencilla con Dev-C++, gracias a que se cuenta con un DevPak: simplemente abrimos Dev-C++, vamos a Herramientas-> Actualizaciones, se abrirá el WebUpdate, ahí seleccionamos Check for updates, esperamos un poco a que aparezcan las actualizaciones disponibles, buscamos Allegro, lo seleccionamos y descargamos. Después de eso ya tendremos Allegro lista para usarse. Este DevPak también está disponible en descarga desde la página http://www.devpaks.org. Pero también se tiene la manera "tradicional", que es descargarse Allegro y compilarla uno mismo, en esta página pueden encontrar instrucciones detalladas: Instalación de Allegro usando Dev-C++DJGPPPor si alguien se interesa en este compilador (sólo funciona para DOS, no es recomendable si trabajas en Windows pero puede interesarle a alguien ![Smile :)](https://solocodigo.com/Smileys/solocodigo/smile.gif) ). Instalación Allegro y DJGPPVisual C++En esta página encuentran instrucciones para instalar y utilizar Allegro usando Visual C++: Cómo usar Allegro con Visual C++ 6.0Aprendiendo a usar AllegroPara empezar a manejar la librería, aquí tienen algunos enlaces interesantes: Primeros pasosProgramación gráfica con Allegro y AllegroGLTutorial muy completo que cubre prácticamente todos los aspectos de Allegro de manera muy similar al famoso tutorial Allegro Vivace. Saludos, José Jorge (Geo).
25
« en: Viernes 2 de Julio de 2004, 18:32 »
Clásico juego del Pong creado con Allegro siguiendo este tutorial: How to make a Pong game. Lo modifiqué un poco poniendo el nombre de las funciones y variables en español (para que se entienda mejor ![Tongue :P](https://solocodigo.com/Smileys/solocodigo/tongue.gif) ), además de cambiar algunas funciones (como quitar textout usando itoa ya que no es una función estándar que venga con MinGW, en su lugar usé la función textprintf_ex). Por último, el código está actualizado a la versión 4.1.xx WIP de Allegro (yo usé la 4.1.14 para compilar, pero con cualquiera de la ramma 4.1.xx WIP debiera funcionar). Incluyo el archivo de proyecto para Dev-C++. Autor: José Jorge Enríquez (Geo) http://www.geosoft.tk
|
|
|