Laden...

Forenbeiträge von dannoe Ingesamt 261 Beiträge

08.11.2020 - 18:28 Uhr

Sollte dein Array leer sein, wird kein Integer zurückgegeben. (Der Compiler muss damit rechnen, dass das Array auch leer sein kann)

PS: Außerdem tut dein Code glaube ich nicht das, was du davon erwartest.
Suchst du z. B. einen Monat der an der 3. Stelle im string-Array steht, wird er schon beim ersten Schleifendurchlauf im else-Zweig das return 13 ausführen und zurück in die Main springen

08.11.2020 - 15:03 Uhr

HansFred deine Erklärung ist aber auch sehr verwirrend.

Kilo hat 10 bytes also heisst es ausgesprochen 2 hoch 10 Bytes = 1024 Bytes

Was "Kilo hat 10 bytes" heißen soll weiß ich hier auch nicht.

Aber zurück zur eigentlichen Frage:

Recht ausführlich wird es im Abschnitt "History" in dem englischen Wikipedia-Artikel zu den Binärpräfixen erklärt: Binary prefix - Wikipedia

Teilweises tl;dr:

  • Früher gab es 2 verschiedene Addressierungssysteme bei Computern: Dezimal und Binär
  • Binär hat sich als Standard durchgesetzt.
  • Es wurde versucht die großen Angaben von Speichergrößen (z.B. Handbücher) in eine verkürzte Form zu bringen, es gab aber in der Computertechnik keinen Standard. Also wurden die bereits vorhanden SI-Präfixe (Mega, Kilo, Giga, etc.) verwendet.
  • Als Basis dienten hier die 1024 Bytes, weil bereits damals viele Speichergrößen ein vielfaches davon entsprachen.
  • D.h. es wurde zwar 1 Kilobyte geschrieben, gemeint waren aber 1024 Bytes.

Auch heute ist der Ausdruck "1 kB" noch mehrdeutig (1000 oder 1024).
Die Angabe 1 Kibi ist dagegen durch die IEC auf 1024 festgelegt.

Mir ist bewusst dass bits binär sind aber warum werden bytes binär gezählt?

Die Basis 2 für die Präfixe hat nichts direkt(!) mit den zwei Zuständen eines Bits zu tun.

30.10.2020 - 12:02 Uhr

Wenn ich es richtig verstanden habe, dann sollen die Plugins ihren eigenen "Bereich" in der Datenbank erhalten.

Wenn es hier über sehr einfache Datenstrukturen (einfache Key-Value Paare) hinausgehen soll, dann müsstest du wahrscheinlich eine Schnittstelle bereitstellen, die es dem Plugin erlaubt Tabellen zu erstellen/modifizieren/löschen. Wenn die Schnittstelle von einem Plugin angesprochen wird, kannst du die Tabellennamen z.B. mit dem Pluginnamen als Präfix versehen. So hat das Plugin kein Zugriff auf deine eigenen Tabellen. Das Problem ist, dass das Plugin dann auch eventuell Migrationen bereitstellen muss, falls sich die Datenstruktur mit neuen Plugin-Versionen ändern soll. Außerdem musst du dann dem Benutzer auch Kontrolle darüber geben, welche Plugin Tabellen existieren und er sollte die Möglichkeit haben diese löschen zu können.

Sonst könnte man einfach ein Plugin schreiben und die gesamte DB löschen.

Sofern die Plugins Reflection o.ä. nutzen können, ist das sowieso der Fall.

27.10.2020 - 17:54 Uhr

Ersatz du hier mit:

// vorhandene ViewModels ersetzen:
ordersToReplace.Select(
    c =>
    c = new OrderViewModel(
        orders.Result.Where(c => c.OrderID == c.OrderID).First()
        )
    );

... nicht genauso das komplette Objekt (inkl. Referenz) wie mit dem Code in deinem initialen Post?

23.10.2020 - 12:21 Uhr

Wenn ich zwischen den Zeilen richtig gelesen habe, dann führt Abt eine sukzessive Transformation des Foren-Backends durch. Ob auch ein neues Frontend geplant ist, weiß ich nicht.

