C Sharp – die neusten Beiträge

C# User Login: Passwort-Hash vergleichen?

Hallo,

ich programmiere eine Anwendung, in der man Adressen mit SQL-Server verwalten kann. Man kann Benutzer anlegen und sich mit denen beim Start der Anwendung einloggen.

Nun möchte ich das Passwort hashen. Beim Erstellen des Benutzers wird bereits ein Hashwert generiert und in der Passwort-Spalte in der Datenbank angezeigt. Beim Einloggen soll auch das Passwort gehasht werden und dann der Hash vom Einloggen mit dem aus der Datenbank auf Übereinstimmung verglichen werden.

Ich habe mich an folgendem Tutorial orientiert: https://dotnetcodr.com/2017/10/26/how-to-hash-passwords-with-a-salt-in-net-2/

Ich generiere also immer einen zufälligen Hashwert und das auch beim Einloggen. Wenn ich dann also den Hash vom Einloggen mit dem aus der Datenbank pvergleiche, können die nie übereinstimmen, weil eben bei beiden immer ein zufälliger Wert generiert wird.

Hash (beim Erstellen des Benutzers):

public HashWithSaltResult HashWithGenericSalt(string password, int saltLength, HashAlgorithm hashAlgo)
{
    RNG rng = new RNG();
    byte[] saltBytes = rng.GenerateRandomCryptographicBytes(saltLength);
    byte[] passwordAsBytes = Encoding.UTF8.GetBytes(password);
	List<byte> passwordWithSaltBytes = new List<byte>();

    passwordWithSaltBytes.AddRange(saltBytes);
    passwordWithSaltBytes.AddRange(passwordAsBytes);
    byte[] digestBytes = hashAlgo.ComputeHash(passwordWithSaltBytes.ToArray());

    return new HashWithSaltResult(Convert.ToBase64String(saltBytes), Convert.ToBase64String(digestBytes));
}

Hash (beim Einloggen):

public HashWithSaltResult HashWithSalt(string password, string salt, HashAlgorithm hashAlgo)
{
	// Wie hashe ich beim einloggen?
}

Einloggen:

using (var context = new PersonDbContext())
{
	var query = from p in context.Benutzers where textBoxVorname.Text == p.Vorname && textBoxName.Text == p.Name && HashResultSha512.Digest == p.PasswortDigest select p;
    HashPassword();
}

public void HashPassword()
{
    PasswordWithSaltHasher pwHasher = new PasswordWithSaltHasher();
    HashResultSha512 = pwHasher.HashWithSalt();

    db.CheckBenutzerLogin(textBoxVorname.Text, textBoxPasswort.Text, HashResultSha512.Salt, HashResultSha512.Digest);
}

Was muss ich in

public HashWithSaltResult HashWithSalt

schreiben, damit er den Hashwert aus der Datenbank verwendet und nicht wieder einen neuen Wert generiert?

SQL, programmieren, Passwort, Login, C Sharp, SQL-Server, Visual Studio

Wie kann ich mit einem C# Programm die Nullstellen einer quadratischen Gleichung ausrechnen?

Ich hab es so versucht, jedoch treten ständig fehler auf (a soll a sein , b b und c c, d soll die diskriminante sein, e die LF bzw. Mitternachtsformel mit -b+... und f -b-...)

