Laden...

Forenbeiträge von Aratar Ingesamt 118 Beiträge

03.01.2011 - 17:37 Uhr

Ich habe mich dazu entschieden, das Control mehr oder weniger komplett neu zu schreiben, da es immerhin 200 Leute runtergeladen haben. Der Hauptgrund war, dass die letzte Version einerseits sehr fehleranfällig war und wie ich jetzt im Nachhinein doch gemerkt habe sehr schlecht programmiert/aufgebaut wurde. Ebenfalls denke ich, dass es jetzt viel benutzerfreundlicher ist und was mir fast am wichtigsten war nach JAck30lena "Aufforderung" um einiges objektorientierter. Ausserdem habe ich das Control jetzt gerade als Dll. Die Optik ist das einzige, was mehr oder weniger gleich geblieben ist.

Zur Benutzung:

Das Control:

und die CalendarItem- Klasse:

Beim Verwenden des ersten Konstruktors erhält das Item einen vordefinierten (grünen/weissen) Farbverlauf als Hintergrund.

Ich hoffe die Bezeichnungen sind eindeutig, ansonsten könnt ihr mich immer noch fragen (Im Designer gibt es zu einigen noch Descriptions). Ausserdem wäre ich euch dankbar, wenn ihr mir Bugs u.ä. melden könntet.

Mfg
Aratar

23.12.2010 - 18:05 Uhr

