Laden...
R
Regenwurm myCSharp.de - Member
Student Zentralschweiz Dabei seit 02.04.2008 295 Beiträge
Benutzerbeschreibung

Forenbeiträge von Regenwurm Ingesamt 295 Beiträge

21.10.2010 - 11:57 Uhr

Darum:

Out of memory.

                    tmpImage = EditImage.Clone(new Rectangle(new Point(StartPixel_Left.X, HighestPixel.Y), new Size(EndPixel_Right.X - StartPixel_Left.X, LowestPixel.Y - HighestPixel.Y)), System.Drawing.Imaging.PixelFormat.DontCare);

Ehrlich, ich habe keine Ahnung warum diese Exception kommt.
Die Exception spricht doch ansich den RAM an?

21.10.2010 - 11:01 Uhr

Hallo zusammen,

Ich will gerade einen Bereich aus einem Bitmap in ein neues Bitmap 'kopieren'.
Dazu benutze ich die Methode: Graphics.DrawImage();
Das ganze will jedoch nicht so ganz.
Als neues Bilde bekomme ich immer nur eine Schwarze fläche.

Könnt ihr mir dabei helfen?
tmpImage ist das Bild, wo das neue Bild 'hin' soll.
newImage ist das quellenbild:

                    // Erstelle ein neues temporäres Bitmap
                    Bitmap tmpImage = new Bitmap(EndPixel_Right.X - StartPixel_Left.X, LowestPixel.Y - HighestPixel.Y);
                    g = Graphics.FromImage(tmpImage);

                    // Zeichne den Bereich
                    g.DrawImage(EditImage, new Rectangle(new Point(StartPixel_Left.X, HighestPixel.Y), new Size(EndPixel_Right.X - StartPixel_Left.X, LowestPixel.Y - HighestPixel.Y)));
                    
                    // Setze die Variabeln zurück
                    StartPixel_Left = new Point(-1, -1);
                    EndPixel_Right = new Point(-1, -1);
                    HighestPixel = new Point(-1, 0);
                    LowestPixel = new Point(-1, 200);

                    // Füge es der Buchstaben Liste hinzu
                    Characters.Add(tmpImage);

Gruess,
Regenwurm

14.10.2010 - 08:53 Uhr

Hoi,

Vielen Dank für die Antworten von euch 😃
Das ganze scheint viel komplexer als ich es mir wirklich vorgestellt hatte.

Die Methoden wie 'neuronales Netz' oder das Abgleichen mittels einer "Schablone", findet also erst statt, wenn ich die Buchstaben erfolgreich getrennt und aufbereitet (skaliert, gedreht, ...) habe?

Gruss

€: Interessanter Link für handgeschriebenes: Handwriting Recognition Revisited: Kernel Support Vector Machines

13.10.2010 - 12:59 Uhr

Hallo zusammen,

Ich probiere gerade mir das grundlegende Konzept eines OCR Tools anzueignen.
Ich zitiere mal eine Antwort aus einem Board auf die Frage: "Wie arbeitet ein OCR genau?":

Generally there are two kinds of algorithm (there are more but those are the common one):

  1. The statistic method, used only for reconizing machine printed characters (as far as I know).
    This method take a group of templates for each char it need to recognize and create a probability template for each pixel, e.g. the pixels that appeared in most characters get the highest prob, etc.
    Now when the system get a new character it compares it with each probability template of each char and calculating a grade (+pixel_prob if the pixel appears in the new char, -pix_prob if not).
    The char with the highest grade is accepted.
  2. The neural net method. this method try to seperate groups of chars (the learnig group for each char I metioned in no.1) like seperating points in an N' dimesional space.
    When a new char is accepted the net (that was calibrated with the learning groups) decide to which group (or space - part) the new point belongs.

Kann mir vielleicht jemand die zweite Methode genauer erklären?
Die erste ist mir klar.

Gruss,
Regenwurm

13.10.2010 - 12:58 Uhr

Hi,
Das Problem besteht weiterhin. 😦

Gruss,
Regenwurm

06.10.2010 - 11:58 Uhr

Du liest auch nur 1 Zeichen aus:

bytesRead = stm.Read(ba, 0, ba.Length);