22.10.2020 - 12:31 Uhr

Verwende eigentlich nur meine EC-Karte bzw. die NFC-Funktion dafür im Handy.

Kreditkarte:

  • sehr selten Online, im Durchschnitt ca. 1x pro Jahr
  • eigentlich nie im Inland
  • im Ausland zum Abheben von Bargeld

Meine Kreditkarte ist von DKB. Dafür gibt es im Online-Banking ein extra Konto auf das man Geld überweisen muss, welches dann von der Kreditkarte verwendet wird. (Überziehung einstellbar)
Eigentlich ist es eine Mischung aus Debit- und Kreditkarte. Man kann die Karte auch On-the-fly via DKB App für Länder und andere Kategorien sperren, somit ist man relativ sicher wenn es um Kreditkarten Betrug geht.

Warum so wenig Kreditkarte? Weil ich alles mit der EC-Karte machen kann.
Online greife ich meistens auf Paypal oder Lastschrift zurück.

@Pinki Ist es nicht so, dass eine "echte" Kreditkarte dir immer erstmal ein Kredit gibt und du dann monatlich/jährlich/usw. diesen Kredit inkl. Zinsen abbezahlen musst. Hier liegt die Gefahr höher, Geld auszugeben welches du gar nicht besitzt. Außerdem haben viele Kreditkarten jährliche Verwaltungskosten.

22.10.2020 - 08:41 Uhr

Vielleicht ist hier ein Tipp dabei, den du benutzen kannst?How to register for Microsoft Azure, without a credit card - Quora

Ansonsten gibt es inzwischen genug Möglichkeiten um kostenlose eine Kreditkarte zu erhalten (z.B. DKB). Aber dauert natürlich etwas, bis du die in den Händen hältst.

17.10.2020 - 09:58 Uhr

@witte Gibt es noch weitere Foren für WPF? GUI: WPF und XAML erschien mir das Richtige Forum zu sein. Gib mir Bescheid, damit ich beim nächsten Mal gleich im richtigen Forum posten kann.

Es war vorher bei "GUI: Windows-Forms" und wurde dann nach "WPF und XML" verschoben.

15.10.2020 - 10:57 Uhr

Ich bin mir relativ sicher, dass dort die "normale" Vergleichsfunktion für Strings aufgerufen wird.
siehe Compare(String, String) (Beachte primär die die Dokumentation unter "Notes to Callers")

24.09.2020 - 09:42 Uhr

Ich hab zwar noch nie mit Firebase gearbeitet, aber für mich klingt das so als würdest einfach ein Event abonnieren und das Event wird eben irgendwann gefeuert. Das ist wie ein Mausklick in einer GUI Anwendung: Du kannst dort auch nicht erwarten, dass der Benutzer vor deinem Debug.Writeline("Line 2"); auf den Button klickt nur damit dein Code funktioniert.

Eventuell gibt es eine blockierende Methode um das gleiche Ergebnis zu erreichen?

@Abt: Ist nicht genau das Gegenteil sein Problem? Er hätte es gerne Seriell aber LoadDataSnapshot abonniert nur ein Event.

16.09.2020 - 19:17 Uhr

Eventuell mehrere Projekte in deiner Solution und du hast sie dem falschen Projekt zugeordnet?

04.08.2020 - 19:47 Uhr

Per Dienst gestartete Anwendungen haben im Normalfall nicht die Möglichkeit mit dem Desktop zu interagieren (und sollten sie auch nicht).
Warum? => Interacting with Services | Microsoft Docs und Interactive Services - Win32 apps | Microsoft Docs

31.07.2020 - 13:58 Uhr

Im Grunde reicht dir das folgende Muster für Regex:

^[0-9]{1,}(.[0-9]{1,2})?$

Hier die Erklärung auf Englisch und Beispiel Matches: https://regex101.com/r/L2Drsf/1/

16.06.2020 - 20:21 Uhr

