Laden...
S
Söckchen myCSharp.de - Member
Schüler, Rettungsschwimmer u. Telemarketingagent Mönchengladbach Dabei seit 19.08.2006 50 Beiträge
Benutzerbeschreibung

Forenbeiträge von Söckchen Ingesamt 50 Beiträge

25.11.2008 - 18:30 Uhr

Achso entschuldigung, hatte ganz vergessen da was zu zu schreiben: TopMost klappt leider nicht, da die Anwendung trotzdem sobald der Pokertisch den Fokus bekommt in den Hintergrund springt.

25.11.2008 - 14:45 Uhr

Ich gehe einfach mal davon aus dass DirectX nicht benutzt wird. Aber wie müsste ich jetzt genau vorgehen? Ich habe mir die SetForegroundWindow-Funktion mal angeschaut, aber das bringt mich momentan nicht weiter. Wüsste nicht wie ich das jetzt genau in die Anwendung mit einbaue. 🤔

25.11.2008 - 14:23 Uhr

Die Pokeranwendung, läuft die in einer Windows-Form oder ist die Fullscreen? Verwendet die DirectX o.Ä?

Sie läuft in einer Windows-Form und nicht Fullscreen. Aber ob sie DirectX benutzt kann ich dir leider nicht sagen. Wie kann ich das rausfinden?

25.11.2008 - 14:03 Uhr

Erstmal danke schön für eure Anworten.

Nein es soll nicht als Fadenkreuz dienen, aber ihr habt schon recht es soll vor ein Spiel. Um genau zu sein vor eine Pokeranwendung die sich selber den Fokus gibt sobald man an der Reihe ist.

Also was sind eure Vorschläge? 🙂

25.11.2008 - 02:51 Uhr

Hallo liebe C#'ler,

