|
Tipps & Tricks
Allgemeines
Tipp 001: Eine Laufschrift
ohne Timer realisieren
Sie möchten in Ihrem Programm auffallende Akzente setzen und zum Beispiel
auf Ihr Programm aufmerksam machen, wenn es sich in der Taskleiste befindet,
dann ist dieses Beispiel das richtige, es bietet Ihnen die Möglichkeit
eine Laufschrift leicht und einfach einzubinden.
Tipp 004: Rollover
Buttons mit einem einfachen Array realisieren
Um ein Programm mit grafischen Effekten aufzupeppen, kann es nützlich
sein, einige Buttons mit einer Rollover Funktion zu versehen, dies kann
jedoch sehr umständlich werden, hier ist eine einfache Möglichkeit
mit Hilfe eines Control Arrays.
Tipp 026: Euroumrechner
mit verschiedenen Währungen
In etlichen Visual Basic Kursen ist ein Eurorechner eine beliebte Übungsanwendung,
sollten auch Sie in die Lage kommen einen Eurorechner programmieren zu müssen,
so finden Sie hier ein kleines Beispiel wie ein derartiges Programm in einer
sehr einfachen Ausführung aussehen könnte.
Tipp 035: Die SetParent API-Funktion
und ihre Verwendung
Wie Sie mit der SetParent Funktion zum Beispiel eine eigene MDI-Umgebung
umsetzen könnten demonstriert dieses Beispiel, bei dem eine Form in
eine fremde TextBox eingesperrt wird. Damit die Form dort nicht
für immer verweilen muss können Sie sie natürlich auch wieder
freilassen, ebenfalls mit SetParent.
Dateien: Speichern, Laden, Verschieben
Tipp 002: Eine Textdatei
Laden und Speichern
Um Daten auch nach dem Beenden des Programmes nicht zu verlieren empfiehlt
es sich diese Daten extern abzuspeichern. Hierzu kann eine gewöhnliche
Textdatei verwendet werden. Dieses Beipiel zeigt, wie Sie Informationen
in eine Textdatei speichern und wieder laden können.
Tipp 014: In eine
ini-Datei schreiben und die Werte wieder laden
Dieses Sample demonstriert Ihnen auf einfache Art und Weise wie Sie in
eine ini-Datei Daten speichern können und die so gespeicherten Daten
dann auch wieder per API abrufen können.
Tipp 024: Jede beliebige
Datei öffnen oder ausführen
Mit diesem Beispiel erfahren Sie, wie Sie eine vollkommen beliebige Datei
mit der damit verknüpften Standart Anwendung öffnen können,
oder falls es sich um eine ausführbare Datei handelt, diese auch starten
können. Dabei haben Sie die Wahl, ob Sie die zu startende Datei maximiert
oder minimiert anzeigen wollen.
Tipp 049: Dateioperationen mit Visual Basic Bordmitteln
Auch ohne Griff in die API-Trickkiste sind mit Visual Basic umfangreiche
Dateioperationen möglich. So können Dateien zum Beispiel umbenannt,
gelöscht oder verschoben werden. Auch das Ändern der Attribute
ist möglich. Wie das im Einzelnen funktioniert, zeigt dieses Beispiel.
Stringfunktionen: Zeichen, Umwandlung, Kodierung
Tipp 054: Umwandlung Binär- bzw Dualsystem zu Dezimal und vice versa
Die Umwandlung einzelner Werte zwischen verschiedenen Zahlensystem gehört zum wichtigen Rüstzeug eines jeden Programmierers. Dieser Tipp zeigt das richtige Umgehen mit Binär- und Dezimalzahlen und wie die Umwandlung von Zahlen des Dualsystems in solche des Dezimalsystems gelingt und umgekehrt.
Tipp 055: Zeichenfolge zu Base64 kodieren und dekodireren bzw. umwandeln
Die Umwandlung einer Zeichenfolge in die Base64-Kodierung und zurück veranschaulicht dieses Beispiel.
Tipp 056: Umwandlung Hexadezimal zu Dezimal und umgekehrt
Dieses Code-Beispiel, mit ausführlichen Vorbemerkungen und Erklärungen, zeigt die Umrechnung von Zahlen des Dezimalsystems in jene das Hexadezimalsystems und umgekehrt. Dabei werden sowohl die Visual Basic eigenen Funktionen vorgestellt als auch die individuellen Implementierungen gezeigt und vergleichen.
Anwendungen: Starten, Beenden, Auflisten
Tipp 040: Eine Anwendung für einen bestimmten Zeitraum ausführen
Mitunter ist es nötig eine beliebige Anwendung nur für einen
bestimmten Zeitraum auszuführen und Sie danach wieder zu beenden. Dieses
Beispiel demonstriert einen möglichen Lösungsweg und garantiert
gleichzeitig das die eigene Anwendung im entsprechenden Zeitraum vollkommen
reaktionsfähig bleibt.
Tipp 020: Doppelstart
der eigenen Anwendung verhindern
Häufig ist es bei einigen Programmen nicht nötig, dass sie mehrmals
simultan gestartet werden können. Dann ist es durchaus sinnvoll zu
verhindern, dass dies überhaupt geschehen kann, hier erfahren Sie wie
das geht.
Tipp 018: Doppelstart
einer fremden Anwendung verhindern
Diese Sample zeigt Ihnen wie Sie verhindern können, dass Sie eine
fremde Anwendung versehentlich mehrmals starten. Denn schließlich
steht man des öfteren vor dem Problem eine Anwendung mehrmals starten
zu müssen weiß jedoch nicht ob diese noch aktiv ist, mit diesem
Beispiel schaffen Sie Abhilfe.
Multimedia: Sound, Grafik, Animation
Tipp 003: Ein Wav
Datei abspielen, endlos, pausieren, stoppen [Musik: Markus
Pitzer]
Möchten Sie ihr Programm mit Multimedia Elementen aufwerten, wissen
aber nicht wie Sie ein WAV File abspielen können, kein Problem, hier
finden Sie das passende Beispiel. Es zeigt wie sich mit Hilfe einer API
leicht jedes beliebige WAV File abspielen lässt. Dabei können
Sie es entweder endlos abspielen oder nur ein einziges mal stoppen und pausieren
geht natürlich auch.
Tipp 007: Verschiedene
Farbmodelle mit VB Hausmitteln
Visual Basic Stellt Ihnen etliche Möglichkeiten zur Verfügung
um eine beliebige Farbe auszuwählen, zwei dieser Möglichkeiten
werden in diesem Beispiel gezeigt. Zum einen sehen Sie die Funktionsweise
der QBColor- und der RGB-Funktion. Zum anderen können Sie per ScrollBar
auch direkt eine Farbe wählen.
Tipp 038: Verschiedene Farbmodelle verwenden und umwandeln
Neben dem üblichen RGB-Farbmodell [Rot, Grün, Blau] existieren zahlreiche weitere Farbräume. Die meisten dieser Modelle lassen sich in Visual Basic jedoch nicht über Standard-Funktionen ansprechen. Dieses umfangreiche Beispiel, von Autor Benjamin Wilger, zeigt daher wie sich verschiedene Farbschemata [RGB, HSV, HSB, LAB, YUV, CMY, CMYK] in Visual Basic umsetzen und verwenden lassen. Dabei können die verschiedenen Farbräume auch untereinander konvertiert und übertragen werden.
Tipp 023: Eine Midi
Datei abspielen, endlos, pausieren, stoppen
Wenn es um Platzersparnis und eine stimmungsvolle Hintergrund- untermalung
geht sind auch heute noch Midi-Dateien von großem Wert. Hier finden
Sie ein entsprechendes Beispiel wie Sie das Abspielen einer solchen Datei
leicht bewerkstelligen können natürlich ist auch hier ein Aufruf
enthalten, der die Datei endlos abspielt, sie pausiert und stoppt. Alles
ohne OCX nur per API.
Tipp 025: Eine MP3
Datei abspielen, endlos, pausieren, stoppen [Musik: Markus
Pitzer]
Sollten Sie schon immer einmal den Wunsch verspürt haben einen eigenen
Mp3 Player zu programmieren, so finden Sie in diesem Beispiel alles was
Sie dazu brauchen. Das Beispiel zeigt wie Sie ein Mp3 File abspielen können,
entweder endlos, oder auch einzeln, es zeigt wie Sie das File pausieren
und zu guter Letzt natürlich auch wie Sie das File wieder stoppen.
Das Beispiel basiert nur auf APIs und kommt vollkommen ohne das MCI
Steuerelement oder ähnliche aus.
Tipp 027: Hotspot
Gebiete in einer Grafik definieren
Zum Beispiel in Spielen oder anderen Multimedia Anwendungen kann es nötig
sein innerhalb eines Bildes, sprich einer PictureBox, flexibel Hotspots
zu definieren. Wie dies ohne großen Aufwand und mit einer praktisch
unbeschränkten Anzahl an Hotspots geht veranschaulicht Ihnen dieses
Beispiel.
Tipp 034: Eine Bildschirmlupe mit
StretchBlt realisieren
Wie Sie mit Visual Basic eine ebenso praktische wie auch komfortable Bildschirmlupe
selber schreiben können, erfahren Sie in diesem anschaulich Beispiel.
Die Intervalle, in denen das Bild aktualisiert wird, können Sie dabei
ebenso selber bestimmen, wie die Zoomstufen, mit der der Bildschirm vergrößert
wird.
Tipp 041: Grafiken schnell und flimmerfrei zeichnen mit BitBlt
Wenn Sie eine oder mehrerer Grafiken schnell und flimmerfrei zeichnen wollen,
so stoßen Sie mit Visual Basic Bordmitteln schnell an die Grenzen
der Machbarkeit. Dieses Beispiel schafft Abhilfe, denn mit der API-Funktion
BitBlt können Sie schnelle flimmerfreie und sogar transparente Animationen
realisieren.
System: Auflösung, Windows, Hardware
Tipp 005: Die Standard-Auflösung
umstellen bzw. ändern
Gerade für selbst programmierte Spiele oder Multimedia-Anwendungen
kann es erforderlich sein die Bildschirm-Auflösung der Grafikkarte
zu ändern. Dieser Tipp zeigt wie sich die Änderung der Auflösung
bewerkstelligen lässt.
Tipp 009: Den Beep-Ton
systemweit unterbinden
Sie haben ein Programm programmiert, in dem zum Beispiel eine Textbox ist
deren MultiLine Eigenschaft auf False ist und trotzdem soll der User in
dieser Textbox eine Eingabe mit der Enter Taste betätigen können
ohne, das ein Beepen auftritt, hier ist die Lösung!
Tipp 015: Windows
beenden, Neustarten, aktuellen User abmelden
Dieses Beispiel bringt Ihnen eine der wichtigsten Windows Funktionen näher.
Den es erläutert wie Sie Windows herunterfahren, oder auch Neustarten
können. Doch das ist noch nicht alles denn Sie können damit auch
den aktuellen Benutzer abmelden.
Tipp 017: Screenshot
des gesamten Bildschirms oder eines Fensters anfertigen
Tipp Nmmer 17 zeigt Ihnen wie sie einen Screenshot erstellen können
und dazu nur eine API-Funktion bemühen müssen. Zusätzlich
können Sie wählen ob sie einen Screenshot des gesamten Bildschirms
anfertigen möchten oder nur einen Screenshot der aktiven Form.
Tipp 028: Dateien
und Verzeichnisse mit Dir-Funktion auflisten
Wenn Sie den Namen eines Ordners kennen und wollen alle Dateien oder Unterordner
auflisten, die sich in ihm befinden, so ist dies mit der Dir-Funktion kein
Problem. Auch eine Einschränkung der Dateien, die angezeigt werden
sollen, ist möglich.
Tipp 033: Die Windows-Registry
verwenden
Dieses Beispiel bietet fast alles, was man im Bereich Registry wissen und
können sollte. Angefangen vom Erstellen einzelner Schlüssel, über
das Anlegen von Werten bis hin zu einer kompletten Auflistung aller in einem
Schlüssel befindlichen Unter-Schlüssel ist alles enthalten.Ebenso
wird gezeigt wie Sie einen Schlüssel wieder entfernen können.
Die dazu benötigten API- und Sub-Funktioen sind übersichtlich
in einem eigenen Modul gekapselt.
Tipp 044: Das Windows- und das Systemverzeichnis auslesen
Wie Sie mit Hilfe zweier API-Funbktionen, sowohl das Windowsverzeichnis
als auch das Systemverzeichnis schnell und komfortabel ermitteln können,
demonstriert dieses Beispiel.
Tipp 048: Systemordner und Systemdialoge aufrufen per Shell und RunDLL32
Mit Hilfe der Shell-Funktion und der rundll32.exe können Sie leicht
und ohne großen Aufwand eine Reihe an interessanten Systemdialogen
oder wichtigen Systemordner aufrufen, zum Beispiel den Hardware Assistenten
oder die Systemsteuerung.
Controls: Buttons, Textboxen, TreeView, ListBox
Tipp 006: Ein Tree
List View Element füllen und benutzen
Dieses Beispiel zeigt Ihnen wie Sie einfach und schnell große Mengen
an Auswahloptionen oder Daten auf kleinem Raum verstauen können. Mit
Hilfe eines Tree List View Steuerelementes. Auch die Einbindung von Grafiken
wird anschaulich demonstriert.
Tipp 011: Den Text-Cursor
manipulieren oder ausblenden
An diesem Beispiel wird Ihnen anschaulich demonstriert, wie Sie einfach
und schnell mit Hilfe der API Funktionen CreateCaret und ShowCaret den Cursor
in einer TextBox ausblenden können, oder einfach seine Größe
verändern.
Tipp 012: ListBox
Eintrag auslesen über dem sich die Maus befindet
An Hand dieses Beispiels können Sie einfach nachvollziehen wie Sie
mit Hilfe der SendMessage Funktion den Namen eines Eintrags einer ListBox
anzeigen können über dem sich Ihre Maus befindet. Dazu bekommen
Sie außerdem den Index des entsprechenden Eintrags.
Tipp 013: Beispiel
für den Umgang mit Drag & Drop
Dieses sehr einfache Beispiel demonstriert Ihnen, wie Sie Ihrer Anwendung
mit Hilfe von Drag & Drop den nötigen Schwung verleihen und gleichzeitig
Ihren Anwendern eine Menge Komfort bieten können.
Tipp 039: ListBox auf einen bestimmten Eintrag überprüfen
Dieses Beispiel zeigt Ihnen zwei unterschiedliche Verfahren mit denen Sie
prüfen können, ob ein bestimmter Eintrag in einer ListBox vorhanden
ist. Durch den Geschwindigkeitsunterschied der zwischen den beiden Verfahren
besteht, können Sie Ihr Programm entsprechend optimieren.
Tipp 047: Common Dialog Control ersetzen
So komfortabel die Verwendung eines vorgefertigten Steuerelements auch
seien mag, manchmal geht es genau so gut ohne. Wie Sie zum Beispiel das
Common Dialog Control als reine Source Code Lösung umsetzen können,
zeigt dieses Beispiel.
Online: Internet, Intranet, Netzwerke
Tipp 008: Webseite
aufrufen oder Email versenden Dialog anzeigen
Mit Hilfe dieses Source Codes ist es Ihnen ein leichtes in Ihr Programm
die Möglichkeit zu Integrieren eine Email zu verschicken, oder einen
Webseiten Aufruf einzubinden und das alles mit den Standart Internet Programmen.
Tipp 010: Ein kompletter
TCP/IP Chat per Winsock Steuerelement
Dieses Beispiel demonstriert Ihnen einfach und anschaulich, wie man einen
einfachen TCP/IP Chat mit Hilfe des Winsock Steuerelements programmiert.
Der sowohl im Internet als auch im Netzwerk funktioniert.
Tipp 051: Datei aus dem Internet herunterladen (html, zip, etc.)
Auch in Visual Basic spielt die Internet-Integration eine immer wichtigere
Rolle und so tritt über kurz oder lang zwangsläufig das Problem
auf, das Sie Dateien aus dem Internet herunterladen möchten. Mit diesem
Beispiel ist das problemlos möglich und das nicht nur mit HTML-Dateien,
auch alle anderen Dateitypen sind möglich.
Tipp 052: URL in ihre einzelnen Bestanteile zerlegen
Im Zusammenhang mit der Internet-Programmierung ist es häufig überaus
wichtig eine URL (z.B. www.visualbasicworld.de/pfad/test.html) in ihre Einzelteile zu zerlegen,
dabei spielt natürlich auch die Geschwindigkeit eine Rolle. Dieses
Beispiel vereint beides: Komfortable Zerlegung einer jeden URL via InternetCrackUrl-Funktion und eine
hohe Geschwindigkeit.
Mathematik: Formeln, Algorithmen, Funktionen
Tipp 036: Ein Sinuskurve
und ein regelmäßiges Vieleck zeichnen
Was Sie mir einer Sinusfunktion alles bewerkstelligen können, sehen
Sie in diesem Beispiel. Es zeigt zum einen wie man eine Sinuskurve mit veränderbarer
Frequenz zeichnen kann und zum anderen wie es möglich ist, ein regelmäßiges
Dreieck mit variabler Eckenzahl zu erzeugen.
Tipp 037: Sortier-Algorithmen: BubbleSort, SelectionSort und ShellSort im Vergleich
Bei der Wahl eines Sortieralgorithmus steht in erster Linie natürlich
die Geschwindigkeit im Vordergrund, welcher Algorithmus demzufolge der schnellste
ist, dass zeigt dieses Beispiel. Verglichen werden die verschiedenen Algorithmen
BubbleSort, SelectionSort und ShellSort.
Tipp 053: Streckenlänge und Steigungswinkel ermitteln
Wie die Überschrift bereits erahnen lässt demonstriert dieses
Beispiel auf komfortable Weise, wie Sie unter Angabe zweier Punkte sowohl
die daraus resultierende Streckenlänge als auch den passenden Steigungswinkel
ermitteln können.
Steuerung: Maus, Tastatur, Joystick
Tipp 016: Den Mausbereich
auf ein Gebiet beschränken
Wie Sie wissen kann es überaus praktisch sein dem Benutzer nicht alle
Optionen zugänglich zu machen und genau das können Sie mit diesem
Beispiel leicht realisieren, den es zeigt wie Sie den Bereich in dem Sich
die Maus bewegen kann auf ein ganz bestimmtes Gebiet beschränken.
Tipp 030: Den Mauszeiger
auf eine beliebige Position setzen
Wenn Sie zum Beispiel den Mauszeiger in die Mitte des Bildschirms oder
auf eine bestimmte Schaltfläche setzen wollen müssen Sie sich
dazu einer API bediene. Welche das ist und wie man sie aufruft erfahren
Sie in diesem Beispiel.
Tipp 031: Die gegenwärtige
Position des Mauszeigers ermitteln
Wie Sie die aktuelle Position des Mauszeigers ermitteln können zeigt
Ihnen dieses Beispiel. Im Rahmen des Projekts werden die Positions-Koordinaten
(X-/Y-Achse) des Mauszeigers in Pixeln zurückgegeben. Der Aufwand ist
dabei sehr überschaubar, benötigt wird lediglich die API-Funktion
"GetCursorPos", diese liefert auf Abfrage die gewünschten
Koordinaten zurück. Um die Position ständig abzufragen wird in
diesem Beispiel ein Timer-Steuerelement verwendet.
Tipp 032: Die Farbe unter dem
Cursor ermitteln
Wenn Sie eine beliebige Farbinformation zum Beispiel aus einem Bild oder
einer anderen Anwendung verwenden wollen so müssen Sie diese zuerst
ermitteln. Dies ist mit Visual Basic Bordmitteln leider nicht möglich,
doch unter Zuhilfenahme der Windows-API stellt diese Aufgabe kein größeres
Problem dar. Dieses Beispiel zeigt wie es genau funktioniert.
Tipp 042: Maus automatisch per Source Code klicken lassen
Nicht immer ist es gewünscht, nötig oder auch möglich, dass eine Interaktion mit dem System durch einen Maus-Klick des Benutzers erfolgt. Daher kann es sehr hilfreich sein eine Möglichkeit zur Verfügung zu haben die Maus quasi ferngesteuert per Code-Anweisung klicken zu lassen. Dieser Tipp zeigt wie sich dies mit Hilfe der API-Funktion mouse_event leicht realisieren lässt.
Tipp 043: Maus oder Tastatur komplett deaktivieren
Wenn Sie entweder die Maus oder die Tastatur komplett außer Betrieb
setzen wollen, ist dieses Beispiel die ideale Wahl. Allerdings sollten Sie
dabei unbedingt beachten, dass sowohl Maus als auch Tastatur bis zum nächsten
Neustart des Rechners deaktiviert bleiben.
Zeit: Uhr, Timer, Kalender
Tipp 019: Pause in
der Programmausführung realisieren
Von Zeit zu Zeit kann es sehr praktisch sein ein Programm für eine
bestimmte Dauer zu pausieren. Dieses Beispiel zeigt Ihnen wie sie eine Anwendung
komplett pausieren, wobei sie die Pausierungsdauer auf die tausendstel Sekunde
genau angeben können.
DirectX: Direct Draw, Direct 3D, Direct Play, Direct Input
Tipp 021: Eine Textur
mit Hilfe der Pfeiltasten bewegen [Andrew Gits]
Einen kleinen Einblick in DirectX bietet dieses Beispiel. Es veranschaulicht
wie es mit Visual Basic und DirectX möglich ist eine Textur unter Verwendung
der Pfeiltasten zu bewegen. Dieser Source Code ist in Englisch kommentiert.
Tipp 029: Transparentseffekte
mit rotierenden Bitmaps [Daniel Netz]
Wenn Sie bisher dachten spektakuläre Effekte seien nur mit C++ etc.
möglich, so wird Sie dieses Beispiel eines besseren belehren. Es demonstriert
wie mit Hilfe von DirectX drei Bitmaps halbtransparent übereinander
gelegt werden und danach rotieren, der entstehende Effekt ist beeindruckend.
Wenn Sie Fragen zu diesem Beispiel haben, wenden Sie sich bitte an das Visual
Basic World Forum, da der Autor aus zeitlichen Gründen keine Möglichkeit
hat, Fragen zu beantworten.
Tipp 045: Die Position des Joysticks abfragen
Wenn Sie Ihre DirectX-Programme per Joystick steuern möchten, müssen Sie zuvor natürlich in Erfahrung bringen in welcher Position sich der angeschlossene Joystick gerade befindet bzw. in welche Richtung er zeigt. Wie das genau funktioniert, zeigt dieses Beispiel.
Tipp 046: Angeschlossene Eingebegeräte auflisten
Um andere Eingabegeräte als etwa die Standartgeräte wie Maus
und Tastatur verwenden zu können, müssen die angeschlossenen Geräte
natürlich bekannt sein, sind sie dies nicht, so kann dieses Beispiel
Abhilfe schaffen, denn es liefert eine komplette Liste aller angeschlossenen
Geräte.
MS Office: Word, Exel, Access, Power Point
Tipp 022: Ein selbst
geschriebenes Makro in Word starten
Dieses Beispiel demonstriert, wie Sie ein selbst geschriebenes Makro in
Microsoft Word starten können. Alles was Sie brauchen ist eine Installierte
Word Version und ein entsprechender Verweis, auf die Object Library.
Visual Basic World unterstützen
Visual Basic World ist ständig auf der Suche nach neuen Team-Mitgliedern
und Unterstützern. Idealerweise verfügen Sie über fundierte Programmierkenntnisse
im Bereich VB und/oder HTML/CSS und haben Spaß daran in Ihrer Freizeit
Ihr Wissen zu vermitteln. Schreiben Sie uns und werden Sie ein Teil des visualbasicworld.de-Teams:
Ebenso freuen wir uns stets über die Einsendung von eigenen Tipps und
Code-Beispielen zur Veröffentlichung auf Visual Basic World.
|
Visual Basic World @ Twitter
Folgen Sie Visual Basic World!
Wenn Ihnen Visual Basic World gefällt, dann folgen Sie uns doch bei
Twitter
(@visualbasicwrld).
Vielen Dank!
|