Ich hoffe ihr findet meinen Fehler. double nthRoot = Math.Pow(d) soll übrigens die Wurzel aus d sein, dies abe ich aus einem Bericht aus dem Internet, jedoch wird mir dies auch immer als Fehler angezeigt.

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace Quadratische_Gleichung_lösen_Jakob
{

  public partial class Form1 : Form
  {
    double a, b, c;
    double n = 2;

    private void button1_Click(object sender, EventArgs e)
    {
      a = Convert.ToDouble(textBox1.Text);
      b = Convert.ToDouble(textBox2.Text);
      c = Convert.ToDouble(textBox3.Text);
      d = (b * b) - (4 * a * c);
      e = (-b + (double nthRoot = Math.Pow(d)/ (2 * a));
      f = (-b - (double nthRoot = Math.Pow(d)/ (2 * a));
    }
     
    double d, e, f;
    public Form1()
    {
      InitializeComponent();
      label1.Text = "a=";
      label2.Text = "b=";
      label3.Text = "c=";
      label4.Text = "x1=";
      label6.Text = "x2=";
      label5.Text = e.ToString();
      label7.Text = f.ToString();
    }
  }
}
Computer, Schule, Mathematik, programmieren, C Sharp, Visual Studio, microsoft visual studio

C# Datagridview/Datenbank bearbeiten mit Button?

Hallo, ich versuche gerade Einträge in einem Datagridview zu bearbeiten. Ich habe also das Datagridview, einen Bearbeiten Button und eine zweite Form die sich beim klicken auf den Bearbeiten Button öffnet. Ich wähle also einen Eintrag im Grid aus z.B. mit ID: 1 Vorname: Max Nachname: Mustermann. Dann steht im sich öffnenden Fenster nach dem klick auf bearbeiten die ID: 1 Vorname: Max Nachname: Mustermann alles in einer eigenen Textbox, genauso wie ich es haben will. Jetzt ist aber das Problem, wenn ich den Namen z.B. auf Musterfrau ändern will und auf Ok klicke ändert sich der Name im Grid nicht zu Musterfrau sondern bleibt unverändert bei Mustermann.

Bearbeiten Button in der ersten Form:

private void buttonBearbeiten_Click(object sender, EventArgs e)
		{
				var selectedRow = PersonDataGridView.SelectedRows[0];
				var selectedPerson = (Person)selectedRow.DataBoundItem;
            var dlg = new PersonDialog();

            dlg.BindPerson(selectedPerson);
            dlg.ShowDialog();

            if (dlg.DialogResult == DialogResult.OK)
            {
                var person = dlg._selectedPerson;
            
                //_db.EditPerson(person);
                _db.SaveChanges();
                
                füllen();
            }
        }
    }

DbContext:

public DbSet<Person> Personen { get; set; }
public void EditPerson(Person person)
		{
			//Wie bearbeite ich eine Person
            //Beim hinzufügen ist es ja z.B. Personen.Add()
		}

BindPerson-Methode und Ok Button in der zweiten Form(zweite Form wird nach klick auf Bearbeiten Button geöffnet):

public Person _selectedPerson;
    public void BindPerson(Person selectedPerson)
    {
        textBoxID.Text = selectedPerson.Id.ToString();
        textBoxVorname.Text = selectedPerson.Vorname;
        textBoxName.Text = selectedPerson.Name;
        textBoxStrasse.Text = selectedPerson.Straße;
        textBoxHausnummer.Text = selectedPerson.Hausnummer.ToString();
        textBoxWohnort.Text = selectedPerson.Wohnort;
        textBoxPLZ.Text = selectedPerson.PLZ.ToString();

        _selectedPerson = selectedPerson;
    }

    private void buttonOK_Click(object sender, EventArgs e)
    {
        var id = Convert.ToInt32(textBoxID.Text);
        var vorname = textBoxVorname.Text;
        var name = textBoxName.Text;
        var straße = textBoxStrasse.Text;
        int hausnummer = Convert.ToInt32(textBoxHausnummer.Text);
        var wohnort = textBoxWohnort.Text;
        int plz = Convert.ToInt32(textBoxPLZ.Text);

        _selectedPerson.Id = id;
        _selectedPerson.Vorname = vorname;
        _selectedPerson.Name = name;
        _selectedPerson.Straße = straße;
        _selectedPerson.Hausnummer = hausnummer;
        _selectedPerson.Wohnort = wohnort;
        _selectedPerson.PLZ = plz;

        Close();
    }

Was muss ich in meine EditPerson-Methode schreiben damit die Änderungen im Grid sichtbar sind?

Danke euch.

SQL, programmieren, C Sharp, Datenbank, Visual Studio

C# Abbrechen-Button?

Hallo, ich habe ein Problem mit meiner Anwendung. Ich habe eine Form die heißt z.B. Form1 und eine Form2. Beim klick auf den Hinzufügen-Button in Form1 öffnet sich Form2 (dort sollen dann Daten in Textboxen eingegeben). Wenn ich dann auf den Speichern-Button klicke werden diese eingegebenen Daten in eine Datenbank gespeichert und in einem Datagridview in Form1 angezeigt. Das Problem hierbei ist, der Abbrechen-Button in Form2 funktioniert nicht (beim klick auf den Abbrechen-Button soll man wieder zurück zu Form1 kommen). Ich habe eine Datenbank Kontext Klasse "PersonDbContext" in der zwei Methoden sind, einmal zum hinzufügen und einmal entfernen einer Person aus dem grid sowie Datenbank.

DbContext:

public class PersonDbContext : DbContext
	{
		public DbSet<Persons> Person { get; set; }
    public void AddPerson(Persons person)
    {
        Person.Add(person);
        SaveChanges();
        MessageBox.Show(@"Person wurde erfolgreich hinzugefügt.");
    }

    public void RemovePerson(Persons person)
    {
        Person.Attach(person);
        Entry(person).State = EntityState.Deleted;
        SaveChanges();

        MessageBox.Show(@"Person wurde erfolgreich gelöscht.");
    }
}

Form1:

private void buttonHinzufügen_Click(object sender, EventArgs e)
		{
			var dlg = new PersonDialog();
			dlg.ShowDialog();
			var person = dlg.Persons;
        _db.AddPerson(person);
        _db.SaveChanges();
    }

PersonDialog ist die 2. Form die sich dann öffnet (Form2).

Wenn ich auf meinen Abbrechen-Button in meiner 2. Form klicke bekomme ich immer den Fehler das der Wert nicht null sein darf.

Also im DbContext in der AddPerson-Methode heißt es dann der Wert darf nicht null sein (bei Person.Add(person);

public void AddPerson(Persons person)
		{
            //Wert darf nicht null sein.
    		Person.Add(person);
        SaveChanges();
        MessageBox.Show(@"Person wurde erfolgreich hinzugefügt.");
    }

Wenn ich aber eben keine Person hinzufügen will (keine Daten in Form2 eingeben will) ist es null. Ich muss sogesehen eine neue Person hinzufügen und die dann per Löschen-Button in Form1 wieder entfernen weil ich sonst ja die Exception kriege. Also wie bringe ich den Abbrechen-Button in Form2 zum laufen (damit es egal ist ob der Wert null ist bzw halt nichts eingegeben wurde)?

Danke euch. :)

Computer, SQL, programmieren, C Sharp, Datenbank, Visual Studio

Künstliche Intelligenz C#?

Hi, erstmal als Danke an alle Helfer ein kleiner Joke:

"Why do all java devolopers wear glasses?"

... "because they can't c#"

Okey, und jetzt zur eigentlichen Frage:

Ich befasse mich nebenbei mit Programmieren und strebe auch ein Informatikstudium an. Ich habe mir das programmieren selbst beigebracht (erst über Unity, dann über die App SoloLearn) und würde behaupten das ich zu mindest die Basics von c# kann. Ich habe mir jetzt heute eine kleine AI versucht zu programmieren was nicht so wirklich geklappt hat. Das Ding sollte SchereSteinPapier spielen und dabei gucken was der Spieler wie oft verwendet und dann die Wahrscheinlichkeit von den jeweiligen Möglichkeiten so anpassen, das sie möglichst oft gegen einen Menschen gewinnt.

Ich würde gerne eine AI machen die Muster erkennen kann. Z.B der Auffällt, dass ich wenn ich 3x Stein nehme danach oft Schere nehme und deswegen nach meinem dritten mal Stein auch Stein nimmt. Oder der ich als Input viele Funktionen mit ihren korrekten Ableitungen gebe und der Computer soll sich dann das ableiten selbst beibringen ohne z.B. die Kettenregel zu kennen. Oder er soll TicTacToe spielen lernen. Am anfang setzt er zufällig Kreuze, irgendwann is er unbesiegbar.

Gibt es dafür ne ordentliche API? Am besten in c#? Wie fange ich damit am besten an? Ich finde eigentlich nur python-tutorials mit AI, aber ich hab eingentlich keine Lust jetzt auch noch python zu lernen, ich hab eh nicht so viel zeit zum Programmieren.

Kann mir jemand helfen der sich da auskennt? Und hab ich auf ordentliches AI programmieren überhaupt schon ne chance, weil ich ja eigentlich noch n noob bin.

P.S..: Ich bin kein Skript-Kiddie, ich kopiere keinen Code und weiß was jede einzelne Zeile in meinem Code macht und warum sie da ist ^^

Danke!

PC, Computer, programmieren, C Sharp, Code

C# - Ungültige Zeichenabstände und ungültige Länge der Daten?

Hallo, ich habe eine Xml-Datei, welche einen Benutzernamen sowie Passwort enthalt und eine Xml-Datei, welche auch einen Benutzernamen und Passwort enthält, nur ist dort das Passwort verschlüsselt.

Wenn ich die erstgenannte Xml-Datei öffne (Passwort nicht verschlüsselt) kommt der Fehler:

"System.Security.Cryptography.CryptographicException: Zeichenabstände sind ungültig und können nicht entfernt werden."

Wenn ich die andere Xml-Dazei öffne (Passwort verschlüsselt) kommt der Fehler:

"System.Security.Cryptography.CryptographicException: Die Länge der zu entschlüsselnden Daten ist ungültig."

Code zum entschlüsseln der Datei:

byte[] chiperbytes = File.ReadAllBytes(path);
                MemoryStream ms1 = new MemoryStream(chiperbytes);
                CryptoStream cs1 = new CryptoStream(ms1, desObj.CreateDecryptor(), CryptoStreamMode.Read);

                cs1.Read(chiperbytes, 0, chiperbytes.Length);
                plainbytes2 = ms1.ToArray();


                cs1.Close();
                ms1.Close();
                textBoxPasswort.Text = Encoding.ASCII.GetString(plainbytes2);

Code zum verschlüsseln:

cipherData = textBoxVerschlüsselung.Text;
					plainbytes = Encoding.ASCII.GetBytes(cipherData);
					plainKey = Encoding.ASCII.GetBytes("01234567890abcdef");
					desObj.Mode = CipherMode.CBC;
					desObj.Padding = PaddingMode.PKCS7;
					MemoryStream ms = new MemoryStream();
					CryptoStream cs = new CryptoStream(ms, desObj.CreateEncryptor(), CryptoStreamMode.Write);
					cs.Write(plainbytes, 0, plainbytes.Length);
					cs.Close();
					chiperbytes = ms.ToArray();
					ms.Close();
                textBoxVerschlüsselung.Text = Encoding.ASCII.GetString(chiperbytes);

Bitte helft einem Anfänger. :D

Danke.

Technik, programmieren, C Sharp, Technologie, Visual Studio

C# Delegaten/Invoke/Thread/Backgroundworker?

Huhu,

bin aktuell am rumexperimentieren, da ich es am lernen bin. Dieses Test Form hat nur 2 Dinge die es machen soll.

  1. Das Form Load wird mit einem Label gestartet um den Spieler zu begrüßen. Nach 2 bzw 3 Sekunden soll dass label unsichtbar werden mithilfe eines Backgroundworkes und delegaten. Alles startet normal. Nach den besagten paar Sekunden wirft er mir eine exeption. Als Grund nennt er mir immer das label1. Meine Vermutung ist, dass label 1 ja bereits Form1 Thread läuft und daher nicht mehr geändert werden kann über einen Backgroundworker.

Die Exeption lautet : Ungültiger threadübergreifender Vorgang: Der Zugriff auf das Steuerelement label1 erfolgte von einem anderen Thread als dem Thread, für den es erstellt wurde."

  1. Der zweite Punkt wäre, dass bei einem Button click ein Fenster aufgehen soll und sich nach ein paar Sekunden wieder schließen soll. Das tut es auch. Drücke ich aber nochmal den Button, wirft er mir diese Exeption: System.ObjectDisposedException: "Auf das verworfene Objekt kann nicht zugegriffen werden.Objektname: "Skynet"."

Hier ist der Code:

Für den Kenner ist das bestimmt alles Kraut und Ruben. Kurz: Ein Chaos. Aber aktuell ist es eher Try and Error :)

 public partial class Form1 : Form

  {

    public delegate void invokeDelegate();

    //Backgroundworker wird initialisiert

    public BackgroundWorker arbeiter = new BackgroundWorker();

    public BackgroundWorker arbeiter2 = new BackgroundWorker();

    //Delegaten

    public delegate void deleWorker (BackgroundWorker a);

    public delegate void gruss(BackgroundWorker b);

    //Begrüßungsfenster

    Skynet hello = new Skynet();

    //Zeigt Skynet Fenster an

    public void Show()

    {

       hello.Show();

        Thread.Sleep(3000);

        this.hello.Close();

        hello.Dispose();

    }

    //Willkommensgruß wird für 2 Sekunden angezeigt

    private void Willkommensgruss(Label a)

    {

      a.Text = "Willkommen, Fremder.";

      Thread.Sleep(2000);

        }

    public Form1()

    {

      InitalizeComponent();

      arbeiter.DoWork += backgroundWorker1_DoWork;

      arbeiter2.DoWork += backgroundWorker2_DoWork;

      Skynet hello = new Skynet();

         }

    private void Form1_Load(object sender, EventArgs e)

    {

      //delegate

      gruss hallo = new gruss(backgroundWorker2.RunWorkerAsync);

        hallo.Invoke(backgroundWorker2);

    }

    //Öffnet Skynet Fenster

    private void button2_Click(object sender, EventArgs e)

    {

      deleWorker test = new deleWorker(backgroundWorker1.RunWorkerAsync);

      test.Invoke(backgroundWorker1);

    }

    //Backgroundworker 1

    private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)

    {

     Show();    

    }

    //Backgroundworker 2

    private void backgroundWorker2_DoWork(object sender, DoWorkEventArgs e)

    {

    Willkommensgruss(label1);

    }

  }

}

