Laden...
M
Benutzerbeschreibung

Forenbeiträge von Merlin_S Ingesamt 116 Beiträge

28.04.2017 - 19:07 Uhr

Moin moin!
Ich hatte heute dann auch etwas Zeit mich in SignalR einzulesen, und das sieht aus, als wäre es genau das, was ich brauche. Und es läuft - danke für den Hinweis - auch noch in beliebigen Anwendungen (Konsole, Service, GUI, IIS...).

Danke für eure Hilfe!

Merlin

27.04.2017 - 15:57 Uhr

Windows Forms bzw. eine Desktop-Applikation geht hier ja nicht.

Huch? Das musst du mir erklären. 😃

Ich konkretisiere mal mein Anwendungsszenario:

Das ganze wird eine Art Dispositionssoftware für eine spezielle Art von Einsätzen im Umfeld einer Hilfsorganisation. Diese Einsätze werden vorab in der Software geplant und dann an mehreren Arbeitsplätzen durchgeführt.

Dafür werden 1 bis (in der Praxis maximal) 6 Computerarbeitsplätze aufgebaut, welche dann mit der Software bestückt werden. Auf einem der Rechner ODER auf einem Extra-Rechner läuft dann ein Server, zu dem sich alle anderen verbinden. Dieser Server kümmert sich darum, dass alle Arbeitsplätze den gleichen Datenstand beim Login erhalten und verteilt Updates zu allen Clients. Wir sind hier immer in einer kontrollierten, kabelgebundenen Netzwerkumgebung.

Nun soll es aber möglich sein, ohne große Kenntnisse den Server aufzusetzen. Hier stelle ich mir ein Programm vor, in welchem man ein Projekt wählt, "Start" drückt, und der Server läuft. In der Regel sind die Nutzer Laien, denen bei dem Begriff "Webserver" schon der Rauch aus den Ohren pfeift.

Es spricht ja Grundsätzlich wenig gegen HTTP als Transportprotokoll, lediglich müsste man dann die Bidirektionalität sicherstellen (WebSocket?).

Interessant ist bei der ganzen Geschichte vor allem die möglichst universelle Erweiterbarkeit durch Plugins. Hier sehe ich offenbar keinen Ernsthaften Weg an Reflection vorbei.

Liebe Grüße,
Merlin

27.04.2017 - 15:01 Uhr

Naja, ich möchte ja eigentlich gerade kein P2P-Netzwerk haben, sondern die Daten schon an Zentraler Stelle verwalten lassen.

Merlin

27.04.2017 - 14:20 Uhr

Moin,
Da hast du natürlich Recht. Ich bin bloß (beruflich wie privat) noch nie mit ASP.NET in Kontakt bekommen und habe es daher bislang gar nicht in Betracht gezogen. Meines (gefährlichen halb-)Wissens nach benötigt ein ASP.NET-Projekt einen Webserver (IIS?), um zu laufen. Auf den würde ich in der Tat gern verzichten, um den Server ohne größere Umwege auf beliebigen PC ausführen zu können. Es handelt sich um ein Projekt, das nicht stationär auf einem Rechner läuft sondern den Einsatzort vermutlich relativ häufig wechselt.

Wenn sich heraus stellt, dass es doch keinen Webserver ala IIS braucht (Auch um das zu Googlen habe ich erst heute Abend Zeit 😃 ), könnte es u.U. ein nettes Lernprojekt für ASP.NET werden.

Merlin

27.04.2017 - 12:01 Uhr

Hallo ihr beiden,

Vielen Dank für den Tipp, SignalR schaue ich mir heute Abend auf jeden Fall ein mal an.

Ich hätte aber vielleicht dazu erwähnen sollen, dass es sich nicht um eine ASP.NET-Anwendung handelt, sondern (bislang noch) um eine Windows Forms Applikation, in der nächsten Iteration soll daraus eine WPF-App werden.

Vielen Dank,
Merlin

26.04.2017 - 23:10 Uhr

Hallo ihr lieben,
Ich stehe vor einem Problem bzw. einer Problemstellung, von der ich glaube, dass ich nicht der erste sein kann, der davor steht. Und ich möchte euch freundlich darum bitten, mir beim Googlen zu helfen oder mir hilfreiche Stichworte zu nennen. Ich bin da seit einigen Tagen relativ erfolglos.

Die Problemstellung lautet folgendermaßen:

Es gibt vereinfacht Gesprochen einen Datensatz, an welchem einige Clients innerhalb eines Netzwerk parallel arbeiten sollen. Der Datensatz besteht aus ca. 10 verschiedenen Klassen, die in Listen zu je ca. 100 zusammengefasst sind. Jedes Objekt hat ca. 10 Eigenschaften. Es soll einfach sein, das System um weitere Entitätstypen zu ergänzen, sehr Wünschenswert wäre es, wenn alles möglichst generisch gehalten wird, so dass man über MEF o.ä. Plugin-Systeme und wenig Code-Aufwand neue Entitäten hinzufügen könnte, welche dann auf gleiche Weise gehandhabt werden, ohne den eignetlichen Management-Kern anzufassen.
Dazu soll es einen Server geben, zu dem alle Clients eine dauerhafte Verbindung halten. Zum Login soll ein Client einen "Dump" des ganzen Datensatzes erhalten. Ab dann schickt er veränderte Objekte zum Server, welche diese Information in seiner eigenen Kopie einpflegt und gleichermaßen an alle anderen verbundenen Clients weiterreicht. Der Server vergibt auch allein die IDs für die einzelnen Entitäten.
Zwischen Entitäten gibt es auch die üblichen Beziehungen (1:n, m:n), welche ebenfalls Verwaltet werden sollen.

