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 PPK
Thema: gyro und Komplementärfilter
Am im Forum: Rund um die Programmierung

Hm wie sind deine Messgeräte denn verbaut? Also in welche Richtung beweglich und in welche nicht. Ich selbst hab mein FEZCerbot beigebracht auf den Hinterrädern zu "stehen", weil ich dass mal in einem Youtube-Video gesehen hab.
Dabei hab ich die gleiche Formel wie deine erste benutzt. Mein Cerbot selbst kann, wenn er steht, nur in eine Richtung kippen. Daher ist der Acc-Winkel. Auf der Y-Z-Koordinate abzulesen. (X-Achse = der Achse der Hinterräder)

Thema: Server die anzahl der zu lesenden Bytes mitteilen
Am im Forum: Grundlagen von C#

Hier mal ein Codebeispiel, damit du verstehst was gemeint ist:


  byte[] buffer = ....; //irgend eine Nachricht
  int i = buffer.Length;
  byte[] length = BitConverter.GetBytes(i);
  stream.Write(length);
  stream.Write(buffer);


  byte[] length = new byte[4];
  stream.Read(length,0,4);
  int i = BitConverter.ToInt32(length);
  
  byte[] buffer = new byte[i];
  stream.Read(buffer,0,i);

Dies ist nur ein Beispiel des obengenannten Protokolls. Es wurde nicht getestet und auch nich in einer Entwicklungsumgebung geschrieben.

Thema: Liste mit Regex prüfen, dann in String umwandeln
Am im Forum: Grundlagen von C#

Deine Variable neuerText wurde nicht in der while Schleife deklariert,
sondern in Zeile 6. Besser ist es aber, du definierst es gleich:

string neuerText = null;
Das Problem ist aber, dass du neuerText immer überschreibst, das zu korrigieren ist ein bisschen mehr Arbeit glaub ich.
Aber ich habe einen einfachen Vorschlag für dich:
verwende einfach String->Replace, du benötigst ja keine Regex, da deine Zeichenfolge feststeht.

return text.Replace("  ","\r\n");
Wenn du trotzdem Regex benutzten möchtest, dann nutze dafür auch die Replace-Funktion der Regex Klasse. ;)

Thema: nach symmetrischer Skalierung immer Nullpunkt auf Y-Achse anzeigen lassen
Am im Forum: Grafik und Sound

Ich hab jetzt ein bisschen getestet, um den Algorithmus für das Zeichnen offenzulegen. (Standarteinstellung). Er scheint bei mir immer von unten nach oben zu zeichnen, solltest du also mal keine Symmetrie haben, so muss gelten, dass:
Intervallgröße*n = -min, mit n ist eine Natürliche Zahl und min <0, max>0. Also wenn du

chart1.ChartAreas[0].AxisY.Interval =-min / i;
wählst mit i ist eine Natürliche Zahl.
Nur dann gibt i nicht die Anzahl der Itervalle an, sondern nur die Anzahl der Intervalle zwischen min und 0. Für eine bestimmte Anzahl an Intervalle müsstest du dann i in Abhängigkeit von max wählen.


int intervalCount = ...;
double max =..., min = ...;
double intervalSize = (max-min) / intervalCount;
i = Math.Max((int)Math.Round(-min/intervalSize),1);
chart1.ChartAreas[0].AxisY.Interval =-min / i;
Das haut zwar mit der Anzahl der Intervalle nicht immer genau hin, da i ja eine Natürliche Zahl sein muss, aber es liefert meiner Meinung dennoch ein ausreichendes Ergebnis (nur bei |min|<<|max|, min viel kleiner als max) führt es zu vielen Intervallen.

Thema: nach symmetrischer Skalierung immer Nullpunkt auf Y-Achse anzeigen lassen
Am im Forum: Grafik und Sound

Ist es notwendig, dass das Diagramm symetisch ist? Wenn du

chart1.ChartAreas[0].AxisY.Maximum = double.NaN;
chart1.ChartAreas[0].AxisY.Minimum = double.NaN;
lässt, sollte er eigentlich die Grenzen so wählen, dass eine 0 Achse zu sehen ist.

Alternativ kannst du auch einfach die


 chart1.ChartAreas[0].AxisY.Interval
Eigenschaft überschreiben.
Mit

chart1.ChartAreas[0].AxisY.Interval = (max-min) / i;
sollten (wenn max≥0 und min ≤0, max > min,|max|=|min| und i%2 = 0) eigentlich i+1 Datenlinien zu sehen sein, wobei eine durch den Ursprung geht. Da |max|=|min|, max≥0, min≤0 bei dir durch die symmetrie ja gegeben ist, max > min sowieso gegeben ist, sollte es eigentlich funktionieren. Vergiss nicht i%2=0, da du eine ungrade Anzahl von Linien benötigst und du eine Linie mehr hast als Intervalle.

