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 MrLeeh
Thema: [erledigt] Potenzberechnung, negativer Exponent
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo pebo,

1E-5 bedeutet 1 * 10^-5. Demzufolge wäre die richtige Schreibweise mit pow:


double dErgebnis = 1.0197 * Math.Pow(10, -5);
Du könntest natürlich auch ne kleine Funktion schreiben, die das noch kompakter erledigt. Aber falls du es nicht ständig brauchst ist das doch einfach genug, oder.

Beste Grüße
Stefan

Thema: Dezimalpunkte durch Kommas ersetzten
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Wenn ich das richtig verstanden habe willst du die Zahlen, welche als Zeichenfolge vorliegen in Double parsen. Das geht sehr gut, indem du Kultureinstellungen verwendest. Die folgende Funktion wandelt dir einen String in eine Double-Zahl um, du kannst den verwendeten Dezimalseparator festlegen.

using System.Globalization;
public double ParseStringToDouble (string sValue, string sDecimalSep, string sGroupSep)
{ 
    private NumberFormatInfo nfi = CultureInfo.CurrentCulture.NumberFormat.Clone() as NumberFormatInfo;
    
    //Dezimaltrennzeichen festlegen
    nfi.NumberDecimalSeparator = sDecimalSep;
    
    //Tausendertrennzeichen festlegen
    nfi.NumberGroupSeparator = sGroupSep;
    
    double dRetVal = 0.0;
    if (Double.TryParse(sValue, NumberStyles.Number, nfi, out dRetVal))
    {
    }
    else
    {
        dRetVal = Double.NaN;
    }
    return dRetVal;
}

Beste Grüße

Thema: WebBrowser nie ReadyState.Complete
Am im Forum: GUI: Windows-Forms

Hallo,

Zitat von Jaensen
Alles was du nach dem setzen des completed-Flags tun möchtest solltest du mal probehalber in den Eventhandler packen.

ja der Meinung bin ich auch. In einer While-Schleife auf ein Flag zu warten, was in einem Ereignis gesetzt wird ist nicht sehr günstig. Ich weiß ehrlich gesagt auch nicht ob das überhaupt funktioniert. Richtig ist es auf jeden Fall, alles was du bei Auslösen des Completed-Events tun möchtest auch in den Ereignishandler zu packen und die While-Schleife wegzulassen.

Beste Grüße

Thema: Tutorial Database 2.0 Beta 1
Am im Forum: Projekte

Zitat von wsl
Ich will euch Tutorial Database vorstellen.
Es ist eine Plattform, auf der jeder Tutorials schreiben und ansehen kann. Eine Registrierung ist nicht notwendig, aber von Vorteil.
Es soll eine zentrale Anlaufstelle für Tutorials werden.

Hallo wsl,

interessantes Konzept. Wird interessant zu sehen, wie sich die Seite mit der Zeit füllt. Leider sind jetzt noch keine Tutorials zu C# zu sehen. Aber das kann sich ja noch ändern

Beste Grüße
MrLeeh

Thema: Byte Array mit Binaär Codierter Zahl als String
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Ungetestet:


int iResult=0;
for (int i=0; i<binOut01.Length; i++)
{
    if (binOut01[i]) iResult += (int)Math.Pow(2, i);
}
string sRetVal = iResult.ToString();

Thema: Von einem anderen Prozessen geöffnete Dateien ermitteln
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo,

Zitat von Floste
Sowat gibt es schon in c# (open source): http://easyhook.codeplex.com/
Ich weiß, dass Unlocker diese Funktionalität bietet. Ich nehme das gern mal, wenn ich eine Datei nicht löschen kann, weil immernoch ein Handle drauf ist, obwohl der Prozess nicht mehr vorhanden ist (z.B. bei Absturz des Prozesses). Dann kann man die Handles entfernen und die Datei "unlocken"

Beste Grüße

Thema: FolderCopy mit Progressbar
Am im Forum: GUI: Windows-Forms

Hallo,

hab mich mal vor ner Weile mit Threads, die eine Fortschrittsanzeige zulassen beschäftigt. Dabei ist der folgende Code entstanden. Ich nutze diese Struktur sehr oft. Kannst ja mal schaun, vielleicht hilft dir das ja weiter:

mrleeh.de: Thread mit Fortschrittsanzeige

Greets

Thema: Datumsdarstellung und Konvertierung
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Zitat von chavez
Ich würde das ganze mittels DateTime.Parse() und der passenden CultureInfo lösen.