Computer, programmieren, C Sharp, Visual Studio

C# Wie kann ich mehrere werte von z.b. einer Switch case Anweisung in meine Main Methode ,,returnen''?

Hallo, ich habe ein kleines Problem wofür ich am besten schnell eine Antwort brauche, da dass Schulprojekt heute Nacht per email bei meinem Schulleiter sein muss.

Wir haben die Aufgabenstellung bekommen dieses projekt in 2 Methoden aufzuteilen. Einmal die static void Main und dann eine eigene. WIr sollen dort Spannung,widerstand und Ampere berechnen können mit allen physikalischen regeln. Diese mit der Switch case und einer if abfrage einzustellen ist kein Problem aber ich habe dadurch in meiner eigenen Methode allein 3 mögliche Ergebnisse und 3 bool werte die ich an die Main Methode ,,return'' muss.
Will halt in der Main Methode eine if abfrage machen, die dann feststellt welches Ergebnis den vorliegt [also R,U oder I (dafür brauch ich die Bool Werte)].

Habt ihr eine Idee wie ich das machen kann? Hab halt in einer case ein Ergebnis sowie einen bool der returnt werden muss. Daher klappt meiner Meinung nach der ,,return'' als jump Anweisung am eende einer case nicht(kann damit ja nur einen wert wiedergeben).