Der Server soll weiterhin eine irgendwie geartete Persistenz bereitstellen. Das ist aber ein anderes Thema.

Überlegungen bislang:*EntityFramework + Datenbank: Das Interface von EF gefällt mir sehr gut, ich stelle mir für meine Lösung etwas ähnliches vor. Leider habe ich bis auf beim SQL-Server keine schöne Möglichkeit gefunden, umgehend über Änderungen an Einträgen benachrichtigt zu werden. SQL-Server scheidet für mich leider aus. Mir ist für andere DBS (MySQL bspw.) keine Möglichkeit bekannt, Clients über durchgeführte Änderungen in der Datenbank zu benachrichten. Weiterhin soll der Server auch andere Aufgaben übernehmen, so dass man eine Verbindung zur Datenbank bräuchte und dennoch die Server-SW.

  • Eigenes "ORM", welches die Erweiterbarkeit per MEF sicherstellt (Reflection) und statt einer SQL-Datenbank halt den Server im Hintergrund hat. Mit der Persistenz hätte ich dann ein eigenes Datenbanksystem gebaut, mit allen Fiesheiten, die die Entwicklung eines solchen bietet. Möglich, aber irgendwie nicht schön. Klingt danach, als würde man das Rad zum x-ten mal neu erfinden.

Es stellen sich mir also folgende Fragen:*Gibt es etwas für meinen Anwendungsbereich schon? Wenn ja: Wonach muss ich suchen? *Wenn nein: Gibt es vielleicht DOCH eine Möglichkeit, über EF (oder einen anderen ORM) über Änderungen in Datenbanken benachrichtigt zu werden? Meiner Erinnerung nach ist das eigentlich in den meisten DBS nicht von Haus aus vorgesehen.

Da es sich um ein privates Lern-Projekt handelt wäre irgendetwas Open-Source schön. 😃

Ich bedanke mich bereits im Voraus für eure Hilfe.

Merlin

10.01.2016 - 23:14 Uhr

Ja, stimmt. Ich werde morgen den Quellcode nach github schieben.

Grundsätzlich ist es so, dass das System (in dem Umfeld, in dem ich es einsetze) lediglich eine Sekundär-Alarmierung durchführt. Durchaus auch wichtig, aber durch keine Regularien reguliert.
Audits darf jeder gern machen 😛 Tests sind aber noch keine implementiert.

Zugegeben ist einer der Gründe der bisherigen nicht-Veröffentlichung, dass ich im Lizenzen-Dschungel noch nicht "meine" Lizenz gefunden habe.

Das ist Käse (sorry, nichts anderes). Linux hat gerade mal nen Market Share von knapp unter 30% bei Servern (Webserver höher).
Bei Firmen ist die Verbreitung von Windows höher als Linux (wobei es natürlich nicht für jede Firma oder Branche gilt)

Gut, 1:0 für dich. Ich habe allerdings sowohl in der Arbeit als auch daheim nur Linux-Maschinen mit diversen VMs. Aber ja, im Firmenbereich ist Windows viel üblicher.

10.01.2016 - 22:38 Uhr

Hallo zusammen, Ich habe nach langer Zeit mal wieder ein größeres Projekt gebaut.

Vorgeschichte.
Ich bin Mitglied in einer größeren deutschen Hilfsorganisation mit 8-spitzigem Kreuz im Logo. Wir sind in unserer Gliederung unter anderem im Katastrophenschutz und im erweiterten Rettungsdienst organisiert. Die Alarmierung erfolgt im Regelfall über digitale Meldeempfänger (DME). Jedoch haben nicht alle Helfer solche DME, entsprechend wird eine möglichkeit benötigt, Alarmierungen per DME auf einen anderen Alarmierungsweg wie zum Beispiel SMS umzusetzen (Rechtlicher Rahmen ist durchaus geklärt und gegeben).

Eine weitere Aufgabe ist, Rückmeldungen von Helfern entgegen zu nehmen und in ein Format aufzuwerten, welches es der Führungskraft im Büro erlaubt Fahrzeuge einzuteilen und ggf. Entscheidungen zu treffen (bspw. dass ein Fahrzeug noch wartet, weil in X Minuten noch jemand kommt).

Bisher gibt es ein Gerät vom Typ "EcoTel" im Büro, welches jedoch unseren Anforderungen nicht mehr genügt (Zu viele Alarmierungskreise geworden, da EcoTels nur GPIO-Input kennen, müsste man pro Schleife einen Melder kaufen).

Die andere Hälfte übernimmt ein python-Programm, welches SMS entgegennimmt und auf einem Bon-Drucker von Epson ausgibt.

Das musste neu. Heraus kam:

AlarmSystem

Was ist AlarmSystem?
AlarmSystem ist ein Multifunktioneller, leicht erweiterbarer Alarmierungsumsetzer, welcher grundsätzlich nur eine Datenbankverbindung herstellt und eine Konfigurationsdatei einliest. Alles weitere passiert über PlugIns.

Was kann AlarmSystem?
Bislang gibt es folgende Plugins:*SmsPlugin - Empfangen und versenden von SMS *TelegramPlugin - Ein Telegram Bot, welcher empfangene SMS in eine Gruppe bei Telegram postet *HTTP-Server - Nimmt Alarm-Auslösungen per HTTP interface entgegen *PrinterPlugin - Druckt Nachrichten, die ankommen aus *TriggerHandlerPlugin - Nimmt Trigger entgegen und bereitet diese auf, heißt: Erzeugt Nachrichten an alle, die dieser Auslöser betrifft und gibt diese weiter

