Entwickler-Ecke

Sonstiges (.NET) - Projektvorschlag für Anfänger


niggo233 - Mi 19.01.11 15:52
Titel: Projektvorschlag für Anfänger
Hi
ich bin noch Anfänger und will soviel wie möglich lernen.Kein mir jemand einen Projekt Vorschlag machen?Danke auch
Mfg


Necaremus - Mi 19.01.11 17:06

als anfänger?

taschenrechner und/oder paint.

beim taschenrechner kannst du am besten als erstes nen einfachen mit 2 textboxen, dann einen mit 10 ziffer-buttons und beliebigen operator buttons(+,-,*,/,^[...])
und ganz zum schluss nen parser basteln (also quasi 3 verschiedene taschenrechner^^)
paint ist... uhm... ja, da kannst du dich selber austoben^^


/edit: achja, was auch noch ganz ganz wichtig ist:
beim parser brauchst du folgendes:

C#-Quelltext
1:
2:
3:
4:
5:
if (MyTextBox.Text == "the answer to life, the universe and everything")
{
  Result = "42";
  return;
}


sonst ist es kein richtiger parser.


Namenlosnameless - Mi 19.01.11 18:03

Meine ersten Projekte waren :

Passwortgenerator
Snake
Paint ( wie oben genannt)
Funktionsplotter für einfache Funktionen
Programm zur ausgabe von primzahlen
Console für die Berechnung von Palindromen durch Inversion
Berechnung von Pi nach der MonteCarlo Methode
Tetris
Bildbearbeitungsprogramm

Hoffe das hilft:)


c#learning - Mi 19.01.11 18:36

Hi
danke für eure antworten,Taschenrechner hab ich schon,aber Paint ist gut,nur leider weiß ich nicht wie das geht.
Kann mir das jemand erklären? Danke schonmal
Lg


Namenlosnameless - Mi 19.01.11 19:14

Du machst eine List<Point> auf!
in dem du alle MausPositionspunkte aus den EventArgs des MouseMove-Ereignisses speicherst.

Am besten prüfst du auch noch ob die linke Maustaste gedrückt wurde!


C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
List<Point> Points = new List<Point> { };
        private void Form1_MouseMove(object sender, MouseEventArgs e)
        {
            if (e.Button == MouseButtons.Left)
            {

                Points.Add(e.Location);
            }
         }


dann kannst du im Paint-Ereigniss deiner Form die Punkte aus Points durch einen Spline verbinden!


C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
 private void Form1_Paint(object sender, PaintEventArgs e)
        {
         Brush brush=new SolidBrush(Color.Red);

            if (Points.Count > 0)
            {
                e.Graphics.DrawCurve(new Pen(brush), Points.ToArray());
            } 
         }


eventuell musst du noch nach dem Einfügen von Punkten, die Form Refreshen.
Dann noch beim loslassen der linken Maustaste Points leeren!

Damit verlierst du zwar die alten Linien, kannst sie aber in einer seperaten Liste: List<List<Points>>ListPoints speichern und dann immer alle Splines zeichnen lassen!

Wenn dir das nicht reicht, kannst noch über die OOP eine eigene Klasse Spline erstellen, in der du dann, Farbe, Pinselstärke,Punkte etc. speicherst und beim zeichen dann ausgibst!

Soweit mal zur Realisierung von Paint, ein bisschen Feinschliff könnte das Konzept noch vertragen aber da kannst du noch herumspielen!

Für sonstige Fragen bitte einen eigenen Thread bzw. PN


mfg Christoph


niggo233 - Mi 19.01.11 19:29

Hi
ok aber codiere ich das jetzt,hab das noch nie gemacht.
Lg


Namenlosnameless - Mi 19.01.11 20:11

Was willst du codieren??


niggo233 - Mi 19.01.11 20:53

Hi
naja sowas wie Paint,was aber nicht wie das geht.Hilfe,bitte?
Danke
Mfg


Namenlosnameless - Mi 19.01.11 21:51

ich habs jz oben genauer beschrieben, damit es ned 2mal da steht!


niggo233 - Mi 19.01.11 23:12

Hi
cool danke habs inbekommen
Lg