Excel in VS einbinden?

Hallo,

aktuell erstelle ich ein Programm mit C#, welches Daten, die ich eingebe, in Excel einfügt. Um Excel zu verwenden, habe ich das EPPlus NuGet-Paket installiert. Irgendwie gab es dort Probleme mit dem Zugriff (Datenschutz). Daher wollte ich die Excel-Datei direkt in Visual Studio einfügen und sie so direkt bearbeiten. Dafür bin ich auf die Projektmappe gegangen, habe einen Rechtsklick gemacht, "Hinzufügen" ausgewählt, dann "Vorhandenes Element" und schließlich die zuvor erstellte (gespeicherte .xlsx) Datei aus Excel ausgewählt.

Danach kam immer die Meldung: "Entweder wird das Dokumentformat nicht unterstützt, oder das Dokument enthält binäre Zeichen, die mit einer anderen Anwendung geöffnet werden müssen."

Ich kann die Meldung bestätigen, und die Excel-Datei wird im Projektfenster als Element angezeigt. Allerdings funktioniert mein Code nicht, weil die Excel-Datei nicht richtig eingebunden wurde.

Zur Excel-Datei:

Ich habe in Excel einfach eine leere Arbeitsmappe erstellt und diese in einem leeren Ordner als "Ernährungsdaten.xlsx" abgespeichert, natürlich ohne Schreibschutz.

Wie man am Namen erkennen kann, geht es um Ernährungsdaten, die verarbeitet werden. Später kommen auch noch Datenbanken usw. hinzu und Vorgänge werden automatisiert. Allerdings muss ich jetzt erst einmal die Excel-Datei richtig einbinden.

Ich hoffe, Ihr könnt mir helfen.

Danke im Voraus.

Microsoft Excel, C Sharp, Visual Studio
Box collider funktioniert nicht mit rb.MovePosition?

Ich habe mit Unity angefangen und habe ein kleines problem:
Und zwar habe ich eine kamera mit boxcollider und einen terrain mit terraincollider. Nur leider kann ich die kamera durch das terrain durchschieben! Ich habe schon den verdacht dass es an rb.MovePosition liegt aber weiß nicht wie ich das reparieren kann! Alles wie zumbeispiel rigidbody sind auf der kamera da bin ich mir sicher! Es kommt auch kein Fehler in der Konsole!
Mein Kompletter code:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class SmoothMove : MonoBehaviour
{
   public float rotationSpeed = 2.0f;
   public float smoothRotationFactor = 5.0f;
   private float yaw = 0.0f;
   private float pitch = 0.0f;

   public float jumpForce = 10.0f;
   public float moveSpeed = 20.0f;
   private Rigidbody rb;
   private bool isMovingForward = false;

   private void Start()
   {
       rb = GetComponent<Rigidbody>();
   }

   private void Update()
   {
       HandleCameraRotation();

       if (Input.GetKeyDown(KeyCode.Space))
       {
           Jump();
       }

       if (Input.GetKeyDown(KeyCode.UpArrow))
       {
           StartMovingForward();
       }

       if (Input.GetKeyUp(KeyCode.UpArrow))
       {
           StopMovingForward();
       }

       if (isMovingForward)
       {
           MoveForward();
       }
   }

   private void HandleCameraRotation()
   {
       if (Input.GetMouseButton(0))
       {
           yaw += rotationSpeed * Input.GetAxis("Mouse X");
           pitch -= rotationSpeed * Input.GetAxis("Mouse Y");
           Quaternion targetRotation = Quaternion.Euler(pitch, yaw, 0.0f);
           transform.rotation = Quaternion.Lerp(transform.rotation, targetRotation, Time.deltaTime * smoothRotationFactor);
       }
   }

   private void Jump()
   {
       rb.velocity = new Vector3(rb.velocity.x, rb.velocity.y + 5, rb.velocity.z);
   }

   private void StartMovingForward()
   {
       isMovingForward = true;
   }

   private void StopMovingForward()
   {
       moveSpeed = 20f;
       isMovingForward = false;
   }

   private void MoveForward()
   {
       moveSpeed += 0.1f;
       Vector3 forwardDirection = transform.forward;
       forwardDirection.y = 0.0f; // Keep movement on the horizontal plane
       rb.MovePosition(rb.position + forwardDirection * moveSpeed * Time.deltaTime);
   }
}

Ich würde mich sehr freuen wenn ihr mir helft. Danke :)

C Sharp, Code, Programmiersprache, Spieleentwicklung, Unity 3D, Visual Studio, Unity
Hallo ich habe ein Code in Unity wo es eine Fehlermeldung gibt die ich nicht verstehe. Könnt ihr mir helfen?

Die Fehlermeldung lautet

