Datum, Tijd en Timer-object



Vergelijkbare documenten
Stel dat u 15 tellers nodig heeft. Dat kunt u een array van tellers als volgt declareren:

Hoofdstuk 4: Nieuwe objecten

Leren Programmeren met Visual Basic 6.0 Les 3+4. Hoofdstuk 4 : De Selectie

Hoofdstuk 4: Nieuwe objecten

1) Een sequentieel bestand schrijven

Hoofdstuk 5: Functies voor getallen en teksten

1 Werken met (keuze)lijstjes: de control listbox

Hoofdstuk 3: Keuzestructuren

Variabelen en statements in ActionScript

VAN HET PROGRAMMEREN. Inleiding

Hoofdstuk 6: Zelf functies maken

Hoofdstuk 2: Werken met variabelen

Hoofdstuk 9: Menu s toevoegen

II. ZELFGEDEFINIEERDE FUNCTIES

Dieper in Visual Basic.Net

Hoofdstuk 7: Werken met arrays

Strings en string-functies

Programmeren: Visual Basic

VAN HET PROGRAMMEREN. Inleiding. Het spiraalmodel. De programmeertaal. vervolgens de berekening van het totale bedrag, incl. BTW:

Visual Basic door ir. C.Daniels 1

6.3 VBA Syntax Instructie. Wij gaan de Visual Basic Editor opnieuw openen, om de instructie die wij zojuist getypt hebben, nader te bekijken.

Informatica: C# WPO 6

Info-books. Toegepaste Informatica. Deel 20 : Algoritmen en programmeren in Access en Excel (Basis) AL20. Jos Gils Erik Goossens

Inform 5-6. Toegepaste Informatica. Boekhouden-informatica Informaticabeheer. Deel 4a: Programmeren in VBA DAO-objecten (Access )

Hoofdstuk 2: Werken met variabelen

Inleiding Visual Basic en VBA. Karel Nijs 2009/01

Informatica: C# WPO 6

6.2 VBA Syntax. Inleiding Visual Basic

In deze mannual zal ik het voorbeeld van de Led cube gebruiken maar de principes zijn op alles toepasbaar.

Hoofdstuk 5: Functies voor getallen en teksten

Programmeren in Excel VBA beginners. Karel Nijs 2010/09

Als een PSD selecties bevat, deelt de lijn van het programma zich op met de verschillende antwoorden op het vraagstuk.

Parallelle Poort Aansturen Met Visual Basic

HOOFDSTUK 3. Imperatief programmeren. 3.1 Stapsgewijs programmeren. 3.2 If Then Else. Module 4 Programmeren

VBA voor ACCESS Bureau voor Taal en Informatica 19 juni 2009 Werfkade LG Hoogezand Tel

9.19 Macro s: oefeningen

Som Van Twee Getallen

Derde Delphi Programma verkenning

Datum. Vraag het bedrag in BEF. Reken om naar EURO. Toon het bedrag in EURO. --- Vraag het bedrag in BEF Reken om naar EURO---

9.18 Macro s: oefeningen

Hoofdstuk 1: Een eerste Visual Basic project

VBA voor Doe het Zelvers Deel 7

Inhoudsopgave Visual Basic 6.0

Inform 5-6. Toegepaste Informatica. Boekhouden-informatica Informaticabeheer. Deel 5c: Programmeren voor een bedrijfseconomische

Technische Fiche om een commando met een passend icoontje aan te maken in de Ribbon Interface.

Android apps met App Inventor 2 antwoorden

Programmeeropgaven. Sem Prog DD

Cursus Onderwijs en ICT. Programmeren met Visual Basic

Datatypes Een datatype is de sort van van een waarde van een variabele, veel gebruikte datatypes zijn: String, int, Bool, char en double.

Hoofdstuk 1: Een eerste Visual Basic project

Tutorial 1, Delphi: Geldspraak

Je gaat leren programmeren en een spel bouwen met de programmeertaal Python. Websites zoals YouTube en Instagram zijn gebouwd met Python.


SEQUENTIE-STRUCTUUR. Oefening: Dichtheid

Handleiding Formulieren in TYPO3 Versie 1.2, 18 juli 2008

