|
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 - JrcsDev
Páginas: 1 ... 7 8 [9] 10
201
« en: Martes 6 de Febrero de 2007, 06:43 »
Hola a todos... estaba probando un pequeño código sobre punteros, pero me da un error 204 de operación inválida con punteros... la verdad no sé donde está el error, aquí les dejo el código para que me ayuden... GRACIAS! Uses crt; var p,q: ^integer; Begin clrscr; NEW(p); new(q); p^:=2; q:=p; p^:=0; write(q^); readkey; dispose(p); dispose(q); End.
202
« en: Lunes 5 de Febrero de 2007, 01:27 »
ok, gracias por la aclaratoria  ahora voy a buscar el gcc, a ver qué tal me va...  Saludos
203
« en: Domingo 4 de Febrero de 2007, 21:19 »
Saludos mi gente... nunca me habia tomado tiempo para leer los posts de los demás usuarios, únicamente los que aparecen al principio del foro. TENGO UNA GRAN DUDA... ahora que lei algo sobre C Estándar, me entero que hay librerias que yo uso con un compilador de borland que no son standar  es decir, conio.h y stdio.h. Yo quisiera saber entonces si el lenguaje que yo uso es C++, o es C... el IDE dice Turbo C++, y es bajo ambiente DOS. Si no estoy usando el C estandas, quisiera saber donde lo consigo, y un IDE muy eficiente para tal lenguaje... Gracias amig@s!
204
« en: Viernes 2 de Febrero de 2007, 11:08 »
bueno, si quieres que el mundo gire como las agujas del reloj, o hacia la dirección opuesta, es fácil, ya sea con la propiedad _rotation de los objetos, o creando interpolación de movimiento. Pero si quieres que gire en 3D, con profundidad, usa un programa como swift3d, y luego lo exportas a flash....
205
« en: Viernes 2 de Febrero de 2007, 10:42 »
que tal? SI EXISTE una función de pascal que convierte directamente o STRING o CHAR, a INTEGER... la función es VAL.... VAL(String, Variable_Integer o Variable_Real, Variable_Integer); VAL(Char, Variable_Integer o Variable_Real, Variable_Integer);
Esa es la sintaxis... Donde dice Char o String, alli se puede colocar una variable, o una cadena de texto directamente. Donde dice Variable_Integer o Variable_Real debe ir obligatoriamente una variable de cualquiera de esos dos tipòs, porque allí se depositará el resultado de convertir la cadena o caracter en número. Donde dice Variable Integer al final, alli tambien debe ir obligatoriamente una variable de tipo ENTERO (INTEGER). En esta variable, la función VAL devuelve un número que nos especifica si se logró hacer la conversión... Ejemplo 1: Uses CRT; Var s: string; i,j: integer; Begin s:='12345'; val(s,i,j); End.
En este código como, la variable "s" es igual a "12345", y aunque es de tipo String, es una expresión numérica válida, por lo tanto la conversión será exitosa. La función Val arrojaría los siguientes valores: La variable "j" devuele como valor cero (0) porque no se produjo ningún error. Ejemplo 2: Uses CRT; Var s: string; i,j: integer; Begin s:='12345a'; val(s,i,j); End.
En este código como, la variable "s" es igual a "12345a", es de tipo String, y NO ES una expresión numérica válida, por lo tanto la conversión no se podrá realizar. La función Val arrojaría los siguientes valores: La variable "i" devuelve un valor cero (0) porque no se pudo realizar la conversión, ya que la variable "s" de tipo string no contenía una expresión numérica válida. La variable "j" devuele como valor uno (1) porque se produjo un error.
206
« en: Viernes 2 de Febrero de 2007, 09:57 »
Bueno, aclaro... en el primer mensaje coloqué el código que le faltaba la asignación de la memoria al puntero, y mientras yaG escribia la solución, yo de tanto probar encontré tambien que ese era el error, asi que publiqué la respuesta antes de que él publicara la suya...  eso fue lo que pasó, pero si era ese el error... me faltaba usar el malloc...
207
« en: Viernes 2 de Febrero de 2007, 09:16 »
bueno, de tanto leer, y probar... PROBLEMA RESULTO... =) aquí les dejo el código... #include<conio.h> #include<stdio.h> #include<stdlib.h> struct nodo { int inf; struct nodo *sgt; }; struct nodo *pila; void agregar(); void imprimir(); void eliminar(); char o=0; void main() { pila=(nodo *)malloc(sizeof(nodo)); pila=NULL; while (o!='4') { clrscr(); printf("MENU\n\n"); printf("\n(1) Agregar Nodo"); printf("\n(2) Eliminar Nodo"); printf("\n(3) Imprimir Pila"); printf("\n(4) Salir"); printf("\n\nOpcion: "); o=getch(); if (o=='1') agregar(); if (o=='2') eliminar(); if (o=='3') imprimir(); } } void agregar() { struct nodo *nuevo; int n=0; nuevo=(nodo *)malloc(sizeof(nodo)); clrscr(); printf("AGREGAR NODO\n\nIngrese un Numero: "); scanf("%d", &n); nuevo->inf=n; nuevo->sgt=NULL; if (pila==NULL) { pila=nuevo; } else { nuevo->sgt=pila; pila=nuevo; } } void imprimir() { struct nodo *aux; aux=(nodo *)malloc(sizeof(nodo)); clrscr(); printf("CONTENIDO DE LA PILA\n\n"); if (pila==NULL) { printf("La Pila esta vacia..."); } else { aux=pila; while (aux!=NULL) { printf("%d\n",aux->inf); aux=aux->sgt; } } getch(); } void eliminar() { clrscr(); struct nodo *aux; aux=(nodo *)malloc(sizeof(nodo)); if (pila!=NULL) { aux=pila; pila=pila->sgt; printf("Se ha eliminado el %d", aux->inf); free(aux); } else printf("La pila esta vacia..."); getch(); }
208
« en: Viernes 2 de Febrero de 2007, 08:01 »
Hey! que tal? tengo un problema. Estoy haciendo un programa de una pila, algo sumamente sencillo, pero como yo nunca vi esto en la universidad, y casi no vi C, leyendo manuales y gracias al internet, ya he aprendido algo. No sé que le pasa a este código, pero no me funciona eso de "if (pila=NULL)" para saber si la pila está vacia... ya sea para imprimirla o para alguna otra función.... les dejo aquí el código, y espero por su ayuda... GRACIAS! #include<conio.h> #include<stdio.h> typedef struct nodo { int inf; struct nodo *sgt; }; struct nodo *pila; void agregar(); void imprimir(); char o=0; void main() { pila=NULL; while (o!='4') { clrscr(); printf("MENU\n\n"); printf("\n(1) Agregar Nodo"); printf("\n(2) Eliminar Nodo"); printf("\n(3) Imprimir Pila"); printf("\n(4) Salir"); printf("\n\nOpcion: "); o=getch(); if (o=='1') agregar(); if (o=='3') imprimir(); } } void agregar() { struct nodo *nuevo; int n=0; nuevo=NULL; clrscr(); printf("AGREGAR NODO\n\nIngrese un Numero: "); scanf("%d", &n); nuevo->inf=n; nuevo->sgt=NULL; if (pila==NULL) { pila=nuevo; } else { nuevo->sgt=pila; pila=nuevo; } } void imprimir() { clrscr(); printf("CONTENIDO DE LA PILA\n\n"); if (pila==NULL) { printf("La Pila esta vacia..."); } else { printf("La pila si contiene elementos..."); } printf("\n%d", pila->inf); getch(); }
Este código es en Turbo C++... De momento solo necesito saber qué estoy haciendo mal, ya que no puedo determinar si la pila está vacia o no... espero por uds amigos... Gracias!
209
« en: Jueves 25 de Enero de 2007, 07:15 »
hey que tal... ??? no se que es dev pascal, pero en turbo pascal 7 yo usaba el mouse con una libreria, creo que mouse.pas. Tambien use el mouse a traves de las INTERRUPCIONES... Saludos
210
« en: Sábado 22 de Julio de 2006, 19:25 »
Gracias Amigos... es justo lo que necesitaba...  ... Se les agradece... Saludos...
211
« en: Sábado 22 de Julio de 2006, 00:03 »
Qué tal??? siempre he tenido algo de problemas con la memoria dinámica. Alguien puede mostrarme algunos fragmentos de códigos necesarios para entender estas cosas bien??? Lo que necesito es lo siguiente: - Código de la declaración del nodo - Código de la inicialización del nodo - Código para acceder a los campos del nodo He visto que se usa el signo ^ para los apuntadores, pero no recuerdo si el signo se regiere a la direccion o al valor, en casos donde colocan ^p.inf Espero que alguien puede ayudarme... Gracias
212
« en: Viernes 21 de Julio de 2006, 23:55 »
Saludos compañeros... he estado probando algunas cosas en modo gráfico, a través de la unidad GRAPH.TPU... El problema es que al utilizar SetActivePage o SetVisualPage, la pantalla no se presenta como debería... Por ejemplo, quiero mostrar un gráfico algo pesado... hago activa la pagina 0 y hago visual la 1: setactivepage(0); setvisualpage(1);
Luego que se genere el gráfico completo, entonces procedo a hacer visual la página 0, donde se dibujó el gráfico: Creo que en este orden todo deberia funcionar bien... pero sucede que mientras genero el gráfico, la mitad del gráfico aparece en la parte de arriba de la pantalla, como si estuviera vizualizándose la mitad de la página 0 arriba, y la mitad de la página 1 abajo... alguien sabe por qué pasa esto????  Saludos y gracias!
213
« en: Sábado 15 de Julio de 2006, 04:04 »
Como ya se ha dicho, para mayúscula es UPCASE... y solo convierte a mayúscula un caracter a la vez, por eso hay que usar un FOR en su implementación, y recorrer la cadena caracter por caracter para transformarla por completa... La verdad es que nunca he visto una función que haga eso en pascal, por eso tuve que hacer esta... probablemente no sea el método más apropiado... pero bueh!!! funciona bien... Espero te sirve... Aquí te dejo una función que hice para solventar ese problema: uses crt; function minuscula(txt: string): string; var i: integer; Begin for i:=1 to length(txt) do Begin if (ord(txt[i])>=65) and (ord(txt[i])<=90) then Begin txt[i]:=chr((ord(txt[i])+32)); End else Begin case txt[i] of 'Á': txt[i]:='a'; 'É': txt[i]:='e'; 'Í': txt[i]:='i'; 'Ó': txt[i]:='o'; 'Ú': txt[i]:='u'; 'Ñ': txt[i]:='ñ'; end; end; End; minuscula:=txt; End; Begin clrscr; gotoxy(2,2);write('Ingresa una cadena: '); readln(cad); cad:=minuscula(cad); gotoxy(2,5);write('Se ha transformado la cadena en minuscula:'); gotoxy(2,7);write(cad); readkey; End.
214
« en: Martes 11 de Julio de 2006, 07:40 »
Bueno, como lo dice el título... hace un tiempo hice este reloj en pascal en modo gráfico... no sabia muchas cosas, asi que posiblemente tomé un camino largo.. jeje, pero bueno, funciona... Se los dejo para que lo descarguen....  Saludos
215
« en: Lunes 10 de Julio de 2006, 16:08 »
Gracias Marcello... Buen material... se te agradece
216
« en: Domingo 9 de Julio de 2006, 19:37 »
Bueno, este es el enlace, ya esta en el servidor. C++ y DirectXEspero que les sirva de algo
217
« en: Domingo 9 de Julio de 2006, 19:24 »
Qué tal Geo? he encontrado información sobre DirectX y C++, en español... Creo que con esto aprenderé algo, y como tú dices, a compartir... lo estoy subiendo al servidor de solo código porque es un comprimido de 5MB. El archivo trae 3 PDF's... Uno tiene Win32, otro tiene Direct3D y el otro DirectInput. Trae una carpeta con los códigos de ejemplo. Cuando lo descomprimes, la carpeta de código ocupa 12MB... Bueno, tan pronto lo suba, coloco la dirección para que lo descarguen... Saludos...
218
« en: Domingo 9 de Julio de 2006, 09:04 »
Turbo C++ = IDE. Ok, el IDE es el entorno de desarrollo... pero el lenguaje que se trabaja en ese IDE es C++? Visual C++ = IDE y Compilador. Este maneja el mismo lenguaje que Turbo C++??? (De ser así, Supongo que la diferencia es el entorno gráfico que este ofrece y muchas otras librerías) C = Lenguaje de programación estructurado. C++ = Lenguaje de programación orientado a objetos. Ok, esta parte ya la entiendo, ahora bien... Ya sé que el que conozco es C++... Entonces cuál es C???? Disculpa tanta preguntadera... jeje  trato d aprender... Gracias
219
« en: Domingo 9 de Julio de 2006, 08:26 »
Bueno, hasta donde sé, manejo Turbo C++ (DOS), y he hecho algunas cositas sencillas en Visual C++. No se suponen que todos son C???  Quiero aprender C++ y DirectX... Yo tenía entendido que el Lenguaje es C, y de allí se derivan los demás... pero bueno, si no es así, una aclaración no estaría mal...  ... Necesito manejar las API's de Windows para aprender DirectX???
220
« en: Domingo 9 de Julio de 2006, 06:47 »
Bueno, la cosa es esta, yo quiero aprender DirectX... Conozco VB más que C++, porque es lo que más he visto en la univ, pero en cualquier caso, podría dedicarme a aprender C++. La cosa es, ¿es muy difícil aprender a usar DirectX con C++? Yo tengo Visual Studio 6 instalado en mi PC, y bien pudiera aprenderlo con VB o C++, pero según dicen, C es el que manda... Y bueno, me interesa mucho aprender bastante de C. ¿Por dónde podría empezar para aprender C++ y DirectX? Algún material específico??? (preferiblemente en español ya que muy poco domino el inglés)... Espero por sus consejos, y si tienen alguna herramienta, se los agradezco... Gracias Amigos
221
« en: Domingo 9 de Julio de 2006, 04:38 »
Bueno, aqui te dejo un programa que acabo de hacer. Este es el método que yo utilizo: Creo mi propia estructura de datos con TYPE y luego creo un archivo de la forma Var F: File of TEstructura. Como verás, estoy creando un archivo (binario) de estructura, y voy guardando registro por registro. Como este tipo de archivo no se puede abrir con APPEND como los archivos de texto, entonces utilizo un archivo auxiliar para no perder los datos anteriores cada vez que vaya a introducir uno nuevo. Ahora, creo que necesito limpiar el buffer, porque la primera lectura la hace bien, pero en las siguientes lecturas me salta la lectura del nombre.... Ahora explicado como funciona mi archivo, lo que pregunto es: ¿existe otra forma de guardar registros que no sea esta? Ando buscando otra forma que tambien me permita recuperar los datos cuando sea necesario... como esta... A continuación mi código: Uses CRT; const fname='datos1.dat'; resp='respaldo.dat'; type persona = Record nombre: string[10]; edad: integer; End; var f,r: file of persona; k: char; p,pa: persona; function ExistF(fn: string):boolean; var f: file; Begin {$I-} assign(f,fn); reset(f); close(f); {$I+} ExistF:= (IOResult=0) and (fn<>''); End; procedure menu; Begin clrscr; gotoxy(2,2);write('MENU:'); gotoxy(3,4);write('[1] >> Agregar'); gotoxy(3,5);write('[2] >> Imprimir'); gotoxy(3,6);write('[ESC] >> Salir'); gotoxy(2,8);write('Opcion: '); k:=readkey; End; procedure Agregar; Begin clrscr; gotoxy(2,2);write('AGREGAR DATOS'); gotoxy(2,4);write('Nombre: '); read(p.nombre); gotoxy(2,5);write('Edad: '); read(p.edad); reset(f); rewrite(r); while not eof(f) do Begin read(f,pa); write(r,pa); End; close(f); write(r,p); close(r); rewrite(f); reset(r); while not eof(r) do Begin read(r,pa); write(f,pa); End; close(f); close(r); End; procedure Imprimir; Begin clrscr; reset(f); while not eof(f) do Begin read(f,p); writeln(p.nombre:15,p.edad:5); End; writeln('<Fin de Arvhico...>'); readkey; close(f); End; Begin assign(f,fname); assign(r,resp); if not existf(fname) then Begin rewrite(f); close(f); End; while k<>#27 do Begin menu; if k='1' then agregar; if k='2' then imprimir; End; End.
Lo que trato es de aprender más métodos... Saludos y Gracias...
222
« en: Sábado 8 de Julio de 2006, 22:07 »
Saludos amigos... necesito que me ayuden con algo. Yo he trabajado archivos en pascal, pero utilizando estructuras definidas por mí... ¿Existe alguna otra forma de guardar varios registros en un archivo para luego poder recuperalos? Hablo de una forma que no sea definiendo una estructura de datos con Type... Si alguien tiene algún pequeño ejemplo, se le agradece la ayuda...  ... Bueno, espero a ver quien puede ayudarme...  y de una vez... GRACIAS!
223
« en: Sábado 8 de Julio de 2006, 05:27 »
function FileExist( fname: string ): boolean; var f: file; begin {$I-} assign( f, fname ); filemode := 0; reset(f); close(f); {$I+} FileExist := (IOResult = 0) and (fname <> ''); end;
Esta función viene en la ayuda de Turbo Pascal...
224
« en: Sábado 8 de Julio de 2006, 05:18 »
emmm... tengo una duda: no se supone que para saber si un año es bisiesto solo debemos obtener el residuo de dividirlo entre 4??? o sea solo: anio mod 4 = 0...
Creo que eso es suficiente =S
225
« en: Viernes 7 de Julio de 2006, 05:00 »
Hey!!! Aun sigo buscando más info sobre el Modo 13h... Hace tiempo dando vueltas por la internet (4 años) me encontré con esta web: http://www.geocities.com/SiliconValley/Bridge/1910/El autor de la web había desarrollado un curso de programación de videojuegos en Turbo Pascal 7, y alcanzó los 26 capítulos... Todos los archivos fueron escritos en formato de texto de MSDOS, supongo que con el EDIT o con el mismo EDITOR DE PASCAL. Me sometí a la tarea de hacerle muchas correciones en WORD, y le arreglé los márgenes y todo... Me llevó 3 días terminar de arreglarlo  La verdad es que me costó mucho tiempo, jeje, pero aquí está, listo para ser descargado... Muy bueno, en verdad, lo recomiendo... Para descargar el curso, has click en el siguiente enlace: Programación de Videjuegos - JPLLPara descargar los ejemplos que vienen con el curso, haz click en el siguiente enlace: Ejemplos (Material que viene con el curso)NOTA: Este curso no es mío, y en ningún momento he tomado la información para distribuirla con mi autoría... El autor es el dueño de la web donde estan los 26 capítulos por separados. Tengo 4 años tratando de contactar al autor pero su cuenta de correo está cerrada... Solo se identificaba como JPLL, de hecho ese es el nombre de su WEB, la cuál fua actualizada por última vez en el año 2000. Su correo era pc-jlopez@entelchile.net... Si alguien sabe del autor de la web, por favor que me lo comunique....
Páginas: 1 ... 7 8 [9] 10
|
|
|