Våra verktyg – Cover, ett programmeringsbiliotek

Cover ett lib för ”C”-programmering

Jag började programmera i språket ”C” i slutet på 80-talet. Så gott som alla operativsystem är framknackade ur C. Windows har dock gått över till C++ på senare tid men C++ är också skapat ur C. Det fina med C är att man kan programmera ända ner till hårdvaran. Det är inga problem att gå förbi Windows tidsödande meddelandepump och mycket mer. Kort och gott är det så att allt du kan göra med alla andra språk kan du göra med C.

Lång inlärningströskel

Det tar tid att lära sig C om man exempelvis programmerat i Basic eller liknande. Man får glömma allt som lärts in för i C är så gott som allt annorlunda. I början kan det vara svårt men efter ett tag släpper det och då öppnas en ny värld. Jag gissar att det kan ta ett år med daglig övning innan man kan få till lite avancerade program.

Allt måste göras från början

Ett problem med C är att allt du kodar måste alltid kodas från början om och om igen. Men det finns en lösning till det problemet som kallas ”lib”. Det kommer från engelskans library och betyder bibliotek. C-lib är alltså ett bibliotek av färdiga koder uppbyggt på så sätt att man enkelt anropa en funktion från sitt program så läggs det in vid kompilering. Det finns en uppsjö av libs på marknaden, både gratis och sådana som man får betala för. Det största problemet med 99% av dem är dokumentationen och uppdateringar. De flesta har ingen som helst dokumentation som beskriver funktionerna i libben. Ännu värre är det med uppdateringar av dessa libbs. Jag gissar att bara några få procent uppdateras ständigt.

Jag har löst problemet

Jag löste problemet med dålig dokumentation och uppdateringar (nåja…) genom att själv bygga ett lib. Jag har gett mitt lib namnet Cover som betyder C over, dvs något som ligger ovanpå C-språket. Jag började detta bygga i början av 2000-talet och höll på i några år med att lägga upp nya funktioner osv. Jag gör det fortfarande men inte så ofta numera.

Lite data

Bilioteket består av lite mer än 800 funktioner och tar upp ca 50 Mb. Man kan ex.vis få till en ordbehandlare med en enda kodrad. Jag har som exempel utvecklat ett program som kan ladda ner alla Flashbacks postningar ur detta bibliotek.

Så här ser användarmanualen ut

Manualen är ganska avancerad och utförligt gjord. Eftersom det inte bara är jag som använder den måste den vara utförlig. Så här ser det ut:

cover

Som man ser här ovan skapas ett fönster med bara en funktion mot kanske 20-30 funktioner i ”råkod”.

 

Cover funktioner

Här nedan visas alla funktioner i biblioteket.

Huvudfunktioner
    + Skapa instansen
    + Skapameddel.proc
Huvudfönster
    + Skapa ett fönster
    + Radera ett fönster
    + Kör i bakgrunden
    + Sluta kör i bakgrunden
    + Egen från resursfil
    + Win. systemikon
    + Ange hur fönster öppnas
    + Fönstrets form
    + Titellistens form
    + Sätt titeltext
    + Hämta titeltext
    + Ändra storlek genom kantdrag
    + Sätt position
    + Hämta position
    + Centrera mitt på skärm
    + Sätt storlek
    + Hämta storlek
    + Maximera storlek
    + Bakrundsfärg
    + Bakrundsfärg tona
    + Uppdatera
    + Aktivera
    + Undersök om fönster är aktivt
Meddelandehantering
    + Sänd meddelande till huvdproc
Dialogrutor enklare
    + Dialog UTAN användarsvar
    + Dialog MED användarsvar
    + Infoga strängar
Dialogrutor avancerade
    + Skapa ett Icke modalt fönster
    + Skapa ett modalt fönst.
    + Skapa ett syst modalt fönster
    + Radera ett fönster
    + Kör i bakgrunden
    + Sluta kör i bakgrunden
    + Egen från resursfil
    + Windows systemikon
    + Ange hur fönstret skall öppnas
    + Fönstrets form
    + Titellistens form
    + Sätt titeltext
    + Hämta titeltext
    + Ändra storlek genom kantdrag
    + Sätt position
    + Hämta position
    + Centrera mitt på skärm
    + Sätt storlek
    + Hämta storlek
    + Maximera storlek
    + Justera färg
    + Uppdatera
    + Aktivera
    + Undersök om fönster är aktivt
    + Dialogprocess
