Avatar billede germann Nybegynder
10. september 2003 - 08:52 Der er 5 kommentarer og
1 løsning

UDP recieve event

Hej Alle,

Jeg ønsker at lave en event på min pocket pc, da jeg har en udp forbindelse. Hver gang der modtages nye data skal eventen komme. Nogen foreslag???
Avatar billede odegaard Nybegynder
10. september 2003 - 10:19 #1
Lav en seperat tråd hvor du i en løkke tjekker for data. Her er lidt kode fra min GPSdata læser (det er godt nok data fra en serialport men princippet er det samme):
While{NæstenAltidTrue} {
if(Der er kommet data) {
    GPSEventArgs e = new GPSEventArgs();
    e.TypeOfEvent = "GPRMC";
    e.Data = DataRecieved;
    NewGPSData(this, e);
  }
  Thread.Sleep(10);
}


Hvis der efter 1. kommer data, så laver du blot et eget defineret event, som du så reagerer på præcis som med andre events:
Her er hvordan jeg selv raiser et event:

NewGPSData er erklæret ved:
public delegate void NewGPSDataHandler(object sender, GPSEventArgs e);
public event NewGPSDataHandler NewGPSData;
public class GPSEventArgs:EventArgs
{
    public string TypeOfEvent;
    public string Data;
}

Fra den tråd der har started sin tjek-efter-data tråd, kan du herefter fange eventet præcis som du fanger andre events.

private void GPSDataEventHandler(object sender, CComport.GPSEventArgs e)
{
    switch (e.TypeOfEvent)
    {
        case "GPRMC": [gør noget ved e.Data]
    }
}
Avatar billede burningice Nybegynder
10. september 2003 - 10:35 #2
odegaard>> må jeg have lov at anbefale enums til dit TypeOfEvent ? ;)
Avatar billede odegaard Nybegynder
10. september 2003 - 10:40 #3
Ja da! Sjovt du siger det, fordi i en tidligere version af mit GPSlib benyttede jeg også dette, men efter en fuldstændig omskrivning har jeg da helt glemt det. Tak for bemærkningen. Det retter jeg straks :-)
Avatar billede burningice Nybegynder
10. september 2003 - 10:45 #4
jeg har selv lige skrevet et libary til netværkstrafik, og der bruger jeg nemlig enums som CommandType mellem client/server (konvertering mellem string og enum er nu en gang genialt), så det var derfor jeg lige bed mærke i det :)
Avatar billede germann Nybegynder
10. september 2003 - 15:24 #5
Hvordan bruger man så enums???? Har i et eksempel
Avatar billede burningice Nybegynder
22. september 2003 - 09:32 #6
public enum Mennesker : int {
  Mand = 0,
  Kvinde = 1
}


i koden er den dejlig nem at bruge

Mennesker.Mand.ToString() // giver "Mand"
(int)Mennesker.Kvinde //giver tallet 1
(Mennesker)Enum.Parse("Mand", typeof(Mennesker)) // giver et instans af Mennesker.Mand
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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