ɭLp }  @`! #@%`')+-/1 3@5`9;/C@oGIKMOQ S@U`WY[]_a c@e`gikmoq s@wy{} @` @ ` O ` @ ` @ ` ǀ ɠ @ ` ׀ ٠  O` @`!Aa  !Aa!!#A%a')+-/13A5a79;=?A!CAEaGIKMOQSAUaWY[]_a!cAeagikoq!sAuawy{}!Aa!Aa!Aa!A!Aaǁɡ!Aaׁ١!Aa " B b  !"!B!b!!!!!  @`! #@%`')+-/1 3@5`9;/C@oGIKMOQ S@U`WY[]_a c@e`gikmoq s@wy{} @` @ ` O ` @ ` @ ` ǀ ɠ @ ` ׀ ٠  O` @`!Aa  !Aa!!#A%a')+-/13A5a79;=?A!CAEaGIKMOQSAUaWY[]_a!cAeagikoq!sAuawy{}!Aa!Aa!Aa!A!Aaǁɡ!Aaׁ١!Aa " B b  !"!B!b!!!!!A457  COLLECTO l@DETEKTOR n@GFA_BLK 1_0n@GFA_BLK ACC n@.LEES DIT +. `ESKTOP INFm . u@.. u@COLLECTOPRGl@gCOLLECTORSCl@7TCOLLECTOTXTl@ACO_DEMO H l@=CO_DEMO LSTl@ECO_DEMO RSCl@?. u@.. u@DETEKTORACC n@LADETEKTORDFN n@uDETEKTORGFA n@vDETEKTORINF n@WDETEKTORLST n@DETEKTORPRG n@ADETEKTORRSC n@  . u@.. u@BILDER n@GFA_BSP n@GFA_BLK ACC n@.GFA_BLK PRG n@.READ ME n@4. u@.. u@TEST BEL n@RiTEST DOO n@2}TEST PAC n@|!TEST PI3 n@"}TEST PIC n@m}TEST1 BEL n@ . u@.. u@BEL_DEKOINLn@PBEL_KDEKGFA n@BEL_KDEKLST n@BEL_KOMPINLn@rSTAD_DEKGFA n@STAD_DEKINL n@STAD_DEKLST n@p`>AONXHNxNN a[palpalpalN @0(HS/N @0(S&trak^"-pajNuANRAHNRANNRATNRAZNR -~AN8 -~AHNT -~ANNT -~ATNT -~AZNTB B$p+@(Nua}Aay>A ay6ADayAax m"m afg$ m aKNgp$mD$ maK:g*Ep6ay/Ep ayr"_tan$mD$$mD Sf m ra^par($mD$$mD lN$mD a~,"maq m  m Nppa]x mra^pas maeJpa]Z mayl`\Epay4/Epay&r"_tanV$mD$pa] `*Ep*ay/E)paxr"_tan$$mD$`{ha{AawE.p ax/NHmNHmN1N&/HmENpax/NJBVHHg\EQpaxv/NpajAra]pJ-gpRf ptANpptANppa\BPpajR`(EXpax/ $mH$aw/N`zvazAHav -8.-4,-0*-,xvtrN -8.-4,-0*-,xvtr0|N -8,-4*-0(-,vt"-agx"-pag$mH$$mH$mH" mpN͢ -8.-4,-0*-,xvtr0|NEhpW mao,Epaw"r"mtalP$mD$ maw2`yayAHau -L.-H,-D*-@xvtrN -L.-H,-D*-@xvtr0|a -L,-H*-D(-@vt"-Paf"-Ppaf$mH$$mH"-l mPpN͢"-x mPpN͢ -l$mHg -` mPNr!fP`Q -d mPNr!fP`Q -h mPNr!fP`Q -p mPNr!fP`Q -t mPNr!fP`QN, -L.-H,-D*-@xvtr0|a~`x,axrAHat -`.-\,-X*-Txvtra~ -`.-\,-X*-Txvtr0|a~p$mL$$mL("mN̼/$mL("mN̼0(r _aw $mL("mN̂$mLR$mL r o -h mdNͶ @/x"mN̼"a`~ -l mdNͶ @/x"mN̼"a`^ -p mdNͶ @/x"mN̼"a`> -t mdNͶ @/x"mN̼"a` -x mdNͶ @/x "mN̼"a_ -| mdNͶ @/x "mN̼"a_ -`,-\*-X(-Tvt"-dad"-dpad.$mH$$mH$mH" mdpN͢ -$mHf0Epas/ -h mdNͶ @ a_L"_a_x"mN̂Epas/ -l mdNͶ @ a_"_a_x"mN̂Epas/ -p mdNͶ @ a^"_a_lx"mN̂EpasP/ -t mdNͶ @ a^"_a_:x"mN̂Epas/ -x mdNͶ @ a^"_a_x "mN̂E par/ -| mdNͶ @ a^R"_a^x "mN̂`N -`.-\,-X*-Txvtr0|a{`u"auhAHaqx -.-,-*-xvtra{ -.-,-*-xvtr0|a{ -,-*-(-vt"-ab$/-(N HpЭ (n<"- mpN͞"- mpN͢ -,-*-(-v$-"-aa`:"- mpUN͞"- mpN͢ -,-*-(-v$-"-aa -(f<"- mpN͞"- mpN͢ -,-*-(-v$-"-aaX`:"- mpUN͞"- mpN͢ -,-*-(-v$-"-aa"-paa0$mH$$mH" mpN͢p$mL$"-(p$mLҒD/$mL( m` 0H mN( mH!H$mL( m`/0Hp" mN͢$mLR$mL r o -$mHWHH/ -$mHWHHfx -,-*-(-v$mH$"-a`D -$mHfprҭ(l@+@(/-(N H`* -$mHf - r ҭ(o@+@(/-(N H` -.-,-*-xvtr0|ay`r`arAPan:ATanAXanAanvA\anA`anB"mT mP"$mP r Ёaf0`R - $mTl.$m`Bpat"maglp f p $m\$`N$m\B`F$mT( mH 0H$m`$$mT("mN̼"mag&p f p!$m\$`p$m\$(- m`/0H$m` " mN͢(- m`/0H$m\ " mN͞(- m` 0H mNͶ @/ m"aZ8(- m`/0H -,-*-(-v$"-a^f$mTR$mT o]x m` 0H mNͶ @/$mP aBn&(*par:"aYx m` 0H mNͶ @/$mP &<:<a?&(*paq"aYx m`/0H -,-*-(-v$"-a]x m`/0H -,-*-(-v$"-a]`p"aphAdak$md$"-pa]`papHAdak$md$"-pa]`o$mDB-f$mD SfN6."-pa]Fa]avaQ*anl$mD$aNNuNŖrfNENĴPNɦ`NprN0< (afawaXp)afafEp al/NŖa@ap"_aX0<: a[/NŖN/NŖN/p]am(p"_aqj[r _anay"_aXraXTprNNaNuao"Aaj/-N@/N//-N1"H m,Nh/-NA(`nanA$akA ak /- N@"H m$aXg <r4<`n^`bE#p ak"H m$aWECpaYj/EIp akr"_ta`$mD$$mD Sft`n ` <r4<`man@A$ajv?<NATrAЁakp:aXp/pap"_aWHEVpaX"H m$aW2`orprNpaeNuEQpak /NBpac/N;pacFgpae:AaqjpJ-gpRgp akbpCaoAalTalaw"mabp mal:p>aXg m0(HU mal`"mab~ mEYp aX/ mEbpaXvgRR mEbpaX\g8Ejpaj(/HmN2p"_aV"mab(- mZp!H`6Empai/HmN2p"_aU"maa(- mZp!H m(-"mN̂pab /0-HDW(- mN!Hp$mD$pacAapAavCaaz$mDR(- mZ 0HSWHH/AEppaWff.(- mZ 0HUWHH/AEwpaW:f`$mD (- mT!Hpaad/N;`pJ-gpRfQpaaVr Ё/N;+m NuNNNNuELa~Ea~+|p+@( -~AN8 -~AHNT -~ANNT -~ATNT -~AZNTp~AN8E}p Aa`&EpAa`Ep Aa`EpAa_EpAa_EpOagx"mN̂Epagx"mN̂Epagx"mN̂Epagx"mN̂0<' ah2/p-ah rFajn"_aSzx"mN̂E pag^x"mN̂E'pagHx"mN̂E9p!ag2x"mN̂Epag/aqz"_aSx"mN̂Epaf/aqX"_aRx "mN̂EZpafx "mN̂0<' agp/p-ag^rFai"_aRx "mN̂Ekp afx "mN̂Eup afx "mN̂0<' ag/p-ag rFaiZ"_aRfx"mN̂`.ai Aad ma9&<:<a@`hN8agd+@E$ $mD$NuahA(ae AajpAajh-fV m(a~Rgap @0(HJj^] m(ag^"m(a]paW/a2p$mH$pJ-gpRf*Ep4ab/Ep abr"_taW8$mH$$mH UfHmaHmN1azL/HmENpaa/aJBVHHgtAa2g:apaSAraFpaZ+@appaEpaSPN`0HmN1ayg a4EpaaN/aBpawNap+@(aa0/a(`ca,p~Afayx mfAH +@ -+@pЭ+@pЭ+@paSN="-paP m~|zxvpPtr1aQ$ml$$ml$$ml$+D$ml$$ml$$m0@ WHH/ -^HHg"-paPa{+A+B$mD$$m0@ f* m;Px$m4RHRNC(4-x"-paP^$mBR-g>NuNu$-,"-paPBNuabAa^ADa^Ep< maWE#pa_"maK"maWE@pa_r"mtaT$mD$ ma_$mD Ufaax`bN+| <~Aaw <~A awpd~AawNuAazA azAazNuENpa_0/a$HmaHmN1aw/HmpHa_/aJBVHHgVAa0>g"AraD0ptAar+ApaB`*Eap&a^/Epa^r"_taS$mD$a^/aNuaabALa]rR -``F/-HmN3\//-,N2"_aJ` <.RSCaL/HmNAp"_aJD("ma|`F/-HmN3\//-,N2"_aJ <.RSCaLr/HmNAp"_aI("ma{`@/-HmN3\"HAaIEpaK~/HmNAp"_aI("ma{|`x/-HmN3\"HAaIEpaKpEp+a@x"mBap&Ep8aRHx"mBapEp!aR2x"mBaoE4p!aRx"mBaoEpaRx"mBaoEUp:aQx"mBaoEp:aQx"mBaoEp?aQx"mBaoEp aQ"HAa=Ep!a?Px"mBao`EpaQx"mBaoJNuA("m/$mL("mam"_a;0<%,a>/$mL("mam"_a;xE:pa=x$mLؒ"maL/a`(EXpaL/ a5g m00(HU m0aJL"m0a@j m00(HY m0aJ0"m4a@Np aHp"m4aM$mt$p aH/$mt R _"m4aL$mx$$mx f m40(H$mx$$mx r$mtҒ m4aJaJ,paIx"m4a? m4`LaJA8aFADaFp#aHJp"m8aL$mD$$mD  m8`KaJZAFfaG8$ml$$ml $mDl4Ep1 ma=EpaEr"mta:$mD$Q`zAaaB$mL T~Aa^pa>/N;pra>$mLB`4pa? maKpa=/N; m$mL("mac$mLRpa>FfPpa)8pa7L` aEpaE/apa[aaD/a`GzaGAaCB$p$mL$ - a;z`2$mL( mH 0HJg$mL( mT 0HѭR$$mLR$mL o]p ѭ -$f:E4p( maAla>Axa>A퀀a=pN$mx$p $m$p$mD$p@$ml$pJ-gpJf(pa0npa0xpa0vpa0pa0 m|+P$mx &<:<a*/?? -a8:&aA퀬 00$m $mx.$ml,$mD*xvtraG$m $mx.$ml,$mD*xvtdrd0|aGv$m $mlВ$mx&$mD֒$ml$$mD"a.$mx"p$mDҒD/$m"p$mlҒD&t$mlԒr$mDҒa.ppa/`pa/jpa/hP`~ -$m|oF$m| A퀬a4a$mDВT/$m"p$mlҒD&t$mlԒr$mDҒa.`,$m $mx.$ml,$mD*xvtr0|aFQ`?a@ ADa<Ala<Axa< A퀀a<pd$mx$p $m$p$mD$p$ml$pa.pa.pa.pa.a.pJ-gpJflpa.Vpa.`pa.^pa.pa. -fa=+@$mx &<:<a /?? -a8:&aA퀴 00$mx"p$mDҒЁ/$m $mlВ&$ml$$mD"a,$mx"p$mDҒЁ/$m"p$mlҒD&t$mlԒr$mDҒa,$m"p$mlҒDv$mD֒t$mlԒr$mDҒa,lEpa;t$mlԒr$mDҒa3(pa-t0L` m,`>Ba`<8a<~A8a8ADa8p#a:6p"m8a>v$mD$$mD  m8`=a4Srl@$mD$$mD  m4a:"mr8a7a NuNuESpa4/Ekpa4v/a8Epa4d/Epa4V/aNuNuEp a4@aJNuEpa4./Epa4 /aEpa4/Epa4/aNua6Ada2ZALa2Aa2A4a2E p ma+ m4a3$mLB$mL a&<x:<a a$mdJg@p a4(/$mL "ЀЁR"p ma5a@"_ah"H m4a^"m4a+\`:p a3/$mL "ЀЁR"p ma5P"_a,"H m4a""m4a+ $mLR$mL QoNE%pa2/$md a&(*pa6"_a0< (a!/$md"pa6"_a0<)|a!"H m4aa ma2 m4a2`5a5`Ada0ALa1hAa18A4a10E4p ma*\ m4a2$mLB$mL av&<x:<a za$mdJg@p a2/$mL "ЀЁR"p ma4*a? "_a"H m4a"m4a)`:p a2/$mL "ЀЁR"p ma3"_a"H m4a"m4a)$mLR$mL [oNEFpa1/$md a&(*pa5"_ax0< (a ~/$md"pa5H"_a\ <) |a"H m4aHa* ma1` m4a1X`3$mX VraGT$mX( m` 0H maP>/anNua3A,a0a+bADa/Aa/ m,a$gp$mX$ m,ra pa)>$mD$$mD lx$mD a5B"ma( m  m,aPDa*p$mL$ m0(Ha'`,$mL"p ma2|"m,a(\ m,a8aKf$mLR$mL o]`*Epa0 /Epa0r"_ta%B$mD$pa ma0a18`*Ep*a//E)pa/r"_ta%$mD$`2Ha*2praEQarNua2xAa-R ma~ -a&<x:<a+dJBfpaG `1NuEUpa)fEhp m,a'LEa $mLBAaMAEpaLfA$mL("maL$mLR` mL+PPNu$mLB -a%`$$mL("maL"ma&/-a&$mLR$mL o]NuNuapa JkpNupNua/AHPB?HQ?<NNAP _NuDExa`bDEa`ZaR11!Nua11!Nu 24&8:DE`6 24&8:DB`&ah&8:DE`DEx`aT` 24&8:HnghDBHngXDE~<En g6@ABDFGcGcGb8(vHDl`G8BCHC` GHD8HD쬵k&Dуd QRB BbJjDBNu DENupN֓DjdDA@ cAр[SBoJjDBNurptNuH@g0J`Ѐ[rGoJjDBNu0ftNu@[rB oH@JjDBNu 24afpNu 24afpNu>jDGGe GbFGNuG GbFGNu~Nu 24HjDBaDBNuBe B/dAрQ4<`jBNutNu $HkBk Bj*DBNupNuDBBkBjDBDNuf gp`r 246jDCCe0 C/jC C@j C jr0H@{0>H@Nur{0Nu{0NutNu 246j(:<DCaf AfBfNu`" a 00Nur$o, b4< J@k @[H@NuH@RBNu4<Ѐ[NuDg8k2 b4< J@k @[H@DBNuH@RBDBNu4<Ѐ[DBNu4H@Ѓdh`^HCH@:">H@`H2g&HCH@:<HC>H@Ѓd(`HCH@:H@r` gDBgkDE`HDBDEaBDBNugDBa8DBNutNua 11!Nux`xa`a` 24&8:HoHoEBJAgJDfr:g,|HC҅H@:ۆ<HC>H@Ѓd`vHCH@:H@`fgDBgkDE` DBDEaDBNugDBaDBNutNuHoHoEBz:g|HC҅H@:ۆ҄ۆ<HC>H@ЃdHA@B@H@хk HAҁHAрSB BbNuJBj^tNuk(g.JBjDBAр[SBDBjNutNuAр[SBkNuJlNu0gH@rJBkB JkЀ[`DBЀ[`J.;gP:pr4<Nup` <r4<NupNJBktNu@AB`&8:~.gNa`&8:` &8:@ABJBgJEgJAfJ@f<jDFF Fdx.HGއQJGfjHGH??UGgkte <r4<` 24HL&8*a dgHL8a`L8aTJ_ k:NuH 24kBaL8a`$XTJ_LkNuTJ_Lja&8* <r4<`HL aJBfL agLJBjDBa8L8a@a#DBNuLJBjDBaL8a"`#p` 24?o4<&8: 3f AcDA@Aр[SBDBT`SBAрkfJAftTSWa>H&8:aH&0rHGGdHGGdSWDуdi?<>0rHGGdHGGdSWDуdi2?<>0rHGGdHGGdSWDуd&2 H@kփAр[SBkփejRAd RdQRBJjDBNutNuCEdSW`?<,>CEdGeH@0r`fJCgz?<0rÐdSWЃdi?<0rÐdSWЃdid?<0ÐdSWЃd&2 H@kփAр[SBkփejRAd RdQRBJjDBNutNu?<0riP?0i?`?<`~apEgP`LJg&B.C`a8aD*9fap-I,=|p4aHz*9g ENp9` _a &nO:NMILnK$<Nu[1][Error +111][Return]E~ g g>Jf`Ar Hjr-D@Hd0H@H 0H@0CNuAF"H [1][fSEfNu`HQ?< NA\Nu"_KMILnO:HQ <-H*,`N,W(d d3 d# d# # d# # # # d ALH dAL H LH d AL`H L|0H>L|H>d~# # # # A`@ALH L|H>L|H>L|PH>L| H>L|H>L|H>L|H>L|`H>L|0H>L|H>QL|Nu$H$&"BA -KaXA"f B &nNuH>dd2d"d""d""""d LHC dLHLH C@d LHL|H| L|H|PCd~""""C`:LHL|H| L|H|PL|H|L|H|L|H|L|H|L|H|@L|H|pL|H|L|H|CQL|Nua`Np?a a?<LNA``NuNu`aza`aaaHA-Hhp alpMah=@F?<NNTT@A0r p0Q`pdr ta0.F=@=@ACp,2QAp 2QaZa`\`Xpea>pCR2Ad0A2r22a"<^0<NBLNurt=@:=A@=B"<^,psNB0.Nu=@0=@=B0=@a"<^psNBNuC|2 @ e$ @bA0AP2r22a"<]0<NBLJNup"AJӘQNuA> NuHz(` N]Hz ?<&NN\Nu9VgNuWVNu|^|  R^,T:&0D4(*<B$,>2::(   F..26"8@"PQ1!P1P!0PP`0  q#aaa a O: n*NNuNuNupc?a0QNurdAd6Ag,B(dB(dH Ao<attoBAp`NuNu?<OA`d?<IA`Z0<H IaLt Ig Og Ug Ag Rg,afNup`ap`V0azfHRa>Er$Wgr STD:gr COM:g r LPT:f4FA$_0=@Dk"~CA0< Bha B2"pNu$_AF Ge><QBAFpNuafgzp=` aZgzpaAHPBHQ?NA\ _Jk^NuHz `Hz"` <Hz&?<&NN\Nup CNup C0Nu C NuJBgVB&8TTDуdQRBNuDAр&AdRAрAрDуNu <r4<NuQfHR$n2Jjg$_NuH LNuPfJ.fg0HR$n2Jjf$_NuHC/*%I $n2%_LNu B?b4<rpAv JBlDBv-|JBg Bb Bk&H>aTaRFBd&8*L?a4<aSF Be BgQRB`RAdR e <rRF&0xaCձfEv+0JFjDFv-Hƌd0BFHF 0HF0ANuprt|`HQ2.d Aeg>r C 5e&!R 0c 9c0`<R"_`VC0 Ef"_Nuaa/ CFr  g 00VJAgB @ nN @mHJ@j0.4DBUBk0QSAg Q.`S@k 0`0BAF "_Nu.WAkQA 0g`prt|P;Q:  g +g -f .g40  b 0e 9b da6`RF` .f 0e 9b daSF` Eg efX +g -f 0e 9oSH`00  b&Hz0  b E Do`ZJjDDDS4<.aJJFkSFk4arQa6`&HaFFaZQ&8*L/a~,H܆jDBJ.:gtBn:Nu(:HE:a`4JVHHarЁЀ`z@`z8H@0`z(a^*d2d2d"d""d""""d"`""""""""""""""""QjNup"X2g6C/ !UAk$!Q"_Nu @$@JfS a`QNu$Aa`QBNu?aHQA(B?<NNAP DJNu?<ONATNu?</NATNu/?<NA\NuHz a*`Hz ahH `HPHQ0(ikaZ $I _aBIUd4Id4Id$Id `$$$$Q _Jf,aId4Id4Id$Id `$$$$Q @NuSaIdIdId`Q @Nup `X/ a$I> _aG` VNuag`af`ae `ac` acpNuadpNu/ ah$I> _a^4Ae4v` VfANuHP0(R@kBaD $I _a,IUd4Id4Id$Id `$$$$Q @JfNuNup `aSAfNuag`af`ae `ac` acpNuadpNuaSAkfJANuH HPhkJa $I _aIUd4Id4Id$Id `$$$$Q @JgSL`QNup `aNAf` VNuag`af`ae `ac` acpNuadpNua4@m4v` Vf@Nu/HP0(X@kHa $I _aIUd4Id4Id$Id `$$$$Q @Jf$Nu $Nup `HaYAfNuag`af`ae `ac` acpNuadpNuajSAkEF$p VfWANu?HP0(T@kHaP $I _a8IUd4Id4Id$Id `$$$$Q @Jf4Nu0XNup `aUAfQNuag`af`ae `ac` acpNuadpNuaSAkXf SAkXfJANuth`tpa ".Nutj`t@H|`TpM` pO`p`po`B~*@-AH|`0t)`t` tr`t2`t@-A=B|`v8`v(`v-` v!`v `v@-AH |`HAHBHCHDHEHFHG-HfAD-HH@-@H|p`rAD-@f-H `r6 @`z`z `z8.^n\Dn\@Hp tr=ED`.n\n^n\n^A0000000000prt`Bp'rta n2rt6(SC0(S@apaB\papava0paRG=GYfx-IC=C=C$tBft=B=B(tFJ=BBBB*Do>Eo:@l6Al2DDk =DVBnDEk =EnBn@cVo Acno,_NuAH`/=@a _a ]Ak024E$ Bb5B5A6CC5CK5C:8AB0000DkxEkt00A<:d>:bSFSGFn\GnXDDk0BhDEk1EBh Fchh Gchh0hb"0hbpmrt-|mVH-|mjL`Nu-HNbV?<NNT-@XDbDEbEBb=ET=DV-|PBLBp n20(L=CJ?=B^C=C\=Cj@drAdnED??RGRF=GF=FHtGJ=BltBft=B`=BnGOpЇЇ b na 222-IfHVMF,_Nup `T np` ??/ a , > _a 4$FAFp_@[000][vx`* [g" ]g |g QSx` xQSrQ][vx`* [g" ]g |g QSx` xQStQ]BAF0-H,=@p4a2HNu 24DBaDB11!Nu 24DBa DBNu 24x6o<Ce(FC BdЄeNu B/dHDDdRdQRBNu&<:<`ېg BbUC BcjNu BcHDDdSkg RBAрjNuNu0ftNuB H@"jNuE"ea "ep`J&6NuE "e a "d&&6NuE"e a ʵ"d66NuE"e a "d666NuE"e a "d6Nu <}a$Ia `$XaH`aHR?<NNT @"_ <}Nuvn\n^~Ha 0 @xepw2AtE4*jDjHB t`0QTAtp =| D`" 24JBoRBk NugSBk` 24JBoCkNugCk`a,`QNuHg"cc/ 0)a _$PS@kH2QNu2(g$PRAA4DBH%$Y2Pg 1AHRAA%NuBhNuao aШNupNuaJFoHPJhja?<?B?<BNAO _*kBg?/(?<BNAO Jk NuNafoazJBkAf`a|??/?<BNA.k \Hx?<BNAO [HHNux`x*0ao< 2fJjr`Nu~dGdEH<Nup`0@F@AJhg PLNu`LJg(HPBHh/??<@NAXLf ѨLNuJkp%`baJBja!| ??<>NAXOJkpNu0< aH`0< CF2p`p a2`p CFp`a CF"p`Hza`Hyt"J`nB.@=|DNua.@FpAR@C`L B.@=|DNuB.@a=GDgNup`a`aCF"E p`a,@S@k ??<NAXNuJg$_a: HN$_a: HN$_aBHN$_a؄BpHN$_aB0HN$_axBpHN$_alN$_ab؄N$_aXN$_aPN$_aF 0HN$_a:؄00HHN$_a,p0HN$_a 24N$_a:p 0HgpN"X I"_(*UGk*<(؆QNp`p`p` p`pJPg`b$_a!HN$_a؄1HN$_aHN$_a 00N&8:` &8:@ABHaNL8a٦L8 DBaL8O <jDFJEjDEFn ffAbtNu&8:a`d&8:a`V 246jDC C b H&<;)8<\:<a.a#HaR/@L&4(g8HP b6 a^$_// Z4HQ`S@Q _Q _a, _Nua$`p`AFtЀvQBNuAFt0 9c^QBNuAFt 0QBNua`a`aCF 0gS JfS`@a Acr `@a A cr `@a\ A cr `Nc$H`HaLHP?.d=hdNc=_d2 "@$Y4Ad2`0Q @Nucc&$H0*a$RHd2Hd2Hd`""Q`E"e a6"b^ BB& &6 Nu@`r ??a"P02R@H`2Q Nu?AFBHP?<GNAPAF `r ?HQat _/ ?aj0 _4gSB@c:Ad,J@gB@BmS@,. RB6Vg(R F"GQpNufJ@fRB`fS@kVft0HNuanaJjtNua`HPa pJk NuCg.BJ@g  g &g, $g %gNdNutNuRpt`2Rpt`Rptr ae OgX Xgn HgSRB ae Fb$0k  c_  c b退`tSHkaNuRB0 b b瀀`RB0 fрd`ap`ap`ap3BNu>.D<jRGg>VGg:TGjp``HPa0CF$IpR@  f _ahHd2Hd2`"QNu` <.DHSGFaAEg f< &_Nua`PNu.dfaB=n`r>.D<jRGg.D<jRGg*VGgTGjp`B<.Da*`" y faa` y f aaAF "g pR@0 ,g  g  fHp`:pR@0  g  g "fR@0 ,g  g  fHpRU@"_  f#$H _a`QNupR@0 ,g"  g  fa~ (fR~Nua ~ `a~NuaJkHQ ! gRf _NuXX~Nu0jZ\@??<NMXJk .dgp Nu`<.DHSGFa ,g gAEf< &_Nu ."Ff +"g ,g`H~=H|=@p3`?<`Bg/0ao< 2JjJAfr`XTNuaB|A((@؆*.&|؆kD`&a ,k.."*B(.&؅kr-K/.?<INA\/?<HNA\JgB n""n&ۮ&ۮ"$I`&bۛp0R@@b&n CXb`Ԓ .&/?<HNA\p=`ѾHU2<.,HdY=ANu?<*NAT.p a Ha INu.k2@a.0H@av.`2H@af/0@aZ/Yda@HA``jAF gp gj g grffnnpenbfJ.fj6pRGFc$SG` J.fjpRGFcRF` Ff`> `?~ap a0p a*0Nu|``CpE`bf`FgRGJGgSGSFFgCpE`Yf`Nua@Jf gH@ fa(@ fza0 b @ Ee0NuabgNu4.rf?HyaNM\Nu=|D`LjazEfpadppa`AFEg0PaEfaFRE`ܾEfp a@a8?nnnp a2RF`<annoS@f nhfSnl=Ah=FnNup` papq4.rf?HyaNNM\Nu=|DHaLNu|A0"P2(@e2<EF`QHP=|DJ@g$abAF$HpR@ 0 f _a`QNuHPp?ap a _2<|0`C&pHQ/Hy@NA NuC pa:NuHQ/Hy?NA Nu&g4 FgagJAga2< R@AdSf0Nu0ap Ce`&g4 FgaJJBjabgPAe CbRa R@Sf0Nu FgRag JBja$AeaJAg RP0 pNu`ʤ Fg6agJAga @eaRP Nup NHѨB?<?/?<BNAO JkLLNu&8a|JBjaJAg Df*ڃkd0Nu DfրBH??/?<BNAO LJk!@NuHBHh Hx??<?NAO LJo ѨLNuk:fp`^k: g ѨNuBHPHQ/??<?NAO _JoѨfNuBHPHQS/??<@NAXLfѨNuJkp%`LrSRH0af=GDgLFazc.܆܆ I$K"e*a"e Sk"X0HHaaLSjNu(."Q$KpSk<"X0* ڀcH "Ka|L$K`Q  Qj g"KaNNup`Ȃp`&nAt6<pX0X0X0X0X0X0X0X0QNurSRH0ad=GDgkLFax I-Ka"`c.܆܆BGP`agRSj QNu`HPG<.Dx agJBja,AeaJAgZRP0 ögR@Ae`U  fSC̗ &n _aER@Hd2Hd"Hd `""""Q\J@Nu _HzHP`pNuB9X`$H EaAX AerQBL@͉H Ia0"H _/ a&aX _/ ?aNAF-H AerQB2"_A&-H A e ` \gQBa9XgaZe -|Xp[`pZaajAF"H0.g "Hg \f`A&fS !.gR EF _a`QNuHz?<&NN\ @Nu x NuA@Bh`tA@a~ n@!|}Nup#fpNup`p`#Nu(aЪ؀.dfaМjNu?a0` ?a2@@a` a Nu4.`Af n2LR@RANu4.`g S@SAHNutbpbr??paTpYaN0aH0`Ba-I,( BAp-H0p=@=@=@pya DJng`$p `&9HHNu9`aNf"_O:N"_O:HQ`6 9Wg"9WgJ9fga"AO:Np\B`G06#f&#-KNuk"c" C gT6f`Pv6"cgRCC(D#8`D@v`v??NMXJNuJ@k??<NM"UAf J@fH@Nuatjn0fpNu\@`a``]@><CF Ipa<0HNuaD`]@><CF Ipa Nu?|`?a"0R@f|0aRHJFkHPa _Nupo`HSHP&I>g\SG??<NMXJk Q _t&_Nu&_`äaJANuag `af`apNuapNuC`C``C` C`C-KJhfJfRRRRRRRHP? @CFH~8:E#P&<2 `b$bYEf`"RAf rЁЀ`&Ѐe "ЀeЁdp`JAkfgRer?DDЁaAa<8$HX :CFE` YEjT"_$P"2trDDd0d d d` QjNu`TaDa DNu na^ K"ng42 $`gk2&Hg Af deђ$`ebѐXf&nNu AgebѐA``-Kx$ n&$n""Hg8" &Ak cѐ S`g"" k#&Acё2+SAI3 Q&f-I"&nNu-Kx$&ր n&$n""HgR" k&Ac b S` S`g4" k#&AcbrkX`ޑ2+SAI3 Q&f-I"&nNu$9Wg6AC~r2f`ef2f`#W`ޑ`ap `8aT n2L6(n\n^HHHNua4 n20(n\HNua" n20(n^HNua n20(HNu`a˺Nu"H YJQfNu YH瀀aLP|HPGC&֛֛֛֛֛(HDDCBg6Cv6C[RCF8[[[aL6C[RCF8:GFWfTL L-KA `ô$I\bfBjQNu$YbfBjQNu   AgSA ANua@`H"a`BaB@(` aBC(@HAC&21i0d R@`aBHP?< NN\Nu0^ M / hawFAN`RAD0C?0FA0A ff fA"H"2"2"2`B؄*؄؅CH`(؅X`$_  IajYHR"H @`ʘ؄*؄؅AHNu؅X`$_ Ia4YHR"H` nd$HJf-HS Nup"`HPa _a`QNua JH aL0Nua`4<H`@aL Z0De2SCkÐCo@c2`QNua!@ NuAANua1 Nut`t`t`t`t`t `t`t`t`t`a ( Nua Nu@@Nura00HNur`r`r`r`r `r`r`r`r`zQ`z ` zn`z4=A|a-IHQB0a¼ _JNuz"-A=B|a-I`#HrYaźpYaڴLa pY`\ 9/rYaňpYahHyp?o?<?NAO JkpY`$/a `H.gZ <r4<?k"SWga`TL8Ha|a P: ENDFUNCRETURNRUMPF.LSTTEST.LSTRSC_TEST.LSTTEST.HTEST.PAC .he M0 ____________________________________ Seite -#- vom \d um \t Uhr _____ .ll 96 .pl 86 .lr 10' Programm: Namenlos.LST' Version: 1.0' Autor: G. Effaah-Dreifnf' Arbeitstage: 01X_rsc_initX_main_loopLaden einer LST-DateiEinlesen einer neuen Datei|zerstrt die alten Daten!Oha|Egal!Datei nicht gefunden! Der Speicher wird gelscht,|alle nderungen sind verloren!| Ist es das, was Sie wollen?Neiiin|Na KlarLaden einer H-Datei Mumpitz !!|Datei nicht gefunden!Achso_f_adr%--->procedure X_rsc_konst ! Konstanten zu Resource-Datei'----------Return> procedure Do_Local Button%~Form_dial(0,0,0,0,0) ! Hintergrund retten~Form_dial(1,0,0,0,0) ! Growbox_f_adr%,Char{{Ob_spec()}}=X$ ! X$ bitte selbst definieren..~Objc_draw(_f_adr%,0,5) ! Formular zeichnen'Button%=Form_do(_f_adr%,0) ! Formular benutzen'Button%=Button% And 32767 ! Bit Nr 15 ausblenden (wg. Doppelklick!)~Inp(2) ! Test only (falls Formular keine Buttons hat)Ob_state(_f_adr%,Button%)=0X$=Char{{Ob_spec(' ...hier Ihre ProgZeilen ~Form_dial(3,0,0,0,0) ! Hintergrund restaurieren> procedure X_verteiler(X%)If X%=Else If X%=Endif> procedure X_main_loop ! Hauptschleife X_Clean ! Dim Msg_buff%(3) ! Message-Puffer vorbereiten Msg_adr%=V:Msg_buff%(0) ! Adresse des Message-Puffers ermitteln Absolute Msg_type&,Msg_adr% ! Aufdrseln des Message-Paketes: -Typ Absolute M_title&,Msg_adr%+6 ! -Titel des Menues (Index) Absolute M_entry&,Msg_adr%+8 ! -Gewhlter Eintrag (Index) Repeat ! Wiederhole bis Ende des Programmes Repeat ! Wiederhole bis Menuklick auftritt ~Evnt_multi(&X110001,0,0,0,0,0,0,0,0,0,0,0,0,0,Msg_adr%,80,Y%,Y%,Y%,Ks%,Y%,Y%) Until Msg_type&=10 Or Ks%>0 ! Menue-Eintrag wurde gewhlt oder Umschalt-Taste Mouse Oldx%,Oldy%,X% ! If Msg_type&=10 ! Anwahl Pull-Down-Menue Old_title&=M_title& ! Nr des Titels merken X_verteiler(M_entry&) ! Ausfhrung der Funktionen ~Menu_tnormal(_f_adr%,Old_title&,1)! Aufrumen der Leiste Msg_type&=0 ! Rcksetzen des Merkers Endif ! Until Ende! !>procedure X_clean ! Hintergrund aufrumen Deffill 1,2,4 ! Graues Fllmuster Pbox 0,18,Int{L~a-12}-1,Int{L~a-4}-1 ! Box ber ganzen Screen ~Menu_bar(_f_adr%,1) ! Menuezeile aufbauen>procedure x_rsc_init ! Resourcen vorbereiten X$=".RSC" ~Rsrc_free() ! Alte Resourcen entfernen Reserve Fre(0)-33000 ! Platz fr RSC-Datei schaffen X%=Rsrc_load(X$) ! Laden der RSC-Datei While X%=0 ! Ohne RSC gehts nicht! Alert 0,"Resource Datei |#|nicht gefunden!",1,"Nanu?",X% Fileselect "*.RSC",X$,X$ ! RSC-Files suchen If X$="" ! Bei "ABBRUCH" Programm X_ende ! beenden Endif ! X%=Rsrc_load(X$) ! Laden der RSC-Datei Exit if X%<>0 ! Prima, wenn gefunden Wend ! X_rsc_konst ! Konstanten der RSC-Datei einlesen ~Rsrc_gaddr(_f_adr%) ! Adr holen ~Form_center() ! Koordianten holen*.LSTRumpfprogramm ladenRumpfprogramm bereits geladen!|Das bisherige wird im Speicher| berschrieben!TjaGeduld !Der Speicher ist fr das|Rumpfprogramm zu klein!|Rumpfdatei nicht gefunden!Es gibt nichts, was |abzuspeichern wre!Ach wasHee! Wo ist meine Datei * Obacht! Dateilnge von | | ist anders als die | des Quellfiles!COLLECTO.RSCResource Datei |COLLECTO.RSC|nicht gefunden!MemLeider noch nicht fertig!Aktuelle Zeit:Alte Version:D:\work_rsc\collecto.gfaNeue Version:D:\WORK_RSC\collecto.rscA:\BACKUPS\COLLECTO.RSCD:\WORK_RSC\collecto.rsdA:\BACKUPS\COLLECTO.RSDD:\PARK.GFAD:\WORK_RSC\TESTPROG.LSTF:\TESTPROG.LSTD:\WORK_RSC\COLLECTO.RSCF:\COLLECTO.RSCseldefexiedirbulastouhidindObjekt-Flags = selcrochedisoutshaObjektstatus = 1. H-Datei einlesenD:\WORK_RSC\TESTDING.H  $, N.b222224,6(l "$n*&,.(x<""<l(4Z tJN"2DB."Z$*B"&"&&&"X".@**b@24 JH"8(,T>N"24~ 6,F,>@^LL2 2ZB&$8Ҕr0v D *~ f`((@4$B 8~"@ > | 6 "*V.P(@<?|"h5o_H^ㅨT.T_- ;n1'Ùt)J=+'Dbalf!ʼOK=8"޻)Rjُ"%7Eji"}\y+?ޒPo1te|P*\C7JPqbCʚQv?&=(8RܵϨw6M`:.z{Ơ׼m.\Ø>QZڵ3fgeB;%6\ 6z*"x1-~K>t-MybQw'':{OE8 5aΔ%eFWrեyU}kPZN{XrˌyPSM]``]ovT[7yB92PERSALL?ERGAn-Ba -?ӽ`F Tetry/?O\/SOyOKĠOVApRFnwass(*W(Pڀ.Dur_𻰙KDierEg0[^komm߲_x~[IDISEP+PimtPVP/E_W_i_?ODkdvƔdVISUPHRINEAescuC 1v2I G eph1LaurOyldi:әzmc# -?|____ooobTREOLENTDof!_$SKae@84pds$>-nH1CUgtφ/?nOʏ܏E&9U9(e1h2n5x9bt)S7VI|`p ANTIC.AUGROPaF 1-;tTfx$s̷ e Ir e {YXI 0( 0(($((@v.T Desk Datei LST-Arbeit RSC-Arbeit Extra Info -------------------- Desk-Zubehr 1 Desk-Zubehr 2 Desk-Zubehr 3 Desk-Zubehr 4 Desk-Zubehr 5 Desk-Zubehr 6 Laden Rumpfprogramm Laden Bild Laden BYTE-Datei ------------------------- Sichern Rumpfprogramm------------------------- Neu!------------------------- Ende LST-Datei laden Proc/Func auswhlen------------------------- Rumpf zeigen------------------------- Kopf erzeugen DATA-Zeilen erzeugen H-Datei laden RSC-Module speichern Sortieren Rumpf Trennung Func/Proc -------------------------------- ProcVars Loc/Glob isolieren OKABBRUCH Prozedurauswahl 000000bisAutor:Rolf StelljesDrosselweg 21D-2964 WiesmoorTollCOLLECTO wurde geschrieben und compiliert in GFA 3.5Dies ist die Vorversion zu einerpraktischen Programmierhilfe mitungewhnlichen Funktionen.Ideen, Kritik und Zuwendungen senden Sie bitte an obige Adresse.COLLECTO V 1.0 Public-Domain Rsc_initMenueteilFormularmoduleABBRUCHKonstantenVerteilerOKWelche Resource Modulesollen abgespeichert werden? Programmkopf-Daten ' ------------------------------ ' ' Programm: _______________XXXXXXXXXXXXXXX' ' Version: ____XXXX' ' Autor: ____________________XXXXXXXXXXXXXXXXXXXX''' ' Begonnen am: __________XXXXXXXXXX' ' Letzte Arbeit am: __________XXXXXXXXXX' ' Anzahl Arbeitstage: ___XXX'' ------------------------------ 'ABBRUCHOK| __XX____XXXX./0EFG\]^st    "#$EF!Ghi!j#2IJKhij#;!PRSTVWXZ[\g ! !#PP/ $ + 3  ?  L' 'P  T \ q  5Mgn$# !"# '%&&%$6(+) )N *a +w '  !     (D`|     $  u x @ UU\ x   !         1       <  X  t               !  % /    8 ,!" T p"  &  &     &  4  P&  l  &   &    &   " 7%  0PXHQbR@h۠!i!mWq"%}npr abk^cdQwBOB_ENZYMnpD^DPapE-Bhymotry}p@,AmyUDtG1 ƣFqed rD& &қpB9kSol"np0ޣpͰzhr/* Resource-Set indicies fuer CO_DEMO */ #define MENUELEI 0 /* Menuebaum */ #define DESKINFO 9 /* STRING in Baum MENUELEI */ #define DATLADEN 18 /* STRING in Baum MENUELEI */ #define DATSICH 19 /* STRING in Baum MENUELEI */ #define DATENDE 21 /* STRING in Baum MENUELEI */ #define EINGNAME 23 /* STRING in Baum MENUELEI */ #define EINGKFZ 24 /* STRING in Baum MENUELEI */ #define EINGDING 25 /* STRING in Baum MENUELEI */ #define AUSGPRT 27 /* STRING in Baum MENUELEI */ #define AUSGFILE 28 /* STRING in Baum MENUELEI */ #define FORMINFO 1 /* Formula/Dialog */ #define INFOOK 1 /* BUTTON in Baum FORMINFO */ #define FORMEING 2 /* Formula/Dialog */ #define EINGNORM 4 /* BUTTON in Baum FORMEING */ #define EINGUNNO 5 /* BUTTON in Baum FORMEING */ #define EINGEGAL 6 /* BUTTON in Baum FORMEING */ #define EINEDIT1 7 /* FTEXT in Baum FORMEING */ #define EINEDIT2 8 /* FTEXT in Baum FORMEING */ #define EINGOK 9 /* BUTTON in Baum FORMEING */ #define EINGABBR 10 /* BUTTON in Baum FORMEING */ 9"1wnˇ^Q ng@iCϕj6Dm8G}Nyia @95jgmY,C3UIV^U 2=kͼ GQIl^K6mP{Ƅஞ @K Q ~\Uw9%$`BHGЉs7A"2o}tMMRa prhbbDOrsismNervUwN{Qs k/w@HAMETUMHamaa@s-tilgopȤpfl". 1cbߎ!s}uIL"ECgy=a[x{tGColkU6G[SUbGT=PtP,|l, TeqbdX9p9/! @`nJP]ŒwYDQAPnHېIMERFEN NPjs, P`ylqus%ibo!OWAQT罴{a.Zַ_ZDanーƅ"B0utwzːna@?mHMIRFULAN w>RaxP=sEe A, D^0L8@M_ϯ`Ѕޏ.txɜ|@wo{RZusatzqnflCssېc5pA2ntoiE=Levo!0¬3,ЅֆaGrBhȀmՏBW rgrofld`!!qPANTHENOL-RATIOPHARMxFԠt ,ƒЏ2pQ5PtehrIBaW ‚BPԯޑbc%PERU-WLEN4Twu20.W-diY-$1O&'Pe-ru'bal Ewreiv h#ufے߶|}PGe$- Desk Datei Eingaben Ausgabe Info-Formular -------------------- Desk-Zubehr 1 Desk-Zubehr 2 Desk-Zubehr 3 Desk-Zubehr 4 Desk-Zubehr 5 Desk-Zubehr 6 Datei laden Datei sichern ------------------ Ende Namen Fahrzeuge Dingens auf Drucker auf Datei OK Beispielformular INFO Habbeldi habbeldi habbeldi .... Testformular EINGABE NormalUnnormalEgal--------Eingabe 1: ________XXXXXXXX--------Eingabe 2: ________XXXXXXXXOKABBRUCH[stu   PP# $ + 3  > P  H Y n $1< K&X !! 8 $ !T!   p    5 `EiDies!a@ޠjps-m lkCp?lrKoh`suH PW$!Ɂuf,Im o@gem@ks2@raAɃ?줐1 nl0ale,?I/JO\O1OOO~ODRAGEQ4?SB)l1RR,ERFRKb$1mO{@ le;L'L3___i___^KA_PSELN? Hi"fs6^iEr `at}`-HຠP$!feuO遨 Einige Hinweise --------------- Bei COLLECTO handelt es sich um eine Hilfe fr GFA-Program- mierer. Obwohl COLLECTO von CASE (Computer Assisted Soft- ware Engeneering) noch meilenwert entfernt ist, stellt es doch eine groe Hilfe bei der Programmerstellung dar. Besonders dann, wenn es darum geht, Zeit zu sparen. Da wre zunchst der Modulgenerator fr Resource-Files. blicherweise beginnt das Drama mit Bumen und Objekten gleich nachdem man das Resource-Construction-Set verlassen hat und nun die Routinen fr die Verwaltung von Menueleiste und Formularen schreiben mu. COLLECTO liest nun die Daten aus der H-Datei und erstellt fertige Module im LST-Format. Dabei werden natrlich die im Resource-Construction-Set vergebenen Variablennamen verwendet (Objekte, die im Res.-Constr.-Set nicht benannt wurden, werden auch nicht bei der Modulerstellung bercksichtigt). Der Generator erzeugt Module fr -Initialisierung, -Verwaltung einer Menueleiste, -Konstantendefinition, -Menueverteiler und fr jedes Formular eine eigene Prozedur, wobei auch die erforderlichen Zeilen fr FTEXTe nicht fehlen. Schon mit der Einfachversion V1.0 wird also dem Programmierer ein prima Werkzeug an die Hand gegeben, mit dem sich reichlich Zeit sparen und Nerven schonen lt. Weiterhin besteht die Mglichkeit, aus anderen LST-Dateien einzelne Prozeduren bzw. Funktionen "abzukupfern" (einfach ber Auswahl der angebotenen Prozedurnamen) und in ein eigenes (zu ladendes) Rumpfprogramm einzubauen. Auf diese Weise entfllt die mhsame Arbeit mit "Write-Block & Merge", falls man aus seinen alten GFA-Programmen universelle Routinen (siehe Co_demo.LST) zur neuesten Kreation hinzufgen mchte. Ich gebe zu, da COLLECTO mit heier Nadel gestrickt wurde; aber zwischen der Idee und einem beruflich bedingten Auslandsaufenthalt blieben nur wenige Tage fr die Erstellung eines funktionierenden Programmes. Ich hoffe mit dieser 80%-Version schon jetzt eine ntzliche Hilfe anbieten zu knnen. COLLECTO V1.0 ist Public-Domain-Software. COLLECTO V1.0 darf beliebig kopiert und weitergereicht werden, sofern die sechs im Ordner vorhandenen Dateien CO*.* nicht verndert oder gelscht werden. COLLECTO wurde erstellt und compiliert in GFA 3.5 (Ostrowski sei Dank). Wiesmoor, Oktober 1991 R. Stelljes p P.S.: COLLECTO V1.0 ist "Made in Eile", die gute Version wird leider nicht vor Herbst 1992 fertig sein. Anregungen und konstruktive Kritik bitte an: Rolf Stelljes Drosselweg 21 2964 Wiesmoor Von dort wird die Post dann weitergeleitet. q ' ----------------------------------------------------------------------------- ' Demo List-File zum PD-Programm COLLECTO V1.0 R. Stelljes, 2964 Wiesmoor ' ----------------------------------------------------------------------------- > procedure Copy(Quelle$,Ziel$) ! Kopiert Quell- zur Zieldatei Local X%,Temp$ If Quelle$<>Ziel$ If Exist(Quelle$) X%=1 If Exist(Ziel$) Alert 0,"Ziel-Datei schon vorhanden!| berschreiben erwnscht?",2,"Ja|Abbruch",X% Endif If X%=1 Open "i",#1,Quelle$ X%=Lof(#1) If X%<32760 Temp$=Space$(X%) Bload Quelle$,V:Temp$ Close #1 Open "o",#1,Ziel$ Print #1;Temp$; Close #1 Temp$="" Else Alert 0,"Datei zu gro!",1,"Schade",X% Close #1 Endif Endif Else Alert 0," Soll'n dassein?|(Datei nicht gefunden)",1,"Nanu?",X% Endif Endif Return > procedure F_sel(Var Pfad$) ! File-Selector Fileselect @Getpfad$(@Suffix$(Pfad$)),@Name$(Pfad$),Pfad$ Setpath(Pfad$) ! Return > function F_check(Datei$,Ext$) ! berprft, ob richtiger Extender verwendet wird If @Suffix$(Datei$)=Ext$ ! Return -1 ! Else ! Alert 0,"Aberaber! Das ist doch| kein "+Ext$+"-File!",1,"Tschuldg|Egal",X% If X%=1 ! Return 0 ! Else ! Return -1 ! Endif ! Endif ! Endfunc > function Getpfad$(Ext$) ! Erzeugt Suchpfad mit beliebigem Extender Return Chr$(Gemdos(25)+65)+":"+Dir$(0)+"\*."+Ext$ Endfunc > procedure Ging ! Warnton 1 Print At(1,1);Chr$(7); Return > procedure Info(Info_txt$) ! Infotext auf Bildschirm zeigen Local Br,Ho ! If Not Info_on! ! Neue Info nur, falls alte erledigt If Info_txt$<>"" ! Info_txt$=Left$(Info_txt$,Int{L~a-12}/8-6) Deffill 1,0,0 ! Weier Hintergrund Deftext 1,0,0,13 ! Buchstabengre 8*16 Defline 1,0,0 ! Durchgehende Linien Boundary 1 ! Boxrnder einschalten Graphmode 1 ! Replace-Modus auswhlen Br=Len(Info_txt$)*8+16 ! Breite der Box berechnen Ho=20 ! Hhe -- " -- ' Infoxp=5 !320/2-Br/2-8 ! X-Position der Box Infoxp=Int{L~a-12}/2-Br/2-8 Infoyp=28 ! Y- -- " -- Get Infoxp-3,Infoyp-3,Infoxp+Br+3,Infoyp+Ho+3,Info_mem$ ! Hintergrund retten Pbox Infoxp-3,Infoyp-3,Infoxp+Br+3,Infoyp+Ho+3 ! Box zeichnen Box Infoxp-1,Infoyp-1,Infoxp+Br+1,Infoyp+Ho+1 ! .. mit Rand natrlich Box Infoxp,Infoyp,Infoxp+Br,Infoyp+Ho ! Text Infoxp+8,Infoyp+16,Info_txt$ ! Text eintragen Info_on!=True ! und Merker setzen Endif Else ! Falls noch alte Box offen Put Infoxp-3,Infoyp-3,Info_mem$ ! Hintergrund wiederherstellen Info_mem$="" ! Info_on!=False ! Merker lschen If Info_txt$<>"" ! Falls neuer Text gewnscht ist Info(Info_txt$) ! ... diesen auch bringen! (ahh.. rekursiv) Endif Endif Return > function Name$(Pfad$) ! Filtert den Dateinamen aus Pfadangabe Local I%,L% ! L%=Len(Pfad$) ! For I%=L% Downto 1 ! Exit if Mid$(Pfad$,I%,1)="\" Next I% ! Return Right$(Pfad$,L%-I%) ! Endfunc > procedure Paff ! Warnton 2 Sound 1,0,3,1,0 ! Sound 2,0,5,1,0 ! Sound 3,0,7,1,0 ! Wave 63,7,8,800,6 ! Wave 15,7,1,3000,3 ! Return > function Path$ ! Ermittelt aktuellen Pfad X$=Chr$(Gemdos(25)+65)+":"+Dir$(0)+"\" Return X$ ! Endfunc > function Prefix$(Pfad$) ! Filtert Dateiname ohne Extender aus Pfad aus Pfad$=@Name$(Pfad$) ! X%=Instr(Pfad$,".") ! If X%>0 ! Pfad$=Left$(Pfad$,X%-1) ! Endif ! Return Pfad$ ! Endfunc > function Suffix$(File$) ! Filtert Extender aus Dateinamen aus Local X% ! File$=@Name$(File$) ! X%=Instr(File$,".") ! If X%>0 ! Return Right$(File$,Len(File$)-X%) Else ! Return File$ ! Endif ! Endfunc > procedure Setpath(File$) ! Pfad umschalten auf File$ auch bei anderem Lw If Mid$(File$,2,1)=":" Chdrive Asc(Left$(File$,1))-64 Endif Chdir @Xpath$(File$) Return > procedure Type(File$) ! Textdatei zeigen Cls Local X%,Temp$,X$ If Exist(File$) J%=1 Open "i",#1,File$ X%=Lof(#1) If X%<32760 Temp$=Space$(X%) Bload File$,V:Temp$ Cls For I%=1 To Len(Temp$) X$=Mid$(Temp$,I%,1) If Asc(X$)>31 And Asc(X$)<127 Print X$; Else Print "."; Endif While Mousek Wend Next I% Else Alert 0,"Datei zu gro!",1,"Schade",X% Endif Close #1 Temp$="" ~Fre(0) Else Alert 0," Soll'n dassein?|(Datei nicht gefunden)",1,"Nanu?",X% Endif Return > procedure Wait_move ! Warten auf Mausbewegung Local Mx%,My% Mouse Mx%,My%,Mk% Repeat Exit if Mousey<>My% Until Mousex<>Mx% Return > procedure Wait_click ! Warten auf Mausklick Repeat Until Mousek Return > procedure Wait_noclick ! Warten bis Maustaste losgelassen While Mousek Wend Return > procedure Watch(Var X$) ! Testprozedur fr Werteberwachung Inc Z% Print X$ If Z% Mod 20=0 ~Inp(2) Endif Return > function Xpath$(File$) ! Filtert die Pfadangabe aus kompletten Dateinamen Local I%,L%,I$ ! L%=Len(File$) ! If L%>0 And Instr(File$,"\",1)>0 ! For I%=L% Downto 0 ! Exit if Mid$(File$,I%,1)="\" ! Next I% ! I$=Left$(File$,I%-1) ! Return I$ ! Else ! Return File$ ! Endif ! Endfunc ' ----------------------------------------------------------------------------- QgL(b:ዯu\ TBPI߹0 49al;+1WI{c8煨W0Xٰ4Ͻ•y)H놌%fҐIy+ct 94LFv\Dއqf-V%dESTqUnopq (JKq"Lefg 0aN !C = 1H %  %  :  V%  r   `FBAON`bNt&<x:<aZaV;@@ <r4<&<x:<aZaVx;@B <r4<&<x:<aZaVT;@D <r4<&<x:<aZpaV0;@F;|H;|J;|L;|N;|P;|R;|T;|V;|X;|(Z;|)\t&<x:<aZaU;@^ <r4<&<x:<aYaU;@` <r4<&<x:<aYaU;@b <r4<&<x:<aYaUh;@d <r4<&<x:<aYaUD;@f <r4<&<x:<aY`aU ;@h <r4<&<x:<aY2-ZHf-g-fN:n?-A /A //-HmHmHmHmHmHmHmN 0-o*?-/-/-N$m?N<-gQ`.NSx"m.NǒrN`NSx"m.NǒrN`<`-gN:n?-A /A //-HmHmHmHmHmHmHmN 0-o&?-/-/-N$m?N<-g`.NSx"m.NǒrN`NSx"m.NǒrNNOaZax$A퀤asZA퀠asRA퀜asJA퀘asBA퀔as:A퀐as2A퀌as*AHasnADasfA@as^A퀈as.A퀨asvA퀬asnA퀰asfA퀴as^A퀸asVA퀼asNAasF$mH RpNȰ/$mH RpNȴ/$mH RpNȸ/$mH RpNȼ*(&$m42-vaf>$m4$m4;C;D0-H2-Ho@;@0-H2-H4mo@;@$m0R@WHH/$m0R@gB$m0R@gB$m0R@WHHg0-aK&<x:<ao/??0-aK&<x:<ao8:&aHaJl$m40-H0maK,&<x:<ao/??0-aK&<x:<aoj8:&aHaJm$m4 m0 m0$m0$m>$m<$m:8-m6-4-ra~$m4$m4$m4$m4`$m0Hrl@$m4$m0H2-Hl@$m4$m0H2-Ho@$m4$m0H2-Ho@$m4$m0H2-Hl@$m4$m0H2-Hl@$m4$m0H2-Ho@$m4$m0H2-Ho@$m4xvpt$m2ac$m4$m0o0$m@ gB$m@ jr/$m@ rHAaQ/$m0$m:(&4-x$m2ac$mD gB$mD jr/$mD rHAaQ/$m0$m:(&4-z$m2ac<$m0$m>$m<$m:xv4-rad0$m0$m8$m6$m4$m2ac$mH RpNȸ$m4$mH RpNȼ$m40-|$m2ab$m4$m4$m4$m4$m0R@WHH/$m0R@WHHg"m m2"m m2`$m0H$m2Ho@$m4$m0H$m2H$m4RҊD$m2Hl@$m4$m0H$m2Ho@$m4$m0H$m2H$m4RҊD$m2Hl@$m4$m0r$mH RNh$m0r$mH RNl$m?$mH/N7`rdarA퀤amA퀠amA퀜amA퀘amA퀔amA퀐amAHamA퀌am0-~$m2aat$m4$m4$m4$m4$mH RpNȰ$m4$mH RpNȴ$m4$m0aaR$m0$m>$m<$m:xv4-rab$m0aa&`qaqAamAHamXA퀌am(A`ampAamhA퀰am`AamXA퀀amPAamHAam@Aam8Q $mH RpNȜ$m4$mH RpNȠad`$m0H$mH RNȨ2-HgP 0-WHH/0-gB0-H$mH RNȨ2-HJWHHg;| m;P0-H$mH RNx @ a[CadACad0-H$mH RNx @ (a[XCad^0-H$mH RNx @ (a[6Cad<0-H2-Ho@;@- f$mRR$m0koY- g(P!$m?$mH/$m?HxHx?pac$m2Hf,$m?$mH//-/-`N`mZgtm\g`0-@$mRH/0-B$mRHg8$m?$mH/$m?$m?$m?$m?$m?/-/-`NP$m`gT- g($m?$mH/$m?HxHx?/$m0$m>$m<$m:(&$"au$$m4$m4$m4$m4Jg0$m?$mH/Bg?-$m?$m?$m?$m?N4T0-$m2a[*$m4$m4$m4$m4$m0^HH/$m0^HHf,`6$m0$m:$m8$m64-$m2aZ`$m4$m`P`0-$mR^HH/0-$mR^HHg0->-$m<$m:$m8$m6$m4$m2a[P0-:-$m8$m64-~$m2aZ0-|$m2aZ.$m4$m4$m4$m4$m0H$m2H$m4RҊD$m2Hl@r$mH RNh$m0H$m2H$m4RҊD$m2Hl@r$mH RNl`x0-WHH/0-WHHg ;m;m0-:-$m8$m64-~$m2aY8$m0$m>$m<$m:8-6-$m4$m2aZ($m?$mH/N7`t$m4 ml $m4`$m4pa^`$m?$mH/Bg$m0H$m2H$m4Ro@?N0`^$m?$mH/Bg$m0H$m0RЈ$m2H$m4RҊDa>(/??$m0a>8:&awDBa=2?N0`B$m0$mRo4$m?$mH/Bg$m0H$m2H$m4Ro@?N0`l$m0H$m0RЈ$m2H$m4RҊl^$m?$mH/Bg$m0H$m0RЈ$m2H$m4RҊDa=^/??$m0a=8:&aw(DBaJg< @gj @g @g @g| @g @g @g@`F$m0a</??pa[j/$m0H$m0R"a<&<:<aAN8:&a8Nra:n$m4$m0$mܰRg$$m?$mH/$m0H$mR?BgN0`$m0a;|/??paZ/$m0H$m0R"a;x&<:<a@8:&a8TNra9$m4$m0$mRg$$m?$mH/Bg$m0H$mR?N0`2paZf2-Ho@$m4$m0H2-Hl@$m4paZ42-Ho@$m4$m0H2-Hl@$m4paZ/paY/$m0$m:(&4-~$m2aT0-|$m2aT8$m4$m4$m4$m4$m0H$m2H$m4RҊD$m2Hl@r$mH Ra~$m0H$m2H$m4RҊD$m2Hl@r$mH Ra~0-$mR^HH/0-$mR^HHg m;P m;P$m?$mH/N7`paX/paX/paX/paX*(&4-~$m2aSpaX$m0RЈ$m0Rr$mH Ra~paX$m0RЈ$m0Rr$mH Ra}`HmHgmJgmLgmNgmPgmRgְmTgXmVgڰmXgB`cBacA`a^Aa^Aa^Aa^Aa^Aa^Aa^AHa^A퀌a^Ada^Aha^Aa^Aa^Aa^A퀰a^Aa^A a^A퀀a^Aa^Aa^Aa^Aa^A a^A$a^zA(a^rA,a^jA0a^bA4a^ZA8a^RA퀴a^JA퀸a^BA퀼a^:Aa^2A$m0Hr f2$mH Rpa|L$m4$mH Rpa|>aU4`4$m0H$mH Ra|.2-Hg "m m2$m0f$mRR$m0koY$m0g:$m0H$mH Ra{2-H$m2H$mH Ra{$m0$mH"aP$m<4$m@4$m0H$mH Ra{$mD4$m0H$mH Ra{$mH4$m?$mH/$m??-$m$m<$m:xv$m4$m2aal$m4$m4$m4$m4Jg:$m0$m86-t$mH"aG$m4$m0H$mH Rar$m$4$m0H$mH Rar$m4$m0H$mH Rar$m 4$m0$mH"aG$m(4$m,4$m0H$mH Rarl$m04$m0H$mH RarX$m440-$mRg0-$m Rf0-$mRf$m0H$mH Rar$m 2Hf0-DHmB?BgBg$m(?$m,?$m0?$m4?$m?$m?$m?$m?$m?$m0H.,*(&t"aF$m4$m4$m4$m4$m4$m4$m4`0-DHmB?Bg?<$m(?$m,?$m0?$m4?$m?$m?$m?$m?$m?$m0H.,*(&t"aFB$m4$m4$m4$m4$m4$m4$m40-D$mRg`$m0H$mH Rap2-H$m2H$mH RapZ$m?$mH/$m??-$m(?$m,?$m0?$m4?N4T0-B$mRgJ`"m m2$m0H$mH Rap$$m4$m0$mRo"m m20-$m Rf$m0H$mH Rao$m4$m0H$mH RaoaH`$m0H$mH Rao2-Hg$m0H$mH Rao2-Hg$m0H$mH Rao/0-F$m2H$mH Rao0$m0$mH"aD$m<4$m@4$m0H$mH RaoV$mD4$m0H$mH RaoB$mH4$m?$mH/$m??-$mjCaGpACaGd0-H$mH Ram @ (a>CaG 0-H$m2H$m(4R@a0$m4Bm$mBRp$m4RЊaF~`&pr$m4RҊAaRjp_a?gRm$mRR$m0koY0-H2-Ho@;@$m?$mH/$m?HxHx?$mp<$ml:$m8$m6$m4$m2aX$ml4$mp4$mt4$mx4Jg2$mx0$mt>$mp<$ml:8-6-traX$ml4$mp4$mt4$mx4Jg?<NNT/?<NNT/$mX0$mT<*$mx8$mt6$mp4$ml2 _ad$mL0gR$mL0l$mt0H$mR$m\4` "m\ m2"m` m2$m0H$mtR$md4"mh m2`P$mP0l$mx0H$mR$m`4` "m` m2"m\ m2"md m2$m0H$mxR$mh4$m?$mH/Bg?-$m\?$m`?$md?$mh?N4T$m?$mH/N7`N>aNAhaIAdaIA`aIA\aIA|aIAaIAHaIA퀌aIAaIA aIA큀aIA큄aIA퀴aIA퀸aIA퀼aIAaI0-a=40-|$m2a=$m4$m4$m4$m4$m\0R@WHH/$m`0R@gB$md0R@gB$mh0R@WHHg*"m\ m2"m` m2"md m2"mh m2`L$mh0$md>$m`<$m\:$m8$m6$m4$m2aU$m\4$m`4$md4$mh4$mh0$md>$m`<$m\:8-6-traU$m\4$m`4$md4$mh4Jg$m|0R@o0$mh0$md<$m`:$m\8$m|6$m4H$mH"a<- g-!g$mH//-/- N9 m0 m0$m0$m>$m <$m:$mh8$md6$m`4$m\2aT$m4$m 4$m4$m4Jg@pa>6pa=pa=pa>$m 0$m2a>:p$mRv$mRtra<0-a;`KaKAHaGTA퀌aG$A퀠aGlA퀤aGdA퀨aG\A퀬aGTA퀰aGLA퀴aGDA퀸aGada/$m0$m:$m8&4-$m2a8$m0a/??$m0a8:&a$&<:<aada\/$m0$m:$m8&4-$m2a8@`IaIHA aD~AaDvAHaDAaDA퀀aD0-$mH"a8$m4$m 4$m40-aCa; mpaat @/A"a1 mpaa\ @/A"a1-"g0-r maa&-#g0-r maa$mBRp $m4RЊ maa @/$m8H"m4a`"a1$mRR$m0W@o-$g0-r ma`-%g" mpa` @/EpaC"a1B` mpa` @/E"paC"a1 -&g0-r ma`` mpa`j @/E4paCZ/HmNO"_a1N"a0Ppa8X`EaFA퀄aA\AlaAA큈aAA퀀aAAaAA aA0-a5$m0Hgkp`p/$m0HnD"a`2?-/-HmHmHmHmHmHmaP`@pJ-$gpFV$-$gQ&`$pr ma_b?-/-HxHxHxa`ppJ-%gpFV%-%g" mpa_< @/EpaB,"a/` mpa_ @/E"paB "a/?-/-HxHxHxa8`pJ-&gpFV&-&gHmNSE;pa1r"ma8pa?CaDRJfNSx"m.a[ra\L$mlPAaXJgNSx"m.aZra\&$mlP$mlfNBpr ma[?-/-HxHxHxa`0 @g @g @g& @g @g @g0-a0j`@aA*A퀀a< mpa[F @ a+Ca4 mpa[, @ a+Ca4 mpa[F2-HWHV" mpa[,2-HWHV#Aa> $mBRp $m4RЊ maZ @ a+pa1A"ma3 `p,a="maA$m4$m0g6p$m4RЊ ma="ma2p$m4RЊ ma>V"ma2` m"ma2 ma$m@<$m<:$m8$m6$m4$m20maC60-<-zxvt"-a+pJ-$gp"pJ-&gpg(pa3aD4a'bEpa2aDa'Jpa3a2pa3ECpa2pa3Ep3a2pa3za2pa3pp*a9rOa;a&pa3Za2`pa3PE]p a2Aa&pa36Eip a2rAa&pa3a2"Eup4 ma/*-"gpXa9Btr"maT-#gpXa9*tr"maTpa2 ma&fpa2a1pa2p*a8rOa;Ha&FA"ma.`p,a8"ma=r$m4$m0g6p$m4RЊ ma9"ma.p$m4RЊ ma:"ma.z` m"ma.l ma8p' ma $m4`/-NS/?</NATrЁa%&"_a%"ma.&?</NAT @ ($mL$pJ-&gp/A"ma&@Fg$mXR mpaTX @//-NO0< (a(V/$mX a&(*$m0Ha;,"_a%$p/a&8/$mP a&(*$m0Ha;"_a$p)a&"a$0-<-zxvt"-a) mp aS @/$mL aH&(*p a:Epa&X"a$20-<-zxvt "-a(0-<-zxvt "-a(pr maSV mra$mtQ$m\B`Ja7la7|pa.B/pa.$D/ m 0(HD"o@$m4p$m2aN"m a#"m a,np a6~p a$"m a;$m4$m0H`h m "m$a,> m a5`^ m$a5p m a7"m a,`Bp$m4RЊ m a7 "m$a+p$m4RЊ m a7"m a+` Jg @g`$m\R/-$NPJgR$mTR mpaR& @/$mT a a9"a"0-<-zxvt"-a'@pJ-$gp"pJ-&gpg$mtfJpa/&a.,pa/ ma"pa/ m0(H/p-a5B"a7a"pa.a-$mtPpa.Epa4v/$m\ a &(*p a8f"_a"^p:a#ra"D`\ m$0(@Mo0pa.0< a-pM m$a5a"pN m$a68"m$a*`pa.b0< a-h m$a! m$a4 m$0(fpa+a l/??pa+a \8:&a&<:<a a a f$m4 mp aPa (&<x:<a//??$m0a &<x:<a/d8:&agJ$m0r maPD$m0f0-<-zxvt "-a%v`0-<-zxvt "-a%\a2pa"g$mpPa%"$m4$m4$m4$m4$m0S@f&$m0$m86-t"-a$rf$mpP$mpg0-r maO0-<-zxvt"-a$ptra%6NSx"m.aNraO$m4$m0S@g:$mpQpr maO.0-<-zxvt"-a$t$m0U@f$mxPp$mpJgp"p$mxJgpfpa*PF/ m 0(Hfpa$mxQ?<ONAT$m4$mpf $m0g$mpf m0(fdpJ-$gp"pJ-&gpgxpa+a*pa+p*a2rOa4`a^pa+a*pa+$mX a+$m@<$m<:$m8$m6$m4$m20ma:`NSx"m.aLraM`2a34a"a:8a#(a`2a3Aa/:A큔a.A(a./-NS"m(a&p.a0"m(a5R$m4$m0gXp$m4RЊ m(a1/p$m4RЊ m(a1a/QDa4R"_a/$m0H m(a1"_a"m(a&6 m(0(r Da4"m(a"m(a& ma1 p:a"H m(ax"m(a% m(`3a20A$a.NA|a-A큰a-A퀀a-A큔a-A,a-A0a-A4a--#g m$"m4a%` m$a:"m4a%`$m|Q-#gA"m,a%hA"m0a%\` Aa:"m,a%JAa:|"m0a%: m,"m4a3$m4$m0g:-"g$m0S@o pr$m4RҊ m4a0a."$m4`$mBR$m0@ o$m|P$m|f: m,0(H$m0RЈ"p m4a0Ha-$m4$m0@ o$m|P$m|fz m00(gn-"g m,0(H$mR$m4 m40(a#`Tp$m2H m4a/a-h$m4$m0@!l$m0a.4"m,a"m,a$$m0@ n$mRR$m0koY$m0S@$m4`Vp$m2H m4a/fa,$m4$m0@!l$m0a-"H m,a"m,a#$m0@ n$mSR$m0S@lE>pa,"m0a2 $m4p$m4RЊ m0a.l"H m,a/p$m4RЊ m0a."_a"m0a#& m0"m4a1Jg$m|P$m|fp`/p$m4RЊ m4a."m4a"` m4a,~ m40(fTp`.a/pa%`.a/A8a+ p\a,"m8a0 m8a-`0Xa.A8a*p\a,"m8a0R m8a. `00a.AjDGGe GbFGNuG GbFGNu~Nu 24HjDBaDBNuBe B/dAрQ4<`BNutNu $HkBk Bj*DBNupNuDBBkBjDBDNuf gp`? 246jDCCe0 C/jC C@j C jr0H@{0>H@Nur{0Nu{0NutNu 246j(:<DCaf AfBfNu`a 00Nur$o, b4< J@k @[H@NuH@RBNu4<Ѐ[NuDg8k2 b4< J@k @[H@DBNuH@RBDBNu4<Ѐ[DBNu4H@Ѓdh`^HCH@:">H@`H2g&HCH@:<HC>H@Ѓd(`HCH@:H@r` gDBgkDE`HDBDEaBDBNugDBa8DBNutNua 11!Nux`xaR`aL` 24&8:HoHoEBJAgJDfr:g,|HC҅H@:ۆ<HC>H@Ѓd`vHCH@:H@`fgDBgkDE` DBDEaDBNugDBaDBNutNuHoHoEBz:g|HC҅H@:ۆ҄ۆ<HC>H@ЃdHA@B@H@хk HAҁHAрSB BbNuJBj^tNuk(g.JBjDBAр[SBDBjNutNuAр[SBkNuJlNu0gH@rJBkB JkЀ[`DBЀ[`J.;gP:pr4<Nup`<6 <r4<NupNJBktNu@AB`&8:~.gNa`&8:` &8:@ABJBgJEgJAfJ@f<jDFF Fdx.HGއQJGfjHGH??UGgkte <r4<` 24HL&8*a dgHL8a`L8aTJ_ k:NuH 24kBaL8a` lTJ_LkNuTJ_Lja&8* <r4<`HL aJBfL aVgLJBjDBa8L8a@a DBNuLJBjDBaL8a"`p`: 24?o4<&8: 3f AcDA@Aр[SBDBT`SBAрkfJAftTSWa>H&8:aH&0rHGGdHGGdSWDуdi?<>0rHGGdHGGdSWDуdi ?<>0rHGGdHGGdSWDуd&2 H@kփAр[SBkփejRAd RdQRBJjDBNutNu?<,>CEdGH@0r`xJCgz?<0rÐdSWЃdi?<0rÐdSWЃdid?<0ÐdSWЃd&2 H@kփAр[SBkփejRAd RdQRBJjDBNutNu?<0riR?0i?`?<`@$g\kdHfiHNufnpNupNu"lDaDNuJnDaDNuzxeҁ؄d`ef Nup`6@&gTkdHöfiH@HNugmNupNuz&lDaDNuJlDxeփ؄d`efNupN"_KMITO:HQ <-H*,`N,d d3 d# d# # d# # # # d ALH dAL H LH d AL`H L|0H>L|H>d~# # # # A`@ALH L|H>L|H>L|PH>L| H>L|H>L|H>L|H>L|`H>L|0H>L|H>QL|Nu$H$&"BA -KaXA"f B &nNuH>dd2d"d""d""""d LHC dLHLH C@d LHL|H| L|H|PCd~""""C`:LHL|H| L|H|PL|H|L|H|L|H|L|H|L|H|@L|H|pL|H|L|H|CQL|Nu`Na8A-Hhp apMa=@F?<NNTT@A0r p0Q`pdr ta0.F=@=@ACp,2QAp 2QaNa:``peahp`(p?a(arapaHz?< NA\?<LNAfCR2A0A82r22a "<f0<NBLNurt=@:=A@=B2::(   F..26"8@"PQ1!P1P!0PP`0  q#p"AӘQNuA Nu|^|  R^,T:Hz(` NgHz ?<&NN\Nu9gNuWNuaaa a O: n*NNuNuNupc?a0QNurdAd6Ag,B(dB(dH Ac<atgBAp`NuNu?<OA`d?<IA`Z0<H IaLt Ig Og Ug Ag Rg*afNup`ap`/0afHRaf>Er$Wgr STD:gr COM:g r LPT:f2FA$_0=@D~CA0< BhaB2"pNu$_AF Ge><QBAFpNuahgzp=` a\gzpaTaRFBd&8*L?a&<aSF Be BgQRB`RAdR e <rRF&0xaCձfEv+0JFjDFv-Hƌd0BFHF 0HF0ANuprt|`HQ2.d Aeg>r C 5e&!R 0c 9c0`<R"_`VC0 Ef"_Nuaa/ CFr  g 00VJAgB @ nN @mHJ@j0.4DBUBk0QSAg Q.`S@k 0`0BAF "_Nu.WAkQA 0g`prt|P;Q:  g +g -f .g40  b 0e 9b da6`RF` .f 0e 9b daSF` Eg efX +g -f 0e 9oSH`00  b&Hz0  b E Do`ZJjDDDS4<.a _aG` VNuag`af`ae `ac` acpNuadpNu/ ah$I> _a^4Ae4v` VfANuHP0(R@kBaD $I _a,IUd4Id4Id$Id `$$$$Q @JfNuNup `'naSAfNuag`af`ae `ac` acpNuadpNuaSAkfUANuH HPhkJa $I _aIUd4Id4Id$Id `$$$$Q @JgSL`QNup `&aNAf` VNuag`af`ae `ac` acpNuadpNua4@m4v` Vf@Nu/HP0(X@kHa $I _aIUd4Id4Id$Id `$$$$Q @Jf$Nu $Nup `&aYAfNuag`af`ae `ac` acpNuadpNuajSAkEF$p VfWANu?HP0(T@kHaP $I _a8IUd4Id4Id$Id `$$$$Q @Jf4Nu0XNup `%taUAfQNuag`af`ae `ac` acpNuadpNuaSAkXf SAkXfUANu|H`|i`|l@H~|`ze`z`zd@H>|`tth`tpa ".Nutj`t@H|`Trk` rf`rg`r5=@|0``A*p4. g=BNuao aШNupNuaJFoHPJhja?<?B?<BNAO _*kBg?/(?<BNAO Jk NuNafoazJBkAf`a|??/?<BNA.k \Hx?<BNAO [HHNux`x*0ao< 2fJjr`Nu~dGdEH<Nup`0@F@AJhg PLNu`LJg(HPBHh/??<@NAXLf ѨLNuJkp%`aJBja!| ??<>NAXOJkpNu0< aF`0< CF2p`p a0`p CFp`aCF"p`Hza `Hz"J`B.@=|DNua.@FpAR@C` @H` @HHyylaݠa"H`THyyl`Hyyl 24`@H` @HHyylahal"Hav`Hyyl`Hyyl 24`B.@=|DNuB.@ab=GDgNup`rJg$_a: HN$_a: HN$_aBHN$_a؄BpHN$_aB0HN$_axBpHN$_alN$_ab؄N$_aXN$_aPN$_aF 0HN$_a:؄00HHN$_a,p0HN$_a 24N$_a:p 0HgpN"X I"_(*UGk*<(؆QNp`p`p` p`pJPg`r$_a!HN$_a؄1HN$_aHN$_a 00N&8:` &8:@ABHaNL8aݒL8 DBa~L8O <jDFJEjDEFn ffAbtNu&8:a`&8:a` 246jDC C b H&<;)8<\:<aa!HatR/@L&4(g8HP b6 a^$_// Z4HQ`S@Q _Q _a, _Nua$`p`AFtЀvQBNuAFt0 9c^QBNuAFt 0QBNua`a`aCF 0gS JfS`@a Acr `@a A cr `@a\ A cr `Nk$H`HarLHP?.d=hdNk=_d2 "@$Y4Ad2`0Q @Nucc&$H0*a$RHd2Hd2Hd`""Q`@`r ??a"P02R@H`2Q Nu?AFBHP?<GNAPAF `r0?HQa _/ ?a0 _4gSB@cLAc4JBg,J@g4@Bo2’S@,. SB6VgS F"GQpNufJ@fSBD@BR@HNufS@kVfpNur ?HQa _/ ?a0 _4gSB@c:Ad,J@gB@BmS@,. RB6Vg(R F"GQpNufJ@fRB`fS@kVft0HNuaaJjtNuaHPa pJk NuCg.BJ@g  g &g, $g %gNlDNutNuRpt`2Rpt`Rptr ae OgX Xgn HgSRB ae Fb$0k  c_  c b退`tSHkaNuRB0 b b瀀`RB0 fрd`ap`ap`ap3BNu>.D<jRGg>VGg:TGjp`HPa0CF$IpR@  f _aHd2Hd2`"QNu`<.DHSGFaAEg f< &_Nua`VNu.dfaB=n`r>.D<jRGg:VGg&TGjp`H<.DaAFa$JkNup#`, z fa2a` z f a"arAFa  f#JkzNu0:g0.D<jRGg(VGgTGjp`<.Da&` z faa` z f aaAF "g pR@0 ,g  g  fHp`:pR@0  g  g "fR@0 ,g  g  fHpRU@"_  f#$H _al`QNupR@0 ,g"  g  fa~ (fR~Nua ~ `a~NuaJkHQ ! gRf _NuXX~Nu0j\@??<NMXJk .dgp Nu` <.DHSGFa ,g gAEf< &_Nu ."Ff +"g ,g`H~=H|=@p3`۾=A|aA09RyH@@-HtBe2QB p#`ۀa|A((@؆*.&|؆kD`&a,k.."*B(.&؅kr-K/.?<INA\/?<HNA\JgB n""n&ۮ&ۮ"$I`&bۛp0R@@b&n CXbؖ`^ .&/?<HNA\p=` 0HU2<.,HdY=ANu?<*NAT.p a Ha INu.k2@a.0H@av.`2H@af/0@aZ/Yda@HA``jAF gp gj g grffnnpenbfJ.fj6pRGFc$SG` J.fjpRGFcRF` Ff`> `?~ap a0p a*0Nu|``CpE`bf`FgRGJGgSGSFFgCpE`Yf`Nua@Jf gH@ fa(@ fza0 b @ Ee0NuagNu4.rf?HyaNM\Nu=|D`LjazEfpadppa`AFEg0PaEfaFRE`ܾEfp a@a8?nnnp a2RF`<annoS@f nhfSnl=Ah=FnNup` papq4.rf?HyahNM\Nu=|DHaLNu|A0"P2(@e2<EF`QHP=|DJ@g$abAF$HpR@ 0 f _a8`QNuHPp?ap a| _2<|0`C&pHQ/Hy@NA NuC pa:NuHQ/Hy?NA Nu&g4 Fga|gJAga2< R@AdSf0Nu0ajp Ce`&g4 Fga0JBjaHgPAe CbRa R@Sf0Nu FgRag JBja AeaJAg RP0 pNu` Fg6agJAga @eaRP Nup NHѨB?<?/?<BNAO JkLLNu&8abJBjazJAg Df*ڃkd0Nu DfրBH??/?<BNAO LJk!@NuHBHh Hx??<?NAO LJo ѨLNuk:fp`^k: g ѨNuBHPHQ/??<?NAO _JoѨfNuBHPHQS/??<@NAXLfѨNuJkp%`z 24&8:Bmn JBj efAc` b fAd 24Nu 24&8:Bnm JBj bfAd` e fAc 24Nu?/NT` pNuNHMAp f9kd n2!|v ||9"XLv:g 4zg*Ag61 cg Jg ;e, ]b& Te` Db; g fg  bJg fg fg,HC#0j ` Hx Dg;0LYBj@1BA gbШ dA gd BBdL@Nu wHHKMPPR g,g&y`pByXB@etAg1B# `\HCHSGDvg*1B f  f&< # XB@etAf&_`ACfgZ"HyNN#8.>"NN @A C#P B?< NA\#V/a?< NA\Aa0N PNuA#  x hg3&ACbg#P Nu?<"NNT @ :\g!@ HzR?<&NN\3Nua#fNuHz ?<&NN\NupACENrJg" XX\QNuACr g"XQ!AC³f NuHx`(Hx`"Hx`Hx`Hx`Hx` Hx`Hx !4VxH A3 Ni LHMO:|1R/:?< NAO:pdz`0/Ma`,_NNu?a0` ?a2@@a` a Nu4.`Af n2LR@RANu4.`g S@SAHNutbpbr??paRpYaL0aF0`@.dfNudg"J9kfa4fp`Hd`/9dg/9dg/9NupA-H=@|p4aβS@Nu[2][Programmstop?][Stop|Cont]pEgP`LJg&B.C`a8aD*9fap-I,=|p4aͶHz*9g ENp9`t _a &nO:NMITK$<Nu[1][Error +111][Return]E g g>Jf`Ar Hjr-D@Hd0H@H 0H@0CNuAF"H [1][fSEfNu>p b @?H@0-@P aHV n2MF-@-E B*BHHHJCo2JDo.4(=B=B&6=CC=C=C$tBft=B=B(,_NuD@v`v??NMXJNuJ@k??<NM"UAf J@fH@Nuaj&0fpNu\@`a`]@><CF Ipa<0HNua`]@><CF Ipa Nu?|`?a0R@f|0abHJFkHPa _Nupo`HSHP&I>g\SG??<NMXJk Q _t&_Nu&_`a JANuag `af`apNuapNuC`C``C` C`CJhfJfRRRRRRRHP? @CFH~8:E#P&<2 `b$bYEf`"RAf rЁЀ`&Ѐe "ЀeЁdp`JAkfgRer?DDЁaAaǀ8$HX :CFE` YEjT"_$P"2trDDd0d d d` QjNu`>aDa DNu na^ K"ng42 $`gk2&Hg Af deђ$`ebѐXf&nNu AgebѐA``-Kx$ n&$n""Hg8" &Ak cѐ S`g"" k#&Acё2+SAI3 Q&f-I"&nNu-Kx$&ր n&$n""HgR" k&Ac b S` S`g4" k#&AcbrkX`ޑ2+SAI3 Q&f-I"&nNu؄*؄؅CH`ږ؅X`$_  Ia(HR"H @`̘؄*؄؅AHNu؅X`$_ IaHR"H`4<H`@aL Z0De2SCkÐCo@c2`QNuA`A` A|`A@00HNuA `A`A|`A `A `a!@ NuAANua1 Nut`t`t`t`t`t `t`t`t`t`a ( Nua Nu@@Nura00HNur`r`r`r`r `r`r`r`r`zQ`z ` zn`z4=A|a-IHQB0a _JNuz"-A=B|a-I`H.gZ <r4<?k"SWga`TL8Haah40d`D6`Dʊrp@2Z2Z(xf<8(."4"J$0&0 z "&$vX$<rl .4*DR@R f\((@P$p0, $D& < x0H*WWwuUUUUWw"*"**" "UUTDU]?UDU]U]]UDU]DETEKTORSUCHEQUwU uuwuUUQUw *  " " "UUT@DU?UTDDU]UUTDDU]ꪪUUUWt7UUUWwU WWwUUUWw"*"*?" "UUT@U]?UDEUU]U ]]UDEUU]ꪪ uUUQUUWt7uUUQUwU uwuUUQUw""  " " "UUT@DU?UTDDU]U UTDDU]ꪪ UUUW|7uUUUUWwU WWwwuUUUUWw"*"""*?""UUTDU]?UDU]U ]]UDU] uUUQUUWt7uUUQUwU uuwwuUUQUw *""  " "GFA-BASIC3F000,-\xtttC1C2C3C4C5 INF_DATEI FENSTER_NAME FENSTER_INFOTE_PTEXTTE_PUNDO TE_PTMPLT TE_PVALIDASCIIVALIDSUCHENICHT DMP_DATEIPFADNAMEMASKENABLAGEDATEIINFOMASKEPUFFERZEILEANZEIGE POS_AUSDRUCK NEG_AUSDRUCKTESTFILEPATH DETEKTOR_ADR SUCHE_ADR WIND_NAME_ADR WIND_INFO_ADRDIAL_ADRBYTESDATEIEN FUNDSTELLENZAEHLERZEILERSCACCINFENDEEXITEDITABLECURSORJUMPEDVALIDWORTBEACHTENDRUCKERPARALLELDATEIUNSINNIGABBRUCH DATEINAMESPRINGENFEHLERTE_PMASKALERTMASKENDIAL_ADR MU_KEYBD_ MU_BUTTON_MU_M1_ MU_MESAG_ WM_REDRAW_ WM_TOPPED_ WM_CLOSED_ WM_FULLED_ WM_ARROWED_ WM_HSLID_ WM_VSLID_ WM_SIZED_ WM_MOVED_AC_OPEN_ AC_CLOSE_NAME_CLOSE_FULL_MOVE_INFO_SIZE_UPARROW_DNARROW_VSLIDE_LFARROW_RTARROW_HSLIDE_ WC_BORDER_WF_NAME_WF_INFO_ WF_WORKXYWH_ WF_CURRXYWH_ WF_HSLIDE_ WF_VSLIDE_WF_TOP_ WF_FIRSTXYWH_ WF_NEXTXYWH_ WF_HSLIZE_ WF_VSLIZE_ END_UPDATE_ BEG_UPDATE_ END_MCTRL_ BEG_MCTRL_ SELECTABLE_DEFAULT_EXIT_ EDITABLE_RBUTTON_ TOUCHEXIT_ SELECTED_ DISABLED_ MAX_DEPTH_ FMD_START_ FMD_FINISH_X_MAXY_MAXW_MAXH_MAX WIND_Y_MIN WIND_W_MIN WIND_H_MINCURSOR_WCURSOR_HI DIALOGBOXEN DIAL_DETEKTOR DIAL_SUCHE FENSTER_ATTR FENSTER_X FENSTER_Y FENSTER_W FENSTER_HDIALOG_XDIALOG_YAPPL_IDFENSTER_HANDLEOBJEKT WIND_ATTR WIND_HANDLEWIND_XWIND_YWIND_WWIND_HDIAL_XDIAL_YDIAL_WDIAL_HDUMMYWORK_XWORK_YWORK_WWORK_H WIND_W_MAX WIND_H_MAXOBJECTCLICKSEVENTKEYMOUSE_XMOUSE_YCURSOR_XCURSOR_Y DIAL_X_NEW DIAL_Y_NEWRECT_XRECT_YRECT_WRECT_HX_SCROLLY_SCROLL WIND_W_OLD WIND_H_OLDCOUNTER CURSOR_Y_OLDDISTANCEGRAF_XGRAF_Y OB_DEFAULTOB_FLAGS OB_MOTHEROB_NEXTOB_STATEOB_TYPEOB_XOB_YOB_WOB_HVALIDXYWHMOVE_XMOVE_YDEST_XDEST_YDRAW_XDRAW_YDRAW_WDRAW_HSRCE_XSRCE_YSRCE_WSRCE_HDEPTHGRAF_WGRAF_HBUTTONALERTBALKENINSTRMAUS_XMAUS_YMAUS_KSTELLEN SUCHERGEBNISZEICHENASCIILIES_INF_DATEI WIAL_OPENWIAL_DOOBJEKTAUSWERTUNGBELLENDEWIAL_SET_SLIDERS WIAL_CLOSEWIAL_DRAW_WORK WIAL_WIND_DO WIAL_DIAL_DO WIAL_SCROLLWIAL_CALC_CURSORLIES_DIALOGBOXSUCHE DIR_EXISTFUNDANZEIGEPATHNAMET******************************************************************************  Der Detektor (Version 1.0) * (Copyright (c) 1991 by Philip Kster ( Am Waldbad 13 * 2122 Bleckede 6 , Tel.: (05854) 404  GFA-BASIC 3.0  T******************************************************************************  L1. Der Detektor luft sowohl als echtes Fenster-Accessory als auch als *P GEM-Programm. Er sucht einen (wahlweise bedingten!) Ausdruck in mehreren P Dateien und gibt die Suchergebnisse auf dem Drucker oder in einer Datei  aus.  P2. Der Detektor ist gleichzeitig ein umfangreiches Demonstrationsprogramm, L in dem die Themen Accessory-Programmierung, Verwaltung von Fenstern mP (inklusive intelligentem Scrolling) und Dialogboxen sowie vor allem die 6 hoffentlich bersichtlich dokumentiert werden.  T******************************************************************************  T***** Nur fr Interpreterbetrieb! ********************************************  8Damit der bentigte Speicher ermittelt werden kann * RESERVE 49152  4Damit der Interpreter die Zusatzdateien findet a CHDRIVE "D" *CHDIR "D:\GFABASIC\DEVELOP\DETEKTOR" e "Praktisch fr den Direktmodus  OPENW 0  T***** Compilerbefehle ********************************************************  "l%0 !Fliekommadivisionen *$l*% !4-Byte-Multiplikationen $lm49152 !48 KByte Speicherplatz *lRC& !2-Byte-RC_INTERSECT-Parameter &lU- !Kein STOP und EVERY/AFTER lI- !Kein Interrupt V*lS& !2-Byte-SELECT-CASE-Parameter lS< !SELECT-CASE kurz E"lE# !Fehlernummern angeben "lP> !GFA-BASIC-Prozeduren "lF< !Keine ENDFUNC-Prfung "lN- !Keine berlaufprfung  T***** Verwendete GEM-Konstanten **********************************************  Ereigniskonstanten M @ Fn@ ߀Ft@ ߀Ft@ ߀Ft @F@F@F@F@F@ F@ F@ F@ F @ (F@)F Fensterkonstanten   F @ ߀Ft@ ߀Ft@ Ft@ ߀Ft@ ߠFt@ Ft@ Ft@ ߀Ft@ ߐFt@ ߠFt@ ߰Ft @F @F@F@F@F@ F@! F@" F@# F@$ F@%F@&F @'F@(F@)F@*F Dialogkonstanten  + F@, ߀Ft@- ߀Ft@. Ft@/ ߀Ft0 Ft 1 F@2 Ft @3F @4F@5F T***** Reservierte Konstanten *************************************************  Bildschirmauflsung  @6 F@7 F@8 Ft@9 Ft *Fenstergrenzen und Gre des Cursors * 0#89 Fd@F ST niedrig @: F @;TF @<MF  @=F @>F  F ST mittel @: F @;F @<MF  @=F @>F  <FAlle anderen @:F @;F @<F  @=F @>F 4F T***** Reservierte globale Variablen ******************************************  Fenstergren  <GLOBAL wind_w_max&,wind_h_max&,wind_w_old&,wind_h_old& * Objekte edieren  6Die Bezeichner c1$ bis c5$ sind nicht reserviert!  4 0123456789FF 4 F&4ABCDEFGHIJKLMNOPQRSTUVWXYZF(4abcdefghijklmnopqrstuvwxyzFF d?GFn4B? F ?F  H F L9F9 nL9FnA pL9F a rL9F N rL9Fv n vL9_F f v"L9*:?_FyF z"L9.:\_F p z"L9*.:\_FP z d?GF L 9 B? FX P ?F9 GLOBAL cursor!,editable! X GLOBAL cursor_x&,cursor_y& P6GLOBAL te_ptmplt$,te_ptext$,te_pundo$,te_pvalid$  T***** Reservierte Subroutinen ************************************************  Wial-Bibliothek  4PROCEDURE wial_open(&,%,%,%,VAR &,&,&,&,&,&,&) *.PROCEDURE wial_close(&,%,VAR &,&,&,&,&,&) "PROCEDURE wial_do(&,%,VAR &) &(PROCEDURE wial_wind_do(&,%,VAR &,!) 2PROCEDURE wial_dial_do(&,%,&,&,&,&,&,VAR &,!) $PROCEDURE wial_scroll(&,%,&,&) &.PROCEDURE wial_draw_work(&,%,&,&,&,&,&,&) $PROCEDURE wial_set_sliders(&,%) *PROCEDURE wial_calc_cursor(%,VAR &,&)  T***** Konstanten *************************************************************  Dialogboxen  @@F  @AF @BF  Alertboxen  H F 6L9&[3][DETEKTOR.RSC nicht gelesen!][ Oh ]F2L9"[3][Kein Fenster mehr frei!][ Oh ]F0L9 [3][Pfad existiert nicht!][ Oh ]F8L9'[3][Kein Suchausdruck angegeben!][ Oh ]F*>L9-[3][Negativer Suchausdruck ohne|Bezug!][ Oh ]F*6L9&[3][Keine Dateimaske angegeben!][ Oh ]FVL9F[2][Drucker nicht bereit.|Weitere Vorgehensweise?][ Abbruch | Weiter ]F^L9N[2][Suche abgebrochen.|Weitere Vorgehensweise?][ Abbruch | Springen | Weiter ]F2L9"[3][Keine Dateien gefunden!][ Oh ]F T***** Globale Variablen ****************************************************** | Programmsteuerung  GLOBAL acc!,ende!,inf!,rsc! *GLOBAL appl_id&,ereignis&,i&,objekt& *GLOBAL inf_datei$  Sucheinstellungen  H F 6GLOBAL beachten!,datei!,drucker!,parallel!,wort! *,GLOBAL dmp_datei$,masken$,nicht$,suche$  Wial L >GLOBAL dialog_x&,dialog_y&,fenster_attr&,fenster_handle& *8GLOBAL fenster_x&,fenster_y&,fenster_w&,fenster_h& n(GLOBAL fenster_info$,fenster_name$ r T***** Subroutinen ************************************************************ | Hauptprogramm  PROCEDURE lies_inf_datei *"PROCEDURE objektauswertung(&) PROCEDURE lies_dialogbox gPROCEDURE suche PROCEDURE ende  FUNCTION anzeige$($) bFUNCTION fund!($)  Hilfsroutinen  PROCEDURE bell $ FUNCTION path$($) FUNCTION name$($) FUNCTION dir_exist!($) x T***** Variablen initialisieren *********************************************** | 0Dateinamen fr INF-Datei einmalig ermitteln  84BW  :  \DETEKTOR.INFF "Ein Wial mit allen Schikanen  *@CF 4 Der Detektor FF>44 Copyright (c) 1991 by Philip Kster - GFA-BASIC 3.0FF >Erste Positionierung des Wials soll automatisch erfolgen F @DFi@EFi@FFi@GFi @HFi@IFi T***** RSC-Datei lesen ******************************************************** | \FS 3 Kbyte reservieren  G  F  Resource einlesen  <#| DETEKTOR.RSC F FEDialogadressen ermitteln * H@߀ F d?G@݀F*~!?!? FF ?F! 8A F 8B F$F \FF T***** Accessory oder Programm? *********************************************** | @JЇFF<#J FF FFR*** Steuerung fr Accessory ************************************************ * &Accessory in Menleiste eintragen  ДJ! Der Detektor F Endlosschleife t FAuf ac_open warten o Fy F \  F  F"INF-Datei noch nicht gelesen?  FF$F Wial ffnen  .#C!!!!K!D!E!F!G!H!I F*  KF!FWial verwalten ! #K!!L F Objekt auswerten  #L Fs Fs Kein Programmende  <F 8FrKein Fenster mehr frei D F П! Fi$F 8FRSC-Datei nicht gelesen  FDП! Fe$F F 8FR*** Steuerung fr Programm ************************************************* * FeINF-Datei lesen  FD Wial ffnen  .#C!!!!K!D!E!F!G!H!I F*  KF!FWial verwalten ! #K!!L F Objekt auswerten  #L Fs Fs 8FKein Fenster mehr frei D F П! Fi$F 8FRSC-Datei nicht gelesen  FDП! Fe$F Programm beenden  Fr$F T***** Prozedur wial_open: Fenster ffnen, Dialogbox positionieren ************ | *M!!!!2N!O!P!Q!R!S!T FoU!V!W!X!Y!Z![FR Fensterausdehnung bestimmen  Jз!M!! !! !! !! !W!W!\!] Fi @\u8!\ F@]u9:!] FF B O݀P߀Q߀R߀F ,Fenster auf Maximalgre und zentrieren  &@O#8  #\ ݀ F.@P##9: ߀ #] ݀ :F: @Q\FF @R]FF $Bildschirm nicht berschreiten  &!:!8!9:!O!P!Q!R F 8F.Minimale Koordinaten nicht unterschreiten  @Ow!O FF@Pw:!P F .Maximale Koordinaten nicht berschreiten  @Ou6!O F@Pu7!P F (Minimale Gre nicht unterschreiten  @Qw;!Q F@Rw!d߀ FdF$F SFDelete Zeichen an Cursor lschen  4;!d >!d߀ F aFUndo "Alten String wiederherstellen  4 FF @dB F <FZeicheneingabe e 4 Ba F te_pvalid-Zeichen ermitteln  (4 ? !uB !d ! F$@D 9AaNnfFpPX! ߀F Datei- oder Pfadname?  $ ߀ݐFFNur Grobuchstaben  4  FF$F $te_pvalid-Zeichen ist bekannt? F  ݀Fs&Eingegebenes Zeichen ist erlaubt?   D ! F<F$F$F FZeichen ist gltig n Zeichen verarbeiten   dB Fi Cursor steht in Eingabefeld  ,Neuen String ermitteln und ggf. krzen e $4;!d  >!d F4;!B FF dF 8F!$Cursor steht hinter Eingabefeld  Nur letztes Zeichen setzen f !B ! E Ft$F 8FZeichen ist nicht gltig n 0Ggf. hinter Zeichen aus te_ptmplt springen e d?GB Fn ? !?! _FZhler erhhen  pFe@? !?!  Ft"Zeichen steht hinter Cursor? m  pdF2Leerzeichen einfgen, Zeile ab Cursor lschen  4;!d pd F @dpFF <F$F$F "Nur hchstens einmal springen  Fs ?Fs$F4F Neues Cursor-Objekt? s  e qF&ob_spec-Informationen beschaffen r 4ap!e XXF 4 FF 4 ap!e XXFn 4 ap!e XXFn $Ggf. Cursorposition korrigieren  @duB !d FF$F Cursorkoordinaten berechnen   #!s!t F  Scrolling erforderlich?   sXFNach links f  #N!!Xs! F$F  s=XZFNach rechts  $ #N!!#XZ #s= ! F$F  tYFNach oben   #N!!!Yt F$F  t>Y[FNach unten Y $ #N!!!#Y[ #t> F$F te_ptext gendert?   ap!e XXFp!e XCFX *Zu zeichnenden Bereich ermitteln ... s Й!e!! Fi@!e FF@!e FF ... und Objekt zeichnen  #N!!e!3!!!! F$F $Cursor einschalten und zeichnen  <F0#N!!W!!!!! F$F$F 8F!Buttonereignis  * b!c!!!X!Y!Z![ FObjekt suchen  @^И!!3!b!c F  6Informationen ber angeklicktes Objekt beschaffen  @z!^ FF@v!^ FF@y!^ FF Й!^!{!| Fa@}!^ FF@~!^ FF Objekt ist selectable? k  v+F Objekt ist nicht disabled? k  #y2 F #v/ FKein Radiobutton d (Warten, bis Mausbutton losgelassen e F !^ yF,Warten, bis Maus innerhalb des Objekts b `@`{!!!!!{!|!}!~!W!W!W!W!W!!W!W!W!W!W!W!W F 8F,Warten, bis Maus auerhalb des Objekts | `@`{!!!!!{!|!}!~!W!W!W!W!W!!W!W!W!W!W!W!W F$F  `Fselected-Bit tauschen  !^9!^ 1F #N!!^!3!{!|!}!~ F$F `F 8F`Radiobutton  Mutterobjekt ermitteln ! @x^FF F@x!x FF x^F @wxFF Objekt ist nicht selected? F  #y1 F$Alle Radiobuttons deselektieren  d?!w G!w F !? /F !? 1F!?9!? 1Fi Й!?!! Fi@!? FF@!? FF #N!!?!3!!!! F$F$F ?F! *Angeklickten Radiobutton selektieren ! !^9y1F #N!!^!3!{!|!}!~ F (Warten, bis Mausbutton losgelassen ! w!! F$F$F$F$F "Edierbares Objekt angeklickt?   v.FCursor lschen k 0#N!!W!!!!! F Cursor-Objekt merken  @qeFF &Ggf. neues Cursorobjekt festlegen  @e^FF Neues Cursor-Objekt? k  e qF&ob_spec-Informationen beschaffen  4ap!e XXF 4 FF 4 ap!e XXFn 4 ap!e XXFn$F &x-Position des Cursors bestimmen  @r#b{ =FF@dF= d?Gr݀Fs$ ? !?߀! _FdF?$F ?F Ggf. Cursor korrigieren  @duB !d FF Cursor zeichnen  0#N!!W!!!!! F$F Objekt ist exit?   v-F&Nur exit, wenn Objekt selektiert   !^ 1F<F$F$F Objekt ist touchexit?   v0FDoppelklick? u  _߀Ft15. Bit setzen  ^C-^! F$F Immer exit  <F$F$F$FF T***** Prozedur wial_scroll: Arbeitsbereich intelligent scrollen ************** W  N!!! Fs !!!!!!!!Fe!X!Y!Z![F! Dialogbox verschieben  !9! Fe!9! Fe *Arbeitsbereich des Fensters ermitteln  гN!!X!Y!Z![ F  <Zielkoordinaten und potentielles Quellraster ermitteln s @wX!X FF@wY!Y FF @wX!X FF@wY!Y FF@u8!Z( F@u9![( F *Zu zeichnenden Bereich initialisieren  @Fd@Fd@Fd@Fd *Quellraster schneidet Arbeitsbereich?  $ X!Y!Z![!!!! Fa&Quellraster schneidet Bildschirm?  * !!8!9!!!! FKopieren  *tV !!!!GV !!F *Zu zeichnenden Bereich neu berechnen F FnHorizontale Verschiebung u  Fe @XF 8F @XFF$F @YFF @ZF @[FF 8FFVertikale Verschiebung g  FV @YF 8F @YFF$F @XFF @ZFF @[F$F$F$F &Ausschnitt der Dialogbox zeichnen  $#N!!!3!!!! F  Schieber setzen  #N! FF T***** Prozedur wial_draw_work: Dialogbox und ggf. Cursor zeichnen ************ W N!!^!!!!! Fgs!t!!!X!Y!Z![F ж( F $Arbeitsbereich des Fensters ...  гN!!X!Y!Z![ F  .... und zu zeichnenden Bereich ermitteln u B ݀߀߀߀F*&Gesamten Arbeitsbereich zeichnen  @XFF @YFF @ZFF @[FF 8FF(Arbeitsbereich nicht berschreiten  X!Y!Z![!!!! F$F *Zu zeichnender Bereich ist sichtbar?  * !!8!9!!!! F(Ausschnitt der Dialogbox zeichnen?   ݀FoЗ!^!!!!! F$F Edierbare Objekte? ! FeCursor ist eingeschaltet?  Fs.Graffikkoordinaten des Cursors ermitteln   #!s!t Fn .Cursor schneidet zu zeichnenden Bereich?  @=FF @>FF $ !!!!s!t!! F?<Cursor zeichnen (Grafikeinstellungen werden verndert!)   Fzt!Fe XF ms!tF.!!݀!݀Fe$F$F$F$F ж' FF T***** Prozedur wial_set_sliders: Schieber berechnen und setzen *************** W N! Fu S!T!U!V!W!X!Y!Z![Fi $Arbeitsbereich des Fensters ...  гN!!X!Y!Z![ F  0... und Ausdehnung der Dialogbox ermitteln e @S! F@T! F@U! F@V! F Horizontalen ...  >дN! !p#XS #UZ  !W!W!W F*дN!%!p#ZU  !W!W!W F (... und vertikalen Schieber setzen W >дN!!!p#YT #V[  !W!W!W F*дN!&!p#[V  !W!W!W FF T***** Prozedur wial_calc_cursor: Cursorkoordinaten berechnen ***************** W  !2s!t Fa p!?F Й!e!s!t F_ Ggf. x-Koordinate erhhen  d?GB Fe ? !?! _FpF?$F pdFn ?Fd s#? =FnF T***** Prozedur lies_inf_datei: INF-Datei lesen, Dialogbox initialisieren ***** W F*?F* \Fr INF-Datei existiert? n  T FINF-Datei lesen  $I!M!F hM!FhM!FM! FM! F d?GFrhM!? Fr ?F M! FM! FM! FM!F 0MF 8F$Standardeinstellungen vornehmen  < F< F < F.4BW  :\DETEKTOR.DMPFP$F Dialogbox initialisieren  p! XCFp! XCF F!91F$F F9!91F$F d?GFF p!߰? XC? F ?F F!91F$F F9(p! XCDrucker (parallel)F 8F(p! XCDrucker (seriell) F$F F!91F$F &p! XCDatei:  FM <F \FF T***** Prozedur objektauswertung: Objektbergabe von wial_do auswerten ******** W L FF !?F !F (Applikation bernimmt Mauskontrolle  ж* F Objektnummer auswerten a 0dL (L FFSchliefeld sWial schlieen h #K!!D!E!F!G!H!I F<F F!Drucker-Button <  F FNur max. ein Ausgabegert  < F 8FxButton deselektieren e !9Fr2#K!!!!!!! F$F FDrucker-Port <  F (Objekt neu beschriften und zeichnen  Fe(p! XCDrucker (parallel)F 8F(p! XCDrucker (seriell) F$F 2#K!!!!!!! F FDatei-Button <  F FDatei auswhlen  4 *.*F F Ю!! F <OK angeklickt, Dateinamen angegeben und Pfad existiert?  4 F & ߀B  FdDateinamen ndern  4 FF &p! XCDatei:  Fd2#K!!!!!!! F 8F!  FPfad existiert nicht  F П! F$F < F$F$F Button bleibt selektiert?  FlNur max. ein Ausgabegert  < F 8Fx F &Drucker-Button wieder selektieren  !91F2#K!!!!!!! F$F Button deselektieren  !9Fr2#K!!!!!!! F$F FSichern-Button Dialogbox auslesen n  Fo INF-Datei schreiben  \Fe $O!M!F PM!FPM!FPM!7 FFPM!7 FF d?GFePM!? FF ?F PM!7 FFPM!7 FFPM!7 FFPM!F 0MF \F Button deselektieren B !9Fr2#K!!!!!!! F FStart-Button Dialogbox auslesen B  Fo "Kein Suchausdruck angegeben?   FFП! Fe <F$F (Negativer Suchausdruck ohne Bezug?   B F D![...] FFП! Fk <F$F$F Keine Dateimaske?   FFП! Fk <F$F Keine unsinnigen Eingaben?  FSuche starten  Fe$F Button deselektieren a !9Fr2#K!!!!!!! F4F .Applikation gibt Mauskontrolle wieder ab  ж) FF T***** Prozedur lies_dialogbox: Dialogbox auslesen **************************** W  F*?F* 4ap! XXF4ap! XXF < #! 1 F< #! 1 F 4FF d?GF1$L?9ap!ݰ? XX F4? FF ?F?F T***** Prozedur suche: Suche durchfhren ************************************** W F*!!Fu!!W!!!!!F!!!!!F!!!! Fh!!!!!F @Zuallererst Anzahl der zu untersuchenden Dateien ermitteln * \Fe 4FF B FMaske aus String holen z @D!, F F4;!߀ F4>!߀ F 8F! 4FF 4FF$F Dateien suchen  4@!' FKeine Diskettenlabels und Ordner  F.Datei ist nicht die geffnete Dump-Datei?  ( #  aX FZhler erhhen  Fe$F @FF FF FF \Fe FrGgf. Ausgabegert ffnen  FgDrucker ist nicht bereit?  FiParallele Schnittstelle  #^ # F?F#& П! ߀FF<F$F F F$O!M!LST:F$F 8FSerielle Schnittselle  #^ # FF#& П! ߀FF<F$F F F$O!M!AUX:F$F$F$F F$O!M!F$F F \FF .Stellen fr numerische Ausgabe berechnen  $@%1w߀! ߀F $Ausmae der Dialogbox ermitteln  С!!!! F Korrektur fr Umrahmung  FeFeFF "Dialogbox initialisieren ... l "! CFsSuchausdruck p! XCFDatei rp! XCFBytes r&p! XC0FtFundstellen c!9F0 ESC F ... und zeichnen E "О4!W!W!W!W!!!! F(З!!!!!8!9 F Suchen  $Ggf. Suchinformationen ausgeben    FPM!~" - "8FF PMF~(PM!Der Detektor (Version 1.0)FBPM!3Copyright (c) 1991 by Philip Kster - GFA-BASIC 3.0FF PMFPM!O!* F PMFPM! Suche: "FFPM! Aber nicht: "FF PMF >44[ ] als Wort [ ] Gro- und Kleinschreibung beachtenFF Fa!! EXF$F F!!! EXF$F PM!F PMFPM!O!* F$F 4FF B FMaske aus String holen r @D!, F F4;!߀ F4>!߀ F 8F! 4FF 4FF$F Dateien suchen  4@!' FKeine Diskettenlabels und Ordner  F$Dateinamen und -lnge ermitteln  4 aXF8pXF .Datei ist nicht die geffnete Dump-Datei?   #  FZhler erhhen F Fe $Dateinamen und -lnge anzeigen u 8p! XC  (! /! )F(З!!!!!8!9 F (p! XC!  BytesF(З! !!!!8!9 F ,Rahmen zeichnen, Balken initialisieren  (З! !!!!8!9 F! 9F Datei durchsuchen  $I!M!F <F8 F #N B FSpeicherplatz ist knapp?   G  FnSpeicher aurumen  G F$F DAnzahl der zu lesenden Zeichen ermitteln und an Puffer anhngen  ,@uO P !B F4_!M F $Form Feed in Puffer enthalten?  @D!B B Fe 0F FKein Form Feed Puffer in Zeile kopieren e 4FF 4FF &FeForm Feed am Anfang Zeile ist Leerstring d 4FF4>! F <F!Form Feed irgendwo Trennen  4;!߀ F4>!߀ F4F Zeilennummer erhhen F  Fe Zeile ist Fundstelle?    F Zhler erhhen und anzeigen  Fe p! XC F(З!!!!!8!9 F Ggf. Informationen ausgeben    F FDateinamen ausgeben  PMFmPM!FPM!B !- FF PMF <F$F $Zeilennummer und Zeile ausgeben  $PM!Zeile  ! :F .Zeilentext ist um zwei Zeichen eingerckt  B F B ݚFiPM! ";!M F4>!N F 8F!PM! "FF 4FF$F FF$F$F Neue Balkenbreite ermitteln  (@%ߠ#P O F "Nchstes Intervall erreicht?  2 #!  # ݀ FBalkenbreite setzen  ! 9F  FRahmen zeichnen  (З! !!!!8!9 F 8FBalken zeichnen  (З! !!!!8!9 F$F$F Esc gedrckt?   SB F<F$F Linke Maustaste gedrckt?  Ы!!!W Fr  ߀FrESC-Button angeklickt? t ( И!!3!! F<F$F$F Abbruch?  F Button selektieren  !91F(З!!!!!8!9 F (Warten, bis Mausbutton losgelassen F w!! F Weitere Vorgehensweise?  Fe@П! Fs Nicht Abbruch angeklickt?   ߀Fl<F Button deselektieren c !9Fr(З!!!!!8!9 F Springen?   ߀F<F$F$F$F F F 0MF$F Nur einmal springen  <F Nchste Datei suchen  @FF FD F FD F 8Ggf. Statistik ausgeben und Ausgabegert schlieen f   F PMFPM!O!* F PMFJPM!7" von "7" Dateien untersucht, "7" Fundstelle(n).FF 0MF7$F \F7 Suche ist beendet  2p! XC , Suche beendet (Taste)F(З!!!!!8!9 F Auf Tastendruck warten  FTvFT (Dialogbox vom Bildschirm entfernen F "О5!W!W!W!W!!!! F$F 8FKeine Dateien gefunden  FeП! Fn$FF T***** Prozedur ende: Speicher freigeben, Programm beenden ******************** W F*$Resource aus Speicher entfernen  }FoF Als dann ... S ЍF FF T***** Funktion anzeige$: Dateinamen fr Anzeige formatieren ****************** W (# FkFF Name  4 F Punkt in String enthalten? t @D!. F FAcht Zeichen vor Punkt e B4;!߀ ߀B;! >! F$F Ggf. Leerzeichen anfgen  4B F Laufwerk vorweg  4: :F HF,F T***** Funktion fund: Zeile ist Fundstelle? *********************************** W (# FklF%  F!?!Fo!!Fo Suche initialisieren Z Fi 4FF 8FF 4 FF$F Zeile durchsuchen  B F<F &Positiven Suchausdruck ermitteln n Fn(Gro- und Kleinschreibung beachten s 4FF 4FF 8FFNicht beachten s 4 FF 4 FF$F @D! FF F*Zeile enthlt positiven Suchausdruck e Als Wort?  F?.Zeichen links von Suchausdruck ermitteln ?  ߀Fu"@C?!߀! F 8F@F$F  ߀F<F$F F.Zeichen rechts von Suchausdruck ermitteln  @C?!B ! F   ߀F<F$F$F$F F&Negativer Suchausdruck angegeben?   B FAls Wort?  F?*Ggf. positiven Suchausdruck erweitern  d?B GB FFGgf. rechts erweitern  @C?!?! F   ߄F 4B F$F ߀F ?F h?߀IFGgf. links erweitern  @C?!?! F   ߄F 4B F$F ߀F ?F$F 0Bezug durch positiven Suchausdruck ersetzen  @D![...] F .4;!߀ >!ݠ F 0Negativer Suchausdruck in Zeile enthalten? F  D! Fu<F$F$F$F F"Alle Suchbedingungen erfllt l DF$F Suche geht ggf. weiter f 4>!߀ F 8F!0Zeile enthlt positiven Suchausdruck nicht F Ende der Suche o 4FF$F FF Nichts gefunden  DF,F T***** Prozedur bell: Klingelzeichen ausgeben ********************************* W F*LB "FFF T***** Funktion path$: Pfad aus Datei ***************************************** W (# FkH;!!\ Ft,F T***** Funktion name$: Name aus Datei ***************************************** W (# FkH>!!\  F,F T***** Funktion dir_exist: Prfen, ob Pfad existiert ************************** W (# FklF%   B FiLaufwerk angeschlossen?  $D,U !C ݂ F 8F"Datei oder Ordner existiert?  D#*.*!  Fi$F,F T****************************************************************************** W@@0X UUUWWWWw9b 0?q""""***@e 0 0 C:\*.*,D:\*.*,E:\*.*,F:\*.*,G:\*.*,H:\*.* 0 -1 0 C:\DETEKTOR.DMP ߀=J?Ȉh@?8  ӀVX UU Uuuwwwww5b/?/8,?""k@? 8?ppDGX5pXUUU݀h? x@? x? X UUWWWwwwb?-#""***?@? c \DDXX|XXUU]]]݀߀H  @?  W_ UUuwwwb ) '"'⢢@  @@DDTTUUUUUU݀H 訫@?| ???U_UUUUWWwwwB ' ****************************************************************************** ' ' Der Detektor (Version 1.0) ' ' Copyright (c) 1991 by Philip Kster ' Am Waldbad 13 ' 2122 Bleckede 6 ' Tel.: (05854) 404 ' ' GFA-BASIC 3.0 ' ' ****************************************************************************** ' ' 1. Der Detektor luft sowohl als echtes Fenster-Accessory als auch als ' GEM-Programm. Er sucht einen (wahlweise bedingten!) Ausdruck in mehreren ' Dateien und gibt die Suchergebnisse auf dem Drucker oder in einer Datei ' aus. ' ' 2. Der Detektor ist gleichzeitig ein umfangreiches Demonstrationsprogramm, ' in dem die Themen Accessory-Programmierung, Verwaltung von Fenstern ' (inklusive intelligentem Scrolling) und Dialogboxen sowie vor allem die ' Realisierung von "Wials" (Dialogboxen in Fenstern!) ausfhrlich und ' hoffentlich bersichtlich dokumentiert werden. ' ' ****************************************************************************** ' ' ***** Nur fr Interpreterbetrieb! ******************************************** ' ' Damit der bentigte Speicher ermittelt werden kann ' ' RESERVE 49152 ' ' Damit der Interpreter die Zusatzdateien findet ' ' CHDRIVE "D" ' CHDIR "D:\GFABASIC\DEVELOP\DETEKTOR" ' ' Praktisch fr den Direktmodus ' ' OPENW 0 ' ' ***** Compilerbefehle ******************************************************** ' $%0 !Fliekommadivisionen $*% !4-Byte-Multiplikationen $m49152 !48 KByte Speicherplatz $RC& !2-Byte-RC_INTERSECT-Parameter $U- !Kein STOP und EVERY/AFTER $I- !Kein Interrupt $S& !2-Byte-SELECT-CASE-Parameter $S< !SELECT-CASE kurz $E# !Fehlernummern angeben $P> !GFA-BASIC-Prozeduren $F< !Keine ENDFUNC-Prfung $N- !Keine berlaufprfung ' ' ***** Verwendete GEM-Konstanten ********************************************** ' ' Ereigniskonstanten ' mu_keybd_&=2^0 mu_button_&=2^1 mu_m1_&=2^2 mu_mesag_&=2^4 ' wm_redraw_&=20 wm_topped_&=21 wm_closed_&=22 wm_fulled_&=23 wm_arrowed_&=24 wm_hslid_&=25 wm_vslid_&=26 wm_sized_&=27 wm_moved_&=28 ' ac_open_&=40 ac_close_&=41 ' ' Fensterkonstanten ' LET name_&=2^0 close_&=2^1 full_&=2^2 move_&=2^3 info_&=2^4 size_&=2^5 uparrow_&=2^6 dnarrow_&=2^7 vslide_&=2^8 lfarrow_&=2^9 rtarrow_&=2^10 hslide_&=2^11 ' wc_border_&=0 ' wf_name_&=2 wf_info_&=3 wf_workxywh_&=4 wf_currxywh_&=5 wf_hslide_&=8 wf_vslide_&=9 wf_top_&=10 wf_firstxywh_&=11 wf_nextxywh_&=12 wf_hslize_&=15 wf_vslize_&=16 ' end_update_&=0 beg_update_&=1 end_mctrl_&=2 beg_mctrl_&=3 ' ' Dialogkonstanten ' LET selectable_&=2^0 default_&=2^1 exit_&=2^2 editable_&=2^3 rbutton_&=2^4 LET touchexit_&=2^6 ' LET selected_&=2^0 disabled_&=2^3 ' max_depth_&=8 ' fmd_start_&=0 fmd_finish_&=3 ' ' ***** Reservierte Konstanten ************************************************* ' ' Bildschirmauflsung ' x_max&=WORK_OUT(0) y_max&=WORK_OUT(1) w_max&=WORK_OUT(0)+1 h_max&=WORK_OUT(1)+1 ' ' Fenstergrenzen und Gre des Cursors ' SELECT (w_max&*h_max&) DIV 1000 CASE 64 !ST niedrig wind_y_min&=11 wind_w_min&=84 wind_h_min&=77 ' cursor_w&=8 cursor_h&=8 ' CASE 128 !ST mittel wind_y_min&=11 wind_w_min&=168 wind_h_min&=77 ' cursor_w&=8 cursor_h&=8 ' DEFAULT !Alle anderen wind_y_min&=19 wind_w_min&=133 wind_h_min&=133 ' cursor_w&=8 cursor_h&=16 ENDSELECT ' ' ***** Reservierte globale Variablen ****************************************** ' ' Fenstergren ' ' GLOBAL wind_w_max&,wind_h_max&,wind_w_old&,wind_h_old& ' ' Objekte edieren ' ' Die Bezeichner c1$ bis c5$ sind nicht reserviert! ' c1$="0123456789" c2$=" " c3$="ABCDEFGHIJKLMNOPQRSTUVWXYZ" c4$="abcdefghijklmnopqrstuvwxyz" ' FOR i&=128 TO 255 c5$=c5$+CHR$(i&) NEXT i& ' DIM te_pmask$(9) ' te_pmask$(0)=c1$ !9 te_pmask$(1)=c2$+c3$ !A te_pmask$(2)=c2$+c3$+c4$ !a te_pmask$(3)=c1$+c2$+c3$ !N te_pmask$(4)=c1$+c2$+c3$+c4$ !n te_pmask$(5)=c1$+c3$+c5$+"_" !f te_pmask$(6)=c1$+c3$+c5$+"*:?_" !F te_pmask$(7)=c1$+c3$+c5$+".:\_" !p te_pmask$(8)=c1$+c3$+c5$+"*.:\_" !P ' FOR i&=1 TO 255 te_pmask$(9)=te_pmask$(9)+CHR$(i&) !X NEXT i& ' ' GLOBAL cursor!,editable! ' GLOBAL cursor_x&,cursor_y& ' GLOBAL te_ptmplt$,te_ptext$,te_pundo$,te_pvalid$ ' ' ***** Reservierte Subroutinen ************************************************ ' ' Wial-Bibliothek ' ' PROCEDURE wial_open(&,%,%,%,VAR &,&,&,&,&,&,&) ' PROCEDURE wial_close(&,%,VAR &,&,&,&,&,&) ' PROCEDURE wial_do(&,%,VAR &) ' PROCEDURE wial_wind_do(&,%,VAR &,!) ' PROCEDURE wial_dial_do(&,%,&,&,&,&,&,VAR &,!) ' PROCEDURE wial_scroll(&,%,&,&) ' PROCEDURE wial_draw_work(&,%,&,&,&,&,&,&) ' PROCEDURE wial_set_sliders(&,%) ' PROCEDURE wial_calc_cursor(%,VAR &,&) ' ' ***** Konstanten ************************************************************* ' ' Dialogboxen ' dialogboxen&=2 ' dial_detektor&=0 dial_suche&=1 ' ' Alertboxen ' DIM alert$(8) ' alert$(0)="[3][DETEKTOR.RSC nicht gelesen!][ Oh ]" alert$(1)="[3][Kein Fenster mehr frei!][ Oh ]" alert$(2)="[3][Pfad existiert nicht!][ Oh ]" alert$(3)="[3][Kein Suchausdruck angegeben!][ Oh ]" alert$(4)="[3][Negativer Suchausdruck ohne|Bezug!][ Oh ]" alert$(5)="[3][Keine Dateimaske angegeben!][ Oh ]" alert$(6)="[2][Drucker nicht bereit.|Weitere Vorgehensweise?][ Abbruch | Weiter ]" alert$(7)="[2][Suche abgebrochen.|Weitere Vorgehensweise?][ Abbruch | Springen | Weiter ]" alert$(8)="[3][Keine Dateien gefunden!][ Oh ]" ' ' ***** Globale Variablen ****************************************************** ' ' Programmsteuerung ' ' GLOBAL acc!,ende!,inf!,rsc! ' GLOBAL appl_id&,ereignis&,i&,objekt& ' GLOBAL inf_datei$ ' ' Sucheinstellungen ' DIM masken$(3) ' ' GLOBAL beachten!,datei!,drucker!,parallel!,wort! ' GLOBAL dmp_datei$,masken$,nicht$,suche$ ' ' Wial ' ' GLOBAL dialog_x&,dialog_y&,fenster_attr&,fenster_handle& ' GLOBAL fenster_x&,fenster_y&,fenster_w&,fenster_h& ' GLOBAL fenster_info$,fenster_name$ ' ' ***** Subroutinen ************************************************************ ' ' Hauptprogramm ' ' PROCEDURE lies_inf_datei ' PROCEDURE objektauswertung(&) ' PROCEDURE lies_dialogbox ' PROCEDURE suche ' PROCEDURE ende ' ' FUNCTION anzeige$($) ' FUNCTION fund!($) ' ' Hilfsroutinen ' ' PROCEDURE bell ' ' FUNCTION path$($) ' FUNCTION name$($) ' FUNCTION dir_exist!($) ' ' ***** Variablen initialisieren *********************************************** ' ' Dateinamen fr INF-Datei einmalig ermitteln ' inf_datei$=CHR$(GEMDOS(25)+65)+":"+DIR$(0)+"\DETEKTOR.INF" ' ' Ein Wial mit allen Schikanen ' fenster_attr&=name_&+info_&+close_&+full_&+move_&+size_&+uparrow_&+dnarrow_&+vslide_&+lfarrow_&+rtarrow_&+hslide_& ' fenster_name$=" Der Detektor " fenster_info$=" Copyright (c) 1991 by Philip Kster - GFA-BASIC 3.0" ' ' Erste Positionierung des Wials soll automatisch erfolgen ' fenster_x&=-1 fenster_y&=-1 fenster_w&=-1 fenster_h&=-1 ' dialog_x&=-1 dialog_y&=-1 ' ' ***** RSC-Datei lesen ******************************************************** ' DEFMOUSE 2 ' ' 3 Kbyte reservieren ' RESERVE FRE(0)-3072 ' ' Resource einlesen ' rsc!=(RSRC_LOAD("DETEKTOR.RSC")<>0) ' IF rsc! ' Dialogadressen ermitteln ' DIM dial_adr%(dialogboxen&-1) ' FOR i&=0 TO dialogboxen&-1 ~RSRC_GADDR(0,i&,dial_adr%(i&)) NEXT i& ' detektor_adr%=dial_adr%(dial_detektor&) suche_adr%=dial_adr%(dial_suche&) ENDIF ' DEFMOUSE 0 ' ' ***** Accessory oder Programm? *********************************************** ' appl_id&=APPL_INIT() acc!=(appl_id&<>0) ' IF acc! ' *** Steuerung fr Accessory ************************************************ ' ' Accessory in Menleiste eintragen ' ~MENU_REGISTER(appl_id&," Der Detektor ") ' ' Endlosschleife ' DO ' Auf ac_open warten ' REPEAT ~EVNT_MESAG(0) UNTIL MENU(1)=ac_open_& ' IF rsc! ' INF-Datei noch nicht gelesen? ' IF NOT inf! lies_inf_datei ENDIF ' ' Wial ffnen ' wial_open(fenster_attr&,V:fenster_name$,V:fenster_info$,detektor_adr%,fenster_handle&,fenster_x&,fenster_y&,fenster_w&,fenster_h&,dialog_x&,dialog_y&) ' IF fenster_handle&>0 REPEAT ' Wial verwalten ' wial_do(fenster_handle&,detektor_adr%,objekt&) ' ' Objekt auswerten ' objektauswertung(objekt&) UNTIL ende! ' ' Kein Programmende ' ende!=FALSE ELSE ' Kein Fenster mehr frei ' bell ~FORM_ALERT(1,alert$(1)) ENDIF ELSE ' RSC-Datei nicht gelesen ' bell ~FORM_ALERT(1,alert$(0)) ENDIF LOOP ELSE ' *** Steuerung fr Programm ************************************************* ' IF rsc! ' INF-Datei lesen ' lies_inf_datei ' ' Wial ffnen ' wial_open(fenster_attr&,V:fenster_name$,V:fenster_info$,detektor_adr%,fenster_handle&,fenster_x&,fenster_y&,fenster_w&,fenster_h&,dialog_x&,dialog_y&) ' IF fenster_handle&>0 REPEAT ' Wial verwalten ' wial_do(fenster_handle&,detektor_adr%,objekt&) ' ' Objekt auswerten ' objektauswertung(objekt&) UNTIL ende! ELSE ' Kein Fenster mehr frei ' bell ~FORM_ALERT(1,alert$(1)) ENDIF ELSE ' RSC-Datei nicht gelesen ' bell ~FORM_ALERT(1,alert$(0)) ENDIF ' ' Programm beenden ' ende ENDIF ' ' ***** Prozedur wial_open: Fenster ffnen, Dialogbox positionieren ************ ' PROCEDURE wial_open(wind_attr&,wind_name_adr%,wind_info_adr%,dial_adr%,VAR wind_handle&,wind_x&,wind_y&,wind_w&,wind_h&,dial_x&,dial_y&) LOCAL dial_w&,dial_h&,dummy&,work_x&,work_y&,work_w&,work_h& ' ' Fensterausdehnung bestimmen ' ~WIND_CALC(wc_border_&,wind_attr&,OB_X(dial_adr%,0),OB_Y(dial_adr%,0),OB_W(dial_adr%,0),OB_H(dial_adr%,0),dummy&,dummy&,wind_w_max&,wind_h_max&) ' wind_w_max&=MIN(w_max&,wind_w_max&) wind_h_max&=MIN(h_max&-wind_y_min&,wind_h_max&) ' IF wind_x&=-1 AND wind_y&=-1 AND wind_w&=-1 AND wind_h&=-1 ' Fenster auf Maximalgre und zentrieren ' wind_x&=(w_max& DIV 2)-(wind_w_max& DIV 2) wind_y&=((h_max&-wind_y_min&) DIV 2)-(wind_h_max& DIV 2)+wind_y_min& wind_w&=wind_w_max& wind_h&=wind_h_max& ' ' Bildschirm nicht berschreiten ' ~RC_INTERSECT(0,wind_y_min&,w_max&,h_max&-wind_y_min&,wind_x&,wind_y&,wind_w&,wind_h&) ELSE ' Minimale Koordinaten nicht unterschreiten ' wind_x&=MAX(0,wind_x&) wind_y&=MAX(wind_y_min&,wind_y&) ' ' Maximale Koordinaten nicht berschreiten ' wind_x&=MIN(x_max&,wind_x&) wind_y&=MIN(y_max&,wind_y&) ' ' Minimale Gre nicht unterschreiten ' wind_w&=MAX(wind_w_min&,wind_w&) wind_h&=MAX(wind_h_min&,wind_h&) ' ' Maximale Gre nicht berschreiten ' wind_w&=MIN(wind_w_max&,wind_w&) wind_h&=MIN(wind_h_max&,wind_h&) ENDIF ' ' Fenster anmelden ' wind_handle&=WIND_CREATE(wind_attr&,0,0,0,0) !wind_x&,wind_y&,wind_w&,wind_h&) ' ' Hat geklappt? ' IF wind_handle&>0 IF wind_name_adr% ' Namen setzen ' ~WIND_SET(wind_handle&,wf_name_&,wind_name_adr% DIV 65536,wind_name_adr% MOD 65536,dummy&,dummy&) ENDIF ' IF wind_info_adr% ' Info setzen ' ~WIND_SET(wind_handle&,wf_info_&,wind_info_adr% DIV 65536,wind_info_adr% MOD 65536,dummy&,dummy&) ENDIF ' ' Fenster ffnen ' ~GRAF_GROWBOX(0,wind_y_min&,0,0,wind_x&,wind_y&,wind_w&,wind_h&) ~WIND_OPEN(wind_handle&,wind_x&,wind_y&,wind_w&,wind_h&) ' ' Dialogbox positionieren ' dial_w&=OB_W(dial_adr%,0) dial_h&=OB_H(dial_adr%,0) ' ~WIND_GET(wind_handle&,wf_workxywh_&,work_x&,work_y&,work_w&,work_h&) ' IF dial_x&=-1 AND dial_y&=-1 ' Dialogbox an Ursprung des Arbeitsbereichs setzen ' dial_x&=work_x& dial_y&=work_y& ELSE ' Ggf. Lage der Dialogbox korrigieren ' dial_x&=MIN(work_x&,dial_x&) dial_x&=MAX(work_x&+work_w&-dial_w&,dial_x&) ' dial_y&=MIN(work_y&,dial_y&) dial_y&=MAX(work_y&+work_h&-dial_h&,dial_y&) ENDIF ' OB_X(dial_adr%,0)=dial_x& OB_Y(dial_adr%,0)=dial_y& ' ' Schieber initialisieren ' wial_set_sliders(wind_handle&,dial_adr%) ENDIF RETURN ' ' ***** Prozedur wial_close: Fenster schlieen, Koordinaten zurckliefern ****** ' PROCEDURE wial_close(wind_handle&,dial_adr%,VAR wind_x&,wind_y&,wind_w&,wind_h&,dial_x&,dial_y&) ' Ausdehnung des Fensters ... ' ~WIND_GET(wind_handle&,wf_currxywh_&,wind_x&,wind_y&,wind_w&,wind_h&) ' ' ... und Lage der Dialogbox ermitteln ' dial_x&=OB_X(dial_adr%,0) dial_y&=OB_Y(dial_adr%,0) ' ' Fenster schlieen und abmelden ' ~WIND_CLOSE(wind_handle&) ~GRAF_SHRINKBOX(0,wind_y_min&,0,0,wind_x&,wind_y&,wind_w&,wind_h&) ' ~WIND_DELETE(wind_handle&) RETURN ' ' ***** Prozedur wial_do: Ggf. Cursor initialisieren, Ereignisse abwarten ****** ' PROCEDURE wial_do(wind_handle&,dial_adr%,VAR object&) LOCAL exit! LOCAL clicks&,dummy&,event&,i&,key&,mouse_x&,mouse_y& ' ' Edierbares Objekt suchen ' editable!=FALSE ' FOR i&=OB_HEAD(dial_adr%,0) TO OB_TAIL(dial_adr%,0) IF OB_FLAGS(dial_adr%,i&) AND editable_& editable!=TRUE ' ' Cursor noch nicht initialisiert oder Cursor-Objekt nicht mehr editable? ' IF (cursor_x&=0 AND cursor_y&=0) OR (OB_FLAGS(dial_adr%,cursor_y&) AND editable_&)=0 cursor_x&=32767 cursor_y&=i& ENDIF ' ' ob_spec-Informationen beschaffen ' te_ptext$=CHAR{{OB_SPEC(dial_adr%,cursor_y&)}} te_pundo$=te_ptext$ te_ptmplt$=CHAR{{OB_SPEC(dial_adr%,cursor_y&)+4}} te_pvalid$=CHAR{{OB_SPEC(dial_adr%,cursor_y&)+8}} ' ' Ggf. Cursorposition korrigieren ' cursor_x&=MIN(LEN(te_ptext$),cursor_x&) ENDIF ' EXIT IF editable! NEXT i& ' ' Edierbare Objekte? ' IF editable! ' Cursor einschalten und zeichnen ' cursor!=TRUE wial_draw_work(wind_handle&,dial_adr%,dummy&,-1,-1,-1,-1,-1) ENDIF ' REPEAT ' Ereignis abwarten ' event&=EVNT_MULTI(mu_keybd_&+mu_button_&+mu_mesag_&,2,1,1,dummy&,dummy&,dummy&,dummy&,dummy&,dummy&,dummy&,dummy&,dummy&,dummy&,0,dummy&,mouse_x&,mouse_y&,dummy&,dummy&,key&,clicks&) ' ' Nachrichtenereignis? ' IF event& AND mu_mesag_& SELECT MENU(1) CASE ac_open_& ' Da das Fenster zu diesem Zeitpunkt geffnet sein mu, gengt wf_top ' ~WIND_SET(wind_handle&,wf_top_&,dummy&,dummy&,dummy&,dummy&) ' CASE ac_close_& ' Diese Meldung sendet GEM zu jedem Programmstart bzw. -ende aus ' wial_close(wind_handle&,dial_adr%,dummy&,dummy&,dummy&,dummy&,dummy&,dummy&) exit!=TRUE ' DEFAULT !Fensterereignis ' Richtiges Fenster ist angesprochen? ' IF MENU(4)=wind_handle& wial_wind_do(wind_handle&,dial_adr%,object&,exit!) ENDIF ENDSELECT ENDIF ' ' Dialogereignis? ' IF (event& AND mu_keybd_&) OR (event& AND mu_button_&) wial_dial_do(wind_handle&,dial_adr%,event&,mouse_x&,mouse_y&,key&,clicks&,object&,exit!) ENDIF UNTIL exit! ' ' Edierbare Objekte? ' IF editable! ' Cursor lschen und ausschalten ' wial_draw_work(wind_handle&,dial_adr%,dummy&,-1,-1,-1,-1,-1) cursor!=FALSE ENDIF RETURN ' ' ***** Prozedur wial_wind_do: Fensterereignis auswerten *********************** ' PROCEDURE wial_wind_do(wind_handle&,dial_adr%,VAR object&,exit!) LOCAL dial_x&,dial_y&,dial_w&,dial_h&,dial_x_new&,dial_y_new&,dummy&,rect_x& LOCAL rect_y&,rect_w&,rect_h&,wind_x&,wind_y&,wind_w&,wind_h&,work_x&,work_y& LOCAL work_w&,work_h&,x_scroll&,y_scroll& ' ' Arbeits- und Gesamtbereich des Fensters ermitteln ' ~WIND_GET(wind_handle&,wf_workxywh_&,work_x&,work_y&,work_w&,work_h&) ~WIND_GET(wind_handle&,wf_currxywh_&,wind_x&,wind_y&,wind_w&,wind_h&) ' ' Ausdehnung der Dialogbox ermitteln ' dial_x&=OB_X(dial_adr%,0) dial_y&=OB_Y(dial_adr%,0) dial_w&=OB_W(dial_adr%,0) dial_h&=OB_H(dial_adr%,0) ' SELECT MENU(1) CASE wm_redraw_& ' Fensterausschnitt(e) zeichnen ' ' Erstes Rechteck aus Liste ' ~WIND_GET(wind_handle&,wf_firstxywh_&,rect_x&,rect_y&,rect_w&,rect_h&) ' WHILE rect_w&>0 AND rect_h&>0 ' Rechteck schneidet zu zeichnenden Bereich? ' IF RC_INTERSECT(MENU(5),MENU(6),MENU(7),MENU(8),rect_x&,rect_y&,rect_w&,rect_h&) wial_draw_work(wind_handle&,dial_adr%,0,max_depth_&,rect_x&,rect_y&,rect_w&,rect_h&) ENDIF ' ' Nchstes Rechteck aus Liste ' ~WIND_GET(wind_handle&,wf_nextxywh_&,rect_x&,rect_y&,rect_w&,rect_h&) WEND ' CASE wm_topped_& ' Fenster aktivieren ' ~WIND_SET(wind_handle&,wf_top_&,dummy&,dummy&,dummy&,dummy&) ' CASE wm_closed_& ' Kontrolle an Hauptprogramm zurckgeben ' object&=-22 exit!=TRUE ' CASE wm_fulled_& ' Fenster vergrern oder verkleinern ' IF wind_w&work_y&+work_h& wial_scroll(wind_handle&,dial_adr%,0,-MIN((dial_y&+dial_h&)-(work_y&+work_h&),y_scroll&)) ENDIF ' CASE 4 !Seite nach links wial_scroll(wind_handle&,dial_adr%,MIN(work_x&-dial_x&,work_w&),0) ' CASE 5 !Seite nach rechts wial_scroll(wind_handle&,dial_adr%,-MIN((dial_x&+dial_w&)-(work_x&+work_w&),work_w&),0) ' CASE 6 !Spalte nach links IF dial_x&work_x&+work_w& wial_scroll(wind_handle&,dial_adr%,-MIN((dial_x&+dial_w&)-(work_x&+work_w&),x_scroll&),0) ENDIF ENDSELECT ' CASE wm_hslid_& ' Horizontaler Schieber ' dial_x_new&=ROUND(work_x&-(MENU(5)*(dial_w&-work_w&)/1000)) ' IF dial_x_new&<>dial_x& wial_scroll(wind_handle&,dial_adr%,dial_x_new&-dial_x&,0) ENDIF ' CASE wm_vslid_& ' Vertikaler Schieber ' dial_y_new&=ROUND(work_y&-(MENU(5)*(dial_h&-work_h&)/1000)) ' IF dial_y_new&<>dial_y& wial_scroll(wind_handle&,dial_adr%,0,dial_y_new&-dial_y&) ENDIF ' CASE wm_sized_& ' Fenster auf neue Gre setzen, neuen Arbeitsbereich ermitteln ' wind_w&=MIN(wind_w_max&,MENU(7)) wind_w&=MAX(wind_w_min&,wind_w&) ' wind_h&=MIN(wind_h_max&,MENU(8)) wind_h&=MAX(wind_h_min&,wind_h&) ' ~WIND_SET(wind_handle&,wf_currxywh_&,MENU(5),MENU(6),wind_w&,wind_h&) ~WIND_GET(wind_handle&,wf_workxywh_&,work_x&,work_y&,work_w&,work_h&) ' ' Ggf. Dialogbox verschieben ' OB_X(dial_adr%,0)=MAX(dial_x&,work_x&+work_w&-dial_w&) OB_Y(dial_adr%,0)=MAX(dial_y&,work_y&+work_h&-dial_h&) ' IF wind_w&OB_HEAD(dial_adr%,0) FOR i&=cursor_y&-1 DOWNTO OB_HEAD(dial_adr%,0) IF OB_FLAGS(dial_adr%,i&) AND editable_& cursor_y&=i& ENDIF ' EXIT IF cursor_y&<>cursor_y_old& NEXT i& ENDIF ' CASE 20480 !Cursor runter ' Hheres edierbares Objekt suchen ' IF cursor_y&cursor_y_old& NEXT i& ENDIF ' CASE 19252 !Shift + Cursor links ' Cursor an Zeilenanfang ' cursor_x&=0 ' CASE 19766 !Shift + Cursor rechts ' Cursor an Zeilenende ' cursor_x&=LEN(te_ptext$) ' CASE 19200 !Cursor links ' Cursor nach links ' cursor_x&=MAX(0,cursor_x&-1) ' CASE 19712 !Cursor rechts ' Cursor nach rechts ' cursor_x&=MIN(LEN(te_ptext$),cursor_x&+1) ' CASE 3592 !Backspace ' Zeichen vor Cursor lschen ' IF cursor_x& te_ptext$=LEFT$(te_ptext$,cursor_x&-1)+MID$(te_ptext$,cursor_x&+1) DEC cursor_x& ENDIF ' CASE 21375 !Delete ' Zeichen an Cursor lschen ' te_ptext$=LEFT$(te_ptext$,cursor_x&)+MID$(te_ptext$,cursor_x&+2) ' CASE 24832 !Undo ' Alten String wiederherstellen ' te_ptext$=te_pundo$ cursor_x&=LEN(te_ptext$) ' DEFAULT ' Zeicheneingabe ' ascii$=CHR$(BYTE(key&)) ' ' te_pvalid-Zeichen ermitteln ' valid$=MID$(te_pvalid$,MIN(LEN(te_pvalid$),cursor_x&+1),1) valid&=INSTR("9AaNnfFpPX",valid$)-1 ' ' Datei- oder Pfadname? ' IF valid&>4 AND valid&<9 ' Nur Grobuchstaben ' ascii$=UPPER$(ascii$) ENDIF ' ' te_pvalid-Zeichen ist bekannt? ' IF valid&>-1 ' Eingegebenes Zeichen ist erlaubt? ' IF INSTR(te_pmask$(valid&),ascii$) valid!=TRUE ENDIF ENDIF ' IF valid! ' Zeichen ist gltig ' ' Zeichen verarbeiten ' IF cursor_x&cursor_x& ' Leerzeichen einfgen, Zeile ab Cursor lschen ' te_ptext$=LEFT$(te_ptext$,cursor_x&)+SPACE$(counter&-cursor_x&) cursor_x&=counter& ' jumped!=TRUE ENDIF ENDIF ' ' Nur hchstens einmal springen ' EXIT IF jumped! NEXT i& ENDIF ENDSELECT ' ' Neues Cursor-Objekt? ' IF cursor_y&<>cursor_y_old& ' ob_spec-Informationen beschaffen ' te_ptext$=CHAR{{OB_SPEC(dial_adr%,cursor_y&)}} te_pundo$=te_ptext$ te_ptmplt$=CHAR{{OB_SPEC(dial_adr%,cursor_y&)+4}} te_pvalid$=CHAR{{OB_SPEC(dial_adr%,cursor_y&)+8}} ' ' Ggf. Cursorposition korrigieren ' cursor_x&=MIN(LEN(te_ptext$),cursor_x&) ENDIF ' ' Cursorkoordinaten berechnen ' wial_calc_cursor(dial_adr%,graf_x&,graf_y&) ' ' Scrolling erforderlich? ' IF graf_x&work_x&+work_w& ' Nach rechts ' wial_scroll(wind_handle&,dial_adr%,(work_x&+work_w&)-(graf_x&+cursor_w&),0) ENDIF ' IF graf_y&work_y&+work_h& ' Nach unten ' wial_scroll(wind_handle&,dial_adr%,0,(work_y&+work_h&)-(graf_y&+cursor_h&)) ENDIF ' ' te_ptext gendert? ' IF te_ptext$<>CHAR{{OB_SPEC(dial_adr%,cursor_y&)}} CHAR{{OB_SPEC(dial_adr%,cursor_y&)}}=te_ptext$ ' ' Zu zeichnenden Bereich ermitteln ... ' ~OBJC_OFFSET(dial_adr%,cursor_y&,x&,y&) w&=OB_W(dial_adr%,cursor_y&) h&=OB_H(dial_adr%,cursor_y&) ' ' ... und Objekt zeichnen ' wial_draw_work(wind_handle&,dial_adr%,cursor_y&,max_depth_&,x&,y&,w&,h&) ENDIF ' ' Cursor einschalten und zeichnen ' cursor!=TRUE wial_draw_work(wind_handle&,dial_adr%,dummy&,-1,-1,-1,-1,-1) ENDIF ENDIF ELSE ' Buttonereignis ' IF RC_INTERSECT(mouse_x&,mouse_y&,1,1,work_x&,work_y&,work_w&,work_h&) ' Objekt suchen ' object&=OBJC_FIND(dial_adr%,0,max_depth_&,mouse_x&,mouse_y&) ' ' Informationen ber angeklicktes Objekt beschaffen ' ob_type&=OB_TYPE(dial_adr%,object&) ob_flags&=OB_FLAGS(dial_adr%,object&) ob_state&=OB_STATE(dial_adr%,object&) ' ~OBJC_OFFSET(dial_adr%,object&,ob_x&,ob_y&) ob_w&=OB_W(dial_adr%,object&) ob_h&=OB_H(dial_adr%,object&) ' ' Objekt ist selectable? ' IF ob_flags& AND selectable_& ' Objekt ist nicht disabled? ' IF (ob_state& AND disabled_&)=0 IF (ob_flags& AND rbutton_&)=0 ' Kein Radiobutton ' ' Warten, bis Mausbutton losgelassen ' REPEAT IF OB_STATE(dial_adr%,object&)=ob_state& ' Warten, bis Maus innerhalb des Objekts ' event&=EVNT_MULTI(mu_button_&+mu_m1_&,0,1,0,0,ob_x&,ob_y&,ob_w&,ob_h&,dummy&,dummy&,dummy&,dummy&,dummy&,0,dummy&,dummy&,dummy&,dummy&,dummy&,dummy&,dummy&) ELSE ' Warten, bis Maus auerhalb des Objekts ' event&=EVNT_MULTI(mu_button_&+mu_m1_&,0,1,0,1,ob_x&,ob_y&,ob_w&,ob_h&,dummy&,dummy&,dummy&,dummy&,dummy&,0,dummy&,dummy&,dummy&,dummy&,dummy&,dummy&,dummy&) ENDIF ' IF event& AND mu_m1_& ' selected-Bit tauschen ' OB_STATE(dial_adr%,object&)=OB_STATE(dial_adr%,object&) XOR selected_& wial_draw_work(wind_handle&,dial_adr%,object&,max_depth_&,ob_x&,ob_y&,ob_w&,ob_h&) ENDIF UNTIL event& AND mu_button_& ELSE ' Radiobutton ' ' Mutterobjekt ermitteln ' ob_next&=object& ' REPEAT ob_next&=OB_NEXT(dial_adr%,ob_next&) UNTIL ob_next&cursor_y_old& ' ob_spec-Informationen beschaffen ' te_ptext$=CHAR{{OB_SPEC(dial_adr%,cursor_y&)}} te_pundo$=te_ptext$ te_ptmplt$=CHAR{{OB_SPEC(dial_adr%,cursor_y&)+4}} te_pvalid$=CHAR{{OB_SPEC(dial_adr%,cursor_y&)+8}} ENDIF ' ' x-Position des Cursors bestimmen ' distance&=(mouse_x&-ob_x&) DIV cursor_w& cursor_x&=0 ' FOR i&=0 TO distance&-1 IF MID$(te_ptmplt$,i&+1,1)="_" INC cursor_x& ENDIF NEXT i& ' ' Ggf. Cursor korrigieren ' cursor_x&=MIN(LEN(te_ptext$),cursor_x&) ' ' Cursor zeichnen ' wial_draw_work(wind_handle&,dial_adr%,dummy&,-1,-1,-1,-1,-1) ENDIF ' ' Objekt ist exit? ' IF ob_flags& AND exit_& ' Nur exit, wenn Objekt selektiert ' IF OB_STATE(dial_adr%,object&) AND selected_& exit!=TRUE ENDIF ENDIF ' ' Objekt ist touchexit? ' IF ob_flags& AND touchexit_& ' Doppelklick? ' IF clicks&=2 ' 15. Bit setzen ' INT{V:object&}=BSET(object&,15) ENDIF ' ' Immer exit ' exit!=TRUE ENDIF ENDIF ENDIF RETURN ' ' ***** Prozedur wial_scroll: Arbeitsbereich intelligent scrollen ************** ' PROCEDURE wial_scroll(wind_handle&,dial_adr%,move_x&,move_y&) LOCAL dest_x&,dest_y&,draw_x&,draw_y&,draw_w&,draw_h&,srce_x&,srce_y&,srce_w& LOCAL srce_h&,work_x&,work_y&,work_w&,work_h& ' ' Dialogbox verschieben ' OB_X(dial_adr%,0)=OB_X(dial_adr%,0)+move_x& OB_Y(dial_adr%,0)=OB_Y(dial_adr%,0)+move_y& ' ' Arbeitsbereich des Fensters ermitteln ' ~WIND_GET(wind_handle&,wf_workxywh_&,work_x&,work_y&,work_w&,work_h&) ' ' Zielkoordinaten und potentielles Quellraster ermitteln ' dest_x&=MAX(work_x&,work_x&+move_x&) dest_y&=MAX(work_y&,work_y&+move_y&) ' srce_x&=MAX(work_x&,work_x&-move_x&) srce_y&=MAX(work_y&,work_y&-move_y&) srce_w&=MIN(w_max&-dest_x&,work_w&-ABS(move_x&)) srce_h&=MIN(h_max&-dest_y&,work_h&-ABS(move_y&)) ' ' Zu zeichnenden Bereich initialisieren ' draw_x&=-1 draw_y&=-1 draw_w&=-1 draw_h&=-1 ' ' Quellraster schneidet Arbeitsbereich? ' IF RC_INTERSECT(work_x&,work_y&,work_w&,work_h&,srce_x&,srce_y&,srce_w&,srce_h&) ' Quellraster schneidet Bildschirm? ' IF RC_INTERSECT(0,0,w_max&,h_max&,srce_x&,srce_y&,srce_w&,srce_h&) ' Kopieren ' RC_COPY XBIOS(2),srce_x&,srce_y&,srce_w&,srce_h& TO XBIOS(2),dest_x&,dest_y& ' ' Zu zeichnenden Bereich neu berechnen ' IF move_x& ' Horizontale Verschiebung ' IF move_x&<0 draw_x&=work_x&+srce_w& ELSE draw_x&=work_x& ENDIF ' draw_y&=work_y& draw_w&=work_w&-srce_w& draw_h&=work_h& ELSE ' Vertikale Verschiebung ' IF move_y&<0 draw_y&=work_y&+srce_h& ELSE draw_y&=work_y& ENDIF ' draw_x&=work_x& draw_w&=work_w& draw_h&=work_h&-srce_h& ENDIF ENDIF ENDIF ' ' Ausschnitt der Dialogbox zeichnen ' wial_draw_work(wind_handle&,dial_adr%,0,max_depth_&,draw_x&,draw_y&,draw_w&,draw_h&) ' ' Schieber setzen ' wial_set_sliders(wind_handle&,dial_adr%) RETURN ' ' ***** Prozedur wial_draw_work: Dialogbox und ggf. Cursor zeichnen ************ ' PROCEDURE wial_draw_work(wind_handle&,dial_adr%,object&,depth&,draw_x&,draw_y&,draw_w&,draw_h&) LOCAL graf_x&,graf_y&,graf_w&,graf_h&,work_x&,work_y&,work_w&,work_h& ' ~WIND_UPDATE(beg_update_&) ' ' Arbeitsbereich des Fensters ... ' ~WIND_GET(wind_handle&,wf_workxywh_&,work_x&,work_y&,work_w&,work_h&) ' ' ... und zu zeichnenden Bereich ermitteln ' IF draw_x&=-1 AND draw_y&=-1 AND draw_w&=-1 AND draw_h&=-1 ' Gesamten Arbeitsbereich zeichnen ' draw_x&=work_x& draw_y&=work_y& draw_w&=work_w& draw_h&=work_h& ELSE ' Arbeitsbereich nicht berschreiten ' ~RC_INTERSECT(work_x&,work_y&,work_w&,work_h&,draw_x&,draw_y&,draw_w&,draw_h&) ENDIF ' ' Zu zeichnender Bereich ist sichtbar? ' IF RC_INTERSECT(0,0,w_max&,h_max&,draw_x&,draw_y&,draw_w&,draw_h&) ' Ausschnitt der Dialogbox zeichnen? ' IF depth&>-1 ~OBJC_DRAW(dial_adr%,object&,depth&,draw_x&,draw_y&,draw_w&,draw_h&) ENDIF ' ' Edierbare Objekte? ' IF editable! ' Cursor ist eingeschaltet? ' IF cursor! ' Graffikkoordinaten des Cursors ermitteln ' wial_calc_cursor(dial_adr%,graf_x&,graf_y&) ' ' Cursor schneidet zu zeichnenden Bereich? ' graf_w&=cursor_w& graf_h&=cursor_h& ' IF RC_INTERSECT(draw_x&,draw_y&,draw_w&,draw_h&,graf_x&,graf_y&,graf_w&,graf_h&) ' Cursor zeichnen (Grafikeinstellungen werden verndert!) ' BOUNDARY 0 DEFFILL 1,1 GRAPHMODE 3 ' CLIP OFFSET graf_x&,graf_y& PBOX 0,0,graf_w&-1,graf_h&-1 ENDIF ENDIF ENDIF ENDIF ' ~WIND_UPDATE(end_update_&) RETURN ' ' ***** Prozedur wial_set_sliders: Schieber berechnen und setzen *************** ' PROCEDURE wial_set_sliders(wind_handle&,dial_adr%) LOCAL dial_x&,dial_y&,dial_w&,dial_h&,dummy&,work_x&,work_y&,work_w&,work_h& ' ' Arbeitsbereich des Fensters ... ' ~WIND_GET(wind_handle&,wf_workxywh_&,work_x&,work_y&,work_w&,work_h&) ' ' ... und Ausdehnung der Dialogbox ermitteln ' dial_x&=OB_X(dial_adr%,0) dial_y&=OB_Y(dial_adr%,0) dial_w&=OB_W(dial_adr%,0) dial_h&=OB_H(dial_adr%,0) ' ' Horizontalen ... ' ~WIND_SET(wind_handle&,wf_hslide_&,ROUND((work_x&-dial_x&)/(dial_w&-work_w&+0.1)*1000),dummy&,dummy&,dummy&) ~WIND_SET(wind_handle&,wf_hslize_&,ROUND((work_w&/dial_w&)*1000),dummy&,dummy&,dummy&) ' ' ... und vertikalen Schieber setzen ' ~WIND_SET(wind_handle&,wf_vslide_&,ROUND((work_y&-dial_y&)/(dial_h&-work_h&+0.1)*1000),dummy&,dummy&,dummy&) ~WIND_SET(wind_handle&,wf_vslize_&,ROUND((work_h&/dial_h&)*1000),dummy&,dummy&,dummy&) RETURN ' ' ***** Prozedur wial_calc_cursor: Cursorkoordinaten berechnen ***************** ' PROCEDURE wial_calc_cursor(dial_adr%,VAR graf_x&,graf_y&) LOCAL counter&,i& ' ~OBJC_OFFSET(dial_adr%,cursor_y&,graf_x&,graf_y&) ' ' Ggf. x-Koordinate erhhen ' FOR i&=1 TO LEN(te_ptmplt$) IF MID$(te_ptmplt$,i&,1)="_" INC counter& ENDIF ' EXIT IF counter&=cursor_x&+1 NEXT i& ' ADD graf_x&,(i&-1)*cursor_w& RETURN ' ' ***** Prozedur lies_inf_datei: INF-Datei lesen, Dialogbox initialisieren ***** ' PROCEDURE lies_inf_datei LOCAL i& ' DEFMOUSE 2 ' ' INF-Datei existiert? ' IF EXIST(inf_datei$) ' INF-Datei lesen ' OPEN "I",#1,inf_datei$ ' LINE INPUT #1,suche$ LINE INPUT #1,nicht$ INPUT #1,wort! INPUT #1,beachten! ' FOR i&=0 TO 3 LINE INPUT #1,masken$(i&) NEXT i& ' INPUT #1,drucker! INPUT #1,parallel! INPUT #1,datei! INPUT #1,dmp_datei$ ' CLOSE #1 ELSE ' Standardeinstellungen vornehmen ' drucker!=TRUE parallel!=TRUE ' datei!=FALSE dmp_datei$=CHR$(GEMDOS(25)+65)+":\DETEKTOR.DMP" ENDIF ' ' Dialogbox initialisieren ' CHAR{{OB_SPEC(detektor_adr%,3)}}=suche$ CHAR{{OB_SPEC(detektor_adr%,4)}}=nicht$ ' IF wort! OB_STATE(detektor_adr%,5)=selected_& ENDIF ' IF beachten! OB_STATE(detektor_adr%,7)=selected_& ENDIF ' FOR i&=0 TO 3 CHAR{{OB_SPEC(detektor_adr%,11+i&)}}=masken$(i&) NEXT i& ' IF drucker! OB_STATE(detektor_adr%,17)=selected_& ENDIF ' IF parallel! CHAR{{OB_SPEC(detektor_adr%,18)}}="Drucker (parallel)" ELSE CHAR{{OB_SPEC(detektor_adr%,18)}}="Drucker (seriell) " ENDIF ' IF datei! OB_STATE(detektor_adr%,19)=selected_& ENDIF ' CHAR{{OB_SPEC(detektor_adr%,20)}}="Datei: "+@anzeige$(dmp_datei$) ' inf!=TRUE ' DEFMOUSE 0 RETURN ' ' ***** Prozedur objektauswertung: Objektbergabe von wial_do auswerten ******** ' PROCEDURE objektauswertung(objekt&) LOCAL unsinnig! LOCAL button&,i& LOCAL pfad$,name$ ' ' Applikation bernimmt Mauskontrolle ' ~WIND_UPDATE(beg_mctrl_&) ' ' Objektnummer auswerten ' SELECT SGN(objekt&)*BYTE(ABS(objekt&)) CASE -22 !Schliefeld ' Wial schlieen ' wial_close(fenster_handle&,detektor_adr%,fenster_x&,fenster_y&,fenster_w&,fenster_h&,dialog_x&,dialog_y&) ende!=TRUE ' CASE 17 !Drucker-Button drucker!=NOT drucker! ' IF drucker! ' Nur max. ein Ausgabegert ' datei!=FALSE ELSE ' Button deselektieren ' OB_STATE(detektor_adr%,17)=0 wial_draw_work(fenster_handle&,detektor_adr%,17,0,-1,-1,-1,-1) ENDIF ' CASE 18 !Drucker-Port parallel!=NOT parallel! ' ' Objekt neu beschriften und zeichnen ' IF parallel! CHAR{{OB_SPEC(detektor_adr%,18)}}="Drucker (parallel)" ELSE CHAR{{OB_SPEC(detektor_adr%,18)}}="Drucker (seriell) " ENDIF ' wial_draw_work(fenster_handle&,detektor_adr%,18,0,-1,-1,-1,-1) ' CASE 19 !Datei-Button datei!=NOT datei! ' IF datei! ' Datei auswhlen ' pfad$=@path$(dmp_datei$)+"*.*" LET name$=@name$(dmp_datei$) ' ~FSEL_INPUT(pfad$,name$,button&) ' ' OK angeklickt, Dateinamen angegeben und Pfad existiert? ' pfad$=@path$(pfad$) ' IF button&=1 AND LEN(name$)>0 AND @dir_exist(pfad$) ' Dateinamen ndern ' dmp_datei$=@path$(pfad$)+name$ ' CHAR{{OB_SPEC(detektor_adr%,20)}}="Datei: "+@anzeige$(dmp_datei$) wial_draw_work(fenster_handle&,detektor_adr%,20,0,-1,-1,-1,-1) ELSE IF NOT @dir_exist(pfad$) ' Pfad existiert nicht ' bell ~FORM_ALERT(1,alert$(2)) ENDIF ' datei!=FALSE ENDIF ENDIF ' ' Button bleibt selektiert? ' IF datei! ' Nur max. ein Ausgabegert ' drucker!=FALSE ELSE IF drucker! ' Drucker-Button wieder selektieren ' OB_STATE(detektor_adr%,17)=selected_& wial_draw_work(fenster_handle&,detektor_adr%,17,0,-1,-1,-1,-1) ENDIF ' ' Button deselektieren ' OB_STATE(detektor_adr%,19)=0 wial_draw_work(fenster_handle&,detektor_adr%,19,0,-1,-1,-1,-1) ENDIF ' CASE 21 !Sichern-Button ' Dialogbox auslesen ' lies_dialogbox ' ' INF-Datei schreiben ' DEFMOUSE 2 ' OPEN "O",#1,inf_datei$ ' PRINT #1,suche$ PRINT #1,nicht$ PRINT #1,wort! PRINT #1,beachten! ' FOR i&=0 TO 3 PRINT #1,masken$(i&) NEXT i& ' PRINT #1,drucker! PRINT #1,parallel! PRINT #1,datei! PRINT #1,dmp_datei$ ' CLOSE #1 ' DEFMOUSE 0 ' ' Button deselektieren ' OB_STATE(detektor_adr%,21)=0 wial_draw_work(fenster_handle&,detektor_adr%,21,0,-1,-1,-1,-1) ' CASE 22 !Start-Button ' Dialogbox auslesen ' lies_dialogbox ' ' Kein Suchausdruck angegeben? ' IF suche$="" bell ~FORM_ALERT(1,alert$(3)) ' unsinnig!=TRUE ENDIF ' ' Negativer Suchausdruck ohne Bezug? ' IF LEN(nicht$) IF INSTR(nicht$,"[...]")=0 bell ~FORM_ALERT(1,alert$(4)) ' unsinnig!=TRUE ENDIF ENDIF ' ' Keine Dateimaske? ' IF masken$="" bell ~FORM_ALERT(1,alert$(5)) ' unsinnig!=TRUE ENDIF ' ' Keine unsinnigen Eingaben? ' IF NOT unsinnig! ' Suche starten ' suche ENDIF ' ' Button deselektieren ' OB_STATE(detektor_adr%,22)=0 wial_draw_work(fenster_handle&,detektor_adr%,22,0,-1,-1,-1,-1) ENDSELECT ' ' Applikation gibt Mauskontrolle wieder ab ' ~WIND_UPDATE(end_mctrl_&) RETURN ' ' ***** Prozedur lies_dialogbox: Dialogbox auslesen **************************** ' PROCEDURE lies_dialogbox LOCAL i& ' suche$=CHAR{{OB_SPEC(detektor_adr%,3)}} nicht$=CHAR{{OB_SPEC(detektor_adr%,4)}} ' wort!=(OB_STATE(detektor_adr%,5)=selected_&) beachten!=(OB_STATE(detektor_adr%,7)=selected_&) ' masken$="" ' FOR i&=0 TO 3 masken$(i&)=UPPER$(CHAR{{OB_SPEC(detektor_adr%,11+i&)}}) masken$=masken$+masken$(i&) NEXT i& RETURN ' ' ***** Prozedur suche: Suche durchfhren ************************************** ' PROCEDURE suche LOCAL abbruch!,dateiname!,springen! LOCAL alert&,balken&,dummy&,instr&,maus_x&,maus_y&,maus_k&,stellen& LOCAL suchergebnis&,x&,y&,w&,h&,zeichen& LOCAL bytes%,dateien%,fundstellen%,zaehler%,zeile% LOCAL ablage$,datei$,info$,maske$,puffer$,zeile$ ' ' Zuallererst Anzahl der zu untersuchenden Dateien ermitteln ' DEFMOUSE 2 ' ablage$=masken$ ' WHILE LEN(ablage$) ' Maske aus String holen ' instr&=INSTR(ablage$,",") ' IF instr& maske$=LEFT$(ablage$,instr&-1) ablage$=MID$(ablage$,instr&+1) ELSE maske$=ablage$ ablage$="" ENDIF ' ' Dateien suchen ' suchergebnis&=FSFIRST(maske$,&X100111) !Keine Diskettenlabels und Ordner ' WHILE suchergebnis&=0 ' Datei ist nicht die geffnete Dump-Datei? ' IF NOT (datei! AND @path$(maske$)+CHAR{FGETDTA()+30}=dmp_datei$) ' Zhler erhhen ' INC dateien% ENDIF ' suchergebnis&=FSNEXT() WEND WEND ' DEFMOUSE 0 ' IF dateien% ' Ggf. Ausgabegert ffnen ' IF drucker! ' Drucker ist nicht bereit? ' IF parallel! ' Parallele Schnittstelle ' WHILE (NOT OUT?(0)) AND (NOT abbruch!) bell IF FORM_ALERT(2,alert$(6))=1 abbruch!=TRUE ENDIF WEND ' IF NOT abbruch! OPEN "O",#2,"LST:" ENDIF ELSE ' Serielle Schnittselle ' WHILE (NOT OUT?(1)) AND (NOT abbruch!) bell IF FORM_ALERT(2,alert$(6))=1 abbruch!=TRUE ENDIF WEND ' IF NOT abbruch! OPEN "O",#2,"AUX:" ENDIF ENDIF ENDIF ' IF datei! OPEN "O",#2,dmp_datei$ ENDIF ' IF NOT abbruch! DEFMOUSE 2 ' ' Stellen fr numerische Ausgabe berechnen ' stellen&=INT(LOG10(MAX(1,dateien%)))+1 ' ' Ausmae der Dialogbox ermitteln ' ~FORM_CENTER(suche_adr%,x&,y&,w&,h&) ' ' Korrektur fr Umrahmung ' DEC x& DEC y& ADD w&,2 ADD h&,2 ' ' Dialogbox initialisieren ... ' CHAR{OB_SPEC(suche_adr%,5)}=suche$ !Suchausdruck CHAR{{OB_SPEC(suche_adr%,8)}}="" !Datei CHAR{{OB_SPEC(suche_adr%,11)}}="" !Bytes CHAR{{OB_SPEC(suche_adr%,14)}}="0" !Fundstellen OB_STATE(suche_adr%,15)=0 !ESC ' ' ... und zeichnen ' ~FORM_DIAL(fmd_start_&,dummy&,dummy&,dummy&,dummy&,x&,y&,w&,h&) ~OBJC_DRAW(suche_adr%,0,2,0,0,w_max&,h_max&) ' ' Suchen ' ' Ggf. Suchinformationen ausgeben ' IF drucker! OR datei! PRINT #2,DATE$;" - ";TIME$ PRINT #2 PRINT #2,"Der Detektor (Version 1.0)" PRINT #2,"Copyright (c) 1991 by Philip Kster - GFA-BASIC 3.0" PRINT #2 PRINT #2,STRING$(79,"*") PRINT #2 PRINT #2," Suche: ";suche$ PRINT #2,"Aber nicht: ";nicht$ PRINT #2 ' info$="[ ] als Wort [ ] Gro- und Kleinschreibung beachten" ' IF wort! MID$(info$,2,1)="X" ENDIF ' IF beachten! MID$(info$,16,1)="X" ENDIF ' PRINT #2,info$ PRINT #2 PRINT #2,STRING$(79,"*") ENDIF ' ablage$=masken$ ' WHILE LEN(ablage$) ' Maske aus String holen ' instr&=INSTR(ablage$,",") ' IF instr& maske$=LEFT$(ablage$,instr&-1) ablage$=MID$(ablage$,instr&+1) ELSE maske$=ablage$ ablage$="" ENDIF ' ' Dateien suchen ' suchergebnis&=FSFIRST(maske$,&X100111) !Keine Diskettenlabels und Ordner ' WHILE suchergebnis&=0 ' Dateinamen und -lnge ermitteln ' datei$=@path$(maske$)+CHAR{FGETDTA()+30} bytes%={FGETDTA()+26} ' ' Datei ist nicht die geffnete Dump-Datei? ' IF NOT (datei! AND datei$=dmp_datei$) ' Zhler erhhen ' INC zaehler% ' ' Dateinamen und -lnge anzeigen ' CHAR{{OB_SPEC(suche_adr%,8)}}=@anzeige$(datei$)+" ("+STR$(zaehler%,stellen&)+"/"+STR$(dateien%,stellen&)+")" ~OBJC_DRAW(suche_adr%,8,0,0,0,w_max&,h_max&) ' CHAR{{OB_SPEC(suche_adr%,11)}}=STR$(bytes%,10)+" Bytes" ~OBJC_DRAW(suche_adr%,11,0,0,0,w_max&,h_max&) ' ' Rahmen zeichnen, Balken initialisieren ' ~OBJC_DRAW(suche_adr%,9,0,0,0,w_max&,h_max&) OB_W(suche_adr%,10)=0 ' ' Datei durchsuchen ' OPEN "I",#1,datei$ ' dateiname!=FALSE zeile%=0 ' WHILE (NOT EOF(#1)) OR LEN(puffer$) ' Speicherplatz ist knapp? ' IF FRE()<4096 ' Speicher aurumen ' ~FRE(0) ENDIF ' ' Anzahl der zu lesenden Zeichen ermitteln und an Puffer anhngen ' zeichen&=MIN(LOF(#1)-LOC(#1),256-LEN(puffer$)) puffer$=puffer$+INPUT$(zeichen&,#1) ' ' Form Feed in Puffer enthalten? ' instr&=INSTR(puffer$,CHR$(13)+CHR$(10)) ' SELECT instr& CASE 0 !Kein Form Feed ' Puffer in Zeile kopieren ' zeile$=puffer$ puffer$="" ' CASE 1 !Form Feed am Anfang ' Zeile ist Leerstring ' zeile$="" puffer$=MID$(puffer$,3) ' DEFAULT !Form Feed irgendwo ' Trennen ' zeile$=LEFT$(puffer$,instr&-1) puffer$=MID$(puffer$,instr&+2) ENDSELECT ' ' Zeilennummer erhhen ' INC zeile% ' ' Zeile ist Fundstelle? ' IF @fund(zeile$) ' Zhler erhhen und anzeigen ' INC fundstellen% ' CHAR{{OB_SPEC(suche_adr%,14)}}=STR$(fundstellen%) ~OBJC_DRAW(suche_adr%,14,0,0,0,w_max&,h_max&) ' ' Ggf. Informationen ausgeben ' IF drucker! OR datei! IF NOT dateiname! ' Dateinamen ausgeben ' PRINT #2 PRINT #2,datei$ PRINT #2,STRING$(LEN(datei$),"-") PRINT #2 ' dateiname!=TRUE ENDIF ' ' Zeilennummer und Zeile ausgeben ' PRINT #2,"Zeile "+STR$(zeile%,10)+":" ' ' Zeilentext ist um zwei Zeichen eingerckt ' WHILE LEN(zeile$) IF LEN(zeile$)>77 PRINT #2," ";LEFT$(zeile$,77) zeile$=MID$(zeile$,78) ELSE PRINT #2," ";zeile$ zeile$="" ENDIF WEND ENDIF ENDIF ' ' Neue Balkenbreite ermitteln ' balken&=INT(320*(LOC(#1)/LOF(#1))) ' ' Nchstes Intervall erreicht? ' IF (OB_W(suche_adr%,10) DIV 32)<>(balken& DIV 32) ' Balkenbreite setzen ' OB_W(suche_adr%,10)=balken& ' IF balken&=0 ' Rahmen zeichnen ' ~OBJC_DRAW(suche_adr%,9,0,0,0,w_max&,h_max&) ELSE ' Balken zeichnen ' ~OBJC_DRAW(suche_adr%,10,0,0,0,w_max&,h_max&) ENDIF ENDIF ' ' Esc gedrckt? ' IF INKEY$=CHR$(27) abbruch!=TRUE ENDIF ' ' Linke Maustaste gedrckt? ' ~GRAF_MKSTATE(maus_x&,maus_y&,maus_k&,dummy&) ' IF maus_k&=1 ' ESC-Button angeklickt? ' IF OBJC_FIND(suche_adr%,0,max_depth_&,maus_x&,maus_y&)=15 abbruch!=TRUE ENDIF ENDIF ' ' Abbruch? ' IF abbruch! ' Button selektieren ' OB_STATE(suche_adr%,15)=selected_& ~OBJC_DRAW(suche_adr%,15,0,0,0,w_max&,h_max&) ' ' Warten, bis Mausbutton losgelassen ' ~EVNT_BUTTON(0,1,0) ' ' Weitere Vorgehensweise? ' bell alert&=FORM_ALERT(1,alert$(7)) ' ' Nicht Abbruch angeklickt? ' IF alert&<>1 abbruch!=FALSE ' ' Button deselektieren ' OB_STATE(suche_adr%,15)=0 ~OBJC_DRAW(suche_adr%,15,0,0,0,w_max&,h_max&) ' ' Springen? ' IF alert&=2 springen!=TRUE ENDIF ENDIF ENDIF ' EXIT IF abbruch! OR springen! WEND ' CLOSE #1 ENDIF ' ' Nur einmal springen ' springen!=FALSE ' ' Nchste Datei suchen ' suchergebnis&=FSNEXT() ' EXIT IF abbruch! WEND ' EXIT IF abbruch! WEND ' ' Ggf. Statistik ausgeben und Ausgabegert schlieen ' IF drucker! OR datei! PRINT #2 PRINT #2,STRING$(79,"*") PRINT #2 PRINT #2,zaehler%;" von ";dateien%;" Dateien untersucht, ";fundstellen%;" Fundstelle(n)." ' CLOSE #2 ENDIF ' DEFMOUSE 0 ' ' Suche ist beendet ' CHAR{{OB_SPEC(suche_adr%,14)}}=STR$(fundstellen%)+", Suche beendet (Taste)" ~OBJC_DRAW(suche_adr%,14,0,0,0,w_max&,h_max&) ' ' Auf Tastendruck warten ' bell ~EVNT_KEYBD() ' ' Dialogbox vom Bildschirm entfernen ' ~FORM_DIAL(fmd_finish_&,dummy&,dummy&,dummy&,dummy&,x&,y&,w&,h&) ENDIF ELSE ' Keine Dateien gefunden ' bell ~FORM_ALERT(1,alert$(8)) ENDIF RETURN ' ' ***** Prozedur ende: Speicher freigeben, Programm beenden ******************** ' PROCEDURE ende ' Resource aus Speicher entfernen ' ~RSRC_FREE() RESERVE ' ' Als dann ... ' ~APPL_EXIT() END RETURN ' ' ***** Funktion anzeige$: Dateinamen fr Anzeige formatieren ****************** ' FUNCTION anzeige$(datei$) LOCAL instr& LOCAL anzeige$ ' ' Name ' anzeige$=@name$(datei$) ' ' Punkt in String enthalten? ' instr&=INSTR(anzeige$,".") ' IF instr& ' Acht Zeichen vor Punkt ' anzeige$=LEFT$(anzeige$,instr&-1)+SPACE$(8-LEN(LEFT$(anzeige$,instr&-1)))+MID$(anzeige$,instr&) ENDIF ' ' Ggf. Leerzeichen anfgen ' anzeige$=anzeige$+SPACE$(12-LEN(anzeige$)) ' ' Laufwerk vorweg ' anzeige$=LEFT$(datei$)+":"+anzeige$ ' RETURN anzeige$ ENDFUNC ' ' ***** Funktion fund: Zeile ist Fundstelle? *********************************** ' FUNCTION fund(zeile$) $F% ' LOCAL fehler! LOCAL ascii&,i&,instr& LOCAL pos_ausdruck$,neg_ausdruck$,test$ ' ' Suche initialisieren ' IF beachten! test$=zeile$ ELSE test$=UPPER$(zeile$) ENDIF ' ' Zeile durchsuchen ' WHILE LEN(test$) fehler!=FALSE ' ' Positiven Suchausdruck ermitteln ' IF beachten! ' Gro- und Kleinschreibung beachten ' pos_ausdruck$=suche$ neg_ausdruck$=nicht$ ELSE ' Nicht beachten ' pos_ausdruck$=UPPER$(suche$) neg_ausdruck$=UPPER$(nicht$) ENDIF ' instr&=INSTR(test$,pos_ausdruck$) ' IF instr& ' Zeile enthlt positiven Suchausdruck ' ' Als Wort? ' IF wort! ' Zeichen links von Suchausdruck ermitteln ' IF instr&>1 ascii&=ASC(MID$(test$,instr&-1,1)) ELSE ascii&=0 ENDIF ' IF ascii&>32 fehler!=TRUE ENDIF ' IF NOT fehler! ' Zeichen rechts von Suchausdruck ermitteln ' ascii&=ASC(MID$(test$,instr&+LEN(pos_ausdruck$),1)) ' IF ascii&>32 fehler!=TRUE ENDIF ENDIF ENDIF ' IF NOT fehler! ' Negativer Suchausdruck angegeben? ' IF LEN(neg_ausdruck$) ' Als Wort? ' IF wort! ' Ggf. positiven Suchausdruck erweitern ' FOR i&=instr&+LEN(pos_ausdruck$) TO LEN(test$) ' Ggf. rechts erweitern ' ascii&=ASC(MID$(test$,i&,1)) ' IF ascii&<33 pos_ausdruck$=pos_ausdruck$+CHR$(ascii&) ENDIF ' EXIT IF ascii&>32 NEXT i& ' FOR i&=instr&-1 DOWNTO 1 ' Ggf. links erweitern ' ascii&=ASC(MID$(test$,i&,1)) ' IF ascii&<33 pos_ausdruck$=CHR$(ascii&)+pos_ausdruck$ ENDIF ' EXIT IF ascii&>32 NEXT i& ENDIF ' ' Bezug durch positiven Suchausdruck ersetzen ' instr&=INSTR(neg_ausdruck$,"[...]") ' neg_ausdruck$=LEFT$(neg_ausdruck$,instr&-1)+pos_ausdruck$+MID$(neg_ausdruck$,instr&+5) ' ' Negativer Suchausdruck in Zeile enthalten? ' IF INSTR(test$,neg_ausdruck$) fehler!=TRUE ENDIF ENDIF ENDIF ' IF NOT fehler! ' Alle Suchbedingungen erfllt ' RETURN TRUE ENDIF ' ' Suche geht ggf. weiter ' test$=MID$(test$,instr&+1) ELSE ' Zeile enthlt positiven Suchausdruck nicht ' ' Ende der Suche ' test$="" ENDIF WEND ' ' Nichts gefunden ' RETURN FALSE ENDFUNC ' ' ***** Prozedur bell: Klingelzeichen ausgeben ********************************* ' PROCEDURE bell PRINT CHR$(7); RETURN ' ' ***** Funktion path$: Pfad aus Datei ***************************************** ' FUNCTION path$(file$) RETURN LEFT$(file$,RINSTR(file$,"\")) ENDFUNC ' ' ***** Funktion name$: Name aus Datei ***************************************** ' FUNCTION name$(file$) RETURN MID$(file$,RINSTR(file$,"\")+1) ENDFUNC ' ' ***** Funktion dir_exist: Prfen, ob Pfad existiert ************************** ' FUNCTION dir_exist(path$) $F% ' IF LEN(path$)=3 ' Laufwerk angeschlossen? ' RETURN BTST(BIOS(10),ASC(UPPER$(path$))-65) ELSE ' Datei oder Ordner existiert? ' RETURN (FSFIRST(path$+"*.*",-1)=0) ENDIF ENDFUNC ' ' ****************************************************************************** ???? .<<<<<<<<<<<<<<<<<<| . .xxxxxxxxxxxxxx???????????????? .`FBAON`bNt&<x:<aZaV;@@ <r4<&<x:<aZaVx;@B <r4<&<x:<aZaVT;@D <r4<&<x:<aZpaV0;@F;|H;|J;|L;|N;|P;|R;|T;|V;|X;|(Z;|)\t&<x:<aZaU;@^ <r4<&<x:<aYaU;@` <r4<&<x:<aYaU;@b <r4<&<x:<aYaUh;@d <r4<&<x:<aYaUD;@f <r4<&<x:<aY`aU ;@h <r4<&<x:<aY2-ZHf-g-fN:n?-A /A //-HmHmHmHmHmHmHmN 0-o*?-/-/-N$m?N<-gQ`.NSx"m.NǒrN`NSx"m.NǒrN`<`-gN:n?-A /A //-HmHmHmHmHmHmHmN 0-o&?-/-/-N$m?N<-g`.NSx"m.NǒrN`NSx"m.NǒrNNOaZax$A퀤asZA퀠asRA퀜asJA퀘asBA퀔as:A퀐as2A퀌as*AHasnADasfA@as^A퀈as.A퀨asvA퀬asnA퀰asfA퀴as^A퀸asVA퀼asNAasF$mH RpNȰ/$mH RpNȴ/$mH RpNȸ/$mH RpNȼ*(&$m42-vaf>$m4$m4;C;D0-H2-Ho@;@0-H2-H4mo@;@$m0R@WHH/$m0R@gB$m0R@gB$m0R@WHHg0-aK&<x:<ao/??0-aK&<x:<ao8:&aHaJl$m40-H0maK,&<x:<ao/??0-aK&<x:<aoj8:&aHaJm$m4 m0 m0$m0$m>$m<$m:8-m6-4-ra~$m4$m4$m4$m4`$m0Hrl@$m4$m0H2-Hl@$m4$m0H2-Ho@$m4$m0H2-Ho@$m4$m0H2-Hl@$m4$m0H2-Hl@$m4$m0H2-Ho@$m4$m0H2-Ho@$m4xvpt$m2ac$m4$m0o0$m@ gB$m@ jr/$m@ rHAaQ/$m0$m:(&4-x$m2ac$mD gB$mD jr/$mD rHAaQ/$m0$m:(&4-z$m2ac<$m0$m>$m<$m:xv4-rad0$m0$m8$m6$m4$m2ac$mH RpNȸ$m4$mH RpNȼ$m40-|$m2ab$m4$m4$m4$m4$m0R@WHH/$m0R@WHHg"m m2"m m2`$m0H$m2Ho@$m4$m0H$m2H$m4RҊD$m2Hl@$m4$m0H$m2Ho@$m4$m0H$m2H$m4RҊD$m2Hl@$m4$m0r$mH RNh$m0r$mH RNl$m?$mH/N7`rdarA퀤amA퀠amA퀜amA퀘amA퀔amA퀐amAHamA퀌am0-~$m2aat$m4$m4$m4$m4$mH RpNȰ$m4$mH RpNȴ$m4$m0aaR$m0$m>$m<$m:xv4-rab$m0aa&`qaqAamAHamXA퀌am(A`ampAamhA퀰am`AamXA퀀amPAamHAam@Aam8Q $mH RpNȜ$m4$mH RpNȠad`$m0H$mH RNȨ2-HgP 0-WHH/0-gB0-H$mH RNȨ2-HJWHHg;| m;P0-H$mH RNx @ a[CadACad0-H$mH RNx @ (a[XCad^0-H$mH RNx @ (a[6Cad<0-H2-Ho@;@- f$mRR$m0koY- g(P!$m?$mH/$m?HxHx?pac$m2Hf,$m?$mH//-/-`N`mZgtm\g`0-@$mRH/0-B$mRHg8$m?$mH/$m?$m?$m?$m?$m?/-/-`NP$m`gT- g($m?$mH/$m?HxHx?/$m0$m>$m<$m:(&$"au$$m4$m4$m4$m4Jg0$m?$mH/Bg?-$m?$m?$m?$m?N4T0-$m2a[*$m4$m4$m4$m4$m0^HH/$m0^HHf,`6$m0$m:$m8$m64-$m2aZ`$m4$m`P`0-$mR^HH/0-$mR^HHg0->-$m<$m:$m8$m6$m4$m2a[P0-:-$m8$m64-~$m2aZ0-|$m2aZ.$m4$m4$m4$m4$m0H$m2H$m4RҊD$m2Hl@r$mH RNh$m0H$m2H$m4RҊD$m2Hl@r$mH RNl`x0-WHH/0-WHHg ;m;m0-:-$m8$m64-~$m2aY8$m0$m>$m<$m:8-6-$m4$m2aZ($m?$mH/N7`t$m4 ml $m4`$m4pa^`$m?$mH/Bg$m0H$m2H$m4Ro@?N0`^$m?$mH/Bg$m0H$m0RЈ$m2H$m4RҊDa>(/??$m0a>8:&awDBa=2?N0`B$m0$mRo4$m?$mH/Bg$m0H$m2H$m4Ro@?N0`l$m0H$m0RЈ$m2H$m4RҊl^$m?$mH/Bg$m0H$m0RЈ$m2H$m4RҊDa=^/??$m0a=8:&aw(DBaJg< @gj @g @g @g| @g @g @g@`F$m0a</??pa[j/$m0H$m0R"a<&<:<aAN8:&a8Nra:n$m4$m0$mܰRg$$m?$mH/$m0H$mR?BgN0`$m0a;|/??paZ/$m0H$m0R"a;x&<:<a@8:&a8TNra9$m4$m0$mRg$$m?$mH/Bg$m0H$mR?N0`2paZf2-Ho@$m4$m0H2-Hl@$m4paZ42-Ho@$m4$m0H2-Hl@$m4paZ/paY/$m0$m:(&4-~$m2aT0-|$m2aT8$m4$m4$m4$m4$m0H$m2H$m4RҊD$m2Hl@r$mH Ra~$m0H$m2H$m4RҊD$m2Hl@r$mH Ra~0-$mR^HH/0-$mR^HHg m;P m;P$m?$mH/N7`paX/paX/paX/paX*(&4-~$m2aSpaX$m0RЈ$m0Rr$mH Ra~paX$m0RЈ$m0Rr$mH Ra}`HmHgmJgmLgmNgmPgmRgְmTgXmVgڰmXgB`cBacA`a^Aa^Aa^Aa^Aa^Aa^Aa^AHa^A퀌a^Ada^Aha^Aa^Aa^Aa^A퀰a^Aa^A a^A퀀a^Aa^Aa^Aa^Aa^A a^A$a^zA(a^rA,a^jA0a^bA4a^ZA8a^RA퀴a^JA퀸a^BA퀼a^:Aa^2A$m0Hr f2$mH Rpa|L$m4$mH Rpa|>aU4`4$m0H$mH Ra|.2-Hg "m m2$m0f$mRR$m0koY$m0g:$m0H$mH Ra{2-H$m2H$mH Ra{$m0$mH"aP$m<4$m@4$m0H$mH Ra{$mD4$m0H$mH Ra{$mH4$m?$mH/$m??-$m$m<$m:xv$m4$m2aal$m4$m4$m4$m4Jg:$m0$m86-t$mH"aG$m4$m0H$mH Rar$m$4$m0H$mH Rar$m4$m0H$mH Rar$m 4$m0$mH"aG$m(4$m,4$m0H$mH Rarl$m04$m0H$mH RarX$m440-$mRg0-$m Rf0-$mRf$m0H$mH Rar$m 2Hf0-DHmB?BgBg$m(?$m,?$m0?$m4?$m?$m?$m?$m?$m?$m0H.,*(&t"aF$m4$m4$m4$m4$m4$m4$m4`0-DHmB?Bg?<$m(?$m,?$m0?$m4?$m?$m?$m?$m?$m?$m0H.,*(&t"aFB$m4$m4$m4$m4$m4$m4$m40-D$mRg`$m0H$mH Rap2-H$m2H$mH RapZ$m?$mH/$m??-$m(?$m,?$m0?$m4?N4T0-B$mRgJ`"m m2$m0H$mH Rap$$m4$m0$mRo"m m20-$m Rf$m0H$mH Rao$m4$m0H$mH RaoaH`$m0H$mH Rao2-Hg$m0H$mH Rao2-Hg$m0H$mH Rao/0-F$m2H$mH Rao0$m0$mH"aD$m<4$m@4$m0H$mH RaoV$mD4$m0H$mH RaoB$mH4$m?$mH/$m??-$mjCaGpACaGd0-H$mH Ram @ (a>CaG 0-H$m2H$m(4R@a0$m4Bm$mBRp$m4RЊaF~`&pr$m4RҊAaRjp_a?gRm$mRR$m0koY0-H2-Ho@;@$m?$mH/$m?HxHx?$mp<$ml:$m8$m6$m4$m2aX$ml4$mp4$mt4$mx4Jg2$mx0$mt>$mp<$ml:8-6-traX$ml4$mp4$mt4$mx4Jg?<NNT/?<NNT/$mX0$mT<*$mx8$mt6$mp4$ml2 _ad$mL0gR$mL0l$mt0H$mR$m\4` "m\ m2"m` m2$m0H$mtR$md4"mh m2`P$mP0l$mx0H$mR$m`4` "m` m2"m\ m2"md m2$m0H$mxR$mh4$m?$mH/Bg?-$m\?$m`?$md?$mh?N4T$m?$mH/N7`N>aNAhaIAdaIA`aIA\aIA|aIAaIAHaIA퀌aIAaIA aIA큀aIA큄aIA퀴aIA퀸aIA퀼aIAaI0-a=40-|$m2a=$m4$m4$m4$m4$m\0R@WHH/$m`0R@gB$md0R@gB$mh0R@WHHg*"m\ m2"m` m2"md m2"mh m2`L$mh0$md>$m`<$m\:$m8$m6$m4$m2aU$m\4$m`4$md4$mh4$mh0$md>$m`<$m\:8-6-traU$m\4$m`4$md4$mh4Jg$m|0R@o0$mh0$md<$m`:$m\8$m|6$m4H$mH"a<- g-!g$mH//-/- N9 m0 m0$m0$m>$m <$m:$mh8$md6$m`4$m\2aT$m4$m 4$m4$m4Jg@pa>6pa=pa=pa>$m 0$m2a>:p$mRv$mRtra<0-a;`KaKAHaGTA퀌aG$A퀠aGlA퀤aGdA퀨aG\A퀬aGTA퀰aGLA퀴aGDA퀸aGada/$m0$m:$m8&4-$m2a8$m0a/??$m0a8:&a$&<:<aada\/$m0$m:$m8&4-$m2a8@`IaIHA aD~AaDvAHaDAaDA퀀aD0-$mH"a8$m4$m 4$m40-aCa; mpaat @/A"a1 mpaa\ @/A"a1-"g0-r maa&-#g0-r maa$mBRp $m4RЊ maa @/$m8H"m4a`"a1$mRR$m0W@o-$g0-r ma`-%g" mpa` @/EpaC"a1B` mpa` @/E"paC"a1 -&g0-r ma`` mpa`j @/E4paCZ/HmNO"_a1N"a0Ppa8X`EaFA퀄aA\AlaAA큈aAA퀀aAAaAA aA0-a5$m0Hgkp`p/$m0HnD"a`2?-/-HmHmHmHmHmHmaP`@pJ-$gpFV$-$gQ&`$pr ma_b?-/-HxHxHxa`ppJ-%gpFV%-%g" mpa_< @/EpaB,"a/` mpa_ @/E"paB "a/?-/-HxHxHxa8`pJ-&gpFV&-&gHmNSE;pa1r"ma8pa?CaDRJfNSx"m.a[ra\L$mlPAaXJgNSx"m.aZra\&$mlP$mlfNBpr ma[?-/-HxHxHxa`0 @g @g @g& @g @g @g0-a0j`@aA*A퀀a< mpa[F @ a+Ca4 mpa[, @ a+Ca4 mpa[F2-HWHV" mpa[,2-HWHV#Aa> $mBRp $m4RЊ maZ @ a+pa1A"ma3 `p,a="maA$m4$m0g6p$m4RЊ ma="ma2p$m4RЊ ma>V"ma2` m"ma2 ma$m@<$m<:$m8$m6$m4$m20maC60-<-zxvt"-a+pJ-$gp"pJ-&gpg(pa3aD4a'bEpa2aDa'Jpa3a2pa3ECpa2pa3Ep3a2pa3za2pa3pp*a9rOa;a&pa3Za2`pa3PE]p a2Aa&pa36Eip a2rAa&pa3a2"Eup4 ma/*-"gpXa9Btr"maT-#gpXa9*tr"maTpa2 ma&fpa2a1pa2p*a8rOa;Ha&FA"ma.`p,a8"ma=r$m4$m0g6p$m4RЊ ma9"ma.p$m4RЊ ma:"ma.z` m"ma.l ma8p' ma $m4`/-NS/?</NATrЁa%&"_a%"ma.&?</NAT @ ($mL$pJ-&gp/A"ma&@Fg$mXR mpaTX @//-NO0< (a(V/$mX a&(*$m0Ha;,"_a%$p/a&8/$mP a&(*$m0Ha;"_a$p)a&"a$0-<-zxvt"-a) mp aS @/$mL aH&(*p a:Epa&X"a$20-<-zxvt "-a(0-<-zxvt "-a(pr maSV mra$mtQ$m\B`Ja7la7|pa.B/pa.$D/ m 0(HD"o@$m4p$m2aN"m a#"m a,np a6~p a$"m a;$m4$m0H`h m "m$a,> m a5`^ m$a5p m a7"m a,`Bp$m4RЊ m a7 "m$a+p$m4RЊ m a7"m a+` Jg @g`$m\R/-$NPJgR$mTR mpaR& @/$mT a a9"a"0-<-zxvt"-a'@pJ-$gp"pJ-&gpg$mtfJpa/&a.,pa/ ma"pa/ m0(H/p-a5B"a7a"pa.a-$mtPpa.Epa4v/$m\ a &(*p a8f"_a"^p:a#ra"D`\ m$0(@Mo0pa.0< a-pM m$a5a"pN m$a68"m$a*`pa.b0< a-h m$a! m$a4 m$0(fpa+a l/??pa+a \8:&a&<:<a a a f$m4 mp aPa (&<x:<a//??$m0a &<x:<a/d8:&agJ$m0r maPD$m0f0-<-zxvt "-a%v`0-<-zxvt "-a%\a2pa"g$mpPa%"$m4$m4$m4$m4$m0S@f&$m0$m86-t"-a$rf$mpP$mpg0-r maO0-<-zxvt"-a$ptra%6NSx"m.aNraO$m4$m0S@g:$mpQpr maO.0-<-zxvt"-a$t$m0U@f$mxPp$mpJgp"p$mxJgpfpa*PF/ m 0(Hfpa$mxQ?<ONAT$m4$mpf $m0g$mpf m0(fdpJ-$gp"pJ-&gpgxpa+a*pa+p*a2rOa4`a^pa+a*pa+$mX a+$m@<$m<:$m8$m6$m4$m20ma:`NSx"m.aLraM`2a34a"a:8a#(a`2a3Aa/:A큔a.A(a./-NS"m(a&p.a0"m(a5R$m4$m0gXp$m4RЊ m(a1/p$m4RЊ m(a1a/QDa4R"_a/$m0H m(a1"_a"m(a&6 m(0(r Da4"m(a"m(a& ma1 p:a"H m(ax"m(a% m(`3a20A$a.NA|a-A큰a-A퀀a-A큔a-A,a-A0a-A4a--#g m$"m4a%` m$a:"m4a%`$m|Q-#gA"m,a%hA"m0a%\` Aa:"m,a%JAa:|"m0a%: m,"m4a3$m4$m0g:-"g$m0S@o pr$m4RҊ m4a0a."$m4`$mBR$m0@ o$m|P$m|f: m,0(H$m0RЈ"p m4a0Ha-$m4$m0@ o$m|P$m|fz m00(gn-"g m,0(H$mR$m4 m40(a#`Tp$m2H m4a/a-h$m4$m0@!l$m0a.4"m,a"m,a$$m0@ n$mRR$m0koY$m0S@$m4`Vp$m2H m4a/fa,$m4$m0@!l$m0a-"H m,a"m,a#$m0@ n$mSR$m0S@lE>pa,"m0a2 $m4p$m4RЊ m0a.l"H m,a/p$m4RЊ m0a."_a"m0a#& m0"m4a1Jg$m|P$m|fp`/p$m4RЊ m4a."m4a"` m4a,~ m40(fTp`.a/pa%`.a/A8a+ p\a,"m8a0 m8a-`0Xa.A8a*p\a,"m8a0R m8a. `00a.AjDGGe GbFGNuG GbFGNu~Nu 24HjDBaDBNuBe B/dAрQ4<`BNutNu $HkBk Bj*DBNupNuDBBkBjDBDNuf gp`? 246jDCCe0 C/jC C@j C jr0H@{0>H@Nur{0Nu{0NutNu 246j(:<DCaf AfBfNu`a 00Nur$o, b4< J@k @[H@NuH@RBNu4<Ѐ[NuDg8k2 b4< J@k @[H@DBNuH@RBDBNu4<Ѐ[DBNu4H@Ѓdh`^HCH@:">H@`H2g&HCH@:<HC>H@Ѓd(`HCH@:H@r` gDBgkDE`HDBDEaBDBNugDBa8DBNutNua 11!Nux`xaR`aL` 24&8:HoHoEBJAgJDfr:g,|HC҅H@:ۆ<HC>H@Ѓd`vHCH@:H@`fgDBgkDE` DBDEaDBNugDBaDBNutNuHoHoEBz:g|HC҅H@:ۆ҄ۆ<HC>H@ЃdHA@B@H@хk HAҁHAрSB BbNuJBj^tNuk(g.JBjDBAр[SBDBjNutNuAр[SBkNuJlNu0gH@rJBkB JkЀ[`DBЀ[`J.;gP:pr4<Nup`<6 <r4<NupNJBktNu@AB`&8:~.gNa`&8:` &8:@ABJBgJEgJAfJ@f<jDFF Fdx.HGއQJGfjHGH??UGgkte <r4<` 24HL&8*a dgHL8a`L8aTJ_ k:NuH 24kBaL8a` lTJ_LkNuTJ_Lja&8* <r4<`HL aJBfL aVgLJBjDBa8L8a@a DBNuLJBjDBaL8a"`p`: 24?o4<&8: 3f AcDA@Aр[SBDBT`SBAрkfJAftTSWa>H&8:aH&0rHGGdHGGdSWDуdi?<>0rHGGdHGGdSWDуdi ?<>0rHGGdHGGdSWDуd&2 H@kփAр[SBkփejRAd RdQRBJjDBNutNu?<,>CEdGH@0r`xJCgz?<0rÐdSWЃdi?<0rÐdSWЃdid?<0ÐdSWЃd&2 H@kփAр[SBkփejRAd RdQRBJjDBNutNu?<0riR?0i?`?<`@$g\kdHfiHNufnpNupNu"lDaDNuJnDaDNuzxeҁ؄d`ef Nup`6@&gTkdHöfiH@HNugmNupNuz&lDaDNuJlDxeփ؄d`efNupN"_KMITO:HQ <-H*,`N,d d3 d# d# # d# # # # d ALH dAL H LH d AL`H L|0H>L|H>d~# # # # A`@ALH L|H>L|H>L|PH>L| H>L|H>L|H>L|H>L|`H>L|0H>L|H>QL|Nu$H$&"BA -KaXA"f B &nNuH>dd2d"d""d""""d LHC dLHLH C@d LHL|H| L|H|PCd~""""C`:LHL|H| L|H|PL|H|L|H|L|H|L|H|L|H|@L|H|pL|H|L|H|CQL|Nu`Na8A-Hhp apMa=@F?<NNTT@A0r p0Q`pdr ta0.F=@=@ACp,2QAp 2QaNa:``peahp`(p?a(arapaHz?< NA\?<LNAfCR2A0A82r22a "<f0<NBLNurt=@:=A@=B2::(   F..26"8@"PQ1!P1P!0PP`0  q#p"AӘQNuA Nu|^|  R^,T:Hz(` NgHz ?<&NN\Nu9gNuWNuaaa a O: n*NNuNuNupc?a0QNurdAd6Ag,B(dB(dH Ac<atgBAp`NuNu?<OA`d?<IA`Z0<H IaLt Ig Og Ug Ag Rg*afNup`ap`/0afHRaf>Er$Wgr STD:gr COM:g r LPT:f2FA$_0=@D~CA0< BhaB2"pNu$_AF Ge><QBAFpNuahgzp=` a\gzpaTaRFBd&8*L?a&<aSF Be BgQRB`RAdR e <rRF&0xaCձfEv+0JFjDFv-Hƌd0BFHF 0HF0ANuprt|`HQ2.d Aeg>r C 5e&!R 0c 9c0`<R"_`VC0 Ef"_Nuaa/ CFr  g 00VJAgB @ nN @mHJ@j0.4DBUBk0QSAg Q.`S@k 0`0BAF "_Nu.WAkQA 0g`prt|P;Q:  g +g -f .g40  b 0e 9b da6`RF` .f 0e 9b daSF` Eg efX +g -f 0e 9oSH`00  b&Hz0  b E Do`ZJjDDDS4<.a _aG` VNuag`af`ae `ac` acpNuadpNu/ ah$I> _a^4Ae4v` VfANuHP0(R@kBaD $I _a,IUd4Id4Id$Id `$$$$Q @JfNuNup `'naSAfNuag`af`ae `ac` acpNuadpNuaSAkfUANuH HPhkJa $I _aIUd4Id4Id$Id `$$$$Q @JgSL`QNup `&aNAf` VNuag`af`ae `ac` acpNuadpNua4@m4v` Vf@Nu/HP0(X@kHa $I _aIUd4Id4Id$Id `$$$$Q @Jf$Nu $Nup `&aYAfNuag`af`ae `ac` acpNuadpNuajSAkEF$p VfWANu?HP0(T@kHaP $I _a8IUd4Id4Id$Id `$$$$Q @Jf4Nu0XNup `%taUAfQNuag`af`ae `ac` acpNuadpNuaSAkXf SAkXfUANu|H`|i`|l@H~|`ze`z`zd@H>|`tth`tpa ".Nutj`t@H|`Trk` rf`rg`r5=@|0``A*p4. g=BNuao aШNupNuaJFoHPJhja?<?B?<BNAO _*kBg?/(?<BNAO Jk NuNafoazJBkAf`a|??/?<BNA.k \Hx?<BNAO [HHNux`x*0ao< 2fJjr`Nu~dGdEH<Nup`0@F@AJhg PLNu`LJg(HPBHh/??<@NAXLf ѨLNuJkp%`aJBja!| ??<>NAXOJkpNu0< aF`0< CF2p`p a0`p CFp`aCF"p`Hza `Hz"J`B.@=|DNua.@FpAR@C` @H` @HHyylaݠa"H`THyyl`Hyyl 24`@H` @HHyylahal"Hav`Hyyl`Hyyl 24`B.@=|DNuB.@ab=GDgNup`rJg$_a: HN$_a: HN$_aBHN$_a؄BpHN$_aB0HN$_axBpHN$_alN$_ab؄N$_aXN$_aPN$_aF 0HN$_a:؄00HHN$_a,p0HN$_a 24N$_a:p 0HgpN"X I"_(*UGk*<(؆QNp`p`p` p`pJPg`r$_a!HN$_a؄1HN$_aHN$_a 00N&8:` &8:@ABHaNL8aݒL8 DBa~L8O <jDFJEjDEFn ffAbtNu&8:a`&8:a` 246jDC C b H&<;)8<\:<aa!HatR/@L&4(g8HP b6 a^$_// Z4HQ`S@Q _Q _a, _Nua$`p`AFtЀvQBNuAFt0 9c^QBNuAFt 0QBNua`a`aCF 0gS JfS`@a Acr `@a A cr `@a\ A cr `Nk$H`HarLHP?.d=hdNk=_d2 "@$Y4Ad2`0Q @Nucc&$H0*a$RHd2Hd2Hd`""Q`@`r ??a"P02R@H`2Q Nu?AFBHP?<GNAPAF `r0?HQa _/ ?a0 _4gSB@cLAc4JBg,J@g4@Bo2’S@,. SB6VgS F"GQpNufJ@fSBD@BR@HNufS@kVfpNur ?HQa _/ ?a0 _4gSB@c:Ad,J@gB@BmS@,. RB6Vg(R F"GQpNufJ@fRB`fS@kVft0HNuaaJjtNuaHPa pJk NuCg.BJ@g  g &g, $g %gNlDNutNuRpt`2Rpt`Rptr ae OgX Xgn HgSRB ae Fb$0k  c_  c b退`tSHkaNuRB0 b b瀀`RB0 fрd`ap`ap`ap3BNu>.D<jRGg>VGg:TGjp`HPa0CF$IpR@  f _aHd2Hd2`"QNu`<.DHSGFaAEg f< &_Nua`VNu.dfaB=n`r>.D<jRGg:VGg&TGjp`H<.DaAFa$JkNup#`, z fa2a` z f a"arAFa  f#JkzNu0:g0.D<jRGg(VGgTGjp`<.Da&` z faa` z f aaAF "g pR@0 ,g  g  fHp`:pR@0  g  g "fR@0 ,g  g  fHpRU@"_  f#$H _al`QNupR@0 ,g"  g  fa~ (fR~Nua ~ `a~NuaJkHQ ! gRf _NuXX~Nu0j\@??<NMXJk .dgp Nu` <.DHSGFa ,g gAEf< &_Nu ."Ff +"g ,g`H~=H|=@p3`۾=A|aA09RyH@@-HtBe2QB p#`ۀa|A((@؆*.&|؆kD`&a,k.."*B(.&؅kr-K/.?<INA\/?<HNA\JgB n""n&ۮ&ۮ"$I`&bۛp0R@@b&n CXbؖ`^ .&/?<HNA\p=` 0HU2<.,HdY=ANu?<*NAT.p a Ha INu.k2@a.0H@av.`2H@af/0@aZ/Yda@HA``jAF gp gj g grffnnpenbfJ.fj6pRGFc$SG` J.fjpRGFcRF` Ff`> `?~ap a0p a*0Nu|``CpE`bf`FgRGJGgSGSFFgCpE`Yf`Nua@Jf gH@ fa(@ fza0 b @ Ee0NuagNu4.rf?HyaNM\Nu=|D`LjazEfpadppa`AFEg0PaEfaFRE`ܾEfp a@a8?nnnp a2RF`<annoS@f nhfSnl=Ah=FnNup` papq4.rf?HyahNM\Nu=|DHaLNu|A0"P2(@e2<EF`QHP=|DJ@g$abAF$HpR@ 0 f _a8`QNuHPp?ap a| _2<|0`C&pHQ/Hy@NA NuC pa:NuHQ/Hy?NA Nu&g4 Fga|gJAga2< R@AdSf0Nu0ajp Ce`&g4 Fga0JBjaHgPAe CbRa R@Sf0Nu FgRag JBja AeaJAg RP0 pNu` Fg6agJAga @eaRP Nup NHѨB?<?/?<BNAO JkLLNu&8abJBjazJAg Df*ڃkd0Nu DfրBH??/?<BNAO LJk!@NuHBHh Hx??<?NAO LJo ѨLNuk:fp`^k: g ѨNuBHPHQ/??<?NAO _JoѨfNuBHPHQS/??<@NAXLfѨNuJkp%`z 24&8:Bmn JBj efAc` b fAd 24Nu 24&8:Bnm JBj bfAd` e fAc 24Nu?/NT` pNuNHMAp f9kd n2!|v ||9"XLv:g 4zg*Ag61 cg Jg ;e, ]b& Te` Db; g fg  bJg fg fg,HC#0j ` Hx Dg;0LYBj@1BA gbШ dA gd BBdL@Nu wHHKMPPR g,g&y`pByXB@etAg1B# `\HCHSGDvg*1B f  f&< # XB@etAf&_`ACfgZ"HyNN#8.>"NN @A C#P B?< NA\#V/a?< NA\Aa0N PNuA#  x hg3&ACbg#P Nu?<"NNT @ :\g!@ HzR?<&NN\3Nua#fNuHz ?<&NN\NupACENrJg" XX\QNuACr g"XQ!AC³f NuHx`(Hx`"Hx`Hx`Hx`Hx` Hx`Hx !4VxH A3 Ni LHMO:|1R/:?< NAO:pdz`0/Ma`,_NNu?a0` ?a2@@a` a Nu4.`Af n2LR@RANu4.`g S@SAHNutbpbr??paRpYaL0aF0`@.dfNudg"J9kfa4fp`Hd`/9dg/9dg/9NupA-H=@|p4aβS@Nu[2][Programmstop?][Stop|Cont]pEgP`LJg&B.C`a8aD*9fap-I,=|p4aͶHz*9g ENp9`t _a &nO:NMITK$<Nu[1][Error +111][Return]E g g>Jf`Ar Hjr-D@Hd0H@H 0H@0CNuAF"H [1][fSEfNu>p b @?H@0-@P aHV n2MF-@-E B*BHHHJCo2JDo.4(=B=B&6=CC=C=C$tBft=B=B(,_NuD@v`v??NMXJNuJ@k??<NM"UAf J@fH@Nuaj&0fpNu\@`a`]@><CF Ipa<0HNua`]@><CF Ipa Nu?|`?a0R@f|0abHJFkHPa _Nupo`HSHP&I>g\SG??<NMXJk Q _t&_Nu&_`a JANuag `af`apNuapNuC`C``C` C`CJhfJfRRRRRRRHP? @CFH~8:E#P&<2 `b$bYEf`"RAf rЁЀ`&Ѐe "ЀeЁdp`JAkfgRer?DDЁaAaǀ8$HX :CFE` YEjT"_$P"2trDDd0d d d` QjNu`>aDa DNu na^ K"ng42 $`gk2&Hg Af deђ$`ebѐXf&nNu AgebѐA``-Kx$ n&$n""Hg8" &Ak cѐ S`g"" k#&Acё2+SAI3 Q&f-I"&nNu-Kx$&ր n&$n""HgR" k&Ac b S` S`g4" k#&AcbrkX`ޑ2+SAI3 Q&f-I"&nNu؄*؄؅CH`ږ؅X`$_  Ia(HR"H @`̘؄*؄؅AHNu؅X`$_ IaHR"H`4<H`@aL Z0De2SCkÐCo@c2`QNuA`A` A|`A@00HNuA `A`A|`A `A `a!@ NuAANua1 Nut`t`t`t`t`t `t`t`t`t`a ( Nua Nu@@Nura00HNur`r`r`r`r `r`r`r`r`zQ`z ` zn`z4=A|a-IHQB0a _JNuz"-A=B|a-I`H.gZ <r4<?k"SWga`TL8Haah40d`D6`Dʊrp@2Z2Z(xf<8(."4"J$0&0 z "&$vX$<rl .4*DR@R f\((@P$p0, $D& < x0H*Ё8.H؀ .`"H@H@B@Ё:.HڀNXN .\Ѐ4.HԀ .`"Ё6.Hր .\"H@H@B@Ё8.H؀ .`"ЀЁ:.HڀNX .\"Ё4.HԀ .`6.Hր .\"H@ H@B@ Ё8.$ ' SUCHAUSDRUCK________________________________________Suche: ________________________________________XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX________________________________________Aber nicht: ________________________________________XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXals WortGro- und Kleinschreibung beachtenDATEIMASKEN________________________________________________________________________________________________________XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX________________________________________________________________________________________________________XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX________________________________________________________________________________________________________XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX________________________________________________________________________________________________________XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXAUSGABEGERTDrucker (parallel)Datei: D:FILENAME.EXTSICHERNSTART Suche SUCHAUSDRUCK________________________________________DATEID:FILENAME.EXT (1234567890/1234567890)__________ BytesFUNDSTELLEN1234567890, Suche beendet (Taste)ESC$12 3\)0)5htu v55J5555S55 ,-<DEFST ~' "A 8 8 /24<E" 8 N  j5 44 4 8 @." '6-  A ,!,.,J U(  ,f & (    ,  ! #  6UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUWWuuWWuuwwwwwwww@@ @@ `h|>AON1Q2Eab$EaaaD ;@npaFXa;0-nfXE{p aS/N"NJBfa5NNfN <a9 @p(a*aVN/ <a9 @p(a*|aV2"_a>CaJp~Ahab$0<}aVC퀸aJ0<}aVC퀲aJtpaR"<}aTC퀾aJ\A퀸aREh +@Eh +@?<NATrAЁaRTp:a>/?<NATRaV"_a=lp\a>CaJp ~AVaajp ~Abaa^E|paQfx"mVadE|#paQPx"mVacE|4paQ:x"mVacE|EpaQ$x"mVacE|UpaQx"mVacE|jpaPx"mVacE|paPx"mVacE|qpaPx"mVacxE|paPx "mVacbE|paPCaP5`nx-"mbaZra.,paA}f*x-"mbaZ/A퀾  _a\"A퀾a?P5`E}:paGrC ta=R+Apa,`nx-"mbaZbra-paAh}f*x-"mbaZ@/A퀾  _a[A퀾a?P5`E}:paG(rC ta<+Apa,$`lx-"mbaYra-Lpa@}"f(p"raAvp2<}aVNC퀾a?LA퀾a?P5`E}:paFrC tax-"mbaYbra,x-"mbaYN/A퀲  _aZpa@L}fA퀲a>P5`HA퀲/ mNXLx+@P5pa+"`( @g` @g @gx @g @gHp-/x-"mbaX/Np("mbaXt`HBaHAaD|A aDtAaDlALaDAPaD0-H mfaYjVHR@f|` 0-H mfaYHVHR@f|Q4p-``pa7pa7pa6pa6pra7a-:aWl+A+B+C`NZHy NMXrUg`NHy NMXrQgpa7aWfSWHH/aWXUfp.aW(gp.aW,VHHgaW,SWHH/aWUfp. -"WHHgPaWUf P4NaV+A+B+CaVSga,^`NZHy NMXrUg`NHy NMXrQgpa6aVV+A+B+C -&-$-"-a4taVvSWHH/aVhUfp.aV8gp.aV/ < OK a?r"_ta4+A`V0-J@g(x-"mbaQ/A퀸 /0-H" _aR`&E}@pa>/ < OK a?Dr"_ta4L+A`a*pa:E}Vpa>*"H m a) <.LSTa,Na)pa:VE}mpa>"H m a)E}pa+pa)pa:*p'a>za)pa:E}pa9Ppa:p'a>Xa)xpa90Pa)fpa9E}p a9pa9E}pa9 pa90< a>"H m a):0<$=a,@"H m a)(E}pa*a)pa9 a>aNd+A+B+CpA퀸$-"-a/ aNSWHH/aNxUfp.aNHgp.aNLVHHgpA퀸$-"-a.aN:SWHH/aN,UWHHgt`>a>JaM+A+B+Cpa-.pa-8pra-< -Э&-֭$-"-a+aMSWHH/aMUfp.aMgp.aMVHHg -Э&-֭$-"-a+zpa,pa,pra,aMhSf@pa-pa-pa,pa, -Э&-֭$-"-a+pa,pa,aM UfXE}pa:r/E}pa:dr"_ta0 +A -`p +@`"p+@`p(+@` @g @g @g`ATa,aLh+A+B+CaLSWHH/aLUfp.aL^gp.aLbVHHgaLbSfhpa+ -.a+pra+pa+aL/aL&"a*^aL.SfaL?aL?pa*aLUfpa+8pa+Bpra+Fpa+aKUfXE}pa9D/E~ pa96r"_ta.+A -`p+@.`"p+@.`p+@.` @g @g @g`;|a;Aha7ATa7Aa7a@$mT$$mT B@H@$mhp$mh` N$`0Nv`(N` N` @Hg @Pg @Kg @MgaJr]HH/aKSWHHgN$aJ|^HH/aJSWHHgNvaJr]HH/aJSWHHgNaJxl^HH/aJSWHHgNaJtUWHH/p$mhSWHHg`::a: mx*<|~a,~?<NNT/?<NNT"@ <z _a m$<ra*`9a:. m(<*<,<~a,$?<NNT/?<NNT"@ <z _a4 mtra*,`9a9A퀾(<*<|~a+ m(<z|~a+ mt"<xa)A퀾tra)`9Ba9A퀾(<*<x|~a+ m(<*<|.<xa+f mtra)A퀾tra)`8a94Aa5vp.a6"ma;+@p\a6"ma;+@ - ma7p*a#/ - ma86"_a!Ca.A`:Ja8Aa5Ada4p\a6"ma;$$md4p$md4RЊ ma7"ma.6 m0(HY ma7N"ma. m`9a8h0<a680<a$h0<a$`CTa-0<a6CTa!:0<a$@CTa-p+@ aHA| 00A|a .a5CTa!CTa-R p lp+@ aHlA퀄 00A퀄a a5CTa CTa-bR p l0<a50<a#0<a#Ca-60<a5`Ca 0<a#Ca-p+@ aGA| 00A|a va5(Ca JCa,R p lp+@ aGA퀄 00A퀄a :a4Ca Ca,R p l`6a6praBpa8apraBa5Ha0 `6a60-H mfaG @/A6"a0-H mfaG @/A<"ad0-H mfaGd @/0-a ba7"a@0-H mfaG@ @/0-a >a7v"a0-H mfaG @/AB"a`5a6"Aa1Aa1$m $m RaG$m"$m RaF -z,-v*-r(-nv$m$$m"a"`5~a5B4mxHRHmfN) a `5`a5Aa1LA퀾a*$m a#+An+Br+Cv+Dz -z,-v*-r(-nvt$m"a"b`5a5VAa0Aa0p~g$$m $m RaFF$m"$m RaEA퀾a*`4a5 Bmx;|z;||;|~;|r;| ;| ;|;|;|;|;|;|;|;|!;|";|#;|$;|%;|*;|,;|.;|0;|2;|6;|7;|8;|9;|:`4a4VAa0A a0jA$a0bA(a0ZA,a0RA0a0JEi +@Ez +@-2g maE4a l`3`v mp0("Jf t`3`^ mp0(Э+@ mp0(;@ mp0( Э+@ mp0(;@a $m $$m$$$m0$$m0$ mp($m($ mp($m,$ m JWHH/ m gp.$m $m(gp.$m$ $m,VHHg m D/$m /$m$/$m(/$m,/N$( m $m0$ - m $m 0|큆$m$ 0|큆$m0 VHa&<x:<a`2H` <r4<`26a2|A,a."A(a.A$a.A a. A4a.AXa."A\a.A8a.`A`a. A @g @g$m\0H$m8 Ra>g$mXRR$mX0koY`-Ta-AHa)ADa)8A@a)0-2g"$mD $m@"a*$mH$a`-`$mHB$m@ ``@$mD R^HH/0-H$mD^HHgj$mD Э @ Э$mH$`N$mD R^HH/0-H$mD^HHg($mD Э @ Э$mH$` Jgx @g$mH VHHDa`,Xa aT 24&8:BgmpNu<ngfDdpNufAdpNupa JkpNupNua*AHPB?HQ?<NNAP _NuDExa`bDEa`ZaR11!Nua11!Nu 24&8:DE`6 24&8:DB`&a\&8:DE`DEx`aH` 24&8:HnghDBHngXDE~<En g6@ABDFGcGcGb8(vHDl`G8BCHC` GHD8HD쬵k&Dуd QRB BbJjDBNu DENupN֓DjdDA@ cAр[SBoJjDBNurptNuH@g0J`Ѐ[rGoJjDBNu0ftNu@[rB oH@JjDBNu $HkBk Bj*DBNupNuDBBkBjDBDNuf gp`a 00Nur$o, b4< J@k @[H@NuH@RBNu4<Ѐ[NuDg8k2 b4< J@k @[H@DBNuH@RBDBNu4<Ѐ[DBNu40rHGGdHGGdSWDуdi?<>0rHGGdHGGdSWDуdi2?<>0rHGGdHGGdSWDуd&2 H@kփAр[SBkփejRAd RdQRBJjDBNutNuCEdSW`?<,>CEdGeH@0r`fJCgz?<0rÐdSWЃdi?<0rÐdSWЃdid?<0ÐdSWЃd&2 H@kփAр[SBkփejRAd RdQRBJjDBNutNu?<0riP?0i?`?<`apEgP`LJg&B.C`a8aD*9fap-I,=|p4aHz*9g ENp9` _a &nO:NMI*K $<Nu[1][Error +111][Return]E~ g g>Jf`Ar Hjr-D@Hd0H@H 0H@0CNuAF"H [1][fSEfNu`HQ?< NA\Nu@$g\kdHfiHNufnpNupNu"lDaDNuJnDaDNuzxeҁ؄d`ef Nup`z@&gTkdHöfiH@HNugmNupNuz&lDaDNuJlDxeփ؄d`efNupN"_K MI*O:HQ <-H*,`N,/d d3 d# d# # d# # # # d ALH dAL H LH d AL`H L|0H>L|H>d~# # # # A`@ALH L|H>L|H>L|PH>L| H>L|H>L|H>L|H>L|`H>L|0H>L|H>QL|Nu$H$&"BA -KaXA"f B &nNuH>dd2d"d""d""""d LHC dLHLH C@d LHL|H| L|H|PCd~""""C`:LHL|H| L|H|PL|H|L|H|L|H|L|H|L|H|@L|H|pL|H|L|H|CQL|Nua`Np?a a?<LNA``NuNu`aza`aaaHA-Hhp alpMah=@F?<NNTT@A0r p0Q`pdr ta0.F=@=@ACp,2QAp 2Qaa`\`Xpea>pCR2Ad0A2r22aZ"<70<NBLNurt=@:=A@=B NuHz(` N7Hz ?<&NN\Nu9gNuWNu|^|  R^,T:&0D4(*<B$,>2::(   F..26"8@"PQ1!P1P!0PP`0  q#aaa na O: n*NNuNuNupc?a0QNurdAd6Ag,B(dB(dH Ao<atoBAp`NuNu?<OA`d?<IA`Z0<H IaLt Ig Og Ug Ag Rg,afNup`ap`"0afHRa>Er$Wgr STD:gr COM:g r LPT:f4FA$_0=@Dk"~CA0< BhaB2"pNu$_AF Ge><QBAFpNuafgzp=` aZgzpaTaRFBd&8*L?a2<aSF Be BgQRB`RAdR e <rRF&0xaCձfEv+0JFjDFv-Hƌd0BFHF 0HF0ANuprt|`HQ2.d Aeg>r C 5e&!R 0c 9c0`<R"_`VC0 Ef"_Nuaa/ CFr  g 00VJAgB @ nN @mHJ@j0.4DBUBk0QSAg Q.`S@k 0`0BAF "_Nu.WAkQA 0g`prt|P;Q:  g +g -f .g40  b 0e 9b da6`RF` .f 0e 9b daSF` Eg efX +g -f 0e 9oSH`00  b&Hz0  b E Do`ZJjDDDS4<.a$JFkSFk4arQa`&HaFFaZQ&8*L/a|,H܆jDBJ.:gtBn:Nu @$@JfS a`QNu$Aa`QBNuHza`HzaH `HPHQ0(ika $I _atIUd4Id4Id$Id `$$$$Q _Jf,aDId4Id4Id$Id `$$$$Q @NuSaIdIdId`Q @Nup `X/ a$I> _aԲG` VNuag`af`ae `ac` acpNuadpNu/ a$I> _a4Ae4v` VfANuHP0(R@kBav $I _a^IUd4Id4Id$Id `$$$$Q @JfNuNup `a SAfNuag`af`ae `ac` acpNuadpNuaSAkfJANuH HPhkJa $I _aIUd4Id4Id$Id `$$$$Q @JgSL`QNup `aAf` VNuag`af`ae `ac` acpNuadpNuaF4@m4v` Vf@Nu/HP0(X@kHa, $I _aIUd4Id4Id$Id `$$$$Q @Jf$Nu $Nup `HaYAfNuag`af`ae `ac` acpNuadpNuaSAkEF$p VfWANu?HP0(T@kHa $I _ajIUd4Id4Id$Id `$$$$Q @Jf4Nu0XNup `a&UAfQNuag`af`ae `ac` acpNuadpNuaSAkXf SAkXfJANuth`tpa ".Nutj`t@H|`rk` rf`rg`r5=@|0`ppM` pO`p`po`^~*@-AH|`Lt)`t` tr`t2`t@-A=B|`,H@-@|p` HAHBHCHDHEHFHG-HfAD-HH@-@H|p`rAD-@f-H `r6 @`0.bHNupNuz`z `z8.^n\Dn\@Hp tr=ED`Xn\n^n\n^A0000000000prt`&n\n^648HH`prt`n\n^n\n^8HH`prt`"_A `4RB`"_A42L\A` L0GF11Q-p`prHQ`Bp'rta n2rt6(SC0(S@apaB\papava0paRG=GYfx-IC=C=C$tBft=B=B(tFJ=BBBB*Do>Eo:@l6Al2DDk =DVBnDEk =EnBn@cVo Acno,_NuAH`/=@a _a H]Ak024E$ Bb5B5A6CC5CK5C:8AB0000DkxEkt00A<:d>:bSFSGFn\GnXDDk0BhDEk1EBh Fchh Gchh0hb"0hbpmrt-|FH-|FL`Nu-HN;?<NNT-@XDbDEbEBb=ET=DV-|PBLBp n20(L=CJ?=B^C=C\=Cj@drAdnED??RGRF=GF=FHtGJ=BltBft=B`=BnGOpЇЇ b na 222-IfHVMF,_Nup ` T np` h??/ a , > _a |4$FAFp_@[000][vx`* [g" ]g |g QSx` xQSrQ][vx`* [g" ]g |g QSx` xQStQ]BAF0-H,=@p4a62HNu 24DBaDB11!Nu 24DBa DBNu 24x6o<Ce(FC BdЄeNu B/dHDDdRdQRBNu&<:<`"g BbUC BcjNu BcHDDdSkg RBAрjNuNu0ftNuB H@"jNuE"ea ~"ep`&6NuE "e a \"d&&6NuE"e a >"d66NuE"e a ""d666NuE"e a "d6NuE"e a"df&66&6`N 24` ka~A&8:BgmpNu<ngfDbpNufAbpNu <}a$Ia `$XaH`aHR?<NNT @"_ <}Nua`QNuHg"cc/ 0)a _$PS@kH2QNu2(g$PRAA4DBH%$Y2Pg 1AHRAA%NuBhNupLADa4HTBnBL*Hd"aZHd"aRHd"aJHd"aBHdF n Dg"`.2.JWAARA0.L n.g hfRAS@f=AB"aNug//ANu@k AB00HNuX@g .NuAD Nuz`zA6C|IdXC |2:H<0`$6HpA2`A.p` A>`A*p4. g=BNuao aШNupNuaJFoHPJhja?<?B?<BNAO _*kBg?/(?<BNAO Jk NuNafoazJBkAf`a|??/?<BNA.k \Hx?<BNAO [HHNux`x*0ao< 2fJjr`~Nu~dGdEH<Nup`0@F@AJhg PLNu`LJg(HPBHh/??<@NAXLf ѨLNuJkp%`aJBja!| ??<>NAXOJkpNu0< aH`0< CF2p`:p a2`p CFp`&a CF"p`Hza`HyO&"J`B.@=|DNua.@FpAR@C` @H` @HHyO&aba"H`HyO&`HyO& 24`@H` @HHyO&a*a"Hav`tHyO&`HyO& 24`B.@=|DNuB.@a`=GDgNup`zJg$_a: HN$_a: HN$_aBHN$_a؄BpHN$_aB0HN$_axBpHN$_alN$_ab؄N$_aXN$_aPN$_aF 0HN$_a:؄00HHN$_a,p0HN$_a 24N$_a:p 0HgpN"X I"_(*UGk*<(؆QNp`p`p` p`pJPg`r$_a!HN$_a؄1HN$_aHN$_a 00N.@<.DAp$I"t Q k"RGef~`SG * g *fSG`<.DjZ\FkBJn`g Fgd Fg^HS&I.aQ`p???<NM\Qj&_NuHQ/?4(g8HP b6 a^$_// Z4HQ`S@Q _Q _a, _Nua$`p`؎AFtЀvQBNuAFt0 9c^QBNuAFt 0QBNua`a`aCF 0gS JfS`@a Acr `@a A cr `@a\ A cr `N=|$H`HarLHP?.d=hdN=|=_d2 "@$Y4Ad2`0Q @Nucc&$H0*a$RHd2Hd2Hd`""Q`@`r ??a"P02R@H`2Q Nu<>Hz?<&NN\`t n2LLJFj|@c<JGj~Ac>02 h|N n2HHNu80a|DHz ?<&NN\Nu| n2 h N n21@Nu?AFBHP?<GNAPAF `Hr0?HQa _/ ?a 0 _4gSB@cLAc4JBg,J@g4@Bo2’S@,. SB6VgS F"GQpNufJ@fSBD@BR@HNufS@kVfpNuaaJjtNuaHPa pJk NuCg.BJ@g  g &g, $g %gN> NutNuRpt`2Rpt`Rptr ae OgX Xgn HgSRB ae Fb$0k  c_  c b退`tSHkaѢNuRB0 b b瀀`RB0 fрd`?<`Bg/0ao< 2JjJAfr`0TNu=A|aNA09RyH@@-HtBe2QB p#`H XXHPa/ oH!_ LxNu/LNu2(gbc  P"H`Nu/0Ha2  _ PSAvjx E(Wf* ae zb Q @Nupagp?<?NMX"NuBnp`pBnp`p=| p|=Fn@=@b=n`ranHj=Ah~`:a JfBH@ RfF.f Kg" Mg sg tg Pg Hf~`xSGjtRGFcn>`jAF gp gj g grffnnpenbfJ.fj6pRGFc$SG` J.fjpRGFcRF` Ff`> `?~ap a0p a*0Nu|``CpE`bf`FgRGJGgSGSFFgCpE`Yf`Nua@Jf gH@ fa(@ fza0 b @ Ee0NuagNu4.rf?HyaZNM\Nu=|D`LjazEfpadppa`AFEg0PaEfaFRE`ܾEfp a@a8?nnnp a2RF`<annoS@f nhfSnl=Ah=FnNup` papq4.rf?HyaNM\Nu=|DHaLNu|A0"P2(@e2<EF`QHP=|DJ@g$abAF$HpR@ 0 f _a`QNuHPp?ap a _2<|0`C&pHQ/Hy@NA NuC pa:NuHQ/Hy?NA Nu&g4 FgagJAga2< R@AdSf0Nu0ap Ce`&g4 FgahJBjagPAe CbRa R@Sf0Nu FgRa0g JBjaBAeaJAg RP0 pNu` Fg6agJAga @eaRP Nup NHѨB?<?/?<BNAO JkLLNu&8aJBjaJAg Df*ڃkd0Nu DfրBH??/?<BNAO LJk!@NuHBHh Hx??<?NAO LJo ѨLNuk:fp`^k: g ѨNuBHPHQ/??<?NAO _JoѨfNuBHPHQS/??<@NAXLfѨNuJkp%`μB9`$H Ea&A AerQBL@͉H Ia"H _/ aa _/ ?aAF-H AerQB2"_A&-H A e ` \gQBa9gaZe -|p[`pZajajAF"H0.g "Hg \f`A&fS !.gR EF _a(`QNuHz?<&NN\ @Nu x NuA@Bh`A@a n@!|}Nup#fp{Nup`p`#Nu?a0` ?a2@@a` a Nu4.`Af n2LR@RANu4.`g S@SAHNutbpbr??pahpYab0a\0`VD@v`v??NMXJNuJ@k??<NM"UAf J@fH@Nuajh0fpNu\@`ax`]@><CF Ipa<0HNua\`]@><CF Ipa Nu?|`?a:0R@f|0aHJFkHPa _Nupo`>HSHP&I>g\SG??<NMXJk Q _t&_Nu&_`aJANuag `af`apNuapNuC`C``C` C`C-KJhfJfRRRRRRRHP? @CFH~8:E#P&<2 `b$bYEf`"RAf rЁЀ`&Ѐe "ЀeЁdp`RJAkfgRer?DDЁaAa8$HX :CFE` YEjT"_$P"2trDDd0d d d` QjNu`ʾaDa DNu na^ K"ng42 $`gk2&Hg Af deђ$`ebѐXf&nNu AgebѐA``-Kx$ n&$n""Hg8" &Ak cѐ S`g"" k#&Acё2+SAI3 Q&f-I"&nNu-Kx$&ր n&$n""HgR" k&Ac b S` S`g4" k#&AcbrkX`ޑ2+SAI3 Q&f-I"&nNuaT n2L6(n\n^HHHNua4 n20(n\HNua" n20(n^HNua n20(HNu`avNu؄*؄؅CH`尘؅X`$_  IaDYHR"H @`ʘ؄*؄؅AHNu؅X`$_ IaYHR"H` n{d$HJf-HS Nup"`ȒHPa _a`QNua JH aL0Nua`Ća!@ NuAANua1 Nut`t`t`t`t`t `t`t`t`t`a ( Nua Nu@@Nura00HNur`r`r`r`r `r`r`r`r`zQ`z ` zn`z4=A|aB-IHQB0a _JNuz"-A=B|a-I`#h:HrYa pYaLapY`Ю 9h:/rYapYa4Hyp?o?<?NAO JkpY`v/a `2?<NNT @BBB*o$U2-6<}Sk"xDkDDSDQQBNupNu(IU@gp` pM86g pM85gpg&L$H4 pM86fRXBF6<BGf`gBG`fJgbSBkZGPSCf 6<&LR(KQ` pM85f:BFBGf`gSBk`fJgSBkQ`pNu  z$@ Block*.INL*.BLK___*.___PPPDATA*.LSTweitere PD Programme (siehe READ.ME) :Bellissimo 1.1 , SpiceGraph 0.2Widerstand 1.0 , Briefdruck 2.2D- weitere Hilfestellungen zur Anwendung siehe READ.ME -EndungBild ladenBlock TestBildblcke in GFA Basic einfgenDragboxhorizontal______999vertikal______999BlockgreBild verschiebenBlock schneidenSTAD (*.PAC)Doodle (*.DOO)Screen (*.PIC)DEGAS (*.PI3)Bellissimo (*.BEL)Autor:________.__.__999999Christoph Emde__V _._99Kernerstr. 147100 HeilbronnEntwickelt mit :GFA EWS 3.5Turbo Ass 1.7Bildformat 0  @@@@   0?? 0  @@@@   0?? 0  @@@@   0?? 0  @@@@   0?? 0  @@@@   0?? 0  @@@@   0?? 0  @@@@   0?? 0  @@@@   0?? 0  @@@@   0?? 0  @@@@   0?? 0  @@@@   0??8 0``@@A  @@??<@D9T_Uxld-$&'(./?CIMRS[( !8  MXY ]aektu x| ! (789<BESTUdefwxy  07D$>dTDZD$dD$?@     z1 8    .   U !Jf  <   # $# E  $@[  @i! "@v#* @%&'F ()4*3% + F,- h./ 01 23  ) >5=%6b7~8 9: ; <  = & 4 B  ? ^&  6 @- 00081884228422842284420774044204228422842288188000016382819410250923487388322851483228738923410250819416382065535327694504543605450454322145045450454096549149471334708546317463173276965535032766204902193020490223142049020490245701638618402184501921819218327660GFA_BLK.RSC GFA Block 1.0 180891STAD Bild ladenDoodle Bild ladenScreen Bild ladenDegas Bild ladenBellissimo Bild ladenINLINE Block speichern*.BLK Block speichern*.LST Blockdatas speichern*.PAC*.DOO*.PIC*.PI3*.BEL*.INL*.XXX | Falsches Bildformat | | Kein Bild geladen | | Breite oder Hhe zu gro | | Kein Block definiert | OK Kein Block definiert !' Datas fr GFA Block :' Aufruf : PUT x,y,$,modus' Christoph Emde 8/91 READ daten% EXIT IF daten%=99999$+MKI$(daten%)DATA | Radierergre | 10 | 20 | 40 | Strichstrke | 1 | 3 | 5 Division durch NullberlaufQuadratwurzel nur fr|positive ZahlenLogarithmen nur fr|Zahlen grer NullUnbekannter Fehler Speicher voll String zu lang|max. 32767 ZeichenFeld zweimal dimensioniertFeld nicht dimensioniertDim zu groBei Open nur erlaubt:|"I"nput "O"utput "R"andom|"A"ppend "U"pdateFile schon geffnetFile # falschFile nicht geffnetFalsche Eingabe, keine ZahlFileende erreicht|EOFFeld mu eindimensional sein"Zu wenig Data#Data nicht numerisch%Diskette voll0Open "R" - Satzlnge falsch1Zu viele "R"-Files (max. 31)2Kein "R"-File4Fields grer als Satzlnge6GET/PUT Field-String|Lnge falsch7GET/PUT Satznummer falschMenu falsch?Reserve falsch@Pointer falschCASIN/ACOS falschEENDFUNC ohne RETURNPMatrizenoperationen nur fr|ein- oder zweidimensionale|FelderQMatrizen haben nicht die|gleiche OrdnungRVektorprodukt nicht definiertSMatrizenprodukt nicht definiertTScalarprodukt nicht definiertUTransposition nur fr|zweidimensionale MatrizenVMatrix nicht quadratischWTransposition nicht definiertXFACT/COMBIN/VARIAT|nicht definiertZFehler bei Local[Fehler bei For\Resume (next) nicht mglich|Fatal]Stapel-FehlerbBefehl nur ab STE mglichdGFA-BASIC Compiler 3.5E D| Copyright 1986-1990|GFA Systemtechnik GmbHf2 Bomben - Bus Errorg3 Bomben - Adress errorh4 Bomben - Illegal Instructioni5 Bomben - Divide by Zeroj6 Bomben - CHK-Exeptionk7 Bomben - TRAPV-Exeptionl8 Bomben - Privilege Violationm9 Bomben - Trace ExeptionAllgemeiner FehlerDrive not Ready|ZeitberschreitungUnbekannter BefehlCRC Fehler|Disk-Prfsumme falschBad Request|Ungltiger BefehlSeek Error|Spur nicht gefundenUnknown Media|Boot-Sector falschSektor nicht gefundenKein PapierSchreibfehlerLesefehlerAllgemeiner Fehler 12Diskette schreibgeschtztDiskette wurde gewechseltUnbekanntes GertBad Sektor (Verify)Andere Diskette einlegenUngltige FunktionsnummerDatei nicht gefundenPfadname nicht gefundenZu viele Dateien offenZugriff nicht mglichUngltiges HandleSpeicher vollUngltige SpeicherblockadresseUngltige LaufwerksbezeichnungKeine weiteren DateienGEMDOS-Bereichsfehler|Seek falsch?Interner GEMDOS-FehlerKein BinrprogrammSpeicherblockfehler 6&* ^" &" * $$|$ $ $^pn$JXX:8*&46B^` pt r N>Nۘ$m84$m<4$m@4pNd$m<0$m86trNNDD$D$ (Đ$$p <8>|~ p88@??߀ ?8~880??p0<>p`???|?|??<8`??@p0?|?<?|?< ? ?`?0 `?0  ??p ???0@ ?||8@?0>8@ ?(  `T@@@??$T@ ???@??p?@?0?@?0$$@?(  `~$@?0>? ~ ? @? ??`|?<?8?p??߀p? 8x 0`?001>xa~x ?003 ?03a~p101>p1` 0  000`0?`00??0?0?0??0?0<?~0?>?~0?<0??0<0?x0|?00<?00?x 0 ?x ``? `?` ?00ᙇ ??`>q~?? |8?8?xp`?0p|~?0ǀ @?0<ۇ0@??x0`??0~`?H?3??3 ~?@?x À0p<ۇ 0>ǀ 0` 0| 0??00 x|p``?`>8`? T8`0?$q0ᙇa?À0H ap0c?xx`c0x a000 0 @p pA$?@` p!@` pq?@@`  9q"``` 9$@p` ?p?@p`  p~80? ``` 9 p? @` p9q$@???@@` pq"??!??@` p??@pA???  $??@ ???o`???g@xp??g0??c0??c??a? ?`? ?`8??`????<`?g???`?a0??`a0??`?`0??`0x?0??`?0??<` 0??` ?? ?`?0?@? ?```0@??``0`??``0`??@`00p??@`?x??@`? ?|???@`?~??@`?0???``0~@??``0??| ?`?80?x?`0p??0~`?0@? 80 000`0?`0000? 0x 0?0~ ?0>0?8?<?f?"p<c6I$ @a!*I$ @0 I!"B "q$8@ RI!B"I$ Q! B"I$ @>!I!?p"p<?!I!"? ~8!90gT??8xa@|} a@|};a@@|K`a@0|_0a@a|6a@c>||af>|>8a?<@8|a` ?88(x4{`{P0>D8<<4``P0D|<<4szP0D|<<4a1PxD8x7aAPDfA~sx01PxDc?@ pD <?cxx?8~a<a a|<@?a a<x8?xϽp~x>=``0 33```??{?330``?33```?a`~`;7p ``?a`f` 0??~``7``1`````` <8<??,???C?03???,9s??? @~< ??c??<<@~~=U_p<<=U_p 0`;@p `` 0p?0?0 ` 0?`@~0  `?0?= 0߿`a?1? @` x0`08?0`0?? x> ?~?x 0?``0`?`?0?~?  @@?~  ? ? `<x> 0?< ?8 ?08 ??x ~ ?     ~ ߿ @ ? @? F ? @??@# ?? ?8 `|`??~????ǀ< "~?  A  > ~"A?@` `  0 ?@3?a@ `?0??`  >???UUUU@|??0?p8<?`??UUUU00>?? ??`????0?0=? 8> } |"0 ?EUT0` ?q`?>? 88I ?`?? ?? 0??π0I$ '? ????`qq !? 8>$  '? | 0 DH0>`?q`??0000>}??p8<=?  ?????0??`?}Bl0E}pN/HxN`Nي`/-:/->N~`<$m80@^HH/$m80@mB$m80@^HH/$m80@"]HH$m80@^^HH/$m80@r]HH$m80@^HH/$m80@]HHg$m80@^HH/$m80@mB -:^HHg4m8HRBHm:NJ`$m80@^HH/$m80@"mB0-8H"->o@:^HHg"0-8H"->o@/BHm:N`$m80@^^HH/$m80@rmB -:rl@>]HHg 4m8HR -:rl@/Hm>NJ`F$m80@^HH/$m80@mB0-8H>^HHg4m8HRBHm>N -:Fg$m D/$m DK/pNö$"N -:op$m D&<:<N/?? -:NN N&<:<Nd8:&N*N/$m DK/ -:NN $"N`.$m D/$m DK/pPN$"N ->Jgj?  px 8  8    x  v9cv919 ` p |>| `0 C &  cp ! 1( 0 @; 3@n>8@ 0`Ph$@@@8,@G(``@8   9  @`0 x@ @Q``0  @0 4@00x! ,@  8#8h(?.<Y(  Cxr @P, 8@@  6b @`<H   `8H`01@9 À! $00  IH@ ؈AaIF l@,`> 3MO 6@Q ?feO @  G"' O  0@," @ "`O  1@ >@("p&@O  a@?@U&4@`@  0^s@$@2A0z0 @D tAP*  @AAP .!`xp~A ;!@b088C a<4`   A <<xA A@A`    0 3P >0lp0H P&P` Lp@> $   @ }~x@ 8   ΀ J " " HC8 A?  @@@0 @@@  @@@F`8 @@@D@3 @@@D 4@@@D ?!g@@@D|p,p|@@@D+@@@@P@E4p`@@ax30@@79(@@@@p @@ u  @@@@"#@@p @@9 x@@``@ d;@@@ a@p x@9 <@`p 3>@ T<+" p@pT8LxfBF >@8TBb@pT/B#ap@8T@tB8!a?@@T@ >B|1a@8CT`HvBn@NT3^Bzq@T: FBb@`Tx  |B>` T   0T700 cT@ 1 pTd`T@@xT ?`Tp8T XvT4>L Th@F|T@B T@@0C < T@]` Aq@T@ `@_ - T`0@@c 0 ~b l K@  8>  (@( H0H`0  `?  J  @   P     P@ `@   Pwp1` @?9pUP0 !  @H)Pwp   0 @%   0@& %wp`0 @ ,%UP@  @ @%ws@   @ `/$@  @!{30ws @ @JRUP`@@7?{wp@@@ @@3@`@wp@@`"@@@UP@@0@@x{wp @@x@@JR@`0@@{@   @@ @   @@@ E@@@  i@@@  )@@@    )@@@  1@@@  3P@@d0@  0@@Dp@  @@D@ @ @@D@0@ @@D @0@0@@D P@@P@@9TD P  @@0@@ iTD P@(6@ @@ TD P@#@ @@ D P?@!@  @@ D PD`p@0 @`!=D P0 @?@@ 0 @ "lv%)D P @ J@? `@7"ڴ%)G b$` J@@  @" =D @ :a$`@"  @" kБF H0 p @< @"FzPCπ` 0@08 @" )JPAH0@ | @" T%){Б@! @" 4=`H p#@" THf@" R=xxD @"K%)HP L``"%)xP<I0` !VP<`I``  cАP0@i   50zPD@y 0 %)JPh8HO   p%){H _=6@ h T0 >x?W    u\`|&@  L0 8@ 0``7^_p ``06P   @`0=Wn:N0 @` 08TJJJp0 @830Wh*JJ@`gQHȮJJ `'QJBJJGXb) Wn+nJgDwD 3F @P UDW?1 @P UDW?~?  P eDR@%UC8 W6v WDRUA TU $ WDR@?U@ T]& wwr#ha0TE$ uwr?8"xW4& ewr2$P ?0p0SP  0P.  `Wj  g?5TZ sS@p`!TV** q A TV* s% W 34IP2P s 8p`DP q` UUUJq0 !@P q:! " _s1c8 !@ yB  p*! 0*A 6*Ap!6v 0*A!5`i0n*A!/ m0<"A `h&*B @ PX2CpJB@  a8BC `@0 0`!8JC   `  @ BB  `~@ BxD   `  @ 8D0 {ZG8 jR0G 00 4jR D  &jR@ &` jR?'88jR`IH`%1?jR@0@@0p p%3!#jR @B @ !&ba#jR @# b  #`C#jR @ P@ ##jR0 f##jR  @ A  `s!c1#jR@r @0 ١ #jR `G@ Ap@``  ?jR p @ ? jR0 0@0?8`jR@8L0@?0p0jR0y0@( @ `jR (7@P@ ` jR@  $O @P   pjR@A?` ` 0 ? A:`` 0$   agLP@d <x?0 |H v  00?DD 6Z DC? ,   A0L$ @x<?a<@$?`@p8$ !@@'$@0@g0)@@ @ 0o@ @`@0L@@@4zA?@`&J  . ` "@J x @@  c@z<0@8` :N@@0z0a8 J@@` p J@@0rp  J@@ A0   +n@@ @@J@0`zI08@  J $0@x` J`a@@0z<@0([@HN@@P,00@ `80i@  0@ z@080@0J0p@J0@z0 @ 0 @00@`0p!@ `(@@H0@``P0`@?00@ > @ z"@` p@ J>@` P@ J` P@ zc P@p @ aA p@  @qA @  @h< @` @$kp @ @H00 Ȁ z@P A  J@2 2C J@ r z@   A @A ? @  @@ @A  z@ ~J@0J@? `z@?9A @ @0 @ppx@`8 A 8@  h`8z>BA J"  "A0J>A @z80  8 j jA p U00z0 J0>? @J?6pdz0>><q$|fY0100[77`0v` zv?`n0  J0l>vpf0 J|<0l|w0v0"@za0x{060`7o0x{070H @ gl0p{830@`00l0<>q;0  l00s00! l0s0B!zl000 s.0$!Jl000 {.0!Jl0?y.0azl000 }0aal0?0a`ql00  ?<0a0P@l00 ?80aX`l00Ob ?0780 ah l00_2 l?0w80 c, zl00 l80b $ Jl00 6`m0tGpsb$ Jl00Z 60 TE J$ zl00Z 0 TE J$ l00Z 0tE r$ l00-Z  0 TE J $ l00-Z >sp0 TE J$`l00, 0 TE J1d@l00& 0Ww s!L@zl80&_2 >xp!Ya XJl>0#Ob 9CpJ l0! 0z |l0  p00 s a&0 8P@0E@? ?P@@32)@  <>P@@gd@p/| 8|P@@ဆ0)@`W xP@@dPE@ 00qP@@  `0P@@>A 0LP0 1P@@||  &8#8?P@@~P 4?#8?P@@>@2 l~"9 P@ `d0??A"@=?P@  H @ h!!A"@?1P P@(!A"@?x aPP@@ !"@/8PP@? >?"@/xPP@ (' "@'xP@P@ ($ ?A"@'xP@P0@ (${!A"@'x`PP @ $$!A"@#@PP @ $$!"@#@@P8P%T@ $$?"!P|P$T@ $$!?P@@lP$@ T@ $$# P@|P$T@ $$" ~?P8P%T@ $${" ??PP @ "$ ?" PP0@ "$ " P P@ "$" P@P@ "$" P@0P*@ "$?" P`P *@ "'" PP J@ " ?" P H J@  " O  dD @ 4" ` `2  @ )" ?>@  +" 8~ T & !x +" |D|AT 0L ! +" >@ ”@` !1 +"?@b"@0 !$ )"x1"` A. 4"Dd A. "<@gD2  A$ 0@3D A1 "`h@80 >& @ "4< `@L  @?   @0 ` <@`# | @ E@@ E`@ E`@@ E8 x@@@ EC@`@ E!<<@0@ E^@@@ EApx|@ @ E 00@@ EB8 x@@E!@>@ E|@@ @@@E@@@H` x@@@0!@@ #x@@ @F&@@@ #F LB@@@0 #@@@  10"@@@ ` $`@@D`0x 6d@AD>@ '2 f@_8D !%R2@D>fB!T` @>3B#>x0 @B#x"@~p ~B##?G`B0c0 2H @|0!x 0I0 x!!  f`B sL2 B  P1  P20L@  P2 L`@?8 Pc L`^ <`e L`?:?x 'd L`~UUU`80DBd`L`'xF00L`$^q0 `'?P<p`p ` `d0x0` P@`0x 00}|@"d-ӅJP ` q@fDxx`@0 Ƀ0H0px<001wHx1p `B!:1cW>`B`BaB+1c@$`Ba@x1cUpBad B"#dA B!Nu)x<??bC!wpP2#C !"8 z1GB!!0?@ p9 B03DQ,x?0B`R,`G88B@? x08ppBX!D>?fȀ!B" ~|?1?$!R >`>g~ ?9ĤR1p;T`B@"0= B@3x:0B`! p0~0! p 0``$!  #````g !q?q``pC!>`0B!q?0B <0BBxBa?JBa@B!0DB!`xB!RG!? 8H@@?PBBj0Afp' a H$ `?$ 0p@@$  aB1a|paD a8R |Dx?<~ p @@ @@ @ @ @4䱥N @0d%J p@ĥ%J HPJ DP4J tXtJ* J0ԥJ* JJ>FJ'J%BK"H RO?JP@""J@6 "BPG" BA0L"$ 'Q,I"H 9?1XP@J(k mP`J(A MX J(A@M J(A@@"yX J(Հ@@P J(@A@`[@XP`8J(@@%@P@I  $@P L @TpG@  `xb@@@ P0`:g@ 0hDDN8U@ 0 0@J(U@  T2K(U@ PIU@@AP HU@?@0 F8Jh@B@  0`K( @  R`K*@>Ā 0< J`@8@ F<JhU0K p @9?J( K` @PypJ(ӌccUp;&BN8 S `Iab@ ?QU@>q@ QE@<YbO QE@xL"H B@<UUPDKb#<FJ( I0BJ(@CJ( cAJ(T0 V@c>bAJ(tJJ@0#@J(4֭`#0@J(fpv@K4LX4Ht`XHOTPL@ pQ@`aGHP@a& L@2 I J(UT J(UTHHJ(UT`0J(UTp J( PP J(UT>UUUU@P 2J(UT# &IUT0DI$@0 $LUTPDI$@ $GUT0 d@UT11 L@UT`?** HN8UT? ddD HJ(UTJJJ@ K(UTQQQ@ IUT HUT  p8BJhUT pK(UT`7s>KUT0`0JUTEtPJh )2J(UTπJ(UTN8F L@UTx`@UT> @UT~ @UT|x>|>߀<}߀}??~>~<<x9> x??>>?@x0xx@< @0`@0p ?  @0 ?m0`m`0  @00@@ @8[8??3_ 8'0x@P< x @ P 3xG??@Pπw}/?> P w8~>A P  wpr~>@P@?#wp?# Pppp?<AP?wpp?? P@w?? @p ? @0? "@  ?`? B  AH?  >A?  _ ? < ???  !H  =?H?? 0??@  ?`??@ H ??H??  ?? ?  ??`7`  ?`X4`, H`p? 8p? p p`  <` @@@<s`<0? 8?9> a10@p> @@ `@ @ @C`@ DC` @@@C`  `  a10?y@@` 000` oJYpNp N$mDRR$mD0koYpNp NNʺ$m$$m g:EapN/Bg/-N|$mg$mQ$m0$mR$m84$m8PR$m80koYANEtpN/Bg/-N|$mgpNp NNlpN mN8NNA턔NA턐NA턤NA턠NALNtAHNtAPNtATNtATNtADNtAx ~~?4?|?8 @x|??8?`r0@Z`;@n 8?`x@0 ?pp`0@ ?@8p`? 3 <@@ @ 9b?@@>!<2ꪼ @Aa@$C8p2!p@x@O$A82 0@8fO8 ?p<Nx ``@p @ `00px? p @@@ p8 <@@ @@ @? `< !?   80   0` p  0 0` 0`  0`, 0 p ?#    |@ `    ` @  @UUUUUUUUUUUP? @  @  p@`pP@  @@! `@P& @?8  @!P8  @B # p@@@l\ @- @@@ ql8@@ q  `@ V9l ?  @ Zl[A  @ V̙_ A  @! ZLJp?HA p@! V? H8 @? Z ?@( `@ 0~V0G(B <ġ` ߰?~Z0@FahB ( | ٰ0V0b0B 0 G ߰Z0 04P  p |> ߰Voxπ   P " پ?Z81,c  @ P0> پ>V#0 c `0m @ P ZC0 c@`&@@ X  V Y0,<@@e  9 Z0MsX  T V0c  @T Z0x  @_ V`  @Q$ !=@ Y$, ?H4 H.A#pp` H*A"`x H+!  8 Hi)eB<""8xY(eB"80I(UE"@$I/U<@> MO@Y/MH` 2q(EH B?8p  A`0@<Gsp~D8808? `3s! ?! 8c `??BP@3xF0@  @P@<=? `3π@_P~C10`00?ǐp|  p0?@ h`? @~ @00xl |#  @?p x BpC 0: ` ` D@ ? D8b@D "F`@D ?$"?"@D?,bzp/̂g 8GB(/v80@! `  J`  8@  `&  DDPO'  DD|8` 0@݀  e)L?  0  %)H~???$%A!/*iP?>?)!|~ojq-P|! |x59X|?!| Beh,h>8 1  /08,h>0y /,h<πy<J  /.|I #rk?x,0oX4?88 P?C @   Pa 88P~?<x ?'v??O?0pN`? | @? ` ><3 0|[8g  |?:Kp `x2p`  |` @x68?0 <0 @x<41"2 @xxu $"$H `|xe '"?h,  |8m3$"?H$ 0><<iR'?$" P  >|kZ''ϼ`p  J '@ >` |' xګ`8'O pҩ`8'9o0 A֭`8&' a?ԥ`8&|ϙ7 ` !յ`8&ϙ !p8&ϙ c?08&ϙ  >U8&ϙ  >T8& p>|V8'9 >|R 8'? >>pZ 8'? |` ~>xJ8'? 0 p|>8'`2 ||8&|@$H p?8 &h, pc8'OH$ !8'oP !88''p a>xJ8p'7 A><Zp' >R8' >V3 0 >?T   ~U|  ` p |0 p0|?p??0?  |?յ``? `|ԥ`?  @|֭`g` @|ҩ`3@ @ګ` `?` O |`  J?o0 0kZ0'2  iR3$H mh, eH$ p1u?P ``4|?p 06> < 2?y8 >80:Kl 00` [x0 p` ?x 0>X| ` 0` </0<| N<`< << ? <?<p >?< <8 `<~0 <@<@x ~`8 <A<??l0>C| 88~0`&?x 0| `<,gxps<0 ?x=f?`@?`|?B@`0 p>B` `? ? Bx|00`0 8Z|~80p`  Z<??|`?Z>~~ p`0Z>~? `?@Z>?@Z8>?s8DZp><pDZ`<pD@@Z|D@@Zx D@@Z D@@ Z?pD Z?p>D Zp8|D??ZpD`0`0ZD@@ZxD@@Z|PPPP@Z?π$! PPPPZ?$! PPPPZp?>!PPPQZ!PPPQ@Z;!PPPQ@Zs!pppqZ?p!RPPPZ8!2`0`Z8!@ Z|!@`0Z~|!@@Z|98<x!@Z|0p?!@ Z?|0?!@ Z?|2 0??!@ Z>|"0x ?|!@ Z>|& 8p?8!@ Z|$ 00???Z|d88 >? B" @Z|D 80`8??Z|D |0W`0p`Z||pp0p`Z|8 `0Z| `08pZ| `0pZ|$ `08pZ|d `08pZ|D8 `08pZ|0L`08pZ| Hpp8pZ| 8 0`8p?vۀ|?0 0?'`8p0<|0888{&8p`|0p0&88p0|0p&8p |A88p  |08p | 8p | p8p  | <x8p| `~8p`| @`8p0<8 @`8ppÀ8p~8p`p10`|p# b`p0" "0`p" " ~`?p"0"`?>#`c !c@0@p?@`??`p ~808<`p Nq?G~|x8\~pp~??`/@0`@p9`08?s8?>Ã^8?s80880> `/@08~07 `?|~03 À`p8<01 x`x>8<<00> <` N<00 ` C|<00 ` @80<00?8xypp @>8?<00pp?8880x`~?<008Àpp0@0?߀<0<0@0A?cc>>B$m`0HD+@$md0H+@` @;m @Do* @&gj @3m @5or @!g @.g @g @ g @g @g2 @2gF @gT @gL @gD @ g< @ g4 @ag @Kg @Mg @Pg @Hg @kg @gg @og @mg @igNJfNJWHH/N۸2-nHgBN2-pHgBpJ-EgpgrpJ-MgpJfPMN.ANN.AN./?? -&<:<Nd8:&Nng(N۸?N?NhPMN.AN`QMN۸;@nN;@pNNALN|AHN|APNA8NtAW?5-))-%4 WJW1(WWYYWWYYWWYYWWYYWWWW 0W8c1 0c1 0c1 0c1 08W2 0`@WY@@`0g1< YW8W1W>Y~B~WWY~B~WWY~B~WWY~B~WWWWg4Y DDDDDDFBBBBBBBB"b" !Y!9YW0 `@@MSPp8xRIDc <`0 = @W>qWYY@` 0Y  YW"YYW(WWYYW@WYYW@WYYW@WYYW@WWWY>W">W^KxWG!08nÀ0y D. qYYW>W? YYOYAW8`GLYHpW%W# YO#&,8WY?W#>?W|W@@YW`0Hl$'2o6p cWY GY@A_Y"YhhxWYWW1(W>YJ 0`W??>?Y$?YW#Yx!q0 `@C` 0Y0 |GŽxWWpW0 Y W"YW+W& Y8(,7YWxߢ|W?WWYY?W>WYYY|W>Aa!!1 Y 9 W8YWW1(W&`0 Y 0WW!?Y W <YWY?YYxW}YE}|W?YYY Y8`8nW`0Y/WAW$$~ڲbYYDD|lDDYDl((|Ƣ|Wy< Y 0Y YY 8 <#Y ? 0`WY@@W~W~``Y``W>|W``WYWYY !?WYWWxYW?x>0W >YYYY0`YW%?W YDYD YDY|W WW!WYpY0Wp(HW~Y|pYP_Y?YYYY@ W-W W3W W!W<|WWWYW>W |Y /!#&,8WW!W YYIY YW*W|̘0`3f̘>nڲf̘0`W@WWWYYW3b‚B"YY WY `Y@ Y `Y@Y `0W ;"; ;W}YWwYDwWEEUU}WEmUEEWrYJrWWWCWW.YWWWW W?WY  I+ A WWWYY8Y(hYHODd'0W 6*"WY)WWWWWWWCWW+<<<W WYYYWWWYY` Y `@YఐHh(YYYY(,$4YY Y.~Y0WWzKyHHWGWYWYWwYAqWWWCWW*WYW WYYYWWWWWY Y YW#YYpW)*)W `WKhXHHWګW YWWWCWYA*YAc>WWW WYYYYWWWWWW WWYY YY0Y `Y@YYYW&YWWW WWWCWW*WWW WYYYYWW WWWYW W%WPZVRW@WWWCWW+WW WYWW 3%eʊ$%IIY>WWWYW4YYWPWWCWW-@@@W WYYY ?`@f֖VY.nN^YVWWYW4WsWWCWWD@@!"DH$HA0~qopnaxfydrqhdbqphhddcfxY``gnx`WYW4Y YYYW]WYCWWJ @ `0Y8`! P @W8`WYYYYWYY@`Y 0Y8WGY@KWSWY `@@WCYY@`Y WWWWWWWWWWWWWWWf`POYHd$$2 WY6W Y  Y Y Y  W ?Y P?W!YW88KFH0WYY W@@p0 W 8WW2`YW~W0WYYWWYWYW W$WW |@@|W0!bYDb!0WWW??YWY WDFDWBBCWHW$WWxÀpp8``WWpW8W @ W8W WW < 8YWWY@C\W0Y8WW `@W`06 WY 0`W[YWYYWWpxW1oذ`W"0ap\G@<z: 8Yކ߃݁ p7WW?W W!pYpW<@@Y xN: WWWW`0 Bc!!1Y Y YY1!!cBBƄ?W!!Y" !!W,W WWWW W"YWWWYWW ?WBԈ9sYy耀@W<@U WW4!B!BB Y BA!A W#W WWWW` 0 BCaY!1Y 1Y!cYBƄ3>W>W>Y<>>WY$WWYWY @WW 6 EYW+ 4W- e4U*RT(p``YW Y``p(TR*U4 b WYYWWWW` 0 YYYYYY 0 `Y`0 |x~|WyYYYW!$IIR(X0PWP0X(RII$WWYYWWW@@` 0 @b%2 WWp @CYC@ XYA! YW  f2L$0@WY@Y Y@W@0$L2f WWYYWWW$Y@WYWYY  Y YY W '/Y_/' W`>W#cc0WN0cc" W @`Y  W 8 W#Y|WwYY?@ 0LY !&ISY/1 Y !&DYHD&! WY0@pWTpW+YWWWW  Y Y 0`3Y 28WWXW' 0 `Y@`>W[ 2"&dDLYHLDd&"2 WWYY a9 Y_` .?{`? `@@ 0`W WXW#pWWS 1cƌ0` W W >WW0Y AY@ @@Æ0`W|9}|8Y~W` 0 W dI&W@&Id W,W YY> YY 0YYWWPYp Y# 䴜 p؈PRtدtRYPpxxx #WYWWW  '/Y_߯  P pXY`#$YpW@ H$J) W+ )J$H @W2 @@YWpYWY WOa8 WW@`Xh(~W|GAW W AG|W~WWW WYY Yk5pYqWW@ PP(TR**%Y Y Y %*+HG88W;!> }KNzpW< 0xW$pp`0,FWWF,0`ppWpPPp<|Tܜ @C AYFA  YYYAY W)YY@YW8pp9W;0а`W)`Y `W+`0c1 AAY Y AA 1cƌ0`W)1Y1W Y@ @WVx0`Y@W@@` 0Y 0 `@@W8YWY@Y Y@WWWWWWWYg @g @g @g @ g @ g @ g @ g @g< @g4 @gb @gZ/-N*$mP`nJg @g @g @g @g @g @ g @ g @ g @ g @gx @gp @gh @g`NUWHH"p$mJgpg/-N)NNNA8NtANNۘ$m84$m<4$m@4$m@0S@f&$m80@^HH/$m80@mB$m<0@nB$m<0@"]HHg./-N)N/-N)Nk>NN`$m80@^HH/$m80@mB$m<0@,nB$m<0@@]HHg2/-N)/-N=*/-N)Nk>NN`B$m80@^HH/$m80@m%#!? ??   00007 ``~      00?````x{|   00<```c` 0000` ````xp0>  `0000<```c f  00000<```c    &   ` 000 ````l `      8 001 ````@    3 F   `000``h0A@   000004 ````b      0 002` ``a     ! 8 p0 0001`!``"""  5UUV   80001UUUUp001```b``aUUUU`UUUUS    UUUU\  00=UUUUX0002 ```j```b@UUUUX UUUU[@ @  UUUU\  00=UUUUX000``j``hUUUUX!# UUUU[F   UUUU\  000=UUUUX000@```j```@UUUUX UUUU[   UUUU\  00=UUUUX0002 ```j```b@UUUUXA UUUU[   UUUU\ @@00=UUUUX00 ``j```UUUUX  UUUU[   UUUU\  000=UUUUX002 ``j``b@UUUUXAC UUUU[   UUUU\  000=UUUUX000@```j```@UUUUX UUUU[      UUUU\  000=UUUUX00```j```hUUUUX   UUUU[    UUUTUUUU\  000=UUUTUUUUX0004```j ```dUUUT@@ UUUUX@@   UUUT@@ UUUU[ @@ p    UUUTCp@UUUU\  8BBB@ 00=UUUTBBB  @C@UUUUX0002 ```jCB  @@ ```b UUUT@B  @pUUUUX!@B  @ # UUUT@B ?pUUUU[& @B 8 L   UUUTCB   UUUU\  XBBB >  p000=UUUTBBB  UUUUX0001``jBBB   ```a@UUUTBBB    UUUUXABBB @    C UUUTBBB p  UUUU[F CÀp8 pB    UUUT@@  @!B UUUU\ @@  @!B 000=UUUT@@ @!B UUUUX00```j@@ @!B ``UUUT~UUUUX  UUUTUUUU[F  L   UUUTUUUU\ Xp000=UUUUX00``j```a@UUUUXAC UUUU[& ,   UUUU\  800=UUUUX0002 ```j```b UUUUX! UUUU[    UUUU\ 000=UUUUX0004```j```dUUUUX  UUUU[   UUUU\  000=UUUUX0008```j```hUUUUX UUUU[     UUUU\   000=UUUUX000@```j```@UUUUX UUUU[ L  UUUU\  Xp00=UUUUX001 ``j``b UUUUX UUUU[    UUUU\ 00=UUUUX000``j```UUUUX UUUU[@    UUUU\ Xp000=UUUUX0001 ```j```b UUUUX  UUUU[    UUUU\  000=UUUUX000 ```j```@UUUUX UUUU[F ,  UUUU\ 800=UUUUX004``j``hUUUUX UUUU[  @  UUUU\ @p000=UUUUX0001 ```j```b UUUUX  UUUU[    UUUU\  @003UUUUp000```b``a UUUU@!5UUW" " "00@`!``@ !      ` 000` ``a       @00001 ````b 0@  X0006``h  F <     000 ````@  !      p00003 ````l    &   0 000 ```cf  0000```c> 0p00007 ````x`   000```c{| x0000?````    ~0 000~ ``?? ?   !#0000g(NSf mBh$m l0<$m4RЊD$mh4`$mhBR$m$m0N8&<x:<N m 00Nۘ$m84$m<4$m@4$m0HjR$m0RЈ$m<0RD$m$ mBh$m Rckkehr ins Desktop (Schliefeld in der linken oberen Ecke hat die gleiche Funktion) ------------------------------------------------------------------------------ Nun etwas zur Programmierung ---------------------------- Um kein Resource-File zu bentigen habe ich die Routine aus [2] in mein Programm eingefgt. Die Routine zum Einladen der STAD Bilder habe ich aus [3] fr meine Zwecke zurecht geschnitten. Ein Beispielprogramm in GFA Basic 3.0 sowie die INLINE Datei liegen bei. Die Routine zum Einladen der Bellissimo Bilder aus [4] liegen ebenfalls mit dem Demo bei. ------------------------------------------------------------------------------ PD Programme von mir !!! ------------------------ 1. Widerstand 1.0 Ein Accessory zum bestimmen einen Widerstandwertes anhand der Farbkodes. Sehr komfortable und leichte Bedienung. Fr jeden der die Werte der Farben nicht im Kopf hat (4 Ring Farbkode nach DIN 41429) 2. Briefdruck 2.2D Accessory oder Programm zum Bedrucken von Briefumschlgen in 3 ver- schiedenen Gren. Parameter wie Absender, Druckarten, Sonderzeichen etc. sind auf Diskette/Festplatte speicherbar. Der Empfnger kann mit einer Schnittstelle zum PD Programm 'Addresshelp' [5] direkt eingeladen werden. Sehr einfache und bersichtliche Bedienung kennzeichnen das Programm. 3. Bellissimo 1.1 Das Malprogramm fr Ihren SM 124 s/w Monitor. Bellissimo besticht durch reichhaltige und durchdachte Funktion. Bellissimo besitzt alle Funktionen die zu einem Malprogramm gehren, darberhinaus besitzt Bellissimo Funktionen, die nur bei CAD Programmen zu finden sind. Bentigen sie ab und zu mal eine technische Skizze oder ein fetziges Bild, so sind Sie bei Bellissimo richtig. 4. SpiceGraph 0.2 Sie arbeiten mit dem Simulationsprogramm fr elektronische Schaltungen 'SPICE 2G5' [6] und sind mit dem Sternchenplot aus dem Terminalzeitalter nicht zufrieden - so sollten Sie sich SpiceGraph 0.2 ansehen. SpiceGraph 0.2 wandet die Zahlenkolonnen in anschauliche Grafiken die mehr berblick ber Ihre Simulationsergebniss. Auf folgenden Disketten erhalten Sie diese Programme | Maxon Computer | ST Journal | PD Szene | ------------------------------------------------------------------ Widerstand 1.0 | | J 71 | | ------------------------------------------------------------------ Briefdruck 2.2D | wurde erst eingesendet - noch mal nachfragen | 1.1 | S 265 | | | ------------------------------------------------------------------ Bellissimo 1.1 | S 316 | | | ------------------------------------------------------------------ SpiceGraph 0.2 | | J 115 | 2229 | ------------------------------------------------------------------ Falls Sie gleich mehrere Programme von mir haben wollen so wenden Sie sich am besten gleich an mich selbst. Adresse Christoph Emde Kernerstr. 14 7100 Heilbronn Um ein/mehere Programm/e zu erhalten mssen sie nur eine Diskette mit frankiertem Rckumschlag an mich senden. Fr eine Spende von DM 20 in bar oder auf mein Konto freue ich mich immer sehr, und es gibt mir dann auch Auftrieb weiter PD Programme zu erstellen. KontoNr.: 11783842 Kreissparkasse Heilbronn Blz.: 620 500 00 Ich danke Ihnen recht herzlich Christoph Emde ------------------------------------------------------------------------------ Literatur [1] GFA Basic-Frank Ostrowski ber sein GFA Basic, S.35 ff [2] Resourcen in GFA Basic 3.0, Lutz Preler, ST Computer Magazin 10/88 S.76 ff [3] Bildung, Stefan Hhn/Jrg Drcker, ST Ecke ST Computer Magazin 8-12/88 S.107 ff [4] String Dit, Jens Uwe Timm, c't Magazin, 12/89 S.290 ff [5] AddressHelp, PD Programm von Andreas Jkel, vorgestellt im ST Computer Magazin 4/91 S.193 - Diskette ST-PD 370 [6] SPICE 2G5 erschien als PD Software beim Duffner PD Service (Ritterstr. 6, 7833 Endingen, Tel. 07642/3875) auf Diskette Nr. PGS 79 ------------------------------------------------------------------------------ Heilbronn, 21.08.91 nderungen und Erweiterungen ---------------------------- Nach Auswahl von 'Block ausschneiden' kann, solange die linke Shift-Taste gedrckt wird, radiert werden. Solange die Alternate-Taste gedrckt wird kann gezeichnet werden. Whrend eine der Tasten gedrckt ist und die rechte Maustaste gedrckt wird kann die Gre des Radierers bzw. des Stiftes verndert werden. Der 'Abbruch' Button mute der Funktion 'Bild verschieben' weichen. Da oft der gewnschte Bildausschnitt ganz am Rand eines Bildes ist kann dieser nicht vollstndig ausgeschnitten werden. Mit den Cursor-Tasten kann nun das Bild in alle 4 Richtungen verschoben werden. Um das gleiche mit der Maus zu erreichen mu man an den jeweiligen Bilschirmrand fahren und dabei die linke Maustaste drcken. Abbruch mit der rechten Maustaste oder ESC Taste. $$m` NN /pNö"_N|4<2<uN$m` lEp$N/Bg/-N|$mfR--+cpY$mfx0<Nö"mN Bgp$mhR@?Hy m /?<NNOp$mdr$m`NXr$mhNX+@ -jr$m$$m ሐD$m $0<Ntr "mN݂pNtrC0N݂0<Ntr"mN݂pNtr"mN݂0AON1Q2Eab$EaaaD ;@npaFXa;0-nfXE{p aS/N"NJBfa5NNfN <a9 @p(a*aVN/ <a9 @p(a*|aV2"_a>CaJp~Ahab$0<}aVC퀸aJ0<}aVC퀲aJtpaR"<}aTC퀾aJ\A퀸aREh +@Eh +@?<NATrAЁaRTp:a>/?<NATRaV"_a=lp\a>CaJp ~AVaajp ~Abaa^E|paQfx"mVadE|#paQPx"mVacE|4paQ:x"mVacE|EpaQ$x"mVacE|UpaQx"mVacE|jpaPx"mVacE|paPx"mVacE|qpaPx"mVacxE|paPx "mVacbE|paPCaP5`nx-"mbaZra.,paA}f*x-"mbaZ/A퀾  _a\"A퀾a?P5`E}:paGrC ta=R+Apa,`nx-"mbaZbra-paAh}f*x-"mbaZ@/A퀾  _a[A퀾a?P5`E}:paG(rC ta<+Apa,$`lx-"mbaYra-Lpa@}"f(p"raAvp2<}aVNC퀾a?LA퀾a?P5`E}:paFrC tax-"mbaYbra,x-"mbaYN/A퀲  _aZpa@L}fA퀲a>P5`HA퀲/ mNXLx+@P5pa+"`( @g` @g @gx @g @gHp-/x-"mbaX/Np("mbaXt`HBaHAaD|A aDtAaDlALaDAPaD0-H mfaYjVHR@f|` 0-H mfaYHVHR@f|Q4p-``pa7pa7pa6pa6pra7a-:aWl+A+B+C`NZHy NMXrUg`NHy NMXrQgpa7aWfSWHH/aWXUfp.aW(gp.aW,VHHgaW,SWHH/aWUfp. -"WHHgPaWUf P4NaV+A+B+CaVSga,^`NZHy NMXrUg`NHy NMXrQgpa6aVV+A+B+C -&-$-"-a4taVvSWHH/aVhUfp.aV8gp.aV/ < OK a?r"_ta4+A`V0-J@g(x-"mbaQ/A퀸 /0-H" _aR`&E}@pa>/ < OK a?Dr"_ta4L+A`a*pa:E}Vpa>*"H m a) <.LSTa,Na)pa:VE}mpa>"H m a)E}pa+pa)pa:*p'a>za)pa:E}pa9Ppa:p'a>Xa)xpa90Pa)fpa9E}p a9pa9E}pa9 pa90< a>"H m a):0<$=a,@"H m a)(E}pa*a)pa9 a>aNd+A+B+CpA퀸$-"-a/ aNSWHH/aNxUfp.aNHgp.aNLVHHgpA퀸$-"-a.aN:SWHH/aN,UWHHgt`>a>JaM+A+B+Cpa-.pa-8pra-< -Э&-֭$-"-a+aMSWHH/aMUfp.aMgp.aMVHHg -Э&-֭$-"-a+zpa,pa,pra,aMhSf@pa-pa-pa,pa, -Э&-֭$-"-a+pa,pa,aM UfXE}pa:r/E}pa:dr"_ta0 +A -`p +@`"p+@`p(+@` @g @g @g`ATa,aLh+A+B+CaLSWHH/aLUfp.aL^gp.aLbVHHgaLbSfhpa+ -.a+pra+pa+aL/aL&"a*^aL.SfaL?aL?pa*aLUfpa+8pa+Bpra+Fpa+aKUfXE}pa9D/E~ pa96r"_ta.+A -`p+@.`"p+@.`p+@.` @g @g @g`;|a;Aha7ATa7Aa7a@$mT$$mT B@H@$mhp$mh` N$`0Nv`(N` N` @Hg @Pg @Kg @MgaJr]HH/aKSWHHgN$aJ|^HH/aJSWHHgNvaJr]HH/aJSWHHgNaJxl^HH/aJSWHHgNaJtUWHH/p$mhSWHHg`::a: mx*<|~a,~?<NNT/?<NNT"@ <z _a m$<ra*`9a:. m(<*<,<~a,$?<NNT/?<NNT"@ <z _a4 mtra*,`9a9A퀾(<*<|~a+ m(<z|~a+ mt"<xa)A퀾tra)`9Ba9A퀾(<*<x|~a+ m(<*<|.<xa+f mtra)A퀾tra)`8a94Aa5vp.a6"ma;+@p\a6"ma;+@ - ma7p*a#/ - ma86"_a!Ca.A`:Ja8Aa5Ada4p\a6"ma;$$md4p$md4RЊ ma7"ma.6 m0(HY ma7N"ma. m`9a8h0<a680<a$h0<a$`CTa-0<a6CTa!:0<a$@CTa-p+@ aHA| 00A|a .a5CTa!CTa-R p lp+@ aHlA퀄 00A퀄a a5CTa CTa-bR p l0<a50<a#0<a#Ca-60<a5`Ca 0<a#Ca-p+@ aGA| 00A|a va5(Ca JCa,R p lp+@ aGA퀄 00A퀄a :a4Ca Ca,R p l`6a6praBpa8apraBa5Ha0 `6a60-H mfaG @/A6"a0-H mfaG @/A<"ad0-H mfaGd @/0-a ba7"a@0-H mfaG@ @/0-a >a7v"a0-H mfaG @/AB"a`5a6"Aa1Aa1$m $m RaG$m"$m RaF -z,-v*-r(-nv$m$$m"a"`5~a5B4mxHRHmfN) a `5`a5Aa1LA퀾a*$m a#+An+Br+Cv+Dz -z,-v*-r(-nvt$m"a"b`5a5VAa0Aa0p~g$$m $m RaFF$m"$m RaEA퀾a*`4a5 Bmx;|z;||;|~;|r;| ;| ;|;|;|;|;|;|;|;|!;|";|#;|$;|%;|*;|,;|.;|0;|2;|6;|7;|8;|9;|:`4a4VAa0A a0jA$a0bA(a0ZA,a0RA0a0JEi +@Ez +@-2g maE4a l`3`v mp0("Jf t`3`^ mp0(Э+@ mp0(;@ mp0( Э+@ mp0(;@a $m $$m$$$m0$$m0$ mp($m($ mp($m,$ m JWHH/ m gp.$m $m(gp.$m$ $m,VHHg m D/$m /$m$/$m(/$m,/N$( m $m0$ - m $m 0|큆$m$ 0|큆$m0 VHa&<x:<a`2H` <r4<`26a2|A,a."A(a.A$a.A a. A4a.AXa."A\a.A8a.`A`a. A @g @g$m\0H$m8 Ra>g$mXRR$mX0koY`-Ta-AHa)ADa)8A@a)0-2g"$mD $m@"a*$mH$a`-`$mHB$m@ ``@$mD R^HH/0-H$mD^HHgj$mD Э @ Э$mH$`N$mD R^HH/0-H$mD^HHg($mD Э @ Э$mH$` Jgx @g$mH VHHDa`,Xa aT 24&8:BgmpNu<ngfDdpNufAdpNupa JkpNupNua*AHPB?HQ?<NNAP _NuDExa`bDEa`ZaR11!Nua11!Nu 24&8:DE`6 24&8:DB`&a\&8:DE`DEx`aH` 24&8:HnghDBHngXDE~<En g6@ABDFGcGcGb8(vHDl`G8BCHC` GHD8HD쬵k&Dуd QRB BbJjDBNu DENupN֓DjdDA@ cAр[SBoJjDBNurptNuH@g0J`Ѐ[rGoJjDBNu0ftNu@[rB oH@JjDBNu $HkBk Bj*DBNupNuDBBkBjDBDNuf gp`a 00Nur$o, b4< J@k @[H@NuH@RBNu4<Ѐ[NuDg8k2 b4< J@k @[H@DBNuH@RBDBNu4<Ѐ[DBNu40rHGGdHGGdSWDуdi?<>0rHGGdHGGdSWDуdi2?<>0rHGGdHGGdSWDуd&2 H@kփAр[SBkփejRAd RdQRBJjDBNutNuCEdSW`?<,>CEdGeH@0r`fJCgz?<0rÐdSWЃdi?<0rÐdSWЃdid?<0ÐdSWЃd&2 H@kփAр[SBkփejRAd RdQRBJjDBNutNu?<0riP?0i?`?<`apEgP`LJg&B.C`a8aD*9fap-I,=|p4aHz*9g ENp9` _a &nO:NMI*K $<Nu[1][Error +111][Return]E~ g g>Jf`Ar Hjr-D@Hd0H@H 0H@0CNuAF"H [1][fSEfNu`HQ?< NA\Nu@$g\kdHfiHNufnpNupNu"lDaDNuJnDaDNuzxeҁ؄d`ef Nup`z@&gTkdHöfiH@HNugmNupNuz&lDaDNuJlDxeփ؄d`efNupN"_K MI*O:HQ <-H*,`N,/d d3 d# d# # d# # # # d ALH dAL H LH d AL`H L|0H>L|H>d~# # # # A`@ALH L|H>L|H>L|PH>L| H>L|H>L|H>L|H>L|`H>L|0H>L|H>QL|Nu$H$&"BA -KaXA"f B &nNuH>dd2d"d""d""""d LHC dLHLH C@d LHL|H| L|H|PCd~""""C`:LHL|H| L|H|PL|H|L|H|L|H|L|H|L|H|@L|H|pL|H|L|H|CQL|Nua`Np?a a?<LNA``NuNu`aza`aaaHA-Hhp alpMah=@F?<NNTT@A0r p0Q`pdr ta0.F=@=@ACp,2QAp 2Qaa`\`Xpea>pCR2Ad0A2r22aZ"<70<NBLNurt=@:=A@=B NuHz(` N7Hz ?<&NN\Nu9gNuWNu|^|  R^,T:&0D4(*<B$,>2::(   F..26"8@"PQ1!P1P!0PP`0  q#aaa na O: n*NNuNuNupc?a0QNurdAd6Ag,B(dB(dH Ao<atoBAp`NuNu?<OA`d?<IA`Z0<H IaLt Ig Og Ug Ag Rg,afNup`ap`"0afHRa>Er$Wgr STD:gr COM:g r LPT:f4FA$_0=@Dk"~CA0< BhaB2"pNu$_AF Ge><QBAFpNuafgzp=` aZgzpaTaRFBd&8*L?a2<aSF Be BgQRB`RAdR e <rRF&0xaCձfEv+0JFjDFv-Hƌd0BFHF 0HF0ANuprt|`HQ2.d Aeg>r C 5e&!R 0c 9c0`<R"_`VC0 Ef"_Nuaa/ CFr  g 00VJAgB @ nN @mHJ@j0.4DBUBk0QSAg Q.`S@k 0`0BAF "_Nu.WAkQA 0g`prt|P;Q:  g +g -f .g40  b 0e 9b da6`RF` .f 0e 9b daSF` Eg efX +g -f 0e 9oSH`00  b&Hz0  b E Do`ZJjDDDS4<.a$JFkSFk4arQa`&HaFFaZQ&8*L/a|,H܆jDBJ.:gtBn:Nu @$@JfS a`QNu$Aa`QBNuHza`HzaH `HPHQ0(ika $I _atIUd4Id4Id$Id `$$$$Q _Jf,aDId4Id4Id$Id `$$$$Q @NuSaIdIdId`Q @Nup `X/ a$I> _aԲG` VNuag`af`ae `ac` acpNuadpNu/ a$I> _a4Ae4v` VfANuHP0(R@kBav $I _a^IUd4Id4Id$Id `$$$$Q @JfNuNup `a SAfNuag`af`ae `ac` acpNuadpNuaSAkfJANuH HPhkJa $I _aIUd4Id4Id$Id `$$$$Q @JgSL`QNup `aAf` VNuag`af`ae `ac` acpNuadpNuaF4@m4v` Vf@Nu/HP0(X@kHa, $I _aIUd4Id4Id$Id `$$$$Q @Jf$Nu $Nup `HaYAfNuag`af`ae `ac` acpNuadpNuaSAkEF$p VfWANu?HP0(T@kHa $I _ajIUd4Id4Id$Id `$$$$Q @Jf4Nu0XNup `a&UAfQNuag`af`ae `ac` acpNuadpNuaSAkXf SAkXfJANuth`tpa ".Nutj`t@H|`rk` rf`rg`r5=@|0`ppM` pO`p`po`^~*@-AH|`Lt)`t` tr`t2`t@-A=B|`,H@-@|p` HAHBHCHDHEHFHG-HfAD-HH@-@H|p`rAD-@f-H `r6 @`0.bHNupNuz`z `z8.^n\Dn\@Hp tr=ED`Xn\n^n\n^A0000000000prt`&n\n^648HH`prt`n\n^n\n^8HH`prt`"_A `4RB`"_A42L\A` L0GF11Q-p`prHQ`Bp'rta n2rt6(SC0(S@apaB\papava0paRG=GYfx-IC=C=C$tBft=B=B(tFJ=BBBB*Do>Eo:@l6Al2DDk =DVBnDEk =EnBn@cVo Acno,_NuAH`/=@a _a H]Ak024E$ Bb5B5A6CC5CK5C:8AB0000DkxEkt00A<:d>:bSFSGFn\GnXDDk0BhDEk1EBh Fchh Gchh0hb"0hbpmrt-|FH-|FL`Nu-HN;?<NNT-@XDbDEbEBb=ET=DV-|PBLBp n20(L=CJ?=B^C=C\=Cj@drAdnED??RGRF=GF=FHtGJ=BltBft=B`=BnGOpЇЇ b na 222-IfHVMF,_Nup ` T np` h??/ a , > _a |4$FAFp_@[000][vx`* [g" ]g |g QSx` xQSrQ][vx`* [g" ]g |g QSx` xQStQ]BAF0-H,=@p4a62HNu 24DBaDB11!Nu 24DBa DBNu 24x6o<Ce(FC BdЄeNu B/dHDDdRdQRBNu&<:<`"g BbUC BcjNu BcHDDdSkg RBAрjNuNu0ftNuB H@"jNuE"ea ~"ep`&6NuE "e a \"d&&6NuE"e a >"d66NuE"e a ""d666NuE"e a "d6NuE"e a"df&66&6`N 24` ka~A&8:BgmpNu<ngfDbpNufAbpNu <}a$Ia `$XaH`aHR?<NNT @"_ <}Nua`QNuHg"cc/ 0)a _$PS@kH2QNu2(g$PRAA4DBH%$Y2Pg 1AHRAA%NuBhNupLADa4HTBnBL*Hd"aZHd"aRHd"aJHd"aBHdF n Dg"`.2.JWAARA0.L n.g hfRAS@f=AB"aNug//ANu@k AB00HNuX@g .NuAD Nuz`zA6C|IdXC |2:H<0`$6HpA2`A.p` A>`A*p4. g=BNuao aШNupNuaJFoHPJhja?<?B?<BNAO _*kBg?/(?<BNAO Jk NuNafoazJBkAf`a|??/?<BNA.k \Hx?<BNAO [HHNux`x*0ao< 2fJjr`~Nu~dGdEH<Nup`0@F@AJhg PLNu`LJg(HPBHh/??<@NAXLf ѨLNuJkp%`aJBja!| ??<>NAXOJkpNu0< aH`0< CF2p`:p a2`p CFp`&a CF"p`Hza`HyO&"J`B.@=|DNua.@FpAR@C` @H` @HHyO&aba"H`HyO&`HyO& 24`@H` @HHyO&a*a"Hav`tHyO&`HyO& 24`B.@=|DNuB.@a`=GDgNup`zJg$_a: HN$_a: HN$_aBHN$_a؄BpHN$_aB0HN$_axBpHN$_alN$_ab؄N$_aXN$_aPN$_aF 0HN$_a:؄00HHN$_a,p0HN$_a 24N$_a:p 0HgpN"X I"_(*UGk*<(؆QNp`p`p` p`pJPg`r$_a!HN$_a؄1HN$_aHN$_a 00N.@<.DAp$I"t Q k"RGef~`SG * g *fSG`<.DjZ\FkBJn`g Fgd Fg^HS&I.aQ`p???<NM\Qj&_NuHQ/?4(g8HP b6 a^$_// Z4HQ`S@Q _Q _a, _Nua$`p`؎AFtЀvQBNuAFt0 9c^QBNuAFt 0QBNua`a`aCF 0gS JfS`@a Acr `@a A cr `@a\ A cr `N=|$H`HarLHP?.d=hdN=|=_d2 "@$Y4Ad2`0Q @Nucc&$H0*a$RHd2Hd2Hd`""Q`@`r ??a"P02R@H`2Q Nu<>Hz?<&NN\`t n2LLJFj|@c<JGj~Ac>02 h|N n2HHNu80a|DHz ?<&NN\Nu| n2 h N n21@Nu?AFBHP?<GNAPAF `Hr0?HQa _/ ?a 0 _4gSB@cLAc4JBg,J@g4@Bo2’S@,. SB6VgS F"GQpNufJ@fSBD@BR@HNufS@kVfpNuaaJjtNuaHPa pJk NuCg.BJ@g  g &g, $g %gN> NutNuRpt`2Rpt`Rptr ae OgX Xgn HgSRB ae Fb$0k  c_  c b退`tSHkaѢNuRB0 b b瀀`RB0 fрd`?<`Bg/0ao< 2JjJAfr`0TNu=A|aNA09RyH@@-HtBe2QB p#`H XXHPa/ oH!_ LxNu/LNu2(gbc  P"H`Nu/0Ha2  _ PSAvjx E(Wf* ae zb Q @Nupagp?<?NMX"NuBnp`pBnp`p=| p|=Fn@=@b=n`ranHj=Ah~`:a JfBH@ RfF.f Kg" Mg sg tg Pg Hf~`xSGjtRGFcn>`jAF gp gj g grffnnpenbfJ.fj6pRGFc$SG` J.fjpRGFcRF` Ff`> `?~ap a0p a*0Nu|``CpE`bf`FgRGJGgSGSFFgCpE`Yf`Nua@Jf gH@ fa(@ fza0 b @ Ee0NuagNu4.rf?HyaZNM\Nu=|D`LjazEfpadppa`AFEg0PaEfaFRE`ܾEfp a@a8?nnnp a2RF`<annoS@f nhfSnl=Ah=FnNup` papq4.rf?HyaNM\Nu=|DHaLNu|A0"P2(@e2<EF`QHP=|DJ@g$abAF$HpR@ 0 f _a`QNuHPp?ap a _2<|0`C&pHQ/Hy@NA NuC pa:NuHQ/Hy?NA Nu&g4 FgagJAga2< R@AdSf0Nu0ap Ce`&g4 FgahJBjagPAe CbRa R@Sf0Nu FgRa0g JBjaBAeaJAg RP0 pNu` Fg6agJAga @eaRP Nup NHѨB?<?/?<BNAO JkLLNu&8aJBjaJAg Df*ڃkd0Nu DfրBH??/?<BNAO LJk!@NuHBHh Hx??<?NAO LJo ѨLNuk:fp`^k: g ѨNuBHPHQ/??<?NAO _JoѨfNuBHPHQS/??<@NAXLfѨNuJkp%`μB9`$H Ea&A AerQBL@͉H Ia"H _/ aa _/ ?aAF-H AerQB2"_A&-H A e ` \gQBa9gaZe -|p[`pZajajAF"H0.g "Hg \f`A&fS !.gR EF _a(`QNuHz?<&NN\ @Nu x NuA@Bh`A@a n@!|}Nup#fp{Nup`p`#Nu?a0` ?a2@@a` a Nu4.`Af n2LR@RANu4.`g S@SAHNutbpbr??pahpYab0a\0`VD@v`v??NMXJNuJ@k??<NM"UAf J@fH@Nuajh0fpNu\@`ax`]@><CF Ipa<0HNua\`]@><CF Ipa Nu?|`?a:0R@f|0aHJFkHPa _Nupo`>HSHP&I>g\SG??<NMXJk Q _t&_Nu&_`aJANuag `af`apNuapNuC`C``C` C`C-KJhfJfRRRRRRRHP? @CFH~8:E#P&<2 `b$bYEf`"RAf rЁЀ`&Ѐe "ЀeЁdp`RJAkfgRer?DDЁaAa8$HX :CFE` YEjT"_$P"2trDDd0d d d` QjNu`ʾaDa DNu na^ K"ng42 $`gk2&Hg Af deђ$`ebѐXf&nNu AgebѐA``-Kx$ n&$n""Hg8" &Ak cѐ S`g"" k#&Acё2+SAI3 Q&f-I"&nNu-Kx$&ր n&$n""HgR" k&Ac b S` S`g4" k#&AcbrkX`ޑ2+SAI3 Q&f-I"&nNuaT n2L6(n\n^HHHNua4 n20(n\HNua" n20(n^HNua n20(HNu`avNu؄*؄؅CH`尘؅X`$_  IaDYHR"H @`ʘ؄*؄؅AHNu؅X`$_ IaYHR"H` n{d$HJf-HS Nup"`ȒHPa _a`QNua JH aL0Nua`Ća!@ NuAANua1 Nut`t`t`t`t`t `t`t`t`t`a ( Nua Nu@@Nura00HNur`r`r`r`r `r`r`r`r`zQ`z ` zn`z4=A|aB-IHQB0a _JNuz"-A=B|a-I`#h:HrYa pYaLapY`Ю 9h:/rYapYa4Hyp?o?<?NAO JkpY`v/a `2?<NNT @BBB*o$U2-6<}Sk"xDkDDSDQQBNupNu(IU@gp` pM86g pM85gpg&L$H4 pM86fRXBF6<BGf`gBG`fJgbSBkZGPSCf 6<&LR(KQ` pM85f:BFBGf`gSBk`fJgSBkQ`pNu  z$@ Block*.INL*.BLK___*.___PPPDATA*.LSTweitere PD Programme (siehe READ.ME) :Bellissimo 1.1 , SpiceGraph 0.2Widerstand 1.0 , Briefdruck 2.2D- weitere Hilfestellungen zur Anwendung siehe READ.ME -EndungBild ladenBlock TestBildblcke in GFA Basic einfgenDragboxhorizontal______999vertikal______999BlockgreBild verschiebenBlock schneidenSTAD (*.PAC)Doodle (*.DOO)Screen (*.PIC)DEGAS (*.PI3)Bellissimo (*.BEL)Autor:________.__.__999999Christoph Emde__V _._99Kernerstr. 147100 HeilbronnEntwickelt mit :GFA EWS 3.5Turbo Ass 1.7Bildformat 0  @@@@   0?? 0  @@@@   0?? 0  @@@@   0?? 0  @@@@   0?? 0  @@@@   0?? 0  @@@@   0?? 0  @@@@   0?? 0  @@@@   0?? 0  @@@@   0?? 0  @@@@   0?? 0  @@@@   0??8 0``@@A  @@??<@D9T_Uxld-$&'(./?CIMRS[( !8  MXY ]aektu x| ! (789<BESTUdefwxy  07D$>dTDZD$dD$?@     z1 8    .   U !Jf  <   # $# E  $@[  @i! "@v#* @%&'F ()4*3% + F,- h./ 01 23  ) >5=%6b7~8 9: ; <  = & 4 B  ? ^&  6 @- 00081884228422842284420774044204228422842288188000016382819410250923487388322851483228738923410250819416382065535327694504543605450454322145045450454096549149471334708546317463173276965535032766204902193020490223142049020490245701638618402184501921819218327660GFA_BLK.RSC GFA Block 1.0 180891STAD Bild ladenDoodle Bild ladenScreen Bild ladenDegas Bild ladenBellissimo Bild ladenINLINE Block speichern*.BLK Block speichern*.LST Blockdatas speichern*.PAC*.DOO*.PIC*.PI3*.BEL*.INL*.XXX | Falsches Bildformat | | Kein Bild geladen | | Breite oder Hhe zu gro | | Kein Block definiert | OK Kein Block definiert !' Datas fr GFA Block :' Aufruf : PUT x,y,$,modus' Christoph Emde 8/91 READ daten% EXIT IF daten%=99999$+MKI$(daten%)DATA | Radierergre | 10 | 20 | 40 | Strichstrke | 1 | 3 | 5 Division durch NullberlaufQuadratwurzel nur fr|positive ZahlenLogarithmen nur fr|Zahlen grer NullUnbekannter Fehler Speicher voll String zu lang|max. 32767 ZeichenFeld zweimal dimensioniertFeld nicht dimensioniertDim zu groBei Open nur erlaubt:|"I"nput "O"utput "R"andom|"A"ppend "U"pdateFile schon geffnetFile # falschFile nicht geffnetFalsche Eingabe, keine ZahlFileende erreicht|EOFFeld mu eindimensional sein"Zu wenig Data#Data nicht numerisch%Diskette voll0Open "R" - Satzlnge falsch1Zu viele "R"-Files (max. 31)2Kein "R"-File4Fields grer als Satzlnge6GET/PUT Field-String|Lnge falsch7GET/PUT Satznummer falschMenu falsch?Reserve falsch@Pointer falschCASIN/ACOS falschEENDFUNC ohne RETURNPMatrizenoperationen nur fr|ein- oder zweidimensionale|FelderQMatrizen haben nicht die|gleiche OrdnungRVektorprodukt nicht definiertSMatrizenprodukt nicht definiertTScalarprodukt nicht definiertUTransposition nur fr|zweidimensionale MatrizenVMatrix nicht quadratischWTransposition nicht definiertXFACT/COMBIN/VARIAT|nicht definiertZFehler bei Local[Fehler bei For\Resume (next) nicht mglich|Fatal]Stapel-FehlerbBefehl nur ab STE mglichdGFA-BASIC Compiler 3.5E D| Copyright 1986-1990|GFA Systemtechnik GmbHf2 Bomben - Bus Errorg3 Bomben - Adress errorh4 Bomben - Illegal Instructioni5 Bomben - Divide by Zeroj6 Bomben - CHK-Exeptionk7 Bomben - TRAPV-Exeptionl8 Bomben - Privilege Violationm9 Bomben - Trace ExeptionAllgemeiner FehlerDrive not Ready|ZeitberschreitungUnbekannter BefehlCRC Fehler|Disk-Prfsumme falschBad Request|Ungltiger BefehlSeek Error|Spur nicht gefundenUnknown Media|Boot-Sector falschSektor nicht gefundenKein PapierSchreibfehlerLesefehlerAllgemeiner Fehler 12Diskette schreibgeschtztDiskette wurde gewechseltUnbekanntes GertBad Sektor (Verify)Andere Diskette einlegenUngltige FunktionsnummerDatei nicht gefundenPfadname nicht gefundenZu viele Dateien offenZugriff nicht mglichUngltiges HandleSpeicher vollUngltige SpeicherblockadresseUngltige LaufwerksbezeichnungKeine weiteren DateienGEMDOS-Bereichsfehler|Seek falsch?Interner GEMDOS-FehlerKein BinrprogrammSpeicherblockfehler 6&* ^" &" * $$|$ $ $^pn$JXX:8*&46B^$mT  maNVaI$m0RD/pAf$m4H"ap>$mTR$mlR$ml o]`8$mT  maNaI$m0RD/pAf$m4H"ao$mTR +$m<ђ$m<"$+JjAo&G$m`0Han$mL an $m4 $md"anAfN8 mN8NVNNATNAPNANANA털NA턴NA퀄NÊA/??$mT $mPJnD&<:<a>l8:&aH m 00p$md$$mXB$mP ]HH/$mT ]HHg$mT $mPo&$mP D$mh$$mT Drl@$m$$`$$mT D$mh$$mP Drl@$m$$"m< mh"$md D$m$"al`~$m0Hrl@/$m0Hrl@/$m0H"<o@/$m0H"<o@(&$raZ$mT $mPo$mX  maDa@\$m0RЈ/$m0aCp ma=~/??$mX  maD8:&a=fa@/$m< Э.p|z($m6H$$m2HaX0`$m0aC max:((<<RDUAoXVJAj=BgBRB"X(BNupNua=/$m< Э.p|z($m6H$$m2HaV`$m0a@ ma:/??$mX  maB8:&a:a=/$mX  maAa=$m0RD/$m< Э.p|z($m6H$$m2HaU$mXR +$m<ђ$m<"$+JjAopG`zazATauAPauAauAauA털auA턴auzA퀄a|\ATavAN ma8\/??$mT  ma?f8:&a8Da:/$m< Э.p|z$m8H&$m4H"aS`$m0a= ma7/??$mT  ma?8:&a7a:/$mT  ma>a:$m0RD/$m(IU@gp` pM86g pM85gpg&L$H4 pM86fRXBF6<BGf`gBG`fJgbSBkZGPSCf 6<&LR(KQ` pM85f:BFBGf`gSBk`fJgSBkQ`pNu"$md $m$"ad`~$m0Hrl@/$m0Hrl@/$m0H"<o@/$m0H"<o@(&$raS$mT $mPo$mT  ma=za9$m0RЈ/$m0a<. ma6 PROCEDURE stad_decomp(file$,VAR z$) ' q$=SPACE$(32000) z$=SPACE$(32000) ' OPEN "I",#1,file$ ' BLOAD file$,V:q$ ' r%(0)=XBIOS(4) ! D0 Bildschirmauflsung (2-640x400) r%(6)=32000 ! D6 Bildlnge (32000) ' r%(8)=V:q$ ! A0 Quell-Bild-Adresse r%(9)=V:z$ ! A1 Ziel-Bild-Adresse ' RCALL decomp_stad%,r%() ' CLOSE #1 ' RETURN m N m$N m(N m,N m0N m4NpaX"paX N2T`pDapA4akA0akA,akA(akAakAakAakATakAaGFA-BASIC3$$$$$$$$$888888\\lxxxxxxxxxBILDFILEQZBEL_KOMP BEL_DEKOMPEBEL_KOMP BEL_DEKOMP  LBeispielprogramm zum Einbinden von Bellissimo Bildern in GFA Basic 3.xx  ̽ Christoph Emde 8/91  Bfalls dieses Beispielprogramm mit MERGE eingeladen wurde mu BJzuerst die INLINE Routine eingeladen werden. Siehe GFA Handbuch 2-44 x !rFI?<NNT @BBBBB,oT2<|"V6.(IVn>x:((<<RDUAoXVJAj=BgBRB"X(BNupNu^!PFI?<NNT @BBB*o$U2-6<}Sk"xDkDDSDQQBNupNu &t!!Fo Demografik d&@!!@!Fo " t!!F " &d!d!!,F  " &p!!! F  " *T!!Bellissimo 1.1F "  DF. Bild holen lLA:\GFA_BLK.1_0\BILDER\TEST1.BEL F. Bild komprimiert speichern FFJA:\GFA_BLK.1_0\BILDER\TEST1.BEL F  Bild laden und darstellen  &T!!- Taste drcken -FB J F ! F! $8uм FF Komprimieren -$P!!B F und abspeichern  F !2 F 4} F Platz machen i $I!M!F File ffnen T!F Einladen e48uм FF auf Bildschirm dekomprimieren 0MF File schlieen dDF Bild retten  F00x m PAH//x m PAH 24varN8:&a)Tx m PAH 00 m<0B0 <r4< m PROCEDURE bel_komp(file$,q$) ' e%=C:bel_komp%(L:ARRPTR(q$)) ! Komprimieren BSAVE file$,V:q$,LEN(q$) ! und abspeichern ' RETURN ' > PROCEDURE bel_dekomp(file$,VAR z$) ' q$=SPACE$(32000) ! Platz machen OPEN "I",#1,file$ ! File ffnen BLOAD file$,V:q$ ! Einladen e%=C:bel_dekomp%(L:ARRPTR(q$)) ! auf Bildschirm dekomprimieren CLOSE #1 ! File schlieen SGET z$ ! Bild retten ' RETURN P`EHpa_/Bg/-N|p-axJWHH"p$mJgpf$mgB/-Nx mEzpaCg$paYzx"mra}2/ <r4<ac/Nt>aAxpaYzx"mra}/tab/Nt>aARpaYz$mpڒx"mra|aA6paYzx"mra|aA paYrzx"mra|aA -o6 -a&FabCaRpaYBz x"mra|z/HmNt>a@$m<"pacClaRjpaY zx"mra|Da@"mX ml"$ma?paX@Ala?$mP9V F D0 Bildschirmauflsung (2-640x400) n8P9}F D6 Bildlnge (32000) x ,P9F A0 Quell-Bild-Adresse ,P 9F A1 Ziel-Bild-Adresse  \! F 0MF F`EpaX/EpaX"ma;6/aX//-/-N mar/ maZ4p\a< mp a<|gbEpaX~//-Nl/-N$af$m$$m m$m/NaH mra0,`:Ezp maL.`(Ezp maL`Jg @g @g`ZaZA8aVVAp$m|$$m| rao8EpaQ$m| RraoEpaQf$m| TraoEpaQL$m| VranEpaQ2$m| XranEpaQ$m| ZranEpaP$m| \ranE5paP$m| ^ranENpaP$m| PranhEgpaP$m| r ЁranLEpaP$m| r Ёran0EpaPx$m| r ЁranEpaP\HxJHx6HxEp aVL/NHxHx6HxEpaV,/NHxHxHx NaUJfa1ar$m84$m<4$m@4$m@0S@WHH/$m<0@6nB$m<0@J]HHg$m80@J^HH/$m80@]HHgHxHx N`J$m80@^HH/$m`h|>AON1Q2Eab$EaaaD ;@npaFXa;0-nfXE{p aS/N"NJBfa5NNfN <a9 @p(a*aVN/ <a9 @p(a*|aV2"_a>CaJp~Ahab$0<}aVC퀸aJ0<}aVC퀲aJtpaR"<}aTC퀾aJ\A퀸aREh +@Eh +@?<NATrAЁaRTp:a>/?<NATRaV"_a=lp\a>CaJp ~AVaajp ~Abaa^E|paQfx"mVadE|#paQPx"mVacE|4paQ:x"mVacE|EpaQ$x"mVacE|UpaQx"mVacE|jpaPx"mVacE|paPx"mVacE|qpaPx"mVacxE|paPx "mVacbE|paPCaP5`nx-"mbaZra.,paA}f*x-"mbaZ/A퀾  _a\"A퀾a?P5`E}:paGrC ta=R+Apa,`nx-"mbaZbra-paAh}f*x-"mbaZ@/A퀾  _a[A퀾a?P5`E}:paG(rC ta<+Apa,$`lx-"mbaYra-Lpa@}"f(p"raAvp2<}aVNC퀾a?LA퀾a?P5`E}:paFrC tax-"mbaYbra,x-"mbaYN/A퀲  _aZpa@L}fA퀲a>P5`HA퀲/ mNXLx+@P5pa+"`( @g` @g @gx @g @gHp-/x-"mbaX/Np("mbaXt`HBaHAaD|A aDtAaDlALaDAPaD0-H mfaYjVHR@f|` 0-H mfaYHVHR@f|Q4p-``pa7pa7pa6pa6pra7a-:aWl+A+B+C`NZHy NMXrUg`NHy NMXrQgpa7aWfSWHH/aWXUfp.aW(gp.aW,VHHgaW,SWHH/aWUfp. -"WHHgPaWUf P4NaV+A+B+CaVSga,^`NZHy NMXrUg`NHy NMXrQgpa6aVV+A+B+C -&-$-"-a4taVvSWHH/aVhUfp.aV8gp.aV/ < OK a?r"_ta4+A`V0-J@g(x-"mbaQ/A퀸 /0-H" _aR`&E}@pa>/ < OK a?Dr"_ta4L+A`a*pa:E}Vpa>*"H m a) <.LSTa,Na)pa:VE}mpa>"H m a)E}pa+pa)pa:*p'a>za)pa:E}pa9Ppa:p'a>Xa)xpa90Pa)fpa9E}p a9pa9E}pa9 pa90< a>"H m a):0<$=a,@"H m a)(E}pa*a)pa9 a>aNd+A+B+CpA퀸$-"-a/ aNSWHH/aNxUfp.aNHgp.aNLVHHgpA퀸$-"-a.aN:SWHH/aN,UWHHgt`>a>JaM+A+B+Cpa-.pa-8pra-< -Э&-֭$-"-a+aMSWHH/aMUfp.aMgp.aMVHHg -Э&-֭$-"-a+zpa,pa,pra,aMhSf@pa-pa-pa,pa, -Э&-֭$-"-a+pa,pa,aM UfXE}pa:r/E}pa:dr"_ta0 +A -`p +@`"p+@`p(+@` @g @g @g`ATa,aLh+A+B+CaLSWHH/aLUfp.aL^gp.aLbVHHgaLbSfhpa+ -.a+pra+pa+aL/aL&"a*^aL.SfaL?aL?pa*aLUfpa+8pa+Bpra+Fpa+aKUfXE}pa9D/E~ pa96r"_ta.+A -`p+@.`"p+@.`p+@.` @g @g @g`;|a;Aha7ATa7Aa7a@$mT$$mT B@H@$mhp$mh` N$`0Nv`(N` N` @Hg @Pg @Kg @MgaJr]HH/aKSWHHgN$aJ|^HH/aJSWHHgNvaJr]HH/aJSWHHgNaJxl^HH/aJSWHHgNaJtUWHH/p$mhSWHHg`::a: mx*<|~a,~?<NNT/?<NNT"@ <z _a m$<ra*`9a:. m(<*<,<~a,$?<NNT/?<NNT"@ <z _a4 mtra*,`9a9A퀾(<*<|~a+ m(<z|~a+ mt"<xa)A퀾tra)`9Ba9A퀾(<*<x|~a+ m(<*<|.<xa+f mtra)A퀾tra)`8a94Aa5vp.a6"ma;+@p\a6"ma;+@ - ma7p*a#/ - ma86"_a!Ca.A`:Ja8Aa5Ada4p\a6"ma;$$md4p$md4RЊ ma7"ma.6 m0(HY ma7N"ma. m`9a8h0<a680<a$h0<a$`CTa-0<a6CTa!:0<a$@CTa-p+@ aHA| 00A|a .a5CTa!CTa-R p lp+@ aHlA퀄 00A퀄a a5CTa CTa-bR p l0<a50<a#0<a#Ca-60<a5`Ca 0<a#Ca-p+@ aGA| 00A|a va5(Ca JCa,R p lp+@ aGA퀄 00A퀄a :a4Ca Ca,R p l`6a6praBpa8apraBa5Ha0 `6a60-H mfaG @/A6"a0-H mfaG @/A<"ad0-H mfaGd @/0-a ba7"a@0-H mfaG@ @/0-a >a7v"a0-H mfaG @/AB"a`5a6"Aa1Aa1$m $m RaG$m"$m RaF -z,-v*-r(-nv$m$$m"a"`5~a5B4mxHRHmfN) a `5`a5Aa1LA퀾a*$m a#+An+Br+Cv+Dz -z,-v*-r(-nvt$m"a"b`5a5VAa0Aa0p~g$$m $m RaFF$m"$m RaEA퀾a*`4a5 Bmx;|z;||;|~;|r;| ;| ;|;|;|;|;|;|;|;|!;|";|#;|$;|%;|*;|,;|.;|0;|2;|6;|7;|8;|9;|:`4a4VAa0A a0jA$a0bA(a0ZA,a0RA0a0JEi +@Ez +@-2g maE4a l`3`v mp0("Jf t`3`^ mp0(Э+@ mp0(;@ mp0( Э+@ mp0(;@a $m $$m$$$m0$$m0$ mp($m($ mp($m,$ m JWHH/ m gp.$m $m(gp.$m$ $m,VHHg m D/$m /$m$/$m(/$m,/N$( m $m0$ - m $m 0|큆$m$ 0|큆$m0 VHa&<x:<a`2H` <r4<`26a2|A,a."A(a.A$a.A a. A4a.AXa."A\a.A8a.`A`a. A @g @g$m\0H$m8 Ra>g$mXRR$mX0koY`-Ta-AHa)ADa)8A@a)0-2g"$mD $m@"a*$mH$a`-`$mHB$m@ ``@$mD R^HH/0-H$mD^HHgj$mD Э @ Э$mH$`N$mD R^HH/0-H$mD^HHg($mD Э @ Э$mH$` Jgx @g$mH VHHDa`,Xa aT 24&8:BgmpNu<ngfDdpNufAdpNupa JkpNupNua*AHPB?HQ?<NNAP _NuDExa`bDEa`ZaR11!Nua11!Nu 24&8:DE`6 24&8:DB`&a\&8:DE`DEx`aH` 24&8:HnghDBHngXDE~<En g6@ABDFGcGcGb8(vHDl`G8BCHC` GHD8HD쬵k&Dуd QRB BbJjDBNu DENupN֓DjdDA@ cAр[SBoJjDBNurptNuH@g0J`Ѐ[rGoJjDBNu0ftNu@[rB oH@JjDBNu $HkBk Bj*DBNupNuDBBkBjDBDNuf gp`a 00Nur$o, b4< J@k @[H@NuH@RBNu4<Ѐ[NuDg8k2 b4< J@k @[H@DBNuH@RBDBNu4<Ѐ[DBNu40rHGGdHGGdSWDуdi?<>0rHGGdHGGdSWDуdi2?<>0rHGGdHGGdSWDуd&2 H@kփAр[SBkփejRAd RdQRBJjDBNutNuCEdSW`?<,>CEdGeH@0r`fJCgz?<0rÐdSWЃdi?<0rÐdSWЃdid?<0ÐdSWЃd&2 H@kփAр[SBkփejRAd RdQRBJjDBNutNu?<0riP?0i?`?<`apEgP`LJg&B.C`a8aD*9fap-I,=|p4aHz*9g ENp9` _a &nO:NMI*K $<Nu[1][Error +111][Return]E~ g g>Jf`Ar Hjr-D@Hd0H@H 0H@0CNuAF"H [1][fSEfNu`HQ?< NA\Nu@$g\kdHfiHNufnpNupNu"lDaDNuJnDaDNuzxeҁ؄d`ef Nup`z@&gTkdHöfiH@HNugmNupNuz&lDaDNuJlDxeփ؄d`efNupN"_K MI*O:HQ <-H*,`N,/d d3 d# d# # d# # # # d ALH dAL H LH d AL`H L|0H>L|H>d~# # # # A`@ALH L|H>L|H>L|PH>L| H>L|H>L|H>L|H>L|`H>L|0H>L|H>QL|Nu$H$&"BA -KaXA"f B &nNuH>dd2d"d""d""""d LHC dLHLH C@d LHL|H| L|H|PCd~""""C`:LHL|H| L|H|PL|H|L|H|L|H|L|H|L|H|@L|H|pL|H|L|H|CQL|Nua`Np?a a?<LNA``NuNu`aza`aaaHA-Hhp alpMah=@F?<NNTT@A0r p0Q`pdr ta0.F=@=@ACp,2QAp 2Qaa`\`Xpea>pCR2Ad0A2r22aZ"<70<NBLNurt=@:=A@=B NuHz(` N7Hz ?<&NN\Nu9gNuWNu|^|  R^,T:&0D4(*<B$,>2::(   F..26"8@"PQ1!P1P!0PP`0  q#aaa na O: n*NNuNuNupc?a0QNurdAd6Ag,B(dB(dH Ao<atoBAp`NuNu?<OA`d?<IA`Z0<H IaLt Ig Og Ug Ag Rg,afNup`ap`"0afHRa>Er$Wgr STD:gr COM:g r LPT:f4FA$_0=@Dk"~CA0< BhaB2"pNu$_AF Ge><QBAFpNuafgzp=` aZgzpaTaRFBd&8*L?a2<aSF Be BgQRB`RAdR e <rRF&0xaCձfEv+0JFjDFv-Hƌd0BFHF 0HF0ANuprt|`HQ2.d Aeg>r C 5e&!R 0c 9c0`<R"_`VC0 Ef"_Nuaa/ CFr  g 00VJAgB @ nN @mHJ@j0.4DBUBk0QSAg Q.`S@k 0`0BAF "_Nu.WAkQA 0g`prt|P;Q:  g +g -f .g40  b 0e 9b da6`RF` .f 0e 9b daSF` Eg efX +g -f 0e 9oSH`00  b&Hz0  b E Do`ZJjDDDS4<.a$JFkSFk4arQa`&HaFFaZQ&8*L/a|,H܆jDBJ.:gtBn:Nu @$@JfS a`QNu$Aa`QBNuHza`HzaH `HPHQ0(ika $I _atIUd4Id4Id$Id `$$$$Q _Jf,aDId4Id4Id$Id `$$$$Q @NuSaIdIdId`Q @Nup `X/ a$I> _aԲG` VNuag`af`ae `ac` acpNuadpNu/ a$I> _a4Ae4v` VfANuHP0(R@kBav $I _a^IUd4Id4Id$Id `$$$$Q @JfNuNup `a SAfNuag`af`ae `ac` acpNuadpNuaSAkfJANuH HPhkJa $I _aIUd4Id4Id$Id `$$$$Q @JgSL`QNup `aAf` VNuag`af`ae `ac` acpNuadpNuaF4@m4v` Vf@Nu/HP0(X@kHa, $I _aIUd4Id4Id$Id `$$$$Q @Jf$Nu $Nup `HaYAfNuag`af`ae `ac` acpNuadpNuaSAkEF$p VfWANu?HP0(T@kHa $I _ajIUd4Id4Id$Id `$$$$Q @Jf4Nu0XNup `a&UAfQNuag`af`ae `ac` acpNuadpNuaSAkXf SAkXfJANuth`tpa ".Nutj`t@H|`rk` rf`rg`r5=@|0`ppM` pO`p`po`^~*@-AH|`Lt)`t` tr`t2`t@-A=B|`,H@-@|p` HAHBHCHDHEHFHG-HfAD-HH@-@H|p`rAD-@f-H `r6 @`0.bHNupNuz`z `z8.^n\Dn\@Hp tr=ED`Xn\n^n\n^A0000000000prt`&n\n^648HH`prt`n\n^n\n^8HH`prt`"_A `4RB`"_A42L\A` L0GF11Q-p`prHQ`Bp'rta n2rt6(SC0(S@apaB\papava0paRG=GYfx-IC=C=C$tBft=B=B(tFJ=BBBB*Do>Eo:@l6Al2DDk =DVBnDEk =EnBn@cVo Acno,_NuAH`/=@a _a H]Ak024E$ Bb5B5A6CC5CK5C:8AB0000DkxEkt00A<:d>:bSFSGFn\GnXDDk0BhDEk1EBh Fchh Gchh0hb"0hbpmrt-|FH-|FL`Nu-HN;?<NNT-@XDbDEbEBb=ET=DV-|PBLBp n20(L=CJ?=B^C=C\=Cj@drAdnED??RGRF=GF=FHtGJ=BltBft=B`=BnGOpЇЇ b na 222-IfHVMF,_Nup ` T np` h??/ a , > _a |4$FAFp_@[000][vx`* [g" ]g |g QSx` xQSrQ][vx`* [g" ]g |g QSx` xQStQ]BAF0-H,=@p4a62HNu 24DBaDB11!Nu 24DBa DBNu 24x6o<Ce(FC BdЄeNu B/dHDDdRdQRBNu&<:<`"g BbUC BcjNu BcHDDdSkg RBAрjNuNu0ftNuB H@"jNuE"ea ~"ep`&6NuE "e a \"d&&6NuE"e a >"d66NuE"e a ""d666NuE"e a "d6NuE"e a"df&66&6`N 24` ka~A&8:BgmpNu<ngfDbpNufAbpNu <}a$Ia `$XaH`aHR?<NNT @"_ <}Nua`QNuHg"cc/ 0)a _$PS@kH2QNu2(g$PRAA4DBH%$Y2Pg 1AHRAA%NuBhNupLADa4HTBnBL*Hd"aZHd"aRHd"aJHd"aBHdF n Dg"`.2.JWAARA0.L n.g hfRAS@f=AB"aNug//ANu@k AB00HNuX@g .NuAD Nuz`zA6C|IdXC |2:H<0`$6HpA2`A.p` A>`A*p4. g=BNuao aШNupNuaJFoHPJhja?<?B?<BNAO _*kBg?/(?<BNAO Jk NuNafoazJBkAf`a|??/?<BNA.k \Hx?<BNAO [HHNux`x*0ao< 2fJjr`~Nu~dGdEH<Nup`0@F@AJhg PLNu`LJg(HPBHh/??<@NAXLf ѨLNuJkp%`aJBja!| ??<>NAXOJkpNu0< aH`0< CF2p`:p a2`p CFp`&a CF"p`Hza`HyO&"J`B.@=|DNua.@FpAR@C` @H` @HHyO&aba"H`HyO&`HyO& 24`@H` @HHyO&a*a"Hav`tHyO&`HyO& 24`B.@=|DNuB.@a`=GDgNup`zJg$_a: HN$_a: HN$_aBHN$_a؄BpHN$_aB0HN$_axBpHN$_alN$_ab؄N$_aXN$_aPN$_aF 0HN$_a:؄00HHN$_a,p0HN$_a 24N$_a:p 0HgpN"X I"_(*UGk*<(؆QNp`p`p` p`pJPg`r$_a!HN$_a؄1HN$_aHN$_a 00N.@<.DAp$I"t Q k"RGef~`SG * g *fSG`<.DjZ\FkBJn`g Fgd Fg^HS&I.aQ`p???<NM\Qj&_NuHQ/?4(g8HP b6 a^$_// Z4HQ`S@Q _Q _a, _Nua$`p`؎AFtЀvQBNuAFt0 9c^QBNuAFt 0QBNua`a`aCF 0gS JfS`@a Acr `@a A cr `@a\ A cr `N=|$H`HarLHP?.d=hdN=|=_d2 "@$Y4Ad2`0Q @Nucc&$H0*a$RHd2Hd2Hd`""Q`@`r ??a"P02R@H`2Q Nu<>Hz?<&NN\`t n2LLJFj|@c<JGj~Ac>02 h|N n2HHNu80a|DHz ?<&NN\Nu| n2 h N n21@Nu?AFBHP?<GNAPAF `Hr0?HQa _/ ?a 0 _4gSB@cLAc4JBg,J@g4@Bo2’S@,. SB6VgS F"GQpNufJ@fSBD@BR@HNufS@kVfpNuaaJjtNuaHPa pJk NuCg.BJ@g  g &g, $g %gN> NutNuRpt`2Rpt`Rptr ae OgX Xgn HgSRB ae Fb$0k  c_  c b退`tSHkaѢNuRB0 b b瀀`RB0 fрd`?<`Bg/0ao< 2JjJAfr`0TNu=A|aNA09RyH@@-HtBe2QB p#`H XXHPa/ oH!_ LxNu/LNu2(gbc  P"H`Nu/0Ha2  _ PSAvjx E(Wf* ae zb Q @Nupagp?<?NMX"NuBnp`pBnp`p=| p|=Fn@=@b=n`ranHj=Ah~`:a JfBH@ RfF.f Kg" Mg sg tg Pg Hf~`xSGjtRGFcn>`jAF gp gj g grffnnpenbfJ.fj6pRGFc$SG` J.fjpRGFcRF` Ff`> `?~ap a0p a*0Nu|``CpE`bf`FgRGJGgSGSFFgCpE`Yf`Nua@Jf gH@ fa(@ fza0 b @ Ee0NuagNu4.rf?HyaZNM\Nu=|D`LjazEfpadppa`AFEg0PaEfaFRE`ܾEfp a@a8?nnnp a2RF`<annoS@f nhfSnl=Ah=FnNup` papq4.rf?HyaNM\Nu=|DHaLNu|A0"P2(@e2<EF`QHP=|DJ@g$abAF$HpR@ 0 f _a`QNuHPp?ap a _2<|0`C&pHQ/Hy@NA NuC pa:NuHQ/Hy?NA Nu&g4 FgagJAga2< R@AdSf0Nu0ap Ce`&g4 FgahJBjagPAe CbRa R@Sf0Nu FgRa0g JBjaBAeaJAg RP0 pNu` Fg6agJAga @eaRP Nup NHѨB?<?/?<BNAO JkLLNu&8aJBjaJAg Df*ڃkd0Nu DfրBH??/?<BNAO LJk!@NuHBHh Hx??<?NAO LJo ѨLNuk:fp`^k: g ѨNuBHPHQ/??<?NAO _JoѨfNuBHPHQS/??<@NAXLfѨNuJkp%`μB9`$H Ea&A AerQBL@͉H Ia"H _/ aa _/ ?aAF-H AerQB2"_A&-H A e ` \gQBa9gaZe -|p[`pZajajAF"H0.g "Hg \f`A&fS !.gR EF _a(`QNuHz?<&NN\ @Nu x NuA@Bh`A@a n@!|}Nup#fp{Nup`p`#Nu?a0` ?a2@@a` a Nu4.`Af n2LR@RANu4.`g S@SAHNutbpbr??pahpYab0a\0`VD@v`v??NMXJNuJ@k??<NM"UAf J@fH@Nuajh0fpNu\@`ax`]@><CF Ipa<0HNua\`]@><CF Ipa Nu?|`?a:0R@f|0aHJFkHPa _Nupo`>HSHP&I>g\SG??<NMXJk Q _t&_Nu&_`aJANuag `af`apNuapNuC`C``C` C`C-KJhfJfRRRRRRRHP? @CFH~8:E#P&<2 `b$bYEf`"RAf rЁЀ`&Ѐe "ЀeЁdp`RJAkfgRer?DDЁaAa8$HX :CFE` YEjT"_$P"2trDDd0d d d` QjNu`ʾaDa DNu na^ K"ng42 $`gk2&Hg Af deђ$`ebѐXf&nNu AgebѐA``-Kx$ n&$n""Hg8" &Ak cѐ S`g"" k#&Acё2+SAI3 Q&f-I"&nNu-Kx$&ր n&$n""HgR" k&Ac b S` S`g4" k#&AcbrkX`ޑ2+SAI3 Q&f-I"&nNuaT n2L6(n\n^HHHNua4 n20(n\HNua" n20(n^HNua n20(HNu`avNu؄*؄؅CH`尘؅X`$_  IaDYHR"H @`ʘ؄*؄؅AHNu؅X`$_ IaYHR"H` n{d$HJf-HS Nup"`ȒHPa _a`QNua JH aL0Nua`Ća!@ NuAANua1 Nut`t`t`t`t`t `t`t`t`t`a ( Nua Nu@@Nura00HNur`r`r`r`r `r`r`r`r`zQ`z ` zn`z4=A|aB-IHQB0a _JNuz"-A=B|a-I`#h:HrYa pYaLapY`Ю 9h:/rYapYa4Hyp?o?<?NAO JkpY`v/a `2?<NNT @BBB*o$U2-6<}Sk"xDkDDSDQQBNupNu(IU@gp` pM86g pM85gpg&L$H4 pM86fRXBF6<BGf`gBG`fJgbSBkZGPSCf 6<&LR(KQ` pM85f:BFBGf`gSBk`fJgSBkQ`pNu  z$@ Block*.INL*.BLK___*.___PPPDATA*.LSTweitere PD Programme (siehe READ.ME) :Bellissimo 1.1 , SpiceGraph 0.2Widerstand 1.0 , Briefdruck 2.2D- weitere Hilfestellungen zur Anwendung siehe READ.ME -EndungBild ladenBlock TestBildblcke in GFA Basic einfgenDragboxhorizontal______999vertikal______999BlockgreBild verschiebenBlock schneidenSTAD (*.PAC)Doodle (*.DOO)Screen (*.PIC)DEGAS (*.PI3)Bellissimo (*.BEL)Autor:________.__.__999999Christoph Emde__V _._99Kernerstr. 147100 HeilbronnEntwickelt mit :GFA EWS 3.5Turbo Ass 1.7Bildformat 0  @@@@   0?? 0  @@@@   0?? 0  @@@@   0?? 0  @@@@   0?? 0  @@@@   0?? 0  @@@@   0?? 0  @@@@   0?? 0  @@@@   0?? 0  @@@@   0?? 0  @@@@   0?? 0  @@@@   0??8 0``@@A  @@??<@D9T_Uxld-$&'(./?CIMRS[( !8  MXY ]aektu x| ! (789<BESTUdefwxy  07D$>dTDZD$dD$?@     z1 8    .   U !Jf  <   # $# E  $@[  @i! "@v#* @%&'F ()4*3% + F,- h./ 01 23  ) >5=%6b7~8 9: ; <  = & 4 B  ? ^&  6 @- 00081884228422842284420774044204228422842288188000016382819410250923487388322851483228738923410250819416382065535327694504543605450454322145045450454096549149471334708546317463173276965535032766204902193020490223142049020490245701638618402184501921819218327660GFA_BLK.RSC GFA Block 1.0 180891STAD Bild ladenDoodle Bild ladenScreen Bild ladenDegas Bild ladenBellissimo Bild ladenINLINE Block speichern*.BLK Block speichern*.LST Blockdatas speichern*.PAC*.DOO*.PIC*.PI3*.BEL*.INL*.XXX | Falsches Bildformat | | Kein Bild geladen | | Breite oder Hhe zu gro | | Kein Block definiert | OK Kein Block definiert !' Datas fr GFA Block :' Aufruf : PUT x,y,$,modus' Christoph Emde 8/91 READ daten% EXIT IF daten%=99999$+MKI$(daten%)DATA | Radierergre | 10 | 20 | 40 | Strichstrke | 1 | 3 | 5 Division durch NullberlaufQuadratwurzel nur fr|positive ZahlenLogarithmen nur fr|Zahlen grer NullUnbekannter Fehler Speicher voll String zu lang|max. 32767 ZeichenFeld zweimal dimensioniertFeld nicht dimensioniertDim zu groBei Open nur erlaubt:|"I"nput "O"utput "R"andom|"A"ppend "U"pdateFile schon geffnetFile # falschFile nicht geffnetFalsche Eingabe, keine ZahlFileende erreicht|EOFFeld mu eindimensional sein"Zu wenig Data#Data nicht numerisch%Diskette voll0Open "R" - Satzlnge falsch1Zu viele "R"-Files (max. 31)2Kein "R"-File4Fields grer als Satzlnge6GET/PUT Field-String|Lnge falsch7GET/PUT Satznummer falschMenu falsch?Reserve falsch@Pointer falschCASIN/ACOS falschEENDFUNC ohne RETURNPMatrizenoperationen nur fr|ein- oder zweidimensionale|FelderQMatrizen haben nicht die|gleiche OrdnungRVektorprodukt nicht definiertSMatrizenprodukt nicht definiertTScalarprodukt nicht definiertUTransposition nur fr|zweidimensionale MatrizenVMatrix nicht quadratischWTransposition nicht definiertXFACT/COMBIN/VARIAT|nicht definiertZFehler bei Local[Fehler bei For\Resume (next) nicht mglich|Fatal]Stapel-FehlerbBefehl nur ab STE mglichdGFA-BASIC Compiler 3.5E D| Copyright 1986-1990|GFA Systemtechnik GmbHf2 Bomben - Bus Errorg3 Bomben - Adress errorh4 Bomben - Illegal Instructioni5 Bomben - Divide by Zeroj6 Bomben - CHK-Exeptionk7 Bomben - TRAPV-Exeptionl8 Bomben - Privilege Violationm9 Bomben - Trace ExeptionAllgemeiner FehlerDrive not Ready|ZeitberschreitungUnbekannter BefehlCRC Fehler|Disk-Prfsumme falschBad Request|Ungltiger BefehlSeek Error|Spur nicht gefundenUnknown Media|Boot-Sector falschSektor nicht gefundenKein PapierSchreibfehlerLesefehlerAllgemeiner Fehler 12Diskette schreibgeschtztDiskette wurde gewechseltUnbekanntes GertBad Sektor (Verify)Andere Diskette einlegenUngltige FunktionsnummerDatei nicht gefundenPfadname nicht gefundenZu viele Dateien offenZugriff nicht mglichUngltiges HandleSpeicher vollUngltige SpeicherblockadresseUngltige LaufwerksbezeichnungKeine weiteren DateienGEMDOS-Bereichsfehler|Seek falsch?Interner GEMDOS-FehlerKein BinrprogrammSpeicherblockfehler 6&* ^" &" * $$|$ $ $^pn$JXX:8*&46B^