Ir al contenido


Foto

Imprimir todo el código fuente de un proyecto el delphi


  • Por favor identifícate para responder
22 respuestas en este tema

#1 tmsanchez

tmsanchez

    Advanced Member

  • Miembros
  • PipPipPip
  • 85 mensajes

Escrito 13 octubre 2010 - 11:04

Que tal.

Alguien sabe como imprimir todo el código fuente de un proyecto en Delphi (No solamente el código de la unidad actual)?  ya estuve buscando un rato en google y no encuntro alguna pista.

Ya busqué en las opciones y File, Print y nada.

Quiero evitarme el copiar y pegar de cada unidad para tener uno solo.

Saludos
  • 0

#2 felipe

felipe

    Advanced Member

  • Administrador
  • 3.283 mensajes
  • LocationColombia

Escrito 13 octubre 2010 - 01:50

¿Y si abres las unit en un editor de texto?, por ejemplo Notepad++


Saludos!
  • 0

#3 TiammatMX

TiammatMX

    Advanced Member

  • Miembros
  • PipPipPip
  • 1.750 mensajes
  • LocationUniverso Curvo\Vía Láctea\Sistema Solar\Planeta Tierra\América\México\Ciudad de México\Xochimilco\San Gregorio Atlapulco\Home

Escrito 13 octubre 2010 - 02:27

¿Qué tanto sabes de D. O. S.? Por que tu solución sería hacer un archivo de procesamiento batch (*.BAT) que te imprimiera o "copiara" tus archivos .PAS a la impresora.



sql
  1. echo off
  2. copy *.pas > PRN
  3. echo ON


  • 0

#4 tmsanchez

tmsanchez

    Advanced Member

  • Miembros
  • PipPipPip
  • 85 mensajes

Escrito 13 octubre 2010 - 02:54

Gracias por sus sugerencias.

Voy a hacer un programita en delphi que tome la idea de TiammatMX, que me busque todos los .pas (tengo rutas anidadas) y los vaya agregando en un solo archivo.

Y ya después como dice Felipe,  lo abro con el notepad++ (para conservar sus colores de sintaxis ) y lo mando a imprimir al PDFCreator.

Gracias a todos.
  • 0

#5 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14.448 mensajes
  • LocationMéxico

Escrito 13 octubre 2010 - 09:09

Y que tal si aprovechamos que tenemos Delphi a la mano ;)



delphi
  1. procedure TForm1.Button1Click(Sender: TObject);
  2. var
  3.   searchResult : TSearchRec;
  4.   path: string;
  5.   sl: TstringList;
  6. begin
  7.   sl := TstringList.Create;
  8.   path := 'X:\DirectoryProject\';
  9.   FindFirst(path+'*.pas',faArchive,searchResult);
  10.   repeat
  11.     sl.LoadFromFile(path+searchResult.Name);
  12.     RichEdit1.Lines.Add('***************************************************************');
  13.     RichEdit1.Lines.Add(path+searchResult.Name);
  14.     RichEdit1.Lines.Add('***************************************************************');
  15.     RichEdit1.Lines.Add(sl.Text);
  16.     RichEdit1.Lines.Add('');
  17.   until FindNext(searchResult) <> 0;
  18.   FindClose(searchResult);
  19.   sl.Free;
  20.   RichEdit1.Print('');
  21. end;



Salud OS

  • 0

#6 Delphius

Delphius

    Advanced Member

  • Administrador
  • 6.295 mensajes
  • LocationArgentina

Escrito 14 octubre 2010 - 07:39

Hola,

