Laden...
Avatar #avatar-3307.jpg
Troubadix myCSharp.de - Member
Programmierer (Automatisierung) Bayern Dabei seit 09.10.2011 25 Beiträge
Benutzerbeschreibung

Forenbeiträge von Troubadix Ingesamt 25 Beiträge

07.04.2013 - 15:34 Uhr

Hallo Eike,

ich hab's selbst noch nie Probiert, aber vielleicht hilft Dir das hier weiter:
how to call javascript function in c#

Gruß
Troubadix

01.04.2013 - 18:55 Uhr

Hallo Max,

wie wäre es mal mit etwas Eigeninitiative. Stichwort: Google

Erster Treffer bei den Suchbegriffen: rtf html c#

http://stackoverflow.com/questions/5265566/simple-convert-rtf-to-html

Gruß
Thomas

01.04.2013 - 14:25 Uhr

Hallo Max,

kann denn deine Android App überhaupt das RTF Format darstellen?

Wenn ja, dann vermute ich (Code zeigst du ja keinen) dass du aktuell deinen Inhalt aus der Eigenschaft Text der RichTextBox ausliest. Diese enthält aber die Steuerzeichen für die Formattierung nicht.
Die RichTextBox hat die Eigenschaft Rtf. Lies die aus und speichere das in dein XML.
Siehe auch hier: http://msdn.microsoft.com/de-de/library/system.windows.forms.richtextbox.rtf%28v=vs.80%29.aspx

Das funktioniert aber wie gesagt nur, wenn deine App das RTF-Format auch darstellen kann.

Gruß
Thomas

22.03.2013 - 19:06 Uhr

Hallo Joe,

es liegt scheinbar nicht nur an der ersten Zeile. Es hängt auch mit der Länge zusammen oder etwas anderes im Logfile stört.

Ich werde Dir das File per PN schicken. Muß ja nicht jeder hier lesen können 😃

Gruß
Troubadix

22.03.2013 - 13:59 Uhr

Hallo Joe,

vielen Dank für das schnelle ändern. Jetzt kann ich meine LogFiles schon fast ohne Handarbeit damit anschauen.

Mir sind leider noch zwei dinge aufgefallen:

  1. Wenn die erste Zeile (wie bei meinen LogFiles) kein gültiges Zeilenformat hat (Zeitstempel und DebugLevel fehlen) kommt der Fehler "Der Index war außerhalb des Arraybereichs" und es wird nur die verstümmelte erste Zeile angezeigt
  2. Die mit CR angehängten Zeilen haben ja auch keinen Zeitstempel und kein DebugLevel weil sie eigentlich ja noch zur vorherigen Zeile gehören. Sie werden jetzt aber als eigene Positionen aufgelistet und nicht der vorherigen Position zugeordnet. Sie sind damit zwar sichtbar, aber ich fände es schöner wenn Sie der letzten Zeile mit DebugLevel zugeordnet würden und dann im Detailbereich unten mit auftauchen wenn man die Meldung auswählt.

Ich kann natürlich verstehen, wenn du das Programm jetzt nicht auf meine LogFiles zuschneidern willst.

Gruß
Troubadix

10.03.2013 - 16:29 Uhr

Hallo Joetempes.

Ich hätte da mal ein Feature Request.
In unseren Logfiles wird bei einem schweren Fehler ein Stacktrace mit ins File geschrieben. Dieser Stacktrace enthält Zeilenumbrüche (CR). Leider gehen die Zeilen nach dem ersten Zeilenumbruch verloren wenn ich das Logfile im TraceEye öffne. Es wäre schön wenn die zusätzlichen Zeilen in der Detailansicht (Eintrag ausgewählt) angezeigt würden.

Ich hänge Dir mal ein typisches Logfile (Auszug) von uns hier an. Vielleicht hast du ja mal Zeit und Lust das einzubauen. Oder habe ich nur einen Parameter übersehen der das erledigt?