Edit: Mittels Convert klappts auch, da man auch hier die passende CultureInfo angeben kann.

Denke ich auch, über CultureInfo.DateTimeFormat kannst du das Datumsformat abrufen und verändern. Wenn du das gleich global ändern willst, dann kannst du die CurrentCulture verändern. Oder du nutzt die TryParseExact-Funktion.

Thema: TextBox automatisch scrollen
Am im Forum: GUI: Windows-Forms

Hallo Floschi,

habe gerade mal in der MSDN nachgesehen. ScrollToCaret führt einen Bildlauf bis zur Einfügemarke durch. Das heißt du musst in deiner Textbox noch die Einfügemarke ans Ende setzen, dann funktioniert es.

Beste Grüße
Stefan

Thema: Probleme bei der Achse bei ZedGraph
Am im Forum: Grafik und Sound

Wie fügst du die Punkte in das Diagramm ein? Nimmst du dafür eine PointPairList? Kannst du den Code dafür mal posten?
Die Skala der Y-Achse kannst du über

myZedGraph.GraphPane.YAxis.Scale
verändern.

Thema: Probleme bei der Achse bei ZedGraph
Am im Forum: Grafik und Sound

Hallo Foufou,

wenn ich den Wert 200.0 habe multiplizierte es * 10
dann zeichnete er 2000!!!

so ein Verhalten von ZedGraph ist mir nicht bekannt. Ich hab hier mal ein paar ZedGraph-Grundlagen-Statements zusammengefasst:
http://mrleeh.de/mrleeh/archives/189-Zed-Graph-Grundlagen.html
Vielleicht hilft es dir ja. Ansonsten beschreib doch dein Problem etwas genauer, damit dir gezielter geholfen werden kann.

Beste Grüße
Stefan

Thema: Probleme beim Installer: Autostart der Anwendung beim Hochfahren von Windows
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Zitat von Björn
Darauf bezog ich mich ja, da ich aus dem ersten Beitrag herausgelesen habe, dass er bereits ein Setup erstellt hat.

Oh, tut mir leid Björn, ich habe die Namen vertauscht...Eigentlich wollte ich Pezor anschreiben. Dickes Sorry

Grüße

Thema: Probleme beim Installer: Autostart der Anwendung beim Hochfahren von Windows
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Hallo Björn,

Was nutzt du für eine Entwicklungsumgebung? In Visual Studio Pro 2005 kannst du ein Bereitstellungsprojekt erzeugen, welches eine Setup-Datei erstellt. Bei der Konfiguration dieses Projekts kannst du auch Registry-Schlüssel anlegen oder eine Verknüpfung im Startmenü erzeugen.

Wenn du das Einfügen in den Autostart evtl. innerhalb des Programms konfigurierbar machen möchtest, dann kann ich dir folgenden Code empfehlen:

using System.Win32;
public class CMain
{
    //Registry-Pfad für den Autostart
    private const string AUTOSTART_REGISTRY_KEY = @"SOFTWARE\Microsoft\Windows\CurrentVersion\Run";
    //Name des Registry-Eintrags
    private const string AUTOSTART_REGISTRY_VALUE_NAME = "Anwendungsname";
   
