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 MarsStein
Thema: Suche Lib um Kamerabilder von Messwerten auszuwerten
Am im Forum: Rund um die Programmierung

Hallo,

wie wird der Messwert denn genau ausgegeben? "ein kleinses digitales Display" -> sowas wie eine Digitale Uhr?
Wenn's nichts grafisches ist, dann kommst Du vielleicht mit OCR weiter. Also im Prinzip was Mr. Sparkle auch schon geschrieben hat (Texterkenung). Tesseract ist da eine gute OSS.

Gruß, MarsStein

Thema: Interface optionale Implementierung
Am im Forum: Grundlagen von C#

Hallo,

Zitat von Programmierhans
--> NotImplementedException :-) Ansonsten sehe ich das auch so wie Du.
...und dann die nicht unterstützte Methode am besten explizit implementieren, dann kann sie nur über das Interface aufgerufen werden (nicht mit der normalen ungecasteten Klasseninstanz).

Gruß, MarsStein

Thema: CodeTags in Richtextbox nachbauen
Am im Forum: Grundlagen von C#

Hallo,

Du könntest statt einer RTB ein WebBrowser-Control verwenden. Damit lässt sich das recht leicht erledingen. Die Boxen wären dann normale <div>...</div>.
Schau mal in Textfeld mit Formatierung und klickbarem Text, ist nicht genau Dein Anwendungsfall, aber Du kannst ähnlich vorgehen.

Gruß, MarsStein

Thema: Prozess anhand von Parametern finden und beenden
Am im Forum: Grundlagen von C#

Hallo,

die Syntax mit dem $-Zeichen vor dem String ist ein neues Feature von C# 6 und gibt es erst seit VS 2015. Wenn das bei Dir nicht klappt, bleib bei dem String.Format.

Zitat
leider weiss ich nicht was man dafür benutzt "if contains" kenne ich aus java ka obs das in c gibt
Dann schau bitte in die Doku: String.Contains-Methode

Gruß, MarsStein

EDIT: und häng Deine Bilder hier direkt an, nicht als externe Links! Siehe [Hinweis] Wie poste ich richtig? Punkt 6.1

Thema: Installierbares ISAM nicht gefunden
Am im Forum: Datentechnologien

Hallo,

bist Du sicher, dass Du diese Extended Properties für Access überhaupt angeben musst/darfst?

Sowohl unter Microsoft ACE OLEDB 12.0 connection strings als auch unter ADO Connection Strings Examples tauchen die nur im Zusammenhang mit Excel auf, aber nicht mit Access.

Falls Du sie doch brauchst, kannst Du auch mal einfache Hochkommata statt der doppelten Anführundzeichen probieren:
"Extended Properties='Access 12.0 Xml;HDR=Yes'" <-- dass aber HDR=YES bei der .accdb sinnvoll ist, glaube ich eigentlich nicht, und ob es sich um ein Xml-Format handelt, kann ich nicht sagen.

Gruß, MarsStein

Thema: Binärer Suchbaum
Am im Forum: Grundlagen von C#

Hallo,

nur so beim Überfliegen:

Du trägst beim Auslesen nur Werte der Knoten in die Liste ein, für die auch mindestens ein Folgeknoten (Left oder Right) existiert.
Existieren beide Folgeknoten, trägst Du dafür den Wert des aktuellen Knotens doppelt ein...

Gruß, MarsStein

Thema: Ordner-Überwachung per dauerhaft laufenden Dienst/Prozess od. Task-Scheduler
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo Gü,

OK, ich bin also tatsächlich sowas von blind 8) <-- das ist keine Sonnenbrille

Danke nochmal für die Klarstellung!

Gruß, MarsStein

Thema: Ordner-Überwachung per dauerhaft laufenden Dienst/Prozess od. Task-Scheduler
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo,

danke für den Hinweis, Gü. Das kannte ich so nicht. Allerdings scheinen die Möglichkeiten da eher begrenzt zu sein.
Sowas wie "warte bis zum Abschluss der laufenden Aufgabe und versuche es dann wieder" habe ich jedenfalls auf die Schnelle nicht gefunden - eher nur solche Einstellungen, die festlegen, wann eine laufende Aufgabe abgebrochen werden soll/darf.
Hab jetzt allerdings gerade nur Win7 zur Hand, vielleicht hat sich da ja mittlerweile was geändert. Oder ich bin einfach blind

Gruß, MarsStein

Thema: Ordner-Überwachung per dauerhaft laufenden Dienst/Prozess od. Task-Scheduler
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo,

