/ Forside / Teknologi / Udvikling / VB/Basic / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
VB/Basic
#NavnPoint
berpox 2425
pete 1435
CADmageren 1251
gibson 1230
Phylock 887
gandalf 836
AntonV 790
strarup 750
Benjamin... 700
10  tom.kise 610
Events i Basic
Fra : Michael Reiler


Dato : 29-09-03 15:55

Hej

Jeg arbejder normalt i Delphi, men skal udvikle en lille applikation der
kører på Pocket PC, og kigger på Embedded Visual Basic til at programmere
det i.

Jeg har dog et lille problem, jeg kan ikke finde ud af hvordan objekter i
Basic kan dele events.

Sagen er at mit program i meget simpelt form skal bestå af nogle knapper,ved
tryk på knapperne sendes via winsock en besked til et andet program som
reagerer på det.

I Delphi ville jeg lade alle knapperne dele onclick-eventet og sende en
besked med info om hvilken knap der var trykket på, og lade programmet i den
anden ende om at tage sig af det svære. Jeg kunne f.eks. sætte knappernes
Tag forskelligt, og bruge den som identifikation på hvilken knap der blev
trykket på:

[Pseudo kode]

Procedure Knapclick(sender:TObject)
Begin
SendNetværksbesked('Der blev trykket på knap ' +Sender.Tag)
End

Dette gør jo at jeg ikke behøver have 30-40 stort set ens procedurer, men at
alle knapper kan dele en.

Jeg kan så bare ikke finde ud af hvordan jeg assigner en Onclick-event til
knapperne, kan man ikke det i (Embedded) Visual Basic ?

På forhånd tak for hjælp


Michael



 
 
Jens Vestergaard (29-09-2003)
Kommentar
Fra : Jens Vestergaard


Dato : 29-09-03 16:03

"Michael Reiler" <Michael@_REMOVE_reiler.dk> skrev i en meddelelse
news:3f7847c7$0$97254$edfadb0f@dread12.news.tele.dk...
> Hej
>
> Jeg har dog et lille problem, jeg kan ikke finde ud af hvordan objekter i
> Basic kan dele events.

[snip]

Brug en control array. Lav en control (Command, f.eks.) og kopier den. Du
vil bemærke at de kopierede Commands hedder det samme, men får en Index
property - den oprindelige control får Index 0. De deler Click event og kan
skilles ad med Index:

Sub myCmd_Click(Index As Integer)
Select Case Index
Case 0
...
Case 1
...
Case 2
...
End select
End Sub

Sic!



--
mvh
Jens Vestergaard (mailadr i dette indlæg er ikke gyldig!)
www.railsoft.dk
Døgnets jernbanenyheder: www.railsoft.dk/medier.asp



Michael Reiler (30-09-2003)
Kommentar
Fra : Michael Reiler


Dato : 30-09-03 08:29

Tak for svaret.

Jeg ved ikke om det virker anderledes i Embedded Visual Basic, men
ihvertfald kan jeg ikke få det til at fungere.
Hvis jeg laver en knap, og kopierer den, få de ikke samme navn, de hedder
Command1, Command2 o.s.v., jeg har prøvet at rename dem, men det går ikke at
kalde dem samme navn.

Der er , som du skriver, en Tabindex, som bliver talt op for hver knap, så
den kunne man bruge, hvis jeg altså kunne få dem til at dele event.

Er det mig der ikke fatter det, eller kan det ikke lade sig gøre i EVB ?

Michael

"Jens Vestergaard" <j@railsoft.dk> skrev i en meddelelse
news:3f7849aa$0$83045$edfadb0f@dtext01.news.tele.dk...
> "Michael Reiler" <Michael@_REMOVE_reiler.dk> skrev i en meddelelse
> news:3f7847c7$0$97254$edfadb0f@dread12.news.tele.dk...
> > Hej
> >
> > Jeg har dog et lille problem, jeg kan ikke finde ud af hvordan objekter
i
> > Basic kan dele events.
>
> [snip]
>
> Brug en control array. Lav en control (Command, f.eks.) og kopier den. Du
> vil bemærke at de kopierede Commands hedder det samme, men får en Index
> property - den oprindelige control får Index 0. De deler Click event og
kan
> skilles ad med Index:
>
> Sub myCmd_Click(Index As Integer)
> Select Case Index
> Case 0
> ...
> Case 1
> ...
> Case 2
> ...
> End select
> End Sub
>
> Sic!
>
>
>
> --
> mvh
> Jens Vestergaard (mailadr i dette indlæg er ikke gyldig!)
> www.railsoft.dk
> Døgnets jernbanenyheder: www.railsoft.dk/medier.asp
>
>



Jens Vestergaard (30-09-2003)
Kommentar
Fra : Jens Vestergaard


Dato : 30-09-03 08:47

"Michael Reiler" <Michael@_REMOVE_reiler.dk> skrev i en meddelelse
news:3f7930d0$0$97219$edfadb0f@dread12.news.tele.dk...
> Tak for svaret.
>
> Jeg ved ikke om det virker anderledes i Embedded Visual Basic, men
> ihvertfald kan jeg ikke få det til at fungere.