    private void RegisterForAutostart(bool bRegister)
    {
        //Autostart-Schlüssel des aktuellen Users, wenn Autostart für alle User gewünscht,
        //dann CurrentMachine benutzen
        RegistryKey autostartRunKey = Registry.CurrentUser.OpenSubKey(AUTOSTART_REGISTRY_KEY, true);
        if (autostartRunKey != null)
        {
            if (bRegister)
            {
                //Wert anlegen, wenn schon vorhanden wird dieser überschrieben
                autostartRunKey.SetValue
                (
                     AUTOSTART_REGISTRY_VALUE_NAME,
                     Application.ExecutablePath, RegistryValueKind.String
                );
            }
            else
            {
                //Wert löschen, wenn nicht vorhanden, dann wird keine Exception ausgelöst
                autostartRunKey.DeleteValue(AUTOSTART_REGISTRY_VALUE_NAME, false);
            }
        }
    }

Beste Grüße
Stefan

Thema: Kopfrechnen & Tricks
Am im Forum: Smalltalk

Zitat von Joetempes
Ist ein Zahl durch n teilbar ohne Rest?

Ganz einfach: Ja, wenn ihre Quersumme durch n teilbar ist.


Bsp:

n = 3

783 / n = ? (teilbar ohne Rest)

7 + 8 + 3 = 18

--> 18 / 3 = 6 (Ist teilbar!)


Also auch 783 / 3 = 261.

Funktioniert aber nur bei bestimmten Teilern (genau 3 und 9). Für die zwei gilt diese Regel nicht:

n=22
31 / n = ?
3+1 = 4 --> ist durch 2 teilbar.

Aber 31 / 2 ist 15,5

Hier mal eine Übersicht zu den Teilbarkeitsregeln, hab ich gerade im Netz gefunden:

- 2, wenn ihre letzte Ziffer eine 0, 2, 4, 6 oder 8 ist, sonst nicht,
- 5, wenn ihre letzte Ziffer ein 0 oder 5 ist,
- 10, wenn ihre letzte Ziffer eine 0 ist,
- 3, wenn die Quersumme durch 3 teilbar ist,
- 9, wenn die Quersumme durch 9 teilbar ist,

- 4, wenn ihre letzten beiden Ziffern eine Zahl ergeben, die durch 4 teilbar ist,
- 25, wenn ihre letzten beiden Ziffern eine Zahl ergeben, die durch 25 teilbar ist,
- 8, wenn ihre letzten drei Ziffern eine Zahl ergeben, die durch 8 teilbar ist,
- 125, wenn ihre letzten drei Ziffern eine Zahl ergeben, die durch 125 teilbar ist.

(Hoffe das Thema hat jetzt nicht schon jemd. aufgegriffen, hab nämlich noch nicht alle Beiträge durchgelesen)

Beste Grüße

Thema: FileInfo auf Shortcut (.lnk) überprüfen
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Frag doch einfach mit

if (Path.Extension(sFilename) == "lnk");
ab, ob es eine Verknüpfung ist. Das kann man ja auch in ner eigens geschmiedeten Funktion unterbringen

Thema: ZedGraph Grafik löschen
Am im Forum: Grafik und Sound

Da wirst du nicht drumrumkommen, die Eigenschaften neu zu setzen. Die eine Y-Achse kannst du ja über IsVisible = false verstecken.

Eventuell funktioniert folgender Ansatz: Die konfigurierten Achsen in einer Liste speichern und bei Wechsel des Diagrammtyps die Referenz auf die Achsen im Zedgraph neu setzen. Da die Y-Achsen in Listen gespeichert sind sollte das funktionieren.

            List<YAxis> lstYAxis = new List<YAxis>();
            
            lstYAxis.Add (new YAxis("Y1"));
            lstYAxis.Add (new YAxis("Y1Bar"));

            zedGraph.GraphPane.YAxisList.RemoveAt(0);
            zedGraph.GraphPane.YAxisList.Add(lstYAxis[1]);

Thema: ZedGraph Grafik löschen
Am im Forum: Grafik und Sound

Hallo DLCoder,

der zweite Teil deiner Beschreibung klingt so, als ob du die Autoscale-Anweisung, die im Kontextmenü von ZedGraph enthalten ist per Programmcode aufrufen willst.

Für den Fall gibt es den Befehl:

zedGraph.RestoreScale(zedGraph.GraphPane);

Allerdings mußt du dann immernoch die zusätzliche Y-Achse für den Bar-Graph per Code einfügen.

Beste Grüße
MrLeeh

Thema: CSV-Datei Einlesen und bearbeiten
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo Totty,

Da gab es doch eine lustige kleine Funktion namens String.Split. Die würde ich mir mal zu Gemüte ziehen.

Beste Grüße
MrLeeh

Thema: Focus lässt sich nicht auf TextBox setzen
Am im Forum: GUI: Windows-Forms

Hallo buyden,

Eventuell funktioniert da was mit der Reihenfolge der Events nicht. Ich kann mir vorstellen, dass du in der jeweiligen Funktion zwar die Focus-Anweisung gibst, aber danach noch ein Event gestartet wird, welches den Focus auf das Element mit dem niedrigsten Tabstopp-Index setzt. Wieso setzt du den Tab-Index von deiner Textbox nicht einfach am niedrigsten?

Beste Grüße
MrLeeh

Thema: ZedGraph x-achse Zeitangabe
Am im Forum: Grafik und Sound

Ich denke auch es liegt daran:

zgc.GraphPane.XAxis.Scale.Format = Stunden + ":" + Minuten + ":" + Sekunden + "," + hun;
Das Format solltest du eigentlich in der Form:

zgc.GraphPane.XAxis.Scale.Format = "hh:mm:ss";
angeben.

Versuchs mal stattdessen mit der Auto-Funktion:

