Avatar billede Slettet bruger
02. december 2003 - 23:59 Der er 8 kommentarer og
2 løsninger

link til forklaring af Visual Basic's virkemåde

Hej X-perter :->

Er i gang med noget dokumentation til et projekt.

Er der nogen som kan forklare, hvordan VB fungerer i forhold til f.eks. C++.

Jeg tænker på noget i denne retning:

C++ afvikles fra en "main" hvorfra samtlige funktioner i et givent program kaldes.
Funktionen behandler data - returnerer svar til "main" - og main fortsætter.
Hele C++ applikationen køres altså fra main, også når programmet ikke lige skal behandle data.

Hvordan fungerer VB i denne sammenhæng.
Form_Load køres når en applikation starter - men hvad så?
Hvor står VB og "venter" indtil en bruger aktiverer en kontrol??
Når bruger har aktiveret en kontrol, og denne kode er færdig afviklet, hvor står VB så og "venter"...

Nogen som har en god kort forklaring - eller evt. kan henvise til et godt link??

Håber at min beskrivelse kan forståes - ellers spørg!
Avatar billede joern Nybegynder
03. december 2003 - 00:40 #1
Hej.

Jeg kender ikke til C++ men jeg mener at alt i windows i princippet er event-styret.  Når en applikation starter udføres alle instrukser i Form Load, som du selv forklarer, - der kan være mange forme, nogle skjulte som først vises på brugerens kommando.
I mine programmer indlæses typisk nogle data fra filer under Form Load, og så er det jo frit for brugeren at klikke på en kontrol.

VB kan udstyres med timer kontroller, som så med det fastsatte interval udfører kommandoer.

Spørgsmåler om hvor VB står og venter kan måske beskrives ved, at der altid er en kontrol, der har focus.  Den kan - som normalt i windows - aktiveres med tasten 'space'.  I øvrigt overvåger windows jo tastaturet og er klar til at modtage genvejs-kombinationer, du ved - de dér interupts :-)

M.v.h.  Jørn
Avatar billede Slettet bruger
03. december 2003 - 10:38 #2
Hej Jørn.

Her er et udpluk af det som jeg har skrevet om VB i mit projekt.

...Programmet som udvikles i forbindelse med dette projekt, er en såkaldt hændelsesstyret (event-driven) applikation.
Applikationen afvikles altså ikke sekventielt – linie for linie, fra start til slut, men i den rækkefølge som brugeren vælger imellem knapper m.m.
Derfor er programkoden tilknyttet de forskellige hændelser (events) brugeren kan kalde med sine handlinger.

Eftersom hverken systemet eller programmøren kan vide, i hvilken rækkefølge brugeren vil bruge de forskellige funktioner er det umuligt at skrive koden som én lang række af kommandoer.
Løsningen er derfor at skrive den kode, der skal udføres når der trykkes på en bestemt knap, i en procedure der er tilknyttet knappen.
Proceduren kaldes en event-procedure, da man her kan placere de kodelinier der skal udføres når denne hændelse forekommer....

Det jeg mangler er en forklaring til hvor VB står og "venter" - og du mener altså, at den "bare" står og venter v. den kontrol som har fokus?

Jeg har f.eks. sat tab-index til at være 1 ved den kontrol som jeg forventer bruger vil aktivere først.

Og det vil altså sige, at når Form_Load er kørt - så står applikationen og venter v. denne knap som jeg har forvalgt vha. tab-index?
Avatar billede Slettet bruger
03. december 2003 - 11:15 #3
Forresten Jørn - har du evt. en genial idé til hvordan man kunne tegne VB's funktionalitet i et diagram

En overordnet struktur for et C-program kunne måske se sådan ud?
                    ------------------------ 
                    --        main        --
                    ------------------------

----------------      ----------------      ----------------
-- funktion 1 --      -- funktion 2 --      -- funktion 3 --
----------------      ----------------      ----------------

Andre end Jørn er naturligvis velkomne til at svare :->
Avatar billede joern Nybegynder
03. december 2003 - 13:14 #4
Hej.

Med Visual Basic kan du udvikle de mest forskelligartede applikationer, også nogle som kører i baggrunden, skjult for brugeren.  Jeg har f.eks. til brug på et gymnasium, lavet et program der med anvendelse af brugerens login ID, skriver til en base på serveren, hvornår brugeren logger på og af , på hvilken maskine og hvor mange MB vedkommende har lagt på harddisken på klienten.

Programmet startes fra Registry og genkendes end ikke i tasklisten.

På mit site har jeg forsøgt i kort form at anskueliggøre udformning af en kravspecifikation.  Det er noget ganske andet, men med VB kan du lave (næsten) alt.  http://jkfsoft.dk/kravspec.htm

I min gamle lærebog til VB3 viser forfatteren Peter Ferdinand en vildt forenklet (og dermed uanvendelig !) figur der ligner din ovenover.

De 4 ord er "Nøgleskærmbillede" - "Indlæs data" - "Beregn resultat" - "Afslut program".

Den beskrivelse du er ved at udarbejde, hvilken målgruppe henvender den sig til?  Dybt under VB-applikationer som under andre programmer befinder sig jo stakke, flag og pointere og interupts.  Det er dér VB venter :-)

M.v.h.  Jørn
Avatar billede Slettet bruger
03. december 2003 - 14:26 #5
Jeg udarbejder et projekt for en elektronik-virksomhed.
Deres speciale er opsætning af lys/lyd

Målgruppen er således min projektvejleder og censor til eksamen.
Det er ikke meningen at jeg skal helt ned på "stak-niveau" - bare en overordnet forklaring evt. med et diagram til.
Avatar billede Slettet bruger
07. januar 2004 - 10:09 #6
spørgsmålet lukkes....
Avatar billede Slettet bruger
07. januar 2004 - 10:11 #7
Hej Jørn..

Ja så er projektet afleveret, og det er blevet tid til at lukke dette spørgsmål....
Jeg har fået inspiration til at søge videre på nettet om yderligere info. om VB ud fra dine indlæg...
Da ? ikke er 100% besvaret deler jeg pointene mellem os...
Håber det er i orden ;-)
Avatar billede joern Nybegynder
07. januar 2004 - 10:20 #8
Hej Steyr.

Hvis du vil dele din beskrivelse nu da opgaven er afleveret, kan du jo indsætte den her, eller - hvis den er for lang - sende til jt@jkfsoft.dk  Bare det teoretiske overordnede om, hvordan VB virker.

M.v.h.  Jørn
Avatar billede Slettet bruger
08. januar 2004 - 19:21 #9
Det er en længere historie... så du får den lige på mail i stedet for.

Skulle der være andre af Ekspertens brugere som er interesseret så skriv til denne mail: steyrs@tiscali.dk
Avatar billede joern Nybegynder
08. januar 2004 - 20:31 #10
Hej.

Jeg har modtaget og kommenteret steyr's redegørelse direkte med mail.

/jørn
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester