Citation for published version (APA):
Tran, M. D. (1988). Materiaal databank : version 1.0. (TH Eindhoven. Afd. Werktuigbouwkunde, Vakgroep Produktietechnologie : WPB; Vol. WPA0588). Technische Universiteit Eindhoven.
Document status and date: Gepubliceerd: 01/01/1988 Document Version:
Uitgevers PDF, ook bekend als Version of Record Please check the document version of this publication:
• A submitted manuscript is the version of the article upon submission and before peer-review. There can be important differences between the submitted version and the official published version of record. People interested in the research are advised to contact the author for the final version of the publication, or visit the DOI to the publisher's website.
• The final author version and the galley proof are versions of the publication after peer review.
• The final published version features the final layout of the paper including the volume, issue and page numbers.
Link to publication
General rights
Copyright and moral rights for the publications made accessible in the public portal are retained by the authors and/or other copyright owners and it is a condition of accessing publications that users recognise and abide by the legal requirements associated with these rights. • Users may download and print one copy of any publication from the public portal for the purpose of private study or research. • You may not further distribute the material or use it for any profit-making activity or commercial gain
• You may freely distribute the URL identifying the publication in the public portal.
If the publication is distributed under the terms of Article 25fa of the Dutch Copyright Act, indicated by the “Taverne” license above, please follow below link for the End User Agreement:
www.tue.nl/taverne
Take down policy
If you believe that this document breaches copyright please contact us at:
openaccess@tue.nl
providing details and we will investigate your claim.
j:
M.D.
Tran
!
U
HS-stageverslag\ juni 1988
Het voor U liggende verslag, is het resultaat van de werkzaamheden die ik in dit stage peri ode heb uitgevoerd.
Een korte omsehrijving van de opdraehten vindt U in de samenvatting van dit verslag.
Dit voorwoord gebruik ik verder graag om iedereen te danken voor hun hulp, in het bijzonder de heren M.T. de Groot en ir. L.J.A. Houtackers.
Due Tran juni 1988
Periode: student: stage nr:
opslaan.
Het programma wordt in dBase111 Plus command language geschreven.
1 maart tIm 17 juni 1987 M.D. Tran
WD 28
stage plaats: TUE - Laboratorium voor Omvormtechnologie. stage begeleider: ire L.J.A. Houtackers
SUMMARY
· . .
. .
.
.
.
1. INLEIDING
2. DE GEAUTOMATISEERDE TREKPROEF •
2.1 Werkwijze • • • • • • •. •
• • • •
2.1.1 Het verzamelen van gegevens
2.1.2 Het verwerken van gegevens • • • • • • •
2.2. De datastruetuur van de trekproef files
3. KEUZE VAN DE DATABASB TAAL
4.
DBASB III PLUS
.
.
·
· · ·
·
· · ·
4.1 Historie
.
. . .
· ·
·
·
·
· ·
4.2 De taal
.
. .
·
·
·
·
·
·
· ·
· ·
·
4.3 Bet interaetieve gebruik van dBase
· · · ·
4.4 Programmer en in Dbase
·
· ·
·
· · ·
·
· · ·
•.
5. DATABASB ONTWERP
• • • • •
• • • • • • • •
5.1 Theoretisehe modellen .
• • .
• • •
5.1.1 Bet hierarehisehe model
• • • . • • . • • •
5.1.2 Het netwerk model
. • •
• • • . • •
5.1.3 Het relationele model
. • • .
• • •
.
5.1.3.1 Een beknopte introduetie • • • • • •
5.1.3.2 Prima ire sleutel • • . • • • • •
5.2 De opslagstruetuur
. • •
• • • • . • • • •
5.3 Gebruikersspeeifieatie
• • • • • • • • • • • •
5 • 4 De aanpak . . . • . . • • . • . • . . • .
5.4.1 Gegevensstruetuur
• • . • • • • • •
5.4.2 Het definieren van database bestanden • • •
5.4.3
Integratie van Paseal bestanden in dBase
bestanden . . . .
. . . • . . . . .
5.4.4 Het eonverteren van Paseal bestanden naar
ASCII bestanden.
• • •
• • •
5.4.5 Bet importeren van ASCII bestanden in dBase
bestanden. . . • . . . . . • . . . • . .
5.4.5.1
Het
importeren
van
bestanden
opgeslagen in een rij • • • • • • • •
5.4.5.2
Bet importeren van gegevens in een
kolom . . . .
5.4.6. Het opzetten van een dialoogstruetuur.
5.4.6.1 Dialoog struetuur
• • • •
5.4.6.2 De menu struetuur . • • • •
5.4.7 Seleeteren of benoemen • . • • •
6. PROGRAMMA ONTWERP • • •
6.1 Bet ontwerpen van
6.2 Bet ontwerpen van
6.3 Seherm Layout en
de dialoog
• • •
• • • • • •
de transaeties • • • • • • • •
Rapporten ontwikkelen
• • • •
2 3 4 4 4 4 5 6 7 7 7 8 9 10 10 10 10 1011
1112
15
16
16
17
17
17
18 18 2021
21
22
2327
27
27
288. SLOT
.
.
.
.
.
.
. . .
. .
.
LITERATUUR • • • •
.
.
. .
.
. .
.
.
Bijlage A: Lijst van variabelen van de trekproef files.
Bijlage B: De structuur van de CNK2 en MGG bestanden.
Bijlage C: De gebruiker handleiding, database programma.
Bijlage D: De Program Structuur Diagram dialoogstructuur.
Bijlage E: De listing van het database programma
31
SAMBNYATTIHG
In dit verslag wordt een besehrijving gegeven van de
werkzaamhe-den welke verriebt werwerkzaamhe-den bij het opzetten van een Materiaal
database systeem.
Met het database pakket dBase III PLUS worden de applieaties voor
het materiaal database ay.teem ontwikkeld.
De eerate atap in dit projeet is bet implementeren van de
"Paseal" files in dBase III format bestanden. Doer de ASCII cede
te hanteren wordt dit gerealiseerd.
Bierna voIgt het opzetten van de gegevensstruetuur, het ayateem
ontwerp en de programma ontwerp.
SUJOIARY
This report describes the work which has been done to create the
MATERIAL DATABASE SYSTEM.
Applications for the system were developped with the database
software system DBase III PLUS.
This development is as follows:
Firstly, we have to find a way to implement all the data's, which
are stored in "Pascal" format, into the database system.
Then the database structure will be designed follow up with the
system design after which the programma will be written.
1. IILBIDIHG
Bet Laboratorium voor Omvormtechnologie van. de vakgroep WPA(*),
TUE heeft de beschikking over verschillende test faciliteiten.
Biermee kunnen verschillende standaard proeven, die betrekking
hebben op het vakgebied Omvormen van metalen, vorden uitgevoerd.
Bnkele van deze proeven zijn de trekproef, de wringproef, de
Bricsen test, de Bulge test enz ••
Sinds kort kan de trekproef automatisch plaatsvinden, waarbij
het verzamelen en het verwerken van data m.b.v. een computer tot
atand komen. De verkregen resultaten
worden op een diskette
oPOeslagen. Per trekproef wordt opgeslagen: de materiaal naam,
de karakteristiek
deformatie weerstand
C,
de versteviging
exponent n, de materiaal code enz ..
Om al deze gegevens op te kunnen bergen en te onderhouden, is het
de bedoeling, dat er een database systeem worden oPOezet.
Mijn taak voor deze periode luidt dan ook:
1)
het onderzoeken naar de toepasbaarheid van dBaseIII Plus
voor dit database systeem.
2)
Met de oPOedane kennis zelf een materiaal database op te
zetten.
Dit systeem dient als een . eerste aanzet voor een uitgebreider
database systeem, dat nodig is als ook andere proeven
geau~omatiseerd zullen worden in de toekomst.
In dit verslag wordt uiteengezet, welke stappen die gevolgd zijn
bij het opzetten van het systeem.
2. DB GBAUTQMATISBBRDB '1'R.BItPROBP
2.1 'erk.iize
Pe automatiscbe trekproef bestaat eigenlijk uit 2 gedeelte.
a)
Bet verzamelen van gegevens.
b)
Bet ver.erken van gegevens.
2.1.1 Bet verzamelen van aegevens
De
trekproef .ordt uitgevoerd op een "borizontale .ecbani.cbe"
trekbank. Tijdens de proef .ordt per tijdseenbeid de .omentane
kracht, de momentane breedte en de momentane dikte geregi.treerd.
Pit gebeurt m.b.v. verschillende .ensoren. De
signalen afkomstig
van deze sensoren, komen globaal gezegd via de versterkera, de
AlP converter, de PC computers tenslotte op een diskette terecht,
waar ze opgeslagen worden in afwachting van verdere ver.erking.
Deze gegevens wordt opgeslagen in een file, die <codenaam).PBS
beet: de codenaam is uniek en slaat aIleen op de betreffende
trekproef.
Tevens wordt van deze proef verscbillende metingsgegevens ,zoals
de materiaalsoort,
de materiaal code, de afko.at van het
materiaal enz •• , in de file (codenaam).MGG opgenomen;
Bet programma "Datataker tt'rekproef" draagt zorg voor de eerder
bescbreven bandelingen.
2.1.2 Bet ver.erken van gegevens
De
opgeslagen gegevens worden door bet programma "Trekproef
Analyse" verwerkt.
Pit programma berekent diverse materiaal parameters zoals de
C-en de n-waardC-en bij epsilon nul
=
0, C- en n-waarden bij epsilon
nul ) 0 , deze worden daarna in de file <codenaam).CNS gesaved.
Verder berekent bet programma ook de rek, de spanning, en de
anisotropie waarde per meting, deze gegevens zijn van belang bij
het maken van grafieken. Deze uitgewerkte gegevens worden in de
file <codenaam>.SEa gesaved.
2.2. De datastructuur yan de trekproef files
Zowel de "Datataker Trekproef" als de
"Trekproef analyse"
programma zijn in de taal Turbo Pascal
4.0gescbreven, betgeen
automatisch inhoudt, dat de data ook in Pascalformat opgeslagen
zijn. Van de 4 opgeslagen files heeft de file <cadenaaa>.Mee:
bet Pascal type TEXT en de andere drie bet Pascaltype aEAL.
(in bijlage A zijn de in de files opgeslagen variabelen en bun
format weergegeven).
D@
t@~mi~Yift d@
di~i·1yaft d@
boy@ft'@fto~md.fil •• (boe bet wordt
opgeslagen)' is van Groot belang bij de keuze van bet datab •••
pakket, waarmee het database systeem wordt opgezet.
3. UUZB
YAN
DB DA'l'ABASB 'l'AAL
V~~r
de keuze van de database taal kan men kiezen uit
versehil-lende pakketten die speeiaal voor deze doeleinden 2ijn ontworpen.
Bijvoorbeeld:
DBASB III PLUS
Foxbase
QU
'l'urbo Paseal Database 'l'oolbox
Van de vele keuzen treden de twee pakketten dBase III Plus en
'l'urbo Paseal Database 'l'oolbox duidelijk op de voorgrond.
DBase III Plus vanwege de naamsbekenheid van dit pakket en
het besehikbaar zijn van dit pakket in het Laboratorium voor
Omvorateehnologie.
'l'urbo Paseal,
omdat het dezelfde data format hanteert als
de opgeslagen trekproef-gegevens.
Uit de vier bovengenoemde pakketten wordt voor dBaseIII Plus
gekozen. Argumenten hiervoor 2ijn op de eerste plaats de
naamsbe-kendsheid van het pakket en op de tweede plaats het feit dat
dBase tot de zogenaamde 4. genera tie taal behoort, terwijl '.se.l
in het rijtje van de derde generatie taal thuis hoort.
Bet onderseheid tussen deze twee talen is dat bij de 8en (Paseal)
zowel moet worden aangegeven wat er door de programma's moet
worden gedaan
als ook de wijze waarop dit dient te gebeuren,
terwijl bij de andere (dBASB) bet voor de prograameur duidelijk
is op welke manler ae aewenste re.ultat8ft tot atlft4 •••
8ft.
Het bovenstaande wordt hierna nog eens duidelijk gemaakt.
In bet volgende boofdstuk zal de taal dBase III Plus uitgebreid
worden behandeld.
4. DBASE III PLUS
In dit hoofdstuk zal het database pakketvoor de
pc:
dBase III Plus aan de orde komen. Met behulp van dit pakket zal demateriaal database worden opgezet.
4.1 Historie
Dbase III is de in 1984 uitgebrachke opvolger van dBase II. Het is een van de meest verkochte database pakketten voor de
pc.
Het enorme commerciele succes van het pakket is te danken aan de brede markt die het pakket bestrijkt. Zowel voor de beginnende gebruiker die een elektronische kaartenbak wil opzetten, als de gevorderde die met meervoudige bestanden gaat werken, alsprofessionele ontwikkelaars, worden door dit pakket in hun behoefte voorzien. Het aantrekkelijk van dBase III is dat men, eventueel met ondersteuning van buitenaf, steeds op een hoger niveau toepassingsmogelijkheden van Dbase III kan ontdekken.
4.2 De taal
In feite is Dbase III een data manipulatietaal, een verzameling van commando's voor gegevensontsluiting en gegevensmanipulatie. De dBase programma's zien de database als een verzameling
bestanden. Meerdere bestanden kunnen tegelijkertijd geopend
zijn. Als dit het geval is, heeft elk bestand een wijzer, die op elk moment naar een van de records wijst. Met behulp van de dBase III commando's kan de recordswijzer bestuurd worden. Dbase III bevat behalve recordswijzer besturingscommando's ook commando's voor bestandscreatie, data onderhoud, data display, geheugen variabelen manipulatie (memvars), programmabesturing, dbase parameters control en bovendien een groot aantal functies, die gebruikt kunnen worden in expressies.
gemanipu1eerd worden. (zie 4.3 en 4.4)
4.3 Het interactieye qebruik yan dBase
Met de zogenaamde Query Language kunnen op interactieve wijze
gegevens uit de database worden bewerkt. Dit is de zogenaaade
interactieve mode.
DBase kent twee vormen van interactief
gebruik. De .eest
elementaire vorm van interactie is, dat elk commando, dat wordt
ingetypt, direct wordt uitgevoerd. Door aidde1 van
Belp-infor-matie kan de gebruiker voortdurend inforBelp-infor-matie over het gebruik
yan commando's krijgen. Bet z1Jn echter de gebruikers die
gedurende een dbase III sessie
verantwoordeli~k zi~nvoor
4.
consistentie van de achtereenvo1gens ingevoerde commando's. Ben
tweede vorm van interactief gebruik is in dBase III uitgewerkt
door een menu gestuurde dialoog waarbij de gebruiker in kleine
stapjes het probleem definieert. De consistentie yan de stappen
wordt door dBase III bewaakt. Bet gebruik van het ASSIST-commando
beperkt zich tot slechts een gegey.nabe.tand,
waarmee in de
praktijk het concept van een simpele
"elektronische kaartenbak'
volledig is geimplementeerd.
Zodra er problemen moeten worden
opgelost waarbij meerdere gegevensbestanden betrokken zijn, is
het ASSIST-commando ontoereikend.
Ben van de nadelen van het interactief gebruik van dBase III is,
dat de eindgebruikers over enige kennis van dBase III commando's
moeten beschikken om effectief met dBase te kunnen omgaan.
Dbase III beschikt daarom over de aogelijkheid om interacti.v.
commando's op te slaan in een commando file, waarna aan dBase III
de opdracht gegeven wordt om deze commando's achtereenvolgens
uit te voeren. Dit is de zogenaamde program mode
4.4 'rograameren in Dbase
In de program mode komt het pakket dBase 111 beter tot haar recht, door het gebruik van de gestructureerde programma elementen zoals DO WHILE .•• KNDDO enz •. , de talrijke standaard functies en de mogelijkheden van dBase om validiteit-, integri-teit- en domeincontrole uit te voeren enz ••
De applicatie ontwikkelaars kunnen door gebruik te aaken van uitgebreide menudialogen de programma's zodanig schrijven, dat de eindgebrulkershet pakket optimaal kunnen benutten zonder
enloe
kennis te hebben van de dBase III commando's.Voor een volledige uitleg van dBase vordt vervezen naar de literatuur.
5. DATABASE ONTWERP
Een van 4e belangrijkste activiteiten bij bet opzetten van een
database is het ontwerpen van de gegevensstructuur. Hierin wordt
vastgelegd hoe de gegevens worden opgeslagen en hoe de relatie
onderling tussen de gegevens zijn.
5.1 Theoretische modellen
Voor bet vastleggen van gegevens bestaan er diverse tbeoretische
modellen, zoals het hierarchische model, het netwerk model, het
relationele model enz •.
5.1.1 Het hierarchische model
In het bierarchische model gaat men ervan uit dat aIleen
hierarchiscpe verbanden
tussen objecten bestaat. Men maakt
hier~ij
gebruik van de zogenaamde boomstructuren.
Ben van de
problemen hierbij is dat gegevens niet altijd op de ••
wij ••
gestructureerd zijn. Het bouwen en onderhouden van een
bier-archiscbe systeem is hierdoor complex en vraagt gespecialiseerde
kennis. Dit model stond aan de basis voor de eerste generatie
database systemen.
5.1.2 Het netwerk model
De
tweede generatie database aystemen worden gebouwd rond het
netwerk model.
Opgrond van de netwerk structuren (m:n relatie)
biedt het netwerk systeem betere mogelijkheden om de relatie
tussen de gegevens in de ,database vast te leggen.
5.1.3 Het relationele model
Een model,
dat nog een grotere flexibiliteit biedt in het
vastleggen van de relaties tussen de objecten is het relationele
model.
Bet relationele model is het meest flexibel model van aIle dri.
en zal dus als model voor de gegevens structuur dienen.
5.1.3.1 Een beknopte introductie
Door E.F. Codd werd het model in 1970 geintroduceerd. Dit model
is gebaseerd op begrippen uit de verzamelingleer. Basis van het
relationele model is de relatie. Een database is dan de
verzame-ling van onderverzame-ling gerelateerde relaties. Deze relaties worden
voorgesteld als een tabel. Elke rij uit deze tabel
vertegenwoor-digt een entiteit occurence,
en elke kolom van de tabel is een
attribuut w.arde van het tabel. Dit volgende voorbeeld zal het
bovenstaande duidelijker maken:
voorbeeld:
We hebben een tabel meetgegevens waarin diverse gegevens van een
trekproef worden vastgelegd zoals: de datum,
de treksnelheid, de
operator, het materiaal soort enz •. De desbetreffende trekproef
is dan een van de entiteit occurence van de tabel, en de gegevena
zijn dan de attributen waarden.
5.1.3.2 Primaire sleutel
Dit is een attribuut of een combinatie van attributen
(kolom-men), die een entiteit occurence
(rij) uniek maakt.
Van de
meetgegevens tabel in de bovengenoemde voorbeeld, zal er geen
priaaire sleutel worden gevonden,
want als men bijvoorbeeld de
kolom datum neeat,
kunnen er verschillende trekproeven op die
datum zijn uitgevoerd, door bijvoorbeeld Dog 8en kolom (code)
aan de tabel toe te voegen,
waarvan de code aIleen betrekking
heeft of "n trekproef, is elke rij dan uniek identificeerbaar in
de tabel.
Uitgaande van het laatst genoemde model, aal de huidige gegevena
structuur van de opgeslagen Pascal files worden doorgelicht,
waarna geprobeerd
wordt,
deze zodanig om te zetten, dat het op
het derde theoretisch model zal lijken. Hoewel niet nodig, biedt
deze opslagstructuur toch de meest flexibele manier van gagevena
verwerking en tevens is de bestendigheid tegen verwerkingsfouten
bij deze opslagstructuur het grootste.
5.2 De opslaastructuur
De
huidige opslagstructuur is, zoals al eerder beschreven,
opgebouwd uit:
a)
een uniek code:
deze heeft aIleen be trekking op de
betreffende trekproef.
m
TA875201 T=
trekproef
A=
aluminium
(ook mogelijk
F=
staal
M=
messing
It=
koper
R.=
roestvast
87 =jaaraanduiding
52=
weeknummer
01 =proefnummer
b)
4 files, te weten:
<codenaam>
+MGG
It It +FBS
+ SER. +eNE
is
staal)
Als deze opslagstructuur met behulp van de eerder genoemde
modellen worden baschreven, dan krijgen we het volgende beeld:
code
J
I
,
I
f
FBS
MOO
CNE
SER
<codenaam).FBS
I
I
I
imr, b , sO
I
aantal F[iJ
sri]
b[i]
1
·
·
mr
<codenaam).MGG
datum werkstof materia plaat
·
...
wijz.opm2
nummer
soort
dikte
881202
1.5678A12shh
1
.
.
.
opmerking
<codenaam).SER
I IImr
I
A 0 l lb l . It 1.
.
mr
<codenaam).CNE
1 mr
Zoals te zien is, is deze opslag structuur een combinatie van een
hierarchische structuur en tabel1en onder diverse takken, terwij1
bovendien een tabel nog subko1ommen bevat. Voor database
doe1-einden is deze structuur niet geschikt. Uit de oude structuur is
de nieuwe opslag structuur afge1eid, die als voIgt uitziet:
tabel CNK2
code
aanta1
Cn
C
n
epsO
trekproef meetwaard
TA881202
20
219.1 0.19 219.1 0.19 0.00
TF881203
89
·
..,.
..,. .
.
..,86
. . .
.
.
. .
.
.
..
.
.
·
...
. ...
·
.
.
. . .
.
.
12
TR.881224
37
1200 0.35 1400 0.46 0.02
..,...
· .
. .
..
. . .
.
.
.
. . .
. . ... .
.
.
.
tabel MOO
code
datum werkstof materia
p1aat
wa1s
bank
trekproef
nummer
soort
dikte richting sne1h.
,
TA881212
280388 1.6658
a12shh
1
45
0.16
.. ..
. .
.
. . .
..,..
.
..
.
. ·
.
. . .
..
· .
.
. .
.
..,.
. .
. · .
..,.
.
.
·
..
.
.
· . .
. . .
..
..
· .
. . . . ·
... · . . . .
.
·
. . .
.
·
. .
. .
. · . . .
TR881224
290388
1.5467
RVS
1
0
0.16
· ... ·
...
·
. . .
.
.
·
. .
. .
..
·
. . .
.
· . .
..
.
. ·
...
Deze nieuwe opslag struetuur bestaat dus uit twee tabellen,de
CNK2 tabel met de velden (code,
(C,n),( C,n,.o»
en de MGG
tabel met de velden
(code, datum, ••• ). De oude files PBS en SER
bevatten gegevens, die alleen van belang zijn bij het tekenen van
grafieken en zijn dus onbelangrijk voor bet database systeem. Om
die reden
worden ze dan ook niet in bet database BYBteem
opgenomen.
Bet veld
(kolom) CODE vormt voor deze beide tabel de primaire
sleutel. Bieraee is de relationele bewerking VBRBINDING tUB Ben
deze twee tabellen mogelijk.
5.3 Gebruikersspecificatie
Na het vastleggen van de gegevensstruetuur,
vastleggen van de gebruikersspeeifieatie,
systeem uit te voeren transaeties.
is de tweede stap bet
d.w.z. de door bet
De volgende. transactte. zijn gedetinieerd:
1)
Overziehten van
c-
en n-waarde per materiaal soort.
2)
Overziehten van materiaalsoort bij gegeven C en
ft.3)
Overziehten van complete tabel CNK.
4)
Overziehten van complete tabel MGG.
5)
Bet invoeren van nieuwe bestand.
6)
Bet verwijderen van bestanden.
7)
Bet wijzigen van bestanden.
opmerking t.a.v. transaetie 5,6,7
transaeties 5: nieuwe trekproef wordt ingevoerd •
transaeties 6: oude trekproef wordt uit het systeem verwijderd.
transaeties 7: bij deze
transaeties mogen
alleen het veld
"materiaal naam" en "werkstoffnr."
van de tabel
MGG worden veranderd.
In de toekomst is ook dit niet meer mogelijk
wanneer men bij het invullen van de
metinoaoeoe-yens van de trekproef meteen het goede
werkstoff-nummer en de juiste materiaalcode invoert.
Bij het muteren van gegevens
(invoeren,
wijzigen, verwijderen)
dient er op de integriteit van gegevens gelet te worden. Hiermee
wordt bedoeld dat de gegevens een eenduidig dienen te zijn.
Wanneer men bijv. in de CNK2 tabel een rij verwijdert, dan moet
ook de betreffende record uit de MGG tabel worden verwijderd.
Het systeem dient uiteraard menu oestuurd te zijn. De atandaard
layout van het menuscherm van het Lab voor Omvormtechnologie
dient aangehouden te worden.
5.4 De aanpak
Bij het ontwerpen van het programma moe ten de volgende stappen
worden gevoigd:
1-
De gegevens structuur van deze database ontwerpen.
Hierna kunnen verschillende database bestanden worden
gedefinieerd.
2-
Aan de hand van de gebruiker specificatie een
dialoog-structuur
en hierna diverse menu-schermen opzetten.
De menu-schermen testen op werking.
3-
Er moeten programma's worden geschreven die trekproef
gegevens
in
een voorlopige database bestanden
plaatsen.
4-
Elk van de transacties in activiteiten onderverdelen.
Bierna worden de werkzame commando's in een commando
bestand gezet.
5.4.1 Geaevensstructuur
5.4.2 Het definieren van database bestanden
Dit wordt gedaan aan de band van de gegevensstructuur, m.b.v.
bet dBase commando
.CREATE.<database naam)
Hierna komen we in de ASSIST mode van dBase,
waarna diverse
velden van de database en bun eigenscbap gedefinieerd kunnen
worden.
De bestanden CHK2 en MGG zijn zo opgezet. De structuur van beide
bestanden is in bijlage B opgenomen.
5.4.3 Intearatie van Pascal bestanden in dBase bestanden
De in Pascal formaten opgeslagen gegevens in de CNE, SER, PBS
zijn voor Dbase III niet berkenbaar.
Ze zijn ecbter vel
herken-baar voor praktische aIle talen als deze gegevens in ASC II*
formaten zijn opgeslagen. Dus om de gegevens van de CNE-files in
dBase bestanden in te lezen, moeten er eigenlijk twee dingen
worden gedaan.
a-
Het converteren van de in Pascal formaten gegevens
naar ASCII formaten.
b-
Het importeren van de ASCII gegevens in dBase
bestan-den.
5.4.4 Het converteren van Pascal bestanden naar ASCII bestanden.
Het programma conver7.pas is een voorbeeld van hoe bet
con-verteren te werk gaat. Dit programma zet de gegevens van de files
<codenaam>.CNE, die bet pascal type REAL
heeft, naar een nieuwe
files <codenaam>.CNK die het pascal type TEXT heeft.
De gegevens, die in deze files opgeslagen liggen, zijn van het type ASCII (TEXT. ASCII). In dit file zijn de C en n-waarde ,C en n-waarde met epsO achter elkaar in een rij gezet:
voorbeeld:
TF882002 1200.00 0.24 1300.00 0.26 0.01
Ze kunnen ook, indien gewenst onder elkaar in een kolom gezet worden. voorbeeld: TF882002 1200.00 0.24 1300.00 0.26 0.01
5.4.5 Het importeren van ASCII bestanden in dBase bestanden.
5.4.5.1 Het importeren van bestanden opgeslagen in een rij.
Voor het importeren van ASCII bestanden in dBase beatanden hee!t dBase III Plus het commando: APPEND FROM <filenaam> SDF ter beschikking. <filenaam) is de naam van het ASCII bestand. D ••• append command leest een rij van het ASCII bestand en zet het in een record van het dBase bestand.
Zo zou het importeren van het in voorbeeld
TF882002.CNK bestand als voIgt zijn gegaan:
a) V~~r het importeren.
De status van het database bestand CHK2 met de gedefinieerd velden is hieronder breedte voor en de veldtype. C;;: karakter n;;: nummeriek codenaam C 8 C 9 H
veergegeven. De cijfers stellen de veld-letter na het cijfer in elke veld stelt het
n CO nO epsO
5 H\ 9 H
I
5H
I
4HI
TF882002
1200.00 0.24 1300.00 0.26 0.01b) Ha het importeren ziet het er als volg uit:
codenaam C n CO nO epsO
ITF8820021
1200.00 10.24 1300.0010.26 \00011
We zien dus, dat voor een perfect verloop van het importeren van de ascii files in database bestanden, we er slechts voor moeten zorgen dat de afstand van de in de files opgeslagen gegevens overeenkomen met de veldbreedte in de database bestanden. De geimporteerde gegevens nemen hetzelfde veldtype aan als het veld vaarin ze geimporteerd zijn.
Voorbeeld:
C is een karakter type, ,maar neemt nadat het is geimporteerd het numerieke type aan.
5.4.5.2
Bet importeren van gegevens in een kolom
De
files <codenaam).MGG bevatten gegevens van bet type TEXT
=
(ASCII) en boeven dUs de eerste fase niet door te lopeno
In deze files zijn verscbillende gegevens in een kolom onder
elkaar gezet.
Datum
Werkstoffnummer
Materiaalsoort
Plaatdikte
enz ••
Deze kunnen als volgt in de database bestand MGG gezet worden.
Eerst worden ze in een bulpbestand MGG2 gezet. De structuur van
dit bestand is bieronder weergegeven:
naam .
20 C
Bestand MGG2 naam 23-06-88 1.0678 Al2shh 1
o
D. 'l'ranVervolgens kunnen de records van het MGG2 bestand in het MGG bestand worden gezet.
MGG datum MGG2 bestand naam 23-06-88--.... 1.0678 A12shh 1
o
D. '!'ranwerkst naam dikte walsr
5.4.6. Bet opzetten van een dialooqstructuur.
5.4.6.1 Dialoog structuur
operator
Onder een dialoog structuur wordt verstaan het "vraag en antwoord" spel, dat de gebruiker achter de computer uitvoert bij het definieren van zijn/haar probleem.
Deze dia100g leidt uiteinde1ijk tot het uitvoeren van een van de
transacties.
Er bestaat diverse dia100g structuren. Voor onze database
wordt
gekozen voor een hierarchische structuur waarbij de gebruiker,
door het geven van antwoorden op de geste1de vragen op het
scherm,
uiteinde1ijk zijn/haar prob1eem definieert, waarna het
programma een transactie za1 uitvoeren. Bierbij door10opt de
gebruiker diverse menu-schermen.
Uit de
bovenstaande dia100gstructuur
structuur naar voren gekomen.
5.4.6.2 De menu structuur
BOOFDMENU
1. Invoeren. van bestanden (transactie 4)
2. Wijzigen van bestanden (transactie 5)
3. Verwijderen van bestanden(transactie 6)
4. Opvragen van bestanden.(transactie 7)
5. Stoppen.
1
INVOEREN MENU
1.1 directory van schijf
1.2 invoeren van nieuwe trekproef
1.3 stoppen.
2
WIJZIGEN MENU
2.1 wijzigen van mat-naam
2.2 wijzigen van werkstoffnummer
2.3 stoppen
3.
VERWIJDEREN MENU
3.1 Lijst van aIle bestanden
3.2 Verwijderen van oude trekproef.
3 .. 3 Stoppen
4 OPVR.AGEN
4.1 Overzichten C en n waarde per aateriaal soort (trans 1)
4.2 Overzichten van aateriaalsoort bij gegeven C en n waarden ..
(trans 2)
4.3 Overzichten van complete tabel 1 CN'1t2 (trans 3)
4.4 Overzichten van complete tabel 2 MGG
(trans 4)
4.5 Stoppen
Deze struetuur heeft als voordeel dat mits goed geprogrammeerd,
het systeem niet kan vastlopen. Daar tegenover staat dat 8en
van
de krachtige hulpmiddelen van dBase: (de Query language) onbenut
blijft ..
5.4.7 Selecteren of benoemen
Uit de, voor de database gedefinieerde,
transacties wordt per
transactie het volgende vastgelegd:
a)
globale definities van de transacties.
b)
Welke bestanden en velden er nodig zijn.
e)
Bestanden (indexeren).
d)
Bewerking.
e)
Uitvoer.
Transactie: 1
Omschrijving:
Bestanden:
Overzichten van C en n-waarden per mat_soort.
CN1t2.DBf'
MGG .. DBF
NAAMCN.FRM
Toegangspaden:
Index bestanden:
Bewerking:
Uitvoer:
Transactie: 2
Omschrijving:
Bestanden:
Toegangspaden:
Index bestanden:
Bewerking:
Uitvoer:
Transaetie: 3
Omschrijving:
Bestanden:
Toegangspaden:
Index bestanden:
Bewerking:
Uitvoer:
via de ingegeven codeletter en mat_naam
CNX2 geindexeerd op CODE
MGG
geindexeerd op MAT_SOORT
Selectie in beide bestanden op mat_soort
8mat_naam.
Rapporten lijst: overzichten van C en n, C en
n en £0 waarden per materiaal .oort.
Overzichten van mat_soort per C en n waarden.
CNX2.DBF
MGG.DBF
C-n-waarde.FRM
via de ingegeven C-bovengrens en C-ondergrens
en n- bovengrens en n-ondergrens.
Index bestanden CNX2 op C-waarde.
MGG
op code.
Selectie in het beide
bestanden voor C
ondergrens
<
C
<
bovengrens,
n ondergrens
<
n
< n bovengrens.
Overziehten van aIle materiaal-soorten, code,
(C,n_waarde), (C,n,epsO).
Overzichten tabel 1 <CNX2>
CNX2.DBF
CNX2.FRM
via selectie
CNX2 index op code
Projectie van aIle kolommen van de tabel.
Complete lijst van tabell
code,
aantal,
Transactie: 4
Omschrijving:
Bestanden:
Toegangspaden:
Index bestanden:
Bewerking:
Uitvoer:
Transactie: 5
Omschrijving:
Bestanden:
Toegangspaden:
Index bestanden:
Bewerking: .
Uitvoer:
Transactie: 6
omschrijving:
Bestanden:
Toegangspaden:
Index bestanden:
Overzichten tabe1 2 <MGG>
MGG.DBF
MGG.FRM
Via se1ectie
MGG index op code
Projectie van a11e ko10mmen van de tabe1.
Complete lijst van tabel 2 code, mat_soort,
werkstoffn enz ••
nieuwe trekproef invoeren
CNK2 en MGG.DBF
via de ingegeven nieuwe code
CNK2 geindexeerd op code;
MGG geindexeerd op
code
code van de trekproef wordt ingevoerd. Als
die a1 in het bestand voorkomt,
wordt dat
geme1d en een nieuwe code wordt gevraagd.
Vervo1gens wordt gekeken of het codenummer a1
bestaat op diskette a:
[Ja] De trekproef wordt in bestanden MGG en
CNX2
gezet. Nieuwe index bestanden wordt
aangemaakt.
[Nee] Er wordt gevraagd om een nieuwe code
in te geven.
Bijgewerkte bestanden CHk2.DBF en MGG.DBF
Verwijderen van bestanden
CNK2.DBF en MGG.DBF
via de ingegeven <codenaam>
CNk2 geindexeerd op code
MGG geindexeerd op code
Bewerking:
. Uitvoer:
Transactie: 7
Omschrijving:
Bestanden:
Toegangspaden:
Index bestanden:
Bewerking:
Uitvoer:
Berst wordt gekeken of de code weI bestaat.
Wordt de code gevonden, dan worden zowel dat
record in CHK2
bestand als dat in het MGG
bestand verwijderd.
Beide bestanden wordt
daarna bijgewerkt
Wordt de code niet gevonden, dan wordt een
nieuwe code gevraagd •
Bijgewerkt bestanden CNK2 en MGG.
Wijzigen van bestanden
MGG
via selectie
Mat_soort geindexeerd op materiaal soort
Laat de velden: code
Imat_soort,
werkstoff-nummer op het scherm verschijnen, waarbij
develden mat_soort en werkstoffnummer,
editeer-baar zijn.
Veld codenaam en werkstoffnr zijn volgens de
vastgelegde norm gewijzigd.
6. PROGRAMMA OH'l'WERP
Door de beschrijving van de transacties en de definitie van de dialoogstructuur ligt het systeem voor wat betreft de specifica-ties vast. Er kan nu stap voor stap naar de oplossing toe gewerkt worden.
6.1 Het ontwerpen van de dialoog
Voor het beschrijven van de dialoog structuur wordt gebruik gemaakt van de Nassi Schneider's Diagram. Hierna wordt deze NSD in dBase notatie vertaald. Bet volgende stap is het testen van de schermen, echter zonder de transactie werkelijk uit te voeren. Bierna kan elk transactie afzonderlijk ontwikkeld, getest en in de gereedstaande dialoog gebracht worden.
(* er wordt gebruikt gemaakt van een standaard menu programma: Litebar procedure. Dit staat vermeld in het boek DbaseIII PLUS programmer's reference guide blz. 932, deze procedure is opgeslagen in de file MENU.PltG).
6.2 Het ontwerpen van de transacties.
Elk transactie bestaat in dBase uit een verzameling van comman-do's, die in een programma zijn ondergebracht. nit programma wordt een Command Files genoemd. Bij het aanroepen van deze command files worden de commando's die in de files staat achterelkaar uitgevoerd.
Alvorens we overgaan tot het schrijven van de command files, moet er eerst afspraken gemaakt worden:
De volgende afspraken worden gebruikt bij alle programma:
voor dBase commando's, functies enz •• worden uitslui-tend hoofdletters gebruikt (b.v. REPORT FORM).
voor database namen, veldnamen en memory variabelen worden kleine letters gebruikt.
Voor het schrijven van de command files worden eerst "English
like" pseudo codes ontwikkeld.
Daarna worden deze pas gecodeerd
in dBase III command language.
6.3 Scherm Layout en Rapporten ontwikkelen
In de bovengenoemde programmats worden soms gebruik gemaakt van
rapporten bestanden. Deze hebben de gedaante <filenaam>.FRM: Deze
zijn met behulp van de rapporten generator ontwikkeld en worden
gebruikt om
rapporten,
bestaande uit record velden,
van een
database bestand te genereren, uit te printen, naar het scherm of
naar een ASCII file te sturen.
Daarnaast is er de scherm-applicatie generator, die formaten
bestanden aanmaken. Deze hebben de gedaante <codenaam>.FMT
en worden gebruikt om seherm layout te ontwerpen.
Door gebruik te maken van deze twee hulpmiddelen kan er een hoop
tijd worden bespaard. Een ander voordeel bij gebruik van deze
hulpmiddelen is dat dbase automatisch de syntax bewaakt, waardoor
er geen fouten kunnen worden gemaakt.
7. OPTIMlLISATIE VAN HET DATABASE SYSTEBM
Hieronder worden enkele methodes beschreven die worden toegepast om de verwerkingssnelheid van het systeem te verhogen.
Deze zijn:
a) Het verwijderen van alle overbodig karakters. b) Het gebruiken van procedurebestanden.
c) Het compileren van het programma.
7.1 Het verwijderen van a11e overbodia karakter
Dbase III is een interpretatieve taa1. Dat wi1 zeggen dat elk karakter van het programma wordt gelezen en aan de hand daarvan wordt bepaald wat het commando is. Dan wordt het commando uitgevoerd en het vo1gende karakter wordt gelezen enz •• De werking van dBase kan worden vergeleken met de Basic interpreter.
Uit het bovenstaande voIgt, dat tijdens het uitvoeren van het programma ook de commentaarrege1s worden ge1ezen. Door deze commentaarrege1s weg te laten kan het tot een aanmerkelijke verbetering leiden.
Verder is het zo, dat dBase commando genoeg heeft om dat
aan de eerste 4 karakters van een commando te identificeren. Door aIle commando's op deze wijze in te korten krijgt men eveneens een sneller uitvoer.
voorbeeld:
7.2 Het gebruik van procedure bestanden
Het gebruik van procedure bestanden werkt eveneens sneller. Dit komt omdat een procedure bestand in RAM geheugen wordt op geslagen, terwijl een programma bestand vanaf de harddisk ot floppy disk opereert.
De tijd, die nodig is om iets uit het geheugen te lezen is veel korter dan de tijd die nodig is om hetzelfde uit de harddisk te lezen.
7.3 Het compileren van de programma
Op dit moment zijn twee dBase III PLUS compilers op de markt, deze zijn Clipper en Quicksilver. Deze compilers zetten dBase command files van de .PRG format om in de voor het DOS uitvoer-baar .EXE format. Naast de normale dBase programma van het
.pac
format biedt deze gecompileerde files de volgende voordelen:1) het is sneller, want het programma werkt niet meer interpre-terende.
2) het programma kan nu vanuit DOS opgestart worden. De gebruiker hoeft het pakket dBase III PLUS dus niet in het bezit te hebben om een programma,geschreven met dBase, te draaien.
3) Beveiliging van het programma. Omdat het programma een machinecode- programma is, zijn wijzigingen in het programma of toegang tot de opgeslagen bestanden niet meer mogelijk.
4)
*
De compiler stelt de gebruiker nog meer functies en commando's ter beschikking, die niet in dBase aanwezig zijn. Hiertegenover staat, dat sommige dBase commando's in de gecompileerde file niet meer kunnen worden gebruikt.8. SLOT
Dbase III PLUS bleek een uitstekend gereedschap te zijn bij het
opzetten van het database system.
Het beschikt over programmeerstructureringselementen zoals DO
WHILE
ENDDO,
CASE ••• OTHERWISE .•• EN'DCASE
en IF ••• ELSE
ENDIF om de applicatie modulair te kunnen ontwikkelen.
Ook hogere programmeertaal
concepten
zoals
procedures en
subprogramma's waarbij middels lokale- en globalevariabelen de
gegevens tussen de verschillende deelprogramma's kunnen worden
uitgewisseld zijn in dBase geimplementeerd.
De
datamanipulatie taal kent goede faciliteiten voor seherm
besturing en voor validiteit_ en domeincontrole op de
gebruikers-invoer.
Een zeer groot aantal standaard funeties ataan de
applicatieontwikkelaar ter beschikking.
Bet programma Materiaal Database,
dat met dBase is ontwikkeld,
bestaat uit verschillende subprogramma's die afzonderlijk prima
functioneert maar als een geheel nog gebreken vertonen.
De transacties 1
-zijn maar een paar
mogelijk zijn.
4 die in de gebruikers specificaties staan,
voorbeelden van bewerkingen die met dBaseIII
Voor de in de toekomst uitbreiding van het systeem, wanneer
behalve de trekproef ook andere proeven in het syateem worden
opgenomen, wordt het volgende aanbevolen.
a}
De opgeslagen data's van de nieuwe proeven moeten het
ASCII format hebben.
b)
De relationele concepten moeten worden aangehouden of
worden benaderd bij het opzetten van de opalagstructuur
van de data's. Dit moet al vanaf het begin gebeuren.
c)
De gebruikersspecificaties moeten al van tevoren worden
LITBRATUUR.
[1] Smit, G.L., Applicatie bouwen met dBase III, tweede druk, Sa.som Uitgeverij, Alphen aan den Rijn, 1987.
[2] Simpson, A., dBase III PLU·S Programmer's Reference Guide, Sybex, San Francisco, 1987.
[3] Simpson, A" Advanced techniques in dBase III, Sybex, San Francisco, 1986.
[4] Castro, L. t Hanson, J., Rettig, T., advanced programmer's Guide, Ashton-Tate, United States of America, 1985.
[5] Lunbeck, R.J., Remmen, F., bestandsoraanisatie, academic service, den haag, 1982.
[6] Tsu-der Chou, G., dBase III handboek, academic service, den haag, 1986.
[7] van der Sluis, A., Gorts, C.A.C., cursus pascal, academic service, den haag, 1984.
fll,: Ccod.n".).ftif datUi verkttoffDUller uteriaal fOort plaatdikte val&richting herto.st operator projectleider banksnelheid oP._l OPl..2 op._3 lerk trekbant type bank serie nUiler datataker trekproef regel 1 re,el 2 reoel 3 regel , uUzioinosdatu. uijziger uUz.O!)' 1 IIIUZ.O!)' 2 trpei .trinu
file: (codenea.).FBS trpe; IEALS
variabelen:
.r,
taantal .eetwaard,) bO, {be,ln breedte trekftaaf} fO {beoin dikte trekstaat} F[l],b[iJ,s[i] ( i : I, ,.r).filei (codenae').SER type: BEALS
It, {aantal leetvaard,} A[i],.{i],£[i],t.[i],£,[i],R[i]
(1
=
l, •• ,It)OPIerkinv : 1 resp 2 ,taat ¥GOr: .odell: , : Ctl
.odel 2 : _ : e(t + tl)·
Struotuur von datobase: C:onk2.dbf Asntol gegevensreoordsL S4
Datum lestste mutetie: 20/06/88 Veld Veldnsam Type
1 CODE Teken 2 :3 4 5 6 7 *Totsal* AANT C N CO NO EPSO Numeriek Numeriek Numeriek Numeriek Numeriek Numeriek Breedte 8 4 8 6 9 6 S 47 Deo 2 2 2 2 2 2
INDEX BESTANDEN: CNK2.NDX geYndexeerd OP CODE C_WAARDE geYndexeerd op C-wearde
De struotyre van het MGG bestond Structuur van database: C:mgg.dbf Asntal gegevensrecord S2
Datum leetste mutetie 20/06/88
Veld Veldnaam Type Breedte Dec
1 CODE Teken 8
2 DATM Teken 4
:3 WERKSTOFN Teken 8
4 MAT _SOORT Teken 6
5 SYLAAT Teken 9
6 WALSRICHT Teken 6
7 V_BANK Teken S
*Totaal* 42
INDEX BESTANDEN: MGG.NDX geYndexeerd OP veld CODE
MAT_SOOR.NDX geYndexeerd OP veld MAT_SOOR
W~t te doen bij calamiteiten Dear dit systeem in een het niet grondig worden nog veel bugs bevetten. systeem vest zou lopen uitgevoerd:
korte tijd is opgezet en ontwikkeld, kan getest. Hierdoor zal het ongetwijfeld Mocht er ooit iets gebeuren waardoor het dan moeten de volgende acties worden
1) het (escape) toets proberen. Dit lukt meestal in de meeste gevallen, als de toets maar lang genoeg wordt ingedrukt. Hierna verschijnt er onder het scherm:
Annuleren, Negeren of Uitstellen
(A) wordtdan ingedrukt, er verschijnt dan een • onder het scherm en het programma wordt afgebroken.
Hierna moet er (CLOSE ALL) worden ingetypt, dit commmando sluit dan alle op dat moment nog open bestenden. Door (QUIT) in te typen verlaat u dBase en u kunt het programma volgens de normale procedure opnieuw opstarten.
2) Mocht de bovenstaande acties niet lukken, dan moet u de computer uitzetten en opnieuw aanzetten, of de reset knop achter de computer proberen.
Door de abrupte stop van het programme zijn er nog geopend dBase bestanden op de harddisk, hierdoor zijn enkele
cluste~s op de herddisk ("lost") zoek geraakt. Door het programma CHKDSK/F te runnen, intypen (CHKOSK/F) ken de "lost" clusters meestal weer worden hersteld. Voor de preciezer beschrijving van het commando CHKOSK/F wordt verwezen naar de MS-DOS handleiding.
OPSTARTEN VAN HET SYSTEEM
Om het systeem OP te sterten moeten de volgende steppen worden doorgelopen.
Zet de computer aen
Voert de datum en de tijd in:
Bij het verschijnen yen prompt C:\) OP het scherm het volgende intypen: C:\>DATABASE
Hierne zal het detabase systeem worden opgestart.
Hierna zult u het startscherm zien verschijnen:
door OP een toets te drukken komt u in het hoofdmenu Op het scherm verschijnt het volgende:
Het hoofdmenu
I
HOOFDMENU1:
Invoeren van bestanden. 2. Verwijderen van bestanden. 3. Opvragen van gegevens.4. Wijzigen van metingsgegevens. 5. Stoppen.
Druk OP of en druk (return) of toets het opties nummer in
I
U kunt nu direct het opties nummer intypen of u kunt ook m.b.v. de cursor toets de opties det u wilt kiezen laten oplichten en dee rna OP de (Return) toets drukken.
Bij de opties Ninvoeren ven bestandenM
en ·verwijderen van bestandenN
wordt voor de volgende opzet gekozen: U kunt aIleen vie de codenaam een bestend invoeren of verwijderen. Dus venef het toetsenbord moet u den de codensam intypen.
I
INVOEREN 1. 01reotorie. 2. Naam invoeren.3. Terug naar het hoofdmenu.
Druk OP of en druk <return> of toets het opties nummer in
Optie 1: Oireotorie
I
Met dit optie kunt u de direotorie van diskette in drive e: opvragen. U kunt het eventueel naar de printer sturen.
Optie 2: Naam invoeren
U kunt met dit optie nieuwe bestanden in de datebase voeren.
Nadat u de optie heeft gekozen, versohijnt stap voor step eanwijzingen op het soherm, die u dient OP te volgen.
Optie 3: Terug neer het hoofdmenu
Met dit optie kunt u terug near het hoofdmenu komen en daer via het optie 5 het programma stoppen.
Het verwljderd menu
Het verwijder soherm ziet er als voIgt uit:
I
VERWIJOEREN1. Lijst' van database reoord. 2. Naam invoeren.
3. Terug near het hoofdmenu
Or uk op of en druk <return> of toets het opties nummer in
C-3
Optie 1
6ij deze optie wordt een lijst ven trekproeven met de CODE, MATERIAALSOORT,(C-weerde,n-weerde),(C-weerde, n-weerde, epsO) getoond.
Optie 2
Met deze kunt u een record 1n het best end verwijderen.
Nedet u voor deze optie heeft gekoZen, verschijnen er eenwijzing-en op het scherm die u op moet volgeenwijzing-en:
Het opvreeg menu
I
OPVRAGEN
1. C en n weerden.
2. Metings gegevens.
3. Terug near het hoofdmenu.
Druk op of en druk (return> of toets het opties nummer in
C-4
I
C en n waarde1. Complete lijst uitprinten
2. Zoek materiaal met C en n waarde 3. Zoek 0 en n waarde van een mat.
4. Stoppen
Druk op of en druk <return> of toets het opties nummer in
Optie 1.1
I
Tabel CNK2 wordt bij het kiezen van dit optie uitgeprint
Optle 1.2
Door de materiaal code of naam in te geven worden alle proeven met dat materiaal getoond die in het database opgeslagen liggen. Optie 1.3
U kunt door de C en de n-waarde in te geven, een lijst van materialen laten uitprinten die de betreffende C en n waarde hebben.
Optie 2
De metingsgegevens van de trekproef kunnen met dit optie worden geraadpleegd.
I
1. Wijzigingen van veld werkstoffnummer 2. Wijzigingen van veld materiaal soort 3 Terug naar het hoofdmenu.
Druk op of en druk (return) of toets het opties nummer in
Optie 1
I
U kunt met deze opties het veld werkstoffnummer wijzigen.
Hierbij wordt de code, de materiaal soort, het werkstofnummer OP
het scherm getoond waarbij alleen het veld werkstoffnummer kan worden gewijzigd. Met behulp van de cursortoets kunt u de records doorbladeren. Door de (escape) toets in te drukken kunt u de wijzigingen ongedaan maken. Door ( Ctrl-End
>
in te toetsen kunt u de wijzigingen opslaan en terug naar het wijziging menu komen. Optie 2.Idem ais optie 1, alleen bij deze is het veld materiaalsoort dat kan worden gewijzigd.
, 0
OPSTARTEN
OPSTARTSCHERM PRE$ENTEREN
WACHT OP EEN TOETSDRUK
HOOFDMEN
HOOFDMEN
keuze ::: 0
opties ::: 5
optie 1 ::: Invoeren van bestanden.
optie 2 ::: Verwijderen van bestanden.
optie 3 ::: Opvragen van gegevens.
optie 4 ::: Wijzigen von metingsgeQeven
optie 5 = Stoppen
Do litebar met opties ,keuze
Keuze # Opties.
---
-
~
Optie Optie Optie Optie Optie = 5
1 2 .3 4 Stoppen
invoer delet- opvre- veren keuze=opties. -en en gen -der
INVOEREN
INVOERSCHERM
keuze =
a
opties.=
.3optie 1
=
Direotory optie 2=
Neem invoeren optie .3=
StoppenDo liteber met opties. ,keuze
Keuze # Opties
---r---
-
---Optie 1 Optie 2 Optie = 5 Stoppen dil""_inv invnaam keuze=opties
OELETEN
OELETEN
keuze = 0
opties =: 3
optie 1 :: Lijst van database I""ecol""d
optie 2 =: Naam invoel""en
optie 3 = Stoppen
Do litebel"" met opties ,keuze
Keuze # Opties
---r---
~
Optie 1 Optie 2 Optie :: 5
Stoppen dir_del verwyder keuze=opties
WI.JZIGEN
WI.JZIGEN
keuze = 0
opties :: 3
optie 1 :: Wijzigingen vetn werkstoffnr.
optie 2 :: Wijzigingen vetn meterieelsoort
optie 3 :: Stoppen
Do liteber met opties ,keuze
Keuze # Opties
---
--
~
Optie 1 Optie 2 Optie :: 5 stoppen wiJzig_l wiJzig_2 keuze=opties
OPVRAGEN OPVRAGEN keuze :: 0 opties == 3 optie 1 = C en n waarde optie 2 :: Metingsgegevens optie 3
=
StoppenDo litebar met opties ,keuze
Litebar opvragen
Keuze # Opties
--
-
~
Optie 1 Optie 2 Optie ::: 5 Stoppen cnwaarde meet_geg keuze==opties
Cnwaerde
keuze ::: a
opties. ::: 4
optie 1 ::: Overziehten CNK2 tabel
optie 2 ::: Overziehten MGG tebel
optie .3 :::
optie 4 ::: Stoppen
Do liteber met opties ,keuze
Liteber Cnweer"de
Keuze # Opties.
---
r---r---
-
~
Optie Optie Optie Optie = 4
1 2 .3 Stoppen
opvr_l opvr_2 opvr_.3 keuze=opties.
~program's
listing
..,f"~:lM.D.
Tran
~;r
s-
s tagevers lag
Wxruni
1988 ~;:NF code : D2 WPA: 0588 b '"'1'"STARTMEN.PRG CENTREER.PRG HOOFDMEN.PRG MENU.PRG INVOEREN.PRG DELETEN.PRG OPVRAGEN.PRG VERANDER.PRG DIR_INV.PRG INVNAAM.PRG INV_2. PRG CHECK_l.PRG DIR_DEL.PRG VERWYDER.PRG OPVR_l.PRG OPVR-.2.PRG OPVR_3.PRG PROCES.PRG MEET_GEG.PRG WIJ'ZIG_l.PRG WIJ'ZIG_2.PRG E-l E-2 E-3 E-4 E-5 E-7 E-S E-9 E-l0 E-ll E-13 E-15 E-17 E-20 E-21 E-25 E-26 E-29 E-32 E-33 E-34 E-35
SET ECHO OFF
SET COLOR TO GR+/B,W+/BR, B SET COLOR ON
SET STATUS OFF
SET PROCEDURE TO centreer CLEAR
*---
KOP MENU@ 1,1 TO 3,78 DOUBLE
DO center WITH ·STARTMENU·,80,2
lIIc_____
VOET MENU@ 21,1 TO 24,78 DOUBLE
DO center WITH "Druk OP een toets om verder te QeenM
,80,22
*---
MIDDEN MENUDO center WITH "DATABASE MATERIAAL PARAMETERS·,80,8
DO center WITH "Leboterium voor Omvormtechnologie T.U.E.·,80,10 DO center WITH "VERSION 1.0",80,12
DO center WITH "(c) copyright 1988",80,14
@ 17,5 SAY "informetie:"
@ 18,5 SAY "Tel: 040-474521"
@ 16,55 SAY "M.D. Tren"
@ 17,55 SAY Mir. L.J.A. Houteckers"
@ 18,55 SAY "Dr. ir. 3.A.H. Remeekers"
x
=
0 DO WHILE x :: 0 X :: INKEY() ENDDO CLOSE PROC DO hoofdmen E-2PROCEDURE center
PARAMETERS title,rm,row
*----
title: tekst dst OP het scherm moest komen*----
rm: sehermbreedte*----
de rij w~~r de tekst komt te st~~npad
=
SPACE((rm!2)-(LEN(TRIM(title))!2)) kolom=
LEN(psd) titlel=
TRIM(title) @row,kolom SAYtitlel RETURN **************************************************************** E-3SET PROCEDURE TO menu
*---
voorbereiden voor de loop opties ::: 5keuze ::: 0
DO WHILE keuze # opties
*---
opzetten van de opties en titel optl ::: "Invoeren van bestanden...
opt2 = "Verwijderen van bestanden.
..
optS = "Opvragen van gegevens...
opt4 ::: "Wijzigen van metingsgegevens.
opt5 ::: "Stoppen ...
5
opties :::
titel ::: "HOOFDMENU"
*---
toon menu met opties CLEARDO Liteber WITH opties, titel DO CASE CASE keuze ::: 1 DO invoeren CASE keuze
=
DO deleten CASE keuze ::: DO opvragen CASE keuze ::: DO verender ENDCASE ENDDO CLEAR 2 3 4? "Bedankt en tot ziens !"
CLOSE PROC QUIT
E-4
*---
subschrift: optl, opt2, opt3 PROCEDURE LiteBerPARAMETERS opno,menutitle
*---
Displey de menu title CLEARrow ::: 5
e
1,1 TO 3,78 DOUBLE • 2,32 SAY menutitle*---
Displey menu instructions . • 21,1 TO 24,78 DOUBLEe
22,18 SAY "Selecteer opties met"e
22,40 SAY CHR(24)+" of "+CHR(25)+" en druk -; +CHR(17)+CHR(217)e
23,22 SAY "of toets het opties nummer in"*---
Peint menu options on screen.@ 7,15 row==8
DO WHILE row-7<== opno sub == STR(row-7,l)
opt&sub
=
IIF(Vel(opt&sub) "+OPt&sub,opt&sub)@ row,15 SAY opt&sub row ::: row+1
ENDDO (row)
=
*---
Initielize memory veriebles. opt=
1 sub == "1" sel == 0*---
Reverse-video on option 1 @ 8,15 GET optl CLEAR GETS*---
Loop voor het selecteren ven menu. keuze == 0DO WHILE keuze
=
0 sel=
0*----
Weit for keypressDO WHILE sel = 0 sel
=
INKEY() ENDDO (sel)opt = IIF(sel = 24,opt+l,opt-l) opt = IIF(opt)opno,l,opt)
opt = IIF(opt(l,opno,opt) sub = STR(opt.l)
• opt+7,15 GET opt&sub CLEAR GETS LOOP ENDIF *--- Number pressed. IF sel>=49.AND.sel(49+opno keuze=sel-48
ENDIF (number pressed)
*---
return keypressed. IF sel=13keuze=opt
ENDIF (Return Key) ENDDO
RETURN
~--- End of Litebar procedure.
PROCEDURE center
PARAMETERS tltle.rm,row
pad = SPACE((rm/2)-(LEN(TRIM(title))/2)) kolom
=
LEN (pad)titlel
=
TRIM(title) @row,kolom SAY titlel RETURN~***~~**~**~********~******************************~*~*~******~*
optl
=
·Oirectorie-opt2=
"Neam invoeren"opt3
=
-Terug near het hoofdmenu· Opties=
3Keuze
=
0*---
Voorbereid loop DO WHILE keuze # optiesOpties
=
3·Titel
=
uINVOEREN-CLEARDO litebar WITH opties.titel DO CASE CASE keuze
=
1 DO dir_inv CASE keuze=
2 DO inv_2 ENDCASE ENDOO*---
terug near hoofdmenu geselecteerd keuze = 0RETURN