Die Community zu .NET und Classic VB.
Menü

Upload

 von 

<< zurück | 1 | 2 | 3 | 4 | 5 | 6 | 7 | weiter >>



Load  VBC.Lists.Generic.zip  [26.53 kB] [65 Downloads]

Von OlimilO am 07.09.19 um 09:00   olimilo@gmx.net


VBC.Lists.Generic:
==================
Eine para-generische List-Klasse in VBC.
Folgende Möglichkeiten gibt es in VB6 als Container für Objekte
a) Collection
b) Array zusammen mit Redim und Redim Preserve
c) Klasse die intern entweder ein Array oder eine Collection oder beides verwendet

zu a) Collection
Pro: 1) kann alle Datentypen aufnehmen (bis auf Udts die nicht aus tlb/axdll stammen)
Pro: 2) bringt bereits einige sehr nützliche Funktionen mit: Add, Count, Item, Remove, For Each
Pro: 3) bringt grundlegende Hashing-Funktionalität mit
Contra: 1) der Speicherverbrauch kann sehr hoch sein, da jedes Element als Variant gespeichert wird.
Contra: 2) Daten liegen nicht in einem zusammenhängenden Speicherbereich
Contra: 3) es gibt keinen direkten Zugriff auf die Elemente und keine Möglichkeit per Zeiger auf die Daten zuzugreifen. man muss die Collection-Klasse nehmen wie sie ist.

zu b) Array
Pro: 1) kann alle Datentypen aufnehmen, auch nicht-öffentliche Udts
Pro: 2) für jeden Datentyp wird grundsätzlich nur soviel Speicher verbraucht wie der Datentyp selbst einnimmt
Contra: 1) man braucht für jedes Array wieder eigene Funktionen um mit den Daten irgendwas anzustellen, ständig lungern irgendwo im Code wichtige Funktionen rum die Redim Preserve auf irgendwelche Arrays anwenden

zu c) Klasse
wenn man es geschickt anstellt kann man best of both worlds von Collection und Array nutzen und die Nachteile eliminieren:
Als Datenspeicher ein Array, für eventuelle Hashing-Funktionalität eine Collection.

Warum para-generisch?
Eine Generische Klasse wird zur Designzeit typisiert, der Kompiler erzeugt zur Kompilezeit für jeden verwendeten Typ eine eigene Klasse.
In VBC gibt es das nicht. Wenn es den Datentyp Variant nicht gäbe, müßte man selbst von Hand für jeden verwendeten Datentyp eine Eigene Klasse programmieren. Dadurch wird immer wieder der gleiche Code im Projekt kopiert. Eine etwaige Erweiterung der Klasse muss für jede Listenklasse in der die neuen Funktion zum Einsatz kommen soll nach-kopiert werden.

Aber wir können immerhin den Datentyp des Speicherbereichs zur Laufzeit anlegen.
Bei Initialisierung der List braucht man nur eine Variable vom Typ VBVartype übergeben, und in der Klasse kann zur Laufzeit der Datentyp des Arrays bestimmt werden. Als Datenzeiger (bzw als Array-Variable) kommt ein Variant zum Einsatz.
Kategorie: Algorithmen, Klassen, Programme
Bewertung (Schulnote): 6.00 bei 1 abgegebener Stimme

Load  Texture mapping playground.zip  [173.87 kB] [82 Downloads]

Von BAGZZlash am 01.09.19 um 09:53   BAGZZlash@gmx.de


Texture mapping mittels baryzentrischer Koordinaten, bilineares filtering inklusive.
Kategorie: Algorithmen, Grafik
Bewertung (Schulnote): 3.50 bei 2 abgegebenen Stimmen

Load  Wu-Antialiasing.zip  [2.88 kB] [88 Downloads]

Von BAGZZlash am 26.08.19 um 16:57   BAGZZlash@gmx.de


Wu-Algorithmus für geglättete Linien
Kategorie: Algorithmen, Grafik
Bewertung (Schulnote): 3.50 bei 2 abgegebenen Stimmen

Load  V3INT.zip  [74.50 kB] [82 Downloads]

Von Wieland am 23.08.19 um 22:29   reneschulz@gmx.net


Erzeugen und Betrachten von 3D-Modellen, nur aus Linien
Parallel- und Zentralperspektive umschaltbar
Kategorie: Grafik
Bewertung (Schulnote): 3.50 bei 2 abgegebenen Stimmen

Load  SIM4.zip  [109.79 kB] [82 Downloads]

Von Wieland am 23.08.19 um 20:27   reneschulz@gmx.net


2-Massen-Federpendel, nichtlinear, numerische Integration
Kategorie: Algorithmen
Bewertung (Schulnote): 3.50 bei 2 abgegebenen Stimmen

<< zurück | 1 | 2 | 3 | 4 | 5 | 6 | 7 | weiter >>



Anzeigeoptionen  

Filter
Kategorie:
Autor:
Nach Bewertung sortieren
Nach Datum sortieren

Upload von Dateien
Den Katalog durchsuchen

Meine Uploads  

Hier können Sie ihre bisherigen Uploads administrieren, dazu gehört z.B. das Hochladen einer neueren Version.

Name 
Passwort