ich habe momentan ein Problem wo ich absolut keine Lösung für finde, weil mir der ganze Gedankenansatz fehlt (Brett vor'm Kopf 😉 ). Ich versuche mein Problem mal genau zu bescheiben:

Ich möchte ein Programm erstellen, was einen kleinen rechteckigen Kasten zeichnet der JEDERZEIT (und das ist das wichtigste) vor einer externen Anwendung ist. Nun wäre das ja kein Problem, wenn man erst die externe Anwendung öffnet und hinterher den Kasten zeichnet, nur gibt es das Problem dass sich die externe Anwendung aufgrund von Geschehnissen innerhalb des Programms selber den Focus gibt und damit OnTop springt. Das soll bzw darf aber nicht passieren. Sprich mein Programm sollte das direkt abfragen und sofort wieder vor die Anwendung springen (und wenn möglich ohne dass man auch nur einen Bruchteil einer sekunde den Teil der externen Anwendung sieht der vorher verdeckt war).

Ich weiß dass es geht, da ich das schonmal in einem Anderen Programm gesehen habe (hoffe das ist auch mit C# lösbar), aber ich weiß momentan gar nicht wie ich an die Sache rangehen soll und ich wäre hier für jeden Rat und jeden Tipp dankbar.

PS: Was ich noch vergessen habe zu erwähnen was aber eigentlich selbstverständlich sein sollte: Das ganze sollte Ressourcenschonend sein 🙂

Danke im Vorraus 👍

09.04.2008 - 14:06 Uhr

@xxxprod: Du meinst für die Gewinnabfrage? Wenn ja: daran habe ich noch gar nicht gedacht, da hast du Recht, das würde das ganze enorm vereinfachen, aber damit wäre noch nicht das Thema gelöst wie ich das ganze OO realisieren kann.

Ist denn wenigstens mein Ansatz mit dem zwei-demensionalen Array richtig? 🤔

09.04.2008 - 13:59 Uhr

Ja das Programm erkennt automatisch ob jemand gewonnen hat, habe ja auch im ersten Beitrag ein Beispiel der Gewinnabfrage gemacht, jedoch sind das 69 Abfragen und damit unmengen an Code.

09.04.2008 - 13:44 Uhr

Erstmal danke für deine Antwort onlinegurke....jetzt ist es nur so:

Mit dem Thema gdi+ haben wir uns in der Schule noch nie befasst, wir sollen eigentlich mit dem Arbeiten was wir wissen, kennen und können sollten 😉

Ich hätte kein Problem damit, mich dort einzulesen und das ganze zu versuchen, ich möchte jedoch auch nicht, dass es nachher heißt: Sieht zwar nett aus, aber überhaupt nicht das, was gefordert war, setzen 6 😉

Daher, auch wenn es viel Aufwand ist, möchte ich wenigstens einmal den Denkansatz für die Umsetzung mit Buttons machen, sobald ich dann mit meiner Lehrerin Rücksprache gehalten habe, kann ich das immer noch mit gdi+ realisieren.

09.04.2008 - 13:31 Uhr

Hallo zusammen,

wir haben als Schulaufgabe die Programmierung von dem Spiel "Vier gewinnt" bekommen und am besten sollte das auch noch OO sein. Jetzt habe ich mich erstmal ran gesetzt und das ganze bewusst nicht OO programmiert. Jetzt könnt ihr euch aber auch sicher denken was draus geworden ist. Ich habe das Spiel fertig jedoch 1000de Zeilen Code.

Das ist natürlich überhaupt nicht das was erwartet wird, jedoch haperts bei mir jetzt an der Umsetzung.

Die Darstellung erfolgt über Buttons (42 Stück) welche je nachdem wer dran ist Gelb oder Rot gefärbt werden. Das soll nach Möglichkeit auch nicht geändert werden, weil für eine bessere Umsetzung einfach mein Wissen nicht reicht.

Ich habe jetzt dran gedacht ein zwei-deminsionales Array zu erstellen, welches das Spielfeld simuliert. Aber wenn ich jetzt sagen an der Position [0,0] setzt Spieler1 seinen Stein wie färbe ich dann diesen Button, der an dieser Stelle ist?

Ich habe es bisher so gelöst das nur die unterste Reihe enabled ist und sobald z.B der Button ganz unten links gedrückt wird der Button darüber auch enabled wird.

private void button1_Click(object sender, EventArgs e)
        {
            if (!ry)
            {
                button1.BackColor = Color.Red;
                button1.Enabled = false;
                button2.Enabled = true;
                ry = true;
            }
            else if (ry)
            {
                button1.BackColor = Color.Yellow;
                button1.Enabled = false;
                button2.Enabled = true;
                ry = false;
            }

            rot_gewinnt();
            gelb_gewinnt();
            unentschieden();
        }

Die Gewinnabfrage sieht dann so aus (Auszug):

private void rot_gewinnt()
        {
            // HORIZONTAL
            if (button1.BackColor == Color.Red
            && button7.BackColor == Color.Red
            && button13.BackColor == Color.Red
            && button19.BackColor == Color.Red)
            {
                textBox1.Text = "Rot gewinnt!";
            }

Ich weiß nur nicht wie ich das jetzt besser lösen kann.

Bin dankbar für Denkanstöße. 🙂

14.05.2007 - 00:12 Uhr

Oder wenn du es einfach haben willst mach es so: (hat jetzt zwar nichts mit C# zu tun, aber so regel ich das 🙂 )

Erstelle zwei Benutzer in deinem Windows. Einmal dich als Admin und einmal einen eingeschränkten Acc. Den Admin versiehst du mit einem Passwort, den anderen nicht. Stelle jetzt noch ein, dass man von dem eingeschränkten Acc nicht auf die Daten von dem Admin-Acc kann und jedes Mal, wenn du vom PC gehst, geh einfach auf Start -> Abmelden -> Benutzer wechseln. So kann sich dein Bruder nur noch über den eingeschränkten Acc einloggen und kann nicht mehr an deine Daten.

Ist um einiges einfacher, als das selbst zu programmieren 🙂

18.04.2007 - 16:00 Uhr

vielen dank 😉

18.04.2007 - 00:06 Uhr

[EDIT]Abgetrennt von MinimmumBox[EDIT]

Kann mir jemand sagen was WPF ist!? 🤔

20.03.2007 - 16:47 Uhr
int i = (int)myString;
02.03.2007 - 20:31 Uhr

Naja, ich brauche nicht mehr nachgucken, weil der Fehler nun behoben ist. Ich habe mir gedacht "gut, du hast Win XP neu installiert, da macht es nicht viel aus, wenn du WIN XP nochmal neu aufspielst!". Gesagt, getan. VS installiert und alles läuft tadellos. Fragt mich bitte nicht warum 😉

Trotzdem ein großes Dank an Alle, die versucht haben, mir zu helfen 👍 👍 👍 =)

27.02.2007 - 16:05 Uhr

Original von Emmi83
beim 2. link lädst du die .zip datei runter und entpackst sie in dein projekt-ordner. dann hast du da drin die benötigte .dll - also eine library für sqlite.
du musst dann in #develop noch in deinem projekt auf diese .dll refenzieren, musst mal schauen. ich weiß es jetzt auch nicht auswendig. dann kannst du per "using" den namespace hinzufügen in deine klassen und die wrapper-classes von der library nutzen, mit der du dann sqlite konnektieren kannst.

gruß

Manchmal bin ich auch einfach nur zu dumm! 😁

Ich habe die .dll Datei im Verzeichnis gehabt aber vergessen, diese zu referenzieren 😭

Vielen Dank für deine Hilfe 🙂

LG

27.02.2007 - 15:37 Uhr

Danke erstmal für deine Antwort, aber die erste Datei hatte ich schon installiert...habe sie nun deinstalliert und neu installiert, aber bei der Installation kann ich nur VS 2005 anwählen, ne alternative gibts nicht...also er gibt mir #D auch nicht als Möglichkeit...

Was muss ich denn mit deinem zweiten Link machen um das ans Laufen zu kriegen? habe mich noch nie so tief mit VS bzw C# befasst!

LG

27.02.2007 - 14:52 Uhr

Hallo liebe c#-Gemeinde...

da ich ja massive Probleme mit meinem VS 2005 habe, habe ich mir nun #D runtergeladen und versuche jetzt da soweit klarzukommen. Ist ja nicht viel was sich da ändert, nur habe ich jetzt schon gestern den halben Tag gesucht wie ich denn nun SQLite in #D nutzen kann...

Weiß jemand, der auch #D nutzt oder nutzte, was ich genau runterladen muss und was ich einstellen muss damit ich verbinden kann?

Bin dankbar für jede Antwort!

mfg
Söckchen

PS: Jedoch nicht für Antworten wie "nutz die SuFu oder Google!" denn dass habe ich beides schon getan.

26.02.2007 - 15:41 Uhr

Beides gerade gemacht 😉 FW aus und Avast aus...Problem ist beständig!

26.02.2007 - 15:29 Uhr

Alle updates sind drauf, das Projekt von dem ich sprach (mit dem Array) war ganz neu und der Fehler besteht auch weiterhin, wenn ich nun nochmal ein neues Projekt mache.

Als Virenscanner habe ich Avast und eine Sygate Personal Firewall, jedoch hatte ich Avast auch vorher schon (die Firewall nicht)!

26.02.2007 - 15:12 Uhr

Danke für die Alternative aber was heißt: kann nich so viel?

Könntest du einige grundlegenden Dinge aufzählen?

26.02.2007 - 15:02 Uhr

Vielen Dank für deine ganze Mühe talla, aber auch das SP1 für VS war nicht des Rätsels Lösung.

Daher nun meine Frage:

  • hat noch jemand irgendeine Idee oder einen Ansatz?
  • gibt es alternativen zu VS, also ich meine jetzt nicht so was wie delphi, aber halt eine Umgebung in der ich C# Programmieren kann...

mfg
Söckchen

25.02.2007 - 23:50 Uhr

Original von talla
Oh, die Neuinstallation hatte ich überlesen 🤔

Hast du nur VS neuinstalliert oder wirklich das gesamte .Net Framework. Das Framework bringt ja auch schon Debugginganwendungen mit, vielleicht stimmt da was mit den Einstellungen zum JIT Debuggen nicht, und deshalb hängt sich VS auf. Deshalb wirklich mal alles was mit .Net zu tun hat runterschmeißen und neuinstallieren.

Habe jetzt mal alles was mit der Installation von VS drauf kam runtergeworfen und alles komplett neuinstalliert...der Fehler bleibt bestehen...

VS mag mich nicht X(

25.02.2007 - 11:35 Uhr

Danke erstmal für die Antwort, aber das war mir schon klar, dass ihr bei so einem Beispiel mit der Prozessorauslastung nichts anfangen könnt 🙂

Jetzt mal zu den Sachen die du gesagt hast:

Der PC ist neu aufgezogen und neben VS läuft nur noch Firefox und ICQ...von einer hohen Auslastung kann also nicht die Rede sein. Jedoch ist es so, dass ich (als der PC noch nicht formatiert und neu aufgezogen war) durchschnittlich eni paar Sekunden gewartet habe. Jetzt ist selbst nach 4-5 Minuten noch nichts passiert und er lässt nichts mehr am PC zu. Ich kann also nichts mehr machen. Alles ist wie eingefroren.

Und wie ich im ersten Post schon schrieb, hat eine Neuinstallation nichts gebracht. Hab sogar schon versucht VS auf beiden Festplatten die ich im PC habe zu installieren. Beidemale mit dem gleichen Ergebnis.

Ich verzweifel langsam. 🙁

25.02.2007 - 11:15 Uhr

Du hast leider recht...mehr Infos habe ich leider wirklich nicht, aber zu deinen Fragen:

  • Ja es ist ein ganz frisches Programm. Folgenden Code habe ich in die Form_Load methode gepackt:
int[] ar = new int[3];

            for (int i = 0; i <= 4; i++)
            {
                ar[i] = i;
            }
  • Die Prozessorauslastung ist im Grunde genommen normal. Lag bei diesem Test bei ca. 18%

  • Ich habe einen Pentium 4 mit 2.5 GHz und 512 MB Ram. Als Betriebssystem habe ich Windows XP Prof.

Musst du/Müsst ihr sonst noch was wissen? 🤔 😉

25.02.2007 - 10:13 Uhr

Hallo c#-Gemeinde 😉

ich habe vor ein paar Tagen den PC formatiert und alles neu Aufgezogen. Nun habe ich gestern auch Visual Studio 2005 Prof. installiert und habe nun ein riesen Problem.

Sobald ich einen Fehler in meinem Programm mache, der mein Programm während der Laufzeit abstürzen lässt, stürzt mein komplettes VS ab. Erstell ich z.B. ein Programm wo ich einen Variablennamen benutze der vorher gar nicht deklariert wurde, sagt mir dass Programm das auch und alles ist wunderbar. Erstelle ich aber z.B. ein Datenfeld mit 3 Indizies, versuche aber auf den 4. zuzugreifen (den es ja nicht gibt, VS das aber erst merkt, wenn das Programm ausgeführt ist) passiert gar nichts mehr. Normalerweise ging VS dann immer zurück zum Programmcode und sagte mir anhand eines PopUps wo mein Fehler liegt. Das macht es aber nun nicht mehr und ich kann VS nur noch über den Taskmanager (in den ich nur durch mehrfaches drücken von STRG,ALT und ENTF komme, Mausklicks auf den Bildschirm haben überhaupt keinen sinn mehr) beenden.

Wäre nett, wenn mir jemand sagen könnte, wo der Fehler ist, denn auch eine Neuinstallation hat nichts gebracht.

mfg
Söckchen

23.02.2007 - 15:56 Uhr

Zu aller erst: Ja ich habe die SuFu benutz 🙂

Aber ich habe sie nicht nur benutzt, sondern auch gelesen, was ich dort fand. Aber entweder habe ich die falschen Keywords benutzt, oder ich war zu dumm 😉

Jetzt brauche ich eure Hilfe. Ich habe per SQLite eine Connection aufgebaut (das funktioniert auch soweit:

SQLiteConnection con = new SQLiteConnection();
            SQLiteCommand cmd = new SQLiteCommand();
            con = new SQLiteConnection("Data Source=testdb.s3db;Version=3;Compress=True;");
            con.Open();

jetzt habe ich in der DB eine Tabelle (schueler) mit 4 Feldern: ID, name, vorname, alter

Ich habe nun folgendes gemacht:

cmd = con.CreateCommand();

            cmd.CommandText = "SELECT * FROM schueler";

Bisher habe ich nur einen Datensatz und dementsprechend auf der Form 4 TextBoxen. Ich möchte nun die Daten in den TextBoxen ausgeben. Sprich in TextBox1 die ID, TextBox2 den Nachnamen usw...

Wie muss ich nun vorgehen? ich stehe auf dem Schlauch 🙁

Danke für jede Hilfe!

EDIT: hat sich erledigt, habe es selbst rausgefunden.

07.12.2006 - 17:30 Uhr

Naja, habe jetzt weiter rumprobiert und nun klappt alles 👍 . Fragt bitte nicht warum, ich weiß es auch nicht 🙂

LG
Söckchen

07.12.2006 - 16:42 Uhr

Danke erstmal für deine Antworten, herbivore... 🙂

Aber je mehr ich nun versuche den Fehler zu beheben, desto kaputter mache ich mir das Spiel 😉

Ich habe nun nicht geprüft ob die Felder im Array leer sind, sondern ob der Text auf dem Button leer ist, dann ging es auch, aber nur so halbwegs. Dann konnte ich eine Runde spielen, egal ob gewonnen, verloren oder unentschieden (= Das hat er auch diesmal angezeigt), jedoch war jede weitere Runde mit dem ersten Klick auf einen Button beendet. Jetzt habe ich ein komisches Problem. Bisher habe ich es also so gelöst:

if (button1.Text != " " || button2.Text != " " || button3.Text != " " || button4.Text != " " || button5.Text != " " || button6.Text != " " || button7.Text != " " || button8.Text != " " || button9.Text != " ")
            {
                // Horizontal Player 1
                if (ttt[1, 1] == "x" && ttt[1, 2] == "x" && ttt[1, 3] == "x")
                {
                    MessageBox.Show("Player 1 hat gewonnen");
                    p1++;
                    sperren();
                }
                else if (ttt[2, 1] == "x" && ttt[2, 2] == "x" && ttt[2, 3] == "x")
                {
                    MessageBox.Show("Player 1 hat gewonnen");
                    p1++;
                    sperren();
                }
                else if (ttt[3, 1] == "x" && ttt[3, 2] == "x" && ttt[3, 3] == "x")
                {
                    MessageBox.Show("Player 1 hat gewonnen");
                    p1++;
                    sperren();
                }

                // Vertikal Player 1
                else if (ttt[1, 1] == "x" && ttt[2, 1] == "x" && ttt[3, 1] == "x")
                {
                    MessageBox.Show("Player 1 hat gewonnen");
                    p1++;
                    sperren();
                }
                else if (ttt[1, 2] == "x" && ttt[2, 2] == "x" && ttt[3, 2] == "x")
                {
                    MessageBox.Show("Player 1 hat gewonnen");
                    p1++;
                    sperren();
                }
                else if (ttt[1, 3] == "x" && ttt[2, 3] == "x" && ttt[3, 3] == "x")
                {
                    MessageBox.Show("Player 1 hat gewonnen");
                    p1++;
                    sperren();
                }

                // Diagonal Player 1
                else if (ttt[1, 1] == "x" && ttt[2, 2] == "x" && ttt[3, 3] == "x")
                {
                    MessageBox.Show("Player 1 hat gewonnen");
                    p1++;
                    sperren();
                }
                else if (ttt[1, 3] == "x" && ttt[2, 2] == "x" && ttt[3, 1] == "x")
                {
                    MessageBox.Show("Player 1 hat gewonnen");
                    p1++;
                    sperren();
                }

                // Horizontal Player 2
                else if (ttt[1, 1] == "o" && ttt[1, 2] == "o" && ttt[1, 3] == "o")
                {
                    MessageBox.Show("Player 2 hat gewonnen");
                    p2++;
                    sperren();
                }
                else if (ttt[2, 1] == "o" && ttt[2, 2] == "o" && ttt[2, 3] == "o")
                {
                    MessageBox.Show("Player 2 hat gewonnen");
                    p2++;
                    sperren();
                }
                else if (ttt[3, 1] == "o" && ttt[3, 2] == "o" && ttt[3, 3] == "o")
                {
                    MessageBox.Show("Player 2 hat gewonnen");
                    p2++;
                    sperren();
                }

                // Vertikal Player 2
                else if (ttt[1, 1] == "o" && ttt[2, 1] == "o" && ttt[3, 1] == "o")
                {
                    MessageBox.Show("Player 2 hat gewonnen");
                    p2++;
                    sperren();
                }
                else if (ttt[1, 2] == "o" && ttt[2, 2] == "o" && ttt[3, 2] == "o")
                {
                    MessageBox.Show("Player 2 hat gewonnen");
                    p2++;
                    sperren();
                }
                else if (ttt[1, 3] == "o" && ttt[2, 3] == "o" && ttt[3, 3] == "o")
                {
                    MessageBox.Show("Player 2 hat gewonnen");
                    p2++;
                    sperren();
                }

                // Diagonal Player 2
                else if (ttt[1, 1] == "o" && ttt[2, 2] == "o" && ttt[3, 3] == "o")
                {
                    MessageBox.Show("Player 2 hat gewonnen");
                    p2++;
                    sperren();
                }
                else if (ttt[1, 3] == "o" && ttt[2, 2] == "o" && ttt[3, 1] == "o")
                {
                    MessageBox.Show("Player 2 hat gewonnen");
                    p2++;
                    sperren();
                }
                else
                {
                    if (button1.Text != " " && button2.Text != " " && button3.Text != " " && button4.Text != " " && button5.Text != " " && button6.Text != " " && button7.Text != " " && button8.Text != " " && button9.Text != " ")
                    {
                        MessageBox.Show("Unentschieden!");
                        sperren();
                        for (int i = 0; i <= 9; i++)
                        {
                            ttt[i, i] = " ";
                        }
                    }
                }
            }

Jetzt kann ich weiterspielen. Jedoch (ich hoffe ich kann das jetzt einigermaßen erklären) wenn jetzt nach der ersten Runde ein Spiel gestartet wird und sagen wir Player 1 macht ein X im Feld mit den Koordinaten 1,1, Player 2 dann in 1,2 und P1 wieder im Feld 1,3 geht es ja eigentlich weiter. Macht P2 jedoch dann einen weiteren Klick, sagt mir das Programm: "Player 1 hat gewonnen!" obwohl er das ja nicht hat.

Hoffe, das ist einigermaßen verstänlich!

07.12.2006 - 16:25 Uhr

Was ich ganz vergessen habe ist zu sagen, welchen Fehler ich jetzt habe ^^

Also wenn ich das so lasse und das Spiel starte sagt er direkt nach dem ersten Klick in eni Feld: "Unentschieden!" und sperrt die Buttons...so dass man ein neues Spiel starten muss...

Ich weiß nicht, was ich daran ändern muss, damit er erst wenn alle Felder voll sind und es keinen Sieger gibt: "Unentschieden!"

Da ist mein Problem 🙂

07.12.2006 - 16:16 Uhr

Hallo erstmal...

ich hoffe der Beitrag ist hier richtig, wüsste sonst nicht wohin damit 🙂

Also, wir müssen für die Schule ein Tic-Tac-Toe spiel realisieren. Wir sind vom Wissensstand noch nicht sehr weit, was C# angeht, also soll das auch kein Tic-Tac-Toe mit KI werden. Einfach nur zwei Spieler gegeneinander.

Es klappt alles soweit. Es wird ausgewertet wer gewinnt (wenn auch sehr mühsam und umständlich 😉 ) aber es klappt!
Nur hapert es daran, zu überprüfen ob es ein unentschieden gibt.

Nach jedem Buttonklick (die 9 Tic-Tac-Toe-Felder sind Buttons) wird geprüft, ob es einen Sieger gibt. Wenn man klickt, wird der Text des Buttons in ein X oder ein O geändert und es wird der Buchstabe x oder o in ein zweidemensionales Array (String) geschrieben.

Vielleicht habe ich ja auch einfach nur einen Denkfehler, aber ich wäre sehr dankbar für einen kleinen Gedankenanstoß 😉

// Horizontal Player 1
            if (ttt[1, 1] == "x" && ttt[1, 2] == "x" && ttt[1, 3] == "x")
            {
                MessageBox.Show("Player 1 hat gewonnen");
                p1++;
                sperren();
            }
            else if (ttt[2, 1] == "x" && ttt[2, 2] == "x" && ttt[2, 3] == "x")
            {
                MessageBox.Show("Player 1 hat gewonnen");
                p1++;
                sperren();
            }
            else if (ttt[3, 1] == "x" && ttt[3, 2] == "x" && ttt[3, 3] == "x")
            {
                MessageBox.Show("Player 1 hat gewonnen");
                p1++;
                sperren();
            }

            // Vertikal Player 1
            else if (ttt[1, 1] == "x" && ttt[2, 1] == "x" && ttt[3, 1] == "x")
            {
                MessageBox.Show("Player 1 hat gewonnen");
                p1++;
                sperren();
            }
            else if (ttt[1, 2] == "x" && ttt[2, 2] == "x" && ttt[3, 2] == "x")
            {
                MessageBox.Show("Player 1 hat gewonnen");
                p1++;
                sperren();
            }
            else if (ttt[1, 3] == "x" && ttt[2, 3] == "x" && ttt[3, 3] == "x")
            {
                MessageBox.Show("Player 1 hat gewonnen");
                p1++;
                sperren();
            }

            // Diagonal Player 1
            else if (ttt[1, 1] == "x" && ttt[2, 2] == "x" && ttt[3, 3] == "x")
            {
                MessageBox.Show("Player 1 hat gewonnen");
                p1++;
                sperren();
            }
            else if (ttt[1, 3] == "x" && ttt[2, 2] == "x" && ttt[3, 1] == "x")
            {
                MessageBox.Show("Player 1 hat gewonnen");
                p1++;
                sperren();
            }

            // Horizontal Player 2
            else if (ttt[1, 1] == "o" && ttt[1, 2] == "o" && ttt[1, 3] == "o")
            {
                MessageBox.Show("Player 2 hat gewonnen");
                p2++;
                sperren();
            }
            else if (ttt[2, 1] == "o" && ttt[2, 2] == "o" && ttt[2, 3] == "o")
            {
                MessageBox.Show("Player 2 hat gewonnen");
                p2++;
                sperren();
            }
            else if (ttt[3, 1] == "o" && ttt[3, 2] == "o" && ttt[3, 3] == "o")
            {
                MessageBox.Show("Player 2 hat gewonnen");
                p2++;
                sperren();
            }

            // Vertikal Player 2
            else if (ttt[1, 1] == "o" && ttt[2, 1] == "o" && ttt[3, 1] == "o")
            {
                MessageBox.Show("Player 2 hat gewonnen");
                p2++;
                sperren();
            }
            else if (ttt[1, 2] == "o" && ttt[2, 2] == "o" && ttt[3, 2] == "o")
            {
                MessageBox.Show("Player 2 hat gewonnen");
                p2++;
                sperren();
            }
            else if (ttt[1, 3] == "o" && ttt[2, 3] == "o" && ttt[3, 3] == "o")
            {
                MessageBox.Show("Player 2 hat gewonnen");
                p2++;
                sperren();
            }

            // Diagonal Player 2
            else if (ttt[1, 1] == "o" && ttt[2, 2] == "o" && ttt[3, 3] == "o")
            {
                MessageBox.Show("Player 2 hat gewonnen");
                p2++;
                sperren();
            }
            else if (ttt[1, 3] == "o" && ttt[2, 2] == "o" && ttt[3, 1] == "o")
            {
                MessageBox.Show("Player 2 hat gewonnen");
                p2++;
                sperren();
            }
            else
            {
                if (ttt[1, 1] != "" && ttt[1, 2] != "" && ttt[1, 3] != "" && ttt[2, 1] != "" && ttt[2, 2] != "" && ttt[2, 3] != "" && ttt[3, 1] != "" && ttt[3, 2] != "" && ttt[3, 3] != "")
                {
                    MessageBox.Show("Unentschieden!");
                    sperren();
                }
            }

LG Söckchen

13.09.2006 - 19:49 Uhr

Das habe ich schon einmal gemacht. Aber es klappt trotzdem nicht.

Hat noch jemand eine Idee?

13.09.2006 - 19:33 Uhr

Hallo C#'ler...

ich habe schon die Suche benutzt, aber zu keiner Lösung gekommen, daher frage ich jetzt hier...

ich habe heute Visual Studio 2005 Pro installiert und ein Programm programmiert...nun wollte ich dieses Programm erstellen und bekam dann folgenden Fehler:

Fehler 1 "C:\Dokumente und Einstellungen*\Eigene Dateien\Visual Studio 2005\Projects\T*\T***\obj\Debug\CSCC.tmp" ist keine gültige Win32-Ressourcendatei.

Wieso dieser Fehler? Ich habe auchs chon in der Hilfe von VS nachgeguckt, aber auch dort bekam ich keine Hilfe die mich weiter brachte.

Ich hoffe ihr könnt mir weiterhelfen. Egal welches Programm ich erstellen will, es geht einfach nicht.

LG
Söckchen

02.09.2006 - 01:05 Uhr

Wow, dass das so einfach ist hätte ich nicht gedacht. Du hattest recht mit meinem Connector war es genau so, nur dass ich das Odbc durch ein MySql ersetzen musste 😉

Vielen dank demondriver235 😁

01.09.2006 - 16:48 Uhr

Ich connecte mit dem MySQL-Connector. Verbindung zur DB steht auch schon. Jetzt will ich halt die Datensätze in einem DataGridView anzeigen lassen. Weiß aber überhaupt nicht wie ich jetzt vorgehen muss und welche Komponenten ich dafür brauche. Daher suche ich eine Antwort, die mir mal beschreibt wie ich jetzt Schritt für Schritt mit den Komponenten vorgehen muss.

Ich hoffe ein Experte von Euch kann mir da behilflich sein 😉

31.08.2006 - 18:33 Uhr

Original von Noodles
Schon nach DataSet und DataGrid gesucht?

Ja, aber nichts gefunden, was mir jetzt genau beschreibt wie ich jetzt vorgehen muss, nachdem ich eine Verbnidung zur Datenbank hergestellt habe.

Darum gehts mir ja!

31.08.2006 - 15:43 Uhr

Hallo C#'ler

nachdem ich erst ein paar Tage mit Datenbankanbindungen programmiere und bisher nur ein Programm geschrieben habe, welches Daten von einer MySQL-Datenbank die auf einem Internetserver liegt abholt und ausgibt, möchte ich das ganze nun in einer Win-Form-Anwendung verwirklichen.

Ich denke ich muss das ganze über ein DateGrid lösen...aber ich habe absolut 0 Ahnung wie ich das ganze nun verwirklichen kann.

Deswegen bin ich für jede Hilfe dankbar!

mfg
Söckchen

29.08.2006 - 18:24 Uhr

Es ist so, dass ich bald ein Programm programmieren will, welches sehr stark darauf angewiesen ist Daten zu speichern und wieder auszulesen und dass nicht nur auf meinem PC!. Also ich möchte an Freunde das Programm weitergeben und die sollen dass dann auch auf ihrem PC nutzen können (die Daten die gespeichert werden sind nicht für alle zugänglich, sondern angenommen ich würde es mit Datenbanken machen hätte jeder seine eigene auf seinem PC).

Aber wäre es dann nicht sinvoller, das alles in Files zu schreiben, anstatt in Datenbanken? Weil Files kann ich ja aus dem Programm hereaus erstellen, dafür braucht der Nutzer nichts installieren oder sonstiges.

29.08.2006 - 18:08 Uhr

Noch mal eben eine Frage zwischendurch:

Angenommen ich programmiere ein Programm welches auch eine Datenbank nutzt (nehmen wir mal die von MS): muss ich dann davon ausgehen, dass der Nutzer, der mein Programm nutzt, MS SQL Server installiert hat? Und welche Dateien muss ich ihm geben, damit das Programm auch bei ihm funktionstüchtig wäre?

29.08.2006 - 17:26 Uhr

Original von Fabian
Hallo Söckchen,

eine Möglichkeit, um den MS SQL Server 2005 Express zu administrieren, ist das Programm "SQL Server Management Studio Express". Diese Version des Management-Studios gibt es auch auf der Microsoft-Seite zum kostenlosen Download.

Damit kannst Du wunderbar Deine Datenbank(en) verwalten.

Gruß,
Fabian

Auch das werde ich mir mal angucken!

29.08.2006 - 17:19 Uhr

Original von Qwald
Hallo,
was du machen kannst: Einen MySQL Server runterladen und installieren.

Sofern du schon eine PHP/MySQL Umgebung lokal auf deinem PC hast, kannst du auch den MySQL Server verwenden.
Wenn du noch keinen lokalen Webserver hast, kann man in ein paar Sekunden mit
>
eine komplette Umgebung installieren, mit MySQL Server.

Als nächstes brauchst du einfach einen SQL Connector, um auf den SQL zuzugreifen, für MySQL gibt es den auf deren Website (mysql.com).
Dort sind auch Beispiele aufgeführt, wie man z.B. eine Verbindung aufbaut, und Daten abfragt.
Hast du die paar grundlegenden Befehle verstanden, um auf den Server zuzugreifen, ist es nicht viel anders in PHP. Einfach die SQL Befehle an den Server senden, und die Antwort verarbeiten, außer das man dann bei C# nicht mysql_query() etc. benutzt, sondern Klassen des MySQL .NET Connectors.

Danke für deine Antwort. Ich glaube das wird jetzt auch das sein, womit ich mich mal beschäftigen werde. Jedoch scheine ich blind zu sein, denn ich finde auf der Seite von mysql.com keinen SQL Constructor. Hättest du einen genauen Link für mich?

EDIT: Meine es gefunden zu haben 😉

29.08.2006 - 16:58 Uhr

Da ist ein SQL Server Configuration Manager dabei. Kann mir nun jemand sagen ob das das richtige ist, und wenn ja wie ich da nun eine neue Datenbank erstelle? Ich klicke mich nämlich in diesem Programm gerade dumm und dämlich 😉

29.08.2006 - 16:47 Uhr

Die gabs auf der Seite von Microsoft...und da habe ich nichts bezahlt und ich denke auch nicht das Microsoft eine Tauschbörse ist 😁

Na dann wären wir da doch schonmal einen Schritt weiter. Aber nun habe ich noch eine Frage: Wenn man Webspace mit Datenbanken hat, dann kann man ja über ein Webinterface Datenbanken erstellen und löschen usw...

Wie mache ich dass denn jetzt auf dem PC?

29.08.2006 - 16:40 Uhr

Ich habe eine Version auf dem PC, nennt sich MS SQL Server 2005. Ist das die, die du meinst?

29.08.2006 - 16:33 Uhr

Original von svenson
Wenn du anfängst, dann würde ich mir die Umgebung suchen, für die es am meisten Lernmaterial gibt. Da würde ich von Firebird erstmal die Finger lassen.

Und welche ist die mit dem meisten Lernmaterial? Entschuldigt bitte diese Fragerei, aber ich bin halt was C# + Datenbank angeht ein totaler Neuling.

29.08.2006 - 16:22 Uhr

Erstmal Danke für deine schnelle Antwort und direkt die nächste kurze Frage:

Angenommen ich wolle mit FireBird arbeiten, wäre dieser Link dann richtig?

-> http://www.firebirdsql.org/index.php?op=files&id=netprovider

Frage 2.)
Sehen die Befehle dann gleich aus, die ich beim programmieren nutzen muss oder sind das komplett andere?

29.08.2006 - 16:07 Uhr

So, dies ist jetzt mein zweites Thema hier im Forum, was auch einen Einblick darin bringt, was für ein blutiger Anfänger ich bin. Das aber nur bei C#. Programmieren allgemein nicht.

Jetzt zum eigentlichen Thema: Ich möchte also nun mit der Programmierung in C# anfangen, wobei ich Datenbanken brauche. (ein Paar Grundlegende C#-Dinge sind schon vorhanden)
Jetzt habe ich mich gefragt was brauche ich nun dafür. Wenn man im Internet mit PHP + mySQL programmieren will, braucht man ja auch Webspace + Datenbanken. Was brauche ich denn wenn ich auf meinem PC lokal mit Datenbanken hantieren will. Muss ich dafür irgendwas runterladen und installieren oder wie sieht das aus?

Bin für jede Antwort dankbar.

mfg
Söckchen

22.08.2006 - 18:18 Uhr

Original von purplestar

Original von Söckchen
Muss ich halt warten bis wir das Thema mal im Informatik-LK durchnehmen...

... oder das Heft selbst in die Hand nehmen und ein Buch(oder zwei..) durcharbeiten, im I-net suchen etc. 😉

Dies habe ich ja gemacht...hab viel gesucht und habe mir da schon gesagt: Du schreibst erst hier, wenn du wirklich nichts findest...

Ich denke ich habe nichts gefunden oder ich habe was gefunden, aber es nicht verstanden... 🙁

22.08.2006 - 17:45 Uhr

Original von Lord Hessia
Sorry Söckchen, aber ich muss frisch schon insoweit zustimmen, dass Du Dir zumindest zum Thema Konstruktoren mal ein Buch oder Tutorial antun solltest.

Aber nochmal kurz zu Deiner Frage, weil's schnell beantwortet ist: Mit new Form1(args[0]) wird der Konstruktor aufgerufen, den ich vorhin gepostet habe. Du musst den natürlich noch erstellen, denn sonst ist der nicht vorhanden und es gibt den von Dir beschriebenen Fehler.

Wollte euch damit ja auch nicht angreifen 😉

Jedoch werde ich es jetzt aufgeben, weil wie schon gesagt bin ich Blutiger Anfänger und habe momentan irgendwie keine Ahnung was ich jetzt genau machen soll. 😁

Muss ich halt warten bis wir das Thema mal im Informatik-LK durchnehmen...

22.08.2006 - 17:32 Uhr

Original von frisch
das geht nicht, [...]

Worauf ist das bezogen? Auf das öffnen der Datei per Doppelklick oder auf die Überladung des Constructers, so wie ich es vorhatte?

Original von frisch
Sowas gehört zu den basics und man lernt sowas nicht in einem Forum deshalb empfehle ich an dieser Stelle wieder ein Buch zu lesen!

Warum lernt man sowas nicht im Forum? Ich von meinem jetzigen Wissen von Delphi 60% im Forum gelernt, 40% mit Tutorials im Internet. Es geht also auch ohne Bücher.

Deswegen verstehe ich nicht, warum ihr nicht wenigstens nen Lösungsansatz geben könntet. (Nicht nur auf mein Thema bezogen, ist mir hier schon oft aufgefallen 😉 )

Original von Lord Hessia
Du musst in Deiner Form1-Klasse einen weiteren Konstruktor anbieten, der so aussieht:

public Form1(String appName) {  
  // Die Datei öffnen  
}  

Ist das auf die Überladung bezogen, also mit dem Code den ich in meinem ersten Beitrag angegeben habe, oder kann ich alleine mit deinem vorgeschlagenen Code das realisieren was ich vorhabe?

mfg
Söckchen

22.08.2006 - 17:18 Uhr

Hallo mycsharp'ler,

dies ist mein erster Beitrag hier im Forum und ich muss euch erstmal danken, denn ihr habt mir schon oft weitergeholfen. Nur diesmal finde ich patu keine Lösung (SuFu schon benutzt)!

Ich muss dazu sagen, ich programmiere mit C# erst seit knapp ( 🤔 ) 5 Tagen. Erfahrung mit Programmierung hatte ich schon, deswegen habe ich mich nun einfach mal rangetraut, einen Texteditor zu programmieren. Er kann nichts besonderes ausser:
1.Man kann Text schreiben 😉

1.Dateien öffnen 1.Dateien speichern

Das klappt auch alles soweit super, aber jetzt habe ich wie schon geschrieben ein Problem:

Ich speicher die Textdateien mit einer Dateiendung die sonst kein (mir bekannetes Programm) nutzt, nämlich .stef (warum soll jetzt mal egal sein 🙂 ). Habe Windows auch schon so weit verknüpft, dass bei einem Doppelklick auf eine .stef Datei automatisch mein Texteditor aufgeht. Aber er geht halt nur auf, ohne den Inhalt der Datei.

Habe per Suche etwas gefunden, was folgendermaßen aussah:

public static void Main(String[] args)
        {
            if (args.Length > 0){
                 Application.Run(new Form1(args[0]));
                
            }else{
                 Application.Run(new Form1());
            }  
        }

Jedoch sagt mir C# jetzt immer:

Fehler 1 Keine Überladung für die Form1-Methode nimmt 1 Argumente an.

Kann mir jemand sagen, wass ich nun tun muss?

Schonmal Danke für eure Antworten.

mfg
Söckchen