Visual Basic - Technik, FAQ, Tricks, Beispiele

Home / Service / FAQ

FAQ - Häufig gestellte Fragen (und ihre Antworten)

Einleitung

Motivation

Im Laufe seiner Karriere stößt jeder VB-Entwickler (und nicht nur Anfänger) auf Probleme, die bereits so ziemlich alle anderen vor ihm auch schon hatten. Die Newsgroups sind voll von solchen immer wieder gestellten Fragen: Wohl 50-80% aller Diskussionen drehen sich um die immer gleichen Themen.

Um es beiden Parteien (den Fragern und den Antwortern) etwas leichter zu machen, habe ich hier eine Liste der häufig gestellten Fragen (und Antworten) aufgestellt.

Tipp: Mit [Strg]-F kann bei den meisten Browsern die Suche aufgerufen werden.

Keine Antwort gefunden?

In meiner VB-Links-Liste gibt es weitere empfehlenswerte Such-Tipps im Internet. Die erste Anlaufstelle bei Fragen sollte eine konventionelle Suchmaschine sein...

Neue Fragen und Antworten:

DatumFrageAntwort
13.02.2005 Wie können PDF-Dokumente in purem VB erstellt werden? (Acrobat) Code
11.06.2004 Wie kann ein gegebener Text Zeile für Zeile (Ressourcen-schonend) verarbeitet werden? Warum versagt manchmal Line Input? (NewLine) InStr
18.02.2004 Wie kann ein Array schnell sortiert werden? Wie funktionieren QuickSort und MinSort? Algos

FAQ-Liste

Allgemeine Visual Basic Informationen

PfadFrageAntwort
Bits / Bin Wie kann eine Hexadezimalzahl nach Dezimal umgewandelt werden? CLng
Bits / Long Wie wird ein Long am schnellsten in seine 4 Bytes aufgesplittet (und umgekehrt)? And, Or, Shift
Bits / Word Wie kann auf die einzelnen Bytes eines Words zugegriffen werden? Wie kann eine "Funktion" auf der linken Seite des Gleichheitszeichens für Zuweisungen genutzt werden? (Mid$, 8Bit, 16Bit) And, Or
Bugs / Lizenz Wieso spricht VB von Lizenzproblemen? (Lizenzierungsinformationen, Komponente, Zugriff verweigert) vb5cli, vb6cli
Bugs / PopUpMenu Warum funktioniert das PopUpMenu nicht? Bug
Bugs / Alignment Was ist mit dem TextBox-Alignment los? Gibt es überhaupt einen Weg zur Ausrichtung? Bug
Entwicklung / ByVal Warum verändert die Prozedur einfach den Parameter-Wert? Wie können Parameter am schnellsten an eine Prozedur übergeben werden? ByVal, ByRef
Entwicklung / AutoUpdate Wie kann ein Programm-Update automatisch eingespielt werden? (Überschreiben) FileCopy, Shell
Entwicklung / DebugModus Läuft das Programm gerade in der Entwicklungsumgebung? (IDE, kompiliert, EXE) Assert
Entwicklung / Dim Sind alle Variablen deklariert? Warum hat die Variable trotzdem den falschen Datentyp? Dim
Entwicklung / IDE-Tasten Wie können Code-Blöcke schnell eingerückt werden? Wo ist der Programm-Code zur Prozedur? Wo gibt es schnelle und kostenlose VB-Informationen? Tastendruck
Entwicklung / Parameter Wie werden die übergebenen Parameter abgefragt? Command
Entwicklung / Reg. Wie werden Komponenten manuell registriert? regsvr32
Entwicklung / VB 5/6/7 Was sind die Unterschiede der diversen VB-Versionen? ADO, OOP
Mathe / Eval Wie kann ein arithmetischer Ausdruck berechnet werden? Eval, SQL
Mathe / Gerade Ist eine Ganzzahl gerade oder ungerade? (Odd, Even) And
Mathe / NZ Wie werden Null-Felder optimal verarbeitet? Gibt es in VB eine NZ-Funktion wie in Access? (Empty, neutrales Element) IsNull
Mathe / Prozent Wie funktioniert die Prozentrechnung? Division
Mathe / Rnd Wie werden Zufallszahlen erzeugt? Warum wiederholen sich die Zufallszahlen? Wie werden zufällige Strings generiert? Rnd
Mathe / Runden Wie wird eine "richtige" Rundung durchgeführt? Int
Sicherheit / BLZ Wie wird ein disconnected Recordset erzeugt? Wie kann die BLZ zu einer Bank bestimmt werden (und umgekehrt)? (Bankleitzahl, ADO) Internet
Sicherheit / CRC Wie wird eine Prüfsumme berechnet? Was ist CRC32? And, Shift
Sicherheit / Encode Wie kann ein Text verschlüsselt und wieder entschlüsselt werden? Wie kann schnell auf den Speicher zugegriffen werden? Was ist Mapping? (mappen, Xor, symetrisch) API
Sicherheit / Pers.ausw. Ist eine Personalausweis-Nummer korrekt und konsistent? Wie werden Prüfziffern berechnet? Code
Sicherheit / Rot13 Wie kann ein Text unleserlich gemacht werden? Was ist Rot13-Kodierung? Wie kann ein Text via Drag'n'Drop in eine TextBox eingefügt werden? Code
Zeit / Monatslänge Ist ein bestimmtes Jahr ein Schaltjahr? DateSerial
Zeit / Schaltjahr Ist ein bestimmtes Jahr ein Schaltjahr? Mod
Zeit / Timer Wie kann eine genaue Zeitmessung erreicht werden? API
Zeit / TimeStamp Gibt es eigentlich eine Pause-Routine? (Warten) Now, Timer