La verdad es que un tanto molesto que Delphi no tuviera un mejor asistente de impresión.  :( Yo también imprimo código y es molesto estar mandando a imprimir unidad por unidad.... Ni que decir que no se puede saber cuantas hojas son si no es hasta que sale la primera hoja y mientras tengas configurado que te imprima el encabezado y pie de página... ¡Como me gustaría que tuviera una especie de "vista previa".
Al menos hasta D6 es un simple diálogo en el que puedes indicar que se imprima la unidad o lo seleccionado y configurar si se desea imprimir las LDC, que "corte" el código si sobrepasa el márgen derecho (está establecido en 80), que resalte la sintaxis, si se emplea color y encabezado/pie de página.

Quisiera pensar que las versiones modernas han mejorado en ese aspecto. Quizá seamos pocos quienes imprimimos código, pero no por ello no se debería mejorar esto.

Saludos,
  • 0

#7 pcicom

pcicom

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 267 mensajes
  • LocationMéxico

Escrito 14 octubre 2010 - 08:32

Tal vez les ayude este programa que sirve para documentar proyectos en DELPHI.. y es opensource

http://dephicodetodoc.sourceforge.net/

SALUDOS..
  • 0

#8 Delphius

Delphius

    Advanced Member

  • Administrador
  • 6.295 mensajes
  • LocationArgentina

Escrito 14 octubre 2010 - 11:48

Tal vez les ayude este programa que sirve para documentar proyectos en DELPHI.. y es opensource

http://dephicodetodoc.sourceforge.net/

SALUDOS..

DelphiCodeToDoc es un excelente CASE. Yo lo he probado hace tiempo y funciona bastante bien... y eso que es beta (aunque yo me pregunto... ¿alguna vez sacó una versión no beta?). La pega que tiene es que esto es para documentar... no para imprimir el código, que es lo que se discute aquí.

A mi me gustaría que ofreciera la posibilidad de configurar el formato y el texto de su plantilla. De ese modo se podría editarla para que no quede en inglés. Es un poco molesto ver cosas como Author, Description, etc.

Si bien yo lo he probado, nunca terminé de usarlo... no me adapté a sus TAGs. (O debería decir que no he sido un tanto más flexible y permisible con su manera de llevar la documentación) Ahora he descargado la última versión... a ver si me pongo a aprenderlo bien, que falta me hace ahora que necesito ir documentando mi proyecto y abandonar de a poco el estilo artesanal que tengo.  :p

De todas formas, sigo sosteniendo que no estaría mal que Delphi tenga un buen asistente de impresión. Ahora, si en las últimas versiones de Delphi hubo mejoras en ello... pues... me callo un poco.

Saludos,
  • 0

#9 enecumene

enecumene

    Webmaster

  • Administrador
  • 7.419 mensajes
  • LocationRepública Dominicana

Escrito 14 octubre 2010 - 11:54

...
De todas formas, sigo sosteniendo que no estaría mal que Delphi tenga un buen asistente de impresión. Ahora, si en las últimas versiones de Delphi hubo mejoras en ello... pues... me callo un poco.

Saludos,


Ahora que estoy trabajando con D2007 debo decir que hasta aquí aún nada :p
  • 0

#10 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14.448 mensajes
  • LocationMéxico

Escrito 14 octubre 2010 - 12:01

Yo creo que la acción de gastar papel indiscriminadamente debería quedarse en el pasado, con el uso de dispositivos digitales ya no debería imprimirse nada, bueno, eso pienso yo :p :)

Imagen Enviada


Salud OS
  • 0

#11 Delphius

Delphius

    Advanced Member

  • Administrador
  • 6.295 mensajes
  • LocationArgentina

Escrito 14 octubre 2010 - 12:11

Ahora que estoy trabajando con D2007 debo decir que hasta aquí aún nada :p

Ummm  ^o| ¿Cuál será la probabilidad de que en los últimos 3 años y en las siguientes versiones a la del 2007 haya cambiado?

Si han añadido al IDE la fabulosa idea de generar UML, ¿Porqué no ofrecer un adecuado asistente si uno desea imprimir código? Que no todo es diagramas UML y/o cualquier otro documento que sirva como documentación? Que el code es igualmente importante... Hay quienes ven en tener un respaldo físico en papel  de su obras una buena opción.
Si... no es una cosa muy ecológica  :( ... pero bueno, el papel en ocasiones te saca de aprietos cuando tus archivos se dañan, los CDs y DVDs se rompen.

Saludos,
  • 0

#12 Delphius

Delphius

    Advanced Member

  • Administrador
  • 6.295 mensajes
  • LocationArgentina

Escrito 14 octubre 2010 - 12:30

Yo creo que la acción de gastar papel indiscriminadamente debería quedarse en el pasado, con el uso de dispositivos digitales ya no debería imprimirse nada, bueno, eso pienso yo :p :)


Pues si, hay que evitar gastar papel... en lo posible. Aunque hay que tener cuidado con esto... tampoco es para llevarlo al extremo, no vaya a ser cosa que se repita cierta frase dicha por un ex conductor de MTV o Much Music (no recuerdo bien de cual era): "Ya saben chicos, no lean libros porque eso mata los árboles".  :| Y no lo dijo en tono de broma... lo dijo cuando comentó al aire sobre un artículo del medio ambiente, que se se gasta demasiado papel y se talan demasiados árboles.

