Dim værdi. Hvordan man bruger en formindsket akkord

VBA-variabler, variabeldeklaration, Option eksplicit, navngivningsregler, VBA-datatyper, initiale variabelværdier

Variabler- beholdere til lagring af udskiftelige data. Næsten intet program kan undvære dem. For nemheds skyld kan en variabel sammenlignes med et tal i en garderobe - du sender nogle data til "garderoben", og som svar får du et nummer. Når du har brug for disse data igen, "fremviser du nummeret" og modtager det. Et eksempel på at arbejde med variabler i VBA kan se sådan ud:

Dim nMyAge Som heltal

nMyAge = nMyAge + 10

MsgBox nMyAge

Dim nMyAge Som heltal

Sådan dekrypteres denne streng:

Svag- dette er omfanget af variablen. VBA giver 4 nøgleord til at definere omfanget af variabler:

  • Svag- bruges i de fleste tilfælde. Hvis en variabel er erklæret som Dim i deklarationsområdet for et modul, vil den være tilgængelig i hele modulet, hvis den er i en procedure, vil den kun være tilgængelig, mens denne procedure kører;
  • Privat- når variabler deklareres i VBA, betyder det det samme som Dim;
  • Offentlig- en sådan variabel vil være tilgængelig for alle procedurer i alle moduler i dette projekt, hvis du har angivet den i modulerklæringsområdet. Hvis du erklærede det i en procedure, vil det opføre sig som Dim/Privat;
  • Statisk- sådanne variabler kan kun bruges i en procedure. Disse variable er kun synlige inden for den procedure, hvor de er deklareret, men de bevarer deres værdi mellem forskellige kald til den pågældende procedure. Bruges normalt til at akkumulere værdier. For eksempel:

Statisk nVar1 Som heltal

nVar1 = nVar1 + 1

MsgBox nVar1

Hvis der ikke er særlige krav, giver det mening altid at vælge Dim-omfanget.

Det andet ord i vores erklæring (nMyAge) er identifikatoren (med andre ord navnet) på variablen. Reglerne for valg af navne i VBA er de samme for mange elementer (variabler, konstanter, funktioner og procedurer osv.). Navn:

  • skal starte med et bogstav;
  • må ikke indeholde mellemrum eller tegnsætningssymboler (undtagelse er understregningen);
  • maksimal længde - 255 tegn;
  • skal være unik i det nuværende omfang (flere detaljer nedenfor);
  • reserverede ord (dem, der er fremhævet i en anden farve i koderedigeringsvinduet) kan ikke bruges.

Når du opretter VBA-programmer, anbefales det kraftigt at tage stilling til reglerne for, hvilke objekter skal navngives - en navnekonvention. Den mest brugte er den såkaldte ungarske aftale (til ære for en af ​​Microsoft-programmørerne, Charles Simonyi, en ungarsk af nationalitet):

  • Variabelnavnet skal begynde med et præfiks, skrevet med små bogstaver. Præfikset angiver, hvad der præcist vil blive gemt i denne variabel:
    • str (eller s) - Streng, tegnværdi;
    • fn (eller f) - funktion;
    • c (eller gør alle bogstaver store) - konstant;
    • b - Boolesk, logisk værdi (sand eller falsk);
    • d - dato;
    • obj (eller o) - objektreference;
    • n - numerisk værdi.
  • navne på funktioner, metoder og hvert ord i et sammensat ord skal begynde med et stort bogstav:

MsgBox objMyDocument.Name

Sub CheckDateSub()

  • i tidlige versioner af VB var der intet ord Const - alle konstanter blev defineret som variable, og for at skelne dem blev de skrevet med store bogstaver, med understregninger mellem ordene:

FIRMANAVN

Mange programmører bruger stadig denne tilgang til at angive konstanter (men brugen af ​​Const nøgleordet er nu obligatorisk - dette vil blive diskuteret i næste afsnit).

