Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Portal
  • |
  • Mitglieder
Beiträge von weismat
Thema: Ideale Aufbau eines XML Struktur
Am im Forum: Grundlagen von C#

Wie Coffeebean es sagt - Deine Datenstruktur muss zu Deinen funktionalen Anforderungen an Deine Applikation passen.
Der XML Serializer macht dann die Arbeit automatisch.
Die menschliche Lesbarkeit von XML ist ein altbekanntes Problem - deswegen wird es auch immer mehr von JSON und anderen Formatten verdrängt.

Thema: SQL-Abfrage liefert nur einen Datensatz
Am im Forum: Datentechnologien

Du verwechselst wahrscheinlich RecordCount mit FieldCount....
Aber an sich brauchst Du das gar nicht. Du machst das doppelt.


private string[] getDataFromPublic()
{
            String conString = "SERVER=127.0.0.1;DATABASE=lss_software;UID=root;";
            MySqlConnection con = new MySqlConnection(conString);
            MySqlCommand com = con.CreateCommand();
            com.CommandText = "select licenseKey, active from license";
            MySqlDataReader reader;
            con.Open();
            reader = com.ExecuteReader();
            string[] data = new string[reader.FieldCount];
            int i = 0;
            MessageBox.Show(Convert.ToString(reader.RecordCount ));
            while (reader.Read())
            {
                MessageBox.Show(reader.GetValue(i).ToString());
                data[i] = reader.GetValue(i).ToString();
                i++;
            }
            return data;
}

Thema: Bytes in C#, Darstellung von int, String
Am im Forum: Grundlagen von C#

Bitte sei etwas präziser mit Codebeispiel.
Wahrscheinlich hast Du ein implizites ToString() in Deinem Code mit dem TextWriter.

Thema: Eingescannte Rechnungen auf Unterschrift oder Stempel überprüfen
Am im Forum: Grafik und Sound

Die Klassifizierung von Bildern ist ein klassisches Machine Learning Problem.
Im ersten Kapitel von "Machine Learning Projects for .NET developers" wird so ein Problem diskutiert. Da geht es sogar um Handschriften-Erkennung.
Die Azure Lösung wäre das computer vision api

Thema: [abstract class] Validation auch in abgeleiteten Klassen
Am im Forum: Grundlagen von C#

Dafür gibt es das Schlüsselwort sealed.

Thema: OpenNetCF WZC gibt immer Output/Fehler 87 zurück
Am im Forum: Rund um die Programmierung

Zeig uns, was Du konkret machst. Wenn Du nur Marshal.PtrToStructure machst, dann ist nix nötig.
Der Garbage Collector macht seine Arbeit für alles, was im Managed Bereich ist, automatisch.
Da der Garbage Collector nicht weiss, was im Unmanaged Bereich passiert, muss man bei Function Pointer/Delegates künstliche Referenzen halten, damit der Garbage Collector die nicht wegräumt, obwohl man sie noch braucht.

Thema: Binding eine Spalte von einer DataTable
Am im Forum: GUI: WPF und XAML

Du solltest eine Klasse haben, die alle Spalten zur Verfügung stellt.
Du kannst dann zum Beispiel die Instanzen der Klasse im Konstruktor mit allen DataTables instanzieren. Das ist sauber und nachvollziehbar.
Gerade wildes XAML Binding führt zu Spaghetti-Code.

Thema: HTML code in c# einbinden (nicht ASP.NET!)
Am im Forum: Netzwerktechnologien

Ich habe etwas sehr einfaches mit Selfhosting damit gemacht und da hatte ich sehr schnell Ergebnisse.
Brauchte ein bisschen Routing und das wars.
Die Komplexität/Aufwand für das Einarbeiten hängt mehr von Deinen Wünschen/Anforderungen ab.

Thema: HTML code in c# einbinden (nicht ASP.NET!)
Am im Forum: Netzwerktechnologien

Eine einfache Alternative zu ASP.NET wäre Nancy.

Thema: Ist es (mit wenig Aufwand) möglich eine "Grund-Mscorlib" zu erstellen?
Am im Forum: Grundlagen von C#

Wird man ein guter Rennfahrer, weil man einen Motor bauen kann?


