Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Coding for fun, C4F, developer kitet måtte jo testes såvidt. Her er det mange muligheter for å lett legge til funksjonalitet i egne applikasjoner. Alt sammen, inkludert kildekoden finner du på https://www.codeplex.com/C4FDevKit Kort oppsummert inneholder kit'et støtte for følgende:
|
|
Kjapt eksempel |
Et lite utdrag fra den simple koden jeg lagde for å teste dette. Egentlig en GUI her, dropper koden derfra. C4F legger seg selvsagt inn i toolboxen i VS2008, så det er bare å dra over det du trenger, de referansene som må inn. I prosjektet under er referansene, i tillegg til de vanlige for en Windows app. |
Deklarasjoner
1: BluetoothDeviceServicesManager blueServiceMan = new BluetoothDeviceServicesManager();
2: List<Device> devs = new List<Device>();
3: List<RemoteService> remserv = new List<RemoteService>();
4: string nl = Environment.NewLine;
Discovery av devicer i all enkelhet
metoden er en eventhandler for Discover knappen. Linje 6, fra C4F kitet, som gjør jobben her. (Finn feilen/snarveien i progress bar håndteringa;)
1: private void blueDiscButt_Click(object sender, EventArgs e)
2: {
3: blueDevices.Items.Clear();
4: blueStatus.Text = "Discovering";
5: blueProgress.Value = 10;
6: devs = blueServiceMan.DiscoverAllDevices();
7: blueProgress.Value += 10;
8: foreach (Device d in devs)
9: {
10: blueDevices.Items.Add(d.Name);
11: blueProgress.Value += 10;
12: }
13:
14: blueProgress.Value = 100;
15: blueStatus.Text = "Discovering Done";
16: }
Finne servicer
metoden er en eventhandler for lista over devicer (blueDevices). Når du velger en device som er funnet gjør den discovery og viser dette i en tekstboks i all enkelhet. Linje 6 fra C4F kit'et som gjør jobben her.
1: private void blueDevices_SelectedIndexChanged(object sender, EventArgs e)
2: {
3: blueServsBox.Text += "Navn: "+ devs[0].Name;
4: blueServsBox.Text += nl + "Adresse: " + devs[0].Address.Address.ToString();
5: blueServsBox.Text += nl + "Type: " +devs[0].Type.ToString();
6: remserv = blueServiceMan.DiscoverAllServices(devs[blueDevices.SelectedIndex ]);
7:
8: foreach (RemoteService rs in remserv ) {
9: blueServsBox.Text += nl+"Service: " + rs.Name;
10: }
11:
12: }
Screenshot