Grundsätzlich ist diese Architektur beliebig erweiterbar. Es gibt folgende "Materialien":*Message - Eine Nachricht an das System, welche weiterverarbeitet werden soll *TriggerMessage - Eine NAchricht vom System an eine Person, welche versendet werden soll *TriggerRequest - Ein Request, einen Trigger auszulösen und abzuarbeiten *FreeText - Freitext, welcher erzeugt und verarbeitet werden kann

Jedes Plugin kann für jeden dieser Typen sowohl Source als auch Sink sein (auch gleichzeitig). Die "Verbindungen" (genannt "Wires") zwischen den einzelnen Plugins werden in einer Konfigurationsdatei per XML festgelegt.

Außerdem hat jedes Plugin in dieser Konfigurationsdatei einen eigenen Bereich, aus dem es Daten auslesen kann.

Weiterhin gibt es ein Web-Interface auf Laravel-Basis, welches per Bootstrap für Desktop- und Mobile-Ansicht geeignet ist.

Wo läuft AlarmSystem?
Bisher läuft es alles unter Linux auf mono. Müsste auch unter Windows laufen - ist aber bislang nicht getestet. Üblicherweise laufen Server ja auf Linux.

Was kostet AlarmSystem?
Nix. Wenn ich es veröffentliche (s.u.), dann Open-Source.

Warum erzähle ich euch das eigentlich?
Nach einiger Zeit, die da nun drin steckt, könnte ich mir vorstellen, dass es Leute gibt, die sich für dieses Projekt interessieren. Sei es, weil ich da eine Menge für mich neuer Techniken probiert habe (z.B. das Managed Extensibility Framework - klasse Ding!), weil sie es in der Feuerwehr benutzen wollen, in der Firma beim Betreten des Geländes die Kaffeemaschine einschalten wollen oder oder oder...

Gern nehme ich auch Vorschläge für Plugins (oder fertige Plugins? 😉 ) entgegen! Darauf ist dieses System ausgelegt - einfache Erweiterbarkeit. Wer also Lust hat, mitzumachen, ist herzlich willkommen!

Sollte sich also jemand finden, der sich dafür interessiert, würde ich daraus ein Projekt mit Source-Code, Webseite, Wiki und Dokumentation machen. Letztere habe ich schon etwas begonnen, würde aber noch deutlich mehr Doku schreiben, bevor ich es wirklich veröffentliche.

Also! Sagt bescheid, fragt fragen, oder sagt: laaaangweilig 🙂 Dann nutze ich es eben nur bei mir. Gelernt habe ich trotzdem viel.

liebe Grüße,

Merlin

29.10.2014 - 14:02 Uhr

Hallo schnelleHelga,

Die Punkte werden mit einem GPS-Gerät (smartphone) gemessen und mit einem Programm grafisch auf der Karte platziert?

Merlin

29.10.2014 - 10:30 Uhr

Hallo herbivore,
Hallo schnelleHelge,

Vielen Dank für eure beiden Einschätzungen! Ihr habt recht, die Abweichung, die durch das GPS entstehen sind wohl um 1-2 Größenordnungen größer als die Ungenauigkeiten bei der Annahme, die Erde sei eine Scheibe. Bin überzeugt! 😃

Zur Drehung: Dessen bin ich mir bewusst, aber man müsste doch, wenn man 2 oder mehr Punkte gegeben hat relativ gut herausfinden können, in welche Richtung auf dem Bild der Nord-Vektor zeigt. Nämlich die Richtung, in die sich die Breitengerade ändern während der Längengrad (wenn man nun einen Punkt betrachtet) konstant bleibt. Wenn man dann das Skalarprodukt zwischen diesem und dem "echten" Nord-Vektor anwendet bekommt man (so mein Gedanke) den Winkel heraus, in dem sich die beiden Nord-Vektoren unterscheiden. Flugs das Bild um diesen Winkel zurück gedreht, und man hat es nach Norden ausgerichtet. Oder denke ich da falsch?

Das funktioniert natürlich (s.o.) nur, wenn man die Koordinaten der Längen- und Breitengrade als kartesisch betrachtet, was aber, so verstehe ich diesen Thread, aufgrund der geringen Abweichungen kein Problem sein sollte.

Teilt ihr diese Einschätzung?

liebe Grüße,

Merlin

28.10.2014 - 21:25 Uhr

Ist die Abweichung doch so gering? Irgendwann hat mich mal ein Mathelehrer davor gewarnt, dass schon beim Maßstab von wenigen 100m da große Verzerrungen rein kämen. Aber wenn du das sagst, dann probiere ich das die Tage mal aus!

Vielen Dank 😃

Merlin

28.10.2014 - 16:15 Uhr

Hallo witte,

Vielen Dank für den Link. Aber hilft mir die Entfernung von 2 Punkten mittels des Großkreissegments tatsächlich bspw. beim erkennen der Rotation der Karte? Ich wüsste gerade leider nicht, wie... Aber es kann auch sein, dass ich da auf dem Schlauch stehe.

liebe Grüße,

Merlin

28.10.2014 - 15:26 Uhr

Hallo ihr Lieben,

Es ist eine Weile her, aber ich stehe mal wieder vor einem Problem, wo ich schon in der Herangehensweise keine Idee mehr habe...

