Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
[Allgemein] -  C# vs Python
#7
Oh ja, bitte dieses Beispiel zeigen.

Zitat:Super! Ich erstelle dir jetzt ein komplettes, praxisnahes Beispiel, das Python und C# kombiniert.
Ziel:
  • Python-Skript erzeugt Daten (z. B. eine Liste von Aufgaben oder Notizen).
  • C#-GUI liest diese Daten ein und zeigt sie übersichtlich in einem Fenster an.
  • Du kannst die Liste in C# erweitern und wieder als JSON speichern, sodass Python sie erneut lesen könnte.
Damit siehst du wie beide Welten zusammenarbeiten, Schritt für Schritt.

1️⃣ Python-Skript:
Code:
tasks.py
import json
import os
file_path = "tasks.json"
# Beispiel-Daten, falls Datei nicht existiert
if not os.path.exists(file_path):
    tasks = [
        {"task": "Einkaufen", "done": False},
        {"task": "Python lernen", "done": True}
    ]
    with open(file_path, "w") as f:
        json.dump(tasks, f, indent=4)
# Lies vorhandene Aufgaben
with open(file_path, "r") as f:
    tasks = json.load(f)
# Ausgabe in Konsole (optional)
for t in tasks:
    status = "✓" if t["done"] else "✗"
    print(f"{status} {t['task']}")
  • Dieses Skript erzeugt die Datei
    Code:
    tasks.json

  • Enthält Aufgaben im JSON-Format
  • Zeigt sie in der Konsole an (optional)

2️⃣ C#-GUI-Projekt (WinForms) –
Code:
TasksReader
2.1 Projektstruktur
Code:
TasksReader/
├─ TasksReader.csproj
├─ Program.cs
├─ Form1.cs
└─ Form1.Designer.cs
2.2 Form1.cs – GUI-Code
Code:
using System;
using System.IO;
using System.Text.Json;
using System.Collections.Generic;
using System.Windows.Forms;
namespace TasksReader
{
    public partial class Form1 : Form
    {
        private string jsonFile = "tasks.json";
        public Form1()
        {
            InitializeComponent();
            LoadTasks();
        }
        private void LoadTasks()
        {
            if (!File.Exists(jsonFile))
            {
                MessageBox.Show("Keine Aufgaben gefunden. Bitte zuerst das Python-Skript ausführen.");
                return;
            }
            string json = File.ReadAllText(jsonFile);
            var tasks = JsonSerializer.Deserialize<List<TaskItem>>(json);
            listBox1.Items.Clear();
            foreach (var t in tasks)
            {
                string status = t.done ? "✓" : "✗";
                listBox1.Items.Add($"{status} {t.task}");
            }
        }
        private void btnAdd_Click(object sender, EventArgs e)
        {
            if (string.IsNullOrWhiteSpace(textBox1.Text))
                return;
            List<TaskItem> tasks = new List<TaskItem>();
            if (File.Exists(jsonFile))
            {
                string json = File.ReadAllText(jsonFile);
                tasks = JsonSerializer.Deserialize<List<TaskItem>>(json);
            }
            tasks.Add(new TaskItem { task = textBox1.Text, done = false });
            string updated = JsonSerializer.Serialize(tasks, new JsonSerializerOptions { WriteIndented = true });
            File.WriteAllText(jsonFile, updated);
            textBox1.Clear();
            LoadTasks();
        }
    }
    public class TaskItem
    {
        public string task { get; set; }
        public bool done { get; set; }
    }
}

2.3 Form1.Designer.cs – GUI-Elemente
Ziehe in Visual Studio auf die Form:
  • ListBox
    Code:
    listBox1

  • TextBox
    Code:
    textBox1

  • Button
    Code:
    btnAdd
    → Text = „Hinzufügen“
Button mit Event verbinden:
Code:
btnAdd.Click += new EventHandler(btnAdd_Click);

3️⃣ So funktioniert das Zusammenspiel
  1. Python-Skript
    Code:
    tasks.py
    erzeugt
    Code:
    tasks.json
    .
  2. C#-GUI liest
    Code:
    tasks.json
    ein und zeigt Aufgaben in einer ListBox an.
  3. Du kannst in der GUI neue Aufgaben hinzufügen → JSON wird aktualisiert.
  4. Python kann die Datei erneut lesen oder bearbeiten.

4️⃣ Vorteile dieses Ansatzes
  • Python bleibt für Datenverarbeitung, Skripte und Automation zuständig.
  • C# übernimmt die komfortable GUI auf Windows.
  • JSON als gemeinsames Austauschformat → plattform- und sprachübergreifend.
  • Leicht erweiterbar: Checkboxen, Filter, Sortierung, Aufgaben löschen.

5️⃣ Optionaler Ausbau
  • Aufgaben als erledigt markieren (Checkbox in ListBox)
  • Python-Skript erweitert Aufgaben automatisch (z. B. Web-Abfrage, Kalender)
  • Mehrere JSON-Dateien verwalten
  • GUI verbessert mit WPF oder MAUI

Wenn du willst, kann ich dir noch ein fertiges kleines Projekt bauen, das Python- und C#-Code direkt beim Start verbindet, sodass das GUI automatisch das Python-Skript ausführt und die Daten lädt – ein voll integriertes Mini-Task-Manager-Tool.
Willst du, dass ich das erstelle?
Zitieren Return to top


Nachrichten in diesem Thema
C# vs Python - von Joopi - Vor 3 Stunden
RE: C# vs Python - von Joopi - Vor 3 Stunden
RE: C# vs Python - von Joopi - Vor 3 Stunden
RE: C# vs Python - von Joopi - Vor 3 Stunden
RE: C# vs Python - von Joopi - Vor 3 Stunden
RE: C# vs Python - von Joopi - Vor 3 Stunden
RE: C# vs Python - von Joopi - Vor 3 Stunden
RE: C# vs Python - von Joopi - Vor 3 Stunden
RE: C# vs Python - von Joopi - Vor 3 Stunden
RE: C# vs Python - von Joopi - Vor 3 Stunden
RE: C# vs Python - von Joopi - Vor 3 Stunden
RE: C# vs Python - von Joopi - Vor 3 Stunden
RE: C# vs Python - von Joopi - Vor 3 Stunden
RE: C# vs Python - von Joopi - Vor 3 Stunden
RE: C# vs Python - von Joopi - Vor 3 Stunden
RE: C# vs Python - von Joopi - Vor 3 Stunden
RE: C# vs Python - von Joopi - Vor 3 Stunden
RE: C# vs Python - von Joopi - Vor 3 Stunden
RE: C# vs Python - von Joopi - Vor 3 Stunden
RE: C# vs Python - von Joopi - Vor 3 Stunden

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: