Laden...

Forenbeiträge von conroe Ingesamt 8 Beiträge

29.10.2007 - 21:33 Uhr

Hm warum keine Resonanz bis jetzt? Hab den Thread erst jetzt entdeckt und finde es ein nettes Projekt soweit. 🙂 Wann kommt eine neue Version? Habe ein paar Sachen zu berichten:*Also wenn ich eine neue Playlist erstelle, finde ich diese nirgends und unter "Playlisten verwalten" passiert leider auch nichts. *Die Zeitskala hast ja noch weggelassen, aber die Laufzeit in Sekunden funktioniert bei mir auch noch nicht. *Dann in der Liste bei "Dateiname": hier wird immer der gesamte Pfad angezeigt, statt nur der Dateiname selbst. Das mag bei dir ganz gut aussehen, aber wenn man da noch ein paar weitere Unterordner hat, ist der Pfad ewig lang...sieht nicht gut aus. *Bei Länge steht immer "-1".

Was soll diese Grafik eigentlich darstellen? 😁

Gruß

14.10.2007 - 20:46 Uhr

Ich will diese schöne Zahl keinesfalls schmälern, aber man sollte natürlich bedenken, dass die Zahl der Aktiven sehr viel kleiner ist 🙂

01.10.2007 - 21:04 Uhr

Hallo ihr,

also das Topic sagt schon alles, aber ich werde hier natürlich verdeutlichen:

Ich will zum Beispiel rausbekommen, wo sich 2 Geraden schneiden, die durch Vektoren ausgedrückt werden:

gerade1: x = (1,2,3)+r*(2,4,1)
gerade2: x = (3,6,4)+t*(4,8,2)

Die erste Klammer gibt den Stützvektor an, die zweite den Richtungsvektor mit Parameter. Rein mathematisch betrachtet setzt man diese nun gleich und erhält eine Vektorgleichung, als lineares Gleichungssystem resultiert:

1+2r=3+4t
2+4r=6+8t
3+r=4+2t

bzw umgeformt:

2r-4t=2
4r-8t=4
r-2t=1

Das Beispiel ist nicht so toll merke ich gerade, da man unendlich viele Lösungen erhalten würde und gerade1 somit = gerade2 wäre. Aber ihr wisst, worauf ich hinaus will.. wie löse ich in c# solche LGS?

In unserem Texas Instruments Taschenrechner gibts da extra eine Funktion... man erstellt eine Matrix, trägt die Zahlen ein und erhält das Ergebnis, welches nun halt noch interpretiert werden muss. Außerdem habe ich gehört, das grafisch und physikalisch aufwendige Computerspiele fast nur aus solchen LGS bestehen ... also kann das doch nicht so schwer zu lösen sein 😉 Gibts da vllt. extra Klassen oder ähnliches?

Nochmal zum LGS, es kann ja 3 Lösungen haben: entweder für jeden Parameter genau eine, keine, oder unendlich viele (wobei der letzte Fall in meinem Programm nie auftreten wird, also nicht so wichtig). Es muss also möglich sein zu sehen, ob es eine oder keine Lösung gibt, falls eine existiert, dann natürlich die Werte dazu.

Danke

26.09.2007 - 18:44 Uhr

Auch bekannt als arithmetisches Mittel oder Durchschnitt 😉

(x1+x2+x3.......+xn)/n

15.08.2007 - 19:32 Uhr

Hi Nils,

das ganze sollte natürlich nicht permanent aktiviert sein, sondern nur Redaktionsarbeit erleichtern (ständig strg+c löst irgendwann nen Krampf aus 😉 ). Das ganze war aber eh nur als Spielerei gedacht, Hauptgrund war die Weiterverarbeitung des kopierten Textes (automatisches Abspeichern des Kopierten im Hintergrund).

Erstgenannte Spielerei scheiterte aber wohl an einem Focusproblem, das ich nich in den Griff bekomme und nun halt doch weiter mit strg+c arbeite (wenigstens wird die Abspeicherung ausgelöst 😉 ).

13.08.2007 - 15:03 Uhr

Hey

Also ich hatte die Idee, mit der Maus markierten Text automatisch in die Zwischenablage zu schreiben, ohne erst strg+c betätigen zu müssen. Dieser Text befindet sich in fremden Anwendungen, wie z.b. dem Firefox.