Folgendes:
Ich habe ein Programm geschrieben, in welchem ich eine OpenStreetMap-Lagekarte mittels des grandiosen GMap.NET-Controls anzeige.
Nun gibt es für einige der angezeigten Bereiche ab und zu etwas genauere Karten (z.B. von einem Veranstalter), auf der Bierwagen, Bühnen usw. eingezeichnet sind. Da an das Programm auch GPS-Sender gekoppelt sind, die von Personen mitgeführt werden, deren Position auf der Karte ersichtlich sein soll, ist es leider nicht möglich, einfach nur diese Karte zu verwenden. Es muss ein Bezug zur "Realität" hergestellt werden...

Nun mein Gedankengang:1.Man nehme das Bild 1.Man gehe mit einem GPS-Empfänger an die Stelle und schreibe sich die Positionen von 2 (oder mehr) Punkten auf dieser Karte auf 1.In einem Programm übertrage man diese Punkte dann auf die digitale Version der Karte und gebe die GPS-Koordinaten ein 1.Das Programm berechnet daraus dann die Drehung der Karte (1), die Lage der Karte in OSM-Koordinaten (2) 1.Die Karte wird entsprechend gedreht, das resultierende Bild wird dann in die OSM-Tiles zerschnitten 1.GMap.NET greift dann, wenn vorhanden, auf die lokalen Bilder zu. Wenn nicht, lade es einfach die OSM-Tiles aus dem Internet

Das alles geschieht natürlich unter der Annahme und Voraussetzung, dass die übermittelten Lagekarten Maßstabsgetreu sind.

Nun brauche ich jemanden, der Erfahrung im Rechnen mit Geokoordinaten hat:*Kann ich bei Geokoordinaten mit "normaler" Trigonometrie arbeiten? Ich vermute leider nicht... Daher: Wie kann ich z.B. anhand zweier gegebener Punkte auf einer Karte herausfinden, in welcher Richtung und wie viel sie ggf. gedreht ist? (Zur Korrektur, um das Bild nach Norden auszurichten) *Wie Rechne ich von gegebenen Punkten auf "Grad pro Pixel" o.ä. um? Einfach Delta_Grad/Delta_Pixel? Gibt es da Verzerrungen?

Ich vermute leider, dass meine geliebte "normale" Vektorrechnung dort nicht mehr greift. Die Erde ist halt eine Kugel 😃

Zur Orientierung: Die Lagekarten umfassen i.d.R. einen Bereich von 200x200m bis zu 1000x1000m.

Ich hoffe, es findet sich jemand, der ein Ähnliches Problem schon einmal hatte, oder zumindest Google-Stichworte weiß, nach denen man suchen könnte...

liebe Grüße,

Merlin

02.05.2013 - 18:59 Uhr

Naja, das ganze soll kein Fuhrparkmanagement werden. Viel mehr geht es darum bei kleineren Einsätzen (Bspw. Stadtfeste o.ä.) Eine Möglichkeit zu haben eine Lagekarte (ganz speziell NICHT OSM/Google Maps) zu führen um die Grobe Position von (Hauptsächlich) Fußstreifen im Auge zu behalten. Wenn später noch eine kleine Einsatz-Verwaltung dazukommt (Einsatz annehmen, Einheit dem Einsatz zuweisen, (ablauf protokollieren)), dann wäre das schon traumhaft 😃 Aber das passiert eh nicht vor den nächsten Semesterferien.

Auf Google Maps/OSM kann ich nicht direkt zurück greifen, weil bei Diensten etwas größerer Ordnung auch mal eigene Lagekarten ausgegeben werden mit eigenem Koordinatenraster. Sei es nun eine Detailkarte der Innenstadt in Planquadranten unterteilt oder im Stadion die beschriftung der Ränge. Daher das Laden eines vorhandenen Bildes.

Hardware wird dazu weiter nicht benötigt.

Das Projekt hat auch nicht das Ziel, demnächst fertig zu sein. 😉

@herbivore: Okay... Wenn du das sagst probiere ich das mal aus 😃

Gruß

Merlin

02.05.2013 - 14:18 Uhr

Moin zusammen,
Nach langer, Zeitbedingter abstinenz durchdenke ich momentan mein nächstes Projekt.

Es handelt sich um ein Lage/Dispositions-Programm für kleine bis mittelgroße Sanitätsdienste (bin selbst im Ehrenamt Sanitäter und habe mich bei einer Übung letztens mit tausenden Zetteln herumgeschlagen). Bestehende Lösungen (Bspw. Sceptros) sind nicht genau das, was ich mir vorstelle.

Nun ist die Frage nach der Lagekarte. Erfahrungsgemäß sind die üblichen Werkzeuge (GDI) nicht die schnellsten, um größere (bis zu ca. 3000x3000 Pixel) zu zeichnen, dann darauf evtl. taktische Zeichen/Marker/Einheiten etc. zu malen. Eine besondere Anforderung wäre noch, dass man selbige Karte zoomen können sollte und dann auch verschieben müsste.

Bisherige Recherche ergab: Bild zerteilen und dann in Kacheln malen. Gibt das wirklich einen so merkbaren Unterschied in der Performance? Gerade wenn man dann den Kartenausschnitt verschiebt muss ja sozusagen bei jedem Pixel schieben alles neu gezeichnet werden - inkl. aller Markierungen.

DirectX - was sagt ihr dazu?

Oder gibt es gar offensichtlichere Lösungen, die ich übersehe/denke?

Gruß

Merlin

05.10.2010 - 21:10 Uhr