ba hat die Länge '1'.
Du müsstest also ein neues Buffer-Array mit der gewünschten Grösse erstellen.

06.10.2010 - 10:43 Uhr

Ich arbeitet gerade an einem IM ähnlichen Kleinprojekt.

Sprich; es existieren mehrere Clients und 1 Server.
Die Nachrichten der Clients werden an den Server gesendet, und der sendet diese dann weiter.

Das Problem ist:
Sobald ein Client an den Server das Disconnect-Packet absendet, erhält der Server eine CPU-Auslastung von min. 50%.
Macht das ein weiterer Client ist die Auslastung bei 100%.

        static void OnClientDisconnect()
        {
            Database.msnDB.ChangeUserOnlineState(Asynchronous_Server.ServerSocket.myClients[Idx].myUser.ID,
                                                 0x00);
            ServerSocket.WriteEventLog(string.Format("Client '{0}' ({1}) state set to offline", ServerSocket.myClients[Idx].myUser.Name, ServerSocket.myClients[Idx].myUser.ID), ConsoleColor.DarkGreen);

            // send broadcast
            // ==============
            writer.SetOpcode((ushort)Opcode.SERVER_CLIENTSTATECHANGE);
            writer.Append<ushort>(Convert.ToUInt16(Asynchronous_Server.ServerSocket.myClients[Idx].myUser.ID));
            writer.Append<byte>(0x00);

            foreach (Asynchronous_Server.ServerSocket.MSNClient client in Asynchronous_Server.ServerSocket.myClients)
            {
                if (Database.msnDB.GetContactIDs(client.myUser.ID).Contains(Asynchronous_Server.ServerSocket.myClients[Idx].myUser.ID))
                    client.Client.Send(writer.getWorkspace());
            }

            // remove from list
            // ================
            Asynchronous_Server.ServerSocket.myClients.RemoveAt(Idx);
        }

