Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Portal
  • |
  • Mitglieder
Beiträge von Floste
Thema: Textfeld mit Formatierung und klickbarem Text
Am im Forum: GUI: Windows-Forms

Hallo,

Ich suche eine einfache Möglichkeit folgendes in einer art Textfeld hinzubekommen:

-Text markierbar und kopierbar aber nicht direkt editierbar
-Einzelne Wörter haben andere Farbe/Formatierung
-Anklickbare Wörter/Links im Text, die C#-Funktionen aufrufen
-Editierbare Textboxen, die im Text eingebettet sind und dynamisch hinzugefügt und entfernt werden können: Man klickt auf ein Wort und die Textbox soll erscheinen und nach der Bearbeitung gibts ne Rückmeldung.

Welches Control bzw welche Technik wäre am einfachsten?

Thema: SpamMails künstlich Bouncen lassen
Am im Forum: Netzwerktechnologien

Zitat
Im Grunde muss der Spammer auf Bounces reagieren. Die großen Mailprovider wie z.B.: GMX sperren den Absender für einige Stunden, wenn zu viele eMails bouncen.

Botnet mit 10k rechnern und so? Da hat eher gmx ein problem beim sperren als die spammer

Thema: Designtime-Support für eigenes ListView: Per Designer nur eigene Columns (MyColumnHeader) hinzufügen
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Schau dir mal den sourcecode von meinem control an:
TreeListView

dort habe ich eigene column-header

[Edit] ich bin mir aber nicht so sicher, ob es wirklich das ist, was du suchst, denn dort leite ich nicht von listview ab.
Den designer selbst festlegen musst du aber so oder so.

Thema: Coding Styles Horror
Am im Forum: Smalltalk

Zitat

public new void Foo()
{
  BaseClass.Foo();
}

Irgendwie kommt mir das bekannt vor:

Code aus der klasse System.Exception aus mscorlib.dll:


public Type GetType()
{
    return base.GetType();
}

Thema: Assembler: Schleifen automatisiert erkennen
Am im Forum: Rund um die Programmierung

Zitat
jump zu einer location die ich schon kenne (also ein Sprung rückwärts)

nope, dass der sprung rückwärts ist, heißt nicht, dass du das ziel schon kennst! Das ziel kann auch vor deinem startpunkt liegen oder bisher mit einem anderen jump übersprungen worden sein. du musst schon wirklich ein dictionary führen. dabei gibt es aber auchnoch zu beachten, dass du den gesamten abgegangenen pfad abspeicherst. wenn ein knoten zwar markiert aber nicht im pfad ist, ist es keine schleife.
Zitat
hast du ein Beispiel für ein If, welches rückwärts springt?
Ich kann mir gerade den Ablauf gar nicht vorstellen...

Naja es gibt compiler (unter anderem der von ms) bei denen der einstiegspunkt in eine methode in der mitte von dieser liegt, um die sprunglänge zu minimieren. dann springt ein if wirklich rückwärts, und auchnoch vor den einstiegspunkt.

Thema: Assembler: Schleifen automatisiert erkennen
Am im Forum: Rund um die Programmierung

Soweit ich das verstehe möchte er aufbauend auf dem disassembler einen decompiler bauen. Wobei das dann mit kleines tool eher nix wird.

Thema: Assembler: Schleifen automatisiert erkennen
Am im Forum: Rund um die Programmierung

Zitat
Genauso wäre nen Vergleich mit Goto denkbar.
Das lässt sich in der tat in keiner weise bestimmen. Es ist aber auch egal in der praxis, da beides richtige übersetzungen sind.
Zitat
Oder Methoden die sich gegenseitig aufrufen.
das erkennt man dann an der call-instruktion anstatt eines jumps

Thema: Assembler: Schleifen automatisiert erkennen
Am im Forum: Rund um die Programmierung

Wenn man von einem knoten (anweisung) über sprünge wieder zu dieser anweisung gelangen kann, dann ist das eine schleife.

Ich würde vorschlagen, mir alle knoten durchzugehen, mir dabei zu merken wo man schon war und wenn man bei einer Instruktion ankommt, wo man schon war und diese im zurückgelegten weg vorhanden ist, dann ist es eine schleife.