Thema: Fehler: System.Net.Sockets.SocketException (0x80004006)
Am im Forum: Grundlagen von C#

Du benutzt DGram/Udp versuch spaßeshalber mal die Codezeile

sck.Connect(epRemote);
zu löschen.
Dann musst du die Codezeile


 sck.Send(msg);
durch


 sck.SendTo(msg,new IPEndPoint(IPAddress.Parse(textIP2.Text), Convert.ToInt32(textPort2.Text)));
ersetzen.
Ich hatte es schon, dass durch ein Verlagerung der Problematischen Codezeile ein anderer Fehler generiert wird. Warum es bei deinem Rechner nicht funktioniert, kann ich dir nicht sagen. Was für ein BS oder Antiviren Programm / Firewall nutzt du?

Thema: Style mit Trigger ändern
Am im Forum: GUI: WPF und XAML

Wie gesagt das ist möglich:


<Style>
  <Style.Triggers>
    <Trigger Property="..." Value="...">
      <Setter .../>
      <Setter .../>
    </Trigger>
  </Style.Triggers>
</Style>
Quelle: http://openbook.galileocomputing.de/visual_csharp_2010

Thema: Style mit Trigger ändern
Am im Forum: GUI: WPF und XAML

Wenn ich mich nicht irre, dann ist das möglich.

Thema: [erledigt] Klassendesign für Browsergame
Am im Forum: Rund um die Programmierung

Danke für die Antworten.
Ich nutze jetzt eine Kombination aus beidem, da ich die Schiffe selbst nicht als Objekt benötige.
Meine Schiffsklasse speichert alle wichtigen Werte, die das Schiff betreffen und die Anzahl der Schiffe.
Ein Schiff erzeuge ich über eine statische Funktionen, der ich ein Enum und die Anzahl der Schiffe übergebe.

Thema: [erledigt] Klassendesign für Browsergame
Am im Forum: Rund um die Programmierung

Das war auch erst mein Gedanke, nur war ich mir nicht sicher, ob es wegen dem größeren Speicherbedarf ein bessere Lösung gibt,
da ja viele Schiffe einer Art, sonst immer ein neues Objekt wäre, mit gleichen Werten.

Bsp. 10.000 Auroras --> komplett gleiche Werte

Man könnte auch beides verknüpfen: In dem man die Anzahl in der Klasse als Eigenschaft definiert.

Thema: [erledigt] Klassendesign für Browsergame
Am im Forum: Rund um die Programmierung

Hallo community,
Ich arbeite gerade an einem Programm, dass bei einem Browsergame alle Daten ausliest usw.
Nun gibt es allerdings auch Schiffe mit Atk, Hülle, usw...
Sollte ich nun für jedes Schiff eine eigene Klasse anlegen oder sollte ich lieber in einer Klasse Flotte alle Schiffe als int speichern und die Eigenschaften über Funktionen auslesen (Atk, Hülle, etc.).
Das Gleiche gilt ja auch für Forschung und Gebäude.

Ich tendiere eher zu letzterem.

Thema: Regelmäßige Aktualisierung der Anzeige eines Graphen beschleunigen
Am im Forum: Grafik und Sound

Verständlich, auch wenn das nicht viel wäre:
(hab bisher auch nicht mit unsicherem Code gearbeitet)


            unsafe
            {
                // d ist double[10,10]
                // fixed, andere Möglichkeit, um an p zu kommen, kenn ich nicht...
                // irgend etwas mit Marshal glaub ich...
                fixed (double* p = d)
                {
                    double* pUnfixed = p;
                                 // statt 10 -> i*array.GetLength(1)
                    pUnfixed+= 10;

                    double[] test = new double[10];                    
                    // in ein entsperechendes Array kopieren
                    Marshal.Copy(new IntPtr(pUnfixed),  test,0, 10);                    
                }
            }
        }

Thema: Regelmäßige Aktualisierung der Anzeige eines Graphen beschleunigen
Am im Forum: Grafik und Sound

Naja über unsicheren Code kann man die Elemente auf jedenfall herauskopieren in ein double[64] Array, bzw. den entsprechenden Pointer übergeben.

Thema: Regelmäßige Aktualisierung der Anzeige eines Graphen beschleunigen
Am im Forum: Grafik und Sound

Kann den deine AddData-Methode überhaupt ein Array entgegen nehmen?

