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 Bunnychecker
Thema: Welche Collection für die Verbindung von 2 großen Datenmengen?
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Zitat von Abt
Aber warum hat der Account die Adressen nicht einfach direkt als Eigenschaft?

Das ist eine gute Frage, die ich selbst erstmal durchdenken musste und ich glaube, dass macht auch mehr Sinn.

Danke für alle Hinweise.

Thema: Welche Collection für die Verbindung von 2 großen Datenmengen?
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hi.

Ich habe 2 große Datenmengen von Objekten (jeweils >50000). Datenmenge1 sind Adressen. Datenmenge2 sind Accounts. Jeder Account und jede Adresse ist einzigartig (unique). Jede Adresse ist einer Liste von Accounts zugeordnet bzw. jeder Account ist einer Menge von Adressen zugeordnet.
Zugegriffen wird öfters mittels Account, daher bin ich bisher mit

Dictionary<Account, List<Address>> Dictionary

ganz gut zurecht gekommen und habe mir mittels Linq die Accounts geholt, wenn ich per Adresse zugreifen wollte. Aber ich könnte mir gut vorstellen, dass so eine Linqabfrage einiges an Zeit benötigt, wenn die Datenmengen größer werden.

Gibt es gute Alternative? Ich habe mir überlegt eine eigene Klasse zu schreiben in der ich eine List<Account> und eine List<Address> halte und dann über ein Dictionary beide miteinander verbinde, aber vollständig zuende gedacht habe ich dabei noch nicht.

Liebe Grüße

Thema: log4net in Verbindung mit ListView?
Am im Forum: GUI: WPF und XAML

Ich war mir nicht ganz sicher, ob man dafür explizit einen eigenen Appender schreiben muss oder ob es vielleicht auch ein MemoryAppender bzw. ein EventLogAppender tut.

Danke für deinen Link.

Edit:

Ich verstehe das Problem nicht. Sobald ich eine LogMessage schreiben will, springt mein Programm richtigerweise in die Methode Append, aber die _listView == null obwohl ich sie zuvor gesetzt habe?

    public class ListViewAppender : AppenderSkeleton
    {
        private ListView _listView;

        public ListViewAppender()
            : base()
        {

        }

        public ListViewAppender(ListView listview)
            : base()
        {
            _listView = listview;
        }

        private delegate void UpdateControlDelegate(LoggingEvent loggingEvent);

        private void UpdateControl(LoggingEvent loggingEvent)
        {
           // ...
        }

        protected override void Append(LoggingEvent LoggingEvent)
        {
            if (!_listView.Dispatcher.CheckAccess())// _listView == null
                _listView.Dispatcher.Invoke(new UpdateControlDelegate(UpdateControl), new object[] { LoggingEvent });
            else
                UpdateControl(LoggingEvent);
        }

<log4net debug="true">
  <appender name="ListViewAppender" type="WpfApplication2.ListViewAppender">
    <layout type="log4net.Layout.PatternLayout">
      <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
    </layout>
  </appender>

  <root>
    <level value="ALL"/>
    <appender-ref ref="ListViewAppender" />
  </root>
</log4net>


    public partial class MainWindow : Window
    {
        private static readonly ILog log = LogManager.GetLogger(typeof(MainWindow));

        public MainWindow()
        {
            InitializeComponent();

            ListViewAppender listViewAppender = new ListViewAppender(listView);
            
            log.Error("Error.");
        }
    }

Thema: log4net in Verbindung mit ListView?
Am im Forum: GUI: WPF und XAML

Kannst du etwas genauer erklären, wie das funktioniert?

Thema: log4net in Verbindung mit ListView?
Am im Forum: GUI: WPF und XAML

Oder im Vidalia:

Thema: log4net in Verbindung mit ListView?
Am im Forum: GUI: WPF und XAML

Dank dir, den hatte ich schon gefunden, aber dieser Viewer ist ja eigentlich dafür gedacht starre XML Datei anzuzeigen. Mir wäre es aber wichtiger den aktuellen Log des Programmablaufes darzustellen, wie das in diversen Programmen realisiert ist z.B. im Newsleecher auf dem Bild auf der rechten Seite:

Thema: log4net in Verbindung mit ListView?
Am im Forum: GUI: WPF und XAML

Hallo.

Ich möchte gerne meine Logs in einem WPF ListView Control darstellen wollen. Da dies wahrscheinlich nicht aus der Luft gegriffen ist, würde mich interessieren, ob es da bereits vorgefertigte Lösungen gibt?

Liebe Grüßé

Thema: Proxyunterstützung für Applikation entwickeln?
Am im Forum: Netzwerktechnologien

Hi.

Ich möchte meine Applikation mit einer Proxyunterstützung erweitern. Es sollen dabei neben der Direktverbindung auch Http-, Socks4-, Socks4a- und Socks5proxies unterstützt werden, wobei der User nur die IP des Proxys angeben soll. Das Programm soll dann selbst herausfinden, um welche Art von Proxy es sich handelt.

Mir geht es nun nicht darum, wie man die einzelnen Proxys implementiert, damit die Verbindung funktioniert, sondern darum, wie man die Architektur der Klassen aufbaut. Vererbungen, Interfaces, Überschreibungen und alles was dazugehört.

Z.B. unterstützt die HttpWebRequest Klasse das Anhängen eines Httpproxys, aber Socksproxies sind damit nicht möglich. Demnach ist die Direktverbindung und die Httpproxyverbindung identisch.

Ist es demnach sinnvoll von der WebRequest Klasse abzuleiten und die einzelnen Proxyarten zu implementieren oder ist es sinnvoll, die Proxyklassen auf TCP Ebene komplett neu zu schreiben?

LG

Thema: Richtlinie wann ein Pixel (für den normalen Betrachter) "rot" ist?
Am im Forum: Grafik und Sound

Stimmt, der Farbabstand als Delta zum reinen rot scheint mir am logischsten und werde ich auch für meine Zwecken verwenden.

Ich danke euch.

Thema: Richtlinie wann ein Pixel (für den normalen Betrachter) "rot" ist?
Am im Forum: Grafik und Sound

Hallo,

ich möchte gerne die Pixel eines Bildes bearbeiten und habe mir vorgenommen jedes Pixel, dass rot ist, schwarz einzufärben. Durch Methoden wie GetPixel und SetPixel kein Problem.
Mir stellt sich die Frage, wie findet man heraus, wann ein Pixel rot ist und wie setzt man das codetechnisch um? Gibt es Richtlinien, ab wann für den normalen Betrachter ein Pixel rot ist und wann eher weiß?
Bisher bin ich über die RGB-Farbwerte gegangen, d.h. ich habe ein Fenster angegeben, wann ein Pixel rot ist und habe es daraufhin schwarz gesetzt.

MfG

Thema: JavaScript-Code in C# umwandeln: Suche Äquivalent für typeof (function)
Am im Forum: Rund um die Programmierung

Prinzipiell ergibt das Ganze keinen Sinn, deswegen ist es auch notwendig, Zeile für Zeile zu übersetzen. Hinzu kommt, dass das Skript minimized und teilweise obfuscated wurde, was die Sache noch verkompliziert.
Es kommt bei der Funktion von oben nicht daraufan, jeden Typ von .NET zurückzugeben, sondern die von Javascript als string. Im Javascript gibt es dafür eine spezielle Funktion, die ich mit C# nachbauen muss, da später im Skript Abfragen auf a == "function" getätigt werden.

Thema: JavaScript-Code in C# umwandeln: Suche Äquivalent für typeof (function)
Am im Forum: Rund um die Programmierung

Vielen Dank für das Aufsplitten der Threads und für deine Antwort Colo.

Die Prozedur das Javascript nachzubauen steht fest. Da gibt es nichts dran zu rütteln. Ich bin sebst nicht sonderlich froh drüber, aber so soll es gemacht werden.

Thema: JavaScript-Code in C# umwandeln: Suche Äquivalent für typeof (function)
Am im Forum: Rund um die Programmierung

Ich versuche gerade die Funktion typeof von JavaScript nachzubauen und kann euch dazu folgende Info zukommen lassen:

Zitat
Mögliche Rückgabewerte der typeof Funktion sind:
boolean (Ja/Nein-Variable),
string (Zeichenkettenvariable),
number (numerische Variable),
function (Funktion),
object (Objekt),
undefined (unbestimmter Typ).

        public string GetJavaScriptType(object o)
        {
            Type type = o.GetType();

            if(type==typeof(string))
                return "string";

            if(type==typeof(bool))
                return "boolean";

            if(type==typeof(object))
                return "object";

            // return "function";

            if(double.TryParse(o.ToString(),out 0))
                return "number";

            return "undefined";
        }

Wie könnte man den Rückgabewert "function" lösen und kann man "number" besser bestimmen als mit meiner Methode?

Edit: blöd, dass sich jetzt das Threadthema so speziell in eine Richtung gelenkt wurdet, eigentlich ging es mir allgemein um die Übersetzung Javascript <-> C#

Thema: JavaScript-Code in C# umwandeln: Funktion, die Zahl erwartet, kann auch mit String aufrufen werden
Am im Forum: Rund um die Programmierung

Zitat von Abt
Ich seh keinen Javascript Code hier. Nur C# Code, der so niemals funktionieren kann.

Doch, wenn f und e Felder der Klasse Method sind :P

Der C# Code von oben ist nur das Äquivalent zum JavaScript Code.

Im Prinzip hat sich meine Frage auch schon geklärt, wenn mir jemand die Fragen von dem Beitrag zuvor beantworten könnte.

MfG

Thema: JavaScript-Code in C# umwandeln: Funktion, die Zahl erwartet, kann auch mit String aufrufen werden
Am im Forum: Rund um die Programmierung

Im Javascript wird dann der ASCII Wert des Buchstabens verglichen, sehe ich das richtig? Wie verhält sich Javascript, wenn dort ein wirklicher string übergeben wird? Aufaddieren der einzelnen ASCII Werte?

Edit: Ist schwer darüber etwas bei Google zu finden.

MfG

Thema: JavaScript-Code in C# umwandeln: Funktion, die Zahl erwartet, kann auch mit String aufrufen werden
Am im Forum: Rund um die Programmierung

Hallo,

ich versuche gerade ein Stück JavaScript Code in C# nachzubauen und bin nun vor ein kleines Problem gestoßen.

Bisher dachte ich, dass die Methode Method nur mit einer long Variable aufgerufen wird, nun habe ich aber festgestellt, dass die Methode auch mit einem string aufgerufen werden kann und mir stellt sich nun die Frage, wie muss man denn hier vorgehen um das nachbauen zu können?


        public void Method(long c)
        {
            while (c > 0)
            {
                f = (int)c % e;
                c = (c - f) / e;
            }
        }

MfG

Thema: Javascript im WebBrowser ausführen ohne den Request abzusenden?
Am im Forum: Web-Technologien

Das ist richtig, aber ich will ja die Javascript/DOM Engine eigentlich gar nicht auf eine Form legen.

Thema: Javascript im WebBrowser ausführen ohne den Request abzusenden?
Am im Forum: Web-Technologien

Kann ich damit auch Javascriptfunktionen ausführen?

Ich bin nämlich über diesen Thread nun gestolpert, nachdem ich vergeblich versucht habe eine Javascriptfunktion mit WebKit aufzurufen:

http://sourceforge.net/projects/webkitdotnet/forums/forum/939856/topic/4375628

Vielleicht habe ich mich bisher auch nur dumm angestellt?

            var browser = new WebKitBrowser();
            browser.DocumentText = "<html><head><title>Test</title></head><body><script type=\"text/javascript\"> function Test() {}</script></body></html>";
            var test = browser.Document.InvokeScriptMethod("Test");
Fehler
COMException: Beim Aufruf einer COM-Komponente wurde ein HRESULT E_FAIL-Fehler zurückgegeben.

Thema: Javascript im WebBrowser ausführen ohne den Request abzusenden?
Am im Forum: Web-Technologien

WebBrowser webBrowser = new WebBrowser();
            webBrowser.DocumentText = "<html><head><title>Test</title></head><body><h1>Test</h1></body></html>";
            // webBrowser.DocumentText == "<HTML></HTML>\0"            

Funktioniert leider auch nicht.

Jedenfalls habe ich gehört, dass deshalb auch u.a. das Html Agility Pack verwendet wird. Jedoch unterstützt das Html Agility Pack kein Asuführen von Javascript.

Thema: Javascript im WebBrowser ausführen ohne den Request abzusenden?
Am im Forum: Web-Technologien

Danke für deine Antwort.

webBrowser.Document
ist schreibgeschützt und

            WebBrowser webBrowser = new WebBrowser();
            webBrowser.DocumentText = "<html>TEST</html>";
            // webBrowser.DocumentText == "<HTML></HTML>\0"
bleibt immer
<HTML></HTML>\0

Thema: Javascript im WebBrowser ausführen ohne den Request abzusenden?
Am im Forum: Web-Technologien

Hallo,

ich bin auf der Suche nach einer Komponente oder .dll, die es mir ermöglicht Javascript welches auf eine DOM-Komponente zugreift, auszuführen ohne einen Request (also offline) abzusenden.

Ich habe ein Stück Html-Quelltext inklusive Javascript und möchte gerne verschiedene Funktionen des Javascripts ausführen und eventuelle Resultate auslesen.

Wenn ich das richtig verstanden habe, braucht man eine Kombination aus Javascript-Engine und dem Html Agility Pack. Also im Prinzip einen WebBrowser, der keine Requests absendet.

Was stehen mir für Möglichkeiten offen?

LG

Thema: Programmierkonstrukt für das Ausführen von beliebigen Methoden mit unterschiedlichen Parametern
Am im Forum: Basistechnologien und allgemeine .NET-Klassen


    class Class1
    {
        public void Method1(string s)
        {
        }

        public void Method2(int i)
        {
        }

        public void Method3(double d, string str)
        {
        }

        /// Weitere Methoden mit unterschiedlichen Signaturen
    }


Nun hätte ich gerne solch eine Liste:

Element0: Methode1(string1)
Element1: Methode3(2.5, string2)
Element2: Methode2(12)
...

Und immer wenn der Timer abgelaufen ist, soll er das nächste Element in der Liste (keine Queue, da die veränderlich bleiben soll) abarbeiten.

Thema: Programmierkonstrukt für das Ausführen von beliebigen Methoden mit unterschiedlichen Parametern
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Danke dir für deine Antwort.

Das war sicher aus meinem Beitrag nicht ganz herauszulesen. Mir ging es dabei vorallem darum, wie ich die unterschiedlichen Signaturen der Methoden in einen Container packe, sodass das Programm dann, wenn der Timer abgelaufen ist oder die zyklische Abfrage ausgeführt werden soll, auch alle Parameter für diesen Methodenaufruf vorhanden sind.

Thema: Programmierkonstrukt für das Ausführen von beliebigen Methoden mit unterschiedlichen Parametern
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo,

ich bin mir nicht sicher wie man folgendes Problem löst.

Ich habe eine Klasse in der es verschiedenste Methoden mit unterschiedlichen Parametern gibt. Die Methoden machen alle nur kleinere Berechnungen.

Nun möchte ich aufbauend auf dieser Klasse eine Logikschicht oben aufsetzen, die mir diese Methoden nun zu bestimmten Zeitpunkten (z.B: 12:53 Uhr) aufruft.

Ich bräuchte dann einen universellen Delegaten oder wie soll ich das Problem lösen?

LG

Thema: bool contains = Image.Contains(image);
Am im Forum: Grafik und Sound

Guten Abend.

Ich bin auf der Suche nach einer .dll oder Funktion, die mir sagt, ob ein Bild ein anderes 1:1 beinhaltet.

Gibt es sowas, oder muss ich mir das selbst schreiben?

Was muss alles kontrolliert werden, damit ein Bild 1:1 übereinstimmt? Müssen einfach nur alle Pixel die selbe Farbe haben oder gibt es noch andere Parameter die überprüft werden müssen?

LG

Thema: ProxyHandling: TCP/HTTP Requests
Am im Forum: Netzwerktechnologien

Hey.

Ich bin gerade dabei meinem Programm eine Proxyunterstützung zu geben. Ähnlich wie im WebBrowser (z.B. Firefox) möchte ich meinem Benutzer die Möglichkeit geben eine Proxyadresse angeben zu können, über welches dann die Requests getätigt werden.
Es sollen Socks4, Socks4a, Socks5 und HttpProxies unterstützt werden, weswegen die Möglichkeiten des WebProxy/IWebProxy entfallen und das Ganze eine Ebene tiefer (TCP) angegangen werden muss.

Ich habe die Starksoft Bibliothek eingebunden, die bereits die Authentifizierung und den Aufbau der Verbindung zu einem Server über einen beliebigen Proxy ermöglicht. Starksoft


Socks5ProxyClient proxy = new Socks5ProxyClient(proxyIP, proxyPort);
TcpClient tcpClient = proxy.CreateConnection("www.google.de",80);
tcpClient.Client.Send(getString);

Erste Frage diesbezüglich wäre, wenn ich die Erreichbarkeit eines Proxies testen möchte, kann ich das nur darüber erreichen, indem ich zu einem Server verbinde:

Application --> Socks5 --> GoogleServer --> Socks5 --> Application

oder kann man über:

Application <--> Socks5

schon feststellen, dass der obige Ablauf funktionieren wird?

2. Frage:

Mein Benutzer soll nur die Adresse des Proxies angeben und ich möchte die Funktion des Firefox nachempfinden: "Für alle Protokoll diesen Proxy-Server verwenden".

Wie gehe ich das am besten an? Es muss ja dann getestet werden, welches Protokoll der Proxy aufweist. Ich muss also alle Protokolle durchtesten. Welche Tipps und Herangehensweisen könnt ihr mir dafür geben? Wie finde ich also am besten heraus, welches Protokoll vorliegt, wenn ich nur eine ProxyIP zu verfügung habe?
Was ich dazu bisher gefunden habe ist, dass man erst einen HttpRequest an einen SocksProxy senden soll, da dieser dann sofort einen Error liefert, sendet man einen SocksRequest an einen HttpProxy könnte man maximal über einen Timeout erkennen, dass es sich nicht um einen Socksproxy handelt, wobei es schon einer sein kann, der aber evtl. gerade nicht online ist.

Liebe Grüße

Thema: Enum Speicherausnutzung wenn die nummerischen Werte mehr oder weniger große Abstände haben
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Ich erinnere mich schwach an meinen C++ Unterricht, wo mir beigebracht wurde, dass man beim Anlegen von Enums darauf achten sollte, dass die Abstände zwischen den als Zahlen hinterlegten Werten möglichst klein zu halten ist.

Soll heißen, sowas geht in Ordnung:


        private enum Enum1
        {
            None = 0,
            Second = 2,
            Fifth= 5
        }

Jetzt hab ich aber im Sourcecode einer Bibliothek folgendes gefunden:

        private enum HttpResponseCodes
        {
            None = 0,
            Continue = 100,
            SwitchingProtocols = 101,
            OK = 200,
            Created = 201,
            Accepted = 202,
            NonAuthoritiveInformation = 203,
            NoContent = 204,
            ResetContent = 205,
            PartialContent = 206,
            MultipleChoices = 300,
            MovedPermanetly = 301,
            Found = 302,
            // ...
        }

Die Abstände sind groß...

Hat das bei C# keine Bewandnis mehr, weil der Compiler das irgendwie regelt oder ist das im Prinzip "ungünstig" programmiert?

LG

Thema: Wie geht ihr größere Projekte an: Welche Funktionalität gehört in welche Klasse?
Am im Forum: Rund um die Programmierung

Hallo,

konnte dazu leider nichts in der Suche finden und da mir zu meinem Projekt gerade wieder tausende Dinge einfallen, die ich gerne umgesetzt haben möchte, stellt sich mir die Frage, wie geht ihr große Projekte an?

Immer wieder bemerke ich, dass sobald ich die Klassenerstellungen mit Konstruktoren und Properties größtenteils abgeschlossen habe und ich mich um die Logik und die Kommunikation von den Klassen untereinander kümmern muss mir das doch sehr schwer fällt.
Welche Logik muss in welche Klasse, muss diese Logik vielleicht sogar in eine andere Klasse ausgelagert werden, weil sie weder in die eine Klasse noch in die andere Klasse so richtig reinpasst? Der Verwaltungsaufwand wäre dann aber wieder um einiges größer.

Sollte man sich stur erstmal auf eine Klasse konzentrieren und alle Funktionalitäten außerhalb außer acht lassen? Ich habe mich dabei bemerkt, dass ich doch recht viel zwischen den Klassen hin und her switche.

Gibt es da vielleicht irgendeine allgemein gültige Herangehensweise?

Thema: Regex: Match auf eine Folge von Ziffern bis auf "0"?
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Vielen Dank.

Das Erste Pattern ist logisch und müsste eigentlich auch schon reichen.

Thema: Regex: Match auf eine Folge von Ziffern bis auf "0"?
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hey.

Ich möchte alle IDs matchen, bis auf die, die als Wert eine "0" haben. Ist das mit Regex möglich oder muss ich per IF-Abfrage rangehen?


string source = "irgendetwas id=012 etwasanderes id=210 nochanders id=0 schluss";

Ich habe versucht lookaheads oder lookbehinds zu verwenden, aber das hat noch nicht so recht funktioniert. Mein bisheriges Pattern:


string pattern = @"id=\d+(?<!0)";

Lässt zwar die "id=0" weg, aber auch die "id=210", da letzte Ziffer eine 0 ist.

Liebe Grüße