Thema: Fortran Compiler: Einbinden der LAPACK Bibliothek
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Rüberkopiert in den selben ordner hast di die dll aber oder?

Thema: Ingame Bildschrim aufzeichnen
Am im Forum: Grafik und Sound

Zitat
wie und wann bekomme ich die Infos von dem Spiel in meine Applikation bzw wie kann ich die dann in eine Bitmap speichern?

Ich gehe mal davon aus, dass du fragst, wie du das bild in den ursprungsprozess zurückbekommst. Ansonsten wäre es die gleiche frage, wie winSharp93 schon erwähnt hat:

Entweder direkt im Hookhandler speichern oder ipc verwenden, aber das wird noch dein geringstes Problem sein...

Thema: Sortierung von List<List<T>>
Am im Forum: Rund um die Programmierung

Zitat
schau dir die Überladungen von List<>.Sort an. Dort gibt es auch welche, wo du die Sortierreihenfolge bestimmen kannst, z.B. durch einen IComaparer<>.
Dann müsster er das Interface selbst implementieren. Eher Comparision<T>:


list.Sort((a,b)=>Compare(a[spaltenNr],b[spaltenNr]))
Compare musst du dir selbst raussuchen, je nachdem.

Thema: Ingame Bildschrim aufzeichnen
Am im Forum: Grafik und Sound

Argh, da hast du dir aber was ausgesucht...

Musst du apihooking nehmen. Ich hatte bereits ähnliche Probleme: [gelöst] Screenshot von opengl-spiel machen?

Thema: C# asynchrone Socketoperationen ... Performant ?
Am im Forum: Netzwerktechnologien

Probier mal folgenden Code. Der ist allerdings etwas tricky.

        private void AsyncStreamCopy(Stream input, Stream output, long length,Action onEnd)
        {
            AsyncCallback readCb = null;
            AsyncCallback writeCb = null;
            Action goOn = null;
            int chuckSize = 0x10000;
            int readStatus=2;
            int writeStatus=1;
            long bytesToRead = length;
            byte[] buffer = null;
            goOn = () =>
                {
                    if (Interlocked.CompareExchange(ref writeStatus, 0, 2) == 2)//um 2 zu erreichen muss writeCb aufgerufen worden sein -> hier kommt nur ein thread zur zeit rein
                    {
                        byte[] data = buffer;
                        if (data.Length == 0)
                        {
                            onEnd();
                            return;
                        }
                        Interlocked.Increment(ref readStatus);//daten genommen -> neue können gelesen werden
                        output.BeginWrite(data, 0, data.Length, writeCb, null);
                    }
                    if (Interlocked.CompareExchange(ref readStatus, 0, 2) == 2)//um 2 zu erreichen muss readCb aufgerufen worden sein -> hier kommt nur ein thread zur zeit rein
                    {
                        byte[] data = new byte[(int)Math.Min(bytesToRead, chuckSize)];
                        bytesToRead -= data.Length;
                        input.BeginRead(data, 0, data.Length, readCb, data);
                    }
                };
            readCb = (ar) =>
                {
                    input.EndRead(ar);
                    buffer = (byte[])ar.AsyncState;
                    Interlocked.Increment(ref writeStatus);//daten vorhanden
                    Interlocked.Increment(ref readStatus);//kein lesen mehr
                    goOn();

                };
            writeCb = (ar) =>
                {
                    output.EndWrite(ar);
                    Interlocked.Increment(ref writeStatus);//kein schreiben mehr
                    goOn();
                };
            goOn();
        }

Thema: C# asynchrone Socketoperationen ... Performant ?
Am im Forum: Netzwerktechnologien

Zitat
Nun hab ich aber gelesen, dass wohl unter Windows diese BeginSend/Begin-Irgendwas Aufrufe wohl effizienter sein sollen, da Windows dies wohl iwie boostet.

Jap, nennt sich Completion Ports
Funktioniert wie folgt: Es gibt einige Threads und diese warten. Wenn ein Event kommt, dann schnappt sich der nächstbeste Thread dieses und arbeitet es ab. Hinterher wartet der Thread wieder. Die Anzahl der Threads lässt sich einstellen.
Zitat
Habe auch gelesen, dass Windows intern aber immer einen Thread fuer jede Operation verwendet. Das hoert sich fuer wiederum vollkommen ineffektiv an.
Hö, wie is das gemeint? Einen neuen für jede Operation oder Einen für alle? Beides habe ich bereits beantwortet: nö
Zitat
Was waere wenn ich 1000 Sockets habe und lese auf allen Sockets asynchron, sprich ich warte, bis da iwas tolles passiert und bediene dann jeweils die Sockets, die REquests schicken. Aber halt nur mit wenigen Threads.
Dann ist Begin... ganz gut. Allerdings wird für jeden Vorgang extra Speicher allokiert. Ich bin mir nicht sicher ob das Waithandle erst erstellt wird, wenn man es braucht oder sofort. Beides mindert jedoch die Performance im Vergleich zu wenn man in C++ direkt mit Completion Ports arbeitet. 1000 hört sich noch machbar ein. Vergiss aber nicht die Anzahl der Completionports hochzusetzen (Methode der Threadpool-Klasse).
Zitat
Wenn nun aber Windows intern immer einen Thread benutzt, waere das ja praktisch das Selbe, wie fuer jeden Socket einen Thread zu benutzen.
Falsch.
Zitat
Falls Windows intern auch nur eine bestimmte Anzahl an Threads benutzt udn alle restlichen asynchrone Anfragen einfach in eine Warteschlange stellt, kann es doch
passieren, dass wenn ich auf 1000 Socket asynchron lese, und bei den Sockets,
die grad in der Warteschlange sind, dann gelesen werden koennte, dies aber nicht
festgestellt werden kann, da quasi die WorkerThreads mit den ersten Sockets beschaeftigt sind, diese allerdings niemals vlt lesbar sind und damit das ganze System
blockiert.
Es wird nicht auf die Sockets nacheinander, sondern auf alle gleichzeitig gewartet. Ähnlich WaitHandle.WaitAny, nur ohne das Maximum 64.

Thema: Per System.Reflection die Methoden/Properties eines dynamisch erzeugten Objekts ansprechen
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Zitat
Mit PropertyInfo / MethodInfo wird's nix, da ich den System.Type der Instanz nicht auswerten kann. Der ist nämlich immer null...

Das kann/darf nicht sein -> Bug im Framework? Den Code möchte ich sehen!

Thema: ein-/ausgehende Netzwerkpakete auslesen und auswerten
Am im Forum: Netzwerktechnologien

http

Fertiges Netzwerkanalyseprogramm (kann auch http mitlesen und speichern): Wireshark
Speziell zum http mitlesen und abspeichern: HTTPSaver (von mir)
Selbst programmieren: sharppcap

Thema: Suche windowsfähiges Tablet (max. 150 €)
Am im Forum: Smalltalk

unter 330€ wirst du kaum etwas finden.

Thema: [gelöst] Alle Form-Objekte/Instanzen einer Anwendung behandeln
Am im Forum: GUI: Windows-Forms

Komisch, ich bin mir 110% sicher, dass man mit dieser funktion auch auf geerbte Felder zugreifen kann! (zumindest in manchen situationen)

[EDIT] Woran ich gedacht habe waren keine wirklich privaten felder

Thema: herbivores 44.444er Beitrag
Am im Forum: Smalltalk

aso, 8o :D

Thema: herbivores 44.444er Beitrag
Am im Forum: Smalltalk

Zitat
Nur keine Sorge, noch ist das für uns keine Bedrohung. :D

Hä, wie jetzt?

Thema: herbivores 44.444er Beitrag
Am im Forum: Smalltalk

Argh!

Was für ein thread!

Thema: [gelöst] Alle Form-Objekte/Instanzen einer Anwendung behandeln
Am im Forum: GUI: Windows-Forms

Zitat
@Floste: Wenn es jetzt noch ein Ereigniss gibt, das ausgelöst wird, wenn eine neue Form erzeugt wird, muss ich mal zum Augenarzt. :) :)

Gibts nicht, lässt sich aber basteln, mit etwas reflection:

Gehen tut das ganz einfach:


class MyArrayList:ArrayList
{
    public MyArrayList(ICollection values):base(values)
    {
    }

    public override int Add(object obj)
    {

        EventFeuern((Form)obj);

        return base.Add(obj);
    }
}

void EventRegistrieren()
{
    MyArrayList newList=new MyArrayList(Application.OpenForms);
    typeof(FormCollection).InvokeMember("list", NonPublic|Instance|SetField, null, Application.OpenForms, new object[1]{newList});
}

Jetzt fehlt nurnoch EventFeuern zu implementieren! Ist nicht getestet, sollte aber klappen!

Thema: list<> ausgeben ==> ArgumentOutOfRangeException
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo DieterM und willkommen im Forum.

Mir fallen sofort zwei kleine Stilblüten auf (nichts wirklich schlimmes):
1.) i ≤ MC.Count - 1 Warum nicht einfach < anstatt ≤ ?
2.) == false siehe [Tipp] Anfängerfehler == true / == false
warum nicht gleich foreach?
Wie dem auch sei, das sind keine wirklichen fehler.

Dein regex scheint auch zu funktionieren.

Zitat
da sich das Programm leider immer aufhängt.
Wo genau? Hast du mal mit dem Debugger angehalten?
Wird etwas ausgegeben, bevor sich das Programm aufhängt?

Mir fallen sonst nur 2 performance-optimierungen ein: Hashset statt List und compliliertes Regex

Mist: Blue_Dragon war schneller

Thema: Kommunikation zwischen zwei aktiven Forms
Am im Forum: GUI: Windows-Forms

Helzlich willkommen im Forum,

Zitat
Ich hoffe ihr könnt mir helfen.

Das schon, nur zählt das zu den Anfängerfragen und wurde schon hunderte male besprochen.

Siehe: [Hinweis] Wie poste ich richtig? Punkte 1.1 und 1.1.1
Suchfunktion benutzen und in die FAQ schauen: [FAQ] Kommunikation von 2 Forms
Das Thema wurde schon erschöpfend behandelt und da dieses Forum kein reines Anfängerforum sein soll, ist es nicht unbedingt nötig, das thema nocheinmal zu behandeln.

Thema: [gelöst] Alle Form-Objekte/Instanzen einer Anwendung behandeln
Am im Forum: GUI: Windows-Forms

Vielleicht hilf folgende Eigenschaft der Application-Klasse

public static FormCollection OpenForms
{
    [UIPermission(SecurityAction.Demand, Window=UIPermissionWindow.AllWindows)]
    get
    {
        return OpenFormsInternal;
    }
}
 

Thema: Warum gibt es ein Forum für Smalltalk, aber nicht für VB oder C++?
Am im Forum: Wünsche und Kritik

Das muss man erstmal hinbekommen, daran zu denken, dass es im Smaltalk-forum um die programmiersprache gehen würde. 8o Man könnte es meiner meinung nach auch "Off Topic" oder "Sonstiges" nennen.

Thema: [erledigt] Performancevergleich C# - Fortran
Am im Forum: Rund um die Programmierung

den test zweimal hintereinander durchgeführt, ohne den prozess neuzustarten. Der erste durchgang dauert in c# grundsätzlich länger als die folgenden.

Thema: [erledigt] Performancevergleich C# - Fortran
Am im Forum: Rund um die Programmierung

Auch pinvokes werden gejittet. Hast du den ersten aufruf mit dem zweiten verglichen?

Thema: Anzahl registrierter Eventhandler ermitteln
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Zitat
Kriegt man auch die Anzahl raus?
Wie man sich leicht denken könnte, wenn man die methode einmal angeguckt hätte, geht dies ebenfalls mit GetInvocationList().

Thema: Anzahl registrierter Eventhandler ermitteln
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Zitat
1) Ob überhaupt und wenn wieviele Actions dort angehängt sind?
OnX!=null
Zitat
2) Über die Action Einträge auf die Objekte kommen? (Also im obigen Beispiel anhand von dem Eintrag in OnX auf das Objekt _Out1 schließen).
Das thema wurde schonmal besprochen und in den meißten fällen ist es schlichtweg unsinnig dies zu tun. Wenn du unbedingt willst: GetInvocationList() und Target