Standarddialoger
    + Välj färg dialog
    + Välj font dialog
    + Välj mapp
    + Öppna fil dialog
    + Spara fil dialog
    + Skriv ut dialog
    + Sök text dialog
    + Sökfunktionen
Editlist
    + Skapa editrutan
    + Skapa en lösenordslist
    + Radera
    + Modifiera
    + Gömma
    + Tar fram ett gömmt
    + Ändrar position
    + Centrera till fönstrets mitt
    + Hämta positionen
    + Ändra storlek
    + Följ clientens storlek
    + Hämta storleken
    + Ställ marginalens bredd
    + Flytta till nästa inmatningslist
    + Ändra max antal tecken
    + Hämta max ant möjliga tecken
    + Ändrar färger
    + Sätter skriv/läs status
    + Gråa inaktivera
    + Avgråa aktivera
    + Aktiverar
    + Undersök om aktiverad
    + Uppdatera
    + Matar in en text
    + Hämtar inmatad text
    + Hämta inmatad text’s storlek
    + Hämta markerad text
    + Skapa en font
    + Ändra font
    + Hämta text från fil
    + Spara text till fil
    + Skapa subprocedur
Editlist upp-nerpil
    + Skapa editrutan
    + Radera
    + Modifiera
    + Gömma
    + Tar fram ett gömmt
    + Ändrar position
    + Centrera till fönstrets mitt
    + Hämta positionen
    + Ändra storlek
    + Följ clientens storlek
    + Hämta storleken
    + Ställ marginalens bredd
    + Flytta till nästa inmat.list
    + Ändra max antal tecken
    + Hämt max ant mökliga  tecken
    + Ändrar färger
    + Sätter skriv/läs status
    + Gråa inaktivera
    + Avgråa aktivera
    + Aktiverar
    + Undersök om aktiverad
    + Uppdatera
    + Bläddra upp-ner
    + Matar in en text
    + Hämtar inmatad text
    + Hämta inmatad text’s storlek
    + Hämta markerad text
    + Skapa en font
    + Ändra font
    + Hämta text från fil
    + Spara text till fil
    + Skapa subprocedur
Combobox
    + Skapa comboboxfönster
    + Radera
    + Göm
    + Tar fram ett gömmt
    + Ändrar position
    + Centrera till fönstrets mitt
    + Hämta positionen
    + Ändra storlek
    + Följ clientens storlek
    + Hämta storleken
    + Ändra max antal texken
    + Gråa inaktivera
    + Avgråa aktivera
    + Uppdatera
    + Aktivera
    + Undersök om den är aktiverad
    + Flytta till nästa combobox
    + Matar in en text till huvudet
    + Matar in en text
    + Inflika text
    + Hämta text till sträng
    + Hämta texten’s storlek
    + Hämta markerad text
    + Skapa en font
    + Ändra font
    + Hämta text från fil
    + Spara text till fil
    + Skapa subprocedur
Ordbehandlare enkel
    + Skapa fönstret
    + Radera
    + Modifiera
    + Göm
    + Tar fram ett gömmt
    + Ändrar position
    + Centrera till fönstrets mitt
    + Hämta positionen
    + Ändra storlek
    + Följ clientens storlek
    + Hämta storleken
    + Ställ marginalens bredd
    + Ställ tabulator
    + Ändra max antal tecken
    + Hämta max antal tecken
    + Ändrar färger
    + Sätter skriv/läs status
    + Gråa inaktivera
    + Avgråa aktivera
    + Uppdatera
    + Aktiverar
    + Undersök om aktiverad
    + Matar in en text fr. en sträng
    + Hämtar text till en sträng
    + Hämta inmatad text’s storlek
    + Hämta markerad text
    + Skapa en font
    + Ändra font
    + Hämta text från fil
    + Spara text till fil
    + Skriv ut text
    + Är dokumentet ändrat
    + Sätt ändrastatus
    + Markera text
    + Markera all text
    + Finns det markerad text
    + Radera markerad
    + Hitta text i dokument
    + Markörens rad-position
    + Markörens position
    + Skapa subprocedur
