Broncode verzameling (sourcecode printen)

Dit artikel is in 2008 gemaakt voor Gambas versie 2!
Versie 3 heeft een andere plaats voor zijn bestanden!

De broncode van de schermen zit in de bestanden met de uitgang .class, als je de naamgeving systematisch doet beginnend met F__ of Form___. De layout van het scherm is ook tekst en zit in dezelfde naam met uitgang .form. De code van modules heeft extentie .module en zit in M___.module

Broncode is pure tekst en kan in bestandbeheerder preview bekeken, of in Kate geopende worden.
Afdrukken van de broncode gaat niet vanuit gambas. Wel vanuit Kate (bv met regelnummering aan).
Of in OOo Writer, eventueel na het samenvoegen van de broncode van de verschillende forms en modules.

Verzamelen van de broncode in 1 bestand:
(class en modules)

(zie shell script hieronder)

# make a single source file for print purpose etc.
destination="./GambasSource.txt"
tempContent="./SourceTemp.txt"
oneline=" - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - "
doubleline=" = = = = = = = = = = = = = = = = = = = = = = = = = = = = = "
echo "Make a single source txt file for print purpose etc "
if [ "$1" != "" ]; then
echo " start compiling project: "
echo $1
read -n1 -r -p "enter for ok or CTRL-C to stop" key

echo "cleaning up previous files"
rm $destination
rm $tempContent
touch $destination
touch $tempContent
target=$1
echo " Compilation of source code $1 " >>$destination
date >> $destination
echo " " >>$destination
echo " Content: " >> $tempContent
# *.module *.class *.form zijn leesbare tekst
for j in "*.module" "*.class" ;
do
for i in `find $target -name $j`;
do
echo $i >> $tempContent
echo $i >> $destination
echo "" >> $destination
cat $i >> $destination
echo "" >> $destination
echo $oneline >> $destination
done
echo $doubleline >> $destination
echo $doubleline >> $tempContent
echo ""
done
echo " * * * " >> $destination
echo "" >> $destination
cat $tempContent >> $destination
echo " Compilation ready: "
ls -lF $destination
else
echo " missing project directory name to compile source from "
fi

Upd 18/4/2017:
– titel en datum toegevoegd aan begin
– projectnaam ingeven op commandolijn
– enkele en dubbele lijn wat ingekort
(zodat ze beter passen binnen 3-kolom A4 landscape layout in LibreOffice vanwaar ik print)

Ik heb ook overwogen om de projectnaam te gebruiken in de bestandsnaam van de uitvoer, maar dat heeft het nadeel dat je allerlei bestanden hebt rondliggen na verloop van tijd. Nu is het 1 broncode bestand dat telkens gewist wordt.

Printen vanuit OpenOffice / LibreOffice:
… met zo weinig mogelijk moeite 🙂

Maak een layout die voor jezelf goed is om te printen (papier sparen) en toch leesbaar blijft;

  • 2 à 3 koloms
  • landscape kan handig zijn dan krijg je er meer kolommen op
  • Zet een klein letter-grootte, bv 8.
  • Voor het letterype kan je naar een courier-achtig type gaan (bv Cumberland AMT, ..), dat houdt dezelfde breedte voor de letters, wat soms handiger is om bepaalde woorden of reeksen van code terug te vinden omdat ze visueel beter opvallen.
  • Zet een voettekst met documentnaam, paginannummer (aantal pagina’s) en print datum
  • Dubbelzijdig

Open het broncodebestand in Kate, Write of andere pure tekst editor. CTRL-A, CTRL-C om te selecteren en kopieren.
Open de layout in je O/L Office; plak.

Klik bovenaan de naam van het project aan en zet “vet“. Als je het document bewaart en dan de naam van je project geeft, wordt die ook mee in de footer geprint

Waarom printen?

  • Minder magnetisch gevoelige backup
  • Leest aangenamer bij nakijken code (review)
  • Documentatie te bewaren of in te binden voor opdrachtgever
  • Referentie bij het programmeren (als je maar 1 scherm hebt kan je toch heel wat tekst erbij nemen)
  • Archief, transport zonder electronica, …