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 Papst
Thema: Bilder aus PDF extrahieren und benennen - iText7
Am Gestern, im Forum: Basistechnologien und allgemeine .NET-Klassen

Hi,

was hast du denn bisher probiert? Das Forum ist dazu da dir bei konkreten Problemstellungen zu helfen, nicht dir ein Programm zu schreibem.
Ich habe vor Jahren mal mit iText gearbeitet, soweit ich mich erinnere könnte das funktionieren.

Thema: Einträge in der Menüleiste werden nicht Freigeschaltet
Am im Forum: GUI: WPF und XAML

Hi,

bei WPF verwendet man am besten DataBinding.
Damit würdest du dir den meisten Code dort sparen und vermutlich auch dein Problem beheben.

Thema: Thread mit Parametern starten
Am im Forum: Grundlagen von C#

Wie Abt geschrieben hat, kannst du Tasks parallel laufen lassen mit Task.WhenAll:


Task t1 = RunFirst("...");
Task t2 = RunSecond("...");

await Task.WhenAll(t1, t2);

Ein Thread erwartet ein Delegate, da kannst du nicht einfach Parameter übergeben. Mit einem Delegaten (in dem Fall eine Action<T>) würde das so aussehen:


new Thread(() => RunFirst("..."));

Die Lösungen dazu hättest du mit den gegebenen Stichworten (Task.WhenAll und delegate) in der Doku und bei einer Google Recherche gefunden

Thema: Auf Mausklick in anderer Form reagieren
Am im Forum: GUI: Windows-Forms

Hi,

schau mal diesen Artikel an, das sollte genau das sein, was du suchst:
[FAQ] Kommunikation von 2 Forms

Thema: BindingSource Filter
Am im Forum: Grundlagen von C#

Zitat von Bonaqua
Es erscheint keine Fehlermeldung, allerdings werden auch keine Daten gefiltert.
Habe ich etwas vergessen?

Es erscheint keine Fehlermeldung, weil du eine ggf. erscheinende Unterdrückst.
Weißt du, was der Catch Block macht?

Thema: System.InvalidCastException auf System.Data.DataRowView
Am im Forum: GUI: Windows-Forms

Das DaraGrid in WinForms habe ich nie verwendet, würde aber um dem Problem weiter einzugrenzen:
Schau was an der Klasse, mit der es funktioniert hat anders ist oder versuche es mit einem minimalen Beispiel in einem separaten Projekt einzugrenzen.

Thema: MQTT Verbindungsprobleme
Am im Forum: Netzwerktechnologien

Hi,

ich kenne die Lob nicht, habe selber mit MQTTNet gute Erfahrungen gemacht.
Ohne weitere Details können wir dir leider nicht helfen.

Du solltest dir anschauen, ob du die folgenden Fragen beantworten kannst:

  • Gibt es eine Exception?
  • funktioniert die zweite App ohne die erste?
  • verwendest du evtl. denselben lokalen Port?
  • funktioniert es an einem anderen pc?
  • unterbindet das ggf. Der Broker? (Credentials, IP?)

Thema: Programm portable machen
Am im Forum: Rund um die Programmierung

Ist das deine eigene Applikation?

Falls ja: Portable bedeutet im Endeffekt ja nur, dass die Applikation keine weiteren Abhängigkeiten hat, als die die sie mitbringt.
Das funktioniert in der .NET Welt 5.0) relativ simpel über self-contained.

Datei Verknüpfungen mit einem Portable Programm werden nicht funktionieren, denn die Verknüpfung in Windows muss wissen, wo das Programm liegt zum starten. Das ist bei einem Portable nicht gegeben.

Thema: Sqlite-Datenabfrage im Datagrid anzeigen
Am im Forum: GUI: WPF und XAML

Erstelle dir eine Klasse, die der Struktur deines Abfrageergebnisses gleicht. Lese die Daten in eine Liste dieser Klasse, diese kannst du im DataGrid anzeigen.

Thema: Abstrakte Klasse
Am im Forum: Grundlagen von C#

Wenn du lediglich die Deklaration der Klassen nutzt.


Rechteck rechteck = new Rechteck();
Quadrat quadrat = new Quadrat();


Dann wird kein Code außer der ausgewählte Konstruktor ausgeführt.
Wenn du die Berechnungen sehen willst musst du die passenden Methoden aufrufen:


quadrat.Umfang();

Ruhe dir selber einen Gefallen und verwende keine Umlaute bei Bezeichnern (Fläche).
In der Regel verwendet man englische Bezeichner, es ist einfacher, sich das gleich von Anfang an anzugewöhnen.

Thema: WPF Slider Regler
Am im Forum: GUI: WPF und XAML

Du setzt keinen Initialen Wert.

Mach es dir einfacher und verwende Databinding in WPF. [Artikel] MVVM und DataBinding

Thema: falsche Konvertierung beim Speichern des Inhaltes einer PictureBox in eine Bilddatei
Am im Forum: Grafik und Sound

Ist schon eine Weile her, aber ich vermute du prüfst die falsche Property.

Path.GetExtension(sFD.FileName)