Dort finde ich nichts dergleichen. Wie gesagt, kann auch an Stichwortmangel liegen...

Kennt sich jmd. anders damit aus?

Merlin

05.10.2010 - 20:26 Uhr

Kannst du mir da ein Produkt empfehlen? Ich finde so etwas nicht, und wenn, dann unbezahlbar... Kann aber auch an meinem Kreativitätsmangel bzgl. der Stichworte liegen.

05.10.2010 - 20:00 Uhr

Hallo liebe Leute,
Ich besitze einen Funkscanner, um Funksignale zu empfangen und mithören zu können. (Bitte keine belehrung bzgl. des TMG, ich bin mir dessen bewusst und höre hauptsächlich amateurfunk mit)
Nun ist es so, dass das bisweilen sehr rauscht. Das stört irgendwie, ich möchte es also entfernen. Nun die Frage: Gibt es ein tool, was mir auf irgendeine Weise den Audio-Eingang liest, entrauscht, und mit möglichst weniger verzögerung entrauscht auf die Boxen ausgibt?

Ich erwarte natürlich keine Wunder, aber ein wenig Verbesserung könnte schon drin sein.

Dank im Vorraus,
Merlin

08.04.2010 - 22:46 Uhr

Hallo liebe Community,
Ich stehe vor folgendem Problem:
Ich möchte eine Datei über einen Stream zu einem anderen Computer schicken. so weit, so gut. Ich habe vor zunächst ein Serialisiertes Objekt durch den Stream zu schicken (Die ganze Kommunikation läuft per Serialisierten Objekten), welches Dateinamen und -Größe enthält, und dann die Datei selbst, welche der größe entsprechend ausgelesen wird.
Nun möchte ich sowohl auf Sender- als auch auf Empfängerseite die Geschwindigkeit anzeigen lassen, mit der die Datei geschickt wird. (Es handelt sich mitunter um mehrere MB große Bilder) Auf Empfängerseite ist das kein problem, ich kann beim Empfangen einfach hochzählen. Auf Senderseite allerdings finde ich keine wirkliche möglichkeit.
Kann ich z.B. auf die Schreib-Buffergröße des NetworkStreams zugreifen, und dann eben schauen, wie schnell der Buffer kleiner wird? Oder irgendwo anders schauen, wieviele Daten schon durch das Netzwerk gegangen sind? Oder muss ich dazu alle X bytes eine Bestätigung vom Server schicken, und dann schauen wie lange er für diese Datenmenge gebraucht hat, und dementsprechend hochrechnen?

Ich hoffe, ich konnte meine Problematik einigermaßen beschreiben.
mit bestem Dank im Vorraus
Merlin

28.08.2009 - 17:56 Uhr

Vielleicht zur ergänzung ein wenig Code:
So schicke ich das Objekt:

public bool Send(ISOData data)
        {
            BinaryFormatter formatter = new BinaryFormatter();
            try
            {
                formatter.Serialize(Stream, data);
            }
            catch (Exception)
            {
                return false;
            }
            Stream.Flush();
            return true;
        }

Und so empfange ich:


            while (!_netstream.DataAvailable)
                Thread.Sleep(20);

            ISOData data = (ISOData) formatter.Deserialize(_netstream);
            

So sieht die Klasse aus, die ich sende:

public class PlayerDataCollection : CollectionBase, ISOData
    {
        public void Add(PlayerData data)
        {
            List.Add(data);
        }
        
        public SODataType Type
        {
            get { return SODataType.DataCollection; }
        }

        public bool DeleteByID(int ID)
        {
            foreach (PlayerData entry in List)
            {
                if(entry.ID == ID)
                {
                    List.Remove(entry);
                    return true;
                }
            }

            return false;
        }

        public bool IDExists(int id)
        {
            foreach (PlayerData entry in List)
            {
                if(entry.ID == id)
                    return true;
            }

            return false;
        }
    }

Vielleicht hilft das ja... Ich bin echt am Verzweifeln.

Merlin

Update: Fehler gefunden. Man muss die Klasse mit [Serializable] kennzeichnen. So wie ich es bei allen anderen auch getan habe...

28.08.2009 - 12:47 Uhr

Vielen Dank für die Antwort,
Leider ist das Problem anders gelagert: Er scheint ja etwas zu Serialisieren. (Benutze den BinaryFormatter) Ich Serialisiere direkt in einem NetworkStream herein. Auf der Gegenseite warte ich nun auf Daten im Stream und Deserialisiere direkt aus dem Stream heraus. Nun ist das Problem: Er bleibt bei der Zeile mit .Deserialize einfach stehen und tut nichts. Gibt nicht einmal null zurück oder so etwas, und wirft keine Exception. Sobald ich aber noch ein Objekt hinterherschiebe meckert er wegen kaputten BinaryHeadern, was ja klar ist. Normal habe ich aber darauf geahtet, dass wirklich immer nur ein einziges Objekt im Stream steht.
Dazu sei gesagt, dass die Vorgehensweise bei gut 10 anderen Klassen schlicht und ergreifend funktioniert, daher vermute ich, adsss es an der Collection liegt.

lg
Merlin

27.08.2009 - 18:34 Uhr

Hallo,
Frage: Ist es möglich, eine Collection zu serialisieren, und wenn ja: wie?
Ich schreibe derzeit ein Programm, welches per Serialisierung Objekte hin- und herschickt. Nun funktioniert das auch wunderbar, ausser bei der Collection...
Andere Sachen wie Remoting oder XML-Serialisierung kann ich leider nicht nutzen, da mir das mit der Serialisierung vorgegeben wurde.
Falles es unmöglich sein sollte, gibt es andere Lösungen?