Ordbehandlare RTF
    + Skapa fönstret
    + Radera
    + Modifiera
    + Göm
    + Tar fram ett gömt
    + Göm innehållet
    + Tar fram ett gömt innehåll
    + Ändrar position
    + Centrera till fönstrets mitt
    + Hämta positionen
    + Ändra storlek
    + Följ clientens storlek
    + Hämta storleken
    + Ställ marginal o tabulator mått
    + Ändra max antal tecken
    + Hämta max antal tecken
    + Ändrar färger
    + Sätter skriv/läs status
    + Gråa inaktivera
    + Avgråa aktivera
    + Uppdatera
    + Uppdatera i minnet
    + Flytta minne till RTF-fönstret
    + Aktiverar
    + Undersök om aktiverad
    + Hämta WM_NOTIFY meddel.
    + Matar in en ascii text fr. en sträng
    + Hämtar ascii text till en sträng
    + Hämta inmatad text’s ascii storlek
    + Hämta markerad text
    + Skapa en font
    + Ändra font, helt dockument
    + Ändra font, del av dockument
    + Ändra font, ett ord
    + Ändra font, till radslut
    + Ändra font, del av rad
    + Hämta text från fil
    + Spara text till fil
    + Hämta sökväg till ”dropp”-fil
    + Behöver texten sparas
    + Skriv ut text
    + Är dokumentet ändrat
    + Sätt ändrastatus
    + Markera text
    + Markera all text
    + Finns det markerad text
    + Radera markerad
    + Sök text i dokument
    + Markörens rad-position
    + Markörens position
    + Skapa subprocedur
Headerfönster
    + Skapa fönster
    + Radera
    + Göm
    + Tar fram ett gömt
    + Ändrar position
    + Centrera till fönstrets mitt
    + Hämta positionen
    + Ändra storlek
    + Följ clientens storlek
    + Hämta storleken
    + Skapa en kolumn
    + Radera en kolumn
    + Hämta kulumnbredd
    + Inflika ny rad
    + Hämta max antal sidrader
    + Hämta antal rader totalt
    + Hämta knapp-id
    + Ändra färger
    + Gråa inaktivera
    + Avgråa aktivera
    + Uppdatera en rad
    + Uppdatera alla rader
    + Lägger in text och textbox
    + Hämtar text
    + Radera textrad
    + Radera all text
    + Ändra text
    + Ändra text i klickad 0-kolumn
    + Soretera textrader
    + Skapa en font
    + Ändra font
    + Hämta text från fil
    + Spara text till fil
    + Markera rad i 0-kolumn
    + Hitta text i 0-kolumn
    + Finns det markerad text
    + Skapa subprocedur
Klippbord
    + Går det att ångra
    + Stoppa ångramöjlighet
    + Finns det något på klippbordet
    + Ångra
    + Klipp ut markerat
    + Kopiera
    + Klistra in
    + Skapa subprocedur
Meny system
    + Menyrad
    + En bockad menyrad
    + En gråad inaktiv menyrad
    + Meny med text och bild
    + Meny med bara bild
    + En separerande linje
    + En menyrad
    + En bockad menyrad
    + En gråad inaktiv menyrad
    + Meny med text och bild
    + Meny med bara bild
    + En separerande linje
    + En menyrad
    + En gråad inaktiv menyrad
    + En avgråad aktiverad menyrad
    + En bockad menyrad
    + En avbockad menyrad
    + Meny med text och bild
    + Meny med bara bild
    + Radera menyrad i sys.menyn
