Autor Beitrag
Xclusive
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 56


C#
BeitragVerfasst: Do 19.03.09 21:00 
So mein erstes C# Programm ist fertig:

Ich würde mich über eine Bewertung freuen und über verbesserungsvorschläge.
Denkt bitte daran:
Ich bin Anfänger,
Hauptschüler :D
15 Jahre alt. Seit dem 12. März.
Danke

Ich hoffe ich darf das reinstellen.

mfg David


Download:
Einloggen, um Attachments anzusehen!


Zuletzt bearbeitet von Xclusive am Do 19.03.09 21:15, insgesamt 2-mal bearbeitet
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Do 19.03.09 21:12 
Hallo!

Bitte gib einen direkten Downloadlink an oder hänge das Programm direkt an Deinen Beitrag an. Danke! :)

Grüße
Christian

P.S.: Wieso ist das Programm so groß? :shock:

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
Xclusive Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 56


C#
BeitragVerfasst: Do 19.03.09 21:16 
Ich weis es nicht sorry.
Vielleicht weger dem Hintergrundbild?
Ok, dass mit dem Dateianhang ist geklärt.
Yogu
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2598
Erhaltene Danke: 156

Ubuntu 13.04, Win 7
C# (VS 2013)
BeitragVerfasst: Do 19.03.09 21:18 
user profile iconChristian S. hat folgendes geschrieben Zum zitierten Posting springen:
P.S.: Wieso ist das Programm so groß? :shock:

Wieso, 1,93 MB sind doch für eine Anwendung mit einem großen Hintergrundbild noch ok.

Was mir aber auffällt: Das Fenster braucht ewig lange um sich zu zeichnen. Ich denke mal, das liegt genau an dem Hintergrundbild, das, so wie es aussieht, für jede Komponente nochmal gezeichnet werden muss. Einfachster Tipp: Lösche es ;)

Außerdem gibt es eine unbehandelte Ausnahme, wenn nichts eingegeben wurde, und auf "Berechnen" geklickt wird.

Ganz lustig wäre doch auch noch ein Hinweis, ob jetzt bestanden wird, oder nicht. Sonst funktioniert es ganz gut.
:zustimm:

Grüße,
Yogu
Xclusive Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 56


C#
BeitragVerfasst: Do 19.03.09 21:30 
Das mit dem Fehler weis ich Danke
Aber keine ahnung wie ich es beheben soll -.-
Das mit dem Hinweis weis ich leider acuh nicht.
Wollte ich machen.
mfg David
freak4fun
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 604
Erhaltene Danke: 4

Win 7 Pro
VS 2013 Express, Delphi, C#, PHP, Java
BeitragVerfasst: Do 19.03.09 21:34 
Du solltest etwas mehr auf das Programm Wert legen und nicht sos ehr auf das Äußere. ;)

_________________
"Ich werde auf GAR KEINEN Fall…!" - "Keks?" - "Okay, ich tu's."
i++; // zaehler i um 1 erhoehen
Xclusive Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 56


C#
BeitragVerfasst: Do 19.03.09 21:38 
Danke für den tip die meiste zeit hab ich fürs Design gebraucht :D
freak4fun
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 604
Erhaltene Danke: 4

Win 7 Pro
VS 2013 Express, Delphi, C#, PHP, Java
BeitragVerfasst: Do 19.03.09 22:36 
user profile iconXclusive hat folgendes geschrieben Zum zitierten Posting springen:
Das mit dem Fehler weis ich Danke
Aber keine ahnung wie ich es beheben soll -.-

Versuch es mal mit:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
try 
 ... 
except 
 ... 
end;
;)
user profile iconXclusive hat folgendes geschrieben Zum zitierten Posting springen:
Das mit dem Hinweis weis ich leider acuh nicht.
Wollte ich machen.

Dann mach es doch jetzt und lad die neue Version hoch. ;)

Du solltest deine Zahlen kleiner als 7 halten, wenn es Noten sind. ;)

_________________
"Ich werde auf GAR KEINEN Fall…!" - "Keks?" - "Okay, ich tu's."
i++; // zaehler i um 1 erhoehen
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19329
Erhaltene Danke: 1750

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Do 19.03.09 22:38 
Die Oberfläche macht normalerweise den kleineren Teil eines Programms und der Arbeit damit aus. ;-)
Bei so kleinen Programmen ist das natürlich etwas anderes.

Was mir auffällt:
Das Hintergrundbild passt zu den Textfarben nicht richtig, denn der Text ist so schlecht lesbar. Vielleicht ginge das besser, wenn das Bild z.B. etwas aufgehellt würde.

Statt Int32.Parse solltest du lieber Int32.TryParse benutzen um einen Fehler dabei abzufangen, wenn keine Zahl eingegeben wurde.

Warum startest du explizit den Internet Explorer? Sowas nervt, lass doch Windows den Standardbrowser des Benutzers verwenden.
ausblenden C#-Quelltext
1:
Process.Start("http://www.google.de");					

Warum das Laden so schleppend läuft, weiß ich nicht so genau, aber irgendetwas läuft da schief. Bei der Größe des Bildes könnte es auch einfach nur daran liegen.


user profile iconfreak4fun hat folgendes geschrieben Zum zitierten Posting springen:
Versuch es mal mit:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
try 
 ... 
except 
 ... 
end;
;)
Es geht um ein .NET Programm in C#. ;-)
freak4fun
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 604
Erhaltene Danke: 4

Win 7 Pro
VS 2013 Express, Delphi, C#, PHP, Java
BeitragVerfasst: Do 19.03.09 22:49 
user profile iconjaenicke hat folgendes geschrieben Zum zitierten Posting springen:
user profile iconfreak4fun hat folgendes geschrieben Zum zitierten Posting springen:
Versuch es mal mit:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
try 
 ... 
except 
 ... 
end;
;)
Es geht um ein .NET Programm in C#. ;-)

Macht doch nichts. Ausnahmebehandlung gibts doch sogar in Java! ;) Warum nicht auch in C#. Aber danke für den Hinweis! :D

_________________
"Ich werde auf GAR KEINEN Fall…!" - "Keks?" - "Okay, ich tu's."
i++; // zaehler i um 1 erhoehen
Xclusive Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 56


C#
BeitragVerfasst: Fr 20.03.09 07:47 
user profile iconjaenicke hat folgendes geschrieben Zum zitierten Posting springen:
Die Oberfläche macht normalerweise den kleineren Teil eines Programms und der Arbeit damit aus. ;-)
Bei so kleinen Programmen ist das natürlich etwas anderes.

Was mir auffällt:
Das Hintergrundbild passt zu den Textfarben nicht richtig, denn der Text ist so schlecht lesbar. Vielleicht ginge das besser, wenn das Bild z.B. etwas aufgehellt würde.

Statt Int32.Parse solltest du lieber Int32.TryParse benutzen um einen Fehler dabei abzufangen, wenn keine Zahl eingegeben wurde.

Warum startest du explizit den Internet Explorer? Sowas nervt, lass doch Windows den Standardbrowser des Benutzers verwenden.
ausblenden C#-Quelltext
1:
Process.Start("http://www.google.de");					

Warum das Laden so schleppend läuft, weiß ich nicht so genau, aber irgendetwas läuft da schief. Bei der Größe des Bildes könnte es auch einfach nur daran liegen.


user profile iconfreak4fun hat folgendes geschrieben Zum zitierten Posting springen:
Versuch es mal mit:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
try 
 ... 
except 
 ... 
end;
;)
Es geht um ein .NET Programm in C#. ;-)


Vielen dank ich werde mich nach der Schule direkt hinsetzen (Naja, nachhilfe hab ich auch noch :-D)

Wie geht des das man nur Zahlen eingeben kann (1-6) Danke im vorraus

Bis dann
mfg David
Xclusive Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 56


C#
BeitragVerfasst: Fr 20.03.09 12:58 
Entschuldigung für die doppelte Antwort.
Das ist ziemlich unübersichtlich geworden.

Mein Code:

ausblenden volle Höhe Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;


namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            
            textBox13.Text =
            ((int.Parse(textBox1.Text) * 2 + int.Parse(textBox2.Text) * 2 +
            int.Parse(textBox3.Text) + int.Parse(textBox7.Text) * 2 +
            int.Parse(textBox8.Text) * 2 + int.Parse(textBox9.Text) +
            int.Parse(textBox4.Text) * 2 + int.Parse(textBox5.Text) +
            int.Parse(textBox6.Text) + int.Parse(textBox11.Text) +
            int.Parse(textBox12.Text) + int.Parse(textBox10.Text)
            * 2) / 18.0).ToString();


        }

        private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
        {
            string goTo = "proxy.kartoffel-hack.com/index.php?q=uggc%3A%2F%2Fjjj.grnz-hyz.qr%2F";

System.Diagnostics.Process.Start("iexplore.exe", goTo);
        }

        private void linkLabel2_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
        {
            string goTo = "www.pennergame.de";

System.Diagnostics.Process.Start("iexplore.exe", goTo);
        }

        private void linkLabel3_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
        {
            string goTo = "www.hsweis.schule.neu-ulm.de";

System.Diagnostics.Process.Start("iexplore.exe", goTo);
        }
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19329
Erhaltene Danke: 1750

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Fr 20.03.09 13:04 
Dass der Quelltext so aussieht, war mir schon klar. .NET Programme lassen sich sehr gut disassemblieren. :mrgreen:

Bau als erstes einmal TryParse statt Parse ein. Dann kannst du die Prüfung in welchem Bereich die Eingaben sind auch gleich einbauen.
Xclusive Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 56


C#
BeitragVerfasst: Fr 20.03.09 15:31 
user profile iconjaenicke hat folgendes geschrieben Zum zitierten Posting springen:
Dass der Quelltext so aussieht, war mir schon klar. .NET Programme lassen sich sehr gut disassemblieren. :mrgreen:

Bau als erstes einmal TryParse statt Parse ein. Dann kannst du die Prüfung in welchem Bereich die Eingaben sind auch gleich einbauen.


"Dann kannst du die Prüfung in welchem Bereich die Eingaben sind auch gleich einbauen" // Diesen Satz kapiere ich irgentwie nicht Sorry, könntest du den bitte anderst formulieren?

TryParse geht irgentwie nicht hab ich das falsch gemacht?

ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
 {
            
            textBox13.Text =
            ((int.TryParse(textBox1.Text) * 2 + int.TryParse(textBox2.Text) * 2 +
            int.TryParse(textBox3.Text) + int.TryParse (textBox7.Text) * 2 +
            int.TryParse(textBox8.Text) * 2 + int.TryParse(textBox9.Text) +
            int.TryParse(textBox4.Text) * 2 + int.TryParse(textBox5.Text) +
            int.TryParse(textBox6.Text) + int.TryParse(textBox11.Text) +
            int.TryParse(textBox12.Text) + int.TryParse(textBox10.Text)
            * 2) / 18.0).ToString();


        }


Fehler: Keine Überladung für die TryParse-Methode nimmt 1 Argumente an.
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19329
Erhaltene Danke: 1750

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Fr 20.03.09 15:35 
user profile iconXclusive hat folgendes geschrieben Zum zitierten Posting springen:
TryParse geht irgentwie nicht hab ich das falsch gemacht?
TryParse gibt dir zurück, ob die Konvertierung erfolgreich war.
Schau dir den Befehl am besten in der Dokumentation an:
msdn.microsoft.com/e...ibrary/f02979c7.aspx
ausblenden C#-Quelltext
1:
2:
3:
int test;
if (Int32.TryParse(textBox1.Text, out test))
  MessageBox.Show("Gültige Zahl: " + test.ToString());
Xclusive Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 56


C#
BeitragVerfasst: Fr 20.03.09 15:41 
Es geht irgentwie nicht :-) *verzweifelt*
Kann jemand schnell über TeamViewer schauen?
Bitte,
Hcoke schon ewig drann -.-
Währe demjenigen sehr Dankbar.
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19329
Erhaltene Danke: 1750

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Fr 20.03.09 15:44 
user profile iconXclusive hat folgendes geschrieben Zum zitierten Posting springen:
Es geht irgentwie nicht :-) *verzweifelt*
Was heißt das? Ich habe doch ein konkretes Beispiel gepostet.

Wie hast du das denn jetzt versucht?
Xclusive Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 56


C#
BeitragVerfasst: Fr 20.03.09 15:51 
user profile iconjaenicke hat folgendes geschrieben Zum zitierten Posting springen:
user profile iconXclusive hat folgendes geschrieben Zum zitierten Posting springen:
Es geht irgentwie nicht :-) *verzweifelt*
Was heißt das? Ich habe doch ein konkretes Beispiel gepostet.

Wie hast du das denn jetzt versucht?


Ok habs jetzt kommt da die MassageBox Gültige Zahl: ??? aber was bewirkt das oder war das ein besipiel das ich Das ganze umschreiben soll?
Einloggen, um Attachments anzusehen!
Xclusive Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 56


C#
BeitragVerfasst: Fr 20.03.09 16:59 
user profile iconjaenicke hat folgendes geschrieben Zum zitierten Posting springen:
user profile iconXclusive hat folgendes geschrieben Zum zitierten Posting springen:
Es geht irgentwie nicht :-) *verzweifelt*
Was heißt das? Ich habe doch ein konkretes Beispiel gepostet.

Wie hast du das denn jetzt versucht?


Helf mir bitte hab das so eingefügt wie du es geschrieben hast.
Jakob_Ullmann
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1747
Erhaltene Danke: 15

Win 7, *Ubuntu GNU/Linux*
*Anjuta* (C, C++, Python), Geany (Vala), Lazarus (Pascal), Eclipse (Java)
BeitragVerfasst: Fr 20.03.09 17:17 
Also es geht darum, dass Fehler behandelt werden. Du führst nachfolgenden Code immer nur aus, wenn es keine Exception gab, ansonsten wird halt gar nichts gemacht / du teilst dem Benutzer seinen Fehler mit.