Wenn Du etwas richtig tiefgehendes lernen willst, dann würde ich Dir CLR Via C# empfehlen.
Da werden viele fundamentale Sachen erklärt.
Advanced .NET Debugging ist auch gut, nur leider etwas veraltet, es hat aber viele interessante Übungen.
Ansonsten würde ich mich mehr an die Specs halten, da ist der Schwerpunkt aber mehr auf präzise Beschreibung und weniger auf den Aufbau von Verständnis der Zusammenhänge.
Writing High-Performance .NET Code hat mir zuletzt gut gefallen - da werden auch einige fundamentale Dinge erklärt und mit praktischen Beispielen verknüpft.

Thema: Assembly zu eigener Assembly hinzufügen, die einen starken Namen hat
Am im Forum: Rund um die Programmierung

Das es um Hardware-Treiber geht, könnte es anders sein, da ja die Hardware verkauft werden soll.
Ich würde einfach mal nachfragen.

Thema: OpenNetCF WZC gibt immer Output/Fehler 87 zurück
Am im Forum: Rund um die Programmierung

Einen Tip habe ich noch.
Schreibe Dir kleine C und C# Programme, um mittels sizeof die Länge der C und C# Strukturen zu bekommen. sizeof gibt es auch in C#.
Das gibt Dir eine erste Indikation, ob Du alles richtig gemacht haben könntest.

Thema: OpenNetCF WZC gibt immer Output/Fehler 87 zurück
Am im Forum: Rund um die Programmierung

Wenn Du C Strukturen nach C# umsetzt, dann würde ich mich immer an diese Tabelle ("Marshaling Arguments") orientieren.
Ausserdem würde ich nie herumkopieren mit Marshal.Copy, sondern immer einen quasi Cast mit Marshal.PtrToStructure machen. Der Code sieht dann im Regelfall so aus:


public static T FromBytes(byte[] bytes)
        {
            var handle = GCHandle.Alloc(bytes,
                                        GCHandleType.Pinned);
            var result = (T)Marshal.PtrToStructure(handle.AddrOfPinnedObject(),
                                                        typeof (T));
            handle.Free();
            return result;
        }

Und RawData wird immer so aussehen:


  struct RAW_DATA
        {
            public uint dwDataLen;
            public IntPtrpData;
        }

Thema: Microsoft übernimmt Xamarin
Am im Forum: Szenenews

Zum Thema Xamarin lohnt es sich Show 1276 von Dotnetrocks zu hören.

Ein Grund des Erfolgs von Xamarin ist, dass es nicht versucht erfolglos ein allgemeines GUI-Modell zu sein (wie z.B. Java Fx oder qt), sondern die nativen Eigenschaften der jeweiligen Plattform unterstützt.
So hat man dann am Ende 80-90 % gemeinsame Code Basis für alle Plattformen und 10 % speziellen Code.

Thema: [log4net] Konfiguration über App.config
Am im Forum: Rund um die Programmierung

Relative Pfade kann man schon in den Code hereinbauen....absolute natürlich nicht ;-)

Thema: [log4net] Konfiguration über App.config
Am im Forum: Rund um die Programmierung

Wenn Du eine Konsole-Anwendung hast, dann ist die Konfiguration in foo.exe.config - nicht in app.config.
Beim Kompilieren wird app.config nach foo.exe.config kopiert. Vielleicht ist da etwas schief gelaufen.
Die Klassenbibliothek sollte keine eigene Konfiguration haben - das sollte alles an einem Platz sein, sonst wird das schnell unübersichtlich und unwartbar.

Thema: //build/ 2016 - Streams
Am im Forum: Szenenews

Die Kosten siehst für Xamarin siehst Du bei den Lizenzbedingungen.
Open Source und bis 5 Nutzer ist frei.
Ansonsten brauchst Du die Enterprise-Lizenz, ähnlich wie bei Visual Studio.

Thema: //build/ 2016 - Streams
Am im Forum: Szenenews

Man kann bei Xamarin einfach das Studio herunterladen. Man wird nach seiner Visual Studio Version gefragt.
Die Lizenzbedingungen erklären dann die jeweiligen Einschränkungen.

Thema: Fehlende Projektverweise in Solution für unterschiedliche Projekttypen
Am im Forum: Rund um die Programmierung