Gruß
Troubadix

16.12.2012 - 19:40 Uhr

Hallo und erstmal danke für dieses tolle Programm.

Beim einstellen ist mir aufgefallen, dass beim Einstellen der Farben für Level oder Schlüsselwörter der Colorpicker nicht mit der aktuell eingestellten Farbe gestartet wird. Er steht immer von auf schwarz. Wenn man nur eine Farbe leicht verändern möchte ist das aber kaum möglich, zumal man den Farbwert in Hex auch nicht im Colorpicker eingeben kann.

Gruß
Troubadix

16.12.2012 - 19:02 Uhr

Nicht zwei Geräte rumzuschleppen ist sicher ein großer Vorteil von Tablets.

Aber mit Ausnahme des iPad4 haben die meisten Tablets eine deutlich geringere Auflösung als ein E-Reader und damit ein schlechteres Schriftbild. Außerdem ist die Bildschirmtechnik der Tablets deutlich ermüdender für die Augen.

Der größte Nachteil des Tablets ist für mich aber das Gewicht und der Stromverbrauch.
Es macht schon einen deutlichen Unterschied ob ich 180g oder 400g (bei großen Tablets gerne auch mal 600g) in der Hand halten muss.
Und das Tablet muss bei regelmäßigem lesen auch häufig geladen werden. Über die 10 Stunden Akkulaufzeit die ein gutes Tablet schafft kann ein E-Reader nur lachen. Selbst bei eingeschalteter Beleuchtung schafft z.B. der Glo wesentlich mehr. Ich brauche jedenfalls nicht zu befürchten, dass mir auf einem Flug nach Australien der Akku leer wird 😉

Aber das ist natürlich alles auch Geschmackssache.

Gruß
Troubadix

16.12.2012 - 11:59 Uhr

Dann will ich doch auch mal einen kleinen Erfahrungsbericht zum Kobo Glo hier zum besten geben.

Ich nutze den Glo schon seit ein paar Wochen und bin damit sehr zufrieden. Das Licht iässt sich gut regeln und verbessert den Lesekomfort nicht nur bei Nacht. Auch bei Kunstlicht schalte ich es oft zu, da es dann den Kontrast etwas erhöht. Der Ansonsten leicht gräuliche Displayhintergrund wird dadurch deutlich heller. Das Licht hat einen deutlichen blaustich, was aber nicht weiter stört.

Der Touchscreen reagiert sehr gut und das Umblättern klappt zügig. Man kann auch die Touchbereiche für das blättern anpassen (1/3 zurück, 2/3 vor oder 2/3 zurück, 1/3 vor oder 1/3 zurück, 1/3 Menü, 1/3 vor). Dadurch kann man selbst mit einer Hand gehalten durch einfaches antippen blättern. (vorausgesetzt der Finger ist lang genug um 1/3 Bildschirm zu überbrücken). Natürlich geht auch immer das wischen um zu blättern.

Querformat lesen gibt es beim Glo scheinbar nicht. Zumindest habe ich es noch nicht gefunden. Da ich aber auch keine PDFs lese ist das für mich nicht interessant.

Sehr schön finde ich die vielen Einstellmöglichkeiten für die Textanzeige. Man kann Schriftgröße, Gewicht, Zeilenabstand, Ränder, Schärfe und Stärke einzeln stufenlos einstellen.

Ebenfalls mit an bord ist der Kobo-Shop sowie ein Web-Browser. Zum stöbern im Shop ist mir allerdings ein Computerbildschirm deutlich lieber. Aber wenn man mal von unterwegs ein Buch kaufen muss/will kann man das schon recht bequem tun.

Zudem gibt es auch noch ein paar Spiele (Soduko, Schach, Malprogramm) die ich aber noch nicht ausprobiert habe.

Eine nette Spielerei sind die "Preise" und die Lesestatistiken. Man bekommt virtuelle Orden wenn man z.B. zur Prime Time oder nach Mitternach liest oder wenn man alle Bücher abgeschlossen hat. Die Lesestatistik zeigt halt an wie lange man bereits gelesen hat, durchschnittliche Lesedauer usw. Statistiken halt.

Wer will kann seinen Glo auch mit Facebook verbinden. Dort werden dann z.B. die "Preise" oder das beenden/beginnen eines Buches gepostet.

Ich denke das beide hier diskutierten E-Reader durchaus ihre Daseinsberechtigung haben. Für mich war halt auch wichtig, dass ich meine Bücher in allen Shops kaufen kann. Der Kobo unterstützt halt das weit verbreitete Adobe DRM plus dem eigenen Kobo DRM. Letzteres ist aber auch Adobe DRM nur dass Kobo selbst die Verifikation der echtheit übernimmt.

Mit einem kleinen Calibre-Plugin kann ich jetzt sogar bei Amazon gekaufte E-Books auf meinem Glo lesen. Natürlich wäre damit wahrscheinlich auch der umgekehrte weg gangbar (Adobe DRM auf Kindle lesen).

Wo wir gerade bei Calibre sind: Der Glo wird brav von Calibre erkannt und die Bücher korrekt auf den Glo kopiert.

Gruß
Troubadix

26.10.2012 - 13:26 Uhr

Hallo stes,

ich musste glatt lachen also ich gerade Deinen Beitrag las. Ich habe mich nämlich aufgrund dieses Threads auch entschlossen einen neuen E-Reader zu kaufen und habe mich genau anders herum entschieden. Ich warte also jetzt auf meinen Kobo Glo (Liefertermin derzeit Anfang November).

Mich würde jetzt mal interessieren, was für Dich der ausschlaggebende Punkt war, der dich am Ende zum Kindle gezogen hat. Die beiden Geräte sind ja technisch fast identisch und ich habe auch einige Zeit mit mir gerungen.

Am Ende viel bei mir die Entscheidung auf den Kobo, weil ich damit auch Bücher aus anderen Shops lesen kann (Adobe DRM), von denen ich auch schon ein paar habe. Ansonsten erscheinen mir die Geräte gleichwertig (wenn man die WLAN Varianten vergleicht).

Gruß
Thomas

10.10.2012 - 16:49 Uhr

Hallo.

Ich besitze noch ein altes BeBook. Das wurde irgendwann mal auf das Adobe-DRM (EPub) umgestellt. Dabei gingen auch hier andere Formate verloren die es vorher anzeigen konnte. Als Begründung hieß es, dass Adobe es verbietet neben ihrem DRM noch andere DRM-fähige Formate auf dem selben Anzeigegerät zu verwenden.
Da das Kindle-Format ebenfalls DRM unterstütz wird man wohl nie beide Formate auf einem Gerät finden.

Calibre habe ich früher auch mal genutzt um meine Bücher auf dem BeBook zu verwalten. Das Konvertieren der verschiedenen Formate geht dabei Problemlos. Allerdings hat Calibre damals noch kein DRM unterstützt. Kann sich aber geändert haben.

PDF in EPub zu konvertieren wäre sicher eine feine Lösung für das Darstellungsproblem. Wird aber mit den meisten PDFs nicht funktionieren.

Gruß
Troubadix

31.08.2012 - 13:23 Uhr

Hallo Tomot,

ich bin zwar kein Spieler, aber die Idee finde ich trotzdem klasse. Ich werde den Link mal ein paar Kollegen geben von denen ich weiß, dass sie solche Spiele spielen.

Was mir aber direkt aufgefallen ist:
Ich kann ohne mich selbst anzumelden nicht nur eine Mitgliederliste sondern sogar die Profile der Mitglieder lesen. Ich hoffe, dass das zumindest durch die Mitglieder abschaltbar ist. Datenschutz-technisch wäre es sogar besser das per Default zu deaktivieren. Wer wirklich nach Spielern sucht wird sich schon anmelden (muss er ja eh wenn er Kontakt aufnehmen will).

