Simpler Auflösungsrechner

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Simpler Auflösungsrechner

    Anzeige
    Mit diesem kleinen Programm kann man Auflösungen und Seitenverhältnisse sich schnell berechnen lassen.
    Seitenverhältnisse wie 4:3, 5:4, 16:9, 16:10, 21:9 werden unterstützt.

    Version 1.1 Changelog:
    Spoiler anzeigen

    - Die Berechnung von Auflösung und Seitenverhältnis wurde inzwei seperaten Tabs aufgeteilt
    - Nur noch Eingabe von Zahlen in den Textboxen möglich
    - Radiobuttons hinzugefügt. Damit wird bestimmt welchen Wert man berechnen möchte
    - Die Info Linklabel Felder sind erstmal entfernt worden





    .NET Framework 4.5 wird benötigt!


    Download "Auflösungsrechner 1.1" (Rar Datei: 9 KB, EXE Datei: 22 KB)

    Download "Auflösungsrechner 1.1 sourcecode" (RAR Datei 321 KB)


    Programmiert in C# .NET


    Das Programm befindet sich noch im Anfangsstadium läuft aber soweit ich es getestet habe ohne Probleme.

    Weitere "Features" werden natürlich hinzugefügt.

    Auf Verbesserungsvorschläge und Kritik gehe ich gerne ein und versuche es auch zu verbessern.
    Ich bin allerdings noch Programmier-Anfänger. Auch was das anordnen der Elemente auf der Benutzeroberfläche angeht ist es noch nicht optimal.
    Ein Icon und vllt ein Logo fehlt auch noch.

    Das Programm hab ich eigentlich für mich geschrieben, weil ich sowas praktisches gebraucht habe. Aber ich dachte ihr möchtet es vielleicht auch benutzen
    und findet es praktischer als extra auf eine oder zwei Webseiten dafür zu gehen.

    Freue mich auf eure Vorschläge, Kritik und vielleicht noch mehr Unterstützung :)

    Dieser Beitrag wurde bereits 6 mal editiert, zuletzt von OverDev ()

  • Natürlich erstmal die Source gedownloaded. ;)

    Dass das Programm funktioniert glaube ich, ist ja "nur" GUI und ein wenig Mathe...

    Nicht schlecht, aber ich hätte da ein paar Anmerkungen:

    Interface:
    An sich habe ich da keine "Fehler" finden können, solides Design mit logischer Anordnung. Einzig störend empfinde ich die Platzierung der Objekte ganz am Rand und die Tatsache, dass die "Info"-Felder Linklabel sind, die mir als User zunächst den Eindruck verschaffen: Wenn ich da drauf drücke, gehts irgendwo hin. Dass ich da meinen Cursor drüberfahren und eine Sekunde warten muss, empfinde ich als störend. Da hätte ich lieber unten eine Textbox platziert, die die Information bei einem MouseOver ausspuckt, aber das sind minimale Fehler...

    Programm:
    Während der obere Teil super funktioniert, habe ich beim unteren ein Usability-Problem. Die Software nutzt die Höhe oder die Breite als Info um das jeweils andere zu berechnen. Das geht so lange gut, bis beide Felder voll sind, dann muss ich als User ganz mühsam das Feld entweder wieder manuell Freiräumen, oder alles zurücksetzen und neu eintragen. Ich hätte lieber zwei Buttons gemacht, der eine Berechnet die Höhe, der andere die Breite. Ist das Feld leer, ist der Button einfach ausgegraut, das sollte ja kein Problem sein.

    Code:
    Ich bin jetzt nicht so der Fan von Windows Forms (aber das ist mir lieber als JFrame), was wahrscheinlich daran liegt, dass ich GUI-Programmierung als sehr lästig empfinde. Wobei das Programmieren von einer eigenen GUI Spaß macht, das Problem ist das Einpflegen in den Code, selbst mit einem Designer, wie ihn Visual Studio mitliefert.
    Naja, auf jeden Fall ist die Arbeit von dir solide, wobei ich sagen muss: Eine Menge "if", die den Code für mich ein wenig unsortiert haben erscheinen lassen, aber auch da gibts Schlimmeres. Ich hab noch nie mit Comboboxen gearbeitet in Forms und weiß daher nicht über die Handhabbarkeit bescheid, wenn es um das Herumprogrammieren an den dazugehörigen Datensätzen geht.

    Eine weitere Sache, wäre das Verhindern von der Eingabe von Zeichen, die nicht in die Textfelder gehören. Wie leicht oder schwer das ist, weiß ich leider nicht genau, müsste ich ausprobieren.

    Da du ja sagst, du seiest Programmier-Anfänger, geb ich dir einen Tipp: Lies deinen Code und überlege, wo du kürzen kannst. Und kommentiere deinen Code, wenigstens im Ansatz, damit du dich später wieder darin zurecht findest. (Sagt übrigens der, der bei seinem letzten Projekt fast gar nicht kommentiert hat...)

    Ja, das wars dann eigentlich auch schon auf den ersten Blick (und um die Uhrzeit).
    Grüße, GLaDOS

    "Do you know who I am? I'm the man whose gonna burn your house down - with the lemons! I'm gonna get my engineers to invent a combustible lemon that'll burn your house down!" - Cave Johnson, CEO of Aperture Science

    YouTube: Max Play

    Rechtschreibung und Grammatik sind eine Tugend, aber jeder macht mal Fehler...
  • Danke erstmal das dus dir angeschaut hast :)
    Ich arbeite erst seit zwei Monaten mit C# bzw allgemein erst mit der Programmierung angefangen, aber hab in der
    Zeit selten was programmiert.

    Hätte beim "Design" der UI eher gedacht das diese nicht so gut strukturiert wäre.
    Bei den Info-LinkLabels habe ich mir auch wenig Gedanken dazu gemacht.

    Zum unteren Bereich mit der Auflösung berechnen das dachte ich mir auch schon wie ich das lösen könnte.

    Genau die vielen IFs stören mich mehr oder weniger auch aber nicht wegen der Übersicht.
    Man könnte es mit switch-case machen. Sollte man ja auch aus performancegründen wenn man viele Abfragen hat habe ich gehört.

    Ich hab mir auch schon Gedanken gemacht per Radiobutton (oder ähnliches) entweder Seitenverhältnis oder Auflösung zu berechnen.
    Das man die Felder nicht doppelt braucht.
  • OverDev schrieb:

    Man könnte es mit switch-case machen. Sollte man ja auch aus performancegründen wenn man viele Abfragen hat habe ich gehört.


    Dein Programm ist ja nicht Echtzeit, bzw. hat nicht den Anspruch Echtzeit zu sein. Performanceprobleme wirst du keine haben, selbst wenn du 300 ifs hättest.

    OverDev schrieb:

    Ich hab mir auch schon Gedanken gemacht per Radiobutton (oder ähnliches) entweder Seitenverhältnis oder Auflösung zu berechnen.
    Das man die Felder nicht doppelt braucht.


    Du könntest auch Reiter verwenden und dann das Fenster kleiner machen... es gibt viele Möglichkeiten.
    Grüße, GLaDOS

    "Do you know who I am? I'm the man whose gonna burn your house down - with the lemons! I'm gonna get my engineers to invent a combustible lemon that'll burn your house down!" - Cave Johnson, CEO of Aperture Science

    YouTube: Max Play

    Rechtschreibung und Grammatik sind eine Tugend, aber jeder macht mal Fehler...
  • Anzeige
    Version 1.1 Changelog:
    Spoiler anzeigen

    - Die Berechnung von Auflösung und Seitenverhältnis wurde in zwei seperaten Tabs aufgeteilt
    - Nur noch Eingabe von Zahlen in den Textboxen möglich
    - Radiobuttons hinzugefügt. Damit wird bestimmt welchen Wert man berechnen möchte
    - Die Info Linklabel Felder sind erstmal entfernt worden


    Für Version 1.2 habe ich schon dran gedacht das mit der Infobox umzusetzen und die Auflösung per Prozentangabe umrechnen zu lassen.
    Bei der Struktur vom Code hat sich allgemein wenig geändert.
    Vllt wird es irgendwann mal kommen das man mit quadratischen und nicht quadratischen Pixel die Auflösung berechnen kann.

    In der ausgegrauten Auflösungsliste dachte ich mir liste ich in einer Tabelle gängige und bekannte Auflösungen auf.

    Sonst noch Vorschläge ?
  • Yay, Bugtracking!

    1. Du kannst unter Properties in der AssemblyInfo.cs Background-Infos speichern, wie bspw. eben auch die Versionsnummer.
    2. Wenn ich die Auflösung berechnen möchte, aber das Textfeld leer ist, kriege ich eine FormatException, mangels try-catch. Wenn du etwas parsen möchtest, verwende am besten ein trycatch, weil parsen eine Exception schmeißt, sofern etwas schief läuft. Ich würde das Feld hellrot färben und nebendran (oder später dann in der Infobox) hinschreiben, dass es nicht leer sein darf.
    3. Bei "Alles Zurücksetzen" werden alle Felder geleert. Zurücksetzen heißt aber eigentlich, dass ich als User erwarte, dass das drinsteht, was vorher drinstand. (Usability Sache, kein echter Bug)
    4. Mich würde es freuen, wenn ich mit Slidern das Seitenverhältnis einstellen könnte und stattdessen nebendran Voreinstellungen habe, die ich als Button anklicken kann und die mir dann eingestellt werden. Dann kann man quasi alles Exotische einstellen, was einem einfällt.
    5. Wenn ich als Seitenverhältnis "Breite: 1 und Höhe: 11000" einstelle, kommt n. def : n. def raus, das hast du glaube ich mit dem einen if verhindern wollen, wo du (textBoxAspectRatio.Text == "NaN:NaN") vergleichst, aber das haut dann nicht hin, weil er für NaN etwas anderes ausgibt. ich hab es gerade mal probiert, wenn du hinschreibst (textBoxAspectRatio.Text == "n. def.:n. def.") klappt es. Würde dann allerdings den Text in der Box nicht ausnullen, sondern stattdessen "Fehler" oder sowas in Rot reinschreiben.

    Von meiner Seite aus wars das. Ich finde das Projekt auf jeden Fall cool und werde dir gerne weiterhelfen dein "Produkt" zu optimieren. Deinen Code finde ich ganz gut, würde ihn vielleicht noch etwas mehr kommentieren, aber ist ja deiner, ich beschwer mich ja nicht.
    Bin übrigens kein Fan von Messageboxen, da ich zwei Bildschirme habe und du ein recht kleines Fenster erzeugst, können die überall entstehen, und ich muss die erstmal suchen. Ich bin mehr der Freund von visuellem Feedback mit Farbe und Text, ist zwar mehr Arbeit, sagt mir aber mehr zu.

    Ansonsten: Mach weiter so, ist alles top und ich finde, du machst das echt gut, war diesmal viel übersichtlicher, als letztes Mal!
    Grüße, GLaDOS

    "Do you know who I am? I'm the man whose gonna burn your house down - with the lemons! I'm gonna get my engineers to invent a combustible lemon that'll burn your house down!" - Cave Johnson, CEO of Aperture Science

    YouTube: Max Play

    Rechtschreibung und Grammatik sind eine Tugend, aber jeder macht mal Fehler...
  • @Empedex schau mal in den unteren Teil seines Startposts
    Grüße, GLaDOS

    "Do you know who I am? I'm the man whose gonna burn your house down - with the lemons! I'm gonna get my engineers to invent a combustible lemon that'll burn your house down!" - Cave Johnson, CEO of Aperture Science

    YouTube: Max Play

    Rechtschreibung und Grammatik sind eine Tugend, aber jeder macht mal Fehler...
  • Vielen dank für die Antwort :)
    1. Das mit der Versionsnummer muss ich genau noch nachschauen.
    2. Ohje das hab ich vollkommen übersehen. Wird behoben
    3. Das stimmt "alles leeren" wäre wohl sinnvoller.
    4. Slider wäre leicht zu machen, aber Presets würde viel Zeit in anspruch nehmen das dauert noch^^
    5. Schau ich auch noch nach

    Code wird bald kommentiert und muss Variablennamen noch allgemeiner benennen.
    Messageboxen hab ich nur zum debuggen da um zu schauen ob was funktioniert bzw nicht.
    Die sind schnell zu machen und eigentlich nur für mich.

    Hab mir ein To Do Listen Programm runtergeladen und das nutze ich jetzt auch um Bugs und kommende Features aufzulisten.

    @Empedex
    Ich bin noch Programmieranfänger. Zum Einen will ich mit dem Programm üben.
    Zum Anderen dachte ich das vielleicht jemand anderes Interesse drin hat für seine Videos (zum Testen oder was auch immer) andere Auflösungen zu nehmen.
    Es gibt zwar Webseiten auf denen man das auch machen kann aber nicht jeder möchte vllt extra immer auf so eine Seite gehen zu müssen bzw
    vielleicht kann man nicht alles auf so einer Webseite berechnen.

    Ich habe vor dem Auflösungsrechner schon ein Programm geschrieben das von einer Webseite Songtexte runterlädt und diese als Textdatei abspeichert (pro Song eine Datei).

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von OverDev ()

  • Warum bekomme ich von 1920x34 kein Seitenverhältnis von 960:17 ?
    Warum bekomme ich bei 1920x720 kein 8:3 ?
    Ich bekomme da immer ein Fehler im Seitenverhältnisfeld von deinem Programm.

    Und wieso kann ich nicht selbst ein Seitenverhältnis angeben und muss aus einer Combobox eins wählen?

    Empedex schrieb:

    Cool dass du dir solche Arbeit gemacht hast, dennoch erschließt sich mir nicht so richtig der Sinn daraus?


    So in etwa hab ich auch gedacht. Taschenrechner und man ist in 2sek auch durch mit der Rechnung xD

    Aber naja... Ist halt Arbeit dahinter und einige User schaffen es halt nicht ne blöde Formel anzuwenden:
    Bei 16:10 z.B:
    (Breite / 16) * 10 = Höhe
    (Höhe / 10) * 16 = Breite

    Oder mal ne simple Modulusberechnung um die Seitenverhältnisse zu ermitteln.
    Kann man mit ner For Schleife z.B. lösen.
    Ein Beispiel für sowas:

    Quellcode

    1. 'Berechnung für den SAR
    2. ' SAR = DAR / PAR
    3. ' Alternativ durch Modulo Verfahren
    4. width2 = width_
    5. height2 = height_
    6. 'Der höhste Wert soll als Kürzungsfaktor genommen werden. (ggT)
    7. If height2 > width2 Then
    8. r = height2
    9. Else
    10. r = width2
    11. End If
    12. ' Ermittung des SAR durch Bruchkürzung
    13. For i = r To 1 Step -1
    14. If width2 Mod i = 0 And height2 Mod i = 0 Then
    15. width2 = width2 / i
    16. height2 = height2 / i
    17. End If
    18. Next i
    19. ' Aus der 8:5 Angabe wird 16:10, alle anderen Rechnungen bleiben erhalten.
    20. If width2 = 8 And height2 = 5 Then
    21. width2 = 16
    22. height2 = 10
    23. End If
    24. 'Ausgabestring erzeugen
    25. nSAR_ = width2 & ":" & height2
    26. 'Anzeige auf einem Label
    27. Label61(18).Caption = nSAR_
    Alles anzeigen

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von Sagaras ()

  • Danke für die Meldung werde das Prüfen.
    Ein eigenes Seitenverhältnis anzugeben dachte ich schon am Anfang drüber nach.

    Bis man sich den Taschenrechner geschnappt hat kann man auch mein Programm öffnen.
    Bzw hat vielleicht nicht jeder Lust sich die Formel zu merken oder immer was selber rechnen zu müssen ?
    Die AviSynth Scripts könnte man auch alle selber schreiben ;)

    Das mit der For Schleife wollte ich auch machen. So wie ich das mache ist das Seitenverhältnis wahrscheinlich falsch.
  • OverDev schrieb:

    Sonst noch Vorschläge ?

    Klaro. Wenn du mal Zeit hast, dann geh auf WPF. :D

    GLaDOS schrieb:

    2. Wenn ich die Auflösung berechnen möchte, aber das Textfeld leer ist, kriege ich eine FormatException, mangels try-catch. Wenn du etwas parsen möchtest, verwende am besten ein trycatch, weil parsen eine Exception schmeißt, sofern etwas schief läuft. Ich würde das Feld hellrot färben und nebendran (oder später dann in der Infobox) hinschreiben, dass es nicht leer sein darf.

    Hier muss ich widersprechen. Try/Catch ist für absolut unerwartete Fehler. Dass ein User zu dumm ist (bzw. es absichtlich macht), die Felder richtig auszufüllen, das ist definitiv zu erwarten und damit eigentlich nicht wirklich ein Fall für ein Try.
    Daher würde ich try-catch an dieser Stelle möglichst vermeiden.
    Das lässt sich mit einer einfachen if-Abfragen lösen:

    Quellcode

    1. int zahl = 0;
    2. if (int.Tryparse(textbox.Text, out zahl))
    3. {
    4. // Aus dem Textfeld konnte man eine Zahl lesen -> Berechnen / Weitermachen
    5. }
    6. else
    7. {
    8. // Aus dem Textfeld konnte keine Zahl gelesen werden -> Abbruch / entsprechende Reaktion
    9. }


    Damit prüft er, ob sich der Wert aus dem Textfeld entsprechend in ein int parsen lässt.

    @OverDev zur Erklärung:
    Das "out" bei "out zahl" ist im Endeffekt fast so etwas wie ein Rückgabewert. int.TryParse gibt nämlich true zurück, wenn aus dem Text eine Zahl gemacht werden konnte, und false, wenn das nicht ging. Weil es aber ziemlich umständlich ist, erst mit TryParse zu prüfen, und dann erst konvertieren zu lassen, weil ja von TryParse nur ein bool zurückkommt, gibt es dieses "out zahl". Damit wird festgelegt, dass das Ergebnis des Parsens in die Variable "zahl" gespeichert werden soll, die ich vorher mittels

    Quellcode

    1. int zahl = 0;
    festgelegt habe.
    Die zahl wird also bei Erfolg den Text deiner Textbox als int besitzen.

    OverDev schrieb:

    Ich bin noch Programmieranfänger. Zum Einen will ich mit dem Programm üben.

    Das ist sehr gut!
    So habe ich auch angefangen, und ich klopfe mir jetzt mal selbst auf die Schultern: In meiner Firma werde ich öfters mal für meine Erfahrung, die für einen Azubi wohl schon relativ gut ist, gelobt. ^^

    OverDev schrieb:

    Zum Anderen dachte ich das vielleicht jemand anderes Interesse drin hat für seine Videos (zum Testen oder was auch immer) andere Auflösungen zu nehmen.

    Das habe ich definitiv!
    You like music? I like pissing.
    ~Corey Taylor
  • Strohi schrieb:

    Daher würde ich try-catch an dieser Stelle möglichst vermeiden.

    Das ist wiederum auch falsch. Klar: Ein try/catch ist eigentlich zu viel und ein if reicht auch vollkommen, aber "vermeiden" hieße ja, dass es schadet, was es allerdings nicht tut.

    out empfinde ich als extrem großen Horror, hab das auch in C++ immer gehasst mit dem &. Macht den Quelltext irgendwie unübersichtlich... ach ja, ich habe grade wieder richtig Lust auf programmieren bekommen, nachdem ich jetzt seit Wochen nur dasitze und modelliere...

    OverDev schrieb:

    Mit 1.1 kann man nur noch Zahlen in die Textboxen eingeben somit ist das weggefallen.
    Deswegen bekommt man auch FormatException wenn nichts drinsteht.


    Bin ich blöd, oder kann ich da immernoch Buchstaben eingeben? Meinst du damit, dass du es abfängst, oder dass du es nicht zulässt?
    Grüße, GLaDOS

    "Do you know who I am? I'm the man whose gonna burn your house down - with the lemons! I'm gonna get my engineers to invent a combustible lemon that'll burn your house down!" - Cave Johnson, CEO of Aperture Science

    YouTube: Max Play

    Rechtschreibung und Grammatik sind eine Tugend, aber jeder macht mal Fehler...
  • GLaDOS schrieb:

    Das ist wiederum auch falsch. Klar: Ein try/catch ist eigentlich zu viel und ein if reicht auch vollkommen, aber "vermeiden" hieße ja, dass es schadet, was es allerdings nicht tut.

    Ok, schlecht formuliert. Ich bin trotzdem absolut kein Fan von TryCatch, die man mit If hätte verhindern können.

    Zum Problem, dass das immer noch geht: Diese Einschränkung ist nur im ersten Tab gemacht worden, im zweiten nicht.

    Was die FormatException angeht:
    Ok, ich hatte da jetzt die Sourcen nicht angeschaut. Aber mittels

    Quellcode

    1. !string.IsNullOrWhitespace(string text)
    lässt sich das ebenfalls ziemlich elegant mit einer if prüfen, wenn es wirklich nicht möglich ist, etwas anderes als Zahlen in die Textbox einzugeben.
    Wie gesagt, ich gehöre zu denen, die Try-Catch möglichst vermeiden möchten. Und gerade in dem Beispiel (habe mir jetzt mal die Source gezogen) fände ich das richtig unangebracht, da eine Exception zu catchen..
    Das ist eine if, das sollte doch kein Problem sein und ist halt mMn deutlich eleganter..

    Also, nimm mir das nicht übel! Das ist reine Ansichtssache, von daher ist das bei jedem Programmierer wieder anders. Ich finde es eher unelegant, das mit Try-Catch zu machen. Das ist nichts gegen dich, sondern soll wirklich nur meine Meinung sein!
    You like music? I like pissing.
    ~Corey Taylor
  • Strohi schrieb:

    Ich finde es eher unelegant, das mit Try-Catch zu machen.

    Laut meinem Programmier-Dozenten (der kennt sich aus) ist das nicht nur "unelegant" sondern auch völlig unperformant... wenn du zB. in einem Spiel das "try/catch"-Konstrukt 30x pro Frame aufrufst dann macht das schon was aus aber bei so simplen Dingen wie 1x was abzufragen ist das relativ egal ob du es nutzt oder nicht.

    Aber was man sich als Programmierer einmal angewöhnt hat wird man so schnell nicht wieder los, man sollte es also direkt richtig lernen damit man später nicht auf die Nase fällt.
    ——YouTube————————————————————————————————————————————
    — Endlos-Projekte: Minecraft (SinglePlayer), Craft The World, Banished, Besiege, Sims4
    — ..Abgeschlossen: Leisure Suit Larry 6+7, Dishonored, Surface 2+3, Mirrors Edge, uvm
    — . Kurz- Projekte: The Tower, Fighting Is Magic, Euro Truck Simulator 2, uvm
    — ......Retro-Ecke: Day Of The Tentacle, Flight Of The Amazon Queen, NFS: HP2, uvm
    ————————————————————————————————————————————TbMzockt.de—
  • Strohi schrieb:

    Also, nimm mir das nicht übel! Das ist reine Ansichtssache, von daher ist das bei jedem Programmierer wieder anders. Ich finde es eher unelegant, das mit Try-Catch zu machen. Das ist nichts gegen dich, sondern soll wirklich nur meine Meinung sein!


    Meintest du jetzt ihn oder mich? Jeder hat seinen eigenen Stil und eigene Vorlieben, wer das als Programmierer nicht zu respektieren lernt, wird sich nicht so schnell Freunde machen.
    Du hast recht, TryCatch ist an der Stelle unangebracht, if ist besser. Ich bin auch kein Fan von TryCatch, aber da ich Spiele entwickle, bin ich TryCatch mit Exceptions gewohnt, zumindest in C#. In C++ wird in der Regel nie geTryCatcht, weil es einfach zu langsam ist.

    ifs finde ich allerdings auch nicht elegant, liegt vielleicht daran, dass ich schon zu viel Anfängercode gesehn habe, an dem ich rumdoktoren durfte, weil was nicht ging und da wirst du normalerweise erstmal zugeschwämmt mit if else if else if else if, weil einfach die "eleganz"-Routine fehlt. Gibt allerdings auch haufenweise Diskussionen in Programmierforen, die sich mit simpelsten Problemen befassen, die aber nach 30 Beiträgen eher komplizierter als leichter wurden...

    Edit:

    TbMzockt schrieb:

    Laut meinem Programmier-Dozenten (der kennt sich aus) ist das nicht nur "unelegant" sondern auch völlig unperformant... wenn du zB. in einem Spiel das "try/catch"-Konstrukt 30x pro Frame aufrufst dann macht das schon was aus aber bei so simplen Dingen wie 1x was abzufragen ist das relativ egal ob du es nutzt oder nicht.

    Aber was man sich als Programmierer einmal angewöhnt hat wird man so schnell nicht wieder los, man sollte es also direkt richtig lernen damit man später nicht auf die Nase fällt.


    1. ist das "nur" eine Windows-Forms Anwendung, die hat mit Performance nichts zu tun.
    2. Wer TryCatch in Echtzeit mehrmals pro Frame abruft ist selbst Schuld.
    3. Ich kenne Leute, die sich Goto angewöhnt haben...
    4. Es tut mir leid, dass ich TryCatch erwähnt habe, jetzt werde ich in deinen Augen sicher immer der schlechteste Programmierer der Welt sein...
    Grüße, GLaDOS

    "Do you know who I am? I'm the man whose gonna burn your house down - with the lemons! I'm gonna get my engineers to invent a combustible lemon that'll burn your house down!" - Cave Johnson, CEO of Aperture Science

    YouTube: Max Play

    Rechtschreibung und Grammatik sind eine Tugend, aber jeder macht mal Fehler...
  • GLaDOS schrieb:

    Meintest du jetzt ihn oder mich?

    Dich. :)

    GLaDOS schrieb:

    dass ich schon zu viel Anfängercode gesehn habe, an dem ich rumdoktoren durfte, weil was nicht ging und da wirst du normalerweise erstmal zugeschwämmt mit if else if else if else if, weil einfach die "eleganz"-Routine fehlt.

    Ja, das ist natürlich dann durchaus möglich, dass du da dann eher ablehnend auf Try-Catch if-Abfragen reagierst. :D
    Aber wenn es richtig gemacht ist, ist Code mit if eigentlich meistens sehr übersichtlich. Wenn man auch entsprechend weiß, wie man Switch schön einsetzt usw.
    Aber wie soll man diese Eleganz lernen, wenn man direkt auf Try geht o. ä.?
    Natürlich, manchmal ist es unabdingbar und man MUSS catchen. Das ist z. B. der Fall, wenn man die Klasse HttpWebRequest verwendet, um entsprechend anfragen an Server zu schicken. Wenn die einen Http-Error zurückschicken, dann wird automatisch eine Exception geworfen. Bei falschen Uris (404 not found) lässt sich sowas möglicherweise noch ohne Try lösen (wobei ich es hier trotzdem machen würde, man weiß ja nie, was allles passieren kann), aber es gibt nunmal keine Möglichkeit, da drumrum zu kommen, wenn man eine Login-Anfrage schickt und der Server falsche Versuche mit einem Forbidden-Statuscode zurückweist o. ä.
    Aber sonst würde ich möglichst versuchen, das zu umgehen.

    GLaDOS schrieb:

    Ich kenne Leute, die sich Goto angewöhnt haben...

    Sofort opfern!
    You like music? I like pissing.
    ~Corey Taylor

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Strohi ()