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 Jonas007
Thema: Excel Daten in C# Code verarbeiten
Am im Forum: Office-Technologien

Ok, danke dir. Schade, dass das nicht so einfach gehen kann. Ich wollte eigentlich nur schnell etwas herumspielen und mich ausprobieren. Dann lass ich das wohl :(

Thema: Excel Daten in C# Code verarbeiten
Am im Forum: Office-Technologien

Hallo liebe Community!
Ich habe leider nicht passendes für mein Problem gefunden und auch schon einiges herumprobiert. Ich möchte einfach mal grundlegend einfach excel Zellen in meinen Code als string einlesen.
Hier mein gescheiterter Versuch:


using System;
using Microsoft.Office.Interop.Excel;

namespace ReadExcelFiles
{
    class Excel
    {
        private string path;
        private int sheet;
        private Application excel = new Application();
        private Workbook wb;
        private Worksheet ws;

        public Excel(string path, int sheet)
        {
            wb = excel.Workbooks.Open(path);
            ws = (Worksheet)wb.Worksheets[sheet];
        }

        public string ReadCell(int a, int b)
        {
            return ws.Cells[a, b].ToString();
        }
    }
}

Mir wäre Extrem geholfen wenn diese sehr einfache Klasse funktionieren würde und ich hoffe ihr versteht, was ich zu erreichen versuche. Wenn das mal grundlegend klappt, sollte ich alleine weiterkommen.
Danke schonmal im voraus :)

Thema: Ist string ein Werttyp oder ein Referenztyp?
Am im Forum: Grundlagen von C#

Ich danke dir für die schnelle Antwort. Obwohl ich hier bereits gesucht habe, bevor ich die Frage gestellt habe, habe ich leider nichts dazu gefunden

Thema: Ist string ein Werttyp oder ein Referenztyp?
Am im Forum: Grundlagen von C#

Hallo an alle!
Ich habe leider mal wieder eine eher blöde Frage: ist string nun ein Werttyp oder ein Referenztyp. Ich dachte eigentlich es ist ein Referenztyp aber wenn das so wäre, dann würde das hier funktionieren:


        static void DeleteAllSpaces(string s)
        {
            string temp = "";
            for (int i = 0; i < s.Length; i++)
            {
                if (s[i] != ' ')
                {
                    temp += s[i];
                }
            }
            s = temp;
        }

Diese Methode sollte alle Leerzeichen eines strings entfernen jedoch passiert das nicht. Wenn ich den string s jedoch mit dem Schlüsselwort "ref" übergebe, dann funktioniert es. Heißt das nun, dass string ein Werttyp ist? Ich bin verwirrt, bitte erklärt mir das jemand.

Vielen Dank schonmal im vorraus und LG

Thema: [erledigt] Wie programmiere ich einen performanten Bruteforce-Algorithmus?
Am im Forum: Rund um die Programmierung

Danke dir. Ich bin in diesem Beitrag auf den Johnson Trotter Algorithmus gestoßen, der mein Problem löst. Mit Hilfe dieses Grundalgorithmuses kann ich meine Idee umsetzen.

Thema: [erledigt] Wie programmiere ich einen performanten Bruteforce-Algorithmus?
Am im Forum: Rund um die Programmierung

Im Prinzip kann man mein Problem ziemlich vereinfachen: Ich suche eine Methode, welche alle Möglichkeiten einer Liste angibt:


public static int[,] Combinations(int[] arr)
{
    // Algorithmus
}

Die Augabe sollte dann ein 2D Array (Tabelle) sein, wo nacheinander alle Möglichkeiten der List aufgelistet werden.
Im Grunde genau das, was diese Website, die ich gerade gefunden habe erledigt: https://www.zum.de/Faecher/Materialien/gebhardt/stochastik/Kombin.html

Bsp:


int[] arr = new int[3] {1, 2, 3}
int[,] arr2D = Combinations;

// Ausgabe beim Durchlaufen des arr2D:
// 123
//132
//213
//231
//312
//321


Ich hoffe ihr versteht was ich versuche. Und bereits vielen Dank für die zahlreichen Antworten

Thema: [erledigt] Wie programmiere ich einen performanten Bruteforce-Algorithmus?
Am im Forum: Rund um die Programmierung