Normalerweiße geht man manuell ja so vor: man markiert den Text mit dem Cursor und zieht dann bei gedrückter Maustaste die Markierung. Dann lässt man die Maustaste los (wichtig für nacher) und drückt strg+c.

Nun habe ich herausgefunden, wie man mit global hooks feststellen kann, wann die Maustaste losgelassen wurde. Die Idee: das Loslassen der Maustaste soll ein Ereignis auslösen, welchen den markierten Text dann ins Clipboard kopiert. Ergo: das Drücken von strg+c simulieren.

Das sieht dann so aus:


public void MouseUpEvent(object sender, MouseEventArgs e)
        {
            SendKeys.Send("^(C)");
         }

Ich habe den Text also markiert, lasse die Taste los und strg+c zum kopieren wird gesendet. Naja das ist halt die Theorie, denn in Wirklichkeit verändert sich im Clipboard leider garnichts...
Das Event an sich funktioniert allerdings schon. Ich habe statt "^(C)" auch schon anderen Code reingeschrieben, welcher ausgeführt wird, z.b. F5, dann wird das Firefoxfenster aktualisiert.

Vielleicht habt ihr irgendwelche Ideen, an was es liegen könnte?

12.08.2007 - 17:15 Uhr

Danke herbivore, ich habe mich für diese Klasse entschieden http://www.codeproject.com/csharp/globalhook.asp und es zu meiner Überraschung sogar geschafft, diese in meinem Projekt zum laufen zu bekommen (bin immerhin Anfänger 😉 ). Auf diese Klasse wurde hier im board schonmal verlinkt.

Es funktioniert sogar die Überprüfung, ob eine von mir vorgegebene Taste gedrückt wurde:


private void Form1_Load(object sender, EventArgs e)
        {
            UserActivityHook actHook;
            actHook = new UserActivityHook();
            actHook.KeyDown += new KeyEventHandler(MyKeyDown);
        }

public void MyKeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyData.ToString() == "C")
            {
                   textbox1.Appendtext("Es wurde C gedrückt");
            }
        }

Ich hatte vor, etwas auszulösen, wenn per strg+c etwas in das Clipboard kopiert wurde. Ich dachte nun, es würde genügen, wenn ich den Buchstaben C prüfe und strg weglasse (dies würde zwar bedeuten, dass C auch alleine als Auslöser ohne strg funktioniert, doch das ist egal). Leider funktioniert das nicht. Nachdem strg+c betätigt wurde, muss c nochmal erneut gedrückt werden, erst dann wird ausgelöst.

Der Ersteller der Klasse schreibt:

How do I catch key combinations like Ctrl+Shift+A?
Answer:

You'll have to track which keys have gone down but not up. Only the most recently pressed key keeps sending KeyDown messages, but the others will still send a KeyUp when released. So if you make three flags IsCtrlDown, IsShiftDown, and IsADown, and set them to true at KeyDown and false at KeyUp, the expression (IsCtrlDown && IsShiftDown && IsADown) will give you the required result.

Würde es damit funktionieren? Ich wäre über 3 Zeilen Pseudocode als roter Faden sehr erfreut, da ich mit der gegebenen Antwort etwas Interpretationsprobleme habe.

12.08.2007 - 15:19 Uhr

Guten Tag 🙂

Ich versuche mich gerade mit Forms zu beschäftigen, habe jedoch ein Problem: sobald mein Programm nichtmehr in einem aktiven Fenster dargestellt wird, also keinen Fokus hat, möchte ich trotzdem noch mit einer Taste ein Ereignis auslösen.

Ich habe natürlich schon etwas rumgestöbert und bin bisher auf folgendes gestoßen:


[DllImport("user32.dll")]
static extern short GetAsyncKeyState(Keys vKey);

Kann man das eventuell benutzen? Bisher habe ich das Ereignis (um meinen Code auszuführen) immer so erstellt:


private void button1_Click(object sender, EventArgs e)
        { // code 
        }

Wurde der Button per Maus betätigt, wurde also auch der eingeschlossene Code ausgeführt. Genau dies hätte ich nun gerne wieder, allerdings soll anstatt der Maus nun die Taste "C" der Auslöser sein. Ich weiß weder, an welcher Stelle die dll zu importieren ist (wohl ganz oben?), noch wie ich aus dem gefundenen Snippet so ein Ereignisauslöser erstellen kann wie es aktuell mit der Maus der Fall ist.

Danke schonmal.