ProgrammingHelp

ProgrammingHelp is een programma, wat ontwikkeld is voor Psion OPL-programmeurs. Met ProgrammingHelp kunt u gemakkelijk waarden converteren van bijvoorbeeld het decimale stelsel naar het hexadecimale, octale en/of binaire stelsel. Daarnaast wordt de KMOD- en KEY-waarde van elke toetsaanslag op het scherm weergeven, en kunt u zien hoe bijvoorbeeld de letter P er op het scherm uitziet als u als lettertype bijvoorbeeld Roman 16 , vet en dubbele hoogte heeft gekozen.
Al deze informatie wordt op één scherm weergegeven, zoals in onderstaande afbeelding is te zien:

Hieronder wordt aan de hand van bovenstaande afbeelding een beschrijving gegeven van de functionaliteit van ProgrammingHelp.

Conversie van waarden:
Met ProgrammingHelp kan de gebruiker eenvoudig een decimale waarde converteren naar bijvoorbeeld een octale of een binaire equivalent. De volgende getallenstelsels worden in ProgrammingHelp ondersteund: Decimaal, Hexadecimaal, Octaal, Binair en Character. Met ProgrammingHelp kan men elke waarde van het ene getallenstelsel naar elk ander getallenstelsel omzetten. Een voorbeeld hiervan is in onderstaand (deel)scherm te zien.
In deze afbeelding zijn de volgende decimale waarden ingevoerd: Waarde1=60, Waarde2=20 en de operand='+'. Het totaal komt hiermee op 80. Vervolgens is de decimale waarde 80 omgezet in de andere getallenstelsels: 50 (Hexadecimaal), 120 (Octaal), 01010000 (Binair) en P (Character). Bij het veld Binair staan de bits 7 (meest linkse bit) t/m 0 (meest rechtse bit) op het scherm. Door te drukken op de Pijl-omhoog, scrollen achtereenvolgens bit 15 t/m 8, bit 23 t/m 16 en bit 31 t/m 24 op het scherm. Voor een OPL-programmeur die bijvoorbeeld veel met OS-calls werkt, is het eenvoudig kunnen omzetten van getallen van het ene naar het andere stelsel een ware verademing.

WYSIWYG
What You See Is What You Get. Een veel gebruikte term, die echter niet van toepassing is bij het programmeren op de Psion. De Psion heeft standaard veel lettertype-instellingen. Het probleem is echter dat men pas na het vertalen van de programma-code kan zien hoe het een en ander op het scherm uitpakt. Tevens is het van te voren lastig in te schatten of het karakter bijvoorbeeld in een Box met een bepaalde afmeting past. ProgrammingHelp heeft hier de oplossing voor, zoals te zien is in onderstaand (deel)scherm.
Het karakter 'P' wordt hier weergegeven met het lettertype Roman 16, en wordt vet en met dubbele hoogte geprint. Tevens wordt door ProgrammingHelp nu berekend wat de hoogte en de breedte (aantal pixels) van het karakter is. Daarnaast worden de programmeergegevens weergegeven (gFONT=8, gSTYLE=9). Als u deze gegevens programmeert voordat u de letter 'P' afdrukt, komt de letter 'P' exact hetzelfde op het scherm te staan.
De volgende lettertypes worden door ProgrammingHelp ondersteund: Series 3 Normal 8, Series 3 Bold 8, Series 3 Digits 6x6, Mono 8x8, Roman 8, Roman 11, Roman 13, Roman 16, Swiss 8, Swiss 11, Swiss 13, Swiss 16 en Mono 6x6. Daarnaast kunt u per lettertype elke willekeurige combinatie maken van de volgende zaken: vet, onderstreept, invers, dubbele hoogte, monospaced en cursief. Dit alles geeft u ruim 9.000! verschillende mogelijkheden om een karakter weer te geven. Met ProgrammingHelp kunt u naar hartelust experimenteren met de verschillende lettertypes en aanverwante instellingen.

Codes van de verschillende toetsen
Programmeren betekent dat u moet aangeven welke toetscombinaties door uw programma moeten worden afgevangen. Immers, alleen op deze wijze zijn programma's interactief te maken. Er bestaan voor dit doel vrij lange en onoverzichtelijke conversietabellen. In die tabellen kan men de toetscombinatie opzoeken, en die vervolgens vertalen naar programmacode. Dit is doorgaans een vrij omslachtige manier van werken. ProgrammingHelp biedt ook hier een simpele oplossing.
In dit (deel)scherm is te zijn dat na het drukken op de toets Esc de KEY code 27 gegenereert is. Tevens is duidelijk te zien dat er geen 'modifier'-toetsen zijn ingedrukt (PSION, SHIFT en/of CONTROL toets), want KMOD=0. Elke willekeurige toetscombinatie is op deze wijze bijzonder eenvoudig in uw programma te implementeren. Toets de knoppen-combinatie in ProgrammingHelp in, en gebruik de gegenereerde code (KEY- en KMOD-waarde) in uw programma om een bepaalde handeling te laten verrichten. Kan het eenvoudiger?
Maar, dat is nog niet alles. Op de achtergrond genereert de Psion nog meer (systeem)codes, zogenaamde events (gebeurtenissen). Elke dag bijvoorbeeld verandert om 24.00 uur de datum in de Psion. Dit genereert een zogenaamd event_date_changed. De code die dan gegenereert wordt, kunt u dan in uw scherm aflezen (in dit geval: $405).

Het invoeren van waarden
Het invoeren van waarden is erg gemakkelijk. Kies (met de DIAMOND-toets) in welk getalstelsel u wilt werken (Dec, Hex, Oct, Bin, Char). Het statusvenster (zie de afbeelding hiernaast) laat u te allen tijde zien wat uw huidige voorkeur is. Druk vervolgens op de spatiebalk en vul de waarde(n) en een eventuele operand ( +, -, *, /, AND, OR, geen) in. Na een druk op ENTER staan binnen enkele seconden alle gegevens in beeld. ProgrammingHelp is niet alleen handig, het is ook nog bijzonder snel.

Historie:
Versie 1.0 (december 1997):

Overige informatie
ProgrammingHelp is een zeer complete applicatie. Met ProgrammingHelp kunt u het zware programmeerwerk een stuk verlichten. ProgrammingHelp is een applicatie die alleen op de Psion Series 3a, 3c en 3mx draait, en neemt circa 15 Kb aan geheugen in beslag. Om het programma te downloaden gaat u naar de Download pagina. Hier kunt u gratis het programma downloaden. U kunt dan gebruik maken van de volledige functionaliteit van ProgrammingHelp. Voor het aanvragen van een licentienummer gaat u naar de Registration pagina.