|
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 - JuanK
Páginas: 1 ... 219 220 [221] 222 223 ... 231
5501
« en: Lunes 28 de Abril de 2003, 21:39 »
antes de acabar el programa debes colocar allegro_exit(); para cerciorarte de que te este cerrando todo...normalmente no es necesario.
asegurate que al final del main este: int main() {
} END_OF_MAIN();
Es probable que se deba a alguna particularidad de tu adaptador de video, para lo cual deberias hacer pruebas, primero corriendo el programa a resoluciones menores ej 320*200 y luego irla subiendo hasta 1024*768 todo a 16 bit de color, si todo salio bien, comienza a hacer las pruebas con otras profundidades de solor , segun sea a 24 o 32 bit..debes estar atento los modos que soporta tu tarjeta..de este modo te fijas a partir de que caracteristicas tu tarjeta podria fallar.
Por cierto como recomendacion trabaja siempre con una frecuencia de barrido de 60 hz Suerte.
Juank
5502
« en: Lunes 28 de Abril de 2003, 17:12 »
http://guille.costasol.net/NET/cursoCSh ... /index.htmesta super bueno, comienza desde los conceptos basicos, todavia nada de ventanas ni esas cosas..todos los ejemplos hasta el momento son en aplicaciones por consola, pero es mejor asi para no enrredarce copn lo de herencia, polimorfismo, sobrecargas...etc... sin embargo siquieres puedes tambien ir haciendo algo con ventanas, ya que es muy parecido a la interfaz de Visual Basic chau Juank
5503
« en: Lunes 28 de Abril de 2003, 16:28 »
Yo he escuchado algo parecido, y no es uq eVb este acabado..nada mas mira cuantos lo usan en este foro, lo que sucede es que segun lo expertos, ha empezado una migracion de los usuarios debido a que cuando incursiono v basic . net los desarrolladores de VB se dieron cuanta que tenian casi que volver a reaprender visual basic, y muchos de ellos, entre los cuales me incluyo, decidieron en que vez de aprender otra version de basic desde 0, era preferible medircele a un lenguaje más potente de una vez, asi que en vez de aprender visual basic.NET, muchos hemos preferido actualizarnos y aprender lo ultimo.. Visual C#.Net.. Java seria bueno si ya lo majejas..pero recuerda que segun los expertos C# terminara desplazando a java tambien... consulta en las paginas de intyernet correspondientes,...sun, microsoft y obviamente paginas relacionadas con el tema que no tengan nada que ver con las dos empresas. C# tiene integrado un fuerte complemento xml para documentacion, ademas en tan solo 3 años se ha posicionado como uno de los lenguajes de vanguardia para el desarrollo web, y su potencial para aplicaciones windows tambien es altisimo, al usar .NET framework posee una amplia variedad de clases que hacen de las conexiones de datos una tarea mucho mas sencilla(ya me sono a publicidad). En lo personal , he probado C# y esta de lujo!!!...te lo recomiendo. Juank
5504
« en: Lunes 28 de Abril de 2003, 16:14 »
OK.. gracias ahora si ya no me podran decir que siempre olvido los include.
jejeje :p
5505
« en: Lunes 28 de Abril de 2003, 15:50 »
gracias lo revisare.
5506
« en: Lunes 28 de Abril de 2003, 05:55 »
Hola amigos tengo una dudita.. como inserto codigo de assembler en el djgpp?, utilizo el rhide 1.5 junto con djgpp, y he tratado de hacerlo como se hace en borland pero me salen solo errores.. quiseiera que me colaboraran.. hay alguna opcion adicional que se deba introducir para trabajar codigo assembler con el rhide?
Gracias por su ayuda.
Juank
5507
« en: Lunes 28 de Abril de 2003, 05:31 »
C# se utiliza para muchos tipos de desarrollo. Inicialmente se ha venido utilizando para desarrollos web, pero es un lenguaje con potencial de sobra para apliaciones de escritorio o mas bien orientadas a pc o servidor, Cuando ingreso Visual studio.net, se genero tambien una secuela de vBasic, pero segun la opinion de muchos gurus, vc#.net a venido desplazando lentamente a visual basic..claro que tardara mucho mas tiempo en desplazar a una plataforma tan acogida duranta tantos años, peo se alega que la principal desventaja de Vbasic respecto a c# es que los usuario que se han tenido que actualizar a v.Net han tenido que aprender Visual basic de nuevo, porque no se parece mucho a sus verdiones enteriores, asi que lo desarroladores han dicho: "Si me toca aprender de nuevo, prefiero aprender C# que es mas potente y no Visual Basic..ademas que volver a aprender lo mismo pero diferente...me aburre".... Para todo lo que sirve c++ sirve c#, la utilizacion de directX en su version 9.0 es mucho más sencilla de manejar desde esta plataforma, ya hay muchos comentarios acerca de esto en la Web. Pese a que .NET te ofrece soporte para gran cantidad de lenguajes, c# se a convertido en el lenguaje estrella de .NET “Muchos dicen que si Java se puede considerar un C++ mejorado en cuestiones de seguridad y portabilidad, C# debe entenderse como un Java mejorado en todos los sentidos: desde la eficiencia hasta la facilidad de integración con aplicaciones tan habituales como Microsoft Office o Corel Draw.” (El rincón en español de C#, http://manowar.lsi.us.es/~csharp/) Lenguaje evaluado: No entiendo mucho acerca de esto, pero es lo que he averiguado, seguramente que sino es compilado ni interpretado debe ser algo intermedio entre estos dos puntos, algo parecido a lo que es java, ya que se supone que con :net framwork no miporta en que sistema corras tu prgrama te debe funcionar, porque es independiente del sistema operativo. chau
5508
« en: Lunes 28 de Abril de 2003, 01:48 »
nom se como responder a tu pregunta, porque no se que nivel de programacion tienes, y no qiero ser muy general ni tampoco quiero hacerte perder tiempo si eres muy principiante.
5509
« en: Lunes 28 de Abril de 2003, 00:20 »
esta pregunta era mas conveniente que la hicieras en el foro de videojuegos. Lo que te han dicho es cierto, ersulta que cuando estas dibujando en la pantalla, no estas dibujando directamente sobre ella, ya que la pantalla actualiza su contenido cada x cantidad de tiempo, este tiempo por lo general 60 veces por segundo, asi que si estas dibujando en la pantalla en el preciso instante que se esta haciendo el barrido de rayos, el resultado sera un parpadeo, puesto que adicional al refresco que ella hace, le estas obligando a dibujar en otra locacion. Solucion: Debes esperar a que pase el barrido de la pantalla, y luego si dibujar lo tuyo..como? elaborar una funcion en assembler es una buena alternativa, o utilizar una rutina de c. Por lo general no paso este codigo, puestio que me gusta motivar la investigacion, sin embargo lo voy a hacer esta vez: código en C void vsync_JK(void) //retrazado vertical { while(!((inportb(0x3DA) & 8)==8)); // Se esta haciendo barrido while(!((inportb(0x3DA) & 8)==0)); // No se esta haciendo barrido }
consulta que hace inportb en la documentaion libc, en este link hay una copia de libc si la quieres bajar, para que revices en este manual quie hace inportb.. http://juank-solocodigo.iespana.esPara el caso de turbo C puedes usar esto..aunque ahorita que probe no lo pude hacer en djgpp, asi que si alguien sabe...porfa. esto es assembler en turbo C superior al 2.0, hace lo mismo pero es que assembler es mucho más optimizado: void vsync_JK(void) //retrazado vertical { asm mov dx, 03DAh espera1: asm { in al, dx test al, 08h jnz espera1 } espera2: asm { in al, dx test al, 08h jz espera2 } }
Justo antes de que vuelvas a dibujar en pantalla llamas a la funcion y listo... claro que hay algo muy importante y es que esta es una tecnica basica, ai quieres algo más afectivo indaga acerca de la tecnica del doble buffer, page flipping o dirty rectangles, o incluso triple buffer. Sin embargo esto que te pase en codigo ya no se usa porque hay librerias que ya las traen hechas como por ejemplo allegro..echale una ojeada al foro de videojuegos aca en solocodigo. Es probable que tengas que configurar el compilador para que te compile assembler: en compilador borland entra al menu Options> Compiler> Advanced Code Generation > Instruction Set y activa el soporte de instrucciones para 80286. Suerte.
5510
« en: Domingo 27 de Abril de 2003, 22:54 »
recuerda que un array es una direccion de memoria, asi que no puedes hacer la copia de esa manera, lo que debes hacer es un ciclo que recorra cada una de las posiciones del array y las asigne al otro array: int i; char nombre[20]; char nombre2[20]; for(i=0;i<20;i++) nombre[i]=nombre2[i];
no olvides inicializar el array con null antes de comenzar a utilizarlo, ya que por lo general captura garbage en el buffer, asi que has esto: for(i=0;i<20;i++) { nombre[i]=' '; nombre2[i]=' '; }
por suerte para ti esta funcion de copia ya esta implementa da en la libreria string, para lo cual deberas incluir el encabezado string.h... hay muchisisisimas funciones de este tipo pero la que tu necesitas es : strcpy(cadena, cadena2); esto te copia una cadena en la otra, sin embargo es bueno que revices la documentacion pues hay muchas funciones y cada se puede necesitar segun las necesidases asi que te invito a conocerlas, estas funciones ya se encuentran en libc, puedes obtener una copia del libc en la pagina donde tengo publicado los avancez de la aplicacion que te comente..en la parte de utilidades hay un link para download del libc. suerte.
5511
« en: Domingo 27 de Abril de 2003, 11:22 »
esta pregunta deberias de haberla hecho en el foro general o en el foro de "dudas acerca del funcionamiento del foro", pero bueno: Lo que secude es que tu explorador tiene un problema con el cache de la página, asi que abre el explorador , ingresa al menu Herramientas>Opciones de Internet alli en la pestaña General hay un boton que te dice borrar archivos dale click, el explorer te pregunta si deseas borrar todo el contenido sin conexion, a lo cual deberas responder que si, y le das click en aceptar. Se guidamente observa si en tu pestaña General aparece el boton eliminar cookies, si en efecto te aparece, dale click, sino te aparece , no te preocupes. Ahora dale click al boton configurar, que se encuentra a la derecha de eliminar archivos, y selecciona la opcion actualizar cada vez que se ingresa a la pagina, le das aceptar a otodas las pantallas, cierra el explorador,espera unos 5 seg. y reinicia el explorador, entra a la pagina de solocodigo y has el login normalmente, no debes tener ya ningun problema, asi que vuelve al menu Herramientas>Opciones de internet, vas al boton configurar y seleccionas automaticamente, le das aceptar a todo y reincias tu explorador... Listo... Mucha suerte..
5512
« en: Domingo 27 de Abril de 2003, 01:04 »
en el modo texto cada pixel ...se podia decir que de alguna forma cada pixel se trabaja como una letra..en modo grafico cada picxel eslo que es ... un piexel, al ser esto asi claro que puedes colocar texto, pero no se hace de la misma manera por obvias razones, para el caso de trabajar con allegro, deberias usar: textout(); puedes averiguar en la documentacion de allegro, la cual se baja de la pagina de allegro, para capturar los datos... laverdad ahora que caogo en cuenta nunca lo he hecho capturando cadenas, pero lo mas seguro es que debas hacer una funcion para capturar los datos de una cadena en modo grafico, o usar algo de los GDI de allegro.. pero esto es mas avanzado. No es muy dificil de hacer ninguna de las dos, sobre todo la primera, pero debes ser paciente porque hasta ahora estas comenzando y te puedes ir de enrredos, sin embargo si quieres...intentalo!!!
Chau.
5513
« en: Domingo 27 de Abril de 2003, 00:43 »
utiliza gfxmode....para colocar la pantalla de nuevo a modo texto, o antes de realizar allegro_exit(); dale clear_bitmap(screen);
preferiria limpiamente cargar el modo texto.. observa como hice control de errores para inicializar el modo grafico, puedes hacerlo para el modo texto tambien, asi lo puedes correr paso por paso y mirar donde te da el error.
5514
« en: Domingo 27 de Abril de 2003, 00:24 »
si deseas puedes dejatr el bmp, y justo antes de empezar el programa has allegro_exit(); clrscr(); y vuelves al modo de trabajo normal... que porque??? porque si estas en el modo grafico no te funciona n las funciones que trabajan en modo texto, por obvias razones. otra alternativa es : set_gfx_mode(GFX_TEXT, 0, 0, 0, 0);
y asi te pasas al modo texto, pero no se si depues de esto ya operen tus funciones normales. Me cuentas porfa.. por cierto leiste el mensaje que te envie por U2U?
5515
« en: Sábado 26 de Abril de 2003, 23:23 »
Tienes razon, verdaderamente estaba ocupado cuando te pase el codigo ayer temprano, y olvide detallitos basicos, ya los inclui... debes tener presente cambiar la profundidad del color de acuerdo a lo que soporte tu targeta grafica, no todas soportan color de 32 bit asi que deberias cambiarlo sino te sirve. #include<stdio.h> #include<allegro.h> int main() { BITMAP *logo; RGB *pal; allegro_init(); install_keyboard(); set_color_depth(32); if (set_gfx_mode(GFX_AUTODETECT, 1024,768, 0, 0) < 0) { set_gfx_mode(GFX_TEXT, 0, 0, 0, 0); allegro_message("No es posible iniciar el modo de video en ningun modonde color disponible en la implementaci½nn%s", allegro_error); readkey(); return 0;/*Inicializacion fallida.*/ } logo = load_bmp("allegro.bmp", pal); blit(logo,screen,0,0,0,0,logo->w,logo->h); /*blit: origen, destino, origenx, origeny, destinox, destinoy, ancho, alto*/ readkey(); return 1; } END_OF_MAIN();
me cuentas
5516
« en: Sábado 26 de Abril de 2003, 22:15 »
por eso respondi lo que respondi, pues es factible que ella este tratando de abrir un archivo de texto en modo binario, o viceversa, y puede que haya obtenido resultados inexperados, como caracteres raros en caso de que lea como binario algo de texto, o arrays con tamaños que no corresponde en el caso de que estuviera leyendo como texto un archivo que debiera ser leido binario..
El error puede no ser de sintaxis, ni en tiempo de diseño, lo más probable es que se le hubiese generado como un error en tiempo de ejecucion o como un programa que no proporciona la informacion que deberia.
Por cierto ese error de confundir c con c++ es muy comun, en especial cuando la mayoria de los compiladores aceptan extenciones c o cpp indistintamente para ambos lenguajes, y más aún cuando puedes progtramar en modo mixto, es decir un programa con c y c++ al tiempo... no estoy muy de acuerdo con esto, menos mal muchos de los mas recientes en windows ya no permiten estas opciones por defecto, en linux, generalmente el gcc generaria error incluso por compilar un programa cuyo fuente se escribiera con la extencion .c en masyuscula es decir ext .C, o por compilar un archivo de c++ con ext c generaria error, a no ser que como opcion se le pasara que ese es un archivo de c.
Juank
5517
« en: Sábado 26 de Abril de 2003, 22:10 »
digitaste mal el codigo el ancabezado es :
#include<allegro.h>
no alleg.h, alleg es la libreria que se va a enlazar y allegro.h es el archivo de encabezado que contiene las definiociones usadas en esa libreria. recuerda...la libreria se llama alleg.lib, para llamarla en el rhide lo colocas como alleg en >options>libraries y lo marcas con la x, adicionalmente debes incluir el encabezado con las deficionciones es decir al inicio del codigo
#include<allegro.h>
ahora si te debe servir....
suerte
5518
« en: Sábado 26 de Abril de 2003, 20:04 »
El programa esta bien, lo que sucede es que la bios te devuelve los 640 k de memoria de sistema, es decir no tiene nada que ver con los dispositivos adicionales de memoria que le coloques en los slots, asi aunque tengas 128 mb de ram te va a devolve esos 640k o un valor diferente dependiento del tipo de maquina. Seguramente que hay una forma de obtener la cantidad de memoria total, pero no debe ser con esa interrupcion.
5519
« en: Sábado 26 de Abril de 2003, 08:24 »
Amigo william, para la muestra un botón: Hace dos dias publique parte de un trabajo grafico que estoy haciendo en lenguaje C , lo publique en el foro de videojuegos, lo puedes ver aquicomo veras no es un trabajo execivamente complicado, de hecho no lo es, no estoy pidiendo nisiquiera corregir errores desde el codigo, tan solo mencionar lo que encuentren , sea malo o sea bueno. Pues como puedes ver tiene aproximadamente 45 visitas de las cuales + o - 15 son mias, nadie ha comentado absolutamente nada... me hubiese gustado recibir cosas como: -deberias mejorar la introduccion en esto y aquello -me sa le un error de video o de sonido -no hay manera de bajarle el volumen? esta MUY ALTO!!! -Como le hiciste? -como lo instalo? -no me gusta -En que esta hecho? -que no es mas facil flash? -porque ese cocodrilo tan payasin? -Tengo 2 equipos en uno es muy lento y en otro es muy rapido... Pero no, nadie me dijo nada..me hubiese contentado con un -como ejecuto el programa? -como descomprimo el archivo .rar -porque esa web tan fea?.. pero tampoco. No puedo negar que me siento algo incomodo al saber que todos los dias duermo solo 2:30 horas por estar programando y luego al trabajo y luego a la Universidad..todo para hacer un proyecto que se me ocurrio y que para mi es muy importante , pero que a nadie más le interesa en lo más minimo. Pero no puedo culpar a nadie, algunos no les intereso, habra otros que no lo pudieron correr y les dio pena preguntar, algunos creerian que es muy avanzado para ellos y que solo harian estorbo y otros lo habrian mirado posiblemente como algo demasiado simple para su gusto. Lo importante aqui es que veas que tenemos muchas cosas por hacer y que podemos hacerlas pero que aún representan una especie de tabú, lo que publique era algo sencillo, no demandaba ser un genio matematico o jugar con ecuaciones senos, y cosenos para hacer un efecto grafico interesante..NO para nada..y aun asi paso inadvertido y eso que publique accesos directos en el foro de c/c++ y en el de visual basic. Ya vez. Chau , Juank
5520
« en: Sábado 26 de Abril de 2003, 08:10 »
hola amigo solocodigo(o amigos, pues realmente no se cuantos sos). Quiero contarles que he tenido problemas con la publicacion de codigo en lenguaje c, ya que cuando escribo algo de include, no me sale completo ejemplo: #include<allegro.h> si lo escribo en el tag de formato de codigo queda: si tienes manera e verlo te daras cuenta de que no sale completo habiendo escrito lo mismo. Gracias.
5521
« en: Sábado 26 de Abril de 2003, 07:54 »
si interesa pero para abrir un nuevo foro, este tema es perfectamente tratable en cualquiera de los foros de programacion e incluso en el de programacion de videojuegos... ya hay bastante donde poner un tema de estos, el principal problema es que muchas personas "creen "no tener nivel para este tipo de cosas, y la verdad eso es cierto, observa el nivel de los foros y veras que por ejemplo el de c. tiene el nivel de.. "hazme la tarea" en su mayoria , y son muy contados los que se atreven a algo más avanzado..igualmente en el de visual basic donde tal vez hasta el 90 % de personas solo lo usan para trabajar bases de datos, lo cual es lo más comun comercialmente hablando, pero en general (ya que hay exepciones) no se llegan a tener retos altamente exigentes, y los que hemos llegado a tener son del tipo"hazme la nomina de una empresa"..
Seria muy interesanet abrir un foro de temas avanzados, pero en general creo que no estamos preparados aun para este foro y se desaprovecharia.
En fin la verdad espero no molestar a nadie con mis comentarios, es tan solo mi punto de vista y puede que este equivocado, trato de ser lo más objetivo posible.
suerte
Juank
5522
« en: Sábado 26 de Abril de 2003, 07:40 »
tu error es que no estas pasando todos los parametros a la funcion fopen();
origen=fopen(argv[1],"r");
preferiblemente debes especificar en que forma abres el archivo, es decir si es de texto o binario:
texto: origen=fopen(argv[1],"+t"); esto quiere decir: t= modo texto, + = se abre para lectura y escritura
si fuese binario en vez de t deberia ir b. tabla:
r abre solo lectura(read) w abre archivo para escritura(write) a abre un archivo en modo w, pero si no existe lo crea. t abre un archivo para usar en modo texto b abre un archivo para usar en modo binario + abre archivo para lectura escritura
conbinaciones posibles:
+t, +b, wt, wb, a t, ab, rt, rb
no olvides corrrer tu programa paso por paso e inspeccionar los valores de las variables para verificafr que no se te este colando basura en el argv[]... Tampoco olvides esto:
#include<stdio.h> en el encabezado.
espero que te haya sido de utilidad.
5523
« en: Sábado 26 de Abril de 2003, 07:22 »
para poder utilizar las funciones pow() y sqrt(), deberas incluir en el encabezado: #include<math.h> y adicion almente compilar el rpograma como sigue: gcc -o miprog.exe miprog.c -lmel -lm quiere decir que vas a linkar con la libreria de matematicas, si no lo usas, el programa te corre pero hace las cosas mal. Por otro lado tu algoritmo esta basicamente bien, pero cometes un error en la declaracion de variables, solo deberias de tener: long a, b; . . printf("%d",b);//con %ld te debe funcionar
hay que tener cuidado cuando defines los tipos, en especial si trabajas bajo unix o linux. Exitos.
5524
« en: Sábado 26 de Abril de 2003, 03:12 »
Si, la verdad tampoco trabajo mucho con las interrupciones, solo hace unos años cuando programaba en modo grafico bien por debajo, que me metia mucho con la famosa 13h.
lo de los include es un problema del foro , hablare con solocodigo pues nunca me sale .
suerte.
5525
« en: Viernes 25 de Abril de 2003, 21:57 »
como estandart uso los siguientes paquetes del djgpp, esta es una lista de loque tengo, verifica todo y me cuentas.
debes tener una lib dañada, por eso adjunto los tamaño tambien.
Páginas: 1 ... 219 220 [221] 222 223 ... 231
|
|
|