Questions et réponses Alex Wyckmans vient au secours de lecteurs confrontés à des erreurs typographiques dans CM, des cadeaux empoisonnés, des lecteurs disquettes facétieux et des signaux sonores subliminaux. Expert Windows Créer une icône Setup dans le Program Manager pour accélérer l'installation de logiciels Expert Dos Nous avons encore déniché pour nos lecteurs une commande non documentée du MS-DOS 6.0 Oeufs de Pâques La rédaction vous invite à déguster une omelette géante grâce à Microsoft Office et Adobe Première Nos lecteurs au travail Après la rubrique Oeufs de Pâques, quoi de plus logique que de parler de Pascal. Un lecteur nous prouve qu'il est possible de réaliser un minuscule économiseur d'écran en une dizaine de lignes de Turbo Pascal Obsédé textuel Filip Leys, notre néerlandophone de service, et David Poryngier, son homologue francophone, se penchent sur deux aspects de WinWord : le langage WordBasic et l'éditeur d'équations Le coin des matheux Filip Leys est à la fois au four et au moulin (qui a crié "à voile et à vapeur" ?). Après Word pour Windows, il s'intéresse à Excel 5 et son tout nouveau Visual Basic for Applications. Filip est décidément notre Monsieur Bons Offices ! Lutte des classes Gérard Leblanc part en guerre contre les méthodes brutales de la police et s'attaque à la tridimensionnalité dans Windows Sous la loupe Wim Dewijngaert, amoureux des grandes sagas hollywoodiennes, se penche sur Day of the tentacle, une production de Lucasfilms. BBS du mois Les factures téléphoniques de CM grimpent en flèche. Eric Lapaille s'aventure jusqu'aux USA pour dégotter un BBS du mois. Livre du mois Internet, le réseau mondial télématique, enfin décrit dans un ouvrage simple. Messieurs, Au sujet d'un article paru page 165 du nr. 24 sous le titre Windows Expert, je crois qu'une erreur d'impression s'est glissée. Lorsque vous imprimé le listing du fichier TLX.BAT, la commande qui vide SmartDrv devrait, selon DOS 6.0, être: SmartDrv /R /V /C comme /C est l'interrupteur qui fait vider SmartDrv, je suppose que si l'on ne met pas / celui-ci risque de ne pas être pris en compte. Quelles sont les modalités, paiements éventuels, pour votre BBS? Michel Jonckers, Limal-Wavre. De opties gebruikt in het voorbeeldje van SmartDrv zijn wel degelijk juist. De letter 'C' achteraan verwijst naar de driveletter (in dit geval drive C:). Indien je een driveletter gebruikt zonder plus of min teken, dan is alleen readcaching actief en write-caching niet. Maak je gebruik van het plus-teken dan zijn beide actief. Het min-teken daarentegen schakelt beiden uit. De laatste lijn van het voorbeeld moet echter als volgt zijn indien men de writecache terug wilt activeren : SmartDrv C+ /C ------------------------Voici mon problème, tout allait bien jusqu'à la semaine dernière; pour ma fête, mon fils a voulu me faire une surprise, il a installé l'OS/2 version 2.1 IBM sur notre ordinateur. Quelle ne fut pas ma surprise! Ce fut ma fête!! Quand il a voulu installer Windows 3.1 avec ses propres applications sous OS/2 cela n'a pas fonctionné. Alors nous démarrons l'ordinateur nous obtenons comme dernier écran le tableau : SYSTEM CONFIGURATION (C) Copyright 1985-1991 American Megatrends Inc. Main Processor : 80486 Numeric Processor : Present Floppy Drive A: : 1.44 Mb, 3 1/2" Floppy drive B: : 1.2 Mb, 5 1/4" Display Type : VGA/PGA/EGA ROM-BIOS Date : 07/07/91 Base Memory Size : 640 Kb Ext. Memory Size : 7424 Kb Hard Disk C: : 47 Hard Disk D: : None Serial Port(s) : 3F8,2F8,3E8,2E8 Parallel Port(s) : 378, 278 256Kb CACHE MEMORY 50Mhz CPU Clock 384K SHADOW RAM FAST A20 GATE ENABLE OS/2 !! SYS01475 OS/2 !! SYS02027 (et puis plus rien) Alors j'ai relancé l'ordinateur avec la disquette système. Ensuite j'ai recopié sur C: les anciens fichiers AUTOEXEC.BAT, CONFIG.SYS, les fichiers cachés IO.SYS et MSDOS.SYS qui avaient disparu la disquette système. Mais la disquette système est toujours indispensable au démarrage et lorsque l'on quitte windows 3.1 pour aller dans une autre application. D'autre part, je voudrais savoir à quoi sert cet énorme fichier caché le 386SPART.PAR et peut-on l'effacer? Pourriez-vous apporter une solution à nos problèmes? Claude Van Rysselberghe, Bonsin Het is spijtig dat je niet meer details hebt gegeven van het moment waarop het mis ging. Voorzover ik uit je brief kan afleiden, heeft je zoon geprobeerd om Windows 3.1 van MicroSoft, supplementair op je schijf te plaatsen. Dit is helemaal niet nodig daar OS/2 V2.1 de Windows 3.1 engine volledig bevat. Hoe je op een veilige manier terug op je oude situatie kunt komen, hangt af van de manier waarop je OS/2 hebt geïnstalleerd. Heb je gebruik gemaakt van de BOOTMANAGER, dan is het relatief eenvoudig om OS/2 te verwijderen. De kans is dan groot dat OS/2 volledig op een aparte partitie (primary of logical) is geïnstalleerd. Met het verwijderen van deze OS/2 partitie en de BOOT MANAGER partitie, is de zaak al half geklaard. Hoe gaat dit in zijn werk. Je start je systeem op met de installatie diskette van OS/2. Na een korte tijd krijg je een blauw scherm met het IBM logo op en onderaan de vraag om diskette Nr. 1 in de diskettelezer te plaatsen. Deze heeft behoorlijk wat meer tijd nodig voor je terug een scherm met instructies krijgt. Eens zover druk je op de <ESC> toets en kom je terecht onder de OS/2 prompt met de typische vierkante haakjes, [A:\]. Hier typ je FDISK in. Na een paar waarschuwingen krijg je een tabel te zien waarop al de partities van die schijf opgesomd zijn. Selecteer nu de partitie die je wilt verwijderen en druk vervolgens op de <ENTER> toets. Je krijgt nu een bijkomende venster waarin je bepaalde functie kunt selecteren. Hier kies je 'delete partition'. Hetzelfde ritueel voor de Boot Manager partitie. Nu druk je op de F3 toets om uit Fdisk te gaan. Hij waarschuwt je dat een 'CTRL+ALT+DEL' noodzakelijk, wat niet meer dan logisch is daar je de partitietabel hebt aangepast. Nu moet je je systeem opstarten met een bootable MsDos diskette waarop je de FDisk van MsDos hebt geplaatst. Bij de Dos prompt start je FDisk op en kies je optie Nr. 2 om een partitie te activeren. Indien je meerdere partities hebt selecteer je die waar onder de kolom "type", vermeld staat dat het een PRIMARY DOS is. Dit heeft als resultaat dat er een letter 'A' onder "STATUS" komt te staan. Je verlaat FDisk met op de <ESC> toets te drukken en je systeem gaat herbooten. Diskette verwijderen, en nu zou je terug vanaf je harde schijf, MsDos moeten kunnen booten. De tweede manier waarop je OS/2 kunt installeren noemt 'DUAL BOOT'. Hierbij heb je op één en dezelfde partitie zowel de bootfiles voor MsDos als voor OS/2 staan. Hier is het iets omslachtiger om dit terug in orde te krijgen. We gaan eveneens gebruik maken van de MsDos FDISK commando om na te gaan of de juiste partitie wel actief is. Je hebt geschreven dat je de twee verborgen systeembestanden van MsDos (IO.SYS en MSDOS.SYS) reeds op je schijf terug hebt gekopieerd. Als het een gewone 'COPY' was, is dit niet de correcte manier. Je moet weten dat de plaats waar deze bestanden op je harde schijf staan, redelijk belangrijk is. De volgende voorwaarden zijn van kracht: het bestand IO.SYS moet als eerste en in 1 stuk (niet gefragmenteerd dus) op je hard disk staan. Dit bestand wordt gevolgd door MSDOS.SYS. Staan deze niet op hun plaats en/of hebben ze niet de hidden & system attribuut, zal MsDos bijgevolg niet kunnen opstarten. Je kan altijd proberen om vanaf een bootable diskette het commando 'SYS C:' uit te voeren. Krijg je echter een melding dat er niet genoeg plaats is, wijst dit op het feit dat IO.SYS niet in 1 stuk kan weggeschreven worden. Indien je niet vertrouwd bent met MsDOs is in dit geval het best om een backup te nemen van je schijf en het hele zaakje te herformateren. Als je echter in het bezit bent van de Norton Utilities kan je met het commando 'DISKTOOL' je harde schijf terug bootable laten maken. Deze tool is te vergelijken met het SYS commando van MsDos maar bezit de beperkingen zoals hierboven beschreven, niet. De reden waarom je je systeem diskette nog steeds nodig hebt na het verlaten van Windows, komt doordat je het residente gedeelte van COMMAND.COM terug in geheugen gaat inlezen (Windows heeft namelijk die zone voor zich opgeëist). Doordat je van een diskette hebt opgestart, gaat hij die COMMAND.COM bijgevolg op diezelfde diskette gaan zoeken. Dit kan je gemakkelijk nagaan door na het booten van floppy het commando 'SET' uit te voeren. Op je scherm komen nu verscheidene regels waarin je zeker de volgende lijn tegenkomt: SET COMSPEC=A:\COMMAND.COM. Dit wil zeggen dat MsDos telkens hij iets nodig heeft van COMMAND.COM, een intern commando bijvoorbeeld, hij die steenvast gaat zoeken op je A: drive. Een kleine aanpassing in je AUTOEXEC.BAT van je bootdiskette is voldoende om dit te omzeilen. Plaats gewoon ergens in je AUTOEXEC.BAT de lijn SET COMSPEC=C:\DOS\COMMAND.COM. Let op de schrijfwijze, het gelijkheidsteken moet zonder spaties geschreven worden. Als je nu je systeem terug herboot, ga je niet meer de COMMAND.COM van A: gebruiken, maar wel die van C:. Wat OS/2 nog betreft, zou ik het zeker niet opgeven als ik jouw was. Het is een degelijk, multitasking, operating systeem dat je toelaat om zowel Dos, Windows en OS/2 programma's tegelijkertijd te draaien. Ik gebruik het nu reeds ruim een jaar en zou het niet meer willen missen. ---------------Enige tijd geleden werd ik lid van uw tijdschrift, waarbij ik het programma "PFS: WindowWorks" ontving. Dit ter vervanging van "PCBackup", waarvoor mijn dank. Echter, bij het installeren op mijn harde schijf geeft mijn computer, bij het inbrengen van diskette 2, de foutmelding "Wrong diskette in disk 2", zodat ik de installatie moet afbreken zonder dat het programma geïnstalleerd geraakt. Graag had ik van U vernomen hoe hieraan kan verholpen worden. Mijn beste dank bij voorbaat. Ludwig Catthoor, Temse Ik heb de indruk dat je het slachtoffer bent geworden van het slecht werken van de 'Disk Change Line' in je floppy disklezer. Je moet namelijk weten dat er een mechanisme in de floppy lezer is ingebouwd, waardoor de diskettecontroler weet wanneer er van floppy verwisseld is. Op de 3 1/2 inch lezer is dit met een microschakelaartje. Het veranderen van diskette levert bijgevolg een wijziging op in de toestand van deze schakelaar en de controller weet dat hij met een nieuwe schijf te doen heeft. In de oudere 5 1/4 inch drives gebeurde dit met een optische oog. Wanneer de lichtstraal word onderbroken, betekende dit dat er van diskette verwisseld is. Het komt echter voor dat er zodanig veel stof aanwezig is in het interieur van de diskettelezer, dat deze lichtstraal onderbroken bleef en alzo niet meer kon nagaan of men al of niet van diskette had verwisseld. Om nu zeker te zijn of jij het slachtoffer bent van dit fenomeen, kunnen we een eenvoudige proef doen. Hierbij heb je 2 disketten nodig met elk een gekende, doch verschillende inhoud. Plaats nu één van de disketten in je lezer en roep de inhoud ervan op met het 'DIR' commando. Verwijder nu deze diskette en plaats nummer twee in je lezer. Doe net hetzelfde, roep de inhoud op met 'DIR'. Indien beide listings verschillend zijn is je 'Disk Change Line' mechanisme nog in orde. Zijn beide nu echter identiek aan die van de eerste diskette, dan heeft je systeem niet gedetecteerd dat er van schijf is veranderd. Met andere woorden, je blijft gebruik maken van de FAT-tabel van je eerste schijf terwijl er op je tweede schijf iets helemaal anders staat. In zulk een situatie zal het schrijven op diskette nr. 2 een vernietigend resultaat opleveren voor je data die reeds aanwezig was. Als het een 5 1/4 inch drive is, kan je in dit geval proberen om het stof te verwijderen met een spuitbus waarin lucht onder druk zit. Voor de 3 1/2 inch zit er niet veel anders op dan uitbouwen en een nieuwe lezer te (laten) plaatsen. Werkt je diskettelezer echter naar behoren kan het zijn dat je disketten verkeerd zijn gelabeld of dat er een bestand op ontbreekt dat moet aangeven dat dit disketten nr. 2 is. Een fyschishe beschadiging kan ook de oorzaak zijn. Heb je een sterk vermoeden dat er iets mis is met je originele disketten, dan kan je ze steeds omruilen. ------------------------Je possède un ordinateur de marque "STEIN" 486 DX2/66Mhz avec 8 Mo de mémoire, un disque dur de 420 Mo de 18ms, Windows 3.1 et Dos 6.0 installés. 1) le signal sonore est à peine audible et pour un mal entendant il ne l'est pas du tout! Que faut-il faire pour y remédier? Notre revendeur a fait plusieurs interventions mais sans succès. 2) j'ai l'intention d'ajouter un ensemble multimédia soit en kit soit avec des composantes séparées. Pour que cette installation soit la plus performante je compte faire ajouter un interface SCSI 2 ou Corel SCSI (lequel?) et le bus local pour le contrôleur. Qu'en pensez-vous? 3) D'autre part, je vous prie de me donner la liste des logiciels et du matériel nécessaire pour une installation complète d'un ensemble Multimédia. Saragossi E., Waterloo ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________ _ Om je PC om te bouwen naar een Multimedia PC (MPC) kan je verschillende wegen volgen. De eenvoudigste is om een Multimedia kit aan te schaffen. Deze bestaat uit de geluidskaart, de CD-Rom lezer, een set luidsprekertjes, de nodige aansluitkabels, software en de handleidingen. Het voordeel van zulk een kit is dat je alles hebt en bijgevolg niet op zoek moet naar de verschillende componenten. De nodige technische problemen met het aansluiten zijn dan ook tot het minimum herleid daar alles op elkaar is afgestemd en er duidelijke richtlijnen te vinden zijn in de handleidingen. Het nadeel is dan weer dat je niet echt de allerlaatste technologie in huis haalt . Indien je wat kennis van zaken hebt ben je beter af door de nodige onderdelen bijeen te sprokkelen. Zo is er op het gebied van de CDRom technologie al heel wat veranderd; denk maar aan de komst van de dual speed drives en zelfs de quadra speed. En een CD-Rom lezer die zichzelf een beetje respecteert kan zelfs een multisession Photo-CD, en zelfs CD-I, aan. Op je vraag welke SCSSI kaart kan ik je het volgende zeggen: De SCSSI 2 is een vrij snelle kaart en praktische door de meeste software ondersteunt. Met de CORELSCSSI heb ik persoonlijke nog geen ervaring opgedaan. Men heeft mij echter wel verteld dat deze vrij eenvoudig te installeren is en dat er heel wat goeie drivers bijgeleverd zijn. Hieronder vind je de minimum voorwaarden opgesomd zoals ze door MicroSoft worden aanbevolen: Computer 386SX of hogere processor 2 MB RAM 30-MB hard disk VGA of VGA+ display Twee-button mouse 101-key keyboard Serial port Parallel port MIDI I/O port Joystick port CD-ROM Drive CD-DA Uitgang, met een datadoorvoersnelheid van minstens 150 Kb per seconde zonder dat er meer dan 40 procent van de CPU tijd wordt verbruikt. De gemiddelde zoektijd bedraagt 1 seconde of minder. Audio Board 8-bit DAC, linear PCM sampling, 22.05 and 11.025 kHz rate, DMA/FIFO met interrupt 8-bit ADC, linear PCM sampling, 11.025 kHz rate, microphone level input Music synthesizer On-board analog audio-mixing mogelijkheden Hoofdtelefoon of luidsprekers verbonden met uw audiokaart System Software Microsoft Windows operating system version 3.0 of later met Microsoft Windows Multimedia Extensions version 1.0 of later MS-DOS or PC-DOS operating system version 3.1 of later MS-DOS CD-ROM Extensions (MSCDEX) version 2.2 of later en een device driver van je geluidskaart die de extended-audio application programming interface (API) functies ondersteunt. Dit klinkt misschien allemaal nogal technisch (dat is het ook) maar de meest courante geluidskaarten voldoen zeker aan de multimedia voorwaarden. DIGITaal -------CD-DA Compact Disc-Digital Audio: een formaat voor optische dataopslag die je de mogelijkheid geeft om 73 Min audio in digitale vorm van hoge kwaliteit weer te geven. Ook gekend als de Red Book audio. DAC Digital to Analog Converter: een electronische omvormer die de digitale signalen naar analoge signalen vertaald. ADC is net het omgekeerde. @Expert Windows Ce truc est particulièrement idiot. Pensez un peu au nombre de manipulations requises pour installer un logiciel sous Windows. Placer la disquette dans le lecteur A puis exécuter Install ou Setup n'est pas bien compliqué. Pourtant, il faut une dizaine de secondes pour réaliser ces opérations sous Windows : ouvrir le menu Files, choisir l'option Run, cliquer sur le bouton Browse, sélectionner le lecteur A puis choisir le programme Install ou Setup. Pourquoi ne pas réaliser cette opération une bonne fois pour toutes en placant une icône Setup et une icône Install dans votre gestionnaire de programmes ? @Expert Dos Tu montes, chéri ? Eric Lapaille Il existe une règle que connaissent tous les programmeurs : il y a toujours une différence entre la documentation d'un programme et les véritables fonctionnalités du programme. Volontairement ou non, le MSDOS n'échappe pas à cette règle. Nous avons l'habitude, à chaque apparition d'une nouvelle version du Dos, d'inspecter consciencieusement en hexadecimal le contenu du fichier Command.com. Cela nous a déjà permis de trouver des commandes non documentées comme la commande TrueName déjà présentée ici. En réalisant la même opération sur IO.SYS, un des fichiers système du Dos, nous avons découvert la commande INSTALLHIGH. A quoi pourrait-elle bien servir ? Supposons que nous voulions charger en mémoire KEYB.COM, le programme de gestion du clavier. Si nous utilisons, dans le fichier Autoexec.bat, la ligne de commande C:\dos\keyb fr,,c:\dos\keyboard.sys le MS-DOS génère inutilement pour ce programme un espace réservé aux variables d'environnement. Si vous avez dans votre fichier config.sys une ligne qui déclare shell=c:\dos\command.com /P /E:2048 ce seront quelque 2048 octets qui seront gaspillés lors de l'activation de Keyb.com. Même si vous relogez Keyb.com en mémoire haute via la commande LoadHigh, ces 2048 octets seront à jamais perdus. Si par contre, vous choisissez de charger Keyb.com à partir du fichier Config.sys grâce à la commande Install, comme ceci : Install=c:\dos\keyb.com,,c:\dos\keyboard.sys, Install ne créera pas d'espace réservé aux variables d'environnement. Par contre, les 6944 octets de Keyb.com monopoliseront la mémoire conventionnelle et ne seront pas relogeables en mémoire haute. Le fin du fin est donc d'utiliser la commande suivante dans le config.sys InstallHigh=c:\dos\keyb.com,,c:\dos\keyboard.sys Du coup, le MS-DOS reloge Keyb.com dans un Upper Memory Block et crée une table d'environnement qui est limitée à 48 bytes. Vous aurez donc réussi à grapiller quelques octets supplémentaires et à libérer votre précieuse mémoire conventionnelle. Attention, InstallHigh, comme Install, ne peut se placer n'importe où dans le fichier config.sys. Il doit être obligatoirement placé après toutes les commandes device= et avant la commande shell= . @Oeufs de Pâques Eric Lapaille Allo maman bobo Dans le Microsoft Office Manager de Office 4.0, choisissez la boîte "About", maintenez enfoncée la touche Ctrl tout en réalisant un double clic souris sur l'icône d'Office. Vous obtenez ainsi une liste, non pas des développeurs d'Office mais de leurs chères mamans. Adobe Premiere : trop facile @illustration : Adobe.gif Les programmeurs d'Adobe n'ont vraiment pas fait preuve d'originalité pour leur écran caché d'Adobe Premiere : il suffit, comme d'habitude, de choisir "Help" puis "About". A l'apparition du logo, cliquez sur le sigle d'Adobe en maintenant la touche Ctrl enfoncée. @Nos lecteurs au travail Peut-être pour nous faire gentiment remarquer que nous ouvrons rarement nos colonnes au Turbo Pascal, David Vancoppenolle de 7912 Dergneau nous adresse le listing d'un minuscule économiseur d'écran pour Dos. PROGRAM ScreenSaver; { Economiseur d'écran par David Vancoppenolle } USES Crt ; VAR code : Byte ; numero : Byte ; x, y : Byte ; affiche : Char ; color : Byte ; BEGIN Repeat ClrScr ; Randomize ; numero := Random(223) ; code := 33 + numero ; affiche := Chr(code) ; color := Random(16) ; TextColor(color) ; HighVideo ; x := Random(80) ; y := Random(25) ; GotoXY(x+1,y+1) ; Write(affiche) ; Delay(500) ; Until KeyPressed ; NormVideo ; TextColor(7); ClrScr ; @Obsédé textuel @Kader 1 Des Équations ... et Vite ! David Poryngier @Illustration Cap2.gif Accélérer le lancement de l'éditeur d'équations avec WinWord 2.0. L'éditeur d'équations fourni avec Word pour Windows offre un outil intéressant à tous ceux qui doivent insérer des formules mathématiques dans leurs documents. Le temps nécessaire au lancement de cet utilitaire, s'il n'est pas contraignant pour un utilisateur occasionnel, peut irriter ceux d'entre nous qui y font souvent appel. Heureusement, il existe une méthode simple permettant de réduire ce temps de lancement de manière importante. Lancez une première fois l'éditeur d'équations (menu [Insère/Objet...Equation]) et, pour éviter d'être gêné par cette fenêtre par la suite, réduisez-la en icône (Minimize). Ainsi, le code du programme est chargé en mémoire et reste résident. Lorsque vous avez besoin d'insérer une formule, lancez à nouveau l'éditeur d'équations à partir de Word et utilisez-le normalement. Une première instance de l'éditeur d'équations résidant en mémoire, le code n'a pas besoin d'être relancé à chaque utilisation. Seule une initialisation partielle est effectuée, ce qui prend très peu de temps par rapport au chargement complet du programme. Cette technique est aussi applicable aux autres utilitaires OLE fournis avec Word, même s'ils sont moins souvent utilisés. @Kader 2 Goochelen met WordBasic Filip Leys Een eenvoudige maar toch krachtige, en dus boeiende mogelijkheid van Word for Windows is de bijgeleverde macrotaal WordBasic. Ach, laten we het ding maar ronduit een programmeertaal noemen. De stunts die je ermee kunt uithalen, laten immers de tekstverwerker soms ver achterwege. WinWord wordt zelfs bijzaak! In deze rubriek zullen we nu en in de toekomst kennis maken met deze magische wereld van WordBasic. Als opwarmer zien we deze maand hoe je met één druk op de knop een venstertje vol nuttige systeeminformatie kunt bekomen: @SCHERMAFDRUK 1: OBSES1A.GIF Heb je WinWord niet? Geen nood, vraag gewoon de gratis demoversie (het "Working Model") aan bij je dealer of Microsoft. Deze volledig functionerende versie heeft slechts hier en daar een paar ingebouwde beperkingen meegekregen, maar gelukkig NIET op WordBasic-domein! Start het programma op, kies voor Tools|Macro, tik een zinnige naam in (wat gedacht van "SystemInfo"?) en klik op Edit. Je krijgt dan een minimale macro voorgeschoteld. Hij bevat enkel het hoogst noodzakelijke: de - verplichte - lijntjes "Sub MAIN" en "End Sub". @SCHERMAFDRUK 2: OBSES1B.GIF Daartussen kunnen we nu vrijuit onze fantazie botvieren met klassieke Basic- en een hele rits toegevoegde WinWordinstrukties. Een goed idee van wat zoal beschikbaar is, vind je via de helpfunktie of in het document TECHREF.DOC, dat met het pakket meegeleverd wordt. In ons geval raden we aan even een kijkje te nemen naar de commando's AppInfo$() en MsgBox. AppInfo$() wordt gebruikt als volgt: A$ = AppInfo$(TypeOfInfo) Links kiezen we zelf een naam voor een nieuwe tekstvariabele binnen ons programma. In Basic duid je aan dat het om tekst en enkel om tekst gaat door de gekozen naam te laten eindigen op een dollarteken: dat trekt een beetje op de "S" van "String", vandaar. Met het gelijkheidsteken maak je een toewijzing: de waarde of uitkomst van hetgeen er rechts van staat, wordt toegekend aan de variabele links. In dit voorbeeld wordt dit een oproep van de standaardfunktie AppInfo$. Deze moet op haar beurt een argument meekrijgen tussen haakjes. Hier bestaat geen algemene regel: dat dit zo moet zijn, vind je enkel in de documentatie of de helpfunktie. Het argument is een getal en geeft aan wat voor soort informatie je wil bekomen. Dit zijn de mogelijkheden: TypeOfInfo Resultaat van AppInfo$() 1 De werkomgeving, bijvoorbeeld "Windows 3.0" 2 Het versienummer van Word for Windows, bijvoorbeeld "2.0a" 3 Of Word zich eventueel in een speciale mode, zoals CopyText of MoveText, bevindt 4 De X-positie van het Wordvenster, in punten gemeten vanaf de linkerkant van het scherm 5 De Y-positie van het Wordvenster, in punten gemeten vanaf de bovenkant van het scherm 6 De breedte van het werkvenster van het actieve document, in punten 7 De hoogte van het werkvenster van het actieve document, in punten 8 -1 indien het toepassingsvenster gemaximalizeerd is 9 Totale hoeveelheid conventioneel geheugen 10 Beschikbare hoeveelheid conventioneel geheugen 11 Totale hoeveelheid expanded geheugen 12 Beschikbare hoeveelheid expanded geheugen 13 -1 indien een mathematische coprocessor aanwezig is 14 -1 indien een muis aanwezig is 15 Beschikbare hoeveelheid schijfruimte Voor onze minitoepassing zullen dus de nummers 1, 2, 9, 10 en 15 van pas komen! Met andere woorden: we dienen AppInfo$() vijf maal op te roepen met telkens een ander getal als TypeOfInfo-argument. Laten we zinnige namen kiezen voor elk van deze informaties en we bekomen het volgende stukje programma: Environment$ = AppInfo$(1) Version$ = AppInfo$(2) TotConvMemory$ = AppInfo$(9) AvailConvMemory$ = AppInfo$(10) AvailDiskSpace$ = AppInfo$(15) We hadden ook graag het nog beschikbare werkgeheugen procentueel uitgedrukt gezien. Probleem met AppInfo$() is echter dat die steevast een tekststring als resultaat oplevert. En teksten kan je nu eenmaal niet door elkaar delen om percentages te bekomen... We moeten dus enig omzettingswerk verrichten. Hier komen een drietal klassieke Basic-funkties erg van pas: Val() zet het begin van zijn tekstargument om naar een getal (als dat mogelijk is tenminste, anders krijg je nul), met Int() laat je het decimaal gedeelte van een getal vallen en Str$() zet een getal terug om naar een tekststring. Dit gezegd zijnde, wat nu gedacht van volgend goochelwerk: TotConvMemory = Val(TotConvMemory$) AvailConvMemory = Val(AvailConvMemory$) ConvMemFree = Int(AvailConvMemory / TotConvMemory * 100) ConvMemFree$ = Str$(ConvMemFree) Duidelijk? De finish is nabij! Nu ons nog even verdiepen in MsgBox, waarvan de correcte syntax als volgt aangeduid wordt: MsgBox Message$[,Title$][,Type] Met die rechte haken worden in praktisch alle syntaxbeschrijvingen ter wereld facultatieve onderdelen bedoeld: de argumenten ertussen hoeven er niet te staan. Enkel het eerste (het af te beelden bericht onder de vorm van een tekst - bemerk het dollarteken) is verplicht. Maar omdat hier één enkele tekststring verwacht wordt, zullen we onze berichten moeten aan elkaar plakken. Door her en der een nieuwe lijn in te lassen met een opeenvolging van een "carriagereturn" (ASCII-code 13) en een "line-feed" (code 10) delen we het bericht wat overzichtelijker in. Met het argument Title$ stel je de titel van het berichtvenster in. Doe je dit niet, dan komt daar "Microsoft Word" boven te staan en geef toe: bijster origineel kun je dit moeilijk noemen... Type tenslotte laat toe van bepaalde typische Windowssymbolen en/of -knoppen te bekomen: Type Waarde Betekenis Knop 0 OK-knop (default) 1 OK- en Cancel-knoppen 2 Abort-, Retry- en Ignore-knoppen 3 Yes-, No- en Cancel-knoppen 4 Yes- en No-knoppen 5 Retry- en Cancel-knoppen 0 geen pictogram (default) 16 Het rode Stopteken-pictogram 32 Het groene Vraagteken-pictogram 48 Het Aandacht-pictogram (het gele uitroepteken) 64 Het Informatie-pictogram (de blauwe "i") 0 Eerste knop is voorgekozen 256 Tweede knop is voorgekozen 512 Derde knop is voorgekozen Pictogram Aktieknop Het is de bedoeling van de gewenste waarden samen te tellen en die som mee te geven als derde argument. Wensen we bijvoorbeeld een voorgekozen OKknop en een informatie-pictogram, dan is Type = 0 + 64 + 0 = 64. Zo, nu gieten we alles samen in één macro en we bekomen het volgende... @SCHERMAFDRUK 3: OBSES1C.GIF Een klik op "Start"... en we zien dat het goed was. Wil je het nu héél mooi spelen, dan definieer je een nieuw knopje op de Toolbar van Winword (via Tools|Options|Toolbar), waaraan je de macro SystemInfo toekent. @Coin des matheux Visual Basic for Applications Filip Leys Met de komst van Excel 5.0 (en WinWord 6.0) introduceert Microsoft een nieuw concept dat zó voor de hand ligt dat je je afvraagt waarom het al niet jaren geleden uitgebracht werd. In plaats van een ronduit moeilijke macrotaal verder te blijven uitbouwen, krijgen we voortaan een verfrissend eenvoudig Visual Basic voorgeschoteld! In dit Rekenhoekje lichten we even een tipje van de sluier op en tonen we hoe macroprogrammeren in Excel er in de toekomst gaat uitzien. Ontspan en geniet! Niets gaat boven een voorbeeld! Probeer maar even in Excel 4 een macrofunktie te schrijven, die de XY- coördinaten van twee punten als argumenten aanneemt, en de afstand tussen die punten als resultaat genereert. We zouden die funktie CalcDistance() kunnen noemen. En ze zou er als volgt kunnen uitzien: !!Ill1: RKNHK181.GIF Stel dat we die wegsparen in een macroblad MYMACROS.XLM, dan zouden we ze om het even waar kunnen oproepen met volgende syntax: =Mymacros!CalcDistance(15;16;1;5) ...om uiteindelijk in de cel in kwestie vast te stellen dat de afstand 17,8 bedraagt. Met VBE (zoals we voortaan zullen refereren naar deze nieuwe taal) gaat dit als volgt: !!Ill2: RKNHK182.GIF We beginnen met een macroblad te openen. We krijgen dan een maagdelijk wit blad, alsof we in een tekstverwerker beland zijn. De bedoeling is van hier programmeerinstrukties in te tikken, uit te voeren om te testen en eventueel te debuggen indien nodig. Er dient - verplichtend - minstens één subroutine aangemaakt te worden. Daarvoor dienen de sleutelwoorden Sub Naam_van_de_subroutine() en End Sub. Daartussen bevindt zich een doodgewoon Basic programma. Om het geheel netjes en gestruktureerd te houden, hebben we bovendien gebruik gemaakt van een oproepbare funktie. Deze one-liner vormt eigenlijk het equivalent van het vroegere Excel 4 macrogedrocht... In de aanhef van deze funktie vermelden we dat we vier argumenten verwachten bij een eventuele oproep, en we geven ze een naam plus een type. Double zet ze om in geweldig grote reële getallen, zodat we qua bereik en precisie veilig zitten. Vervolgens moeten we nog een resultaat "uitkeren", anders hebben we geen funktie maar een procedure. Dit gebeurt door een waarde toe te wijzen aan de funktienaam. Omdat het hier een relatief eenvoudig geval betreft, doen we alles maar ineens: tijdens het toekennen van de waarde wordt ze voor het eerst berekend. De formule die daarbij van pas komt, berekent de vierkantswortel (hiervoor bestaat een ingebouwde funktie Sqr) uit de som van de kwadraten (genoteerd als ^2) van de verschillen tussen de twee coördinaten. Meer niet! In de hoofdroutine wordt deze funktie opgeroepen voor de vier gewenste getallen. Deze nemen dus binnen de funktie de plaats in van X1, X2, Y1 en Y2. Het resultaat wordt toegekend aan een tussenvariabele d. Ook dit is een tamelijk overbodige stap, die we er louter uit leesbaarheid bijgevoegd hebben. We hadden even goed van de tweede instruktie een meer gecondenseerd... MsgBox ("Result=" & Str(CalcDistance(15, 16, 1, 5))) ...kunnen maken, en de eerste weglaten. Het effect van de MsgBox()-instruktie zie je op het scherm: een venstertje met het in tekststring omgezette resultaat. En dit alles bekomen we door één enkele klik op de (groene) "speelknop" van het vlottende knoppenbalkje onderaan! Eenvoud, leesbaarheid, kracht: voor VBE is ongetwijfeld een geweldige toekomst weggelegd. Het zit er dan ook dik in dat we er nog regelmatig zullen (moeten) op terugkeren. Blijven kijken... euh, lezen, dus! @Lutte des classes Gérard LEBLANC Menu en 3D Bien avant Windows 4, donnez du relief à vos menus ! C'est l'objet de l'article de ce mois. Nous ne nous contenterons pas de l'effet 3D, nous utiliserons également une police plus "douce" que la police système (ici une police Arial) et donnerons un fond gris clair à la barre de menu. !!!!! image 1 (ART9A.GIF) Toute l'astuce consiste à créer un menu personnalisé à partir d'un menu traditionnel, spécifié dans un fichier de ressources d'extension RC. Pour rendre le programme plus lisible, nous préparons des mnémoniques pour gris foncé (dark gray), gris clair (light gray) et bleu : !!!!! image 2 (ART9B.GIF) Dans le constructeur de la fenêtre principale (TMainWindow) : - nous chargeons le menu de la manière traditionnelle, par AssignMenu - nous préparons l'utilisation d'une police Arial en corps 14, en initialisant la structure LOGFONT et en exécutant CreateFontIndirect, - nous préparons des stylos (par CreatePen) qui serviront à tracer les lignes qui donnent l'effet de relief. !!!! image 3 (ART9C.GIF) Nous allons modifier la couleur de fond de la barre de menu mais n'imposerons pas cette modification à tous les programmes. Pour cela, nous déterminons l'actuelle couleur par GetSysColor. Par défaut, il s'agit du blanc mais l'utilisateur pourrait avoir choisi une autre couleur, ce que permet le panneau de contrôle. Par SetSysColors, nous forçons l'utilisation d'un fond gris clair dans cette barre de menu. Comme cette modification affecte toutes les applications jusqu'à ce que Windows se termine, nous rétablissons la couleur d'origine dans le destructeur de la fenêtre principale. Celui-ci est en effet exécuté lorsque l'application se termine. Nous en profitons pour détruire les stylos créés en cours d'exécution car ils ne sont pas automatiquement libérés des tables de Windows lorsque l'application se termine : !!!!! image 4 (ART9D.GIF) Pour ne pas perturber les autres applications exécutées en même temps que la nôtre, il faut également restituer la couleur d'origine lorsqu'une autre application passe à l'avant-plan. Par le message WM_ACTIVATEAPP, Windows nous informe que notre application passe à l'avantplan ou qu'elle perd ce statut. Nous interceptons donc ce message et rétablissons soit le fond gris soit le fond d'origine en fonction de l'argument wParam du message (il est différent de zéro si notre application redevient active) : !!!!! image 5 (ART9E.GIF) Pour donner un fond gris clair à la fenêtre de l'application, il faut redéfinir la fonction GetWindowClass dans la classe TMainWindow et modifier lechamp hbrBackground : !!!!!! image 6 (ART9G.GIF) Dans le constructeur de la fenêtre principale, Windows n'a pas encore vraiment construit le menu. La fonction SetupWindow est automatiquement exécutée juste avant l'affichage de la fenêtre. A ce moment, tout a été préparé par Windows. C'est donc dans cette fonction que nous allons quelque peu triturer chaque article. Nous lisons chaque article de chaque sous-menu et rangeons ce contenu dans un bloc de mémoire alloué dynamiquement. LocalAlloc alloue un bloc de mémoire et LocalLock le verrouille durant l'accès. A chaque bloc alloué dynamiquement, Windows associe un numéro (de type HLOCAL mais il s'agit en réalité d'un entier). La fonction ModifyMenu nous permet de signaler que l'article est personnalisé (indicateur MF_OWNERDRAW) et d'y associer une valeur, n'importe laquelle mais que Windows nous rappellera lorsqu'il s'agira d'afficher l'article. !!!!!! image 7 (ART9H.GIF) Lorsqu'un article de menu (mais aussi de boîte de liste car la technique est générale) doit être affiché, Windows ne l'affiche pas lui-même mais nous demande de le faire. A cette fin, Windows nous envoie le message WM_DRAWITEM. Mais avant de nous envoyer le premier message WM_DRAWITEM pour un article, Windows nous envoie le message WM_MEASUREITEM. Windows nous interroge ainsi sur la taille à donner à la case contenant l'article (pour un sous-menu, Windows retient la plus grande des cases). GetTextExtent nous indique la taille de l'article dans la police Arial de corps 14. Notre case sera légèrement plus grande, de 75 % en hauteur et de 12 % en largeur. Pour fournir cette information à Windows, nous remplissons une structure dont l'adresse est passée en argument du message. !!!!!! image 8 (ART9I.GIF) Il nous reste à intercepter le message WM_DRAWITEM. En argument de ce message, Windows nous passe l'adresse d'une structure DRAWITEMSTRUCT qui contient des informations sur l'état de l'article, sur les coordonnées du rectangle d'affichage ainsi que cette valeur associée à un article et dont nous savons qu'il s'agit d'un numéro de bloc de mémoire. Ce bloc contient l'intitulé de l'article. Il nous suffit de l'afficher en tenant compte de son état (en bleu s'il est sélectionné) et en l'entourant des lignes blanches, noires et grises qui donnent l'impression de relief. Vous trouverez ce programme (fichiers CPP, RC et PRJ) écrit pour BORLAND C++ 3.1 sur le serveur de Computer Magazine. @Sous la loupe Afbeeldingen: DOTT1.GIF t/m DOTT5.GIF Wim Dewijngaert DAY OF THE TENTACLE (deel 1) Hieronder volgt een leidraad bij het spelen van Day of the Tentacle, het nieuwste avontuur van Lucasfilm. Gebruik deze tekst niet om DOTT mee uit te spelen. U mist dan een hele hoop grappen en een deel van het verhaal. OPGELET! OPEN DOOR commando's zijn weggelaten! Bernard PICKUP FLIER PICKUP SWISS BANKBOOK PICKUP BOOBOO-B-GONE PICKUP DIME OPEN CLOCK WALK TO CLOCK PICKUP PAPER OPEN GRATING PICKUP CHATTERING TEETH (lok de tanden in het roostertje) PICKUP CHATTERING TEETH PICKUP FORK PICKUP COFFEE PICKUP DECAF COFFEE OPEN CABINET PICKUP FUNNEL USE ON/OFF BUTTON PUSH SPEAKER PICKUP VIDEOTAPE USE ON/OFF BUTTON PICKUP DISSAPAERING INK PICKUP HAMSTER USE INK ON STAMP ALBUM PICKUP STAMP PICKUP STAMP ALBUM GIVE ALBUM TO ED PICKUP FAKE BARF CLOSE DOOR PICKUP KEYS GIVE KEYS TO MAN IN SKI MASK USE CROWBAR WITH GUM PICKUP HELP WANTED SIGN USE GUM USE DIME IN COINSLOT USE DIME IN COINSLOT PICKUP SWEATER USE CROWBAR WITH CANDY MACHINE PICKUP QUARTERS GIVE HELP WANTED SIGN TO HOAGIE GIVE FLIER TO HOAGIE GIVE CHATTERING TEETH TO HOAGIE GIVE TEXTBOOK TO HOAGIE USE DECAF COFFEE WITH MUG Hoagie: GIVE PATENT APPLICATION TO RED kelder GIVE HELP WANTED SIGN TO RED PICKUP LAB COAT PICKUP LEFT HANDED HAMMER PICKUP RIGHT HANDED HAMMER hal bureau bureauschuif telefoontoestel hal hal hal kelder eetzaal eetzaal eetzaal keuken keuken keuken keuken keuken 3e kamer 1e verdieping 3e kamer 1e verdieping 3e kamer 1e verdieping 3e kamer 1e verdieping 2e kamer 1e verdieping kamer rechts 2e verdieping kamer rechts 2e verdieping hal 2e verdieping hal 2e verdieping kamer rechts 2e verdieping hal 1e kamer 1e verdieping 1e kamer 1e verdieping buiten hal hal 1e kamer 1e verdieping 1e kamer 1e verdieping 1e kamer 1e verdieping hal 1e verdieping hal 1e verdieping kelder kelder kelder kelder 2e verdieping links USE LEFT HANDED HAMMER WITH BARREL 2e verdieping links USE TEXTBOOK WITH HORSE hal 2e verdieping PICKUP DENTURES hal 2e verdieping USE SQUEEKEE MATTRES 3e verdieping USE SQUEEKEE MATRESS WITH JED'S 3e verdieping PICKUP MOUSE TOY 3e verdieping PICKUP RED PAINT 3e verdieping USE FLIER WITH SUGGESTION BOX vergaderzaal OPEN MAILBOX buiten PICKUP LETTER buiten USE RED PAINT WITH KUMQUAT TREE buiten PUSH GEORGES BED 1e kamer 1e verdieping PULL CORD 1e kamer 1e verdieping PICKUP SOAP hal 1e verdieping PICKUP OIL keuken PICKUP SPAGHETTI keuken PICKUP BUCKET keuken OPEN CABINET keuken PICKUP BRUSH keuken USE BUCKET WITH WATER PUMP keuken USE SOAP WITH BUCKER keuken USE BRUSH WITH CARRIAGE buiten TALK TO GEORGE WASHINGTON vergaderzaal (over omkappen kersenboom) GIVE LETTER TO BERNARD Bernard: PUSH NURSE EDNA USE VIDEOTAPE WITH VCR LOOK AT MONITOR (record, rewind, Extended Play, play, eject) OPEN SAFE PICKUP CONTRACT USE LETTER WITH DWAYNE PICKUP FLAG GUN USE FLAG GUN WITH CIGAR LIGHTER eetzaal TALK TO CIGAR SALESMAN (vraag naar een sigaar) GIVE EXPLODING CIGAR TO HOAGIE GIVE CIGAR LIGHTER TO HOAGIE Hoagie: GIVE CIGAR TO GEORGE WASHINGTON GIVE CHATTERING TEETH TO GEORGE PICKUP BLANKET USE BLANKET WITH CHIMNEY PICKUP PEN PICKUP WINE BOTTLE GIVE LAB COAT TO BENJAMIN GIVE WINE BOTTLE TO THOMAS Laverne: TALK TO TENTALCE (doe alsof je ziek bent) PICKUP TENTACLE CHART TALK TO TENTACLE (doe alsof je naar toilet moet) kamer links 2e verdieping kamer links 2e verdieping kamer links 2e verdieping bureau bureau 2e kamer 1e verdieping 2e kamer 1e verdieping eetzaal vergaderzaal vergaderzaal vergaderzaal dak vergaderzaal 3e kamer 1e verdieping 3e kamer 1e verdieping vergaderzaal gevangenis ziekenzaal gevangenis GIVE SCAPEL TO BERNARD GIVE CHART TO HOAGIE buiten buiten (volgende keer het vervolg van de oplossing!) @BBS du mois Bix Le service BIX mérite toute notre attention car il est accessible par de nombreux moyens. BIX est un service américain mis sur pied conjointement par General Videotex Corp. et la célèbre revue BYTE publiée par McGraw-Hill. BIX est fier de proclamer qu'il dispose de 50000 membres éparpillés dans le monde entier. C'est une extension électronique naturelle du magazine Byte. On peut aisément y contacter les collaborateurs de la revue, y télécharger des programmes, participer à des conférences mais aussi obtenir un accès Internet particulièrement bon marché. Nous voulons parler d'un vrai accès Internet : courrier électronique, téléchargement de fichiers sur sites lointains avec FTP, connexions à distance avec Telnet, babillages en direct avec IRC (Internet Relay Chat). Pour atteindre BIX de notre petit royaume, plusieurs solutions former le numéro gratuit 1 800 6954882 aux USA. Bien sûr ca coûte cher et n'est possible qu'avec une carte AT&T ou MCI passer par une passerelle USA comme Icom passer par le point d'accès Tymnet Belge au 02/725 50 60 utiliser votre point d'accès DCS ou X25 habituel et demander le service NUA 0310600157878. Si, petits veinards, vous disposez d'un accès Internet via un site universitaire, vous pouvez atteindre BIX par la commande telnet x25.bix.com Quelle que soit la méthode utilisée, la méthode d'inscription est identique. A la première demande d'identification, tapez BIX. A la seconde, répondez Bix.byte39. Vous pouvez, après vous être inscrit, vous ballader librement dans tous les services, envoyer du courrier etc. Par la suite, il ne vous en coûtera que 13 dollars par mois pour la totalité des services. Téléchargez si possible l'excellent BixNav qui vous permettra de naviguer plus aisément dans cette mer d'informations. BIX Main Menu 1 Electronic Mail 2 Conference Subsystem 3 Listings (file upload/download areas) 4 NewsBytes - Industry News Briefs 5 Subscriber Information 6 Individual Options 7 Quick Download 8 Command Mode (abandon menus) 9 Logoff (bye) 10 Internet Services (ftp,telnet) Internet Menu 1 telnet - log into remote hosts 2 ftp - download files 3 finger - info on a host 4 whois - info about a name 5 internet - The Internet help conference 6 Internet topics in BIX conferences mm Main menu Renseignements General Videotex Corporation, 1030 Massachusetts Ave., Cambridge, MA 02138, USA. Phone: +1-617-354-4137. Byte Fax +1 617 491 6642 E mail [email protected] @Livre du mois @illustration photo du livre Nous avons retenu ce mois-ci un ouvrage en anglais réputé pour être l'introduction la plus complète au monde Internet. Comment ca marche ? Qui dirige Internet ? Qui finance Internet ? Qu'est-ce que TCP ? Qu'est-ce que IP ? De l'éthique qui gouverne les conférences au sabir qui les imprègne, Ed Krol couvre pour les débutants tous les aspects d'Internet des plus techniques aux plus culturels. Un chapitre est réservé à chacun des programmes indispensables pour la survie d'un Internaute : FTP, Telnet. Le courrier électronique a bien entendu son chapitre ainsi que les news. Krol détaille comment rechercher un fichier ou un utilisateur dans une botte de foin de deux millions d'ordinateurs au moyen d'Archie et Finger. Gopher, Wais, Worl-Wide-Web n'ont pas été oubliés. Le livre, qui devient rapidement la bible des Internautes, se termine par une cinquantaine de pages d'index d'Astronautique à Zymurgie - recensant les sites les plus populaires et leurs spécialités. Ed Krol a réussi où beaucoup d'autres se sont cassés les dents. Sautez sur ce guide du routard digital. Info Produit Ed Krol The whole Internet, User's guide and catalog O'Reilly & Associates 1992, 1993 ISBN 1-56592-025-2 Disponible chez WHSMITHS Prix 65,65 florins. @Questions pour un hacker Non, Veronica n'est plus une radio pirate abritée par un vieux paquebot. Veronica signifie Very Easy Rodent Oriented Netwide Index to Computer Archives. Pour gagner un abonnement gratuit à notre grand frère CM Corporate, il faudra cette fois répondre à la double question : Que signifie Linux ? Quel est le nom de son créateur ? Envoyez vite votre réponse au magazine - rubrique Help - concours Hacker.