Mein Ziel ist es Algorithmen besser zu verstehen und einfach etwas zu üben. Ich dachte mir ein Brute Force Algorithmus, sprich einfach alle Lösungen auszuprobieren, sollte einfach sein jedoch schaffe ich es nicht. Ich habe bereits viel effizienter Sortier Algorithmen gesehen, verstanden und selbst programmiert jedoch ist es bedauernd, dass ich so einen scheinbar einfachen Algorithmus nicht schaffe.

Thema: [erledigt] Wie programmiere ich einen performanten Bruteforce-Algorithmus?
Am im Forum: Rund um die Programmierung

Hallo liebe Community,

Ich habe bereits einen eher schlechten Brute Force Algorithmus programmiert, der ein Array so lange "mischt", bis es sortiert ist. Jedoch möchte ich jetzt einen guten Brute Force Sortieralgorithmus schreiben, welcher nicht zufällig mischt, sondern nacheinander alle Möglichkeiten, die es gibt probiert.
Ich habe es bereits mit vielen Ansätzen probiert, jedoch nicht geschafft. Auch im Internet bin ich leider nicht fündig geworden.

Ich hoffe, dass mir jemand weiterhelfen kann!
LG Jonas ;)

Thema: [gelöst] Wie kann ich eine eigene Component benutzen?
Am im Forum: GUI: Windows-Forms

Hallo liebe Community,
ich habe eine eigene Component erstellt:


class MyComponent : Component
{
// Code...
}

Leider weiß ich nicht, wie ich dieses benütze, also es in der Form1.cs [Entwurf] anzeigen lasse. Wenn ich es selbst im Form1.Designer.cs schreibe, dann bekomme ich eine Fehlermeldung.

edit: Ich konnte das Problem nach zahlreichen probieren selbst lösen: Ich musste in der Menüleiste auf Erstellen --> <Dateiname> erstellen klicken. Dann wurde der Component in der Toolbox angezeigt

Thema: [erledigt] Zeit messen
Am im Forum: Grundlagen von C#

Hallo liebe Community,
ich will folgendes machen: Nach einer zufälligen Zeit zwischen 300 und 3000 Millisekunden soll etwas ausgeführt werden (In diesem Fall eine Ausgabe an der Console). Ich wollte wissen, was an meiner Denkweise falsch ist, bzw. wie man das hier richtig lösen könnte.


            Random random = new Random();
            TimeSpan startAction = new TimeSpan();
            DateTime start = new DateTime();

            startAction = TimeSpan.FromMilliseconds(random.Next(300, 3000));
            start = DateTime.Now + startAction;

            while (true)
            {
                if (DateTime.Now == start)
                {
                    Console.WriteLine("\tHallo Welt");
                    break;
                }
            }


edit: Ich weiß, dass ich es auch mit einem Timer lösen könnte, jedoch würde mich interessieren was an diesem Code programmtechnisch nicht funktioniert

Danke schonmal im voraus!
Mit freundliche Grüßen
Jonas

Thema: [erledigt] Das Button_KeyDown Event ignoriert Druck auf die Pfeiltasten
Am im Forum: GUI: Windows-Forms

Ich habe den Button beim Click Event deaktiviert und das PreviewKeyDown Event benutzt und es klappt. Danke dir!

Thema: [erledigt] Das Button_KeyDown Event ignoriert Druck auf die Pfeiltasten
Am im Forum: GUI: Windows-Forms

Hallo Th69,

du hast recht es ist noch für das Snake-Spiel. Ich wollte ursprünglich einfach einen Start-Button integrieren da es davor einfach gleich losgestartet ist. Das Problem war dann der Fokus. Ich habe es dann sogar geschafft den Fokus von Button wegzunehmen jedoch hat es trotzdem nicht funktioniert da der Fokus irgendwie nicht auf der Form selbst war. Die Steuerung meiner Snake geht über das Form1_KeyDown Event. Mein provisorischer Plan wäre dann gewesen die Steuerung Button Keydown Event an das Form1_Keydown Event weiterzuleiten. Und dann kam ich an mein nächstes Problem: Die Pfeile wurden nicht erkannt. Diesen provisorischen Plan könnte ich jedoch gleich umgehen, wenn ihr mir helfen könntet :)

Thema: [erledigt] Das Button_KeyDown Event ignoriert Druck auf die Pfeiltasten
Am im Forum: GUI: Windows-Forms

