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.

KeeperOfCoffee

User
  • Registriert

  • Letzter Besuch

Alle Beiträge von KeeperOfCoffee

  1. Auch: Welche .NET Version, was sagt die Ausgabe, wird ne Exception geworfen? Edit: ganz vergessen, dass ich schon was gepostet habe, sry Doppelpost. Habe mal das mit .NET 5 von dir kopiert und es wir kein Fehler so geworfen
  2. Darf man fragen, warum Timespan.Zero verwendet wird?
  3. Moodle 2.2 ist eine Version aus 2011 https://docs.moodle.org/dev/Releases#Moodle_2.2 Die Version ist scheinbar nicht mal vollständig unter 5.6 lauffähig, laut einigen Threads im Moodle Forum. Aktuelle Version ziehen, PHP 7.X ziehen, dann wirds vermutlich klappen.
  4. Moodle Version? Moddle läuft perfekt unter PHP 7.X https://docs.moodle.org/dev/Moodle_and_PHP Ich schätze mal, dass bei dir alles unter alten Versionen läuft
  5. Ist die PHP Version aktuell? Edit: MySQL Version? Ohne Infos, kann dir hier keiner helfen.
  6. Bei "e.Cancel=true" brichst du das schließen des Windows ab. Wollte ich mal nur erwähnen, falls dir das nicht bewusst ist. Streams implementieren i.d.R. die IDisposable Schnittstelle. Du musst hier also aufpassen und immer darauf achten, diesen auch zu mit Dispose() zu löschen. https://docs.microsoft.com/de-de/dotnet/api/system.io.stream.dispose?view=net-5.0#System_IO_Stream_Dispose Damit wir nicht immer .Dispose() schreiben müssen nutzten wir i.d.R. "using" https://docs.microsoft.com/de-de/dotnet/csharp/language-reference/keywords/using-statement Wie man eine Textdatei schreibt wird gut in der Dokumentation dargestellt: https://docs.microsoft.com/de-de/dotnet/csharp/programming-guide/file-system/how-to-write-to-a-text-file Ich würde dir raten, dich mal mit Google und der .NET Dokumentation bzw. der C# Referenz zu beschäftigen.
  7. Edit Sry nvm. Habs überlesen
  8. KeeperOfCoffee hat auf MMazi's Thema geantwortet in .NET
    Wäre .Equals nicht besser, als den Content einfach mit ToString zu wandeln? Dann lernt er auch den Unterschied zwischen == und .Equals
  9. Wenn du schon so genau hinsiehst, dann bitte auch überprüfen, ob der Key nicht bereits der HashMap hinzugefügt wurde^^ Edit: btw wenn du ne HashMap aus Performancegründen willst => bei so geringen Datenmengen bringt das gar nichts...
  10. this.startTime = DateTime.Now; txtStart.Text = startTime.ToString("HH:mm:ss"); Button btnstart = new Button(); btnstart.Content ="Start"; this.btnStart.Inlines.Add(btnstart); Timer.Add(new Timer() { Start = txtStart.Text, Ende = txtEnde.Text }); txtStart.Text = string.Empty; txtEnde.Text = string.Empty; Was soll das hier sein? Warum erstellst du einfach einen neuen Button? Der Button macht hier überhaupt nicht...hat keine Funktion, nada. Außerdem setzt du den Text von txtStart erst auf Datetime.Now und dann auf string.Empty...ist doch klar, dass die TextBox leer ist. txtEnde setzt du auch nirgendwo. Ich weiß nicht, warum du diesen Weg gehst. Du lernst es von grundauf falsch. Warum hast du eine ObservableCollection von Timern, die aber nirgends verwendet wird. Und warum überhaupt eine ObservableCollection, wenn du nicht mit der UI interagierst, eine List würde es hier auch tun. Wenn du einen Prototyp bauen willst, dann mach es mit WinForms...da ist es ok SO zu arbeiten. Du nutzt hier aber eine andere Technologie wie WinForms und das ist einfach falsch. Edit: Bist du Azubi oder Gelernter der ein neues Feld lernen will? Kann ich aus den anderen Threads nicht schließen
  11. Darf man fragen wozu das Ganze ist? Willst du für einen Job WPF lernen? Oder willst du gar ein kleines Portifolio aufbauen? Weil dann solltest du evlt. nicht damit anfangen es falsch zu lernen...
  12. Möchte hinzufügen: Wenn man schone eine Ausbildung hatte, dann gehts auch. Wurde mir jedenfalls angeboten.
  13. @OkiDoki das Problem hierbei ist wohl, dass es keine offizielle Definition von Junior, Software - Steinzeit Entwickler gibt.
  14. Hast du gerade erst angefangen dich in das Framework einzuarbeiten? Wie groß hat man den denn Aufwand eingeschätzt? Ich kann mir auch gut Vorstellen, dass das ein Test ist, schließlich will man dich ja evtl. übernehmen. Gerade wenn man dir keine Hilfe anbietet, will man evlt. sehen wie schnell du dich einarbeiten kannst. Ich habe auch eine Ausbildung in einer Firma gemacht, die sich eingebildet hat, dass ein eigenens Framework ne gute Idee wäre. Hast du es dir schon genau angesehen? Hast du dir angesehen, wie andere Entwickler mit dem Framework arbeiten (sprich den Code von anderen Projekten)? So habe ich angefangen. Nachgesehen, wie einer der besten Entwickler im Unternehmen ein Modul aufbaut und nachgeforscht WARUM er so vorgeht. Auch verstehe ich nicht, dass dir StackOverFlow so gar nicht hilft. Ja ein eigenes Projekt nimmt viel weg, aber die Grundprinzipien der Sprache ändern sich ja nicht.
  15. Ich finde Biden hat einen guten Geschmack
  16. KeeperOfCoffee hat auf MMazi's Thema geantwortet in .NET
    Um das mal ganz grob zu erklären. In WPF hat sich das MVVM Pattern als Best Practice herauskristallisiert und viele Techniken von XAML basieren darauf. View: Die View ist eine XAML Datei, oft eine Page oder ein Window, und sollte im Code-Behind wenn möglich keinerlei Logik haben, besonders keine Logik die mit dem Model oder den ViewModels zu tun hat. Die View wird an ViewModels mittels DataBindings gebunden. ViewModel: Ein ViewModel exportiert Daten zur View. Man könnte sagen es ist eine Abstraktion der View. Alle möglichen Daten abbilden, die du in der View anzeigen willst ODER auch ein Verhalten abbilden mittels Commands. (Deshalb haben Buttons die XAML Property Command). Model: Das Model sind generell die Daten die du in der WPF Anwendung generell zur Verfügung stellen willst. Hier sind alle Properties z.B. deines User Objects definiert (für ein entsprechendes ViewModel benötigst du ja evtl. nur eine Property von hier z.B. Name). Im DataContext eines UserWindows ist also ein UserViewModel, welches Daten verwendet die aus dem bereitgestellten User-Objectes aus dem Model kommt. // Model public class User { public int id { get; set; } public string Name { get; set; } } // ViewModel public class UserWindowViewModel { private readonly _user; public UserWindowViewModel(User user) { _user = user; } public string Name => _user.Name; } // Window Anzeige Window userWindow = new Window(); userWindow.DataContext = new UserWindowViewModel(); userWindow.ShowDialog(); // TextBlock im Window <TextBlock Text="{Binding Name, Mode=OneWay}"/> Das ist aaaaaabbbberr eine sehr vereinfachte Darstellung. Meist nutzt man für MVVM heutzutage eher Frameworks wie z.B. PRISM, MVVMCross oder ReactiveUI. Würde dir empfehlen mal das Beispiel von MVVMCross anzusehen https://www.mvvmcross.com/documentation/tutorials/tipcalc/a-wpf-ui-project
  17. KeeperOfCoffee hat auf MMazi's Thema geantwortet in .NET
    Wie jetzt...Windows Forms oder WPF? Wenn du WPF machst, dann macht man sowas über MVVM und nicht über Events. Da sollte die Oberfläche komplett von der Logik getrennt sein. Windows Forms Anwendungen sind meistens Event-Basiert, während bei WPF in 99% der Fälle MVVM verwendet wird. Du versuchst hier eine WPF Anwendung wie eine Windows-Forms Anwendung umzusetzen.
  18. Das HGB gilt für alle Gewerbetreibende in Deutschland bzw. sollte man hier eher sagen, dass das HGB dem AG, unter Einhaltung gesetzlicher Vorraussetzungen, Möglichkeiten bietet die Konkurrenztätigkeit des Arbeitnehmers zu verbieten. Es wird für den §241 Abs. 2 BGB hinzugezogen. Durch eine Konkurrenztätigkeit würde ein AN die Treuepflicht verletzen. Alles weitere aber bitte beim Anwalt klären
  19. Nutzt du .NET Core? Packst du zu einer .exe (ist eine Option unter Veröffentlichung)? Wenn ja so werden deine .NET Dateien im Temp Order normalerweise irgendwo entpackt und ausgeführt. Dies führt dazu, dass das ganze Zeug mit den Pfaden oft schief läuft. Den aktuellen Pfad zu deiner .exe bekommst du durch System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName ich hohle mir den originalen Ausführungspfad meistens durch string codeBase = Assembly.GetExecutingAssembly().CodeBase; UriBuilder uri = new UriBuilder(codeBase); string path = Uri.UnescapeDataString(uri.Path); return Path.GetDirectoryName(path);
  20. Hast du sicher kapiert was @Whiz-zarD mit containerisierten Webanwendungen mittels Electron meint? Visual Studio Code ist auch eine "Desktop"-Anwendung, dennoch ist es eigentlich eine Containerisierte Webanwendung. Siehe https://www.electronjs.org/ Das BackEnd usw. passiert ja weiterhin über C# ... Tl;Dr persönlich würde ich sogar empfehlen JavaScript zu lernen. Edit: Und ja das ist dann Cross-Plattform
  21. @allesweg hier ist noch ein Konkurrenzverhältnis hinzuzufügen. Sobald du eine Tätigkeit wahrnimmst die deinem Job ähnelt. Man darf als Arbeitnehmer nicht in einem Konkurrenzbereich zum Arbeitgeber tätig sein nach §60 Handesgesetzbuch. Hiebei geht es aber vor allem um die Branche. Heißt wenn dein AG ein ERP anbietet, dann darfst du evtl. alles mögliche machen eben nur kein eigenes ERP anbieten. Mehr hierzu: https://www.haufe.de/personal/arbeitsrecht/top-thema-nebenbeschaeftigung/nebentaetigkeit-und-arbeitsrecht-was-erlaubt-ist_76_418602.html
  22. Lerne immer erst die Sprache. GUI ist zweitrangig. Und ob du WPF wirklich kannst wage ich mal vorsichtig zu bezweifeln. Das sagen viele, haben aber dann MVVM nicht wirklich drauf.
  23. Es gibt keine Cross-Plattform Entwicklung mit WPF. Das sagt schon der Name: Windows Presentation Fundation. Nutze entwender https://avaloniaui.net/ oder https://platform.uno/ alternativ warte bis .NET 6 draußen ist, dann haben wir .NET MAUI Am besten nutzt du zu deiner Auswahl noch ein MVVM Framework welches für Cross Platform Entwicklung gedacht ist: MVVMCross oder ReactiveUI(besonders kompatibel zu Avalonia laut https://avaloniaui.net/docs/reactiveui/)
  24. Es ist ein Leerzeichen im Scriptname

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.