• Sábado 10 de Mayo de 2025, 00:29

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

Páginas: 1 ... 7 8 [9] 10
201
Pascal / Error Con Punteros
« 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!  :P

Código: Text
  1. Uses crt;
  2. var p,q: ^integer;
  3. Begin
  4.      clrscr;
  5.      NEW(p);
  6.      new(q);
  7.      p^:=2;
  8.      q:=p;
  9.      p^:=0;
  10.      write(q^);
  11.      readkey;
  12.      dispose(p);
  13.      dispose(q);
  14. End.
  15.  

202
C/C++ / Re: C Estándar???
« en: Lunes 5 de Febrero de 2007, 01:27 »
ok, gracias por la aclaratoria  :smartass: ahora voy a buscar el gcc, a ver qué tal me va... :D Saludos

203
C/C++ / C Estándar???
« 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
Flash / ActionScript / Re: Mundo Giratorio
« 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
Pascal / Re: Me Dan Ideas??
« 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....

Código: Text
  1. VAL(String, Variable_Integer o Variable_Real, Variable_Integer);
  2. VAL(Char, Variable_Integer o Variable_Real, Variable_Integer);
  3.  

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:
Código: Text
  1. Uses CRT;
  2. Var s: string;
  3.       i,j: integer;
  4. Begin
  5.       s:='12345';
  6.       val(s,i,j);
  7. End.
  8.  
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:

Código: Text
  1. i:=12345;
  2. j:=0;
  3.  
La variable "j" devuele como valor cero (0) porque no se produjo ningún error.


Ejemplo 2:
Código: Text
  1. Uses CRT;
  2. Var s: string;
  3.       i,j: integer;
  4. Begin
  5.       s:='12345a';
  6.       val(s,i,j);
  7. End.
  8.  
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:

Código: Text
  1. i:=0;
  2. j:=1;
  3.  
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
C/C++ / Re: Problema Con Pila
« 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
C/C++ / Re: Problema Con Pila
« en: Viernes 2 de Febrero de 2007, 09:16 »
bueno, de tanto leer, y probar... PROBLEMA RESULTO... =) aquí les dejo el código...

Código: Text
  1. #include<conio.h>
  2. #include<stdio.h>
  3. #include<stdlib.h>
  4. struct nodo
  5. {  int inf;
  6.   struct nodo *sgt;
  7. };
  8. struct nodo *pila;
  9. void agregar();
  10. void imprimir();
  11. void eliminar();
  12. char o=0;
  13.  
  14. void main()
  15. {  
  16.   pila=(nodo *)malloc(sizeof(nodo));
  17.   pila=NULL;
  18.   while (o!='4')
  19.   {   clrscr();
  20.     printf("MENU\n\n");
  21.     printf("\n(1) Agregar Nodo");
  22.     printf("\n(2) Eliminar Nodo");
  23.     printf("\n(3) Imprimir Pila");
  24.     printf("\n(4) Salir");
  25.     printf("\n\nOpcion: ");
  26.     o=getch();
  27.     if (o=='1') agregar();
  28.     if (o=='2') eliminar();
  29.     if (o=='3') imprimir();
  30.   }
  31. }
  32. void agregar()
  33. {  struct nodo *nuevo;
  34.   int n=0;
  35.   nuevo=(nodo *)malloc(sizeof(nodo));
  36.   clrscr();
  37.   printf("AGREGAR NODO\n\nIngrese un Numero: ");
  38.   scanf("%d", &n);
  39.   nuevo->inf=n;
  40.   nuevo->sgt=NULL;
  41.   if (pila==NULL)
  42.   {  pila=nuevo;
  43.   }
  44.   else
  45.   {  nuevo->sgt=pila;
  46.     pila=nuevo;
  47.   }
  48. }
  49. void imprimir()
  50. {   struct nodo *aux;
  51.   aux=(nodo *)malloc(sizeof(nodo));
  52.   clrscr();
  53.   printf("CONTENIDO DE LA PILA\n\n");
  54.   if (pila==NULL)
  55.   {  printf("La Pila esta vacia...");
  56.   }
  57.   else
  58.   {  aux=pila;
  59.     while (aux!=NULL)
  60.     {  printf("%d\n",aux->inf);
  61.       aux=aux->sgt;
  62.     }
  63.   }
  64.   getch();
  65. }
  66. void eliminar()
  67. {   clrscr();
  68.   struct nodo *aux;
  69.                 aux=(nodo *)malloc(sizeof(nodo));
  70.   if (pila!=NULL)
  71.   {   aux=pila;
  72.     pila=pila->sgt;
  73.     printf("Se ha eliminado el %d", aux->inf);
  74.     free(aux);
  75.   }
  76.   else
  77.     printf("La pila esta vacia...");
  78.   getch();
  79.  
  80. }
  81.  

