_____________________________________________________________________________ IDBTOOLS 1.1 FOR VISUAL BASIC ENGLISH TEXT: SEE README.TXT _____________________________________________________________________________ > HVA ER IDBTOOLS ? Ŀ MICRO IdbTools er et bibliotek med en rekke nyttige og tidsbesparende Ĵ rutiner som vil gjre livet enklere for enhver Visual Basic I programmerer. D B Av innholdet kan vi nevne: Ĵ ADEPT + Enkle, men svrt slagkraftige rutiner for manipulering av tekst-strenger. + Betydelig enklere og tryggere lesing/skriving av INI-filer sammenlignet med API-kall. + Rutiner for lese informasjon om systemet, som f.eks. ledig diskplass, tilgjengelig hukommelse, skjermopplsning, m.m. + Dynamiske en/to-dimensjonale tabeller (matriser) av dynamiske tekst-strenger lar deg operere med betydelig strre datamenger i internhukommelsen enn Visual Basic alene kan takle. Smart sortering, sking, lesing fra fil, skriving til fil, kobling mot regneark, m.m. + Krypteringsrutiner (uten "bakdr") gir deg p en enkel mte muligheten til beskytte dine data mot innsyn fra uvedkommende. + Rutiner som gjr det mulig kopieringsbeskytte dine applikasjoner p en elegant mte. Denne pakken bruker samme teknikken selv, s prv, se og vurder dette ! IdbTools er et produkt fra IDB MICRO ADEPT AS. Denne pakken er laget for Visual Basic, men det finnes ogs en tilsvarende pakke for C++. For detaljert beskrivelse av rutinene i denne pakken, se filen IDBTOOLS.WRI og IDBTABLE.WRI (standard Windows 3.1 Write format - kan ogs leses av MS-Word). Denne pakken distribueres som "shareware" (se under for nrmere info), og vi regner med komme med hyppige oppdateringer i tiden som kommer. Hold derfor utkikk etter nye versjoner slik at du alltid har den nyeste. Dersom denne filen er mer enn et par mneder gammel (se fil-dato), er det sannsynlig at det finnes en nyere versjon i omlp. Dersom du har kommentarer og/eller forslag, kan du sende post/email til: Idb Micro Adept AS idb@vestnett.no Strandgaten 207 """"""""""""""" 5004 Bergen _____________________________________________________________________________ NB: Denne filen inneholder spesialtegn basert paa DOS tegnsett. Dersom du bruker Windows (f.eks. Notepad) for aa lese dette, blir disse tegnene feil, og eksemplene blir meningsloese. I saa fall, les i stedet filen README_N.WIN, som inneholder denne teksten basert paa Windows tegnsett. _____________________________________________________________________________ _____________________________________________________________________________ > TABELLER En tabell er en matrise av tekststrenger som kan sees p som et usynlig regneark i internhukommelsen. Tabellene dimensjoneres etter behov, og man kan endre strrelse dynamisk. Man kan lese tabeller direkte fra en rekke fil-formater, og tabellene dimensjoneres da automatisk ut fra innholdet i filene som leses. Tilsvarende automatikk gjelder ved skriving av tabeller til forskjellige fil-formater. Lesing og skriving av data fra/til tabell er lynraske operasjoner. Det samme gjelder sking og sortering. Sorteringsrutinen for tabellverket er helt unik. Det er den eneste kjente sorteringsrutine som gir en logisk sortering av tekst som inneholder tall. Eksempel: Vanlig sortering IDBTOOLS SmartSort Nr 1 av 100 Nr 1 av 100 Nr 10 av 100 Nr 2 av 100 Nr 100 av 100 Nr 10 av 100 Nr 2 av 100 Nr 20 av 50 Nr 20 av 100 Nr 20 av 100 Nr 20 av 50 Nr 100 av 100 Sortering av spesialtegn takles bedre enn i de fleste andre sorterings- rutiner. Tegn som /E//e///// behandles som nyanser av samme tegn. Det vil si at forskjellen kun fr betydning for rekkeflgen nr resten av linjen er identisk. Eksempel p tekst sortert med IdbTools SmartSort: Sortering 1 Sortring 2 Sortering 3 Sortring 3 Sortring 4 Sortring 5 Sortring 6 Mellom linje 1 og 2 vil ikke forskjellen "e"/"" bety noe siden resten av teksten er forskjellig. Det samme gjelder mellom linje 2 og 3. Eneste forskjell mellom linje 3 og 4 er "e"/"", og da vil linjen med "e" bli sortert foran den andre, siden "e" er definert foran "". Du vil kanskje si dette ser helt trivielt ut, men du endrer kanskje oppfatning nr du ser hvordan de fleste andre programmer takler sortering av de samme linjene: Sortering 1 Sortering 3 Sortring 5 Sortring 6 Sortring 2 Sortring 3 Sortring 4 Det finnes flere skerutiner for finne data i en tabell, som eksakt sking, joker-sking (*data*) og binr-sking (data* i sortert tabell). _____________________________________________________________________________ > STRENGBEHANDLING / INI-FILER Et problem som de fleste Visual Basic programmerere fr eller senere stter p, er at hjelperutiner som returnerer strenger forutsetter at det kallende programmet setter av plass til den returnerte stengen. Som et eksempel kan vi vise hvordan man leser fra en INI-fil p tradisjonell mte (via API) og med IDBTOOLS: ' Skal lese navn p oppstartsprogram for Windows fra SYSTEM.INI: Declare Function GetPrivateProfileString% Lib "Kernel" (ByVal pAppName$, ByVal pKeyName$, ByVal pDefault$, ByVal pReturnedString$, ByVal nSize%, ByVal pFileName$) txt$ = String$(80, " ") ' Setter av plass til 80 tegn ant% = GetPrivateProfileString("boot","shell","",txt$,80,"SYSTEM.INI") StartProg$ = Left$(txt$, ant%) ' Vil normalt vre "progman.exe" ' Samme med IDBTOOLS (IDBTOOLS.BAS inkluderes i prosjektet): StartProg$ = IniFileGetString("SYSTEM.INI", "boot", "shell") Det burde ikke vre noen tvil om hvilket av disse alternativene som er enklest programmere, vedlikeholde og ikke minst forst. IdbTools inneholder en rekke andre kraftige streng-hndterings-rutiner som "mangler" i Visual Basic. Vi kan nevne rutiner for plukke ut ord fra strenger, bytte ut delstrenger, formatering av data, oversette mellom Dos og Windows tegnsett, og mye mer. Se IDBTOOLS.WRI for komplett oversikt og detaljert dokumentasjon. _____________________________________________________________________________ > SYSTEMINFORMASJON Rutiner som p en enkel mte gir informasjon om systemet, som skjerm- opplsning, antall farger, ledig disk-plass, tilgjengelig internhukommelse, disk(ett)-stasjon status m.m. Detaljer om f.eks. environment og fil- informasjon kan leses direkte inn i tabeller. _____________________________________________________________________________ > KRYPTERING Dersom man nsker beskytte sine data mot innsyn fra uvedkommende, kan man bruke krypteringsrutinene i IDBTOOLS. Disse rutinene er ikke basert p noen standard algorime etter spesifikasjoner fra "StoreBror", og har flgelig ingen "bakdr" som pner for innsyn. Det er ganske enkelt umulig finne ut hva en kryptert streng inneholder uten korrekt nkkel - selv for oss som har laget programmet og kjenner krypteringsalgoritmen ut og inn. Rutinene er svrt enkle bruke. Man angir teksten som skal krypteres sammen med en "hemmelig nkkel" og fr som resultat en ubegripelig tekststreng. Nr man vil dekode teksten, angir man den ubegripelige strengen sammen med den samme "hemmelige nkkel" og fr den opprinnelige tekststrengen som resultat. Dersom man angir feil nkkel, vil resultatet bli bare tull. Eksempel: TekstInn$= "Privat informasjon..." Secret$ = "Sesam$zaM" Krypt$ = Encrypt (TekstInn$, Secret$) TekstUt$ = Decrypt (Krypt$, Secret$) ' TekstUt$ og TekstInn$ vil vre identiske, og Krypt$ vil ' inneholde en helt ubegripelig tekststreng. _____________________________________________________________________________ > KOPIERINGSBESKYTTELSE Programbiblioteket IDBTOOLS.DLL er kopieringsbeskyttet. Dette er gjort p den mten at dersom man ikke har gyldig lisens, vil man stadig vekk f opp en meldingsboks som minner om at man br skaffe seg en lisens for programmet. De fleste rutinene kan brukes uhindret, men nr man tar i bruk tabeller eller krypteringsrutiner, aktiviseres testing p lisens. For fjerne de irriterende meldingsboksene som stadig vekk minner om manglende lisens, m man skaffe seg en lisenskode fra IDB. Man fr da en kode som bestr av 6 bokstaver/tall som kun vil fungere sammen med det navn som lisensen skal gjelde for. Lisensnavnet og den tilhrende koden m legges inn i de programmene som bruker IDBTOOLS: status% = LicenseIdbTools("Bruker Navn, Adresse", "KODE01") Denne koden legges f.eks. i Form Load for oppstartsbildet. Alle som lager program som benytter IDBTOOLS, m ha lisens for det navnet som holder copyright for det gjeldende programmet. IDBTOOLS.INI vil vise navn p alle program som bruker IDBTOOLS, samt copyright informasjon for alle program som bruker IDBTOOLS med gyldig lisens. Dette betyr at dersom noen urettmessig bruker en annens lisens, vil den som har gyldig lisens fremst som copyright-innehaver av det programmet som er basert p ulovlig bruk av IDBTOOLS. Man kan ikke pberope seg ha handlet i god tro dersom man aktivt har programmert inn kall til LicenseIdbTools med en annens navn/ lisenskode. En tilsvarende kopieringsbeskyttelse er tilgjengelig for den enkelte applikasjon som bruker IDBTOOLS (med gyldig lisens): Med kallet kode$ = LicenseGetCode("Bruker Navn","NKKEL") vil man f returnert en kode som kun vil fungere sammen med angitt brukernavn og "nkkel". Dette kallet legges ikke inn i applikasjonen, men i et eget program for intern bruk. I applikasjonen legges kallet: status% = LicenseProgram(BrukerNavn$, Kode$, "NKKEL") Ved teste p variabelen status% (som gjerne defineres som Global), kan din applikasjon legge inn begrensninger i programmet nr koden ikke stemmer. Dette kan gjres i form av irritasjonsmomenter som stadige pminnelser med meldingsbokser og lydsignaler, eller man kan rett og slett avslutte programmet - alt etter hva man nsker oppn. Det enkleste alternativet er f selve IDBTOOLS til oppfre seg som en ulisensiert versjon ved kalle LicenseIdbTools med en ugyldig kode. "NKKEL" er her brukt som eksempel p en "magisk" tekststreng som angir en nkkel som bare den som lager applikasjonen kjenner til. P denne mten vil det vre umulig for andre generere gyldige lisenskoder for din applikasjon - selv om de skulle ha ftt tak i din lisenskode for IDBTOOLS. For unng at "hackers" skal kunne finne ut hva denne nkkelen inneholder, kan du "bygge den" runtime ved f.eks. sl sammen flere strenger, lese delstrenger fra filer og evt. kjre det hele gjennom krypterings- algoritmene som er beskrevet over. BrukerNavn$ og Kode$ er tekststrenger som bruker m taste inn frste gang applikasjonen kjres - evt. hver gang programmet startes uten gyldig lisens. Nr gyldig kode er angitt, br applikasjonen lagre denne informasjonen - gjerne kryptert - slik at bruker slipper taste det inn hver gang. Nr LicenseProgram er kalt med gyldig kode, vil angitt brukernavn bli lagt inn i IDBTOOLS.INI sammen med navnet p din applikasjon under gruppen [License]. Du har sikkert tenkt p at man kan lage et lite program som kan g gjennom alle kombinasjoner av bokstaver og tall for "knekke" kodene. Det er helt riktig, men det vil ta litt tid. Der er over en milliard mulige kombinasjoner, og det vil gjennomsnittlig ta mer enn 5 r knekke en slik kode. Dersom noen har en slik tlmodighet, fortjener de nesten lykkes. _____________________________________________________________________________ > SHAREWARE: REGLER FOR BRUK OG KOPIERING IdbTools distribueres som "shareware". Dette m ikke forveksles med "Freeware" eller "Public domain". "SHAREWARE" er en metode for distribusjon av programvare som er beskyttet av COPYRIGHT p samme mte som all annen kommersiell programvare. "Shareware" - konseptet gir potensielle brukere mulighet for teste programvaren fr de evt. bestemmer seg for kjpe bruksrett for den. I dette ligger at man fullt lovlig kan bruke programmet for testforml i en periode. En rimelig test-periode antas vare ca. 30 dager. Dersom man fortsetter bruke programvaren utover en rimelig test-periode, eller benytter den i et kommersielt produkt, uten betale lisensavgift, blir dette sett p som brudd p copyright-beskyttelsen til produsenten. Et viktig poeng er at "shareware" skal gi brukeren mulighet til teste alle deler av programvaren. Programvare som bare fungerer delvis, eller bevisst legger inn feil i test-versjoner, betegnes gjerne som "crippleware", og regnes ikke som "shareware". En god del "shareware"- programmer, bl.a. IdbTools, bruker "pop-up"-bilder som minner om at lisens mangler, men fungerer ellers 100% som en lisensiert versjon. Disse betegnes ofte som "nagware", men er likevel fullverdig "shareware". IDBTOOLS kan distribueres fritt p flgende vilkr: - Alle filer i denne pakken m vre inkludert (se PACKING.LST). - Ingen av filene m vre endret. Arkiv-filnavn m inneholde versjonsnr. (f.eks. VBIT11.ZIP: ver 1.1) Filenes dato/tid m ikke endres. Klokkeslett br tilsvare versjonsnr. - Ingen filer kan legges til pakken, med unntak av en kort tekst-fil som identifiserer den BBS som distribuerer programvaren. - Det m ikke tas srskilt betaling for distribusjon av denne pakken uten etter skriftelig avtale om dette med IDB MICRO ADEPT AS. Dersom du synes dette er nyttig programvare, oppfordres du til spre kopier til venner og kollegaer, og gjerne laste opp en kopi til dine favoritt-BBS-er hvis pakken ikke allerede finnes der. _____________________________________________________________________________ > COPYRIGHT / ANSVARSFRASKRIVELSE / BETINGELSER FOR BRUK ! IDBTOOLS Copyright (C) 1995 IDB MICRO ADEPT AS, BERGEN, NORWAY ! ! ________________________________________________________________ ! ! Bruk av denne programvaren forutsetter at flgende aksepteres: ! ! """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" ! ! PROGRAMVAREN IDBTOOLS OG TILHRENDE DOKUMENTASJON LEVERES SOM ! ! DEN ER, UTEN NOEN FORM FOR GARANTIER. ALL BRUK ER P EGET ANSVAR. ! ! IDB MICRO ADEPT AS KAN IKKE GJRES ANSVARLIG FOR SKADE SOM FLGE ! ! AV FEIL BRUK, FEIL I DOKUMENTASJON ELLER FEIL I PROGRAMVARE. ! ! INNEHAVER AV GYLDIG LISENSKODE FOR IDBTOOLS FORPLIKTER SEG TIL ! ! HOLDE DENNE KODEN UTILGJENGELIG FOR UVEDKOMMENDE. BEVISST ! ! SPREDNING AV LISENSKODE VIL BLI SETT P SOM ET GROVT BRUDD P ! ! LISENSBETINGELSENE OG EN KRENKING AV IDB'S COPYRIGHT. GROVE ! ! TILFELLER VIL BLI FORFULGT RETTSLIG. ! _____________________________________________________________________________ > LISENS-KODER / PRIS For bli kvitt de stadige "pop-up"-bildene som minner om at du trenger en lisens, m du kontakte IDB MICRO ADEPT AS for f en gyldig lisens- kode. For dette betaler du et engangsbelp. Gjeldende priser er: I Norge: NOK 425 inkl. M.V.A. (REG: NO865975392MVA) Alle andre land: US $ 55 evt. omgjort til NOK etter dagens kurs Gyldig lisenskode gir deg rett til distribuere IDBTOOLS.DLL sammen med dine programmer. ------------------------ * TIDSBEGRENSET TILBUD * ------------------------ Ved kjp av lisens for IdbTools fr 1. mars 1995, vil man uten ekstra kostnader ogs f rett til bruk og distribusjon av IDBVTSS.DLL. Denne modulen gjr det mulig utveksle data mellom tabeller og regnearket Formula One fra Visual Tools. Dette produktet er srdeles godt egnet for presentasjon av tabeller, og gir indirekte mulighet til lese og skrive tabeller fra/til Excel-filer (ver 4.0). IDBVTSS vil i senere versjoner bli solgt som et separat tilleggsprodukt. _____________________________________________________________________________ > BESTILLING / BETALING SENDES TIL: Idb Micro Adept AS Strandgaten 207 N-5004 Bergen, Norge ___________________________________________________________________________ | | | Flgende informasjon m sendes inn sammen med betaling: | | ======================================================= | | | | Navn _________________________________________________________| | | | Adresse _________________________________________________________| | | | Postnr _________________________________________________________| | | | Poststed _________________________________________________________| | | | Land _________________________________________________________| | | | Dato ___________________________ Telefon: ____________________| | | | Har betalt ___________ for IdbTools lisens (se PRIS over): | | _ | | [_] Sjekk vedlagt | | [_] BankGiro: 9521.05.69325 (A/S Bergens Skillingsbank) | | [_] PostGiro: 0826.02.47787 (CCP du bnficiaire | | Norvge Service des | | chques postaux) | | _ | | nsker f tilsendt lisenskode [_] via E-mail: ____________________| | [_] via post. | | [_] via Fax: ____________________| | IdbTools versjon: ________ | | | | Hvor du fant IdbTools: _____________________________________________| |_________________________________________________________________________| Ved betaling direkte til giro-konto, kan informasjonen over med fordel sendes som E-mail via internet til: idb@vestnett.no Koden sendes s snart innbetaling er verifisert. Pengene frst, s kommer koden - ingen unntak. Dette gir minimale administrasjonsutgifter og dermed lavere pris for programvaren; du fr mer for pengene. _____________________________________________________________________________ > DOKUMENTASJON - SPRK Denne teksten er tilgjengelig p flgende sprk: Norsk README_N.WIN (Windows: README_N.WIN) Engelsk README.TXT (Windows: README.WIN) Dokumentasjonen (IDBTOOLS.WRI og IDBTABLE.WRI) er inntil videre kun p engelsk. Dersom ditt sprk ikke er Engelsk eller Norsk, og du nsker bidra til at denne teksten og/eller dokumentasjonen blir tilgjengelig p ditt sprk, kontakt oss for nrmere diskusjon om samarbeid. _____________________________________________________________________________ > TILBAKEMELDING Dersom du har kommentarer, feilrapporter eller forslag til forbedringer/ utvidelser, skriv til: Idb Micro Adept AS idb@vestnett.no Strandgaten 207 ^^^^^^^^^^^^^^^ N-5004 Bergen, Norge _____________________________________________________________________________ _______________________________END_OF_README_________________________________