SamLogic C++ Visual Library
2004
- funktioner
![]()
C++ Visual Library 2004
utökar Visual C++ med ca 200 nya funktioner. Här
nedan beskrivs alla funktioner som ingår i verktyget kortfattat. För en detaljerad beskrivning av en funktion, klicka på det understrykna namnet.
Personnr, organisationsnr,
bankgiro, postgiro mm
I C++ Visual Library 2004
finns det
funktioner för hantering av organisationsnummer, personnummer,
bankgiro, postgiro mm. Dessa funktioner kan bla användas för att kontrollera
att en inmatad sifferserie är korrekt.
BankgiroValid -- Testar om ett
bankgironummer är korrekt.
CalcCnr -- Beräknar ett kontrollnummer enligt modulus-10-metoden med
vikterna 2 och 1.
CnrValid -- Testar om ett nummer har giltig kontrollsiffra.
OrgnrType -- Kategoriserar ett organisationsnummer.
OrgnrValid -- Testar om ett organisationsnummer är giltigt.
PackCnrToLong
-- Komprimerar ett personnummer eller organisationsnummer.
PnrValid -- Testar om ett personnummer är korrekt.
PostgiroValid -- Testar om ett postgironummer är korrekt.
UnPackLongToCnr
-- Packar upp ett personnummer / organisationsnummer som komprimerats
med PackCnrToLong.
Kreditkortsnummer
I C++ Visual Library 2004
finns det även
funktioner för validering av kreditkortsnummer och kreditkortsdatum.
CreditCardNrValid
-- Testar att ett kreditkortsnummer är giltigt.
CreditCardType -- Fastställer
kreditkortstyp (tex VISA, American Express, MasterCard etc) genom att analysera
numret.
CreditCardCheckExpiryDate -- Kontrollerar
kreditkortets sista giltighetsdatum.
Kryptering och lösenord
Säkerhet blir allt viktigare, bla pga ökad
Internet-användning. I C++ Visual Library 2004 finns det ett antal
funktioner för kryptering av data. Det finns även funktioner för att spara
lösenord i krypterade filer.
CryEncryptBuf
-- Krypterar en databuffert.
CryEncryptFile -- Krypterar en fil.
CryEncryptStr --
Krypterar en sträng.
CryEncryptText
-- Krypterar en text.
CryDecryptBuf -- Dekrypterar en
databuffert.
CryDecryptFile -- Dekrypterar en fil.
CryDecryptStr -- Dekrypterar en sträng.
CryDecryptText -- Dekrypterar text.
CryGetLastError -- Returnerar senast inträffade felet i samband
med kryptering/dekryptering.
PswLoadPassword
--
Laddar in ett lösenord från en krypterad fil.
PswSavePassword
--
Sparar ett lösenord i en krypterad fil.
PswGetLastError -- Returnerar senast inträffade felet i samband
med lösenordshanteringen.
Postnummerdatabas
I C++ Visual Library 2004
ingår en svensk postnummerdatabas som
kan användas till databaser som ska innehålla postnummer och ortnamn, tex ett
kundregister. Det finns fyra funktioner för hantering av postnummerdatabasen
och en av dessa, XPNrGetPlace, returnerar ett ortnamn för ett postnummer
du anger. Denna funktion är mycket användbar i samband med registrering av
data. När användaren skrivit in ett postnummer i ett fält kan denne få
ortnamnet automatiskt i ortnamnsfältet. Detta snabbar upp registrering av
uppgifter samtidigt som risken för felstavningar av ortnamn nästan helt försvinner.
Informationen i postnummerdatabasen är helt färsk och är från 2004.
XPNrCreateTable -- Skapar en komprimerad databas med svenska postnummer och
postorter.
XPNrFormatPnr -- Formaterar en sträng med ett postnummer.
XPNrGetPlace -- Returnerar en postort som tillhör ett postnummer.
XPNrLoadTable -- Laddar in en komprimerad postnummerdatabas till minnet.
XPNrPnrValid -- Testar att ett postnummer har giltigt format och ej innehåller ogiltiga tecken.
XPNrUnloadTable -- Laddar ur en postnummerdatabas
från minnet.
XPNrSetSrcLineWidth -- Anger radbredd för en okomprimerad källfil med postnummerdata.
Strängar
I C++ Visual Library
2004
finns ett
antal snabba rutiner för manipulering av strängar. Bla finns funktioner för
att infoga strängar, radera delsträngar, ersätta delsträngar, formatera
versaler/gemener i strängar mm.
PickFirstAndLastName -- Plockar ut förnamn och efternamn ur en sträng med ett personnamn.
PickFirstAndLastAndMiddleName -- Plockar ut förnamn,
mellannamn och efternamn ur en sträng med ett personnamn.
StrBetween -- Plockar ut en sträng mellan två specificerade tecken/strängar.
StrCount -- Räknar antal förekomster av en delsträng eller ett specifikt tecken i en sträng.
StrDel -- Raderar ett specificerat antal tecken i en sträng.
StrDelStr --
Raderar en delsträng från en annan sträng.
StrDelSpc -- Raderar alla mellanslag i en sträng.
StrIns -- Infogar en delsträng i en annan sträng.
StrInsC -- Infogar ett visst antal tecken i
en sträng.
StrPlace -- Kopierar in en sträng i en annan
sträng utan att skjuta tecken framför sig.
StrRep -- Byter ut alla förekomster av en delsträng mot en annan.
StrRnd -- Skapar en ASCII-sträng med
slumpmässiga tecken inom angivet intervall.
StrUprF -- Omvandlar första tecknet i en sträng, om det är en gemen, till en versal.
StrUprFW
-- Omvandlar första tecknet i varje ord i en sträng till en versal.
StrUprFWX -- Omvandlar första tecknet i varje ord i en sträng till en versal.
Övriga bokstäver omvandlas till gemener.
Datum och tid
I C++ Visual Library 2004 finns det en
mängd rutiner för hantering av datum, kalender och tid. Rutinerna är också helt anpassade för att fungera
under svenska förhållanden.
DateValid -- Testar om ett datum är giltigt.
DayOfWeek -- Returnerar veckodag.
DayOfWeekStr -- Returnerar veckodagsnamn för ett datum.
GetFirstSpecWeekDay -- Returnerar datum för
första specificerade veckodagen i en månad (tex första söndagen i Mars).
GetHolidayStr -- Omvandlar en helgkod till en sträng med
svenskt namn (tex "Julafton").
GetLastSpecWeekDay
-- Returnerar datum för
sista specificerade veckodagen i en månad (tex sista söndagen i Mars).
GetMonthStr -- Returnerar månadsnamn för ett datum.
GetSpecialDayStr -- Omvandlar en specialdagskod till en sträng med
svenskt namn (tex "Skottdagen").
HMSToSec -- Omvandlar timmar, minuter och
sekunder till enbart sekunder.
HolidayCode -- Returnerar helgkod för ett datum.
IsLeapYear -- Testar om ett
år är ett skottår.
JulianDay -- Omvandlar ett datum till ett julianskt dagtal.
JulianDayNow
-- Returnerar julianskt dagtal
för idag.
JulianToDate -- Omvandlar ett julianskt dagtal till ett datum.
LastDay -- Returnerar sista dagen i en månad.
SecToHMS -- Omvandlar sekunder till timmar, minuter och sekunder.
SpecialDayCode -- Returnerar specialdagskod för ett visst datum.
TimeValid -- Testar om ett klockslag är giltigt.
WeekNr -- Returnerar veckonummer för ett datum.
WeeknrValid -- Testar om ett veckonummer är giltigt.
YWDAdd -- Adderar datum med formatet
år-veckonr-veckodag.
YWDFromJulian -- Omvandlar ett
julianskt dagtal till ett datum i formatet år-veckonr-veckodag.
YWDGetNow -- Erhåller dagens datum i formatet
år-veckonr-veckodag.
YWDDif -- Beräknar differensen mellan två datum med formatet
år-veckonr-veckodag.
YWDSub -- Subtraherar datum med formatet
år-veckonr-veckodag.
YWDToJulian -- Omvandlar ett datum i formatet
år-veckonr-veckodag till ett
julianskt dagtal.
YWDValid -- Testar om ett datum i formatet
år-veckonr-veckodag är giltigt.
Tidszoner och sommartid
I C++ Visual Library 2004 finns även funktioner för att returnera fakta
om världens tidszoner och sommartider.
AdjustTimeDifForDaylight
--
Justerar en tidsdifferens för eventuell sommartid i något av länderna.
AdjustTimeDifForDaylightSwe
--
Justerar en tidsdifferens för eventuell sommartid i ett land med Sverige som
utgångspunkt.
GetDaylightTransitionDate --
Returnerar datum och klockslag när vintertid övergår till sommartid.
GetStandardTransitionDate
--
Returnerar datum och klockslag när sommartidtid övergår till vintertid.
GetLocaleTimeZoneStr -- Returnerar en sträng som beskriver den aktuella tidszonen i
systemet.
GetTimeZoneDif -- Returnerar tidsskillnaden
i minuter melan två tidszoner i världen.
GetTimeZoneDifSwe -- Returnerar tidsskillnaden
i minuter till en tidszon i världen (från Sverige).
GetUTCTimeZoneDif -- Returnerar tidskillnaden i minuter till UTC-zonen
(Coordinated Universal Time).
IsDaylightPeriodNow -- Testar om det är
sommartid just nu.
Tidmätning med mycket hög
precision
I verktyget finns också funktioner för
tidmätning med mycket hög precision. Nogrannheten är en mikrosekund (0.000001
s) vilket ger mycket nogranna mätresultat och är användbart när kraven på
hög precision är stora.
HiResTimer_Start
-- Startar tidmätning.
HiResTimer_GetElapsedTime
-- Returnerar förfluten tid i mikrosekunder sedan anrop av HiResTimer_Start.
Fil
I C++ Visual Library
2004
finns även en stor mängd funktioner för hantering
(tex manipulering) av sökvägar och filnamn.
AppendBackslash -- Adderar "\"
sist i en sökväg ifall detta tecken saknas.
AppendFile -- Slår ihop en fil med
en annan.
ChangeFileExt
-- Byter namntillägg på en
fil på en enhet.
ChangeFilenameExt -- Byter namntillägg på
ett filnamn i en sträng.
ConvertTextFileFromUnixToWin -- Konverterar en textfil från UNIX
till Windows-format.
CreateCompactPath -- Förkortar en sökväg i en
sträng på ett formaterat sätt. Bra innan utskrift på skärmen.
CreatePath
--
Skapar en komplett sökväg med hjälp av en katalogsökväg och ett filnamn.
CreateSystemPath
-- Skapar en sökväg till en fil som finns i Windows
systemkatalog.
ExtractDirectory -- Plockar ut katalog ur
en sträng med en sökväg.
ExtractFilename -- Plockar ut ett filnamn ur
en sträng med en sökväg.
ExtractFilenameExt -- Plockar ut ett
namntillägg ur en sträng med en sökväg.
ExtractNamePart -- Plockar ut namndelen ur ett filnamn.
FileExists -- Testar om en fil existerar.
FileSpace -- Returnerar hur mycket en fil verkligen tar upp.
FindTextInFile -- Söker efter en textsträng i en fil
och returnerar position i filen där strängen finns.
ForceDeleteFile -- Raderar en fil med
tvång, även om den är skrivskyddad.
GetAssociatedApp -- Erhåller associerad
applikation, dvs vilket program som tillhör ett visst namntillägg.
GetFilenameExtDescription -- Erhåller beskrivning
för ett namntillägg.
GetFileVersionData -- Hämtar versionsinformation från en fil
(tex produktnamn, företagsnamn, copyright, versionsnr mm).
GetFileVersionNumber -- Returnerar en fils
versionsnummer.
InsertBackslash -- Stoppar in "\"
först i en sträng med en sökväg ifall detta tecken saknas.
InsertDriveName -- Stoppar in en
enhetsbokstav först i en sträng med en sökväg.
IsUnixTextFile --
Testar om en textfil använder UNIX-radbrytningar (ASCII-kod nr 10,
Linefeed-tecken).
MakeFileBackup -- Gör en säkerhetskopia av
en fil.
RemoveDupBackslashes -- Avlägsnar dubbla
"\" i en sökväg.
RemoveDupBackslashesEx -- Avlägsnar dubbla
"\" i en sökväg. Hanterar UNC-filnamn.
RemoveLastBackslash -- Avlägsnar ett
"\" sist i en sökväg ifall det existerar.
RemoveWriteProtAttribute -- Avlägsnar
skrivskydd från en fil.
SetFileDateTime -- Sätter datum och tid
för en fil.
SetFileDateTime_Creation -- Sätter datum
och tid för en fil (när den skapats).
SetFileDateTime_Now -- Sätter datum och tid
för en fil till nuvarande datum och tid.
SetWriteProtAttribute -- Skrivskyddar en fil.
Mappar
Ett antal funktioner för hantering av
mappar (kataloger) finns också. Bla en funktion som skapar flera nivåer av
kataloger på en gång samt ett antal funktioner som returnerar viktiga
kataloger i systemet såsom Windows-katalogen, System-katalogen,
Program-katalogen mm.
DirCreate -- Skapar en eller flera nivåer av kataloger samtidigt.
DirExists -- Testar om en katalog existerar.
ExploreFolder -- Öppnar Utforskaren med en specificerad folder öppen.
ForceRemoveDir -- Avlägsnar en katalog med
tvång, även om den innehåller filer.
GetCommonFilesDir -- Returnerar
katalogen med vanliga filer.
GetFontDir -- Returnerar katalogen
som innehåller installerade fonter.
GetMyDocumentsDir -- Returnerar
katalogen där "Mina dokument" finns.
GetProgramFilesDir -- Returnerar
"Program"-katalogen.
GetTemporaryDir -- Returnerar den katalog i
systemet som används för temporära filer.
Disk
ClusterSize -- Returnerar cluster-storleken för en diskenhet.
DiskFree -- Returnerar ledigt utrymme för en
enhet i bytes.
DiskFreeKB -- Returnerar ledigt utrymme för en
enhet i kilobytes.
DiskSize -- Returnerar storleken på en
enhet i bytes.
DiskSizeKB -- Returnerar storleken på en
enhet i kilobytes.
DriveType -- Returnerar typ av enhet.
GetFileSystem -- Erhåller en enhets
filsystem (tex FAT16, FAT32, NTFS, CDFS etc).
GetFirstCdRomDrive -- Returnerar första
CD-enheten i systemet i form av enhetsbokstav.
GetVolumeName -- Erhåller en enhets
volymetikett (label).
IsCdRomDrive -- Testar om en enhet är en
CD-enhet.
IsFloppyDrive -- Testar om en enhet är en
diskettstation.
IsHarddiskDrive -- Testar om en enhet är en
hårddisk.
IsNetworkDrive -- Testar om en enhet är en
nätverksenhet.
VolumeSerialNumber -- Returnerar serienumret
för en enhet.
System
I C++ Visual Library
2004
finns
även ett antal funktioner för att avläsa information om systemet och utföra
vissa specialoperationer som normalt kräver avsevärda kodrader i Visual C++. Bla finns
funktioner för att returnera operativsystem, datorns minnestorlek, processortyp,
processorhastighet mm. Det finns även funktioner för att gömma Aktivitetsfältet eller
Skrivbordet.
APIFunctionAvailable --
Testar om en funktion existerar i en
DLL-modul.
ExecuteWin -- Exekverar eller aktiverar en applikation beroende på
om den är aktiv eller inte.
GetMemoryTotalPhys -- Returnerar storleken på
datorns internminne i bytes.
GetMemoryAvailPhys
-- Returnerar ledigt minne i
bytes.
GetMemoryTotalVirtual
--
Returnerar storleken
på datorns internminne i bytes.
GetMemoryAvailVirtual
--
Returnerar ledigt minne
i bytes.
GetCentralProcessorSpeed --
Returnerar klockfrekvensen i MHz som centralprocessorn arbetar i.
GetCentralProcessorType -- Returnerar fakta
om centralprocessorn i datorn.
GetWindowsRegisteredOwner -- Returnerar namn
och företagsnamn på Windows registrerade ägare.
GetWinVersionAsStr
-- Returnerar Windows versionsnummer
i form av en sträng.
HideWinDesktop
-- Gömmer/visar skrivbordet i Windows (inklusive ikonerna).
HideWinTaskBar
-- Gömmer/visar aktivitetsfältet i Windows.
IsApplicationActive -- Testar om
en applikation med specificerat process-ID är aktiv.
IsWindowActive -- Testar om ett fönster eller en applikation är aktiv.
IsWindows95 -- Testar
om programmet körs i Windows 95.
IsWindows98 -- Testar
om programmet körs i Windows 98.
IsWindowsME -- Testar
om programmet körs i Windows ME.
IsWindowsNT -- Testar
om programmet körs i Windows NT.
IsWindows2000 -- Testar
om programmet körs i Windows 2000.
IsWindowsXP -- Testar
om programmet körs i Windows XP.
RunApplication -- Startar ett program på
olika sätt. Tex gör paus tills programmet har avslutats eller initierats
färdigt.
RunApplicationEx -- Startar ett program
och lagrar process-ID. Kan bla användas för att stänga ett program utifrån
sedan.
TerminateApplication --
Stänger ett program utifrån genom att utnyttja applikationens process-ID.
Mus
I verktyget ingår även
ett antal funktioner för hanteringen av musen.
MouseShowCursor
-- Visar eller gömmer musmarkören.
MouseSetCursorPos -- Sätter musens
markör till specificerad position.
MouseClipCursor -- Definierar en
rektangel på skärmen där musmarkören endast får befinna sig i.
MouseClickLeftButton -- Simulerar
tryck med vänster musknapp.
MouseClickRightButton -- Simulerar
tryck med höger musknapp.
Registry
I
verktyget finns också funktioner för att förenkla åtkomst till Registry.
CreateRegKey -- Skapar en nyckel i Registry.
DeleteRegKey
-- Raderar en
nyckel i Registry.
GetRegKeyStr -- Erhåller sträng-värdet
från en Registry-nyckel.
GetRegKeyVal -- Erhåller Long-värdet från en
Registry-nyckel.
SetRegKeyStr -- Sätter ett sträng-värde
vid en Registry-nyckel.
SetRegKeyVal -- Sätter ett Long-värde vid en
Registry-nyckel.
DeleteRegVal --
Raderar ett värde ur Registry.
Landsinställningar
Världen blir allt mer internationell och
kraven ökar på att programmen lätt ska kunna anpassas till andra länder. I
C++ Visual Library 2004
finns ett antal funktioner som returnerar
landsinställningar från systemet såsom datumformat, decimaltecken, valuta mm.
Det finns även en funktion som automatiskt omvandlar ett tal till aktuellt
format.
AdjustDecimalDelimiter -- Justerar eventuell
decimalpunkt i ett tal till aktuellt format.
ConvertToLocaleNrFormat -- Justerar ett tal till aktuellt format
(justerar decimalpunkt och tusentalsavgränsare).
GetLocaleCountryID -- Erhåller nuvarande
landskod.
GetLocaleCountryStr -- Erhåller nuvarande land
i form av en sträng.
GetLocaleCurrency -- Returnerar aktuell valuta.
GetLocaleDateFormat -- Returnerar
sträng med aktuellt datumformat.
GetLocaleDateSep -- Returnerar aktuell
datumavgränsare.
GetLocaleDecimalDelimiter
-- Returnerar
aktuell decimalpunkt.
GetLocaleLanguageID -- Erhåller nuvarande
språkkod.
GetLocaleLanguageStr -- Erhåller nuvarande
språk i form av en sträng.
GetLocaleThousandDelimiter
-- Returnerar aktuell tusentalsavgränsare.
GetLocaleTimeFormat-- Returnerar
sträng med aktuell tidsformat.
GetLocaleTimeSep -- Returnerar aktuell
tidsavgränsare.
Grafik, fönster och
kontroller
I verktyget finns även ett antal funktioner
för hantering av grafik, fönster, kontroller och bildskärm. Bla finns funktioner för att
skriva ut text med valfri vinkel eller vertikalt samt funktioner för att
returnera antal färger eller antal bitar grafikkortet är inställt på. Dessutom
ingår en användbar funktion för att sätta tabb-stopp i en listbox.
CenterWin --
Centrerar ett formulär på skärmen.
CompareColors
-- Jämför två färger och undersöker vilken av färgerna som är den ljusaste.
GetDisplayBitsPerPixel -- Returnerar antal
färgbitar per pixel som grafikortet är inställd på (vanligtvis 16, 24 eller
32).
GetDisplayCharSize -- Returnerar
teckenstorleken för aktuell bildskärm i pixels per tum.
GetDisplayNumColors -- Returnerar antal färger
som grafikkortet är inställd på.
SetListBoxTabs -- Sätter tabb-stopp i en
listbox till valfria positioner.
SetWindowTopMost -- Sätter ett fönster till alltid överst,
även när den är inaktiv.
SetWindowNotTopMost -- Sätter ett fönster till
normalt uppförande.
SplitRGBColor -- Splittrar upp en RGB-färg i dess
beståndsdelar (röd, grön, blå).
TextRotate -- Skriver ut text i valfri vinkel.
TextVertical -- Skriver ut text vertikalt.
Tal
I C++ Visual Library 2004 finns ett antal
funktioner för hantering av tal. Bla finns funktioner för manipulering av
enskilda bitar i heltal samt en snabb funktion som testar om ett tal är ett
primtal.
BitSet
-- Sätter en enskild bit i ett tal.
BitClr
-- Nollställer en enskild bit i ett tal.
BitTest
-- Testar om en enskild bit är satt.
Inch_to_mm
--
Omvandlar tum till millimeter.
IsEven -- Testar om ett tal är jämnt.
IsOdd -- Testar om ett tal är udda.
IsPrimeNumber -- Testar om ett tal är ett
primtal. Hastighetsoptimerad mycket snabb assemblerkod.
mm_to_Inch -- Omvandlar millimeter till tum.
Swap -- Byter värde mellan två
16-bitars tal.
SwapL -- Byter värde mellan två
32-bitars tal.
Specialdialogrutor
I C++ Visual Library 2004
ingår ett par specialdialogrutor som man
kommer åt via funktionsanrop. Bla ingår en dialogruta för val av startetikett
i samband med utskrift av etiketter och en dialogruta för inmatning av
lösenord.
XDlgAskPassword -- Öppnar en dialogruta som frågar efter ett lösenord.
XDlgSelectLabel -- Öppnar en dialogruta där en användare kan välja en startetikett i samband med utskrift.
XDlgSelectLabelDefInit -- Initierar XDlgSelectLabel.
XDlgSelectLabelInit -- Initierar XDlgSelectLabel.
XDlgSetLanguage -- Väljer språk för dialogrutorna.
Diverse
AdjustCompanyName
-- Formaterar en sträng som innehåller ett företagsnamn.
XAPIGetVersion
-- Returnerar aktuellt versionsnummer för XAPI2000.DLL.
![]()