Gruß
Troubadix

24.08.2012 - 14:34 Uhr

Danke für die Antworten.

Ich werde den Trick mit dem drehen und der Ellipsengleichung mal ausprobieren. Das klingt machbar.

[EDIT] Hab's hin bekommen.

Gruß
Troubadix

23.08.2012 - 15:52 Uhr

Hallo talla,

vielen Dank für den Hinweis auf den anderen Thread. Das hat geholfen!

Tut mir leid, dass ich den bei meiner Suche nicht gesehen habe. Hab wohl auch die falschen Begriffe verwendet.

-> Closed

Gruß
Troubadix

22.08.2012 - 19:56 Uhr

Hallo Christian,

nein wenn ich den Kreisbogen alleine zeichne wird er korrekt dargestellt. Ebenso wird er ja auch richtig angezeigt wenn die Linie und der Kreisbogen einen stumpfen Winkel bilden.

Gruß
Troubadix

22.08.2012 - 19:51 Uhr

Hallo chilic.

Daraus kannst du mit Pythagoras den größeren Radius berechnen.

Leider geht das nicht so einfach. Der Endpunkt kann ja irgendwo auf der Ellipse liegen. Ich würde also einen beliebigen Radius bekommen und nicht unbedingt den großen.

22.08.2012 - 16:53 Uhr

Hallo,

ich brauche mal eure Hilfe bei einem Mathematischen Problem.

Ich arbeite im Moment an einem Programm, dass G-Code grafisch darstellen kann. Dazu verwende ich WPF. Speziell verwende ich einen Path um die Darstellung zu erreichen.
Das funktioniert auch so weit ganz gut. Nun habe ich aber ein Problem mit der Berechnung eines Ellipsenabschnitts.

Ich verwende ArcSegment um Kreise bzw. Ellipsen zu zeichnen.
Wie Ihr ja sicher wisst braucht ArcSegment folgende Parameter für eine Ellipse:

  • Endpunkt
  • Drehrichtung
  • die zwei Radien
  • Verdrehwinkel
  • über oder unter 180°

Aus dem G-Code bekomme ich aber

  • Endpunkt -> kann ich direkt verwenden
  • Drehrichtung -> kann ich direkt verwenden
  • Verdrehwinkel -> kann ich direkt verwenden
  • Mittelpunkt
  • Verhältnis von Hauptachse zu Nebenachse (Werte von 0 bis 1)

Ich muss also aus den Daten die mir der G-Code liefert noch die beiden Radien berechnen und ob der Abschnitt mehr als 180° hat.
Die Berechnung ob der Abschnitt mehr als 180° hat kann ich aus der entsprechenden Berechnung für Kreise ableiten (wenn die nicht sogar schon funktioniert).

Mein Problem ist also die Berechnung der beiden Radien. Kann mir da jemand weiter helfen?

Mir ist klar, dass dies eher ein Mathematisches als ein Programmierproblem ist. Aber ich hoffe das hier jemand die entsprechenden mathematischen Kenntnisse besitzt.

Gruß
Troubadix

22.08.2012 - 16:46 Uhr

Hallo,

ich habe beim Zeichnen mit Path ein Darstellungsproblem. (.NET3.5)

Wenn ich sehr spitze Winkel zeichne wird dieser nicht korrekt gezeichnet.

Hier der Code mit dem ich das angehängte Bild gezeichnet habe.

figur.StartPoint = new Point(200, 100);
segmente.Add(new ArcSegment(new Point(200, 200), new Size(50, 50), 0, false, SweepDirection.Counterclockwise, true));
segmente.Add(new LineSegment(new Point(100, 200), true));