lg
Merlin

23.07.2009 - 08:26 Uhr

Schau dir mal diesen Post auf informatik-forum.at an, dort ist ein Mathematischer Lösungsansatz beschrieben.
Das gilt allerdings nur für geraden.... Ob sich 2 gebogenen Linien treffen... Puh da bin ich überfragt... tut mir leid 😃 Im zweifelsfalle noch das Bild auslesen, ob die 2 Linien aneinandergrenzen, wobei das overkill wäre.

23.07.2009 - 06:33 Uhr

jaensen, Vielen, Vielen Dank!!
Genau das hat mir gefehlt 😃 Super! Ich war immer irgendwie zu faul....
Als HTML-Parser nutze ich persönlich lieber den MIL HTML Parser, aber ich denke das ist Geschmacks- bzw. Nutzensache! Aber der Vollständigkeit halber erwähne ich ihn mal.

23.05.2009 - 03:12 Uhr

Entgegen meiner bisherigen Linie habe ich mich aus gegebenem Anlass mal an etwas ernsthafteres gesetzt, siehe hier.

Merlin

PS.: Ich habe es diesmal nicht um 3 Uhr früh verfasst, nur veröffentlicht, weil keine Zeit den Tag über.

12.05.2009 - 15:40 Uhr

Mit dem Rad bin ich schneller als mit dem Moped, von daher...!
Und wer braucht schon ein Auto, wenn es keine großen Straßen in der Stadt gibt?

12.05.2009 - 15:30 Uhr

Vokaler Songwriter - sehr gut! 😃
Hey, ich habe nichtmal ein Moped, ich fahre Fahrrad, das ganze Jahr, bei Wind und Wetter, wir haben nicht einmal ein Auto, das setzte damals schon Moss an wegen Nichtbenutzung! 😄

12.05.2009 - 15:29 Uhr

Wenn das so rüberkommt tut es mir Leid, ich finde es nämlich hauptsächlich belustigend. Mich halten die Leute noch wegen anderen Dingen für viel spinniger, wo ich es deutlich schlimmer finde. Das ich es erwähnt hatte war nur zur Vollständigkeit. Eigentlich frage ich nur aus reinem Interesse.

Merlin

12.05.2009 - 15:16 Uhr

Peter Bucher: Wieso so wichtig? Ich fragte aus reinem Interesse 😃 Hätte ja sein können, dass es nur bei mir in der Klasse so ist, oder nur an der Schule, aber 10km weiter jeder schon nen Band rausgebracht hat (Okay, übertrieben).

Merlin

12.05.2009 - 14:59 Uhr

Ich erwähnte nie, dass es mich störe! Mich hat lediglich interessiert, ob es eben "out" ist.

Merlin

12.05.2009 - 14:37 Uhr

Hallo Jürgen Gutsch,
Klar, so gesehen ist ja fast alles Lyrik bzw. Dichten, ich bezog mich jedoch auf das Schreiben vorzutragender Gedichte, und das scheint nur eine Minderheit zu betreiben.

Merlin

[edit]
malignate: Bei letzterem Gedicht, das mit dem Immunsystem, ist mir an 2 Stellen klar, dass das Versmaß überarbeitet gehört, aber mir viel im Zeitpunkt des Schreibens keine bessere Möglichkeit ein, und ein wenig individualismus ist ja erlaubt 😛
Aber schön wenn sie dir sonst gefallen!
[/edit]

11.05.2009 - 22:18 Uhr

Ich habe das Blöggchen mal erweitert.... Fotografieren scheint nicht ganz so "out" zu sein 😃 Macht aber riesig Spass!

Merlin

11.05.2009 - 15:35 Uhr

Hallo JuyJuka,
Das war kein Zitat von mir, sondern von einem Nachbarn vor einigen Jahren, als er Lyrik in der Schule hatte...:)

Merlin

11.05.2009 - 15:32 Uhr

"Rap ist keine Lyrik, Rap ist cool."

Merlin

11.05.2009 - 15:08 Uhr

JAck30lena: Das liegt wohl daran, dass die meisten so Spätabends oder nachts entstehen... Aber wie gesagt... Irgendwann demnächst kommt etwas ernsthaftes hinterher!

Und nunja... Gymnasium 10. Klasse... Manche lesen Gedichte, finden das Schreiben selbiger aber total unmöglich...

Merlin

11.05.2009 - 15:05 Uhr

Mmm dann ist es wohl out. Schade eigentlich!
Und die Gedichte von blutiger_anfänger sind sehr gut, danke! 😃 So etwas will ich auch mal können 😛

Merlin

11.05.2009 - 14:12 Uhr

Turas: Gern? Nö, aber es schleift sich ein 😃 Im Nachhinein denke ich mir auch, ob ich nicht unter starkem Alkoholeinfluss stand, aber nunja...

Programmierhans: Ja, ich verspreche, es wird ernster... 😃

Merlin

11.05.2009 - 13:52 Uhr

Hallo zusammen,
Nun, ich habe vor kurzem das "dichten" für mich entdeckt. Bisher ist nicht viel dabei rum gekommen, ausser ein paar spaßigen sachen, aber ich habe schon Ideen für etwas mit tieferem Sinn. Nun, bei den Themen, über die ich dichte, da kann man sicherlich denken, ich hätte einen Knall (Wer sagt eigentlich, dass ich keinen habe?!). Aber auch, wenn ich nur erwähne "Ich dichte", kommt schon meist ein "spinnst du?" entgegen. Nun Frage: Ist es wirklich so ungewöhnlich? Mir macht es einfach riesig Spass...!

