home *** CD-ROM | disk | FTP | other *** search
/ PDA Software Library / pdasoftwarelib.iso / PSION / MISC / JAICNV / JAICNVNL.TXT < prev    next >
Encoding:
Text File  |  1994-08-14  |  29.4 KB  |  687 lines

  1.  
  2. Algemeen conversie rekenprogramma voor de Psion Series 3a
  3.                    Versie 1.0
  4.  
  5.           Copyright (c) 1994 M.D. Nijdam
  6.  
  7. Email: marco@west.nl
  8. Adres: Kerklaan 7c
  9.        NL-2283 CM  Rijswijk
  10.        Nederland
  11.  
  12. ======================================================================
  13. Inhoudsopgave
  14. ----------------------------------------------------------------------
  15.  
  16. Voorbehoud
  17. Het programma en de naam
  18. Inleiding
  19.     Voordelen boven andere conversie programma's
  20.     Nadelen ten opzichte van andere tools
  21. Gebruik van het programma
  22.     Om te beginnen
  23.     In het programma
  24. Andere mogelijkheden
  25.     Veranderen van de database
  26.     Berekeningen uitvoeren
  27.     Veranderen van de weergave precisie
  28.     Veranderen van de getal notatie
  29.     Bewaren van voorkeuren als instelling bij het starten
  30.     Gebruik van een getal uit een Calc geheugen
  31.     Bewaren van getal in Calc geheugen
  32.     Tips
  33.     Buitennissigheden
  34. Veranderen van de database
  35.     Database specificatie
  36.     Categorieën invoeren
  37.     Standaard instellingen (defaults)
  38.     Beperkingen
  39. Vertalingen
  40.     Internationalisatie
  41.     Vertalen van de help file
  42.     Tips
  43. OPL code
  44.     Vertalen
  45.     Hergebruik
  46. Ten slotte: Hou me op de hoogte
  47.  
  48. ======================================================================
  49. Voorbehoud
  50. ----------------------------------------------------------------------
  51.  
  52. Dit programma is vrije software; je mag het verspreiden en/of wijzigen
  53. onder de voorwaarden van de GNU General Public License zoals door de
  54. Free Software Foundation gepubliceerd; versie 1, of (naar keuze) een
  55. latere versie.
  56. Dit programma wordt verspreid in de hoop dat het nuttig zal zijn,
  57. maar ABSOLUUT ZONDER GARANTIE; zelfs zonder de impliciete garantie
  58. van VERKOOPBAARHEID of GESCHIKTHEID VOOR EEN BEPAALD DOEL. Zie de
  59. GNU General Public License voor meer details.
  60.  
  61. Tezamen met dit programma moet je een kopie van de GNU General Public
  62. License hebben ontvangen; zo niet, schrijf dan naar de Free Software
  63. Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  64.  
  65. ======================================================================
  66. Het programma en de naam
  67. ----------------------------------------------------------------------
  68.  
  69. JAICNV is een afkorting voor "JAI convert". Het is een algemeen conversie
  70. programma voor de Psion 3a, dat de conversie van een getal van één
  71. eenheid in een andere berekent. Het is algemeen omdat de conversie
  72. regels in een database staan, die met het standaard Data programma
  73. op de Psion 3a kunnen worden gewijzigd. Je kan eenvoudig nieuwe
  74. conversies toevoegen. Meer hierover verderop in dit document.
  75.  
  76. JAI is de afkorting van "Just An Idea", of wel "zomaar een idee".
  77. In het Frans (geschreven als J'ai) betekent het ook "Ik heb", of
  78. in het Engels "I have", wat je misschien herinnert aan de beroemde
  79. toespraak van Martin Luther King: "I have a dream". In mijn geval
  80. betekent het ook "Ik heb een idee".
  81.  
  82. ======================================================================
  83. Inleiding
  84. ----------------------------------------------------------------------
  85.  
  86. Oh nee, niet nog een conversie programma! Is het beter dan de andere
  87. honderd die ik heb gezien?
  88.  
  89. Natuurlijk ben ik van mening dat dat het geval is. Hoewel het in het
  90. gebruik eenvoudig is, zijn de mogelijkheden van dit programma eindeloos.
  91. JAICNV kan elk getal omzetten in elk ander, als er maar een formule
  92. is om dat te doen.
  93.  
  94.       Om maar eens een paar mogelijkheden te noemen:
  95.       - Omzetten van elke lengtemaat naar elke andere: inches, meters,
  96.         kilometers, yards, miles, parsecs, etc. etc.
  97.       - Idem voor oppervlakte-, en volumematen, massa en snelheid.
  98.       - Omrekenen van temperatuur, zelfs van Celcius naar Fahrenheit,
  99.         hoewel dat met een formule moet en niet met een factor.
  100.       - Munteenheden omrekenen voor elke munteenheid.
  101.       - Je kan zelf je favoriete formules met één, of met een truc
  102.         zelfs enkele, variabelen in dit programma zetten.
  103.  
  104. Bij dit programma heb ik een database met vele eenheden in bovenstaande
  105. categorieën gevoegd. En het is eenvoudig om zelf nieuwe toe te voegen,
  106. of bestaande te wijzigen. Dat laatste is vooral belangrijk bij
  107. munteenheden, omdat de wisselkoersen bijna dagelijks veranderen.
  108.  
  109. En dat is nog niet alles. Het is mogelijk om de geheugens van de
  110. Psion Calc tool direct (of indirect) te gebruiken, en om berekende
  111. waarden weer in een Calc geheugen op te slaan. Daarmee is het tevens
  112. mogelijk getallen naar andere programma's, zoals Word, Data en Sheet
  113. te kopiëren.
  114.  
  115. Voordelen boven andere conversie programma's
  116. =====================================================================
  117.  
  118.     - Dit is vrije software.
  119.     - De programma code wordt meegeleverd.
  120.     - Alles kan veranderd worden.
  121.     - Het gebruikers interface kan in verschillende talen worden
  122.       vertaald, zonder dat de programma code veranderd hoeft te
  123.       worden.
  124.     - Het kan vele conversie regels aan in één database, die
  125.       eenvoudig door de gebruiker kunnen worden ingevoerd.
  126.       Maar het kan ook meerdere databases aan.
  127.     - Conversies zijn gesplitst per categorie, voor eenvoudige
  128.       selectie.
  129.     - Conversies die niet nodig zijn kunnen eenvoudig worden
  130.       verwijderd, om geheugen te sparen.
  131.     - Interface met Calc tool in twee richtingen.
  132.     - Het is zelf ook een calculator die expressies met functies
  133.       kan uitrekenen.
  134.  
  135. Nadelen ten opzichte van andere tools
  136. =====================================================================
  137.  
  138.     - Dit is vrije software.
  139.     - Geen garantie, geen ondersteuning.
  140.     - Alles kan veranderd worden.
  141.  
  142. ======================================================================
  143. Gebruik van het programma
  144. ----------------------------------------------------------------------
  145.  
  146. Om te beginnen
  147. ======================================================================
  148.  
  149. Kopieer de volgende files:
  150.  
  151.      jaicnv.opa     naar \app directory
  152.      jaicnvnl.dbf   naar \dat directory
  153.      jaicnvnl.hlp   naar \dat directory
  154.  
  155. Installeer het programma met de Installeer optie uit het Apps menu
  156. op het systeem scherm.
  157.  
  158. Start het programma door het icoon voor het programma te selecteren
  159. en op Enter te drukken.
  160.  
  161. Een alternatief is om de OPL code te veranderen zodat het in een OPO
  162. kan worden gecompileerd, door de APP definitie weg te halen.
  163.  
  164.  
  165. In het programma
  166. ======================================================================
  167.  
  168. Nadat het programma gestart is zie je het voorbehoud. Druk op Enter
  169. om naar het openingsscherm te gaan. Van hieruit kun je Help opvragen,
  170. via het menu een aantal acties ondernemen, of naar het hoofdscherm
  171. gaan door op Enter te drukken.
  172.  
  173. Vanaf het hoofdscherm kan je weer naar het openingsscherm terug door
  174. op Esc te drukken.
  175.  
  176. Op het hoofdscherm kan je de categorie en de eenheden uitkiezen,
  177. en de om te zetten waarden invoeren. Telkens als je een wijziging
  178. maakt moet je op de Enter toets drukken. Het is belangrijk in wel
  179. veld je op Enter drukt. Als je bijv. in het veld voor de "van" waarde
  180. op Enter drukt wordt de "Naar" waarde berekend. Druk je op Enter in
  181. het veld voor de "Naar" waarde dan wordt de "Van" waarde berekent.
  182.  
  183.       De namen "Van" en "Naar" zijn dus eigenlijk wat misleidend,
  184.       omdat je (meestal) in beide richtingen kan omzetten.
  185.       Een reden om ze toch te gebruiken is dat in een incomplete
  186.       database niet alle conversies in twee richtingen hoeven te zijn.
  187.  
  188. Bij de start zijn sommige velden niet toegankelijk. Als je een
  189. categorie uitzoekt en op Enter drukt in het categorie veld worden
  190. de velden voor de eenheden toegankelijk. Als je de eenheden uitzoekt
  191. en in één van de eenheid velden op Enter drukt worden de velden voor
  192. de waarden toegankelijk. Als je later de categorie veranderd kan het
  193. voorkomen dat sommige velden weer worden beschermd.
  194.  
  195. Samenvatting: Druk op Enter, en nog eens, en weer, en weer...
  196.  
  197.  
  198. ======================================================================
  199. Andere mogelijkheden
  200. ----------------------------------------------------------------------
  201.  
  202. Veranderen van de database
  203. ======================================================================
  204.  
  205. Standaard wordt de eerste database met een filenaam die voldoet aan
  206. "\dat\jaicnv*.dbf" gebruikt. Je kan echter een andere database
  207. uitkiezen. Hoe je zo'n database maakt wordt verderop beschreven.
  208.  
  209. Om de database te veranderen moet je naar het hoofdscherm gaan
  210. (vanaf het opening scherm druk je op Enter). Het laatst punt
  211. op het hoofdscherm gebruik je om een (database) file uit te zoeken.
  212. Druk op Enter in het filenaam veld om de geselecteerde database
  213. te openen.
  214.  
  215. Het veld werkt zoals velden om files te selecteren in andere Psion
  216. applicaties. Dus door op Tab te drukken kan je meer gedetailleerd
  217. de gewenste file uitzoeken.
  218.  
  219. Kijk ook eens in de sectie over "internationalisatie" elders in
  220. dit document.
  221.  
  222.  
  223. Berekeningen uitvoeren
  224. ======================================================================
  225.  
  226. In de waarde velden kan je niet alleen waarden invoeren, maar ook
  227. expressies. Je bent slechts beperkt door de lengte van een regel.
  228. Als je op Enter drukt in een veld met een expressie, wordt eerst
  229. de waarde van de expressie berekent, en daarmee de waarde voor het
  230. andere veld, gebruik makend van de conversie formule. Om de waarde
  231. van de expressie zelf te zien moet je dan wel de zelfde Van en Naar
  232. eenheid gebruiken, of eerst de andere waarde laten berekenen, zoals
  233. hierboven geschreven, en dan in het andere waarde veld op Enter
  234. drukken.
  235.  
  236. Er wordt een fout gegeven als de expressie niet correct is.
  237.  
  238. Elke OPL expressie kan gebruikt worden. Dit betekent dat je gebruik
  239. kunt maken van +, -, *, /, **, %, (, ), OPL functies (zoals sin(),
  240. cos(), tan(), pi, ln(), exp(), ja zelfs rnd), Calc geheugens (M0 to M9),
  241. hexadecimale getallen (bijv. $0D), etc.
  242.  
  243.  
  244. Veranderen van de weergave precisie
  245. ======================================================================
  246.  
  247. In het begin toont JAICNV waarden met 20 cijfers.
  248. Je kan zowel het aantal decimalen als de maximale breedte van
  249. berekende waarden veranderen. Vanaf het opening scherm druk je op de
  250. Menu toets en kies je van het "Speciaal" menu de optie "Voorkeuren".
  251. Verander de "Maximale breedte" zoals je wilt en druk op Enter om
  252. het vast te leggen.
  253.  
  254. In de volgende sectie wordt ook het getal formaat besproken.
  255.  
  256.  
  257. Veranderen van de getal notatie
  258. ======================================================================
  259.  
  260. Bij de voorkeuren (zie Veranderen van weergave precisie) kun je
  261. ook de notatie van getallen veranderen. Kies voor
  262.  
  263. - wetenschappelijk      : Wetenschappelijk formaat, met mantissa en
  264.                           exponent. In dit geval kan je ook het aantal
  265.                           decimalen aangeven.
  266. - Vast aantal decimalen : Het getal wordt getoond met het aantal
  267.                           opgegeven decimalen.
  268. - Optimaal              : Gebruikt vast aantal decimalen als dat
  269.                           mogelijk is, anders wetenschappelijk. Dit
  270.                           is de instelling bij het eerste starten
  271.                           Het aantal decimalen wordt in dit geval niet
  272.                           gebruikt.
  273.  
  274.  
  275. Bewaren van voorkeuren als instelling bij het starten
  276. ======================================================================
  277.  
  278. De huidige voorkeuren kunnen in de huidige open database worden
  279. bewaard. De volgende keer dat je die database opent zullen die
  280. voorkeuren weer worden gebruikt.
  281.  
  282. Om de voorkeuren te bewaren druk je, vanaf het opening scherm, op de
  283. Menu toets en kies je uit het "Speciaal" menu de optie "Bewaar
  284. Voorkeuren".
  285.  
  286. Hierdoor wordt ook het huidige Calc geheugen in de database bewaard.
  287.  
  288.  
  289. Gebruik van een getal uit een Calc geheugen
  290. ======================================================================
  291.  
  292. Op het hoofdscherm, in één van de twee velden voor waarden kan ook
  293. de naam van een Calc geheugen worden ingevoerd. De naam bestaat
  294. uit de letter M en een nummer tussen 0 en 9, bijv. "m1".
  295.  
  296.  
  297. Bewaren van getal in Calc geheugen
  298. ======================================================================
  299.  
  300. Kies vanaf het openingsscherm uit het "Geheugen" menu de optie
  301. "Mx=Van waarde" of "Mx=Naar waarde" om de huidige waarde van het
  302. Van of Naar veld in het huidige geheugen op te slaan (x is het
  303. nummer van dat geheugen). Als het Van (of Naar) veld een expressie
  304. bevat wordt de waarde hiervan opgeslagen.
  305.  
  306. Het huidige Calc geheugen kan je met de optie "Wijzig geheugen"
  307. uit het "Geheugen" menu veranderen.
  308.  
  309. LET OP: Bewaren in een Calc geheugen is gevaarlijk. Andere programma's
  310.       (zoals Calc) kunnen dat geheugen ook veranderen. De laatst
  311.       bewaarde waarde (door welk programma ook gezet) wordt gebruikt.
  312.  
  313.  
  314. Tips
  315. ======================================================================
  316.  
  317. - In elk van de velden met lijsten (categorie, Van eenheid en
  318.   Naar eenheid) kun je snel naar een item toe springen door
  319.   de eerste letter ervan in te drukken. Meerdere malen dezelfde
  320.   letter drukken levert telkens het volgende item dat met
  321.   dezelfde letter begint.
  322. - Als je bijv. vierkante internationale zeemijlen om wil zetten
  323.   in vierkante meters (deze staat (nog) niet in de database, kan
  324.   dat als volgt: kies in categorie lengte de meter en intern.
  325.   zeemijl eenheden; converteer van zeemijl naar meter; wissel
  326.   Van eenheid naar zeemijl en Naar eenheid naar meter, ga naar
  327.   het Naar waarde veld (nu nog met naam "meter") en druk op
  328.   Enter. Het Van waarde veld (nu met naam "meter") bevat het
  329.   resultaat.
  330. - Voor conversie van graden naar radialen (nog niet in database)
  331.   kun je de OPL functie rad() gebruiken. Kies Van en Naar unit
  332.   het zelfde en type in Van waarde veld "rad(123)" en druk op
  333.   Enter.
  334.  
  335.  
  336. Buitennissigheden
  337. ======================================================================
  338.  
  339. Je kunt een conversie in de database zetten (verderop wordt beschreven
  340. hoe) waarvan de conversie factor gelijk is aan een Calc geheugen, of
  341. waarvan in de conversie formule één of meerdere Calc geheugens bevat.
  342.  
  343.     - Dit kan handig zijn voor conversies die erg veel veranderen,
  344.       zoals wisselkoersen. Door de huidige koers in een Calc geheugen
  345.       te zetten kun je eenvoudig met wisselende koersen werken.
  346.     - Het kan ook gebruikt worden voor "Wat als" omzettingen, zoals
  347.       "Wat gebeurt er met de opbrengst als de rente varieert tussen
  348.       een aantal waarden". De rente kan in een geheugen worden
  349.       gezet, de invoer in het ene veld, en de opbrengst wordt berekend
  350.       in het andere veld.
  351.     - Het is ook mogelijk om dit te gebruiken voor formules die meer
  352.       dan één variabele hebben.
  353.  
  354. In een formule kun je ook meer malen de ingevoerde waarde laten
  355. opnemen. Zie verderop over veranderen van de database.
  356.  
  357. Door het gebruik van OPL functies kun je hele complexe en ook
  358. niet voor de hand liggende conversies doen. Bijvoorbeeld, om te
  359. converteren van een verschil in tijd naar seconden, kun je de
  360. volgende formule gebruiken (schrik niet):
  361.  
  362.     datetosecs(1994;01;01;val(left$("xx";2));val(mid$("xx";3;2));
  363.     val(mid$("xx";5;2)))-datetosecs(1994;01;01;val(mid$("xx";8;2));
  364.     val(mid$("xx";10;2));val(mid$("xx";12;2)))
  365.  
  366. Hierin is aangenomen dat de "waarde" die ingevoerd is door
  367. de gebruiker de volgende syntax heeft: uummss-uummss.
  368. uu is uren, mm minuten en ss seconden. Bijvoorbeeld
  369. 120101-120002 zou als aantal seconden 59 moeten opleveren.
  370.  
  371.  
  372. ======================================================================
  373. Veranderen van de database
  374. ----------------------------------------------------------------------
  375.  
  376. Zoals eerder gezegd zijn alle conversie specificaties opgeslagen in
  377. een database. Dit is een normale database die met het standaard Data
  378. programma op de Psion 3a kan worden gewijzigd. Alle velden in de
  379. database zijn tekst velden, hoewel sommige waarden of formules
  380. moeten bevatten.
  381.  
  382. De conversies zijn gesplitst in categorieën. Elke categorie heeft
  383. een centrale eenheid. Binnen een categorie moeten alle conversies
  384. van of naar die centrale eenheid worden gegeven. JAICNV kan daardoor
  385. binnen een categorie elke eenheid naar elke andere eenheid omzetten,
  386. door via centrale eenheid te rekenen. Je hoeft daarvoor niet de
  387. conversie tussen elk van die eenheden te geven, maar slechts voor
  388. elke eenheid één conversie naar de centrale eenheid.
  389.  
  390.  
  391. Database specificatie
  392. ======================================================================
  393.  
  394. De database bevat zes velden:
  395.  
  396. - Van eenheid
  397. - Naar eenheid
  398.                     In deze twee velden moeten de namen van de
  399.                     eenheden worden ingevuld die in de selectie
  400.                     lijsten voor eenheden op het hoofdscherm komen.
  401.                     Eén van deze eenheden moet altijd centrale
  402.                     eenheid zijn.
  403. - Factor
  404.                     De factor is een getal (of de naam van een Calc
  405.                     geheugen) die aangeeft met welke factor de
  406.                     "Van" waarde moet worden vermenigvuldigd om de
  407.                     "Naar" waarde te krijgen.
  408.                     Omdat deze conversie een factor is, kan JAICNV
  409.                     tevens de conversie van de "Naar" naar de "Van"
  410.                     waarde uitvoeren.
  411.                     Als je een formule wilt gebruiken moet het factor
  412.                     veld leeg zijn.
  413. - Formule
  414.                     Als de conversie niet met een factor kan worden
  415.                     uitgevoerd (bijv. van graden Celsius naar
  416.                     Fahrenheit) moet in dit veld een formule worden
  417.                     gegeven om de "Van" in de "Naar" waarde te kunnen
  418.                     omrekenen. Als je ook van de "Naar" naar de "Van"
  419.                     waarde wilt kunnen omrekenen, moet je in dit geval
  420.                     een apart kaart in de database maken, met de juiste
  421.                     formule.
  422.                     In de formule worden de letters "xx" gebruikt, om
  423.                     de plaats aan te geven waar de "Van" waarde in de
  424.                     formule moet worden ingevuld (één "x" is niet
  425.                     voldoende, omdat in een formule ook de OPL functie
  426.                     "exp()" mag worden gebruikt). Een formule kan
  427.                     een constante zijn (dus zonder xx), maar ook
  428.                     mag in de formule meer keer xx voorkomen (ze
  429.                     worden allen door de ingevulde waarde vervangen).
  430.                     Een formule mag OPL functies bevatten. Let op
  431.                     dat het teken voor scheiding van functie
  432.                     argumenten wordt bepaald door de instelling
  433.                     van de default "DecimalSign" (zie verderop).
  434. - Van beschrijving
  435. - Naar beschrijving
  436.                     Dit zijn langere beschrijvingen van de eenheden.
  437.                     Vaak is het de volledige naam van een eenheid,
  438.                     maar elke tekst is toegestaan.
  439.                     Het wordt getoond vóór de waarde velden op het
  440.                     hoofdscherm.
  441.                     De beschrijving voor de centrale eenheid hoeft
  442.                     niet te worden ingevuld. Deze wordt altijd van
  443.                     categorie kaart gehaald.
  444.  
  445. Categorieën invoeren
  446. ======================================================================
  447.  
  448. Een categorie beschrijving wordt op een aparte kaart ingevuld, en wel
  449. als volgt:
  450.  
  451. - Het "Van eenheid" veld moet de waarde "category:" hebben
  452. - Het "Naar eenheid" veld moet de naam van de centrale eenheid hebben.
  453. - De Factor en Formule velden worden niet gebruikt.
  454. - Het "Van beschrijving" veld moet de naam van de categorie bevatten.
  455.   Deze wordt in de lijst met categorieën op het hoofdscherm gebruikt.
  456. - Het "Naar beschrijving" veld moet de beschrijving voor de centrale
  457.   eenheid bevatten. Deze wordt altijd gebruikt als je van of naar de
  458.   centrale eenheid converteert.
  459.  
  460. Standaard instellingen (defaults)
  461. ======================================================================
  462.  
  463. De database bevat ook een aantal standaard instellingen die je kan
  464. veranderen. Elke standaard instelling staat op een aparte kaart, en
  465. wel als volgt:
  466.  
  467. - Het "Van eenheid" veld moet de tekst "default:" bevatten.
  468. - Het "Naar eenheid" veld moet één van de speciale woorden bevatten
  469.   (zie verderop)
  470. - De factor and formule velden worden niet gebruikt.
  471. - Het "Van beschrijving" veld moet de waarde voor de default bevatten.
  472. - Het "Naar beschrijving" veld wordt niet gebruikt. Eventueel kunnen
  473.   er opmerkingen in staan over welke waarden ingevuld kunnen worden.
  474.  
  475. De volgende speciale woorden kunnen worden gebruikt:
  476. - HelpFile               Pad en filenaam van de te gebruiken help file.
  477. * MemoryNr               Nummer van het actieve Calc geheugen
  478. * ValWidth               Maximale breedte van berekende waarden
  479. * ValPrecision           Aantal decimalen dat van berekende waarden
  480.                          wordt getoond.
  481. * Notation               1 (wetenschappelijk), 2 (vast), 3 (optimaal)
  482. - DecimalSign            Decimaal scheidingsteken: , of .
  483.                          Hierdoor wordt tevens het scheidingsteken
  484.                          voor OPL functieargumenten bepaald op
  485.                          ";" resp. ",".
  486.  
  487. Een aantal van deze standaard waarden kan ook binnen Jaicnv worden
  488. veranderd en weer in de database worden bewaard. Deze zijn aangegeven
  489. met een *.
  490.  
  491. Beperkingen
  492. ======================================================================
  493.  
  494. De implementatie van JAICNV beperkt o.a. het aantal categorieën
  495. en het aantal eenheden binnen en categorie:
  496.  
  497. - De totale lengte van alle categorie namen (in de "Van beschrijving"
  498.   velden op de categorie kaarten) mag niet langer zijn dan 255 minus
  499.   het aantal categorieën.
  500. - De totale lengte van alle namen van eenheden, zoals die in de
  501.   Van of Naar eenheid lijsten op het hoofdscherm voorkomen, mag
  502.   niet langer zijn dan 255 minus het aantal eenheden in de lijst.
  503.   (let op dat eenheden met een factor zowel in de Van als de Naar
  504.   lijst komen).
  505.  
  506. JAICNV waarschuwt als deze grenzen worden overschreden.
  507. Om zoveel mogelijk eenheden in een lijst te krijgen is het verstandig
  508. om en namen van de eenheden zo kort mogelijk te houden. De volledige
  509. naam kan dan in de beschrijving van de eenheid.
  510.  
  511. Verder gelden de volgende beperkingen:
  512.  
  513. - Namen van eenheden mogen niet langer dan 100 karakters zijn
  514. - Beschrijvingen mogen niet langer dan 100 karakters zijn
  515.      Dit zijn eigenlijk geen beperkingen, omdat zulke lange namen
  516.      of beschrijvingen toch niet op het scherm passen.
  517. - Formules mogen niet langer zijn dat 255 tekens, minus de lengte
  518.   van de in te vullen waarde.
  519. - Namen van categorieën en eenheden mogen geen komma's bevatten.
  520.  
  521.  
  522. ======================================================================
  523. Vertalingen
  524. ----------------------------------------------------------------------
  525.  
  526. Internationalisatie
  527. ======================================================================
  528.  
  529. Verschillende landen hebben verschillende lokale eenheden, en
  530. mogelijk verschillende namen voor de zelfde eenheid.
  531.  
  532.      Een "zeemijl" heet in het engels bijvoorbeeld een
  533.      "nautical mile"
  534.  
  535. Omdat JAICNV gebruik maakt van een database met units, en je toestaat
  536. andere databases te gebruiken, is het mogelijk om aparte database
  537. in verschillende talen te maken.
  538.  
  539. In de distributie staat naast de Nederlandse een Engelse
  540. versie van de database, genaamd "jaicnven.dbf" (dit ook om de
  541. verspeidingsgraad van het programma te vergroten, want het
  542. Nederlandse taalgebied is niet zo groot).
  543.  
  544. Voor een volledige vertaling moet ook de veld namen, menu opties
  545. en help teksten worden vertaald, en natuurlijk deze handleiding.
  546. De code is zodanig dat alle teksten in het programma uit de help
  547. database worden gehaald. Omdat ook deze database gewoon met het
  548. Data programma kan worden bewerkt, kan die ook vrij eenvoudig
  549. worden omgezet (verder op meer hierover).
  550.  
  551. Een aandachtspunt bij het ondersteunen van meerdere talen is het
  552. teken dat wordt gebruikt als decimaal scheiding. In het Nederlands
  553. een komma "," gebruikelijk, in veel andere landen is een punt ".".
  554. Jaicnv gebruikt het teken zoals die in jou Psion is gezet.
  555. In de database kun je één van de twee kiezen, maar die moet je
  556. dan wel consistent in de hele database gebruiken. Standaard zal
  557. Jaicnv aannemen dat de getallen in de database een punt als decimaal
  558. scheiding gebruiken. Met de default "DecimalSign" in de database
  559. kun je de deze op een komma zetten (zie sectie over standaard
  560. instellingen).
  561. Het is aan te bevelen deze default ook expliciet in de database
  562. te zetten als je een punt gebruikt (in plaats van te vertrouwen
  563. op de hard gecodeerde standaard instelling).
  564. Door de instelling van DecimalSign ligt ook vast hoe functie
  565. argumenten in formules moeten worden gescheiden: met ";" of ",".
  566.  
  567.  
  568. Vertalen van de help file
  569. ======================================================================
  570.  
  571. De help file is een normale database, die met de Data applicatie op
  572. de Psion 3a kan worden bewerkt. Het bevat een aantal dingen:
  573.  
  574. - De help teksten (en het voorbehoud scherm).
  575.   Elk help item staat op een aparte kaart. Er kunnen maximaal 8
  576.   help items (kaarten) zijn. Elke kaart mag maximaal 8 regels
  577.   tekst bevatten.
  578. - Teksten van menus.
  579.   Elk menu staat op een aparte kaart en heeft een vaste naam.
  580.   De menu items staan op dezelfde kaart, één per regel in een
  581.   vaste volgorde. Kijk in een bestaande database voor je juiste
  582.   volgorde.
  583. - Teksten voor schermen.
  584.   Er is voor elk scherm één kaart. Net als voor menus heeft die
  585.   een vast naam, en hebben de items op de regels een vaste volgorde.
  586.   Sommige velden op een scherm kunnen ook een lijst van toegestane
  587.   waarden bevatten (ook in een vaste volgorde). Een voorbeeld is
  588.   de lijst van notaties op het voorkeuren scherm.
  589. - Foutmeldingen
  590.   Elke foutmelding staat op een aparte kaart. Het heeft weer een
  591.   vaste naam ter identificatie (die dus niet vertalen). De melding
  592.   kan één of twee regels zijn.
  593.   In sommige foutmeldingen moet tijdens runtime een tekst worden
  594.   ingevuld. In de database moet in de foutmelding worden aangegeven
  595.   waar die tekst moet worden ingevuld. Als er één tekst moet worden
  596.   ingevuld moet de melding "%s1" bevatten op de plaats waar die
  597.   tekst moet komen. Zijn er twee teksten, dan moeten "%s1" en "%s2"
  598.   de plaatsen aangeven. Je moet zorgen dat een melding het juiste
  599.   aantal plaatsaanduiders bevat. Het maakt niet uit in welke van de
  600.   twee regels die staan, en in welke volgorde (als er twee zijn).
  601. - Strings
  602.   Eén string per kaart, met vast naam. De string waarde moet in het
  603.   "Msg" veld.
  604.  
  605. Een record in de help database bevat de volgende velden:
  606. - Type:   moet één van de strings "help:", "menu:", "panel: fatal"
  607.           "error:" of "string:" bevatten.
  608.           "help: disclaimer" wordt gebruikt voor het voorbehoud.
  609. - Naam:   Naam/tekst van item (voor help) of één van de vaste namen
  610.           (voor andere types)
  611. - Msg:    Eerste regel (voor help en error), menu naam, scherm titel,
  612.           waarde van string.
  613. - Regel1: Tweede regel (voor help of error), menu item, panel item.
  614. - Regel2-Regel8: Volgende regels (voor help), menu item, panel item.
  615.  
  616.  
  617. Tips
  618. ======================================================================
  619.  
  620. Voor een volledige vertaling vindt ik het makkelijker om de
  621. database in tekst formaat te bewaren, met een nieuwe regel als
  622. veldscheiding, deze op de PC te wijzigen, en dan met een lege
  623. database samen te voegen.
  624.  
  625. Kijk wel uit welke editor je op de PC gebruikt. Lege velden
  626. worden aangegeven door een regel met precies één spatie. Records
  627. worden door een geheel lege regel gescheiden. Als je editor de
  628. spaties aan het eind van een regel weggooit krijg je GROTE problemen.
  629.  
  630. Je kunt ook internationale en wetenschappelijk tekens in de database
  631. gebruiken. Het lijkt erop dat die het zelfde zijn op de PC en de
  632. Psion.
  633.  
  634.  
  635. ======================================================================
  636. OPL code
  637. ----------------------------------------------------------------------
  638.  
  639. Vertalen
  640. ======================================================================
  641.  
  642. Als je de OPL code wilt vertalen in een OPA moet je de file
  643.      jaicnv.pic
  644. in directory
  645.      \pic
  646. zetten (of de code aanpassen).
  647.  
  648. Hergebruik
  649. ======================================================================
  650.  
  651. Misschien vindt je concepten van o.a. internationalisatie en help
  652. interessant. Omdat de code is meegeleverd kan je de code die die
  653. concepten implementeert hergebruiken.
  654.  
  655. MAAR, HET PROGRAMMA EN DE CODE VALLEN ONDER DE CONDITIES VAN DE
  656. GNU GENERAL PUBLIC LICENSE. LEES DIE EERST VOOR JE CODE GAAT
  657. HERGEBRUIKEN. HET STAAT IN DE FILE COPYING.GPL
  658.  
  659. Eén van de regels houdt in dat de software die je met deze software
  660. maakt ook weer vrij beschikbaar moet zijn onder de zelfde GNU GPL
  661. condities.
  662. Verder vraag ik je om bij hergebruikte code te zetten dat ik die
  663. heb geschreven.
  664.  
  665. Als je code wilt hergebruiken in een programma dat onder andere
  666. voorwaarden wordt verspreidt, schrijf mij dan.
  667.  
  668.  
  669. ======================================================================
  670. Ten slotte: Hou me op de hoogte
  671. ----------------------------------------------------------------------
  672.  
  673. Omdat dit vrije software is, en zowel de code als de database
  674. veranderd kunnen worden, kun je zelf wijzigingen aanbrengen
  675. (maar let wel op de regels die in de GNU licentie overeenkomst
  676. staan, die met de distributie is meegeleverd).
  677.  
  678. Als je een database maakt met bruikbare conversies, als je
  679. een database vertaalt, of als je handige veranderingen of
  680. uitbreidingen aan het programma maakt, laat het me dan weten.
  681.  
  682. Ook als je opmerkingen hebt, bugs vindt, of ideeën hebt voor
  683. uitbreidingen kun je me die laten weten.
  684.  
  685. Mijn email en post adressen staan bovenaan dit document.
  686.  
  687.