Active Server Pages

PfadFrageAntwort
Service / ASP mit VB Wie kann VB sinnvoll mit ASP kombiniert werden? Wie werden ActiveX-Komponenten für IIS erstellt? Workshop
Service / Datenbank Was ist ADO? Wie lautet der ConnectString einer Access-Datenbank? Wie bestimmt man den AutoWert eines gerade angelegten Datensatzes? (ID, Key, Primärschlüssel, Zähler) ADO
Service / VBScript Was sind die Unterschiede zwischen "richtigem" VB und der Skript-Sprache? Infos
Tipps / Bilder Wie können Bilder aus einer Datenbank angezeigt werden? (GIF, JPG, JPEG, Grafik, dynamisch, Tabelle) BinaryWrite
Tipps / eMail Wie kann eine eMail versendet werden? Wie werden Anhänge verschickt? (elektronische Post) CDO
Tipps / GetVars Wie können Formular-Eingaben über mehrere Seiten hinweg übertragen werden? Request, Hidden
Tipps / Frames Wie können gleichzeitig mehrere Frames aktualisiert werden? (Navigation, Menü, Inhalt, Frameset) Dynam. URL
Tipps / Referer Von welcher Ursprungs-URL kommt der Surfer? ServerVariables

Datenverarbeitung und ODBC

PfadFrageAntwort
Array / BigArray Wie können wirklich große Arrays angelegt werden? Wie kann ein Konstruktor realisiert werden? Collection
Array / FAQ Ist ein Array initialisiert? Wieviele Elemente enthält es? Wie wird es einer Prozedur übergeben? Wie kann eine Funktion ein Array zurückgeben? ...
Array / Ins/Del Wie wird ein Array-Element schnell eingefügt bzw. gelöscht? API
Array / Sort Wie kann ein Array schnell sortiert werden? Wie funktionieren QuickSort und MinSort? Algos
Dateien / Einlesen Wie wird eine Datei vollständig eingelesen? Open, Get
Dateien / Ini Wie können Ini-Dateien gelesen und beschrieben werden? (Konfiguration) API
Dateien / IsOpen Wie kann geprüft werden, ob eine Datei bereits geöffnet ist? (Sperre, Lock) Open
Dateien / Speichern Wie wird ein Text volltändig in eine Datei geschrieben? Open, Print
Dateien / Vergleichen Wie werden zwei Dateien inhaltlich verglichen? FileLen, =
Datenbank / Compact Wie wird eine Access-Datenbank automatisch komprimiert? (JetEngine) CompactDatabase
Datenbank / Passwort Wie wird eine Passwort-geschützte Access-Datenbank geöffnet? DAO, OLEDB
Strings / " Wie werden Anführungszeichen in Zeichenketten dargestellt? Verdoppeln
Strings / $ Warum gibt es Funktionen mit angehängtem Dollar-Zeichen? Was ist besser, Left$ oder Left? String
Strings / HexDump Wie kann eine Datei hexadezimal dargestellt werden? (HexDump) Hex, Mid
Strings / InStrRev Wie wird ein String von hinten durchsucht? InStr, API
Strings / IsNullString Wie kann festgestellt werden, ob eine InputBox abgebrochen oder ein optionaler String-Parameter weggelassen wurde? StrPtr
Strings / Newline Wie kann ein gegebener Text Zeile für Zeile (Ressourcen-schonend) verarbeitet werden? Warum versagt manchmal Line Input? (NewLine) InStr
Strings / Replace Wie kann eine schnelle Text-Ersetzung erreicht werden? InStr, Mid
Strings / Swap Wie werden zwei String-Variablen schnell vertauscht? StrPtr, API

