Realizar un Codigo fuente que se imprima a si mismo exactamente SIN EXCEPCIÓN ALGUNA, de manera EXACTA (cadenas declaraciones procesos, etc.).
* De 1 a l 10 en conocimientos donde 1 sabe manejar y se sabe las condiciones del lenguaje, como minimo 4.
* El codigo imprimido puede ser porun msgbox impresora, por un Debugger, un archivo de texto ne fin solo que devuelva su propio codigo fuente ( Recomiendo hacerlo en el Sub main() ).
* NO VALE LEER ARCHIVOS EXTERNOS de ninguna indole.
Publicar su codigo el dia
--------------------
* No vale extraer el codigo fuente de otro lado externo a el programa, recurso, etc debera ser un codigo simple.
* Si tu codigo hace mension a una dll externa igual cuenta como codigo del mismo programa, asi que cuidado con los mañosos.
* Como vez dice A SI MISMO, debera ser lo mismo si esta o no esta compilado, es decir que si funciona en el IDE pero no en un exe no vale.
* En otras palabras si haces un Addin vas a tener que mostrar el codigo fuente del Addin no hay otra. si lo compilas te devera mostrar el codigo fuente original, si lo ejecutas debera realizar lo mismo; es decir
Si tu codigo fuente es:
Código:
Código
sub main() codigo end sub
El programa al ejecutarlo debera mostrarte su mismo codigo es decir TODO Sub main() con TODO lo que haya dentro y fuera de el mismo, si metes modulo, clases, comentarios funciones procesos, de igual manera.
La cosa es pensar, en como rayos hacerlo pero de que se puede se puede NO hay que manejar APIS estructuras ni nada similar, es solo y unicamente LÓGICA.
---------------
Debido a los amigos que dieron demasiados detalles ahora el limite de tiempo ya no tiene caso.
La parte comentada es mi codigo resultante.
Código
Sub main(): Const s As String = "Sub main(): Const s As String = @: msgbox Replace$(s, Chr(64), Chr(34) & s & Chr(34)): End Sub": MsgBox Replace$(s, Chr(64), Chr(34) & s & Chr(34)): End Sub 'Sub main(): Const s As String = "Sub main(): Const s As String = @: msgbox Replace$(s, Chr(64), Chr(34) & s & Chr(34)): End Sub": MsgBox Replace$(s, Chr(64), Chr(34) & s & Chr(34)): End Sub
Temibles Lunas!¡.