falls Du mit einem Timer oder dem TaskScheduler arbeitest, wäre es noch wichtig, wie lange Deine Bearbeitung/Konvertierung dauert.
Behalte auf jeden Fall im Hinterkopf, was passiert, wenn die Bearbeitung länger dauert als das Zeitintervall.
Bei einem Timer kannst Du den immer nur einmal ticken lassen und erst wieder aktivieren, wenn die Bearbeitung durch ist - ähnlich kannst Du es auch bei einem Dienst selbst steuern.
Der TaskScheduler bietet Dir diese Möglichkeit nicht.

Gruß, MarsStein

Thema: WPF: Focus für OnPreviewKeyDown/KeyBindings im UserControl
Am im Forum: GUI: WPF und XAML

Hallo,

das geht wenn ich es richtig verstehe in die Richtung [gelöst] UserControl KeyDown aktivieren?

Kannst Dir ja mal den dort verlinkten Thread auf Stackoverflow anschauen. Es läuft allerdings auch dort darauf hinaus, das Focusable auf true gesetzt wird, also letztlich Dein bereits gefundener Workaround.
Eine andere Lösung wüsste ich jetzt auch nicht.

Gruß, MarsStein

Thema: Das Programmier-Spiel: nette Übungsaufgaben für zwischendurch
Am im Forum: Smalltalk

Hallo,

LaTino hat's richtig gelöst und ist somit an der Reihe :)

Hier noch mal meine eigene Lösung:

checked
{
    for (int i = min, end = 0; end == 0; end = (max == i) ? 1 : (++i - i))
        action(i);
}
Zitat von LaTino
Code-Teile zum Auf- und zuklappen im Forum wärn cool ;).
Das Feature gibt es doch - hab es seinerzeit selbst hier für's Forum implementiert... Wenn Du Javascript erlaubst, gibt es neben dem Titel "C#-Code" so ein "-" zum zu- bzw. "+" zum wieder aufklappen :)

Gruß, MarsStein

Thema: Fehler: "Der Wert für eine Decimal war zu groß oder zu klein"
Am im Forum: Grundlagen von C#

Hallo,

Zitat
Sobald ich es weg lasse kommt in der textBox => n. def.
Das und die Fehlermeldung deuten beide darauf hin, dass irgendwo double.NaN ensteht in der distance-Funktion.

Also prüfe mit 
if(!double.IsNaN(inkm))
    textBoxLaenge.Text = Convert.ToDecimal(inkm).ToString("0.00");
else
{
    // hier ist was schiefgelaufen. 
    // Koordinaten ansehen und beim nächsten mal diese speziellen Koordinaten per if-Abfrage
    // vor dem Aufruf abfangen, Haltepunkt setzen, durchsteppen, gucken was passiert.
}

Gruß, MarsStein

Edit: hatte ich doch das ! vor der Bedingung vergessen... wie im richtigen Leben ;)

Thema: Das Programmier-Spiel: nette Übungsaufgaben für zwischendurch
Am im Forum: Smalltalk

Hallo zusammen,

@herbivore: Allen Deinen Aussagen zu der Aufgabe stimme ich vollumfänglich zu :)

@all: herbivores Ansatz mit einer zweiten Schleifenvariable ist auch schon der wichtigste Tipp.
Hier noch einer:
Die Variable, gegen die die Bedingung geprüft wird, ist nicht unbedingt die, die inkrementiert wird. Bei meiner eigenen Lösung würde ich theoretisch bei der zweiten Variablen mit einem bool auskommen, das ist allerdings syntaktisch nicht möglich.

Gruß, MarsStein

Thema: Beim Laden einer CSV gibt die Textbox nur die letzte Zeile aus.
Am im Forum: Grundlagen von C#

Hallo,

weil Du was falsch gemacht hast

Mal ernsthaft, bei der Beschreibung kann man viel mehr nicht dazu sagen

Gruß, MarsStein

Thema: Das Programmier-Spiel: nette Übungsaufgaben für zwischendurch
Am im Forum: Smalltalk

Hallo zusammen,

das Programmierspiel ist ja fast schon in Vergessenheit geraten... hier trotzdem nochmal eine kleine Aufgabe zum Grübeln.

Gegeben ist folgende statische Methode:
[csharp]
public static void Loop(int min, int max, Action<int> action)
{
    if (min > max)
        throw new ArgumentException("min must be lesser than or equal max");

    checked
    {
        for (int i = min /*hier Euer übriger Schleifenkopf*/)
            action(i);
    }
}
[/csharp]
Die Grenzen [tt]min[/tt] und [tt]max[/tt] sind beide inklusive.