Wen interessiert, was ich so verzapfe: Siehe hier

Merlin

10.05.2009 - 15:47 Uhr

Das könnte vielleicht helfen!
C#: Methode mit Parameter via ThreadStart aufrufen

lg
Merlin

14.04.2009 - 18:49 Uhr

Hallo zusammen,
Hand aufs Herz: Hätte ich nicht das Wort "Chat-Bot" erwähnt, hätte ich dann mehr Rückmeldung bekommen?
Aber gut, ich habs jetzt anders gelöst. ob schön oder nicht.

lg
Merlin

13.04.2009 - 18:33 Uhr

Hallo,
Ein Verweis auf [Hinweis] Wie poste ich richtig? Punkt 4.

Aber: Normale Streamingserver (Shoutcast) senden ja MP3-Daten. Diese kannst du auslesen wie eine MP3-Datei und ebenso abspielen. Ansonsten hilft dir Bass.Net bestimmt auch, kenne mich damit nicht ganz so aus.

Merlin

12.04.2009 - 08:57 Uhr

Hallo herbivore,
Natürlich sind Chatbots ein sensibles Thema, jedoch kommt meiner (Codename "EgoBot") lediglich auf einem einzigen Server zum Einsatz, und dieser Jabber-Server steht nicht einmal im Netzwerk mit anderen Jabber-Server, ausserdem bentze nur ich ihn, und ich programmiere ihn hauptsächlich aus Langeweile (Ferien&Alle Freunde im Urlaub...) und zu Lernzwecken. Demzufolge kommt er auch nur auf meinem Rechner daheim zum Einsatz, und ich plane derzeit nicht, dass irgendwann einmal komplett zu veröffentlichen. Und einmal ganz abgesehen davon finde ich, sollte man sich auch nicht übersensibilisieren, schließlich sind wir hier in einem Programmier-Forum, nicht in einem wo ständig darüber gesprochen wird, wie wir jetzt am besten irgendwelche Server zum absturz bringen, oder?

Merlin

12.04.2009 - 00:47 Uhr

Trompete. Meine Karriere ist ungefähr folgendermaßen:
Angefangen - Super gelaufen - In ein Schülerorchester - Faul geworden - Beim lehrer rausgeflogen - 2 Jahre Pause - Wieder beim selben Lehrer angefangen
Bin mittlerweile echt motiviert bei der Sache und werde stetig besser, anders als viele andere habe ich (noch) viel Zeit, Schüler 10. Klasse, ich denke aber mit der Oberstufe wirds wneiger Zeit.
Zum Komponieren: Derzeit Befinde ich mich in einem Musik-Projekt zusammen mit einem Pianisten, wir komponieren Jazz. Und da Trompete-Piano nicht ganz so verbreitet ist arbeiten wir fast unseren eigenen Stil aus 😛

Merlin

12.04.2009 - 00:24 Uhr

Hallo liebe Gemeinde (und frohe Ostern!),
Ich stehe derzeit vor einer größeren theoretischen Frage, doch zunächst ein wenig Vorgeschichte:
Ich arbeite derzeit an einem Bot für XMPP, das Jabber-Protokoll, und benutze dafür eine fertitge Library für das Verbinden, Senden, Empfangen etc. Daherum habe ich mir eine eigene Klasse gebastelt, die eben auf meinen Bot perfekt zugeschnitten ist. Das funktioniert nun auch alles wunderbar. Jetzt komme ich aber in die Phase, in der ich dem Bot beibringen möchte, mit den Benutzern in einem Chatraum umzugehen. Dort stellt sich nun aber ein großes Problem: Die Library, die ich verwende, ist wohl mehr auf Fenster-Anwendungen als auf Konsolenapplikationen zugeschnitten. Leider habe ich dies viel, viel, viel zu spät realisiert, obwohl ich es schon beim schreiben der eigenen Klasse hätte merken sollen. Das ganze arbeitet nämlich sehr stark, sprich fast nur, mit asynchronen Events. Bis jetzt habe ich das immer mehr oder weniger geschickt umgangen, aber es funktioniert immerhin. Doch nun das wirkliche Problem:
Wenn ich eine Anfrage sende, er möge mir bitte die aktuell sich im Chatraum befindenden Benutzer auflisten, dann tut er folgendes:1.Er sendet mir ein OnRosterStart(); - "Roster" ist einfach das Wort für "Kontaktliste" bei XMPP 1.Er sendet mir für JEDEN einzeilnen Benutzer ein OnRosterItem(); 1.Er sendet mir ein OnRosterEnd(); Sobald er fertig ist.

Mit "Er" meine ich stets meine XMPP-Lib.

