home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Programming Tool Box
/
SIMS_2.iso
/
vb_tools
/
vbit11
/
readme_n.txt
< prev
next >
Wrap
Text File
|
1995-01-22
|
22KB
|
431 lines
_____________________________________________________________________________
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 gj¢re livet enklere for enhver Visual Basic │ I │
programmerer. │ D │
│ B │
Av innholdet kan vi nevne: ├─────┤
│ADEPT│
+ Enkle, men svært 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, skjermoppl¢sning, m.m.
+ Dynamiske en/to-dimensjonale tabeller (matriser) av dynamiske
tekst-strenger lar deg operere med betydelig st¢rre datamenger
i internhukommelsen enn Visual Basic alene kan takle. Smart
sortering, s¢king, lesing fra fil, skriving til fil, kobling
mot regneark, m.m.
+ Krypteringsrutiner (uten "bakd¢r") gir deg på en enkel måte
muligheten til å beskytte dine data mot innsyn fra uvedkommende.
+ Rutiner som gj¢r det mulig å kopieringsbeskytte dine
applikasjoner på en elegant måte. Denne pakken bruker
samme teknikken selv, så pr¢v, 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 nærmere 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 måneder gammel (se fil-dato), er
det sannsynlig at det finnes en nyere versjon i oml¢p.
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 st¢rrelse 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 s¢king 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 får betydning for rekkef¢lgen når resten
av linjen er identisk.
Eksempel på tekst sortert med IdbTools SmartSort:
Sortering 1
Sortèring 2
Sortering 3
Sortèring 3
Sortèring 4
Sortéring 5
Sortéring 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 når du ser hvordan de fleste andre programmer takler sortering
av de samme linjene:
Sortering 1
Sortering 3
Sortéring 5
Sortéring 6
Sortèring 2
Sortèring 3
Sortèring 4
Det finnes flere s¢kerutiner for å finne data i en tabell, som eksakt
s¢king, joker-s¢king (*data*) og binær-s¢king (data* i sortert tabell).
_____________________________________________________________________________
> STRENGBEHANDLING / INI-FILER
Et problem som de fleste Visual Basic programmerere f¢r eller senere st¢ter
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 måte (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 være "progman.exe"
' Samme med IDBTOOLS (IDBTOOLS.BAS inkluderes i prosjektet):
StartProg$ = IniFileGetString("SYSTEM.INI", "boot", "shell")
Det burde ikke være noen tvil om hvilket av disse alternativene som er
enklest å programmere, vedlikeholde og ikke minst å forstå.
IdbTools inneholder en rekke andre kraftige streng-håndterings-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 måte gir informasjon om systemet, som skjerm-
oppl¢sning, 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 f¢lgelig
ingen "bakd¢r" som åpner for innsyn. Det er ganske enkelt umulig å finne ut
hva en kryptert streng inneholder uten korrekt n¢kkel - selv for oss som
har laget programmet og kjenner krypteringsalgoritmen ut og inn.
Rutinene er svært enkle å bruke. Man angir teksten som skal krypteres
sammen med en "hemmelig n¢kkel" og får som resultat en ubegripelig
tekststreng. Når man vil dekode teksten, angir man den ubegripelige
strengen sammen med den samme "hemmelige n¢kkel" og får den opprinnelige
tekststrengen som resultat. Dersom man angir feil n¢kkel, vil resultatet
bli bare tull.
Eksempel:
TekstInn$= "Privat informasjon..."
Secret$ = "Sesam$ΣzaM"
Krypt$ = Encrypt (TekstInn$, Secret$)
TekstUt$ = Decrypt (Krypt$, Secret$)
' TekstUt$ og TekstInn$ vil være identiske, og Krypt$ vil
' inneholde en helt ubegripelig tekststreng.
_____________________________________________________________________________
> KOPIERINGSBESKYTTELSE
Programbiblioteket IDBTOOLS.DLL er kopieringsbeskyttet. Dette er gjort på
den måten at dersom man ikke har gyldig lisens, vil man stadig vekk få opp
en meldingsboks som minner om at man b¢r skaffe seg en lisens for
programmet. De fleste rutinene kan brukes uhindret, men når 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 får da en
kode som består av 6 bokstaver/tall som kun vil fungere sammen med det navn
som lisensen skal gjelde for. Lisensnavnet og den tilh¢rende 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 påberope 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","N¥KKEL")
vil man få returnert en kode som kun vil fungere sammen med angitt
brukernavn og "n¢kkel". Dette kallet legges ikke inn i applikasjonen,
men i et eget program for intern bruk.
I applikasjonen legges kallet:
status% = LicenseProgram(BrukerNavn$, Kode$, "N¥KKEL")
Ved å teste på variabelen status% (som gjerne defineres som Global), kan
din applikasjon legge inn begrensninger i programmet når koden ikke
stemmer. Dette kan gj¢res i form av irritasjonsmomenter som stadige
påminnelser 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 å oppf¢re seg som en ulisensiert
versjon ved å kalle LicenseIdbTools med en ugyldig kode.
"N¥KKEL" er her brukt som eksempel på en "magisk" tekststreng som angir en
n¢kkel som bare den som lager applikasjonen kjenner til. På denne måten
vil det være umulig for andre å generere gyldige lisenskoder for din
applikasjon - selv om de skulle ha fått tak i din lisenskode for IDBTOOLS.
For å unngå at "hackers" skal kunne finne ut hva denne n¢kkelen inneholder,
kan du "bygge den" runtime ved f.eks. å slå sammen flere strenger, lese
delstrenger fra filer og evt. kj¢re det hele gjennom krypterings-
algoritmene som er beskrevet over.
BrukerNavn$ og Kode$ er tekststrenger som bruker må taste inn f¢rste gang
applikasjonen kj¢res - evt. hver gang programmet startes uten gyldig
lisens. Når gyldig kode er angitt, b¢r applikasjonen lagre denne
informasjonen - gjerne kryptert - slik at bruker slipper å taste det
inn hver gang.
Når 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 tålmodighet, 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 måte som all annen
kommersiell programvare.
"Shareware" - konseptet gir potensielle brukere mulighet for å teste
programvaren f¢r de evt. bestemmer seg for å kj¢pe bruksrett for den.
I dette ligger at man fullt lovlig kan bruke programmet for testformål
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å f¢lgende vilkår:
- Alle filer i denne pakken må være inkludert (se PACKING.LST).
- Ingen av filene må være endret.
Arkiv-filnavn må inneholde versjonsnr. (f.eks. VBIT11.ZIP: ver 1.1)
Filenes dato/tid må ikke endres. Klokkeslett b¢r 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 særskilt 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 f¢lgende aksepteres: !
! """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" !
! PROGRAMVAREN IDBTOOLS OG TILH¥RENDE DOKUMENTASJON LEVERES SOM !
! DEN ER, UTEN NOEN FORM FOR GARANTIER. ALL BRUK ER PÅ EGET ANSVAR. !
! IDB MICRO ADEPT AS KAN IKKE GJ¥RES ANSVARLIG FOR SKADE SOM F¥LGE !
! 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 engangsbel¢p. 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 kj¢p av lisens for IdbTools f¢r 1. mars 1995, vil man uten ekstra
kostnader også få rett til bruk og distribusjon av IDBVTSS.DLL. Denne
modulen gj¢r det mulig å utveksle data mellom tabeller og regnearket
Formula One fra Visual Tools. Dette produktet er særdeles 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
___________________________________________________________________________
| |
| F¢lgende 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 bénéficiaire |
| Norvège Service des |
| chèques 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 f¢rst, så kommer
koden - ingen unntak. Dette gir minimale administrasjonsutgifter og dermed
lavere pris for programvaren; du får mer for pengene.
_____________________________________________________________________________
> DOKUMENTASJON - SPRÅK
Denne teksten er tilgjengelig på f¢lgende språk:
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 språk ikke er Engelsk eller Norsk, og du ¢nsker å bidra til at
denne teksten og/eller dokumentasjonen blir tilgjengelig på ditt språk,
kontakt oss for nærmere 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_________________________________