Könnte es eventuell doch ein Netzwerkproblem sein? siehe Nuget package restore error in Docker Compose build - Stack Overflow

14.05.2020 - 11:46 Uhr

Außerdem speicherst du dir die Referenz auf das Process-Objekt nicht (und somit auch das Handle nicht). Jeder Klick auf den Button legt eine neue Instanz an.

02.05.2020 - 15:37 Uhr

ComboBox? 🤔

30.04.2020 - 09:27 Uhr

Du speicherst dir die Referenz, abonnierst das Process.Exited Ereignis (System.Diagnostics) und rufst im Handler Dispose auf.

29.04.2020 - 22:20 Uhr

Kleiner Tipp: Du rufst zu oft Pop()

So etwas kannst du ganz schnell mit dem Debugger herausfinden, der dir auch anzeigen sollte, wo eine Exception geworfen wird.

Siehe: [Artikel] Debugger: Wie verwende ich den von Visual Studio?

01.04.2020 - 09:36 Uhr

Weil du zwei mal reader.Read() aufrufst, bevor du etwas mit den Daten machst.

30.03.2020 - 08:58 Uhr

Versuch mal das SDK an einen Ort zu verschieben, in dem der Pfad keine Leerzeichen mehr enthält.
Musst natürlich dann die Pfade in VS und/oder der Umgebungsvariablen anpassen.

17.03.2020 - 15:30 Uhr

Du brauchst keine zwei Ports in der Firewall öffnen um zwei Tunnel aufmachen zu können.
Du kannst mehrere (in deinem Fall zwei) Benutzer anlegen und diesen dann Rechte geben, dass sie Tunnel auf bestimmte IPs bzw. Ports im Netz öffnen können. Jedem Benutzer kannst du einen oder mehrere öffentliche Schlüssel zuordnen.

Da auf viele Servern der SSH Daemon direkt aus dem Internet erreichbar ist, würde ich dieseine sichere Lösung ansehen.

PS: Wenn beide auf dem gleichen Remote Desktop (sprich gleiche IP und Port) arbeiten, reicht sogar ein Benutzer, in dem du einfach beide Keys für diesen Benutzer hinterlegst.

11.12.2019 - 19:40 Uhr

Du erstellst eine eigene Listen-Klasse die das Interface implementiert oder du greifst auf vorhandene Implementierungen zurück.

Es gibt wohl mind. ein NuGet Paket das du benutzen könntest und hier ist eine sehr alte Beispiel-Implementierung von Microsoft dazu: https://www.microsoft.com/en-us/download/confirmation.aspx?id=17914

11.12.2019 - 19:10 Uhr

Deine List<T> implementiert die benötigte Schnittstelle (IBindingListView) nicht (siehe BindingSource.Filter MSDN (Remarks))

11.12.2019 - 19:07 Uhr

Vermutlich enthalten die Zeilen die du mit GetLineText(i) holst schon ein Zeilenende und somit zeigt dein Texteditor alles pro Zeile angehängte in neuen Zeilen an.

Beispiel:

GetLineText(i) liefert "Hallo Welt\r\n"
Die \r\n siehst auf den ersten Blick nicht, aber anschließend hängst du ".js" dran:
Ergebnis: "Hallo Welt\r\n.js"

Und der Texteditor deiner Wahl spuckt dir natürlich aus:

Hallo Welt
.js
05.12.2019 - 14:46 Uhr

Du musst bei deiner Anfrage die benötigten Cookies setzen.

06.04.2019 - 09:40 Uhr

Woher soll die Sortiermethode denn wissen, nach welcher Logik du sortieren möchtest?
Du übergibst lediglich das Property Receiver von AmsReceiver und der Typ Receiver hat anscheinend keine IComparable-Schnittstelle, somit gibt es auch keine Sortierlogik.

22.03.2019 - 13:34 Uhr

Ich bin mir nicht ganz sicher ob ich es richtig verstanden habe, aber:

