Hallo,
Es geht um folgendes ich habe in diesem eine Semesteraufgabe aufbekommen ich habe mich für die Themen "multithreading" und "Timer" entschieden.
Aufgabenstellung: ich soll beide Themen in einem kleinen Progamm darstellen und eine entsprechende Ausarbeitung erstelle.
Nun bin ich auf einige Probleme gestossen.
Programmiert soll das ganze in C++ und in Visual Studio 2008
mein Gedanke:
- mittels der tick Methode des timers die aktuelle systemzeit und datum im label darstellen.
- 2ter timer (der genauer ist) zeitmessung der threads.
- 2 threads starten nach button click
- bubblesort und quicksort.
also realisiert habe ich bisher folgendes.
2 pictureboxen 200px x 200px
2 arrays mit je 200 zufallszahlen
auf button klick werden beide felder sortiert und dann die picturebox neu gezeichnet
ich habe meine sortieralgorithem,zufallszahlen generation stehen in einer von mir erstellten cpp in einer eigenen klasse.
jetzt kommen meine 2 probleme.
1. will ich natürlich mehr als 200 zufallszahlen erstellen und auch darstellen.
das erstellen ist da eher weniger das problem mehr das darstellen. aus visual basic zeiten bin ich gewohnt das mit der size() methode der picture box zu machen. das funktioniert aber hier nicht da er dann die picturebox größer macht also zb 20000px x 200000px was natürlich nicht sein soll ^^. ich will ja nur den wertebereich auf der x und y achse einstellen so das ich da mehr als 200zahlen darstellen kann.
2. problem: damit man nicht nur ein bild vor dem sortieren und danach hat würde ich gerne jeden einzelschritt neu zeichnen, sprich nach jedem tauschvorgang. da man aber bei visual studio 2008 aus seiner eigenen cpp bzw klasse nicht auf die form1.h zugreiffen kann, kann ich auch nicht auf die methoden bzw die elemente zb die picturebox zugreiffen und somit das neuzeichnen erzwingen. meine frage ist kann ich an meine sortieralgos einen pointer auf meine picturebox übergeben um dann in den algos die methode neuzeichnen aufzurufen ? oder gibt es da andere schöne möglichkeiten ?
und ganz allgemein zu threads: bisher werden meine sortieralgos ja nacheinander ausgeführt. natürlich sollen die in threads ausgelaggert werden wie kann ich das programmiertechnisch realisieren ich hab mich zwar schon eingelesen aber meine leküre verstehe ich nicht so richtig
ich hoffe ich habe alles genau genug beschrieben und freue mich auf eure hilfe xD