Den hab ich selbst hingekriegt und zuerst nicht mal gemerkt. X( 8o




           
for (int i = 1; i < this.Fitness.Length;i++)
{
      double cost = double.MaxValue;
      if (Fitness[i] < cost)
      {
           cost = Fitness[i];              
      }
}

cost gehört natürlich nicht in die schleife...

09.12.2010 - 16:37 Uhr

Danke. Jetzt gehts. 😄

Gruss Aratar

09.12.2010 - 16:17 Uhr

Hallo,

(Der Titel ist etwas unpassend, wusste nicht wie ich das Problem treffend beschreiben könnte.)

Ich habe folgendes Problem:

Ich habe ein Rectangle, dass sich immer bei IsMouseOver verändert. Nun ist auf diesem Rectangle ein Label. Ich möchte jetzt aber, dass IsMouseOver auch gleich true ist, wenn die Mouse über diesem Label ist. Ist es möglich, dass Label irgendwie "durchlässig" zu machen oder kann man das anders lösen?

Vielen Dank schon im Voraus.

Gruss
Aratar

05.12.2010 - 10:49 Uhr

Ja, entweder so wie es tom-essen geschrieben hat, oder folgendermassen:


IEnumerable<CheckBox> checkboxes = this.Controls.OfType<CheckBox>();
foreach (CheckBox c in checkboxes)
{
         //code
}

Gruss Aratar

28.11.2010 - 16:31 Uhr

Hab nochmals die AGBs gelesen und obwohl nicht eindeutig steht,dass automatisierter Zugriff verboten ist, werde ich es doch lieber lassen.

Trotzdem danke.

Gruss Aratar

26.11.2010 - 16:57 Uhr

Ja, wenn ich JavaScript deaktiviere funktionierts nicht mehr.

26.11.2010 - 16:31 Uhr

Hallo,

Ich habe folgendes Problem.
Ich schreibe ein Programm, welches zum herunterladen von Dateien einer Website einen Login erfordert. Für den Login muss man ein Captcha eingeben. Deshalb wollte ich das Captcha runterladen, sodass der Benutzer den Captchatext eingeben kann.
Dafür habe ich auf dieser Seite die Id nachgeschaut um das Bild dann über diese Id herunterzuladen.

Wenn ich mit Google Chrome, Rechtsklick auf das Captcha mache, kann ich auch die Url des Captchas nachsehen. Schaue ich jedoch im Quellcode nach, verweist die Url auf eine andere Bilddatei.

Anders gesagt finde ich die Url des Captchas im Quelltext nicht.

Ist das irgendein Sicherheitsmechanismus? Wie kann ich das Captcha doch downloaden?

Gruss Aratar

15.11.2010 - 17:28 Uhr

Hallo,

Immer wenn ich mit dem CCleaner die Registry säubere befinden sich da haufenweise Einträge, von Programmen, die ich geschrieben habe. Von wo kommt das?

Gruss Aratar

14.11.2010 - 20:46 Uhr

Wegen dem Winkel noch was. Was soll das überhaupt für ein Winkelmass sein, dass du jetzt verwendest? 180° sind etwa 3.01 "deiner" Einheit.

13.11.2010 - 00:05 Uhr

Mein OS ist Win 7 64-Bit. Der Fehler ist bei Opera und Chrome aufgetreten.

Gruss Aratar

12.11.2010 - 18:34 Uhr

Hallo,

Da ich solche Art "Spiele" liebe, hab ich mich gleich angemeldet und schon den ersten Fehler gehabt. Ich kann den Code zwar kompilieren und es kommt auch die Meldung "build successfull", aber der "Play"- Button ist immer noch disabled.

Gruss Aratar

31.10.2010 - 18:29 Uhr

Vielen Dank für die zahlreichen Vorschläge. Werde alle Möglichkeiten mal testen und einen Performancevergleich machen.

Gruss Aratar

30.10.2010 - 18:01 Uhr

Hallo,

Kleine Anmerkung. Schreibe statt:

if (zufall[i] > eingabe[i])
                {
                    vergleich[i] = true;
                }
                else
                {
                    vergleich[i] = false;
                }

Das:


vergleich[i] = zufall[i] > eingabe[i];

Überprüfen musst du es natürlich da, wo die Eingabe stattfindet:


string eingabe = Console.ReadLine();
if (int.Parse(eingabe)<=10&&int.Parse(eingabe)>0)
{
....
}

Gruss Aratar

30.10.2010 - 17:54 Uhr

Gerade gestern gesehen:

American Outlaws

30.10.2010 - 17:52 Uhr

Hallo,

Ich programmiere gerade verschiedene Fraktals, u.a. das Buddhabrot-Fraktal. Da man für eine gute Bildqualität extrem viele Iterationen und somit extrem viele Rechnungen machen muss dauert das sehr lange, wenn ich es mit C# programmiere. Deshalb ist meine Frage, ob es Möglichkeiten gibt das ganze zu optimieren und zu beschleunigen, damit es schneller geht. Wäre es besser für eine solche reine Rechenaufgabe eine andere Programmiersprache zu verwenden? Ich habe gehört CUDA wäre für so etwas geeignet.

Gruss Aratar

28.10.2010 - 21:12 Uhr

Hallo,

Echt gute Arbeit. Was ich noch nützlich finden würde, wäre, wenn es auch komplexe Zahlen oder Gleichungen mit komplexen Zahlen lösen könnte. Aber ja, wird wahrscheinlich nicht gerade jeder brauchen.^^

Gruss Aratar

28.10.2010 - 12:44 Uhr

Nein, aber am Fokus kann es ja eigentlich auch nicht liegen, da OnPreviewKeyDown zwar ausgelöst wird, aber nur jedes zweite mal.

Gruss Aratar

27.10.2010 - 19:20 Uhr

Ich habe gerade gemerkt, dass bei diesem Control (selbst geschrieben) nicht alle Events ausgelöst werden. Das MouseWheel-Event wird z.B. überhaupt nicht mehr ausgelöst. Hängt das mit dem Fokus zusammen?

Gruss Aratar

26.10.2010 - 21:02 Uhr

Hallo,

Wie im Titel schon beschrieben habe ich das Problem, dass OnPreviewKeyDown nur jedes zweite Mal ausgelöst wird. Gibt es irgendwelche Erklärungen dafür?

24.10.2010 - 19:39 Uhr

Wieso nimmst du dafür nicht einfach einen Container, z.B. ein Panel?

Gruss Aratar

24.10.2010 - 11:50 Uhr

Problem gelöst. Die Ursache war ein fehlender get-Accessor. Komisch daran ist nur, als ich es mit dem Visual Studio 2010 kompilieren wollte, bekam ich die oben genannten Fehlermeldungen. Als ich es jedoch mit dem VS 2008 versucht habe, bekam ich die genaue Fehlerbezeichnung, eben dass ein get-Accessor fehlt...

Gruss Aratar

24.10.2010 - 11:12 Uhr

Hallo,

Bei meinem neusten Projekt stürzt immer der Compiler zusammen, mit der Meldung:

Interner Fehler bei Microsoft (R) Visual C# 2010 Compiler.

Die Fehlermeldungen lauten u.a.:

Interner Compilerfehler: Stufe "EMIT"

Interner Compilerfehler: Stufe "COMPILE"

Interner Compilerfehler: Stufe "CODEGEN"

Leider kann ich mit diesen Fehlermeldungen wenig bis gar nichts anfangen.

Gruss Aratar

21.10.2010 - 13:20 Uhr

Hallo,

Das sollte dir weiterhelfen:
Screenshot aller Anwendungen

Gruss Aratar

05.10.2010 - 21:04 Uhr

Vielen Dank. Werde es mir mal ansehen.

Gruss Aratar

05.10.2010 - 20:47 Uhr

Ist ja peinlich, dass ich die Meldung nie gesehen habe... 8o

05.10.2010 - 18:28 Uhr

Ich bräuchte die Screenshots einzeln, deshalb geht gfoidls Vorschlag leider nicht.

Gruss Aratar

05.10.2010 - 18:01 Uhr

Hallo,

Ich brauche für mein Vorhaben ein Screenshot aller Anwendungen, die gerade laufen. Wie z.B. bei Windows seit Vista mit Win-Taste + Tab, da werden ja auch Bilder aller Anwendungen gemacht. Nur haben ich keinen Ansatz, wie man das realisieren könnte.
Habt ihr vielleicht ein Stichwort?

Gruss Aratar

05.10.2010 - 17:57 Uhr

Ja? Das letzte mal als es mir passiert ist noch nicht.... War anscheinend schon eine Weile her. xD

Dann wäre das ja erledigt.

05.10.2010 - 17:49 Uhr

Hallo,

Vielleicht kennt ihr es schon von anderen Foren, ich finde es jedenfalls nützlich. Es ist ja oft so, dass man mehrere Minuten an einem Beitrag schreibt, diesen dann absendet und merkt, dass das genau gleiche gerade in diesem Moment ein anderer geschrieben hat. Deshalb fände ich eine Meldung, wie z.B. "Es wurde gerade ein neuer Beitrag hinzugefügt" noch praktisch. Dann kann man diesen schnell lesen, um Doppelposts zu vermeiden. Falls es nicht zu viel Aufwand ist, wäre es bestimmt nützlich.

Gruss Aratar

05.10.2010 - 17:46 Uhr

An deiner Stelle würde ich als Basisklasse die Klasse Tabelle nehmen. Die Klassen Zelle und Spalte erben dann von dieser.

Und ja, für die Adressierung würde ich Indexer verwenden.

Gruss Aratar

01.10.2010 - 17:39 Uhr

Vielen Dank, das wars!

Gruss Aratar

01.10.2010 - 16:59 Uhr

Hallo,

Ich möchte, dass mein Programm im Vollbildmodus angezeigt wird. Dafür dachte ich muss man einfach:


this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
            this.TopMost = true;
            this.WindowState = FormWindowState.Maximized;

Komischerweise wird so aber die Taskbar noch angezeigt.

Gruss Aratar

28.09.2010 - 18:16 Uhr

Ein Application.DoEvents() nach Thread.Sleep(x) sollte helfen.
Dafür erntest du von mir gleich mal einen virtuellen Schlag auf den Hinterkopf 😃
Woher hast du diese Infos, das mit DoEvents() zu machen?

Hallo,

Ehrlich gesagt finde ich solche Antworten (die man öfters hier im Forum lesen kann) wie z.B. "Application.DoEvents() ist schlecht..." nicht sehr hilfreich. So wird es z.B. im Galileo Open Book 2008 (ob es im 2010 auch noch so ist, weiss ich nicht) von Andreas Kühnel auch verwendet, weshalb man es als Anfänger durchaus als nützlich und gut ansehen kann, da es ja in so einem Buch als das vermittelt wird.

25.09.2010 - 20:29 Uhr

Hallo,

Wenn du nach "Anwendung als Administrator starten" suchst findest du einiges.

Aber für dein Vorhaben sollte dies das richtige sein.

Gruss Aratar

25.09.2010 - 20:16 Uhr

Hallo,

Das ist eigentlich ganz einfach. Du drehst das Bild, und positionierst es unter dem Original. Um den "verschwimmen"-Effekt hinzubekommen legst du einfach über das 2te Bild einen Farbverlauf, der von semi-transparent bis schwarz geht.

Hier ist ein Beispiel.

Gruss Aratar

25.09.2010 - 19:57 Uhr

Nein, solltest du tatsächlich nicht. Verwende dazu einen Timer.

Gruss Aratar

21.09.2010 - 19:14 Uhr

@Aratar:
Schon viel besser. Dein Code wirkt aufgeräumt, wenn auch noch prozedural anstatt objektorientiert. Aber für den Anfang sehr gut.

2 Anmerkungen habe ich dennoch.

  1. Verwende besser Using() {...} anstatt das manuelle Dispose, um das Freigeben der Ressourcen zu garantieren.
  2. Wenn du eine Methode aufrufst und innerhalb der Parameter ein "new Pen..." machst, heißt das nicht, das dieser Pen nicht freigegeben werden muss. Du musst auch für diese Freigabe sorge tragen. Üblicherweise erzeugt man daher keine Objekte, die ein Dispose haben, innerhalb eines Methodenaufrufes.

Hallo,

Hab erst jetzt gesehen, dass es noch weitere Antworten auf diesen Thread gab.

Vielen Dank für die Anmerkungen, werde sie noch berücksichtigen.

Mich würde nur noch interessieren, was genau du mit "...auch noch prozedural anstatt objektorientiert." meinst. (Ich hoffe das sprengt nicht den Rahmen dieses Threads)

Gruss Aratar

05.09.2010 - 15:47 Uhr

So, hab mir eure Verbesserungsvorschläge zu Herzen genommen und sie geändert. Hab den Kalender ausserdem noch um die Navigationsmöglichkeit mit den Pfeil-Tasten erweitert.

Gruss Aratar

02.09.2010 - 21:59 Uhr

Naja, ich dachte aufgrund der Fehlermeldung, dass dies der betroffene Codeabschnitt ist, da ja stand "Einträge"-Eigenschaften. (Diese Eigenschaft befindet sich in diesem Codeabschnitt)

Gemerkt hab ich es erst gerade vorhin, als ich die Grösse des Kalender-Controls im Designer ändern wollte, da kam direkt die Fehlermeldung. Diese Fehlermeldung kommt aber auch sonst, wenn man zum Beispiel einen Button hinzufügt (zumindest wenn er sich auf dem Kalender-Control befindet).

Gruss Aratar

02.09.2010 - 21:44 Uhr

Wie ich gerade gemerkt habe, trifft der Fehler auf, sobald man etwas beim Kalender ändert, zum Beispiel die Grösse. Kalender Control

Gruss Aratar

02.09.2010 - 18:54 Uhr

Nichts passiert, es kommt immer noch die gleiche Fehlermeldung.

02.09.2010 - 18:45 Uhr

Hallo,

Ich hab ein Problem mit meinem Kalender Kontrol. Bisher hatte ich noch kein Problem, jetzt kommt aber immer, wenn ich ihn debuggen will folgende Fehlermeldung:

Fehler bei der Codegenerierung für die Einträge-Eigenschaft. Fehler: Der Typ "KalenderTestAnwendung.ItemCollection" in Assembly "KalenderControl, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" ist nicht als serialisierbar gekennzeichnet.

Der betroffene Codeabschnitt soll anscheinend folgender sein:

public class ItemCollection
    {
        public DateTime Datum { get; set; }
        public string Text { get; set; }
        public Color BackColor { get; set; }
        public Color BorderColor { get; set; }
        public bool Visible { get; set; }
        
        public List<Rectangle> Regions { get { return regions; } set { if (value!=null) regions = value; } }

        private List<ItemCollection> lst = new List<ItemCollection>();
        private List<Rectangle> regions = new List<Rectangle>();
        private List<ItemCollection> templst = new List<ItemCollection>();
        public List<ItemCollection> Einträge { get { return lst; } set { lst = value; } }

Ich hab es mit [Serializeable] probiert, hat aber nicht geklappt. Weiss jemand, was genau das Problem ist?

Gruss Aratar

01.09.2010 - 17:08 Uhr

Du musst noch angeben, unter welchem Namen und in welches Verzeichnis du die Datei hochladen willst.

Gruss Aratar

31.08.2010 - 18:52 Uhr

Projekt:

31.08.2010 - 18:49 Uhr

Beschreibung:

Ein kleines Kalender-Control, welches die Anzeige von Einträgen/Terminen ermöglicht.

Schlagwörter: Kalender, Control, Termine

Hallo,

Brauche für mein momentanes Projekt ein kleines Kalender-Control, mit welchem ich Termine anzeigen kann. Wie einige von euch vielleicht merken, hab ich als Vorlage den Windows Live Mail Kalender genommen, da der mir besonders gefallen hat.

Vielleicht können es einige von euch für zukünftige Projekte brauchen. Falls euch extrem schlimme Coding-Style Errors oder Ähnliches auffällt wäre ich froh, wenn ihr mich darauf hinweisen könnt, damit ich es verbessern kann.

**Changelog:***Problem beim Ändern des Start-Datums behoben *Monatsname wird nun in der Mitte des Monats angezeigt

Gruss Aratar

Im Anhang noch ein Screenshot

29.08.2010 - 13:10 Uhr

Ja, der Tooltip flackert.

Eigentlich wollte ich den ToolTip immer wieder neu zeichnen, da er immer an der Mausposition sein sollte. Hab mich jetzt aber doch umentschieden, sodass er einfach immer am gleichen Ort ist.

Wenn doch noch jemand eine Möglichkeit kennt, das Ganze so zu realisieren, dass sich der ToolTip immer an der Mausposition befindet wäre ich dankbar, ansonsten gebe ich mich einfach mit der "unbewegten" Variante zufrieden.

Gruss Aratar

29.08.2010 - 11:10 Uhr

Hallo,

Ich habe folgendes Problem. Ich habe mehrere Rechtecke in meiner Anwendung. Nun sollte, wenn man mit der Maus auf einem Rechteck, ist ein ToolTip angezeigt werden. Es sollte sich ausserdem immer an der Mouse Position sein.
Wenn ich das ganze im MouseMove-Event realisiere flackert es, darum wollte ich fragen, ob es evt. eine andere Möglichkeit gibt?

PS.
Die Rechtecke habe ich alle in einer Liste und teste mit rectlist.Contains(MousePos) ob die Maus über einem Rechteck ist.

Gruss Aratar