Programme für den Anfang

  • Also, ich wollte einen neuen Versuch wagen C# zu lernen.
    Das Problem ist nur, dass in dem Buch was ich habe "Einstieg in C# 2008 von Galilieo"
    wird so viel erklärt, womit ich erstmal garnichts anfangen kann.


    Ich bin ein Typ, der Sachen direkt anwenden muss.
    Sprich ich würde eher lernen, wenn ich ein Programm schreiben will, dafür dann dies und jenes brauche und mir das dann angucke bzw das lerne.


    In dem Buch wird einem so viel vor die Nase gehalten und gesagt "das, das und das gibt es".
    Wofür ich es genau brauch, wo und wie ich es anwenden muss weiß ich aber absolut nicht.


    Ich habe einen Kollegen, der für meine Verhältnisse wirklich sehr sehr gut programmieren kann.
    Er hat es auch so gemacht, dass er bspw. eine automatische Freundschaftsanfragen ablehnung bei svz (damals) programmiert hat.
    Das was er dann wirklich gebraucht hat, hat er sich dann angeguckt und alles so nach und nach gelernt.


    Ich würde auch gerne eher über diesen Weg lernen als stumm irgendwelche Bücher zu lesen, wovon ich 70% dank des Ausdrucks nicht verstehe.
    Bspw:

    Ich bin 17 Jahre alt und verstehe diese 2 Sätze im prinzip garnicht.
    Ich kann noch nicht wirklich programmieren und diese Erklärung wird schon ganz am Anfang gebracht..
    (Da solche Textstellen sehr oft vorkamen, habe ich dann aufgehört C# zu lernen, weil mir das viel zu krass wurde)


    Daher will ich halt einfach mal "drauf los programmieren".
    Wenn ich eine funktion oder Methode brauche, suche ich nach einer, bzw etwas wie ich das Problem lösen kann.
    So hat mein Kollege das auch gemacht und ich kann mir vorstellen, dass das lernen so beim mir eher funktionieren wird.


    Das einzige Problem, was mein Kollege auch hatte ist..
    Was soll ich programmieren? Ich habe keinerlei Erfahrung, außer irgendwelche Rechner programmieren (Schule & Buch).
    Verbindung zu Websites etc. habe ich nicht mal nen Ansatz einer Ahnung.


    Nunja, meine Frage an euch ist jetzt eigentlich;
    Habt ihr Ideen für Programme, an die ich mich mal ran wagen könnte?
    Gibt es hier vielleicht Leute, die mich dann dabei unterstützen würden?
    Ich hoffe ihr könnt mir ein wenig helfen.

  • Moin bangi hab ich versucht C# zulernen und mein erstes tool war nen ip converter für die sro files


    hab es genau so gemacht wie du. hab mir ausgedacht was es machen soll (zb ips herrauslesen [lokal und wan] und diese dann umrechnen) und dann alles nachgeschlagen wie was funktioniert...


    Hier ist mal das Tool: [C#] IP Converter


    Wenn du lust hast, kannst du es ja versuchen nachzu "bauen/coden"

  • Also mir kam gerade eine Idee einfach mal nen Login/Reg zu coden.


    Also evlt. auch 2 Programme, welche auf eine gemeinsame Datenbank zugreifen.
    Der Kollege kommt gleich on und erklärt mir das mit der Datenbank.
    Dann müsste ich halt eine regestration erstellen, welche dann den Benutzernamen + Password
    in die Datenbank schreibt.
    Im Login programm werden die Daten dann abgefragt, ob sie richtig sind. Wenn ja, wird zugang gewährt, wenn nicht, halt nicht.
    Dann kann man ja noch sowas einbauen wie "3 mal falsch eingegeben, 10 sekunden warten" oder sowas.

  • Sorry aber bei aller liebe und allem "Praktischen" Verständnis, dieser Ansatz ist sicher nicht der Richtige Weg. Wenn du diesen Weg wirklich gehen wirst, nur das lernen was ich gerade brauche und alles andere blende ich mal eben aus, das ist nicht das erlernen einer Programmiersprache. Und zwar bei weitem nicht. Durch den Umstand sich keine Gedanken über das gelesene zu machen, sondern es überspringen zu wollen, bahnt sich gefährliches Halbwissen an.


    Damit meine ich, wenn du irgendwann einmal mit Datenbanken programmierst (Eines der letzten Kapitel) könnte es sein, dass du fragst, was denn eine NullReferenceException oder noch schlimmer - überhaupt eine Exception ist. Oder warum diese oder jene implizite Konvertierung nicht möglich ist. Und das kann und darf nicht sein.


    Eine Programmiersprache zu lernen, heißt sich intensiv mit der Materie zu befassen. Ich möchte euch nicht den Spaß an der Sache nehmen, einen Login/Registrierung, was auch immer zu programmieren. Aber ihr werdet (definitiv) auf die Schnauze fallen. Oder ihr kopiert euch den ganzen Kram einfach irgendwie irgendwo zusammen und wenn's dann bei der Ausführung daneben haut, fragt ihr hier oder wo anders nach. Wollt ihr wirklich so programmieren?


    Wenn ihr es wirklich lernen wollt ohne ein Buch durch zu kauen, kann ich euch dennoch Get Sharper Now empfehlen! Nehmt euch pro Tag ca. 2 Stunden Zeit, schaut euch einen Webcast an und übt danach fleißig. Bei fragen oder Problemen oder nicht verstanden Sätzen, werden wir euch zur Seite stehen.


    Und um deine Frage zu dem Satz zu beantworten:


    Klassen und Objekte. Auch das wird in GetSharperNow behandelt, aber ich werde es dennoch mal kurz anreißen. Im Zeitalter der modernen Programmierung, d.h. nicht stupides runter programmieren sondern Planen und Entwerfen (Architektur) erstellt man unglaublich Komplexe Programme. Um diese Komplexen Programme auch für andere verständlich zu halten oder - überhaupt Verstehen zu können, nutzt man die Objekt Orientierte Programmierung. Es fällt alles leichter, wenn man sich das Programm zusammen gebaut aus Objekten vorstellen kann.


    Nehmen wir an du Programmierst ein Verwaltungs-Programm für eine Spedition. Dann hast du eine Klasse (Objekt) LKW dieses Objekt kann nun mehrere Methoden(Ebenfalls Objekte) und Eigenschaften(Properties) aufnehmen. Zum Beispiel eine Methode "Rufe GPS Standort ab" oder "Kontaktiere LKW". Du kannst diese Klasse LKW nun mehrmals erzeugen (Instanziieren), praktisch für jeden LKW der auf der Straße ist. Und du hältst in jeder Instanz, die gleichen Methoden, aber nicht unbedingt die gleichen Eigenschaften. Verstanden?

    And the reign will kill us all
    We throw ourselves against the wall
    But no one else can see
    The preservation of the martyr in me


    Slipknot - Psychosocial

  • Also, ich habe gerade ein Problem. Mein Programm sieht bisher so aus:



    So, ich will nun logischerweise, dass man einen Bereich auswäht und dann auf Jetzt surfen drücken muss, um auf die Website zu gelangen.
    Also ich wollte eigentlich auf jeden Bereich dann jeweils eine Variable festlege, welche der Homepagelink ist.


    Wenn man auf Jetzt surfen drückt, wird die Variable dann
    hier eingefügt


    System.Diagnostics.Process.Start(website);
    und dann sollte die Website aufgerufen werden.


    Würde es so funktionieren? Wenn ja, wie muss ich das genau machen?


    dmix :
    Was ist denn für dich üben?
    Ich meine ich habe mir jetzt schon die ersten 70 Seiten durchgelesen.
    Wenn jemand sagt schreib mal ein kleines Programm würde ich aber nicht mal im Ansatz wissen, was ich machen soll.
    Das ist bei praktischer übung einfach nicht so.
    Klar, habe ich sicher lücken. Aber es ist ja auch nicht gesagt, dass ich nur praktisch übe.
    Natürlich, wenn mir nichts einfällt lese ich halt im Buch weiter etc.


    Aber wie gesagt, ich habe die ersten 70-100 Seiten gelesen.
    Das einzige was ich konnte war
    Console.WriteLine("Hello World");


    70% habe ich nicht verstanden, bzw ich wusste nicht wozu das da ist.
    Bspw. diese Platzhalter oder was das ist
    Console.WriteLine("Ergebnis = {0}", a = 0);
    Ich habe es zwar in dem Moment verstanden, da ich aber nichts damit anfangen kann und nicht weiß wieso ich das überhaupt wissen soll
    habe ich es nach 10 Seiten wieder vergessen, zumindest dann, wenn ich es brauche werde ich mich sicher nicht dran erinnern.

  • Du deklarierst global eine variable URL. (In der Klasse) string url = "";
    Dann erstellst du dir eine Switch Anweisung und nimmst den Index der RadioButtons als "Bedingung". Switch(myradiobuttons.selectedindex) oder so.


    Für jeden einzelnen fall, änderst du die variable url.
    Bei dem Buttonklick, schreibst du den befehl hin und deine variable in die klammern. :)

    And the reign will kill us all
    We throw ourselves against the wall
    But no one else can see
    The preservation of the martyr in me


    Slipknot - Psychosocial

  • Ich weiß nicht, wie du das mit dem Switch meintest,
    ich habe es jetzt einfach so gemacht; Oben erstmal die string variable deklariert.
    Dann in jedem raidButton habe ich einfach
    url = ("http://www.link.de/")
    geschrieben und am ende
    System.Diagnostics.Process.Start(url);


    Klappt soweit schon ganz gut.
    Ich muss jetzt nur irgendwie schreiben, dass, wenn keine Auswahl gemacht ist, nichts passiert.
    Wenn ich jetzt keine Auswahl habe und ich drücke auf "Jetzt surfen" crasht das Programm.


    Was auch noch praktisch wäre, wenn es eine Option gäbe, mitder man die Form immer im Vordergrund halten kann bzw. transparent


    Würde jetzt gerne eine Regestration erstellen, worüber man sich einen Account erstellen kann.



    //Edit:
    Der öffnet bei mir firefox in einer Avast Sandbox O.o
    Nach c.a 5 sekunden schließt er den dann und das Programm ebenfalls.
    Aber auch nur, wenn ich die .exe öffne.
    Wenn ich den debugger ganz normal in visual studios benutze geht alles wunderbar.

  • Hatte mal mit C#, aber VB.Net hat mir vom Syntax mehr gefallen - wo jetzt natürlich jeder sagen wird "wtf". Aber dieses klare Schreiben liebe ich und die Funktionen ähneln sich enorm.


    Ich mache es bis heute mit Learning by doing, momentan eingerostet. Aber hab schon was weiß ich, 12 Stunden an einem simplen Internet Steuerungsprogramm (Das man auf einen anderen Computer - Programme starten, beenden, etc. kann.) und das nur weil ich dich Hilfe von fertiggemachten nicht nutzen wollte. Mit etwas Copy & Paste hätte es max. ne Stunde gedauert. Aber das sturre Lernen macht sie irgendwann bezahlt, man muss es nur mehrmals durch den Kopf gehen lassen. Ich habe 180 Seiten über VB.Net gelesen - kaum was Verstanden, damals. Aber heute weiß ich wo Fehler liegen und wie ich sie behebe, dank den ...Gali...Buch. Ich kann zwar nur simple/mittlere Programme programmieren. Aber mehr wollte ich nicht. Du musst distanzieren:


    Will ich das später als Beruf -> Sturres Lernen und mit etwas Praxis - man braucht viel Einarbeitung, weiß am Ende aber vieles zuverlässiger.


    Hobby -> Learning by doing, und danach liest du das Buch - man versteht mehr, aber Lücken müssen ständig nachgelesen oder gefüllt werden.


    Wenn du nicht wie ich enden willst, und immer nachfragen musst - lies lieber etwas mehr. Kann sein das "Learning by doing" leichter vorkommt, das ist aber nur weil man schneller Erfolge spürt. Beim Lesen ist das nicht so, aber ich würde nie effektiv arbeiten können, mit meinen derzeitigen Kenntnisse. Allenfalls kleine Hilfsprogramme für Freunde und Bekannte machen können. Erst arbeiten, dann der Spaß :)