Suchergebnisse

Suchergebnisse 1-30 von insgesamt 901.

SSL ist deaktiviert! Aktivieren Sie SSL für diese Sitzung, um eine sichere Verbindung herzustellen.

  • Benutzer-Avatarbild

    @RodFromGermany Habe das gerade mal mit folgendem C#-Code getestet (hatte das gerade offen, deswegen hab' ich das schnell dort eingefügt C#-Quellcode (25 Zeilen) Und die Liste war leer. Mache ich etwas falsch oder verwechselst du Delegate.BeginInvoke bzw. .Invoke und Control.BeginInvoke bzw. .Invoke? Ich hätte gedacht, dass die Methoden in der Reihenfolge ausgeführt werden, in der sie das Steuerelement in die Nachrichtenschlange aufnimmt, habe das aber nie überprüft und weiß nicht mehr, ob bzw. …

  • Benutzer-Avatarbild

    Hi ich glaub', dass der Begriff der Nebenläufigkeit doch noch nicht so richtig verstanden wurde. Zu Delegates beschreib' ich auch noch kurz was, dann. Das, was innerhalb eines Threads ausgeführt wird (die Methode, die im Konstruktor des Threads angegeben wurde), wird parallel zu dem Thread ausgeführt, der den Thread erzeugt hat. D.h. Threads sind unabhängig von UI oder sonst was, es bedeutet nur, dass Dinge parallel ausgeführt werden. Windows Forms haben einen Mechanismus implementiert, der dara…

  • Benutzer-Avatarbild

    Hi in der Regel haben solche Ausnahmen eine gesetzte InnerException. Was steht denn darin? Viele Grüße ~blaze~

  • Benutzer-Avatarbild

    Ich hätte es etwas anders gemacht: IEnumerator auf das aktuell untersuchte Token und dann einfach jedes nacheinander abarbeiten. Wenn unerwartet, dann überspringen und einen Syntaxfehler ausgeben, sonst entsprechend dem Tokentyp eine parsende Methode aufrufen (z.B. bei Token-Typ LESS würde ReadTag aufgerufen, das alles bis zum Abschluss des Tags verarbeitet. Du kannst ja dann für jeden Fall eigene Methoden definieren, die sich untereinander aufrufen. Das würde ich für Attribute sogar noch stärke…

  • Benutzer-Avatarbild

    Ich würde sogar die Art des Tokens vorher bestimmen und das Enum direkt im Konstruktor mit angeben. Du musstest die Art der Zeichen ja sowieso schon mal bestimmen. Es ist auch eine Überlegung wert, < und > zu unterscheiden. Attribute erhöhen die Komplexität btw. nochmal um einiges. Und es gibt ja noch so Sachen, wie CDATA, wenn ich mich nicht irre. consumeChar würde ich außerdem als char definieren. Es ist sonst äußerst ineffizient und schwieriger, Vergleiche, usw. darauf auszuführen. Für das Kl…

  • Benutzer-Avatarbild

    Sowas hatte ich bereits vermutet. Das SyncLock GetType(T) hätte man auf jeden Fall ersetzen müssen. Baz += 1 müsstest du übrigens durch Interlocked.Increment(Baz) ersetzen, da es sonst nicht threadsicher ist. Auch für Static. Ich denke, dass es nicht auf die Frage des Warums ankommt. Es ist einfach so, auch wenn es keinen Sinn macht. Viele Grüße ~blaze~

  • Benutzer-Avatarbild

    Im Prinzip handelt es sich immer nur um ein Singleton. Es muss ja trotzdem eine Abfrage drin sein, ob der Wert bereits einmal gesetzt wurde. VB.NET-Quellcode (13 Zeilen) wäre eine Möglichkeit, denke ich. Das SyncLock GetType(X) ist allerdings hässlich (ich habe mir den IL-Code zu Static bisher nicht angeschaut und bin gerade zu faul). Da müsste man wohl noch ein Objekt einführen oder besser einen anderen Mechanismus benutzen, z.B. könnte man es mit einem spin lock auf BazSet versuchen: VB.NET-Qu…

  • Benutzer-Avatarbild

    Zitat von Facebamm: „wäre mein Antwort und dann macht es kein Sinn etwas Static zu machen, weil es so oder so nur ein Kopie ist?“ In diesem Fall nicht, da es nur auf Instanzen von Strukturen zutrifft, nicht auf die statischen Elemente. Das von RodFromGermany sollte ein Äquivalent darstellen. Static wird auch nur zu einem Variablennamen aufgelöst. Der Vorteil ist, dass es nur im Scope der Methode vorhanden scheint. Viele Grüße ~blaze~

  • Benutzer-Avatarbild

    Algorithmen zum Konvertieren der Token in den Syntaxbaum meinte ich. Setze dich einfach mal ran, das ist nicht so schwer, wie die Erklärung lang. Für den Anfang tut's auch ein nicht-optimaler Algorithmus. Viele Grüße ~blaze~

  • Benutzer-Avatarbild

    Hi ich würde da eher so ansetzen, dass ich als erstes den Text zu einem "token stream" umforme. D.h. ich würde jedes Zeichen durchgehen und seine Art bestimmen (z.B. Zahlen, Bezeichner, usw.), sodass du bspw. <!DOCTYPE html><html> usw. zu bspw. <, !, DOCTYPE, html, >, <, html, > zerlegen kannst. Diese Token würde ich in einer Liste speichern (als Struktur), die jeweils Startposition und Endposition des Zeichens enthält und ggf. noch den Hashwert, Äquivalenzvergleiche und zusätzlich noch eine Fun…

  • Benutzer-Avatarbild

    Shared zugriffe

    ~blaze~ - - Sonstige Problemstellungen

    Beitrag

    Ich frag' mich wirklich, wofür ich mir die Mühe überhaupt mache. Willst du denn etwas lernen oder willst du nur das Gefühl haben, dass du Erfolg bei etwas hattest? Viele Grüße ~blaze~

  • Benutzer-Avatarbild

    Shared zugriffe

    ~blaze~ - - Sonstige Problemstellungen

    Beitrag

    Hi nutze nicht das ListView als Datenspeicher, sondern eine Liste - z.B. System.ComponentModel.BindingList(Of T) - und reagiere auf Änderungen in der Liste. Die vorgeschlagene BindingList stellt hierfür ein Ereignis bereit, das bei einer Änderung auftritt. Steuerelemente werden nur dazu benutzt, Daten anzuzeigen. Ein Modell, das in Windows Forms genutzt wird, ist die Datenbindung. Steuerelemente, wie ListBox, DataGridView oder ComboBox verfügen über die Möglichkeit, direkt Listen anzuzeigen und …

  • Benutzer-Avatarbild

    Das ist ja das, was ich gemeint hab'. Der Schwellwert gibt die maximale Distanz zweier Nachbarn an. Übrigens: Obiges kann man noch vereinfachen, indem man abschließend die Nachbarn der Zusammenhangskomponente in Steigungen gruppiert und diese vereinfacht, sofern ein gewisser Winkel (bzw. Cosinus, d.h. Skalarprodukt, da wesentlich effizienter) nicht überschritten wird. Viele Grüße ~blaze~

  • Benutzer-Avatarbild

    Hi meine Idee zu einer Lösung wäre, rekursiv: - Beginne mit der Menge der Punkte, wobei jeder Punkt als eigenständige Zusammenhangskomponente (Eine Zusammenhangskomponente ist ein zusammenhängender Teilgraph, wobei ein Teilgraph ein "Graph in einem Graphen" ist, d.h. quasi eine Art Unterteilung) betrachtet wird - Verbinde immer zwei benachbarte Zusammenhangskomponenten (d.h. Komponenten mit geringstem minimalen Abstand), sofern der Abstand unterhalb eines Schwellwerts liegt, bis keine solche Ver…

  • Benutzer-Avatarbild

    Hi schau' dir mal System.Xml.XmlDocument an. Viele Grüße ~blaze~

  • Benutzer-Avatarbild

    Hi normal würde man sowas über ein HashSet machen, das gibt es aber in VBA afaik nicht. Habe im Internet zumindest nichts dazu gefunden. Mein Ansatz sähe daher wie folgt aus: - Deklariere einen Index j, der den Index angibt, an den Elemente kopiert werden sollen, nachdem doppelt vorkommende Elemente eliminiert wurden - Deklariere und instanziiere ein Dictionary, in dem du im späteren Schritt jeweils "Switzerland AG", "Toi SE", usw. ablegen wirst - das Dictionary ist hier der HashSet-Ersatz - Geh…

  • Benutzer-Avatarbild

    Threadsafe GUI Update

    ~blaze~ - - Sonstige Problemstellungen

    Beitrag

    Zugunsten der Architektur würde ich empfehlen, dass du eine Möglichkeit bietest, die bin deinem Tcp-Client empfangenen Daten abzufangen und zwar nicht über das Invoke-Zeug, das du gepostet hast, sondern ohne das. Wenn du bspw. ein Ereignis erstellst, in dem alle empfangenen Nachrichten nach außen weitergeleitet werden, kann das Handling jeder Abonnent für sich durchführen. Das ist wesentlich eleganter, als es vorher für alle Fälle zu verlangen. Viele Grüße ~blaze~

  • Benutzer-Avatarbild

    Hi beachte, dass RodFromGermanys Code nicht funktioniert, sofern sich die Intervalle überlappen können. Es wäre btw. fortgeschrittener, aber ggf. sinnvoll, eine nach Zeitpunkt sortierte Liste mit den ausstehenden Tasks System.Threading.AutoResetEvent zu verwenden auf dem ein Thread bis zum gewünschten Ausführungszeitpunkt des nächsten Tasks wartet (WaitOne). Sobald sich das nächste auszuführende Elemnent (d.h. das erste) ändert, würdest du dann die Set-Methode des AutoResetEvents aufrufen. Wird …

  • Benutzer-Avatarbild

    Threadsafe GUI Update

    ~blaze~ - - Sonstige Problemstellungen

    Beitrag

    Im Prinzip funktioniert Async-Await immer gleich. Schau' dir vielleicht mal diesen Link an, falls dir das nicht geläufig ist: stackoverflow.com/questions/14…en-to-use-async-and-await Deine asynchrone Methode gibt halt dann EndInvoke zurück. Halte ich aber an dieser Stelle wirklich für unnötig. Es wird ein Thread vom Threadpool verwendet, um die Sachen auszuführen. Ist zwar an sich eine an manchen Stellen brauchbare Verzahnung der Aufgaben, aber in den meisten Fällen, würde ich meinen, unnötig un…

  • Benutzer-Avatarbild

    Hi ich halte Brainfuck für keine gute Einsteigersprache. Es ist keine Hochsprache und die Entwicklung darin ist im Zeit-Nutzen-Verhältnis in den meisten Fällen eher nicht rechtzufertigen. Meine Empfehlung wäre tatsächlich ebenfalls C#. Wenn du C# kannst, kannst du auch Java nach kurzer Zeit, umgekehrt ist es nicht ganz so einfach, da die Sprachfeatures von C# bzgl. Java tendentiell eher nicht. Zudem bist du syntaktisch schon mal halbwegs nah an C++ dran. Neben der gewählten ersten Sprache, wäre …

  • Benutzer-Avatarbild

    Threadsafe GUI Update

    ~blaze~ - - Sonstige Problemstellungen

    Beitrag

    Ich würde das dann aber eher async und Task in Betracht ziehen, als ein umständliches Konstrukt. Viele Grüße ~blaze~

  • Benutzer-Avatarbild

    Threadsafe GUI Update

    ~blaze~ - - Sonstige Problemstellungen

    Beitrag

    Hi ich kenne die Schreibweise mit fehlendem zweiten Parameter nicht, würde aber vermuten, dass du zusätzlich zu (Of t) (bzw. Of T) noch TResult angeben musst: (Of T, TResult). Oder besser noch T zu was sinnvollem erweitern, z.B. TParam. Was genau das BeginInvoke und EndInvoke gegenüber Invoke bringen soll, ist mir ein wenig ein Rätsel. Viele Grüße ~blaze~

  • Benutzer-Avatarbild

    Hi Nochmal: Solche Themen sind hier unerwünscht. Thema geschlossen Viele Grüße ~blaze~

  • Benutzer-Avatarbild

    Hi der Code von Quadsoft sollte eigentlich nicht kompilieren. Hast du Option Strict auf On? Zwei Punkte: Value ist vom Typ Integer, weshalb auch Value >> x und Value And 0xFF integer sind. Rechts-Shift bei Integer bedeutet für negative Zahlen, dass sie mit dem Vorzeichen-Bit aufgefüllt werden - also mit dem Bit an der höchsten Stelle. Das heißt, dass ein Überlauf auftreten sollte. Übrigens lässt sich das vermeiden, indem man auf UInteger zurückgreift. Das wird nicht arithmetisch, sondern logisch…

  • Benutzer-Avatarbild

    Ich hab' jetzt keine Quelle zur Vefügung, die das genauer beschreibt. Es handelt sich beim WebBrowser-Steuerelement wohl um eine alte Version des Internet Explorers, die eben in dieses Steuerelement gepackt wurde - und mit alt meine ich sehr alt ;). Die beste Möglichkeit, das zu ersetzen, wäre, einen der gängigen Browser als Programmbibliothek hinzuzufügen, das habe ich aber selbst noch nicht gemacht. Ich weiß nicht, ob Edge eine solche Programmbibliothek bereitstellt, aber es ist ggf. nicht die…

  • Benutzer-Avatarbild

    Hi Vorsicht: Auch wenn das mit TextBox1_Enter1 ohne Parameter in VB klappt, ist es unsauber, ebenso bei TextBox1_MouseUp. Beide sind prinzipiell ähnlich geformt, wie TextBox1_Leave (d.h. sie haben eine ähnliche Signatur). Beide besitzen einen Paramter sender, der das Objekt angibt, von dem aus das Ereignis (Handles <Objekt>.<Ereignis>) ausgelöst wurde sowie eine von System.EventArgs erbende Klasse, die weitere Informationen über das aufgetretene Ereignis angibt. Im Falle von TextBox1.MouseUp wär…

  • Benutzer-Avatarbild

    Hi die Zahl der Integer-Operationen wird zusätzlich zur Zahl der Sprünge halbiert, sollte schon etwas rauskommen, bei. Ist aber ggf. eher insignifikant wenig im Vergleich zur restlichen Rendering-Effizienz. In der Regel liegt es nicht an der Kopieroperation, wenn etwas absolut nicht läuft. Edit: Ergänzt. Viele Grüße ~blaze~

  • Benutzer-Avatarbild

    Alles klar, hab's mal verschoben. Die Vorgehensweise ist die folgende: 1. Füge eine ListBox hinzu 2. Stelle die Eigenschaft der ListBox DrawMode auf OwnerDrawVariable 3. Abonniere die Ereignisse DrawItem und MeasureItem 4. Führe entsprechende Schritte für DrawItem (zeichne dort das Element, d.h. das Bild, die Schriftzüge, etc.) und MeasureItem (um die Größe eines zu zeichnenden Elements zu bestimmen) aus Schritt 4 arbeitet vor allem auf den durch den Parameter e bereitgestellten Eigenschaften. E…

  • Benutzer-Avatarbild

    Es wäre schön, wenn du sagen könnte, ob es WPF oder Windows Forms ist, dann könnte ich es verschieben. Feststellen kannst du das bspw. anhand der Dateien in deinem Projekt. Hast du .xaml-Dateien? Bzw. erbt dein Fenster von (System.Windows.Forms.)Form? Der Aufwand, wenn du ein DataGridView verwendest, ist für Windows Forms erheblich höher. Viele Grüße ~blaze~

  • Benutzer-Avatarbild

    Hi handelt es sich um eine WPF oder Windows Forms-Anwendung? RodFromGermanys Lösung ist vielleicht etwas unelegant. In WPF würde man auf ItemTemplate zurückgreifen und dort das Aussehen der einzelnen Elemente bestimmen, für Windows Forms Anwendungen würde man das Zeichnen selbst übernehmen, indem die Eigenschaft DrawMode auf OwnerDrawVariable (und zusätzlich das MeasureItem-Ereignis verarbeitet wird) bzw. OwnerDrawFixed gesetzt wird (was MeasureItem überflüssig macht. Stattdessen wird die ItemHe…