Im angehängten Bild kann man erkennen, dass der Umkehrpunkt am unteren Ende des Kreissegments deutlich weiter rechts liegt als der Startpunkt des Kreissegments, obwohl sie die gleiche X-Koordinate haben.
Wenn ich den Winkel entschärfe (z.B. die Linie senkrecht nach unten) dann wird der Übergang korrekt gezeichnet.

Hat hier jemand eine Idee woran das liegt bzw. wie ich das verhindern kann?

Grus
Troubadix

04.06.2012 - 21:11 Uhr

Hallo,

ich bin jetzt 36 und habe letztes Jahr ein Nebenberufliches Studium zum staatlich geprüften Informatiker beendet. Zuvor war ich einfacher Elektriker, jetzt arbeite ich in der selben Firma als Programmierer. Dabei bin ich jetzt sowohl für SPS als auch PC-Programme (C#) zuständig. Der Quereinstieg ist also möglich.

Schau doch mal in das Kurs Angebot der DAA. Dort habe ich meine Ausbildung gemacht. Das geht sowohl in Vollzeit als auch Teilzeit. Letzteres dann halt von zu Hause aus. Da muss man sich aber dann auch auf den Hosenboden setzen und lernen. Aber man hat dann einen Abschluss vorzuweisen.

Also wenn du wirklich Bereit bist etwas dafür zu tun, dann Mut zur Lücke und angefangen.
Und informiere dich über das Meisterbafög. Da kann man sich noch nie Menge Geld vom Staat holen.

Was die Berufsaussichten angeht würde ich auch sagen: sehr gut
Überall werden Informatiker gesucht und man findet keine, weil es zu wenige gibt. Auch unsere Firma sucht ständig Programmierer!

Gruß Troubadix

22.05.2012 - 20:59 Uhr

Hallo

Wir benutzen schon seit Jahren einen Laserdrucker und sind sehr zufrieden. Gerade wenn du sagst, dass es Monate ohne Ausdrucke gibt würde ich vom Tintenpisser abraten. Eben wegen dem Eintrocknen der Tinte.
Unser Drucker ist schon Monatelang ungenutzt gewesen und hat danach nie gemuckt. Ich halte es auch für Blödsinn wenn jemand behauptet ihm sei der Toner eingetrocknet. Toner ist ein Pulver und MUSS trocken sein. Eher ist ihm wohl der Toner nass geworden.
Einziger Nachteil vom Laser: Erst muss nach dem Einschalten erst aufheizen. Das dauert aber in der Regel nicht lange.

Tipp: Egal ob Laser oder Tinte, vergleiche vor dem Kauf die Ersatzteilkosten (Toner bzw. Tinte) denn damit verdienen die Hersteller oft ihr Geld.

Gruß Troubadix

04.05.2012 - 17:26 Uhr

Hallo OasisCritter,

ich habe hier ein Zitat von: DataPointCollection.Add-Methode

Fügt der Auflistung ein neues DataPoint-Objekt hinzu und legt seinen y-Wert fest.

Du fügst also nur einen einzigen Punkt ein. Kann man auch wunderbar im Debugger sehen.
Warum man da ein Array übergeben kann ist mir selbst allerdings auch gerade schleierhaft.

Gruß
Troubadix

04.12.2011 - 09:52 Uhr

Hallo,

ich habe mir damals für mein Studium auch mehrere VMs angelegt. Grund war der, dass ich teilweise recht alte oder sonderbare Software gebraucht habe oder etwas unter Linux machen musste. Sogar komplette Server-Client Netzwerke habe ich mir so aufbauen können. Für mich war es im Studium unverzichtbar. Einige der Programme brauchte ich, wie du auch schon schriebst, nur für einen kurzen Zeitraum. Da ist es mir lieber eine VM zu versaun als meinen Host Rechner.

Auch heute nutzt ich gelegentlich noch VMs. Zum Beispiel wenn ich eine neue Software testen will von der ich noch nicht weiß ob sie was taugt oder um Webseiten mit verschiedenen Browsern zu testen. Auch meine selbst geschriebenen Programme installiere ich mir zum testen noch mal in einer VM.

Zum täglichen Arbeiten würde ich aber keine VM nehmen wollen. Wenn ich ein Programm regelmäßig brauche installiere ich es direkt auf den Host Rechner.

Gruß
Troubadix

09.10.2011 - 14:05 Uhr

Hallo Floste,

auf den BinaryWriter hätte ich auch kommen können. Der hätte mir natürlich einiges an Arbeit erspart.

Ich verstehe allerdings im Moment Deine anderen Hinweise nicht?
Was hat dieses "Problem" mit der Zeichencodierung zu tun? Ich will ja nicht unbedingt druckbare Zeichen generieren.

Und wie hätte mir das erben von Stream geholfen? Denkst du da an gleichzeitiges schreiben und lesen? Dafür hätte ich ja erst mal alle Methoden usw. implementieren müssen. Ich glaube das wäre für mich noch zu viel. Ich arbeite noch an meinen Grundlagen!

Mit c/c++ liegst du übrigens daneben. Das hab ich zwar im Studium mal gehabt, aber das wars dann auch schon. Ganz viel früher habe ich mal AMOS BASIC und ein bisschen Assembler (AMIGA) programmiert...

Gruß
Thomas DaGallier

09.10.2011 - 12:47 Uhr

Hallo Leute,

mich hat das Thema irgendwie begeistert und deshalb habe ich mich dran gemacht eine eigene Lösung zu suchen. Ich habe es rein mit .Net Bordmitteln versucht und auch eine passable Lösung gefunden.

Leider läuft meine Lösung nicht als Endlosschleife. Das habe ich leider nicht hin bekommen. Bin halt noch totale Anfänger im C#. Vielleicht hat ja von euch einer ne Idee wie man das noch auch Endlos umbauen kann.


byte[] AudioSize = BitConverter.GetBytes(100000);
byte[] BitsPerSample = BitConverter.GetBytes(8);
byte[] BlockAlign = BitConverter.GetBytes(1);
byte[] ByteRate = BitConverter.GetBytes(8000);
byte[] SampleRate = BitConverter.GetBytes(8000);
byte[] NumChannels = BitConverter.GetBytes(1);
byte[] AudioFormat = BitConverter.GetBytes(1);
byte[] Subchunk1Size = BitConverter.GetBytes(16);
byte[] länge = BitConverter.GetBytes(100036);
//Wave Header zusammen bauen
byte[] header = new byte[] {
	(byte)'R', (byte)'I', (byte)'F', (byte)'F', 
	länge[0], länge[1], länge[2], länge[3], 
	(byte)'W', (byte)'A', (byte)'V', (byte)'E', (byte)'f', (byte)'m', (byte)'t', (byte)' ',
	Subchunk1Size[0], Subchunk1Size[1], Subchunk1Size[2], Subchunk1Size[3],
	AudioFormat[0], AudioFormat[1], NumChannels[0], NumChannels[1], SampleRate[0], SampleRate[1], SampleRate[2], SampleRate[3],
	ByteRate[0], ByteRate[1], ByteRate[2], ByteRate[3], BlockAlign[0], BlockAlign[1], BitsPerSample[0], BitsPerSample[1],
	(byte)'d', (byte)'a', (byte)'t', (byte)'a', AudioSize[0], AudioSize[1], AudioSize[2], AudioSize[3]};

MemoryStream stream = new MemoryStream();
stream.Write(header, 0, 44);

for (int t = 0; t <= 100000; t++)
{
	byte freq = (byte)(t * ((t >> 12 | t >> 8) & 63 & t >> 4));
	stream.WriteByte(freq);
}

stream.Position = 0;
SoundPlayer player = new SoundPlayer(stream);
player.Play();
Console.ReadLine();
player.Dispose();

Gruß
Thomas DaGallier