Die Methode soll für jeden [tt]int[/tt] im übergebenen Bereich einmal die übergebene [tt]action[/tt] ausführen (wenn [tt]min == max[/tt] darf die Action also nur einmal ausgeführt werden).

[B]Füllt den Schleifenkopf der [tt]for[/tt]-Schleife so, dass alle Eingaben von [tt]int.MinValue[/tt] bis [tt]int.MaxValue[/tt] korrekt verarbeitet werden.

Es darf nur der Schleifenkopf (innerhalb der Klammern, wo der Kommentar steht) verändert werden!![/B]


Beachtet, dass die Schleife in einem checked-Block steht, Überläufe also nicht erlaubt sind.

Viele Spaß damit
MarsStein

Thema: Berechnung von Schnittpunkten auf 2 Geraden des Polygons
Am im Forum: Grundlagen von C#

Hallo,


            // s und t

            double s = d2 / d1;
            double t = d3 / d1;

An der Stelle ist das, was in s und t steht, wieder ein ganzzahliger Wert, weil Du in der Rechenoperation nur mit Integern (d1, d2, d3) rechnest.
Sattdessen könntest Du d1, d2, d3 direkt als double deklarieren, oder eben einen der Werte in der Berechnung auf double casten:

            //-----------ENTWEDER SO------------:

            double d1 = x1 * y2 - y1 * x2;
            double d2 = x3 * y2 - y3 * x2;
            double d3 = x1 * y3 - y1 * x3;

            // s und t

            double s = d2 / d1;
            double t = d3 / d1;

            //-----------ODER SO------------:

            double s = d2 / (double)d1;
            double t = d3 / (double)d1;

Gruß, MarsStein

Thema: Registry am Remote - Computer ändern
Am im Forum: Rund um die Programmierung

Hallo,

da die Registry.GetValue-Methode nur einen String als Namen für den Key annimmt, wirst Du damit vermutlich immer nur auf dem lokalen Rechner landen.

Benutze zum Auslesen/Setzen der Werte die GetValue- und SetValue-Methoden des RegistryKey-Objektes selbst.
In dem Beispielcode in der Doku wird das auch so gemacht - bitte in Zukunft die etwas genauer lesen ;)

Gruß, MarsStein

Thema: Daten von einer Klasse an eine andere als ref übergeben
Am im Forum: Rund um die Programmierung

Hallo,

siehe [Artikel] Parameter-Übergabemechanismen: call by value vs. call by reference (ref/out)

Deine List<string[]> sowie die enthaltenen string[] sind ohnehin schon Referenztypen, es wird also nur die Referenz (kopiert und) übergeben, nicht die Daten. Da brauchst Du dann nichts weiter machen.

Gruß, MarsStein

Thema: Registry am Remote - Computer ändern
Am im Forum: Rund um die Programmierung

Hallo,

  1. Ist das Netzwerk richtig konfiguriert (Netzerkerkennung, Firewall etc.)?
  2. laufen auf beiden Rechnern die Dienste "Remoteregistrierung" und "Windows-Remoteverwaltung"?
  3. Hast Du mit dem Konto, unter dem Du das versuchst, Admin-Rechte auf dem Remoterechner?
  4. Stecken die beteiligten Rechner eigentlich in einer Domäne? Bedenke jedenfalls, dass Du mit RegistryHive.CurrentUser auf einem Remoterechner nicht unbedingt da landest, wo Du willst.


Gruß, MarsStein

Thema: Registry am Remote - Computer ändern
Am im Forum: Rund um die Programmierung

Hallo und willkommen im Forum,

schau mal in Entfernte Registry warten

Es läuft darauf hinaus, entweder einen Dienst zu schreiben der auf dem Remotecomputer läuft, und einen Client, der mit dem Dienst kommuniziert, oder aber den vorhandenen Remoteregistrierungs-Dienst zu nutzen und Remoteadministration zu aktivieren.

Gruß, MarsStein

Thema: constraint.Columns.Contains ohne Linq
Am im Forum: Datentechnologien

Hallo,

da es sich bei den Columns um ein Array handelt, könntest Du einfach IndexOf verwenden, etwa so (nicht getestet):

    if ((constraint != null) && (Array.IndexOf(constraint.Columns, column) ≥ 0))
    {
      hasForeignKey = true;
    }

Gruß, MarsStein