Würde mich über Hilfe freuen.

Hier mal schnell nen kleiner Ausschnitt aus dem Code um es Bildlich zu zeigen:

if (bRZahl == true) {

           Console.Clear();
           Console.SetCursorPosition(2, 1);
           Console.Write("Spannung Berechnen");
           Console.SetCursorPosition(2, 5);
           Console.Write("Geben sie den Wert für I (Ampere) an:");
               switch (ckiTaste.Key)
                        {                                       
                           Hier stehen eigentlich die Physikalischen Grenzen drinne!!!
                                                              }

                               Console.ReadKey(ckiTaste.Key == ConsoleKey.N);
                                IZahl = Convert.ToDouble(sbEingabe2);
                                UZahl = IZahl * RZahl;
                                Spannung = true;
                  
                              }
                               return UZahl;

Das ist jz nur der 2 Teil der Case. DIe seite lässt die ganze case nicht zu. Aber da sieht man schonmal die beiden Werte die ich mit rüber nehmen will. Hier als Beispiel UZahl und Spannung. Diese If Abfrage hier liegt halt in der Case 1 (für die Berechnung der Spannung)

Würde mich auf jedenfall über Hilfe freuen Danke.

programmieren, C Sharp, Return

C# Focus bei UserControl?

Hallo,

