![]() |
VISUAL BASIC 5 CRASHKURS IX |
Sie haben Visual Basic 5.0 auf Ihrem Rechner installiert?
Dann wäre es vorteilhaft, die bisherigen Teile, Kursprojekt 1, Kursprojekt 2, Kursprojekt 3, Kursprojekt 4, Kursprojekt 5, Kursprojekt 6, Kursprojekt 7 und Kursprojekt 8 installiert und abgearbeitet zu haben... zumindest aber sollten Sie das SLH DMX Steuerelement auf Ihrem Rechner installiert haben.
Prima. Dann können wir loslegen:
Gehen Sie auf DATEI und dann auf Projekt laden und laden Sie aus dem Verzeichnis C:\VB\SLH das Projekt DESK6P.
Sie erhalten dann den oben dargestellten Arbeitsbildschirm und im Projektfenster werden drei Dateien eingetragen, nämlich
Bei allen bisherigen Projekten war eine feste Zuordnung vorgegeben: Regler 1 bedient Ausgang 1, Regler 2 bedient Ausgang 2 etc... Das kennt man von analogen Lichtstellpulten; hier bestimmt die Verdrahtung die Zuordnung. Da wir nur Programm schreiben, können wir frei rangieren: eine einzige Tabelle genügt, eine passende "Umleitung" für unser Pult zu schreiben.
Fügen Sie deher zu der bestehenden Form für jeden Kanal ein zusätzliches Textfeld hinzu, das zur Ausgabe der Patchzuordnung verwendet wird. Da das Patching für jeden Regler unabhängig getroffen werden kann, benötiogen wir soviel Anzeigen wie Regler vorhanden sind - hier 6 Stück. Um sie funktional abzusetzen, wird eine andere Schriftfarbe gewählt - wir haben dafür rot benutzt.
Patchdeklaration im Modul
Dabei muß die Variable Patcheintrag(n) Werte zwischen 1 und 100 halten könne, weil im vorliegenden Beispiel maximal 100 DMX-Kanäle gesendet werden (andere Einstellungen wären in der Routine DMXINIT_Click vorzunehmen). Die Variable könnte also als Typ BYTE oder als INTEGER deklariert werden.
Patcheinträge: Kanal 001 - Kanal 100 möglich
Zur Werteeingabe wird für das Anzeigeelement PATCH das Ereignis KEYDOWN belegt. Hier werden als Beispiel nur zwei Tasten abgefragt, und zwar die Tasten 38 und 40 (Cursor up/down). Mit diesen beiden Tasten kann man die Werteliste schnell durchscrollen. Die der Abfrahe jeweiuls nachfolgenden Vergleichsschleifen prüfen, ob der gerade ausgewählte Ausgabekanal schon von einem anderen Fader belegt ist: wenn ja, wird eins weitergezählt und diese Einstellung übersprungen.
Patcheingabe
Ausgabe mit Patching
Da die Patcheinträge von 1...100 laufen, der Ausgabeindex aber von 0...99 laufen muß, kommt die "Patcheintrag(i)-1" zustande.
Schon fertig!
Erweiterte Initialisierungsmeldung
Projekt-Sourcecode als EXE (69 kB) downloaden
Projekt-Sourcecode als ZIP (46 kB) downloaden