Wie wäre es wenn du mit Hilfe der Office 365 REST API eine E-Mail (mit Anhängen) erstellst, dem Benutzer in den Entwürfe/Draft Ordner ablegst und sie anschließend über einen Link (oder eine Weiterleitung) zum manuellen Versand durch den Benutzer öffnest.

Edit: Das ganze funktioniert natürlich nur für Leute die auch Office 365 verwenden.

22.03.2019 - 11:46 Uhr

Aus dem EventArgs Parameter e kannst du es gar nicht auslesen, weil der Konstruktur der ToggleButtonStateEventArgs Klasse den Parameter nicht persistent speichert.

Entweder du passt den Code an oder du castest den sender Parameter in einen ToggleButton und greifst auf das ToggleState Property zu.

03.03.2019 - 09:22 Uhr

Wenn du im Server nur auf localhost hörst, kann das nicht funktionieren. Du musst die LAN-IP deines Rechners verwenden.

02.03.2019 - 09:32 Uhr

Von welchem Netz aus versuchst du auf dein Heimnetz zuzugreifen?

Solltest du versuchen aus deinem Heimnetz mit der DynDNS Domain Zugriff auf dein Heimnetz zu erhalten, musst du sicherstellen das NAT Loopback von deinem Router aktiviert und unterstützt wird.

Wenn du es von extern versuchst, liegt wohl eine Fehlkonfiguration vor. Hört dein gRPC Server auch auf die IP (LAN-IP) deines Computers oder hast du vielleicht das "localhost" aus den Beispielen übernommen?

05.10.2018 - 19:55 Uhr

Die genaue Typbezeichnung der Barcode Scanner wäre noch interessant. Es gibt auch Modelle die können COM-Ports emulieren, dann hättest du 3 verschieden COM-Ports, die getrennt voneinander gelesen werden können. Bei der Standard Tastatursimulation kann es durchaus passieren, dass zwei Scanner gleichzeitig feuern und "ineinander" schreiben.

06.09.2018 - 11:19 Uhr

Man sollte auch den Namen der Tabelle verwenden können:

dataGridView1.DataSource = ds.Tables["Personen"];

Edit: Funktioniert nur wenn man einen DataAdapter mit TableMappings verwendet.

06.09.2018 - 11:12 Uhr

Weil dein altes Visual Studio die in dem Quellcode verwendeten neuen Sprachfeatures nicht unterstützt.

18.04.2018 - 08:07 Uhr

Du hast dein Enum aber in deiner Library definiert. Also musst du auch diese mit ildasm öffnen.

09.04.2018 - 12:00 Uhr

Meine Vermutung ist, dass es vielleicht ~~direkt in die Datei eingetragen wird beim öffnen oder ~~über die Backupdatei (die Datei mit der Tilde am Anfang) geregelt wird.

Edit: siehe T-Virus Antwort

05.03.2018 - 00:22 Uhr

Und was gibt er zurück wenn dein csvText Array leer ist? 😉

Deine Methode überprüft übrigens nur das Element an der Stelle [0][0].

02.03.2018 - 20:09 Uhr

Ändere mal die Startupuri in der App.xaml auf "Views/MainWindow.xaml".

02.03.2018 - 16:57 Uhr

Wo hast du die Änderungen gemacht?
Kannst du bitte noch mal den Inhalt der XAML- und der Codebehind-Datei vom MainWindow posten.

02.03.2018 - 16:46 Uhr

Die Namespaces im XAML und im Codebehind sind unterschiedlich.

ParkingMeter.Views.MainWindow
vs.
Anleitung.Views.ParkingMeter.MainWindow

02.03.2018 - 16:33 Uhr

Hast du es nach dem Verschieben mit einem Neustart von Visual Studio probiert?

22.02.2018 - 13:49 Uhr

Und dann hast du aber noch dies hier geschrieben:

Das klappt zum Beispiel ganz gut, nur noch nicht so wie ich mir das ganze vorstelle.

Meine Schlussfolgerung ist, dass es funktioniert aber du noch Feintuning machen musst. Wir wissen aber nicht wie dein Feintuning aussehen soll.