Nun, das mag für Windows Forms unglaublich toll sein, so kann man in jedem Eventaufruf z.B. ein Element in eine ListView hinzufügen (Oder weiß der Geier was...), Aber für Konsolenanwendungen ist das denkbar ungünstig, denn man bekommt eine Liste in ganz vielen, kleinen Stückchen, kann also nicht auf Anhieb eine komplette Liste bereitstellen, sondern muss erst warten, und durch Verbindungsprobleme etc. kann das natürlich zu größeren Fehlern führen, als wenn einfach die ganze Verbindung blockiert.
Noch konkreter liegt mein Problem dabei, dass ich meine Plugins (Ja, ich habe ein funktionierendes Plugin-System hinbekommen, welches sogar die Plugins ohne (echte) Events an den Host senden lässt 😃 ) mit einer Benutzerliste bedienen möchte. Ich habe mir folgende Lösungsansätze bisher ausgedacht:1. Ich lasse die Plugins eine Anfrage schicken, lasse daraufhin den Host alle Events abfangen und eine Benutzerliste zusammenstellen, schicke diese dann an alle Plugins, egal welches die Liste beantragt hat. Für die Restlichen Events (Betreten, Verlassen etc.) kriegen dann alle Plugins sowieso ein Event, welches aufgerufen wird, es geht mir hauptsächlich um das "erste mal".

  1. Ich lasse die Plugins alle Events selber handlen, also auch das zusammenstellen der Liste und das Behandeln von Presences, die beim Betreten und Verlassen aufkommen.

Ersteres hat den Vorteil, dass alle die selben Daten hat, letzteres, dass die Plugins selbst entscheiden können, wie sie was machen und keine unnötigen Daten speichern.

Nun die Frage: Welche Lösung würdet ihr wählen, wie würdet ihr sie in der Theorie realisieren (Kein Code, ich möchte alles selbst machen 😃 ), oder habt ihr gar bessere Vorschläge? Ich bin über jede Hilfe sehr dankbar!

In diesem Sinne,
Frohe Ostern,
Dank im Vorraus,
euer Merlin

PS.: Entschuldigt bitte die Rechtschreibfehler in Hinsicht auf die Zeit.

PPS.: Mal ganz ehrlich: Rede ich in meinen Threads immer zu lange um den heißen Brei herum? Ich schreibe immer so viel obwohl man mein Problem bestimmt knackiger beschreiben könnte...

10.04.2009 - 20:13 Uhr

Hallo m0rius,

Das "Problem" tritt ja auch in einem von 6 Fällen natürlicherweise auf 😉.

Das tritt aber überdurchschnittlich häufig auf.. Wenn man von 1/6 ausgeht 😉 Habe keine genaue Statistik geführt, aber es war verdächtig oft!

09.04.2009 - 19:50 Uhr

Nett, Nett 😃
Das Problem, dass mir beim erneuten Würfeln die selbe Zahl wieder erscheint, habe ich auch ab und zu.
Ansonsten: Klasse Arbeit, und dass ich in 5 Spielen noch keinen einzigen Kniffel hatte liegt wohl eher an meinem nicht vorhandenem Glück als an dir 😛

Merlin

07.04.2009 - 17:40 Uhr

Der von gX|progs genannte Wrapper ist der einzige gute... Habe mich vor einiger Zeit selbst mal durch die ganzen Wrapper gearbeitet und bin bei dem hängen geblieben.
Allerdings solltest du dich vorher gut (!) durch die Sample-Anwendung arbeiten und die funktionsweise wirklich verstehen, sonst hast du verloren : -)
Im zweifelsfalle kann ich dir auch ein Projekt schicken, in dem ich den wrapper verwende, da ist allerdings noch eine Menge quark drum herum, melde dich bei Bedarf einfach per PN.

Schönen, sonnigen Dienstag Abend noch,
Merlin

28.03.2009 - 13:07 Uhr

Gut, dann bedanke ich mich viemals bei dir, herbivore, dass du mir die Augen geöffnet hast!

War ja noch früh, vielleicht hatte ich sie einfach noch nicht ganz auf...

Merlin

28.03.2009 - 12:52 Uhr

Hallo herbivore,
Na, da habe ich den Wald vor lauter Bäumen nicht gesehen! In meinem Progrämmchen kommen schon geschätzte 20 Events zum Einsatz... Und ich suche mir einen ab! Dabei ist es im Grunde doch so einfach...
Das heißt also, ich müsste in meinem Interface alle möglichen Events vorgeben, egal ob ich sie brauche oder nicht, richtig?

Merlin

28.03.2009 - 12:16 Uhr

Guten Morgen, Community!
Ich sitze derzeit vor einem Problem, was ich persönlich nur schwer erklären kann... Aber ich versuche es einfach mal:
Und zwar schreibe ich derzeit einen Bot für Jabber bzw. XMPP mithilfe des agsXMPP (Keine Ahnung, ob euch das ein Begriff ist), und das Funktioniert auch soweit.
Nun ist es so, dass ich das, was der Bot können soll, nicht alles Hardcoden möchte, sprich die Befehle fest verankern möchte. Da ich mich vor längerer Zeit schon einmal an einer eigenen Scriptsprache gescheitert war, dachte ich mir, lerne ich doch mal, wie man das mit Plugins macht.
Ich bemühte also die Forensuche und Google und was nicht alles, bekam auch raus wie das funktioniert. (Ob verstanden, das sei dahin gestellt)
Nun ist aber meine Frage: Wenn ich möchte, dass Plugin A auf den Host zugreifen kann, zum beispiel Möchte ich dem Bot sagen, er möge sich ausschalten. Nun schreibt jemand ".quit" (Vorzugsweise ich...), das dazugehörige Plugin merkt "Oh, er möchte den Bot ausschalten!" und sagt dem Bot "Shutdown()"...
Ich habe bis jetzt nur theorie, wie man den Bot etwas zum Plugin "sagen" lassen kann, und einige handschriftliche aufzeichnungen... Aber an DEM Problem hängeich schon in der Theorie! Wie kann ich von einem Plugin eine Methode auf dem haupt-Programm ausführen? Habe dazu nichts gefunden...

Ich hoffe ihr könnt mir helfen und bedanke mich schon einmal im Voraus,

Merlin