ich hab ein Problem mit dem Focus eines UserControls. Und zwar bekommt das UserControl trotzdem den Focus obwohl alle seine ChildControls nicht focusierbar sind. Ich hab hier mal ein kleines Beispiel erstellt, zum testen einfach ein neues Windows Forms Project anlegen und den Code in den Source Code der Form kopieren.

using System.Windows.Forms;

namespace testUserControl
{
  using System.Diagnostics.Eventing.Reader;

  public partial class Form1 : Form
  {
    private testControl testControl1;
    private testControl testControl2;
    private testControl testControl3;
    
    public Form1()
    {
      InitializeComponent();

      this.testControl1 = new testUserControl.testControl();
      this.testControl2 = new testUserControl.testControl();
      this.testControl3 = new testUserControl.testControl();

      this.testControl1.Location = new System.Drawing.Point(24, 27);
      this.testControl1.Name = "testControl1";
      this.testControl1.Size = new System.Drawing.Size(150, 37);
      this.testControl1.TabIndex = 0;


      this.testControl2.Location = new System.Drawing.Point(24, 71);
      this.testControl2.Name = "testControl2";
      this.testControl2.Size = new System.Drawing.Size(150, 45);
      this.testControl2.TabIndex = 1;


      this.testControl3.Location = new System.Drawing.Point(24, 136);
      this.testControl3.Name = "testControl3";
      this.testControl3.Size = new System.Drawing.Size(150, 47);
      this.testControl3.TabIndex = 2;

      this.Controls.Add(this.testControl3);
      this.Controls.Add(this.testControl2);
      this.Controls.Add(this.testControl1);

      testControl2.Disable();
    }
  }