Schweregrad Code Beschreibung Projekt Datei Zeile Unterdrückungszustand

Fehler CS1061 "Animation" enthält keine Definition für "SetBool", und es konnte keine zugängliche SetBool-Erweiterungsmethode gefunden werden, die ein erstes Argument vom Typ "Animation" akzeptiert (möglicherweise fehlt eine using-Direktive oder ein Assemblyverweis). Assembly-CSharp C:\Users\Me\2d platform\Assets\Player.cs 27 Aktiv

Der ganze Code ist

public class Player : MonoBehaviour

{

  public float speed = 5;

  private Rigidbody2D rb;

  public float jumph = 5;

  private bool ig =false;

  private Animation anim;

  // Start is called before the first frame update

  void Start()

  {

    rb = GetComponent<Rigidbody2D>();

    anim = GetComponent<Animation>();

  }

  // Update is called once per frame

  void Update()

  {

    float richtung = Input.GetAxis("Horizontal");

    if(richtung != 0)

    {

      anim.SetBool("IsRunning", true);

    }

    else

    {

      anim.SetBool("IsRunning", false);

    }

    transform.Translate(Vector2.right * speed * richtung * Time.deltaTime);

    if (Input.GetKeyDown(KeyCode.Space) && ig)

    {

      rb.AddForce(Vector2.up * jumph, ForceMode2D.Impulse);

      ig = false;

    }

  }

  private void OnCollisionEnter2D(Collision2D collision)

  {

    if(collision.gameObject.tag == "g")

    {

      ig = true;

    }

  }

}

C Sharp, Code, Programmiersprache, Visual Studio, Unity, unity 2d
Windows Forms Taschenrechner: Komma-Problem?

Hallo ich erstelle derzeit einen Taschenrechner in Windows Forms.

Ich bin eigentlich fertig mit dem Taschenrechner, bin aber leider jetzt am Schluss auf ein Problem gestoßen, was ich nicht gelöst bekomme:

Wenn ich als Aufgabe 12,4 + 3 eingebe, kommt 127 raus. Ich verstehe aber einfach nicht warum. Es hat die ganze Zeit funktioniert und plötzlich nicht mehr. Vielleicht habe ich ja unbewusst etwas geändert.

Hier der Codeabschnitt, der etwas mit dem Komma zu tun hat (ich kann leider nicht den gesamten Code einfügen, da 500 Zeilen -> erweiterter Taschenrechner):

Imports System.Globalization
Imports System.Text.RegularExpressions

Public Class Form1
  Public Property zahl As String = ""
  Public Property calc As String = ""
  Dim input As String = ""

  Private Function GetDezimalTrennzeichen() As String
    Return CultureInfo.CurrentCulture.NumberFormat.NumberDecimalSeparator
  End Function

  Private Sub bcomma_Click(sender As Object, e As EventArgs) Handles bcomma.Click
    tb.Text += GetDezimalTrennzeichen()
  End Sub

  Private Sub bsolve_Click(sender As Object, e As EventArgs) Handles bsolve.Click
    ' ...
    Dim input As String = tb.Text
    input = input.Replace(",", ".")
    ' ...
  End Sub

  Private Function EvaluateExpression(expression As String) As Double
    ' ...
    Dim sqrtRegex As New Regex("sqrt\(([^()]+)\)")

    While sqrtRegex.IsMatch(expression)
      input = sqrtRegex.Replace(input, Function(match)
      Dim innerExpression As String = match.Groups(1).Value
      Dim result As Double = EvaluateExpression(innerExpression)

      If result >= 0 Then
        Return Math.Sqrt(result)
      Else
        ' Wenn das Ergebnis negativ ist, wird eine Exception ausgelöst
        Throw New ArithmeticException("Negatives Ergebnis")
      End If
  End Function)
  End While
  ' ...
End Function

Danke schon einmal.

Visual Basic, Taschenrechner, Visual Studio, Windows Forms
mehrere Zahlen ausrechnen Windows Forms Taschenrechner?

Hallo,

Ich habe folgendes "Problem", habe meinen TR soweit hinbekommen, dass er Zahl 1 (+-*/) Zahl 2 ausrechnen kann. Nun soll ich Zahl 1 (+-*/) Zahl 2 (+-*/)Zahl 3,... ausrechnen können, stehe dabei leider irgendwie vor einer Wand und bekomme es nicht hin.

Hier der code: (etwas abgekürzt, da sonst zu lang)

Kopf=

Imports System.CodeDom
Public Class form1
  Public Property zahl As String = ""
  Public Property calc As String = ""

Bei alle Zahlen (0-9 sowie .)=

 Private Sub b1_Click(sender As Object, e As EventArgs) Handles b1.Click
    tb.Text += "1"
  End Sub