Wie gesagt, ich habe gegoogelt und bin auf diese Lösungen gekommen jedoch hat alles was ich gefunden habe nicht funktioniert bzw. ich habe mich nicht ausgekannt :(
Deshalb habe ich hier nochmal auf deutsch nachgefragt ob mir das jemand erklären kann

Thema: [erledigt] Das Button_KeyDown Event ignoriert Druck auf die Pfeiltasten
Am im Forum: GUI: Windows-Forms

Hallo liebe Community,
Das Button_KeyDown Event erkennt/ignoriert meine Pfeile. Nach ein wenig Recherche habe ich herausgefunden, dass man dieses (unten angeführt) Event benutzen soll und es dann klappt. Jedoch funktioniert es bei mir nicht. Benutze ich das Event falsch? Was kann ich machen damit es funktioniert?


        private void btn_start_PreviewKeyDown(object sender, PreviewKeyDownEventArgs e)
        {
            e.IsInputKey = true;
        }

Beste Grüße
Jonas

Thema: [erledigt] Snake-Spiel startet neu, wenn zwei Tasten gleichzeitig gedrückt sind
Am im Forum: GUI: Windows-Forms

Zitat
Ich kann nicht erkennen, wieso der Titel nun "erledigt" ist; aber wenn Du wirklich null Anhaltspunkte hast, was Schief läuft (auch nicht mit [Artikel] Debugger: Wie verwende ich den von Visual Studio?), dann kannst Du das Projekt hochladen.

Ich bin heute ganz zufällig darauf gekommen was der Fehler war. Es ist schwierig zu erklären aber die Sache hat sich für mich erledigt. Danke an alle die so schnell bereit waren mir zu helfen :)

Thema: [erledigt] Snake-Spiel startet neu, wenn zwei Tasten gleichzeitig gedrückt sind
Am im Forum: GUI: Windows-Forms

So lese ich die Tasten ein. Kann es sein, dass ich eventuell das falsche Event gewählt habe?


        private void Form1_KeyDown(object sender, KeyEventArgs e)
        {
            switch (e.KeyCode)
            {
                case Keys.W:
                case Keys.Up:
                    if (snakeDirection != SnakeDirection.Down)
                    {
                        snakeDirection = SnakeDirection.Up;
                    }
                    break;
                case Keys.D:
                case Keys.Right:
                    if (snakeDirection != SnakeDirection.Left)
                    {
                        snakeDirection = SnakeDirection.Right;
                    }
                    break;
                case Keys.S:
                case Keys.Down:
                    if (snakeDirection != SnakeDirection.Up)
                    {
                        snakeDirection = SnakeDirection.Down;
                    }
                    break;
                case Keys.A:
                case Keys.Left:
                    if (snakeDirection != SnakeDirection.Right)
                    {
                        snakeDirection = SnakeDirection.Left;
                    }
                    break;
            }
        }

Thema: [erledigt] Snake-Spiel startet neu, wenn zwei Tasten gleichzeitig gedrückt sind
Am im Forum: GUI: Windows-Forms

Ich würde ja das Problem beschreiben und den dazu relevanten Code hochladen, jedoch weiß ich weder was und wo der Fehler ist. Ich dachte mir ich lade das ganze Programm hoch, da es ja "nur" 200 Zeilen Code sind

Thema: [erledigt] Snake-Spiel startet neu, wenn zwei Tasten gleichzeitig gedrückt sind
Am im Forum: GUI: Windows-Forms

Hallo liebe Community!

Ich habe in Windows Forms mein erstes Snake Spiel programmiert und bereits jetzt, wo das Spiel noch nicht ganz fertig ist, einen Fehler den ich alleine bzw. mit Hilfe des Internets nicht lösen konnte. Und zwar:
Wenn die Schlange sich nach links bewegt und man die Tasten unterer oder oberer Pfeil und rechts benutzt, startet das Spiel neu. Wenn die Schlange sich nach rechts bewegt und man die Tasten unterer oder oberer Pfeil und linksbenutzt, startet das ebenfalls Spiel neu, usw.. Ich finde meinen Fehler nicht und weiß auch nicht woran es liegen könnte. Ich würde mich sehr darüber freuen, wenn mir da jemand weiterhelfen könnte :)