  public class testControl : UserControl
  {
    private TextBox test;

    private Label TestLabel;

    public testControl()
    {
      this.test = new TextBox();
      this.test.Name = "TextBox";
      this.test.Location = new System.Drawing.Point(100, 5);
      this.test.Size = new System.Drawing.Size(80, 17);

      this.TestLabel = new Label();
      this.TestLabel.Name = "Label";
      this.TestLabel.Text = "Test";
      this.TestLabel.Location = new System.Drawing.Point(10, 5);
      this.TestLabel.Size = new System.Drawing.Size(50, 17);

      this.Controls.Add(this.test);
      this.Controls.Add(this.TestLabel);
    }

    public void Disable()
    {
      this.test.Enabled = false;
    }
  }
}

Ich weiß das das Design jetzt nicht schön aussieht aber das ist auch egal. Um was es mir jetzt geht ist, das wenn ich mit tab durchgehe das 2. Control trotzdem den Focus bekommt obwohl es aus einem lable und einer deaktivierten TextBox besteht. Warum ist das so? Und wie kann ich das umgehen?

Danke für alle Antworten.

Computer, programmieren, C Sharp, Forms

C# - Text aus Textboxen dauerhaft in Variablen speichern?

Also, folgendes Problem: Ich schreibe gerade ein Programm mit c# und habe in dem ersten Formular frmSettings Textboxen, tbMitarbeiter, tbMitarbeiter2, tbMitarbeiter3, tbMitarbeiter4 und tbMitarbeiter5. Im Programmcode existieren nun fünf Variablen, die den Inhalt dieser Textboxen speichern sollen, wenn man auf einen Button klickt, welcher gleichzeit Formular 2, frmNewJob, off net. Der Grund dafür ist, dass der Inhalt der Textboxen, die Items einer Combobox cbWho darstellen sollen. Das klappt auch so wie es soll. Allerdings gibt es noch weitere Formen, bisher frmMain, die Startseite und frmOpen, auf der alle Jobs angezeigt werden sollen. Von dort aus ist es ebenfalls mit einem Button möglich frmNewJob zu öffnen . Ich kann ja auch ganz leicht, die Variablen, also die Textboxen aus der frmSettings zugänglich machen . ich möchte aber nicht, dass der Benutzer jedes Mal in den Settings die Textboxen füllen muss, da der Inhalt sich um Mitarbeiter handelt, die in der Regel nicht so häufig wechseln. Nun also meine Frage: Kann ich den Inhalt dieser Textboxen dauerhaft in Variablen speichern, um sie dann jedes Mal, durch den Knopf der frmNewJob öffnet, abzurufen und der Combobox cbWho hinzuzufügen? Oder gibt es eine viel einfachere Möglichkeit? Ich bin noch ziemlicher Noob und würde mich über jede Hilfe freuen :) Danke, BuBBles

