Hey Leute,
ich habe etwas mit Firebase rumprobiert. Das ist alles kein Problem mit FireSharp, doch irgendwie Scheiter ich gerade an den einfachsten Dingen. Ich kriege es nicht gebacken eine Variable zu einer Checkbox hinzuzufügen. Sooft habe ich das mit C# noch nicht gemacht (hust einmal bisher). Ich habe auch schon danach zu suchen doch das mit dem Invork funktioniert dann nicht mehr so gut, da es ja nicht mehr den int zurück gibt. Als Info, LBWCB1 ist die Checkbox.
Spoiler anzeigen
Oder vielleicht habe ich es auch nur einfach mit dem Invork falsch verstanden. Ich glaube das wird es auch sein, aber am besten wäre es, wenn es sich noch einfacher lösen könnte. Die Hilfe von MS war nicht so.... naja.... hilfreich .
MFG Nils
ich habe etwas mit Firebase rumprobiert. Das ist alles kein Problem mit FireSharp, doch irgendwie Scheiter ich gerade an den einfachsten Dingen. Ich kriege es nicht gebacken eine Variable zu einer Checkbox hinzuzufügen. Sooft habe ich das mit C# noch nicht gemacht (hust einmal bisher). Ich habe auch schon danach zu suchen doch das mit dem Invork funktioniert dann nicht mehr so gut, da es ja nicht mehr den int zurück gibt. Als Info, LBWCB1 ist die Checkbox.
C#-Quellcode
- public partial class Form1 : Form
- {
- static string BasePath = "https://some-really-nice-shit-what-you-can-not-imagine.firebaseio.com/";
- static string FirebaseSecret = "some-really-nice-secret";
- private static FirebaseClient client;
- //var dict = new Dictionary<String, Tuple<string, string, bool, int>>();
- public static Dictionary<String, Tuple<int, string>> dict = new Dictionary<String, Tuple<int, string>>();
- public Form1()
- {
- InitializeComponent();
- }
- public void Form1_Load(object sender, EventArgs e)
- {
- InitiAll();
- }
- private void LBWCB1_SelectedIndexChanged(object sender, EventArgs e)
- {
- }
- public void createConfig()
- {
- IFirebaseConfig config = new FirebaseConfig
- {
- AuthSecret = FirebaseSecret,
- BasePath = BasePath
- };
- client = new FirebaseClient(config);
- }
- private async void initEvent()
- {
- EventStreamResponse response = await client.OnAsync("", (sender, args) =>
- {
- //Add
- if (args.Data.Equals("an"))
- {
- //var tu = new Tuple<int, String>(new Form1().LBWCB1.Items.Add(args.Path, true), args.Data);
- dict.Add(args.Path, Tuple.Create(this.LBWCB1.Items.Add(args.Path, true), args.Data));
- }
- else if (args.Data.Equals("aus"))
- {
- //var tu = new Tuple<int, String>(new Form1().LBWCB1.Items.Add(args.Path, false), args.Data);
- dict.Add(args.Path, Tuple.Create(this.LBWCB1.Items.Add(args.Path, false), args.Data));
- }
- }, (sender, args) =>
- {
- //Change
- if (args.Data.Equals("an"))
- {
- if (dict.ContainsKey(args.Path))
- {
- Tuple<int, String> tt;
- if (dict.TryGetValue(args.Path, out tt))
- {
- this.LBWCB1.SetItemChecked(tt.Item1, true);
- }
- }
- }
- else if (args.Data.Equals("aus"))
- {
- if (dict.ContainsKey(args.Path))
- {
- Tuple<int, String> tt;
- if (dict.TryGetValue(args.Path, out tt))
- {
- this.LBWCB1.SetItemChecked(tt.Item1, false);
- }
- }
- }
- }, (sender, args) =>
- {
- //Remove
- if (dict.ContainsKey(args.Path))
- {
- Tuple<int, String> tt;
- if (dict.TryGetValue(args.Path, out tt))
- {
- this.LBWCB1.Items.RemoveAt(tt.Item1);
- }
- }
- });
- }
- public void InitiAll()
- {
- createConfig();
- initEvent();
- }
- }
Oder vielleicht habe ich es auch nur einfach mit dem Invork falsch verstanden. Ich glaube das wird es auch sein, aber am besten wäre es, wenn es sich noch einfacher lösen könnte. Die Hilfe von MS war nicht so.... naja.... hilfreich .
MFG Nils