Thema: WPF - Linken und rechten Rand eines Borders farbig füllen
Am im Forum: GUI: WPF und XAML

Hallo,

mein zweiter Vorschlag wäre in dem Beispiel, der äußeren Border den Background Red zu geben und dem Textblock (oder einem rechteckigen Element, das Du noch unter den Textblock packst) den Backgound SCB.Training.Item. Die beiden inneren Borders brauchst Du dann nicht mehr.
Das müsste dann in etwa so aussehen, wie Du es haben willst - das funktionert halt nur nicht, wenn der Bereich hinter dem Text transparent sein soll.

Gruß, MarsStein

Thema: WPF - Linken und rechten Rand eines Borders farbig füllen
Am im Forum: GUI: WPF und XAML

Hallo,

also wenn die Maße der beiden Borders genau passen, vermute ich mal, dass SnapToDevicePixels nicht auf true gesetzt wurde... das könnte so einen Effekt auslösen.

Andererseits, könntest Du ja auch Dein Border mit der gewünschten "Eckenfarbe" füllen und den rechteckigen Bereich dann als Rectangle oder Border (diesmal ohne CornerRadius) realisieren.

Gruß, MarsStein

Thema: Recaptcha Script in der Forenübersicht
Am im Forum: Wünsche und Kritik

Ja, ist weg!
Danke nochmal :)

Thema: Recaptcha Script in der Forenübersicht
Am im Forum: Wünsche und Kritik

Hallo Abt,

Ist ja nun keine weltbewegnde Sache dass es in der Übersicht mit reingeraten ist ;)
Ohne finde ich es trotzdem besser.
Thx.

Gruß, MarsStein

Thema: Recaptcha Script in der Forenübersicht
Am im Forum: Wünsche und Kritik

Hallo,

da ich allermeistens Scripte von Google blockiere, ist mir aufgefallen, dass sich in der Forenübersicht irgendwann ein Recaptcha-Script eingeschlichen hat. Ist das an der Stelle schon nötig? Das braucht man doch vermutlich nur zur Registrierung...

Ich fand es immer sehr gut, dass man sich auf myCSharp bisher auch völlig ohne Script (vor allem aber ohne Drittanbieter-Script) leben konnte.
Ich finde es etwas nervig, da jetzt jedesmal die Meldung von Scriptblocker zu bekommen, obwohl sie vermutlich gar nicht nötig wäre. Für die Registrierung finde ich das Captcha natürlich völlig OK.

Gruß, MarsStein

Thema: Projekt: Installer für alle benötigten Programme
Am im Forum: Projekte

Hallo,

Zitat
Um auf die fremde .exe (n) zu kommen, klar damit die Programme direkt zur Installation zur Verfügung stehen, müssen die .exe(n) der jeweiligen Entwickler eingebunden werden
Dann ist Dein Programm aber ziemlich schnell veraltet, bzw. installiert veraltete Versionen.

Ich würde hier vollständig auf Internet setzen... hinzu kommt ja auch noch, dass das Ding sonst größenmäßig irgendwann ins unermessliche wächst, je mehr Programme dazukommen.

Gruß, MarsStein

Thema: ComboBox (Selektion) - Blockiert die Anwendung
Am im Forum: GUI: WPF und XAML

Hallo,

und das in Jamikus' Link verwiesene Warum DoEvents Mist ist! wegen der 'guten Erfahrungen'.

Gruß, MarsStein

Thema: Konvertierung von römischen Zahlen in ihren Wert
Am im Forum: Grundlagen von C#

Hallo,

vielleicht kann Dir Zommi's Lösung hier als Anschauungsmaterial dienen: Das Programmier-Spiel: nette Übungsaufgaben für zwischendurch

Gruß, MarsStein

Thema: Überschreiben einer virtual Methode aus einer anderen DLL
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo,

ich halte so eine Herangehensweise, nicht-öffentliche Codekonstrukte aus anderen Assemblies anzuprogrammieren, nicht nur für generell falsch, sondern auch für hochgradig gefährlich.
Die gehören nämlich eben gerade nicht zur öffentlichen Schnittstelle, weshalb weder deren Existenz noch die Konsistenz deren Funktionsweise gewährleistet sind.

Mit anderen Worten: Es könnte Dir mit jedem Servicepack/Update des Frameworks passieren, dass sich da was geändert hat und Dein Code schlichtweg nicht mehr funktioniert oder im schlimmsten Fall üble Seiteneffekte hervorruft.

Gruß, MarsStein