Sollte dir das korrekte Ergebnis geben. In Filter steht immer der Filter.

Thema: Verteilen von Ergebnisse
Am im Forum: Web-Technologien

SignalR ist ein Protokoll Framework mit verschiedenen Implementierungen für Clients. Server gibt es meines Wissens nur in .NET.

Wichtig ist: es sollte auf dem Client laufen. Bei Python Webapps habe ich zuwenig Erfahrung um das direkt sagen zu können - prinzipiell würde ich aber tippen, dass der Python Anteil auf dem Server läuft. Damit hättest du vermutlich erst einmal keine Push Möglichkeit an den Client (oder es wird ein Teil versteckt).

Aber Google hilft dir da sicher weiter - hat Abt ja bereits geschrieben.

Thema: Global Mouse Move
Am im Forum: Grundlagen von C#

Was hast du denn bisher probiert? Bzw., was funktioniert nicht?
Was genau möchtest du erreichen?

Dieses Beispiel auf StackOverflow ist doch sehr überschaubar: how-do-i-capture-the-mouse-move-event

Thema: Positive/negative Antwort per Code bestimmen
Am im Forum: Rund um die Programmierung

Im Machine Learning Kontext gibt es hier Modelle, die so etwas können.
Zumindest, wenn du nicht vorab definierte Antworten bekommen kannst.

Edit: Natural Language Processing war das Stichwort, dass mir nicht eingefallen ist.

Thema: Bindingfehler aber es bindet
Am im Forum: GUI: WPF und XAML

Welchen Typ hat denn die Property Tools? Die zeigst du nirgendwo, dass ist doch die, die abgemartert ist, diese müsste etwas sein,dass IEnumerable implementiert.

Thema: Werte aus Texboxen u. Combobox berechnen und ausgeben
Am im Forum: GUI: Windows-Forms

Dann ist dein Problem wohl, dass dein Code gar nicht aufgerufen wurde.
Das hättest du mit dem Debugger und einem Breakpoint herausgefunden (war das dass „passiert nichts“?).

Um 8m gleichen Kontext zu bleiben: du müsstest das richtige Event von deinen Uli Elementen abonnieren und dort deinen Code auswerten.

Zwei Tipps:
Auch Convert.ToDouble (Api-Docs) wirft eine exception , wenn keine lesbare Zahl eingegeben wird. Convert ist in dem Kontext nicht die korrekte Klasse, nutze besser double.TryParse (Api-Docs).

Verwende Databinding, das wirkt erst einmal komplexer, nimmt dir aber später viel Arbeit ab!

Thema: Blazor: Anzeige DB-UTC-Zeiten in lokaler Benutzerzeit
Am im Forum: Web-Technologien

Speichere das Datum besser als DateTimeOffset in der Datenbank, dann benötigst du nicht so viele Konvertierungen.
[FAQ] DateTime vs. DateTimeOffset und der Umgang mit Zeiten in .NET

Mit DateTimeOffset.ToLocalTime (Api-Docs) bekommst du generell die lokale Uhrzeit. Ich bin mir nicht sicher, wie sich das bei Blazor Server auswirkt. Probier es am besten einfach aus.

Thema: Werte aus Texboxen u. Combobox berechnen und ausgeben
Am im Forum: GUI: Windows-Forms

Wann wird denn deine InitializeValues Methode aufgerufen?
Schau mit dem Debugger, was in den einzelnen Variablen steht.

P.S.: das wird knallen, wenn keine Zahl eingetragen ist.

Thema: Httpclient Anfrage- Daten aus Antwort weiter verabeiten
Am im Forum: Web-Technologien

Microsoft verkauft dir erst einmal gar nichts, sondern sie bieten dir mit der Klasse HttpClient eine weiterentwickelte Klasse, die neuere und performantere Paradigmen nutzt.

Das unterliegende Prinzip (=http) ist jedoch dasselbe, alleine die API ist anders für dich.
Du hast eine ganze Menge Werkzeuge an der Hand, um festzustellen was nicht funktioniert.

Du kannst einzelne Schritte mit dem Debugger testen, damit siehst du auch, ob der Code ausgeführt wird.
Du kannst Wireshark oder einen Debugger Proxy wie Fiddler nutzen um dir Unterschiede zwischen den http requests anschauen.

Da hilft herumschreien, dass der WebClient aber funktioniert halt gar nicht.

Thema: Httpclient Anfrage- Daten aus Antwort weiter verabeiten
Am im Forum: Web-Technologien

Du musst den Task awaiten.

So kommst du an das Ergebnis.

Wann willst du die Informationen via http abrufen? Dort kannst du await nutzen.
Ein Event handler darf async void sein.

Thema: TCP /IP AutoSocket
Am im Forum: Netzwerktechnologien

