ULTRAEDIT EEN INLEIDING
MTSO-INFO 17
KOEN PEPERMANS 1999
Faculteit PSW – Universiteit Antwerpen Contact: prof. dr. Dimitri Mortelmans (
[email protected]) Tel : +32 (03) 820.28.53 - Fax : +32 (03) 820.28.82
MTSO-INFO Documenten in de reeks MTSO-INFO werden geschreven door leden van de vakgroep MTSO (Methoden en Technieken van het Sociaal-Wetenschappelijk Onderzoek) met als doel op een heldere en eenvoudige manier bepaalde thema's van onderzoeksmethoden en computergebruik uit te leggen. De thema’s sluiten aan bij analysetechnieken of softwareprogramma’s die gebruikt worden aan de Faculteit PSW van de Universiteit Antwerpen. Vermits sommige documenten door andere leden van de Universiteit Antwerpen of daarbuiten nuttig kunnen zijn, worden deze gratis online aangeboden op http://www.ua.ac.be/mtso. Het downloaden en verspreiden van deze documenten is toegestaan mits correcte bronvermelding.
WAARSCHUWING: De documenten worden slechts sporadisch bijgewerkt. Dit heeft repercussies voor die documenten die slaan op software. De auteurs hebben niet de bedoeling om bij het uitkomen van nieuwe versies van programma’s steeds het hele document te herschrijven. Daarom dient de lezer er rekening mee te houden dat het document steeds slaat op de softwareversie zoals deze bij het uitkomen van het MTSO-INFO document gangbaar was.
ULTRAEDIT. EEN INLEIDING Inhoud
1 INLEIDING .................................................................................................................... 2 2 ALGEMENE BESPREKING VAN ULTRAEDIT ................................................................... 3 2.1 ENKELE KENMERKEN ........................................................................................................... 3 2.2 HET UE-VENSTER ............................................................................................................. 3 2.3 EEN NUTTIGE EIGENSCHAP: SYNTAX HIGHLIGHTING ..................................................................... 4 3 NUTTIGE FUNCTIES VAN ULTRAEDIT ........................................................................... 5 3.1 KOLOM EDITING ............................................................................................................... 6
3.1.1 3.1.2 3.1.3 3.1.4
Verticaal invoegen van tekst ................................................................................ 6 Verticaal verwijderen van tekst............................................................................. 7 Verticaal knippen en plakken................................................................................ 8 Verticaal invoegen van nummers .......................................................................... 9
3.2.1 3.2.2 3.2.3
Zoeken en vervangen binnen geopende bestanden .............................................. 10 Zoeken en vervangen binnen een directory ......................................................... 11 Zoeken en vervangen met expressies ................................................................. 13
3.2 ZOEKEN EN VERVANGEN BINNEN UE ..................................................................................... 10
3.3 HET GEBRUIK VAN TEMPLATES............................................................................................. 16 4 VOORLOPIG BESLUIT.................................................................................................. 17
© MTSO – INFO / UA - FPSW
2
1 Inleiding Bij het bewerken van tekst op computer denken we meestal spontaan aan pakketten zoals MS Word of WordPerfect. Deze tekstverwerkers bieden een veelheid aan functies en mogelijkheden om tekst in combinatie met andere objecten samen te brengen in een mooi ogend geheel. Voor een aantal taken hebben we echter geen behoefte aan al deze opmaakmogelijkheden. Zo hebben we voor een programma in SAS of een invoerbestand van Access slechts nood aan eenvoudige tekstbestanden zonder franje. Andere bestandsformaten zijn hierbij niet bruikbaar. Onder eenvoudige tekstbestanden verstaan we bestanden die slechts gebruik maken van de 255 tekens uit de ASCII-tabel1. Ook de HTML-bestanden die binnen het WWW gebruikt worden zijn slechts tekstbestanden. Reeds in de beginjaren van de computer heeft men specifieke programma’s ontwikkeld die als enige doel hadden dergelijke tekstbestanden te bewerken. Deze worden algemeen samengebracht onder de noemer (tekst-)editors. Bij elk besturingssysteem worden dergelijke editors meegeleverd. De mogelijkheden van deze programma’s variëren van zeer beperkt (notepad/kladblok onder Windows) tot zeer uitgebreid (vi onder Unix). Het streefdoel van de meeste auteurs van dergelijke programma’s is tweeledig: 1. het maken van een zeer krachtig en flexibel stuk gereedschap om tekst te bewerken 2. het programma zo gebruiksvriendelijk mogelijk maken Niet alle programma’s slagen erin beide eisen met elkaar te verzoenen. Naar onze mening is dit echter wel het geval voor de teksteditor die hier besproken wordt. Het programma Ultraedit (UE) kan zeer goed gebruikt worden als een eenvoudige editor zonder dat de gebruiker alle geavanceerde functies begrijpt of kent. Anderzijds biedt het programma aan de gebruikers die dat wensen ook een reeks unieke functies die men zelden terugvindt in andere editors. In deze beperkte toelichting bij het programma lichten we een aantal van deze functies toe. Het is aan de gebruiker om zelf te bepalen welke eventueel nuttig kunnen zijn in het dagelijkse gebruik. Webadres waar je steeds de laatste versie van het programma terugvindt: http://www.kpsoft.be/ue_idx.php
1
ASCII staat voor American Standard Code for Information Interchange. Aangezien bijna alle computers deze standaarden volgen, zijn tekstbestanden tussen de meeste types computer uitwisselbaar (mits kleine aanpassingen). © MTSO–INFO / UA–FPSW - http://www.ua.ac.be/mtso/
3 2 Algemene bespreking van Ultraedit 2.1 Enkele kenmerken Enkele gegevens over het programma om aan te duiden wat de meerwaarde is ten opzichte van bij voorbeeld het kladblok van Windows. ¾ bestanden bewerken tot 2Gb ¾ uitgebreide zoek- en vervangfuncties (binnen geopende bestanden of binnen bestanden in een directory) ¾ syntax-highlighting ¾ kolom editing ¾ gebruik van templates (sjablonen) ¾ gebruik van macro’s ¾ vergelijken van bestanden 2.2 Het UE-venster
Figuur 1 Overzicht van het UE-venster
Het venster van UE houdt zich aan de gangbare conventies van Windows. Er wordt getracht de verschillende functies naar inhoud onder een menu te . groeperen. We geven een korte toelichting bij elk menuitem File Edit
Hieronder vind je alles terug om nieuwe bestanden aan te maken, bestaande bestanden te openen, te sluiten, af te printen en dergelijke. Daarnaast nog enkele specifieke UE-functies. Dit item herbergt de functies om tekst te selecteren, kopiëren/knippen
© MTSO–INFO / UA–FPSW - http://www.ua.ac.be/mtso/
4 en plakken. UE ondersteunt tot 9 eigen klemborden om selecties te bewaren. Search Hieronder bevinden zich alle functies om te zoeken en/of vervangen binnen geopende bestanden of eventueel in bestanden op de harde schijf. Project UE geeft de mogelijkheid aan de gebruiker om aan te duiden dat bestanden in een project samen horen. Deze kunnen dan samen met slechts één handeling geopend worden. View Hieronder vind je alles terug om de weergave van tekst en de verschillende gereedschappen van UE te bepalen. Format Hoewel de opmaakmogelijkheden uiteraard beperkt zijn, zijn hier een aantal functies bijeengebracht om het uiterlijk van de tekst aan te passen. Column UE kent een aantal unieke kolomfuncties die onder dit menuitem samengebracht zijn. Macro Net zoals in programma’s zoals Word en Excel kan de gebruiker macro’s opnemen om veel gebruikte combinaties van bevelen samen te brengen. Advanced De uitgebreide opties van het programma kunnen hier ingesteld worden. Window Alles in verband met het tonen van geopende bestanden binnen UE. Help Hieronder vind je de uitgebreide helpfunctie van UE. Je kan er zelf nog bijkomende helpbestanden aan toe voegen. en via Een aantal functies van UE zijn eveneens bereikbaar via de knoppenbalk een snelmenu onder de rechtermuisknop (RMK). De gebruiker krijgt eveneens een . overzicht van de geopende bestanden via een balk met tabbladen Onder het werkgebied wordt in de statusbalk informatie gegeven over het bestand zoals de positie (kolom, regel), de modus (DOS of UNIX) en de bestandsgrootte.
2.3 Een nuttige eigenschap: syntax highlighting UE biedt een voorziening die meestal voorbehouden is aan de ontwikkelomgevingen van programmeertalen zoals Visual Basic of C++. De gebruiker kan aangeven dat bepaalde termen in bestanden met een bepaalde extensie (bv. .sas of .html) in een andere kleur moeten weergegeven worden. Dit noemt men de syntax highlighting. Hoewel het de gebruiker vrij staat zelf dergelijke lijsten aan te leggen, is het handiger om een keuze te maken uit de lijsten die reeds verzameld werden door andere gebruikers. Zo is er een bestand met SAS-termen evenals een bestand met HTML-termen. UE ondersteunt een simultaan gebruik van 10 talen of bestandstypen.
© MTSO–INFO / UA–FPSW - http://www.ua.ac.be/mtso/
5
Figuur 2 Configuratiescherm syntaxhighlighting /L6"SAS" Line Comment = ** Block Comment On = /* Block Comment Off = */ Nocase File Extensions = SAS CMD /Delimiters = ~!@^&*()-+=|\/{}[]:;"'<> , .? /C1 _null_ abort array attrib and by call cards cards4 center data delete do drop dim else end eof file format formchar footenote footenote1 footenote2 footenote3 footenote4 footenote5 footenote6 footenote7 footenote8 footenote9 footenote10 firstobs filename
Hierboven ziet u een stukje uit het bestand wordfile.txt waarin de termen opgesomd worden. In de eerste regel wordt aangeduid om welk type bestanden het gaat (SAS), welke tekens gebruikt worden om aan te duiden dat het om commentaar gaat (* /* */) en bij welke extensies deze regels toegepast dienen te worden (.sas, .cmd). Daarna wordt er een opsomming gegeven van die termen die met een andere kleur moet weergegeven worden. Het resultaat van deze operatie is dat je als gebruiker snel een zicht krijgt op de structuur van je programma. Fouten en vergetelheden worden op deze wijze sneller gevonden. 3 Nuttige functies van Ultraedit In dit stuk willen we een aantal functies toelichten. Als voorbeeld nemen we volgende situatie: we willen gegevens van SAS overbrengen naar Access of Excel. We moeten met andere woorden een invoerbestand aanmaken. Het vertrekpunt is de output die gegenereerd wordt door proc print in SAS.
© MTSO–INFO / UA–FPSW - http://www.ua.ac.be/mtso/
6
Figuur 3 Output van proc print
Als eerste stap verwijderen we de regel ‘The SAS System’ bovenaan. De variabelnamen laten we staan aangezien we die kunnen gebruiken bij het inlezen van de gegevens. 3.1 Kolom editing Een functie die uniek is voor UE, is het zogenaamde kolom editing. Hierbij krijg je de mogelijkheid om binnen je tekst verticale bewerkingen te doen (vandaar de term kolom). UE ondersteunt volgende kolomfuncties: Verticaal Verticaal Verticaal Verticaal
invoegen van tekst verwijderen van tekst knippen en plakken van tekst invoegen van nummers
3.1.1 Verticaal invoegen van tekst Een eerste toepassing is het invoegen van tekst. Hierbij heb je twee keuzes: ofwel voeg je in het gehele bestand een reeks tekens in, ofwel selecteer je een aantal regels en voeg je hier de tekst in. De eerste stap bij kolombewerkingen is steeds het aanzetten van de kolommodus.
© MTSO–INFO / UA–FPSW - http://www.ua.ac.be/mtso/
7 Een veel gebruikt invoerformaat voor Excel of Access is het zogenaamde ‘tekstbestand met lijstscheidingsteken’. Elke regel bevat hierbij één record en elk veld (of variabele) wordt gescheiden door een vast teken. Meestal wordt hiervoor de punt-komma gebruikt. Dit is binnen UE een eenvoudige handeling. Je plaatst de cursor op de positie waar je tekst wil invoegen en selecteert in het menu de functie Insert/Fill Columns.
Dit herhalen we voor elk van onze variabelen. Dit levert ons het resultaat in Figuur 4 op.
Figuur 4 Resultaat van invoegen punt-komma
3.1.2 Verticaal verwijderen van tekst In ons bestand zit echter nog een overbodige kolom (observatienummer). Ook hier biedt de kolommodus uitkomst. Ofwel selecteren we verticaal een deel van de kolom (linkse voorbeeld). Daarbij wordt alleen de selectie verticaal verwijderd.Willen we de hele kolom verwijderen dan selecteren we in de eerste regel het aantal kolommen dat verwijderd dient te worden (rechtse voorbeeld).
© MTSO–INFO / UA–FPSW - http://www.ua.ac.be/mtso/
8
In het menu kiezen we de functie Delete Columns. Nog éénmaal klikken op Ok in het dialoogvenster en de overbodige tekst is (verticaal) verwijderd. Dit zie je weergegeven in Figuur 5.
Figuur 5 Resultaat van verwijderen kolom
3.1.3 Verticaal knippen en plakken Het gebruik van de functie Cut Columns verloopt analoog aan de voorgaande. Ook hier dien je eerst een selectie te maken. Daarna selecteer je in het menu de functie Cut Columns. De tekst die je geknipt hebt, kan je daarna op een andere plaats invoegen. Hiertoe plaats je de cursor op de positie waar de tekst ingevoegd moet worden en kies je in het menu (onder Edit) Paste.
© MTSO–INFO / UA–FPSW - http://www.ua.ac.be/mtso/
9 3.1.4 Verticaal invoegen van nummers Een laatste kolomfunctie die veel tijd uitspaart, is de functie Insert Number. Hierbij wordt verticaal een oplopend nummer ingevoegd. De toename per regel kan natuurlijk ook bepaald worden.
Dit kan bij voorbeeld handig zijn bij het schrijven van SAS-programma’s waarbij je voor een hele reeks variabelen eenzelfde handeling moet uitvoeren (tenzij het natuurlijk sneller gaat met behulp van arrays). Een klein voorbeeldje kan dit duidelijk maken. Stel dat we voor elke variabele een nieuwe variabele willen maken indien voldaan is aan een bepaalde voorwaarde. We zouden dezelfde regel uiteraard voor elke variabele kunnen schrijven of eventueel de gemeenschappelijke delen kunnen kopiëren. Binnen UE gaat dit echter sneller met de kolomfuncties. 1
2
© MTSO–INFO / UA–FPSW - http://www.ua.ac.be/mtso/
10 3
4
3.2 Zoeken en vervangen binnen UE Een tweede krachtige functie van UE is de zoek- en vervangfunctie. Hierbij kunnen we een onderscheid maken tussen zoeken en vervangen binnen één bestand, binnen alle bestanden die geopend zijn en in alle bestanden in een bepaalde directory. Daarnaast biedt UE ook de mogelijkheid om te zoeken en vervangen met behulp van expressies.
3.2.1 Zoeken en vervangen binnen geopende bestanden
Figuur 6 Dialoogvenster Zoeken en Vervangen
© MTSO–INFO / UA–FPSW - http://www.ua.ac.be/mtso/
11 We zullen de operatie opnieuw toelichten aan de hand van ons voorbeeldbestand. Stel dat we de punt-komma willen vervangen door een ander teken. Hiertoe selecteren we in het menu Search de functie Replace. In de invulvakken voeren we de benodigde informatie in. Hier kunnen we eveneens opgeven waar UE moet zoeken. Meestal zal dit binnen het actieve bestand zijn. Eventueel kunnen we echter ook dezelfde operatie uitvoeren voor alle bestanden die op dat moment geopend zijn binnen het programma. Dit kan vaak handig zijn wanneer je binnen een reeks SAS-programma’s de naam van een format of variabele wil veranderen. UE geeft na de operatie aan hoeveel keer de tekenreeks gevonden en vervangen werd. Eventueel kunnen we terugkeren naar het dialoogvenster om een bijkomende operatie uit te voeren. Gemakkelijk hierbij is dat UE een tiental zoektermen bijhoudt.
UE kent ook enkele speciale zoektermen die nuttig kunnen blijken. Zo zouden we bij voorbeeld op het einde van elke regel een scheidingsteken kunnen invoeren. Vooral de volgende twee zoektermen zijn zeker nuttig. ^p ^t
Met behulp van het einde-regelteken kunnen we zoekopdrachten opgeven die alleen uitgevoerd worden wanneer de tekenreeks op het einde van de regel voorkomt. Het zoeken op tabs in een bestand levert vaak problemen op. Hiertoe gebruiken we binnen UE het tab-teken.
Een laatste woord van waarschuwing tenslotte: UE kan in vele gevallen handelingen ongedaan maken. Dit geldt echter niet voor de zoek- en vervangoperaties.
3.2.2 Zoeken en vervangen binnen een directory Een functie die we persoonlijk zelf veel gebruiken is het zoeken en vervangen binnen meerdere bestanden in een directory. Zeker bij het onderhoud van een website is deze functie bijna onmisbaar. Ook in andere gevallen kan deze functie echter nuttige diensten bewijzen zoals bij het klaarmaken van basisteksten voor inhoudsanalyse. We beginnen de handeling met het selecteren van de functie (Search Æ Replace in files). In het dialoogvenster geven we de nodige parameters op.
© MTSO–INFO / UA–FPSW - http://www.ua.ac.be/mtso/
12
Figuur 7 Dialoogvenster Zoeken en vervangen in bestanden
In dit geval zoeken we naar een HTML-code in de bestanden en willen we deze vervangen door dezelfde code in kleine letters. We willen alleen zoeken in bestanden met extensie .htm of .html. Tenslotte moeten we ook nog de locatie aangeven waar het programma moet zoeken. Een belangrijke optie hierbij is of het programma ook moet zoeken in de daaronderliggende directories. In dit geval kiezen we hiervoor. Aangezien deze operatie onomkeerbaar is én potentieel heel veel bestanden wijzigt, waarschuwt UE ons op dit punt nogmaals.
Indien je twijfelt, is het steeds aan te raden op deze vraag negatief te antwoorden. Open hierop één bestand van de reeks die je wenst te wijzigen en probeer de zoek- en vervangoperatie hierop. Lijkt alles in orde, dan kan je de operatie uitvoeren op alle bestanden. In ons geval lopen we weinig risico, dus antwoorden we bevestigend. Na een korte tijd meldt UE ons de resultaten.
© MTSO–INFO / UA–FPSW - http://www.ua.ac.be/mtso/
13 Het zoeken en vervangen heeft in totaal enkele seconden geduurd. Het spreekt voor zich dat het openen en sluiten van die 256 bestanden plus het zoeken en vervangen ons heel wat meer tijd had gekost. 3.2.3 Zoeken en vervangen met expressies UE biedt bij de zoek- en vervangfunctie eveneens het gebruik van expressies aan. We kunnen deze beschouwen als geavanceerde zoekfuncties die in sommige situaties uitkomst bieden. Voor diegenen die vertrouwd zijn met vi onder Unix zal dit zeker vertrouwd in de oren klinken. Het uitschrijven van expressies kan soms wel verwarrend lijken. Voor de volledige lijst verwijzen we dan ook graag naar de helpfunctie van UE. Hier zullen we ons concentreren op het geven van enkele handige voorbeelden. Eerst geven we een overzicht van enkele symbolen die gebruikt kunnen worden. %
Hiermee duiden we aan dat de zoekterm zich aan het begin van de regel moet bevinden.
Hiermee geven we aan dat de zoekterm zich aan het einde van de regel moet bevinden. ? Komt overeen met één willekeurig karakter. * Komt overeen met een willekeurige reeks tekens + Zoeken op één of meer keer voorkomen van het voorgaande karakter. ++ Zoeken op nul of meer keer voorkomen van het voorgaande karakter. [] Zoeken op één karakter uit de opgegeven reeks. ^{A^}^{B^} Zoeken op A of B ^(…^) Hiermee kunnen we velden aanduiden die in het vervangveld opnieuw gebruikt kunnen worden.
$
De eerste uitdrukking die we kunnen gebruiken is het zoeken op het voorkomen van één of meerdere spaties. In ons invoerbestand moeten we die immers verwijderen om te voorkomen dat de spaties als deel van de variabelwaarde ingelezen worden. Als vertreksituatie nemen we het bestand zoals weergegeven in Figuur 5. De zoekopdracht ziet er als volgt uit (de optie Regular Expressions niet vergeten !):
© MTSO–INFO / UA–FPSW - http://www.ua.ac.be/mtso/
14
Figuur 8 Dialoogvenster Zoeken en vervangen met expressies
Met andere woorden: vervang op alle plaatsen waar de zoekterm spatie of spaties gevolgd door een punt-komma voorkomt door een punt-komma. Deze puntkomma moeten we eraan toevoegen om te voorkomen dat de spaties in de gemeentenamen eveneens vervangen worden. Het resultaat zien we in Figuur 9.
Figuur 9 Resultaat van zoeken en vervangen met expressies
Met een eenvoudige zoekopdracht vervangen we nu nog de term spatie puntkomma (voor de postcode) door een punt-komma. We verwijderen de tweede regel en ons invoerbestand is klaar om in te lezen in Excel of Access. Bij het tweede voorbeeld van het gebruik van expressies, gaan we een stapje verder. De vertreksituatie is de volgende. We hebben een bestand met twee reeksen woorden. Bedoeling is dat we in elke regel de volgorde van de woorden omkeren.
© MTSO–INFO / UA–FPSW - http://www.ua.ac.be/mtso/
15 aaaa bbbb aap boom adder bever Aalst Brussel
bbbb aaaa boom aap bever adder Brussel Aalst
Een mogelijke oplossing zien we in de volgende figuur:
Figuur 10 Dialoogvenster Zoeken en vervangen met expressies (voorbeeld 2)
Hoewel deze expressie misschien complex overkomt, is het opbouwen ervan slechts een kwestie van het consequent gebruiken van de bouwblokken. We zullen de verschillende elementen van naderbij bekijken. Zoekterm ^( a+ * ^) _spatie_ ^( b * ^) ^p
begin veld 1 zoek een expressie beginnende met minstens één a gevolgd door een willekeurige reeks tekens einde veld 1 gevolgd door een spatie begin veld 2 zoek een expressie beginnende met b gevolgd door een willekeurige reeks tekens einde veld 2 gevolgd door het einde-regelteken
De twee velden die we gedefinieerd hebben, kunnen we nu opnieuw gebruiken in de vervangterm. We duiden ze aan met behulp van een volgnummer waarbij de volgorde overeenstemt met de volgorde in de zoekterm. Vervangterm ^2 _spatie_ ^1 ^p
inhoud veld 2 gevolgd door een spatie inhoud veld 1 gevolgd door een einde-regelteken
© MTSO–INFO / UA–FPSW - http://www.ua.ac.be/mtso/
16 3.3 Het gebruik van templates Wat sjablonen zijn voor Word, zijn templates voor UE. Als gebruiker kan je een aantal tekstfragmenten verzamelen die je vaak gebruikt als basis of vertrekpunt. Een handige toepassing hiervan zijn SAS-templates met veel gebruikte procedures. Ook voor het aanmaken van HTML-bestanden kan je deze templates nuttig aanwenden. Hoewel je als gebruiker eerst wat tijd moet besteden aan het aanmaken van dergelijke templates, zal je later tijd winnen door het gebruik ervan. Je vindt de templates terug onder het menuitem Advanced. Via de menuoptie Display/Modify Templates kan je de bestaande templates bekijken of wijzigen. Je kan hier eveneens nieuwe templates aanmaken. Momenteel kan je tot 20 templates definiëren. Je kan deze oproepen vanuit het menu, via een sneltoetscombinatie (ALT+0 tot 9 en SHIFT+ALT+0 tot 9). Je kan de templates eveneens toevoegen aan de werkbalk zodat je ze steeds met één klik kunt invoegen.
Figuur 11 Overzicht van beschikbare templates
Zoals je in Figuur 11 zijn er momenteel slechts enkele templates gedefinieerd. Je kan optioneel aan elke template een naam toewijzen zodat je ze nog sneller terug kan vinden. Eénmaal de templates gedefinieerd zijn, is het gebruik eigenlijk heel eenvoudig. In een nieuw bestand of in een reeds bestaand bestand positioneer je de cursor waar © MTSO–INFO / UA–FPSW - http://www.ua.ac.be/mtso/
17 je de template wenst in te voegen. Je kiest dan in het menu Insert Template en maakt je keuze uit het lijstje.
Figuur 12 Invoegen template
Je klikt op Insert en de template wordt ingevoegd. Zo kan je met behulp van verschillende templates snel een SAS-programma schrijven of een nieuw HTMLbestand aanmaken. 4 Voorlopig besluit In deze eerste versie hebben we bewust niet gekozen voor een uitvoerige opsomming van alle functies van het programma. Het was geenszins de bedoeling om de bestaande (Engelstalige) handleiding of het uitstekende helpbestand te vervangen. De bedoeling was daarentegen om de nieuwsgierigheid van de gebruikers op te wekken door het tonen van enkele, geavanceerde functies. Misschien zullen sommigen onder jullie Ultraedit leren appreciëren als een handig en flexibel hulpmiddel. Je zal dan merken dat er nog heel wat kleine en grote pareltjes in dit programma voorkomen.
© MTSO–INFO / UA–FPSW - http://www.ua.ac.be/mtso/