A mi me gusta sentir las hojas de un libro, resulta mucho más cómoda su lectura que estar frente a la PC. Para tener acceso a la información no tengo que estar prendiendo una computadora... que gasta electricidad... y para generar electricidad se gasta más recursos que plantar un árbol. Sólo me basta con abrir un libro y disfrutar las hermosas palabras.

El problema no es el árbol, sino su falta de uso adecuado, con racionalidad y que decir... ¡de agacharse para cavar un hueco y empezar a plantar y replantar!

Según tu planteo de que sea todo digital... bueno, a ver... ¿cómo le explicas a la gente de pocos recursos que paga pagar la factura de luz, gas o agua de su quinchito en donde tiene dos gallinas flacas debe ir a una PC con conexión a internet y hacer una gestión on-line y se evita tener papel de miles de facturas?

Mucho digital... mucho digital... todo en un disco, un usb... pero cuando el solcito nos frite los equipos ¡a llorar! Y que no soy alarmista... que esos científicos locos que están estudiando los efectos solares ya lo vienen diciendo... para el 2012 tendremos más tormenta solar y no hay manera de evitarlo. O si no hay electricidad ¿cómo le haces?

No es por ser malo amigo pero muchas veces tanta tecnología no nos deja ver el verdadero problema y no es la verdadera solución. Muchos proponen la no impresión, el uso de libros electrónicos, emición de facturas on-line, etc... como si eso en realidad atacase el problema. El problema no es que se gaste demasiado... el problema es que no se ha fomentado la idea de volver a sembrar una semilla. Allí está el punto.

Saludos,
  • 0

#13 tmsanchez

tmsanchez

    Advanced Member

  • Miembros
  • PipPipPip
  • 85 mensajes

Escrito 14 octubre 2010 - 12:40

Hola de nuevo.

Primero agradecer a la comunidad sus valiosos comentarios.

Como había comentado previamente, hice un miniprograma para juntar todas las units en un solo archivo.

Para lo que necesitaba me fué suficiente.

Solo lo abrí con el Notepad++ y lo copié al portapapeles como Rtf (para conservar los colores de la sintáxis) y lo copié al Word para imprimirlo a un PDF con PDFCreator.

Les dejo la liga de descarga:

http://www.delphiacc...sa=view;down=69

Saludos y gracias de nuevo
  • 0

#14 andres1569

andres1569

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 431 mensajes

Escrito 14 octubre 2010 - 12:46

Al menos hasta D6 es un simple diálogo en el que puedes indicar que se imprima la unidad o lo seleccionado y configurar si se desea imprimir las LDC, que "corte" el código si sobrepasa el márgen derecho (está establecido en 80), que resalte la sintaxis, si se emplea color y encabezado/pie de página.

Quisiera pensar que las versiones modernas han mejorado en ese aspecto. Quizá seamos pocos quienes imprimimos código, pero no por ello no se debería mejorar esto.


Pego aquí dos imágenes, la primera es la ventana de impresión de Delphi 4, la segunda pertenece a Delphi 2010. No hemos avanzado  :embarrassed:



Saludos

Archivos adjuntos


  • 0

#15 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14.448 mensajes
  • LocationMéxico

Escrito 14 octubre 2010 - 12:58

Yo lo entiendo amigo, pero...... para que imprimir el código, a menos que sea para un libro es justificado siempre y cuando se utilice material reciclado para todo el libro de otra forma desde mi punto de vista es un gasto indiscriminado, incluso muchas empresas ya utilizan el mensaje de no imprimir correos si no es estrictamente obligado.

Según tu planteo de que sea todo digital... bueno, a ver... ¿cómo le explicas a la gente de pocos recursos que paga pagar la factura de luz, gas o agua de su quinchito en donde tiene dos gallinas flacas debe ir a una PC con conexión a internet y hacer una gestión on-line y se evita tener papel de miles de facturas?


Esto tiene varias connotaciones, pero en el caso que nos acoge es claro que estamos hablando de imprimir código, muchos libros ya son digitales, los periódicos ya son en línea, etc. sin embargo, se continúa imprimiendo para satisfacer las necesidades que sugieres y porque no, para aquellos que les gana el sentimiento y les gusta leer en papel.

Referente a la energía gastada pues que te digo, es como decir que usemos la bicicleta en lugar del auto, algo muy romántico pero nada práctico por muchas razones de seguridad y de distancias, que leamos a la luz del día para no encender la luz.