Menylist (Menybar)
    + Skapa en menylist
    + Visa en skapad menylist
    + Skapa en rullgardin
    + Infoga en rullgardin
    + Modifiera en rullgardin
    + Lägg till en textrad
    + Lägg till en bockad text
    + Lägg till en gråad inaktiv text
    + Lägg till en separator
    + Lägg till en bild-text rad
    + Lägg till en gråad bild- textrad
    + Lägg till en bildrad
    + Lägg till en gråad bildrad
    + Lägg till en textrad
    + Lägg till en bockad text
    + Lägg till en gråad inaktiv text
    + Lägg till en separator
    + Lägg till en bild-text rad
    + Lägg till en gråad bild- textrad
    + Lägg till en bildrad
    + Lägg till en bockad bildrad
    + Lägg till en gråad inaktiv bildrad
    + Ändra till en textrad
    + Ändra till en gråad textrad
    + Ändra till en avgråad textr.
    + Ändra till en bockad textrad
    + Ändra till en avbockad text
    + Ändra till en bild-textrad
    + Ändra till en gråad bld-txtrad
    + Ändra till en bildrad
    + Ändra till en bockad bildrad
    + Ändra till en gråad bildrad
    + Radera en menylist (menybar)
    + Radera en rullgardinsmeny
    + Radera en rullgardinsmenyrad
Flytande musmeny
    + Meny mus högerklick
Knapp enkel
    + Skapa
    + Radera
    + Modifiera
    + Göm
    + Visa en gömd
    + Ändra position
    + Centrera
    + Hämta position
    + Ändra storlek
    + Hämta storlek
    + Fyll ut clienten
    + Gråa, inaktivera
    + Avgråa, aktivera
    + Nedtrykt läge
    + Släpp upp nedtryckt
    + Uppdatera
    + Aktivera ’space’-tangent
    + Avaktivera ’space’-tangent
    + Hämta knappstatus
    + Lägg in egen bild
    + Lägg in egen ikon
    + Lägg in systemikon
    + Ändra font
    + Ändra knapptext
    + Hämta knapptext
Knapp konstruktionsbar
    + Skapa en knapp
    + Radera knapp
    + Göm knapp
    + Tag fram gömd knapp
    + Ändra position
    + Centrera till fönsterclient
    + Hämta positionen
    + Ändra storlek
    + Hämta storlek
    + Fyll ut hela clienten
    + Gråa, inaktivera
    + Avgråa, aktivera
    + Håll en knapp nedtryckt
    + Släpp upp en nedhållen knapp
    + Uppdatera knappen
    + Hämta knappstatus
    + Lägg in bilder
    + Byt bild
Knapp upp-ner
    + Skapa en upp-ner knapp
    + Radera
    + Göm
    + Tag fram en gömd
    + Ändra position
    + Centrera till fönstrets mitt
    + Hämta position
    + Ändra storlek
    + Hämta storlek
    + Fyll ut hela clienten
    + Gråa, inaktivera
    + Avgråa, aktivera
    + Uppdatera knappen
    + Hämtar klicknivån
Knapp högr-väns.
    + Skapa en höger vänster-knapp
    + Radera
    + Göm
    + Tag fram en gömd
    + Ändra position
    + Centrera till fönstrets mitt
    + Hämta position
    + Ändra storlek
    + Hämta storlek
    + Fyll ut hela clienten
    + Gråa, inaktivera
    + Avgråa, aktivera
    + Uppdatera knappen
    + Hämta klicknivån
Toolbar
    + Skapa en verktygslist
    + Radera
    + Göm
    + Tag fram en gömd
    + Ställ mått mm
    + Ändra bakgrundsfärg
    + Ställ mått o följ fönstret
    + Flytta verktygslist till annat fönst.
    + Skapa en knapp
    + Radera knapp eller tomt fällt
    + Göm knapp
    + Tag fram gömd knapp
    + Bestäm flatknappstil
    + Bestäm knappmåtten
    + Gråa en knapp
    + Avgråa en knapp
    + Ställ en knapp i markerat nerläge
    + Återställ en markerad knapp
    + Tryckt ner knapp via kod
    + Tryck upp knapp via kod
    + Hämta knapps status
    + Skapa tomt fällt mellan knappar
    + Skapa en knapp och infoga
    + Låna bild från annan knapp
    + Skapa en tiptextruta till knapp
Checkruta
    + Skapa en checkruta
    + Radera
    + Göm
    + Tag fram en gömd
    + Ändra position
    + Gråa inaktivera
    + Avgråa aktivera
    + Bocka
    + Avbocka
    + Hämta checkrutans status
    + Ändra text
    + Hämta text
