Code etwas entschlacken

  • VB.NET

Es gibt 6 Antworten in diesem Thema. Der letzte Beitrag () ist von ErfinderDesRades.

    Code etwas entschlacken

    Hallo Leute,

    ich schreibe gerade ein VB.NET Programm für unsere Abteilung und bringe mir das Programmieren dadurch selbst bei. :)

    Ich möchte mal fragen, wie man es anstellt, das man wiederholende Funktionen auf eine Zeile o.ä. abzuspecken.

    Im Aktuellen Fall, öffne ich beispielsweise mehreremale an verschiedenen Stellen Excel und ein Worksheet für ein paar Funktionen.
    Da hatte ich gedacht, das ich künftig einfach ÖffneExcel() schreiben kann, und der Code der sich dahinter verbirgt wird ausgeführt. Dahinter würde ich dann weiter verfahren: Auslesen, Schreiben, kopieren, whatever.


    Jetzt am Ende der Programmierung und mit kleinen Fehlerkorrekturen, ist das sehr mühsehlich ein paar Hundert Zeilen durch zu gucken. :(



    Danke im Voraus!

    DerShorty schrieb:

    wie man es anstellt, das man wiederholende Funktionen auf eine Zeile o.ä. abzuspecken.
    öffne ich beispielsweise mehreremale an verschiedenen Stellen Excel und ein Worksheet für ein paar Funktionen.
    Da brauchst du nur eine Methode (Function mit Rückgabe) dazu erstellen:

    VB.NET-Quellcode

    1. Public Function GibMirEtwas(EinArgument As String) As String
    2. '
    3. 'hier etwas berechnen
    4. '
    5. Return Ergebnis
    6. End Function
    oder eine Methode (Sub) ohne Rückgabe:

    VB.NET-Quellcode

    1. Public Sub TueEtwas(EinArgument)
    2. '
    3. 'hier etwas tun
    4. '
    5. End Sub
    Das Ganze kannst du auch ohne Argumente machen...
    Den Aufruf machst du dann in deinem Code, wo du es brauchst:

    VB.NET-Quellcode

    1. 'irgendein 'Code
    2. TueEtwas("DeinArgument")
    3. 'Code
    4. Dim Ergebnis = GibMirEtwas("DeinArgument")
    5. 'wieder irgendein Code


    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „VB1963“ ()

    Okay, damit hab ich schon mal Infos zu recherchieren und ausprobieren. :)

    Geht das auch, das ich eine neue Form öffne "Formeln.vb" und dort die ganzen wiederholenden Codes reinschreibe? :)
    ​..Für mich ließt sich das jetzt erstmal so, als ob alles in die Main.vb hineinkommt. :P
    Das geht bedingt. Und zwar: Wenn Du eine neue Datei anlegst, musst Du Dir bewusst sein, dass Du da nicht einfach Subs und Funktionen auslagern kannst und fertig. Denn Du musst Dich immer in einem Modul oder einer Klasse aufhalten. Und wenn Du nicht mehr in der Klasse bist, die in Main.VB definiert ist (z.B. Public Class Form1, normalerweise allererste Zeile oder sehr nah am Dateianfang), sind die Zugriffe aus den Funktionen heraus auf die Main-Bestandteile und umgekehrt nicht mehr so einfach gegeben und komplett anders zu gestalten. Aber das ist ein Thema der Programmier-Grundlagen.
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.
    Danke für die unterstützende Hilfe!
    ​Ich merk schon, da muss ich noch Vokabeln lernen, damit man sich hier ordentlich unterhalten kann. Ich verstehe nämlich nur Bruchteile von dem was ihr mir versucht zu erklären. :rolleyes:
    ​..Womöglich lern ich dann noch ganz andere Sachen, womit ich vielleicht Anfängerfehler im selben Anlauf ausmerzen kann.

    ​Jedenfalls ist das schon mal ein Anfang mit dem ich lernen kann.

    Merci!
    @DerShorty Deine Herangehensweise ist suboptimal.
    Du hast da iwo C&P-Code gefunden, der zufällig das macht, was Du willst.
    Zur Anpassung machst Du da Spagetti-Code draus und nun fragst Du, wie das ganze zu optimieren sei.
    So sollte es sein:
    Beginne mit einer detaillierten und belastbaren Aufgabenstellung!
    Sprich die mit Deinen Kollegen durch.
    Dann machst Du aus dem ganzen in sich (halbwegs) geschlossene Arbeitspakete.
    Zu jedem dieser Arbeitspakete machst Du ein eigenes Projekt :!:
    ( Diese Projekte sammelst Du, Du wirst sie später wieder brauchen. )
    Wenn Du alle diese Arbeitspakete vollständig bearbeitet hast, fügst Du sie zum Hauptprojekt, das Du nun als neues Projekt erstellst, zusammen.
    Wen die Schnittstellen zwischen den Arbeitspaketen ordentlich definiert sind, hast Du nun ein sehr gutes aufgeräumtes und gekapseltes OO Gesamtprojekt, das Du einfach zum Laufen bekommst.
    ===
    Je besser die Arbeitspakete definiert und strukturiert sind, um so einfacher lassen sie sich zusammenfügen.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!

    DerShorty schrieb:

    Ich merk schon, da muss ich noch Vokabeln lernen, damit man sich hier ordentlich unterhalten kann.
    Das ist eine sehr richtige Wahrnehmung. Programmierung ist ein Fachgebiet, und bringt auch seine Fachsprache mit, und wenn man die Begriffe nicht kennt (und zwar in ihrer richtigen Bedeutung) - daran scheitert sehr sehr viele Kommunikation.
    vlt. kann ich dich für Grundlagen: Fachbegriffe interessieren?
    Ist natürlich gut möglich, dass auch diese Erläuterungen dir viel zu hoch sind, dann sollteste dir ein gut Buch antun - nirgends lernt man die Begriffe besser.

    Deine Selbst-Beibring-Strategie ist höchst ineffizient.
    Selbst-Ausprobieren ist nur ein Teil der Kanäle, über die man Wissen aufbaut, und wenn die anderen Kanäle (Bücher, Tutorials, Recherche ...) nicht parallel dazu auch genutzt werden, so bleibt dir wohl 90% des eiglich notwendigen Wissens unerreichbar.

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „ErfinderDesRades“ ()