Y el problema como dices está en no se regeneran las cosas, pero..... ¿por esa razón no hacer nada nosotros evitando la impresión innecesaria ?

Simplemente son diferentes tipos de pensamiento amigo.

Salud OS
  • 0

#16 Marc

Marc

    Advanced Member

  • Moderadores
  • PipPipPip
  • 1.484 mensajes
  • LocationMallorca

Escrito 14 octubre 2010 - 01:02

Yo creo que la acción de gastar papel indiscriminadamente debería quedarse en el pasado, con el uso de dispositivos digitales ya no debería imprimirse nada, bueno, eso pienso yo :p :)


Totalmente de acuerdo.

La última vez que me imprimí todo un proyecto, fue hace 20 años y estaba escrito en Clipper. Quinientas hojas del ala en papel continuo. Vamos, una pérdida absurda e inútil de tiempo y papel.

Evidentemente si quería buscar cualquier cosa, me iba antes a buscarlo en el código fuente y no a intentar localizarlo allí.

Eso que era válido hace 20 años, creo que hoy lo sigue siendo aún más, si cabe.

Una cosa es imprimir documentación, jerarquía de clases, interfaces de las mismas, etc. ... Pero imprimir código solo lo veo útil para unas pocas clases importantes, y unos pocos formularios (los formularios base de la herencia visual). Para todo lo demás : copiarlo en un CD-Rom o a una memoria USB en lugar de dilapidar tropecientas hojas que nunca utilizarás.

NOTA: Delphius, no es lo mismo pasar a papel tu código fuente que los ejemplos que citas. Estamos hablando de un caso muy particular. Por cierto, yo también odio los libros electrónicos, no hay nada como el tacto, el olor y la calidad de imagen de un buen libro tradicional.


  • 0

#17 tmsanchez

tmsanchez

    Advanced Member

  • Miembros
  • PipPipPip
  • 85 mensajes

Escrito 14 octubre 2010 - 01:11

Opps,

Yo solo quería "imprimir" (aunque realmente era juntar todo el código) en un PDF (porque asi me lo pidieron como parte de un proyecto aunque tienen el código fuente en un CD.

En fin.

Saludos
  • 0

#18 andres1569

andres1569

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 431 mensajes

Escrito 14 octubre 2010 - 01:13

Antes de imprimir en papel deberíamos plantearnos con qué finalidad y si vamos realmente a leer todo ese papel en algún lugar. Imprimir por tener copia del código es inútil, puesto que seguramente al día siguiente ya habremos introducido alguna corrección que invalidará lo impreso.

De vez en cuando me imprimo algunas rutinas complicadas que me llevo para echarles un vistazo desde un lugar relajado  :). Y siempre he utilizado para estos menesteres un programa hecho por un italiano que ya ni se encuentra en Google, The Lister, no es ninguna maravilla pero permite ajustar el tipo de letra e imprimir más lineas en menos hojas.

Por cierto, perfeccionar la opción de imprimir también puede tener sentido en Delphi si se quiere lanzar la impresión a un convertidor en .PDF (como sabréis muchos conversores PDF utilizan la técnica de emular una impresora), y dicha copia puede ser leída desde un e-book, tablet PC, iPad ... etc

Saludos
  • 0

#19 Marc

Marc

    Advanced Member

  • Moderadores
  • PipPipPip
  • 1.484 mensajes
  • LocationMallorca

Escrito 14 octubre 2010 - 01:26

Hola.

Opps,

Yo solo quería "imprimir" (aunque realmente era juntar todo el código) en un PDF (porque asi me lo pidieron como parte de un proyecto aunque tienen el código fuente en un CD.

En fin.

Saludos


Esto tiene bastante sentido. Creí que se quería imprimir en papel, lo cual no resulta muy útil, pero en cambio pasar a un formato "universal" como el PDF es otra cosa.

Saludos.
  • 0

#20 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14.448 mensajes
  • LocationMéxico

Escrito 14 octubre 2010 - 01:31

Opps,

Yo solo quería "imprimir" (aunque realmente era juntar todo el código) en un PDF (porque asi me lo pidieron como parte de un proyecto aunque tienen el código fuente en un CD.

En fin.

Saludos


No te preocupes, el asunto no es pelear contigo, es que aquí tenemos la costumbre de discutir hasta porque la mosca voló de lado :D :D :D

En todo caso el asunto sería con quien te hubiese pedido la impresión ;)

Salud OS
  • 0




IP.Board spam blocked by CleanTalk.