Steuerelemente und Objekte

PfadFrageAntwort
Controls / Array Was ist ein ControlArray? Wie können Steuerelemente dynamisch erzeugt werden? Was ist der nächste freie Index? Code
Controls / ComboFind Wie wird eine intelligente Suche für ComboBoxen realisiert? API
Controls / Fokus Welches Control ist das nächste in der Tab-Reihenfolge? Wie wird der Fokus darauf gesetzt? TabIndex
Form / Größe Wie kann die Größe eines Formulars beschränkt werden? Wie wird dabei das Flackern vermieden? (MINMAXINFO, Resize) API
Form / Position Wie kann ein Formular ganz nach vorne gebracht werden? (oben) API
ListBox / Tabulatoren Wie werden die Spaltenbreiten bei einer ListBox definiert? API
Office / eMail Wie wird eine eMail mit Outlook versandt? Automation
Office / Report Wie wird ein Access-Bericht angezeigt oder gedruckt? Automation
Office / Spelling Wie kann eine Rechtschreibprüfung realisiert werden? Wie kann die wiederholte ActiveX-Automation schneller gemacht werden? (Word, CheckSpelling) Automation
Office / Word2HTML Wie wird ein Word-Dokument als HTML gespeichert? Automation
OOP / Collections Was ist eine Collection? Wie wird sie schnell gelöscht? Wie durchsucht man schnell eine Collection? Wie kann man feststellen, ob eine Collection einen bestimmten Key enthält? Kann der Key nachträglich geändert werden? (Set Nothing, IsInCollection, CollectionChangeKey) Collection
Sonstiges / Bitmap Welche Abmessungen hat eine bestimmte Bitmap-Datei? (Größe, Breite, Höhe) Scale
TextBox / Enter Wie wird die Enter-Taste in der TextBox ohne Warnton abgefragt? (Return, Beep) KeyPress
TextBox / MultiLine Wieviele Zeilen enthält eine TextBox? Kann die TextBox zeilenweise ausgelesen werden? API
TextBox / Select Warum verhält sich der TextBox-Doppelklick bei diversen Betriebssystemen unterschiedlich? Code

System-nahe Programmierung

