Visual Basic World - Programmierung und BeispieleVisual Basic World - Tipps und TutorialsVisual Basic World - Source-Code und Forum

<leer>

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 API’s 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.


<leer> Aktuelle Seite Back To Top
Druckansicht | Feedback | Favoriten
Copyright © Visual Basic World, 2000-2022 | Kontakt | Impressum

Visual Basic World @ Twitter

Folgen Sie Visual Basic World!

Visual Basic World @ Twitter
Wenn Ihnen Visual Basic World gefällt, dann folgen Sie uns doch bei Twitter (@visualbasicwrld).
Vielen Dank!