Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Tician

User
  • Registriert

  • Letzter Besuch

Alle Beiträge von Tician

  1. Ich dachte ich hätte es verstanden... irgendwie nicht Wenn ich folgendes habe: class A (Main) { B.GetSource C.DoSomething } class B { public string source {get;set;} public void GetSource { //blabla source = //blabla } } class C { public void DoSomething { string file = Directory.GetFiles(B.source, "*.csv"); } } Ich dachte das würde so funktionieren, aber ich bekomme nur ein "ArgumentNullException" das sich auf "source" bezieht. Wenn ich Schritt für Schritt durchgehe bekommt source einen Wert, aber sobald es zu Class C kommt ist der nicht mehr vorhanden. Was mache ich falsch?
  2. Also ich hab wieder ein neues Projekt aber das werde ich erst für Verbesserungsvorschläge freigeben wenn es fertig ist Jetzt habe ich gerade aber eine Frage: Wann benutze ich das: Class B { A.Nummer = 15; A.TuEtwas(); } Class A { int Nummer {get;set;} public void TuEtwas() { //mach etwas mit Nummer } und wann das: Class B { int nummer = 15; A.TuEtwas(nummer) } Class A { //int nummer; public void TuEtwas(int nummer) { this.nummer = nummer; //Tu etwas mit nummer } } Beides schiebt - sofern ich das verstanden habe - den Inhalt einer Variable von einer Klasse in die andere. Bei ersterem einfach nur rein die Variable und bei zweiterem zur direkten Verwendung in einer Methode. Kann ich also sagen wenn ich eine Variable in mehreren Methoden brauche dann benutze ich ersteres und wenn ich es nur für eine methode brauche zweiteres?
  3. Schau mal hier Aus meiner Sicht als Azubi: Nimm dir Zeit. Wenn ich etwas frage und mein AUsbilder sieht ich verstehe es nicht dann schnappt er sich Stift und Zettel und fängt an zu zeichnen und zu erklären. Vernachlässige das nicht, ich als Azubi finde das mega wichtig.
  4. Meine Erfahrung: kleine Betriebe zahlen oft weniger bis gut, haben keine Zeiterfassung (heißt viele unbezahlte Überstunden) allerdings gibt es durch die sehr breit gefächerten Aufgaben viel zu lernen. Große Betriebe zahlen oft mehr, haben eine Zeiterfassung, allerdings beschränkt sich der Aufgabenbereich darauf die eigene Firma zu betreuen. Diese Erfahrung beruht auf dem was Klassenkameraden erzählen und den 2 Betrieben in denen ich schon war. Also je nachdem was dir liegt. Ansonsten sollte es natürlich vom menschlichen her passen.
  5. Ich weiß nicht wann man das mit den Gibi, Mibi,...byte eingeführt hat aber wenn ich das jetzt richtig verstanden habe dann wäre meine Lösung absolut korrekt gewesen, ich vermute solch eine Aufgabe würde heutzutage (wenn die IHK den Umrechnungsfaktor 1024 verlangt) mit GiByte und MiByte gefragt werden? Ich hab es zumidnest schonmal irgendwo so gesehen.
  6. Habt ihr mir eine gute Seite die die Umrechnung erklärt und vielleicht auch gleich Gibibyte, Mibibyte und wie sie nicht alle heißen mit einbezieht? Sämtliche Online-Rechner scheinen nur mit dem Faktor 1000 zu rechnen.
  7. Ich habe die Vorläufige Lösung gefundne in der steht 53 Gbyte. Egal wie ich rechne auf DAS komme ich nicht.
  8. Moinsen, ich geh gerade so langsam die Zwischenprüfungen durch und an einer Aufgabe hänge ich gerade in der meine Lösung nicht dem entspricht was auf das Papier gekritzelt wurde und ich weiß nicht welche Lösung stimmt. Die Aufgabe: 1800 Kameras nehmen Bilder mit einem Datenstrom von 6 MBit/s auf. Die Daten werden 1:15 komprimiert und für 10 Minuten auf eine Festplatte gespeichert. Berechnen Sie den erforderlichen Speicherplatz in Gbyte. Meine Lösung: 6 Mbit/s * 60 (für eine Minute) * 10 (für 10 Minuten) = 3600 Mbit pro Kamera in 10 Minuten 3600 * 1800 (für alle Kameras) / 15 (komprimierung) = 432000 Mbit 432000 / 8 = 54000 Mbyte = 54 GByte Andere Lösung: 6Mbit/s /15 = 400 kbit/s pro Kamera 400 * 10 * 60 = 240 Mbit pro Kamera in 10 Minuten 240 * 1800 = 432000 MB Hier wurde gar nicht von bit auf byte umgerechnet. Wir hatten solche Aufgaben noch nie in der Schule, muss man das nicht, habe ich was verpasst? Was ist die Lösung? Edit: Als Hinweis wird angegeben: 1Gbyte = 1024³ Byte Selbst das verwirrt mich schon
  9. Hi @CAEYO Da du vermutlich recht neu bist würde ich behaupten du hast eine Sache verpasst: Ich mach eine Ausbildung zur FISI (apropo ich bin weiblich Whiz_zard). Mein Ausbilder ist ein Crack was Pearl angeht und in etwa kann er meinen Code auch verstehen, aber wenn es ums eingemachte geht kann er mir nicht weiterhelfen, er weiß auch nur noch das was er vor ~10 Jahren in der Schule gelernt hat. Und mehr Informatiker sind wir hier nicht im Betrieb^^ Da ich zu den etwas älteren (26) in der Klasse gehöre bin ich etwas reifer, ich würde es richtig cool finden jemanden zu haben der IRGENDETWAS mit mir machen würde (Programmieren, Server aufsetzen, vernetzen, irgendwas halt) weil es zusammen mit anderen natürlich viel mehr Spaß macht. Die Zwischenprüfungen stehen an, ich frage herum ob jemand nachmittags bleiben möchte um gemeinsam alte Prüfungen durchzugehen, ich biete an zusammen auf Klassenarbeiten zu lernen aber keiner scheint so "hyped" zu sein wie ich - nicht einmal aus dem engeren Freundeskreis in der Schule. Ich habe andere Prioritäten wie meine Mitschüler, wenn der Lehrer uns früher gehen lässt heißt es bei anderen "Juhu Freizeit", bei mir ist es eher ein "wir sind doch schon hinterher, wie soll ich so auf die Prüfung vorbereitet werden?" Ich habe ein Buch in englisch (Head First C#) und habe es auch angefangen durchzuarbeiten aber nachdem ich in gleich am Anfang mit WPF konfrontiert wurde und ums verrecken nichts gefunden habe was mir sagt wie ich eine falsch platzierte Linie in meinem Grid (Gitter) wieder löschen kann war mir nicht mehr danach Ich werde es bei Zeiten nochmal versuchen.
  10. Ich kann den Lehrer nur verteidigen, im Prinzip würde ich es der Schule in die Schuhe schieben weil sie keinen Lehrer für das 1. Lehrjahr gefunden haben. Der Mensch ist kein Lehrer, war es nie und hat vermutlich auch nie ausgebildet oder unterrichtet. Er programmiert und hat schätzungsweise versucht das was im Lehrplan steht irgendwie in diese (PVoss liegt richtig) 4 Schulstunden alle 2 Wochen unterzubringen. Jetzt im 2. Lehrjahr ist es so das wir beim neuen Lehrer auch nur die Themen durchrennen. UML, Struktogramme, State Chart, Vererbung, OOP Dieses Jahr habe ich erst verstanden was es überhaupt mit dem Konstruktor auf sich hat. Vererbung wurde auch mal kurz angeschnitten als wir unser Programm gemacht haben bei dem die Buttons auf der Form rumspringen. Klassenarbeit war dieses Jahr gar nichts mit eigenem Programmieren dabei, wir haben ein paar (halb)fertige Programme (Sudoku, bewegende System.Draw-Kreise) vor die Nase geklatscht bekommen und sollten diese entweder durch Verbesserung der Fehler zum laufen bringen oder etwas dazu programmieren/verändern. Das Ergebnis werden wir am Donnerstag erfahren, der Lehrer ist nicht bekannt dafür die schwächeren Schüler "mitzunehmen". Es waren einige Dinge dabei die ich nie gewusst hätte wenn ich nicht selbst mit z.B. dem Paint-Event letztes Jahr experimentiert hätte und nicht wüsste was das rießegroße rote X auf der Form ist. Ein Paint-Event das gegen die Wand rennt schmeißt (habe ich zumindest irgendwie in Erinnerung) kein Exception, stattdessen sieht man dieses rote Kreuz. Das wusste keiner. Ich behaupte mal frech das von dieser Gruppe aus zusammengewürfelten (1) FIAE und (15) FISI aus 3 verschiedenen Klassen ich noch unter den Top 3-4 bin. Vielleicht bin ich einfach in der falschen FI-Richtung gelandet, aber ich liebe meinen Betrieb und hauptsächlich wird eben ein Admin hier gebraucht und kein Programmierer (es sei denn ich könnte eine Logistik-Software selbst auf die Beine stellen - hell no) Ich versuche soviel wie möglich hier mit zu nehmen, ich weiß es ist schwierig über ein Forum zu lernen aber bisher wurde mir immer gut geholfen und ich hoffe das ich mit Geduld und Erfahrung auch irgendwann Code schreibe bei dem euch nicht die Augen aus dem Kopf fallen
  11. Naja so haben wir es gelernt... unser Lehrer im ersten Lehrjahr war Java-Programmierer, die Schüler fanden ihn gut aber er war eben nur ein Jahr lang da und das ist was wir beigebracht bekommen haben. http://wierbicki.de/programmierung-c/ Der Lehrer selbst musste sich in C# einarbeiten. Das sind unsere Materialien aus dem ersten Lehrjahr nur mittlerweile habe ich so angst zu hören "Habt ihr doch gelernt" und ich kann es einfach nicht anwenden. Das mit dem Datentyp im Namen als Konvention für den Unterricht und Klassenarbeiten konnten wir ihm ausreden, fanden wir auch nicht so dolle - und wie du siehst mache ich es ja auch nicht. Der Rest mit den typischen Fehlern war für komplette Anfänger sehr hilfreich, in Klassenarbeiten mussten wir Fehler in vorgefertigtem Code finden (auf dem Blatt Papier natürlich). Klammern die gefehlt haben, Semikolon die vergessen wurden, Anführungszeichen bei strings und vieles mehr. Zurück zum Thema: Wenn ich Getter und Setter explizit schreibe dann rufe ich es wie eine Methode auf? Du hast ja oben slebst ein Beispiel gezeigt wie der Compiler es übersetzen würde, das sieht mir jetzt wie das aus was wir gelernt haben - oder? Im Prinzip werden ich zukünftig wohl sowieso nur noch mit dem {get; set} arbeiten schätze ich.
  12. Oh praktisch mit dem Format! Das neue mit der Interpolation gefällt mir sogar noch besser! Das Getter und Setter nicht wie normale Methoden aufgerufen werden muss ich mir merken... das verwirrt mich gerade weil ich es anders gefunden habe. Ist das vielleicht ein Unterschied wie ich die Eigenschaften schreibe? Oder was ist der Unterschied zu dem was hier steht? http://wierbicki.de/wp-content/uploads/2016/02/2016-01-20-SAEL-E1FI2-Datenfelder-Getter-Setter.pdf mensch1.SetName("Ich"); anstatt mensch1.name = "Ich";
  13. Ich denke ich habe es soweit verstanden, aber wie ich das dann in einer anderen Klasse benutze, also mit set einen Wert übergeben und dann mit get wiederbekomme ist mir ein Rätsel. Würde es dann in Klasse B so aussehen? class B { A.set_Nummer(15); int zahl = A.get_Nummer(); Console.WriteLine("Meine Zahl ist " + zahl); //bzw kürzer wahrscheinlich so oder ähnlich? Console.WriteLine("Meine Zahl ist " + A.get_Nummer()) } Was anderes: Console.WriteLine("Nummer gesetzt auf {0}", value) Ich habe das schon öfter gesehen aber warum benutzt man das? Warum nicht so: Console.WriteLine("Nummer gesetzt auf " + value) Was machen die geschweiften Klammern mit der null da?
  14. Ich verstehe dich nicht. Ich kann programmieren, ob es gut ist ist eine andere Frage. Du sagst keiner macht am Anfang perfekten Code und ich soll es mit der OOP einfach versuchen - aber du scheinst perfekten Code zu erwarten. Jetzt versuche ich es, du willst das ich es unbedingt ganz genauso mache wie du es willst und es dir vorstellst und wenn ich sage "das ist mir zu schwer" weil du zwangzig verschiedene Dinge benutzt von denen ich noch nie in meinem Leben gehört habe, die ich noch nie gesehen habe dann scheinst du beleidigt zu sein (so kommt es rüber) und erzählst mir "lern programmieren". Du hast so viel Wissen und du versuchst es weiter zu geben - allerdings alles auf einmal. Mein erster Versuch war da - und die Rückmeldung "nicht in den Konstruktor, mach stattdessen Methoden daraus" kam bei mir an. Also war mein nächstes Vorhaben meine Klasse zum Dateien einlesen in ein paar Methoden aufzuspalten... Das Projekt läuft, mir ist absolut die Lust daran vergangen irgendwas zu optimieren oder umzustellen, die anfängliche Freude ist weg, stattdessen würde ich am liebsten einfach heulen. Ich lass das jetzt ruhen und versuch es mit dem nächsten Projekt besser zu machen.
  15. Das war doch nur ein Beispiel was in der Datei drin steht (und ich entziffern kann), da stehen Abkürzungen in dem Header mit denen ich nichts anfangen kann. Lass mich erstmal meine erste Klasse fertig machen und herumprobieren wie ich Variablen rumschieben kann, ich wäre ja schon froh das zu verstehen, du weißt gar nichts wie frustrierend das ist wenn man sich vornimmt das kleine 1x1 zu lernen und jemand anderes aber gleich in einen Rechenbereich mit 20 nullen hinter der Zahl vordringen möchte. Ich kann das Programm nicht mehr sehen und wenn das irgendwie mit Hilfe von Klassen und Methoden tut bin ich doch schon glücklich und kann es mit dem nächsten Programm gleich so anfangen - und dann wieder einen Schritt weiter gehen mit der Verbesserung. Und ich möchte nicht noch mehr Preis geben und mir dadurch ärger einhandeln...
  16. Paketnummer - und ich lag falsch das ist die 7. Nummer, aber das sollte wohl nichts zur Sache tun^^ Ich schätze man kann jetzt erahnen was ich damit tu und warum ich eine bestimmte Internetseite abfrage.
  17. Ja ich arbeite in einem Logistik/e-commerce Betrieb. Was ist dieses virtual in deinem Code? Das Problem ist das ich mir da zu viel Mühe machen würde alles was mich an der ganzen Datei interessiert ist nur "die 5. Nummer jeder Zeile", der Rest bleibt wie er ist.
  18. Muss ich wohl wieder etwas Tiefer in die Tasche greifen. Ich weiß auch nicht was alle Begriffe der ersten Zeile Bedeuten, die die ich aus den Abkürzungen auslesen kann sind: Datum, Packstück-Nummer, Auftrags-Nummer, Paketnummer, Bezeichnung, Menge, Lagerplatz Wie nenne ich das?
  19. Ich nehme den Ratschlag an das ich erstmal Methoden mache statt alles in den Kontruktor zu kloppen, wenn ich dann den Austausch von Daten zwischen Klassen, Methoden und weißnichtwas hin kriege bin ich schon glücklich... Der Rest muss folgen wenn das Programm auf diese Weise wieder fehlerfrei funktioniert, dann würde ich mich trauen noch einmal umzubauen. Ich brauch einen Zwischenschritt. Edit: Es fängt schon an mit dem Problem das ich gar nicht weiß nach was ich meine CSV benennen kann, anders als bei einer Datenbank habe ich nichts das eine Zeile eindeutig identifiziert, es gibt keine durchnummerierung oder sowas, ich hab Zeilen doppelt oder dreifach
  20. @Whiz-zarD Du hast dir so viel Mühe gegeben und ich hab mir das jetzt 4 mal durchgelesen, das ist so mega viel das ich gar nichts mehr verstehe (du wolltest es wahrscheinlich gleich perfekt haben?), wenn ich das übernehme hätte ich auch ein Programm in C oder sowas abschreiben können. Es ist nicht mehr meines, ich verstehe gar nicht was da vorgeht und ohne tausend Kommentare geht da nix. War mein eigenes Vorgehen denn so falsch? Ich hatte vor das beizubehalten, aber aus der Klasse vielleicht ein "CsvDatei" zu machen mit evtl Methoden "Einlesen", "Aufspalten" irgendwie sowas... mich verlässt gerade ziemlich schnell die Motivation und der Mut
  21. public List<string>[,] GetList() { return liste; } mit entsprechendem Aufruf List<string>[,] liste = datei.GetList(); Doch etwas gefunden das ich verstehe^^ Schauen wir mal ob es später funktioniert Thema kann offen bleiben ich bin mir sicher das ich noch ein paar mal gegen die Wand rennen werde sobald ich das Programm mal starte.
  22. Moin, Wie versprochen versuche ich mich and er OOP um mir den Spaghetti-Code abzugewöhnen. Tötet mich nicht das ist mein erstes Mal und die Chancen bestehen das ich weit am Ziel vorbei geschossen bin. Folgenden Code mit 2 Klassen habe ich: class Program { static void Main(string[] args) { try { string sourcePath = Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + "\\blabla"; string searchPattern = "*.csv"; int spalte = 7; //lesen DateiEinlesen datei = new DateiEinlesen(sourcePath, searchPattern, spalte); Console.WriteLine("Dateien eingelesen"); } catch { } } } class DateiEinlesen { string sourcePath; string searchPattern; int spalte; public DateiEinlesen(string sourcePath, string searchPattern, int spalte) { try { this.sourcePath = sourcePath; this.searchPattern = searchPattern; this.spalte = spalte; string currentLine; string[] fileArray = Directory.GetFiles(sourcePath, searchPattern); string[] lineData; int sourcearrayLength = fileArray.Length; Console.WriteLine(sourcearrayLength + " Dateien gefunden!"); List<string>[,] liste = new List<string>[sourcearrayLength,2]; //liste für jede Datei[NummerDerDatei,Zeilen[1]/AusgewählteSpalte[2]] if (sourcearrayLength == 0) { Environment.Exit(0); } for (int x = 1; x <= sourcearrayLength; x++) //jede Datei { using (StreamReader sr = new StreamReader(sourcePath)) { liste[x - 1, 0].Add(sr.ReadLine()); while ((currentLine = sr.ReadLine()) != null) { liste[x - 1, 0].Add(currentLine); lineData = currentLine.Split(';'); liste[x - 1, 1].Add(lineData[spalte - 1]); } sr.Close(); } } } catch (Exception ex) { //sr.Close(); //Sichtbarkeit?! Console.WriteLine(ex); } } } Das Programm soll csv-Dateien in einem Ordner einlesen. Pro Datei soll es jeweils 2 Listen geben, eine mit den ganzen zeilen und eine nur mit einer bestimmten Spalte jeder Zeile. 1. Problem: Ich weiß wie ich über den Konstruktor Variablen von meiner Main-Klasse in die andere Klasse zum benutzen weitergeben kann. Ich hab absolut null Ahnung oder Erfahrung wie ich meine 2-dimensionale Liste zurück an meine Main-Klasse geben kann um sie dort für weitere Zwecke zu benutzen (später an eine weitere Klasse zu übergeben). Ich habe versucht mich zu belesen, aber ich versteh das get/set Zeug ums verrecken nicht. 2. Problem: der StreamReader sollte (wenn ich das richtig verstanden habe) auch bei einer Exception ein Close() bekommen, das ist mir aber hier nicht so möglich wie ich es wollte. Wie machen andere das? Könnte mir jemand auf die Sprünge helfen?
  23. OK Vorschlag: Ich schreib das ganze Ding neu (weiß aber nicht ob ich morgen noch dazu komme) und erstelle 4 Klassen und dann schau ich mal wo ich gegen die Wand renn und meld mich noch einmal
  24. Kommentare sind im Prinzip für mich, wenn ich jetzt anfangen würde using() zu benutzen würde ich mir auch minimum dahinter schreiben "braucht kein Exception, ruft Dispose auf" weil ich mir das einfach nicht merken kann. Gib mir ne Woche oder gar einen Monat ohne Programmieren und ich erkenne das using() nicht mehr. Ich weiß das mein Code grauenhaft ist und du hältst es mir ja auch mit jedem neuen Thread unter die Nase, aber das nehme ich als deine Meinung hin, ich versuche das was ich kann ohne das man mir über ein Forum die Grundlagen neu beibringen muss, aber das Thema hatten wir schon. Wenn ich anfange Klassen zu machen und die einfachsten Dinge (wie die gottverdammten Zugriffsebenen!) nicht hinbekomme dann ist mir und auch anderen nicht geholfen, es raubt mehr Zeit als wenn ich einen Code poste den man (auch wenn es einem die Nägel hochziehen) verstehen kann. Irgendwann werde ich hoffentlich mal etwas größeres Programmieren und dann wird sich mir vielleicht auch der Sinn von Klassen eher erschließen als bei meinen kleinen Programmen hier.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.