PfadFrageAntwort
Datei / DOS-Pfad Wie wird ein langer Pfadname in seine DOS-Darstellung konvertiert? API
Datei / Exists Existiert überhaupt eine bestimmte Datei oder ein bestimmtes Verzeichnis? GetAttr
Datei / FindFile Wo genau liegt eine bestimmte Datei auf dem Laufwerk? Welche Laufwerke gibt es überhaupt? API
Datei / FindFiles Wie kann ein kompletter Dateibaum durchlaufen werden? Wie wird ein Such-Pattern berücksichtigt? Wie wird aus einem DOS-Dateinamen ein langer Dateiname? API
Datei / Typ Ist ein bestimmtes Laufwerk vom Typ CDROM, Netz, oder was? API
Datei / Subdir Wie wird schnell geprüft, ob ein Ordner Unterverzeichnisse enthält? API
Datei / SplitPath Wie kann ein Dateipfad in seine Bestandteile gesplittet werden? (Laufwerk, Verzeichnis, Suffix) Code
Datei / Temp Wie kann das Temp-Verzeichnis bestimmt werden? Wie können Umgebungsvariablen abgefragt werden? Environ
Internet / FTP Wie können Dateien via FTP übertragen werden? (upload, hochladen) Shell, FTP
Internet / HttpPost Wie kann ein Internet-Formular ausgefüllt werden? (HTTP, Post) API
Internet / Link Wie kann auf ein Formular ein Internet-Link platziert werden? Label
Internet / OpenURL Wie können Dateien aus dem Internet geladen werden? (download, runterladen) API
Internet / Zitat Wie kann ein automatischer Zeilenumbruch programmiert werden? String
Maus u. Kbd. / Click Wie wird ein Mausklick generiert? API
Maus u. Kbd. / Key Wie kann der aktuelle Status der Tastatur abgefragt werden? (KeyPressed, Inkey) API
Maus u. Kbd. / Over Wie kann festgestellt werden, ob der Mauszeiger ein Control verläßt? API
Maus u. Kbd. / Position Wie wird der Mauszeiger bewegt bzw. seine Position abgefragt? API
Maus u. Kbd. / Wheel Wie kann das Mausrad in VB-Programmen genutzt werden? (Mousewheel) SubClassing
Multimedia / Beep Wie kann ein Ton mit einer bestimmten Frequenz erzeugt werden? API
Multimedia / MDI Wie kann der Hintergrund eines MDI-Formulars grafisch genutzt werden? Wie wird ein Farbverlauf erzeugt? PictureBox
Multimedia / Paint Wie kann eine Fläche gefüllt werden? (Polygon, Fill) API
Multimedia / PlaySound Wie wird eine Wave-Datei abgespielt? API
Multimedia / RGB Wie können die RGB-Anteile einer Farbe bestimmt werden? Wie wird die Komplementärfarbe bestimmt? Wie wird die Helligkeit zweier Farben verglichen? And
Shell / ErrorLevel Wie kann ein VB-Programm mit einem DOS-Fehler beendet werden? (ExitCode) API
Shell / Exec Wie wird eine Datei mit dem dazugehörigen Programm geöffnet? Wie wird eine Datei mit dem richtigen Programm gedruckt? Wie kann der Browser mit einer bestimmten Internet-Adresse gestartet werden? Wie wird das eMail-Programm mit einer bestimmten eMail-Adresse geöffnet? API
Shell / Std.In/Out Kann mit VB ein DOS-Filter geschrieben werden? Wie wird die Standard-Eingabe gelesen? Wie kann auf die Standard-Ausgabe geschrieben werden? API
Shell / Sync Wie wird ein anderes Programm gestartet und auf die Beendigung desselben gewartet? Wie wird ein DOS-Befehl ausgeführt? Wie kann der ExitCode einer Anwendung bestimmt werden? Wie müssen VB-Enumerationen in VBA deklariert werden? (Synchronisierung, ErrorCode, Rückgabewert) API, Long
Windows / Activate Wie wird der zweite Start einer Anwendung verhindert? Wie wird die erste Instanz aktiviert? Wie wird das Programm-Handle einer laufenden Anwendung bestimmt? API
Windows / Login Wer ist gerade an welchem Rechner angemeldet? (Kennung, User, PC) API
Windows / Memory Wie kann der freie Speicher bestimmt werden? Wie ist die Speichernutzung in Prozent? (Stress, Bytes, Memory, Auslastung) API
Windows / Password Wie wird ein Password überprüft? Welches Betriebssystem liegt vor? (Passwort, Kennwort, User, Domäne, WinNT, Win2000, Win98, Win9x) API

Service / Workshops

PfadFrageAntwort
Links Gibt es noch andere empfehlenswerte VB-Ressourcen? Internet
PDF Wie können PDF-Dokumente in purem VB erstellt werden? (Acrobat) Code
RLE / Markierung Wie wird eine Binärdatei schnell in ein Byte-Array geladen? Open, Get
SubClassing Was ist eigentlich SubClassing? Wie kann das Kontextmenü einer TextBox unterdrückt werden? Kann festgestellt werden, ob ein Formular verschoben worden ist? API

© Jost Schwider, 09.12.2000-13.02.2005 - http://vb-tec.de/faq.htm