Du har ret. Det fungerer anderledes i eMbeded VB end i alm VB - har lige
prøvet. Det skulle jeg naturligvis have gjort, inden jeg svarede...

> Der er , som du skriver, en Tabindex, som bliver talt op for hver knap, så
> den kunne man bruge, hvis jeg altså kunne få dem til at dele event.

Tabindex er noget andet end Index. Tabindex er 'rækkefølgen', som dine
controls får fokus, hvis brugeren taster TAB

> Er det mig der ikke fatter det, eller kan det ikke lade sig gøre i EVB ?

Well, sådan lige fra hoften:

Lav en Sub, der håndterer din 'fælles' click-event og kald den fra
knappernes Click-event. Noget i retning af.

Sub myClick(ident as Integer)
Select Case ident
Case 0
...
Case 1
...
End Select
End Sub

og så i knappernes Click:

Sub Command1_Click()
myClick 1
End Sub

Sub Command2_Click()
myClick 2
End Sub

Ikke SÅ elegant, men det kan vel virke?

--
mvh
Jens Vestergaard (mailadr i dette indlæg er ikke gyldig!)
www.railsoft.dk
Døgnets jernbanenyheder: www.railsoft.dk/medier.asp




Michael Reiler (30-09-2003)
Kommentar
Fra : Michael Reiler


Dato : 30-09-03 09:18

Det lyder som den eneste løsning, men det er jo ikke så elegant, når man har
30-40 knapper......

Har du prøvet at programmere noget til Pocket PC ?

Jeg bruger en Winsock i mit program, men når jeg kører programmet i
emulatoren, siger den at den mangler Winsock, skal man uploade en ocx eller
noget ?

Tak for indsatsen.

Michael


"Jens Vestergaard" <j@railsoft.dk> skrev i en meddelelse
news:3f7934e7$0$83065$edfadb0f@dtext01.news.tele.dk...
> "Michael Reiler" <Michael@_REMOVE_reiler.dk> skrev i en meddelelse
> news:3f7930d0$0$97219$edfadb0f@dread12.news.tele.dk...
> > Tak for svaret.
> >
> > Jeg ved ikke om det virker anderledes i Embedded Visual Basic, men
> > ihvertfald kan jeg ikke få det til at fungere.
>
> Du har ret. Det fungerer anderledes i eMbeded VB end i alm VB - har lige
> prøvet. Det skulle jeg naturligvis have gjort, inden jeg svarede...
>
> > Der er , som du skriver, en Tabindex, som bliver talt op for hver knap,

> > den kunne man bruge, hvis jeg altså kunne få dem til at dele event.
>
> Tabindex er noget andet end Index. Tabindex er 'rækkefølgen', som dine
> controls får fokus, hvis brugeren taster TAB
>
> > Er det mig der ikke fatter det, eller kan det ikke lade sig gøre i EVB ?
>
> Well, sådan lige fra hoften:
>
> Lav en Sub, der håndterer din 'fælles' click-event og kald den fra
> knappernes Click-event. Noget i retning af.
>
> Sub myClick(ident as Integer)
> Select Case ident
> Case 0
> ...
> Case 1
> ...
> End Select
> End Sub
>
> og så i knappernes Click:
>
> Sub Command1_Click()
> myClick 1
> End Sub
>
> Sub Command2_Click()
> myClick 2
> End Sub
>
> Ikke SÅ elegant, men det kan vel virke?
>
> --
> mvh
> Jens Vestergaard (mailadr i dette indlæg er ikke gyldig!)
> www.railsoft.dk
> Døgnets jernbanenyheder: www.railsoft.dk/medier.asp
>
>
>



Jens Vestergaard (30-09-2003)
Kommentar
Fra : Jens Vestergaard


Dato : 30-09-03 09:24

"Michael Reiler" <Michael@_REMOVE_reiler.dk> skrev i en meddelelse
news:3f793c46$0$97242$edfadb0f@dread12.news.tele.dk...
> Det lyder som den eneste løsning, men det er jo ikke så elegant, når man
har
> 30-40 knapper......

Nu kune man måske være så fræk at påstå, at et Pocket PC-program med 30-40
knapper på den lille skærm i forvejen ikke er så elegant..? )

> Har du prøvet at programmere noget til Pocket PC ?

Ja - i det små. Mest for at se, om jeg kunne 'finde ud af' det....

> Jeg bruger en Winsock i mit program, men når jeg kører programmet i
> emulatoren, siger den at den mangler Winsock, skal man uploade en ocx
eller
> noget ?

.... men til Winsock er jeg ikke nået endnu. Sorry!

> Tak for indsatsen.

Any time


--
mvh
Jens Vestergaard (mailadr i dette indlæg er ikke gyldig!)
www.railsoft.dk
Døgnets jernbanenyheder: www.railsoft.dk/medier.asp



Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408924
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste