
TRIO Frigivelses information (006.000)
2022-09-01 008.384
1. Indledning
Denne manual beskriver ændringerne fra release (005.xxx) til (006.xxx) for SW-Tools TRIO RAPGEN,IQ og DATAMASTER produkter.
Manualen vil blive inkluderet i næste version af de samlede håndbøger.
1.1. Ny funktionalitet
1.1.1. RAPGEN Rapport generatoren
- Forbedret hjælp for funktioner og manualtilgang
- Printer setup valg af font / scaling implementeret
- Printer setup gemmes i en fil og kan genbruges
- PRINT kommando i RAPGEN udvidet med margin/font muligheder
- Edit af beregninger, Søg/Erstat funktioner tilføjet
- Standard programmer kan nu ændres af brugeren for RAPGEN/IQ og DM
- SORT betydeligt optimeret og AFBRYD funktion implementeret
- KEYS filer kan nu oprettes uden brug af anden editor
- EXEC funktion til at udføre en dynamisk beregning i et tekstfelt
- Automatisk READ af filer selv om READ ikke findes som beregning
- LET(xx= kartoteksdefinition
- COPIES og PRINTER funktioner for udskrift af flere kopier
- INSTALL funktion for externe DLL funktioner
- SPEED optimering af READ
1.1.2. FDF Data dictionary
- Kodetabel strukturen udvidet
- Database interface installation dialoger udvidet
- Automatisk kartoteks lu søgning for Basic filer
- Fejlmeddelelser fra database systemerne udvidet
- Open-Basic filsystem supporteres
- SYStem fil definitioner released
- Multikonstant index definitioner med "20,22-29,40"
- X* faste forbindelser til parameterfiler
- Crossconsult ISAM BCD pakning supporteres
- SQL access reading ODBC databaser optimeret
- Owner struktur for Informix/Oracle database forbedret
1.1.3. IQ Forespørgsels system
- AFBRYD af superindex og anden søgning nu mulig med ESC
- Beregningspunkt ved valg af en vilkårlig menu funktion
- Beregningspunkt for kontrol af læsning af hovedkartoteket
- Beregningspunkt for kontrol af opdatering mellem programmer
- Funktioner for styring mellem forskellige
- Install funktion for kommunikation med eksterne DLL funktioner
- Layout, blokke af felter kan nu flyttes og sizes
- Systemfelter for avanceret programmering
- Hardcopy udskriver nu et bitmap billede istedet for blot tekst
1.1.4. DATAMASTER Database system
- OK/CANCEL knapper tilføjet til datamaster programmer
- Shortcuts for frifelter defineret som knapper (&OK) kan defineres
- Definition af individuel hjælp og check for frifelter
1.1.5. SW-Tools ODBC driver
- WRITE er frigivet
- W95B anvendelse af ODBC 3.0 installation i Office 97 nu supporteret
1.1.6. LICENS systemet
- Email overførselsfejl behandles bedre
- Supporteres nu på forskellige sprog
1.1.7. Installation
- 4 disk anvendes nu for TRIO produkterne
- Dialog for hvilke produkter, der skal installeres, flyttet op før start
1.2. Fejlrettelser
1.2.1. RAPGEN Rapport generatoren
- Udskrift på højopløsnings-printere (>=600 dpi) kunne droppe linier
- LET funktionen på frifelter var ikke korrekt
- READ(xx.00),#45,N Relativ recordnummer læsning beregnede ikke korrert nummer
- PRINT krævede en ikke-blank beregningslinie for at være aktiv
- SELEKTIONER på maximum 0 fungerede ikke
- SORT, Kodetabel for æøå implementeret
- SIDST - PRINT bevirkede en tom side pga. GRANDE TOTAL nyside
- TOTALER, Subtotaler uden GRANDE total fungerer nu
- TOTALER, Felter defineret som 4, totaliseres nu korrekt
- TOTALER, Subtotalniveaue med flere keydele fungerer
- Oprettet/Ændret dato, MM/DD blev vendt forkert
- Samtidig start af flere sorterede rapporter nu mulig
- NEXT/REPEAT fejlede for filid IF og OR
1.2.2. IQ Forespørgselssystem
- Windows NT, IQ input felter fejlede
- READ(xx.00),#45,N Relativ recordnummer læsning beregnede ikke korrert nummer
- Relativ recordnummer forbindelser kunne ikke bruges mellem forskellige IQ programmer
1.2.3. DATAMASTER Database system
- Dato validering kunne fejle
1.2.4. SW-Tools ODBC driver
- WHERE selektion på recordnumre læste gennem hele filen for små recordnumre
- Ændring pga. MS-Word der ikke overholder SQL syntaksen ved lange linier
- SELECT name,balance+3 ORDER BY 2 DESC
Stigende sortering blev altid udført hvis sorteringsfeltet var beregnet.
2. RAPGEN Udvidelser
2.1. Start rapport
Printervalget er omarbejdet og omvendt sorteringsorden tilføjet:
2.1.1. Printer valg
Printer feltet er ændret til en listbox hvorfra man kan vælge en af de predefinerede printere i systemet.
Når man anvender PRINTER OPSÆTNINGs menuen vil printerdefinitionerne blive gemt i en fil (MYPRT.SSV) således at man ikke behøver definere skrifttyper mm. hver gang denne printer skal anvendes.

1. Printer opsætning
Listen viser de printere, der allerede er defineret, og man vælger en bestemt printer ved at klikke på den pågældende linie. Herefter kan man anvende Opsætnings-knappen såfremt parametrene skal ændres.
2.1.1.1. Definition af en ny printer
En ny printer defineres blot ved at vælge en blank linie. Printernavnet kan angives som en hvilket som helst text. Man kan anvende Indsæt-knappen til at indsætte linier indimellem og Slet-knappen til at fjerne gamle printere.
2.1.1.2. Standard skrifttype for udskrift af dokumentation
Skrift-knappen kan anvendes til at definere standard font for udskrift af rapportdokumentation. Bemærk at den valgte skrift ikke har indvirkning på selve udskriften fra en rapport.
2.1.1.3. Udskrift på en UNIX printer
SERVER SPOOL knappen kan anvendes til at redirigere printet fra en lokal Windows printer til et UNIX spoolsystem. Bemærk at Windows må kende den pågældende UNIX printertype for at styrekoderne skal overføres korrekt.

2. Server spool
I server-listboxen findes alle de forskellige servere anvendt i database definitionerne (basis.ssv filen). Den af Windows dannede udskriftsfil vil blive sendt til denne server og den angivne Unix spoolkommando vil blive aktiveret for denne fil.
2.1.1.4. Marginer og side størrelse
Man kan indstillle printer marginerne og sidestørrelsen, disse angives i den valgte måleenhed som cm, tommer, linier eller punkter. Man kan få de mindste brugbare værdier frem ved klik på printer minimum knappen.
2.1.1.5. Skærmprinter
Krydsmarkering af denne box sender printet til skærmprinteren.
2.1.1.6. Tilpas til side bredde
Hvis denne box krydsmarkeres reduceres skriftstørrelsen på rapporter, der er for brede, til at disse kan være på papiret. Andre rapporter vil forblive uændrede.
2.1.1.7. Luk rapport når udskrevet
Hvis denne box krydsmarkeres skal man ikke trykke OK når udskriften er færdig.
2.1.2. Skærmprinteren
Skærmprinterens input af sidenummer er ændret således at der skal tastes ENTER efter sidenummeret er indtastet. Man kan anvende PgDw/PgUp for næste/forrige side, piletasterne til at rulle indenfor en side og HOME/END til at gå til top/bund på siden.
Når man vælger UDSKRIV fra filmenuen kan een eller flere sider udskrives.

3. Udskrift fra skærm printeren
2.1.3. Omvendt sorteringsorden
Fra startmenuen kan man vælge omvendt udskriftsorden.
Dette fungerer såvel på sorterede som på ikke-sorterede rapporter såfremt database driveren supporterer læsning af kartotekernr i baglæns orden. (dvs. ikke for CTRAS definerede kartoteker).
Bemærk at omvendt sorteringsorden også kan defineres med en beregning som INDEX(-1)
2.1.4. Afbrydelse og optimering af sorteringen
Under sorteringen kan man nu anvende AFBRYD knappen. Samtidig er sorteringstiden blevet væsentligt reduceret.
2.2. KEYS edit funktion
En edit funktion for KEYS funktionens filer findes i FIL menuen. KEYS filer kan også indtastes men enhver anden editor som for eksempel notepad.

4. Keys fil editor
2.3. Edit Søg/Erstat, Kopier/Sæt ind
I edit funktionerne for beregninger, keys mv. kan man nu søge og eventuelt erstatte en tekststreng.

5. Søg / Erstat en tekststreng
2.4. Rapport information
Ved ændring af rapport informationerne kan de anvendte kartiteker, herunder hovedkartoteket, ændres ved klik på knappen FILER.

6. Rapport information
Bemærk at BRUGERNAVN tilføjes efter oprettet/ændret datoerne. Dette brugernavn oprinder fra det input der er givet i LICENS modulet som brugerbemærkning og kan også anvendes i beregningerne som feltet #UN
Desværre var der en mindre skavank i nogen ældre versioner af RAPGEN, idet datoen ikke blev vendt korrekt ved oprettelse/ændring af en rapport. Fejlen er rettet men man vil stadig kunne se mystiske datoer for rapporter oprettet med sådanne versioner.
2.5. Manualer som online hjælpefiler 00-08
For at kunne få hurtig tilgang til manualerne kan disse også findes som 'pseudofiler' i databasevinduet ved definition af en rapport. Den normale feltopbygning anvendes også for disse filer, hvilket vil sige at manualerne findes som små tekstfiler som kan være på systemet selv om man eventuelt ikke har plads til de komplette Windows hjælpemanualer. Følgende manualer er til stede:
00 = Beregninger og and subfunktioner
01 = Rapport generator manual
02 = IQ manual
03 = DATAMASTER manual
04 = Data dictionary
05 = SW-Tools ODBC driver
06 = Licens
07 = Installations noter
08 = Frigivelses information

7. Funktions hjælp
Afsnittene i manualerne fremkommer som felter sorteret ifølge navn. Når man bevæger cursoren over et felt vil den tilhørende hjælp poppe op med det samme. Kun teksten vises, eventuelle eksempel-billeder udelades, med såfremt Windows hjælpemanualen er til stede kan man dobbeltklikke på et felt for at åbne denne.
2.6. FRI felt definition
Definition af start INPUT felter og BILLEDE felter krævede før at feltnavnet blev defineret som #D1navn eller #Pnavn hvilket kunne være noget forvirrende.
Istedet kan man nu vælge input feltnummeret fra en listbox eller blot afkrydse feltet som billedefelt.

8. Definition af input data eller billede felt
2.7. Printer kontrol i beregningerne
2.7.1. #LIN linienummer og #LOF antal linier på siden
Det nye systemfelt #LIN kan anvendes i beregningerne specielt til sammenligning med værdien af #LOF antal linier på siden som for eksempel:
IF #LIN>#LOF-5 THEN PRINT(:1,1-4) /* Fremtving ny side
2.7.2. PRINT(xx=yy) og PRINT(?=yy)
Man kan få detaljerede oplysninger om printer-opsætningen såsom sidebredde og margin, se funktionsmanualen.
2.7.3. PRINTER(2)
Man kan låse en rapport til en bestemt printer defineret ved start setup.
2.7.4. COPIES(2) og forskellige PRINTERe
COPIES funktionen kan nu anvendes til at producere flere kopier af udskriften endda på forskellige printere. PRINTER funktionne kan anvendes til samtidig udskrift af samme eller forskellige lister op forskellige printer.
Bemærk at TEMP directoriet skal have plads nok til at holde alle kopierne samtidig.
2.8. Faldende sortering
Ved definition af sortering kan man nu vælge Stigende eller Faldende orden fra menuen.
2.9. Basic lignende beregninger
For at lette konvertering fra Basic rapporter er der indført nogen extra systemfelter:
2.9.1. T2$,S9$ og andre Basic variable
Følgende Basic variable kan anvendes, se Basic Rapgen manualen.
T1$,T2$,T9$,S9$,R$,R4,T1,T3,P2,X2,X,P6,P8,X0,R1$,R2$
Bemærk at R$=Key kun har et indhold efter GETKEY funktionen er anvendt.
2.9.2. SIZE, DELAY dummy funktioner
(RAP) Disse funktioner udføre intet man kan indtastes.
2.10. Gruppe totaler
Ved definition af gruppetotaler blev det indtastede antal koder i gruppen ignoreret, gruppen blev altid udvidet dynamisk uden hensyn til maximum antal.

9. Group totals
Nu gælder, at hvis 100 indtastes begrænses gruppens elementer til maksimalt 100. Angives derimod 0 elementer vil antallet af elementer i gruppen blive udvidet dynamisk uden øvre grænse.
2.11. RAPGEN Start parametre
RAPGEN kan vælges fra WINDOWS med følgende parametre:
RAPWIN ssppp Start program ppp i subsystem ss
RAPWIN -r=ssppp Som ovenfor
RAPWIN -e Exit når rapporten afsluttes
RAPWIN -nl Intet logo ved start, kun runtime
Rapporter kan ikke defineres eller ændres
RAPWIN -ok Vis ikke opstarstbillede før start
RAPWIN -s7;310397;;0001;9999;... Sæt start parametre
7 = Printer nummer 7
310397 = Dags dato
= Pr.dato som default
0001 = Start fra
9999 = Stop ved
...= Bruger defineret data input frifelter
RAPWIN $ Vent indtil denne rapport afsluttes
2.12. Standard rapporter
Når man definerer en ny rapport eller et nyt brev anvender RAPGEN en standard rapport som basis for dette. Nu kan man selv ændre disse standarder og for eksempel definere et individuelt rapporthoved.
For at gøre dette skal der først defineres et STANDARD subsystem som vist nedenfor, hvorefter standard rapporterne fremkommer ved åbning af dette.

10. Definition af STANDARD subsystemet
Standardrapporterne medfølgende TRIO kan se ud som:

11. Standard rapport
?? vil blive erstattet med rapportnavnet ved definition af en ny rapport.
Felterne *1*, *2* og *3* definerer standard font og farve for henholdsvis overskrifter, felter og totaler.
NB: Hvis man senere geninstallerer eller opgraderer TRIO må standardrapporterne tilrettes igen !
Standardrapporterne findes som filerne DM1001.dan og DM1002.dan i TRIO programstien.
2.13. Implicit READ af kartoteker og SPEED
Når et felt fra kartotek xx refereres vil RAPGEN nu selv udføre en READ(xx) hvis man ikke selv placerer en sådan linie i beregningerne og der findes en automatisk forbindelse til kartoteket.
SPEED() funktionen kan anvendes til at optimere rapportgeneratorens læsestrategi, idet en record ikke vil blive læst igen, hvis samme key som sidst anvendes, men derimod blive taget fra hukommelsen. Pas dog på med dette såfremt rapporten skal opdatere nogen kartoteker.
2.14. Bygning af nye kartoteker med LET
LET funktionen kan anvendet til at definere og bygge nye kartoteker hurtigt baseret på alle felter i en rapport, såvel beregnede eller fra externe filer.
Man må have en DATAMASTER licens for at kunne anvende denne funktion, idet de nye kartoteker defineres som DATAMASTER filer, og de anvendte database drivere må være installeret med skrivetilgang.
Kun DATAMASTER kartoteker kan oprettes/ændres på denne måde, idet alle data i kartoteket vil blive fjernet hvis fildefinitionen ændres. Man kan imidlertid også anvende DATAMASTER til at udvide/omdefinere et kartotek defineret med RAPGEN og herved bevare data.
LET (AA=#1-3) producerer med det samme en ny fildefinition for filen AA med de angivne felter, hvilket fremgår af databasevinduet.
Hvis kartoteket AA allerede er til stede spørges om den gamle definition skal overskrives. Hvis ja
VIL EN NY TOM FIL BLIVE OPRETTET, DATA BEVARES/KONVERTERES IKKE !
Filen fil blive oprettet med det første felt som eentydig nøgle medmindre man angive en nøgleparameter som LET(AA=#1K,2-3,4D) eller LET(AA=#1-4;2) se eksemplerne i funktionsbeskrivelsen.
Man kan om nødvendigt angive antal records og database filtypen efter LET(..), hvis denne ikke angives er standarden 1000 records men anvendelse af den første databasedriver, normalt SSV tekstfiler.
LET (AA=#1-3),200 XWrt
giver 200 records i et X-Basic kartotek. Databasedriver navnet XWRT søges iblandt de kendte databasenavne defineret i BASIS filen med FDF modulet ved installation.
Selve kartoteket oprettes ikke før rapporten startes. Hvis man angiver et negativt antal records som fx. LET (AA=#1-3),-100 vil kartoteket blive nyoprettet (tomt) ved hver start af rapporten.
Følgende beregningslinier definerer en ny access tabel og fylder date i denne:
UPDATE(1) /* Aktiver opdatering
NOPAS()
LET(AA=#1-3,15,le#1-3) access
AFTER /* Efter selektionerne er udført
INSERT(AA) /* Dannes en ny record i AA
3. FDF udvidelser
3.1. Opsætning
Stien for BASIS.SSV er tilføjet i opsætningen.

12. Opsætning
3.2. Import af ODBC definitioner
Oversigt over behandlede kartoteker vises løbende og man kan afbryde kørselen.

13. Import af ODBC definitioner
Eventuelle fejlmeddelelser vil også fremkomme i dette vindue.
3.3. Kodetabeller
Tidligere blev paritet for Basic tekstdata først behandlet, hvorefter strengen blev kodekonverteret. Dette kunne bevirke problemer med visse specialkarakterer defineret i Basic kodetabellerne uden paritet.
Fra version (006.xxx) angives kodetabellerne med paritet og de indbyggede tabeller undgås om muligt. Det betyder, at istedet for tabellerne 1 og 2 (Dansk og Tysk indbygget) anvendes tabellerne 045 og 049.
3.3.1. Kodetabel numre
Kodetabellerne er nummereret ifølge landekoden.
001 Dansk UNIX indbygget
002 Tysk UNIX indbygget
003 ODBC OemToAnsi indbygget
004 Paritet ligeover 1:1 indbygget
010 ISO8850
011 DATAFLEX index
012 EBCDIC
013 ODBC OemToAnsi
044 Engelsk Basic paritet
045 Dansk Basic paritet
046 Svensk Basic paritet
049 Tysk Basic paritet
099 Sort flersproget
3.3.2. Kodetabellen for sortering
Sortering med RAPGEN eller SW-Tools ODBC driver anvender nu sorteringskodetabellen af hensyn til sprogspecifikke bogstaver (æøå til sidst) samt for at få bogstaver med accenter korrekt på plads.
3.3.3. Indholdet af kodetabellerne
Hvis en karakter ikke skal konverteres kan denne være blank i kodetabellen hvilket letter oversigten.

14. Kodetabel for læsning af Basic filer
For at kunne dette for Basic kodetabeller kan man med en * lige efter SW-Tools på den første linie vende pariteten generelt for alle karakterer. De konverterede bogstaver kan angives som bemærkning lige efter hexadecimalkoden eller selve den hexadecimale værdi kan erstattes med bogstavet selv.
3.4. Søgning efter firmaafhængige filnavne
Ved installation af forskellige firmaer på Basic systemer kan man søge efter filerne ved at aktivere SØG-knappen.

15. Fil søgning
Alle Basic filer angivet som 2-cifret lu+filnavn, fx. 90/GF-03000abc, vil blive søgt på lu 00-99 i det valgte firmanummer. Hvis en fil findes på en anden lu end oprindelig angivet indsættes det korrekte navn i filnavn tabellen for firmaet.
NB: Server version (006.003) minimum kræves for denne funktion.
3.4.1. DOS filnavne for Basic filer
Ved kopiering af X-Basic filer til DOS gav dette problemer pga. de lange filnavne. Det gælder nu, at hvis en Basic fil ikke kan findes på et DOS system forsøges ved at danne et andet filnavn som:
1. Alle punktummer fjernes
2. Hvis der er mere end 8 bogstaver sættes et punktum i position 8
3. Navnet kortes af til højest 8.3 karakterer
Herved kan man have serverfilen GF-03000001 lokalt som GF-03000.001
3.5. Ændring af DATAMASTER filer med FDF modulet
Når man ændrer et DATAMASTER kartotek med FDF modulet kan man lade data i kartoteket forblive uændret selv om definitionen ændres (pas på!), idet man bliver spurgt om:

16. Bekræftelse af DATAMASTER filkonvertering
3.5.1. DATAMASTER filkonvertering fra Basic til ODBC
Når et Basic kartotek kopieres til ODBC med DATAMASTER vil informationerne om Paktype, Bytenumre og Stopkarakterer nu blive fjernet idet disse ville have dårlig indflydelse på den dannede ODBC tabel.
3.6. Fil forbindelser
Desværre fungerede filforbinderser med Basic relative record numre ikke korrekt i tidligere versioner (AS->JH.00 using #45,N)
Filforbindelse afhængige af nøglelængden er nu implementeret, idet #3(1,-2) betydet felt 3 fra karakter 1 til keylængden-2 karakterer.
3.7. ODBC driver setup
Da nogle ODBC drivere kræver special information, som ikke kan hentes fra selve driveren, er der indført en kode herfor i AVANCERET setup for en ODBC driver:

17. Opsætning af en ODBC driver
Man bør læse dokunentationen fra leverandøren af den relevante drivere, før disse felter ændres.
3.7.1. Applikations type
Applikationstypen definere speciel brug af felter for den angivne pakke. Pt. findes følgende:
1 ALX anvender tabel owner som firmanummer
2 SAMSON anvender første del af indexet som firmanummer
3.8. Format ,6,0 beløbseditering
Datofelter defineret som ,6, og ,8, blokerede for 1000-editerede beløbsfelter med længde 6 eller 8. Disse kan nu defineres som ,6,0 eller ,8,0
3.9. Record oversigt kontrol record og fejlmeddelelser
Ved visning af records fra et Basic kartotek vises nu også en eventuel styrerecord for eventuelt også at kunne definere denne:

18. Record oversigt
Desuden vises et undervindue som vil indeholde eventuelle fejlmeddelelser ved åbning eller læsning af filen.
3.10. Opsætningsmenuen ved udskrift
Udskrifts opsætningsmenuen er ændret til en decideret inputdialog med følgende:

19. Udskrifts opsætnings menuen
3.10.1. Udskrift af indholdsfortegnelse
Man kan nu få en indholdsfortegnelse udskrevet sammen med fildefinitionerne:

20. Indholdsfortegnelse
3.11. FDF Start parametre
FDF module kan vælges fra en Windows icon med følgende parametre:
RAPFDF -d Filer defineres som DATAMASTER kartoteker
RAPFDF -d7 DATAMASTER vil anvende filtype 7 som standard
3.12. Nye BCD paktyper
Følgende nye paktyper er implementeret:
P1201 = Fortegn + Exponent + 1 BCD Ciffer
P1202 = Fortegn + Exponent + 2 BCD Cifre (1 byte)
:
P1219 = Fortegn + Exponent + 19 BCD Cifre
P1201-P1219 = Fortegn + Exponent + 1-19 BCD Cifre (Crossconsult)
P1221-P1239 = 1-19 BCD Cifre + Exponent + Fortegn
P1241-P1259 = 1-19 BCD Cifre uden fortegn og exponent
3.13. Indexdefinitioner med flere konstanter
Filer defineret med faste konstante recordtyper i index som "00",#1,P kan nu udvides til for eksempel "00,20-29,40",#1,P
Selektionen vil herved fremfinde alle records med een af de nævnte værdier.
3.14. X* Fast parameterfil forbindelse
En parameterfil som altid skal læses med et bestemt recordnummer kan nu definere en forbindelse, det anvendes hvergang denne læses med for eksempel READ(pa), selvom hovedkartoteket ikke har nogen forbindelser til parameterfilen.
Definitionen indtastes for eksempel som en forbindelse fra PA til filen X* index 0 recordnummer 5.
3.15. System filer
I alle menuer for subsystem findes et menupunkt for system filer. Ved valg heraf skiftes til definitionerne for systemfilerne, heriblandt basis.ssv og files.ssv. Disse er nu tilgængelige til brug for udskrift med rapportgeneratoren af system / kartoteksoversigter.
4. IQ Udvidelser
4.1. Styrekoder ved definition af et nyt program
Sammen med felterne kan man ved definition af et IQ program anvende følgende nye koder:
va#1-7,c=0 Sæt check flag
0 = Ingen check, ren visning af feltet
1 = Listbox
2 = Vis feltets checkkode som tekt
3 = Vis feltets værdi + checkkodeteksten
va#1-7l,n=10 Begræns feltnavnene til maksimalt 10 karakterer
4.2. Ændring af programmer uden at kartotekerne er åbne
Når IQ ikke kan åbne alle tabeller i en forespørgsel kan man nu alligevel ændre/slette programdefinitionen hvis man svarer JA til nedenstående:

21. Ikke alle kartoteker kunne åbnes
4.3. Forbedret søgemetode
IQ søgningen er forbedret på følgende punkter:
En blank forrest i søgekriteriet er nu tilladt.
Gåseøjne ".." kan angives om søgenøglen for at tillade blanke til sidst
Hvis en navnesøgenøgle indtastes og ingen record findes med denne, vil IQ alligevel skifte til navneindexet.
Hvis ingen records findes udfra en indtasted søgenøgle vil CR nu give næste record fra den indtastede nøgle i de valgte index. Ved valg SUPERINDEX søges med den sidst indtastede nøgle uden at denne behøves at genindtastes.
Valg af index ud fra felttyperne i indexdefinitionerne er udvidet med behandling af pakkede felter som altid værende numeriske.
4.3.1. Afbrydelse af SUPERINDEX søgning
Under SUPERINDEX søgningen vises ESCAPE cursoren:

22. ESCAPE cursor
og man kan afbryde søgningen ved at trykke escapetasten. Der skal muligvis trykkes et par gange for at få opmærksomhed.
4.4. Hjælp og check på felter
I VIS menuen findes muligheder for at aktivere hjælp på flere niveuer for felterne på skærmen. Når man herefter blot flytter musen hen over et felt med tilhørende hjælpetekst vil denne blive vist.

23. VIS menuen
4.4.1. Felt dokumentation
I REDIGER menuen findes punktet DOKUMENTATION hvor man kan indtaste en beskrivelse for ethvert felt på skærmbilledet.

24. Dokumentation for et felt
Herved er man i stand til at beskrive brugen af frifelter i programmet ligesom et felt i databasen, ligesom dokumentationen for et databasefelt kan udvides med specielle ting gyldige for dette program alene.
4.4.2. Tilladte værdier
Ligesom dokumentation kan man definere tilladte værdier for frifelterne på skærmen:

25. Tilladte værdier
Man skal følge syntaksen: <Værdier> = Tekst hvor <Værdier> kan være enkeltværdier eller intervaller.
4.5. Redigering af skærmbilledet
4.5.1. Dele af felter og tabelfelter
Dele af felter #5(2,13) og tabelfelter #7(2) kan nu inkluderes direkte i skærmbillededefinitionen for et IQ program.
4.5.2. Blokke af linier
En blok af linier kan nu flyttes eller ændres størrelsesmæssigt ved at trække markørerne i venstre margin.

26. Editering af skærmbilledet for en transaktionsforespørgsel
4.5.3. Feltfunktioner på højre museknap
Ved hjælp af højre museknap kan man nu ændre feltfunktionerne som vist nedenfor.
4.5.3.1. Box størrelse og felt flag
Den nye BOX funktion kan anvendes til at tilpasse boxene rundt om felterne automatisk. Funktionen FELT OPTIONER kan anvendes til, specielt i DATAMASTER programmer, at styre feltinput, se SETFLAG og CLRFLAG funktionsbeskrivelsen.

27. Ændring af box størrelse og feltoptioner
4.5.3.2. Objekt type og egenskaber
Man kan kontrollere et felts fremtræden på skærmen ved hjælp af menupunkterne objekttype og egenskaber.

28. Objekt type og egenskaber
4.6. DEBUG i beregningerne
Eftersom mulighederne for beregninger i IQ/DATAMASTER efterhånden er uanede vokser mulighederne for at lave fejl også.
Man kan imidlertid aktivere et DEBUG vindue ved at indsætte en beregningslinie:
DEBUG(1)
som vil åbne et debug vindue når den bliver udført første gang som for eksempel:

29. DEBUG vinduet
Når DEBUG vinduet er åbnet vil dette følge med i og vise enhver beregning der foretages i et hvilket som helst program. Alle sektioner som beregninger ved klik på felt mm. vil blive vist, hvorimod der ved programkontrol med for eksempel IF...THEN kun vil blive vist den egentlige udførte beregning.
Debugvinduet vil forblive åbent indtil IQ afsluttes eller DEBUG(0) mødes som en beregning.
4.7. Beregningssektioner
Antallet af sektioner hvor man kan placere beregninger er udvidet for at imødekomme en række brugerønsker:

30. Beregningssektioner i en IQ transaktionsforespørgsel
4.7.1. Før visning af et felt
Beregninger placeret her udføres lige før feltet vises første gang.
4.7.2. Egne subrutiner
Egne subrutiner kan placeres at vilkårligt sted i samtlige beregningssektioner ved først RETURN og derefter LABEL: beregninger RETURN
Beregningssektionen MYOWN er bare et godt sted at samle sådanne fælles rutiner.
4.7.3. Før opdatering af et andet program
Når dette program beslutter at opdatere andre programmer vil det først udføre denne beregningssektion. Her kan man allæse hvilket program, der vil blive opdateret, samt få diverse informationer herom.
#IQSendto = Dette program nummer vil blive opdateret
#IQSendsub = Programmet findes i dette subsystem
#IQSendfile = Programmet hovedkartotek har denne ID
Opdateringen vil blive udført hvis man returnerer 0 som normalt eller blive skippet hvis man afslutter med en RETURN(-1)
4.7.4. Ved valg af en funktion
Når en funktion vælges vil IQ udføre den hertil hørende aktion. Men før dette gøres har man mulighed for at checke, om dette er tilladt på det givne tidspunkt.

31. Beregninger før udførelse af en funktion
Næsten alle menufunktionerne findes her og man bemærker at hver beregnings LABEL er navngivet som FUnnnn, hvor nnnn er funktionsnummeret som for eksemple 551 for ZOOM UD.
4.7.4.1. DOFUNCTION meddelelser
Det Windows gør når en funktion vælges er at sende en MEDDELELSE til det givne program med funktionsnummeret (for eksempel 551 for ZOOM UD) hvorefter programmet reagerer på denne.
Med DOFUNCTION(551) kan man selv sende sådan en meddelelse og denne vil blive behandlet af programmet præcis som om man havde trykket på ZOOM UD knappen.
Man kan endda fortælle DOFUNCTION at meddelelsen skal sendes til et andet aktivt program samt lade en parameter, fx.søgenøgle, følge med. Beregningen:
DOFUNCTION(505,#1,20)
vil bede program nummer 20 om at læse en record med søgenøgle givet i felt 1.
4.7.5. Ved læsning af hovedkartoteket
Med disse beregninger har man kontrol over læsning af hovedkartoteket.

32. Beregninger ved læsning af hovedkartoteket
Hver af beregningerne kan ændre værdien af #OK og udføre en RETURN(-1) for at fortælle at kartoteket er blevet læst. Man kan opbygge sin helt egen søgerutine her, men dette kræver naturligvis visse programmeringskundskaber.
4.8. Forbindelser mellem forespørgseler
Ovenfor blev vist, hvordan DOFUNKTION kan anvendes til at sende meddelelse til et andet åbent program. Dette er een måde at kommunikere mellem programmer.
4.8.1. Program nummer
I funktioner, der har programnummer som parameter, kan man anvende følgende:
<program> parameter for IQ funktioner kan gives som 47 eller 1047.
47 betyder det første åbne program nummer 47
1047 betyder det første åbne program nummer 47 i subsystem 1
0 betyder dette program selv
4.8.2. Felter fra andre programmer
Ved hjælp af LET kommandoen kan man aflæse/ændre felter i andre programmer:
LET (20.#1-3=#1-3) Sætter felt 1-3 for program 20 = dette programs #1-3
LET (#1-3=20.#4-6) Sætter felt 1-3 i dette program til #4-6 fra program 20
LET (#10=#3.4) Sætter felt 10 lig med felt 3 på linie 4 i dette program
4.8.3. GOSUB fælles subroutiner
Foran en LABEL for GOSUB kan man angive programnummeret som
GOSUB 20langthop
hvorved rutinen LANGTHOP i det åbne program 20 udføres.
4.8.4. GLOBALE variable A1,A2,...
Desforuden kan man anvende de Basic-lignende variable A1,A2,... som fælles data for alle programmer, idet hvis man sætter A1=#1 i det ene program vil A1 bevare værdien når et andet program aktiveres. Også A$,B$,... kan anvendes på denne måde.
4.9. IQ Start parametre
IQ kan vælges fra en WINDOWS Icon med følgende parametre:
IQWIN ssppp Start program ppp i subsystem ss
IQWIN -e EXIT IQ når det valgete program afsluttes
IQWIN -M... Begrænset menu, se MENUS funktionen
IQWIN -D DATAMASTER vedligeholdelsesprogrammer kan defineres
IQWIN -nl Intet logo ved start, kun runtime
Programmer kan hverken defineres eller ændres
4.10. Standard programmer
I standard subsystemet (se RAPGEN) findes standarderne for IQ og DATAMASTER programmerne. Når et nyt program defineres hentes ikke blot feltlayout for skærmbilledet men også parametrene samt standardberegningerne herfra, således at en rettelse heri vil påvirke alle nye programmer.

33. Et standard program for IQ
I skærmbilledet for transaktionsforespørgselen ovenfor bemærker man to blokke, en for hovedkartoteket og en for transaktionskartoteket. Attributterne (skrift mm) kan ændres både for felterne samt for deres ledetekst.
Bemærk at AFSTANDEN mellem felterne definerer linieafstanden i et nyt program.
NB: Hvis man geninstallerer/opgraderer TRIO må standarderne tilrettes igen!
4.11. Hardcopy funktion
På grund af problemer med en ren tekstudskrift på forskellige printere vil IQ udskrive et billede- (bitmap-) hardcopy af skærmen istedet om muligt.
I menuen findes hardcopy funktioner for både kun det aktive vindue samt for hele skærmen.
5. DATAMASTER udvidelser
DATAMASTER har selvfølgelig fået alle de nye funktioner som IQ samt desuden:
5.1. OK/CANCEL knapper
Når et DATAMASTER program defineres bliver disse knapper nu tilføjet for at lette betjeningen:

34. OK/CANCEL knapperne
OK/CANCEL knapperne er eksempler på brug af DOFUNCTION idet disse blot udfører henholdevis DOFUNCTION(998) og (997) hvorved programmet kalder den tilhørende funktion.
5.1.1. Genvejstaster for knapper
Når man definerer en knap vises feltnavnet indeni denne. Man kan angive et feltnavn som:
TRYK PÅ &MIG
hvorved bogstavet efter & bliver genvejstast for knappen, der så kan udløses med tasten ALT+M
5.2. Beregningssektioner
Igen kan man anvende alle IQ udvidelserne foruden:
5.2.1. Ved ændring af input sekvens
PARAMETER siden definerer input sekvenser og hvergang brugeren går ind i eller forlader en sådan blok af felter udføres den tilhørende beregning

35. Beregninger ved ændring af input sekvens
Dette kan for eksempel bruges til at checke/læse et kartotek når man forlader nøglefelterne for hovedkartoteket.
5.2.1.1. Angivelse af inputsekvenserne
Når et nyt program defineres indsættes sekvensparametrene som noget lignende:
le#2-6[?]
hvilket betyder at den anvendte sekvens er felterne le#2-6. [?] angiver at DATAMASTER må ændre sekvensen automatisk såfremt man indsætter nye felter på skærmbilledet. Hvis man ønsker selv at overstyre sekvensen skal man altid fjene [?] og blot skrive le#2-6
6. SW-Tools ODBC driver
ODBC driveren er blevet intensivt afprøvet mod en lang række applikationer både i 16 og 32 bits versionen, samt udvidet på følgende punkter:
6.1. SKRIVNING frigivet
Ved brug af skrivefaciliteten vil ODBC driveren give fremmede produkter såsom Access mulighed for at opdatere direkte i X-Basic filer.
NB: Enhver opdatering bør testes omhyggeligt før man stoler på denne
Idet filbeskrivelserne indeholder al information om nøglestrukturen, vil ændring af indholdet af et felt automatisk opdatere alle index, som dette felt måtte indgå i. Ligeledes vil indsættelse af en ny record / sletning af en bestående kunne reflekteres samtlige 15 index i en Basicfil.
For at aktivere skrivning skal følgende punkter være opfyldt
- LICENS for ODBC driveren skal tillade Write og være markeret for denne PC
- LICENS for CTRAS skal være til stede med Write og være markeret
- FDF CTRAS (X-Basic library) driveren skal være aktiveret for Write
- De filer, man ønsker at opdatere, skal anvende CTRAS driveren, ikke X-Basic
- I ODBC driverens administator setup skal Opdatering være afkrydset
- Hvis man anvender MSQuery skal opdatering aktiveres i dette programs menu
Vi anbefaler stærkt, at server version (006.003) som minimum anvendes, idet denne anvender den nye kodetabel struktur.
En speciel rutine er implementeret af hensyn til 6-cifrede datoer i Basic kartotekerne (,6, felter), idet disse ved læsning konverteres til ODBC standard datostrukturen. Ved skrivning konverteres disse tilbage og skrives altid som ÅÅMMDD.
6.2. W95B setup
Windows 95B sammen med Office 97 udnytter faciliteterne i ODBC 3.0, hvor driver setup er flyttet delvist vær fra ODBC administratoren og istedet finder sted online når man etablerer forbindelse.
Denne procedure supporteres nu, idet parametrene herfra skrives i de nye .DSN filer.
7. Unix Server opdateringer
Tidligere versioner af TRIO vil køre med den nye server ligesom den nye release vil køre med de gamle servere. Vi anbefaler dog overensstemmelse mellem versionerne.
Kodetabellerne overføres nu fra klientens PC til serveren og bruges når opdatering af filer med flere index foretages fra Basic. Tilsluttes tidligere versioner af TRIO vil serveren anvende sin egen standard kodetabel.
Serveren er udvidet til at kunne søge efter Basic filnavne. Hvis man ikke opgraderer servermodulet vil søgefaciliteten i FDF modulet ikke kunne anvendes.
8. LICENS modulet
Licensmodulel afleverede altid filen LICENS.PLS hvilket nu er ændret til 12345678.PLS hvor 12345678 er licensnummeret.
E-Mails specielt til UNIX systemer kunne have problemer med linieskift CR/LF. Dette er nu løst.
9. Installation
Ved installation kan man nu på en formenu udvælge de ønskede produkter:

36. Valg ved installation
10. Funktionsbeskrivelse
Dette afsnit beskriver de nye funktioner og opdateringerne af de bestående.
IQ programmeringsmulighederne er blevet kraftigt udvidet idet systemudviklere efterhånden ønsker tilgang til flere og flere rutiner og entry points.
Dette udløser en del nye funktioner sammen med en mere specificeret struktur af beregningsblokkene, samt et mere synligt skel mellem RAPGEN og IQ funktionerne efterhånden som disse bliver mere specialiserede.
Også systemfelterne er udvidet for at kunne få tilgang til diverse flag / styrekoder.
10.1. Nye system felter
10.1.1. #UN Brugernavn
Man kan anvende #UN for at få det brugernavn for denne PC, der er indtastet i LICENS modulet.
10.1.2. #LIN Linienummer og #LOF Antal linier på siden
#LIN indeholder den aktuelle printlinier, #LOF antal linier på siden.
10.1.3. #IQxxxx IQ system felter
Et antal IQ styrekoder er tilføjet, se selve SY kartoteket.
10.2. Nye eller udvidede funktioner
10.2.1. ACCESS("filenavn") - Check om en fil findes
(IQ) Check om en given fil findes, returner 0 hvis filen fundet.
10.2.2. CHAIN("program","nøgle") - Start program eller extern kommando
(IQ) Aktiver et programnummer eller en Windows kommandostreng.
CHAIN ("20") starter program 20.
CHAIN ("+5") starter program 5 og aktiverer dette.
CHAIN (">5") starter program 5, den viste record vil ikke blive overført
CHAIN ("$5") starter program 5, aktiverer det og venter indtil færdigt
CHAIN ("+5",#1) starter program 5 som vil læse en record med nøgle #1
#20="notepad"
#20="command.com /C edit minfil.txt"
CHAIN(#20) starter det angivne Windows program
CHAIN("rapwin &") & som sidste karakter lader IQ fortsætte
samtidig med de nystartede program kører.
10.2.3. CHAINR(rapport) - Start program eller extern kommando direkte
(RAP) CHAIN kommandoen vil altid blive placered SIDST i rapporten, dvs. at det næste program først startes efter det kørende er afsluttet.
Brug istedet CHAINR for at afbryde det kørende program og aktivere et andet her og nu.
10.2.4. CLRFLAG("felter",parameter,type) - Sæt parametre for felter
(IQ) Hvert felt på skærmen er tilknyttet et antal parametre (bits), der definerer, hvordan feltet anvendes. SETFLAG funktionen kan anvendes til at sætte disse parametre, CLRFLAG til at deaktivere dem. Se SETFLAG.
CLRFLAG("#12,44",7,0)
10.2.5. COPIES(n,printer) Antal kopier af udskriften
(RAP) COPIES(1) giver een ekstra kopi af udskriften. Op til 30 kopier kan angives og der skal være plads til alle disse Windows printfiler
COPIES(1,7) producere een ekstra kopi på printeren defineret som nummer 7 i printer opsætningen. Bemærk dog at uventede sideskift vil forekomme hvis kopiprinteren har en mindre sidehøjde end hovedprinteren
10.2.6. DEBUG(mode) - Aktiver debug vindue
(IQ) DEBUG(1) åbner et vindue som viser alle beregninger og deres programnummer/label når disse udføres.
DEBUG vinduet lukkes når IQ lukkes.
10.2.7. DELAY() - Dummy funktion for Basic kompatibilitet
Dette funktion er kun implementeret for at tillade Basic rapportgeneratorens syntaks.
10.2.8. DISABLE(program) - Deaktiver input for et program
(IQ) Deaktiver al input for det givne program nummer.
10.2.9. DISP("felter") - Vis felter på skærmen igen
(IQ) DISP() kommandoen til at vise alle felter igen på skærmen er blevet udvidet med at man kan angive kun udvalgte felter skal vises som for eksempel DISP("#1,4")
10.2.10. DOFUNCTION(funktionsnr,"nøgle",program) - Udfør extern funktion
(IQ) DOFUNCTION sender en besked <funktionsnr> til det kørende IQ-program eller til det åbne <program>. En nøgle kan medgives til READ funktionerne.
En liste over funktionsnumre kan findes i beregnings-listboxen for 'Beregninger ved valg af en funktion'. For eksempel vil
DOFUNCTION(505,#1,20) bede program 20 om at læse en record med nøgle #1
DOFUNCTION(550) Zoome ind på dette programs skærmbillede
10.2.11. ENABLE(program) - Aktiver input for et program
(IQ) Aktiverer input for et givet programnummer, se DISABLE.
10.2.12. EXEC("beregning",program) - Udfør en tekststreng som en beregning
#20="#2=17"
EXEC(#20)
udfører en tekststreng i felt 20 som en beregning.
Hvis man anvender frifelter i EXEC funktionen skal man anvende WW#nn referencen for feltet, denne fås ved udskrift af programdokumentationen.
Generelt gælder, at den streng, der overgives til EXEC funktionen ikke pre-skannes og checkes som en normal beregningslinie. Dette har specielt betydning ved anvendelse i RAPGEN idet C-syntaksen for beregninger skal følges. Vi tilråder bestemt ikke-programmører til at holde brugen af EXEC funktionen i RAPGEN så simpel som mulig uden at involvere andre funktionskald. Forkerte funktionsparametre kan medføre Windows generel beskyttelsesfejl.
Specielt et punkt skal man være opmærksom på i RAPGEN: #15=2 sætter felt 15 lig med 2 OGSÅ når man bruger dette udtryk som IF #15=2 LET #16=3. Man skal angive lighedstegnet dobbelt ifølge C-syntaksen i en sådan beregning: IF (#15==2) LET #16=3
IQ: EXEC(#20,15) skifter til det aktive program 15 og udfører den angivne beregning.
10.2.13. EXPORT("CLOSE") - Luk export filen
(RAP) Export filen kun nu lukkes ved brug af EXPORT("CLOSE"). Dette kan være nødvendigt, hvis man ønsker at se den dannede fil ved at udføre CHAIN til notepad.
10.2.14. EXIT(program) - Luk et program eller vindue
(IQ) EXIT(0) lukker det aktive IQ program.
EXIT(20) lukker program 20 hvis dette er åbent, 1020 giver subsystem 1.
EXIT(-1) lukker programvalgsvinduet.
EXIT(-2) lukker feltvalgsvinduet for definition af et nyt program.
EXIT(-3) lukker og afslutter hele IQ.
10.2.15. FOCUS(program) - Aktiver program
(IQ) Aktiverer input og sætter fokus til det angivne programnummer.
10.2.16. GETFLAG("felter",parametre,type) - Aflæs parametre for et felt
(IQ) Hvert felt på skærmen er tilknyttet et antal parametre (bits), der definerer, hvordan feltet anvendes. SETFLAG funktionen kan anvendes til at sætte disse parametre, CLRFLAG til at deaktivere dem. Se SETFLAG.
GETFLAG("#12,44",7,0)
10.2.17. GETFLD("Felt")
(IQ) Denne funktion sætter system variable (SY#..) til at pege på definitionen for det givne felt. Feltdefinitionen kan herefter aflæses eller ændres under kørselen. Kun til speciel programmørbrug.
10.2.18. HELP("felt") - Vis meddelelsesbox med hjælp for et felt
(IQ) HELP(#31) Viser en meddelelsesbox med hjælp for det given felt
10.2.19. INDEX(indexnummer) - Lås index på en rapport
(RAP) INDEX(-2) låser rapporten til index 2 i faldende sorteringsorden. Database driveren skal supportere læsning i faldende orden.
10.2.20. INSTALL("xxxxxx.dll","funknavn","3,[sCCC]","mitnavn") Externe funktioner
(IQ/RAP) Programmører med kendskab til funktionsdefinitioner fra andre DLL'er kan inkludere disse som IQ funktioner.
INSTALL("a.dll","b","3,[ss]")
aktiverer #20=B(#21) fra a.dll, #20 og #21 er short variable
INSTALL("mit.dll","etnavn","3,[sCl]","FUNNY")
aktiverer #30=FUNNY(#31,#32) som funktionen etnavn fra mit.dll
returværdien #30 short, parametre #31 som char pointer, #32 som long.
NB: Forkert brug af denne funktion kan forårsage systemnedbrud.
10.2.21. ISACTIVE(program) - Check om et program er aktivt
(IQ) Returnerer 1 hvis <program> er aktivt, ellers 0.
10.2.22. KEYON(0/1) - Gem eller vis nøgleinputfeltet
(IQ) KEYON(0) fjerne nøgleinputfeltet, (1) genaktiverer dette.
10.2.23. LET (felter=...) - Sæt felter lig værdier
(IQ) LET funktionen er udvidet til også at kunne arbejde mellem flere programmer og meller linier i et transaktionsprogram.
LET (20.#1-3=#1-3) Sætter felt 1-3 for program 20 = dette programs #1-3
LET (#1-3=20.#4-6) Sætter felt 1-3 i dette program til #4-6 fra program 20
LET (#10=#3.4) Sætter felt 10 lig med felt 3 fra linie 4
10.2.24. LET (id=felter) Oprettelse af nye kartoteker
(RAP) LET funktionen kan anvendes til af bygge nye kartoteker.
LET (aa=#1-3,87,le#2) Definer aa, nøgle=aa#1, type=1.databasedriver
LET (aa=#1-3,6K,15D) Nøgler aa#4 og aa#5 (Duplikater)
LET (aa=#1-3,6,15;2,NP) Nøgler aa#2 og rel.recnr (Duplikater)
LET (aa=#1-3),12000 12000 records (standard er 1000 hvis relevant)
LET (aa=#1-3),-1 Filen skal bygges ved hver start
LET (aa=#1-3),1000,xnet Filen er en XNET fil
LET (aa=#1-3) -acc Filen er en Access fil, bygges hver gang
LET (07/aa=#1-3),25 Lu kan angives for Basic filer
10.2.25. NEXTFLD("felt") - Hop til et inputfelt
(IQ) brugen af NEXTFLD funktionen er udvidet med:
NEXTFLD("#10") sætter næste input felt til felt 10
NEXTFLD("#10.2") hopper til felt 10 på linie 2
NEXTFLD("5.#10") hopper til program 5 felt 10
10.2.26. NEXTFLDSEQ(sekvens,feltnummer) - Hop til et inputfelt i en sekvens
(IQ) Hop til et bestemt felt i en af feltsekvenserne.
NEXTFLDSEQ(2,1) Hopper til det første felt i input sekvens 2.
10.2.27. MENUCH("menunumre") - Flip menu afchecket flag
(IQ) Flipper afcheck flag for det givne menupunkt (se MENUS) og opdaterer det tilhørende interne flag for programstyringen.
10.2.28. MENUUPD(menunr,funktion,"&tekst") - Tilføj til/Kontroller menu
(IQ) Tilføj til / Kontroller menuerne manuelt.
MENUUPD(1,2000,"Min &Egne menu") Tilføj funktion 2000 til menu nummer 1.
Ved valg af dette nye menupunkt vil brugerberegningerne med label FU2000: i 'beregninger ved valg af funktion' blive udført.
10.2.29. OBJECTADDSTRING (felt,tekst,nøgle) - Adder tekststreng til et objekt
(IQ) OBJECTADDSTRING(felt par1, text par2, text par3)
Parametre:
par1 : Felt på skærmbilledet, fx. va#7
par2 : Tekst til visning
par3 : Text til brug som index
Beskrivelse: Funktionen indsætter en tekst i et objekt. Resultatet heraf afhænger af objekttypen ifølge nedenstående tabel:
|
Objekt |
Betydning |
|
KNAP |
Den tekst, der vises i knappen, indsættes |
|
COMBOBOX |
Der tilføjes et nyt element til listen |
|
EDITBOX |
Feltteksten i editboxen sættes. Hvis koden for flere |
|
|
edit linier er sat tilføjes teksten efter den bestående |
|
LISTBOX |
Der tilføjes et nyt element til listen |
Parameteren par3 bruges kun, hvis objekttypen er COMBOBOX eller LISTBOX. Parameteren skal da indeholde standardværdien for feltet.
Returværdi: Ingen.
Se også: OBJECTCLEAR
10.2.30. OBJECTCLEAR (felt) - Nulstil indholdet af et objekt
(IQ) OBJECTCLEAR(felt par1)
Parametre:
par1 : Felt på skærmbilledet, fx. va#7
Beskrivelse: Funktionen nulstiller indholdet af det givne objekt.
Returværdi: Ingen.
Se også: OBJECTADDSTRING
Eksempel:
OBJECTCLEAR("va#7") /* nulstil alle tidligere værdier
START(gr),"" /* læs alle værdier fra varagruppekartoteket
NEXT(gr)
OBJECTADDSTRING("va#7",gr#2,gr#1) /* Vis gruppenavn og brug nummer som index
REPEAT(gr)
10.2.31. OPEN("id","-") - Temporær lukning af filer
En fil kan lukkes for at tillade CHAINede programmer at tilgribe denne.
OPEN("ku","-") vil temporært lukke filen for at tillade:
CHAIN("command.com /c edit c:\\windows\\system\\ku.ssv")
OPEN("ku","+") vil genåbne filen
NB: Hovedkartoteket må ikke lukkes med denne funktion.
10.2.32. PLSNEXT(mode,"nøgle",inputflag) - Forbered og læs hovedkartoteket
(IQ) Forbered og udfør læsning af hovedkartoteket ifølge den givne mode. Druges i menuerne og ved bladring ned/op mm. Hvis <inputflag> er sat anvendes <nøgle>, ellers er læsningen næste/foregående eller direkte.
PLSNEXT(0,#1,1) læser den næste record med #1 som nøgle.
Mode = 0 Læs næste record
1 Læs forgående record
2 Læs denne record
4 Læs første record
5 Læs sidste record
8 Superindex
16 Dan nøglen ud fra felterne i hovedkartotekets record
10.2.33. PRINT (#11) - Udskrift af linier
(RAP) Bemærk at et tekstfelt kan anvendes som parameter for Printkommandoen som fx:
#11="1-4,15"
PRINT(#11)
10.2.34. PRINT (option=værdi) - Printer udskrifts kontrol
(RAP) PRINT kommandoen er udvidet med syntaksen PRINT(xx=værdi yy), hvor xx,værdi og yy kan være een af følgende:
xx= ml Venstre margin
mr Højre margin
mt Top margin
mb Bund margin
eh Højden af en tom linie
ce Luk rapportvinduet ved afslutning
fh Standard skrifthøjde for alle linier
cd Luk printeren og start på en ny udskrift
yy= cm Centimeter
in Tommer
pt Punkter
lpi Linier pr.tomme
<none> Device pixels
10.2.35. PRINT (?=option) - Aflæs printer opsætning
(RAP) PRINT kommandoen er også udvidet med en funktion til at kunne aflæse visse oplysninger om printeren. I syntaksen yy=PRINT(?=xx) kan xx være følgende:
xx= 0 Hent nuværende y position på siden
1 Hent nuværende sidenummer
2 Hent printerens x opløsning
3 Hent printerens y opløsning
4 Hent standard skrift højde
5 Hent printerens device context (kun til intern brug!)
6 Hent sidebredde
7 Hent højden af en tom linie
8 Hent rapportbufferen (kun til intern brug!)
9 Hent printerens Window handle (kun til intern brug!)
10 Hent sidehøjden
11 Hent venstre margin
12 Hent højre margin
13 Hent top margin
14 Hent bund margin
15 Hent det interne sidenummer
16 Hent job nummeret
17 Hent den brugbare sidehøjde (eksklusiv top/bund margin)
Den returnerede værdi i yy gives som punkter undtagen for xx= 5, 8, 9, 15 eller 16.
10.2.36. PRINT (>n) Skift til anden printer
(RAP) PRINT(>2) skifter til printer 2, se PRINTER.
10.2.37. PRINTER (printernr) - Printervalg
(RAP) Denne funktion bruges i sammenhæng med printervalget ved start. For at sætte standardprinteren for en rapport kan følgende beregningslinie indføjes:
PRINTER(7) /* Standard printeren for denne rapport er printer 7
10.2.38. PRINTER (n,printerid) Udskrift på flere printere
(RAP) PRINTER(2,7) åbner anden printer som den printer, der er defineret som printernummer 7 i printeropsætningen. Der skrives intet på denne printer før
PRINT(>2)
mødes som en beregningslinie hvorefter al udskrift foretages herpå indtil PRINT(>1) skifter tilbage til den printer, der er valgt ved start af rapporten.
Hver printer has sine egne sidenumre og kan have forskellig papirstørrelse. Op til 30 printere (eller kopier) kan anvendes samtidig.
10.2.39. SPEED() - Optimering af læsestrategi
(RAP) SPEED() funktionen kan anvendes til at optimere læsestrategi på en rapport idet en record med samme nøgle som sidst anvendt ikke vil blive læst igen, men taget fra den interne buffer fra sidste læsning. Man skal dog være yderst forsigtig med dette, såfremt der er tale om en rapport med opdatering af kartoteker.
10.2.40. SUPER(file),key - Forbered superindex søgning
(IQ) SUPER funktionen initialiserer NEXT læsningen til at bruge superindex
SUPER(va),#21 NEXT anvender superindex søgning for teksten i #21
NEXT(va) skal følge herefter for at læse recorden
SUPER(va) Superindex frakoples igen
SUPER(va),"#1-3" Superindex felter sættes til felt 1-3
10.2.41. SETFLAG("felter",parametre,type) - Sæt parametre for skærmfelter
(IQ) Hvert felt på skærmen er tilknyttet et antal parametre (bits), der definerer, hvordan feltet anvendes. SETFLAG funktionen kan anvendes til at sætte disse parametre, CLRFLAG til at deaktivere dem.
SETFLAG("#12,44",7,0)
1 Input af feltet bevirker ikke at recorden markeres som ændret
2 Feltet vises før recorden er læst
4 Feltet kan indtastes før der er læst nogen record
8 Feltet er en del af hovednøglen og kan indtastes/ændres som sådan
For typeparameter 0 kan desuden anvendes (af programmør):
0 Brugerparametre som beskrevet ovenfor
1 Feltændrings / status flag for input/ændring
2 Faste parametre der definerer feltanvendelsen
3 Faste parametre der definerer skærmanvendelsen
10.2.42. TRANSMIT(prio,progid,forbindelse) - Opdater andre IQ programmer
(IQ) Send oplysninger om de nuværende records til eet eller flere programmer med anvendelse af de fast definerede forbindelser eller, hvis givet, den angivne forbindelse.
TRANSMIT(0,"","") Opdaterer alle andre programmer ved hjælp af standard forbindelsen
Prio = 0 Normal, bruges når den normale læsning er sket
1 Høj, bruges når man klikker på et felt
2 Tving, opdater selv om dette program ikke er sat til at sende
4 Opdater selv om det andet program ikke er sat til at modtage
8 Udelad de normale TRANSMIT beregninger
16 Superprioritet, fungerer som ny læsning der opdaterer alle andre
Progid="" Send til alle andre
"20" Opdater kun program 20 (hvis dette er åbent)
"le" Opdater alle programmer, der anvender le som hovedkartotek
Forbindelse = "" Anvend de automatiske forbindelse mellem kartotekerne
"1,2P" Brug felt 1 og 2 pakket som forbindelse
"va.01.6" Brug filen va som udgangspunkt for opdatering, Læs det
andet programs hovedfil index 1 med va#6 som nøgle
10.2.43. TRANSSEL("input",inputflag) - Definer IQ transaktions selektioner
(IQ) Skan et eventuelt givet input og definer transaktionsselektioner såfremt dette indeholder en formel som for eksempel #15>0. Bruges af IQ selv i forbindelse med pile op/ned i nøglefeltet.
10.2.44. UPDATE(mode,"felter") - Tillad opdatering af kartoteker
UPDATE kommandoen er udvidet med specifikation af, hvilke felter, der må opdateres.
UPDATE(1,"va#6") Tillader kun opdatering af felt 6 i kartoteket va
UPDATE(1,"le#3-4") Hvert kartotek skal specificeres på sin egen linie
UPDATE(0) Kan nu bruges i DATAMASTER til at frakople al skrivning
10.2.45. VALID(nummer,"Værdier",mode) - Tilladte værdier
VALID funktionen er udvidet med en mode parameter 0 eller 1.
VALID(15,"1-3,8-12") er uændret, returnerer 0 hvis 15 ikke er i de nævnte intervaller.
#20="1-3,8-12"
VALID(15,#20,1)
vil ændre intervallet i textfeltet #20 ved at indsætte 15 således at #20 bliver: "1-3,8-12,15"
10.2.46. WAIT(program) - Vent til et program er færdigt
(IQ) Vent indtil det givne program er færdigt (se EXIT). Beregningerne fortsætter først, når det ander programvindue lukkes.
10.2.47. WIF("tekst") Testprint af en tekst
(IQ/RAP) WIF giver et testprint til filen c:/wif uden af forstyrre skærmbilledet.
10.2.48. WIFS("felter") Testprint af felter
(IQ) WIFS giver et testprint til filen c:/wif af de angivne felter.