Skjutreglage
    + Skapa ett skjutreglage
    + Radera
    + Modifiera
    + Göm
    + Tar fram ett gömt
    + Betstäm position
    + Centrera till fönstrets mitt
    + Hämta positionen
    + Ändra storlek
    + Fyll ut hela clienten
    + Hämta storlek
    + Gråa och lås
    + Avgråa och lås upp
    + Uppdatera skjutknappen
    + Koppla till piltangenterna
    + Kopplar ifrån piltangenterna
    + Hämta statusen
    + Hämta position för skjutknappen
    + Sätter position för skjutknappen
Statusinformation
    + Skapa ett fortskridandefält
    + Radera
    + Modifiera
    + Göm
    + Tar fram ett gömt
    + Ändra position
    + Centrera till fönstrets mitt
    + Hämta positionen
    + Ändra storlek
    + Fyll ut hela clienten
    + Hämta storlek
    + Ändra bakgrundsfärg
    + Uppdatera fortskridandefältet
    + Skapa en statuslist
    + Radera
    + Modifiera
    + Göm
    + Tar fram ett gömt
    + Ändra position i höjdled
    + Hämta positionen
    + Ändra bakgrundsfärg
    + Skapa ett mellanrum
    + Skapa en font
    + Sätt textfonten
    + Skapa ett textfält
    + Hämta texten
    + Ändra texten
Grafik
    + Anmärkning
    + Välj mell. client- och icke cli.yta
    + Mät största grafikytebhov
    + Skapa ett utrymme i minnet
    + Välj mnnesutrymmet
    + Kopiera / klistra från  minnet
    + Skapa en font
    + Skriv ut vanlig text
    + Skriv ut vertikalt
    + Skriv ut i 3D
    + Skriv ut 3D vertikalt
    + Skriv ut nummeriskt
    + Rita punkter
    + Rita en linje
    + Rita en linje av punkter
    + Rita en streckad linje
    + Rita en streck punkt linje
    + Rita en streck punkt punkt linje
    + Rita 3D linje
    + Ritar 3D kvadrat/rektangel
    + Rita en fylld rektangel
    + Rita en fylld rekt. med linje runt
    + Skapa en gruppbox
    + Radera
    + Gömma
    + Tar fram ett gömmt
    + Ändrar position
    + Ändrar storlek
    + Rita upp en grid
    + Hämta färg för bestämd pixel
    + Egen ikon
    + En färdig Windows ikon
    + En egen bitmap bild
    + En minska/öka storlek bitmap
    + Ladda in Ikon-markör
    + Spara Ikon-markör
    + Rita ut ikon markör
    + Fyll hela imagen med färg
    + Rita ikon/markör
    + RGB till long (HBRUSH)
    + Long (HBRUSH) till int
    + Välj stnd.färger för ikon/markör
    + Räkna bilder i ikon / markör
    + Uppdatera grafikyta
Hårdvarugränssnitt
    + Skapa klickkänslig rektangel
    + Hämta markörens pos. vid klick
Minneshantering
    + För ’char’
    + För ’int’
    + För ’float’
    + För ’double’
    + Radera tilldelat minne
Sträng o variabelhantering
    + Kopiera
    + Kopiera och ändra storlek
    + Kopiera och lägg till sist i sträng
    + Enkel gämförelse
    + Avancerad gämförelse
    + Antal ASCII tecken i en sträng
    + Antal byte i en sträng
    + Mäter antal rader
    + Antal radbrytningar
    + Vad är det för tecken i strängen
    + Hämta ASCII-koden ur sträng
    + Konvertera ’int’ till ’char’
    + Konvertera ’char’ till ’int’
    + Konvertera ’char’ till ’double’
    + Konvertera ’double’ till ’char’
    + Kryptera en sträng
    + Avkryptera en sträng
Tag fram tiden
    + Hämta lokal tid
Lagringsmedia
    + Spara i en fil
    + Spara sist i en fil
    + Hämta en fil
    + Antal ASCII tecken i en fil
    + Antal byte i en fil
    + Antal rader i en fil
    + Antal radbyten i en fil
    + Radera en fil
    + Radera innehållet i en fil
    + Kopiera en fil
    + Skapa en mapp enkel
    + Skapa en mapp avancerad
    + Skriv info till en ini-fil
    + Hämta info från en ini-fil

Denna webbplats använder cookies. Genom att fortsätta använda denna webbplats accepterar du vår användning av cookies.  Lär dig mer