Computervaardigheden. Universiteit Antwerpen. Computervaardigheden en Programmatie. Grafieken en Rapporten 1. Inhoud. Wat is scripting?

Labo 2 Programmeren II

Een spoedcursus python

xxter scripts handleiding

BEGINNER JAVA Inhoudsopgave

RCL Arduino Workshop 1

Opgaven. Python Assessment

Een eerste applicatie

OEFENINGEN PYTHON REEKS 6

FrontPage. Kies Bestand, nieuw en kies vervolgens Website met één pagina: Kies bij voorkeur een locatie:

li d a l n s V a l GEMEENTE MAARTENSDIJK r Nbo bestemmingsplan buitengebied g g Nbo Nbo Schaal 1:5000 plankaart noord

Zoemzinnen. Algemene info. Functies met een variabel aantal argumenten

Info-books. Toegepaste Informatica. Deel 40 : Gegevensbeheer en algoritmen in Access HA40. Jos Gils Erik Goossens

Veelgestelde vragen over de nieuwe fototool

Windows applicaties met VB.NET VB Express 2010

Verslag examen op de ipad voor leerlingen met leerstoornissen

Zelftest Inleiding Programmeren

Opdracht Informatica Tutorial Visual Basic

Visual Basic.NET. Visual Basic.NET. M. den Besten 0.3 VB. NET

Inhoud. Informatica. Hoofdstuk 5 Scripting. Context. Editor voor Programmeercode. Scripting 1

Afspraken. Dit moet je letterlijk intypen.

Cursus Access voor Beginners - Hoofdstuk 10 deel 1

Hoofdstuk 6: Zelf functies maken

Small Basic Programmeren Text Console 2

Mappen en bestanden. In dit hoofdstuk leert u het volgende:

Blog-Het gebruik van variabelen in Excel VBA

Programmeren in Excel VBA beginners. Karel Nijs 2010/09

Programmeren klas 4. Opdracht PSD Visual Basic Code Code met Inputbox i.p.v. TextBox 1. Lees een getal LEES g. DIM kw AS INTEGER DIM kw AS INTEGER

DELPHI VOOR ELEKTRONICI. Deel 2: Een rekenmachine programmeren CURSUS

1. Inleiding. 2. Omroepcodes intypen. Page 1 of 8.

Handleiding JCreator. Inhoud. Een Workspace en een eerste project maken

Opdracht 7a. Applicatiebouw 2014/2015

Access voor beginners Hoofdstuk 19 (2)

Afdrukken met Visual Basic 2008

Netwerk Interfacing Data Logging.

Programmeren in Excel VBA. Karel Nijs 2010/09

Tentamen Object Georiënteerd Programmeren TI januari 2013, Afdeling SCT, Faculteit EWI, TU Delft

Controle structuren. Keuze. Herhaling. Het if statement. even1.c : testen of getal even of oneven is. statement1 statement2

Legal Eagle Agenda handleiding versie 2.8 december 2007

E-Basic. E-Studio. E-Run Real-Time Experiment Generator. E-Merge. E-DataAid Spreadsheet Application for E-Prime Data Files

Info-books. Toegepaste Informatica. Handleiding. Deel 40c : Gegevensbeheer en algoritmen in Access. HA40c. Jos Gils Erik Goossens

In de tweede regel plaatsen we in het gereserveerde stukje geheugen een getal.

Normaliseren van tabellen Praktische oefeningen

HANDLEIDING PROGRAMMEREN IN PASCAL (LAZARUS)

Transcriptie:

IX. Datum, Tijd en Timer-object A. Hoe worden tijd en datum in VB aangeduid? Zowel datum als tijd worden als een getal met decimalen opgeslagen. Het gedeelte voor de komma geeft de datum aan, het gedeelte achter de komma geeft de tijd aan. Maak even de volgende oefening. Maak een nieuw project aan. Geef het als naam Datum1 bijvoorbeeld, en zet het weer in een mapje met dezelfde naam op uw diskette. Zet de eigenschap Autoredraw van het formulier op true. Dimensioneer de volgende variabelen: Option Explicit Dim dbldatum As Double Dim Datum As Date Je ziet dat Date ook een variabel-type is., en kan datum én tijd bevatten Plaats de volgende code in het event Form_Load: Private Sub Form_Load() ' we voeren een datum in (let op de schrijfwijze!) Datum = "12/2/2001 15:30:45" 'Druk het resultaat op het formulier af: Print "Datum en tijd: " & Datum 'zet de datumwaarde in de double-variabele dbldatum = Datum ' en druk hem af Print "Getalwaarde: " & dbldatum Het resultaat bij het opstarten van het programma ziet eruit als hiernaast: Met Print Datum wordt de datum afgedrukt op het formulier. De datumvariabele bevat nochtans gewoon een decimaal getal. Maar dat het als datum 12/2/2001 15:30:45 wordt afgedrukt, ligt aan het feit dat VB ziet dat dit een datum-type is, en print jet dan ook als een echte datum. Het echte getal kunnen we zien als we de datum in de double-variabele dbldatum plaatsen. Dit blijkt nu de waarde 36934,646. te bevatten. Hoe komt VB aan dit getal? Datum= er zijn 36934 dagen verlopen sinds 31/12/1899 Tijd = 15:30:45 is het 0.64635 ste gedeelte van 1 dag Visual Basic door ir. C.Daniels IX-1

Verander de datum in het programma eens in 31/12/1899 00:00:00 1/6/1950 12:00:00 31/8/1956 18:00:00 en interpreteer het resultaat B. Datumconversie met CDATE() Een getalwaarde kan steeds omgezet worden in een datumwaarde met de functie Cdate(). Tussen de haakjes plaatst u de doublewaarde, en als resultaat krijgt u de datum en de tijd die erbij hoort. Plaatse de volgende (vetjes gedrukte) code bij in uw programma en voer uit. Interpreteer het resultaat:. ' en druk hem af Print "Getalwaarde: " & dbldatum Print CDate(30590.75) C. Rekenen met datum en tijd Dit is heel eenvoudig als je weet dat één gelijk is aan één dag, of 24 uren. Stel dat we bij de datum 1/1/2000 duizend dagen willen bijtellen. Welke dag is het dan? In VB programmeert u dit heel eenvoudig als : Wat is het resultaat? Print CDate(30590.75) Datum = "1/1/2000" dbldatum = Datum + 1000 Print CDate(dblDatum) Met de format-functie kunt u veel preciezer aangeven hoe u de datum wil zien: Verander de code in het print-statement eens als volgt: Print Format(CDate(dblDatum), "dddd dd/mmm/yyyy hh:mm:ss") Wat is het resultaat? Welke code heeft u nodig om 1000 dagen en 36 uur bij te voegen? Probeer uit! Visual Basic door ir. C.Daniels IX-2

Zoek in de help de verschillende mogelijkheden op om datum en tijd te formatteren met de functie Format() D. Now, Date$ en Time$ De systeemfunctie Now bevat de huidige datum én tijd. Date$ bevat de datum van vandaag, en Time$ bevat de tijd. (Test dit even uit in het Immediate-venster!) Oefening: Schrijf een programma dat de datum en tijd van nu in de caption schrijft van het formulier. Bewaar het bijvoorbeeld als Datum2 in een aparte map met die naam. Plaats er twee tekstvakken en labels in waarin u een aantal dagen en een aantal uren kan ingeven. Door te klikken op een knop Bereken krijgt u dan de nieuwe datum en tijd in een label onderaan. Het zou er ongeveer als volgt kunnen inzien. txtdagen txturen lblresultaat cmdberekenen Probeer zelf eens de nodige code te ontwikkelen! Als u het ECHT niet vindt, kunt u hieronder spieken in de oplossing die ik zelf bedacht. Option Explicit Dim dbldagen As Double Dim dbluren As Double Dim HuidigeDatum_Tijd As Date Dim Datum As Date Private Sub cmdberekenen_click() dbldagen = Val(txtDagen.Text) dbluren = Val(txtUren.Text) Datum = CDate(HuidigeDatum_Tijd) + dbldagen + dbluren / 24 lblresultaat.caption = Format(Datum, "dddd dd/mm/yyyy hh:mm:ss") txtdagen.setfocus Private Sub Form_Load() HuidigeDatum_Tijd = Now Form1.Caption = Format(HuidigeDatum_Tijd, "dddd, dd mmmm yyyy hh:mm:ss") Visual Basic door ir. C.Daniels IX-3

