• Sábado 14 de Diciembre de 2024, 11:34

Autor Tema:  Ayuda, Hacer Programa De Dibujo  (Leído 2336 veces)

Luchingador

  • Nuevo Miembro
  • *
  • Mensajes: 7
    • Ver Perfil
Ayuda, Hacer Programa De Dibujo
« en: Jueves 14 de Junio de 2007, 17:23 »
0
Buenas.

Bueno, me asignaron la tarea de hacer un programa de dibujo.

Mis problemas llegan cuando estoy haciendo el guardado, pense en hacer una matriz del tamaño de la pantalla y despues guardar esa matriz en un archivo binario, pero no se como guardar una matriz en un archivo binario.

Si tienen mejores ideas, por favor.

Luchingador.

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: Ayuda, Hacer Programa De Dibujo
« Respuesta #1 en: Jueves 14 de Junio de 2007, 18:25 »
0
Abrir archivo, escribir archivo, cerrar archivo. Para eso podes usar fopen/fwrite/fclose.

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.

Luchingador

  • Nuevo Miembro
  • *
  • Mensajes: 7
    • Ver Perfil
Re: Ayuda, Hacer Programa De Dibujo
« Respuesta #2 en: Jueves 14 de Junio de 2007, 18:52 »
0
a claro.

el problema es como, de abrirlo lo abro ya.

como esbribo en el?

fwrite(&mat
  • [y],0,1,arch)??????


en un doble for que haga avanzar el "x" y el "y"??

Gracias.

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: Ayuda, Hacer Programa De Dibujo
« Respuesta #3 en: Jueves 14 de Junio de 2007, 19:34 »
0
Lo podes hacer con un solo fwrite pasandole la direccion de comienzo del buffer y el tamaño total del mismo.

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.

Luchingador

  • Nuevo Miembro
  • *
  • Mensajes: 7
    • Ver Perfil
Re: Ayuda, Hacer Programa De Dibujo
« Respuesta #4 en: Jueves 14 de Junio de 2007, 21:37 »
0
Antes que nada gracias por la atencion.

esto va a sonar muy estupido, pero, como?

lo siento no llevo mucho programando.

TRod

  • Miembro MUY activo
  • ***
  • Mensajes: 108
  • Nacionalidad: mx
    • Ver Perfil
Re: Ayuda, Hacer Programa De Dibujo
« Respuesta #5 en: Jueves 14 de Junio de 2007, 22:02 »
0
Cita de: "Luchingador"
como esbribo en el?

fwrite(&mat
  • [y],0,1,arch)??????


en un doble for que haga avanzar el "x" y el "y"??

Juega un poco con lo que tu mismo has propuesto, vas bien.

Luchingador

  • Nuevo Miembro
  • *
  • Mensajes: 7
    • Ver Perfil
Re: Ayuda, Hacer Programa De Dibujo
« Respuesta #6 en: Jueves 14 de Junio de 2007, 22:56 »
0
Este es el programa que uso para el dibujo libre, mueve con los cursores imprime con Ñ y se supone que se sale con + pero al presionar + todo Borland C se colapsa(xD) es nuevo para mi.

Citar
#include <stdio.h>
#include <conio.h>
void main()
{
 FILE *arch;
 arch=fopen("nuevo.dat","w+b");
 char c='D';
 char mat[25][19];
 int tecla,x=40,y=12,a,b;
 unsigned int pre;
 while(tecla!=43)
 {
  pre=getch();
  if(!pre)
  {
   pre=getch();
  }
  tecla=pre;
  gotoxy(x,y);
  if(tecla==72)
  {
   y=y-1;
  }
  else
  {
   if(tecla==80)
   {
   y=y+1;
   }
   else
   {
   if(tecla==77)
   {
  x=x+1;
   }
   else
   {
  if(tecla==75)
  {
   x=x-1;
  }
  else
  {
   if(tecla==164)
   {
  printf("%c",c);
  mat
  • [y]=c;

   }
   else
   {
    gotoxy(10,23);
    printf("Usa las flechas de movimiento del teclado");
    x=40;
    y=12;
   }
  }
   }
       }
     }
   }
   for(a=0;a<=25;a++)
   {
   for(b=0;b<20;b++)
   {
  fwrite(&mat[a],a*b,1,arch);
   }
   }
 }

TRod

  • Miembro MUY activo
  • ***
  • Mensajes: 108
  • Nacionalidad: mx
    • Ver Perfil
Re: Ayuda, Hacer Programa De Dibujo
« Respuesta #7 en: Viernes 15 de Junio de 2007, 04:38 »
0
Cita de: "Luchingador"
  fwrite(&mat[a],a*b,1,arch);
¿Crees que un compilador de 16 bits pueda manejar un char de (a*b)bytes ?
Yo creo que los de 32 tampoco...  :whistling:
Me imagino que ya entendiste el error. Suerte.

Luchingador

  • Nuevo Miembro
  • *
  • Mensajes: 7
    • Ver Perfil
Re: Ayuda, Hacer Programa De Dibujo
« Respuesta #8 en: Viernes 15 de Junio de 2007, 17:26 »
0
Gracias, :ph34r:

Alguna sugerencia?  :P

TRod

  • Miembro MUY activo
  • ***
  • Mensajes: 108
  • Nacionalidad: mx
    • Ver Perfil
Re: Ayuda, Hacer Programa De Dibujo
« Respuesta #9 en: Viernes 15 de Junio de 2007, 22:20 »
0
Tu programa me recordo una vieja utileria de Clipper que servia para diseñar pantallas.
Podias escoger caracteres, borrarlos, agregar colores, escribir un patron, eliminar filas, columnas, etc.   Todo esto, claro, en modo texto. Posteriormente el programa creaba un archivo .PGR donde se editaba automaticamente los @X,Y SAY '▓▓▓▓▓▓' (creo que asi era la sintaxis, no recuerdo)
Viejos tiempos... :rolleyes:
Saludos.

Luchingador

  • Nuevo Miembro
  • *
  • Mensajes: 7
    • Ver Perfil
Re: Ayuda, Hacer Programa De Dibujo
« Respuesta #10 en: Lunes 18 de Junio de 2007, 16:20 »
0
por que al mandar a un procedimiento una matriz me lanza este error??

"Size of tipe is unknow or zero"