Avatar billede skwat Praktikant
03. juli 2002 - 16:13 Der er 21 kommentarer og
1 løsning

kode der kun skal afvikels i design tid.

Hej Alle

Findes der en måde hvorpå man kan markere noget kode til kun at blive afviklet i design?

det er ikke debug.print osv. jeg søger.
Avatar billede martin_moth Mester
03. juli 2002 - 19:10 #1
Kode afviklet i designtid - Den fangede jeg ikke..?
Avatar billede ocp Nybegynder
03. juli 2002 - 19:43 #2
Jeg går ud fra at du er ved at lave noget med usercontrols eller lignende? I så falde skal du bruge "Ambient.UserMode". Den er false hvis du er i design og true hvis runtime:

if Ambient.UserMode then
  msgbox "You are a user"
else
  msgbox "You are a designer"
end if
Avatar billede skwat Praktikant
04. juli 2002 - 23:29 #3
det jeg søger er en mulighed for at lave noget kode som ikke bliver taget med i det færdige projekt.
Avatar billede ocp Nybegynder
05. juli 2002 - 09:13 #4
Taler du om kompiler-direktiver?
Avatar billede martin_moth Mester
05. juli 2002 - 10:28 #5
Jeg har stadig ikke forstået:

1) Mener du, at du har noget kode, der skal afvikles i design-tid (i modsætning til runtime)

2) Eller vil du bare have noget kode, du kan bruge når du er ved at designe dit program, som så ikke skal med når du kompilerer?

Jeg tror du skal være lidt mere specifik - eller så skal en anden, der er bedre til forstå hvad du mener svare ;o)

Hvis det er 2) du mener, så kan du jo bare tilføje et modul til dit projekt, som du fylder med kode, og så fjerner du modulet inden du kompilerer... Ikke at jeg synes det giver mening, men som sagt forstår jeg meget dårligt hvad du vil..?
Avatar billede skwat Praktikant
05. juli 2002 - 12:29 #6
Ja det hedder vel runtime(når der er trykket play), så nummer 2 er vel det rigtige.

men det med modulet vil give nogle problemmer, og er efter min menning ikke brugbart.
Avatar billede skwat Praktikant
05. juli 2002 - 12:29 #7
ocp:> kompiler-direktiver?
Avatar billede ocp Nybegynder
05. juli 2002 - 13:08 #8
Kompiler direktiver er oplysninger til kompileren om f.eks. hvilken kode der skal kompileres med ind i et projekt alt efter om det f.eks. bygges til 16 eller 32 bit.
Avatar billede ocp Nybegynder
05. juli 2002 - 13:12 #9
Der findes flg. kompiler direktiver under VB:

#DEFINE
#UNDEF
#IF
#ELSE
#ELIF
#ENDIF

Eksempel på brug af #IF:

#IF 'WINDOWS' $ UPPER(VERSION( ))
  ? 'This was compiled under Visual FoxPro for Windows'
#ELIF 'MAC' $ UPPER(VERSION( ))
  ? 'This was compiled under Visual FoxPro for Macintosh'
#ELIF 'UNIX' $ UPPER(VERSION( ))
  ? 'This was compiled under FoxPro for UNIX'
#ELSE
  ? 'This was compiled under FoxPro for MS-DOS'
#ENDIF
Avatar billede ocp Nybegynder
05. juli 2002 - 13:13 #10
Det er godt nok et VBA eksempel fra FoxPro, men princippet er det samme under VB.
Avatar billede martin_moth Mester
06. juli 2002 - 11:34 #11
Hvis det ikke er kompiler-direktiver du har brug for, tror jeg du gør dig selv en tjeneste ved at mere konkret fortælle, HVAD det er du egentligt har brug for - hvori består dit problem?

Hvis det ER kompilerdirektiver, du behøver, så tillykke med dit gode svar fra ocp ;o)
Avatar billede skwat Praktikant
08. juli 2002 - 08:52 #12
Okay jeg prøver lige igen:

Når jeg sidder og designer et program har jeg en logind form, jeg i nu efterhånden ved at være MEGA træt af at taste user/password.

Så det jeg leder efter er at når jeg sidder og test skal der køres en stump kode:

txtuser.text = "MegaMig"
txtpassword.text = "dametrusser"

men når jeg så kompiler programmet, og brugerne køre det i færdig tilstand skal disse linje ikke køres.

Er det forståligt nu?
Avatar billede ocp Nybegynder
08. juli 2002 - 09:18 #13
Hvad med at benytte en commando-parameter? F.eks.

Kommandolinie: MitProgram.exe test

dim blnTest as boolean
blnTest = (ucase@(command) = "TEST")

if blnTest then
  txtuser.text = "MegaMig"
  txtpassword.text = "dametrusser"
end if
Avatar billede ocp Nybegynder
08. juli 2002 - 09:19 #14
Det lyder virkelig fedt: Commando-parameter ;-)
Avatar billede martin_moth Mester
08. juli 2002 - 09:48 #15
Er det meget svært at skrive linierne

txtuser.text = "MegaMig"
txtpassword.text = "dametrusser"

og så SLETTE linierne, når du kompilerer og sender programmet ud til brugere??? Eller er det bare for nem en løsning ;o)
Avatar billede skwat Praktikant
08. juli 2002 - 14:11 #16
martin:> Kunne det tænkes at det bare var et eksempel på hvor det kunne bruges?

ocp:> Tja... det ser ud til at det er den eneste mulighed.
Avatar billede martin_moth Mester
08. juli 2002 - 16:36 #17
Det var skam ikke for at være sarkastisk. Men nu har du været ret upræcis i formuleringen af dit spørgsmål, så snart en masse har brugt tid på noget der ikke var nødvendigt (compilerdirektiver, usercontrols)

- Jeg kan nu stadigvæk ikke se dit problem er så stort - du kunne evt. også bypasse den uønskede med en GoTo, og så fjerne GoTo når du kompilerer. Du har jo et problem, når en bruger finder ud af, at han/hun kan skrive MitProgram.exe test, og så slippe for at logge ind?

Nå, men held og lykke med det hele.
Avatar billede martin_moth Mester
08. juli 2002 - 16:38 #18
Sorry - med "en masse" mener jeg mig selv og ocp ;o))
Avatar billede skwat Praktikant
11. juli 2002 - 17:07 #19
Problemmet er at jeg sidder og koder på nogle relativt store systemmer, hvor jeg bla. skal tjekke for at data'er ikke findes flere steder.
Det er jeg rimlig ligeglad med når jeg sidder i mit testmiljø.

Tror du ikke at grunden til at folk havde svært ved at forstå hvad jeg spurte om, var fordi der ikke fantes noget svar?
Avatar billede skwat Praktikant
11. juli 2002 - 17:08 #20
BTW goto er noget pastaprogrammering :-)
Avatar billede martin_moth Mester
12. juli 2002 - 09:46 #21
Nej, jeg tror at grunden til at folk først svarede på noget helt andet (fx. usercontrols) var din formuliering af spørgsmålet... Nok om det, håber du fik tingene til at virke som de skulle...
Enig - goto er spagetti (undtagen i On Error Goto ;o)
Avatar billede skwat Praktikant
12. juli 2002 - 09:48 #22
On Error Goto - er også noget pasta værk men den eneste mulighed.

Enig nok om det.
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