Das kuriose ist, sofern ein Client crasht und die Klasse ServerSocket ne SocketEexception mit dem Code 10054 (client disconnect) erhält und ich da den Client von der Liste lösche, bleibt die CPU-Auslastung tief.

                catch (SocketException sockex)
                {
                    if (sockex.ErrorCode == SOCKET_DISCONNECT)
                    {
                        Clients.Remove(SourceSocket);
                        WriteEventLog("Client disconnected", ConsoleColor.DarkRed);
                        try
                        {
                            ChangeOnlineState(myClients[myClients.IndexOf(msnclient)].myUser.ID, 0x00);
                            

                            writer.SetOpcode((ushort)Opcode.SERVER_CLIENTSTATECHANGE);
                            writer.Append<ushort>(Convert.ToUInt16(msnclient.myUser.ID));
                            writer.Append<byte>(0x00);

                            foreach (Asynchronous_Server.ServerSocket.MSNClient client in Asynchronous_Server.ServerSocket.myClients)
                            {
                                if (Database.msnDB.GetContactIDs(client.myUser.ID).Contains(msnclient.myUser.ID))
                                    client.Client.Send(writer.getWorkspace());
                            }

                            myClients.Remove(msnclient);
                        }
                        catch (NullReferenceException nul)
                        { // TODO }
                        catch (ArgumentOutOfRangeException nul)
                        { // TODO }
                    }

Kann mir jemand helfen?
Wo könnte die Ursache begraben liegen?

Benutzt werden Asynchrone Sockets (BeginSend/BeginReceive).

Gruss,
Regenwurm

30.09.2010 - 14:29 Uhr

Salü.

Ist es möglich bspw in einer List<T> den, sagen wir mal Operator, [] zu ersetzen?
Mit myList[INDEX] kann ich ja bspw das Item mit dem Index INDEX auswählen und bearbeiten.

Mein Ziel ist es dass ich zw. [] einen uint-Wert eingeben kann, und mir das Objekt zurückgegeben wird, welches beim Attribut xyz den eingegeben uint Wert hat.

Gruss,
Regenwurm

17.09.2010 - 16:00 Uhr

Hi,
Danke für den nochmaligen Input 😃
Ich schaue es mir nacher dem WE an.

Schönes Weekend,
Regenwurm

17.09.2010 - 15:50 Uhr

Hi gfoidl,

Ja, die Tabelle etc. war jetzt nur kurz hingeschrieben. der Primary-Key ist natürlich am falschen Platz, da hast du recht. 😃

Zu dem PatternFactory:

Die C# Lösung dort sieht ja folgendermassen aus:
[Edit=gfoidl]Kopie des Codes entfernt denn das kann jeder im Link sehen.[/Edit]

Hätte ConcreteProductA die Eigenschaft 'Raeder' und ConcreteProductB die Eigenschaft 'Segel' könnte ich also auf diese nun Zugreiffen?

Gruess,
Regenwurm

17.09.2010 - 15:36 Uhr

Hoi zusammen,

Ich gebs zu, der Titel ist etwas unpräzise, nur leider fällt mir zu meinem Problem kein besserer ein.

Ich bin mir ziemlich sicher, dass ich zZt ein Brett vor dem Kopf bezgl. meines Problems habe.

Folgendes Szenario.

Ich habe 3 Klassen:
*Fahrzeug *Auto *Schiff

Auto & Schiff erben jeweils von der Klasse 'Fahrzeug'
(Ob ein Schiff nun auch ein Fahrzeug ist, lassen wir mal vorneweg 😃)

    class Fahrzeug
    {
        public string Farbe;

    }

    class Auto : Fahrzeug
    {
        public int Raeder;
    }

    class Schiff : Fahrzeug
    {
        public int Segel;
    }

Ich will nun Daten aus einer Datenbank auslesen.
Tabelle 'Fahrzeug'

  • ID, PK
  • Farbe, nvarchar
  • Raeder, INT
  • Segel, INT

Diese werden dann als FahrzeugListe global abgespeichert.

Je nach ID ist es ein anderes Objekt (0 - 'nur' Fahrzeug, 1 - Auto, 2 - Schiff).

Ist es ein Schiff, möchte ich dem Schiffobjekt das Segel aus der DB zuweisen(+Farbe).
Ein Auto, so bekommt es die Anzahl Räder (+Farbe).
Bei Fahrzeug wird nur die Farbe vergeben.

Das Problem liegt jetzt dabei.
Deklariere ich am Anfang der DataReader schleife ein Fahrzeug Objekt, und weise ihm je nach ID ein anderes Objekt zu (bspw. Fahrzeug mFZ = new Schiff()), so habe ich ja logischerweise nur Zugriff auf das Element 'Farbe'.

Was geht ist:

            while (reading()) // ..
            {
                switch (Convert.ToInt32(reader["ID"])
                {
                    case 0:
                        Fahrzeug mFZ = new Fahrzeug();
                        mFZ.Farbe = reader["Farbe"].ToString();
                        myFZList.Add(mFZ);
                        break;

                    case 1:
                        Schiff mFZ2 = new Schiff();
                        mFZ2.Segel = 3;
                        mFZ2.Farbe = reader["Farbe"].ToString();
                        myFZList.Add(mFZ2);
                        break;

                    case 2:
                        Auto mFZ3 = new Auto();
                        mFZ3.Raeder = Convert.ToInt32(reader["Anzahl"]);
                        mFZ3.Farbe = reader["Farbe"].ToString();
                        myFZList.Add(mFZ3);
                        break;
                }
            }

Dies ist aber sehr unschön.

Wünschenswert wäre so etwas:

                switch (Convert.ToInt32(reader["ID"]))
                {
                    case 1:
                        recreateObj(Schiff, baseobj);
                        baseobj.Segel = 3;
                        break;

                    case 2:
                        recreateObj(Auto, baseobj);
                        baseobj.Anzahl = 3;
                        break;
                }

Kann man so etwas überhaupt realisieren?

Ich hoffe ihr versteht was ich meine ;D

Gruss,
Regenwurm

17.09.2010 - 13:48 Uhr

Hallo zusammen,

Besten Dank 😉
Die ReceiveAsync, ... Methoden schau ich mir dann mal an 😃

grz

16.09.2010 - 14:27 Uhr

Salü.

Ich stelle mir seit einigen Tagen die Frage, was für Möglichkeiten stellen sich mir nach meiner Ausbildung?
Ich bin zZt im 3. Informatiker Ausbildungsjahr (Schwerpunkt: Applikation) (Schweiz).

Ansich habe ich vor nach erfolgreich abgeschlossener Ausbildung Wirtschaftsinformatik zu studieren und mich dann in der Projektleitung 'einzureihen'.
Ich kann mir nicht wirklich vorstellen bis > 40 ständig nur zu programmieren.

Was bieten sich mir sonst noch für Möglichkeiten?
Inwiefern würdet ihr euch selbstständig machen?

Beste Grüsse,
Regenwurm

16.09.2010 - 14:23 Uhr

Strategie & Shooter --> PC
Hack'n'Slay-, Renn-, OpenWorld-, ...-, Spiele --> Konsole

😃

16.09.2010 - 14:14 Uhr

Wie gesagt, Asynchron ist das ganze schon (BeginAccept etc. implementiert).

16.09.2010 - 13:44 Uhr

Hallo zusammen.

Würdet ihr bei einer Serverapplikation (Gameserver) pro Socket einen Thread starten?
Der Server (asynchrone Sockets) wird eine maximale Anzahl aktiver Sockets von +/- 500 vorweisen.

Gruss,
Regenwurm

20.08.2010 - 15:11 Uhr

Salute zusammen,

Wird einem Prozess eigentlich das Handle von dem 'Startprozess' mitgegeben?
Sprich, Prozess A startet Prozess B.
Prozess B beinhaltet irgendwo das Handle von Prozess A.

Kann man das denn auch irgendwie auslesen?
Unter der Prozessklasse finde ich nix gescheites.
Die Doku habe ich soweit auch mal durchgelesen.

GetParent aus der WinApi gibt da ja nur das ParentHandle vom gleichen Prozess raus.

Gruss,
Regenwurm

19.08.2010 - 14:08 Uhr
_myProcess.EnableRaisingEvents = true;

Wars in dem Fall.
Besten Dank für den Hinweis 😃

19.08.2010 - 13:23 Uhr

Salü zusammen,

Ich glaube ich verstehe denn Sinn und Zweck des 'Exited' Events nicht ganz, oder ich bin zu doof ihn einzusetzen. 😃

Meine Vorstellung von dem Event ist, dass sobald der Prozess beendet wird, dass Event gefeuert wird.

So..
Mein Programm startet nun also einen Prozess.
Dieser läuft auch schön und gut, doch wenn ich ihn über das rote 'X' beende, wird der Exited Event nicht aufgerufen.

            _myProcess.StartInfo.FileName = _StartupPath;
            _myProcess.Start();
            _myProcess.Exited += new EventHandler(_myProcess_Exited);
        void _myProcess_Exited(object sender, EventArgs e)
        {
            //... nothing happens 
            MessageBox.Show("foo");
        }

Was ist da falsch?

Sollte das nicht gehen, muss ich dann doch wohl oder übel einen eigenen Thread mit WaitForExit(); erstellen 😦.

Gruss,
Regenwurm

30.07.2010 - 14:42 Uhr

Hallo,

Danke ich habs nun 😃

Konstruktor:


public delegate void ProcessDataDelegate(byte[] Data, Socket SourceSocket);
ProcessDataDelegate myDelegate;


public ServerSocket(int Port, int RecvBufferSize, ProcessDataDelegate PacketDelegate) { myDelegate = ProcessDataDelegate }

Und dann weiter unten (in einer anderen Funktion)

myDelegate(RecvBuffer, SourceSocket);

Gruss,
Regenwurm

30.07.2010 - 14:04 Uhr

Hallo,

ok trotzdem nur noch kurz eine Frage.
Wäre das in etwa so richtig?

Definition am Anfang der .dll Klasse:

public delegate void myProcessDelegate(byte[] Data, Socket SourceSocket);
if (SourceSocket.EndReceive(ar) > 0)
                {
                    myProcessDelegate bla = new myProcessDelegate(DataHandler.ProcessData);
                    bla.Invoke(RecvBuffer, SourceSocket);
                                        Array.Clear(RecvBuffer, 0, RecvBuffer.Length);
                }

DataHandler.ProcessData wäre dann die Methode, die im Parameter des Konstruktors übergeben wird?

Gruss,
Regenwurm

30.07.2010 - 13:41 Uhr

Hallo zusammen

Ich stehe gerade vor dem Problem, dass ich eine Socketklasse gerne in eine .dll packen würde.

Nur beinhaltet eine Callback-Funktion des Sockets einen Methodenaufruf einer anderen Funktion. In dieser Funktion werden dann die gesendeten Daten bearbeitet.

Da der Inhalt dieser Funktion je nach Applikation variiert, müsste es mir möglich sein die Funktion als sowas wie ein Parameter übergeben zu können.

Ist dies möglich?

Gruss,
Regenwurm

28.07.2010 - 10:35 Uhr

Hallo zusammen

Ich habe vor, mir eine etwas kleinere Server / Client Anwendung zu basteln, um das ganze ein bisschen zu lernen.

Mein Server arbeitet mit asynchronen Sockets.
Ein Packet enthält folgende Struktur:

ushort packetsize
ushort opcode
byte[] data

Wenn ich nun vom Server an den Client etwas versende kommt nicht das ganze Packet an.
Der opcode kommt komplett an, mein Client weiss auch was er zu tun hätte.
Er kann die Aktion aber nicht beenden, da der eigentlich content des Packets fehlt.

Das Byte-Array das beim senden abgeschickt wird, entspricht nicht dem Byte-Array das der Client beim Receive Command erhält:

                    string Message = "Hey, I'm Here!";
                    ushort Messagelen = (ushort)Message.Length;
                    //byte[] ToSendData = StringToByteArray(Message);

                    PacketWriter pw = new PacketWriter();
                    pw.SetOpcode(ServerToClient.CLIENT_HELLO);
                    pw.Append<ushort>(Messagelen);
                    pw.AppendArray<byte>(Encoding.ASCII.GetBytes(Message), Message.Length);
                    byte[] temp = pw.getWorkspace();
                    ServerSocket.Send(temp, SourceSocket);

Das Byte Array hier wäre nun bspw:

" 16 0 1 160 0 0 14 0 72 101 121 44 32 73 39 109 32 72 101 114 101 33"

Byte-Packet beim Client:

            TestSocket.Receive(foo);

Inhalt:

" 1 0 1 160 0 0 16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Wenn ich nun bei den beiden Methoden (Send, Receive) jeweils einen Breakpoint setze, stoppt mir der Debugger immer zuerst beim Receive, bevor er zum Send geht.

Sprich:
Ich drücke den Button zum senden -> Receive wird markiert -> F5 -> Send wird markiert.
Liegt das ganze an den asynchronen Sockets?

Gruss,
Regenwurm

€: Vom Client zum Server kommt alles richtig an, bemerk ich grad. Der Client benutzt jedoch keine Asynchrone Sockets.

27.07.2010 - 15:57 Uhr

Hallo miteinander,

der PC, der die Verbindung herstellt und die Anfragen stellt, ist der Client. Der PC, der die Verbindung entgegennimmt und die Anfragen beantwortet, ist der Server.

... hat mir eigentlich bereits als Antwort gereicht. 😃

...dich in WCF einzulesen...

Ich denke für mein doch kleines Projekt ist dies nicht von Nöten.
Dennoch danke für den Hinweis - Ich werde es sicherlich noch nachholen. (;

Wenn ich die Software schreiben würde, wären sowohl Schüler- als auch Lehrer-PCs Clients, die sich an einen zentralen Server verbinden.

Mein Tool ist denke ich einmal zu klein für die Idee.
Es dient vorerst nur dazu Daten wie den Username aus der Domäne auszulesen, und eventuell eine Remote-Desktop Verbindung herzustellen.

Danke nochmals an alle 😉

Beste Grüsse,
Regenwurm

27.07.2010 - 14:31 Uhr

Ich meinte eher den Pfad den du in der 2ten .exe stehen hast, mit welchem du die .ini Datei aufrufst.
Hast du überhaupt Zugriff auf den Source-Code?

Ansonsten müsste der Hinweis mit der WorkingDirector von felix schon helfen.

Gruss

27.07.2010 - 14:19 Uhr

Hallo,

Ich denke der Fehler wird in der zweiten .exe liegen.
Hast du den Pfad zur .ini relativ eingetragen?

Gruss,
Regenwurm

27.07.2010 - 14:18 Uhr

Hallo,

Ehrlich gesagt kenne ich das Spiel gar nicht (spiele vieeel lieber Warcraft 3 😉).
Ich spiele aber zZt mit dem Gedanken mir das Ganze zuzulegen.
Was macht das Spiel denn aus? Bzw. Warum sollte man es sich 'unbedingt' kaufen? 😃

27.07.2010 - 14:02 Uhr

Hallo zusammen,

Ich habe mir vorgenommen etwas ähnliches zu erstellen wie das Administrations-Programm 'NetOP'.
NetOP wird oft in den Schulen benutzt,um auf den Bildschirm von Schülern zu schauen, Daten hin- und her zu senden, den Bildschirm zu sperren, ...

Ich stelle mir gerade die Grundfrage:
Was ist der Client und was der Server?

Zuerst dachte ich mir, der Lehrer-PC (der die anderen Computer 'kontrolliert') sei der Server, verwaltet diese mittels asynchronen Sockets.
Die Schüler seien dann einfach Clients, welche beim Startup auf den Computer verbidnen.

Mittlerweile bin ich mir da aber nicht mehr wirklich sicher.
Denn wenn der Lehrer-Computer noch nicht hochgefahren ist, können die Schüler-PC's nicht darauf verbinden.
Es würde doch mehr Sinn machen wenn die Schüler-PC's alle eigene Server sind und beim StartUp auf einem bestimmten Port abhören.
Der Lehrer - Computer erstellt einfach beim StartUp n Threads (für jeden Server 1 Thread mit einer Socket - Verbindung) und kommuniziert dann so mit den Servern.
Ist das so, oder ist tatsächlich der Lehrer Computer der Server?

Gruss,
Regenwurm

21.07.2010 - 13:23 Uhr

wenn es eine KI ist, dann müsste dort :::

My uncle, Rollo Carpenter, is chief whiz at Existor, The company behind Cleverbot, I do not particularly know exactly how it works but I can diverse briefly.

It is not two people talking to each other, it is coded to respond with words contextually to what you have said to it, and as I have seen first hand, there is a database filled with 50 million contextual responses, which it has learnt from all its users over time. This as a result means it is everything to everyone. However. There is not much point trying to teach it unsuitable content, as much is filtered, usually only 1 in 10 things you say to it are actually learnt, less if unsuitable, due to filtering. Hope this clears it up a bit.

http://wiki.answers.com/Q/How_does_cleverbot_work

Gruss,
Regenwurm

21.07.2010 - 08:09 Uhr

Hallo,

Nettes Programm. 😃
Wäre es möglich den Browser mit dem das ganze aufgemacht wird auszuwählen (unabhängig davon, ob Standardbrowser oder nicht)?

Gruss

22.06.2010 - 15:48 Uhr

Salute zusammen,

Folgendes Szenario:
Mein Programm beinhaltet links ein Menu (einzelne Pictureboxen dienen als Menupunkte).

Drücke ich auf PB 1, so soll rechts bspw. eine Registrierung angezeigt werden.
Bei PB 2 bspw eine Statistik.

Wie soll ich das am besten implementieren?
Der Gedanke daran ~ 6 Panels mit Inhalten auf die Form zu klatschen und je nach Menupunkt eines visible machen tut mir weh.

Gibt es sonst keinen anderen Weg?
Wichtig, das ganze möglichst ohne TabControl.

Gruss,
Regenwurm

14.06.2010 - 19:55 Uhr

Hallo,

Zuerst muss ich dem Programm ja sagen dass es die 4 Gleichungen bspw mittels dem Additionsverfahren zusammenrechnen soll.

->
(a*1^3)+(b*1^2)+(c*1)+d = 5
(a*2^3)+(b*2^2)+(c*2)+d = 8
(a*3^3)+(b*3^2)+(c*3)+d = 1
(a*4^3)+(b*4^2)+(c*4)+d = 3

(a*1^3)+(b*1^2)+(c*1)+d+(a*2^3)+(b*2^2)+(c*2)+d+(a*3^3)+(b*3^2)+(c*3)+d+(a*4^3)+(b*4^2)+(c*4)+d = 17

Und das soll dann gekürzt werden.

€:

CalcFormula(new int[] { 1, 3, 65, 7, 56, 3, 2, 8 });

Das ist nun bspw. mein input.

Die Gleichungen addiert ergibt dann (Anhang):

Und wie kürz ich das nun dass ich nur noch die 8 Unbekannten 1x hab?

14.06.2010 - 19:40 Uhr

Hallo zusammen

Wie ist es mir in C# möglich eine Gleichung mit x unbekannten zu lösen?

Als Input bekomme ich x Zahlen (max. 160).

Das sieht dann ungefähr so aus:

+---+---+
| x | y |
|---+---+
| 1 | 5 |  
| 2 | 8 | 
| 3 | 1 | 
| 4 | 3 | 
+---+---+


(a*x^3)+(b*x^2)+(c*x)+d = y
->
(a*1^3)+(b*1^2)+(c*1)+d = 5
(a*2^3)+(b*2^2)+(c*2)+d = 8
(a*3^3)+(b*3^2)+(c*3)+d = 1
(a*4^3)+(b*4^2)+(c*4)+d = 3

Jetzt ist die Frage, wie bekomm ich aus den unteren 4 Gleichungen eine einzige (y=??).

Gruss,
Regenwurm

14.06.2010 - 13:11 Uhr

Hallo

Ansich benutze ich nur die Farbwerte, welche unter Brushes zu finden sind.
Da sind ja bereits die Namen definiert.

Gruss,
Regenwurm

14.06.2010 - 12:57 Uhr

Hallo.

Es mag sein dass diese Frage wirklich in den Bereich ([Hinweis] Wie poste ich richtig? -> 1.1.1) gehört, jedoch finde ich wirklich absolut KEINE Lösung für das "Problem".

Wie in aller Welt gebe ich die Farbe eines Brushes als String aus?
Im Internet finde ich nur Hinweise wie ich ein Brush mittels String zuordne (

Color.FromName("asdF");

).

Gruss,
Regenwurm

25.05.2010 - 12:20 Uhr

Hallo.

Wenn ich das ganze mit eurem Gedankengang lösen will, kann ich mich vorstellen dass es extrem kompliziert wird.

Ich muss im Stande sein durch die Karte zu navigieren (N, O, S, W).
Der 3x3 Teil ist nur ein Ausschnitt der gesammten Karte.

Ausserdem muss ich mittels der aktuellen Mausposition auf der Karte die Koordinaten ausrechnen.

Das ganze wird mit nur 1 Panel ziemlich komplex.
Seht ihr das nicht so?

grz

25.05.2010 - 11:17 Uhr

Was verstehst du unter 'programmiere das ganze aus'?

25.05.2010 - 11:11 Uhr

Hallo zusammen

Folgendes Szenarion:

Ich habe ein Panel welches auf einer WinForm liegt.
Auf dem Panel liegen 9 PictureBoxen die eine Karte darstellen (3x3).
Nun will ich auf die Karte wege einzeichnen.
Da ein Weg auch über mehrere PictureBoxen hinweg gehen kann, hielt ich es für sinnvoll die ganze Zeichnung auf dem Panel zu erstellen.

Nun bekommt aber - logischerweise- die PictureBox das MouseClick Event, und nicht das Panel.
Wie kann ich das umgehen?
Mein Gedanke war, dass ich das Panel vor die PictureBoxen lege, jedoch transparent.
Das ganze bringt mir leider auch nichts, da ich ebenfalls das MouseMove Event der PictureBoxen benötige.

Was schlagt ihr mir vor?

Gruss,
Regenwurm

23.05.2010 - 20:50 Uhr

Wow Danke! geht 😄
Nur hab ich nach dem umbauen bemerkt, dass ich MouseMove und nicht MouseHover brauch und das ist MouseEventHandler.. Trotzdem nochmals danke! 😃

23.05.2010 - 20:31 Uhr

Hallo,
Ich sehe wohl den Wald vor lauter Bäumen nicht.

Ich will allen PictureBoxen auf meiner Form einen Event abonnieren:

            foreach (Control c in this.Controls)
            {
                if (c.GetType() == typeof(PictureBox))
                {
                    c.MouseHover += new MouseEventHandler(c_MO);
                }
            }


       /********************************************/

        void c_MO(object sender, MouseEventArgs e)
        {
            /* ... */
        }

Geht nicht, weil MouseHover ein EventHandler ist und kein MouseEventHandler.
Ich brauche aber einen MouseEventHandler weil ich bei c_MO die Maus-Koordinaten relativ zum Control benutzen werde.

Sorry, aber ich seh die Lösung nicht.

Gruss,
Regenwurm

20.05.2010 - 21:00 Uhr

Hallo zusammen

Ich probiere auf mehreren Bitmaps - die evt. in einem Panel zusammengefasst sind (noch nicht festgelegt) - sowas wie Vektoren bei Photoshop zu zeichnen.

Sprich ich zeichne eine Linie von A nach B.
nun kann ich - sofern ich will - das Eck der Linie neu verschieben.
Ausserdem sollten neue Vektoren an diese Linie angehängt werden.
Muss das ganze auf die Form "gezeichnet" werden oder in das Panel?

Nun bleibt mir noch die Frage, nach welchen Begriffen soll ich suchen?
Gibts da gescheite Klassen für?

Das ganze brauche ich um Paths für den Dijkstra-Algorithmus festzulegen.

Gruss,
Regenwurm

18.05.2010 - 16:33 Uhr
FindNode(...).Nodes.Add("Katze");
15.05.2010 - 22:32 Uhr

Hallo,

Ich will 2 structs auf Gleichheit überprüfen und bekomme folgende Fehlermeldung:

Der Operator "==" kann nicht auf Operanden vom Typ "DjikstraAlgorithmGUI.WayPoint" und "DjikstraAlgorithmGUI.WayPoint" angewendet werden.

Ich habe eine globale List<WayPoints>.
Jeder WayPoint hat als Attribut eine weitere List<WayPoints> um zu sehen mit welchem Punkt er bereits "verbunden" ist:

    struct WayPoint
    {
        /* .... */

        public List<WayPoint> Connected;
    }

Liegt das Problem vielleicht darin begraben?

Gruss,
Regenwurm

29.03.2010 - 09:12 Uhr

...und wenn nun noch ein anderes Fenster offen ist, welches den Titel "test" hat? 😉...

23.03.2010 - 14:02 Uhr

Vielleicht noch hinzuzufügen wäre 'WhatsApp'.
Hat die gleichen Features wie 'Ping' (Sprich, Push-Nachrichten über das Internet versenden).
Jedoch finde ich es an Benutzerfreundlichkeit um einiges besser. 😃
Man braucht seine Bekannten nicht hinzuzufügen. Alle Kontakte die das App installiert haben, werden direkt aufgelistet.

23.03.2010 - 14:00 Uhr

Salute,

[Hinweis] Wie poste ich richtig?
Beachte bitte den Punkt 4b)

23.03.2010 - 13:19 Uhr

Klar, in dem du zur Laufzeit ein Javascript erstellst..

Such einfach mal nach dem Schlüsselwort RegisterStartupScript().

23.03.2010 - 11:48 Uhr

Hoops, sorry mein Fehler.
Ich habe wohl ASP mit ASPX vermischt.

Der richtige Befehl lautet: Request.QueryString["referer"];

22.03.2010 - 16:35 Uhr
OpenPopUp(opener, "PopUp.aspx?referer=" + Request.Url.AbsolutePath + "&textbox=" + text, "", 550, 300);

Damit hast du dann in der Adressleiste die Seite, welche das PopUp aufgerufen hat.. www.123.de/PopUp.aspx?referer=www.123.de/test&textbox=9

Mittels Request("referer") bekommst du dann "www.123.de/test" raus.
Von mir aus kannst du dich dann mit einem **Response.Redirect(Request("referer")) **wieder auf deine Seite umleiten.