Einerseits würde ich Dir bei komplizierten BuildProzessen empfehlen, FAKE anzuschauen - da kommt Visual Studio an seine Grenzen.

Für reine Bit-Einstellungen kann man auch Corflags benutzen, um im nachhinein die Bit Version einzustellen - solange Du keinen speziellen Code mit Präprozessor #if hast, was ich brauche.

Thema: //build/ 2016 - Streams
Am im Forum: Szenenews

Es geht jedes Ubuntu UserMode binary. Also sollte auch zsh gehen.

Thema: [PowerPoint Interop] Zugriff auf TextFrame.TextRange.Paragraphs, Lines
Am im Forum: Office-Technologien

Wenn Du auf COM/Interop benutzt, dann musst Du dynamic und nicht var zum typisieren benutzen.
Der Hintergrund ist, dass die Typisierung von var zur Compile-Zeit erfolgt, die Typisierung von dynamic hingegen zur Laufzeit - wie auch COM funktioniert.
Das erklärt schön dieser MSDN-Artikel.

Thema: Performantere Alternative um 200.000+ Einträge im DataView durchzuscrollen?
Am im Forum: GUI: WPF und XAML

Wenn Du an fortgeschrittenen Techniken interessiert bist, dann würde ich mir mal den TailBlazer anschauen.
Das Scrollen und besonders die Suchbefehle gehen wirklich schnell.

Thema: Zugriff von 64-Bit auf 32-Bit Dll, Elegantere lösung als über 32-Bit COM?
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Du musst nicht mehrfach kompilieren, der Compiler setzt ein Flag, was festlegt, ob die .NET Runtime einen 32 oder 64 Bit Prozess startet.

Elegante Lösungen gibt es nicht, da das auf Betriebssystem-Ebene so festgelegt ist - siehe hier.

Thema: Zugriff von 64-Bit auf 32-Bit Dll, Elegantere lösung als über 32-Bit COM?
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Das mit dem Kompilieren ist auch ein Irrglaube.
Ob die .NET Runtime etwas mit 32 oder 64 Bit ausführt, steht im Portable Header.
Mit Corflags kannst Du jederzeit den PE Header ändern.

Thema: Struct binden und Änderungen erhalten
Am im Forum: GUI: WPF und XAML

Du verwechselst gerade 2 Dinge.
Für das dynamische Aktualisieren einer Bindung brauchst Du INotifyPropertyChanged unabhängig ob Klasse oder Struct.
Das fehlt Dir bei dem MS SizeStruct.
Du kannst schon vom MS Size Struct erben und dann für Height und Width INotifyPropertyChanged implementieren, wenn das reicht..

Thema: HEAP Error in Programm mit externer DLL
Am im Forum: Rund um die Programmierung

Es gibt verschiedene mögliche Probleme:

  • DLL Calling Convention stimmt nicht
  • Werte müssen auf einen festen Platz gelegt werden
  • Zusätzliche Referenzen müssen gehalten werden, da der Garbage Collector nicht sieht, was im Unmanaged Bereich abläuft
MSDN Interop Marshalling ist ein guter Startpunkt.

Thema: Microsoft SONiC
Am im Forum: Szenenews

Bei der Build sind wenig reine Linux-User - deswegen macht das das Sql-Server Announcement dort weniger Sinn, finde ich.

Denke mal, dass noch mehr bei Holo Lens kommt.

Thema: DataGridView Style nach Sortierung
Am im Forum: GUI: Windows-Forms

Wie stellst Du denn die Einfärbung ein - ist da etwas gebunden oder benutzt Du einen Konverter oder etwas anderes?

Thema: Multithreaded Socket Server
Am im Forum: Netzwerktechnologien

Bei Akka gibt es als Untermodul Akka Remoting, das die Kommunikation zwischen Client und Server anbietet - dort werden dann auch verschiedene Transports unterstützt.
Wenn Du Mobile Devices mit Polling unterstützst, dann brauchst Du in Akka einen Scheduler, der dann die regelmässigen Nachrichten an die Clients auslöst.

Thema: Gruppierte RadioButtons in GroupBox - Fehler in Visual Studio
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

WPF Layout - da wird alles super erklärt.