Den tredje del af vores meddelelse - Som heltal- dette er en indikation af datatypen for vores variabel. Datatypen bestemmer, hvilken type data der kan gemmes i vores variabel.

VBA leverer følgende datatyper:

  • numerisk(byte - et heltal fra 0 til 255, heltal - et heltal fra -32768 til 32767, langt - et stort heltal, valuta (et stort decimaltal med 19 positioner, inklusive 4 decimaler), decimal (et endnu større decimaltal med 29 positioner), enkelt og dobbelt - flydende kommaværdi (dobbelt er dobbelt så stort));

Opmærksomhed! At forsøge at erklære en variabel af typen Decimal (for eksempel Dim n As Decimal) vil resultere i en syntaksfejl. For at kunne arbejde med Decimal-typen skal variablen indledningsvis erklæres som en Variant eller erklæres uden en type overhovedet (Dim n), da Variant-datatypen bruges som standard i VBA.

  • snor(streng variabel længde (op til ca. 2 milliarder tegn) og fast længde (op til ca. 65400 tegn);
  • dato og tid(dato - fra 01/01/100 til 31/12/9999);
  • logisk(boolesk - kan kun gemme True og False værdier);
  • objekt(objekt - gemmer en reference til ethvert objekt i hukommelsen);
  • Variant- en speciel datatype, der kan gemme alle andre datatyper.

Du kan også bruge brugerdefinerede datatyper, men de skal først defineres ved hjælp af et Type-udtryk. Typisk bruges brugerdefinerede datatyper som et ekstra middel til at validere brugerleverede værdier (et klassisk eksempel er postnummer).

Nogle punkter relateret til valg af datatyper for variabler:

  • Det generelle princip er at vælge den mindste datatype, der kan rumme de værdier, du vælger. Hvis der er tvivl, så vælg en større datatype for at undgå fejl;
  • Hvis det er muligt, er det bedre ikke at bruge datatyper med flydende komma (enkelt og dobbelt). Arbejdet med disse typer data er langsommere, og der kan være problemer med sammenligninger på grund af afrunding;
  • Hvis det er muligt, er det bedre ikke at bruge Variant-typen. Denne type støbes stadig af VBA til en af ​​de andre typer, men den kræver mere hukommelse. Desuden kan der opstå fejl under sådan implicit dannelse;
  • Når du definerer variabler, kan du bruge såkaldte typedefinitionssymboler (% - heltal, $ - String osv.). For eksempel, i vores eksempel skal du kommentere linjen Dim nVar 1 Som heltal, og i den anden linje skrive:

nVar1% = nVar1% + 1

Denne tilgang er forældet og anbefales ikke til brug.

Når du erklærer variabler, behøver du ikke at angive deres type. For eksempel kan vores annonce se sådan ud:

DimnVar1

I dette tilfælde vil variablen automatisk blive erklæret som en Variant.

I princippet kan du arbejde i VBA uden at angive variable. For eksempel denne kode

nVar1 = nVar1 + 1

MsgBox nVar1

vil være fuldt funktionsdygtig. Hvis vi bruger en variabel i et program uden at deklarere den, vil der automatisk blive oprettet en ny variabel af typen Variant. Du skal dog deklarere variabler! Og samtidig er det tilrådeligt at angive den krævede datatype eksplicit. Hvorfor:

  • antallet af fejl reduceres: programmet vil helt fra begyndelsen nægte at acceptere en værdi af den forkerte type i en variabel (for eksempel en streng i stedet for en numerisk);
  • Når du arbejder med objekter, er et tip om egenskaber og metoder kun gyldigt, når vi oprindeligt erklærede en objektvariabel med den ønskede type. For eksempel, i Excel, vil to versioner af koden fungere på samme måde:

første mulighed:

Dim oWbk Som arbejdsbog

Indstil oWbk = Workbooks.Add()

anden mulighed:

Indstil oWbk = Workbooks.Add()

Men et tip om egenskaberne og metoderne for oWbk-objektet vil kun fungere i det andet tilfælde.

Alle erfarne udviklere forbyder generelt brugen af ​​variabler uden deres eksplicitte erklæring. For at gøre dette kan du bruge en speciel kompileringskommando (den er kun placeret i modulerklæringssektionen)

Mulighed Eksplicit

Eller du kan indsætte denne kommando i alle moduler, når du opretter dem automatisk - ved at markere feltet i koderedigeringsvinduet Kræv variable erklæringer(menu Værktøjer -> Muligheder, faneblad Redaktør).

Et simpelt eksempel kan illustrere, hvorfor de gør dette:

n = n + 1

MsgBox

Tilsyneladende burde koden ikke forårsage nogen problemer og blot vise en i meddelelsesvinduet. Det vil faktisk vise en tom beskedboks. Årsagen er skjult meget snigende: i tredje linje er n slet ikke det engelske bogstav N, men det russiske P. Det er meget vanskeligt at skelne dem i koderedigeringsvinduet. Samtidig vil VBA-kompileren, der støder på sådan kode, simpelthen oprette en ny variabel med Variant-datatypen, som vil have en tom værdi. Det kan tage noget tid at identificere en sådan fejl.

En god tommelfingerregel er at deklarere variabler tidligt, ikke når de er nødvendige. Dette gør programmet mere læseligt og overskueligt planlagt.

Du kan erklære flere variable på én linje, sådan her:

Dim n1 Som heltal, s1 Som streng

At tildele værdier til variable ser sådan ud:

nVar1 = 30

Hvis du har brug for at øge en allerede eksisterende værdi af en variabel, kan kommandoen se sådan ud:

nVar1 = nVar1 + 1

I begge eksempler betyder lighedstegnet ikke "lige", men at tildele.

Når du tildeler værdier til variabler, skal du huske på følgende:

  • strengværdier er altid omgivet af dobbelte anførselstegn:

sVar1 = "Hej";

  • dato/tidsværdier er omgivet af hash-mærker - pundsymboler:

dVar1 = #05/06/2004#

Bemærk venligst, at når vi tildeler en dato/tidsværdi på denne "eksplicitte" måde, bliver vi nødt til at bruge amerikanske standarder: 05 i dette tilfælde er måneden, 06 er dagen. Visningen af ​​denne værdi (for eksempel i et meddelelsesvindue) vil afhænge af de regionale indstillinger på brugerens computer.

Hvis du skal sende en hexadecimal værdi, placeres tegnene &H foran den:

nVar1 = &HFF00

Hvad indeholder variabler, før de tildeles værdier?

  • I variabler af alle numeriske datatyper - 0.
  • I strengvariabler med variabel længde - "" (nul-længde streng).
  • I strengvariabler med fast længde, en streng af en given længde med ASCII 0-tegn (disse tegn vises ikke på skærmen).
  • I Variant - tom værdi.
  • I Objekt - ingenting (der er ingen reference til nogen af ​​objekterne).

De sidste akkorder at tale om er formindsket og forstærket.

Formindskede akkorder skrives enten som "dim" eller nogle gange med en cirkel (Cdim eller Co).

En svag akkord består af følgende toner:

1., mindre 3., formindsket 5., dobbelt flad 7. (dobbelt flad - for dem, der forstår)

(en dobbelt flad 7. er den samme tone som en dur 6., men i musikteori er den normalt skrevet som en dobbelt flad 7. og spørg ikke hvorfor!)

Adim ville så se ud som: A, C, Eb, Gb

Bemærk, at intervallerne mellem på hinanden følgende toner i en svag akkord er ALLE mol-terts.

Det betyder, at hvis du bygger en svag akkord til C, får du de samme toner som for Adim.

Med andre ord, Adim = Cdim = Ebdim = Gbdim = A+C+Eb+Gb Så når du spiller en dæmpet akkord, vil flytte den tre bånd op eller ned give dig den samme akkord!

Der er også en akkord, der kaldes en halvformindsket akkord eller formindsket 7. Jeg plejer at skrive det noget i retning af E7-5 - et andet navn for den samme akkord. Det er meget nyttigt at kende forskellige navne til den samme akkord.

Forskellen på den og den "almindelige" dim-akkord er, at 7'eren i denne akkord simpelthen er flad, og ikke dobbelt flad (det er i øvrigt derfor, den kaldes halv-formindsket).

Den består af følgende trin: 1., lille 3., lille 5., lille 7.

En udvidet akkord er sammensat af følgende toner:

1., dur 3., udvidet 5

Så A aug ser sådan ud: A C# F
(intervaller mellem tilstødende toner er store tertser - dvs. 4 halvtoner)

De er normalt skrevet som "A aug" eller "A+" eller "A+5".

I nogen tid nu er ordet lysdæmper blevet hørt i stigende grad blandt begreberne elektrisk husholdningsudstyr. Hvad er det for en enhed? Til hvilke formål er det beregnet? Kunne det være et andet indfald? Eller en virkelig nødvendig ting i hverdagen? Der er mange spørgsmål, vi vil forsøge at give detaljerede svar på alt.

Formål

Ordet "dimmer" kommer fra det engelske "dim", som bogstaveligt betyder "at mørkne" på russisk. Men russerne selv kalder ofte en lysdæmper for en lysdæmper, fordi det er en elektronisk enhed, som du kan ændre elektrisk strøm med (det vil sige justere den op eller ned).

Oftest bruges en sådan enhed til at styre belysningsbelastningen. Lysdæmperen er designet til at ændre lysstyrken af ​​lyset, der udsendes af LED-lamper, samt glødelamper og halogenlamper.

Det enkleste eksempel på en lysdæmper er en variabel modstand (eller rheostat). Tilbage i det 19. århundrede opfandt den tyske fysiker Johann Poggendorff denne enhed, så den kunne bruges til at regulere spændingen og strømmen i et elektrisk kredsløb ved at øge eller mindske modstanden. En reostat er en modstandsjusterbar enhed og et ledende element. Modstanden kan ændres trinvist og jævnt. For at opnå lav lysstyrke er det nødvendigt at reducere spændingen. Men modstanden og strømmen vil være høj, hvilket vil føre til stærk opvarmning af enheden. Så en sådan regulator er fuldstændig urentabel, den vil fungere med lav effektivitet.

Autotransformere kan også bruges som lysdæmper. Deres brug er på grund af deres høje effektivitet i hele det justerbare område, en næsten uforvrænget spænding vil blive produceret med den nødvendige frekvens på 50 Hz. Men autotransformatorer er ret store, vejer meget og kræver en betydelig mekanisk indsats for at kontrollere dem. Derudover vil en sådan enhed være dyr.

Elektronisk lysdæmper - denne mulighed er den mest rentable fra et økonomisk synspunkt. Den er kompakt og har et lidt anderledes betjeningsprincip. Lad os tale om det mere detaljeret.

Ansøgning

Hvad en lysdæmper er, er mere eller mindre klart. Der tilføres spænding til lampen, vi ændrer dens niveau og justerer dermed lampens lysstyrke. Nu et par ord om hvornår og hvor denne enhed bruges.

Enig, ret ofte opstår situationer, når det er nødvendigt at reducere lysets lysstyrke:

  • ofte skal lysstrømmen reduceres i soveværelset, før du går i seng;
  • Nogle designrum kræver ændring af lysmønsteret;
  • Nogle gange skifter indendørsbelysningen til den såkaldte standby-tilstand for at reducere energiforbruget.

I industri- og boliglokaler er LED-lamper konfigureret til forskellige forbrugstilstande. Samtidig vælges optimal belysning, og derved opnås betydelige energibesparelser.

Hvad angår designideer, er det nu blevet moderne i store stuer eller haller at bruge sekundær belysning af individuelle områder. Sekundær belysning er gennemtænkt til mindste detalje, og ved hjælp af lysdæmpere kan du øge belysningen og fokusere opmærksomheden på nogle indvendige detaljer (et maleri på væggen, en smuk vase installeret i en niche osv.) Således med hjælp af belysning, den nødvendige ting kommer ud i rummet første plan.

LED-lamper, der kan justeres ved hjælp af lysdæmpere, giver dig mulighed for at få en farverig effekt under nogle koncerter, reklamer eller særlige begivenheder.

Lysdæmperen er meget praktisk til hjemmefester. Når gæster sidder ved bordet, kræves skarp belysning, men under dansen kan du dæmpe den. Det er især behageligt og gavnligt at bruge en sådan enhed under en romantisk middag eller en date, når det ikke er nødvendigt for lampen at være tændt med fuld styrke.

Og dette er blot nogle af de generelle eksempler. Sikkert, alle har deres egen mulighed for at bruge lysdæmpere. Så denne ting er nødvendig, praktisk og omkostningseffektiv, du kan installere den derhjemme og anbefale den til dine venner.

Enhed og funktionsprincip

Nu, som de siger, lad os se på lysdæmperen indefra. Hvad er det for en enhed, og hvilke elementer består den af? Hvad er dets driftsprincip baseret på?

Alle moderne elektroniske lysdæmpere har en nøgle i deres design som et hovedelement (det kan også kaldes en switch eller switch), som styres af halvledertransistor-, triac- eller tyristor-enheder. De fleste enheder producerer ikke et sinusformet signal ved udgangen, som den elektroniske nøgle afskærer dele af sinusoiden.

For at gøre det tydeligere løber der en strøm i det elektriske netværk, som har en sinusformet form. For at ændre lysstyrken skal du anvende en trimmet sinusbølge på lampen. En tovejs tyristor afskærer for- eller bagkanten af ​​en sinusformet AC-bølge og reducerer derved spændingen, der forsyner lampen.

Afhængigt af hvilken front af sinusbølgen der er afskåret, er den justerbare metode forskellig:

  • justering af forkant;
  • justering af faldkant.

Begge disse metoder bruges til at styre forskellige lamper:

  1. Dæmpning af LED- og halogenlamper udføres ved hjælp af elektroniske transformere, og justering foretages langs bagkanten.
  2. Kompakte lysstofrør og LED-lamper med en spænding på 220 V, samt lavspændingslamper, reguleres ved hjælp af elektromagnetiske transformere og ved hjælp af den førende metode.

Begge disse metoder er velegnede til glødelamper.

Lysdæmpernes design omfatter også beskyttelse mod kortslutninger og overophedning.

Da lysdæmpere er i stand til at generere elektromagnetisk interferens, for at reducere deres niveau, er en choker eller induktiv-kapacitive filtre forbundet i serie til kredsløbet.

For mere information om et typisk lysdæmperkredsløb, se denne video:

Fordele og ulemper

De første lysdæmpere var mekanisk styret og havde én enkelt funktion - at ændre lysstyrken på lampen.

En moderne regulator har en række andre funktioner:

  1. Automatisk til- og frakobling.
  2. Kan fjernstyres via radio, stemmekommando, akustisk ændring (støj eller klap), via infrarød.
  3. Den berøringsfølsomme lyscontroller giver dig mulighed for nemt at tænde og slukke lampen. På grund af dette er det muligt at undgå pludselige strømstød gennem lamperne, som et resultat af, at sidstnævnte ofte brænder ud.
  4. Lysdæmpere bruges til at simulere tilstedeværelse. Dette er en særlig cool funktion, der hjælper med at holde "ubudne gæster" væk fra dit hjem, når ingen er hjemme. Der indstilles et særligt program, hvorefter lysdæmperen automatisk tænder og slukker lyset i forskellige rum. Der skabes en illusion om, at ejerne er hjemme.

Som enhver teknisk enhed kan en lysdæmper ikke være hundrede procent universel, den har sine ulemper:

  • forårsager elektromagnetisk interferens;
  • udgangsspændingen har en ikke-lineær afhængighed af værdien af ​​modstanden i det elektroniske lysdæmperkredsløb;
  • Lysstofrør kan ikke fungere fra det, såvel som lamper, der lyser op gennem forkoblinger;
  • udgangsspændingen af ​​elektroniske lysdæmpere har en ikke-sinusformet form, så det anbefales ikke at tilslutte nedtrapningstransformatorer til den;
  • når du arbejder med glødelamper, lav effektivitet.

Hvilke typer lysdæmpere findes der?

I henhold til metoden til justering er der en berøringsdæmper, mekanisk, akustisk og fjernbetjening.

Lad os starte med de enkleste - mekaniske. Hvis vi overvejer typen af ​​udførelse, kan vi skelne mellem følgende typer lysdæmpere:

  1. Modulært. De regulerer belysning på offentlige steder (trapper, korridorer, indgange). Denne type enhed er monteret i et distributionspanel, direkte justering udføres med en trykknap eller en enkelt nøglekontakt.
  2. Monoblok. Det er installeret for at bryde fasen af ​​kredsløbet, der går til belysningsbelastningen og udfører funktionerne i en kontakt.
  3. Blokversionen er, når lysdæmperen er monteret sammen med en kontakt (som en socket-switch enhed).

Oftest bruges monoblok-dæmpere i hverdagen, som adskiller sig i kontrolmetoden:

  • Drejning. Denne lysdæmper har en drejeknap. Hvis du indstiller den til den yderste venstre position, slukkes belysningen. Hvis du gradvist drejer knappen til højre, øges lampens lysstyrke.
  • Nøgle. Denne enhed ligner meget i udseende en almindelig to-nøgleafbryder. I dette tilfælde tænder eller slukker en tast lampen, og den anden bruges til at justere lysstyrken (ved at holde tasten nede).
  • Drej-skub. Funktionsprincippet er det samme som for en roterende enhed, kun for at tænde belysningen er håndtaget forsænket lidt.

Berøringsfølsomme belysningscontrollere er meget populære nu, de har et smukt udseende og ser harmoniske ud i ethvert interiør (især i højteknologisk stil). Justering udføres ved at trykke på berøringsknapperne.

Lysdæmpere med fjernbetjening betragtes som de mest bekvemme. Det er velfortjent, for ved hjælp af fjernbetjeningen kan du justere lysstyrken på lysarmaturen fra hvor som helst i rummet.

Akustiske lysdæmpere bruges oftest, når man planlægger et "smart hjem", hvor belysningen kan styres med stemmekommandoer eller klap i hænderne.

Lysdæmpere kan opdeles efter den type lamper, de styrer:

  1. De enkleste enheder bruges til gløde- og halogenlamper, som fungerer på en spænding på 220 V. Alt er enkelt her - spændingen ændres, og glødetrådens glødestyrke justeres.
  2. Kredsløbet for halogenlamper, der arbejder på en spænding på 12 V eller 24 V, skal have en nedtrappende transformer. Når dette ikke er muligt, skal du vælge en regulator til den anvendte type transformer (de har en speciel mærkning - C for elektronisk, RL til vikling).
  3. LED-lamper kræver installation af lysdæmpere med pulsmodulation af den aktuelle frekvens.

Energibesparende og lysstofrør er svære at regulere. Eksperter anbefaler generelt ikke at gøre dette. Hvis du virkelig har brug for at styre sådanne pærer, så medtag en elektronisk starter i lysdæmperkredsløbet.

For mere information om dæmpning af forskellige typer lamper, se denne video:

Nå, vi gjorde et forsøg på at stifte bekendtskab med sådan en lysregulator som en lysdæmper. Vi håber, at du nu mere eller mindre forstår, hvad det er, og hvad driftsprincippet er. Med hensyn til tilslutningsdiagrammer er lysdæmpere installeret i et kredsløb enten i stedet for en kontakt eller i serie med det. Forresten, hvis du har været god med elektronik siden første klasse, så vil det ikke være svært for dig at lave en lysdæmper med dine egne hænder.