E. Tijd- en datumfuncties Voor de datum bestaan volgende functies: Year (datum) geeft het jaar als een geheel getal Month (datum) geeft de maand 1-12 Day (datum) geeft de dag van de maand 1 31 Date = datum verandert de systeemdatum Voorbeeld: date = #february 12,2002# verandert de systeemdatum naar 12 februari 2002 Weekday (datum) geeft als resultaat de dag in de week (1 = zondag, 2 = maandag,enz.) Voorbeeld Weekday(#march 8,2001#) geeft als resultaat 5 Hour (tijd) Geeft de uren van een tijdwaarde Minute (tijd) Geeft de minuten uit een tijdwaarde Second (tijd) Geeft de seconden uit een tijdwaarde Probeer deze functies eens uit in het Immediate-venster! Oefening: Ontwerp een programma, waarin je een datum kan aangeven, en als je op een drukknop klikt, vertelt het prgramma in een messagebox, op welke weekdag deze datum valt. cmdgeefdag txtdatum Probeer zelf eens de nodige code te ontwikkelen! Met de functie IsDate() kunt u checken of een tekst een geldige datum voorstelt. Als u het ECHT niet vindt, kunt u hieronder spieken Visual Basic door ir. C.Daniels IX-4

Option Explicit Dim datum As Date Private Sub cmdgeefdag_click() Dim i As Integer Dim dag As String 'Controleer of het een correcte datum is! If IsDate(txtdatum.Text) Then datum = CDate(txtdatum.Text) Select Case Weekday(datum) Case 1: dag = "zondag" Case 2: dag = "maandag" Case 3: dag = "dinsdag" Case 4: dag = "woensdag" Case 5: dag = "donderdag" Case 6: dag = "vrijdag" Case 7: dag = "zaterdag" End Select i = MsgBox(txtdatum.Text + " valt op een " + dag, _ vbinformation, "Weekdag") Else i = MsgBox("Verkeerde datum!", vbcritical, "Fout!") End If F. Het Timer-object Het Timer-object is speciaal bedoeld om na een vaste tijd een bepaalde opdracht uit te voeren. De belangrijkste eigenschap is het Interval. Dit geeft aan om de hoeveel milliseconden de timer tikt. Bij elke tik wordt het event Timer1_Timer aangeroepen. Zet u het timer-interval gelijk aan nul, dan stopt de timer. Om dit even uit te testen, proberen we het volgende. Maak een nieuw project aan en bewaar het in een mapje Timer1 bijvoorbeeld op uw diskette Plaats een timer object op uw formulier. De plaats waar u dit plaatst heeft geen belang, want het figuurtje is niet zichtbaar als u het programma runt. Zet de eigenschap interval = 1000, dwz dat de timer elke seconde éénmaal tikt. Visual Basic door ir. C.Daniels IX-5

Plaats de volgende code in het event Timer1_Timer: Private Sub Timer1_Timer() Static i As Integer i = i + 1 Print "Timer-tik #" + Str(i) U krijgt dan dit resultaat: Elke seconde wordt een nieuw lijntje afgedrukt. Het statement Static U ziet dat we hier het woordje Static ipv van Dim hebben gebruikt. Het woordje static betekent dat de waarde van de variabele i na elke aanroep blijft behouden. Verander het woordje Static eens in Dim, en kijk wat er gebeurt! Oefening: gebruik we deze kennis eens om een eenvoudig digitaal klokje te ontwerpen, zoals hieronder. Het hele programma heeft slechts 3 lijntjes code die u zelf moet schrijven. Tip: Laat de timer elke seconde de opschriften van de drie labels opniuw schrijven. Maak gebruik van de datum- en tijdfuncties die u in dit hoofdstuk heeft geleerd! Voor de liefhebbers: Op mijn website http://iwt.khlim.be/~cdaniels vindt u een voorbeeld van een analoog klokje. (Kijk bij Cursussen Excel en VB -->Voorbeeldprogramma s in VB.) + Visual Basic door ir. C.Daniels IX-6

Visual Basic door ir. C.Daniels IX-7