YAT scheint ein Terminal zu sein (Eigentlich eine Console, wenn ich die Übersicht auf Sourceforge richtig gedeutet habe) (siehe: https://www.hanselman.com/blog/whats-the-difference-between-a-console-a-terminal-and-a-shell)

Wenn du in einem eigenen Programm Daten verarbeiten willst (nicht in der Console), glaube ich ehrlicherweise nicht, dass YAT da das richtige ist.
Ein TCP basierter Server ist relativ simpel gebaut z.B. mit einem TcpListener. Ob der geeignet ist, liegt an deinen Anforderungen - ich würde allerdings immer dazu raten Server Applikationen auf etwas bestehendes aufzusetzen und z.B. Kestrel zu nehmen.
Kommt natürlich auf die Anforderungen an - das wird sich nicht lohnen, wenn du "nur mal etwas ausprobieren willst".

Thema: Werte aus der Datenbank auslesen
Am im Forum: Datentechnologien

Wenn du nicht musst (z.B. Legacy Applikation), würde ich dir davon abraten DataTable zu nutzen. Die ist relativ alt und hat viel overhead.

Wenn du kein SQL schreiben möchtest, schau dir ORM's wie EntityFrameworkCore an.

Thema: Sammelthema Wünsche und Bugreports myCSharp
Am im Forum: Wünsche und Kritik

Die meisten Browser erlauben dir das gespeicherte Passwort wieder auszulesen.

Thema: Jenkins Linting unterschiedliche Ergebnisse Python und C#
Am im Forum: Web-Technologien

Am einfachsten du vergleichst die Requests und schaust dir den Unterschied an. Ein Dictionary gibt es auch in .NET.

Mit dem HttpClient sieht das ganze in C# dann auch nicht mehr so aufwendig aus, in grob etwa so:


var cl = new HttpClient();
cl.BaseAddress = new Uri("https://jenkins");
cl.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic", "base64encoded");

var validationResult = await cl.PostAsync("/pipeline-model-converter/validate", new FormUrlEncodedContent(new Dictionary<string?, string?>()
{
	["jenkinsfile"] = "jenkinscontent"
}));

string result = await validationResult.Content.ReadAsStringAsync();

Edit: stimmt, mit dem json hatte ich mich in meinem Eingangsposting vertan.

Thema: Jenkins Linting unterschiedliche Ergebnisse Python und C#
Am im Forum: Web-Technologien

Der Unterschied zwischen dem Python Script und dem C# Aufruf, zumindest was mir so auffällt:

  • Bei Python machst du erst einen Get Request, danach den Post.
  • Bei Python sendest du einen POST Request mit JSON Payload; bei C# einen Form Encoded Post Request mit JSON Payload

Verwende für HttpRequests besser den HttpClient (Api-Docs) anstatt des WebClient, der gilt seit einigen Jahren als depreceated.

Thema: Array-Elemente in Zeichenfolge gliedern
Am im Forum: Grundlagen von C#

Hi,

woran scheiterst du?

Deine Datei wird vermutlich 32 mal den Inhalt des Arrays enthalten.
Logisch, was du machen musst, in dem Stil, in dem du bereits angefangen hast.

Beim Schreiben zählst du mit, wenn du 33 Zeichen geschrieben hast, schreibst du als nächstes ein NewLine (anstatt mitzählen kannst du auch rechnen i %33 == 0).

Beim lesen verwirfst du einfach die NewLine und setzt dir einen String zusammen den du jedesmal, wenn i %11 == 0 per Console.WriteLine schreibst, alternativ kannst du hier genauso arbeiten wie beim schreiben und nach 11 Zeichen ein NewLine einfügen.

Tipps:

  • stream.WriteByte(array) schreibt nur das aktuelle Zeichen, nicht alle
  • Console.WriteLine schreibt die Zeichen + ein NewLine, Console.Write würde nur die Zeichen schreibenm, die du möchtest
  • Environment.NewLine enthält einen Zeilenumbruch als 2 Zeichen (Windows)
  • % ist der Modulo Operator
  • [/list]

Thema: DateOnly und TimeOnly - die neuen Typen in .NET 6
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Ich sehe sehr häufig noch datetime Implementierungen -auch bei uns im Unternehmen.
Für Endanwender wird das meist dann sichtbar, wenn Charts angezeigt werden, die machen dann lustige Sprünge oder zeigen nur 23h Daten an Tagen mit Zeitzonenw-Offset-Wechsel.

Thema: Tagsüber andere Aktionen als abends / Unterschiedliche Aktionen zu unterschiedlichen Zeiten
Am im Forum: Grundlagen von C#

Neben TimeOnly wird es auch DateOnly geben.
Die Use Cases sind ziemlich gut im Blog erklärt: Date, Time, and Time Zone Enhancements in .NET 6

Thema: Tagsüber andere Aktionen als abends / Unterschiedliche Aktionen zu unterschiedlichen Zeiten
Am im Forum: Grundlagen von C#

Uhrzeiten sind einfacher mit einem TimeSpan (Api-Docs) zu vergleichen. DateTime (Api-Docs) bietet dafür die Property TimeOfDay.

Ab .NET 6 gibt es dann übrigens passend dafür TimeOnly (Api-Docs).

Gleichzeitig bitte mit bedenken, dass DateTime keine Zeitzonen Informationen hat: [FAQ] DateTime vs. DateTimeOffset und der Umgang mit Zeiten in .NET