Programm, speichern, C Sharp, Informatik, Variablen, Programmcode, Quellcode, Textbox

Lehrplan Fachinformatiker Systemintegration Programmierung?

Hi :)

mache gerade eine Ausbildung zum Fachinformatiker Systemintefration im Baden-Württemberg.

Hatte vor kurzem meinen letzen Schultag.

Leider hat meine Schule Lehrermangel und das in den zwei wichtigsten Fächern: ITS und SAE(=Programmierung)

In ITS sind wir gerade so mit dem Stoff durchgekommen.


So, nun zum Sorgenkind SAE.

Folgendes haben wir gemacht: C#-Programmierung:

-Deklaration

-Initialisierung

-Datentypen

-Objekte

-Eigene Klasse und Methode

-Bedingte Anweisung

-Exception Handling

-Datenfelder, Getter, Setter

-Klassen auslagern

-Arrays

-Konstruktor

-For-Schleife

-Modulo

-Klasse Random

-WF->Eigenschaften

-Boolsche Operatoren


Das haben wir alles in C# gemacht. Ich weiß, dass die meisten Schulen Java machen aber das ist ja fast gleich.

Ich will dem Lehrer keinen Vorwurf machen, der ist mega gechillt, hat viel für uns getan, alles Lernmaterial online gestellt für uns usw....

Jedoch habe ich erfahern, dass man normalerweise in SAE noch u.a. Diagrammarten macht, z.B. Struktogramm, PAP, Activity Diagramm. Das haben wir NIE gemacht, von Struktogrammen habe ich schonmal gehört, weiß ungefähr den Aufbau aber trotzdem...

Was wird in SAE mi 1.LJ (in BW-->da ist der Lehrplan anders) noch gemacht was nicht oben steht.

Ich möchte das nachholen, Mitte des 2. LJ ist Zwischenpfüfung. Beim FISY zählt die Zwischenprüfung zwar nichts aber trotzdem...

PC, Computer, programmieren, Ausbildung, C Sharp, EDV, Fachinformatiker, Struktogramm

Meistgelesene Beiträge zum Thema C Sharp