VB.NET PropertyGenerator (v1.3)

    • Release

    Es gibt 14 Antworten in diesem Thema. Der letzte Beitrag () ist von Silas88vD.

      VB.NET PropertyGenerator (v1.3)

      Name des Programms:
      PropertyGenerator v1.0

      Beschreibung:
      Das Programm hilft beim erstellen und verwalten von Properties. Was früher nervige schreibarbeit war, wird nun mit einigen Klicks realisiert. Als Ergebnis erhält man den fertigen Code seiner Properties zum direkten einfügen in die eigene Anwendung.


      Individuelle Properties erstellen:
      -Name
      -Typ
      -Wert
      -Sichtbarkeit (Public, Private)
      - Zugriffrechte (ReadOnly, WriteOnly, Read&Write)
      - Benutzerfreundlichkeit: Kategorieeinteilung & Beschreibung im PropertyGrid festlegen
      - Präfix der Lokalen Variablen festlegen (Property heißt Size, Lokale Variable heißt _Size)

      Verwalten und Wiederverwenden
      - Treeview-Ansicht zur besseren Übersicht in Kategorien unterteilt
      - Typenverwaltung: Eigene Typen integrieren, Typenliste exportieren und wiederverwenden sowie Standartwerte setzten
      - Speichersystem: Properties speichern, laden und bearbeiten
      - Kategorienverwaltung: Man kann mehere Kategorien zusammenfassen (z.B. "Maße", "Größenangaben" und "Farben" zu "Aussehen". Hilft auch bei Rechtschreibefehlern => "Desing vs Design") und umbennen

      Einfache Programmsteuerung
      Wird eine Property im TreeView angeklickt werden dessen eigenschaften als Standart gesetzt. Drückt man nun auf Hinzufügen (um eine neue Property zu erstellen) werden die Werte der Standart-Property automatisch geladen - so können Properties die anderen ähnlich sind mit wenigen Mausklicks erstellt werden.
      Der Code wird übersichtlich ausgeben - entweder werden zuerst alle lokalen Variabeln aufgelistet und dann die Properties oder jedem Property steht die entsprechende lokale Variable vor.

      Um die Funktion "Kategorie und Beschreibung" nutzen zu können muss System.ComponentModel Importiert werden. Dies ermöglicht es, Beschreibung und Kategorie Benutzerfreundlich in einem PropertyGrid anzeigen zu lassen.

      Neue Funktionen der Version 1.1
      - Eigener Dateityp (per Doppelklick auf die exportierte Datei das Programm starten)
      - Code eines Einzelnen Property kann ausgegeben werden statt dem gesamten Code aller Properties
      - Design überarbeitet


      Neue Funktionen der Version 1.2
      - einige Tooltips wurden hinzugefügt
      - nun ist es möglich bestehenden Code in das Programm einzulesen und dann einfach zu bearbeiten


      Neue Funktionen der Version 1.2a
      - FIX: Registrierung des Dateiformats muss der User nun manuell vornehmen. keine weiteren Änderungen


      Neue Funktionen der Version 1.3
      - ToolTips wurden ausgebessert
      - XML-Beschreibung für InteliSense hinzugefügt (Siehe Screenshot der neuen Version)
      - Einlese Funktion für bestehenden Code auf XML-Beschreibung erweitert



      Wer Verbesserungsvorschläge und Ideen für weitere Funktionen hat kann sich gerne melden. Ich denke, dass Projekt wird in naher Zukunft OpenSource sodass es von jedem weiterentwickelt werden kann.

      Screenshot:

      Version 1.0


      Version 1.1


      Version 1.2 - große Neuerung: Code einlesen


      Version 1.3 - XML Beschreibung für InteliSense



      Verwendete Programmiersprache:
      Visual Basic .NET (IDE: VB 2008 Express)

      Systemanforderungen:
      .NET Framework 3.5

      Download:
      PropertyGenerator v1.0 17.07.11 (22 KB)
      PropertyGenerator v1.1 18.07.11 (33 KB)
      PropertyGenerator v1.2 21.07.11 (37 KB)
      PropertyGenerator v1.2a 22.07.11 (37 KB)
      PropertyGenerator v1.3 29.07.11 (37 KB)


      Lizenz/Weitergabe:
      Freeware

      Dieser Beitrag wurde bereits 10 mal editiert, zuletzt von „FreakJNS“ ()

      Hm das Design ist nicht besonders ansprechend.
      Und zu viele Funktionen auf einem Feld. Mach es bitte mit einem Menüstrip:
      Die wichtigsten Funktionen (Hinzufügen,Bearbeiten,Enfernen,Code erzeugen,In die Zwischenablage) bleiben hier, die anderen werden irgendwo anders untergebracht.
      Und mach bitte normales WinForms - Look ohne irgendwelchen BorderSyles = None

      Zur Funktionalität:
      Warm machst du keine XML-Kommentare?
      cool, das so eine Funktion in der IDE integriert ist wusste ich garnicht^^ und wieder etwas gelernt.
      naja, hab das Design etwas verbessert und ein paar neue Funktionen hinzugefügt. Vorteil von dem Programm ist und bleibt, dass man die Properties im nachhinein bearbeiten kann (ist in der IDE nicht so einfach möglich, da die grünen eingabefelder nach fertigstellung verschwinden...).
      Sollte jemand weitere verbesserungsvorschläge haben kann er sich ja gerne melden!
      lg
      Danke! einige Tooltips sind nun integriert und außerdem eine Funktion, die es ermöglicht den Quellcode von Properties (z.b. von alten projekten) einzulesen. Dies erspart denke ich mal sehr viel Tipparbeit wen man sich entscheidet die ein oder andere Property umzubennen etc
      lg
      hm... version 1.2.xxxx:
      ************** Ausnahmetext **************
      System.UnauthorizedAccessException: Der Zugriff auf den Registrierungsschlüssel "HKEY_CLASSES_ROOT\.pty" wurde verweigert.
      bei Microsoft.Win32.RegistryKey.Win32Error(Int32 errorCode, String str)
      bei Microsoft.Win32.RegistryKey.CreateSubKey(String subkey, RegistryKeyPermissionCheck permissionCheck, RegistrySecurity registrySecurity)
      bei VB.NET_PropertyGenerator_Pro.Main.AutoLoadFile()
      bei VB.NET_PropertyGenerator_Pro.Main.Main_Shown(Object sender, EventArgs e)
      bei System.Windows.Forms.Form.OnShown(EventArgs e)
      bei System.Windows.Forms.Control.InvokeMarshaledCallbackHelper(Object obj)
      bei System.Threading.ExecutionContext.runTryCode(Object userData)
      bei System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(TryCode code, CleanupCode backoutCode, Object userData)
      bei System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
      bei System.Windows.Forms.Control.InvokeMarshaledCallback(ThreadMethodEntry tme)
      bei System.Windows.Forms.Control.InvokeMarshaledCallbacks()

      viel Spass! Ich hab eine Security Suite die sowas blockiert ... und ohne den Benutzer zu fragen ob er eine Dateizuordnung haben will ist schon dreist
      Hmm.. Was mich angeht, kann ich so eine Property im Code Designer schneller schreiben (so in unter 10 sekunden?) als in dem Programm etwas einzutippen und dann vielleicht noch hinüberzu kopieren^^
      Aber für so einige ist es vielleicht nützlich.. :)
      Vorallem jenach IDE Version:
      VS 2010(2008?):

      VB.NET-Quellcode

      1. Property bla() As Integer

      VS <= 2005:

      VB.NET-Quellcode

      1. Private _bla As Integer
      2. Property bla() As Integer
      3. Get
      4. Return _bla
      5. End Get
      6. Set (value As Integer)
      7. _bla = value
      8. End Set
      9. End Property
      Ich wollte auch mal ne total überflüssige Signatur:
      ---Leer---
      naja, in VS 2010 kommt man ja mit diesem einzeiler aus habe ich mir sagen lassen.
      da ich aber VS2008 nutze muss ich diesen ganzen code-block schreiben.. und das ist dann doch schon recht nervig, da man die private variable ja auch deklarieren muss..
      von dahher greife ich gerne auf das tool zurück.
      es ist ja nicht so, dass man jede property einzeln erstellt und dann einfügt - zu beginn weiß man ja "ich brauche das, das und das". also ein paar schnelle klicks, kurz namen hinschreiben und fertig. der GROßE vorteil ist, dass man es einfach hat im nachhinein einen namen oder typ zu ändern.

      das ganze bringt mich aber auf eine neue idee der codeerzeugung:
      durch eingaben wie
      "Test as Integer = 5 "
      wird die property erzeugt. dann ist man denke ich noch schneller^^ mal sehen ob die version 1.4 ruft xD

      Maximieren des Fensters

      Hi,
      Mir ist aufgefallen, dass man das Fenster mit einem Doppelklick maximieren kann. Leider hängen dann alle Controls oben links in der Ecke.
      Lösungsvorschlag: Anchor der Controls richtig setzen und FormBorderStyle auf Sizeable zurückstellen
      oder MaximizeBox auf False stellen umd das Maximieren endgültig zu verhindern.

      Deine Version 1.4 Idee finde ich gut. Ich würde die Member mit XML- Beschreibung in VS schreiben wollen und dann die Properties generieren lassen. Ähnlich wie diese C# Variante