208
C/C++ / Problema Con Pila
« 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!

Código: Text
  1. #include<conio.h>
  2. #include<stdio.h>
  3. typedef struct nodo
  4. {  int inf;
  5.   struct nodo *sgt;
  6. };
  7. struct nodo *pila;
  8. void agregar();
  9. void imprimir();
  10. char o=0;
  11.  
  12. void main()
  13. {   pila=NULL;
  14.      while (o!='4')
  15.      {   clrscr();
  16.           printf("MENU\n\n");
  17.           printf("\n(1) Agregar Nodo");
  18.           printf("\n(2) Eliminar Nodo");
  19.           printf("\n(3) Imprimir Pila");
  20.           printf("\n(4) Salir");
  21.           printf("\n\nOpcion: ");
  22.           o=getch();
  23.           if (o=='1') agregar();
  24.           if (o=='3') imprimir();
  25.      }
  26. }
  27. void agregar()
  28. {   struct nodo *nuevo;
  29.      int n=0;
  30.      nuevo=NULL;
  31.      clrscr();
  32.      printf("AGREGAR NODO\n\nIngrese un Numero: ");
  33.      scanf("%d", &n);
  34.      nuevo->inf=n;
  35.      nuevo->sgt=NULL;
  36.      if (pila==NULL)
  37.      {   pila=nuevo;
  38.      }
  39.      else
  40.      {   nuevo->sgt=pila;
  41.           pila=nuevo;
  42.      }
  43. }
  44. void imprimir()
  45. {  clrscr();
  46.   printf("CONTENIDO DE LA PILA\n\n");
  47.   if (pila==NULL)
  48.   {     printf("La Pila esta vacia...");
  49.   }
  50.   else
  51.   {     printf("La pila si contiene elementos...");
  52.   }
  53.   printf("\n%d", pila->inf);
  54.   getch();
  55. }
  56.  

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
Pascal / Re: Como Usar Mouse??
« 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
Pascal / Re: Crear Nodo Y Forma De Implementarlo
« en: Sábado 22 de Julio de 2006, 19:25 »
Gracias Amigos... es justo lo que necesitaba... :)... Se les agradece... Saludos...  :kicking:

211
Pascal / Crear Nodo Y Forma De Implementarlo
« 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
Pascal / Pantallas Virtuales (modo Gráfico)
« 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:

Código: Text
  1. setactivepage(0);
  2. setvisualpage(1);
  3.  

Luego que se genere el gráfico completo, entonces procedo a hacer visual la página 0, donde se dibujó el gráfico:

Código: Text
  1. setvisualpage(0);
  2.  

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???? :D Saludos y gracias!  :(

213
Pascal / Re: Duda Basica: Pasar De Mayuscula A Minuscula
« 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:

Código: Text
  1. uses crt;
  2.  
  3. function minuscula(txt: string): string;
  4. var i: integer;
  5. Begin
  6.      for i:=1 to length(txt) do
  7.      Begin
  8.           if (ord(txt[i])>=65) and (ord(txt[i])<=90) then
  9.           Begin
  10.                txt[i]:=chr((ord(txt[i])+32));
  11.           End
  12.           else
  13.           Begin
  14.                case txt[i] of
  15.                     'Á': txt[i]:='a';
  16.                     'É': txt[i]:='e';
  17.                     'Í': txt[i]:='i';
  18.                     'Ó': txt[i]:='o';
  19.                     'Ú': txt[i]:='u';
  20.                     'Ñ': txt[i]:='ñ';
  21.                end;
  22.           end;
  23.      End;
  24.      minuscula:=txt;
  25. End;
  26. Begin
  27.      clrscr;
  28.      gotoxy(2,2);write('Ingresa una cadena: ');
  29.      readln(cad);
  30.      cad:=minuscula(cad);
  31.      gotoxy(2,5);write('Se ha transformado la cadena en minuscula:');
  32.      gotoxy(2,7);write(cad);
  33.      readkey;
  34. End.
  35.  

 :comp:

214
Pascal / Reloj En Pascal
« 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.... :D Saludos  :kicking:

215
Pascal / Re: Documentación Sobre El Modo 13h
« en: Lunes 10 de Julio de 2006, 16:08 »
Gracias Marcello... Buen material... se te agradece  :kicking:  :D

216
C/C++ / Re: Orientación
« en: Domingo 9 de Julio de 2006, 19:37 »
Bueno, este es el enlace, ya esta en el servidor.

C++ y DirectX

Espero que les sirva de algo :kicking:

217
C/C++ / Re: Orientación
« 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...  :comp:

218
C/C++ / Re: Orientación
« en: Domingo 9 de Julio de 2006, 09:04 »
Citar
Turbo C++ = IDE.
Ok, el IDE es el entorno de desarrollo... pero el lenguaje que se trabaja en ese IDE es C++?

Citar
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)

