• Domingo 22 de Diciembre de 2024, 10:06

Autor Tema:  Imagen ascii  (Leído 3454 veces)

KoRn_jsg

  • Nuevo Miembro
  • *
  • Mensajes: 19
  • Nacionalidad: bo
    • Ver Perfil
Imagen ascii
« en: Lunes 17 de Mayo de 2010, 02:43 »
0
Muy buenas a todos los foreros...les traigo un nuevo reto....


Quiero meter una imagen ascii en mi aplicacion MSDOS en C#, pasa que me da flojera poner a cada linea de la imagen un Console.Write(""); la imagen es la siguiente, espero puedan resolver mi problema gracias


                                ` 0%%)                    
                              ``R%@%%%@_                  
                                @dR` ¨h¾T                
                               %¨ `    ¨$`                
                       ` `     ` ` `   ` 3`              
                `T%%%%%@*`      @%%@@d@¨`                
               '@@T¨'''/@%'```#%*````¨¨%%¨ `              
              3¾6;!!!!!!!3di 3@''¨¨¨¨¨¨'6@¨`              
             ¨¾3((3(((((440d)@iTiiiiiiiTi%@'              
            `%d4$4$44444444@%%T*T*TTTTT**;@T``            
            `%(4$0d(444444R0%**TTTTii11TT*dh'            
            `¾$R$$4$0#$444RRdiTTT*h%@%TTTT6%_            
         `  `@@@%%d@d$)0d(46%;TTT;d%d%!TTT0d_            
         ` "d%$$$))Rd@@@%d%%dTiiiT¾@%@TiTi@%0_'          
        _0dd4%@((R60d%dddh4@%@i;;;;__!!ii*dd#ddd`        
     `"0d6R*'¨@R+++/1///))%%6d;;!!!!!!!i;@@+'$#00d¨      
   ``dd44!"''"1d%+11111*/@@4"!@#!!____!"¾%$"""!+hhd%`    
   !0dR4!!_!!_!T%%3***T@%%4i_!;d@("""'#%¾(i;;;;@*#hd%'    
  `d044*iiii;;;;;3%%%@%dR);;;;;i3%@%%@%R3*TT***@#3#hdd!  
 `0#44$11***TTTTiiiiiTTiiiiiiiTTTTT*1***111///@+/#hhhdd"  
 #04R4R++//11***TTTTTTiiiTiTTTTT*T****111//+3+333(#hhhd1  
`0dRR4$())++/11***TTTTTTTTTTiTTTTTT****11/+/%$(($R6##hd0"
 d044$$(3)+1/1***TTTTTTTTTTTT**;*1)/1iT**1/0()3($4R6##0d!
 0d4$(3)+/#@**iTTiiTTiTiTi;d%%%%%%%%%%%%%%%i11/+3($466d#_
 4d($3)+/*@;+iTiiTTiiTiT6%%%%%%%%%%%%%%%%%!1**1/+)3(4R0/'
` d%3+/1**TiTT;@;TiTTT@d%%%%%%%%%%@%%%%d@TTTTTT*1/+)(00!  
  `00***TTTTTTTT;¾%@@%d%%%%%%dd%%$4h%d@%@*TTTTTTT1+/0d*  
  `¨h0*TTTTTTTTT**Ti+@%%%%%%0R4R%R6666d(1iTTTTTTT*4hRi`  
  `` 1ddiTiTTTTTTTT***(@%%%066##6###hd**TTTTTTiiidd3_    
     `'#0diTT*TTTT*TTTTT(@%d6###hhh%0TTT**TTT*;00hT'      
       `¨+0hhT****TTTTT*T*Ti*3$(TiTTiTTT***+d0h)i¨        
         ``'#d0d4ii*TTTTTTTTTTTTTTTTT*Ti6dd04T_``        
             `¨_*0dh00dd#R3))3(R0d%d000#/T!¨`            
                   "_;T+$6#hhhh6()1i;!¨¨                  
                            ````

Jeysscarr

  • Miembro MUY activo
  • ***
  • Mensajes: 134
  • Nacionalidad: co
    • Ver Perfil
Re: Imagen ascii
« Respuesta #1 en: Lunes 17 de Mayo de 2010, 04:16 »
0
jajajajajajaja
Nuestro poder está creciendo mas rápido que nuestra sabiduria

tannke

  • Miembro MUY activo
  • ***
  • Mensajes: 152
  • Nacionalidad: es
    • Ver Perfil
Re: Imagen ascii
« Respuesta #2 en: Lunes 17 de Mayo de 2010, 10:43 »
0
Podrias insertar la imagen en un archivo *.txt y desde tu aplicación, en un ciclo while ir leyendo linea por linea y escribirla en consola.

Saludos.

Jeysscarr

  • Miembro MUY activo
  • ***
  • Mensajes: 134
  • Nacionalidad: co
    • Ver Perfil
Re: Imagen ascii
« Respuesta #3 en: Lunes 17 de Mayo de 2010, 16:00 »
0
Exacto, para mayor facilidad podrias agregar tu archivo en la ruta del ejecutable y usar la referencia System.Windows.Forms; en tu aplicación de consola
para poder acceder a la clase Application y su propiedad StartupPath que te indica la ruta del archivo.
Todo eso despues de importar el namespace

quedaria asi:
Código: C#
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Windows.Forms;
  6.  
  7. namespace ConsoleApplication1
  8. {
  9.     class Program
  10.     {
  11.         static void Main(string[] args)
  12.         {
  13.             LeerArchivo(Application.StartupPath + "\Archivo.txt");
  14.         }
  15.  
  16.         static void LeerArchivo(string ruta)
  17.         {
  18.            
  19.             string line;
  20.  
  21.  
  22.             System.IO.StreamReader file = new System.IO.StreamReader(ruta);
  23.             while ((line = file.ReadLine()) != null)
  24.             {
  25.                 System.Console.WriteLine(line);
  26.             }
  27.  
  28.             file.Close();
  29.             System.Console.ReadLine();
  30.  
  31.         }
  32.     }
  33. }
  34.  

Quizás más adelante podrías hacer que tu pregunta sonará más como algo importante, muchas personas del foro quizas no responderían al leer la palabra "Flojera" en el titulo de tu tema
Nuestro poder está creciendo mas rápido que nuestra sabiduria

Amilius

  • Miembro HIPER activo
  • ****
  • Mensajes: 665
    • Ver Perfil
Re: Imagen ascii
« Respuesta #4 en: Lunes 17 de Mayo de 2010, 20:55 »
0
Tambien puedes usar el "search replace", uno que reconozca "n" y lo reemplazas por lo que necesites.

KoRn_jsg

  • Nuevo Miembro
  • *
  • Mensajes: 19
  • Nacionalidad: bo
    • Ver Perfil
Re: Imagen ascii
« Respuesta #5 en: Lunes 17 de Mayo de 2010, 21:52 »
0
Cita de: "Jeysscarr"
Exacto, para mayor facilidad podrias agregar tu archivo en la ruta del ejecutable y usar la referencia System.Windows.Forms; en tu aplicación de consola
para poder acceder a la clase Application y su propiedad StartupPath que te indica la ruta del archivo.
Todo eso despues de importar el namespace

quedaria asi:
Código: C#
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Windows.Forms;
  6.  
  7. namespace ConsoleApplication1
  8. {
  9.     class Program
  10.     {
  11.         static void Main(string[] args)
  12.         {
  13.             LeerArchivo(Application.StartupPath + "\Archivo.txt");
  14.         }
  15.  
  16.         static void LeerArchivo(string ruta)
  17.         {
  18.            
  19.             string line;
  20.  
  21.  
  22.             System.IO.StreamReader file = new System.IO.StreamReader(ruta);
  23.             while ((line = file.ReadLine()) != null)
  24.             {
  25.                 System.Console.WriteLine(line);
  26.             }
  27.  
  28.             file.Close();
  29.             System.Console.ReadLine();
  30.  
  31.         }
  32.     }
  33. }
  34.  

Quizás más adelante podrías hacer que tu pregunta sonará más como algo importante, muchas personas del foro quizas no responderían al leer la palabra "Flojera" en el titulo de tu tema



Ese Archivo.txt donde tiene que estar guardado...porque cuando pongo la ruta del archivo que quiero que imprime en pantalla no lo hace!!!....me dice "secuencia de escape no reconocida"....Espero que me puedas ayudar gracias!!!

Jeysscarr

  • Miembro MUY activo
  • ***
  • Mensajes: 134
  • Nacionalidad: co
    • Ver Perfil
Re: Imagen ascii
« Respuesta #6 en: Lunes 17 de Mayo de 2010, 22:29 »
0
Hola, si vas a usar ese nombre debes crear un archivo de texto en la misma carpeta del ejecutable, o puedes ponerlo en cualquier parte, asi por ejemplo si tu archivo esta guardado en C:\ y se llama dibujo.txt en el parametro de ruta mandas "C:\dibujo.txt" quitandole el Application.Startuppath
Nuestro poder está creciendo mas rápido que nuestra sabiduria

tannke

  • Miembro MUY activo
  • ***
  • Mensajes: 152
  • Nacionalidad: es
    • Ver Perfil
Re: Imagen ascii
« Respuesta #7 en: Martes 18 de Mayo de 2010, 09:46 »
0
El error que te esta dando seguramente sea porque estas poniendo mal las barras de la dirección donde tengas el archivo. Cuando el compilador ve la  este espera otro caracter detas como la n (n), la r (r), ..., estos son entre otros las secuencias de escape.

Bueno, hay dos maneras para poner las direcciones en c#:

Para la dirección ej. C:Documents and SettingsMis documentosNueva carpetatexto.txt

1ª Como nos enseña en sus ejemplos Jeysscarr:
Código: C#
  1. string direccion = "C:\Documents and Settings\Mis documentos\Nueva carpeta\texto.txt";
  2.  

2ª Utilizando la @:
Código: C#
  1. string direccion =@"C:Documents and SettingsMis documentosNueva carpetatexto.txt";
  2.  
la @ 'desabilita' las secuencias de escape.


Saludos.