Thema: [erledigt] Installation der ClickOnce App auf den Desktop schlägt fehl
Am im Forum: GUI: Windows-Forms

Hallo liebe Community!

Ich habe eine Windows Forms App erstellt (Name: Shutdown_Timer) und wollte sie veröffentlichen und am Desktop installieren. Jedoch kommt dabei folgende Fehlermeldung:

Wenn ich dann auf Details gehe steht in der Fehlerzusammenfassung:
* Die Aktivierung von C:\Users\Jonas\Desktop\Shutdown_Timer.application führte zu einer Ausnahme. Folgende Fehlermeldungen wurden entdeckt:
+ Sie können die Anwendung Shutdown_Timer nicht von diesem Ort starten, da sie bereits an einem anderen Ort installiert wurde .
+ Sie können die Anwendung nicht Shutdown_Timer von Ort file:///C:/Users/Jonas/Desktop/Shutdown_Timer.application starten. Sie ist bereits an Ort file:///C:/Users/Jonas/Desktop/PGM/Shutdown_Timer.application installiert.


Der Ordner "PGM" existiert jedoch nicht einmal! Ich weiß nicht was ich machen soll, ich habe bereits einiges probiert, mehrmals neu gestartet. Ich habe auch schon das Programm auf einen USB Stick gespeichert und anschließend meinen gesamten PC nach "Shutdown_Timer" durchsucht und ALLES gelöscht. Als ich das Programm vom USB Stick wieder auf den PC kopiert habe und es neu veröffentlichte kam dieselbe Fehlermeldung :(

Ich hoffe mir kann da jemand weiterhelfen, da ich die App gerne auf dem PC haben (also dann auf dem Desktop).

Thema: [erledigt] Das aktuelle Fenster minimieren
Am im Forum: GUI: Windows-Forms

Hallo liebe Community!
Ich habe ein Fenster in Windows Forms erstellt und möchte es mit der ESC Taste minimieren sodass es im Hintergrund weiter läuft.


        private void Form1_KeyDown(object sender, KeyEventArgs e)
        {
            switch (e.KeyCode)
            {
                case Keys.Escape:
                    // Welche Anweisung muss hier stehen?
                    break;
            }
        }

So wie ich das hier stehen habe sollte es funktionieren - bzw. andere Tasten erfüllen bereits ihre Aktion und es klappt so wie ich will. Jedoch weiß ich nicht wie ich es mache dass sich das aktuelle Fenster schließt. Welche Anweisung muss da oben stehen?

Danke schonmal im voraus!

Thema: [erledigt] Eine Switchanweisung mehrfach ausführen
Am im Forum: Grundlagen von C#

Hallo liebe Community,
Die folgende Methode benötige ich um in einem einfachen Tic Tac Toe Spiel, gemacht in einer Windows Forms-App, gegen einen Computer zu spielen, wobei ich vorgesehen habe, dass das Programm seinen Zug zufällig setzt. Ihr seht hier nur einen Ausschnitt der Methode jedoch hoffe ich, dass ihr versteht wie ich es aufgebaut habe. Meine Frage ist, wie ich, wenn das Programm zu den Punkten Y1 oder Y2 kommen sollte, es wieder zurück zu Punkt X geht, eine neue Zufallszahl generiert und das "o" auf ein Feld schreibt welches leer ist. Ich habe bereits versucht das Problem mit einer Schleife zu lösen, habe es aber nicht geschafft. Ich bin ein völliger Programmieranfänger und wollte fragen ob man das Problem so lösen kann wie ich mir das vorstelle (mit irgendeinem Befehl von den Y-Punkten zu Punkt X zu kommen) oder ich das Problem irgendwie anders lösen könnte.


       Random Genertor = new Random();
       public void Computerzug()
        {
                // Punkt X
                switch (Genertor.Next(1, 10))
                {
                    case 1:
                        if (button1.Text == "")
                        {
                            button1.Text = "o";
                        }
                        else
                        {
                            if (button1.Text == "x")
                            {
                              // Punkt Y1
                            } 
                        }
                        break;
                    case 2:
                        if (button2.Text == "")
                        {
                            button2.Text = "o";
                        }
                        else
                        {
                            if (button2.Text == "x")
                            {
                              // Punkt Y2
                            }
                        }
                        break;
                        .
                        .
                        .


Danke, Jonas ;)