Citar
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  :unsure:  trato d aprender... Gracias

219
C/C++ / Re: Orientación
« 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???  :o 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...  :whistling: ... Necesito manejar las API's de Windows para aprender DirectX???

220
C/C++ / Orientación
« 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  :smartass:

221
Pascal / Re: Trabajar Con Archivos
« 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:

Código: Text
  1. Uses CRT;
  2. const fname='datos1.dat';
  3.       resp='respaldo.dat';
  4. type persona = Record
  5.      nombre: string[10];
  6.      edad: integer;
  7. End;
  8. var f,r: file of persona;
  9.     k: char;
  10.     p,pa: persona;
  11. function ExistF(fn: string):boolean;
  12. var f: file;
  13. Begin
  14.      {$I-}
  15.      assign(f,fn);
  16.      reset(f);
  17.      close(f);
  18.      {$I+}
  19.      ExistF:= (IOResult=0) and (fn<>'');
  20. End;
  21. procedure menu;
  22. Begin
  23.      clrscr;
  24.      gotoxy(2,2);write('MENU:');
  25.      gotoxy(3,4);write('[1] >> Agregar');
  26.      gotoxy(3,5);write('[2] >> Imprimir');
  27.      gotoxy(3,6);write('[ESC] >> Salir');
  28.      gotoxy(2,8);write('Opcion: ');
  29.      k:=readkey;
  30. End;
  31. procedure Agregar;
  32. Begin
  33.      clrscr;
  34.      gotoxy(2,2);write('AGREGAR DATOS');
  35.      gotoxy(2,4);write('Nombre: ');
  36.      read(p.nombre);
  37.      gotoxy(2,5);write('Edad: ');
  38.      read(p.edad);
  39.      reset(f);
  40.      rewrite(r);
  41.      while not eof(f) do
  42.      Begin
  43.           read(f,pa);
  44.           write(r,pa);
  45.      End;
  46.      close(f);
  47.      write(r,p);
  48.      close(r);
  49.      rewrite(f);
  50.      reset(r);
  51.      while not eof(r) do
  52.      Begin
  53.           read(r,pa);
  54.           write(f,pa);
  55.      End;
  56.      close(f);
  57.      close(r);
  58. End;
  59. procedure Imprimir;
  60. Begin
  61.      clrscr;
  62.      reset(f);
  63.      while not eof(f) do
  64.      Begin
  65.           read(f,p);
  66.           writeln(p.nombre:15,p.edad:5);
  67.      End;
  68.      writeln('<Fin de Arvhico...>');
  69.      readkey;
  70.      close(f);
  71. End;
  72.  
  73. Begin
  74.      assign(f,fname);
  75.      assign(r,resp);
  76.      if not existf(fname) then
  77.      Begin
  78.           rewrite(f);
  79.           close(f);
  80.      End;
  81.      while k<>#27 do
  82.      Begin
  83.           menu;
  84.           if k='1' then agregar;
  85.           if k='2' then imprimir;
  86.      End;
  87. End.
  88.  

Lo que trato es de aprender más métodos... Saludos y Gracias... :D

222
Pascal / Trabajar Con Archivos
« 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... :D y de una vez... GRACIAS!

223
Pascal / Re: Como Saber Los Archivos De Una Carpeta
« en: Sábado 8 de Julio de 2006, 05:27 »
Código: Text
  1. function FileExist( fname: string ): boolean;
  2. var f: file;
  3. begin
  4.         {$I-}
  5.         assign( f, fname );
  6.         filemode := 0;
  7.         reset(f);
  8.         close(f);
  9.         {$I+}
  10.         FileExist := (IOResult = 0) and (fname <> '');
  11. end;
  12.  

Esta función viene en la ayuda de Turbo Pascal...

224
Pascal / Re: Años Bisiestos (#4).
« 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
Pascal / Programación De Videojuegos
« 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  :blink: 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 - JPLL

Para 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