            myPane.XAxis.Title.FontSpec.Size = 10;
            myPane.XAxis.Type = AxisType.Date;
            myPane.XAxis.Scale.FontSpec.Size = 8;
            myPane.XAxis.Scale.MajorStepAuto = true;
            myPane.XAxis.Scale.MinorStepAuto = true;
            myPane.XAxis.Scale.FormatAuto = true;

Grüße

Thema: Voraussetzungen und mögliche Einschränkungen (z.B. FireWall) bei IPC-Kommunikation
Am im Forum: Rund um die Programmierung

[EDIT=herbivore]Abgeteilt von Dateiassoziation[EDIT]

Zitat von der Marcel
Nun das Beispiel für .Net2.0

Sehr gutes Beispiel. Hat mir wirklich weitergeholfen. Vielen Dank an den Poster

Eine Frage habe ich zum Thema IPC-Kommunikation. Ist diese Art der Kommunikation unproblematisch, d.h. kann es passieren, dass die Firewall alarmiert wird oder benötige ich einen speziellen Dienst, der immer aktiviert sein muss, wenn ich IPC nutze? Brauche ich Admin-Rechte? Das würde mich interessieren weil es eine recht komfortable Möglichkeit ist zwischen Prozessen zu kommunizieren und ich nicht durch eventuelle Einschränkungen überrascht werden will, die ich jetzt noch nicht kenne.

Beste Grüße und vielen Dank
MrLeeh

Thema: Drücken der Entertaste bei Buttons verhindern
Am im Forum: GUI: Windows-Forms

Wird durch das Drücken der Enter-Taste das Click-Ereignis ausgelöst? Dann kannst du doch in diesem Ereignis den Tastenstatus der Enter-Taste abfragen.

Thema: YASST - Yet Another Screenshot Tool
Am im Forum: Projekte

Sieht nett aus,
ich fände eine Ausschneiden-Funktion sinnvoll, wo der Nutzer ein Rechteck auf dem Bildschirm ausschneiden kann von dem dann der Screenshot gemacht wird. Ich nutze Printkey und dort fast ausschließlich diese Funktion.
Grüße

Thema: .Net DLL für natives Programm
Am im Forum: Rund um die Programmierung

Ich hatte mich auch mal mit dem Thema auseinandergesetzt und ein kleines Beispielsnippet bei mir auf die Website geladen: http://mrleeh.de/mrleeh/archives/186-.NET-DLL-als-COM-zugaenglich-machen.html

Thema: mehrere instanzen einer klasse, welche instanz feuert event?
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Sourcecode wäre sicher hilfreich

Thema: mehrere instanzen einer klasse, welche instanz feuert event?
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Eigentlich gehört zu einem Event auch immer ein Parameter vom Typ Object, der den Sender angibt:

private void MeinEvent(object sender, EventArgs e)

Das kannst du dann nach deinem Klassentyp casten.
<Edit>siehe Programmierhans</Edit>

Thema: Verzeichnisauswahl-Dialog mit Dateien
Am im Forum: GUI: Windows-Forms

Also wirst du dir das Ding wohl selbst schmieden müssen. Falls du das machst kannst du ja mal nen Screenshot hier einfügen.

Thema: Verzeichnisauswahl-Dialog mit Dateien
Am im Forum: GUI: Windows-Forms

Du könntest doch den "Datei öffnen"-Dialog nutzen und dann nur das Verzeichnis auswerten und nicht den Dateinamen.

Thema: TextBox und blinkenden Cursor verschieben
Am im Forum: GUI: Windows-Forms

Kannst du nicht einfach ein neues Control aus zwei Textfeldern und einer Picturebox erstellen. Die Picturebox kannst du ja dann innerhalb des ersten Textfeldes positionieren. Das zweite Textfeld positionierst du rechts neben der Picbox auch innerhalb des ersten Textfeldes, den Rand blendest du aus.

Thema: Integralrechnung - grundlegende Verständnisprobleme
Am im Forum: Smalltalk

Zitat von Jelly
In der Physik tauchen ganz oft Differentialgleichungen auf

Das stimmt, alle dynamischen Vorgänge (Energiespeicher werden gefüllt und entladen) werden mit Differentialglg. beschrieben. Dlgs lassen sich für die Berechnung mit dem PC unter Vorraussetzung einer festen Abtastzeit in Differenzengleichungen umwandeln. Bei der ganzen Sache muss nur beachtet werden, dass du das Abtasttheorem nicht verletzt, d.h. die Abtastzeit sollte mindestens die Hälfte, besser ein zehntel, der kleinsten Zeitkonstante betragen.