[SOUNDLIGHT] VISUAL BASIC 5 CRASHKURS IX
Projekt 9: Ein 6-Kanal Pult mit Softpatching

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


UMLEITUNG

Das heutige Projekt...  Pult mit Patching

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.

VARIABLEN

Für die Patch-Informationen wird eine Tabelle angelegt, die soviel Einträge enthalten muß, wie Kanäle vorhanden sind, d.h., für jeden Ausgabewert muß ein Patcheintrag vorhanden sein.

Tabellendeklaration im MODUL  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  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  Patcheingabe

AUSGABE

Bleibt nur noch die Ausgabe zu bedienen. Das ist nun wirklich sehr einfach, denn dazu muß als Zieladresse im Karten-RAM nicht mehr die Fadernummer, sondern der Inhalt der Patchtabelle für diesen Fader eingetragen werden, also:

Patchausgabe  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!


ZUGABEN

Da wir dies Projekt nicht einfach damit beenden wollten, haben wir noch eine verbesserte Kartenerkennungs-Routine eingebaut. Diese finden Sie in DMXINIT_Click. Die Initialisierung lädt das Betriebsprogramm und testet anschließend den Kartentyp. Die Ergebnisse werden in einer weiterten Dialogbox ausgegeben, z.B.:

Initialisierung  Erweiterte Initialisierungsmeldung


Projekt-Quellcode laden

Erstellen Sie auf Ihrer Festplatte im Visual Basic 5 Ordner ein Verzeichnis namens C:\VB6\SLH\DESK6P. Laden Sie die Datei PROJ9.ZIP in dies Verzeichnis und entpacken Sie die Archivdatei. Sie erhalten dann unter anderem folgende Dateien:
  1. DESS6P.VBP     Visual Basic 5.0 Projekt
  2. DESK6P.VBW
  3. DESK6P.FRM
  4. DESK6P.FRX
  5. DEMOS.BAS
  6. SLHDMX32.DLL     bitte ins \WINDOWS\SYSTEM Verzeichnis kopieren!
  7. SLHDMX12.BIN
  8. SLHDMX16.BIN

  9. DESK6P.EXE     ausführbares Programm

[OPEN] Projekt-Sourcecode als EXE (69 kB) downloaden
[OPEN] Projekt-Sourcecode als ZIP (46 kB) downloaden





zurück zur [HOME]SOUNDLIGHT HOMEPAGE