Thema: [gelöst] Werte in Registry verschwunden bzw. versteckt, wenn Programm als x86/32Bit übersetzt
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Ich vermute mal, dass das ein Problem mit 64bit-Systemen ist:
Ich denke, dass der Registrypfad
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows NT\CurrentVersion
ist und nicht
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion

Du versuchts zwar den zweiten zu öffnen, doch das Betriebsystem ändern den Pfad zum ersten, da du keine 64bit Programm startest.
Was du aber gegen diese Änderung tun kannst, weiß ich nicht?

Thema: Fremder Code für C# Tool zur rekursiven Verzeichnissuche produziert Syntaxfehler
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Wo genau liegt jetzt dein Problem?

Thema: Dateien und Text auf verschiedenen Ports?
Am im Forum: Netzwerktechnologien

Ich weiß nicht wie man es am besten macht, aber du könntest doch am Anfang der Daten den Verwendungszweck mit schicken also:

1. Datei Nr. sowieso
2. Append
3. Länge der Daten
4. Daten

Thema: In EventHandler von dynamisch erzeugtem Button selektiertes Item in zugehöriger ComboBox ermitteln
Am im Forum: GUI: Windows-Forms

Versuch mal Combobox.Items[ComboBox.SelectedIndex] oder Combobox.SelectedItem

Thema: Login von Programm aus - HtmlDocument wurd nicht auf Instanz fest gelegt
Am im Forum: Netzwerktechnologien

Typische Fall von [FAQ] Warum blockiert mein GUI

Ich empfehle das WebBrowser.DocumentCompleted Ereignis zu verwenden.

Thema: Mit alglib aus einem Array von Punkten die zugehörige Funktion berechnen (Polynom 2. bis 4. Grades)
Am im Forum: Rund um die Programmierung

Ich glaube der fachbegriff heißt Kubische Splines

Thema: Prüfen ob ein Pfad angegeben wurde
Am im Forum: Rund um die Programmierung

Kann der Pfad auch relative sein?
Ausonsten solltest du Prüfen ob die TextBox leer ist, ob ungültige Zeichen in der Pfadangabe vorhanden sind und ob 2 \ im späteren Pfad hintereinander sind.

Thema: Mit alglib aus einem Array von Punkten die zugehörige Funktion berechnen (Polynom 2. bis 4. Grades)
Am im Forum: Rund um die Programmierung

Welcher Grad soll die erhaltene Funktion haben?
Abhängig von der Länge des Arrays?

Thema: Process gibt mir keine Ausgabe
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Spontan fällt mir da nur ein, das Projekt als Consolenanwedung zu starten.
Dann hat man aber immer dieses hässliche schwarze fenster.

Thema: Process gibt mir keine Ausgabe
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Nein ich habe es mal als WindowsForms Anwendung gestart und da funktioniert es mit xcopy nicht.
Als Test habe ich xcopy durch cmd ersetzt und siehe da es funktioniert.

Thema: Process gibt mir keine Ausgabe
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Bei mir funktioniert es (stdOut enthält die Daten). Allerdings starte ich als Consolenanwendung



             Process process = new Process();
 
            process.StartInfo.FileName = "xcopy.exe";
             process.StartInfo.Arguments = "/?";
             process.StartInfo.UseShellExecute = false;
             process.StartInfo.RedirectStandardOutput = true;
 
            process.Start();
 
           string stdOut = process.StandardOutput.ReadToEnd();
             //Ausgabe von process einlesen mit StreamReader                         
            process.Close();
     

Thema: CryptoStream "Zeichenabstände sind ungültig und können nicht entfernt werden."
Am im Forum: Rund um die Programmierung

Das crypter.FlushFinalBlock() muss gleich hinter dem letzten Schreibvorgang. Dann funktioniert das auch.

Thema: CryptoStream "Zeichenabstände sind ungültig und können nicht entfernt werden."
Am im Forum: Rund um die Programmierung

Schon mal was von Flush gehört. Du schreibst zwar die Daten in den MemorySteam rufst aber nicht crypter.FlushFinalBlock() auf.

Thema: TcpListener: BeginnAcceptTcpClient() - Callback wird nicht aufgerufen
Am im Forum: Netzwerktechnologien

Wie sieht denn user.BeginConnect aus?

Thema: TcpListener: BeginnAcceptTcpClient() - Callback wird nicht aufgerufen
Am im Forum: Netzwerktechnologien

Befinden sich beide PC's im Intranet?

Thema: Dateizugriff durch Bitmap-Objekt beenden
Am im Forum: Grafik und Sound

Wie wäre es wenn du einenen DateiStream erstellst und die Bitmap über diesen öffnest:


FileStream fs = new FileStream("C:\\Bild.bmp",FileMode.Open);
Bitmap bmp = new Bitmap(fs);
fs.Close();