Delete Button=

 Private Sub bdel_Click(sender As Object, e As EventArgs) Handles bdel.Click
    If (tb.Text.Length > 0) Then
      tb.Text = tb.Text.Substring(0, tb.Text.Length - 1)
    End If
  End Sub
  End Sub

Gleich Button=

 Private Sub bsolve_Click(sender As Object, e As EventArgs) Handles bsolve.Click
    If (calc = "+") Then
      tb.Text = Val(zahl) + Val(tb.Text)
    End If
    If (calc = "-") Then
      tb.Text = Val(zahl) - Val(tb.Text)
    End If
    If (calc = "*") Then
      tb.Text = Val(zahl) * Val(tb.Text)
    End If
    If (calc = "/") Then
      tb.Text = Val(zahl) / Val(tb.Text)
    End If
  End Sub

bei allen Operatoren= (+,-,*,/)

Private Sub bplus_Click(sender As Object, e As EventArgs) Handles bplus.Click
    zahl = tb.Text
    calc = "+"
    tb.Text = ""
  End Sub

Vielen Dank schonmal

Visual Studio, Windows Forms
DialogResult wird nicht erkannt?

Keine Ahnung was da los ist. Quasi den selben code benutze ich in einem anderen Projekt auch und da funktioniert es einwandfrei. Mit einem openFileDialog oder einer MessageBox funktioniert es auch.

Die 2te Form wird über einen button aufgerufen:

private void RenameButton_Click(object sender, EventArgs e)
        {
            using (RenameForm renameForm = new RenameForm())
            {
                if (renameForm.ShowDialog() == DialogResult.OK)
                {
                    //...
                }
                else
                {
                    MessageBox.Show("Test");
                }
            }
        }

Wenn man aber jetzt den button in der 2ten Form drückt wird einem trotzdem die Test MessageBox angezeigt...:

private void btnOK_Click(object sender, EventArgs e)
        {
            NewFileName = textBox1.Text;
            if (string.IsNullOrEmpty(NewFileName))
            {
                MessageBox.Show("Bitte gib einen gültigen Dateinamen ein.", "Ungültiger Dateiname", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return;
            }


            this.DialogResult = DialogResult.OK;
        }

Ich freue mich über jede Hilfe die ich kriegen kann.
Ich mach da schon wieder viel zu lange herum.

programmieren, C Sharp, Code, Visual Studio, Windows Forms
C# Versuch zwei?

Guten Morgen,

ich bin gerade dabei mit dem Programmieren bei C# Anzufangen und bräuchte mal ein wenig Hilfe. Ich habe bis jetzt diesen Code:

using System;
namespace roboter
{
  class Program
  {
    static void Main(string[] args)
    {
      string antwort;
      bool antwortOk;
      string antwortRobo;
      bool antwortOkRobo;
      {
        do
        {
          Console.WriteLine("Guten Tag Herr Baumann, möchten sie meinen Roboter starten? [Ja|Nein]");
          antwort = Console.ReadLine();
          antwortOk = antwort.ToLower() == "ja" || antwort.ToLower() == "nein";
          if (!antwortOk)                                              //Nur die Frage, ob man es starten will
          {
            Console.WriteLine("Bitte geben Sie Ja oder Nein ein");
          }
        } while (!antwortOk);
        do
        {
          Console.WriteLine("Ist die Wand schon da?");
          antwortRobo = Console.ReadLine();
          antwortOkRobo = antwortRobo.ToLower() == "ja" || antwortRobo.ToLower() == "nein";
          if (!antwortOkRobo)                                              //Nur die Frage, ob man es starten will
          {
            Console.WriteLine("Bitte geben Sie Ja oder Nein ein");
          }
          Console.WriteLine("Schritt");
        } while (!antwortOkRobo);
        Console.WriteLine("Drehung");
         
        do
        {
          Console.WriteLine("Möchten Sie eine weitere Aufgabe Berechnen? [Ja|Nein]");
          antwort = Console.ReadLine();
          antwortOk = antwort.ToLower() == "ja" || antwort.ToLower() == "nein";
          if (!antwortOk)
          {                                                    //Nur Frage, ob man ihn nochmal starten soll
            Console.WriteLine("Bitte geben Sie Ja oder Nein ein");
          }
        } while (!antwortOk);
      } while (antwort.ToLower() == "ja") ;
      Console.WriteLine("Bis zum nächsten Mal!");
      Console.ReadKey();
    }
  }
}

Ich würde gerne, dass er nur den Schritt macht, wenn man nein sagt. Und wenn man ja sagt, soll er sich nur drehen und keinen Schritt machen, wie kann ich das am besten umsetzen?

C Sharp, Visual Studio

Meistgelesene Beiträge zum Thema Visual Studio