FAQ Übersicht

NaWuT

Signatur

Der durch "--" (Strich Strich Leerzeichen Zeilenumbruch) abgetrennte unterste Teil eines Mail-Textes, der klassischerweise Kontaktdaten und/oder dumme Sprüche enthält. Die Nettiquette fordert, ihn sehr kurz zu halten.

Quelle: Linux User 3/2003

Verfasser: Andreas
Letzte Änderung: 2010-04-26 16:45


GRUB

Abk. für Grand Unified Bootlaoder. GRUB ist als Alternative zum Bootmanager LILO einsetzbar. Kann mehr Betriebssysteme booten. Sehr flexibel in der Konfiguration (Verstecken und Switchen von Partitionen möglich). Unterstützt ebenfalls Chain Loading.

PC Magazin, Nr. 12/2000, S. 227

Verfasser: Andreas
Letzte Änderung: 2010-04-26 17:30


General-MIDI

Der von der Firma Roland entwickelte GM-Standard definiert die Aufteilung verschiedener Instrumentenklänge auf 127 MIDI-Programmnummern. Für die Schlagzeugwiedergabe dient der MIDI-Kanal 10, wobei sich die einzelnen Schlagzeugsounds auf festgelegte MIDI-Notennummern verteilen.

PC Magazin, Nr. 2/97, S. 246

Verfasser: Andreas
Letzte Änderung: 2010-12-12 14:06


10Base5

Ethernet mit 10MBit/s. Als Kabel kommt ein 75-
Ohm-Coax-Kabel zum Einsatz.

PC Magazin, Nr. 12/2003, S. 189

Verfasser: Andreas
Letzte Änderung: 2011-02-05 22:43


REQ

Markiert in der Subject-Zeile eine Anfrage in einem Newsgroupartikel.

PC Magazin SPEZIAL, Nr. 3/98, S. 51

Verfasser: Andreas
Letzte Änderung: 2011-04-25 13:57


VPN

Abk. für Virtual Private Network. Verbindung von Intranets an verteilten Standorten über das Internet. Sämtliche Daten sind während der Übertragung auf der Internet-Strecke verschlüsselt (Datentunnel). Dadurch entsteht ein geschlossenes Netzwerk. Für den Anwender erscheint das Netz wie ein herkömmliches LAN, die Funktionalität ist dieselbe.

PC Magazin PLUS, Nr. 2/2001, S. 7

Verfasser: Andreas
Letzte Änderung: 2011-04-25 14:17


Clipping

Alle derzeit unsichtbaren Bereiche eines 3D-Bildes (abhängig von der zu berechnenden Perspektive) werden ausgegrenzt und bei nachfolgenden Bildberechnungen ausgelassen.

PC Magazin, Nr. 3/2000, S. 102

Verfasser: Andreas
Letzte Änderung: 2011-04-25 15:01


Internet-Floskeln

Online kommt man leicht in Kontakt. Das war schon in den 1980er Jahren so, als die Kommunikation noch über Mailboxen lief, in die man sich per Akustikkoppler oder Modem einwählte. Damals haben sich beim Chat in Mailboxen und bei den Diskussionen in Usenet-Foren viele Abkürzungen für wiederkehrende Floskeln für Anweisungen, Gefühle oder Grußformeln etabliert. Viele Kürzel haben sich gehalten und werden weiterhin in der E-Mail-Kommunikation eingesetzt, andere sind
im Lauf der Jahre im Internet hinzugekommen. Hier eine kleine Auswahl der gebräuchlichsten Abkürzungen:

AFAIK = As Far As I Know (soweit ich weiß),
ASAP = As Soon As Possible (so schnell wie möglich),
BTW = By The Way (übrigens),
CU = See You (Tschüss) – oder CYL = See You Later (Bis bald),
FYI = For Your Information (zu Deiner Information),
IMHO = In My Humble Opinion (meiner bescheidenen Meinung
nach) – oder IMO = In My Opinion (meiner Meinung nach),
LG = Liebe Grüße – oder MFG = Mit freundlichen Grüßen,
LOL = Laughing Out Loud (laut lachen) – oder ROFL = Rolling
On The Floor Laughing (sich vor Lachen krümmen),
PLS oder PLZ = Please (bitte),
THX = Thanks (Danke).

PC-Welt 7/2011, S. 99

Verfasser: Andreas
Letzte Änderung: 2011-06-05 13:57


JPEG-Komprimierung

JPEG (sprich: „Dschaypeg“) ist vor allem bekannt als Verfahren zur Bildkomprimierung. Es wurde von der Joint Photographic Experts Group entwickelt, auf deren
Namen die Abkürzung zurückgeht. Die gängige Dateiendung für Bilder im JPEG-Format ist „.jpg“. Die effektive Komprimierung sorgt für kleine Bilddateien. Jedoch
gehen dabei Daten verloren, sodass sie dosiert angewendet werden sollte. Grundsätzlich gilt: Je geringer die Komprimierung, desto größer ist die Datei. Entscheidend für die richtige Einstellung ist, was später mit dem Bild geschehen soll. Wollen Sie Ihr Bild ausdrucken, sollten Sie die höchste Qualitätsstufe wählen,
also keine oder keine zusätzliche Komprimierung wählen. Möchten Sie das Bild per E-Mail versenden oder ins Internet stellen, sollten Sie dagegen die Dateigröße verkleinern. Um alle Optionen zu erhalten, sollten Sie in Programmen, die nicht auf Bildkompression spezialisiert sind, immer in einer hohen Qualitätsstufe speichern. Das Verkleinern können Sie dann später mit einem leistungsfähigeren Grafikprogramm erledigen.

PC-Welt 7/2011, S. 106

 

Verfasser: Andreas
Letzte Änderung: 2011-06-05 14:02


FLAC (Free Lossless Audio Codec)

Der Flac-Codec komprimiert Musik verlustfrei („lossless“). Dadurch bleibt die Klangqualität des Ausgangsmaterials erhalten. Allerdings sind Dateien im FLAC-Format wesentlich größer als bei MP3-Komprimierung. Flac zählt zu den lizenzfreien „Ogg“-Codecs, die in Konkurrenz zu MP3 entwickelt wurden. Zu ihnen gehören neben dem Audiocodec Ogg-Vorbis unter anderem auch die Sprachdaten-Komprimierung Speex und das Videoformat Theora.

PC-Welt 7/2011, S. 107

 

Verfasser: Andreas
Letzte Änderung: 2011-06-05 14:03


Accesskey

Weisen Sie Formularelementen oder Links einen Hotkey für den schnellen Aufruf zu.
Tastenkombinationen (Hotkeys) rufen eine Funktion oft schneller auf als die entsprechenden Mausklicks. Das Attribut accesskey weist Elementen einer Webseite Hotkeys zu. Drückt der Surfer den Hotkey, erhält das entsprechende Element der Webseite den Fokus. Was dann passiert hängt vom einzelnen Element ab. Wenn Sie beispielsweise einem Link (<a>) einen Hotkey zuweisen, folgt der Browser beim Drücken des Hotkeys dem Link und ruft die Zielseite auf. Bei einem Radioknopf in einem Formular ändert der Browser den Zustand des Radioknopfs (gedrückt/nicht gedrückt).
<input type"text" name="vorname" accesskey="V">
Das Beispiel zeigt einen Ausschnitt aus einem Formular mit einem Eingabefeld. Das Eingabefeld hat einen Hotkey. Mit den Tastenkombinationen [Alt-V] erhält das Eingabefeld den Fokus. Ohne die Maus zu benutzen, gibt ein Surfer so direkt über die Tastatur Text in das passende Feld ein. Groß-/Kleinschreibung spielt beim Hotkey keine Rolle, im Beispiel könnte accesskey="v" stehen. Der Hotkey funktioniert immer in Verbindung mit einer Sondertaste. Bei Windows ist das [Alt], beim Macintosh [Cmd]. Das macht die Auszeichnung der Hotkeys schwierig. In einer Webseite kann es mehrere Elemente mit gleichem Hotkey geben. Der Browser springt dann bei erneuter Eingabe des Hotkeys zum nächsten entsprechenden Element. Zur besseren Übersicht sollten Sie aber darauf achten, ein Zeichen nur einmal pro Webseite zu vergeben. Ist ein Hotkey bereits für eine Funktion des Browsers vergeben ([Alt-D] öffnet beim Internet Explorer das Datei-Menü), so überschreibt die Webseite die Standardbelegung des Browsers. HTML 4.0 und Netscape 6 erlauben accesskey bei den Tags a, area, button, input, label, legend, textarea. Der Internet Explorer unterstützt dagegen das Attribut bei nahezu allen HTML-Tags.

Verfasser: Andreas
Letzte Änderung: 2012-09-10 17:45


bessere Hälfte

Ehefrau oder Ehemann

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-27 19:05


USB

Upper Side Band = oberes Seitenband (SSB)

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-27 19:37


Rauschsperre

Einstellknopf an jedem CB-Funkgerät. Damit unterdrückt man das Rauschen auf leeren Kanälen oder Störungen. Die meisten Rauschsperren orientieren sich an der Signalstärke.

Es gibt aber Neuerungen, die nicht nur dumm bei jedem Signal den Empfänger 'öffnen', sondern nur, wenn dann auch gesprochen wird (z.B. "ASS" oder "ASC"). Siehe auch: Selektivruf.

Siehe auch FAQ: SQ - Squelch

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-29 19:46


Joomla

PHP-Code und Java-Script ausführen bzw. darstellen

Nachdem ich meine Seite auf Joomla 1.5 umgestellt habe viel mir auf, dass bestimmte Code-Schnippsel oder auch Javascript im Content nicht mehr angezeigt wird. Der von mir genutzte Editor (JCE) entfernte den Code sofort nach dem Abspeichern wieder. Zuerst lag mein Verdacht beim Editor aber auch nach Deaktivierung blieb das Problem bestehen. Nach stundenlanger Suche wollte ich schon fast aufgeben doch da entdeckte ich plötzlich einen Artikel der die Lösung meines Problems war.

In Joomla 1.5.8 ist ein neues Feature, die sogenannte Filterfunktion integriert worden. Diese Funktion sorgt dafür, dass gewisse Code-Schnippsel oder Scripte entfernt werden. Die Filterfunktion kann kann auf bestimmte Usergruppen aktiviert und natürlich auch deaktiviert werden. Hier eine kurze Erläuterung wie das funktioniert:

Melden Sie sich im Administrationsbereich an und navigiere zum
Menülink > Inhalt > Beiträge

Klicken Sie oben rechts auf "Einstellungen" und scrollen Sie in dem neuen Fenster ganz nach unten.

 Einstellung für Filterfunktion

Markieren Sie in dem Fenster alle Benutzergruppen denen es NICHT erlaubt sein soll, Code einzufügen bzw. darzustellen. Logischerweise lässt man den Super Administrator unmarkiert. Nun noch einen Haken bei "Blacklist" setzen und abspeichern. In meinen bisherigen Test wurde jegliche Art von Code wieder korrekt dargstellt.

Verfasser: Andreas
Letzte Änderung: 2009-10-29 13:14


Infos zu Domain Namen

Infos zu Domain-Namen
Ihre Website soll eine eigene Domain bekommen. Das müssen Sie beachten, um Abmahnungen und anderen Ärgernissen aus dem Weg zu gehen.
Wer einen Domain-Namen beantragt, prüft zunächst, ob der ins Auge gefasste Name noch frei ist. Dazu befragen Sie die Webseiten Ihres Providers oder die für .de-Domains zuständige Vergabestelle DENIC (www.denic.de). In Österreich www.nic.at. Welche rechtlichen Fallstricke es bei der Namenswahl gibt und wo Sie im Falle eines Falles juristische Hilfe finden, ist auf der Seite "Domain-Recht" (www.domain- recht.de) zusammengestellt.

 

Verfasser: Andreas
Letzte Änderung: 2010-09-25 20:10


Dateirechte auf dem Server

Nun, sicher hat der eine oder andere schon einmal auf der Administrationseben bei einem Update von Joomla eine Fehlermeldung erhalten.

Ich jedenfalls schon und wie so oft vermutet man als erstes gleich mal ein Problem mit den Dateirechen so dass man dazu neigt, dies kurzerhand per FTP auf dem Server von der Originalistallation auf 755 bzw. 777 zu setzen. Dabei gefährdet man nicht nur seine gesamte Webpräsenz weil es so gut wie für jeden möglich wird Schadcode auf das Webspace zu plazieren. Zum anderen ist die Änderung aller Dateirechte gar nicht nötig.

In diesem Artikel möchte und kann ich nicht alle möglichen Problemlösungen anführen, jedoch möchte ich einige Anhaltspunkte anführen die die Ursachenfindung und damit letztendlich auch die Problemlösung finden lassen.

Grundsätzlich ist einmal zu unterscheiden ob man das Update manuell oder über die Joomla-Oberfläche aus dem Backend ausführt. Vor einem Update sollte die Page in den Wartungsmodus geschalten werden, außerdem empfiehlt es sich ein Backup vor dem Start des Updates anzulegen.

  • Prüfen der Angabe zum tmp-Verzeichnis. In diesem werden die Dateien für das Update abgelegt und es kann sein, dass hier ein falscher Pfad angeführt ist.
  • Prüfen des Verzeichnisrechts des tmp-Verzeichnisses
  • Prüfen der Besitzrechte der Dateien. Diese sollten dem jeweiligen Besitzer auch gehören der die Rechte hat diese auszuführen z.B. php
  • Bei einem manuellen Update auch prüfen ob man überhaubt das richtige Update-Pack hat welches es zu installieren gilt.

Weitere Infos findet ihr auch bei Joomla-Security.

Verfasser: Andreas
Letzte Änderung: 2017-09-20 12:55


NaWuT » Astronomie

Was bedeutet die Abkürzung PPM?

PPM steht für "Position and Proper Motions" vom Astronomischen Recheninstitut Heidelberg.Der Katalog umfasst ca. 468586 Sterne.

Verfasser: Andreas
Letzte Änderung: 2009-05-30 20:58


NaWuT » Mathematik

Welche Mathematikprogramme gibt es?

Zum Einsiteg in dieses Thema hilft die sicherlich der Artikel weiter den du unter der ID 1650 in der Bibliothek findest. Hier sind einige Mathematikprogramme kurz beschrieben.

Verfasser: Andreas
Letzte Änderung: 2009-05-30 21:25


Computer » Linux

Aktive Prozesse abfragen

Dieser Tipp zeigt Ihnen, wie Sie im Kommandozeilenmodus oder unter X-Windows die aktuellen Prozesse überblicken.
Linux kann im Text- und Grafikmodus mehrere Programme (Prozesse), parallel nebeneinander ausführen. Mitunter verrichten Programme ihre Aufgaben dabei unerkannt im Hintergrund. Mit dem Befehl ps fragen Sie die aktiven Prozesse ab, um diese übergeordnet beenden zu können. Sie erhalten dabei Informationen darüber, welcher Benutzer einen Prozess gestartet hat. Über den zurückgelieferten Prozess-Status erhalten Sie dessen Kennungen, mit deren Hilfe Sie einzelne Prozesse gezielt per Befehl abschalten, wobei Sie als Systemadministrator angemeldet sein müssen. Sie können Prozesse von der Kommandozeile aus oder über eine Terminalemulation von X-Windows analysieren und beenden. Der Befehl ps informiert über einen Prozess des aktuellen Benutzers:
Bash# ps [Enter]
Um die Prozesse aller Benutzer abzufragen, verbinden Sie den Befehl ps mit dem Kommandozeilenschalter -a:
Bash# ps -a [Enter]
Sie erhalten eine Prozessliste. Jedem Programm ist dabei ein Aufrufbefehl (COMMAND) sowie eine zugehörige Prozesskennung (PID) zugeordnet. Der Eintrag TTY weist darüber hinaus aus, über welche virtuelle Konsole ein Befehl ausgeführt wurde.

Verfasser: Andreas
Letzte Änderung: 2009-10-18 15:33


Aliases abschalten

Kurzbefehle (Aliases) erleichtern Ihnen die Eingabe. Lästige Rückfragen können Sie einfach abschalten.
Viele Distributionen erfreuen den Anwender mit einer Reihe vordefinierter Aliases. Eine Liste der aktuell aktiven Alias-Kommandos erhalten Sie mit
alias
Aliases können auch stören. Wer das mv Kommando aus Sicherheitsgründen zu mv -i umdefiniert hat, muss ständig Rückfragen beantworten! Denn dieser Befehl erlaubt Überschreiben nur, nachdem Sie eine entsprechende Rückfrage beantwortet haben. Durch einen vorangestellten Rückstrich lässt sich ein Alias kurzzeitig deaktivieren. Damit bleibt die Rückfrage für die Eingabe aus.

Verfasser: Andreas
Letzte Änderung: 2009-10-18 15:33


Alles unter Kontrolle

Überblicken Sie alle Systemprozesse, um die PCAuslastung zu überwachen oder zu optimieren.
Um eine Übersicht der aktuellen Prozesse, der Systemauslastung oder Informationen zum Speicher abzufragen, verwenden Sie den Linux-Befehl top, ktop oder gtop. Er aktualisiert Informationen im 5-Sekunden-Takt. So erkennen Sie zeit- und rechenintensive Prozesse. Öffnen Sie das Programm in einer Terminalemulation unter X-Windows, können Sie das Fenster parallel zu anderen Fenstern verwalten und so die Systemauslastung überwachen. Wenn Sie den Befehl Bash# top eingeben und [Enter] drücken, erscheinen Systeminformationen tabellarisch angeordnet, die fortlaufend aktualisiert werden. Um das Programm und damit die Systemüberwachung zu beenden, aktivieren Sie unter XWindows zunächst das Terminalfenster, in dem das Programm aktuell ausgeführt wird. Betätigen Sie dann die Taste [q], um zur Eingabeaufforderung zu gelangen. Führen Sie das Programm top nicht in einem Fenster von X-Windows aus, sondern starten Sie es im Textmodus an einer einzelnen virtuellen Konsole. Zu dieser wechseln Sie nach Bedarf, um die Systeminformationen einzusehen. Um zwischen virtuellen Konsolen zu wechseln, nutzen Sie die Tastaturbefehle [Alt-F1] bis [Alt-F6]. Die Dienstprogramme, mit denen Sie die Systemauslastung in diversen Linux-Distributionen abfragen, finden Sie meistens im Installationspaket procps*.rpm.

Verfasser: Andreas
Letzte Änderung: 2009-10-18 15:34


Anders anmelden

Mit dem su-Kommando wechseln Sie schnell Ihren Account.
Normalerweise arbeitet niemand unter Linux mit seinem Superuser-Account. Trotzdem ist es oft notwendig, sich kurzfristig so anzumelden, um etwa eine Konfigurationsänderung zu administrieren. Geben Sie den su-Befehl ein, fragt Linux nach Ihrem Superuser-Passwort und meldet Sie direkt als Superuser an. Ist die administrative Tätigkeit beendet, verlassen Sie den Account mit exit und arbeiten weiter. Sind Sie als Superuser angemeldet, brauchen aber kurzfristig eine Information, die Sie besser mit einem User-Account erhalten, hilft das su-Kommando ebenfalls. Dabei gibt es zwei Spielarten:
su UserName
und
su -l UserName
Im ersten Fall arbeiten Sie mit der gleichen Shell, aber unter dem Account des angegebenen Usernamen weiter. Im zweiten Fall ruft der Befehl auch die Login-Shell auf, so dass Sie so arbeiten, als hätten Sie sich unter dem anderen Account angemeldet.

Verfasser: Andreas
Letzte Änderung: 2009-10-18 15:35


Arbeitsverläufe im System

Status-Informationen zeigen die Rechner- und Prozessauslastung an.
Oft ist es hilfreich, wenn Sie sich regelmäßig Status-Informationen über den Zustand eines bestimmten Arbeitsganges oder über die Auslastung eines Server-Programms anzeigen lassen. Ein solches Programm ist mysqladmin. Mit diesem Programm konfigurieren Sie einen MySQL-Server. Sie verwenden es aber auch, Status-Informationen über einen SQL-Server anzuzeigen. Das dazu benötigte Kommando lautet
mysqladmin status
Auch andere Programme verfügen über eine entsprechende Funktion. Es ist aber selbst mit der History-Funktion der Bash umständlich, alle paar Sekunden diesen Befehl aufzurufen, wenn Sie sich über einen längeren Zeitpunkt über den aktuellen Zustand des Programms informieren möchten. Mit dem watch-Kommando lassen Sie einen Befehl immer wieder ausführen. Die Ausgabe des Befehls sehen Sie am Bildschirm übersichtlich formatiert. In Verbindung mit dem Programm mysqladmin lautet der Befehl also:
watch mysqladmin status

Verfasser: Andreas
Letzte Änderung: 2009-10-18 15:35


Befehle schnell finden

Mit wenig Fingerakrobatik finden Sie Befehle wieder, die Sie vor Zeiten einmal eingegeben haben.
Mit der History-Funktion der Bash rufen Sie die zuletzt eingegebenen Befehle mit den Cursor-Tasten ab. Das Blättern mit den Tasten kann dauern. Schneller geht es mit der Kombination [Strg-R]. Die Bash wartet damit auf weitere Tastaturanschläge und zaubert den Befehl hervor, in dem die Zeichenfolge vorkommt. Dabei reicht eine beliebige Zeichenfolge aus dem gesuchten Befehl. Sie müssen nicht mit den ersten Zeichen beginnen.

Verfasser: Andreas
Letzte Änderung: 2009-10-18 15:36


Bessere Schriften auf dem X-Window-Desktop

Aus dem Internet laden Sie bes- ser lesbare Schriften, um sie in Ihr Linux einzubinden.
Mit Hilfe eines speziellen Font-Servers verwenden Sie Ihre TrueType-Schriften auch unter X. Laden Sie dazu den TrueType-Font-Server Xfstt-0_ 9_10.tgz von der Seite
http://sunsite.unc.edu/pub/ Linux/X11/fonts/
Legen Sie danach das Verzeichnis
/usr/ttfonts
an. Kopieren Sie Ihre TrueType-Fonts dort hinein. Entpacken Sie die Datei Xf-stt- 0_9_10.tgz mit dem Befehl
tar xvfz Xfstt-0_9_10.tgz
Wechseln Sie in das Verzeichnis xf-stt0910, und geben Sie den Befehl
make
ein. Mit
make install
installieren Sie den Font-Server. Damit der Server funktioniert, passen Sie die Datei /usr/X11R6/lib/X11/XF86Config an. Fügen Sie dazu im Abschnitt Files die Zeile
FontPath "unix/:7100"
ein. Starten Sie den X-Server neu. Ab sofort stehen Ihnen TrueType-Fonts in Ihren X-Anwendungen zur Verfügung. Achten Sie darauf, daß Sie zuvor den TrueType-Font-Server mit dem Befehl xfstt & geladen haben. Ohne diesen startet Ihr X-Window-System nicht korrekt.

Verfasser: Andreas
Letzte Änderung: 2009-10-18 15:37


Bildschirm aufräumen

Um bei fehlerhaften oder unübersichtlichen Ausgaben die Übersicht zu behalten, nutzen Sie den xrefresh-Befehl.
Wenn Textkonsolen oder ein XTerm-Fenster durch fehlerhafte Ausgaben unübersichtlich erscheinen, verschaffen Sie sich mit der Tastenkombination [Strg-l] Übersicht. [Strg-l] löscht den Bildschirm und zeigt den aktuellen Inhalt neu an. Unter X kann es gerade bei weniger stabilen Komponenten wie Video Overlay, Spielen oder OpenGL-Fenster vorkommen, dass Teile von Fenstern einfrieren. Hier hilft das Tool
xrefresh
Dieses Tool löscht den Bildschirm und fordert alle Programme auf, ihre Fenster neu zu zeichnen. Weiterhin verwenden Sie die Technik wie eine alarmierende Anzeige (Visual Bell). Mit dem Parameter -white zeichnen Sie den Bildschirm kurz weiß, dann neu. Die Ausgabe führt zu einem kurzen Flackern. In Scripts weisen Sie damit Anwender auf besondere Ereignisse hin.

Verfasser: Andreas
Letzte Änderung: 2009-10-18 15:38


Bootprobleme lösen

Dieser Tipp zeigt, wie Sie Probleme während einer Installation oder während des Bootens lösen.
Sie erhalten während der Installation einer Linux-Version oder eines neuen Bootvorgangs nach einer Hardware-Änderung eine undefinierte Fehlermeldung. Das kann an der Plug&Play-Konfiguration Ihres Systems liegen. Prüfen Sie beim Bootvorgang Ihres Systems, ob im BIOS die Option für ein Plug& Play-fähiges System aktiviert wurde. Diese Option wird in der Regel mit PnP Aware OS / Plug&Play Operating System bezeichnet. Ist die Option auf Yes eingestellt, übernimmt das Betriebssystem die vollautomatische Konfiguration der PnPHardware. Für ein Linux-System sollten Sie diese Option auf No stellen. Hierdurch wird die komplette Konfiguration vom BIOS übernommen und Linux kann die Konfigurationsdaten direkt übernehmen.
Verfügt Ihr BIOS zusätzlich über die Option Reset Configuration Data oder über Update ESCD, sollten Sie diese Option aktivieren. Hiermit werden sämtliche BIOS-Konfigurationsdaten über Plug&Play gelöscht und neu vergeben. Damit sind in der Regel die Boot- und Installationsprobleme bezüglich der Hardware-Konfiguration behoben.

Verfasser: Andreas
Letzte Änderung: 2009-10-18 15:39


Datum und Uhrzeit

Mit diesem Tipp erleichtern Sie sich die Arbeit, Datum und Uhrzeit in der Bash umzustellen.
Viele Anwender haben Schwierigkeiten, Datum und Uhrzeit in der Bash zu stellen. Denn die Dokumentation zum date-Kommando ist missverständlich. Viele versuchen, mit date -help und man date die Uhrzeit zu stellen:
date -s MMDDhhmm
MMsoll die Monate mit zwei Stellen repräsentieren, DD den Tag, hh die Stunde und mm die Minute. Der Befehl meldet, dass das angegebene Datum nicht gültig sei. Lassen Sie die Option -s weg:
date MMDDhhmm
Mit diesem Befehl stellen Sie Uhrzeit und Datum richtig.

Verfasser: Andreas
Letzte Änderung: 2009-10-18 15:40


Eigene Befehle mit Alias

Grundlegende häufig gebrauchte Befehle, deren Parameter schwer zu behalten sind, verkürzen Sie auf wenige Buchstaben.
Wie kryptisch die Geheimnisse der Kommandozeile aussehen, zeigt das Beispiel
ls -l | wc -l
Mit dieser kryptischen Eingabe zählen Sie die Anzahl der Dateien im aktuellen Verzeichnis. Die Anwender zu Zeiten von MS-DOS halfen sich mit einer Stapelverarbeitung, heute erleichtern Sie sich mit der Kommando-Shell bash die Eingabe. Der Alias-Befehl bringt der Shell eigene Kommandos bei. Um das oben aufgeführte Beispiel unter dem Befehlskürzel cf (count files) zu speichern, geben Sie Folgendes ein:
alias cf="ls -l | wc -l"

Verfasser: Andreas
Letzte Änderung: 2009-10-18 15:40


Energiesparmodus unter X11 aktivieren

Nicht alle Linux-Anwender wissen, dass der X-Server den Bildschirm in den Energiesparmodus schicken und abschalten kann.
Bearbeiten Sie mit einem beliebigen Editor die Datei /etc/XF86Config. Lokalisieren Sie die Sektion Device und fügen Sie Option "power_saver" ein. Anschließend wechseln Sie in die Sektion Screen. Hier stellen Sie den Zeitpunkt ein, zu dem X den Bildschirm dunkel schalten soll. Dazu verwenden Sie den Parameter BlankTime. Die Parameter: SuspendTime und StandbyTime aktivieren den Energiesparmodus. Die Option OffTime bezeichnet die Zeitspanne, bis X den Bildschirm ganz abschaltet. Ausschnittsweise sollte die XFree-Konfigurationsdatei jetzt in etwa wie folgt aussehen:
Section "Device"
#....... bisheriger Teil
Option "power_saver"
EndSection
Section "Screen"
#....... bisheriger Teil
BlankTime 14
SuspendTime 16
StandbyTime 18
OffTime 20
#....... bisheriger Teil
EndSection
Die beschriebenen Änderungen können Sie sogar für einen bereits laufenden XServer vornehmen. Allerdings müssen Sie zuvor wie beschrieben Option "power_ saver" in der XF86-Datei eingefügt haben. Soll der Bildschirm ab sofort nach jeweils vier Minuten schwarz schalten, wählen Sie den Befehl:
xset s 40/40/40/40.

Verfasser: Andreas
Letzte Änderung: 2009-10-18 15:41


Fehler mit tar-Archiven

Hat ein tar-Archiv seine Dateiflut in ein falsches Verzeichnis entpackt, beseitigen Sie den Fehler mit einem Befehl.
Haben Sie versehentlich ein tar-Archiv im falschen Verzeichnis ausgepackt, müssen Sie viele Dateien löschen. Dazu nutzen Sie den Befehl (mit Backticks):
rm 'tar ft archiv.tar'

Verfasser: Andreas
Letzte Änderung: 2009-10-18 15:42


Filtern mit einer Datei

Da Sie häufig in einer Datei Zeichen oder Zeichenketten ersetzen müssen, machen Sie sich mit dem sed-Befehl vertraut.
Der Befehl Filtern mit sed dient dazu, in einer Datei Zeichen oder Wörter zu ersetzen:
sed -e 's/Suchen/Ersetzen/g' < Quelle > Ziel
Der Befehl tauscht die Zeichenfolge unter Suchen durch die in Ersetzen aus. Dieses Verfahren hat den Vorteil, dass die Datei zeilenweise abgearbeitet wird, wodurch der Vorgang wenig Speicher benötigt. Nachteilig ist, dass eine neue Datei erzeugt wird. Soll der Dateiname gleich bleiben, müssen Sie ein weiteres Script schreiben: Sie brauchen einen temporären Namen, den Sie in den ursprünglichen Dateinamen umbenennen. Alternativ ersetzen Sie mit dem vi-Befehl Text, ohne eine neue Datei anlegen zu müssen: vi -c "%s/Suchen/Ersetzen/g" -c "wq" Quelle
Da Linux die ganze Datei in den Speicher laden muss, eignet sich diese Methode nur für kleine Dateien.

Verfasser: Andreas
Letzte Änderung: 2009-10-18 15:43


Fonts-Schwund

Wie durch Zauberhand erscheinen nach einem XFree4.0-Update etliche Systemschriften kleiner als bei XFree 3.3.6.
Nach einem XFree4.0-Update ändert sich in der neuen XFree-Konfigurationsdatei /etc/XF86Config-4 die Reihenfolge der Fonts-Einträge. XFree durchsucht die FontPath-Einträge nach passenden Schriften immer von oben nach unten. Schaffen Sie wieder Ordnung, indem Sie in einem beliebigen Editor hinund hertauschen.

Verfasser: Andreas
Letzte Änderung: 2009-10-18 15:44


Freistehender Text

Mit einem einfachen Befehl verbessern Sie die Übersichtlichkeit des Desktops.
GNOME färbt unter den Icons auf dem Hintergrund einen rechteckigen Bereich in einer kontrastreichen Farbe ein, damit der Text der Icons immer lesbar ist. Auf manchen Hintergrundbildern wirkt dieser störend oder ist überflüssig, da der Kontrast des Textes aus-reicht. Im Midnight Commander lassen sich rechteckige Bereiche unter Preferences/Desktop/Use shaped text abschalten: Der Desktop wird übersichtlicher.

Verfasser: Andreas
Letzte Änderung: 2009-10-18 15:45


IP-Konfiguration von der Kommandozeile

Mit wenigen Handgriffen ändern Sie die IP-Konfiguration während des Betriebs.
Wenn Sie die IP-Adresse der Netzwerkkarte oder die zugehörige Netzmaske verstellen wollen, ändern Sie die IP-Konfiguration. Dabei müssen Sie nicht einmmal den PC neu starten. Dieses komfortable Arbeiten erlaubt Ihnen das ifconfig-Kommando. Um die IP Adresse oder eine Netzmaske zu verändern, geben Sie den Aufruf
ifconfig ethXX NeueIPAdresse Netzmaske
ein. Der Eintrag ethXX gibt dabei das Interface an, für das Sie die Änderung durchführen wollen. Standardmäßig lautet der Eintrag meist eth0.

Verfasser: Andreas
Letzte Änderung: 2009-10-18 15:45


Kein Netzwerk nach DSL-Installation

In diesem Tipp erfahren Sie, wie Sie den Netzwerkzugriff nach einer DSL-Installation herstellen.
Wenn Sie unter SuSe 8.0 den DSLTreiber installieren, können Sie den Zugriff auf die Netzwerkkarten verlieren. Das hängt damit zusammen, dass während des Initialisierens des DSL-Devices (dsl0) bereits die Netzwerktreiber für die Karte initialisiert werden. Hierdurch tritt ein Folgefehler auf. Sie ändern das Installations-Script, indem Sie die Netzwerkkarte zuerst initialisieren. Erst danach sollten Sie das DSLDevice ein binden. Sie finden den Fix unter der Internet-Adresse ftp://ftp. suse.com/pub/suse/i386/update/8.0/ a1/sysconfig.rpm.

Verfasser: Andreas
Letzte Änderung: 2009-10-18 15:46


Keine KDE-Systemsounds in S.u.S.E. 6.x

Sie haben S.u.S.E. Linux 6.x installiert und bekommen in KDE keine Systemsounds zu hören? Das Problem läßt sich einfach beseitigen.
Ihre Soundkarte ist korrekt installiert, und trotzdem hören Sie unter dem KDesktop Environment keine Systemsounds? Das hat folgende Ursache: Da KDE unter Umständen aufgrund der Komponente kaudioserver beim Beenden hängenbleibt, ist diese Desktop-Oberfläche in der S.u.S.E.-Distribution deaktiviert. Wenn Sie ein Hänger beim Beenden von KDE nicht stört, können Sie den Sound selbst wieder aktivieren: Dazu entfernen Sie in der Datei /opt/kde/bin/startkde die #-Zeichen vor den Einträgen
# startifthere kaudioserver
# startifthere kwmsound

Verfasser: Andreas
Letzte Änderung: 2009-10-18 15:47


Leichter mit neuem Kernel

Die Version SuSE 7.2 verfügt schon über einen neuen Kernel. Das Update belohnt Sie mit Performance-Gewinn.
Wer viele kleine Tasks nutzt, erlebt mit dem neuen Kernel eine deutliche Verbesserung der Leistung. Wer zum Beispiel einen Webserver betreibt, wird durch den Einsatz des neuen Kernels eine zum Teil dramatische Senkung der Rechnerauslastung feststellen. Am meisten gewinnen Nutzer mit Dual-CPU-System: Hier sind die Leistungsgewinne im Server-Einsatz teilweise so stark, dass der Einsatz des neuen Kernels unter Umständen sogar den Einsatz weiterer Hardware überflüssig macht. Wer keine neue Distribution installieren möchte, sondern nur das Kernel-Update, kann es von www.kernel.org laden.

Verfasser: Andreas
Letzte Änderung: 2009-10-18 15:47


Logrotate-Programm

Mit diesem Tipp verarbeiten Sie alte log-Dateien nach der Zeitspanne, die Sie eingestellt haben.
Das Logrotate-Programm dient dazu, alte log-Dateien nach einstellbarer Zeit oder Größe zu verarbeiten. Dabei entscheiden Sie mit den Parametern in der Datei logrotate.conf, was mit den Dateien passieren soll. Auf den ersten Blick fallen dabei die Optionen compress und nocompress auf. Diese Schalter legen fest, ob die bearbeitete log-Datei komprimiert wird oder nicht. Was aber, wenn Sie die Dateien nicht aufheben wollen? Eine delete- oder remove-Option suchen Sie im Befehl vergeblich. Auch mit dem Logrotate-Befehl können Sie log-Dateien löschen. Das schaffen Sie damit, dass Sie bei der rotate-Option als Parameter eine 0 eingeben:
rotate 0

Verfasser: Andreas
Letzte Änderung: 2009-10-18 15:48


MySQL-Fehler nach PHP-Update

Dieser Tipp zeigt, wie Sie einen Aufruffehler nach einem PHPUpdate beseitigen können.
Ein Fehler schleicht sich bei der Veränderung des Scripts bzw. des Links ein, um die MySQL-Sockets zu starten. Diese Verbindung wurde bei einem Update neu geschrieben. Sie können das Problem beheben, indem Sie den Startlink zu den MySQL-Sockets neu anlegen. Dieser Link, den Sie in einer Zeile eingeben, könnte wie folgt aussehen:
ln -s /var/lib/mysql/ mysql.sock /tmp/

Verfasser: Andreas
Letzte Änderung: 2009-10-18 15:49


Persönliches GIMP

Das Grafikprogramm GIMP verfügt über unzählige Kommandos und Optionen, die Sie per Tastaturkürzel erreichen.
Mit GIMP können Sie Tastaturkürzel definieren und ändern. Neben jedem Menüpunkt sehen Sie die Anzeige der aktuellen Tastenkombination. Ist keine definiert, bleibt das Feld frei. Bewegen Sie die Maus auf einen Menüpunkt, können Sie eine neue Tastenkombination eingeben. Diese wird angezeigt und steht sofort zur Verfügung. Sie löschen eine Kombination, indem Sie als Kürzel die [Rückschritt]-Taste (Backspace) eingeben.

Verfasser: Andreas
Letzte Änderung: 2009-10-18 15:49


Plug & Play mit Linux

Um ISA-Karten auf dem Linux-PC einzurichten, hilft ein parallel installiertes Windows.
Meist erkennen die gängigen Hardware-Konfigurationsprogramme der Linux-Distributionen die IRQ-, DMAund Adresseinstellungen von ISAPlug& Play-Karten. Und wenn nicht? Dann kann sich der Anwender entweder mit Programmen wie PNPdump behelfen und die Einstellungen anschließend manuell in die Konfigurationsprogramme eintragen. Oder er startet seine Windows-Parallel-Installation falls vorhanden. Dort stehen im Gerätemanager die korrekten Werte der Karte.

Verfasser: Andreas
Letzte Änderung: 2009-10-18 15:50


Prozesse beenden

Mit Hilfe der Prozesskennung können Sie aktive Prozesse auf Kommandozeilenebene jederzeit beenden.
Über die Prozesskennungen, die Sie per ps-Befehl ermittelt haben, beenden Sie die zugehörigen Programme auf Befehl. Um etwa das Screenshot-Programm ksnapshot von KDE zu beenden, ermitteln Sie eine Prozesskennung wie 470. Mit dem Befehl kill terminieren Sie den Prozess:
Bash# kill 470 [Enter]
Einige Programme verweigern sich diesem Befehl. In diesem Fall erzwingen Sie den Abbruch, indem Sie den kill-Befehl mit dem Parameter -9 versehen. Beachten Sie, dass einige Prozesse nicht zu beenden sind. Die Entfernung des Prozesses mit der Kennung 171 würde in einem Arbeitsgang die primäre Bash-Shell und alle nachfolgend geladenen Programme, hier auch X-Windows und deren Anwendungen, beenden. Eventuell verlieren Sie dabei noch nicht gesicherte Daten.

Verfasser: Andreas
Letzte Änderung: 2009-10-18 15:51


Script für Systemlast

In Scripts ist es gelegentlich nützlich, Kommandos nur dann auszuführen, wenn die Auslastung des Systems nicht zu groß ist.
Es macht keinen Sinn, ein ausgelastetes System mit weiteren Rechenprozessen zu belasten. Die Auslastung lesen Sie aus den Werten in /proc/loadavg. Der Befehl:
cat /proc/loadavg
liefert eine Zeile mit verschiedenen Werten. Die ersten drei Zahlen geben die momentane Last sowie den Last-Durchschnitt innerhalb der letzten 5 und der letzten 15 Minuten an.

Verfasser: Andreas
Letzte Änderung: 2009-10-18 15:52


Sichere rekursive Kommandos

Rekursive Kommandos ersparen viel Arbeit, bringen jedoch auch Gefahren mit sich.
Einige Kommandos verfügen über Optionen, die nicht nur auf das aktuelle Verzeichnis, sondern auf alle Unterverzeichnisse wirken. Einige dieser Kommandos berücksichtigen beim Durchlaufen des Verzeichnisbaumes symbolische Links. Zeigt ein solcher Link auf /, so wenden Sie das Kommando auf das gesamte Dateisystem an. Über das find Kommando lassen sich rekursive Kommandos besser steuern und kontrollieren. Das Beispiel
find . -type f -exec ls {} ;
listet zunächst alle regulären Dateien ab dem aktuellen Verzeichnis auf. Es fehlen Gerätedateien. Durch die Angabe von
find . ! -type l -exec ls {} ;
verhindern Sie, dass symbolische Links registriert werden. Der Schalter ! negiert das folgende -type l. Über den Parameter -maxdepth n beschränken Sie die Tiefe des Suchvorgangs auf n-Verzeichnisebenen. Sind Sie mit der Ausgabe der Dateinamen einverstanden, so ändern Sie das ls-Kommando. Die Zeichenfolge {} ersetzt dann jeweils den Namen der Datei, bevor das Kommando weiterarbeitet. s

Verfasser: Andreas
Letzte Änderung: 2009-10-18 15:52


Sicherungskopien nutzen

Sicherungen in Linux lassen sich vielfach ändern und nutzen.
Mit Hilfe des dd Kommandos lassen sich einfach Sicherungskopien von Diskette oder CD-ROMs erzeugen. Das Kommando
dd if=/dev/fd0 of=FloppyImage
legt ein exaktes Abbild der Diskette im Laufwerk A: in der Datei FloppyImage ab. Wenn Sie das Kommando mit umgekehrter Syntax eingeben, lässt sich das Image auf eine andere Diskette schreiben:
dd if=FloppyImage of=/dev/fd0
Brauchen Sie lediglich eine Datei aus einem solchen Image, oder möchten Sie Dateien im Image ändern? Bevor Sie das gesamte Abbild zurückschreiben, können Sie über das loop-Device das Abbild mounten. Sie gehen dabei so vor, als wäre es ein pysikalisches Medium. Um ein Abbild einer Diskette zu mounten, genügt bei einer MS-DOS Diskette das Kommando
mount -o loop -t msdos E FloppyImage /mnt
Nun können Sie direkt auf den Inhalt zugreifen, womit Sie auch gezielt einzelne Dateien bearbeiten.

Verfasser: Andreas
Letzte Änderung: 2009-10-18 15:53


SMB-Zugriff mit Konqueror

Der Zugriff auf Windows-Clients funktioniert mit Samba im Normalfall umständlich über die Kommandozeile.
Der KDE-Dateimanager Konqueror glänzt mit vielen neuen und nützlichen Eigenschaften, die auf der QT-Systemarchitektur basieren. Eine der weniger beachteten Neuerungen besteht darin, dass der Anwender ohne zusätzliche Tools über das SMB-Protokoll auf Windows-Rechner zugreifen kann, sofern auf diesen Ordner oder Drucker freigegeben sind. Im Explorer-Teil des Konqueror findet der Anwender neben den beiden Knoten für Wurzelverzeichnis und Persönliches Verzeichnis einen weiteren mit der Bezeichnung Netzwerk, markiert mit dem typischen Microsoft-Netzwerksymbol. Über diesen Knoten ist der Zugriff auf allgemeine Freigaben im lokalen Netz insbesondere auf SMB-basierende Ressourcen in Windows-Netzen möglich. Primär soll die Funktion wohl ähnlich der Windows-Netzwerkumgebung
der Anzeige von Windows-Ressourcen dienen: Klickt der Linux-User auf den Knoten Windows-Ressoucen, sollte sich ein Authentifizierungsdialog für den ersten Windows-SMB-Server öffnen. In der Regel ist dies der lokale Samba-Server, sofern dieser installiert ist. Die Funktion ist nicht ausgereift: Der Konqueror löst die Microsoft-spezifischen Arbeitsgruppen-Namen noch nicht durch Anklicken auf. Geben Sie in der Eingabezeile des Konqueror den NetBIOS-Namen oder die IP-Adresse eines Windows-Rechners ein, stellt der integrierte SMB-Client eine Verbindung zum genannten Rechner her. Nach erfolgreicher Authentifizierung zeigt Konqueror sämtliche Freigaben des Windows-Rechners an. Sie können, wenn Sie entsprechende Rechte besitzen, Dateien und Verzeichnisse von der Windows- auf die Linux-Seite kopieren. In umgekehrter Richtung geht das nicht einwandfrei.

Verfasser: Andreas
Letzte Änderung: 2009-10-18 15:54


Snort-Meldung verfolgen

Das Programm Snort installieren Sie, um Angriffe schneller zu entdecken.
Haben Sie Snort neu installiert, verfolgen Sie, was das Programm meldet. Das geht einfach, weil Snort die wichtigsten Informationen in der messages-Datei protokolliert. Diese behalten Sie im Blickfeld, um die neuesten Einträge auf der Konsole zu lesen. Geben Sie den Befehl ein:
tail -f messages
Damit lesen die neuen Einträge in der Protokolldatei messages.

Verfasser: Andreas
Letzte Änderung: 2009-10-18 15:55


Systemhalt per Script

Mit diesem Tipp erzwingen Sie, dass der PC automatisch neu bootet.
Ein System automatisch anzuhalten oder neu zu booten geht in einem Script mit einem der Kommandos halt, reboot oder poweroff. Die Kommandos halten, was ihre Namen versprechen:
Halt hält das System an,
Reboot führt einen Neustart durch,
Poweroff schaltet nach dem Anhalten auch den Strom ab.

Verfasser: Andreas
Letzte Änderung: 2009-10-18 15:56


Textdateien synchronisieren

Arbeiten Sie an verschiedenen Arbeitsplätzen an identischen Dateien, müssen Sie für synchrone Versionen sorgen.
Wenn Sie Dateien auf verschiedenen Rechnern ändern, wollen Sie Ihre Arbeit nicht doppelt machen müssen. Deshalb synchronisieren Sie Ihre Dateiversionen. Bei geringfügigen Textänderungen verwenden Sie folgenden Trick: Wenn die Datei groß und die Änderung klein ist, so verwenden Sie die Befehle diff und patch. Die Befehlsfolge
diff alte_version neue_version > unterschiede
ermittelt und speichert die Unterschiede. Das Ergebnis ist meist deutlich kleiner als die Originaldatei. Mit dem Befehl
patch alte_version unterschiede
aktualisieren Sie auf einem anderen Arbeitsplatz eine alte Version.

Verfasser: Andreas
Letzte Änderung: 2009-10-18 15:56


Übersicht mit Tar

So sichern Sie die Zwischenstände, wenn Sie ein Projekt ständig erweitern.
Das Tar-Kommando eignet sich, um Zwischenstände eines längeren Projekts zu sichern. Eine Liste aller veränderten Dateien seit dem letzten Backup erhalten Sie mit dem Befehl:
tar -df zwischenstand.tar
Alternativ können Sie auch
tar -dzf zwischenstand.tar.gz
bei komprimierten Tar Archiven eingeben.

Verfasser: Andreas
Letzte Änderung: 2009-10-18 15:57


Verfügbar im lokalen Netz

Die Verfügbarkeit eines Netzwerk-PCs können Sie mit einem Befehl feststellen.
Mit dem Uptime-Kommando erhalten Sie Informationen über den Zustand des lokalen Rechners. Sind allerdings Hosts in /var/spool/rwho eingetragen, können Sie dieses Wissen auch über alle Maschinen im lokalen Netz anzeigen lassen. Dazu nutzen Sie das ruptime-Kommando. Sie erhalten damit vergleichbare Informationen wie von uptime. Zusätzlich sehen Sie auch Daten der entfernten Hosts. Hosts, die sich länger als 11 Minuten nicht mehr gemeldet haben, stuft ruptime als down ein.

Verfasser: Andreas
Letzte Änderung: 2009-10-18 15:58


Verzeichnisse mit Inhalt löschen

Mit diesem Tipp löschen Sie Verzeichnisse mit allen Daten in einem Arbeitsgang.
Ein Verzeichnis löschen Sie mit dem rmdir-Befehl. Das funktioniert nicht, solange das Verzeichnis Dateien enthält. Der rm-Befehl löscht Verzeichnisse mit allen enthaltenen Dateien. Zur Sicherheit lesen Sie zuvor die über
rm--help
angebotene Hilfestellung.

Verfasser: Andreas
Letzte Änderung: 2009-10-18 15:58


Vorbereitung für GZip

Nicht immer bleiben Dateierweiterungen erhalten: Disketten verwenden Dateisysteme, die die Namen begrenzen.
Haben Sie Dateien mit GZip komprimiert, müssen Sie sie umbenennen, denn GZip weigert sich, die Dateien zu dekomprimieren, deren Name nicht mit gz endet. Viele Dateien auszupacken ist mühsam. Abhilfe schafft das zum GZip-Paket gehörende Tool zforce. Es untersucht eine Liste von Dateien, erkennt anhand der Header-Informationen komprimierte Dateien und fügt falls nötig die Dateierweiterung an. Sie geben dazu
zforce *
ein.

Verfasser: Andreas
Letzte Änderung: 2009-10-18 15:59


Wie groß ist mein home?

Mit dem du-Befehl ( disk usage) ermitteln Sie den Platzbedarf von Daten. Ohne Parameter zeigt der Befehl den Platzbedarf am aktuellen Verzeichnis an, ohne symolische Links zu verfolgen. Sie nutzen drei Parameter:
-h: sorgt für eine besser lesbare Darstellung mit MByte und GByte;
-Lverfolgt auch symbolische Links;
-xverfolgt keine Mountpoints.
Ein Beispiel: Sie wollen Ihr home-Verzeichnis sichern, ohne die darunter gemounteten Dateisysteme zu kopieren. Der Befehl beantwortet, wie viel Platz Sie dafür brauchen:
du -hx
Sie leiten Sie die Ausgabe in eine Datei um:
du -hx > dateiname

Verfasser: Andreas
Letzte Änderung: 2009-10-18 16:00


Yes ausgeben

Mit dem yes-Programm automatisieren Sie bestätigende Eingaben von der Konsole.
Manche Programme erwarten eine Bestätigung von der Konsole: Damit ist ein Anwender gezwungen, Tasten wie y oder n einzugeben. Das stört, wenn Sie diese Programme in automatisch ablaufenden Scripts einsetzen wollen. Für diesen Fall nutzen Sie das Programm yes. Rufen Sie es ohne Parameter auf, so gibt es den Text y aus. Geben Sie einen Parameter an, wird dieser ausgegeben. Dabei erfolgt die Ausgabe so lange, bis das Programm abgebrochen wird: Sie können diese Ausgabe als Eingabe für ein Script umlenken.

Verfasser: Andreas
Letzte Änderung: 2009-10-18 16:00


Zeilenweise texten

Mit Shell-Scripts bearbeiten und ändern Sie Dateien zeilenweise.
Wenn Sie Dateien zeilenweise lesen und ändern wollen, hilft Ihnen das folgende Script. Es liest die Datei quelle und gibt sie wieder aus:
while read zeile
do
echo $zeile
done < quelle
Hat die Datei ein festes Format, können Sie Felder beim Einlesen trennen. Im folgenden Beispiel besteht jede Zeile aus drei durch ein Komma getrennte Werte:
IFS=","b
while read a b c
do
echo Spalte1:$a Spalte2: $b Spalte3:$c
done < quelle

Verfasser: Andreas
Letzte Änderung: 2009-10-18 16:01


Wie formatiert man Festplatten unter Linux?

Die Festplatte darf nicht gemountet sein!

evtl. in der fstab die entsprechende Zeile drch # auskommentieren und anschließend einen Neustart des Computers durchführen.

Verfasser: Andreas
Letzte Änderung: 2009-12-25 10:18


Was kann der Befahl mount?

Mit dem Befehl

sudo mount -a

wird die fstab neu eingelesen. Dies ist hilfreich wenn man diese abgeändert hat und sich somit einen Neustart ersparen kann.

 

 

Verfasser: Andreas
Letzte Änderung: 2010-09-11 19:49


Wie erstelle ich eine Dateiliste von einem Verzeichnis?

Ein Filemanager wie Konqueror zeigt ihnen sehr übersichtlich an, wleche Dateien in einem Verzeichnis sind - aber leider nur auf dem Bildschirm. Wenn Sie die Dateiliste selber als Datei brauchen, um sie weiter zu verarbeiten, erreichen Sie das am schnellsten auf der Konsole: Der Befehl

 ls /home/user *

listet alle Dateien im Verezeichnis home/user auf dem Bildschirm auf. Mit der spitzen Klammer leiten Sie die Ausgabe in eine Datei um:

ls /home/user1 * > Inhalt.txt

(Der Name der Datei kann frei gewählt werden). Leider kontrolliert der Befehl nicht, ob bereits eine Datei des Namens inhalt.txt vorhanden ist, sondern legt auf jeden Fall eine Eigene an, sodass Daten versehentlich überschrieben werden können. Das verhinden Sie mit dem Eintrag

set -C

in Ihrer .bashrc. Danach funktioniert die Ausgabeumleitung über die spitze Klammer nur noch in nicht vorhandene Dateien. Wollen sie eine existierende Datei überschreiben, verwenden sie diesen Befehl:

ls /home/user1 * >| Inhalt.txt

Mit

ls /home/user2 * >> Inhalt.txt

fügen Sie der Datei Inhalt.txt weitere Einträge hinzu.

 

Quelle: linuxlife 4/2008 Seite 112

 

Verfasser: Andreas
Letzte Änderung: 2010-09-13 10:21


Computer » Programme » OpenOffice

Verknüpfungen zurücksetzen (1.x)

So machen Sie Programmverknüpfungen mit Microsoft-Office-Dateien rückgängig.
Während der Installation verknüpft sich Open-Office mit den Dateitypen von Word, Excel und PowerPoint. Öffnen Sie eine Datei per Doppelklick, lädt OpenOffice die Datei. Zurück zum Ursprung öffnen Sie den Ordner Eigene Dateien. Halten Sie die [Umschalten]-Taste gedrückt und klicken Sie im Ordner eine Word-Datei (Endung: .doc) mit der rechten Maustaste an. Benutzen Sie den Befehl Öffnen mit (Windows XP: Öffnen mit/Programm auswählen). Markieren Sie hier WINWORD (Windows XP: Microsoft Word). Aktivieren Sie Diesen Dateityp immer mit dem ausgewählten Programm öffnen.

Verfasser: Andreas
Letzte Änderung: 2009-10-18 15:26


Computer » Programme » Gimp

Bildkomposition

Für fein dosierte Bildeffekte sind Alphakanäle ideal. Setzen Sie sie ein, um die Maskierungs-Optionen von GIMP zu erweitern.
GIMP bietet dem Anwender wie jede gute Bildbearbeitung Alphakanäle. Damit sind Effekte umsetzbar, die sonst nicht oder sehr umständlich zu verwirk-lichen wären. Mit Alphakanälen erzeugen Sie im Beispiel eine Komposition aus zwei übereinanderliegenden Bildern, wobei eines in einem Bereich im Nichts verschwindet. Ein Alphakanal ist ein zusätzlicher Farbkanal, der nur mit Hell-/Dunkel-Werten auskommt. Diese können Sie benutzen, um beispielsweise Masken zu erstellen. Masken erzeugen Sie normalerweise mit den Maskierwerkzeugen, die Sie in GIMP über den Auswahl-Befehl Select aufrufen. Diese Werkzeuge kennen nur zwei Zustände: voll maskiert oder nicht maskiert. Durch die Alphakanaltechnik erweitern Sie diese erheblich: Werden im Alphakanal Graustufen verwendet, ergibt sich in der daraus resultierenden Auswahl ein Bereich, in dem der angewandte Effekt im Verhältnis des Grauwerts zum Tragen kommt. Ein Beispiel: Als Hintergrundbild soll ein Bild eines Sportwagens dienen, über das der Würfel als Sinnbild für das "Glücksspiel Straßenverkehr" gelegt werden soll. Stellen Sie den Würfel mit Hilfe der Select-Werkzeuge (aus der Hauptpalette) frei hier mit dem Zauberstab (Select contiguous regions), da der Würfel vor einem rein weißem Hintergrund fotografiert wurde. Ist der Hintergrund unruhiger, können Sie bei gehaltener [Umschalt]-Taste zusätzliche Bildbereiche mit beliebigen Select-Werkzeugen hinzufügen, ohne die vorherige Auswahl zu verlieren. Falls Sie ausgewählte Bereiche zum Teil wieder entfernen wollen, halten Sie die [Strg]-Taste gedrückt, während Sie genau diese Bildteile mit einem Select-Werkzeug markieren. Den Würfel holen Sie mit [Strg-C] in die Zwischenablage, wechseln in das eigentliche Zielbild und legen ihn dort mit [Strg-V] ab. Wechseln Sie in die Palette Layer & Channels, und wandeln Sie dort diese schwebende Auswahl aus der Zwischenablage mit dem Button ganz links unten oder [Strg-N] zu einer eigenen Ebene um. Mit Move Layers & Selections aus der Hauptpalette verschieben Sie den Würfel an die richtige Position. Wechseln Sie in der Palette Layer & Channels auf Channels, und legen Sie dort mit dem Button links unten einen Alphakanal an. Oder Sie klicken mit der rechten Maustaste auf eine Ebene in der Palette Layer & Channels/New Layer oder wählen [Strg-N]. Im Alphakanal legen Sie einen Schwarzweiß-Verlauf an. Schwarz stellen Sie auf der Seite ein, auf der das Objekt sichtbar sein soll, also oben. Hier haben wir den Verlauf auch nicht von (Würfel-)Kante zu Kante gezogen, sondern im Mittelbereich des Objekts gehalten, damit der Betrachter später oben mehr vom Würfel sieht, der unten in einem größeren Bereich komplett transparent wird. Mit [Strg-S] oder einem Klick mit der rechten Maustaste auf den Alphakanal Channel to Selection aktivieren Sie den Alphakanal als Auswahl. Schalten Sie das Augesymbol vor dem Alphakanal wieder aus, damit Sie eine normale RGB-Ansicht erhalten. Sonst erscheint auch die Alphakanal-Maske. Gehen Sie in der Palette Layer & Channels wieder auf Layer zurück, und aktivieren Sie das auszublendende Ob-jekt, hier: den Würfel. Per Mausklick ins Bild (rechte Taste) und Edit/Clear oder [Strg-K] entfernen Sie den Bereich aus dem Bild, der im Alphakanal hell erscheint. Je heller der Alphakanal an dieser Stelle ist, desto stärker die Wirkung. Selbstverständlich können Sie jetzt beliebige Filter, jede Farbveränderung oder sonstige Befehle auf die aus Alpha-kanälen erstellten Masken anwenden. Die Wirkung entspricht den Hell/Dunkel- Werten des Alphakanals.

Verfasser: Andreas
Letzte Änderung: 2019-12-24 10:59


Ebenen im Einsatz

Ebenen lassen sich durch selbsterklärende Namen besser verwalten.
Layer (Ebenen) sind für die anspruchsvolle Bildbearbeitung unverzichtbar. Beispielsweise gelingt es über Layer viel leichter, Bildteile genau zu plazieren und Bereiche vor versehentlicher Bearbeitung zu schützen. Für die Verwaltung der einzelnen Layer öffnen Sie die betreffende Palette in der Hauptpalette unter dem Menü File/Dialogs/ Layers & Channels. Um Layer um-zubenennen, klicken Sie mit der linken Maustaste doppelt auf den Layernamen und benennen ihn um. Dies ist vor allem bei sehr umfangreichen Bildern mit einer hohen Anzahl von Layern sinnvoll. Wegen der unverwechselbare Namen behalten Sie einen besseren Überblick.

Verfasser: Andreas
Letzte Änderung: 2019-12-24 11:00


Eigene Pinsel herstellen

Definieren Sie eigene Pinsel. Sogar Fotos können Sie verwenden, um damit ausgefallene Bilderrahmen herzustellen. Dabei sind einige Einschränkungen zu berücksichtigen.
Eigene Pinsel sind praktisch, wenn Sie das eigene Logo häufig benötigen. Sie können es klein als Pinsel anlegen. Um das Logo dann einzusetzen, aktivieren Sie den Pinsel und klicken an die entsprechende Stelle im Bild. Falls Sie eigene Pinsel in GIMP verwenden wollen, zum Beispiel ein miniaturisiertes Foto, speichern Sie es im GIMP-Verzeichnis unter Brushes als Graustufenbild.
ACHTUNG! Es funktionieren ausschließlich Graustufenbilder, und diese werden als Negative verwendet. Sie müssen deshalb daran denken, daß Sie das Bild vor dem Speichern umkehren, damit es später wie gewünscht umgesetzt wird.
Klicken Sie mit der rechten Maustaste auf das Bild, und wählen Sie Image/Colors/ Invert.

Verfasser: Andreas
Letzte Änderung: 2019-12-24 11:00


Freistellen von Alphakanälen

Wenn die Übergänge von Bildbereichen schwer abzugrenzen sind, helfen Alphakanäle, etwa eine Person vom Hintergrund zu trennen.
Für komplizierte Freistellaufgaben können Sie direkt mit den Mal- und Zei-chenwerkzeugen und verschiedenen Graustufen im Alphakanal arbeiten. Dabei sollten Sie genau erkennen können, wie die Maske tatsächlich aussieht. Um den Kontrast zum Bild zu erhöhen, über dem die Maske liegt, klicken Sie in das Farbfeld. Dort wählen Sie eine Farbe, die in Ihrem Bild gar nicht oder möglichst wenig vorkommt. Die Intensität der Maske stellen Sie mit Fill Opacity ein. Je höher der Wert ist, desto stärker deckt die Maske das Bild während der Bearbeitung ab. Dies beeinflußt aber nicht die Wirkung, die nur vom Graustufenwert abhängt. Diese Einstellungen können Sie mit einem Doppelklick auf den Alphakanal auch nachträglich ändern, da sie sich nicht auf das Ergebnis auswirken.

Verfasser: Andreas
Letzte Änderung: 2019-12-24 11:00


Informationen über Plugins

Die Wirkung der mit GIMP gelieferten Plugins können Sie ohne langwieriges Ausprobieren vorab abschätzen.
GIMP liefert viele kleine Zusatzprogramme (Plugins) mit. Um ohne Ausprobieren herauszufinden, welche Plugins welchen Effekt bewirken, lesen Sie die jeweilige Beschreibung unter Xt-ns/ DB Browser oder Xtns/Plugin Details nach.

Verfasser: Andreas
Letzte Änderung: 2019-12-24 11:01


Neutraler Hintergrund

GIMP öffnet jede Palette und jedes Bild als eigenes Fenster. Zur besseren Beurteilung der Farben wählen Sie einen einfarbigen Desktop- Hintergrund.
Die Wahrnehmung jeder Farbe hängt stark von der sie umgebenden Hintergrundfarbe ab. Verwenden Sie daher für den Windows-Desktop ein neutrales Grau als Hintergrundfarbe. Es beeinflußt die Farbwirkungen in der Bildbearbeitung am wenigsten.

Verfasser: Andreas
Letzte Änderung: 2019-12-24 11:01


Persönliches Gimp

Das Grafikprogramm GIMP verfügt über unzählige Kommandos und Optionen, die Sie per Tastaturkürzel erreichen.
Mit GIMP können Sie Tastaturkürzel definieren und ändern. Neben jedem Menüpunkt sehen Sie die Anzeige der aktuellen Tastenkombination. Ist keine definiert, bleibt das Feld frei. Bewegen Sie die Maus auf einen Menüpunkt, können Sie eine neue Tastenkombination eingeben. Diese wird angezeigt und steht sofort zur Verfügung. Sie löschen eine Kombination, indem Sie als Kürzel die [Rückschritt]-Taste (Backspace) eingeben.

Verfasser: Andreas
Letzte Änderung: 2019-12-24 11:02


Plugins einsetzen

Für GIMP benötigen Sie spezielle Plugins, die Sie wie gewohnt aktivieren und ausschalten.
GIMP verwendet eine eigene Plugin-Architektur: Die sonst üblichen Plugins, die dem Adobe-Standard entsprechen, können Sie nicht verwenden. Aktivieren Sie die GIMP-Plugins, indem Sie sie in das Plugin-Verzeichnis PlugIn auf die Festplatte kopieren. Im Internet erhalten Sie zusätzliche Plugins, etwa unter der Adresse
ww.gimp.com

Verfasser: Andreas
Letzte Änderung: 2019-12-24 11:02


Schrifteffekte nutzen

Die Schrifteffekte von GIMP enthalten von Haus aus einen oft störenden Hintergrund. Mit einem Trick beseitigen Sie ihn.
GIMP wird standardmäßig mit 27, differenziert einstellbaren Schrifteffekten ausgeliefert. Diese ersetzen unter Umständen komplexe Eigenkompositionen und finden sich in der Hauptpalette unter Xtns/Script-Fu/Logos. Hier können Sie eine passende Schrift, deren Größe und je nach Effekt auch Zusatz-optionen wie Farben auswählen. Der Haken an der Sache ist, daß diese aufwendig gestalteten Schrifteffekte jedesmal ein eigenes Bild erzeugen. Sie können sie nicht direkt in eine bestehende Grafik einsetzen. Der Schrifteffekt sollte aber ohne Hintergrund im zu bearbeitenden Bild erscheinen. Um dieses Manko zu umgehen, öffnen Sie die Palette Layer & Channels und gehen dort unter Image auf das neu erstellte Bild mit dem Schrifteffekt. Schalten Sie dort in der Palette per Mausklick auf das Augensymbol vor dem Background-Layer die Ansicht auf diese Ebene aus. Klicken Sie mit der rechten Maustaste auf eine der Ebenen, um das entsprechende Ebenen-Kontextmenü zu öffnen, und wählen Sie dort Merge Visible Layers (alternativ das Kürzel [Strg-M]). Damit werden alle Ebenen dieses Effekts bis auf die Hintergrundebene zusammengeführt. Diese neue Ebene muß dazu markiert (aktiv) sein. Klicken Sie in das Fenster des Schrifteffekts, um es zu aktivieren. Markieren Sie diesen Schrifteffekt komplett mit [Strg-A] (oder klicken Sie mit der rechten Maustaste ins Bild und auf Select/All), und kopieren Sie ihn mit [Strg-C] (bzw. mit Klick auf die rechte Maustaste ins Bild und per linker Maustaste auf Edit/Copy) in die Zwischenablage. Falls Sie den Schrifteffekt mit Hintergrund in Ihr Bild einsetzen wollen, klicken Sie nur mit der rechten Maustaste auf eine Ebene. Sie wählen Flatten Image, aktivieren das Bildfenster, markieren und kopieren es. Wechseln Sie in das Bild, in das der Schrifteffekt eingesetzt werden soll. Mit [Strg-V] (bzw. mit Klick auf die rechte Maustaste ins Bild und über Edit/Paste) setzen Sie den Effekt ein. Um diesen leichter editieren zu können, sollten Sie aus der entstehenden Floating Selection eine reguläre Ebene machen, indem Sie in der Ebenenpalette unter Image auf dieses Bild umschalten, per Klick mit der rechten Maustaste auf die Ebenen das Menü öffnen und New Layer wählen. Damit wird aus der Floating Selection, die nur als Ebene erhalten bleibt, solange Sie keinen anderen Bildbereich bearbeiten, eine echte Ebene.

Verfasser: Andreas
Letzte Änderung: 2019-12-24 11:02


Skalieren ohne Qualitätseinbrüche

Bei Größenänderungen (Skalieren) von Bildern mit wenigen Farben entstehen häufig große Qualitätsverluste. Wenn Sie zuvor die Farbtiefe erhöhen, vermeiden Sie diese weitgehend.
Sobald Sie ein Bild mit wenigen Farben skalieren, entstehen erhebliche Qualitätsverluste. Besonders bei Verläufen: Diese bilden Pixel aus und keine gleichmäßigen Verlaufsfarben mehr. Dies umgehen Sie, indem Sie das Bild vor dem Skalieren in ein Format mit größerer Farbtiefe umwandeln. Klicken Sie mit der rechten Maustaste auf das Bild, und machen Sie daraus mit Image/ RGB ein 24-Bit-Bild. Klicken Sie mit der rechten Maustaste erneut auf das Bild, verkleinern bzw. vergrößern Sie es über Image/Scale, und wandeln Sie es dann per Klick mit der rechten Maustaste auf das Bild und Image/Indexed in das ursprüngliche Farbformat um. Wenn Sie so vorgehen, sind die Verluste in der Farbwiedergabe kaum oder gar nicht wahrnehmbar.

Verfasser: Andreas
Letzte Änderung: 2019-12-24 11:03


Spiel mit den Farbkanälen

Für genauere Auswahlen wenden Sie den Zauberstab in den Kanälen einzeln an.
Wenn der Zauberstab nicht präzise genug arbeitet, sollten Sie prüfen, ob er in den einzelnen Farbkanälen besser funktioniert. Oft können dabei ganz andere Ergebnisse erzielt werden, weil sich neue Farbähnlichkeiten ergeben. Dazu schalten Sie die Augensymbole der unterschiedlichen Kanäle in der Channels-Palette weg und experimentieren mit der automatischen Auswahl Dazu schalten Sie die Augensymbole der unterschiedlichen Kanäle in der Channels-Palette weg und experimentieren mit der automatischen Auswahl: Aktivieren Sie über das Augensymbol maximal zwei Farbkanäle.

Verfasser: Andreas
Letzte Änderung: 2019-12-24 11:03


Sterne als Pinsel

Blitzende Sterne in Form vorgefertigter Pinsel sind praktisch 0 etwa für Chromeffekte.
Sie möchten einen Stern als Pinsel einsetzen, der täuschend echt aussieht? So gehen Sie vor: Legen Sie mit [Strg-N] oder über File/New ein neues Dokument an. Es sollte nicht zu groß sein, höchstens 200 x 200 Pixel. Dann ziehen Sie ein schmales Rechteck mit dem Werkzeug Select rectangular regions der Hauptpalette auf. In der Layer-Palette legen Sie mit dem Button links unten eine neue Ebene an entweder per Mausklick (rechte Taste) auf eine Ebene in der Palette und New Layer oder mit [Strg-N]. Mit dem Füllwerkzeug geben Sie dem Rechteck eine beliebige Füllung, damit es sich vom Hintergrund abhebt. Klicken Sie erneut in die Layer-Palette. Mit [Strg-C] oder per Mausklick (rechte Taste) auf die Ebene Duplicate Layer kopieren Sie die Ebene mit dem Rechteck dreimal hintereinander. Gehen Sie mit einem Doppelklick auf das Werkzeug Transform the layer selection in der Hauptpalette. Dadurch öffnet sich gleich auch die Palette Tool Options. Hier wählen Sie Rotate und drehen jede der drei Ebenenkopien so, daß ein Stern entsteht. Um schnell und einfach Rotationsschritte von exakt 15 Grad zu erhalten, halten Sie beim Rotieren der Ebene mit der Maus die [Strg-]Taste gedrückt. Deaktivieren Sie das Augensymbol vor der Background-Ebene in der Layer-Palette, und kombinieren Sie die sichtbaren Ebenen mit [Strg-M] (Mausklick auf die Ebene und Merge Visible Layers). Aktivieren Sie wieder das Augensymbol der Background-Ebene, und klicken Sie mit dem Zauberstab-Werkzeug (Select contiguous regions) neben den Stern. In der Layer-Palette sollte nun der Punkt Keep Trans. angewählt sein. Dieser verhindert, daß außer dem Stern, der bereits als Objekt vorhanden ist, etwas anderes bearbeitet werden kann: Dieser Befehl schützt transparente Bereiche vor versehentlichem Ändern. Mit dem Verlaufswerkzeug legen Sie per Maus einen Farbverlauf vom Zentrum des Sterns (Schwarz) nach außen (Weiß) an. Verwenden Sie dazu die Einstellung Gradient/Radial in der Palette Tools Option Wechseln Sie auf die Background-Ebene. Hier ziehen Sie nochmals einen radialen Farbverlauf von der Sternmitte nach außen auf aber nicht mehr ganz so weit. Dieser Verlauf sollte von ca. 80 Prozent Schwarz nach Weiß angelegt sein, da er nur den Lichthof des Sterns bilden, die Strahlen aber nicht überdecken soll. Per Klick (oder über die rechte Maustaste) auf Ebene in Layer-Palette/Flatten Image reduzieren Sie das Bild auf eine Ebene. Über die rechte Maustaste in Bild/Image/Colors/Invert drehen Sie die Farben für den neuen Pinsel um. Skalieren Sie diesen Stern nach Bedarf, und speichern Sie ihn in verschiedenen Größen für unterschiedliche Einsatzzwecke.

Verfasser: Andreas
Letzte Änderung: 2019-12-24 11:03


Tastaturkürzel festlegen

Mit Tastenkombinationen lassen sich Routinearbeiten schnell erledigen. Auch in GIMP legen Sie Ihre eigenen Shortkeys fest.
Wer viel mit einem Programm arbeitet, gewöhnt sich dessen Tastenkombinationen an, die sich oft von Programmversion zu Programmversion unterscheiden. Wenn sich die Tastenkombinationen von den gewohnten unter-scheiden, wird der Arbeitsfluß massiv gestört. Komfortabler als in GIMP ist es wohl kaum möglich, die eigenen Kürzeltasten zu bestimmen. Wenn Sie in einem Menü auf dem betreffenden Punkt mit der Maus stehen, geben Sie auf der Tastatur lediglich das gewünschte Kürzel ein. So erhält GIMP blitzschnell Ihre gewohnten Shortcuts für effizienteres Arbeiten. In GIMP gespeichert sind die Kürzeltasten aber erst, nachdem das Programm beendet wurde. Sollte das Programm vorher abstürzen, war die Arbeit umsonst.

Verfasser: Andreas
Letzte Änderung: 2019-12-24 10:57


phpMyFAQ » Installation

Wie führe ich ein Update von PHP-MY-FAQ durch?

Hier mal eine kurze Antwort:

Wenn du dir das Archiv gezogen hast, dann entpacke es.

In diesem Ordner löscht du nun die folgenden Dateien und Verzeichnisse:

data.php im INC/ Verzeichnis,

und das Verzeichnis template/

Anschließend kopierst du die Dateien in dein Webspace Verzeichnis in dem du phpmyfaq gespeichert hast.

Nun rufst du deine URL Adresse auf in der du die FAQ installiert hast.

z.B. http://www.beispiel.com/faq/install/update.php

Nun startet das installationsskript für den Updatevorgang.

In diesem wählst du deine derzeit installierte Version aus und folgst den weiteren Schritten.

Voila das Update ist gelungen.

 

 

Verfasser: Andreas
Letzte Änderung: 2021-01-27 17:04


Computer » Programme » Avidemux

Was ist AVIDEMUX

p { margin-bottom: 0.21cm; }

Unterstützt werden bei dem Tool Avidemux alle gängigen Dateiformate und das Programm liest auch Filme von einer Digitalkamera ein.

Unter anderem verarbeitet das Programm die Containerformate:

  • AVI

  • MPEG (PS und TS),

  • MP4,

  • OGM,

  • FLV,

  • MKV,

     

als Videoformate

  • MPEG-1/2,

  • MPEG-4 ASP,

  • M-JPEG,

  • H.263

  • und lesend WMV.

     

Zur Kodierung kommen

  • Xvid und

  • Libavcodec

zum Einsatz.

Das Bearbeiten und Schneiden von Filmen ist problemlos möglich. Avidemux kann mit Skripten automatisiert werden, so dass Sie immer wiederkehrende Aufgaben bequem starten können.

Verfasser: Andreas
Letzte Änderung: 2011-06-02 15:00


Wie wandle ich einen TS Stream in ein MPEG um?

p { margin-bottom: 0.21cm; }h2 { margin-bottom: 0.21cm; }h2.western { font-family: "Helvetica"; font-size: 14pt; font-style: italic; }h2.cjk { font-family: "HG Mincho Light J"; font-size: 14pt; font-style: italic; }h2.ctl { font-family: "Lucidasans"; font-size: 14pt; font-style: italic; 

Als erstes lädst Du dir die Datei in das Programm.

Das Prog erstellt nun einen Index.

Anschließend steckst Du mit den Marken A und B den Bereich ab den du herausschneiden willst – z.B. Werbung

Wenn du dies gemacht hast dann Entf Taste drücken und der abgesteckte Bereich wird entfernt.

Am linken Reiter stellst Du nun folgendes ein:

  • Format: „MPEG PS A+V“

  • solltest du standard (copy)

  • Audio --> Files – Timeshift muss du nun den Versatz von Bild und Tonspur angeben.

-500 ist bei mir meistens ein sehr guter Wert.

Um es genauer feststellen zu können solltest den Film mit der Play Taste etwas laufen lassen und kontrollieren ob der Zeitversatz stimmt. Sollte dies nicht der Fall sein kannst du einen anderen Wert auprobieren.

Übrigens: die Timeshift wird in Millisekunden angegeben also 500 bedeuten so viel wie ½ Sekunde.

Wenn nun auch der Zeitversatz stimmt dann kannst du deinen Film speichern.

Achtung: vergiss die Dateiendung nicht, für MPEG als mindestens mpg.

Verfasser: Andreas
Letzte Änderung: 2011-06-02 15:02


Warum höre ich keinen Sound bei Avidemux?

p { margin-bottom: 0.21cm; }h2 { margin-bottom: 0.21cm; }h2.western { font-family: "Helvetica"; font-size: 14pt; font-style: italic; }h2.cjk { font-family: "HG Mincho Light J"; font-size: 14pt; font-style: italic; }h2.ctl { font-family: "Lucidasans"; font-size: 14pt; font-style: italic; }
  • In den meisten Fällen ist ein Aktivierungsfehler die Ursache.

  • Unter Bearbeiten/Einstellungen (Edit/Preferences) ,dann zum Audio Tab,"Audio Ausgabe" von "DUMMY" nach "WIN32" ändern und mit dem OK Button bestätigen. Jetzt solltest du Sound hören!


Verfasser: Andreas
Letzte Änderung: 2011-06-02 15:03


Wie verbinde ich 2 MPEG - Files?

p { margin-bottom: 0.21cm; }h2 { margin-bottom: 0.21cm; }h2.western { font-family: "Helvetica"; font-size: 14pt; font-style: italic; }h2.cjk { font-family: "HG Mincho Light J"; font-size: 14pt; font-style: italic; }h2.ctl { font-family: "Lucidasans"; font-size: 14pt; font-style: italic; }

Erstes File öffnen, danach:

auswählen, und schon werden beide aneinander gehängt, dann

Ausgabeformat wählen und speichern.

Verfasser: Andreas
Letzte Änderung: 2011-06-02 15:04


Dateien mit Avidemux umrechnen

p { margin-bottom: 0.21cm; }h2 { margin-bottom: 0.21cm; }h2.western { font-family: "Helvetica"; font-size: 14pt; font-style: italic; }h2.cjk { font-family: "HG Mincho Light J"; font-size: 14pt; font-style: italic; }h2.ctl { font-family: "Lucidasans"; font-size: 14pt; font-style: italic; }

Es wird im folgenden davon ausgegangen, dass die Quelldatei in der Auflösung 768x576 (Verhältnis 4:3) vorliegt.

Ziel: MPG

  1. Datei öffnen (ggf. Tonspur wählen und Index erstellen, bei HuffYUV-AVI nicht nötig)

  2. Video-Codec: Xvid4 (ist laut Avidemux-Programmierer mit Avidemux am besten getestet und berechnet die Bitraten für eine definierte Dateiendgröße akkurat)

  3. Video-Codec-Konfiguration:

    1. Two pass. Die Endgröße in MB bezieht sich hier nur auf die Videodaten. Von der gewünschten Gesamtendgröße müssen hier also noch 960 KB Tondaten pro Minute Filmlänge (bei lame-mp3-Codec mit 128 kbit/s CBR) und 5 MB Toleranzpuffer abgezogen werden. Bei einem 90-Minutenfilm und der gewünschten Gesamtendgröße von 700 MB sollte hier also 610 MB eingetragen werden.

    2. Ggf. interlaced markieren (nur, wenn bislang kein Resize durchgeführt wurde und im folgenden kein Deinterlacer verwendet wird).

    3. Greyscale bei Schwarzweiß-Material markieren.

  4. Video-Filter:

    1. Crop (Ränder abschneiden).

    2. bei Bedarf Lavcodec PP Deinterlacer mit Linear Blend zufügen. Nachteil: Güteminderung. Vorteile: Kann nicht nur auf herkömmlichen Fernsehern, sondern auch z.B. am Rechner angeschaut werden, Codecs können mit deinterlaced Material besser umgehen.

    3. bei Bedarf (z.B: VHS-Quelle) Mplayer Denoise3D zufügen.

    4. Mplayer Resize: bilinear verkleinern, bis Breite ≤ 576 und Höhe ≤ 432 Pixel (16er-Teiler aktivieren).

    5. Add black border (optional; damit Bildformat=Bildverhältnis=4:3):

      • wenn Breite geteilt durch Höhe > 1,333, die Differenz von 3/4 der Breite und der gegenwärtigen Höhe durch zwei teilen und diesen Betrag oben und unten als schwarze Ränder zufügen.

      • wenn Breite geteilt durch Höhe < 1,333, die Differenz von 4/3 der Höhe und der gegenwärtigen Breite durch zwei teilen und diesen Betrag links und rechts als schwarze Ränder zufügen.

  5. V Process aktivieren

  6. Audio-Codec: Lame, Stereo, 128 kbit/s, CBR (konstante Bitrate)

  7. Audio-Filter: Resampling 48 to 44,1 kHz

  8. A Process aktivieren

  9. Ausgabeformat: Avi

  10. Datei speichern/umrechnen

Ziel DVD:

  • Datei öffnen, ggf. Tonspur wählen und Index erstellen (bei HuffYUV-AVI nicht nötig)

  • Video-Codec: DVD (lavc) (doppelt so schnell wie DVD)

  • Video-Codec-Konfiguration:

    1. 2 Pass. Für eine volle DVD als Endgröße 4000 MB angeben. Anstelle zu zwei SVCDs umzurechnen, durch die der spätere Filmgenuss für das Wechseln unterbrochen wird, kann auch eine Mini-DVD errechnet werden (wenn die Datei später z.B. über das Netzwerk transportiert werden soll, wo ja eine geringe Größe erstrebt wird). Endgröße hier: 1600 MB minus Filmlänge in Minuten mal 1680 KB Tondaten pro Minute (gilt für MP2-Codec mit 224 kbit/s). Bei einer Filmlänge von 90 Minuten also 1600 MB - 148 MB = 1452 MB. Leider hat sich gezeigt, dass die Zielgröße nicht sehr genau der tatsächlichen Endgröße entspricht. Güte muss später auf Ausreichen geprüft werden.

    2. Für interlaced Material von TV/VHS TFF markieren.

  • Video-Filter:

    1. Crop (Ränder abschneiden) nur links und rechts anwenden. Ein beschneiden oben/unten und eine folgende entsprechende vertiakle Vergrößerung führt zu Interlace-Streifen auf der späteren DVD (es sei denn, es wird ein Deinterlacer angewendet).

    2. stattdessen Blacken Borders (Ränder schwärzen) anwenden, um unsaubere Ränder oben/unten zu klären (unsaubere Ränder verschwenden Kodier-Speicher).

    3. bei Bedarf Lavcodec PP Deinterlacer mit Linear Blend zufügen.

    4. bei Bedarf (z.B: VHS-Quelle) Mplayer Denoise3D zufügen.

    5. DVD Res klicken.

  • V Process aktivieren

  • keine Audio-Umwandlung: A Process nicht aktivieren (wir haben bereits im DVD-Audio-Format aufgezeichnet).

  • Ausgabeformat: Mpeg A+V (PS)

  • Datei speichern/umrechnen

Verfasser: Andreas
Letzte Änderung: 2011-06-02 15:05


Computer » Programme » MySQL

Daten im Griff

Hosting-Pakete bieten oft Datenbanken, die häufig ungenutzt bleiben. Dem Webdesigner ist es oft zu kompliziert, eine individuelle Anwendung zu entwerfen. Hilfen wie Dreamweaver bieten Datenbankzugriffe, sind für Laien jedoch schwer durchschaubar. Data Miner (dataminer.sourceforge.net) dagegen ist ein universell einsetzbares DatenbankScript, um leicht Daten einzugeben, zu editieren, zu löschen, zu durchsuchen und einzelne Datensätze anzuzeigen. Eine Fülle von Funktionen wie Bilder-Upload und Rich-Text-Editing lassen kaum Wünsche offen. Das Design passen Sie mittels Stylesheet Ihrer eigenen Site an. Sie konfigurieren Data Miner fast nur über eine Indexseite, die der Benutzer sich bedarfsgerecht schreibt. Achtung: Englischund grundlegende Datenbankkenntnisse sind dazu allerdings genauso Voraussetzung wie eine bereits existierende Datenbank.

Verfasser: Andreas
Letzte Änderung: 2009-10-18 15:31


UTF8 Kollation einstellen

Bei einem Wechsel der Datenbank  oder aber auch beim einspielen eines Backups zurück in die Datenbank oder in eine neue Datenbank kann es vorkommen, dass die UTF 8 Konvention von Programmen die diese Datenbank benutzen bemängelt wird.

Dies kann z.B. bei Moodle der Fall sein. Obwohl bei der Neuen von Moodel zu benutzenden Datenbank die UTF8 Kollation eingestellt ist so wird dies dennoch bemängelt. Abhilfe schafft dabei folgender Befehl der als Administrator am bequemsten über phpmyadmin eingegeben wird:

ALTER DATABASE "moodledatenbankname" DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

Diesen Befehl kann man aus jedem Reiter "SQL" egal in welcher Datenbank man sich befindet absetzen. Enscheidend ist dabei nur, dass der richtige Datenbankname eingesetzt wird.

Anstelle der utf8_unicode_ci Kollation kann es sein, dass eine utf8_general_ci Kollation Verwendung findet. Für internationale Anwendungen sollte utf8_unicode_ci verwendet werden wobei dieser etwas langsamer ist als die utf8_general_ci Kollation.

Einzelne Tabellen in einer Datenbank kann man mit folgendem SQL-Kommando in utf8 konvertieren:

ALTER TABLE "tabellenname" CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;

Der Unterschied zwischen utf8_general und utf8_unicode wird im My-SQL-Forum beschrieben (englisch).

Verfasser: Andreas
Letzte Änderung: 2021-01-27 21:15


Computer » Linux » Shell

CPU Infos auslesen und in der Schell ausgeben

Dies geschieht mit dem folgenden Befehl:

 grep "lm" /proc/cpuinfo

 

Verfasser: Andreas
Letzte Änderung: 2011-05-08 17:47


Bilder mit ImageMagick scalieren

Mit ImageMagik läßt sich auf der Konsole einiges machen. Unter anderem kann ich ganz bequem einen Haufen Bilder
skalieren.

 

convert -resize 800x800 Bild.jpg Bild_klein.jpg

Ich habe absichtlich 800x800 eingegeben, damit das Seitenverhältnis erhalten bleibt. Wenn das ursprüngliche Bild z.B. eine Größe von 1024x768 hatte, wurde es nun auf 800x600 skaliert.

 

Wer keine Lust hat mit Pixelangaben zu arbeiten, kann stattdessen auch Prozentangaben verwenden:

convert -resize 50% Bild.jpg Bild_klein.jpg
Wenn ich aber eine Sammlung von 500 Bildern habe, möchte ich diesen Befehl nicht für jedes Bild wieder aufrufen. Wir können uns die Arbeit aber erleichtern. Dazu wechseln wir in das Verzeichnis mit den Bilder und geben folgendes ein:
ls -1 *.jpg | while read file;
do convert -resize 50% "$file" "basename thumb_"$file"";
done
Mit diesem Aufruf wird jedes JPG-Bild im Verzeichnis um 50% verkleinert. Das verkleinerte Bild erhält einen Dateinamen
nach folgenden Schema: thumb_Bildname.jpg Die ursprünglichen Dateien werden nicht verändert. Falls euch thumb_ nicht gefällt, ändert es einfach.
Quelle: http://www.linux-club.de

Verfasser: Andreas
Letzte Änderung: 2012-09-30 10:20


Computer » Programmierung

Compiler: "Dekorierte" Funktionen

Machen Sie das Verfahren Function Name Mangling rückgängig.
 Beim Übersetzen von C++-Quelldateien werden Funktionsnamen "dekoriert" (decorated) - man spricht auch von Function Name Mangling. Darunter versteht man die (Internet-)Veränderung des Namens, um diesen eindeutig zu machen. Dafür werden beispielsweise die Parameter einer Funktion und deren Typen verwendet. Es kann aber notwendig werden, die "dekorierte" Variante eines Funktionsnamens zu kennen. Leider ist sie irgendwo im Objektcode versteckt. Doch mit Fachwissen erhalten Sie die Namen, wofür sich zwei Lösungen anbieten:
 - Zum einen existiert die imagehelp.dll. Sie bietet eine API-Funktion, mit der sich aus einem dekorierten Namen der ursprüngliche ermitteln läßt.
 - Zum anderen empfiehlt sich das Browser Toolkit, das eine ähnliche Funktion bereitstellt. Informationen zum Browser Toolkit finden Sie in der Knowledge Base unter dem Stichwort Q153393. Die imagehlp.dll ist ebenfalls in der Knowledge Base dokumentiert.
 Übrigens: Wenn Sie Windows 95 einsetzen, ist diese DLL von Haus aus nicht auf Ihrem System installiert - nur bei NT ist sie grundsätzlich dabei. Es gibt aber eine lizenzfreie Variante von imagehlp.dll, die Sie auch unter Windows 95 einsetzen können.
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 17:42


Die Agenten von Windows

Die knappe Dokumentation zu Microsofts Agent-Control bedarf einiger weiterer Erläuterungen.
 Prinzipiell können Sie Microsoft Agent genau wie jedes andere OLE-Control verwenden. Das einzige Problem beim Agent besteht in der mageren Dokumentation. Nach dem Import des Controls in Ihr Projekt liegt zwar eine Vielzahl an Header- und CPP-Dateien vor, aber leider sind alle aufzutreibenden Beispiele in Visual Basic oder BasicScript verfaßt.
 Das Programm agent.c (Listing in Databox 12/97) ist eine Variante in C++. Zwar demonstriert es nicht alle Interfaces und deren Methoden, aber, ausgehend von diesem Rahmencode, sollten Sie in der Lage sein, das Agent-Control vollständig zu nutzen.
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 17:42


DLLs im Überblick

Wenn Sie die Übersicht über die verwendeten DLLs verlieren, geschehen Dinge, die Sie nie für möglich gehalten hätten.
 Wer viele DLLs benutzt, verliert schnell den Durchblick - vor allem über deren Versionen. Da installieren Sie schon mal eine falsche Variante der MFC-DLLs oder übersehen eine DLL vollständig.
 Für dieses Problem gibt es - zumindest teilweise - Abhilfe. Im SDK finden Sie das Tool depends.exe. Dieses zeigt für ein gegebenes Image alle von diesem gelinkten DLLs an - und zwar sowohl deren Version als auch deren Position auf der Festplatte. Zumindest für alle DLLs, die Sie in Form von Import-Libraries laden, hilft depends Ihnen ein ganzes Stück weiter.
 Was depends allerdings nicht anzeigen kann, sind DLLs, die der API-Aufruf LoadLibrary() erst zur Laufzeit laden kann. Doch auch hierfür gibt es ein handliches Werkzeug: "ListDLLs".
 Dieses Programm kann alle DLLs auflisten, die ein momentan laufender Prozeß benutzt. Alles, was Sie tun müssen, ist, die in DLLs liegenden Funktionen Ihrer Anwendung zu aktivieren und ListDLLs zu starten. Danach haben Sie eine vollständige Liste aller Dateien, von der Ihre Anwendung abhängig ist. ListDLLs finden Sie unter: www.ntinternals.com

Verfasser: Andreas
Letzte Änderung: 2012-03-09 17:44


Drucken - ganz einfach

Nutzen Sie die Druckfunktionen von notepad oder write für eigene Programme.
 Eine txt- oder rtf-Datei läßt sich auf zwei Arten drucken:
 - Zum einen können Sie ein Programm schreiben, das etwa mit Hilfe des rtf-Controls die Datei liest und druckt.
 - Einfacher ist folgender Weg: Auf jedem Windows-Rechner sollten sich sowohl notepad als auch write befinden. Diese Programme sind bereits mit allem ausgestattet, was man für den Ausdruck von Dateien braucht. Drucken Sie daher eine Datei aus, indem Sie den String write /p Dateiname an ShellExecute übergeben. Die Shell startet dann write oder notepad und überläßt es dem jeweiligen Programm, die Datei zu drucken.

Verfasser: Andreas
Letzte Änderung: 2012-03-09 17:45


E-Mails mit MFC

Dateien können Sie unter Win32 auf zwei Arten per E-Mail versenden.
 Sie brauchen für den Versand von E-Mails das Rad nicht neu zu erfinden.
 - Sie können zum Beispiel das MAPI (Message API) verwenden, um beliebige Dateien über Windows Messaging zu versenden.
 - Wenn Sie hingegen keine komplette Mailer-Software schreiben möchten, sondern Ihren Anwendern nur eine einfache Methode zum Versenden von Dateien zur Verfügung stellen wollen, gibt es einen besseren Weg, als sich durch die MAPI-Dokumentation zu kämpfen: Die CDocument-Klasse verfügt über die Methode OnFileSendMail().
 Um diese zu verwenden, brauchen Sie nur einen Menüpunkt zu definieren und im zugehörigen Handler OnFileSendMail() aufzurufen. MFC kümmert sich dann darum, daß das aktuelle Dokument per Messaging an einen beliebigen Empfänger versandt wird.

Verfasser: Andreas
Letzte Änderung: 2012-03-09 17:45


Eine cpl-Datei starten

Wenn Sie mit Ihrer eigenen cpl-Datei systemweite Parameter konfigurieren wollen, sollten Sie Ihre Anwendung in der Systemsteuerung programmtechnisch öffnen können.
 Das Starten einer cpl-Datei ist leider nicht klar dokumentiert. Mit dem Code in opencpl.c (Listing in Databox 12/97) können Sie eine Anwendung jedoch aus der Systemsteuerung starten.

Verfasser: Andreas
Letzte Änderung: 2012-03-09 17:46


Erweitertes Visual Studio

Sie verwenden Non Standard Resources, um zum Beispiel ein avi-Video in ein Projekt einzubinden.
 Visual Studio kommt von Haus aus nur mit "einfachen" Ressourcen wie Bitmaps und Dialogen klar. Schwieriger wird es, wenn Sie beispielsweise ein avi-Video in Ihr Projekt einbinden möchten. Hierfür bietet es keine fertigen Mechanismen.
 Trotzdem ist die Verwendung einer avi-Datei relativ einfach. Definieren Sie zunächst einen Identifizierer für die avi-Datei, und tragen Sie dann eine Referenz auf diese Datei im .rc2-Skript innerhalb des RES-Verzeichnisses ein:
 IDR_AVI_MEIN_AVI AVIA "Dateiname.avi"
 Danach können Sie die avi-Datei in Ihrem Code einfach anhand des Identifizierers verwenden. Beim Animation Control geben Sie der Methode Load() beispielsweise einfach den von Ihnen definierten Parameter als Identifizierer mit.
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 17:46


Fehlersuche mit Komfort

Wie die Dokumentation in der Datei autoexp.dat ausweist, erweitern Sie den Debugger um eigene Datentypen.
 Der VC++-Debugger expandiert einige Strukturen in den Datatip- und Watch-Fenstern automatisch. Wenn Sie den Cursor etwa über eine Variable vom Typ POINT halten, werden automatisch die Werte für x und y angezeigt. Es ist nicht notwendig, die Struktur von Hand zu expandieren.
 Erfreulicherweise läßt sich dieses automatische Expandieren auch mit eigenen Datentypen durchführen. Wie das geht, dokumentiert die Datei autoexp.dat in Ihrem VC++-Verzeichnis im Detail.
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 17:47


IDE: Der richtige Header

Mit der Hilfsdatei sysincl.dat können Sie Ihre Dependency-Liste verkleinern.
 VC++ kümmert sich selbständig darum, welche Dateien von welchen Headern abhängig sind. Dabei ist es aber oft nicht wünschenswert, wenn System-Includes oder auch eigene, zu Libraries gehörende Header-Dateien in die Liste der abhängigen Dateien aufgenommen werden. Aus diesem Grund existiert die Datei sysincl.dat, die Sie in Ihrem VC-Verzeichnis finden. Alle in dieser Datei aufgelisteten Dateien werden beim Erzeugen der Dependency-Liste nicht berücksichtigt. Hier können Sie also auch Ihre "unveränderlichen" Header-Dateien eintragen.

Verfasser: Andreas
Letzte Änderung: 2012-03-09 17:47


IDE: Die Qual der Wahl

Wenn Sie den richtigen Editor festlegen, sind Schlüsselworte farbig gekennzeichnet.
 VC++ verwendet die zur Verfügung stehenden Editoren und auch das Syntax-Highlighting in Abhängigkeit von der Dateierweiterung. Das erschwert die Arbeit mit "modernen" C++-Headern, denn diese Dateien haben keine Dateierweiterung. Also gibt es auch kein Syntax-Highlighting.
 Die Lösung ist die Datei langext.dat aus Ihrem VC++-Verzeichnis. Mit ihr können Sie eine Datei anhand ihres Namens als zu einer bestimmten Sprache zugehörig markieren. Wenn Sie hier Ihre C++-Header-Dateien eintragen, erkennt VC++, daß es sich um einen C++-Header handelt, und liefert Ihnen die richtigen Farben im Editor.

Verfasser: Andreas
Letzte Änderung: 2012-03-09 17:47


mciSendString() mit Fehlermeldung

Nutzen Sie ein VC-Makro, um eine MCI-Funktion zu erkennen.
 Wenn Sie in Ihrem MFC-Programm die MCI-Funktionen verwenden wollen, wie zum Beispiel mciSendString(), erhalten Sie beim Übersetzen immer die Fehlermeldung, daß mciSendString ein nicht deklarierter Identifizierer ist.
 Dies resultiert daraus, daß diese Funktion nur dann definiert wird, wenn das Makro WIN32_LEAN_AND_MEAN nicht definiert wurde: Das ist bei MFC-Programmen per Default der Fall.
 Um diese Funktion verwenden zu können, stellen Sie sicher, daß WIN32_LEAN_AND_MEAN in Ihren Präprozessor-Einstellungen nicht gesetzt wird, und das Übersetzen gelingt.
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 17:48


Probleme mit ParseCommandLine

Manchmal tut die ParseCommandLine-Funktion nicht ganz das, was Sie von ihr erwarten.
 Eine vielleicht unerwartete Fehlermeldung läßt sich leicht abstellen. Enthält beispielsweise ein übergebener Dateiname Leerzeichen in seinem Pfad, so erhalten Sie als Resultat nur den Pfad bis zum ersten Leerzeichen. Ihre MFC-Anwendung reagiert darauf mit der Meldung, die betreffende Datei nicht öffnen zu können, weil sie nicht vorhanden ist.
 Der Grund dafür ist, daß das für open in der Registry abgelegte Kommando nicht korrekt eingetragen ist: Hier ist es wichtig, daß Sie die angegebenen Parameter mit Anführungszeichen einschließen. Ändern Sie den Eintrag
 DasProgramm.exe %1
 einfach in:
 DasProgramm.exe "%1"
 Mit diesem simplen Trick bereiten Leerzeichen im Pfad oder im Dateinamen keine Probleme mehr.

Verfasser: Andreas
Letzte Änderung: 2012-03-09 17:48


Rekursive Verzeichnisse

Seit jeher kann die RTL-Funktion mkdir() Verzeichnisse nicht rekursiv erzeugen.
 Das Anlegen eines kompletten Verzeichnisbaums ist mit der Funktion mkdir() nicht möglich. makedir.c (Listing in Databox 12/97) zeigt den richtigen Code. Sie müssen ihn allerdings noch um eine Fehlerbehandlung erweitern. Sonst treten zum Beispiel beim Versuch, illegale Verzeichnisnamen anzulegen, Fehler auf.

Verfasser: Andreas
Letzte Änderung: 2012-03-09 17:49


Tray-Icon mit Menü

Mit wenigen Zeilen Quellcode statten Sie Ihr Tray-Icon mit einem Menü aus.
 Tray-Icons sind Sinnbilder in der Notification Area der Task-Leiste. Sie erfreuen sich großer Beliebtheit, doch leider sind die zugehörigen Objektmenüs nicht ganz leicht zu implementieren. Folgen Sie der Dokumentation, schlagen jedenfalls alle Versuche fehl. Sie ist nicht nur unvollständig und falsch, die zu verwendende API-Funktion selbst arbeitet obendrein auch noch fehlerhaft.
 tray.c (Listing in Databox 12/97) zeigt den kompletten und funktionierenden Code für die Anzeige eines Objektmenüs für ein Tray-Icon.

Verfasser: Andreas
Letzte Änderung: 2012-03-09 17:49


Wo ist der Browser?

Pfad und Laufwerk des Default-Browsers spüren Sie mit einem Code-Fragment auf.
 Aufgrund des Browser-Kriegs zwischen Microsoft und Netscape ist es nicht immer ganz einfach, herauszufinden, welcher Browser momentan der Default-Browser ist und wo er sich auf dem Rechner befindet. Das Code-Fragment in fbrowser.c (Listing in Databox 12/97) nimmt Ihnen diese Suche ab.

Verfasser: Andreas
Letzte Änderung: 2012-03-09 17:50


C bleibt Bootlaufwerk

Ein Debug-Programm verhindert ungewolltes Booten von der Diskette.
 Wer hat nicht schon einmal die Diskette im Laufwerk vergessen und sich darüber geärgert, daß von ihr gestartet wird? "makebs.bat" (Make BootSektor) verhindert das. Es ruft mit nur einer Zeile das Dienstprogramm Debug auf:
 debug < makebs.deb
 Das Debug-Listing "makebs.deb" (Listing in Databox 2/97) schreibt einen neuen Disketten-Bootsektor über den alten. Der neue Bootsektor leitet bei einem versehentlichen Booten von Diskette das Starten von der Festplatte ein. Alles weitere läuft wie gewohnt ab.
 Bootdisketten, die ein Betriebssystem enthalten, sollten Sie
 nicht mit Makebs behandeln. Sie würden sonst das Betriebssystem nicht von der Diskette laden, sondern von der Festplatte. Ist es aber doch passiert, übertragen Sie mit dem Befehl
 sys a:
 wieder das Betriebssystem auf den mobilen Datenträger. "makebs.deb" ist auf das Format der 3,5-Zoll-Disketten mit 1,44 MByte in Laufwerk A abgestimmt. Die ersten drei Zeilen stellen den sogenannten BIOS-Parameter-Block (BPB) dar, der das Format eines Datenträgers beschreibt. Wollen Sie Disketten anderer Formate bearbeiten, passen Sie den BPB entsprechend an.
 Das eigentliche Bootprogramm beginnt bei Zeile 6. Es kopiert zuerst sich selbst nach Adresse 0:7E00, um beim nachfolgenden Laden des MBR (Master Boot Record) der Festplatte nicht selbst überschrieben zu werden. Dann wird der MBR von der Harddisk geladen und angesprungen. Die letzten vier Zeilen ergänzen den Bootsektor, schreiben ihn auf Diskette und beenden Debug. Auch unter OS/2 und Windows 95 arbeiten diese Disketten korrekt.
 Einige wenige Voraussetzungen müssen erfüllt sein: Die Diskette muß formatiert sein, darf nicht schreibgeschützt sein, und "debug.exe" muß im Suchpfad liegen. Neben dem System gespeicherte Daten bleiben intakt.
 Jens Glöckner/et
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 18:14


Computer » Programmierung » C++

Digitaluhr mit Überblendeffekt

Als Ersatz für die tickende Zeigeruhr schreiben Sie eine Digitaluhr mit fließenden Übergängen zwischen den Sekunden.
Am Beispiel einer Digitaluhr demonstriert FadeClock das Überblenden zweier Einzelbilder. Dabei behalten die zwei übereinanderliegenden Ziffern ihre Farbe - allerdings bekommen die Schnittflächen der beiden Ziffern einen neuen Farbwert. Der Überblendeffekt entsteht durch Ausblenden des alten und Einblenden des neuen Farbwerts. Die Farbe der Schnittflächen bleibt dabei konstant.
Der größte Teil des Programms besteht aus der Funktion buildDigits, die alle Ziffern auf den Bildschirm zeichnet und als Bitmaps im digit-Feld ablegt. Dies geschieht unsichtbar für den Betrachter, da vorab die entsprechenden Paletten-Register der Zeichenfarbe gelöscht werden.
Zunächst kopiert "fclock.cpp" (Listing in Databox 4/97) alle Ziffern der aktuellen Uhrzeit mit dem sichtbaren Attribut 3 auf den Bildschirm. Nun wird ein gefülltes Rechteck mit dem konstant unsichtbaren Attribut 5 durch eine AND- Verknüpfung hinzukopiert. Das Attribut der Ziffern wechselt dabei auf das sichtbare Attribut 1, und das Paletten-Register für das Attribut 3 kann gelöscht werden. Eine XOR-Verknüpfung legt nun die neuen Ziffern mit dem momentan unsichtbaren Attribut 3 darauf. Die Schnittflächen besitzen jetzt das sichtbare Attribut 2. Nun ist nur noch das Attribut 1 aus- und das Attribut 3 einzublenden, und alles beginnt von neuem.
Vergewissern Sie sich beim Kompilieren unter Turbo/Borland C++, daß das Einbinden der BGI-Grafikbibliothek aktiviert ist. Unter Windows erstellen sie eine Projektdatei, wobei Sie als Umgebung "DOS (Standard)" wählen.

Verfasser: Andreas
Letzte Änderung: 2009-09-14 22:42


Lineare Gleichungen

Eines der wichtigsten, mathematischen Verfahren löst lineare Gleichungssysteme.
"gauss.cpp" (Listing in Databox 5/97) löst lineare Gleichungssysteme in n Variablen und demonstriert dabei eines der wichtigsten Verfahren der numerischen Mathematik. Als Beispiel dient das folgende lineare Gleichungssystem:
Glg. 1: 3a+4b+1c=7
Glg. 2: 2b+1c=0
Glg. 3: -a-b=-3
Das Programm löst die Aufgabe mit den Werten
a=1,b=2,c=-4
Die Bedienung dazu ist einfach: Sie geben in jeder der drei Gleichungen der Reihe nach die Koeffizienten ein, wobei Sie die Eingabe einer Zahl mit der Leertaste abschließen. Bei Variablen, die wie zum Beispiel "c" in der dritten Gleichung nicht vorkommen, tippen Sie eine Null ein. Wenn die Gleichungen sich widersprechen oder die Lösung nicht eindeutig ist, meldet das Programm dies. Ansonsten berechnet es die Lösung und gibt sie in einem Vektor aus.
Zum Programm: In der Konstanten n legen Sie die Dimension des Gleichungssystems fest, geben also ein, wie viele Variablen vorkommen. Die solve-Funktion erhält als Parameter eine zweidimensionale Matrix M[n][n+1] mit n Zeilen und n+1 Spalten. Die letzte Spalte ist die rechte Seite des Gleichungssystems. Das Array x[n] speichert die Lösung.
Lösen Sie jetzt das Gleichungssystems mit dem Gaußschen Eliminationsverfahren. Dazu bringen Sie die Matrix M auf die obere Dreiecksform, die sich zurücksubstituieren läßt. Der Rest des Programms ist nur für die Eingabe zuständig.

 

Verfasser: Andreas
Letzte Änderung: 2009-09-14 22:43


Pi mit 1000 Stellen

Den Wert der geheimnisvollen Kreiszahl ? erhalten Sie in einer Textdatei mit 1000 Stellen.
Viele kennen die Zahl ? (3,14) noch aus ihrer Schulzeit, für andere ist sie die einzig wahre Konstante des Universums. "pi.cpp" (Listing in Databox 2/97) errechnet diese geheimnisvolle Zahl mit 1000 Stellen.
Es gibt viele Methoden, um ? zu berechnen. Die meisten - auf Reihen basierenden - Algorithmen brauchen zu viel Zeit, um auch nur 100 Stellen nach dem Komma zu liefern. Der schnellste rekursive Algorithmus stammt vom japanischen Programmierteam Tamura und Kanada. Aber auch dieser stellt Hobbyprogrammierer vor ein Problem: Sie müssen sehr lange Zahlen addieren, subtrahieren, multiplizieren, dividieren und daraus sogar Wurzeln ziehen. Dafür gibt es zwar Bibliotheken, aber die haben andere geschrieben. Ein weiteres Problem dieser Algorithmen ist, daß sie stundenlang rechnen, ohne Zwischenergebnisse zu liefern - erst ganz zum Schluß sehen Sie das Resultat.
Mit "pi.cpp" warten Sie nur ein paar Sekunden, und schon haben Sie das Ergebnis auf 1000 Stellen genau. Zudem können Sie die Berechnung leicht auf 10 000 oder sogar 100 000 Stellen erweitern.
Das Programm basiert auf einem neuartigen Verfahren, das an den derzeit schnellsten Algorithmus von Tamura und Kanada fast herankommt. Nur bei sehr großen Ergebnissen wird er langsamer. Seine entscheidenden Vorteile:
1. Er funktioniert ausschließlich mit Integer-Arithmetik. So können Sie ihn in allen gängigen Sprachen leicht programmieren.
2. Alle Zwischenergebnisse fallen nicht zu groß aus, so daß Sie sie in einfachen ganzzahligen Datentypen speichern.
3. Die Anzahl der berechneten Stellen ist proportional zur Laufzeit des Programms. Das bedeutet, wenn Sie zum Beispiel in einer Minute x Stellen berechnen, erhalten Sie in zwei Minuten zweimal x Stellen.
Das Herz des Algorithmus bilden zwei Arrays, die Sie anfangs mit 2 und 0 initialisieren. Dann werden Schleifen über die Arrays gebildet: Die J-Schleife erbringt eine Ziffer, die I-Schleife muß für jede Ziffer ganz durchlaufen werden. Der erste vollständige Durchlauf der I-Schleife liefert demnach die erste Ziffer 3, der zweite Durchlauf die Zahl 1 und so weiter. Die Ziffern tröpfeln gewissermaßen wie aus einem Wasserhahn ("Tröpfel-Algorithmus"). Die genaue Berechnung basiert darauf, daß Sie ? in einem komplexen Zahlensystem als 2,2222222 periodisch darstellen können (Array "r"). Diese Darstellung können Sie in einem mathematischen Verfahren ähnlich dem Horner-Schema (beschrieben in DOS 3'93, S. 315) auflösen. Sind die herausfallenden "Tropfen" (Zahlen) größer als 9, korrigieren Sie die vorhergehende Ziffer (Zeile 34: "Digit correction").
Der letzte Teil des Programmes (/* Output */) gibt das Array "p" formatiert aus, schreibt also die Ziffern in die Datei "pi.txt".

Verfasser: Andreas
Letzte Änderung: 2009-09-14 22:44


Teilzeichenketten

In Verbindung mit Stapeldateien ermitteln Sie den Inhalt von Teilzeichenketten aus DOS-Variablen.
Das nur in Verbindung mit Stapeldateien sinnvolle Programm "substr.c" (Listing in Databox 3/97) ermittelt Teilzeichenketten von DOS-Variablen der Form "%var%" oder "%1" und weitere Parameter. Daraus generiert das Programm eine Stapeldatei "subst$.bat" mit folgendem Eintrag:
set subst=teilzeichenkette
Rufen Sie "subst$.bat" auf über die Syntax
substr %var% beginn länge
Die Variable "subst" enthält jetzt die gesuchte Zeichenkette. Sie wird immer in Großbuchstaben geliefert, um die Weiterverarbeitung wie etwa die Abfrage des Inhalts einfach zu gestalten. "%var%" legt die DOS-Variable fest, "beginn" markiert die Startposition in "%var%", und "länge" legt die Länge der Teilzeichenkette fest. Als Ergebnis erhalten Sie die Stapeldatei "subst$.bat" mit dem Eintrag
set subst=teilzeichenkette
Das Beispiel
set text=Steuerberater
substr %text% 2 5
liefert in "subst$.bat" den Eintrag
set subst=TEUER Die Beispieldatei "t.bat" (Listing in Databox 3/97) testet die Ausführungen.

Verfasser: Andreas
Letzte Änderung: 2009-09-14 22:45


Vulkanausbruch

Sie brauchen weder BGI-Treiber noch Grafikbibliotheken, um ein Naturereignis auf den Monitor zu zaubern.
"vulkan.cpp" (Listing in Databox 1/97) präsentiert Ihnen einen Vulkanausbruch über den gesamten Bildschirmbereich. Das Programm benötigt weder BGI-Treiber noch sonstige Grafikbibliotheken. Nur mit Ganzzahlen programmieren Sie den Ablauf im Bildschirmmodus 13hex mit 256 Farben.
Daß die heißen Partikel immer langsamer in die Höhe steigen und zum Teil fast still schweben, wird durch einen kleinen Trick erreicht: Während der Ausführung erhöhen Sie bei jedem Schleifendurchlauf die Variable zh um 1. Ist sie größer als 3, setzt sie Zeile 24 auf 0 zurück. Dadurch ist die Variable nur alle vier Durchläufe einmal größer als 2. Das Array Lvc[ ] hält die Bewegungsenergie des Glutteilchens fest, das Lvb[ ] gibt die Richtung vor, in die es fliegen soll. Das Feld Lvf[ ] enthält die Leuchtstärke. Die Partikel werden nach dem Verlassen des Vulkans langsam dunkler, weil sie sich in der Luft abkühlen. Die Delay-Anweisung in Zeile 23 bestimmt die Geschwindigkeit der Simulation.

Verfasser: Andreas
Letzte Änderung: 2009-09-14 22:46


Zugriff auf EMS Speicher

Sie greifen auf erweiterten Speicher zu, als handele es sich um konventionellen.
Mit der Unit "ems.h" (Listing in Databox 3/97) greifen Sie auf den erweiterten Speicher wie auf konventionellen zu. "s" ist das Segment, das den erweiterten Speicher einblendet. "ie(p,*h)" ist die Initialisierungsroutine, wobei "p" die Seiten zählt. Eine Seite, die Sie allozieren wollen, ist 16 384 Byte groß. "*h" bestimmt das Handle, über das Sie die belegten Seiten ansprechen.
Als erstes finden Sie in der Initialisierungsroutine die Adresse des Interrupts 67hex. Danach vergleichen Sie die Kennung:
int 67hex Adresse+10
Nun kopieren Sie die Segmentadresse, an der der erweiterte in den konventionellen Speicher eingeblendet wird, nach "s".
Als nächstes ermitteln Sie, ob noch genug Seiten frei sind. Wenn ja, werden diese belegt und das Handle in "h" gespeichert. "m(h,p,l)" dient als Routine zum Setzen der aktiven Seite: "h" ist das Handle des belegten Speichers. "p" ist die Seitennummer, in die Sie die 16 KByte große Seite aus dem erweiterten Speicher einblenden. "l" ist eine Seite des bereitgestellten Speichers, und "f(h)" dient als Routine zum Deallozieren.
"we(h,o,v)" schreibt als Routine direkt in den erweiterten Speicher: Dabei stellt "h" das Handle der Seiten dar, "o" das Offset im allozierten Speicher, "v" den Wert, an den Sie das Offset im Speicher schreiben wollen. "re(h,o)" liest als Routine direkt aus dem erweiterten Speicher, wobei die Variablen wie die vorigen arbeiten. Mit "test.cpp" (Listing in Databox 3/97) testen Sie die Unit "ems.h".
Für das Verständnis sind noch die Funktionen des Interrupts 67hex wichtig: Die Funktionsnummer wird in AH abgelegt. Nach dem Interrupt-Aufruf erhalten Sie in AH den Statuscode (0 = kein Fehler).
- Die Funktion 41hex ermittelt die Segmentadresse. BX gibt dabei die Segmentadresse des Fensters aus.
- 42hex ermittelt die freien Seiten, wobei BX die Anzahl der freien Seiten ausgibt und DX die gesamte Seitenanzahl.
- 43hex alloziert die Seiten mit der Eingabe BX als Anzahl der zu belegenden Seiten und DX als Handle zur Ausgabe.
- 44hex setzt das Mapping mit DX als Handle.
Die Eingabe AL legt die Nummer der Seite im Fenster fest, BX die Nummer der Seite im allozierten Speicher und DX das Handle.

Verfasser: Andreas
Letzte Änderung: 2009-09-14 22:47


Computer » Programmierung » Java

Markiertes Wort googeln

Siehe hierzu COM 7/2006 Seite 102.

In der Bibliothek unter der ID 820 zu finden.

Verfasser: Andreas
Letzte Änderung: 2009-05-30 22:04


Ein Bildbetrachter - selbstgemacht

Auch ein Bildbetrachter für GIF- und JPEG-Dateien läßt sich leicht in Java programmieren.
Mit PicView.java (Listing in Databox 11/97) betrachten Sie Bilder in allen Betriebssystemen, für die JDK 1.1.1 oder höher implementiert ist.
Die Anwendung arbeitet ähnlich wie FileView. Auch hier wählen Sie das Bild in einem Dialogfenster aus. Nach dem Schließen des Dialogs ermittelt die Funktion Namen und Pfad der Datei und fügt diese Angaben der Titelleiste des Frame hinzu. Die Funktion getImage() aus dem Toolkit des Frames lädt die Bilddaten der Datei und repaint() ruft die Funktion paint() auf, die dann das Bild darstellt. Auch beim Start, wenn noch kein Bild geladen ist, ruft die Anwendung die Funktion paint() auf. Damit in diesem Fall die Anwendung nicht mit Fehlermeldung abbricht, stellt eine if-Anweisung fest, ob schon Bilddaten vorhanden sind. Wenn nicht, erscheint die Meldung
Kein Bild geladen

Verfasser: Andreas
Letzte Änderung: 2009-10-16 18:31


Java frei im Netz

Java programmieren Sie auch ohne teure Entwicklungsumgebung. Alles, was Sie brauchen, erhalten Sie frei aus dem Internet.
Folgendes reicht aus, um Java-Programme zu entwickeln:
1. Sie besorgen sich die neueste Version des JDK von Sun (1.1.1 oder höher) zum Beispiel aus dem Internet:
http://java.sun.com/products/jdk/1.1/index.html
Die Linux-Version erhalten Sie dort allerdings nicht, sondern unter
ftp://frodo.tucc.uab.edu
im Verzeichnis:
/pub/java-linux/JDK-1.1.1
2. Eine Java-Referenz, wie zum Beispiel die Dokumentation zum JDK 1.1.3 von Sun, finden Sie unter:
http://java.sun.com/docs/index.html
3. Eine Einführung wie das Tutorial von Sun wählen Sie unter der Anschrift:
http://java.sun.com/docs/index.html
Viele wichtige Informationen und Links zu Java finden Sie auch auf der deutschen Java-Seite Kaffe & Kuchen im WWW unter:
http://java.seite.net/

Verfasser: Andreas
Letzte Änderung: 2009-10-16 18:31


Java Anwendungen

Java-Applikationen können fast alles, was Sie auch in anderen Sprachen programmieren, sind jedoch plattformunabhängig.
Während Java-Applets mittlerweile durch das Internet weit verbreitet sind, sind Java-Anwendungen weniger bekannt. Dabei bieten auch sie große Vorteile. Auch sie laufen unverändert auf unterschiedlichen Rechnerplattformen. Im Unterschied zu Applets gelten für sie Sicherheitseinschränkungen wie das Verbot, Dateien auf dem lokalen Rechner zu lesen oder zu schreiben, jedoch nicht.
Java-Anwendungen führt der Java-Interpreter für die jeweilige Rechnerplattform aus. Dieser Interpreter ist erforderlich, um den maschinenunabhängigen Bytecode der Java-Anwendung in Befehle umzusetzen, die das jeweilige Betriebssystem versteht. Allerdings gibt es mittlerweile auch von Sun ein komplett in Java geschriebenenes Betriebssystem JavaOS. Das System führt Java-Programme ohne Interpreter aus.

Verfasser: Andreas
Letzte Änderung: 2009-10-16 18:33


Java Quelldateien

So kompilieren und testen Sie Ihre Java-Programme.
Java-Quelldateien kompilieren Sie mit der Syntax:
javac <Dateiname>
Der Compiler legt für jede Klasse eine eigene Datei mit dem Klassennamen und der Endung .class an. Java-Anwendungen führen sie mit
java <Name der Hauptklasse>
aus, wobei Sie die Erweiterung .class weglassen. Um Java-Applets zu starten, benötigen Sie eine HTML-Datei, in die Sie das Applet einbinden. Wenn Sie diese HTML-Datei im selben Verzeichnis, in dem sich das Applet befindet, anlegen, sieht sie für ein Applet mit der Hauptklasse Applet01 im einfachsten Falle folgendermaßen aus:
<HTML><HEAD></HEAD></BODY>
<APPLET CODE="Applet01.class" WIDTH=100 HEIGHT=100>
</APPLET></BODY></HTML>
Mit WIDTH und HEIGHT stellen Sie Breite und Höhe ein, um das Applet auf der HTML-Seite darzustellen. Sie führen es aus, indem Sie die HTML-Datei einfach in Ihren Internet-Browser laden.
Wenn Sie allerdings Applets mit dem JDK 1.1.1 anfertigen und Funktionen verwenden, die es im JDK 1.0.2 noch nicht gab, kann Ihr Browser diese Applets möglicherweise nicht ausführen. Sie können die Applets aber trotzdem testen: entweder mit dem appletviewer aus dem JDK 1.1.1 (oder höher) oder mit dem HotJava-Browser von Sun. Den HotJava-Browser erhalten Sie unter:
http://java.sun.com/products/hotjava
Allerdings ist er nicht für alle Betriebssysteme erhältlich. Beachten Sie bitte, daß Sie Java-Applets nur ausführen können, wenn Sie im Quellcode die Hauptklasse als public deklariert haben.

Verfasser: Andreas
Letzte Änderung: 2009-10-16 18:34


Java-Umgebung einrichten

So gelingt die Installation der Entwicklungsumgebung für Java optimal.
Beachten Sie bei der Installation des JDK: Ist die Umgebungsvariable CLASSPATH nicht gesetzt, findet Java sowohl die Java-Klassen, die im JDK enthalten sind, als auch die im aktuellen Verzeichnis. Ist CLASSPATH jedoch gesetzt, weil Sie vielleicht zusätzliche Klassen in anderen Verzeichnissen benötigen, sucht Java nur noch dann im aktuellen Verzeichnis, wenn Sie es explizit angeben. Wenn Sie für Ihre Arbeit mit dem JDK den CLASSPATH nicht benötigen, löschen Sie ihn sicherheitshalber, indem Sie im DOS-Fenster SET CLASSPATH=
eingeben. So findet Java auch die von Ihnen kompilierten Klassen im aktuellen Verzeichnis.
Unter Linux müssen Sie, wenn Sie mit dem appletviewer Java-Applets testen wollen, die Umgebungsvariable JAVA_HOME auf das Hauptverzeichnis Ihrer Entwicklungsumgebung setzen, also zum Beispiel auf:
/usr/local/jdk1.1.1

Verfasser: Andreas
Letzte Änderung: 2009-10-16 18:35


Mit Java starten

Aus einer Java-Anwendung starten Sie beliebige Programme.
RunTest.java (Listing in Databox 11/97) zeigt, wie Sie ein Programm aus einer Java-Anwendung heraus starten können. Die statische Funktion Runtime.getRuntime() erzeugt ein Objekt der Klasse Runtime. Die Funktion exec() ruft dann das Programm auf, das starten soll. Die Beispielanwendung ruft das Programm notepad auf. Natürlich funktioniert die Anwendung auch unter anderen Betriebssystemen. Zum Beispiel können Sie in X-Window unter Linux anstelle von notepad xedit aufrufen. Einen auftretenden Fehler fängt der catch-Zweig auf und gibt eine Fehlermeldung aus.
Wenn Sie für die Anwendung noch eine grafische Oberfläche anlegen und zum Beispiel Buttons und Textfelder verwenden, können Sie ein komfortables Menü zum Start Ihrer Programme anlegen.

Verfasser: Andreas
Letzte Änderung: 2009-10-16 18:36


Schutz vor Frame-Piraterie

Sie möchten vermeiden, dass Ihre Website in Frames fremder Homepages dargestellt wird.
Taucht Ihre Website im Frame einer fremden Homepages auf, würde es den Anschein erheben, die von Ihnen mühsam erstellten HTML-Inhalte gehörten zu dieser fremden Website. Wir zeigen Ihnen, wie Sie überprüfen können, ob Ihr Werk in fremden Rahmen abgebildet wird. Ist dies der Fall, haben wir die Lösung parat: Das entsprechende Frameset wird automatisch durch Ihre Seite ersetzt. Setzen Sie folgendes Script zwischen die <body>-Tags im Quellcode Ihrer Homepage:
<script language="JavaScript">
<!
function init() {
if(parent != null && parent != self) {
var host=parent.location.hostname;
if(host != "www.ihrehomepagead dresse.de") {
top.location.href=self.locati on.href;
}
}
}
//>
</script>
Im unserem Beispiel werden zunächst die Attribute parent und self verglichen. Sind sie verschieden, geht Java davon aus, dass Ihre Seite in einem fremden Rahmen dargestellt wird. Danach wird geprüft, zu welchem Server das übergeordnete Web-Verzeichnis gehört: Handelt es sich nicht um Ihren eigenen Server, wird die frem-de URL durch Ihre ersetzt, es wird also das nicht zugehörige Frameset aufgelöst und nur noch Ihre Website dargestellt.

Verfasser: Andreas
Letzte Änderung: 2009-10-16 18:37


SQL-Tool mit JDBC

So greifen Sie mit Java auf Ihre Datenbanken zu.
Ab dem JDK 1.1 ist JDBC im JDK enthalten. Mit JDBC greifen Sie auf jede Datenbank zu, für die ein Treiber existiert. JDBC ist nicht von einer bestimmten Rechnerplattform abhängig, allerdings gibt es nicht für alle Datenbanken JDBC-Treiber. Sehr einfach ist der Zugriff auf Datenbanken, für die ODBC-Treiber existieren, da Sun dafür eine JDBC-ODBC-Bridge zur Verfügung stellt.
Mit DBView (Listing in Databox 11/97) greifen Sie mit Java auf ODBC-Datenbanken zu. In das Textfeld ODBC tragen Sie den Namen Ihrer ODBC-Quelle, in die Felder User ID und Passwort Kennung und Paßwort ein. Ihre SQL-Abfrage schreiben Sie in das Textfeld in der nächsten Zeile. Die Abfrage starten Sie durch Anklicken des Abfrage-Buttons, die Ergebnisse sehen Sie im Fenster darunter. Lassen sich die Ergebnisse nicht vollständig im Textfenster darstellen, können Sie durch das Textfenster scrollen.
Die Funktion main() der Hauptklasse erzeugt einen Frame der Klasse DBFrame und zeigt ihn an. Die Klasse DBFrame implementiert wieder die Schnittstelle ActionListener.
Der Konstruktor DBFrame(String titel) erzeugt einen Rahmen mit Titel. Der WindowsListener bewirkt, daß der Frame beim Anklicken der entsprechenden Stellen geschlossen wird. Um die Textfelder, den Button für das Auslösen der Abfrage, und das Textfenster zur Anzeige der Abfrageergebnisse anzuordnen, verwenden Sie hier das GridBag-Layout. Dieses Layout ist zwar etwas schwieriger zu handhaben als zum Beispiel das Border-Layout (die Voreinstellung für Frames), bietet aber mehr zur Anordnung der Komponenten.
Der Button mit der Beschriftung Abfrage erhält einen ActionListener, durch den Sie die SQL-Abfrage auslösen. Die Funktion setFont() setzt für das Textfenster tRes, das die Abfrageergebnisse ausgibt, eine Schrift mit festem Buchstabenabstand. Nur mit einer solchen Schrift kann das Textfenster die Ergebnisse tabellarisch darstellen. Im ersten try-Block registriert die Funktion Class.forName() den JDBC-Treiber. Klappt die Registrierung nicht, gibt der catch-Block eine Fehlermeldung aus. Der letzte Befehl im Konstruktor setSize() legt die Größe für den Frame fest.
Die Funktion showResult() gibt die Abfrageergebnisse aus. Als Erstes ermittelt getCount() die Anzahl der Tabellenspalten. Dann speichert das Array colSize[] die Breiten aller Spalten, damit sie später bei der zeilenweisen Ausgabe der Abfrageergebnisse nicht ständig neu berechnet werden müssen. Nun löscht result.setText(,") den Text im Fenster. Die folgende for-Schleife gibt die Spaltenüberschriften aus. Damit sich die Spaltenüberschriften nicht verschieben, wenn eine länger ist als die Spaltenbreite, erhöht in diesem Fall eine if-Anweisung die Spaltenbreite auf die Länge der Überschrift. Die append()-Funktion nach der for-Schleife sorgt für einen Zeilenumbruch.
Eine weitere for-Schleife unterstreicht die Überschriften, damit sie vom restlichen Text abgehoben sind. Auch hier erzeugt ein Aufruf der Funktion append() nach der for-Schleife einen Zeilenumbruch. Schließlich gibt eine while-Schleife die Abfrageergebnisse zeilenweise aus. Im try-Block speichert zunächst rs.getString() den Feldinhalt in der Variablen sp. Die Länge des Feldinhalts nimmt die Variable len auf. Die Funktion result.append() hängt den Feldinhalt an den Text im Texfenster an. Die folgende for-Schleife hängt, wenn die Länge des Feldinhalts der Spaltenbreite entspricht, ein Leerzeichen als Mindestabstand zur nächsten Spalte an. Ist der Feldinhalt kürzer als die Spaltenbreite, füllt die for-Anweisung den restlichen Platz mit Leerzeichen auf. Ist ein Feld leer, so löst das eine Exception aus. Dadurch gelangt die Funktion in den catch-Block. Die dortige for-Schleife füllt den gesamten Platz für das betreffende Feld mit Leerzeichen auf. Ist eine Zeile komplett dargestellt, sorgt der Aufruf tRes.append(,\n") für einen Zeilenumbruch.
Die Funktion actionPerformed() startet, wenn Sie den Button mit der Aufschrift Abfrage betätigen. Zunächst erhält die Variable url die vollständige URL der Datenbank, die sich aus jdbc:odbc: und dem Inhalt des Textfeldes tODB zusammensetzt. uid erhält den Inhalt des Textfelde tUID, pwd den Inhalt des Textfeldes tPWD. Im folgenden try-Block baut getConnection() die Verbindung zur Datenbank auf. createStatement() erzeugt eine SQL-Anweisung. Die Funktion executeQuery() fragt nun die Datenbank ab, wobei sie als Abfrageanweisung den Inhalt des Textfeldes tStat verwendet. Das Ergebis nimmt der ResultSet rs auf. Die Funktion showResult() sorgt für die Darstellung der Abfrageergebnisse. Danach schließt rs.close() den ResultSet, stmt.close() die SQL-Anweisung und schließlich con.close() die Verbindung zur Datenbank. Geht beim Aufbau der Verbindung oder bei den folgenden Funktionen etwas schief, gibt der catch-Block eine Fehlermeldung aus.
Sie können diese Java-Anwendung auch an andere JDBC-Treiber und damit an andere Rechnerplattformen anpassen. Dazu übergeben Sie der Funktion Class.forName() als Argument die URL des JDBC-Treibers. In der Funktion actionPerformed() weisen Sie der Variablen url die URL der Datenbank zu, mit der Sie sich verbinden wollen. Geben Sie auch hier einen Teil der URL fest vor, wie jdbc:msql:, und lesen Sie den Rest aus dem Feld tODB. Am besten benennen Sie dieses Feld je nach JDBC-Treiber um.

Verfasser: Andreas
Letzte Änderung: 2009-10-16 18:39


Systemeigenschaften

So zeigen Sie mit Java Daten über Ihre Systemumgebung an.
Mit PList.java (Listing in Databox 11/97) zeigen Sie Daten über Ihre Systemumgebung an, unter anderem zum Betriebssystem, der Rechnerarchitektur, der Sprache, der Java-Version, Ihr Java- und User-Homeverzeichnis. Auch hier verwenden Sie wieder eine Java-Anwendung, da viele dieser Daten sich aus Sicherheitsgründen über ein Applet nicht abrufen lassen.
Die statische Funktion System.getProperties() ermittelt die Systemeigenschaften und speichert sie in einer Tabelle. Diese Tabelle gibt die Funktion list() auf der Konsole aus.
Der Aufruf demonstriert, wie Sie mit getProperty() eine einzelne Eigenschaft aus der Tabelle abrufen können. Wenn Sie das Beispiel aus Tip 28 so erweitern, daß Sie abfragen, welches Betriebbsystem gerade läuft, können Sie jeweils den passenden Editor aufrufen.

Verfasser: Andreas
Letzte Änderung: 2009-10-16 18:40


Textdateien betrachten

Mit wenig Aufwand programmieren Sie einen Betrachter für Textdateien, der unverändert unter Windows 95 und Linux läuft.
FileView.java (Listing in Databox 11/97) ist eine Java-Anwendung, geschrieben mit dem JDK 1.0.2, mit der Sie beliebige Textdateien auf Ihrem Rechner betrachten können. Die Anwendung besteht aus zwei Java-Klassen, der Klasse FileView und der Klasse FVFrame. Damit die Anwendung FileView als eigenständige Anwendung arbeiten kann, benötigt die Hauptklasse die Funktion:
public static void main(String[] args)
Diese Funktion baut lediglich einen Frame der Klasse FVFrame und zeigt ihn an. Die Klasse FVFrame erbt erst einmal alle Eigenschaften der zugrundeliegenden Klasse Frame. Der Konstruktor FVFrame(String titel) liefert einen Rahmen mit Titel, der einen Button zum Laden der Datei und ein Textfenster zum Anzeigen der Datei enthält. Schließlich stellt er mit resize(500, 500) die Größe des Frames ein. Die Funktion handleEvent() sorgt dafür, daß der Frame geschlossen wird, wenn die entsprechende Stelle des Fensters angeklickt wird. Die Funktion action() zeigt beim Anklicken des Buttons Datei laden mit show() ein Dialogfenster, in dem Sie auswählen können, welche Datei Sie betrachten wollen. Nach dem Schließen des Dialogs ermittelt die Funktion Namen und Pfad der Datei und fügt diese Angaben der Titelleiste des Frame hinzu. Der folgende try-Block löscht zunächst den bisher angezeigten Text im Textfenster. Dann erzeugt er einen Eingabe-Stream, der aus der Datei Daten liest. Diese Daten filtert DataInputStream, liest sie, solange noch Daten vorhanden sind, mit der Funktion readLine() Zeile für Zeile aus und hängt den gelesenen Text mit der Funktion appendText() dem schon vorhandenen Text an. Paßt der gesamte Text nicht ins Fenster, so können Sie nach dem Einlesen durch den Text scrollen. Geht beim Einlesen etwas schief, gibt das Programm eine Fehlermeldung aus.
FileView2.java (Listing in Databox 11/97) zeigt dieselbe Anwendung, diesmal aber mit dem JDK 1.1.1 geschrieben. Hier verwenden Sie, um den Frame und den Dialog anzuzeigen, anstelle von show() die Funktion getVisible(true). Sie könnten auch show() benutzen. Da aber die komplementäre Funktion hide() durch setVisible(false) ersetzt wird, ist es nur konsequent, anstelle von show() setVisible(true) zu verwenden. Bei der Definition der Klasse FVFrame2 bemerken Sie die Erweiterung implements ActionListener. Das hängt mit der veränderten Verarbeitung von Events zusammen. Es werden nur noch die Events von Komponenten bearbeitet, denen Sie einen EventListener zugewiesen haben. Damit Sie mit dem neuen Event-Modell arbeiten könne, schreiben Sie in den Kopf der Java-Datei:
import java.awt.event.*
Zum Schließen des Frames benötigen Sie nun nicht mehr die Funktion handleEvent(), sondern implementieren im Konstruktor einen WindowListener. Dem Button zum Laden der Datei weisen Sie einen ActionListener zu. Diesen brauchen Sie nicht einmal zu definieren, da die Klasse FVFrame2 durch die Implementierung der Schnittstelle ActionListener selber ein ActionListener ist. Den Funktionsaufruf
resize(500, 500)
ersetzen Sie durch:
setSize(500, 500)
Das Anklicken des Buttons Datei laden wertet das Programm nun nicht mehr durch die Funktion action(), sondern durch actionPerformed() aus. Da Sie lediglich dem Button Datei laden einen ActionListener zugewiesen haben, brauchen Sie nicht einmal eine Fallunterscheidung zu machen. Auch hier wählen Sie in einem Dialogfenster aus, welche Datei Sie betrachten wollen. Nach dem
Schließen des Dialogs ermittelt die Funktion Namen und Pfad der Datei und ergänzt die Titelleiste des Frames um diese Angaben. Der folgende try-Block löscht wieder zunächst den bisher angezeigten Text im Textfenster und erzeugt dann wieder den Eingabe-Stream. Die Daten filtert aber nun ein BufferedReader. Dieser liest noch vorhandene Daten via readLine() Zeile für Zeile aus und hängt das Gelesene mit append() an den vorhandenem Text an.

Verfasser: Andreas
Letzte Änderung: 2009-10-16 18:41


Funktionstest

Damit ein Browser Ihre kunstvolle Seite anzeigen kann, führen Sie zunächst einen Test durch.
Viele surfen mit Browsern, die entweder kein JavaScript verstehen oder bei denen JavaScript absichtlich deaktiviert ist. Diese Surfer können mit ihrer ausgefeilten JavaScript-Seite nichts anfangen. Geben Sie ihnen Gelegenheit, Ihre Seite erneut mit einem JavaScript-fähigen Browser zu besuchen.
Sie können nicht-Javascript-fähige Browser mit einer Kombination aus JavaScript und dem NOSCRIPT-Tag leicht überlisten. Moderne Browser erkennen diesen Tag. Diese Browser ignorieren alles zwischen NOSCRIPT und dem End-Tag. Ältere Browser kennen den NOSCRIPT-Tag nicht, sondern ignorieren ihn und geben alles aus, was zwischen NOSCRIPT und /NOSCRIPT steht.
Das folgende Dokument verwendet dieses Tag. Während des Ladens gibt es die Warte-Aufforderung aus. Danach wird das JavaScript ausgeführt, das im BODY-Tag mit dem onLoad-Attribut definiert wurde. In diesem Fall verzweigt das System automatisch auf das Dokument main.htm:
<HTML>
<BODY onLoad="location.href=
A 'main.htm'">
<SCRIPT LANGUAGE="JavaScript">
<!-
document.write( "WARTEN!");
// ->
</SCRIPT>
<NOSCRIPT>
KEIN JavaScript installiert!
</NOSCRIPT>
</BODY></HTML>
Denken Sie daran, Ihre Skripts in HTML-Kommentare einzufassen. Ein älterer Browser erkennt das SCRIPT-Tag nicht und würde das Programm sonst als Text ausgeben.

Verfasser: Andreas
Letzte Änderung: 2009-10-18 10:21


Hintergrundfarbe bei einer Aktion ändern

Ändern Sie die Hintergrundfarbe des aktuellen Dokuments, sobald der Anwender eine bestimmte Aktion ausgeführt hat.
Wäre es nicht ein witziger Effekt, wenn sich die Hintergrundfarbe des aktuellen Dokuments bei bestimmten Aktionen zur Laufzeit dynamisch verändern könnte? Mit JavaScript können Sie auf Aktionen des Anwenders mit programmierbaren Ereignissen reagieren. Klickt beispielsweise ein Besucher Ihrer Seite in ein Formularfeld, können Sie veranlassen, dass sich die Hintergrundfarbe des Dokuments dadurch verändert:
<FORM>
<INPUT TYPE="text" NAME=
"test" onblur=
"document.bgColor= '#FFFFFF'" onfocus= "document.bgColor= '#98C5A0'">
</FORM>
Mit dem Event onfocus wird ein Ereignis ausgeführt, sobald der Anwender ins Formularfeld klickt. Mit onblur wird beim Verlassen des Formularfeldes eine weitere Aktion ausgeführt. Das Beispiel ändert den Hintergrund beim Bearbeiten des Formularfeldes und stellt die ursprüngliche Farbe beim Verlassen des Feldes wieder her. Diese Methode kann besonders in Verbindung mit der Frame-Technik für interessante Effekte sorgen. So ist es beispielsweise möglich, einen inaktiven Frame beim Aktivieren (etwa um einen Link auszuführen) in einer anderen Farbe darzustellen. Um dies zu erreichen, erweitern Sie das BODY-Tag des Frame-Inhalts wie folgt:
<BODY onblur= "document.bgColor=
'#FFFFFF'" onfocus=
"document.bgColor= '#98C5A0'">
Wenn ein Anwender nun auf dieses Dokument im Frame mit der Maus klickt, wird die Hintergrundfarbe verändert. Sobald er wieder in einem anderen Frame Aktionen ausführt, wird die ursprüngliche Farbe wieder hergestellt.

Verfasser: Andreas
Letzte Änderung: 2009-10-18 10:21


Homepage-Inhalte bequem drucken

Der Surfer soll das aktuelle Dokument per Klick auf einen Hyperlink drucken. Wir zeigen Ihnen, wie Sie dies bewerkstelligen.
Ab der JavaScript-Version 1.2 gibt es den Befehl print() zum Ausdrucken von Web-Inhalten bequem aus dem HTML-Dokument heraus per Hyperlink. Binden Sie folgendes Script in den Quellcode ein:
<SCRIPT LANGUAGE= "JavaScript1.2" TYPE="text/ javascript">
<!
if(self.print)
with(document)
{
open("text/html")
write("<P><A href=\"javascript:self.print()\ ">Per Klick hier drauf starten Sie den Ausdruck</A></P>")
close()
}
// >
</SCRIPT>

Verfasser: Andreas
Letzte Änderung: 2009-10-18 10:22


HTML verstecken

Mit JavaScript verstecken Sie den HTML-Code Ihrer Webseiten, so dass er sich nicht mehr so einfach anzeigen lässt.
Um Ihren HTML-Code zu schützen, nutzen Sie JavaScript. Die Grundidee ist dabei: Sie lagern sämtliche HTML-Tags in eine JavaScript-Datei aus, die HTML-Datei besteht nur aus einer Referenz auf diese Datei. Im Body-Bereich der HTML-Datei entfernen Sie alle HTML-Zeilen und fügen statt dessen die folgende Zeile ein:
<script language="JavaScript"
type="text/javascript"
src="meineseite.js"></script>
Damit lädt der Browser die Datei meineseite. js und führt die darin enthaltenen JavaScript-Befehle sofort aus. Und diese Befehle schreiben mit write Zeile für Zeile die eigentlichen HTML-Tags. Das sieht so aus:
document.write('<html>');
document.write('<head><title>Titel</title></head>');
document.write('<body>HelloWorld.</body>');
document.write('</html>');
Die Nachteile: Das System funktioniert nur mit aktiviertem JavaScript, der Seitenaufbau ist meistens langsamer als bei reinem HTML. Zudem kann jeder mit ein bisschen Aufwand, etwa einem Web-Ripper, den HTML-Code aufrufen. Unerfahrenen Raubkopierern dürfte das zu umständlich sein.

Verfasser: Andreas
Letzte Änderung: 2009-10-18 10:23


Hyperlink-Unterstreichung vermeiden

So beseitigen Sie die ständigen Unterstreichungslinien unter den Links auf Ihrer Homepage.
Insbesondere Hyperlinks, die in einen Fließtext eingebaut sind, stören durch die obligatorischen Unterstreichungslinien das optische Bild. Schöner wäre es, entweder auf Underlines zu verzichten oder diese zumindest mit einem hübschen Mouse-over-Effekt zu versehen. Zu diesem Zweck bieten sich Cascading Style Sheets (CSS) an. Integrieren Sie in Ihren Quellcode folgende Zeilen:
<style type="text/css">
<!
a:link {
text-decoration: none;
color: #000000
font-size: medium;
}
a:visited {
text-decoration: none;
color: #666666
font-size: medium;
}
a:hover {
text-decoration: underline;
color: #FF0000
font-size: large;
}
a:active {
text-decoration: none;
Color: #FF0000
font-size: medium;
}
>
</style>
Überall da, wo Sie text-decoration auf none setzen, werden die ungeliebten Unterstreichungslinien zunächst nicht dargestellt. Sie definieren auch, wie ein Link aussehen soll, wenn dieser schon besucht wurde, wenn der Mauszeiger über ihn fährt oder wenn er gerade angeklickt wurde, also aktiv ist. In unserem Beispiel erscheint eine Underline erst, wenn der Maus-Cursor den entsprechenden Link überfährt, und verschwindet spurlos, wenn der Zeiger die Verknüpfung wieder verlässt. Leider verstehen ältere Browser nicht alle im Beispiel verwendeten CSS-Attribute.

Verfasser: Andreas
Letzte Änderung: 2009-10-18 10:24


Immer on Top

Sie haben lange Seiteninhalte und möchten Ihren Besuchern eine einfache Möglichkeit bieten wieder an den Seitenanfang zu springen.
Manche Inhalte von Webseiten erfordern es, dass der Anwender weit nach unten scrollt. In vielen Fällen verschwinden die Navigationselemente. Üblicherweise haben Anbieter solcher Seiten an geeigneter Stelle eine Rücksprungmarke oben auf der Seite angebracht. Dies erreichen Sie mit herkömmlichen Mitteln mit einem Anker, am besten am Seitentitel angebracht:
<a name="top"><title>Mein Seitentitel</
titel>
Über einen normalen Link können Sie an die angegebene Stelle im Dokument springen. In unserem Beispiel an den Anfang des Dokuments:
<a href="#top">Zum Anfang</a>
Mit JavaScript können Sie diesen erweitern. Das folgende Script erlaubt es Anwendern, per Doppelklick auf das aktuelle Dokument an den Seitenanfang zu springen:
<SCRIPT LANGUAGE="JavaScript">
<!--
function goPageTop() {
window.scrollTo(0,0);
}
if (document.layers)
document.captureEvents (Event.ONDBLCLICK);
document.ondblclick=goPageTop;
//-->
</SCRIPT>
Falls Sie an eine andere Stelle im Dokument springen möchten, können Sie die gewünschten Koordinaten mit window. scrollTo(x-Koordinate, y-Koordinate) bestimmen. Mit der Angabe
window.scrollTo(0,200);
gelangen Sie per Doppelklick exakt an eine Stelle im Dokument, die 200 Pixel von oben entfernt liegt. Um diese Funktion sinnvoll in allen Seiten einzubinden, können Sie das Script in eine externe JavaScript-Datei auslagern (etwa tool.js) und mit der Notation
<SCRIPT LANGUAGE="JavaScript"
src="tool.js"></SCRIPT>
einbinden. Diese Funktion arbeitet nur mit Browsern der 4er Generation.

Verfasser: Andreas
Letzte Änderung: 2009-10-18 10:25


Inhalte nicht ohne Frame laden

So vermeiden Sie, dass Besucher Ihrer rahmenbasierenden Website die über Suchmaschinen gefundenen Inhalte getrennt vom eigentlichen Frameset dargestellt bekommen. Die zu einer Rahmenstruktur
gehörenden Seiten werden von Suchmaschinen gefunden und für Internet-Surfer separat geladen. Da in diesen für Frames gedachten Inhalten die zugehörigen Navigationsleisten fehlen, ist der Besucher nahezu hilflos, wenn er sich für weitere Inhalte der Homepage interessiert. So machen Sie ihn darauf aufmerksam:
<script language="JavaScript">
if (top.frames.length==0)
document.write("Diese Seite ist Teil eines Framesets. Bitte rufen Sie die <a href='index.html'> Leitseite</a> auf!");
</script>
Nun erscheint der Text noch vor der Seitenüberschrift am oberen Bildrand mit dem verweisenden Hyperlink. Der Besucher kann selbst entscheiden, ob er die gesamte Frame-Struktur aufruft oder nicht. Soll jedes Mal das gesamte Frameset aufgebaut und geladen werden, fügen Sie folgendes Script zwischen die Head-Tags in Ihrem Quellcode ein:
<script language=JavaScript>
if (top.frames.length==0) location.replace("index.html")
</script>

Verfasser: Andreas
Letzte Änderung: 2009-10-18 10:26


Ist JavaScript aktiviert?

Webseiten enthalten häufig JavaScripts. Zusätzlich schreiben Sie einfache Alternativseiten ohne JavaScript. So führen Sie Besucher dorthin.
Sie möchten auf Alternativseiten Ihrer Website aufmerksam machen. Erklären Sie auf einer übergeordneten Seite die stilistische Zweiteilung und bieten Sie zwei Links an, mit denen die Besucher zur richtigen Seite kommen. Eleganter ist es, das Weiterleiten zu automatisieren. Folgendes kleine Listing zeigt eine entsprechende Startseite. Sie enthält im Body-Tag eine Weiterleitung per JavaScript, die nur von JavaScript-fähigen Browsern ausgeführt wird und deshalb auf die Seite mit Scripting führt. Außerdem enthält die Startseite eine Weiterleitung mit dem Meta-Tag, die nach fünf Sekunden aktiv wird und die Browser, die JavaScript nicht ausgeführt haben, auf eine einfache Seite führt.
<html>
<head>
<title>Weiterleitung
Startseite</title>
<meta httpequiv="
refresh"
content="5;
URL=einfach.html">
</head>
<body onload="location.href='jsseite.
html'">
Diese Seite leitet Sie nur weiter
...
</body>
</html>

Verfasser: Andreas
Letzte Änderung: 2009-10-18 10:27


Laufschrift

Schriften laufen seit jeher über die Schirme - so auch im Internet.
Mit einem kleinen JavaScript-Programm können Sie eine Schrift in der Statuszeile laufen lassen. scroll.htm (Listing in Databox 9/97) nutzt window.setTimeout(), um scroll() alle 100 Millisekunden aufzurufen. So geben Sie Lauftext aus und aktivieren das Timeout neu. Je schneller die virtuelle Maschine Befehle bearbeitet, um so schneller bewegt sich auch der Text durch die Fensterzeile.

Verfasser: Andreas
Letzte Änderung: 2009-10-18 10:27


Link zu Favoriten hinzufügen

Mit dem Aufruf einer internen Funktion fügen Sie beim Internet Explorer eine URL in die Favoritenliste ein.
Machen Sie es den Besuchern Ihrer Homepage so einfach wie möglich, Ihre Seite in die Favoritenliste des Internet Explorer aufzunehmen. Dazu reicht der Aufruf einer internen Funktion des Browsers über einen Event-Handler. Fügen Sie folgende Zeilen an der gewünschten Stelle in Ihre Webseite ein:
<!--[if IE ]> <SPAN
STYLE='color:blue;cursor:hand;'
onclick='window.external.AddFavorite(location.href,document.title);'>
<U>
Diese Seite in Ihre Favoriten
aufnehmen.
</U>
</SPAN>
<![endif] //-->
Hier kommen die bedingten Kommentare aus Tipp 22 zum Einsatz. Damit schließen Sie die Anwender des Internet Explorer 4.0 aus falls es solche noch gibt. Stattdessen können Sie eine Browser-Weiche in JavaScript programmieren. Statt des Textes Diese Seite... können Sie auch ein Bild oder andere Objekte einbinden. Im Beispiel übergibt das Tool Adresse (location.href) und Titel (document. title) der aktuellen Seite an den Internet Explorer. Sie können auch eigene Texte in Anführungszeichen einfügen:
AddFavorite("http://www.pc-magazin.de", "PC Magazin")
Das Tag <U> sorgt nur für eine Unterstreichung, die Style-Angabe für die blaue Farbe und den typischen Mauszeiger. Das verleiht dem Text das Aussehen eines Links, ist aber überflüssig. Sie müssen nicht befürchten, einen Besucher mit einem solchen Favoriten-Link in eine Falle zu locken. Klickt jemand den Link an, fragt der Internet Explorer nach, ob und in welchem Ordner es den Favoriten einrichten soll.

Verfasser: Andreas
Letzte Änderung: 2009-10-18 10:28


Mauszeiger im Fadenkreuz

Neben farbigen Scrollbars setzen Designer verstärkt auf alternative Mauszeiger. Die mit Abstand auffälligste Form dieses Seitentunings ist der Fadenkreuz-Cursor.
Während sich Puristen auf die grundlegendsten grafischen Elemente beschränken, nutzen andere Web-Designer alle Möglichkeiten aus, um ihre Seite aus der Masse hervorstechen zu lassen. Zum Beispiel mit dem Fadenkreuz-Mauszeiger, bei dem der Cursor von einer horizontalen und vertikalen Linie verfolgt wird. Um Ihre Seite um dieses spaßige Feature zu erweitern, fügen Sie den Code im Listing in den so genannten BODY-Bereich Ihrer Seite ein.

Verfasser: Andreas
Letzte Änderung: 2009-10-18 10:29


Netscape-Resize-Problem

Sie verwenden DHTML auf Ihrer Seite. Bei einer Größenänderung des Browser-Fensters zeigt der Netscape Navigator die Seite nicht mehr korrekt an.
Zeigt der Netscape Navigator die Webseite nicht mehr korrekt an, nachdem Sie das Browser-Fenster vergrößert oder verkleinert haben (ein Fehler der 4er-Versionen), laden Sie es neu. Damit diese Aufgabe nicht beim Besucher Ihrer Seite hängen bleibt, sondern automatisch erledigt wird, fügen Sie folgendes kleine Script in den Head-Bereich Ihrer Seite ein:
<script language="JavaScript">
if(!window.wsave) {
window.onresize = nsfreshup;
wsave = window.innerWidth;
hsave = window.innerHeight;
}
function nsfreshup() {
if (wsave != window.innerWidth
|| hsave != window.innerHeight)
history.go(0);
}
</script>
Wenn Ihre Site mehrere Seiten enthält, in denen Sie problematische Elemente wie absolut positionierte Bereiche einsetzen, ist es einfacher, das Script in eine separate Datei mit der Extension .js zu speichern. Diese binden Sie dann in Ihre HTML-Seite ein:
<script language="JavaScript"
src="nsbug.js"></script>

Verfasser: Andreas
Letzte Änderung: 2009-10-18 10:30


Neue JavaScript-Versionen

Bevor der Browser neue Script-Versionen nutzen kann, müssen Sie dies festlegen.
Wenn Sie die Vorteile neuerer JavaScript-Versionen nutzen wollen, ohne zuvor die Version des Browsers abzufragen, geben Sie als Sprache JavaScript1.1 für den Netscape Navigator 3.x ein. Der neue Communicator enthält JavaScript in der Version 1.2. Ein Navigator der Version 2.x wird Skripts mit der Sprache JavaScript1.1 nicht interpretieren.

Verfasser: Andreas
Letzte Änderung: 2009-10-18 10:31


Opera identifizieren

So beziehen Sie die Fähigkeiten des Opera- Browsers bei der Seitengestaltung stärker ein.
Ihre Webseiten sehen nicht auf jedem Browser gleich gut aus. Opera erweist sich bei der Browser-Abfrage als Chamäleon: Bei der Prüfung mit navigator. appName meldet er sich je nach Einstellung als Netscape oder Internet Explorer. Eindeutig identifizieren können Sie ihn bei Bedarf mit navigator.userAgent. Wenn Sie jedoch seine noch etwas beschränkten DHTML-Fähigkeiten nutzen wollen, müssen Sie auch wissen, welche Einstellung der Anwender für die Identifizierung gewählt hat. Je nachdem, ob der Opera-Browser sich als IE identifizieren soll oder anders, versteht er unterschiedliche JavaScript-Objekte. document.all etwa kennt er nur, wenn er als Internet Explorer getarnt ist. Die aktuelle Einstellung finden Sie am schnellsten mit einem kleinen Trick mit Hilfe von navigator. userAgent heraus: Ist die Bedingung userAgent.charAt("Opera")==0 wahr, ist er als Opera angemeldet, bei >0 als IE. Das gilt sowohl für die Version 4 und 5. Die Erklärung liegt im Aufbau des Rückgabe-Strings von userAgent. Bei der Identifizierung als Opera lautet er:
Opera/5.01 (Windows 98; U) [en]
Gibt sich Opera dagegen als MSIE 5.0 aus, ist der String:
Mozilla/4.0 (compatible; MSIE
5.0; Windows 98) Opera 5.01 [en]

Verfasser: Andreas
Letzte Änderung: 2009-10-18 10:31


Passwortschutz

Sie wollen Bereiche Ihrer Homepage durch ein Passwort schützen, wissen aber nicht wie.
Wir zeigen Ihnen, wie Sie einzelne Seiten Ihrer Webpräsenz vor ungewollten Zugriffen schützen. In unserem Beispiel ist das Passwort nicht im Quellcode integriert, sondern Teil des Dateinamens. Lautet dieser secret.html, ist das Passwort secret. Durch die Wahl komplexer Bezeichnungen erhöhen Sie den Schutz erheblich. Das JavaScript ist aus zwei Blöcken aufgebaut. Den ersten setzen Sie in den Dateikopf, der zweite stellt den direkten Link dar.
<script language="JavaScript">
<!
function Passw()
{
var password = 'Bitte geben Sie hier Ihr Passwort ein!'
password=prompt('Passwortgeschuetzter Bereich. Ihr Pas swort:','');
location.href=password + ".html";
}
//>
</script>
Der Link sieht folgendermaßen aus:
<a href="nojavascript...Passw()"> Seite</a>

Verfasser: Andreas
Letzte Änderung: 2009-10-18 10:33


Rechte Maustastenfunktion sperren

So verhindern Sie, dass Besucher per Klick mit der rechten Maustaste auf Inhalte Ihrer Homepage zugreifen können.
Sperren Sie mit JavaScript die Funktion der rechten Maustaste, und machen Sie freundlich darauf aufmerksam:
<script language="JavaScript">
<!
function click() {
if (event.button==2) {
alert('Diese Internetinhalte können Sie leider nicht mit der rechten Maustaste bedienen!')
}
}
document.onmousedown=click
// >
</script>
Dieser Schutz ist nur aktiv, wenn der Besucher Ihrer Homepage JavaScript auf seinem Rechner eingeschaltet hat.

Verfasser: Andreas
Letzte Änderung: 2009-10-18 10:33


Schnelle Aufnahme in die Favoriten

Kaum ist die Startseite eines Web-Angebots geladen, poppt das Favoriten-Fenster auf.
Immer mehr Web-Master bieten Besuchern eine komfortable Option an, die Homepage sofort nach dem Laden in die Bookmarks aufzunehmen. Er kann die Surfer mit dem Cookie-Script in Listing 1 einmal wöchentlich darauf hinweisen, die Seite den IE-Favoriten hinzuzufügen. Platzieren Sie das Script im Head-Bereich der Seite. Wer nicht ganz so fordernd auftreten möchte, bietet seinen Besuchern einen Link an, der das Bookmark-Fenster öffnet. Dazu erweitern Sie den Body-Bereich um folgende Zeilen:
<a href="nojavascript...window.external.AddFavorite('http://www.IhreSeite.de',
'Titel Ihrer Seite')">Diese Site den Favoriten hinzufügen</a>

Verfasser: Andreas
Letzte Änderung: 2009-10-18 10:34


Scripts im Web finden

Sie wollen Ihre Seite mit JavaScript aufpeppen, beherrschen diese Sprache aber nicht.
Im Internet sind unzählige Scripts frei verfügbar, zum Beispiel unter www.geo cities.com/SiliconValley/7116/. Über das Kontextmenü der rechten Maustaste gelangen Sie in der Regel an die entsprechenden Zeilen des Quellcodes solcher Seiten. Das Script kopieren Sie in die Zwischenablage und fügen es im HTMLCode Ihrer eigenen Homepage irgendwo zwischen den beiden Tags <script language=" JavaScript"> und </script> wieder ein. Alternativ können Sie das eigentliche JavaScript auch in eine separate Datei auslagern, beispielsweise listing.js, in Ihren Quellcode muss dann nur noch Folgendes eingefügt werden:
<script language="JavaScript" scr="listing,js"></script>
Die JavaScript-Datei muss zwar zusätzlich auf Ihren Homepage-Server geladen werden, dafür können Sie sie getrennt von Ihrer eigentlichen Website bequem in jedem Texteditor bearbeiten.

Verfasser: Andreas
Letzte Änderung: 2009-10-18 10:35


Seite drucken

Mit einem JavaScript-Kommando rufen Sie den Druck-Dialog des Browsers auf.
Wenn Sie den Besuchern Ihrer Homepage den Ausdruck einer Seite besonders leicht machen wollen, bauen Sie einen Button dafür ein. So erinnern Sie beispielsweise daran, ein Bestellformular zur Sicherheit auszudrucken. Den Kern bildet das Objekt window mit seiner Methode print. Diese Methode steht in allen gängigen Browsern zur Verfügung. Ein Aufruf öffnet den Druckerdialog des Browsers, der Surfer kann die Details einstellen und dann losdrucken. Als Button sieht das Ganze so aus:
<form>
<input name="print" type="button"
value="Seite ausdrucken..."
onClick="nojavascript...window.print()">
</form>
Der Event-Handler onClick ruft die Methode auf. Alternativ können Sie die Methode auch als Link verpacken:
<a
href="nojavascript...window.print()">
Ausdrucken...
</a>

Verfasser: Andreas
Letzte Änderung: 2009-10-18 10:36


Seitenleisten

Mit JavaScript klinken Sie Ihre eigene Homepage in die Seitenleiste von Netscape 6 ein.
Eine der interessantesten Neuerungen von Netscape 6 ist die Seitenleiste. Auf der linken Seite zeigt der Browser ein schmales Fenster mit einer Reihe von Registerkarten an. Jede Registerkarte zeigt eine Webseite so können Sie schnell auf entsprechend gestaltete Angebote zugreifen. Über den Button Registerkarten in der Titelzeile der Seitenleiste passen Sie den Inhalt an. Dabei können Sie nur unter bereits vordefinierten Angeboten auswählen, etwa Reiseanbieter oder Börsendienste. Als Webdesigner können Sie den Besuchern Ihrer Homepage eine eigene Rubrik in der Seitenleiste einrichten, um etwa aktuelle Links oder News anzubieten und Surfer auf Ihre Homepage zu locken. Klickt der Besucher die Registerkarte an, holt sich der Browser die aktuelle Version aus dem Internet. Zunächst richten Sie eine Webseite ein, die den Vorgaben der Seitenleiste entspricht. Die Breite sollte 160 Bildpunkte nicht übersteigen. Die Höhe ist flexibel wählbar: Netscape 6 zeigt im Zweifelsfall Rollbalken. In der Webseite dürfen Sie alle üblichen HTML-Tags, CSS oder JavaScript einsetzen. In der Seitenleiste kann der Anwender die Seite nicht neu laden. Damit nicht ewig eine alte Version aus dem Cache des Browser angezeigt wird, bauen Sie zwei Meta-Tags in den Head-Bereich der Webseite ein:
<meta http-equiv="expires"
content="0">
<meta http-equiv="Pragma"
content="no-cache">
Damit die zugehörige Webseite beim Anklicken eines Links in der Seitenleiste im Hauptfenster von Netscape erscheint, müssen Sie wie bei Frames ein Ziel angeben:
<a target="_content"
href="seite.htm"> Link </a>
Das Attribut target="_content" leitet die Webseite ins Hauptfenster. Abschließend übertragen Sie sie für die Seitenleiste zu Ihrem Webserver. Ein kleines Script fügt die Webseite als Registerkarte in die Seitenleiste ein. Bauen Sie auf Ihrer Homepage einen Link (Text, Grafik, Formularbutton etc.) ein, der das Script aufruft:
<a href="nojavascript... seitenleiste();">
Seitenleiste einbauen </a>
In den Head-Bereich der Homepage fügen Sie das Script aus Listing 1 ein. Im Beispiel hat die Datei mit der Webseite für die Seitenleiste den Namen seite.htm. Übergeben Sie der Funktion addPanel() zwei Parameter: Der erste ist der Titel, den die Registerkarte bekommen soll, im Beispiel Meine Leiste. Der zweite ist die Web-Adresse der Datei inklusive http://. Klickt ein Surfer diesen Link an, öffnet Netscape 6 eine Dialogbox. Sie fragt, ob der Browser die angegebene Seite in die Leiste aufnehmen soll. Ein Klick auf OKschließt die Aktion ab. Bei anderen Browsern passiert gar nichts.

Verfasser: Andreas
Letzte Änderung: 2009-10-18 10:37


Statusleiste ändern

Sie möchten Ihren Besuchern in der Statusleiste des Browsers zu einem weiterführenden Link eine nähere Beschreibung geben.
JavaScript erlaubt Ihnen, die Anzeige in der Statusleiste des Browsers zu verändern. Mit einer simplen Anweisung im href-Tag Ihres Homepage-Quellcodes können Sie in der Statuszeile des Browsers einen beliebigen Text anzeigen lassen. Dies bietet sich insbesondere an, wenn Sie einen Link näher beschreiben möchten. Sobald der Besucher mit der Maus über den Link fährt, erscheint eine von Ihnen vordefinierte Erläuterung in der Statusleiste. Den entsprechenden Befehl fügen Sie in den bestehenden href-Tag ein:
<a href="test.html"
onMouseOver="a('Hier lesen Sie die Information zum Link');return true" onMouseOut="b()">Beschreibung siehe Statusleiste</a>
Sobald der Anwender mit der Maus über diesen Verweis streift, erscheint die gewünschte Nachricht: Hier lesen Sie die Information zum Link. Mit dem OnMouseOut-Befehl verhindern Sie, dass der Text beim Entfernen der Maus weiterhin angezeigt wird. Damit dies alles funktioniert, müssen Sie das folgende Script zwischen den beiden Head-Tags im Quellcode einfügen:
<script language="JavaScript">
<!
function a(txt) {
self.status = txt
}
function b() {
self.status = ""
}
// End Hiding Here >
</script>

Verfasser: Andreas
Letzte Änderung: 2009-10-18 10:38


Variablen aus anderen Fenstern

Sie haben für Ihre Webseite ein Script geschrieben, das ein neues Fenster öffnet. In diesem müssen Sie auf Variablen oder Funktionen des Ursprungsfensters zugreifen können diese sind JavaScript aber unbekannt.
Variablen und Funktionsdefinitionen gelten immer nur in dem Dokument, in dem sie eingeführt werden. In Ihrem neuen Fenster sind die Objekte des öffnenden Fensters als Unterobjekte von opener verfügbar. Ihre Eröffnungsseite soll eine Variable und eine Funktion enthalten:
einwert=10;
function warnung(x) {
alert(x);
}
Dann können Sie darauf im zweiten Fenster folgendermaßen zugreifen:
opener.warnung(opener.einwert);

Verfasser: Andreas
Letzte Änderung: 2009-10-18 10:39


Verweise


Der Mauszeiger steuert Hyperlinks.
Wenn sich der Mauszeiger über einem Hyperlink befindet, wird die URL des Links in der Statuszeile angezeigt. Ein kleines Programm ersetzt diesen Text durch eigenen, wenn Sie die Event Handlers onMouseOver() und onMouseOut() des Hyperlinks programmieren. onMouseOver() ruft der Mauszeiger über dem Link auf, und onMouseOut() wird entsprechend aufgerufen, wenn der Mauszeiger den Link verläßt. Wichtig ist hierbei, daß der Event Handler den Wert false zurückliefert. Das unterbindet nämlich, daß der Browser die URL anzeigt. Tun Sie das nicht, passiert nichts, da der Browser Ihren Text sofort wieder überschreibt. Denken Sie auch daran, daß der JavaScript-Text für die Attribute selbst ein return-Statement, ownlink.htm (Listing in Databox 9/97) enthält.

Verfasser: Andreas
Letzte Änderung: 2009-10-18 10:40


Welche Farbe darf es sein?

Über die Auswahl der optimalen Hintergrundfarbe lässt sich streiten. Wer sich vor solchen Diskussionen schützen will, greift zu einem ganz einfachen Trick.
Statt sich den Kopf über die Wahl der Hintergrundfarbe zu zerbrechen, überlassen Sie diese Entscheidung getrost den Besuchern Ihrer Seite. Verwenden Sie ein einfaches JavaScript, das sich leicht an die eigenen Vorlieben anpassen lässt. Zunächst erweitern Sie den Head-Bereich der Seite um die folgenden Zeilen:
<SCRIPT language="JavaScript">
function changeBackground(hexNumber) { document.bgColor=hexNumber; } </SCRIPT>
Im zweiten Schritt geht es an die Definition der gewünschten Farben. In unserem Beispiel stellen wir dem Besucher sechs verschiedene Farbtöne zur Auswahl. Die Farbe der Schrift ("font color="# 5f99ff") haben wir so gewählt, dass der Text bei allen Farbkombinationen gut lesbar ist. Sind die Vorarbeiten erledigt, fügen Sie das nachstehende Listing in den Body-Bereich der Seite ein.
<FORM method="post" name="farbenspiel">
<INPUT type="button" value="rot"
onclick="changeBackground('#cc0000')">
<INPUT type="button" value="grün"
onclick="changeBackground('#006600')">
<INPUT type="button" value="gelb"
onclick="changeBackground('#ffff99')">
<INPUT type="button" value="rosa"
onclick="changeBackground('#ff99ff')">
<INPUT type="button" value="schwarz"
onclick="changeBackground('#000000')">
<INPUT type="button" value="grau"
onclick="changeBackground('#666666')">
</FORM>

Verfasser: Andreas
Letzte Änderung: 2009-10-18 10:41


Zu Favoriten hinzufügen

Ermöglichen Sie Ihren Besuchern, Ihre Homepage per Klick auf einen Link zu deren Favoriten/ Bookmarks hinzuzufügen.
Internet-Surfer, die auf Ihrer Website stranden und diese als Lesezeichen ablegen wollen, müssen sich gewöhnlich durch einen mittelmäßigen Menü-Dschungel kämpfen. Erleichtern Sie ihnen das Vorhaben, indem Sie folgendes Script verwenden:
<script language="JavaScript">
var Pfadx="http://www.Url.de";
var Titelx = "Die beste Seite der Welt";
document.write("<a href= 'javascript:window. external.44 AddFavorite (" + "Pfadx, Titelx" + ")'> Meine Homepage als Lesezeichen ablegen</a>");
Nach einem Klick auf diesen Hyperlink öffnet der Internet Explorer das Fenster Zu Favoriten hinzufügen und schlägt dem Besucher einen Namen vor, in unserem Beispiel "Die beste Seite der Welt". Damit auch Besucher, die mit dem Netscape-Browser unterwegs sind, diesen Komfort genießen können, gehen Sie folgendermaßen vor:
<script language="JavaScript">
var BrowserName = navigator. appName;
var Pfadx="http://www.URL.de";
var Titelx = "Die beste Seite der Welt";
if(BrowserName == "Microsoft Internet Explorer") {
document.write("<a href= 'javascript:window. external.AddFavorite (Pfadx,Titelx)'> Meine Homepage als Lesezeichen ablegen </a>");
}
else {
document.write("Vergessen Sie nicht meine Homepage zu Ihren Lesezeichen hinzuzufügen");
}
</script>

Verfasser: Andreas
Letzte Änderung: 2009-10-18 10:41


Zugang verweigern

Ein Script verweigert den Aufruf einer Seite, wenn der Surfer nicht von einer bestimmten anderen Seite kommt.
Im World Wide Web ist es üblich, bei einem Link zu einer fremden Website direkt eine Unterseite des Angebots aufzurufen und nicht die Startseite. Wenn Sie einen solchen Zugriff auf Ihre Website verhindern wollen, hilft ein kleines Script (vgl. Textbox unten). Es prüft gleich beim Aufruf einer Webseite den Referrer. Das ist die Web-Adresse der unmittelbar zuvor besuchten Webseite. Wenn die nicht der Vorgabe, beispielsweise www.ihrname. de/index.htm, entspricht, warnt das Script den Besucher mit einer Dialogbox und schickt ihn automatisch zur vorherigen Seite zurück. Sie fügen es in den fraglichen Webseiten in den <head>-Bereich ein. Dort ist auch beschrieben, wie Sie das Script an Ihre Verhältnisse anpassen. Der Schutz ist nicht 100-prozentig: Der Surfer muss nur JavaScript ausschalten.
ACHTUNG! Auf der lokalen Festplatte lassen sich solche Webseiten dann
nicht mehr testen. Sie funktionieren nur, wenn Sie sie vorher auf den Web-Server kopieren.
Die Browser verwenden unterschiedliche Werte für den Referrer beim Start von der lokalen Festplatte: Internet Explorer übergibt eine leere Zeichenkette, während Opera 6 die Referrer-URL mit file://localhost einleitet. Wenn Sie Besucher nicht abweisen wollen, leiten Sie sie zur Startseite des Angebots. Dazu ersetzen Sie im Script den Bereich zwischen den geschweiften Klammern:
document.location="http://www.ihr name.de/index.htm

Verfasser: Andreas
Letzte Änderung: 2009-10-18 10:42


Die richtige Java Version aktivieren

Bei Installation mehrerer verschiedener Java Versionen kann es bei Java Programmen der Fall sein dass sie nicht richtig ausgeführt werden weil die falsche Version aktiviert ist.

Unter Linux behebt man das Problem wie folgt:

 

sudo update-alternatives --config java

 

Die Version kann mit dem Befehl

java -version

abgerufen werden

Verfasser: Andreas
Letzte Änderung: 2012-09-30 10:03


Computer » Hacking

Sicherheitscenter optimieren

Das brandaktuelle Sicherheitscenter bietet Ihnen die Möglichkeit, verschiedene Sicherheitsaspekte Ihres Systems zu überwachen: „Firewall", „Automatische Updates" und „Virenschutz" können hierüber kinderleicht verwaltet werden. Die besten Registry-Tricks zum Sicherheitscenter erfahren Sie exklusiv nur bei uns:

1. Klicken Sie in der „Systemsteuerung" auf „Sicherheitscenter" und betrachten Siedle Anzeige. Hier wird Ihnen der Status der drei Sicherheitsaspekte Ihres Systems angezeigt.

2. Sobald einer der Kriterien für ein sicheres System nicht geeignet ist, zeigt Windows beim Systemstart eine entsprechende Mel-dung an und weist auch durch ein rotes Schild im Systray-Bereich (neben der Uhr) auf das Manko hin. Sie können diese Meldungen allerdings kinderleicht ausschalten, indem Sie die Windows-Registrierung öffnen (siehe oben) und zum Schlüssel „HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Security Center"
wechseln.

3. Um die nervende Meldungen über eine fehlende Anti-Viren-Software auszuschalten, deaktivieren Sie sie, indem Sie im rechten Teilfenster des Schlüssels
„Security Center"
auf
„AntiVirusDisableNotify"
klicken und eine
„1"
eintragen. Gleiches gilt für
„FirewallDisableNotify" (Firewall-Meldungen)
und
„UpdatesDisableNotify" (Update-Meldungen).

Quelle: PC Praxis 08/2004, Seite 62

Verfasser: Andreas
Letzte Änderung: 2010-09-26 17:46


SP2 auf gecrackten XP-Versionen

Anfang Mai ging die Hoffnungsmeldung durch die Lande: Das Service Pack 2 soll auch auf illegalen XP-Versionen installiert werden können. „Es geht Microsoft nicht um Geld, sondern tatsächlich um Sicherheit für die digitale Welt", verlautete ein Microsoft Product Manager in einem Interview. Wenige Wochen später wurde dies dementiert: SP2 ließe sich nur auf Originalversionen einrichten. Empört schreit hier die Windows-Fangemeinde auf!
Microsofts Liste von gesperrten Product Keys (FCKGW... und Co.) hat sich nun auf 20 vergrößert, so dass nun kaum eine illegale Version mehr in den Genuss der aktuellen Technologie kommt. Im Internet finden sich dennoch gut versteckte Key-Generators, die den aktuellen Product-Key ändern, sodass eine PID von xxxxx-640-xxxxxxx-xxxxx (siehe Rechtsklick auf „Arbeitsplatz/Eigenschaften" unter „Registriert für") herauskommt; dieser 640-PID ist für die Installation des SP2 leider unabdinglich. Google liefert bei korrekter Eingabe schon einen kleinen, 38 KB großen, KeyGenerator. Doch Eingaben, die in Richtung „SP2 Keygen" gehen, liefern Ihnen vielleicht schon den gewünschten Erfolg - solche Generatoren sind aber illegal, weshalb wir Ihnen keine direkten Hinweise geben können.

Quelle: PC Praxis 08/2004

Verfasser: Andreas
Letzte Änderung: 2010-09-26 17:47


Spyware finden und beseitigen



Nicht nur Viren und Würmer bedrohen Sie im Internet. Auch von Spyware geht Gefahr aus. Dabei handelt es sich meist um Schnüffel-Software, die sich unbemerkt über Web-Seiten ins System schleicht oder zusammen mit einer Freeware installiert. Sie sammelt Daten über das System und das Nutzungsverhalten des Anwenders und versendet diese via Internet. Eine Antiviren-Software meldet solche Module nicht. Dafür brauchen Sie spezielle Antispyware-Tools.

Doppelte Sicherheit durch zweifachen Scan
Ein Antispyware-Tool allein findet nicht immer alle Spyware-Module. Deshalb setzen Sie am besten zwei Programme ein. Empfehlenswert für den ersten Scanlauf ist das Tool Ad-Aware 6.181 (für private Nutzung gratis, auf Heft-CD). Die Bedienung ist einfach, und das Utility arbeitet sehr schnell. Für den zweiten Scan eignet sich Spybot Search & Destroy 1.3 (englischsprachig, gratis, auf Heft-CD). Es ist langsamer als Ad-Aware, überzeugt aber mit guter Leistung.

Bessere Reinigungsleistung in wenigen Sekunden
Beenden Sie vor dem Scan alle laufenden Programme, vor allem den Internet Explorer. Spyware startet aber auch zusammen mit anderen Programmen. Schließen Sie den Windows-Explorer, Outlook und die Programme im Systray - außer Sicher-heits-Tools wie Antiviren-Software und Firewall. Mit dieser Vorbereitung gelingt das Entfernen von Spyware meist deutlich zuverlässiger.
Beide Antispyware-Tools beseitigen auch Dateien, die gerade aktiv und somit gegen Löschen geschützt sind. Dafür ist aber ein Neustart des Rechners fallig.

Zerstörte Programme wieder flott machen
Ist die Spyware zusammen mit einer werbefinanzierten Freeware auf Ihrem Rechner gelandet, läuft das Tool unter Umständen nach der Reinigung nicht mehr. Sie
beheben das Problem durch eine erneute Installation des betroffenen Tools. Steht Ihnen die Installationsdatei nicht mehr zur Verfügung, oder fürchten Sie, durch die Neu-Installation aufwendig konfigurierte Einstellungen zu verlieren, gibt's eine zweite Möglichkeit. Die beiden genannten Antispyware-Tools erstellen ein Backup von allen Dateien und Registry-Schlüsseln, die sie löschen - wenn Sie darauf zurückgreifen, sollte die Freeware ebenfalls wieder funktionieren.
Ad-Aware: Dieser Spyware-Killer arbeitet besonders schnell und findet fast jede Spyware
Nach dieser Aktion befinden sich alle zuvor entfernten Spvware-Module wieder auf Ihrem PC, also auch Module, die nicht zur zerstörten Freeware gehören. Sie müssen das Antispyware-Programm erneut auf die Suche schicken und diesmal nur Spyware entfernen lassen, die für das Funktionieren der Freeware nicht unabdingbar ist. Wenn der Name des Moduls in den Lizenzbedingungen steht, sind Sie fein raus. Andernfalls hilft nur ausprobieren.
Wichtig: In etlichen Fällen läuft werbefinanzierte Freeware auch nach der Beseitigung der zugehörigen Spyware-Module. Eine solche Nutzung verbieten aber meist die Lizenzbestimmungen der Tools.
Spezial-Tool findet auch hartnäckige Spyware Sphäre-Programmen ist eines gemeinsam: Sie starten entweder mit Windows oder mit einem häufig genutzten Programm. Alles, was Windows startet, listet
das Windows-eigene Tool Msconfig.EXE auf. Geben Sie den Befehl in „Start, Ausführen" ein, und kontrollieren Sie die Einträge unter „Systemstart".
Gegen neugierige Programme, die etwa zusammen mit dem Internet Explorer starten, richtet sich das englischsprachige Gratis-Tool HijackThis 1.97.7. Es sucht ebenfalls nach allen bekannten Startmöglichkeiten für Spyware. Das Tool listet alle automatisch startenden Programme auf, also auch erwünschte Anwendungen. Löschen Sie Einträge nur, wenn Sie sich sicher sind, dass es sich um Spyware handelt. Sie erhalten bei der Auswahl Hilfe über die englischsprachige Website von Hijack This.
Msconfig hat allerdings den Vorteil, dass sich Änderungen einfach rückgängig machen lassen.

So schützen Sie Ihr System vor Spyware
Spyware gelangt über zwei Wege auf Ihren Rechner. Häufig kommt sie zusammen mit werbefinanzierter Freeware. Suchen Sie vor der Installation solcher Software nach Informationen zum Werbemodul auf der Website des Anbieters und in den Lizenzbedingungen des Tools. Sollten Sie keine zufriedenstellenden Infos finden, schlagen Sie die Software in der Datenbank von Pest Patrol nach (www.pestpa trol.com/pestinfo). Sie sollten diese Programme nach Möglichkeit nicht installieren.
Außerdem gelangt Spyware beim Sur-fen im Internet auf Ihr System - etwa über Active-X-Anwendungen. Dagegen schützen Sie sich mit der üblichen Vorsicht, mit der man im Web unterwegs ist.
Da sich Spyware über Sicherheitslücken in Windows oder dem Internet Explorer einschleust, sollten Sie Ihren Rechner in regelmäßigen Abständen von Antispyware-Tools scannen lassen.

Quelle: PC-Welt 8/2004, Seite 217

Verfasser: Andreas
Letzte Änderung: 2010-09-26 17:48


Windows-Updatefilter deaktivieren

Dank des brandneuen Windows XP Service Pack 2 werden Windows-Updates nun unter

„Software"

in der

„Systemsteuerung"

separat angezeigt. Klicken Sie dazu auf

„Updates anzeigen"!

Nun werden diese Aktualisierungen übersichtlich in der jeweiligen Rubrik (z. B. Microsoft Office, .NET Framework oder Windows-Updates) aufgelistet. Diesen Filter können Sie auch komplett deaktivieren, indem Sie auf

„Start/Ausführen"

klicken und

„regedit"

eintippen. Doppelklicken Sie sich durch den Pfad

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\policies\Uninstall

und öffnen Sie den Wert

„DontGroup-Patches".

Tragen Sie hier eine

,, 1"

ein und schalten Sie damit die Filterfunktion ab. In unserem Beispiel musste der Schlüssel und dessen Wert manuell erstellt werden. Markieren Sie dazu

„policies"

und klicken Sie mit der rechten Maustaste darauf. Entscheiden Sie sich im aufklappenden Kontextmenü für

„Neu/Schlüssel"

und nennen Sie diesen

„Uninstall".

Klicken Sie nun mit der rechten Maustaste ins rechte Teilfenster und wählen Sie

„Neu/DWORD-Wert".

Dem neuen Werte geben Sie den Namen

„DontGroupPatches"

und weisen ihm eine

„1"

zu.

Quelle: PC Praxis 08/2004, Seite 62

Verfasser: Andreas
Letzte Änderung: 2010-09-26 17:49


Craagle-Proxy

Craagle-Proxy: Manche Serials-Seiten haben eine tägliche Aufruf-Begrenzung pro IP-Adresse. Das bedeutet, dass die Seite das weitere Laden verweigert, wenn zu viele Seriennummern durch einen bestimmten PC angefordert wurden. Mit einem Anonymisierungsdienst wie Cyberghost VPN (www.cyberghostvpn.com) oder einem
Proxy-Server wie Tor (www.torproject.org) lässt sich die Grenze umgehen. Um einen Proxy in Craagle einzutragen, genügt es, mit der rechten Maustaste in das Ergebnisfenster zu klicken, „Options“  zu wählen und im neuen Fenster neben „Use“ die Adresse des Proxys einzutragen.

PC-Welt 7/2011, S. 29

 

Verfasser: Andreas
Letzte Änderung: 2011-06-05 13:38


Computer » Hacking » WLAN

Wie sichert man ein WLAN ab?

Siehe dazu in der Bibliothek PC-Praxis 5/2006 ab Seite 80ff.

Verfasser: Andreas
Letzte Änderung: 2009-05-18 12:04


Verborgene SSID kontaktieren

Unbekannte WLAN-Netze mit verborgenem Netzwerknamen werden in der Liste der Funknetze nicht angezeigt. So lässt sich mit Windows 7 auch die Verbindung zu einem Funknetz mit verborgenem SSID einrichten:
Öffnen Sie über „Windows-Sysmbol fi Systemsteuerung fi Netzwerk und Internet fi Netzwerk- und Freigabecenter fi Drahtlosnetzwerke verwalten“ das  Konfigurationsmenü für die Windowsinterne WLAN-Verwaltung. Da das unsichtbare Netz nicht automatisch gefunden wird, klicken Sie in der Verwaltung für
Drahtlosnetzwerke auf „Hinzufügen“. Bestätigen Sie, dass Sie „Ein Netzwerkprofil manuell erstellen“ möchten, und geben Sie im nächsten Fenster die SSID als Netzwerkname ein. Das Feld „Diese Verbindung automatisch starten“ sollte angehakt sein, wenn es sich um ein Funknetz handelt, zu dem Sie automatisch
Verbindung aufnehmen wollen, wenn der PC in dessen Reichweite ist. Außerdem müssen Sie noch Verschlüsselungsart sowie Sicherheitsschlüssel eintragen, mit denen das Netzwerk abgesichert ist, und die Einstellungen abschließend bestätigen.

PC-Welt 7/2011, S. 100

 

Verfasser: Andreas
Letzte Änderung: 2011-06-05 13:59


Computer » Hacking » Router

Fritz!Box hacken

Siehe dazu in der Bibliothek Pc-Praxis 5/2006 Seite 164 den Artikel "Undokumentiertes WLAN-Menü aufrufen und nutzen".

Verfasser: Andreas
Letzte Änderung: 2009-05-18 12:13


Computer » Programme » SAMBA

Wie legt man eine zentrale Benutzerverwaltung an?

Siehe hierzu den Artikel in der ct 2005, Heft 8 Seite 192 ff.

Verfasser: Andreas
Letzte Änderung: 2009-05-30 20:34


SAMBA und CUPS

Siehe hierzu den Artikel in der ct 2005,Heft 8 Seite 192 ff.

Verfasser: Andreas
Letzte Änderung: 2009-05-30 20:35


Computer » Programmierung » CSS

Container zentrieren

Sihe hierzu COM 7/2006 Seiten102. Zu finden unter der ID 820 in der Bibliothek.

Verfasser: Andreas
Letzte Änderung: 2009-05-30 22:05


Absatz mit Initial

Mit CSS statten Sie einen Absatz automatisch mit einem Initial und besonderer Formatierung der ersten Zeile aus.
Cascading Style Sheets werden oft über das Universalattribut style="" in einem Tag zugewiesen. Damit haben Sie aber nur Zugriff auf sämtliche Elemente im Gültigkeitsbereich des Tags. Für besondere Fälle bietet CSS deshalb die so genannten Pseudoformate an. Das sind CSS-Formate, mit dem Sie Zugriff "nicht greifbare" Elemente einer Webseite haben. Im konkreten Beispiel geht es um den ersten Buchstaben und die erste Zeile in einem Absatz. Sie definieren zunächst einen Style-Bereich im Kopf der HTML-Datei:
<head>
<style type="text/css">
<!--
.initialabsatz:first-line
{font-weight: bold; color:black;}
.initialabsatz:first-letter
{font-size:400%;
font-weight:bold; float:left;
color:red;}
-->
</style>
</head>
Die Pseudoformate werden mit einem Doppelpunkt eingeleitet. :first-line ist für die erste Zeile zuständig, :first-letter für den ersten Buchstaben. .initialabsatz (mit einem einleitenden Punkt) ist der Klassenname des Style Sheets. Das Beispiel setzt die erste Zeile in fetter, schwarzer Schrift. Der erste Buchstabe wird 400 Prozent größer als die Grundschrift, fett und rot. Außerdem steht er links außerhalb des Absatzes (float: left;). Auf einem bestimmten Absatz wenden Sie die CSS-Klasse sehr einfach an:
<p class="initialabsatz">
Text...
</p>

Verfasser: Andreas
Letzte Änderung: 2009-10-18 10:45


Animierter Text verfolgt den Mauszeiger

Der Mauszeiger lässt sich auf mehrere Arten an die eigenen Vorlieben anpassen. Wer seinen Besuchern etwas Ausgefallenes bieten möchte, sollte es mit animiertem Text versuchen.
Fügen Sie den Code aus Listing 1 in den Head-Bereich der Seite ein. Anschließend erweitern Sie den Body-Bereich um das folgende Mini-Script:
<script language="JavaScript1.2">
<!
for (i=0;i<message.length;i++) {
document.write("<span
id='span"+i+"'
class='spanstyle'>")
document.write(message[i])
document.write("</span>")
}
if (document.layers){
document.captureEvents(Event.MOUSEMOVE);
}
document.onmousemove = handlerMM;
//>
</script>
Den gewünschten Text geben Sie in die Variablen var message ein. Schrifttyp, -größe, -stärke und -farbe bestimmen Sie in den folgenden Parametern font-size, font-family, font-weight und color. Dieses Beispiel ergibt einen schönen Animationseffekt.

Verfasser: Andreas
Letzte Änderung: 2009-10-18 10:46


Buttons mit Pep

Mit CSS-Angaben passen Sie Formularbuttons ans Design Ihrer Webseiten an.
Formularbuttons sind auf Webseiten meist auffällig grau gehalten. Diese Standarddarstellung können Sie umgehen. HTML 4.0 kennt das Tag <button> ... </button> für Formulare, das sehr universell ist. Zwischen die Tags dürfen Sie beliebige andere Tags für Tabellen, Bilder etc. einbauen. So gestalten Sie die Schaltfläche. Doch das funktioniert nur mit neuen Browsern (IE 5, Netscape 6). Benutzer älterer Browser sehen nichts. Das Problem lösen CSS-Angaben in Kombination mit klassischen Buttons. Zwar zeigen ältere Browser auch hier nicht die besondere Formatierung - der Button funktioniert aber trotzdem. Das folgende Tag erzeugt beispielsweise einen Submit-Button mit gelber Schrift auf grünem Untergrund:
<input type="submit"
style="background-color:green;
color:yellow;" name="submit">
Selbst Hintergrundbilder für Buttons gelingen:
<input type="submit"
style="background-image:
url(wolken.jpg);">
Sie geben den Namen der Bilddatei in den runden Klammern hinter url an. Es gelten die bei HTML üblichen Regeln für Grafikreferenzen. Opera 6 kann mit den CSS-Angaben für Buttons ebensowenig anfangen wie Netscape 4.x.

Verfasser: Andreas
Letzte Änderung: 2009-10-18 10:47


Datei importieren

Spalten Sie CSS-Angaben in einzelne Moduldateien auf, die Sie nach Bedarf importieren.
Im Lauf der Zeit entwickelt jeder Web-Autor einige grundlegende CSSFormatangaben, die immer wieder verwendet werden. Statt diese Angaben jeweils in eine HTML-Datei in den Kopfbereich zu kopieren erzeugen Sie eigenständige CSS-Dateien. Diese importieren Sie ganz einfach in einem anderen Style Sheet:
<style>
<!--
@importurl("extern.css");
{ weitere Regeln }-->
</style>

Verfasser: Andreas
Letzte Änderung: 2009-10-18 10:48


Durchsichtige Elemente

Netscape 6 kann mit speziellen CSS-Angaben Bilder und andere Elemente transparent darstellen.
Stellt der Browser ein Bild oder eine Ebene (Layer) mit Hintergrundfarbe dar, überdeckt er die dahinter liegenden Elemente. Netscape 6 stellt eine CSSAngabe zur Verfügung, die transparente Seitenelemente erlaubt. Diese Angabe gehört nicht zum CSS-Standard. Außer Netscape 6/Mozilla gibt es keinen Browser, der sie beherrscht. -moz-opacity definiert Elemente einer Seite als transparent, der Hintergrund scheint also durch. Die Durchsichtigkeit lässt sich von 0 bis 100 Prozent einstellen. Die Definition
<img style="-moz-opacity:0.9"
src="space ship.jpg">
bedeutet, dass das Bild den Hintergrund zu neunzig Prozent abdeckt, aber zehn Prozent durchscheinen lässt. Die erlaubten Werte liegen zwischen null und eins, bei null ist das Bild durchsichtig, bei eins überhaupt nicht. Beachten Sie, dass Sie als Dezimaltrennzeichen einen Punkt setzen müssen und kein Komma - sonst interpretiert Netscape den Wert immer als eins.

Verfasser: Andreas
Letzte Änderung: 2009-10-18 10:49


Dynamische Links

Ihre Homepage soll ein dynamisches Navigationsmenü erhalten. Aber Sie beherrschen nicht genug JavaScript.
Mit ein paar CSS-Angaben können Sie fast genau so schöne Menüs gestalten wie mit JavaScript. Sie brauchen nur folgendes kleines Listing in den Head-Bereich Ihrer Seite einzufügen. Es bewirkt, dass Verweise nicht unterstrichen und in blauer Schrift dargestellt werden. Fährt der Mauszeiger über sie, ändert sich die Schriftfarbe in Rot und wird fett. Diese Methode lässt sich variieren. Sie können etwa die Links mit einer Farbe hinterlegen, die geändert wird, wenn der Mauszeiger über den Link fährt. Die CSS-Anweisung dazu ist backgroundcolor.
<style type="text/css">
<!-
a:link {
color: #0000FF;
text-decoration:none;
}
a:hover {
font-weight: bold;
color: #FF0000;
}
->
</style>

Verfasser: Andreas
Letzte Änderung: 2009-10-18 10:49


Einrücken und Ränder

Versehen Sie die erste Zeile eines Absatzes mit einem Einzug und rücken Sie Text links oder rechts ein.
Speziell für den Einzug bei einem Absatz, also eine eingerückte erste Zeile gibt es eine CSS-Angabe. Mit
<p style="text-indent: 15px">
rücken Sie genau diesen Absatz um 15 Pixel ein. Es gibt noch viele weitere Maßeinheiten: pt für Punkt (typografische Einheit, 1/72 Zoll), mm und cm für Millimeter und Zentimeter, in für Inch (Zoll, 2,54 cm). Prozentwerte mit nachgestellten % setzen einen Wert relativ zum Elternelement. Einen kompletten Absatz rücken Sie rechts so ein:
<p style="margin-left: 40px;
margin-right: 30px">
Das rückt den Absatz links 40 Pixel und auf der rechten Seite 30 Pixel ein. So sparen Sie sich den Einsatz von <blockquote>.

Verfasser: Andreas
Letzte Änderung: 2009-10-18 10:50


Farbige Formulare

Sie haben eine peppige Homepage in kräftigen Farben gebastelt. Nur das Formular platzt mit seinen langweiligen Eingabefeldern noch heraus. Mit HTML-Attributen wie bgcolor kann man bei vielen Seitenelementen das Aussehen beeinflussen, nicht jedoch bei Formularen. Bei ihnen helfen jedoch Style-Sheet- Angaben weiter. Das Listing zeigt an einem einfachen Beispiel, wie es geht. Beachten Sie, dass nur der größte Teil der Surfer in den Genuss Ihrer Farbgebung kommt: Sie funktioniert nur im IE und Netscape 6.
<form>
<select name="maedels" size="1"
style="background-color:pink">
<option style="color:blue;">Ally
Walker
<option >Gong Li
<option >Tia Carrere
</select>
</form>

Verfasser: Andreas
Letzte Änderung: 2009-10-18 10:51


Farbige Scrollbalken

Beim Internet Explorer 5.5 färben Sie die Rollbalken mit CSSAngaben nach Belieben ein.
Die Rollbalken zeigen alle Browser im Windows-einheitlichen Grau (falls in den Desktop-Einstellungen keine Farben gewählt wurden). Eine Webseite mit farbigem Hintergrund kann hässlich wirken. Der Internet Explorer ab Version 5.5 unterstützt einige CSS-Angaben, mit denen Sie die Farbe der Rollbalken steuern. Diese Angaben kommen im CSS-Standard nicht vor, funktionieren also nur mit MS-Browsern. Die folgenden Angaben im Head-Bereich einer HTML-Datei erzeugen einen blaugrünen Rollbalken mit schwarzen Schatten.
<style>
body
{scrollbar-base-color:Teal;
scrollbar-highlight-color:#33cc99;
scrollbar-arrow-color:#006666;
scrollbar-shadow-color:Black;}
</style>
Die Wirkung der einzelnen Farbangaben probieren Sie am besten an einem einfachen Beispiel aus. Andere Browser ignorieren die Angaben, mit Fehlanzeigen müssen Sie nicht rechnen.

Verfasser: Andreas
Letzte Änderung: 2009-10-18 14:59


Initial in rot

Heben Sie den ersten Buchstaben eines Absatzes als Initiale vergrößert und in Rot hervor.
In Zeitschriften und Büchern (und auch im PC Magazin) ist es oft anzutreffen: Der erste Buchstabe in einem Artikel oder längeren Absatz ist vergrößert dargestellt und damit mehrere Textzeilen hoch. Auf einer Webseite mit viel Text kann das die "Bleiwüste" auflockern und Akzente setzen. Mit ein paar CSS-Angaben haben Sie die Initialen im Griff. Zunächst definieren Sie im Head-Bereich der Webseite einen entsprechenden Stil:
<head>
<style>
.initial {
width: 1em; height: 1em;
float: left; text-align: center;
font-size: 20pt; color:red;
font-style:italic
} </style>
</head>
Die meisten Angaben haben sprechende Namen. Einen gesonderten Blick verdienen die Größenangaben für width und height. Die Einheit ist hier em, das entspricht dem jeweils breitesten (dem "m") bzw. höchsten Buchstaben im gewählten Zeichensatz. So ist sichergestellt, dass das Initial genügend Platz hat. Bei manchen Buchstaben wirkt der Abstand zu groß, hier können Sie kleinere Werte eintragen. Um einen Absatz mit dem frisch definierten Stil zu versehen, gehen Sie so vor:
<p><SPAN class="initial">D</span>
as ist ein Initial.</p>

Verfasser: Andreas
Letzte Änderung: 2009-10-18 10:53


Linien farbig

Beim Formatieren von Trennlinien mit Cascading Style-Sheets mangelt es an Kompatibilität mit den 6er-Browsern.
Gerade auf textlastigen Webseiten sind Trennlinien (Tag <hr>) ein wichtiges Element zur Gliederung und Auflockerung. HTML sieht eine Reihe von Attributen wie noshade oder size zur exakten Anpassung vor, der Internet Explorer kann sogar die Farbe ändern. Leider sind all diese Attribute in HTML 4.0 als missbilligt (deprecated) eingestuft. Mit Cascading StyleSheets (CSS) umgehen Sie dieses Problem und setzen zudem bei Netscape 6 die Farbe der Linien fest. Eigentlich müsste
<hr style="color : blue">
für eine blaue Linie sorgen. Das klappt nur beim Internet Explorer, nicht bei Netscape 6. Damit beide Browser etwas Vernünftiges anzeigen, sind zwei zusätzliche CSS-Angaben nötig:
<hr style="border:0px;
background-color:blue; color:
blue">
Diese Linie erscheint in beiden 6er-Browsern blau.

Verfasser: Andreas
Letzte Änderung: 2009-10-18 10:53


Listen mit eigenen Grafik-Bullets aufwerten

Auch wenn die Listendarstellung in HTML fest definiert ist, gibt es Spielraum, um eigene Grafiken einzubinden.
Statt Listen immer nur mit den standardmäßigen Aufzählzeichen (Bullets) zu versehen (Kreise oder Kästchen), sorgen Sie mit einem CSS-Befehl für Abwechslung. Zunächst designen Sie eine GIF-Grafik, die Sie als Bullet verwenden wollen, in der Größe 8 x 8 Pixel. Dazu verwenden Sie ein gängiges Bildbearbeitungsprogramm. Zur Einbindung stehen Ihnen zwei Wege offen. Der einfachere verwendet eine Eigenschaft des Internet Explorers: der Befehl list-style-image. Im Head-Bereich bzw. einem externen Style Sheet geben Sie den Pfad zur Grafik vor (in unserem Beispiel bullet.gif).
ul {list-style-image:www.meinserver.de(bullet.gif) }
Surfer, die nicht mit der Microsoft-Surfhilfe unterwegs sind, bekommen von Ihrer nach diesem Muster aufgewerteten Webseite nur die standardmäßigen Aufzählzeichen zu sehen. Um diese ungewollte Darstellung zu verhindern, greifen Sie auf das bewährteste aller Stilmittel zurück: Ordnen Sie die Listen in Tabellenform an.
<TABLE cellpadding=0
cellspacing=1 border=0>
<TR>
<TD><IMG src="bullet.gif"
width="8" height="8" alt="Grafik-
Bullet"></TD>
<TD>Treasure Island</TD>
</TR>
<TR>
<TD><IMG src="bullet.gif"
width="8" height="8" alt="
Grafik-Bullet"></TD>
<TD>The Mirage</TD>
</TR>
<TR>
<TD><IMG src="bullet.gif"
width="8" height="8" alt=
"Grafik-Bullet"></TD>
<TD>Bellagio</TD>
</TR>
<TR>
<TD><IMG src="bullet.gif"
width="8" height="8" alt="
Grafik-Bullet"></TD>
<TD>MGM Grand</TD>
</TR>
</TABLE>

Verfasser: Andreas
Letzte Änderung: 2009-10-18 10:54


Mauszeiger-Darstellung anpassen

Im Browser verändert sich der Mauszeiger etwa beim Überfahren eines Links. Diesen Effekt können Sie steuern, um ihn auf Ihren Webseiten einzusetzen.
Die Darstellung des Mauszeigers lässt sich mit einfachen CSS-Anweisungen festlegen. Dazu notieren Sie die Eigenschaft cursor als Stil im Tag, über dem der Cursor sich verändern soll:
<p style="cursor:hand;">Ich bin
ein Absatz mit einer Hand als
Cursor.</p>
Pfeile in die acht Haupthimmelsrichtungen erzeugen Sie mit resize. cursor:w-resize; ergibt einen Pfeil nach Westen (links), ne-resize steht für einen Zeiger nach rechts oben (north east). Diese CSS2-Angabe wird bisher nur vom Internet Explorer und von Netscape 6 interpretiert.

Verfasser: Andreas
Letzte Änderung: 2009-10-18 10:55


Positionierte Elemente

Ein positionierter Bereich wird im Netscape 6 nicht an die gewünschte Koordinate gesetzt, obwohl der Browser CSS verstehen soll.
Mit Cascading Style Sheets können Sie Seitenelemente positionieren. Für Kompatibilität sorgen Sie, indem Sie die zu positionierenden Elemente mit dem DIV-Tag umschließen und für diesen Bereich eine CSS-Definition schreiben:
ElementID { position: absolute;top:50;left:100 }
Damit Netscape 6 die Definition korrekt rendert, müssen Sie den Werten für top und left die Einheitenbezeichnung (px für Pixel) hinzufügen.

Verfasser: Andreas
Letzte Änderung: 2009-10-18 10:56


Ränder und Abstände einrichten

Ihre Webseite soll möglichst wenige grafische Elemente erhalten, aber trotzdem gut aussehen.
Für Ihre Homepage möchten Sie ein edles Layout entwerfen, das durch freie Flächen gestaltet ist. Das ließ sich früher nur mit komplizierten Tabellen-Layouts verwirklichen, wie sie viele WYSIWYG- Editoren auch heute noch generieren. Wenn Sie keine antiken Browser auf Ihren Seiten erwarten, kommen Sie mit Cascading Style Sheets besser und moderner zum Ziel. Besonders nützlich ist die Angabe margin, mit der Sie den Abstand eines Elements zum vorhergehenden bzw. den Rand gegenüber dem übergeordneten festlegen können. Möglich sind die Einzelangaben margin-top, margin-bottom, margin-left und margin- right, zum Anderen auch eine zusammenfassende Notierung für alle vier Abstände, etwa margin:50px; Diese Angabe sorgt für einen Abstand von 50px zu allen Seiten. Besondere Effekte können Sie erzielen, wenn Sie der margin-Angabe einen negativen Wert geben. Dann überlappen sich die Seitenelemente. Folgendes Listing- Fragment erzeugt mit einfachen Mitteln eine Marginalspalte wie im Screenshot:
<body style="margin-left:200px;
margin-top:100px">
<h3>Textgestaltung mit CSS</h3>
<p style="margin-left:-200px;color:
red"> Text in einer Marginalspalte</
p>
<p style="margin-top:-40px;">normaler
Textabsatz</p>

Verfasser: Andreas
Letzte Änderung: 2009-10-18 10:56


Rollover-Links

Mit CSS-Angaben markieren Sie Links, so dass sie beim Überfahren mit der Maus ihr Aussehen ändern.
Auf vielen Webseiten sind Rollover-Buttons bereits Standard: Bewegt der Besucher den Mauszeiger über einen Button, ändert dieser sein Aussehen. Einen vergleichbaren Effekt für Textlinks erzeugen Sie mit Hilfe von Style Sheets und Event-Handlern. Zunächst definieren Sie im Head-Bereich zwei Styles, die die Links im Normalzustand und im "überfahrenen" Zustand beschreiben:
<style>
.an
{
text-decoration: underline
overline;
color: blue;
}
.aus {
text-decoration: none;
color: black;
}
</style>
Mit dem Style aus markieren Sie die Links für den normalen Zustand. Bewegt sich der Mauszeiger über den Link, schalten Sie auf an um. Das zeigt Ihnen das folgende Skript:
<a href="ziel.htm"
CLASS="aus"
onMouseOver="this.className
='an'"
onMouseOut="this.className =
'aus'">
Home
</a>
Es handelt sich um einen Link mit dem Tag <a>. Das Attribut CLASS legt den Style im Normalzustand fest, also aus. Bewegt sich der Mauszeiger über den Link, aktiviert das den Event-Handler onMouseOver. Er schaltet auf den Style an um. Sobald der Mauszeiger den Textlink verlässt, schaltet sich onMouseOut ein und setzt den Style auf aus zurück. Der Vorteil gegenüber klassischem Rollover ist der geringe Platzbedarf.

Verfasser: Andreas
Letzte Änderung: 2009-10-18 10:57


Schrift mit Schatten

Ohne große Bilddateien erzeugen Sie nur mit CSS einen Schatten für Überschriften (und andere Gelegenheiten).
Schrift mit Schatten produziert man für Webseiten normalerweise mit einem Grafikprogramm. In die Webseite integrieren Sie dann eine Bilddatei. Diese bläht aber den Umfang der Seite auf und sorgt für lange Ladezeiten. Die folgende Lösung kommt mit ein paar Zeilen im HTML-Code aus. Der Text wird in einem positionierten Bereich zweimal angezeigt, und zwar leicht verschoben. Der untere (überlagerte) Text wird grau dargestellt und wirkt so wie ein Schatten. Zunächst kommt also der Schatten:
<DIV style=" position: absolute;
top: 15px;
width: 500px; height: 80px;
font-size: 60pt;
font-family:Verdana;
color:808080">
PC Magazin
</DIV>
Das <DIV>-Tag umspannt den Text und nimmt alle CSS-Angaben auf. Der Bereich ist 500 x 80 Pixel groß und beginnt 15 Pixel unter dem oberen Seitenrand. Die Größe des Bereichs müssen Sie eventuell an Ihren Text anpassen, sonst kommt es zu einem Umbruch. Die Schrift ist hellgrau. Ein zweiter Bereich platziert die rote Schrift etwas versetzt über den grauen Schattenwurf. Im Beispiel ist ein Versatz von fünf Pixeln gewählt, die Angabe lautet damit top: 10px. Bis auf die Farbe sind die restlichen Angaben identisch:
<DIV style="position: absolute;
top: 10px;
width: 500px; height: 80px;
font-size: 60pt;
font-family:Verdana; color:red">
PC Magazin
</DIV>
Die Nachteile: Die Position der Schattenschrift innerhalb der Webseite ist festgelegt. Deshalb eignet sich das Verfahren hauptsächlich für Überschriften, denn diese stehen eben am Anfang.

Verfasser: Andreas
Letzte Änderung: 2009-10-18 10:58


Seitenhintergrund einstellen

Sie möchten Ihre Homepage mit einem Farbverlauf oder einer Grafik am linken Fensterrand veredeln, aber Frames vermeiden.
Um eine Webseite mit einer Grafik am linken Fensterrand zu verfeinern, erstellen Sie ein Hintergrundbild. Fertigen Sie eine Grafik mit dem Farbverlauf am linken Rand und dem Rest des Bildes in der gewünschten Hintergrundfarbe an. Das Bild kann eine sehr geringe Höhe haben, weil der Browser es automatisch kachelt. Wichtig ist eine ausreichende Breite, damit der Farbverlauf nicht mehrmals erscheint. Sie können den oberen Rand auch mit einem schmalen, langen Bild versehen. Mit Cascading Style Sheets geht das einfacher. Dabei enthält das Hintergrundbild lediglich den Farbverlauf bzw. die Grafik. Mit der CSS-Angabe background-repeat können Sie bestimmen, wie der Browser das Bild kacheln soll. Für den gewünschten Effekt wählen Sie einen der Werte repeat-x, repeat-y oder no-repeat: body {
background-image:url(bild.gif);
background-repeat:repeat-y;
background-color:white;
}
So sinkt die Dateigröße der Hintergrundgrafik, und Sie können eine andere Hintergrundfarbe einstellen, ohne die Grafik ändern zu müssen.

Verfasser: Andreas
Letzte Änderung: 2009-10-18 10:59


Text farblich unterlegen

Mit Cascading Style Sheets erhält Ihr Text eine Hintergrundfarbe.
Sie möchten einen mehrzeiligen Textbereich hervorheben, indem Sie ihm mit CSS eine Hintergrundfarbe geben. Das Ergebnis sieht jedoch im Netscape Navigator scheußlich aus: Der Navigator zieht die Hintergrundfarbe nur jeweils bis zum Zeilenende, so dass der rechte Rand ausgefranst ist, während der Internet Explorer einen von der Länge der einzelnen Zeilen unabhängigen rechteckigen Farbblock als Hintergrund erzeugt, allerdings über die ganze Seitenbreite. Um den gewünschten Effekt zu erzielen, müssen Sie die Stilangabe um Definitionen für die Breite und den Rand des Textabschnitts erweitern:
<p style="width:200px;border-style:none;border-width: thin;background-color:red;">
Einheitlicher Hintergrundfarbblock hinter mehreren Textzeilen bei einer Breite von 200 Pixeln.

Verfasser: Andreas
Letzte Änderung: 2009-10-18 11:00


Transparente Radio Buttons

Die Radio-Buttons Ihrer Formulare sollen bei farbigen Tabellenzellen die gleiche Hintergrundfarbe annehmen.
Binden Sie in einer Tabellenzelle, der Sie einen farbigen Hintergrund zugewiesen haben, Radio-Buttons ein, werden diese mit Netscape in der Farbe des Dokumentenhintergrunds und nicht in der Farbe der Tabellenzelle umrandet. Abhilfe schafft ein Style Sheet: Weisen Sie den betroffenen Formularelementen eine Stilvorlage zu:
<INPUT TYPE=
"radio" NAME=
"color" VALUE="blue" STYLE="background:#
FFCC00;">
Mit dem STYLE-Attribut weisen Sie mit der Angabe background dem Formularelement dieselbe Hintergrundfarbe wie den Tabellen zu. Bei Radio-Buttons verfahren Sie ebenso.

Verfasser: Andreas
Letzte Änderung: 2009-10-18 11:00


Überblendeffekte

Mit einem CSS-Filter erzeugen Sie im Internet Explorer Übergangseffekte wie bei Präsentationsprogrammen.
Der Internet Explorer unterstützt seit der Version 4.0 bei CSS-Angaben spezielle Filter. Mit einem davon erzeugen Sie beeindruckende Ein- und Ausblendeffekte. Das funktioniert als Kombination zwischen ein paar Zeilen JavaScript und einer CSS-Angabe. Fügen Sie zunächst an beliebiger Stelle innerhalb des Body-Tags folgendes Script ein:
<SCRIPT FOR=window EVENT=onload
LANGUAGE=Javascript>
uebergang.filters[0].Apply();
uebergang.innerHTML =
"<img src=untergang.jpg>";
uebergang.filters[0].Play();
</script>
Dieses Script bezieht sich auf den Bereich uebergang (den Sie gleich noch definieren). Die erste Zeile weist die Filter dem Bereich zu. Die zweite Zeile definiert den neuen Inhalt des Bereichs, hier geben Sie HTML-Code an. Im Beispiel wird ein Bild eingebunden. Die dritte Zeile aktiviert den Filter und sorgt für den Überblendeffekt. Den Bereich legen Sie mit HTMLTags fest:
<div id="uebergang"
style="position:relative;
width:347;
height:330;
top:20; left:30;
filter:reveal Trans
(transition=12,duration=8)">
<h1>Hier steht
Text!</h1>
</div>
Die Verbindung zwischen dem Script und dem Bereich stellt das Attribut id="uebergang" her. Der Parameter Transition steuert die Art des Übergangs. Welche Varianten es gibt, zeigt die Tabelle rechts. Mit Duration steuern Sie die Dauer des Effekts in Sekunden und Millisekunden (1.500 entspricht 1,5 Sekunden). Diese Filter sind nicht im CSS-Standard enthalten und funktionieren nicht mit anderen Browsern. Während bei jenen nichts passiert, bleibt im Beispiel der Text erhalten, das Bild ist unsichtbar.

Verfasser: Andreas
Letzte Änderung: 2009-10-18 11:01


Verweise mal anders

So weisen Sie den Hyperlinks Ihrer Webseite unterschiedliche Farben und Effekte zu.
Nach althergebrachter Methode bestimmen Sie die Link-Farben für die unterschiedlichen Zustände im body-Tag. Sie können den neutralen Link, seinen Zustand beim Klicken und besuchte Links unterschiedlich darstellen. In HTML sieht dies wie folgt aus:
<body link="Farbwert"
alink="Farbwert" vlink="
farbwert">
Statt eines Farbwerts müssen Sie einen gültigen hexadezimalen Wert für eine Farbe (zum Beispiel #FFFFFF für Weiß) oder einen Farbnamen wie red eingeben. Dabei dient das Attribut link für die Farbe des neutralen Links, alink für einen aktiven, angeklickten Link und vlink für besuchte Verweise (Seiten, die sich in der History des Browsers befinden). Mit Hilfe von Style-Sheets haben Sie weitere Effekte zur Auswahl. Das Beispiel von oben sieht mit CSS so aus:
<style
type="text/css">
<!
a {color:#FF0000}
a:visited {textdecoration:
none;
color:#000000;}
a:link {
text-decoration:
none;
color:#000000;}
a:active {
text-decoration:none;
color:#5d7790;}
a:hover { textdecoration:
underline;
color:#666666;}
>
</style>
Sie können hier bereits zwei Erweiterungen erkennen. Die Angabe text-decoration:none; bedeutet, dass Verweise nicht unterstrichen dargestellt werden. Mit a:hover können Sie mit dem Internet Explorer ab Version 4 und Netscape 6.x einen Hover-Effekt hervorrufen (wenn der Besucher mit der Maus über den Link streicht). In unserem Beispiel würde ein Verweis in einer anderen Farbe und unterstrichen dargestellt werden. Wenn Sie unterschiedliche Effekte für Verweise auf einer Seite bestimmen möchten, definieren Sie zusätzliche Klassen für Verweise , im Beispiel neufarbe:
<style type="text/css">
<!... Angaben wie zuvor ....
a.neuefarbe {color:# 666666}
a.neuefarbe:visited {
text-decoration: underline;
color:#000000;}
a.neuefarbe:link {
text-decoration: underline;
color:# 666666;}
a.neuefarbe:active {
text-decoration: underline;
color:#ffff00;}
a.neuefarbe:hover {
text-decoration:none;
color:#00ffff;}
>
</style>
Damit diese Effekte zum Tragen kommen, müssen Sie im Dokument in jedem Verweis angeben, welcher Style verwendet werden soll:
<a href="seite_1.html">Normaler
Link</a>
<a href="seite_2.html"
class="neuefarbe">Link in einer
anderen Formatierung</a>
Der erste Link ohne Klasse verwendet die Standardangaben, der zweite die Klasse neufarbe. Mit dieser Technik können Sie das Aussehen Ihrer Webseiten auf interessante Weise bereichern.

Verfasser: Andreas
Letzte Änderung: 2009-10-18 11:02


Wasserzeichen

Nageln Sie das Hintergrundbild einer Webseite fest und unterbinden Sie die "Kachelung" des Bildes.
Hintergrundbilder für Webseiten sind normalerweise dynamisch und lassen sich über die Rollbalken zusammen mit dem Seiteninhalt verschieben. Wie wäre es mit einem Hintergrundbild, das fixiert ist? Es steht fest wie ein Wasserzeichen bei einem Blatt Papier. Der Internet Explorer verfügt über ein extra Attribut für das Body-Tag:
<body background="bild.gif" bgproperties="fixed">
Allerdings kennt kein anderer Browser dieses Attribut, auch in HTML 4.0 ist es nicht vorgesehen. Eine kompatible Lösung bieten die Cascading Style Sheets. Das funktioniert auch bei Netscape 4 bis 6 sowie Opera. Wenn Sie schon dabei sind, binden Sie über die CSS-Angabe auch gleich das Hintergrundbild ein. Denn die offizielle HTML-Dokumentation des W3C empfiehlt, das Attribut background zu vermeiden.
<body style="backgroundimage:
url(wolken.jpg); background-attachment:fixed;">
Wenn das Hintergrundbild zu klein für das ganze Fenster ist, dann wiederholt der Browser das Bild waagerecht und senkrecht. Dieser Kacheleffekt ist manchmal unerwünscht, etwa wenn Sie ein Hintergrundbild mit einem eingezeichneten Rand haben. Die CSSAngabe
style="background-repeat:no-repeat"
unterdrückt alle Wiederholungen. Mit den CSS-Angaben repeat-x (waagrecht) und repeat-y (senkrecht) verhindern Sie nur eine Wiederholung in einer Richtung.

Verfasser: Andreas
Letzte Änderung: 2009-10-18 11:03


Webseiten mit Stil ausdrucken

Deckblätter haben sich bei Faxnachrichten als Standard etabliert. Doch nur wenige Webdesigner wissen, dass sich auch die eigene Homepage um solch ein Feature erweitern lässt.
Wer seinen Besuchern einen besonderen Service anbieten möchte, kann die einzelnen Seiten um ein informatives Deckblatt erweitern, das beim Drucken einer Seite automatisch mit ausgegeben wird. Obwohl der Sourcecode in der Seite eingebunden ist, wird das Deckblatt nicht im Browser angezeigt (Befehl { display: none; }), es sei denn, die verwendete Surfhilfe unterstützt Cascading StyleSheets nicht. Lediglich ältere Netscape-Versionen kommen mit diesem Feature nicht zurecht. Um Ihre Seiten mit einem Deckblatt aufzuwerten, ergänzen Sie im Quellcode der jeweiligen Pages die Angaben in Listing 1. Zusätzlich definieren Sie die Datei druck.css. Der Befehl { page-break-after: always } sorgt dafür, dass nach dem Deckblatt automatisch ein Seitenwechsel erfolgt):
div.deckblatt, div.deckblatt h3 {
display: block }
div.deckblatt { page-break-after:
always }

Verfasser: Andreas
Letzte Änderung: 2009-10-18 11:06


Schlagschatten für eingebundene Objekte

Wer in den CSS-Spezifikationen keinen Hinweis auf den Einsatz von Schlagschatten gefunden. hat, wird mit diesem Trick fündig.
Obwohl CSS2 keine Spezifikationen für den Schattenwurf einer Textbox kennt, lässt sich dieser reizvolle Effekt einfach realisieren. Dazu müssen Sie lediglich zwei ineinander verschachtelte Elemente so miteinander verbinden, dass das äußere Objekt den Schattenwurf des inneren erzeugt. Anschließend positionieren Sie beide Elemente so, dass sie sich überlagern; bei der Farbgebung haben Sie freie Wahl. Das folgende Beispiel zeigt den Quellcode der im Bildschirmfoto gezeigten Konstruktion. Der Code wird im <head>-Bereich der Seite eingefügt.
<style type="text/css">
body {background: #72E7FC}
div.back {background: #7C7F5F}
div.section {background: #F7FDB5}
div.back {padding: 1.5em}
div.section {margin:
-3em 0 0 -3em}
div.back {margin: 3em 0 3em 5em}
div.section {border: thin solid
#999; padding: 1.5em}
</style>
<div class=back>
<div class=section lang=de>
<h2>Textboxen mit ansehnlichem
Schlagschatten</h2>
<address>CSS2 macht es
möglich</address>
<p>Ihr Text
</div>
</div>

Verfasser: Andreas
Letzte Änderung: 2009-10-18 11:07


Farbige Formulare

Schwarze Schrift auf weißem Grund erscheint auf Dauer langweilig. Sie können aber nicht nur durch Bilder, sondern auch mit Formularen und Tabellen Farbe auf Ihre Website bringen.
Mit Cascading Stylesheets können Sie sowohl die Text- als auch die Hintergrundfarbe in Formularen und Tabellen ändern. Sie sollten dabei aber aufpassen, dass die Texte weiterhin lesbar bleiben. Zu viel Spielerei mit Farben erzeugt oft unleserliche Effekte wie blaue Schrift auf blauem Grund oder Augenschmerzen durch zu viele und zu stark leuchtende Farben. Daher sind sanftere Hintergrundfarben und kräftigere Textfarben zu empfehlen, die einen gut lesbaren Kontrast erzeugen. Darüber hinaus ist dunkler Text auf hellem Grund meist leichter zu lesen als heller Text auf dunklem Grund. Die Textfarbe legen Sie mit dem Befehl color fest, die Hintergrundfarbe über background-color. Durch Verlinkungen können Sie so sehr einfach und schnell eine ansprechende Navigation für Ihre Website erzeugen.
<body>
<form name="Formular1">
<select name="roll" size="3"
style="background-color:lightskyblue">
<option style="color:red">Bilder
<option style="color:green">
Downloads
<option style="color:blue">
Freunde
<option style="color:black">
Nachrichten
<option style="color:yellow">
Sonstiges
</select>
</form>
<table width="90%" border="1">
<tr style="background-color:lightskyblue">
<td width="40%"
style="color:red">WEKA-Verlag
</td>
<td width="60%"
style="color:blue">PC-Magazin
</td>
</tr>
</table>
</body>

Verfasser: Andreas
Letzte Änderung: 2009-10-18 11:07


Farbe der Links ändern

Viele Browser zeigen Links standardmäßig in blauer Schrift und unterstrichen an. Sie können dies mit einem JavaScript ändern.
Überlegen Sie sich gut, ob Sie Farbe und Unterstreichung von Hyperlinks ändern wollen. Die meisten Besucher Ihrer Website haben sich nämlich inzwischen an die Standardfarben und Unterstreichungen gewöhnt. Sie erkennen dann einen Textabschnitt automatisch als Link. Verwenden Sie andere Schriftfarben, wird der Link häufig nicht mehr als solcher erkannt - vor allem, wenn der Text nicht unterstrichen ist. Deswegen sollten andersfarbige Texte deutlich als Link zu erkennen sein: zum Beispiel über einen Hinweis im Text oder einer Tabellenbeschriftung. Eine Farbänderung beim Drüberfahren mit der Maus unterstützt das Erkennen. Ihre gewünschte Farbe erreichen Sie durch ein Cascading Stylesheet, wobei visited den bereits besuchten Link markiert, und hover die Farbänderung beim Drüberfahren mit der Maus:
<head>
<style type="text/css">
<!--
a:link { color:black;
text-decoration:none; }
a:visited { color:red;
text-decoration:none; }
a:hover { color:green;
text-decoration:underline; }
//-->
</style>
</head>
<body>
Das ist ein unsichtbarer <a
href="">http://www.pc-magazin.de">
Link</a>.
</body>

Verfasser: Andreas
Letzte Änderung: 2009-10-18 11:08


Rollover mit Hover

Einfache Rollover-Menüs lassen sich mit Cascading Style Sheets ohne großen Aufwand realisieren.
Das Menü in Form einer horizontalen Navigationsleiste wird ausschließlich durch ein externes Cascading Style Sheet definiert. Änderungen können so schnell Site-übergreifend vorgenommen werden. Das Stylesheet benutzt den Hover-Parameter, um den Rollover-Effekt zuzuweisen. Die Definitionsdatei wird unter dem Namen rollover.css gespeichert. Zunächst werden Hintergrundfarbe und Schrift festgelegt. Dann erfolgt die Formatierung des Menüs. Der Ausgangszustand (A:link) zeigt weiße Schrift auf schwarzem Hintergrund. Beim Überfahren (A:hover) wechselt die Hintergrundfarbe zu Rot und die Schrift zu Gelb.
P {background-color: white;
font-family: Verdana, Helvetica,
Arial, sans-serif}
P.navigationsleiste
{background-color: black; border:
medium #ffffff solid; padding:
1%; text-align: center; width:
80%}
P.navigationsleiste A:link
{background-color: black; color:
white; text-decoration: none}
P.navigationsleiste A:hover
{background-color: red; color:
yellow; text-decoration: none}
P.navigationsleiste A:visited
{background-color: black; color:
white; text-decoration: none}
P.navigationsleiste
a:visited:hover
{background-color: red; color:
yellow; text-decoration: none}
Das Stylesheet binden Sie im Header Ihrer Seite durch die Zeile
<link href="rollover.css"
rel="styleSheet" type="text/css">
ein. Auf der Seite wird die Naviagationsleiste dann folgendermaßen eingebunden:
<p class="navigationsleiste">
<a href="home.html">Home</a> |
<a href="prod.html">Produkte</a> |
<a href="support.html">Support</a> |
<a href="mail.html">Kontakt</a>
</p>

Verfasser: Andreas
Letzte Änderung: 2009-10-18 11:09


Font-Attribute

Viele Web-Entwickler nutzen die Vorzüge von Stylesheets. Sie benötigen nur eines für mehrere Seiten. Das heißt, Sie nehmen Änderungen nur in diesem vor und nicht für jede Seite einzeln. Eine der wichtigen Eigenschaften betrifft die Schrift. Für sie gibt es fünf Parameter.
l font-family: Hier wird der Name der benutzten Schrift angegeben: Courier, Helvetica, Arial oder Times. Ist der Schrifttyp nicht verfügbar, kann eine übergeordnete Familienbezeichnung angegeben werden: serif, sansserif, monospace, cursive und fantasy. Die Fonts können in einer bevorzugten Reihenfolge angegeben werden. Ist dann die zuerst genannte nicht auf dem System verfügbar, wird die nächstniedrigere benutzt. Beispiele: BODY { font-family: Times, TimesRoman, serif } P { font-family: Helvetica, Verdana, Arial, sans-serif } H1 { font-family: Monaco, Courier, monospace }
l font-style: Unterscheidungen im Stil finden eigentlich nur zwischen normal und italic (kursiv) statt. Die dritte Option, oblique, ist normalerweise mit italic identisch.
l font-variant: Auch unter den Varianten sind nur zwei Optionen gebräuchlich, normal und small-caps, wobei es sich bei den small-caps um kleiner dargestellte Großbuchstaben (Kapitälchen) handelt. Diese Einstellung wird nur in seltenen Fällen gewählt.
l font-weight: Das Gewicht der Schrift bezeichnet die Stärke der Darstellung, übliche Einstellungen sind Normaldarstellung und Fettdruck (bold). Unter font-weight sind vier Bezeichnungen sowie einige Werteingaben zulässig: normal, bold, bolder, lighter und 100, 200, 300, 400, 500, 600, 700, 800, 900 ( normal = 400 und bold = 700).
l font-size Die Größe der Schrift lässt sich auf fünf Arten festlegen, in absoluter Größe durch Punkt: 7pt, 22pt, 14pt, 36pt, 72pt, ... und Pixel: 100px, 45px, 90px, 10px, .... Alternativ können Sie relative Größen verwenden: xx-small, xsmall, small, medium, large, x-large, xx-large und Prozent: 24%, 58%, 150%, 10%, 100%, .... Seltener gebräuchlich ist die Größenangabe Ems. Sie entspricht der prozentualen Größe (Ems: .24em, .58em, 1.5em, .1em, 1.0em, ...). Die relative Größe bezieht sich auf die zuvor gesetzte absolute Größe. Wird im Body-Tag eine feste Größe definiert, lassen sich in den Absätzen hierzu relative Angaben treffen.

Verfasser: Andreas
Letzte Änderung: 2009-10-18 11:10


Hintergrundgrafiken einbauen

Sind Ihnen einfarbige Hintergründe auf Webseiten zu langweilig, können Sie diese mit einem Bild aufpeppen.
Normalerweise binden Sie Hintergrundgrafiken mit HTML in eine Seite ein. Die Browser stellen diese Bilder dann gekachelt dar, das heißt, sie wiederholen die Grafiken so oft, bis die gesamte Seite ausgefüllt ist. Der gewünschte Effekte geht hierbei jedoch häufig verloren. Mit CSS verhindern Sie die Kachelung und können Platzierung sowie Anzeige des Bildes vollständig kontrollieren. In HTML binden Sie eine Hintergrund-Grafik über das <body>-Tag ein: <body background="bgimage.jpg"> Möchten Sie nun die Darstellung mit CSS kontrollieren und den Kacheleffekt verhindern, benutzen Sie den Wert "no-repeat". Der Browser zeigt die Hintergrund-Grafik jetzt nur ein einziges Mal in der linken oberen Ecke an. Sie sind damit nicht zufrieden? Kein Problem: Mit der Option "center" platzieren Sie das Bild in der Mitte Ihrer Webseite. Während Netscape 4.7 "center" noch nicht kennt, stellen neuere Browser das Bild in der gewünschten Weise dar. Wenn Ihre Seite sehr lang geworden ist, kann es passieren, dass Besucher die Hintergrund-Grafik erst sehen, wenn sie auf die Seite nach unten gescrollt haben. Ergänzend sollten Sie eine Hintergrundfarbe definieren, die im gleichen Farbklima gehalten ist. Farben werden schneller dargestellt, als Bilder geladen werden. Dadurch vermeiden Sie ungewollte Kontraste beim Seitenaufbau. Auch diese Hintergrundfarbe integrieren Sie als Farbcode (#xxxxxx) direkt in das Style Sheet. Komplett sieht es dann folgendermaßen aus:
<style type="text/css" >
body { background: #CCFF99 url(bg
image.jpg) no-repeat center; }
</style>
Verwenden Sie keine großen Bilder mit einer langen Ladezeit für den Hintergrund und achten Sie auf einen guten Kontrast zwischen Hintergrund und Text bzw. anderen Seitenelementen.

Verfasser: Andreas
Letzte Änderung: 2009-10-18 11:10


Wasserzeichen mit CSS

Ein Wasserzeichen ist ein Hintergrundbild, das fixiert ist. Der Internet Explorer verfügt über eine extra Attribut für das <body>-Tag:

<body background="bild.gif"
bgproperties=fixed>

Allerdings kennt kein anderer Browser dieses Attribut, auch in HTML 4.0 ist es nicht vorgesehen. Eine kompatible Lösung bieten Cascading Style Sheets. Das funktioniert immerhin auch bei Mozilla/Netscape 7.

<body style="background-image:
url(bild.gif); backgroundattachment:
fixed;">

Verfasser: Andreas
Letzte Änderung: 2009-10-18 11:11


Browserweiche ohne Skript

Netscape 4.x macht bei vielen CSS-Eigenschaften Probleme. Definieren Sie deshalb einen Stylesheet-Bereich, den dieser Browser ignoriert.
Immer noch nutzen etliche Surfer Netscape 4.x. Gerade beim Einsatz von CSS macht der Browser aber Probleme und zerwürfelt viele Layouts. Mit einem CSS-Kniff ist es leicht, spezielle CSS-Deklarationen nur für modernere Browser wie Internet Explorer, Mozilla oder Opera zu notieren: Netscape 4 kennt die At-Regel @medianicht, alle anderen Browser schon. Klammern Sie einfach alle für Netscape 4.x ungeeigneten CSS-Regeln so ein:

<style type="text/css">
@mediaall {
a {border: solid red}
} </style>

Verfasser: Andreas
Letzte Änderung: 2009-10-18 11:12


3D-Rahmen mit CSS

Einfache grafische 3D-Rahmen sind mit CSS kein Problem. Mit der CSS-Eigenschaft border-style umgeben Sie praktisch jedes Element mit einem Rahmen, egal ob Bild, Absatz oder ein einzelnes Wort:

<img src="bild.gif"
style="border-style: inset;">

Der Wert inset lässt das Bild so aussehen, als wäre es in den Hintergrund eingedrückt. Daneben sind noch outset (Gegenteil von inset), groove (Rahmen in Hintergrund eingeritzt) und ridge (Rahmenlinie erhaben dargestellt) erlaubt. Die Breite des Rahmens steuern Sie mit border-width zum Beispiel in Pixel.

Verfasser: Andreas
Letzte Änderung: 2009-10-18 11:13


Formularbuttons formatieren

CSS-Eigenschaften lassen sich auch auf Buttons in Formularen anwenden, so dass sie beispielsweise ein Hintergrundbild erhalten.
Ein Vorteil von CSS gegenüber HTML-Attributen ist die (beinahe) universelle Anwendbarkeit. So stehen Ihnen für Formularbuttons nahezu alle CSS-Eigenschaften zur Verfügung. Das folgende Beispiel stattet einen Button mit Hintergrundbild aus, legt die Größe fest und bestimmt die Größe der Beschriftung:

<input type="submit"
style="background-image: url(lod.jpg);
font-size: 20pt; font-weight: bolder;
width: 320px; height: 213px;">
<\>/form>

In der zweiten Zeile weisen Sie mit background-image: url(lodge.jpg) dem Button ein Hintergrundbild zu. Die nächste Zeile bestimmt mit font-size eine Schriftgröße von 20 Punkt, font-weight: bolder sorgt für eine extra fette Schrift. Wenn Sie den Standardtext für den Submit-Button ändern wollen, verwenden Sie das HTML-Attribut value="....". Die letzten beiden CSS-Angaben setzen die Breite und Höhe des Buttons auf die Maße des Bildes. Ohne diese Angaben macht der Browser den Button so groß, dass die Schrift Platz findet.

Verfasser: Andreas
Letzte Änderung: 2009-10-18 11:14


Hoch- und tiefgestellter Text

Mit CSS vermeiden Sie ungleiche Zeilenabstände bei hoch- oder tiefgestellten Elementen.
In vielen Fällen sind hoch- oder tiefgestellte Buchstaben im Fließtext erforderlich etwa m2 oder H2O. In HTML erreichen Sie diesen Effekt über <sup> (hoch) und <sub> (tief). Die Browser passen die Zeilenhöhe nicht entsprechend an und das sieht hässlich aus. Mit CSS lässt sich das Problem lösen:

<style type="text/css">
.hoch { vertical-align: super; fontsize:
50%;}
.tief { vertical-align: sub; fontsize:
50%;}
.absatz { line-height: 140%;} </style>

Die Klassen .hoch und .tief versetzen den Text mit vertical-align und reduzieren die Schriftgröße auf 50 Prozent. Die Textabsätze erhalten mit der Klasse .absatz einen vergrößerten Zeilenabstand von 140%. Diese Klassen wenden Sie so an:

<p class="absatz">Wasser ist H<span
class="tief">2</span>O</p>

Verfasser: Andreas
Letzte Änderung: 2009-10-18 11:14


Tippfehler vermeiden

Der Internet Explorer 6.0 reagiert empfindlich auf falsch geschriebene CSS-Regeln vermeiden Sie häufige Fehler.
Wenn eine Datei gemäß HTML-Standard mit einer gültigen Doctype-Zeile inklusive URI beginnt, schaltet der Internet Explorer 6.0 in den Standards Compliant Mode um. Dann legt der Browser die Regeln für CSS sehr streng aus. Was ältere Versionen einwandfrei darstellen, erscheint im IE 6.0 fehlerhaft. Achten Sie besonders auf folgende Punkte:
- Farbangaben in Hexadezimalschreibweise müssen unbedingt mit einer Raute beginnen. body { background-color : FFCC66 } ist falsch, richtig muss es body { background-color : #FFCC66 } lauten.
- Bei Schriftgrößen ist kein Leerzeichen zwischen Größenangabe und Einheit erlaubt. Sie müssen also

p { font-size : 12px}

statt

p { font-size : 12 px}

schreiben.
- Besonders kritisch wird es bei den Namen sowie class- und id-Attributen. CSS unterscheidet Groß- und Kleinbuchstaben. Definieren Sie etwa nav im Stylesheet-Bereich und <div class="Nav"> im HTML-Bereich, wird der IE 6.0 diese Regel nicht anwenden!

Verfasser: Andreas
Letzte Änderung: 2009-10-18 11:15


Animierte Buttons

Ganz ohne JavaScript definieren Sie mit CSS Buttons, die bei Mauskontakt die Darstellung ändern.
Für animierte Buttons in der Navigationsleiste gibt es viele Rezepte. Ganz ohne Java, Java-Script oder Flash funktioniert es mit CSS und der Pseudo-Klasse :hover. Eine CSS-Definition dieser Klasse wird nur aktiv, wenn sich der Mauszeiger über einem Link befindet. Der Kniff ist nun, einem normalen Link die Form eines Buttons zu geben. Das erledigt die folgende CSS-Regel:
a.menue {
display: block;
width: 8em;
height: 1.3em;
padding: 2px;
border-style: solid;
border-width: 1px;
border-color: #00f;
text-align: center;
text-decoration: none; }
Die Besonderheit ist display: block. Damit weisen Sie den Browser an, den Link nicht wie ein normales Wort zu behandeln (Inline-Element), sondern wie einen Absatz (Block-Element). Die nächsten CSS-Eigenschaften legen die Größe des Buttons fest. Die Einheit em bezieht sich auf die aktuelle Schrift, so dass die Buttons sich der Schriftgröße im Browser anpassen. Die restlichen CSS-Befehle sind Standard. Die folgenden CSS-Regeln legen fest, welche Farbe der Link in verschiedenen Situationen hat. Normale oder bereits besuchte Links (:link und :visited) sind blau und haben einen transparenten Hintergrund. Berührt der Mauszeiger einen Link, also den gesamten Link-Absatz, so greift :hover. Die Schrift wird weiß und der Hintergrund blau. Klicken Sie einen Link an (:active), so wechselt die Hintergrundfarbe auf rotbraun:
a.menue:link { color:#00f;
background-color:transparent; }
a.menue:visited { color:#00f;
background-color:transparent; }
a.menue:hover { color:#fff;
background-color:#00f; }
a.menue:active { color:#ffF;
background-color:#a03; }
Die Anwendung ist denkbar einfach. Sie weisen einem normalen Link einfach die Klasse menue zu:
<a class="menue" href="...">Home</a>
Um eine saubere Darstellung zu erreichen, formatieren Sie die CSS-Links mit einer unsichtbaren Tabelle.

Verfasser: Andreas
Letzte Änderung: 2009-10-18 11:15


Mauszeiger verändern

Mit der CSS-Eigenschaft Cursor verwenden Sie beim Internet Explorer eine beliebige Bilddatei als Mauszeiger.
Standardmäßig sieht der Mauszeiger bei Windows wie ein Pfeil aus, der zum Beispiel über einem Link zu einer Hand mit ausgestrecktem Zeigefinger wird. Mit der Eigenschaft cursor verändern Sie den Mauszeiger so, wie Sie es wollen. Eine pfiffige Erweiterung des CSSStandards unterstützt derzeit nur der Internet Explorer 6.0:
Sie geben den Namen einer Cursor-Ressourcendatei in den Formaten cur (statischer Mauszeiger) oder ani (animierter Mauszeiger) an:
<img src="limo-vor-downtow-la.jpg"
alt="Limousine in Los Angeles
Downtown"
style="cursor=url(banana.ani)">
Das Beispiel bindet banana.ani als animierten Mauszeiger ein.

Verfasser: Andreas
Letzte Änderung: 2009-10-18 11:16


Texte um Bilder fließen lassen

In HTML erscheinen Texte und Bilder auf einer Webseite einfach nacheinander in der Reihenfolge des Quellcodes. CSS erlaubt es, Bilder in den Textfluss einzufügen.
In dem folgenden Quellcode wird für das <img>-Tag ein Style mit der Eigenschaft float: right für die Klasse symbol definiert. Das sorgt dafür, dass das Bild direkt gegen die linke Kante des Elements gleitet, in das es eingebettet ist. In diesem Fall ist dies das Element <p>, das neben dem Bild den Text enthält. Zusätzlich ist ein Rand gesetzt, um das Bild vom Text abzusetzen. Je nachdem, wie der Anwender das Browser-Fenster aufzieht, erscheint der Text rechts neben dem Bild oder wird, wenn der Platz nicht ausreicht, unter dem Bild fortgesetzt.
<html><head><meta http-equiv=
"content-type"
content="text/html;charset=
iso-8859-1">
<title>Text mit Bild</title>
<style type="text/css" media="screen">
<!-- img.symbol { float: left; margin:
1em}
p { font-size: 1em}--> </style>
</head>
<body bgcolor="#ffff25">
<p>a rose is a rose
<img class="symbol" src="rose.gif"
alt="eine Rose ist eine Rose"
height="180" width="176" border="0.5">
is a rose ... usw ...a rose a rose is
a rose is a rose </p> </body></html>

Verfasser: Andreas
Letzte Änderung: 2009-10-18 11:17


Stilkaskaden

Das C in CSS steht für die Möglichkeit, Stylesheet-Kaskaden zu verwenden, also Abfolgen von Style-Definitionen, die sich ergänzen oder auch widersprechen können. Dass die modernen Browser damit umgehen können, erlaubt es, Stilvorlagen zu erstellen, die für eine Firma etwa bestimmte allgemeine Merkmale für Schriften und Farben festzulegen und diese Festlegungen für bestimmte Seiten einer Website durch konkretere Formatierungsanweisungen zu ergänzen oder auch teilweise zu überschreiben. Dabei werden die übergeordneten Stylesheets durch <link>-Elemente eingebunden, etwa:
<link title="corporate"
href="corporate.css"
rel="stylesheet" media="screen">
<style type="text/css">
h1 {color: white;}
</style>

Verfasser: Andreas
Letzte Änderung: 2009-10-18 11:18


Initiale mit Pseudoselektoren

Hervorhebungen des ersten Buchstabens oder der ersten Zeile in einem Absatz sind in den Printmedien geläufig. CSS erlaubt diese Effekte auch fürs Web. Normalerweise beziehen sich Stylesheets auf komplette Elemente einer Webseite, die in Tags eingeschlossen sind, etwa Tabellenelemente oder eine Überschrift. Für Textabschnitte stehen aber noch Selektoren zur Verfügung, um auf Teile davon zuzugreifen. In dem folgenden Beispiel stellen wir die Selektoren p:first-letter und p:first-line vor, um den ersten Buchstaben als Initial und die erste Zeile eines Absatzes fett auszugeben.
<html><head><meta http-equiv="contenttype"
content="text/html;charset=iso-
8859-1"><title>CSS-Beispiel</title>
<style type="text/css" media="screen">
p.initial:first-letter { font-size:
36pt; float:left }
p.onepara:first-line { font-weight:
bold }</style></head>
<body bgcolor="#ffffff">
<p class=initial> Stylesheets erlauben
eine detaillierte Formatierung Ihre
Webseiten...
<p class=onepara> Dabei werden drei
Typen unterschieden: ... Klassen-Stile
k&ouml;nnen einzelnen Elementen
zugewiesen werden...</p>
<p>Leider unterst&uuml;tzen nicht alle
Browser bereits alle CSSEigenschaften!</
p></body></html>
Da üblicherweise nur bestimmte Abschnitte in dieser Form gestaltet werden, sind diese Selektoren in der Regel mit Klassenselektoren kombiniert. Das letzte <p>-Element bleibt deshalb von den Style-Definitionen unberührt.

Verfasser: Andreas
Letzte Änderung: 2009-10-18 11:18


Optimierung des Zeilenabstands

Neben der Schriftart und Schriftgröße hat insbesondere der Zeilenabstand Einfluss darauf, ob Texte gut zu lesen sind.
In der Regel ist der Zeilenabstand, den normales HTML erzeugt, zu niedrig. Er liegt meistens bei 120% der Schriftgröße. Der Durchschuss lässt sich aber auch nicht einfach durch entsprechende Attribute ändern. Hier helfen wieder Style-Definitionen, die den Zeilenabstand exakt definieren können. Eine Faustregel ist, dass der Zeilenabstand das Eineinhalbfache der Schriftgröße haben sollte, bei 10 Punkt also 15 Punkt. Das lässt sich am einfachsten mit Hilfe der relativen Maßeinheit em fixieren, die der jeweiligen Schriftgröße entspricht:
p {font-family: Georgia;
font-size: 10px;
line-height: 1,5em }
Bei großen Schriften sollte der Faktor etwas reduziert werden.

Verfasser: Andreas
Letzte Änderung: 2009-10-18 11:19


Schöne Listen

Um Listen gefällig darzustellen, wird häufig noch mit Tabellen und GIF-Abstandhaltern gearbeitet. CSS bietet dafür viel einfachere Lösungen.
Die Aufgabe, eine Liste mit einer schmucken Kopfzeile und eigenen Bullets zu zieren, lässt sich in einem Stylesheet mit wenigen Anweisungen meistern. In dem folgenden Beispiel definieren Sie eine Klasse titel, die zunächst eine durchgezogene solid und sehr feine ein Pixel starke Linie einfügt und zugleich für einen flexiblen Abstand sorgt. Den zweiten Style definieren Sie direkt für das Element <ul> und legen fest, dass anstelle der Standardaufzählungszeichen eine kleine Grafik verwendet wird, die als GIF vorliegt. Die Klasse titel muss dann nur noch dem <h3>-Element als Attribut beigegeben werden.
<html><head>
<style type="text/css" media="screen">
.titel { font: bold, .8em, Verdana;
border-top: solid 1px #666666;
background: #CCCCCC;
padding: 3px }
ul { font: 1em Verdana; list-styleimage:
url(bilder/triangle.gif) }
</style>
</head>
<body bgcolor="#ffffff">
<h3 class="titel">Regionen</h3>
<ul><li> Norden<li> Osten<li>
Süden<li> Westen</ul>
</body></html>

Verfasser: Andreas
Letzte Änderung: 2009-10-18 11:19


Farbige Bildlaufleisten

Die Farben der Bildlaufleisten lassen sich an die der Webseite verwendeten Farben anpassen.
Um die Bildlaufleisten für das gesamte Browserfenster einzufärben, definieren Sie einen Style für das <body>-Element:
<style type="text/css"
media="screen">
body {scrollbar-3dlight-color:#aeaeea;
scrollbar-face-color:#ffe08d;
scrollbar-arrow-color:#aedeca;
scrollbar-darkshadow-color:#efbd8e;
scrollbar-highlight-color:#edce0f;
scrollbar-shadow-color:#efbd8e;
scrollbar-track-color:#b19024;
}</style>
Nacheinander verändert der Stil so die 3D-Farbe, die Oberflächenfarbe, die Farbe der Richtungspfeile, der dunklen Schatten, die Farbe für den oberen und linken Rand, für die hellen Schatten und den Bereich, der für die Bewegung der Balkens angeboten wird. Allerdings färbt im Augenblick nur der Internet Explorer die Bildlaufleisten entsprechend ein.

Verfasser: Andreas
Letzte Änderung: 2009-10-18 11:20


Besuchte Links durchstreichen

Um die Übersichtlichkeit zu erhöhen, sollten die drei Aggregatszustände von Hyperlinks mit unterschiedlichen Farben ausgezeichnet werden. Benutzerfreundlicher und optisch ansprechender ist es aber, bereits besuchte Links durchzustreichen.
Im Normalfall verhält es sich so, dass Sie Hyperlinks jeweils drei Farben zuweisen: <link>, <alink> und <vlink>. Das Problem daran ist,
dass die anvisierten Farben nicht immer mit dem Seitendesign korrespondieren. Webdesigner stehen dann vor der Wahl, Links entweder nicht HTML-konform zu maskieren oder abenteuerliche Farbkombinationen zu wählen. Alternativ dazu hilft das CSS-Pseudoformat text-decoration:line-through weiter. Denn damit ist es möglich, Texte und somit auch Links durchzustreichen.
Anstatt einen Hyperlink standardmäßig auszuzeichnen <a href="http://www.pc-magazin. de/">PC Magazin</a>, packen Sie die entsprechenden Anweisungen zur Linkauszeichnung in den <head>-Bereich der Seite:
<style type="text/css">
a:link { font-weight:bold;
color:#0000E0; text-decoration:none }
a:active { font-weight:bold;
color:#0000E0; textdecoration:
underline }
a:visited { font-weight:bold;
color:#0000E0; text-decoration:linethrough
}
a:hover { font-weight:bold;
color:#E00000; text-decoration:none }
</style>
Mithilfe dieser CSS-Komponente ist es aber auch problemlos möglich, einen bereits verfolgten Link scheinbar verschwinden zu lassen. Dazu müssen Sie lediglich bei der Farbangabe "a:visited" den gleichen Hexwert einsetzen, den Sie für den Seiten-Background verwenden.

Verfasser: Andreas
Letzte Änderung: 2009-10-18 11:21


Farbige Rahmen und Textkästen

Zur Abgrenzung von Rahmen und Texten finden sich im CSS-Befehlssatz jede Menge Funktionen. Besonders interessant ist es, Farben und Linienformen miteinander zu kombinieren.
Um in Frames untergebrachte Navigationsleisten oder Linklisten in Szene zu setzen, können Sie auf den CSS-Befehl style="border-Parameter" zurückgreifen. Damit ist es möglich, jede einzelne Seite eines Frames mit einer farbigen Linie zu verzieren. Neben Ausrichtung, Farbe und Stärke dieser Linie können Sie auch das Aussehen bestimmen. Hier stehen Ihnen die Parameter dotted (gepunktet), dashed (gestrichelt), solid (durchgezogen), double (doppelte Linie), groove (Freihand), ridge (plastisch), inset (3D-Effekt innen) und outset (3D-Effekt außen) zur Auswahl. Es genügt, eine Anweisung wie etwa style="border-top: blue 2px dotted" in das <frame>-Tag zu schreiben, um die obere Begrenzung eines Frames mit einer blauen, zwei Pixel breiten, gestrichelten Linie zu verzieren.

Verfasser: Andreas
Letzte Änderung: 2009-10-18 11:21


Ansehnliche Schatteneffekte

Seitenelemente lassen sich auch ohne die Hilfe eines Grafikprogramms mit Schatten verschönern.
Schatteneffekte, die etwa Logos, Überschriften und Bildern räumliche Tiefe verleihen, sind inzwischen auf fast allen Webseiten anzutreffen. Ressourcen schonend ist es, den Schlagschatten mit CSS zu realisieren. Der Trick: Sie legen einfach ein Element über ein anderes, wobei der in der unteren Ebene platzierte Layer in einer anderen Farbe formatiert und zusätzlich ein wenig verschoben wird. Dafür zuständig sind die Attribute left und top. Das funktioniert mit Text, eingerahmten Elementen, Grafiken und Tabellen. Der Quelltext des Schattens:
<div id="Layer1"
style="position:absolute; z-index:1;
left: 10px; top: 20px; color: #666666;
font-size: 28px; font-family: Verdana,
Arial, Helvetica, sans-serif;">
<b>PC Magazin</b> </div>
Der Quellcode des Textes, mit dem Versatz
left: 7px und top: 17px:
<div id="Layer1"
style="position:absolute; z-index:1;
left: 7px; top: 17px; width: 200px;
color: #000000; font-size: 28px; fontfamily:
Verdana, Arial, Helvetica,
sans-serif;">
<font color="red"><b>PC
Magazin</b></font></div>

Verfasser: Andreas
Letzte Änderung: 2009-10-18 11:22


Computer » Programme » Firefox

Favicons online gestalten

Siehe hierzu den Artikel in der COM 7/2006 auf Seite 104 zu finden unter der ID 820.

Verfasser: Andreas
Letzte Änderung: 2009-05-30 22:08


Was ist ein Throbber und Neuer Throbber

Siehe dazu den Artikel in der COM 7/2006 Seite 104 zu finden unter der ID 820 in der Bibliothek.

Verfasser: Andreas
Letzte Änderung: 2009-05-30 22:10


Anmelden auf Webseiten noch sicherer

p { margin-bottom: 0.21cm; }

Die Erweiterung „Secure Login“ prüft, ob die Login-Daten wirklich an die Site gesendet werden, von der das Formular stammt. Das tut Firefox zwar im Prinzip auch, doch gab es in der Vergangenheit Sicherheitslücken, die den Browser anfällig für Cross-Site-Scripting machten.

In den Einstellungen der Erweiterung können Sie festlegen, dass auf Login-Seiten Javascript temporär abgeschaltet wird. Bei der Anmeldung ohne Javascript werden die Login-Daten nicht in Felder eingetragen, und das Formular wird nicht abgeschickt. Die Daten werden auf einem anderen Weg direkt an die Seite übermittelt. Damit sind Sie selbst gegen künftige Sicherheitslücken gewappnet, die mit Javascript oder Formularfeldern zu tun haben – zum Beispiel kann bösartiger Javascript- Code keinen Text aus den Formularfeldern auslesen.

Über das Kontextmenü können Sie auch Ausnahmen festlegen: Bei manchen Web-Seiten geschieht die Anmeldung auf Basis von Javascript, so dass es bei diesen eingeschaltet bleiben muss. Secure Login umrandet Felder für Benutzernamen und Passwort orange und kann Sie außerdem durch einen Sound darauf aufmerksam machen, wenn Sie zu einer Login-Seite gelangen.

Die Felder werden – anders als mit dem normalen Passwort- Manager – nicht automatisch ausgefüllt, stattdessen melden Sie sich mit dem Tastaturkürzel <Alt>-<N> an. Es lässt sich über die Einstellungen der Erweiterung ändern. Neben verbesserter Sicherheit bietet Secure Login auch mehr Komfort: An Ihre gespeicherten Passwörter sowie an die Liste der Ausnahme-Websites, für die Sie keine Passwörter speichern lassen, kommen Sie über das Kontextmenü der Erweiterung schneller heran als mit dem Konfigurationsdialog von Firefox.


Verfasser: Andreas
Letzte Änderung: 2011-06-02 15:38


Rechtschreibprüfung in Formularen

p { margin-bottom: 0.21cm; }

Sie aktivieren die Rechtschreibprüfung, indem Sie in einem beliebigen Formularfeld mit der rechten Maustaste das Kontextmenü aufrufen. Dort finden Sie den Punkt „Wörterbücher hinzufügen“. Er führt Sie auf eine Web-Seite, von der aus Sie eines oder mehrere Wörterbücher installieren können. Das tun Sie über den Link „Install“ hinter dem jeweiligen Eintrag – das Wörterbuch wird als Erweiterung eingerichtet und steht nach einem Neustart von Firefox zur Verfügung. In mehrzeiligen Formularfeldern ist die Rechtschreibprüfung danach standardmäßig eingeschaltet. Wie in einer Textverarbeitung werden nicht erkannte Wörter rot unterstrichen. Wenn Sie mit der rechten Maustaste auf ein solches Wort klicken, finden Sie im Kontextmenü Korrekturvorschläge sowie die Möglichkeit, es ins Benutzerwörterbuch aufzunehmen.

Über das Kontextmenü eines Formularfeldes können Sie die Firefox-Vorgaben jeweils umschalten: Es enthält die Option „Rechtschreibung in diesem Feld prüfen“, die Sie für einzeilige Formularfelder ein oder für mehrzeilige fallweise ausschalten können. Wollen Sie die Rechtschreibprüfung nur ab und zu verwenden, können Sie sie unter „Extras, Einstellungen, Erweitert, Allgemein“ auch abschalten. Sie ist dann trotzdem über diesen Kontextmenüpunkt für ein einzelnes Formularfeld jeweils aktivierbar.

Das Benutzerwörterbuch finden Sie in Ihrem Firefox-Profil. Die Datei trägt den Namen „persdict.dat“. Es handelt sich um eine normale Textdatei, die Sie mit dem Windows-Editor bearbeiten können, etwa um versehentlich aufgenommene Wörter wieder zu löschen. Wenn die Datei nicht vorhanden ist, haben Sie dem Benutzerwörterbuch bis dato noch nichts hinzugefügt Wenn Sie mehrere Sprachen verwenden, benötigen Sie für die Rechtschreibprüfung das jeweilige Wörterbuch.

Auch dieses können Sie per Kontextmenü umschalten. Wenn Sie außerdem wollen, dass Firefox sich merkt, in welcher Sprache Sie wo schreiben, installieren Sie die Erweiterung „Dictionary Autoswitcher“. Sie stellt, wenn Sie eine Site wieder betreten, das dort zuletzt verwendete Wörterbuch automatisch wieder ein. Das Benutzerwörterbuch gibt es allerdings nur für alle Sprachen gemeinsam – nach Sprachen getrennte eigene Wörtersammlungen kennt die Rechtschreibprüfung nicht.


Verfasser: Andreas
Letzte Änderung: 2011-06-02 15:39


Computer » Hacking » Kopierschutz

DRM ist geknackt

Siehe dazu einen Artikel in der PC-Welt 7/2006 Seite 13 zu finden in der Bibliothek unter der ID 1320.

Verfasser: Andreas
Letzte Änderung: 2009-05-30 22:16


Kopierschutzknacker

Mit den folgenden Programmen lassen sich entsprechende Kopierschutze umgehen.

Alcohol 120% -- Alles kopierer in der amerikanischen Download Version

Any DVD -- Knackt den DVD-Kopierschutz schon beim Einlegen ins Laufwerk.

Blindwrite/Blindread -- Universeller Kopierschutzknacker für Audio CDs, Software und Filme

CloneCD -- Der Klassiker unter den Kopierschutzknackern.

Clony XXL -- Ehemals beliebtes Hilfsprogramm für CloneCD: Ermittelt den Kopierschutz und gibt die optimalen Einstellungen zum Knacken an CloneCD weiter.

Daemon Tools -- Erzeugt virtuelle Kopien von CDs und DVDs auf der Festplatte.

DiscJuggler -- Universelles kommerzielles Kopiertool für Cds und DVDs

DVD Shrink -- Kleines Gratis Tool, das Spielfilm-DVDs so aufbereitet, dass diese auf 4,7 GB Rohlinge passen. Enfernt dabei auch automatisch den Kopierschutz CSS.

DVD Decrypter -- Rippt DVD Spielfilme auf die Festplatte und entfernt dabei auf Wunsch den Kopierschutz CSS.

DVDx -- Wandelt DVD Spielfilme in (S)-VCDs um, ohne sich um den Kopierschutz zu kümmern.

Exact Audio Copy -- Rippt auch kopiergeschützte Audio-CDs je nach eingesetztem Laufwerk auf die Platte.

Game Jack -- Erstellt Kopien von PD- und Playstation 1/2 Spielen sowie DVDs mit wenigen Klicks auf CD, DVD und Festplatte. Unterstützt auch das Brennen mit "No-CD"-Cracks.

Smartripper -- Kopiert ähnlich wie DVD-Decrypter, DVD Spielfilme trotz Kopierschutz auf die Festplatte, woraufhin die Daten problemlos weiterbearbeitet werden können.

Virtual CD -- Erstellt per Klick 1:1 Abbilder von CDs/DVDs auf der Festplatte- auch von solchen mit Kopierschutz.

Verfasser: Andreas
Letzte Änderung: 2010-09-26 17:43


Ländercode austricksen

Um Vertrieb und Marketing der Filme besser kontrollieren zu können, statten die Filmstudios ihre DVDs mit einem Ländercode aus. Passen Ländercode von DVD und DVD-ROM sowie Abspiel-Software nicht zueinander, bleibt der Bildschirm schwarz. DVD-ROMs für den PC werden mit der so genannten RPC-2-Einstellung ausgeliefert.
Diese erlaubt das fünfmalige Wechseln des Ländercodes, der danach fixiert wird. Um diese Einschränkung aufzuheben, können mit einem gepachten Firmware-Update die meisten DVD-Laufwerke auf RPC-1-Einstellung umgestellt werden. Dann ist die Hardware-Abfrage komplett deaktiviert.
Auf der Website The Firmware Page (www.firmware.fr.st) finden sich entsprechende Updates.
Doch Vorsicht: Ein fehlerhafter Flash-Vorgang kann im schlimmsten Fall die DVD-ROM unbrauchbar machen. Außerdem verlieren Anwender durch das Flashen einer illegalen ROM jeglichen Garantieanspruch.
Ist das DVD-ROM erst einmal vom Regionalcode befreit, stellt sich als nächste Hürde die DVD-Player-Software in den Weg, die in der Regel ebenfalls über eine entsprechende Abfrage verfügt. Hier hilft das kostenlose Tool DVD-Genie weiter:

Es ermöglicht für alle gängigen Software-Player das Deaktivieren des Ländercodes beziehungsweise das unbegrenzt häufige Umstellen. Außerdem kann der Nutzer bei einigen Anwendungen versteckte Funktionen freischalten, darunter beispielsweise zusätzliche Einstellmöglichkeiten für Bild und Ton oder die Hardware-Beschleunigung.

Somit steht dem Filmvergnügen nach Firmware-Update und Software-Patch nichts mehr im Wege. Um sich zu vergewissern, dass auch alles geklappt hat, ist mit dem kostenlosen Tool Drive Region der Ländercode-Status der DVD-ROM zu überprüfen.


Quelle: PC Proffesional 10/2002, Seite 200

Verfasser: Andreas
Letzte Änderung: 2010-09-26 18:24


Safedisc 2.51: Welcher Brenner trickst den Kopierschutz aus?

Problem: Sie möchten Sicherheitskopien von Safedisc-2.si-geschützten CDs anfertigen, die in jedem CD- und
DVD-ROM-Lauf-werk funktionieren. Sie wissen nicht, ob das mit Ihrem Brenner geht.

Lösung: Seit Mitte 2002 prüft die PC-WELT im Rahmen ihrer Top-10-Tests, ob die Brenner entweder alleine oder
mit Hilfe der Clone-CD-Funktion „Schwache Sektoren verstärken" lauffähige Sicherheitskopien von
Safedisc-2.51-geschützten CDs erstellen. Sie besitzen einen älteren Brenner? Dann schauen Sie nach, ob Ihr
Gerät in der Kompatibilitätsliste von Clone-CD auftaucht (www.elby.ch/german/products/clo ne cd/writers/a.html,
Spalte „Korrekte EFM-Kodierung"). Wundern Sie sich nicht, dass sich unsere Brennertests und die
Kompatibilitätsliste von Clone-CD manchmal widersprechen. Das liegt zum einen am Kopierschutz selbst:
Die Spielehersteller können ihn individuell verändern, und die Macher von Clone-CD testen mit anderen
PC-Spielen als die PC-WELT. Zum anderen verwenden sie nicht immer dieselbe Firmware wie wir.
Falls Ihr Brenner in der Clone-CD-Liste nicht auftaucht und/oder Sie das l :l-Ko-pierprogramm Blindwrite
Suite bevorzugen, hilft Ihnen die Website von Frado Menia weiter. Unter

www.fradomenia.de/sdlisten/Start sd2a.shtml

steht die derzeit wohl umfangreichste Kompatibilitätsliste zum Thema Safedisc. Auf Heft-CD finden Sie
übrigens die aktuellen Versionen von Clone-CD und Blindwrite Suite (Clone-CD: 30-Tage-Demoversion 4.2.0.2 für Win
95/98/ME, NT 4, 2000 und XP unter www.elby.ch/german/products/clone cd/index.html, 3,3MB, ab 39 Büro;
Blindwrite Suite: 30-Tage-Demoversion 4.2.7 für Windows 95/9S/ME, NT 4, 2000 und XP unter
www.blindwrite.com, 3,4 MB, 30 Büro).

Quelle: PCW 3/2003, seite 235

Verfasser: Andreas
Letzte Änderung: 2010-09-26 18:33


Computer » Programme » Access

1,2 x 100 = 119

Access hat Probleme bei der Berechnung einfacher Ausdrücke.
Wollen Sie in Access die Aufgabe
X = Int(1.2 * 100)
rechnen, werden Sie über das Ergebnis erstaunt sein. Denn statt der erwarteten 120 meint Access, das Ergebnis sei 119. Knapp daneben!
Grund für dieses Fehlverhalten, das Sie - mit anderen Zahlen - beispielsweise auch in Excel oder Lotus 1-2-3 beobachten können, ist das Zahlenformat. Im Double-Format werden Zahlen in einer anderen Darstellung abgelegt. Während ganzzahlige Datentypen - wie beispielsweise Integer - die Zahlen binär darstellt, wird der Double-Datentyp in Exponentialschreibweise abgebildet. Das wiederum bedeutet, daß einige Zahlen einfach nicht darstellbar sind. Vorteil des Ganzen ist jedoch, daß Ihr numerischer Coprozessor mit diesen Zahlen direkt operieren kann und somit extrem schnell rechnet.
Um einer Leserbrieflawine vorzubeugen: Wir sind uns darüber im klaren, daß dieses Problem nicht auftritt, wenn man die Round-Funktion bemüht. Die Aufgabe der beiden Funktionen ist jedoch eine völlig unterschiedliche, und jede hat ihre Berechtigung - Int besonders im finanzmathematischen Einsatz. Und das ist ja zumeist der Anwendungsbereich eines Datenbanksystems wie Access.
Thomas Gerber/ib

Verfasser: Andreas
Letzte Änderung: 2009-09-14 21:59


Bewegungsdaten löschen

Hier finden Sie eine clevere Lösung, wie Sie das Wachstum Ihrer Bewegungsdaten im Zaum halten.
Bewegungsdaten haben die unangenehme Eigenschaft, sich fortwährend zu vermehren. Deshalb müssen sie von Zeit zu Zeit gelöscht werden, damit sie nicht ins Uferlose anwachsen. Nehmen wir einmal an, Sie haben eine Kundendatenbank, an die eine Tabelle mit den Besuchsterminen gekoppelt ist. In diesem Fall ist es sinnvoll, in regelmäßigen Zeiträumen alle alten Besuche zu löschen. Ein Ansatz hierbei ist, nur die zehn letzten Einträge zu behalten. Leider erreichen Sie dies in Access nicht mit Hilfe einer Standard-Löschabfrage. Und genau hier erweitert die BehalteN-Prozedur aus dem Listing (Listing in Databox 4/97) den Funktionsumfang des Datenbanksystems. Die Routine ist dateiunabhängig, so daß Sie sie mit beliebigen Bewegungsdaten verwenden können. Dazu verwendet sie zwei Parameter. Der erste ist der Name einer Abfrage und der zweite ein numerischer Wert, wie viele Bewegungsdaten erhalten bleiben. Mit Hilfe der Abfrage spezifizieren Sie die Bewegungsdaten, aus denen die überschüssigen gelöscht werden. Haben Sie beispielsweise die oben erwähnte Adreßdatenbank und eine Tabelle mit Besuchen, dann sind die beiden über ein Relationsfeld - etwa die Adreßnummer - verknüpft. Zusätzlich enthält die Besuchstabelle noch Angaben über das Datum und die Zeit sowie ein Memo. Bauen Sie dann eine Abfrage namens "BESUCHE" über die gesamte Tabelle auf, und lassen Sie die Ergebnisse wie folgt sortieren:
Adreßnummer aufsteigend
Datum absteigend
Zeit absteigend
Hinweis: Die Prozedur BehalteN geht davon aus, daß es sich bei dem ersten Abfragefeld um das Gruppenfeld handelt. In unserem Beispiel ist dies die Adreßnummer.
Diese Routine können Sie beispielsweise mit dem Ereignis "Beim Klicken" einer Schaltfläche verknüpfen, indem Sie innerhalb der Ereignisprozedur das Unterprogramm wie folgt aufrufen:
Sub Behalte_10_Click()
Call BehalteN(,Besuche", 10)
End Sub
Paul Mohr/ib

Verfasser: Andreas
Letzte Änderung: 2009-09-14 22:02


Das Alter berechnen

Mit dem AccessBasic-Modul errechnen Sie das Alter in Jahren.
Um in Access das genaue Alter zu berechnen, genügt es nicht, das Geburtsjahr vom aktuellen abzuziehen. Liegt etwa das Geburtsdatum im Dezember 1963, so ergibt sich im April 1997 ein Alter von 33 statt 34 Jahren. Hier hilft die Age-Funktion.

Verfasser: Andreas
Letzte Änderung: 2009-09-14 22:03


Datenbankabfrage eines Zeitraums

So filtern Sie mit einer Abfrage alle Datensätze eines bestimmten Zeitraums heraus.
Benötigen Sie einen Auszug einer Datenbanktabelle, die alle erfaßten Datensätze enthält, stoßen Sie wie immer bei Datumsabfragen auf Probleme. Durch eine einfache Umwandlung läßt sich eine Datumsangabe jedoch normieren.
Nehmen wir an, daß das Feld der Tabelle EingabeDatum heißt und die beiden Textboxen des Abfrageformulars Von und Bis. Formulieren Sie dann den Abfrage-String wie folgt:
EingabeDatum between " & clng(me!von) & " and " & clng(me!bis)
Dirk Burkamp/ib

Verfasser: Andreas
Letzte Änderung: 2009-09-14 22:04


Datenbanken manuell komprimieren

Lassen Sie mit wenigen Befehlen aus Ihren Access-Datenbanken die Luft heraus.
Wenn Sie laufend Tabellen, Formulare, Makros und Module ändern, empfiehlt es sich unter Access, die Datenbank des öfteren zu komprimieren. Access neigt nämlich dazu, die MDB-Datei explosionsartig wachsen zu lassen, wobei der Speicherplatz überwiegend nicht belegt ist und frühere Makroversionen oder Hilfstabellen enthält.
Mit Access 7.0 leiten Sie die Komprimierung Ihrer Daten über den Menüpunkt
Extras - Datenbank-Dienstprogramme - Datenbank komprimieren
ein. Vor dem Komprimieren sollten Sie jedoch immer eine unkomprimierte Sicherungskopie behalten, da dieser Vorgang - besonders bei umfangreichen Datenbanken - zuweilen fehlerhaft endet oder keine wesentliche Verringerung des Dateivolumens eintritt.
In einem solchen Fall sollten Sie Ihre Datei manuell komprimieren. Erstellen Sie zunächst über
Datei - Neue Datenbank anlegen
eine leere neue Datenbank. Als nächstes importieren Sie mit
Datei - Externe Daten - Importieren
alle Tabellen der ursprünglichen Datenbank. Wiederholen Sie diesen Vorgang für alle Abfragen, Formulare, Berichte, Makros und Module, und schließen Sie die neu erstellte Datenbank. Sie enthält jetzt keine unnötigen Daten mehr und ist neu strukturiert.

Verfasser: Andreas
Letzte Änderung: 2009-09-14 22:05


Keine Lizenz?

Access muß neu registriert werden, wenn der Hinweis Keine Lizenz erscheint.
Unter Umständen verweigert Access plötzlich den Start mit der Fehlermel-dung
Microsoft Access kann nicht gestartet werden, da auf diesem Computer keine entsprechende Lizenz vorliegt.
Ursache ist ein fehlender Eintrag in der Registry-Datenbank von Windows 9x. Verwenden Sie Access 97/8.0, finden Sie normalerweise folgenden Schlüssel:
HKEY_CLASSES_ROOT\Licenses\ 8CC49940-3146-11CF-97A1- 00AA00424A9F
Für Access 95/7.0 muß folgender Eintrag vorhanden sein:
HKEY_CLASSES_ROOT\Licenses \B54DCF20-5F9C-101B-AF4E-00AA003F0F07
Fehlen diese Schlüssel, erhalten Sie die beschriebene Fehlermeldung. Unter Windows 95/98 stellen Sie diesen Eintrag auf folgende Weise wieder her: Führen Sie das Setup-Programm von der MS-Office-CD aus, und klicken Sie im Hauptdialog auf Neuinstallation. Anschließend läßt sich Access wieder starten. Alternativ lösen Sie das Problem, indem Sie Access mit Hilfe des Setup-Programms von MS Office zunächst deinstallieren und dann neu installieren. Unter bestimmten Voraussetzungen läßt sich die zeitraubende Neuinstallation auch umgehen: Falls Sie Access 97 auf einem Windows-98-PC einsetzen, erhalten Sie einen Bugfix unter der Adresse
http://support.microsoft.com/
Führen Sie die Datei Aclicn97.exe aus, und installieren Sie das Programm in ein beliebiges Verzeichnis. Hier finden Sie sodann die Datei aclicens.exe vor, die Sie aufrufen. Das Bugfix trägt die erforderlichen Lizenzierungsinformationen ein, und Access läßt sich sofort wieder starten.

Verfasser: Andreas
Letzte Änderung: 2009-09-14 22:08


Computer » Programme » Access » Access 2.0

Benutzerdefinierte Titelleiste

Über Windows-Systemaufrufe ändern Sie die Titelzeile von Access.
In Access Basic existiert keine Eigenschaft, um die Titelzeile von Access zu ändern. Mit Hilfe des Windows-API (Application Programming Interface) beheben Sie dieses Manko.
Zunächst fügen Sie im Deklarationsbereich eines Access-Moduls die API-Funktionen FindWindow und SetWindowText ein:
Declare Function findwindow Lib "User" (class As Any, cap As Any) As Integer
Declare Sub setwindowtext Lib "User" (ByVal a As Integer, ByVal b As String)
Diese beiden Funktionen rufen Sie dann vom Programmtext aus mit
hwndaccess = findwindow(ByVal "OMain", ByVal 0&)
setwindowtext hwndaccess, "Meine Titelleiste"
auf. Soll die Funktion jedesmal ausgeführt werden, wenn Sie eine bestimmte Access-Datenbank öffnen, so tragen Sie den Funktionsaufruf im Autoexec-Makro der Datenbank ein.

Verfasser: Andreas
Letzte Änderung: 2009-09-14 22:10


Nach Sonderzeichen suchen

Eckige Klammern helfen bei der gezielten Suche nach Sonderzeichen.
Verwenden Sie in Datensätzen einer Access-Tabelle Sonderzeichen wie das Sternchen, führt die Suche danach zu scheinbar merkwürdigen Ergebnissen. Geben Sie nämlich als Suchzeichenfolge das Zeichen "*" ein, so werden alle vorhandenen Datensätze aufgelistet. Kein Wunder, denn das Sternchen ist standardmäßig Platzhalter für eine beliebige Zeichenkette. Setzen Sie das Sternchen jedoch in eckige Klammern ([*]), erhalten Sie tatsächlich nur die Datensätze, die dieses gesuchte Zeichen aufweisen. Auf die gleiche Weise verfahren Sie übrigens mit Sonderzeichen wie dem Fragezeichen oder der Raute.

Verfasser: Andreas
Letzte Änderung: 2009-09-14 22:12


Word-Tabellen importieren

Durch geschicktes Konvertieren wandeln Sie eine Word-Steuerdatei in eine Access-Datenbank um.
Um die Daten einer Word-Steuerdatei in eine Access-Datenbank zu importieren, öffnen Sie zunächst die Steuerdatei in Word als normales Dokument. Markieren Sie dann die gesamte Tabelle, und wandeln Sie diese über
Tabelle - Tabelle in Text
mit dem Semikolon als Trennzeichen in reinen Text um. Speichern Sie die Datei über
Datei - Speichern unter
als Dokumententyp "Nur Text". Schließen Sie das Dokument, und starten Sie Access mit der gewünschten Datenbank, in die Sie die Word-Tabelle importieren wollen. Starten Sie über Datei - Importieren
den Dialog "Importieren", wählen Sie als Dateiformat "Text (mit Trennzeichen)", und klicken Sie auf die Schaltfläche [OK]. Im Dialog "Datei auswählen" bestimmen Sie die gewünschte Word-Datei und klicken auf [Importieren].
Im Dialog "Import von Text-Optionen" stellen Sie ein, daß sich Feldnamen in der Textdatei befinden und daß es sich bei dem Trennzeichen um das Semikolon handelt. Mit [OK] starten Sie den Import.

Verfasser: Andreas
Letzte Änderung: 2009-09-14 22:13


Computer » Programme » Access » Access 2.0/7.0

Ausblenden beim Ausdruck

Mit einer einfachen Eigenschaft unterdrücken Sie die Ausgabe bestimmter Formularelemente auf dem Drucker.
Beim Ausdruck eines Formulars sollen in der Regel Schaltflächen und ähnliche Steuerelemente vom Drucker ignoriert werden. Die Einstellungen, mit denen Sie festlegen, welche Elemente am Bildschirm erscheinen sollen, sind in Access 2.0 und 7.0 unterschiedlich. In beiden Versionen markieren Sie das entsprechende Control. Wählen Sie den Menüpunkt
Ansicht - Eigenschaften
so öffnet sich ein Registerdialog. Unter Access 2.0 lautet die benötigte Seite "Layouteigenschaften", in der 32-Bit-Version "Format" heißt. Auf dieser Seite ändern Sie den Eintrag "Anzeigen" in
Nur am Bildschirm
Entsprechend gelingt auch der umgekehrte Effekt: nur ausdrucken, ohne Anzeige am Bildschirm.

Verfasser: Andreas
Letzte Änderung: 2009-09-14 22:15


Automatische Größenanpassung

Mit einem Doppelklick passen Sie Beschriftungsfelder an den tatsächlich benötigten Platz an.
Beim Gestalten von Formularen und Berichten kostet es viel Zeit, Objekte an die optimale Größe anzupassen. Hierbei ist Ihnen der Formulardesigner eine gute Hilfe. Markieren Sie das betreffende Objekt, so erscheinen die Anfasser an den vier Ecken und an den vier Seiten. Klicken Sie jetzt doppelt in die rechte untere Ecke des Objekts, so paßt sich dessen Größe automatisch an.

Verfasser: Andreas
Letzte Änderung: 2009-09-14 22:16


Datensatznummer bestimmen

Über das Recordset-Objekt bestimmen Sie die Nummer des aktuellen Datensatzes.
Eine undokumentierte Eigenschaft des Objekts Recordset liefert Ihnen die Nummer des aktuell gewählten Datensatzes. Dazu deklarieren Sie zunächst die beiden Variablen
Dim Tab As RecordSet
Dim NR As Integer weisen danach der Objektvariablen die aktuelle Datenmenge zu:
Set Tab = Me.RecordSetClone
definieren die aktuelle Markierung
Tab.Bookmark = Me.Bookmark
und erhalten aus der Eigenschaft
NR = Tab.AbsolutePosition
die Nummer des Datensatzes. Allerdings zählt Access die Datensätze von 0 beginnend, so daß der zehnte Datensatz in AbsolutePosition den Wert 9 liefert.

Verfasser: Andreas
Letzte Änderung: 2009-09-14 22:17


Den Programmaufruf beschleunigen

Mit einer zweiten INI-Datei startet Access erheblich schneller.
Beim Start von MS Access werden bei einer Standardinstallation alle Add-ins geladen - das dauert sehr lange. Wenn Sie mit einer fertigen Datenbank arbeiten wollen, müssen Sie nicht mehr alle Zusatzmodule laden, da die meisten Add-ins nur beim Entwurf der Datenbank gebraucht werden. Welche Werkzeuge Access lädt, ist in der INI-Datei des Datenbanksystems festgelegt.
Installieren Sie Access zuerst als Minimalversion. Es legt dabei im Windows-Verzeichnis eine 3 KByte große INI-Datei an (bei Version 2.0: "msacc 20.ini"). Benennen Sie sie beliebig um: beispielsweise in "msaccmin.ini". Danach installieren Sie Access als Standardversion, wobei jetzt die INI-Datei eine Größe von 8 KByte hat.
Starten Sie die Vollversion. Ihre fertige Datenbank, für welche Sie die Add-ins nicht mehr benötigen, booten Sie mit folgendem Programmaufruf, den Sie in den Eigenschaften des betreffenden Icons eintragen:
c:\access\msaccess.exe /ini msaccmin.ini c:\daten\datenbank.mdb

Verfasser: Andreas
Letzte Änderung: 2009-09-14 22:18


Sachsen auch in Access

So umgehen Sie bei numerischen Datenfeldern für die Postleitzahl die Probleme der führenden Nullen.
Bei der Vergabe der fünfstelligen Postleitzahlen hat die Post in Sachsen führende Nullen verteilt. Dies kann bei der Datenbank Access zu Problemen führen: Wenn die Postleitzahl in einem numerischen Datentyp abgelegt ist, verschluckt Access bei der Ausgabe die vorausgehende Null. Formatieren Sie das Feld mit der Postleitzahl mit "00000", fügt es die fehlende Null wieder ein. Tragen Sie im Tabellenentwurfs-Fenster unter Feldeigenschaften - Format
einfach fünf Nullen ein.
Es empfiehlt sich jedoch generell, Postleitzahlen als Text zu speichern. Das erhöht die Flexibilität im Hinblick auf die Postleitzahlensysteme anderer Länder. Allerdings müssen Sie dann bei der Eingabe die führende Null auch mit eingeben.

Verfasser: Andreas
Letzte Änderung: 2009-09-14 22:18


Schnelle Druckausgabe

Auf Laserdruckern beschleunigen Sie die Ausgabe von Formularen und Berichten.
Das Drucken von Access-Formularen und -Berichten dauert zuweilen sehr lange. Grund dafür ist die pixelweise Aufbereitung der Daten. Allerdings bietet Access eine Option an, um diesen Vorgang auf Laserdruckern erheblich zu beschleunigen. So werden in diesem speziellen Modus Raster, Linien und Rechtecke nicht vom PC in die entsprechende Rasterung übersetzt, sondern direkt an den Laserdrucker weitergegeben.
Öffnen Sie einen Bericht oder ein Formular in der Entwurfsansicht. Wählen Sie dann
Ansicht - Eigenschaften
und aus der Auswahlliste den Eintrag
Andere Eigenschaften
Im Eigenschaftsfeld "Schneller Laserdruck" geben Sie als Wert "Ja" ein, und schon geht das Drucken schnell vonstatten.

Verfasser: Andreas
Letzte Änderung: 2009-09-14 22:19


Verborgene Tabellen

Mit dem Namens-Präfix verstecken Sie gezielt Informationen vor den Augen des Benutzers.
Microsoft Access speichert Systeminformationen für Abfragen, Indizes und relationale Verknüpfungen in sogenannten Systemtabellen. Deren Namen beginnen mit dem Präfix "MSys" (vgl. "MSysQueries"). Aufgrund dieser Kennung werden diese Tabellen normalerweise ausgeblendet. Um sie zu sehen, wählen Sie im Menü Extras - Optionen
das Register "Ansicht" und markieren das Kontrollkästchen [Systemobjekte].
Sie selbst können auf diese Weise jedoch keine Tabellen verstecken. Statt des Präfix "MSys" stellt Access für benutzerdefinierte Systemdateien die Vorsilbe "USys" zur Verfügung. Nennen Sie also eine Tabelle "USysMeineTabelle", so verschwindet diese wie alle anderen Systemtabellen auch.

Verfasser: Andreas
Letzte Änderung: 2009-09-14 22:20


Computer » Programmierung » Gnu C

Alle Dateien für GNU C

Für GNU-C benötigen Sie den C-Compiler, binäre Utilities, Bibliotheken und Header-Dateien.
Um GNU-C mit der Slackware-Distribution zu installieren, benötigen Sie mindestens gcc272 (oder neuer), binutils und libc. Außerdem brauchen Sie noch die Header-Dateien der Kernel-Quellen. Für viele Programme fallen weitere Bibliotheken an.
Wenn Sie auch noch Programme im alten a.out-Format kompilieren wollen, greifen Sie zusätzlich noch auf gccaout und libaout zu.
Die derzeit aktuelle Version von GNU-C von der Binärdistribution tsx-11.mit.edu installieren Sie mindestens mit folgenden Dateien:
gcc-2.7.2.bin.tar.gz
binutils-2.8.1.0.1.bin.tar.gz
libc-5.4.33.bin.tar.gz
Dazu kommen noch die Header-Dateien der Kernel-Quellen. Oft dürfen auch die Bibliotheken aus den Paketen gdbm, db, ncurses und termcap nicht fehlen.

Verfasser: Andreas
Letzte Änderung: 2009-09-14 22:27


Compiler-Lauf

Das ausführbare Programm erreichen Sie mit verschiedenen Arbeitsschritten.
Da zu GNU-C keine integrierte Entwicklungsumgebung gehört, müssen Sie Ihr ausführbares Programm manuell erzeugen. Zwei Schritte sind dazu notwendig:
1. Sie kompilieren die einzelnen Module über den GNU-C-Compiler gcc. Dabei durchlaufen die Quelldateien, soweit erforderlich, noch vor dem Kompilieren einen Präprozessor.
2. Sie linken die Objektdateien, wandeln sie also in ein ausführbares Programm durch ld um. Dabei prüft GNU, ob alle benötigten Funktionen und Variablen definiert sind.
Rufen Sie gcc mit einem oder mehreren Namen von C-Dateien auf, werden die Dateien kompiliert. Tritt dabei kein Fehler auf, wird anschließend durch ld gelinkt. Geben Sie mit der Option -o keinen Namen für die Programmdatei an, lautet ihr Name einfach a.out. Das automatische Linken unterbinden drei Optionen:
- -c kompiliert Quelldateien und linkt sie nicht,
- -S wandelt sie in Assembler-Code um. Geben Sie dabei mit der Option -o keinen anderen Namen für die Ausgabedatei an, gibt gcc mit dieser Option für jede C-Quelle eine Assembler-Datei mit der Erweiterung .s aus. - Bei der Option -E wird der Quellcode über die Standardausgabe nach Durchlaufen des Präprozessors ausgegeben.
Aus einer einfachen Quelldatei test.c erzeugen Sie so mit
gcc -o test test.c
die ausführbare Datei test. Bei größeren Projekten schreiben Sie besser eine Make-Datei, die die Namen aller benötigten Quellen und Bibliotheken enthält sowie die Regeln, die das Programm erzeugen sollen.
50 Make-Dateien nutzen
Mit einer Make-Datei kommen Sie leichter an Ihr Kompilat.
Eine Make-Datei heißt unter GNU-C für Linux meist makefile. Sie setzt sich aus Regeln mit folgender Syntax zusammen:
Ziel ...: Abhängigkeiten
Befehl
...
- Ein Ziel ist normalerweise der Name einer Datei, die ein Programm anlegt. Ziele sind zum Beispiel ausführbare Dateien oder Objektdateien. Ein Ziel kann auch der Name für eine Aktion sein, die Sie ausführen wollen, zum Beispiel clean.
- Eine Abhängigkeit ist eine Input-Datei, um das Ziel zu erzeugen. Dazu sind oft auch mehrere Dateien nötig.
- Ein Befehl ist eine Aktion, die make ausführt. Eine oder mehr Befehle bilden eine Regel, wobei jeder Befehl in einer eigenen Zeile stehen muß. Jede dieser Zeilen muß mit einem Tab-Zeichen beginnen.
Normalerweise wird ein Befehl in Abhängigkeit von einer oder mehreren Dateien ausgeführt. Wenn sich eine Abhängigkeit ändert, wird eine aktuelle Zieldatei erzeugt. Es gibt aber auch unabhängige Befehle, zum Beispiel die Regel, die den rm-Befehl enthält und mit dem Ziel clean verbunden ist.
Das Beispiel makefile (Listing in Databox 10/97) legen Sie für das spätere Projekt katalog an. Der Ausdruck cc dient als symbolischer Link auf gcc und hat daher die gleiche Wirkung.
Wird eine Zeile in der Make-Datei zu lang, teilen Sie sie via \, gefolgt von Newline (ASCII 10), in zwei Zeilen auf. Geben Sie einfach im Verzeichnis, in dem sich die Make-Datei befindet, make ein, und führen Sie die erste Regel der Make-Datei aus. Sie gilt als Default-Ziel.
Ist eine der Input-Dateien, die eine Regel braucht, nicht vorhanden, so führt die Make-Datei die Regel aus, die diese Datei erzeugt. Das gleiche gilt, wenn die Datei zwar vorhanden ist, aber eine ihrer Quelldateien jünger ist als sie selbst.

Verfasser: Andreas
Letzte Änderung: 2009-09-14 22:28


Das Dateiformat ELF

Neuere Programme verwenden meistens das Dateiformat ELF.
USL (Unix System Laboratories) haben das binäre Format ELF (Executable and Linking Format) entwickelt. Unter anderm nutzen es auch Solaris und System V 4. Im Gegensatz zum zuvor verwendeten a.out-Format schreiben Sie die Shared Libraries nun erheblich leichter. Auch ist damit das dynamische Laden wie das Nachladen von Modulen zur Laufzeit eines Programms viel einfacher. Das Verfahren nutzen Sie unter anderem bei Perl 5, Python und der Portierung von Java nach Linux.
Wenn Sie Ihr Linux-System für ELF einrichten, müssen Sie im übrigen nicht völlig auf a.out verzichten. Zwar kompilieren Sie neue Programme im ELF-Format, wenn Sie nichts anderes angeben, aber das können Sie mit einem Kommandozeilenschalter ändern.

Verfasser: Andreas
Letzte Änderung: 2009-09-14 22:29


Dynamisches Linken

Programmdateien, die auf Shared Libraries zugreifen, brauchen wenig Speicherplatz.
Viele Programmfunktionen, wie das Öffnen von Dateien, sind für
viele Programme gleichermaßen nützlich. Diese Funktionen befinden sich in Bibliotheken (Libraries). Auf einem Linux-System liegen die meisten davon in den Verzeichnissen /lib und /usr/lib.
- Beim statischen Linken sucht der Linker in einer statischen Bibliothek den Code für die später nützlichen Module und kopiert ihn physikalisch in die ausführbare Programmdatei. Das kostet Speicherplatz.
- Beim dynamischen Linken hinterläßt er statt dessen folgenden Hinweis:
Wenn dieses Programm ausgeführt werden soll, muß es zuerst diese Bibliothek laden.
Die dynamischen Bibliotheken (Shared Libraries) laden mehrere Prozesse nur einmal in den Speicher. Sie entsprechen den von Windows und OS/2 bekannten DLL-Dateien.
Linux bindet Programme dynamisch, wenn es Shared Libraries findet, andernfalls statisch. Rufen Sie gcc mit der Option -static auf, erzwingen Sie statisches Linken, auch wenn die Shared Libraries vorhanden sind.
Um ein dynamisch gelinktes Programm auszuführen, müssen die benötigten Shared Libraries sogar in richtigen Versionen vorhanden sein.

Verfasser: Andreas
Letzte Änderung: 2009-09-14 22:30


Fehler im Klartext

Wenn Sie wissen, welcher Programmfehler aufgetreten ist, beheben Sie ihn einfacher.
Manchmal stellen Sie bei der Programmentwicklung mit GNU-C fest, daß das Programm immer an einer bestimmten Stelle mit irgendeinem Fehler abbricht. Sie wissen aber nicht, welcher Fehler aufgetreten ist. Sie könnten sodann die Fehlernummer errno mit den Konstanten für verschiedene Fehlernummern vergleichen. Viel einfacher ist es aber, zum Testen an der betreffenden Stelle die Zeile
printf("%m");
einzufügen und danach das Programm mit exit(-1); zu verlassen. So bekommen Sie beim nächsten Programmdurchlauf die Fehlermeldung sogar in Klartext angezeigt. %m ist eine GNU-Erweiterung.

Verfasser: Andreas
Letzte Änderung: 2009-09-14 22:31


Gnu-C einrichten

So verhindern Sie Schwierigkeiten beim Installieren von GNU-C.
Am einfachsten installieren Sie GNU-C, wenn Sie eine komplette Linux-Distribution haben. Unter Linux wählen Sie einfach die Pakete von GNU-C mit aus, um sie automatisch zu installieren. Bevor Sie GNU-C von einer GNU-Distribution aus installieren, sollten Sie die Installationsanleitung gründlich durchlesen.
Es ist nicht immer sinnvoll, alte C-Libraries durch neue zu ersetzen. Da fast alle externen Linux-Befehle wie ls die Shared Libraries aufrufen, kann das Ersetzen dazu führen, daß Ihr komplettes Linux nicht mehr funktioniert.
Bevor Sie also neue Shared Libraries installieren, kopieren Sie die alten Versionen in ein anderes Verzeichnis. Sinnvoll ist auch das Anlegen einer Linux-Wartungs-Partition, damit Sie eine defekte Linux-Version reparieren können. Auch das Installieren eines neuen Utilitys, wie zum Beispiel eines neuen Linkers, kann zu den beschriebenen Problemen führen.

Verfasser: Andreas
Letzte Änderung: 2009-09-14 22:32


Gnu-C konfigurieren

So stellen Sie sicher, daß GNU-C alle Header-Dateien findet.
Einige Header-Dateien sind von der jeweiligen Kernel-Version abhängig. Daher sind sie nicht in der GNU-C-Distribution, sondern in den Kernel-Quellen enthalten. Dort finden Sie diese Header-Dateien in folgenden Verzeichnissen:
/usr/src/linux/include/asm
/usr/src/linux/include/linux
GNU-C sucht die Dateien in den Verzeichnissen
/usr/include/linux
/usr/include/asm
Wechseln Sie am besten auf Ihrem Linux-System in das Verzeichnis
/usr/include
und prüfen Sie nach, ob ein symbolischer Link asm auf das Verzeichnis
/usr/src/linux/include/asm
und ein symbolischer Link linux auf das Verzeichnis /usr/src/linux/include/linux
vorliegt. Falls nicht, legen Sie diese Links mit folgender Syntax an:
ln -s /usr/src/linux/include/
asm asm
ln -s /usr/src/linux/include/
linux linux
Haben Sie sie einmal angelegt, hat GNU-C auch nach dem Einspielen neuer Kernel-Quellen immer Zugriff auf die aktuellen Header-Dateien.

Verfasser: Andreas
Letzte Änderung: 2009-09-14 22:33


Katalogdateien

In der Praxis verwalten Sie Linux-CDs in einem eigenen GNU-C-Programm.
Mit dem Programm katalog erfassen Sie die Dateien auf Linux-CDs in Katalogdateien. Darin lassen sich Dateien suchen, auflisten und ansehen. Die Katalogdateien enthalten in sortierter Form jeweils Namen, Datum, Größe und Pfad. Die Optionen wählen Sie per Menü aus.
Das Modul termfunc.c (Listing in Databox 10/97) enthält einfache Terminalfunktionen. Die Funktionen clscr() und gotoxy() geben mit printf() die für das Terminal erforderlichen ANSI-Escape-Sequenzen aus. Die Funktionen set_input_mode() und reset_input_mode() schalten das Terminal von zeilen- auf zeichenorientierte Betriebsart um.
In der Header-Datei katalog.h (Listing in Databox 10/97) stehen Funktionsprototypen, Definitionen und die Struktur eintrag. Die Definitionen stehen im Zusammenhang mit der Konfigurationsdatei. Diese befindet sich im Home-Verzeichnis des Benutzers, der das Programm aufruft, und hat den Namen <Programmname>rc.
Wenn das Programm also den Namen katalog trägt, heißt die Konfigurationsdatei katalog.rc. Sie enthält Angaben für das Katalogverzeichnis, die View-Datei, die Gerätedatei, die dem CD-ROM-Laufwerk entspricht, sowie den Namen des Verzeichnisses, in dem das CD-ROM montiert wird. Die ersten vier Definitionen enthalten Namen für die einzelnen Werte der Konfiguration, die folgenden vier Einträge verwenden Standards, wenn die Konfigurationsdatei fehlt oder unvollständig ist. So speichern Sie das Katalogverzeichnis laut Eintrag in
CatDir /usr/doc/Katalog
Die Bezeichnung CatDir speichern Sie in der Konstanten CATDIR, den Standardwert /usr/doc/Katalog in der Konstanten CATDIR_STD.
Das Hauptmodul katalog.c (Listing in Databox 10/97) enthält die Hauptfunktion main(), die die Konfigurationsdatei auswertet, das Menü anzeigt und die gewünschten Funktionen wählt. Die Funktion konfdat() wertet die Konfigurationsdatei aus und liest sie Zeile für Zeile aus. Für jede Zeile wird überprüft, ob sie eine der Angaben für die Konfigurationsoptionen enthält. Wenn ja, wird die Zeile der entsprechenden Variablen zugewiesen. Für fehlende Optionen setzt katalog.h die definierten Standards ein. Schließlich wird die Konfigurationsdatei mit allen Optionen neu geschrieben.
Die Funktion listdir() im Modul listdir.c (Listing in Databox 10/97) erhält als Parameter den Namen eines Verzeichnisses und die Adresse eines Zeigers auf eine Struktur. So speichert sie für jede erfaßte Datei Name, Datum, Größe und Pfad sowie die Adresse einer Variablen für die Zahl der schon erfaßten Einträge.
Die Funktion liest das Verzeichnis, trägt jeden Eintrag in eine Liste und alle Verzeichniseinträge in einer Unterverzeichnisliste ein. Sind alle Einträge verarbeitet, wird die Funktion erneut für jedes Unterverzeichnis aufgerufen, und die Einträge werden der Liste hinzugefügt.
Die Funktion gesamtliste() startet listdir() mit dem Namen des Katalogverzeichnisses, einem Zeiger auf eine Variable für die Eintragszahl und der Adresse eines Zeigers auf eine Liste für die Einträge. qsort() sortiert und formatiert die Liste und schreibt sie in eine Ausgabedatei. Übergeben Sie als Parameter anstelle des Namens einer Ausgabedatei einen Nullzeiger, so leiten Sie die sortierte Liste formatiert an die Standardausgabe.
Den Inhalt einer CD katalogisieren Sie mit der Funktion listcd() im Modul cdfunc.c (Listing in Databox 10/97). Der Aufruf des Befehls mount() stellt zunächst fest, ob die CD bereits montiert ist, ob eine CD eingelegt ist und ob der Benutzer überhaupt eine CD mounten darf.
Ist der Benutzer nicht dazu berechtigt, meldet das Programm, daß nur der Super-User diesen Menüpunkt ausführen kann. Ist bereits eine CD montiert, fragt das Programm, ob Sie die CD wechseln wollen. Wenn nicht, endet die While-Schleife mit break. In der Variablen mounted merkt sich die Funktion, daß die CD bereits montiert war.
Eine gewechselte oder neue CD erfassen die Shell-Befehle umount und mount. Dadurch vermeiden Sie Probleme beim Programmende. In einer weiteren Schleife geben Sie den Namen für den CD-Katalog ein.
Die Funktion suchen() im Modul suchen.c (Listing in Databox 10/97) erfüllt ihren Namensauftrag. Zunächst geben Sie den Suchbegriff ein. Das Programm gibt die Suchdateien an. An die eingegebene Buchstabenfolge wird ein * angehängt, dann ermittelt die Funktion glob() alle Dateien, die der Wildcard-Spezifikation entsprechen. Nun wird die Ausgabedatei geöffnet. Dort schreiben Sie für jede gefundene Datei zunächst eine Überschrift, danach startet mit popen() der Shell-Befehl grep als Unterprozeß. Das Programm liest nun die Ausgabe Zeile für Zeile aus und schreibt sie in die Ausgabedatei.
Zuletzt arbeiten noch die beiden Funktionen listcat() und viewcat() aus dem Modul catfunc.c (Listing in Databox 10/97). Die Funktion listcat() zeigt alle Namen der Katalogdateien an. qsort() sortiert wiederum die ausgegebene Liste und schreibt sie formatiert in eine Ausgabedatei. Danach rufen Sie das Programm vi mit dem Namen der Ausgabedatei als Shell-Befehl auf, womit Sie die Datei begutachten. Beenden Sie vi, löschen Sie die Ausgabedatei gleich wieder.
Mit der Funktion viewcat() sehen Sie einen Katalog an. Sie erwartet zunächst die Eingabe des Namens einer Katalogdatei. An die eingegebene Buchstabenfolge wird ein * angehängt, dann ermittelt die Funktion glob() alle Dateien, die der Wildcard-Spezifikation entsprechen. Wird nur eine passende Katalogdatei gefunden, öffnen Sie das Programm less mit dem Namen der Katalogdatei als Shell-Befehl. Das Programm vi versagt bei großen Katalogdateien. Wird keine passende Katalogdatei gefunden, entscheiden Sie, ob Sie einen neuen Namen eingeben oder den Menüpunkt beenden wollen. Werden mehr als zehn Einträge gefunden, fordert Sie das Programm auf, präzisere Angaben zu machen, und fragt Sie nach der Eingabe eines neuen Namens. Findet das Programm zwei bis zehn Katalogdateien, wählen Sie aus dem Menü diejenige, die Sie sehen wollen.

Verfasser: Andreas
Letzte Änderung: 2009-09-14 22:34


Mit Zeichenketten arbeiten

Neue Funktionen gewährleisten mehr Sicherheit bei der Eingabe und Speicherung von Zeichenketten.
Es gibt in ANSI-C keine sichere Funktion zur Eingabe von Zeichenketten. Zum Einlesen einer kompletten Zeile von der Standardeingabe verwenden Sie zum Beispiel die Funktion gets():
char puffer[80];
gets(puffer);
Damit lesen Sie alle Zeichen bis zum nächsten Newline-Zeichen (ASCII 10) in puffer ein. Ist die Zeile aber länger als 79 Zeichen - das 80. Zeichen bleibt für das abschließende Nullbyte reserviert -, wird einfach "fremder" Speicher hinter dem Ende des Puffers überschrieben. Um eine komplette Zeile aus einer Datei einzulesen, steht in ANSI-C die Funktion fgets() zur Verfügung:
char puffer[80];
FILE *fp;
fp = fopen(,Datei", "r");
fgets(puffer, 80, fp);
fclose (fp);
Damit lesen Sie nicht mehr als 79 Zeichen in den Puffer ein. Wenn die Zeile aber länger ist, wird sie nicht komplett eingelesen. Beide Probleme vermeiden Sie, indem Sie die GNU-Erweiterung getdelim() verwenden. Mit dieser Funktion lesen Sie eine Zeile aus einer Datei folgendermaßen ein:
char *puffer = NULL;
FILE *fp;
size_t n = 0;
fp = fopen(,Datei", "r");
getdelim(&puffer, &n, '\n',fp);
fclose(fp);
puffer ist hier nur ein Zeiger, dem getdelim() dynamisch so viel Speicher zuweist, wie eine vollständige Zeile beansprucht. n erhält vor Aufruf der Funktion getdelim() den Wert 0 und enthält hinterher die Größe des Puffers.
Oft ist es auch erforderlich, eine Zeichenkette formatiert in einen Puffer auszugeben. In ANSI-C dient dazu die Funktion sprintf():
char datumstring[11];
int tag, monat, jahr;
tag = 1;
monat = 7;
jahr = 97;
sprintf(datumstring,
A "%02d.%02d.%02d",
A tag, monat, jahr);
Sind alle Anweisungen ausgeführt, enthält datumstring den Wert 01.07.97.
Was passiert aber, wenn ein Programm die Angaben für tag, monat und jahr ermittelt, wobei die Jahreszahl vierstellig ist? Die Formatierung %02d für die Jahreszahl bietet keine Sicherheit, weil dadurch nichts abgeschnitten wird, sondern nur die Mindestlänge für die Jahreszahl festgelegt ist. Sie müssen dem Puffer also eine Zeichenkette zuweisen, die mit abschließendem Nullzeichen die Länge 13 hat. Dadurch überschreiben Sie nun fremden Speicher. Dieses Problem vermeiden Sie mit der Funktion asprintf():
char *datumstring = NULL;
int tag, monat, jahr;
tag = 1;
monat = 7;
jahr = 97;
asprintf(&datumstring, A "%02d.%02d.%02d", A tag, monat, jahr);
datumstring ist hier nur ein Zeiger, dem asprintf() dynamisch so viel Speicher zuweist, wie zur Aufnahme der Zeichenkette benötigt wird. asprintf gibt die Anzahl der in den Puffer geschriebenen Zeichen zurück.

Verfasser: Andreas
Letzte Änderung: 2009-09-14 22:35


Quellen für GNU-C

GNU-C bekommen Sie mit Ihrer Linux-Distribution oder von Internet-Servern.
Da GNU-C für Linux unverzichtbar ist, erhalten Sie mit jeder Linux-Distribution eine Version von GNU-C. Mit der Zeit wird GNU-C allerdings immer weiter entwickelt. Bei größeren Updates greifen Sie besser direkt auf die aktuelle GNU-Distribution zurück, da die kompletten Linux-Distributionen eventuell etwas hinterherhinken. Dabei reicht es allerdings oft nicht aus, nur von einem Paket eine neuere Version zu installieren. Für eine neue Version der C-Libraries ist zum Beispiel oft auch ein Update der binutils erforderlich. Näheres ist den jeweiligen Installationshinweisen zu entnehmen.
Der offizielle Server für GCC-Distributionen in binärer Form ist
ftp://tsx-11.mit.edu
im Verzeichnis
/pub/linux/packages/GCC
Alle anderen Server spiegeln dieses Verzeichnis, in dem Sie die neuesten Versionen finden. Die neuesten Quellen, die nicht unbedingt mit der Binärdistribution übereinstimmen, finden Sie in
ftp://prep.ai.mit.edu/pub/gnu

Verfasser: Andreas
Letzte Änderung: 2009-09-14 22:37


Shared Libraries

So stellen Sie fest, ob für ein Programm die richtigen Shared Libraries vorhanden sind.
Der Befehl ldd (List Dynamic Dependencies) ermittelt, welche Shared Libraries ein Programm anfordert:
ldd /usr/bin/lynx
libncurses.so.3.0 =>/usr/lib/libncurses.so.3.0
libc.so.5 =>/lib/libc.so.5.4.17
Die Befehlskette zeigt, daß der WWW-Browser lynx die dynamischen Bibliotheken libc.so.5 (C-Bibliothek) und libncurses.so.3 (Terminal-Ansteuerung) braucht. Wenn ein Programm keine dynamischen Bibliotheken erfordert, gibt ldd eine der folgenden Meldungen aus:
statically linked
statically linked (ELF)
In diesem Zusammenhang ist es noch wichtig, die Konvention für die Vergabe von Versionsnummern an Shared Libraries zu verstehen. Änderungen teilen sich in major (Haupt-) und minor (Unterversionen) ein. Eine Änderung in einer neuen Unterversion darf nicht dazu führen, daß ein Programm, das diese Bibliothek braucht, nicht mehr funktioniert. Die Version einer Bibliothek können Sie durch einen Blick auf ihren Dateinamen ermitteln: Zum Beispiel hat die Bibliothek
libc.so.5.4
die Hauptversion 5 und die Unterversion 4. Die Unterversionsnummer kann dazu noch einen Patchlevel enthalten, wie bei folgendem Namen:
libc.so.5.4.17
Wenn Sie diese Version also als letzte der Bibliothek libc.so installiert haben, gibt es im Verzeichnis einen symbolischen Link darauf mit dem Namen libc.so.5. Ein Programm, das diese Version erfordert, wird also libc.so.5.4.17 laden. Ein anderes Programm aber, das libc.so.4 benötigt, kann mit libc.so.5 nichts anfangen, da der Versionssprung von 4 auf 5 größere Änderungen verzeichnet. Daher brauchen Sie für dieses Programm im selben Verzeichnis eine Bibliothek mit der Hauptversion 4, also zum Beispiel libc.so.4.6.
Vereinzelt kommt es vor, daß ein Programm nach der Änderung der Unterversion einer oder mehrerer Bibliotheken nicht mehr funktioniert, wie dies bei einer Netscape-Version der Fall war. Eine Lösung kann dann sein, die benötigten Bibliotheken für dieses Programm in ein anderes Verzeichnis zu kopieren und vor der Ausführung dieses Programms den Pfad LD_LIBRARY_PATH darauf zu setzen.

Verfasser: Andreas
Letzte Änderung: 2009-09-14 22:38


Computer » Programmierung » JavaScript

Befehlszeile für die Fehlersuche

Ihr JavaScript-Listing scheint einen Fehler zu enthalten. Um ihn zu finden, wäre eine Befehlszeile hilfreich, in der Sie Anweisungen direkt eingeben könnten, etwa um aktuelle Variablenwerte abzufragen.
Mit einem kleinen Trick können Sie ein jederzeit verfügbares Dialogfenster basteln, in dem Sie JavaScript-Anweisungen eintippen, die sofort ausgeführt werden. Diese "Befehlszeile" können Sie auch nutzen, um einen Fehler zu finden. Gehen Sie so vor: Zunächst schreiben Sie eine HTML-Seite, die folgenden Link enthält:
<a href="nojavascript...void(direkt =prompt('Anweisung:','')) ;void(eval(direkt))">Eingabe
</a>
Nun setzen Sie einen Bookmark auf diesen Link, indem Sie ihn mit der rechten Maustaste anklicken und dann im IE Zu Favoriten hinzufügen... wählen. Ab jetzt steht die Befehlszeile Ihnen auf beliebigen Seiten zur Verfügung: Sie können Sie aus ihren Bookmarks bzw. Favoriten aufrufen. Im Netscape Navigator erhalten Sie mit der URL-Direkteingabe javascript: ein neues Fenster, die JavaScript-Console, die für das Debuggen noch besser geeignet ist.

Verfasser: Andreas
Letzte Änderung: 2009-10-16 18:57


Bild im Layer austauschen

Sie haben mit dem DIV-Tag einen positionierten Bereich eingerichtet, in dem eine Grafik steht. Nun möchten Sie sie austauschen, was im Internet Explorer funktioniert, nicht aber im Netscape Navigator 4.x.
In JavaScript tauschen Sie Bilder mit dem IMG-Objekt aus, indem Sie der Eigenschaft src einen neuen Wert zuweisen:
document.bildname.src="anderesBild.gif"
Das interpretieren IE und Navigator richtig. Ist das Bild jedoch in einem positionierten Bereich oder Layer platziert, sieht die Sache anders aus. Denn Netscape betrachtet einen Layer als Dokument im Dokument, so dass das IMGObjekt des Bildes nicht wie für den IE ein Objekt des Dokuments ist, sondern für das des Layers. Für Ihr Vorhaben müssen Sie deshalb eine Browser-abhängige Verzweigung einsetzen. Die Anweisung für den Navigator lautet:
document.layername.document.bildname.src="anderesBild.gif"

Verfasser: Andreas
Letzte Änderung: 2009-10-16 18:57


Bildschirmauflösung ermitteln

Sie entwerfen eine sehr aufwendige Seite, die jedoch nur bei einer bestimmten Fenstergröße gut aussieht. Deshalb wollen Sie abhängig von der Bildschirmauflösung des Anwenders Alternativseiten anbieten.
Die Bildschirmauflösung können Sie mit screen.height und screen.width ermitteln. Etwas anderes ist die tatsächlich verfügbare Höhe und Breite der Darstellung. Meistens wird etwa bei Windows die Taskleiste ständig angezeigt, so dass ihre Höhe für den Browser wegfällt. Die tatsächlich verfügbare Bildschirmfläche finden Sie in screen.avail-Height und screen.availWidth. Nachdem Sie auf die richtige Seite weitergeleitet haben, können Sie das Browserfenster mit window.resizeTo(x,y); auf die gewünschte Größe bringen.

Verfasser: Andreas
Letzte Änderung: 2009-10-16 18:58


Browser-Versionen

Ihre Besucher beschweren sich, dass Ihre Homepage im Netscape 6 fehlerhaft dargestellt wird.
Netscapes neuste Browser-Version stellt einen radikalen Bruch mit der Vergangenheit dar: Endlich werden die W3C-Standards unterstützt, auf der anderen Seite fehlt die Abwärtskompatibilität zu den Vorgängerversionen. Routinen mit dem Layer-Objekt funktionieren also nicht mehr. Der Fehler in Ihren DHTML-Seiten tritt auf, wenn Sie die immer notwendige Browser-Abfrage mit dem navigator-Objekt nach folgendem Muster vorgenommen haben:
((navigator.appName ="Netscape") &&(navigator.appVersion. charAt(0)>=4))
Fragen Sie statt der Browser-Version besser ab, ob das gebrauchte Objekt vorhanden ist. Folgende Abfrage führt Benutzer des Netscape 6 ebenso wie die älterer Browser zu einer einfachen Alternativseite, die korrekt angezeigt wird:
if (document.all)
{...IE-Code...}
else if (document.layers)
{...NS 4-Code...}
else window.location.href= "einfach-page.htm";
Mit dieser Methode vermeiden Sie auch Fehler im Opera-Browser, der sich als IE oder Navigator ausgeben kann.

Verfasser: Andreas
Letzte Änderung: 2009-10-16 18:59


Browsergröße anpassen

So passen Sie die Größe des aktuellen Browserfensters nach dem Laden einer Webseite oder bei einer Aktion an.
In manchen Fällen ist es sinnvoll, die Größe des aktuellen Browserfensters automatisch anzupassen. Das kann beispielsweise der Fall sein, um Inhalte anzuzeigen, die eine fixe Größe voraussetzen oder Webseiten in verschiedenen Größen darzustellen. Für den letzten Fall geben Sie in der Adresszeile des Browsers die folgenden Zeichen ein:
javascript:resizeTo(x,y);
Parameter x ist die gewünschte Breite und Parameter y die gewünschte Höhe. Möchten Sie Ihr Fenster auf eine Größe von 800 x 600 ändern, geben Sie Folgendes ein:
javascript:resizeTo(800,600);
Um diesen Befehl automatisch ausführen zu lassen, weisen Sie die Funktion resizeTo einem Event-Handler, wie zum Beispiel dem onload-Event zu:
<body onload="resizeTo (800,600);">
Beim Laden einer auf diese Art präparierten Seite wird das Browserfenster automatisch auf die angegebene Größe gebracht. Setzen Sie diese Möglichkeit mit Bedacht ein, um Ihre Besucher nicht zu verärgern. Ein abschließendes einfaches Beispiel zeigt, wie Sie das Fenster nach einer Bestätigung durch den Anwender in der Größe ändern.
if (confirm
('Möchten Sie das Browserfenster
verkleinern?')
)
resizeTo(800,600);

Verfasser: Andreas
Letzte Änderung: 2009-10-16 19:00


Changierendes Farbenspiel

Changierendes Farbenspiel beim Aufruf der Startseite
Während des Ladens verändert sich die Hintergrundfarbe der Webseite. Die Programmierung ist überaus einfach.
Die Funktion fade regelt den ansehnlichen Effekt, bei dem sich die Grundfarbe der Webseite binnen Sekunden verändert. Um Ihre Seite um dieses Feature zu erweitern, fügen Sie den Code in Listing 2 in den Head-Bereich ein. Für die Farbgestaltung ist die letzte Zeile fade(0,0,0,255,255,255,100) verantwortlich. Verändern Sie einfach die im Hexadezimalformat angegebenen RGB-Werte (Startfarbe: 0, 0, 0; Endfarbe: 255, 255, 255) sowie die Anzahl der Zwischengradienten (in diesem Beispiel 100), um das Applet an Ihre eigenen Wünsche anzupassen. Allerdings sollten Sie aufdringliche Effekte sparsam einsetzen.

Verfasser: Andreas
Letzte Änderung: 2009-10-16 19:01


Das Blink-Tag

Verwenden Sie für wichtige Schlagzeilen das Blink-Tag von Netscape, und stellen Sie es mit dem Internet Explorer dar.
In Netscape existiert ein Tag, das eingebundene Inhalte blinkend darstellt. Texte bringen Sie mit folgender Notation zum Blinken:
< blink>Achtung! Ich blinke
</ blink>
Leider funktioniert dieses Tag nicht mit dem Internet Explorer. Sie können diesen Effekt aber mit einfachen Mitteln in Dynamic HTML nachbilden:
<SCRIPT LANGUAGE="JavaScript">
<!--
function Blinken() {
if (document.getElements ByTagName);
d=document.getElementsBy TagName("P")[0].style;
d.visibility = (d.visibility
== "visible") ? "hidden" : "visible";
}
function Timer() {
window.setInterval(" Blinken()",600);
}
//-->
</SCRIPT>
Die Funktion Blinken() stellt den Inhalt eines Paragraphen (<P> ... </P>) beim Aufruf abwechselnd auf sichtbar und unsichtbar. Mit Timer() wird die Blinkfunktion zu einem bestimmten Intervall immer wieder aufgerufen, was den blinkenden Effekt bewirkt. Diese Funktion binden Sie im BODY-Tag mit dem Eventhandler onload ein:
<body onload="Timer()">
Inhalte, die blinken sollen, können jetzt wie folgt eingebunden werden:
<blink><P>tachauch</P></blink>
Beachten Sie dabei, dass Inhalte des ersten im Dokument vorkommenden Paragraphen blinken, da diesem Element in der Funktion Blinken() ein Style mit document. getElementsByTagName("P") [0].style zugewiesen wurde. Wenn Sie den dritten Paragraphen ansprechen möchten oder andere Elemente verwenden, müssen Sie den Index entsprechend anpassen bzw. den Tag-Namen ändern:
document.getElementsByTagName
("TAGNAME")[INDXENUMMER].style;

Verfasser: Andreas
Letzte Änderung: 2009-10-16 19:02


Das Function Objekt

Definieren Sie eigene Function-Objekte und weisen Sie ihnen Event-Handlers zu, wie den Mouse-Over-Effekt bei Formular-Buttons.
Das Function-Objekt kompiliert einen String, der einen JavaScript-Code enthält, zu einer Funktion. Um so ein Objekt anzulegen, verwenden Sie folgende Syntax:
name = new Function ([Parameter1,
Parameter2, ...
Parameter n],
Body)
Zum Erzeugen einer Instanz des Function-Objeks nutzen Sie das Schlüsselwort new und geben ihr einen geeigneten Namen. Dabei kann es sich um eine Variable oder um ein bereits existierendes Objekt handeln. Zudem weisen Sie dem Objekt die entsprechende Funktion zu, gefolgt von einem in Kleinbuchstaben geschriebenen Event-Handler. Der so deklarierten Funktion können Sie beliebige Parameter übergeben, die vom Body, (den eigentlichen Anweisungen der Funktion) ausgeführt werden. Mehrere Anweisungen sind durch Semikola voneinander zu trennen. Dazu ein Beispiel, bei dem Sie die Hintergrundfarbe einer HTML-Seite ändern:
<script language="JavaScript">
<!
var farbe = new Function("bg" ,"document.bgColor=bg");
// >
</script>
<body bgcolor="#FFFFFF"
text="#000000">
<form>
<input type="Button" value="BgColor"
onClick="farbe('blue')">
</form>
Als Parameter wird der Funktion farbe() der gewünschte Farbwert für die Hintergrundfarbe übergeben. Der Aufruf erfolgt über einen Event-Handler. Mit dem Function-Objekt lässt sich einem Objekt ein bestimmter Event-Handler zuweisen. Das folgende Beispiel weist einem Form-Objekt das Ereignis onclick zu:
<form name="form">
<input name="farbe" type="Button"
value="Bgcolor ändern">
</form>
<script language="JavaScript">
<!
document.form.farbe.onclick =
new Function("document.bgColor='antiquewhite'")
// >
</script>
Initialisieren Sie das Skript erst dann, wenn das zu manipulierende Objekt bereits geladen ist. Andernfalls erhalten Sie eine Fehlermeldung. Der Grund: Sie können einem Objekt nur Eigenschaften zuweisen, wenn es bereits existiert. Dies gilt insbesondere, wenn Sie einem Function-Objekts einen Event-Handler zuweisen. Das folgende Beispiel verdeutlicht Ihnen die Besonderheit dieses Objekts:
<form name="form1">
<input name="button1" type="button"
value="Bitte nicht streifen!">
<input name="button2" type="button"
value="Streif mich und öffne
mich!">
</form>
<script language="JavaScript">
<!
document.form1.button1.onmouseover =
new Function("document.form1.button1.value='A U T S C H
.... !'window.status=
'Können Sie nicht lesen?'");
document.form1.button1.onmouseout =
new Function("document.form1.button1.value='Bitte nicht
streifen!'window.status='Weg mit
Dir.'");
document.form1.button2.onmouseover =
new
Function("fenster=window.open('about:blank','test','width=200,height=200')");
// >
</script>
Mit dem Function-Objekt weisen Sie es: Ereignisse onmouseover und onmouseout einem Formular-Button zu. Sobald Sie mit der Maus über den ersten Button streifen, ändert dieser seine Bezeichnung, und ein Text wird in der Statuszeile ausgegeben. Beim Verlassen des Buttons wird der Ausgangszustand wieder hergestellt. Der zweite Button öffnet beim Darüberfahren ein neues Fenster. Funktionen, die Sie durch das Function-Objekt erzeugen, werden zum Zeitpunkt der Deklaration kompiliert und nicht erst beim Aufruf. Auf diese Weise werden sie auch schneller ausgeführt.

Verfasser: Andreas
Letzte Änderung: 2009-10-16 19:03


E-Mail-Adresse chiffrieren

Machen Sie Ihre E-Mail-Adresse auf der Homepage unsichtbar für die Suchrobots, die E-Mail-Spammer mit neuen Adressen versorgen.
Sicher kennen Sie das: In Ihrem Postfach landen seit neuestem lästige Werbe-Mails für dubiose Dinge oder gar pornografische Angebote. Woher haben diese zwielichtigen Zeitgenossen Ihre Adresse? Neben etlichen anderen Wegen lassen viele professionelle Spammer spezielle Suchmaschinen (Robots) das Web abklappern, die gezielt nach Mailto-Links auf Homepages suchen. Diese Robots reagieren nur auf das <a>-Tag mit mailto als Referenz. Ein Script macht die E-Mail-Adresse unsichtbar, aber der Besucher Ihrer Seiten sieht weiterhin einen Link, den er nur anklicken muss. Folgende Zeilen bauen Sie dazu an der Stelle Ihrer Homepage ein, an der Sie den Link haben wollen:
<script language="JavaScript">
<!-
var name = "hans";
var domain = "hoelzl.de";
document.write('<a href= \"mailto:' + name + '@'+
domain + '\">');
document.write(name + '@'+
domain + '</a>');
// ->
</script>
Sie müssen nur in den Variablen name und domain Ihre persönlichen Angaben eintragen. Ohne JavaScript funktioniert eine einfachere Lösung: Verzichten Sie einfach auf den mailto-Link und schreiben Sie Ihre E-Mail-Adresse als Text auf die Homepage - auch das dürfte einige Robots austricksen.

Verfasser: Andreas
Letzte Änderung: 2009-10-16 19:03


Computer » Programmierung » JavaScript » Formulare

Aufbereitung

Schrittweise verbessern Sie das Layout eines Eingabeformulars.
Formularelemente behandelt der Browser wie Fließtext. Je nach Größe des Browser-Fensters ändert sich das Aussehen eines Formulars daher gewaltig. Wenn der Browser Ihre Formularelemente nicht beliebig durcheinander würfeln soll, verwenden Sie wieder eine versteckte Tabelle, um die Elemente auf der Seite zu fixieren.
form1.htm (Listing in Databox 9/97) legt ein Formular zur Dateneingabe an. Ohne jede Formatierung außer dem <BR>-Tag für Zeilenumbruch sieht das Formular arg hausbacken aus. form2.htm (Listing in Databox 9/97) positioniert die Formularelemente mit einer versteckten Tabelle. Da die Eingabefelder unterschiedlich lang sind, belegen sie zum Teil mehrere Spalten. Da Sie in der letzten Zeile in zwei Feldern Telefon- und Faxnummer eingeben, wählen Sie als Basis eine Tabelle mit vier Spalten, je zwei für Beschriftungen und Eingabefelder. Die linke Spalte der Tabelle enthält nur die Beschriftungen. Die Felder für den Vor- und Nachnamen sollen zwei Spalten breit sein (COLSPAN=2), die Felder für die Straße und den Ort drei Spalten (COLSPAN=3). Den Absende-Button zentrieren Sie unter dem Formular. Daher umspannt die Tabellenzelle des Buttons alle vier Spalten mit zentriertem Inhalt (COLSPAN=4 ALIGN= Center). Ein derartiges Formular sieht schon sehr viel besser aus.
Als letzten Schliff umrahmen Sie Ihr Formular. Den Rahmen erhalten Sie dadurch, daß Sie die gesamte Tabelle wieder in eine mit der Rahmenbreite 4 einbetten. In diesem Fall müssen Sie nur die End-Tags </TD> und </TR> innerhalb der Tabellen verwenden. Ansonsten stoßen die meisten Browser auf Schwierigkeiten. form3.htm (Listing in Databox 9/97) plaziert die Tabelle in einer anderen. Mit diesem Formular braucht sich ein Profi nicht zu schämen.

Verfasser: Andreas
Letzte Änderung: 2009-10-16 18:43


Buttons als Links verwenden

Beachten Sie bei der Vergabe von Links deren Inhalt, um nicht mit dem Gesetz in Konflikt zu kommen.
Formular-Buttons lassen sich auch als Hyperlinks mißbrauchen. Sie können statt einer E-Mail-Adresse auch eine URL als Formular-Ziel angeben:
<FORM METHOD="link" ACTION="">http://www.wo.de/index.html">
<INPUT TYPE="submit" VALUE="Seite">
</FORM>
Klickt der Besucher diesen Button an, leiten Sie ihn damit zur angegebenen URL weiter. Da Sie mehrere Formulare auf einer Seite verwenden können, erlaubt Ihnen das Verfahren, mehrere Buttons zu definieren. So starten Anwender von Ihren Seiten die Reise durch das Netz.

Verfasser: Andreas
Letzte Änderung: 2009-10-16 18:52


Inhalte versenden

Sie gelangen an ein Formular, indem Sie es an sich selbst schicken.
Die meisten Formulare machen nur in Verbindung mit Server-Skripts Sinn, die Ihre Eingaben weiterverarbeiten. Leider haben bei weitem nicht alle Web-Autoren Zugriff auf einen Server, der ihnen erlaubt, eigene Skripts ablaufen zu lassen. Sie gelangen aber noch anders an den Inhalt eines Formulars: Senden Sie sich das Formular per E-Mail:
<FORM NAME="Eingabe" ENCTYPE=" text/plain" METHOD="LINK" ACTI ">ACTION="mailto:ich@wo-immer.de"><INPUT TYPE=submit VALUE="Email absenden">
</FORM>
Wichtig ist das Attribut ENCTYPE, wenn Sie Formulardaten übertragen. Dieses Attribut gibt das Encoding der E-Mail an. Der Datentyp text/plain bedeutet, daß die Daten als unkodierter Text übertragen werden. Der Inhalt der E-Mail landet in Ihrem Briefkasten als:
name=Hermann Lopau
strasse=Mittelweg 23
ort=München
Ohne das ENCTYPE-Attributs würde Ihre E-Mail wie folgt aussehen:
name=Hermann+Lopau&strasse=Mittelweg+13&ort=M%FCnchen
Wer alle & durch LF-Zeichen sowie alle Pluszeichen durch Leerstellen ersetzt und noch die Zeichenfolge %FC rät, liest die E-Mail fast wie Normaltext.
Die meisten Browser unterstützen zusätzlich die Angabe des Betreffs. Hängen Sie diese einfach an Ihre E-Mail-Adresse an:
ACTIACTION="ich@wo-immer.de?subject=Test des Formulars"
Sie dürfen Leerstellen verwenden, den Text des Betreffs aber nicht in Anführungszeichen einschließen. Netscape unterstützt zusätzlich die Angabe von Kopien (cc) und Blindkopien (bcc). Fügen Sie die Liste der zusätzlichen Empfänger hinter das Betreff an mit dem & als Trenner:
ACTIACTION="ich@wo-immer.de?subject=Test des Formulars &am &bcc=ichauch@wo-immer.de"Es empfiehlt sich nicht, & im Betreff zu verwenden!

Verfasser: Andreas
Letzte Änderung: 2009-10-16 18:53


Lebende Buttons

Ein animierter Knopf verändert sein Aussehen, wenn der Mauszeiger darüber streicht.
JavaScript animiert Buttons recht leicht. So ein Schaltknopf leuchtet auf, wenn der Mauszeiger darüber streift. Sie benötigen dazu nur zwei gif-Grafiken, die den Button einmal passiv und einmal aktiviert darstellen. Diese Grafiken lädt Ihr Skript jeweils dann, wenn sich der Mauszeiger über dem Bereich der Grafik befindet oder ihn verläßt. Professionelle Forumlare füllen Anwender gerne aus.
livebtn.htm (Listing in Databox 9/97) belebt Ihren Schaltknopf. Die Grafik definieren Sie mit dem MAP- und dem AREA-Tag. Der MAP-Tag definiert sensitive Bereiche, innerhalb derer wieder das AREA-Tag Grenzen setzt. Unser Beispiel legt nur einen rechteckigen Bereich fest, der die gesamte Grafik abdeckt. In diesem Tag bestimmen Sie die JavaScript-Event-Handlers. Der IMG-Tag der Grafik enthält das Attribut USEMAP, das die für die Grafik zu verwendende Map angibt. Da Sie diese wie meist als URL anlegen, verwenden Sie für lokale Maps das Doppelkreuz. Natürlich muß der IMG-Tag einen Namen erhalten (liveBtn), damit JavaScript die Grafik ansprechen kann.
Leider funktioniert das Beispiel nur mit dem Navigator ab 3.0. Der Internet Explorer 3.0 kennt die entsprechenden JavaScript-Event-Handlers nicht, so daß der Button inaktiv bleibt.

Verfasser: Andreas
Letzte Änderung: 2009-10-16 18:54


Syntax-Checks

Wenn Sie keine Zahlen eingeben, meldet das Script einen Fehler.
Oftmals müssen Sie den Inhalt von Eingabefeldern syntaktisch prüfen. So sollte ein numerisches Feld nur Ziffern enthalten. Sie sollten daher derartige Felder auf Korrektheit überprüfen, ehe Sie das Formular zum Server absenden.
Der Event-Handler onSubmit() prüft dies, bevor Sie das Formular versenden. Soll ein fehlerhaft ausgefülltes Formular nicht abgeschickt werden, muß der Handler den Wert false zurückliefern.
Beachten Sie, daß der String hinter dem onSubmit-Attribut ein return-Statement enthalten muß. submit.htm (Listing in Databox 9/97) prüft, ob das Feld zahl nur Ziffern-Eingaben aufnehmen kann.

Verfasser: Andreas
Letzte Änderung: 2009-10-16 18:55


Computer » Programmierung » Mono

Mono Propgramme starten

Nachdem wir in dieser Ausgabe Mono vorgestellt haben, folgt an dieser Stelle noch ein kleiner Tipp für all jene die es nervig finden die erzeugten Programme mittels 'mono foo.exe' aufrufen zu müssen.
Dies muss nicht sein, denn die Kerneloption CONFIG_ BINFMTJVIISC schafft Abhilfe. Bei Linux 2.6.x findet sich diese unter

„Executable File Formats" - „Kernel support for MISC binaries", und lässt sich auch als Modul übersetzen.
Hat man den neuen Kernel kompiliert muss noch mittels

# mount -t binfmt_misc none/proc/sys/fs/binfmt_misc

ein virtuelles Dateisystem eingehängt werden. Um diesen Befehl nicht jedes Mal aufs Neue eintippen zu müssen, empfiehlt sich ein Eintrag in die Datei /etc/fstab. Dieser sieht bei mir folgendermaßen aus:

none    /proc/sys/fs/binfmt_misc binfmt_misc defaults 0 0

Schlussendlich muss dem System über Einträge in /proc mitgeteilt werden welche Binaries welchen Interpreter erwarten. Im Falle von Mono sieht das wie folgt aus:

# echo ':CLR:M::MZ::/usr/ bin/mono:' > /proc/sys/fs/ binfmt_misc/register

Danach können auch MonoProgramme wie gewohnt mittels

# foo.exe

ausgeführt werden.
Da auch die letzte Zeile etwas zu lang ist um sie immer wieder einzugeben, empfiehlt es sich diese in eines der Inits-kripts (z.B. rc.local) aufzunehmen.
Abschließend noch ein Tipp für alle Benutzer von Gentoo Linux, die es in dieser Beziehung (wieder mal;) ein bischen besser haben: der Ebuild für Mono installiert nämlich auch das Initskript /etc/init.d/dotnet, welches diese Schritte automatisiert.
Dazu mounted es gegebenenfalls das virtuelle Dateisystem (womit der Eintrag in der /etc/fstab entfallen kann), sieht in

/etc/conf.d/dotnet

nach welche Runtime verwendet werden soll (mono oder ilrun, die Runtime von DotGNU) und nimmt den entsprechenden Eintrag in

/proc/sys/fs/binfmt_misc/register

vor. Wenn das mal nicht bequem ist...
Achja, die hier vorgestellte Methode funktioniert übrigens auch für andere Binärformate wie zum Beispiel Java. Dazu passende Anleitungen lassen sich mit der Lieblingssuchmaschine leicht finden. :-)

Quelle: WCM 215, Seite 98

Verfasser: Andreas
Letzte Änderung: 2012-09-10 18:49


Computer » Programmierung » Basic

Alle Tage wieder

Routinearbeiten nach Programm
 "autoexec.bas" (Listing in Databox 3/97) leistet Routinearbeiten. Dazu liest es die Datei "exe.ini" (Listing in Databox 3/97) ein und erzeugt die Stapelverarbeitungsdatei "tmp.bat", die Sie von der "autoexec.bat" ausführen lassen. Das kurze Programm kennzeichnet Variablen nur mit einem Buchstaben und verzichtet auf Bildschirmausgaben. Auch die Schlüsselworte für die "exe.ini" sind gekürzt.
 Das Beispiel ist für Windows 95 geschrieben. Lassen Sie die erzeugte "tmp.bat" einmal von "autoexec.bat" und dann über "autostrt.bat" aus dem Autostart-Ordner aufrufen:
 if exist d:\tmp.bat call d:\tmp.bat
 Für die Zeilen gelten ohne die Zeichenfolgen "]" oder "/*" die Regeln der Batchbefehle von MS-DOS.
 Ulf-Diethelm Kornblum/et

Verfasser: Andreas
Letzte Änderung: 2012-03-09 17:52


Ballspielen

Mit einem virtuellen Ball machen Sie in stundenlangem Spiel fast beliebig viele Punkte.
 "ballgame.bas" (Listing in Databox 4/97) gibt Ihnen die Aufgabe, einen Ball daran zu hindern, den unteren Bildschirmrand zu erreichen. Entgeht Ihrer Aufmerksamkeit jedoch ein Ball, zählt Ballgame einen Fehler. Schlagen Sie den Ball vom unteren Rand jedoch ins Feld zurück, schreibt Ihnen Ballgame 10 Punkte gut. Da sich mit steigender Punktzahl die Spielgeschwindigkeit steigert, müssen Sie immer schneller reagieren. Die Punktejagd beenden Sie mit [Esc].
 Stefan Völkel/et

Verfasser: Andreas
Letzte Änderung: 2012-03-09 17:52


Batch-Konverter

QBasic-Programme konvertieren Sie zu Stapeldateien - und umgekehrt.
 Um Kommandozeilen-Parameter an ein QBasic-Pogramm zu übergeben, bedarf es einer nicht ganz trivialen Stapeldatei. Demgegenüber verwandelt "qb2batex.bas" (Listing in Databox 2/97) ein QBasic-Programm in einen "Zwitter", den Sie wie eine Batchdatei oder ein Basic-Programm starten. Außerdem können Sie dem QBasic-Programm Kommandozeilen-Parameter einfach zugänglich machen:
 ganzegal parm1 parm2 ...
 Dies liegt zum einen daran, daß der Kommando-Interpreter Befehle, die er nicht kennt oder zu denen er keine passende ausführbare Datei findet, einfach mit einer Fehlermeldung quittiert und zur nächsten Anweisung übergeht. Zum anderen gibt es Befehle, die sowohl "command.com" als auch QBasic verstehen, wenn auch unterschiedlich interpretieren. Leider überprüft QBasic die komplette Syntax eines Programms vor dessen Ausführung, so daß ein simples Überspringen der Stapelbefehle innerhalb des Basic-Programms mit "goto" nicht zum Erfolg führt.
 Die Lösung: Mit der Zeile
 if not exist then:'... Batchbefehl '
 machen Sie Batchbefehle für QBasic unsichtbar (maskieren). QBasic faßt diese Zeile als Booleschen Ausdruck mit der numerischen Variablen EXIST auf und führt eine leere Anweisung aus: den Doppelpunkt. Den Rest der Zeile, also den Batchbefehl, wertet QBasic wegen des Hochkommas als Kommentar und ignoriert ihn. "command.com" hingegen prüft in dieser Zeile, ob eine Datei namens
 THEN: '
 nicht existiert und führt dann den darauf folgenden Batchbefehl aus. Labels, die innerhalb der Batchbefehle angesprungen werden sollen, maskieren Sie so:
 :'mylabel1
 Diese Zeile stellt für QBasic eine Leeranweisung mit anschließendem Kommentar, für "command.com" jedoch ein gültiges Label dar.
 Die Parameter-Übergabe: Meist übergeben Sie einem QBasic-Programm Kommandozeilen-Parameter, indem Sie eine Batchdatei aufrufen, die diese Parameter in eine Environment-Variable schreibt. Diese läßt sich dann von Basic auslesen und auswerten.
 "qb2batex.bas" automatisiert diesen Vorgang. Es generiert dazu Statements, die es dem konvertierten Basic-Programm erlauben, die Kommandozeilen-Parameter über eine Funktion PARAM$(i) auszulesen. Dabei steht (i) für den i-ten Parameter, beginnend bei 0. Parameter 0 enthält den Namen, der die Datei aufgerufen hat. Mit "sample1.bas" (Listing in Databox 2/97) testen Sie dies.
 Interna von Qb2batex: "qb2batex.bas" hat einige wissenswerte Eigenschaften. Zunächst sollten Sie die im zu konvertierenden QBasic-Programm vorkommenden Namen EXIST und QB91 bis QB96 nicht als Bezeichnernamen für Labels oder Variablen verwenden, da sie für die Maskierung der Batchbefehle oder innerhalb des Kommandozeilen-Parsers benutzt werden. Ferner sollten Sie die Environment-Variablen QBPGM und QBPARM nutzen.
 Qb2batex ermittelt beim ersten Lesen der Quelldatei, in welcher Zeile das letzte DECLARE- oder COMMON-Statement steht. QBasic verlangt nämlich, daß diese Anweisungen vor den ersten ausführbaren stehen. Ein zweiter Lauf generiert die zur Stapelausführung notwendigen Statements und kopiert die Quell- in die Ziel-Datei.
 Qb2batex übernimmt DECLARE-Statements nicht in die Zieldatei, da QBasic diese automatisch einfügt. Also wird alles bis zu der Zeile, in der das letzte DECLARE steht, nicht übernommen. Deshalb sollten die DECLAREs im Programmm zuerst stehen, so wie der QBasic-Editor es speichert. Dann sollten die vorhandenen COMMON-Anweisungen folgen. Alles bis zur Zeile des letzten COMMON-Statements wird unverändert an den Anfang der Zieldatei kopiert. Erlaubt ist zum Beispiel
 COMMON SHARED A: DEFINT B-Z
 nicht jedoch
 DEFINT B-Z: COMMON SHARED A
 Wenn Ihnen das zu kompliziert ist, konvertieren Sie "sample2.bas" (Listing in Databox 2/97) zur Stapeldatei. Sie müssen beim Aufruf nur die Namen der Eingabe- (BAS) und der Ausgabedatei (BAT) eingeben. Den Rest erledigt Qb2batex, indem es die BAS- in eine BAT-Datei konvertiert. Bereits unter dem gleichen Namen existierende BAT-Dateien werden ohne Rückfrage überschrieben.
 Harald Marschalek/et
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 17:53


Dateien teilen

Die Technik, Dateien zu teilen, brauchen Sie für Kopieraufgaben auf Datenträgern mit beschränkter Kapazität.
 "teilen.bas" (Listing in Databox 5/97) zerteilt eine große in mehrere kleine Dateien mit eingegebener Größe. Die kleinen Dateien erhalten die Namen "teil.1", "teil.2" und so weiter. Der Copy-Befehl führt die Dateien wieder zusammen:
 copy /b teil.1+teil.2+... zieldat.ei
 Bedenken Sie, daß Sie nur maximal 32 767 Byte einlesen können.
 Herbert Pöckl/et

Verfasser: Andreas
Letzte Änderung: 2012-03-09 17:53


Drehschrift

Nach theoretischer Vorarbeit drehen Sie eine 3D-Schrift.
 "dreh.bas" (Listing in Databox 3/97) dreht am Bildschirm einen beliebigen Text um eine senkrechte Symmetrieachse in einer 3D-Darstellung. Der Betrachter kann seine Augenposition frei wählen. Des weiteren berücksichtigt das Programm, daß Textzeichen mit großem Abstand zum Betrachterauge kleiner erscheinen.
 Um die Tiefenwirkung der 3D-Grafik noch eindrucksvoller zu vermitteln, zeichnet "dreh.bas" die näher am Betrachterauge liegenden Textzeichen mit heller Farbe. Mit zunehmender Entfernung der Zeichen von der Position des Betrachters erscheinen die einzelnen Grafikpunkte dann in dunkler werdenden Graustufen. Hierzu verwendet "dreh.bas" die Graustufenwerte von Farbe 17 bis 31 des Bildschirmmodus 13 von QBasic mit einer Auflösung von 320 x 200 Pixeln. Den gewünschten Text geben Sie in Zeile 5 unter der Variablen TEXT$ vor. Zuvor beschreiben aber die Variablen XA, YA und ZA die X-, Y- und Z-Koordinaten Ihrer Augenposition.
 Zwischen Ihrem Auge und der entstehenden 3D-Grafik befindet sich der sogenannte Augenabstand AA. Lediglich mit dieser Variablen errechnet das Programm die Tiefenwirkung der 3D-Grafik, denn für die Textzeichen werden keine Z-Koordinaten berücksichtigt. Der Text befindet sich also stets bei Z=0. Im weiteren Verlauf der Programmausführung legt "dreh.bas" ab Zeile 7 verschiedene Variablen fest, die später zur Ermittlung der Graustufen (F) und zur richtigen Darstellung und Drehung des Textes notwendig sind. So ist die Variable A dafür verantwortlich, daß sich Ihr Text immer um die senkrechte Symmetrieachse dreht.
 In den Zeilen 11 bis 15 liest QBasic daraufhin mit dem Point-Befehl die einzelnen Pixel der Zeichen Ihres Textes in die in Zeile 3 dimensionierten Datenfelder X() und Y() ein. Z-Koordinaten bleiben - wie bereits erwähnt - unberücksichtigt. Ab Zeile 16 berechnen Sie in einer Do-loop-Schleife die 3D-Grafik. Hierzu ermittelt "dreh.bas" jeweils zunächst eine Gerade, auf der sowohl das Auge des Betrachters als auch der gerade zu drehende Textpunkt liegen. Die eigentliche Tiefenwirkung der 3D-Grafik entsteht durch Einsetzen der Subtraktion [ZA-AA] in die Geradengleichung.
 Die Punkte zeichnen Sie in Form von in Graustufen ausgefüllten Kreisen, wobei den Radius R Zeile 10 bestimmt. Mit der Esc-Taste brechen Sie das Programm ab.
 Die Drehrichtung legt Zeile 33 fest. Findet dort eine Addition statt, so drehen Sie Ihren Text im Uhrzeigersinn - bei einer Subtraktion gegen den Uhrzeigersinn. Beachten Sie, daß der Ergebnis-Bildschirm sofort nach Zeichnung der 3D-Punkte gelöscht wird. Damit der Monitor für kurze Zeit erhalten bleibt, müssen Sie Ihren Rechner in Zeile 34 - abhängig von der Prozessorgeschwindigkeit - bis zu einem von Ihnen festgelegten Wert zählen lassen (1000 bei einem 386DX-40). Dann löschen Sie den Bildschirm.
 Hain Michael/et

Verfasser: Andreas
Letzte Änderung: 2012-03-09 18:02


Ein Fraktal im Hintergrund

Ein Fraktal dient als Hintergrund für das Sierpinski-Dreieck.
 "fraksier.bas" (Listing in Databox 3/97) berechnet ein fraktales Hintergrundbild und darüber das Sierpinski-Dreieck. Zuerst wählen Sie eines der beiden Hintergrundfraktale oder beenden das Programm. Durch Ihre Eingabe für die Variable E wird das Fraktal berechnet. Vorgegeben ist der Idealwert 0,25. Ändern Sie ihn nur von 0,1 bis maximal auf 0,9, um keinen Überlauf zu riskieren. Sodann legt ein Zufallsgenerator die Farbe für den Hintergrund fest.
 Jetzt werden die Variablen X und Z durch eine For-Schleife von 0 auf 320 und 240 hochgezählt. Die Farbe wird auf Schwarz gesetzt. Wenn der Benutzer am Anfang des Programms für die Variable W den Wert 1 gewählt hat, wird die folgende If-Anweisung ausgeführt, ansonsten der nächste Befehl. Die Variable R berechnen Sie mit
 ((1E+07*(x*x+y*y))^e)
 oder dem darauffolgenden Term
 ((1E+07*(x*x+y*x)^e)
 Ein Versetzen der innersten Klammer ändert den Hintergrund. Wenn R ohne Nachkommastellen durch 2 teilbar ist, setzen Sie die Farbe auf die Zufallsvariable F. Die PSet-Anweisungen färben den Bildschirmhintergrund schwarz. Die im Listing folgenden Anweisungen bauen das bekannte Sierpinski-Dreieck.
 Krystian Drixler, Ioan-Tudor Parvulescu/et

Verfasser: Andreas
Letzte Änderung: 2012-03-09 18:03


Ein Soziogramm für menschliche Sympathien

Wie Menschen hinsichtlich privater und sachlicher Neigungen zueinander passen, stellt ein Basic-Programm grafisch dar.
 "sozkurz.bas" (Listing in Databox 5/97) stellt Gruppenbeziehungen grafisch dar. Dazu fragt das Programm für verschiedene Teilnehmer private sowie sachliche Sympathien zu anderen Gruppenpartnern ab. Diese müssen sich dazu in der Teilnehmerliste befinden. Sie können auch nur jeweils einen Namen nennen. Dann stellt das Soziogramm ein zwar eher grobes, aber dafür übersichtliches Netzwerk sozialer Prozesse dar.
 Die Teilnehmer- und Sympathielisten können Sie speichern und laden. "sozkurz.bas" wandelt die Namen in zufallsbedingte und somit datengeschützte Ziffern um, gibt zunächst die gewählten Häufigkeiten als Liste aus und zeichnet schließlich daraus eine "Tischrunde der Teilnehmer" mit den Sympathielinien. Diese gehen gestrichelt vom Wähler aus und führen durchgezogen zum sympathischen Partner. Die Farbe Rosa steht für die private Beziehung, eine hellrosa Ziffer für einen weiblichen Teilnehmer. Grau symbolisiert eine sachliche Beziehung.
 Für die Druckausgabe ist eine der folgenden Vorbereitungen zu treffen:
 - Sie aktivieren vor dem Programmstart das DOS-Programm "graphics.exe" und konfigurieren es für Ihren Drucker.
 - Wenn Sie das Soziogramm im DOS-Fenster von Windows starten, können Sie das gewünschte Bild mit der Druck-Taste in die Zwischenablage bringen. Von dort läßt es sich in ein Windows-Programm unter dem Menüpunkt
 Bearbeiten - Einfügen
 übernehmen und drucken.
 Joachim Scheibe/et

Verfasser: Andreas
Letzte Änderung: 2012-03-09 18:03


Eine Sonnenblume wächst

Am Beispiel der Sonnenblume zeigt sich, daß Sie einen Kreis auch im Goldenen Schnitt aufteilen können.
 "soblume.bas" (Listing in Databox 2/97) zeigt, wie die Natur den Goldenen Winkel von etwa 137,5 Grad verwirklicht. Dabei gilt: Der kleine verhält sich zum großen Winkel wie dieser zum Vollwinkel.
 "soblume.bas" symbolisiert einen Sonnenblumenboden, auf dem sich die Kerne entwickeln. Übergeben Sie Soblume einen Drehwinkel von 137,5 Grad bei zunehmendem Radius von der Mitte aus, so sehen Sie, wie Licht und Regen den Platz optimal nutzen können. Soblume überrascht Sie vielleicht, wenn Sie den Divergenzwinkel nur wenig verändern (etwa auf 137,6 Grad).
 "soblume.bas" zeichnet die jeweils letzten drei Sonnenblumenkerne vom Zentrum aus mit einer braunen Linie. So können Sie am Ausdruck die Divergenzwinkel nachmessen.
 Theo Erken/et

Verfasser: Andreas
Letzte Änderung: 2012-03-09 18:03


Elektronisches Keyboard

Das Bildschirm-Piano zeigt im ersten einfachen Ansatz die Zusammenarbeit von PC und Musik.
 "musik.bas" (Listing in Databox 5/97) liefert Ihnen ein elektronisches Keyboard mit einem Tonumfang von C' bis C''. Die Tondauer können Sie zwischen 0,2 und 10 Sekunden einstellen. Weiterhin läßt sich die Tonfrequenz des Grundtons verändern, womit sich die anderen Töne entsprechend anpassen. Das QBasic-Programm zeigt auch an, welchen Ton Sie gedrückt haben. Bei Tastendruck sehen Sie einen Stern über der am Bildschirm angezeigten Pianotaste.
 Daniel Heise/et

Verfasser: Andreas
Letzte Änderung: 2012-03-09 18:04


Er dreht sich doch

Sie sehen einen sich drehenden 3D-Drahtwürfel.
 "3ddraht.bas" (Listing in Databox 1/97) zeigt einen Würfel als Drahtgittermodell. Am Anfang stehen die Würfelkoordinaten. Danach folgen ass=0 und vss=1, welche Sie für die beiden Bildschirmseiten immer im Wechsel aufrufen. Der Screen-Befehl setzt die Auflöung fest. Die Werte von ass und vss wechseln ständig, damit der Würfel nicht blinkt und sich nicht zu langsam dreht.
 Anschließend folgt der Befehl
 window(120,120)-(-120,-120)
 Damit setzen Sie den Nullpunkt in die Mitte des Bildschirms. So verhindern Sie, daß der Würfel im rechten oberen Bildrand "hängt".
 CLS 1 löscht immer wieder den Bildschirm und somit die vorherige Position des Würfels. Danach verbinden Sie den Würfel durch den Line-Befehl mit den zuvor genannten Koordinaten. Es folgen Formeln für Punkte und Linien:
 x=x*cos(w)+y*sin(w)
 y=-x*sin(w)+y*cos(w)
 Der Swap-Befehl schließlich tauscht ständig die Bildschirmseiten aus, um ein Blinken zu verhindern.
 Michael Karg/et
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 18:05


Kostenkontrolle für AOL


 Fünf kleine Programme überwachen, wieviel Sie am Monatsende an Ihren Online-Dienst zahlen müssen.
 Für den Zugang zu AOL erhalten Sie einfache, kleine Programme (alle Listings in Databox 1/97), die Ihre anfallenden Kosten ermitteln. Um richtige Ergebnisse zu erhalten, müssen Sie ehrlich zu sich selbst sein. Dies ist neuerdings ja ganz einfach, da Sie jetzt die Online-Zeit nach jedem Ausloggen im Fenster sehen.
 - Zuerst berechnet "zusatz.bas" die laufenden AOL-Gebühren nach Ihren Eingaben.
 - "aolextra.bas" wertet alle anfallenden Gebühren ohne Grundgebühr aus.
 - "aolauswt.bas" gibt die insgesamt anfallenden Kosten inklusive der monatlichen Grundgebühr von 9,90 Mark an.
 - "gebühren.bas" zeigt dazu die Telefongebühren ab 21:00 Uhr an.
 - "auswert.bas" wertet zum Schluß alles aus.
 Ähnliche Systeme lassen sich ohne großen Aufwand übrigens auch auf andere Online-Dienste übertragen. Da QBasic selbst in Windows NT enthalten ist, bleibt diese Programmierung zeitlos. S. Kühling/et

Verfasser: Andreas
Letzte Änderung: 2012-03-09 18:05


Lange Dateinamen unter Windows 95

Selbst auf der DOS-Ebene suchen Sie Dateinamen, die die magische Grenze von 8+3 Zeichen überschreiten.
 Windows 95 bietet auch auf DOS basierenden Anwendungen neue Funktionen wie die Verwendung langer Dateinamen. Das gewöhnliche Power Basic-Kommando DIR$ zum Suchen von Dateien und Verzeichnissen scheitert jedoch beim Einsatz langer Dateinamen, da es MS-DOS-Standardfunktionen verwendet. Damit Sie in Zukunft in Ihren PowerBasic-Programmen nicht auf die komfortableren Dateibezeichnungen verzichten müssen, verwenden Sie die neuen Suchfunktionen aus der Tabelle (PC Magazin, Seite 162).
 Die Funktion "Find First File" erwartet im CX-Register die Auswahl der Dateiattribute. Dabei geben Sie in CL die zu suchenden Dateiattribute (SearchAttrs) vor. In CH spezifizieren Sie die Attribute, die auf jeden Fall gesetzt sein müssen (MustMatchAttrs). Beide Parameter, sowohl SearchAttrs als auch MustMatchAttrs, können eine Kombination (mit logischer UND-Verknüpfung bzw. einfacher Addition) aller gewünschten Werte sein.
 In den Registern DS:DX erwartet die Funktion die Adresse eines NULL-terminierten Strings in der Form SEGMENT:OFFSET. Der String spezifiziert den zu suchenden Datei- oder Verzeichnisnamen. Da die Funktion diese Zeichenkette überprüft, muß der Name ein gültiger Datei- oder Verzeichnisname sein. Dabei sind die Platzhalterzeichen "*" und "?" sowie lange Dateinamen erlaubt.
 In den Registern ES:DI wird die Adresse einer WIN32_FIND_DATA-Struktur in der Form SEGMENT: OFFSET hinterlegt. Diese Struktur empfängt die Informationen über die gefundene Datei. Ihren Aufbau ersehen Sie aus der Tabelle.
 Im SI-Register erwartet die Funktion "Find First File" schließlich den Parameter DateTimeFormat, der angibt, ob das MS-DOS-Zeit-Format
 DateTimeFormat = 1
 oder das 64-Bit-Zeitformat
 DateTimeFormat = 0
 verwendet wird.
 "Find First File" löscht bei erfolgreicher Operation das Carry-Flag und kopiert die Dateiinformationen in den angegebenen Puffer. Im AX-Register befindet sich dann ein Such-Handle, das Sie beim Aufruf von "Find Next File" verwenden. Das CX-Register gibt Aufschluß über den Erfolg bei der Konvertierung des Dateinamens aus dem Unicode-Zeichensatz:
 CX = 0: Konvertierung erfolgreich
 Schlägt "Find First File" fehl, ist das Carry-Flag gesetzt, und AX beherbergt einen Fehlercode:
 AX = 2: Datei nicht gefunden
 AX = 3: Pfad nicht gefunden
 Wollen Sie ganze Verzeichnisse auslesen, rufen Sie nach erfolgreichem "Find First File" die Folgefunktion "Find Next File" in einer Schleife auf. Sie übergeben dazu in den Registern BX das von "Find First File" gelieferte Such-Handle, in ES:DI einen Zeiger auf die WIN32_FIND_DATA-Struktur und in SI den Parameter DateTimeFormat.
 Nach Beendigung der Suchoperationen sollten Sie das Such-Handle per "Find Close"-Aufruf löschen, damit das System den beanspruchten Speicher wieder freigibt. "Find Close" erwartet außer dem Handle in BX keine weiteren Parameter.
 Das Demo-Programm "lfn_find.bas" (Listing in Databox 4/97) zeigt den richtigen Umgang mit den neuen Funktionen. Es läuft in PowerBasic ab Version 3.x und listet Dateien des aktuellen Verzeichnisses einschließlich Attribut und Länge in Byte auf. Durch Abändern der Parameter "MASK$", "mmAttr??" und "sAttr??" im Hauptprogramm testen Sie die unterschiedliche Filterwirkung.
 Gerhard Frey/pei
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 18:06


Langes Leben

Die Frage, wie lange wir leben, beantworten wenige Zeilen Basic.
 "herz.bas" (Listing in Databox 6/97) basiert auf einer Auswertung der medizinstatistischen Aufarbeitung der bekannten Framingham-Studie aus den USA, in der prospektiv über Jahrzehnte hinweg die Auswirkungen von Risikofaktoren für Herzerkrankungen untersucht wurden. Ausgehend von diesen in der medizinischen Fachliteratur veröffentlichten medizinstatistischen Aufarbeitungen errechnet "herz.bas" aus individuellen Risikofaktoren wie Blutdruck, Cholesterinspiegel, Rauchen, Alter und Geschlecht das Risiko, innerhalb eines bestimmten Zeitraumes an Herzinfarkt oder Gehirnschlag zu sterben.
 Außerdem kann das Programm die Lebenserwartung berechnen, also den Zeitraum, bis eine Gefäßerkrankung mit 50 Prozent Wahrscheinlichkeit eintritt. Die dazu angewandten Berechnungen basieren auf den Ergebnissen der in diesem Zusammenhang zuverlässigsten Studie. Im Orte Framingham im Nordosten der USA wurden 5573 Erwachsene während mehrerer Jahrzehnte regelmäßig medizinisch überwacht und ihre Diagnose-Werte sorgfältig erfaßt und ausgewertet. Diese Daten wurden mit den auftretenden Fällen von Herzinfarkt, Gehirnschlag und verwandten lebensbedrohlichen Herz- und Kreislauferkrankungen korreliert. Es ergab sich dadurch ein fundierter Zusammenhang zwischen den als Laborwerten meßbaren Risikofaktoren und dem Auftreten von Herz- und Kreislaufkrankheiten. Dieser Zusammenhang läßt sich in einer Weilbull-Verteilung mathematisch fassen und berechnen.
 Zunächst werden Alter N, Geschlecht FEM und die Laborparameter Blutdruck (systolisch, höherer Wert, und diastolisch, niedrigerer Wert) SBP und DBP, Cholesterin im Blut (gesamt CHO und High Density Cholesterol= HDL), Rauchverhalten SMO (Raucher, aufgegeben bis vor 1 Jahr=1, sonst=0) und Diabetes (Blutzucker) DIA (Diabetes-Status: Insulinpflichtig oder Blutzucker über 140ml/dl=1, sonst=0) eingegeben. Ist der Wert unsinnig hoch, so wird die Eingabeaufforderung wiederholt. Ist der Eingabewert 0 oder sehr klein, so errechnet das Programm einen altersabhängigen Durchschnittswert. Dadurch ermittelt "herz.bas" bei Eingabe von Nullen bei den Laborparametern auch einen alters- und geschlechtsspezifischen Durchschnittswert für die Infarktwahrscheinlichkeit.
 Der erste Schritt bestimmt aus diesen Eingaben die Werte M und A, wobei die Formel zur Errechnung von A vom Geschlecht FEM abhängt. Aus diesen beiden Werten gewinnen Sie die beiden Parameter der e-Funktion der Weilbull-Verteilung MU und RHO. Um den Einfluß des Rauchverhaltens im Ergebnis darzustellen, werden im Fall des Rauchers (SMO=1) diese beiden Parameter als MUNSMO und RHONSMO ein zweites Mal für den Fall errechnet, daß das Rauchen aufgegeben wird. Aus diesen Werten wird schließlich die Weilbull-Wahrscheinlichkeit U in Abhängigkeit von der verstrichenen Zeit t (Zeit ist im Programm der Schleifenzähler I) und daraus die Infarktwahrscheinlichkeit P (in %) gewonnen.
 Zum Schluß wird die Anzahl der Jahre (T1 bzw.TT für den Fall Aufgabe des Rauchens) für den Wahrscheinlichkeitswert P=50% für Infarkt und das zugehörige Alter N+T1 errechnet. Dieses wäre die Lebenserwartung nur unter Berücksichtigung von Herz- und Kreislaufkrankheiten, da 50 Prozent Infarktwahrscheinlichkeit der mittleren Lebensdauer entspricht (U= ln (ln(1/1-50%)))= -0,3665. Da in unserer Kultur Herz- und Kreislaufkrankheiten die bei weitem häufigste Todesursache sind, kann eine Infarktwahrscheinlichkeit 25 Prozent als Lebenserwartung angesehen werden. Diese Lebenserwartung berücksichtigt natürlich nicht die Risikofaktoren für Krebserkrankungen oder Unfälle, da deren Wahrscheinlichkeit als gleich groß wie die Wahrscheinlichkeiten für Herz- und Kreislaufkrankheiten angenommen wurde.
 Dr.Risch/et
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 18:06


Nachrichten verschlüsseln

Selbst wer lieber offen redet, sollte nicht allen alles zeigen.
 Mit "crypt.bas" (Listing in Databox 5/97) läßt sich schnell und unkompliziert eine kurze Mitteilung wie zum Beispiel eine E-Mail verschlüsseln. Sie starten das Programm, geben die Ausgabedatei an und tippen die Nachricht ein. Leider ist im Programm keine Fehlerkorrektur vorgesehen - die Backspace- oder Rückschritt-Taste funktioniert also nicht.
 Funktionsweise: Jeder Buchstabe wird abhängig von der Länge der Nachricht in eine bestimmte Zahl umgewandelt. Das Verfahren ist allerdings nicht so sicher, daß Sie damit Ihre Sparkassen-Geheimzahl dem Internet anvertrauen können. Doch vor den neugierigen Blicken eines Kollegen schützt die Verschlüsselung allemal.
 Mit "decrypt.bas" (Listing in Databox 5/97) entschlüsseln Sie dann die codierte Datei wieder und geben den decodierten Text in eine neue Datei aus. Auch dabei ist Vorsicht geboten: Alle Dateien, die bereits existieren, werden ohne Rückfrage überschrieben. Überlegen Sie sich also sorgfältig, ob Sie Ihre verschlüsselte Nachricht ganz "unauffällig" zum Beispiel als "win.com" speichern.
 Markus Eckstein/et

Verfasser: Andreas
Letzte Änderung: 2012-03-09 18:07


Neues zum Sierpinski-Sieb

Mit wenigen Programmzeilen dringen Sie tiefer in die fraktalen Geheimnisse ein.
 In Zeile 2 von "sier.bas" (Listing in Databox 2/97) können Sie mit der Variablen "Art" zwei Variationen des Sierpinski-Siebs bestimmen (siehe dazu Tip 39 in DOS 9'96, S. 152). Geben Sie dieser Variablen den Wert 1, setzt "sier.bas" das Sieb aus Dreiecken zusammen, mit dem Wert 2 aus Linien. Mit der Variablen "Wie" (Abkürzung für "wieviel") in Zeile 3 legen Sie die Anzahl der Generationen des Siebs fest. Die Variable "L" bestimmt die Größe der Grafik am Bildschirm. Nachdem die Zeilen 6 und 7 die Datenfelder für Koordinatenpunkte dimensioniert haben, berechnet "sier. bas" das Sieb mit For-next-Schleifen (Zeilen 8 bis 23).
 Je nach Belegung der Variablen "Art" verzweigt "sier.bas" von Zeile 10 in die entsprechenden Unterprogramme Sier1 oder Sier2, um die Grafikkoordinaten zu berechnen.
 - Im Programmabschnitt Sier1, Dreieck-Sieb, wiederholt sich folgende Vorgehensweise: Zur Zeichnung eines einzelnen Dreiecks speichert "sier.bas" lediglich einen Punkt als untere Dreiecksspitze. Daraus errechnet es in den Zeilen 28 die gleichseitigen Dreiecke, die sich aus Line-Befehlen (Zeilen 30 bis 32) zusammensetzen. Die Zeilen 33 bis 38 drehen Vektoren für die Dreiecksspitzen der nächsten Generation.
 - Der Programmabschnitt Sier2 gestaltet das Sieb auf ähnliche Weise mit Linien: Nachdem "sier.bas" in den Zeilen 41 bis 46 die Punkte der nächsten Generation berechnet hat, verbindet es die sich anschließenden Line-Befehle.
 Hain Michael/et

Verfasser: Andreas
Letzte Änderung: 2012-03-09 18:07


Rund- und Schrägschrift

So biegen Sie Schriftzüge zu einem Kreis und dehnen sie in beliebiger Schräglage.
 Das Rundschrift-Programm der Ausgabe 5'96, Seite 152, hat sich vielfach bewährt. Mit kleinen Modifikationen läßt es sich auch für senkrechte und schräge Buchstaben einsetzen. "rsschrif.bas" (Listing in Databox 5/97) generiert unter QBasic Rund-, Schräg- oder Senkrecht-Schrift.
 Bei der Rundschrift wird nach jedem Buchstaben der Winkel weitergeschaltet, bei der Schrägschrift der Buchstabenabstand (Zeile 23). Die Zeilen 35 und 36 berücksichtigen die je nach Winkel unterschiedlichen x- und y-Abstände für die Schrägschrift. Hierbei benutzt die Gleichung neben arithmetischen auch logische Operatoren. Die Steuerung zwischen R- und S-Schrift übernimmt die Variable R (Radius), R=0 für S-Schrift und R>0 für die R-Schrift.
 Die Zeilen 1 bis 12 definieren die Parameter und Konstanten und stellen den Bildschirm ein. Die Zeilen 13 bis 24 lesen die Zeichen, und 31 bis 40 schreiben die umgeformten Zeichen an die vorgegebene und berechnete
 Position. Die Zeilen 25 bis 30 fungieren als Steuerblock für die wechelnden Darstellungen, die Sie mit [Enter] abrufen.
 Heinz Biermann/et
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 18:08


Schneller Verzeichniswechsel

Mit einem Hilfsprogramm von Novell DOS wechseln Sie rasant zwischen Verzeichnissen.
 "fv.bat" (Listing in Databox 5/97) sorgt für schnelle Verzeichniswechsel. Wollen Sie zum Beispiel von
 c:\spiele
 nach
 c:\arbeit\verkauf
 springen, geben Sie nur "FV Ver" ein. Hinter dem FV-Befehl muß also lediglich eine Abkürzung mit mindestens einem Buchstaben stehen. Doch sollten Sie bedenken, daß manche Verzeichnisse mit den gleichen Buchstaben anfangen.
 Die Verzeichnisstruktur lesen Sie über den Parameter "/N" ein. Das sollten Sie immer tun, wenn Sie ein Verzeichnis gelöscht oder neu angelegt haben. FV kann pro Partition bis zu 2000 Verzeichnisse über Abkürzungen ansprechen.
 ,fv.bat" übermittelt die Parameter an "fvhaupt.bas" (Listing in Databox 5/97). Der Parameter, den Sie hinter "fv.bat" schreiben, leitet Zeile 3 mit dem Einleitungs-Symbol in die Datei "fv.inf", die immer im Stammverzeichnis steht. Die nächste Zeile ruft dann das Hauptprogramm auf. Dieses liest zuerst "fv.inf" aus und überprüft im nächsten Schritt, ob sie mit "/n" übereinstimmt. Wenn ja, startet das Programm "tree.com" mit dem Parameter "/b >fv.tre", um die Verzeichnisstruktur des aktuellen Laufwerks einzulesen und sie in der Datei "fv.tre" im Stammverzeichnis des aktuellen Laufwerks abzulegen. Wenn der hinter FV angegebene Parameter anders lautet, liest das Programm die Datei "fv.tre" aus.
 Als nächstes wird die Länge des Parameters gemessen. Dann kommt der erste Eintrag aus "fv.tre" dran. Davon wird der Teil, der rechts neben dem letzten Backslash steht, in eine weitere Variable gelegt. Ist dieser kleiner als ihr Parameter, so wird der nächste Eintrag genommen, und es geht von vorn los. Falls ihr Parameter länger ist, werden so viele Buchstaben von links in eine neue Variable gelegt, wie ihr Parameter lang ist. Ist diese neu entstandene Variable mit dem Parameter gleich, so wird der entsprechende Eintrag aus "fv.tre" genommen, und es findet ein Wechsel in das entsprechende Verzeichnis statt. Falls sie nicht übereinstimmen, ist der nächste Eintrag aus "fv.tre" an der Reihe, und es geht erneut von vorn los.
 Das Programm ist so geschrieben, daß Sie "tree.com" von Novell DOS 7 brauchen, da diese Datei den /B-Parameter zur Verfügung stellt. "fvhaupt.exe" und "fv.bat" müssen durch Pfadverweise zugänglich sein.
 P. M. Fischer/et
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 18:08


Schreckensmeldung

Mit der Drohung "Formatiere Festplatte" erschreckt das Scherzprogramm den unbedarften Anwender.
 "format1.bas" (Listing in Databox 1/97) meint es nicht so ernst, wie es die Print-Anweisungen auf Ihren Bildschirm schreiben. Die Festplattenzugriffe, die Sie wahrnehmen, verursacht zu Ihrer Erleichterung nur der CHKDSK-Befehl. Doch ein gewisses Schaudern bleibt nicht aus.
 Sven Braun/et

Verfasser: Andreas
Letzte Änderung: 2012-03-09 18:09


Tausendundeine Nacht - gefangen beim Sultan

Ein Basic-Programm löst ein kniffliges Märchenrätsel.
 Es war einmal ein Sultan namens Dodon. Der nahm bei einem Streifzug 100 Feinde gefangen. Diese sperrte er in Einzelzellen. Alle Zellenschlösser konnte man mit einem Schlüssel öffnen, den der Sultan unter sein Kopfkissen legte. Wurde dieser Schlüssel im Schloß einmal umgedreht, ließ sich die Tür öffnen. Nach nochmaligem Umdrehen war die Tür wieder verschlossen.
 An seinem Geburtstag wollte der Sultan die Gefangenen freilassen. Deshalb schickte er am Tage zuvor einen Boten, der an allen Zellentüren den Schlüssel umdrehte. Nun waren alle Zellen offen. Doch bevor der Geburtstag des Sultans angebrochen war, sperrten die Wachen noch den Ausgang.
 Nachdem der Bote den Schlüssel zurückgebracht hatte, entschied Dodon sich jedoch anders. Er schickte einen zweiten Boten, der den Schlüssel in jedem zweiten Zellenschloß noch einmal umdrehen
 sollte. Danach wurde ein dritter Bote gesandt, der den Schlüssel in jedem dritten Schloß umdrehte, dann ein vierter etc. Genau so machten es alle weiteren Boten des Märchensultans bis zum 100., der den Schlüssel nur in der 100. Zelle umdrehte.
 Endlich brach der Geburtstag des Sultans an. Die Wache wurde entlassen, und alle Gefangenen, die in offenen Zellen saßen, waren frei. Welche waren es?
 Die Lösung der Aufgabe ermittelt "dodon.bas" (Listing in Databox 5/97) auf recht unterhaltsame Art. Für die einzelnen Zellen steht das Datenfeld Zelle(). Ist eine Zelle geschlossen, so erhält die entsprechende Zellenvariable den Wert 0.
 Mit der Belegungszahl 1 wurde die Zelle vom Boten geöffnet (Zeilen 28 und 29). Mit Druck auf eine beliebige Taste schicken
 Sie einen Boten los. Die Nummer des Boten gibt Ihr Rechner über den Gefängniszellen auf Ihrem Bildschirm aus.
 Hain Michael/et

Verfasser: Andreas
Letzte Änderung: 2012-03-09 18:09


Text-Compiler mit Scrollfunktion

Mit einem Basic-Listing und dem Copy-Befehl werden Textdateien selbständig.
 In PowerBasic 3.1 schreiben Sie den Text-Compiler "texe.bas" (Listing in Databox 4/97). Damit wandeln Sie ASCII-Dateien in ausführbare Programme um, die Sie dann ohne spezielle Viewer am Bildschirm betrachten können. Den Text scrollen Sie frei in alle Richtungen. So lesen Sie auch Textzeilen mit mehr als 80 Zeichen. Mit [Esc] gelangen Sie wieder zur Kommandozeile.
 Die Arbeitsweise ist schnell erklärt: Zuerst fügen Sie den ASCII-Text an das Kompilat "texe.exe" an. Beim Start ermittelt das Programm seinen Pfad und Namen, öffnet seine Programmdatei und liest den ASCII-Text in ein Array ein, das Platz für maximal 10000 Zeilen bietet. Ab welcher Dateiposition der Programmcode aufhört und der eigentliche Text beginnt, steht in Zeile 4. Bei Veränderungen am Quelltext passen Sie diese Zahl einfach an die tatsächliche Länge des Kompilats an, damit das Programm ordnungsgemäß arbeitet.
 Nachdem Sie "text.bas" mit
 pbc texe
 kompiliert haben, kopieren Sie den Programmcode mit dem Befehl
 copy /b texe.exe + readme.txt readme.exe
 vor eine Textdatei (hier "readme.txt") und speichern das Ergebnis als ausführbare EXE-Datei, zum Beispiel als "readme.exe". Ein einfacher Aufruf von
 readme
 bringt nun den Text zur Anzeige.
 Dieter Folger/pei

Verfasser: Andreas
Letzte Änderung: 2012-03-09 18:10


Wechselnde Win-Bilder

Starten Sie Windows mit wechselnden Bildern, die Ihnen als BMP-Grafiken vorliegen.
 "win.bas" (Listing in Databox 3/97) zeigt Ihnen unter Windows 3.11 und 95 bei jedem Start ein anderes Hintergrundbild. Zur Vorbereitung:
 1. Benennen Sie die Datei "win.com" im Windows-Verzeichnis in "win2.com" um. Passen Sie den Verzeichnisnamen Ihrem System an (Zeile 3).
 2. Kopieren Sie "win.exe" ins Windows-Verzeichnis. Wenn Sie keinen Compiler besitzen, rufen Sie QBasic auf mit
 qbasic/run win.bas
 3. Bearbeiten Sie das Beispiel "hintergr.dat" (Listing in Databox 3/97) in Ihrem Windows-Verzeichnis, wobei Sie Pfad- und Dateinamen Ihrem Systen anpassen.
 4. Der Eintrag [ANZAHL] stimmt mit der Bildanzahl überein. Der Wert von [Position] als Zeiger auf die vorige Position muß kleiner sein als der Wert von [ANZAHL]. Melden Sie als Hintergrundbild "hintergr.bmp" (Zeile 16) an.
 5. Nach dem Neustart rufen Sie Windows wie gewohnt mit "win" auf. Nachdem Sie alle Schritte ausgeführt haben, starten Sie den Computer neu.
 Das Programm wurde nicht in Verbindung mit der Option
 BOOTGUI=1
 in der "msdos.sys" getestet. Außerdem müssen Sie beachten: Wenn Sie unter Windows 95 die Option "Windows herunterfahren" wählen, müssen Sie auf die gewohnte Meldung
 Sie können ihren Computer jetzt ausschalten
 verzichten. Statt dessen landen Sie am DOS-Prompt.
 Dominik Appl/et

Verfasser: Andreas
Letzte Änderung: 2012-03-09 18:10


Zahlenrad-Aufgaben

Eine Denksportaufgabe der Arithmetik lösen Sie mit dem PC schneller.
 Oftmals finden Sie in Illustrierten die sogenannten "Zahlenrad-Aufgaben" im Rätselteil. Es geht darum, sechs einfache, ringförmig angeordnete Rechenaufgaben nacheinander zu lösen, um auf ein vorgegebenes Endergebnis zu kommen. Es gilt nun, durch Ausprobieren herauszufinden, mit welcher Startzahl (1 bis 9), mit welcher Aufgabe und in welcher Richtung (links- oder rechtsherum) man anfangen muß.
 Mit "zrad.bas" (Listing in Databox 3/97) lösen Sie nun beliebige Aufgaben dieser Art. Der Computer erledigt die ganze Arbeit, indem er ganz einfach iterativ, durch mehrere ineinander verschachtelte Schleifen, jede erdenkliche Kombination durchprobiert ("erschöpfende Suche"). Dieser Vorgang bricht nach einer Lösung nicht ab. So testen Sie, ob eine Aufgabe mehrere Lösungen hat.
 Um das Listing kurzzuhalten, verzichtet es auf eine Eingabe zur Laufzeit. Sämtliche Daten müssen Sie daher vor dem Programmstart in die betreffenden Konstanten und Variablen eintragen (Zeilen 15 bis 25). Anhand des vorgegebenen Beispiels (Zeilen 3 bis 8) und der Namen aller relevanten Bezeichner ist dies jedoch recht einfach.
 Das Zahlenrad unterliegt folgenden Regeln: Wählen Sie die richtige Zahl von 1 bis 9 für den Start. Mit ihr sollen Sie sechs Rechenaufgaben hintereinander links- oder rechtsherum abarbeiten, um auf das gesuchte Endergebnis von 90 zu kommen. An welcher Stelle müssen Sie anfangen? Welche Richtung ist korrekt?
 Michael Beyher/et

Verfasser: Andreas
Letzte Änderung: 2012-03-09 18:11


Zeitansage

Mit einem kleinen Programm setzen Sie Ihr Modem als Uhr ein.
 "zeit.bas" (Listing in Databox 1/97) dient zum Abruf von "Zeitansagediensten". Diese Dienste liefern einen bestimmten Zahlenstring.
 Das Modem läßt sich mit "zeit.bas" vollständig menügesteuert konfigurieren. Das Programm speichert die Konfiguration in der Zeit-Datei. Nach dem Programmstart geben Sie die gewünschte Modemkonfiguration ein. Mit [Esc] übernehmen Sie die Initialisierung der Konfigurationsdatei. Änderungen daran werden vom Programm gespeichert. Weiterhin starten Sie via [Esc] die Kommunikation. Die erste ankommende Zahl ist die Zeit vor der "Aktualisierung", die zweite die "neue" Zeit. Der String, den die Zeitansage sendet, sieht ungefähr so aus:
 1996-07-30 23:23:10 MESZ
 23121210270319960730212350294+
 20000504MEZ=CET=UTC+1h*
 Da das Datum nicht den Anforderungen der Basic-Uhr entspricht, müssen Sie es zuerst umformen. Die Tabelle (PC Magazin 1/97, Seite 212) erklärt die wichtigsten Zeilen und Variablen.
 Die Datei "Zeit" muß im aktuellen Verzeichnis stehen. Sie enthält zumindest eine Zeichenkette in Anführungszeichen wie: "atdp".
 Johannes Winter/et
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 18:11


Zufällige Dateierweiterungen

Eindeutige Dateierweiterungen oder auch ganze Dateinamen vergeben Sie per Programm.
 "unique.bas" (Listing in Databox 2/97) legt Dateinamen an, deren Erweiterungen der Zufall wählt. "unique2.bas" (Listing in Databox 2/97) setzt die vollständigen Dateinamen per Zufall zusammen.
 Andree Huk/et

Verfasser: Andreas
Letzte Änderung: 2012-03-09 18:12


Computer » Programmierung » ASM

Schutz vor dem Format-Befehl

Mit einem generellen Schreibschutz auf dem Datenträger starten Sie sorglos fremde Programme.
 Das Hilfsprogramm "schutz.asm" (Listing in Databox 5/97) bietet einen temporären Schutz gegen das Formatieren der Festplatte, gegen das versehentliche Löschen von Dateien sowie gegen bösartige Trojanische Pferde und andere Viren. So können Sie ohne Risiko neue, unbekannte Software auf Ihrem Rechner nutzen. Die beste Vorsorge bleibt nach wie vor allerdings das regelmäßige Backup.
 "schutz.asm" legt einen generellen Schreibschutz auf jedes Laufwerk. Statt einer Fehler- wird dem löschenden Programm/dem Virus eine Erfolgsmeldung zurückgegeben. Wenn Sie jetzt eine Datei löschen, scheint sie tatsächlich verschwunden zu sein. Viren scheinen sich an EXE-/COM-Dateien anzuhängen. Sobald Sie einen Disk-Reset durchgeführt haben - etwa nach einem Kaltstart - ist alles wieder in Ordnung.
 Georg Fischer/et

Verfasser: Andreas
Letzte Änderung: 2012-03-09 17:50


Computer » Programmierung » Delphi

Abmessung der Taskbar

Um zu wissen, welchen Platz der freie Desktop einnimmt, müssen Sie die Abmessungen der Taskbar kennen.
 Wenn Sie ein Fenster manuell richtig auf dem Desktop platzieren möchten, müssen Sie die Abmessungen der Task-bar kennen. Mit dem Befehl FindWindow ermitteln Sie das Handle, welches jedes Windows-Control eindeutig identifiziert. Die Funktion GetWindowRect erschließt die Dimensionen der Taskbar. Als Parameter erwartet die Funktion das Handle des Controls und eine Variable vom Typ TRect, der Sie per Call by reference den Wert übergeben. Die einzelnen Dimensionen fragen Sie über die Eigenschaften Left, Right, Top und Bottom ab. Der zurückgegebene Wert zeigt, dass die Taskbar einige Pixel über den Bildschirmrand hinausragt.

Verfasser: Andreas
Letzte Änderung: 2012-03-09 18:15


Affengriff ohne Wirkung

Mit einer Funktion aus der Kernel-DLL verstecken Sie ein Programm vor der Liste mit allen laufenden Anwendungen, die Sie mit [Strg-Alt-Entf]aufrufen.
 Manche Programme erscheinen nicht im Taskmanager von Windows, den Sie mit der Tastenkombination [Strg-Alt-Entf] aufrufen. Es gehört zum Standard, dass sich dort eine laufende Anwendung einträgt. Wenn Sie die Anwendung beenden, trägt diese sich wieder aus. Dies geschieht über die von der Kernel-DLL (Kernel32.dll) importierten Funktion RegisterServiceProcess(). Diese erwartet als Parameter die Programm-ID (eindeutige Kennzeichnung der Anwendung im Programm) und die Art der Registrierung:
 1 Registrierung entfernen,
 0 Registrieren erwartet.
 Um die ID der Anwendung zu bekommen, benutzen Sie die Funktion Get-CurrentProcessId() aus dem Kernel. Um die Anwendung vor dem Taskmanager zu verstecken, genügt folgender Aufruf:
 RegisterServiceProcess
 (GetCurrentProcessID, 1);
 Wenn Sie die Anwendung wieder registrieren und anzeigen wollen, geben Sie ein:
 RegisterServiceProcess
 (GetCurrentProcessID, 0);

Verfasser: Andreas
Letzte Änderung: 2012-03-09 18:16


Aktuelle Seite im Webbrowser

Falls Sie in Ihrer Delphi-Anwendung wissen wollen, welche Website der Webbrowser aktuell anzeigt, nutzen Sie die DDE-Schnittstelle.
 Über die DDE-Schnittstelle erfahren Sie neben der aktuellen Adresse auch den Seitentitel, so dass Sie die Seite z.B. in einer Datenbank speichern können.
 procedure TForm1.Button1Click
 (Sender: TObject);
 var
 DDELink : TDDEClientConv;
 begin
 DDELink := TDDEClientConv.
 create(self);
 if DDELink.setLink(
 'IExplore',
 'WWW_GetWindowInfo')
 then memo1.lines.add(
 ELink.RequestData(
 '0xFFFFFFFF,sURL,sTitle'))
 else memo1.lines.add('Kein
 IExplorer gefunden!');
 DDELink.Free;
 DDELink := nil;
 end;
 Dieses Verfahren funktioniert auch mit Netscape. Ersetzen Sie den String IExplore einfach gegen Netscape. Allerdings hat das DDE-Verfahren einen kleinen Nachteil: sind mehrere Fenster des Browsers offen, können Sie nicht gezielt eine URL aus dem Browser abrufen. Sie erhalten in diesem Fall Informationen aus dem Browser der zuletzt benutzt wurde.

Verfasser: Andreas
Letzte Änderung: 2012-03-09 18:16


Algorithmus zur Verschlüsselung

Zeichenketten lassen sich auf einfache Art verschlüsseln.
 Damit Unbefugte Ihre gehei-men Texte nicht ausforschen können, verschlüsseln Sie Ihre Eingaben. Wenn Sie dazu nicht das größere Programm PGP verwenden wollen, verschlüsselt ein Delphi-Algorithmus aus wenigen Zeilen Ihre Texte. Dazu greifen Sie auf die Komponente TEncryption zu, die Sie in folgenden Code einbinden:
 begin
 Randomize;
 offset:=Random(Range);
 dest:=format('%1.2x',
 [offset]);
 for SrcPos := 1
 to Length(Src) do
 begin
 SrcAsc:=(Ord(Src[SrcPos])
 + offset) MOD 255;
 if KeyPos < KeyLen then KeyPos:=
 KeyPos + 1 else KeyPos:=1;
 SrcAsc:= SrcAsc xor Ord
 (Key[KeyPos]);
 dest:=dest + format
 ('%1.2x',[SrcAsc]);
 offset:=SrcAsc;
 end;
 Die Zeichenkette, die Sie als Passwort eingeben, erzeugt Zufallszahlen, mit denen Sie den Text übersetzen. Mit folgendem Code machen Sie das so entstandene Zeichenwirrwarr wieder lesbar:
 offset:=StrToInt('$'+ copy
 (src,1,2));
 SrcPos:=3;
 repeat
 SrcAsc:=StrToInt('$'+ copy
 (src,SrcPos,2));
 if KeyPos < KeyLen Then KeyPos
 := KeyPos + 1 else KeyPos := 1;
 TmpSrcAsc := SrcAsc xor Ord
 (Key[KeyPos]);
 if TmpSrcAsc <= offset then
 TmpSrcAsc:=255+
 TmpSrcAsc - offset
 else
 TmpSrcAsc := TmpSrcAsc - offset;
 dest := dest + chr(TmpSrcAsc);
 offset:=srcAsc;
 SrcPos:=SrcPos + 2;
 until SrcPos >= Length(Src);
 Das Passwort dient dabei wiederum als Schlüssel.
 Ein Beispielprogramm finden Sie auf der Heft-CD
 unter ...Encryption/Project1.exe.

Verfasser: Andreas
Letzte Änderung: 2012-03-09 18:17


Alias zur Laufzeit anlegen

Ein Beispielprogramm zeigt, wie Sie möglichst eindeutige Alias-Namen anlegen.
 Bei Datenbankprogrammen kann es vorkommen, daß ein Alias-Name bereits existiert, aber auf ganz andere Daten verweist. Um diese Fehlerquelle zu umgehen, sollten Sie bei der Installation oder zumindest beim ersten Start prüfen, ob der Alias schon vorhanden ist. Wenn ja, sollten Sie einen anderen anlegen. Das Programm kann das Feld DatabaseName während der Laufzeit richtig setzen und öffnet erst dann die Tabellen.
 "make_al.pas" (Listing in Databox 8/97) verwendet die String-Liste dazu, notwendige Parameter für die Anlage eines Alias bereitzustellen. Das Beispiel legt nach einer erfolgreichen Überprüfung, ob der Alias schon existiert, einen globalen Interbase-Alias an. Über SaveConfigFile speichern Sie die geänderte Datei "idapi32.cfg".
 Wollen Sie nur einen Alias auf Paradox-Tabellen anlegen, sind nur wenige Schritte notwendig:
 Session.ConfigMode := cmAll;
 Session.AddStandardAlias('ALIASNAME','c:\paradox','PARADOX');
 Session.SaveConfigFile;
 Auch hier sollten Sie vorab prüfen, ob der Alias-Name nicht bereits existiert.
 et

Verfasser: Andreas
Letzte Änderung: 2012-03-09 18:18


Alias-Abfrage

Lassen Sie sich die verschiedenen Alias-Typen als String-Liste am Bildschirm anzeigen.
 Alle eingetragenen Alias-Namen zu erfahren, ist mit der nicht-visuellen Komponente TSession denkbar einfach. Sobald Sie unter Delphi eine Datenbankkomponente auf der Form plazieren, erzeugt Delphi automatisch eine Session-Instanz vom Typ TSession. Diese Komponente erlaubt es Ihnen unter anderem, alle Alias-Namen in eine TStringList einzufügen. Die Konsolenapplikation "konsol.pas" (Listing in Databox 8/97) liest sie in eine String-Liste ein und gibt diese am Bildschirm aus.
 Die Eigenschaft ConfigMode bestimmen Sie mit folgenden Werten:
 - Die Property ConfigMode legt fest, welche Alias-Namen berücksichtigt werden. Das gilt sowohl für das Erfragen als auch das Anlegen von Alias-Einträgen.
 - CmPersistent sorgt dafür, daß Delphi Alias-Namen global hinzufügt, womit sie systemweit gelten. Das Auslesen liefert nur globale Alias-Namen.
 - CmSession hingegen fügt Alias-Namen nur lokal ein. Damit gelten sie also nur für diese Applikation, werden also nicht gespeichert. Das Auslesen liefert nur lokale Alias-Namen.
 - CmAll fügt Alias-Namen global hinzu, so daß sie systemweit gelten. Das Auslesen liefert sowohl lokale als auch globale Alias-Namen.
 Die Prozedur GetAliasNames füllt die String-Liste AllAlias mit allen dem BDE bekannten Alias-Namen, die Sie daraufhin in der For-Schleife am Bildschirm sehen. Das ReadLn ist notwendig, damit das Programmfenster nach der letzten Zeile am Bildschirm stehen bleibt. Andernfalls würde es sofort wieder geschlossen werden, was die Lesbarkeit nicht gerade erhöht.
 HINWEIS: Auch wenn Konsolenapplikationen wie DOS-Anwendungen aussehen, in denen Sie mit Write und Read arbeiten und die Sie sogar direkt aus einem DOS-Fenster starten können, sind sie doch vollwertige 32-Bit-Windows-Programme mit nahezu allem Komfort, nur eben ohne das typische Windows-Fenster.
 et

Verfasser: Andreas
Letzte Änderung: 2012-03-09 18:18


Animierte Mauszeiger

Mit diesem Trick bereichern Sie Ihr Programm um animierte Cursor.
 In einigen Programmen auch Spielen findet sich statt des normalen Windows-Mauszeigers ein eigener animierter Cursor. Um diesen in Ihrer Anwendung einzubinden, bauen Sie ihn ins Array von Screen.Cursors ein. In diesem Array sind alle Mauszeiger Ihrer Anwendung enthalten. Dazu geben Sie ein: Screen.Cursors[Cursor_1] :=
 LoadCursorFromFile
 ('C:\AniCursor.ani');
 Cursor_1 enthält als Konstante die Zahl, um den Cursor anzusprechen. Um den Cursor zu aktivieren, geben Sie ein:
 Screen.Cursor := Cursor_1;
 Um den Cursor zur ursprünglichen Form zurückzusetzen, genügt der folgende Aufruf:
 Screen.Cursor := crDefault;
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 18:22


Anzahl der verfügbaren Farben

Zur Farbanpassung per Programm müssen Sie die Farbtiefe kennen.
 Besonders bei grafisch orientierten Programmen ist es notwendig zu wissen, wie hoch die Farbtiefe ist. Davon abhängig passen Sie die Bildschirmausgabe per Programm an.
 Folgender Aufruf übergibt an die Variable NumBits die Anzahl der Bits, die für die Farbdarstellung eines Pixel notwendig sind:
 NumBit:=GetDeviceCaps(Canvas.Handle, BitsPixel)*GetDeviceCaps(Canvas.Handle,Planes);
 Die in Delphi 3 enthaltene Funktion Power ergibt direkt die Farbanzahl:
 Farben:= POWER(2,NumBits);
 Für die Funktion Power binden Sie die Unit Math ein.

Verfasser: Andreas
Letzte Änderung: 2012-03-09 18:23


ASCII konvertieren

Mit Hilfe der PlainText-Eigenschaft konvertieren Sie ASCII-Dateien in das rtf-Format.
 Word kann es, StarOffice auch. Aber wie wandeln Sie in eigenen Anwendungen unformatierten Text in das Rich-Text-Format um? Dabei hilft Ihnen die Eigenschaft PlainText des mit Delphi 2 eingeführten TRichEdit-Steuerelements. Wollen Sie beispielsweise die Datei test.asc aus dem ASCII-Format in die Datei test.rtf überführen, so lauten die Codezeilen:
 with RichEdit1 do begin
 PlainText:=True;
 Lines.LoadFromFile('test.asc');
 PlainText:=False;
 Lines.SaveToFile('test.rtf');
 end;

Verfasser: Andreas
Letzte Änderung: 2012-03-09 18:23


Auf dem Desktop malen

So greifen Sie direkt auf den Desktop zu und malen oder lassen Sprites wandern.
 Viele Bildschirmschoner und Spaßprogramme malen auf Ihrem Desktop herum. Andere lassen Fliegen oder Lämmer zwischen den Windows-Fenstern her-umtollen. Das können Sie auch: Machen Sie den Desktop zu Ihrer Delphi-Zei-chenfläche (Canvas). Dazu deklarieren Sie im Public-Abschnitt Ihres Fensters eine Variable, die Sie stellvertretend für den Desktop verwenden:
 public
 DeskTop : TCanvas ;
 Im OnCreate-Ereignis des Formulars erzeugen Sie eine TCanvas-Instanz und verknüpfen sie mit dem Desktop des Systems:
 procedure TForm1.FormCreate
 (Sender: TObject);
 begin
 DeskTop := TCanvas.Create ;
 Desktop.Handle := GetWindowDC
 (GetDesktopWindow);
 end;
 Nun haben Sie Zugriff auf Desktop wie auf alle anderen Zeichenflächen. Wollen Sie etwa einen Teil des Desktops in eine PaintBox kopieren, gelingt das mit
 with PaintBox1.Canvas do
 CopyRect (Rect(0,0,200,200),
 DeskTop,
 Rect (0,0,200,200))
 Um direkt auf den Desktop zu malen, bringt eine Schleife wie
 With Desktop Do
 For I := 1 To 100 Do Begin
 Brush.Color:=RGB(Random($FFFF),
 Random($FFFF), Random($FFFF));
 Desktop.Ellipse(random(2000),
 Random(1000), Random(2000),
 Random(1000));
 End;
 jeden Benutzer zum Wahnsinn (Ellipsen von zufälliger Größe und Farbe).

Verfasser: Andreas
Letzte Änderung: 2012-03-09 18:24


Auf den Desktop zeichnen

Dieser Tipp zeigt, wie Sie grafische Ausgaben direkt auf den Desktop zeichnen.
 Über den Gerätekontext des Desktops können Sie direkt auf diesen zeichnen. Nutzen Sie dabei alle GDI-Befehle in Form des TCanvas-Objekts. Sie ermitteln den Gerätekontext mit der Funktion GetDC. Übergeben Sie bei Ihrem Aufruf den Parameter 0, wird das Gerätekontext-Handle des Desktops als Ergebnis zurückgegeben. Die Variable, der das Ergebnis übergeben wird, sollte vom Typ HDC sein. Zusätzlich brauchen Sie ein TCanvas-Objekt, um damit zeichnen zu können. Die TCanvas-Instanz verknüpfen Sie mit dem Gerätekontext, indem Sie der Eigenschaft Handle des Objekts das ermittelte Desktop-Handle zuweisen:
 var
 h: HDC;
 c: TCanvas;
 begin
 h := getDC(0);
 c:=TCanvas.Create;
 try
 c.Handle:=h;
 c.Pen.Color:=clRed;
 c.Brush.Color:=clGreen;
 c.Rectangle(100, 100, 200,
 200);
 finally
 c.Free;
 ReleaseDC(0,h);
 end;
 end;
 Geben Sie die TCanvas-Instanz über die Routine Free frei und den reservierten Gerätekontext mit der Funktion ReleaseDC. Die Funktion erwartet die Parameter für ein Fenster-Handle und den Gerätekontext. Das Fenster-Handle ist der Desktop mit dem Wert 0. Nun übergeben Sie den Gerätekontext der Variablen h. Rufen Sie Canvas-Methoden wie die Prozeduren Ellpise oder Textout auf. Die Pinsel-Eigenschaften ändern Sie mit den Pen-Properties, die Hintergrundfarbe über die Eigenschaft Brush. Das Beispiel zeichnet ein Rechteck mit den Eckpunkten 100/100 (oben links) und 200/200. Füllen Sie es mit grüner Farbe:
 c.Brush.Color:=clGreen;
 Die Rahmenfarbe setzen Sie mit clRed.

Verfasser: Andreas
Letzte Änderung: 2012-03-09 18:24


Aus Taskleiste ausblenden

So erreichen Sie, dass Ihr Programm sich in der Taskleiste nicht verrät.
 Ein verborgenes Programm ist sinnvoll, wenn es automatisch abläuft. Zum Ein- und Ausblenden benötigen Sie lediglich zwei Funktionen:
 procedure TForm1.Button1Click(
 Sender: TObject);
 begin
 showWindow(application.handle,
 sw_show);
 end;
 procedure TForm1.Button2Click(
 Sender: TObject);
 begin
 showWindow(application.handle,
 sw_hide);
 end;
 Delphi-Programme laufen in einem unsichtbaren Fenster, dessen Handle Sie über die Eigenschaft Application.handle ansprechen. Wenn Sie das unsichtbare Hauptfenster ausblenden, verschwindet gleichzeitig das Icon aus der Taskleiste. Wenn Sie nun das Fenster minimieren, lässt es sich nicht wieder einblenden. Das unsichtbare Fenster können Sie anzeigen lassen, wenn Sie als zweiten Parameter der sendmessage-Funktion sw_maximize eingeben.
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 18:25


Ausbrechende Exceptions

Dem Stillstand bei Exceptions können Sie abhelfen.
 Ist es Ihnen auch schon einmal so gegangen: Sie haben einen Try-Block geschrieben, alle Exceptions behandelt, und trotzdem hält das Programm in der Entwicklungsumgebung jedesmal an? Eine Zeit hektischer Suche beginnt, und vielleicht versuchen Sie einmal, Ihre Applikation außerhalb des IDE zu starten. Interessanterweise funktioniert dann alles wie erwartet, aber warum?
 Delphi bietet aus Sicherheitsgründen die Option, alle ausgelösten Exceptions in der Entwicklungsumgebung an den Benutzer weiterzugeben. Diese Einstellung namens "Bei Exceptions anhalten" (,Break on exception") finden Sie im Dialogfenster
 Vorgaben - Tools - Optionen
 Befindet sich an dieser Stelle ein Haken, wird Delphi bei Exceptions immer anhalten.
 et
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 18:26


Autocomplete

So nutzen Sie die nützliche Eigenschaft autocompleteder aktuellen Delphi-6-Version aus der Komponente tComboBox.
 Ebenso wie im Internet Explorer sucht die Combobox bei jedem Tastenanschlag, ob der einzugebende String vielleicht schon in der Liste items vorhanden ist. Wird der String dort gefunden, schlägt die Combobox den Rest des Strings vor. Während sich Delphi 6 Besitzer entspannt zurücklehnen, nachdem sie die Eigenschaft autocomplete auf true gesetzt haben, müssen Besitzer anderer Delphi Versionen noch ein paar Zeilen Code ergänzen, um das gleiche Verhalten nachzubilden. Die automatische Ergänzung soll jedoch nur dann stattfinden, wenn der Benutzer nicht zuvor aus der Eingabezeile gelöscht hat. Daher speichern Sie den letzten Tastaturcode in der Variablen tag der Combobox:
 procedure
 TForm1.ComboBox1KeyDown
 (Sender: TObject; var Key:
 Word; Shift: TShiftState);
 begin
 combobox1.tag := Key;
 end;
 Nachfolgend sehen Sie das Verhalten der Behandlungsroutine onChange der Combobox, in der die Autovervollständigung durchgeführt wird. Zuerst prüfen Sie, ob der Benutzer die Backspace-Taste gedrückt hat und verlassen die Methode, falls dies der Fall ist.
 procedure
 TForm1.ComboBox1Change(
 Sender: TObject);
 var
 needle : String;
 idx : Integer;
 Begin
 {$ifndef ver140}
 needle := combobox1.Text;
 if combobox1.tag = vk_back
 then
 Begin
 combobox1.tag := 0;
 Exit;
 end;
 combobox1.tag := 0;
 Im nächsten Schritt überprüfen Sie, ob der eingegebene Text mit einem der vorhandenen Einträge teilweise übereinstimmt. Dazu nutzen Sie die Methode comboBox1.perform. Wenn diese eine teilweise Übereinstimmung zurückliefert, setzen Sie die Eigenschaft Text auf den Wert des gefundenen Eintrags.
 idx := combobox1.Perform
 (CB_FINDSTRING, -1,
 LongInt
 (pChar(needle)));
 if idx > CB_ERR
 then
 Begin
 combobox1.ItemIndex := idx;
 Abschließend stellen Sie den Eingabe-Cursor wieder an die Stelle zurück, wo er sich befand, bevor der komplette Text eingetragen wurde. Den ergänzten Text markieren Sie durch Setzen der Eigenschaft combobox1.sellengt, so dass der Text automatisch gelöscht wird, falls der Benutzer weiterhin Buchstaben eingibt.
 combobox1.SelStart :=
 Length(needle);
 combobox1.SelLength :=
 (Length(combobox1.Text) -
 Length(needle));
 end;
 {$else}
 [...]
 {$endif}
 end;

Verfasser: Andreas
Letzte Änderung: 2012-03-09 18:26


Backslash - vorhanden oder nicht?

Wenn Sie in Ihrer Delphi-Anwendung mit Verzeichnissen arbeiten, brauchen Sie den Rückstrich (Backslash).
 Häufig tritt das Problem auf, daß der Backslash am Ende eines Pfades fehlt. Sie wissen bei programmgesteuerten Aktionen nicht genau, ob er an dieser Stelle schon vorhanden ist oder noch fehlt. Die folgende Routine fügt den Backslash zu einem Pfad hinzu oder entfernt ihn gegebenfalls. Sie brauchen sich dabei nicht darum zu kümmern, ob er schon vorhanden ist oder nicht. Die Prozedur benötigt zwei Parameter. Der Parameter Dir stellt das Verzeichnis dar. Die Variable Action hat beim Hinzufügen eines Backslashs den Wert _ADD und beim Entfernen den Wert _REMOVE.
 type
 
 BackSlashAction=(_ADD,_REMOVE);
 function BackSlash(Dir: string;
 Action:BackSlashAction):string;
 begin
 case Action of
 _ADD:
 
 begin
 if Copy(Dir,Length(Dir),1)
 = '\' then
 Result := Dir
 else
 Result := Dir + '\'
 end;
 _REMOVE:
 
 begin
 if Copy(Dir, Length(Dir), 1)
 = '\' then
 Result:=
 Copy(Dir,1,Length(Dir)-1)
 else Result := Dir;
 end;
 end;
 end;
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 18:27


BDE installiert?

Eine fehlende Borland Database Engine verursacht den Absturz einer Datenbank-Applikation.
 Lassen Sie ein Delphi-Programm, das Datenbanken verwendet, auf einem PC laufen, auf dem die Borland Database Engine nicht installiert ist, stürzt es ab. Wollen Sie prüfen, ob die Engine installiert ist, ermitteln Sie zunächst den Pfad. Dieser befindet sich für die 16-Bit-Variante in der Datei win.ini im Abschnitt [IDAPI]. Unter dem Eintrag Config-File01 erfahren Sie den Namen und den Ort der Konfigurationsdatei. Der Eintrag DLLPath liefert alle Verzeichnisse zurück, in denen sich die BDE-DLLs befinden. Diese Verzeichnisse sind wie unter DOS die path-Anweisung mit Semikola getrennt. Prinzipiell reicht es aber, wenn Sie prüfen, ob die Konfigurationsdatei vorhanden ist. Bei den 32-Bit-Varianten von Delphi gehen Sie ähnlich vor. Hier befinden sich die Angaben zu Pfad und Konfigurationsdatei allerdings in der Registry unter dem Schlüssel
 HKEY_LOCAL_MACHINE\Software\Borland\Database Engine
 Wir haben aus beiden Varianten eine Funktion namens IsBDE (Listing 1) gemacht, die die Einträge ermittelt und den Wert True liefert, falls die Konfigurationsdatei vorhanden ist. Da Sie auf die Objekte TIniFile und TRegistry zugreifen, dürfen Sie nicht vergessen, diese in der Uses-Klausel zu deklarieren:
 Uses { ... } IniFiles {$IFNDEF Ver80} ,Registry {$ENDIF} ;

Verfasser: Andreas
Letzte Änderung: 2012-03-09 18:27


BDE-Puffer schreiben

Um Datenverlust zu verhindern, sollten Sie temporäre Daten in die Tabelle zurückschreiben.
 Datenverlust ist eine schlimme Sache. Besonders unangenehm ist es, wenn Daten verschwinden, die Sie schon auf der Festplatte gesichert wähnten. Um Datenbankaktionen zu beschleunigen, behält die Borland Database Engine (BDE) Daten im Hauptspeicher. Indem Sie eine Tabelle schließen, zwingen Sie die BDE jedoch, diesen Puffer auf den Datenträger zu schreiben. Dieses Verfahren kostet Zeit. Daher sollten Sie eine Routine einbauen, die
 Table1.Close;
 Table1.Open;
 aufruft, wenn der Benutzer einmal fünf bis zehn Sekunden nichts tut. Noch effektiver ist der direkte Zugriff auf das Programmier-Interface der BDE. Über die Funktion DbiSaveChanges wird der Tabelleninhalt zurückgeschrieben. Zudem bleibt der Datensatzzeiger auf dem zuvor gewählten Eintrag stehen. Als Parameter erhält die BDE-Funktion das Tabellen-Handle:
 DbiSaveChanges(Table1.handle);
 Um diese Routine verwenden zu können, nehmen Sie die Unit DBIProcs in die Uses-Klausel auf.
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 18:28


Benutzer im Netz

Den Namen eines Anwenders im Netz stellen Sie mit WNetGetUser fest.
 Waren die Netzwerkfunktionen in den ersten Versionen von Windows noch recht unterentwickelt, änderte sich dies mit der Workgroups-Version und erst recht mit Windows 95. Delphi verwendet das Win32-API, um Zugriffe auf Netzwerk-Funktionen zu verwirklichen.
 Mit WNetGetUser läßt sich der Name eines Benutzers ermitteln. Diese Funktion benötigt drei Parameter:
 - den Namen des Gerätes oder des Netzwerks, für das der Benutzername ermittelt werden soll,
 - einen PChar zur Aufnahme des Namens
 - und die Länge dieses Puffers.
 Lassen Sie den ersten Parameter frei, übergeben also einen Leerstring, liefert die Funktion den eingeloggten Benutzer dieses Rechners zurück. Um sicherzustellen, daß dieser Code immer funktioniert, egal, ob Sie mit ShortStrings oder LongStrings arbeiten, verwenden Sie StrAlloc und StrBufSize. Mit diesen Funktionen legen Sie die Größe eines Zeichens nicht fest. "wnetget.pas" (Listing in Databox 8/97) veranschaulicht das Verfahren.
 et
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 18:28


Bilder im Maßstab

Um Bilder bei unterschiedlichen Bildschirmauflösungen darzustellen, müssen Sie sie maßstabsgerecht verändern können.
 Um ein Bild zu verkleinern oder zu vergrößern, weil es etwa zu groß für die vollständige Anzeige auf dem Bildschirm ist, benutzen Sie die Funktion StretchDraw. Sie erwartet die zu zeichnende Grafik sowie die Zielkoordinaten als Parameter. Das Beispielprogramm auf der Heft-CD verfügt über eine Quellgrafik vom Typ tImage, die bereits ein geladenes Bild enthält. Zusätzlich fügen Sie eine Komponente vom Typ tPaintBox ein, um die skalierte Grafik zu zeichnen. Legen Sie im Objekt-Inspektor eine neue Behandlungsroutine für das Ereignis on-Paint an. Wenn Sie dann nachfolgende Zeilen eintragen, zeichnet die Funktion stretchDraw bereits ein verkleinertes Bild in die Paintbox:
 procedure TForm1.PaintBox1Paint(
 Sender: TObject);
 Var
 R : trect;
 begin
 r := paintBox1.clientRect;
 paintBox1.Canvas.
 StretchDraw(r, source);
 end;
 Allerdings beachtet die Prozedur Strech-Draw dabei nicht, ob das Bild unter Beibehaltung der Proportionen verkleinert oder vergrößert wird. Ist das Verhältnis von Breite zu Höhe bei Quelle und Ziel der Operation unterschiedlich, erscheint das Bild gestaucht oder gestreckt. Passen Sie die Prozedur folgendermaßen an, zeichnet StretchDraw das Bild unter Berücksichtigung der korrekten Breiten- und Höhenangaben.
 procedure TForm1.PaintBox1Paint(
 Sender: TObject);
 var
 aspect : real;
 source : tGraphic;
 newWidth,
 newHeight : integer;
 r : trect;
 begin
 source :=
 image1.Picture.Graphic;
 In den neu deklarierten Variablen new-Width und newHeight speichern Sie später die neu berechnete Höhe des Bildes. Aspect ist vom Typ Real, speichert das Verhältnis zwischen Bildhöhe und -breite und wird folgendermaßen ermittelt:
 aspect := source.Width /
 source.Height;
 if aspect > 1 then
 begin
 newWidth := paintbox1.Width;
 newHeight := round(newWidth
 / aspect);
 end
 else if aspect < 1 then
 begin
 newHeight:=paintbox1.Height;
 newWidth := round(newHeight
 / aspect);
 end;
 Je nachdem, ob das Verhältnis von Höhe zu Breite größer oder kleiner als 1 ist, berechnen Sie entsprechend die neue Höhe oder Breite des Bildes. Nachfolgende Zeilen sorgen dafür, dass das Bild mittig in der Paintbox ausgegeben wird, sobald die Checkbox im Demoprogramm aktiviert ist:
 r := rect(0,0, newWidth,
 newHeight);
 if CheckBox1.Checked then
 begin
 offsetRect(r,
 (paintbox1.Width
 - newWidth) div 2,
 (paintbox1.Height -
 newHeight) div 2 );
 end;
 Für die Ausgabe mittels stretchDraw speichern Sie die Ausgabegröße in der Variablen r vom Typ tRect zwischen. Wollen Sie das Bild zentriert ausgeben, verschiebt sich das Ausgabe-Rechteck in die Mitte des Ausgabebereichs, indem Sie die Funktion offsetRect aufrufen. Abschließend füllen Sie den Hintergrund der Paintbox mit grauer Farbe und rufen stretchDraw auf:
 paintBox1.canvas.
 Brush.color := clGray;
 paintBox1.canvas. FillRect(
 paintBox1.ClientRect);
 paintBox1.Canvas.
 StretchDraw(r, source);
 Sie können diese Methode auch benutzen, um ein Bild auf die Zeichenfläche eines Bitmap-Objekts zu zeichnen. Das kleine Bild speichern Sie dann auf Ihrer Festplatte, indem Sie bitmap.saveToFile aufrufen.

Verfasser: Andreas
Letzte Änderung: 2012-03-09 18:29


Bildschirmauflösung und Farbtiefe

Oft hilft es dem Programmierer, den aktuellen Grafikmodus auf dem PC zu ermitteln.
 Neben der Auflösung, die Sie in vertikalen und horizontalen Bildpunkten abfragen, spielt die Farbtiefe eine entscheidende Rolle für die Qualität einer Grafikanzeige. Die Farbtiefe ermitteln Sie in Bit per Pixel (BPP). Daraus erhalten Sie die Informationen, wie viel Speicherplatz Sie für die Darstellung eines Bildes brauchen und wie viele Farben Sie gleichzeitig am Bildschirm darstellen können. Gängige Farbtiefen beginnen mit 4 BPP (16 Farben); 8 BPP (256 Farben) sind das Minimum, um halbwegs farbechte Bilder darzustellen; es folgen 16 BPP (64 000 Farben) und 32 BPP für eine sehr gute Farbdarstellung. Die aktuelle Auflösung und Farbtiefe des aktuellen Grafikmodus bestimmen Sie folgendermaßen:
 procedure TForm1.Button1Click(
 Sender: TObject);
 var
 myDev : hdc;
 begin
 myDev:= GetDC (GetActiveWindow);
 Showmessage(format
 ('Horizontal: %d'#13#10+
 'Vertikal: %d'#13#10+
 'Farbtiefe: %d',
 [GetDeviceCaps (myDev,
 HorzRes),
 GetDeviceCaps (myDev,
 VertRes),
 GetDeviceCaps (myDev,
 BitsPixel)]));
 ReleaseDC(GetActiveWindow,
 myDev);
 end;
 Geben Sie das Grafik-Handle nach Anforderung durch getDC wieder durch den Aufruf der Funktion ReleaseDC frei.

Verfasser: Andreas
Letzte Änderung: 2012-03-09 18:30


Bildschirmschoner an- und ausschalten

Bildschirmschoner können die Arbeit von Hilfsprogrammen wie ScanDisk verhindern. Also schalten Sie sie per Programm ab.
 Manche Berechnungen im Hintergrund sind sehr zeitaufwendig. Nichts passiert auf dem Bildschirm, an der Tastatur oder der Maus. Plötzlich schaltet sich der Bildschirmschoner ein und klaut einen Teil der Systemressourcen. In einem solchen Fall ist es sinnvoll, den Bildschirmschoner vor der Berechnung aus- und danach wieder einzuschalten. Dazu verwenden Sie die API-Routine SystemParametersInfo. Mit Hilfe des Befehls Nummer 17 symbolisch der Wert SPI_SETSCREENSAVEACTIVE haben Sie Zugriff auf den Status des Bildschirmschoners. Um ihn einzuschalten, verwenden Sie
 SystemParametersInfo( SPI_SETSCREENSAVEACTIVE, 1, Nil, 0);
 und um ihn auszuschalten entsprechend
 SystemParametersInfo( SPI_SETSCREENSAVEACTIVE, 0, Nil, 0);
 Wollen Sie hingegen ermitteln, ob der Schoner aktiv ist, deklarieren Sie zunächst eine Word-Variable
 Var FLAG: WORD;
 und geben deren Adresse statt des NIL-Zeigers an:
 SystemParametersInfo( SPI_GETSCREENSAVEACTIVE, 0, @Flag,0);
 Var FLAG enthält den Wert 1, wenn der Bildschirmschoner ausgeschaltet und 0, wenn er aktiv ist.

Verfasser: Andreas
Letzte Änderung: 2012-03-09 18:30


BIOS-Informationen

So finden Sie wichtige BIOS-Informationen heraus. Nutzen Sie dazu eine System-Unit.
 Mit der Funktion Ptr() aus der System-Unit und den richtigen Adressen lesen Sie wichtige BIOS-Informationen aus. Dazu gehören BIOS-Name, Hersteller sowie Datum und Seriennummer. Diese vier Angaben lesen Sie mit folgender Syntax aus:
 try
 Label1.Caption :=
 String(Pchar(Ptr($FE061)));//Name
 Label2.Caption :=
 String(Pchar(Ptr($FE091)));
 //CopyRight des Herstellers
 Label3.Caption :=
 String(Pchar(Ptr($FFFF5)));
 //Datum des BIOS
 Label4.Caption :=
 String(Pchar(Ptr($FEC71)));
 //Nummer des BIOS
 except
 //weitere Kommentare nach Wahl
 Label1.Caption := 'Nicht da'
 Label2.Caption := 'Nicht da'
 Label3.Caption := 'Nicht da'
 Label4.Caption := 'Nicht da'
 end;
 Indem Sie den Aufruf in eine try/except-Klammer einschließen, erhalten die Anwender eine sinnvolle Meldung. Eine falsche Adressen bedeutet, dass das BIOS eine Funktion nicht unterstützt, was Sie mit entsprechendem Kommentar anzeigen lassen können.

Verfasser: Andreas
Letzte Änderung: 2012-03-09 18:31


Case of mit Strings

Um Ihnen die Arbeit mit Strings zu erleichtern, brauchen Sie diesen Tipp.
 Strings können Sie nicht wie numerische Werte mit der case value of-Anweisung auswerten. Es reihen sich endlose Verschachtelungen aus if .. then ... else- Anweisungen in Ihrem Programm auf und machen es unübersichtlich:
 if $str = 'eins' then ...
 else if $str = 'zwei' then ...
 else if $str = 'drei' then ...
 else if ...
 Abhilfe schafft eine kleine Funktion namens strIdx, mit der Sie die gewohnte case of-Syntax auch mit Strings benutzen können:
 function StrIdx(needle: string;
 stack: array of string):integer;
 var x: integer;
 begin result := -1;
 for x := 0 to high(stack) do
 begin
 if (needle = stack[x]) then
 begin result := x; break;
 end;
 end;
 end;
 Die Funktion sucht nach der Zeichenkette needle in dem dynamischen Array von stack. Findet die Funktion den String innerhalb des Arrays an, gibt sie dessen Position im Array an. Ist die Suche erfolglos, wird ein negativer Rückgabewert eingesetzt. Die Benutzung von strIdx ist einfach. Im nachfolgenden Code suchen Sie nach dem String, der sich im Eingabefeld edit1 befindet. Mögliche Werte geben Sie als Array in eckigen Klammern an.
 procedure TForm1.Edit1Change(
 Sender: TObject);
 begin
 case strIdx(edit1.text,
 ['eins', 'zwei', 'drei',
 'vier', 'fünf']) of
 0: listbox1.ItemIndex := 0;
 1: listbox1.ItemIndex := 1;
 2: listbox1.ItemIndex := 2;
 3: listbox1.ItemIndex := 3;
 4: listbox1.ItemIndex := 4;
 else
 listbox1.ItemIndex := -1;
 end; // esac
 end;
 Das Beispiel markiert bei einem gefundenen String den entsprechenden Eintrag in einer Listbox. Sie können strIdx noch dahingehend erweitern, dass die Groß- und Kleinschreibung ignoriert wird. Ändern Sie dazu die Zeile
 if (needle = stack[x]) then
 in folgenden Ausdruck um:
 if (uppercase(needle) =
 (uppercase(stack)) then

Verfasser: Andreas
Letzte Änderung: 2012-03-09 18:31


CD-ROM-Laufwerk öffnen

So programmieren Sie das öffnen und Schließen von CD-ROM-Laufwerken.
 Viele CD-ROM-Laufwerke unterstützen die Softwaregestützte Eject-Funktion, so daß Sie aus vielen Programmen heraus das Laufwerk öffnen und schließen können. Möglich wird dies wiederum über die MCI-Schnittstelle von Windows, so daß Sie auch hier die selbstgeschriebene Funktion MCI-StrSend nutzen können. Um das CD-ROM-Laufwerk aus Ihrer Anwendung heraus zu öffnen, genügt ein einziger Befehl:
 var
 ReturnStr, ErrStr: string;
 ErrCd: Integer;
 begin MCIStrSend
 ('set cdaudio door open',
 ReturnStr, ErrCd, ErrStr);
 end;
 Das Schließen funktioniert analog dazu:
 MCIStrSend
 ('set cdaudio door closed',
 ReturnStr, ErrCd, ErrStr);
 Diese Funktionen werden allerdings von einigen ganz alten CD-ROM-Lauf-werken nicht unterstützt. In diesen Fällen wird ein Fehlercode zurückgeliefert. Ein Beispielprojekt finden Sie auf der Heft-CD im Verzeichnis tips-prog\CDROMKN.
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 18:32


Cursor positionieren

Lassen Sie sich während der Texteingabe in einem tMemo-Feld anzeigen, in welcher Spalte und Zeile Sie sich gerade befinden.
 Für jeden Editor ist die Cursor-Anzeige von Spalte und Zeile eine Selbstverständlichkeit. Diese Funktion bietet Ihnen auch die Integrierte Entwicklungsumgebung (IDE) in Delphi. Um sie in Ihren Programmen zu verwenden, senden Sie bei jeder Tastatureingabe zwei Nachrichten ans Editierfeld. Das Ergebnis erscheint in der Statuszeile:
 procedure TForm1.Memo1KeyUp(
 Sender: TObject;
 var Key: Word;
 Shift: TShiftState);
 var
 zeile,
 spalte,
 vorher: LongInt;
 begin
 zeile := SendMessage(
 Memo1.Handle,
 EM_LINEFROMCHAR,
 Memo1.SelStart, 0);
 vorher := SendMessage(
 Memo1.Handle, EM_LINEINDEX,
 Zeile, 0);
 Spalte := Memo1.SelStart -
 vorher + 1;
 StatusBar1.SimpleText :=
 format ('%d:%d',
 [zeile, spalte]);
 end;
 Benutzen Sie die Ereignisbehandlungsmethode onKeyUp, um nach jedem Tastaturdruck die Position zu aktualisieren. Als ersten Parameter für die Funktion sendmessage tragen Sie das Handle des gewünschten tMemos ein. Um auf Veränderungen der Maus zu reagieren, benutzen Sie onMouseClick. So wird die aktuelle Position des Cursors ermittelt, wenn Sie den Cursor durch einen Mausklick an eine andere Position setzen.

Verfasser: Andreas
Letzte Änderung: 2012-03-09 18:32


Dateiattribute ändern

So verändern Sie die Attribute einer Datei, um sie mit Schreibschutz zu versehen.
 Wenn Sie Dateien mit Befehlen wie CopyFile von CD auf Festplatte kopieren, kann es sein, dass diese ihr Attribut schreibschutz behalten. Diese Dateien können Sie nicht überschreiben. Um mit ihnen zu arbeiten, müssen Sie erst ihre Attribute ändern. Dazu dient die Funktion SetFileAttributes, die zwei Parameter erwartet: der Dateinamen vom Typ PChar, und mit dem zweiten weisen Sie der Datei neue Attribute zu. Als Übergabeparameter reichen fertige Integer- Konstanten (Tabelle unten). Rufen Sie die Funktion SetFileAttributes auf:
 SetFileAttributes
 (PChar
 ('C:\Test.bat'),
 FILE_ATTRIBUTE_NORMAL);
 Dieser Befehl entfernt alle Attribute der Datei Test.bat. SetFileAttributes gibt einen Boole'- schen Wert zurück. Bei True wurden die Attribute erfolgreich geändert. Lautet der Rückgabewert False lassen sich die Dateiattribute nicht ändern. Den Erfolg einer Aktion zeigt Ihnen eine If-Abfrage:
 if
 SetFileAttributes
 (PChar('C:\
 Test.bat'),
 FILE_ATTRIBUTE_NORMAL)
 then
 Showmessage('Die
 Dateiattribute wurden
 erfolgreich
 geändert')
 else
 Showmessage('Die
 Dateiattribute
 konnten nicht geändert
 werden')
 Mit dem Attribut
 FILE_ATTRIBUTE_
 TEMPORARY
 lassen sich Dateien als temporäre Dateien festlegen. Weil Sie temporäre Dateien nach dem Programmende nicht mehr brauchen, müssten Sie sie löschen. Ist eine Datei mit dem Attribut gekennzeichnet, wird sie von Windows beseitigt.
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 18:33


Dateidatum ermitteln

Wer das Dateidatum benötigt, muß es nur in das Delphi-Format umwandeln.
 Die Funktion GetFileDate.pas (Listing in Databox 8/98) ist leicht nachzuvollziehen: Sie übergeben den Dateinamen und erhalten das Datum als Zeichenkette zurück.
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 18:33


Dateien im Papierkorb

Damit Ihnen Bedenkzeit bleibt, bevor Sie Daten endgültig löschen, verschieben Sie sie erst in den Papierkorb.
 Am einfachsten löschen Sie eine Datei, indem Sie die API-Funktion deleteFile aufrufen. Der Nachteil dieser Löschvariante: Die Datei ist unwiderruflich verloren. Bevor Sie aus Ihrer Delphi-Anwendung Programme oder Dokumente löschen, sollten Sie die Daten in den Windows-Papierkorb verschieben. Dazu rufen Sie die Funktion SH FileOperation aus der Unit ShellApi auf, die auch der Windows Explorer nutzt. Mit der Funktion SHFileOperation können Sie Dateien umbenennen, verschieben oder kopieren. Schlagen Sie in der Hilfedatei Win32/Programmiertechniken unter dem Schlagwort SHFileOpStruct nach.
 function RecycleFile(
 sFileName: string): Boolean;
 var
 FOS: TSHFileOpStruct;
 begin
 Initialisieren Sie die Struktur FOS mit den benötigten Parametern. wFunc setzen Sie auf FO_DELETE, und in pFrom setzen Sie den Namen der zu löschenden Datei ein. Im Parameter pFlags geben Sie an, ob Sie den Löschvorgang bestätigen sollen. Soll Windows während des Löschens eine kleine Animation abspielen, ersetzen Sie dazu den Parameter FOF_SILENT durch FOF_SIMPLEPROGRESS.
 FillChar(FOS, SizeOf(FOS), 0);
 with FOS do
 begin
 wFunc := FO_DELETE;
 pFrom := PChar(sFileName);
 fFlags := FOF_ALLOWUNDO or
 FOF_NOCONFIRMATION or
 FOF_SILENT;
 end;
 Result :=
 (SHFileOperation(FOS) = 0);
 end;
 Rufen Sie die Funktion SHFileOperation
 auf und überprüfen Sie deren Rückgabewert
 auf 0.

Verfasser: Andreas
Letzte Änderung: 2012-03-09 18:34


Dateien kopieren

Neben den bekannten Befehlen BlockRead und BlockWrite zeigt unser Beispiel eine weitere Methode, Dateien zu kopieren.
 In jedem Delphi-Buch und der Online-Hilfe finden Sie eine Kopierroutine für Dateien, die meist mit den Befehlen BlockRead und BlockWrite arbeitet .
 Über die Funktion TFileStream.
 Create (Zeile 63) im Demoprogramm unit1.pas (Listing in Databox 8/98) initialisieren Sie die Variable S. Anstatt die Datei explizit mit Pfadnamen anzugeben, können Sie auch einen Datei-Öffnen-Dialog verwenden. Der Try-Block versucht, die Zieldatei T zum Schreiben zu öffnen.
 Ist dies gelungen, kopiert die Funktion copyfrom() die Datei von S nach T. Andernfalls gibt der Finally-Block die Variable T sofort wieder frei, was im zweiten Zweig auch für S geschieht.
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 18:34


Dateinamen kürzen

Oftmals werden Dateinamen nur abgekürzt mit drei führenden Punkten wie in der Titelleiste eines Fensters angezeigt. Eine entsprechende Routine programmieren Sie mit Delphi.
 Um Dateinamen verkürzt aber sinnvoll anzuzeigen, müßten Sie beachtliche Programmierarbeit leisten. Doch Delphi enthält schon die passende Funktion MinimizeName in der Unit FileCtrl.pas, die ihnen diese Arbeit abnimmt. Sie ist folgendermaßen deklariert:
 function MinimizeName
 (const Filename: TFileName;
 Canvas: TCanvas;
 MaxLen: Integer): TFileName;
 Geben Sie für den Parameter
 Filename den abzukürzenden Dateinamen an,
 für Canvas das Canvas-Objekt des Formulars oder Controls, das den Name anzeigen soll,
 und für MaxLen die maximale Breite in Pixeln, die Sie dem gekürzten Dateinamen einräumen.
 Die Funktion liefert Ihnen den gekürzten Dateinamen als Ergebnis. Dies demonstriert die Komponente TFilenameLabel in der Unit fnlabel.pas (Heft-CD). Sie leitet sich von TCustom-Label ab und zeigt deren Eigenschaften mit einer Ausnahme: Statt der Caption-Eigenschaft ist sie mit der Eigenschaft Filename für den gekürzten Dateinamen ausgestattet. Bei einer Größenänderung ruft sie MinimizeName erneut auf, so dass die Anzeige automatisch angepasst wird. Ein Beispielprogramm zur Demonstration finden Sie im Verzeichnis ...\MinNameauf der Heft-CD 1.
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 18:35


Datenbank im Quelltext

Datenbank und Index definieren Sie mit wenigen Zeilen.
 Es gibt verschiedene Methoden, eine Datenbank zu erzeugen, die ein Delphi-Programm verwenden soll.
 - Zum einen entwerfen Sie sie in der Datenbank-Oberfläche, einer Art abgespecktem Paradox. Hier lassen sich die Namen und Typen der einzelnen Felder der Tabelle festlegen und Indizes definieren. Das Problem besteht darin, daß Sie immer eine leere Datenbank zur Hand haben müssen, falls Sie wieder von vorn anfangen wollen.
 - Der andere Weg führt über Delphi selbst. Warum sollte nicht Delphi per Quelltext dazu in der Lage sein, eine Datenbank zu erzeugen? Schließlich kann es doch wunderbar darin herumfuhrwerken. Dafür besitzt die Klasse TTable zwei besondere Eigenschaften: FieldDefs und IndexDefs. FieldDefs definiert den Datensatz: Zuerst wird die Definition mit "clear" gelöscht und anschließend jedes Feld mit "add" hinzugefügt. Als Parameter für "add" dienen der Name des Feldes wie "Name", sein Typ wie "ftString", "ftInteger" oder "ftMemo", die Länge bei Strings oder 0 bei numerischen Feldern sowie die Definition, ob es sich um ein sogenanntes Required Field handelt. Required Fields müssen einen Wert besitzen, damit "datbank.inc" (Listing in Databox 8/97) den Satz in die Datenbank schreiben darf.
 Genauso wie bei der Definition eines Datensatzes gehen Sie beim Index vor. Mit "IndexDefs.Add" definieren Sie Indizes. Danach erzeugen Sie die Tabelle mit CreateTable. Die Instanz von TTable schließen Sie via "free".
 et

Verfasser: Andreas
Letzte Änderung: 2012-03-09 18:35


Datenbank-Paßwort setzen

Setzen Sie ein globales Datenbank-Paßwort zur Laufzeit, um auf Tabellen zuzugreifen.
 Wollen Sie Daten in Datenbanktabellen geschützt weitergeben, so verschlüs-seln Sie sie mit einem Paßwort. Damit aber der Benutzer Ihrer Anwendung nicht ständig nach dem Zugangscode gefragt wird, setzen Sie es einmalig. Damit gilt es für die gesamte Laufzeit Ihres Programms. Lautet Ihr Paßwort beispielsweise Hugo, geben Sie alle Datenbanken für die laufende Anwendung mit dem Befehl
 Session.AddPassword ('Hugo');
 frei.

Verfasser: Andreas
Letzte Änderung: 2012-03-09 18:36


Datum des Kompilats

Sie behalten stets einen Überblick über Ihre letzte Programmversion, wenn Sie das aktuelle Datum des letzten Kompilats für Ihr Programm übernehmen.
 Nicht nur Programmierer verlieren leicht den Überblick über die letzte Änderung. Auch bei Anwenderfragen ist es hilfreich, wenn Sie wissen, welche Ihrer Programmversionen vorliegt. Schreiben Sie also zunächst eine minimale Anwendung. Sie legen zuerst ein neues Projekt an. Von diesem aus entfernen Sie das Hauptformular aus der Liste der benutzten Units. Speichern Sie das Projekt unter dem Namen Today.dpr, und öffnen Sie die Datei. Darin sehen Sie den Quellcode der Projektdatei. Überschreiben Sie diesen Code mit folgendem Eintrag:
 Program Today;
 uses Windows,SysUtils;
 {$R *.RES}
 var
 f: TextFile;
 dd,mm,yy: word;
 begin
 DecodeDate(Date,yy,mm,dd);
 AssignFile
 (f,'c:\windows\Today.inc');
 Rewrite(f);WRITELN(f,'CONST');
 WRITELN(f,'_Day : WORD = '
 +IntToStr(dd)+'');
 WRITELN(f,'_Month: WORD = '
 +IntToStr(mm)+'');
 WRITELN(f,'_Year : WORD = '
 +IntToStr(yy)+'');
 CloseFile (F);
 end.
 Entspricht Ihr Windows-Verzeichnis nicht dem Standard, passen Sie es dem obigen Code entsprechend an. Kompilieren Sie das Projekt, womit Sie die Datei Today.exe erhalten. Kopieren Sie diese in Ihr Windows-Verzeichnis, und fügen Sie in der win.ini folgende Zeile hinzu:
 run=c:\windows\today.exe
 Auch hier passen Sie gegebenenfalls den Pfad zu Ihrem Windows an. Damit fährt Today.exe mit jedem Windows-Start automatisch hoch. Nun binden Sie in jede Ihrer Units das Systemdatum mit folgenden Zeilen ein:
 {$I c:\windows\today.inc}
 Caption := IntToStr(_Day)+'/'
 +IntToStr(_Month)+'/'
 +IntToStr(_Year);
 Anstatt mit der Caption-Syntax können Sie die Werte natürlich auch jedem anderen Objekt zuweisen, zum Beispiel mit TLabel.

Verfasser: Andreas
Letzte Änderung: 2012-03-09 18:57


Dem Desktop angepasst

Ihre Anwendung sollte unter den verschiedenen Desktop- Konfigurationen einwandfrei laufen. Dazu passen Sie Ihr Programm den Bildschirmeinstellungen an.
 Die Variable Screen vom Typ TScreen repräsentiert das Bildschirmgerät, auf dem das Delphi-Programm ausgeführt wird. Mit dieser Variablen ermitteln Sie Breite und Höhe des Desktops in Pixeln. Beim Start sollte die Anwendung den Bildschirm optimal ausnutzen. Das hängt immer von der verwendeten Auflösung ab. Wenn Sie ein Formular anlegen (OnCreate-Ereignis), setzen Sie die Dimensionen des Formulars in Abhängigkeit der Auflösung neu. Die Auflösung ermitteln Sie mit Screen.Width und Screen.Height. Diese Werte geben den verfügbaren Platz auf dem Desktop (Breite und Höhe) in Pixeln an. Da die Anwendung den Desktop nicht ganz verdecken soll, muss auf jeder Seite das Formular verkleinert werden.
 Height:=Screen.Height - 100; Width:=Screen.Width - 100; Bei dieser Syntax würde das Formular nur unten und rechts um 100 Pixel schmaler werden. Damit auch am linken und am oberen Rand ein Freiraum bleibt, müssen Sie das Formular verschieben. Folgende zwei Zeilen zentrieren es, wobei durch die vorigen Höhenund Breitenangaben an jedem Rand 50 Pixel Freiraum bleiben.
 Left:=(Screen.Width - Width) div
 2;
 Top:=(Screen.Height- Height)
 div 2;
 Durch diese dynamische Änderung kann das Formular eine andere Größe haben, als zum Zeitpunkt seiner Entwicklung. Dadurch können sich die einzelnen Komponenten auf dem Formular verschieben. Mit der Eigenschaft Align können Sie jeder Komponente, die von TControl abgeleitet ist, eine Position zuordnen. Soll Ihr Memofeld den kompletten Bereich einnehmen, setzen Sie die Eigenschaft Align auf den Wert al- Client. Kombinieren Sie die Funktionen alClient eines Memofeldes und alTop einer Groupbox, füllen Sie die Formularfläche immer vollständig aus. Die Höhe der Groupbox bleibt unverändert, nur die Breite passt sich der Breite des Formulars an.
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 18:57


Den Explorer nutzen

Nutzen Sie den Suchen-Dialog von Windows 95 in eigenen Programmen.
 Windows 95 verfügt über eine hervorragende Suchfunktion:
 Start - Suchen
 Um diesen Suchen-Dialog von eigenen Programmen aus aufrufen zu können, nutzen Sie die Funktion von Windows 95, Dateien über die Endung mit ihrem jeweils damit verbundenen Programm zu öffnen. So ist die Dateiendung ".fnd" standardmäßig mit dem Suchen-Dialog verknüpft.
 Der Suchen-Dialog ist aber kein eigenständiges Programm, sondern wird vom Explorer mit den DDE-Befehl Open gestartet.
 Das Windows-95-API befiehlt mit ShellExecute, Dateien von Programmen aus auszuführen. Weiterhin lassen sich damit zum Beispiel auch Texte mit entsprechenden Verarbeitungen öffnen, indem Sie einen DDE-Befehl wie Open oder Print übergeben. ShellExecute wird innerhalb des Windows-95-API definiert, wie "shellexe.lst" (Listing in Databox 1/97) zeigt.
 Delphi 2.0 erklärt die einzelnen Parameter in der ShellAPI-Hilfe genau. Um den Suchen-Dialog einzubinden, gehen Sie wie folgt vor: Erstellen Sie im Explorer im erscheinenden Pop-up-Menü
 Neu - Textdatei
 in einem Verzeichnis eine Datei mit dem Namen "dummy.fnd". Den anschließend erscheinenden Dialog bestätigen Sie mit [Ja]. Fügen Sie Ihrem Programm im Uses-Abschnitt die Unit ShellAPI hinzu. Den Suchen-Dialog rufen Sie über den Befehl
 ShellExecute(Handle,'open','Dummy.fnd',nil,'c:\',SW_SHOWNORMAL);
 auf. Dabei verweist das Handle auf das Formular, Open ist der entsprechende DDE-Befehl und "dummy.fnd" der Dateiname. Da die Datei nicht ausführbar ist, muß der nächste Parameter "nil" sein. "c:\" bezeichnet den Pfad zu "dummy.fnd". In der Standardapplikation mit einem Suchknopf binden Sie "suchunit.pas" (Listing in Databox 1/97) ein.
 Ulrich Kowalski/et

Verfasser: Andreas
Letzte Änderung: 2012-03-09 18:58


DLLs aus dem Speicher löschen

Wer DLLs aus dem Speicher löscht, muß sich seiner Sache sehr sicher sein.
 Oft hinterlassen Programmabstürze alle geladenen DLLs einfach im Hauptspeicher. Da dies einerseits den Arbeitsspeicher belastet und andererseits unerwünschte Nebeneffekte haben kann, ist es immer sinnvoll, diesen digitalen Abfall zu entfernen. Dabei leistet die Funktion KillD-LL gute Dienste. Alles, was Sie tun müssen, ist, den Namen der DLL als Parameter zu übergeben.
 Function KillDLL(Const DLLName: String): Boolean;
 Var hDLL :THandle; aName:array[0..255] of char;
 begin
 StrPCopy(aName, DLLName);
 Result := false;
 repeat hDLL:=GetModuleHandle(aName);
 if hDLL 0 then Begin Result := true;
 FreeLibrary(hDLL);
 End;
 until hDLL = 0;
 end;
 Aber Achtung! Mit dieser Funktion können Sie auch Systembibliotheken löschen, ohne die nichts mehr geht. Beachten Sie zudem: Mit der 16-Bit-Variante lassen sich natürlich nur 16-Bit-DLLs und -Treiber löschen, mit den Delphi-2-und -3-Kompilaten analog nur die 32-Bit-Bibliotheken.

Verfasser: Andreas
Letzte Änderung: 2012-03-09 18:59


DOS-Programme umleiten

Ohne MS-DOS geht es nicht: Einige Komprimierungsprogramme sowie Compiler arbeiten vorrangig als DOS-Anwendungen.
 Starten Sie ein MS-DOS-Programm aus Ihrer Delphi-Anwendung, zeigt Delphi die Ausgabe des DOS-Programms in einem eigenen Fenster an, welches Sie nach Programmende manuell schließen müssen. Mit ein paar Zeilen Delphi-Code leiten Sie die Ausgabe des DOS-Programms in Ihre Delphi-Anwendung um. Zunächst schreiben Sie eine neue Anwendung, und platzieren Sie einen Button und eine Komponente vom Typ tMemo auf dem Hauptformular. Wenn Sie nun doppelt auf den Button klicken, erhalten Sie die Behandlungsroutine onButton1Click im Quelltext-Editor.
 procedure TForm1.
 Button1Click(Sender: TObject);
 var
 cmd : array[0..255] of char;
 par : array[0..255] of char;
 begin
 getEnvironmentVariable(
 'COMSPEC', cmd, 255);
 par := ''
 CaptureDosCmd(cmd+' /c dir '
 +par,Memo1);
 end;
 Innerhalb der Behandlungsroutine rufen Sie die Funktion CaptureDosCmd auf, die den DOS-Befehl ausführt und dessen Ausgabe ins Textfeld Memo1 umleitet. In diesem Beispielprogramm lassen Sie sich den Inhalt des obersten Ordners auf der Festplatte C: über den Befehl dir des Kommandozeileninterpreters anzeigen. Den Namen des Kommandozeileninterpreters (unterschiedlich in Windows 9x/ME und NT) ermitteln Sie über die Funktion getEnvironment Variable. Parameter wie COMSPEC ermitteln Sie mit der Delphi-Hilfe-Funktion. Implementieren Sie die Prozedur CaptureDosCmd:
 procedure CaptureDosCmd(
 command:String;
 OutputMemo:TMemo);
 const
 CaptureBufferSize = 2500;
 [...]
 Die Prozedur verfügt über zwei Parameter:
 commandspeichert das auszuführende DOS-Programm,
 OutPutMemo übernimmt die Ausgabe des Programms in Ihrer Delphi-Anwendung. Weiterhin benötigen Sie einige Variablen, um das DOS-Programm zu starten und die Ausgabe umzulenken:
 var
 SecAttrib :
 TSecurityAttributes;
 ReadPipe,writePipe: THandle;
 Startup : TStartUpInfo;
 ProcessInfo:
 TProcessInformation;
 CaptureBuffer : Pchar;
 BytesRead : DWord;
 WaitHandle : DWord;
 SecAttrib, Startup und ProcessInfo benötigen Sie, um einen neuen Prozess und somit das DOS-Programm zu starten.
 ReadPipe und WritePipe nutzt Windows so, dass die zu startende Anwendung ihre Ausgabe in die entsprechende Pipe umlenkt. Aus dieser Pipe lesen Sie wie aus einer Datei.
 BytesRead speichert die Anzahl der gelesenen Bytes aus der Pipe,
 CaptureBuffer stellt den Speicherplatz für die Pipe bereit.
 WaitHandle nutzen Sie, um das Ende der DOS-Anwendung abzuwarten. Erst dann fahren Sie mit dem Delphi-Programm fort.
 Als letzten Parameter übergeben Sie die Struktur Startup. Diese speichert die Umleitungen der Standard-Ein- und -Ausgabe des DOSProgramms. Die Pipes rufen Sie durch CreatePipe auf:
 if Createpipe (ReadPipe,
 writePipe, @SecAttrib,0)
 then
 begin
 [...]
 Startup.hStdOutput :=
 writePipe;
 Startup.hStdInput :=
 ReadPipe;
 [...]
 if CreateProcess(...,
 Startup,
 ProcessInfo) then
 Begin
 
 Wenn der Prozess erfolgreich gestartet ist, warten Sie mit der Funktion Wait-ForSingleObject auf dessen Ende und rufen in der Zwischenzeit application. processmessages auf, damit Ihre Delphi-Anwendung nicht einfriert:
 repeat
 WaitHandle :=
 WaitForSingleObject(
 ProcessInfo.hProcess,
 100);
 Application.
 ProcessMessages;
 until (WaitHandle
 WAIT_TIMEOUT) or
 application.terminated;
 Mit ReadFile lesen Sie die Ausgabe aus der Pipe und übergeben die Ergebnisse an das Ausgabe-Memo.
 if not application.terminated
 then
 Repeat
 BytesRead := 0;
 ReadFile(ReadPipe,
 CaptureBuffer[0],
 CaptureBufferSize,
 BytesRead, nil);
 [...]
 OutputMemo.Text :=
 OutputMemo.Text+
 String(CaptureBuffer);
 until (BytesRead <
 CaptureBufferSize);
 Sie schließen alle Pipes und offenen Handles mit CloseHandle und geben den belegten Speicherplatz frei. Starten Sie nur DOS-Programme, die nicht auf Benutzereingaben warten! Weil Programme wie der Norton Commander nicht automatisch enden, muss Ihre Delphi-Anwendung deswegen warten.
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 19:32


Dosenhalter

Schützen Sie die Laseroptik des CD-Laufwerks, indem Sie die Schublade per Programm schließen.
 Die Laseroptik von CD-Laufwerken ist gegen Staub recht empfindlich. Zudem können Sie eine geöffnete CDSchublade leicht mechanisch beschädigen. Wenn Sie vergessen, die CD-Schublade nach Entnahme der letzten CD wieder zu schließen, kann folgender Code recht nützlich sein. Mit einfachen q Multimedia-Befehlen aus der Unit MMSystem öffnen und schließen Sie die CDSchublade mit jeweils einem Einzeiler:
 procedure TForm1.Button1Click
 (Sender: TObject);
 begin
 mciSendString('Set cdaudio
 door open', nil, 0, 0);
 sleep(2000);
 mciSendString('Set cdaudio
 door closed', nil, 0, 0);
 end;
 Bitte vergessen Sie dabei nicht, die Unit MMSystem in die Uses-Klausel Ihres Programms einzubinden.
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 19:33


Drag & Drop verwenden

Mit Hilfe einer einzigen Windows-Nachricht können Sie Drag&Drop in eigenen Anwendungen nutzen.
 Viele Programme, bieten eine Drag&Drop-Funktion: So ziehen Sie zum Beispiel unter WinZip einfach die Dateien aus dem Explorer per Drag&Drop in das Fenster von WinZip, und schon sind die Dateien im zip-Archiv enthalten. Wie bringen Sie Ihren Programmen bei, Drag&Drop aus dem Explorer zu unterstützen? Die Lösung liegt in einer einzigen Windows-Nachricht und einigen Funktionen aus der Unit ShellAPI. Zunächst muß das eigene Programm dem Betriebssystem signalisieren, daß es Dateien per Drag&Drop aus dem Explorer aufnehmen möchte:
 DragAcceptFiles
 (Form1.Handle, True);
 Von diesem Moment an ist Ihre Anwendung bereit, Dateien per Drag&Drop zu empfangen. Ziehen Sie eine oder mehrere Dateien oder Ordner auf das Fenster der Anwendung, so erhält das Fenster eine WM_DROPFILES-Nachricht, die Sie mit einem eigenen Message-Handler verarbeiten:
 procedure TForm1.WMDropFiles
 (var Msg: TMessage);
 var i, Count, Len: Integer;
 FileName: string;
 Pt: TPoint;
 begin
 ListBox1.Items.Clear;
 Count := DragQueryFile
 (Msg.wParam, -1, nil, 0);
 for i := 0 to Count - 1 do
 begin
 Len := DragQueryFile
 (Msg.wParam, i, nil, 0);
 SetLength(FileName, Len);
 DragQueryFile(Msg.wParam,
 i, PChar(FileName), Len+1);
 ListBox1.Items.Add(FileName);
 end;
 DragQueryPoint(Msg.wParam, Pt);
 Label1.Caption :=
 Format('(%d|%d)', [Pt.X,
 Pt.Y]);
 DragFinish(Msg.wParam)
 end;
 Das Beispiel liest alle Dateinamen mit Hilfe der Funktion DragQueryFile aus und schreibt sie in eine Listbox. Dabei ermitteln Sie zunächst die Anzahl der Dateien und dann die Länge der Dateinamen mit der gleichen Funktion, damit das Programm die entsprechenden Zeichenketten anlegen kann. Dann brauchen Sie noch den Punkt, an dem die Maustaste beim Drag&Drop losge-lassen wurde, was Sie einfach über die Funktion DragQueryPoint erledigen. Zuletzt geben Sie noch den von Windows beim Drag&Drop reservierten Speicher durch einen Aufruf von Drag-Finish frei. Um Windows zu signalisieren, daß die Anwendung für Drag&Drop nicht mehr zur Verfügung steht, verwenden Sie wiederum die Funktion DragAcceptFiles:
 DragAcceptFiles
 (Form1.Handle, False);
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 19:33


Druck machen

Wie Sie kleinere Fallstricke elegant umlaufen und zum Millimeter-genauen Ergebnis kommen, zeigen wir Ihnen in diesem Tipp.
 Die Ansteuerung eines Druckers unter Delphi erreichen Sie mit der Unit printers. Binden Sie zuerst die Unit printers in Ihr Programm ein. Über das Objekt printer.canvas greifen Sie auf die Zeichenfläche des Druckers zu, so wie Sie es aus Ihren Delphi-Programmen gewohnt sind. Nun gilt es, mehrere Stolpersteine aus dem Weg zu räumen. Zuerst ermitteln Sie die Auflösung des Druckers und berechnen, wie viele Punkte auf dem Drucker einem Zentimeter entsprechen. Beachten Sie dabei immer, dass die vertikale und horizontale Auflösung unterschiedlich sein kann, und ermitteln Sie daher beide Werte:
 procedure
 TForm1.printTo
 (c: tCanvas);
 var
 dpiX, dpiY : integer;
 r : trect;
 cmx, cmy : integer;
 x : integer;
 begin
 dpiX := GetDeviceCaps(
 c.handle, LogPixelsX);
 dpiY := GetDeviceCaps(
 c.handle, LogPixelsY);
 cmx := round(dpiX / 2.54);
 cmy := round(dpiY / 2.54);
 Nachfolgend fragen Sie die Seitenränder ab, denn im Gegensatz zum Zeichen auf dem Bildschirm können Sie nicht einfach in der oberen linken Ecke Ihre Druckausgabe beginnen. Dazu verwenden Sie die Funktion getDeviceCaps und übergeben ihr das Handle Ihres Canvas:
 r.Left := cmx+GetDeviceCaps(
 c.handle, PhysicalOffsetX);
 r.Top := cmy+GetDeviceCaps(
 c.handle, PhysicalOffsetY);
 r.Right := r.left + cmx;
 r.Bottom := round(r.top +
 cmy / 4);
 for x := 1 to 10 do
 begin
 c.MoveTo(r.left, r.top);
 c.LineTo(r.Right, r.top);
 c.lineTo(r.right, r.Bottom);
 offsetRect(r, cmx, 0);
 c.Textout(r.left, r.top-
 (cmy div 2), inttostr(x));
 end;
 Das Gleiche wiederholen Sie für die Y-Achse und geben anschließend mit der Funktion StrechDraw ein Bild aus:
 r.Left := 2* cmx +
 GetDeviceCaps(c.handle,
 PhysicalOffsetX);
 r.Top := 2*cmy +
 GetDeviceCaps(c.handle,
 PhysicalOffsetY);
 r.bottom := r.top + 9*cmy;
 r.right := r.Left + 9*cmx;
 c.StretchDraw(r,
 image1.Picture.Graphic);
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 19:34


E-Mails mit Parameter

Übergeben Sie mit der Funktion ShellExecute()Parameter an Ihr E-Mail-Programm.
 Damit Sie auf Ihrer Homepage erreichbar sind, binden Sie einen Hyperlink ein. Per HTML-Hyperlink verschicken Sie eine E-Mail mit der URL
mailto:name@server.deAlles andere erledigt der Browser. Er startet das E-Mail-Programm und fügt die Adresse ein. Unter Delphi benutzen Sie die ShellExecute()-Funktion aus der ShellAPI-Unit. Zum Aufruf genügt die Zeile:
 ShellExecute( 0, 'open' PChar ('mailto:praxis@pc-magazin.de'),nil, nil, sw_show);
 Mit dieser vielfältigen Funktion können Sie dem E-Mail-Programm auch Parameter übergeben. Dazu gestalten Sie den Aufruf wie einen Hyperlink. Um die Betreffzeile vorzugeben, erweitern Sie die vorige Anweisung um die Zeile
mailto:praxis@pc-magazin.de?Esubject=Delphi
 Der Trick funktioniert auch mit einem vorgegebenen Text. Wandeln Sie das Delphi-Zeichen für den Zeilenumbruch #13#20 in ein für das E-Mail-Programm verständliches ^L (Linefeed) um.
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 19:35


EasyMove

Einige Programme bieten an, das Programmfenster von jedem Punkt aus zu verschieben nicht nur von der Titelleiste aus.
 Normalerweise lassen sich Programmfenster nur an der Titelleiste verschieben. Um die Fenster auch im Hauptbereich (Client-Bereich) zu verschieben, müssen Sie eine Windows-Botschaft abfangen. Windows sendet diese Botschaften an jedes darauf reagierende Programm, das dann das übermittelte Ereignisse auslöst. Soweit zu Windows-Botschaften keine Ereignisse vorliegen, müssen Sie sie im entsprechenden Programm abfangen. Dazu deklarieren Sie folgende Prozedur im Private-Abschnitt:
 procedure WMNCHitTest
 (var M: TWMNCHitTest);
 message wm_NCHitTest;
 Damit eine Routine die Botschaft verarbeitet, statten Sie die Prozedur mit einem var-Parameter aus. Der Parameter vom Typ TWMNCHitTest enthält den gewünschten Eintrag (Record). Hinter der Anweisung message steht eine Integer-Konstante (Botschafts-ID), welche die Botschaft identifiziert. Damit können Sie die Botschaftsbehandlungsroutine implementieren, wozu Sie die Anweisung inherited verwenden. inherited durchsucht die Klassenhierarchie und ruft die erste Routine mit derselben ID wie die aktuelle Methode auf. Dabei wird automatisch der Botschafts-Record übergeben. Damit der Anwender das Programmfenster auch am Client-Bereich der Anwendung verschieben kann, müssen Sie Windows vorgaukeln, der Anwender hätte auf die Titelleiste geklickt. Dies realisiert eine einfache If-Abfrage:
 if M.Result = htClient then
 M.Result := htCaption;
 M.Result hat den Wert htClient, wenn der Anwender auf den Client-Bereich der Anwendung geklickt hat, andernfalls den Wert htCaption.
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 19:35


Effizienter Zugriff auf Steuerelemente

Je nach Komplexität braucht ein Programm viele Buttons. Mit diesem Trick behalten Sie den Überblick.
 Je komplexer ein Programm wird, umso mehr Buttons laden die Anwender ein, mit der Vielfalt der Optionen und Einstellungen zu schalten und zu walten. Wenn der Benutzer einen dieser Buttons anklickt, sollten einige andere Buttons nicht verfügbar sein, bis zum Beispiel eine Operation abgeschlossen ist. Das Demoprogramm auf der Heft-CD verwendet vier Buttons der Klassen tButton, tSpeedButton und tBitBtn. Die Schalterknöpfe sind so definiert, dass jeweils alle Buttons bis auf den betätigten deaktiviert werden. Ein erster, jedoch recht umständlicher Ansatz besteht darin, in jeder Ereignisbehandlungsroutine OnClick die jeweiligen Buttons zu deaktivieren:
 procedure
 TForm1.BitBtn1Click(Sender: TObject);
 begin
 if button1 sender then
 button1.enabled := false;
 if button2 sender then
 button1.enabled := false;
 [...]
 end;
 Dieses Vorgehen ist für wenige Buttons akzeptabel, jedoch bei einer größeren Anzahl unübersichtlich. Ein wesentlich eleganterer Ansatz besteht darin, ein dynamisches Array zu benutzen, in dem Sie die zu deaktivierenden Buttons speichern. Dazu deklarieren Sie folgenden Typ in der Klassendefinition: tMyClass = class(...)
 [...]
 private
 { Private-Deklarationen }
 fButtons : array of tControl;
 [...]
 Wenn Sie Ihre Anwendung starten, füllen Sie das Array mit den gewünschten Buttons. Nachfolgender Code trägt alle Steuerelemente der Typen tButton, tBitBtn und tSpeedButton ins Array ein:
 procedure TForm1.FormCreate(Sender:
 TObject);
 var
 x, y : integer;
 c : tClass;
 begin
 y := 0;
 for x := 0 to controlcount-1
 do begin
 c := controls[x].ClassType;
 if (c = tButton) or
 (c = tSpeedButton) or
 (c = tBitBtn)
 then inc(y);
 end;
 setLength(fbuttons, y);
 y := 0;
 for x := 0 to controlcount-1
 do begin
 c := controls[x].ClassType;
 if (c = tButton) or
 (c = tSpeedButton) or
 (c = tBitBtn) then
 begin
 fButtons[y] :=
 controls[x];
 inc(y);
 end;
 end;
 end;
 Legen Sie mehrere Gruppen von Buttons an. Fassen Sie jene Steuerelemente in diesen Gruppen zusammen, die Sie auf einmal deaktivieren wollen. Im nächsten Schritt verschaffen Sie sich die benötigten onClick-Methoden für die Buttons:
 procedure
 TForm1.BitBtn1
 Click(Sender:
 TObject);
 begin
 // action ausführen
 if sender is
 tControl
 then enableDisable(
 sender as tControl,
 fButtons);
 end;
 Die Methode enableDisable definieren Sie wie folgt:
 function TForm1.enableDisable(
 sender: tControl;
 buttons: array of tcontrol):
 tControl;
 var
 x : integer;
 begin
 for x := low(buttons) to
 high(buttons) do
 if (buttons[x] sender) then
 begin
 buttons[x].Enabled := false;
 end;
 end;
 Wenn Sie die verschiedenen Steuerelemente Ihrer Anwendung in mehreren Arrays zusammenfassen, aktivieren und deaktivieren Sie die Steuerelemente Ihres Programms viel effizienter. Ein weiterer Vorteil: Ihr Programm bleibt übersichtlicher.
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 19:36


Eigener Objektinspektor

Eine einfache Routine listet alle Eigenschaften eines Objekts auf.
 Welche Eigenschaften hat das Printer-Objekt? Und das Clipboard? In der Regel beantwortet das Hilfe-Menü von Delphi solche Fragen. Was aber tun Sie, wenn Sie eine Freeware-Komponente bekommen, bei dem keine Hilfe, geschweige denn der Quellcode vorhanden ist? Dann hilft Ihnen unser kleines Programm: Es zeigt die Eigenschaften aller Komponenten an, die sich auf demselben Formular befinden. Grundlage sind zwei ListBox-Elemente:
  Das erste Listenfeld wird beim Programmstart mit den Namen aller vorhandenen Komponenten gefüllt:
 procedure TForm1.FormCreate (Sender: TObject);
 Var I: Integer;
 Begin
 For I:=0 To ComponentCount-1 Do ListBox1.Items.Add (Components[i].Name);
 end;
  Wählt der Benutzer einen dieser Einträge aus, werden dessen Eigenschaften im zweiten Listenfeld angezeigt.
 procedure TForm1.ListBox1Click (Sender: TObject);
 Var O: TObject;
 begin ListBox2.Clear;
 O:=FindComponent(ListBox1.Items [ListBox1.ItemIndex]);
 If O <> Nil Then
 GetProperties (O, ListBox2.Items);
 end;
 GetProperties ist keine Systemfunktion Sie müssen sie selbst schreiben. Sie benutzen dazu GetPropList aus der Delphi-eigenen Typbibliothek, die Sie mit
 Uses TypInfo;
 einbinden.
 procedure GetProperties( Obj:TObject; Items: TStrings);
 var i: integer;
 PropList: TPropList;
 begin i := 0;
 GetPropList( Obj.ClassInfo, tkProperties + [ tkMethod ], @PropList);
 while((Nil<>PropList[i]) and (i < High(PropList)) ) do begin Items.Add( PropList[ i ].Name + ': ' + PropList[ i ].PropType^.Name );
 Inc( i );
 end;
 end;
 Diese Routine ist hervorragend dazu geeignet, um selbstentwickelte Komponenten zu dokumentieren, indem Sie die Ergebnisse als HTML-Datei ablegen. Auf der Heft-CD finden Sie das Testprojekt im Verzeichnis OInspect.
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 19:36


Eine Laufwerks-Listbox

Statt einer Combobox können Sie auch eine Listbox generieren.
 Delphi zeigt in seiner Combobox alle unter Windows bekannten Laufwerke an. Die Combobox taucht auch in einigen Dialogen auf. Für einige Anwendungsfälle ist aber eine Listbox besser geeignet. Die hier vorgestellte Komponente für Delphi 2 und 3 bietet eine Listbox an.
 In einem Anwendungsfall soll eine Installation prüfen, ob Dateien auf einem Laufwerk neu hinzugekommen sind. Dazu können Sie in der Listbox auch mehr als ein Laufwerk auswählen.
 Die Funktionen der Listbox-Komponente sind schnell erklärt:
 - Der Create-Konstruktor legt fest, daß es eine sogenannte Owner-Draw-Listbox ist, die Applikation sich also selbst um die Darstellung kümmert.
 - Die Unterfunktion ReadBitmaps liest die einzelnen Bilder für die Laufwerkstypen aus der Ressource. Das Gegenstück von Create, Destroy, gibt den belegten Speicher für die Bitmaps wieder frei.
 Der Aufruf BuildList in CreateWindow füllt die Listbox. Die API-Funktion GetLogicalDrives repräsentiert in einem Bit-Array die verfügbaren Laufwerke.
 Eine CASE-Schleife ermittelt mit GetDriveType den Laufwerkstyp, wobei in Abhängigkeit vom Ergebnis der Eintrag in die Listbox eingefügt wird. Bei entnehmbaren Datenträgern prüft das System zudem noch den Laufwerksbuchstaben. Bei A oder B ist es ein Diskettenlaufwerk, andernfalls kann es auch ein Jazz- oder SyQuest-Wechselplattensystem sein.
 Alle AddObject-Aufrufe versuchen, über die Funktion
 NetworkVolume das Label des Laufwerks zu ermitteln. Dazu brauchen Sie die API-Funkion WNetGetConnection. Sollte der Aufruf fehlschlagen, weil der übergebene Laufwerksbuchstabe kein Netzwerk-Laufwerk darstellt, bekommen Sie das Label über die Funktion VolumeID und dort über GetVolumeInformation heraus.
 Die Funktionen GetItemHeight, DrawItem und ResetItemHeight ruft Delphi automatisch auf. Interessant ist hier nur DrawItem. Hier erscheint jeder Eintrag in der Listbox zunächst als Bitmap und dann mit dazugehörigem Text. Aus der Objektliste ITEMS lesen Sie also Laufwerksbuchstabe und Label sowie sechs Pixel dahinter aus. Die Prozedur REGISTER schließlich sorgt bei der Installation dieser Komponente für die Anmeldung im Delphi-IDE.
 et

Verfasser: Andreas
Letzte Änderung: 2012-03-09 19:37


Eingabe zum nächsten Control

So überlisten Sie Windows, um mit der [Enter]- statt der [Tab]Taste die Controls zu wechseln.
 In Delphi springen Sie standardmäßig per [Tab]-Taste von einem zum anderen Control. Mit einem kleinen Trick funktioniert das Verfahren auch mit der [Ent-er]- Taste. Dazu setzen Sie zuerst die Eigenschaft KeyPreview des Formulars auf true. Anschließend genügt folgender Code im OnKeyPress-Ereignis des Formulars, um die [Enter]-Taste nutzen zu können:
 procedure TForm.FormKeyPress
 (Sender: TObject;var Key: Char);
 begin
 if Key = #13 then begin
 Key := #0;
 PostMessage
 (Handle, WM_NextDlgCtl, 0, 0);
 end;
 end;
 Ein Beispielprogramm finden Sie auf der Heft-CD
 unter ...Jump/Project1.exe.
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 19:38


Einmal durch die Bank

Mit wenigen Anweisungen durchlaufen Sie eine Tabelle Datensatz für Datensatz, um alle Werte eines Feldes zu addieren.
 Häufig wollen Anwender alle Datensätze einer Tabelle durchlaufen, um bestimmte Operationen durchzuführen. walkthru.pas (Listing in Databox 1/98) arbeitet sich durch die Auftragsdatenbank orders, um die Summe der Bestellungen sowie die der Zahlungseingänge zu berechnen. Die Tabelle finden Sie in Ihrem Delphi- Verzeichnis:
 demos\data\orders.db
 Zwischen den beiden Funktionen Table1.Open und Table1.Close spielt sich die Arbeit ab. In einer while-Schleife, die not Table1.eof steuert, bearbeiten Sie die Datensätze einzeln. Table1.FieldByName liest die Felder des Datensatzes aus. FieldByName übergeben Sie den Namen des Feldes so, wie ihn die Datenbankoberfläche anzeigt. Diesem Aufruf fügen Sie einen Modifizierer an, der den Rückgabewert in den gewünschten Datentyp umwandelt. Dabei muß dieser Datentyp dem Feldtyp nicht unbedingt entsprechen. So lesen Sie sogar numerische Werte mit AsString aus. Allerdings sollten Feld- und gewünschter Datentyp untereinander austauschbar sein, denn ein Memofeld mit AsFloat auszulesen, macht wenig Sinn. Nachdem Sie einen Datensatz bearbeitet haben, geht Table1.Next zum nächsten.
 Mit Excel prüfen Sie, ob alles richtig abläuft. Zwar weigert sich Excel, Paradox-Datenbanken zu öffnen, ist aber dafür bei dBase-Dateien kompromißbereit. Also konvertieren Sie die bestehende Tabelle einfach aus dem Paradox- in das dBase-Format: Starten Sie die Datenbankoberfäche, ohne eine Tabelle zu öffnen. Im Menü Tools/Tabellenoperationen finden Sie den Eintrag Kopieren.... Wählen Sie im ersten Auswahlfenster orders.db aus. Sie können den Alias dbdemos nutzen. Im zweiten Fenster geben Sie dann orders.dbf ein. Stören Sie sich nicht daran, daß der einzige Dateityp, den das Programm zu kennen scheint, Tabellen (*.db, *.dbf) heißt. Mit einem "mutigen" Klick auf den OK-Button haben Sie eine dBase-kompatible Tabelle, die Excel verarbeiten kann.

Verfasser: Andreas
Letzte Änderung: 2012-03-09 19:38


Eintrag im Autostart-Ordner

Wer Programme bei jedem Einschalten starten will, erreicht dies ab Delphi 2 auch mit einer kleinen Prozedur.
 Verschieben Sie einen Link in den Autostart-Ordner, wird das zugehörige Programm bei jedem Start ausgeführt. Was aber, wenn der Anwender das gar nicht sehen und vor allem es nicht unvorsichtigerweise löschen können soll? Dann tragen Sie Ihre Anwendung in die Registry eintragen. Der Grund: Unter
 HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run
 befinden sich alle Anwendungen, die jedesmal beim Hochfahren gestartet werden. Daneben existiert der Eintrag Run-Once. Dahinter verbergen sich die Programme, die nur einmal, nämlich beim nächsten Systemstart, ausgeführt werden. Wieder haben wir diese zwei Varianten in einer Prozedur gekapselt, die leicht zu bedienen ist:
 procedure RunOnStartup(sTitel, sBefehl:string; bEinmalig:Boolean);
 var sKey : string;
 begin
 if bEinmalig then sKey:= 'RunOnce' else sKey := 'Run'
 With TRegistry.Create Do Begin RootKey := HKEY_LOCAL_MACHINE;
 OpenKey('Software\Microsoft' + '\Windows\CurrentVersion\' + sKey,False);
 WriteString(sTitel, sBefehl);
 Free;
 End;
 end;
 Da Sie hier das TRegistry-Objekt verwenden, nehmen Sie natürlich die zugrundeliegende Unit Registry in die Uses-Klausel auf. Der erste Parameter kann eine beliebige Zeichenkette enthalten. Der zweite hingegen gibt den kompletten Pfad zu Ihrer ausführbaren Datei an. Der logische Wert bEinmalig entscheidet darüber, in welchem Ast der Eintrag erfolgt, also ob das Programm fortan bei jedem oder nur beim nächsten Start ausgeführt werden soll. Damit das aktuelle Programm beim nächsten Booten von Windows geladen wird, lautet der Aufruf:
 RunOnStartup(Caption, Application.Exename, True);
 Auf der Heft-CD finden Sie das Testprojekt im Ver-zeichnis praxis\delphi.
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 19:40


Einträge dem Systemmenü anfügen

Das kleine Menü in einem Anwendungs-Icon können Sie kreativ erweitern.
 Wenn Sie das Icon einer Anwendung in deren Titelzeile anklicken, sehen Sie ein kleines Menü. Es ist nicht schwierig, dieses Menü mit einem kleinen API-Aufruf um eigene Einträge zu bereichern. Zuerst überschreiben Sie dazu den API-Aufruf wie es SysCommand tut. Dann suchen Sie im FormCreate-Ereignis der Anwendung das Systemmenü und fügen einen Eintrag hinzu. Die Prozedur AddSystemMenuItem weist dem neuen Menüeintrag bestimmte Eigenschaften zu und fügt ihn ins Systemmenü ein. Die Unit1.pas (Listing 1) enthält alles, was dazu nötig ist.

Verfasser: Andreas
Letzte Änderung: 2012-03-09 19:40


Einträge im Dokumentenverzeichnis

Word und Excel tragen alle vom Benutzer geöffneten Dokumente im Start-Menü in der Rubrik Dokumente ein. Übernehmen Sie diese Technik.
 In der Rubrik Dokumente im Start-Menü finden Sie schnell Dokumente wieder, die Sie mit einem einfachen Klick starten. Falls Sie dieses Feature auch in Ihren Delphi-Programmen nutzen möchten, nutzen Sie die Funktion SHAddToRecentDocs. Dazu legen Sie ein neues Formular in Delphi an, fügen eine Eingabezeile vom Typ tEdit und einen Button vom Typ tButton ein. Füllen Sie die Ereignisbehandlungsroutine onButtonClick mit folgendem Code:
 Procedure TForm1. Button1Click( Sender: TObject);
 begin
 SHAddToRecentDocs(SHARD_PATH,
 pchar(edit1.text));
 showmessage(edit1.text+#13#10
 + 'wurde in das \
 Dokumentenverzeichnis im \
 Start'+
 'menü aufgenommen!');
 end;
 Die Funktion SHAddToRecentDocs befindet sich in den Units shellapi und shlobj. Nehmen Sie beide Units in die uses-Klausel Ihres Programms auf.
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 19:41


Energie sparen

Dieser Tipp zeigt, wie Sie Windows-Nachrichten zum Energiehaushalt des PC periodisch auswerten.
 Windows sendet in Abständen Nachrichten über den Energiehaushalt des Computers an alle Anwendungen. Nutzen Sie und reagieren Sie auf diese Informationen in Ihrem Programm. Die von Windows versandte Nachricht lautet wm_powerBroadcast, wofür Sie eine Ereignis-Behandlungsroutine anlegen:
 type
 TForm1 = class(TForm)
 private
 { Private-Deklarationen }
 public
 { Public-Deklarationen }
 procedure wm_powerbroadcast(
 var msg: tmessage);
 message wm_powerbroadcast;
 end;
 In der Ereignis-Behandlungsroutine gehen Sie auf die einzelnen Nachrichtentypen ein, die Windows versendet. Dabei haben es die Entwickler bei Borland auch in der letzten Delphi Version versäumt, die Konstanten PBT_xxx bekannt zu machen. Sehen Sie dazu in der Onlinehilfe Win32 Programming Techniques unter dem Stichwort wm_powerbroadcast) nach.
 procedure
 TForm1.wm_powerbroadcast(
 var msg: tmessage);
 var
 ps : TSystemPowerStatus;
 s : string;
 const
 Stromversorgung : array[0..1]
 of string = (
 'Batterie', 'Netzteil');
 begin
 log(format('Message: %d',
 [msg.wparam]));
 GetSystemPowerStatus(ps);
 case msg.wparam of
 PBT_APMBatteryLow : ;
 PBT_APMPOWERSTATUSCHANGE:
 begin
 Je nach Nachrichtentyp im Parameter msg.wparam sollte Ihr Programm korrekt reagieren. Empfangen Sie z.B. die Nachricht PBT_APMBATTERYLOW, so sollte Ihr Programm längere Berechnungen besser abbrechen oder den Aktionen des Benutzers mehr Aufmerksamkeit schenken. Achten Sie genau auf die in der Online-Hilfe definierten Antworten, die Ihr Programm an Windows zurücksendet: nur bei korrektem Verhalten kann das Betriebsystem in den Stand-By Modus schalten. Erhalten Sie einfache Nachrichten, die Sie darauf hinweisen, dass sich der Energiehaushalt des Computers geändert hat, dann lesen Sie weitergehende Informationen mit der Funktion getSystem PowerStatus aus:
 log('Update:');
 if ps.ACLineStatus in [0..1]
 then log(
 '- Energieversorgung:'
 +Stromversorgung[
 ps.ACLineStatus])
 else log('- Energieversorgung:
 unbekannt');
 s := ''
 if ((ps.batteryFlag and 1)0)
 then s := s + ', Voll'
 if ((ps.batteryFlag and 2)0)
 then s := s + ', Leer'
 if ((ps.batteryFlag and 4)0)
 then s := s + ', Kritisch'
 [...]
 if length(s) > 2 then
 s := copy(s, 3, length(s));
 log('- Batteriestatus: '+s);
 if ps.BatteryLifePercent > 100
 then log(
 '- Batterielebensdauer
 unbekannt')
 else log('-
 Batterielebensdauer: '+
 inttostr(
 ps.BatteryLifePercent)+'%');
 [...]
 end;

Verfasser: Andreas
Letzte Änderung: 2012-03-09 19:41


Exceptions abfangen

Neueste Anwendungen erlauben es, Dokumente zu speichern, auch wenn zuvor eine Schutzverletzung einen schwerwiegenden Fehler ausweist.
 Damit Ihre Anwendung bei einer Schutzverletzung nicht kommentarlos abstürzt, müssen Sie das Ereignis OnException abfangen. Es wird von einer Schutzverletzung ausgelöst. In diesem Ereignis können Sie das automatische Schließen der Anwendung verhindern und in einem weiteren Dialog helfende Maßnahmen vorschlagen. Zuerst schreiben Sie die Prozedur, die Sie dem Ereignis zuweisen wollen, zum Beispiel so:
 procedure myException
 (Sender: TObject; E: Exception);
 begin
 if MessageDlg('Exception von
 "' + tControl(Sender).Name + '"
 ausgelöst:' +
 #13#10 + #13#10 +
 E.Message + #13#10 + #13#10 +
 'Anwendung schließen ?',
 mtError, [mbYes, mbNo], 0) =
 mrYes then
 Application.Terminate;
 end;
 Mit diesem Dialog geben Sie einem Benutzer die Chance, die Anwendung zu schließen, oder das Programm per Terminate-Befehl zu beenden. Diese Prozedur weisen Sie dem Ereignis zu, um mit einer Zeile im OnCreate-Ereignis des Hauptformulars Ihre Meldung auszulösen:
 Application.OnException :=
 myException;
 Da OnException ein Ereignis des TApplication-Objekts, nicht des Hauptformulars ist, setzen Sie noch ein Application vor das Ereignis. Um diesen Tipp anzuwenden, zeigen Sie einen Dialog an, versenden die Fehlermeldung an den Programmautor und speichern alle offenen Dokumente.

Verfasser: Andreas
Letzte Änderung: 2012-03-09 19:42


Fenster schließen

Vor dem Herunterfahren von Windows bauen Sie eine Sicherheitsabfrage in Ihr Programm ein.
 Wenn Sie Windows herunterfahren, was auch vor einem Neustart geschieht, sendet Windows an alle laufenden Programme die Nachricht WM_QueryEnd Session. Auf diese Nachricht kann ein Programm reagieren, wozu Sie die Funktion CanClose einsetzen. Das Programmfragment FormClose.pas (Listing in Databox 8/98) führt dies beispielhaft vor.
 DOS-Programme reagieren auf diese Nachricht nicht - Windows meldet dies mit einer entsprechenden Nachricht auf dem Bildschirm.
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 19:42


Fenster verstecken beim Start

 1. Teil
 Delphi-Anwendungen erzeugen beim Start immer ein Fenster, das sie dazu noch anzeigen.
 Wer seine Delphi-Anwendungen starten lassen will, ohne damit Eingeweihten seinen Compiler zu verraten, unterdrückt das Startfenster. Im Normalfall erscheint immer zuerst das Startfenster, auch wenn Sie etwa ein System-Tool für den Hintergrund schreiben. Ein einfaches
 self.visible := False;
 im Ereignis OnCreate reicht leider nicht aus, um das Fenster zu verstecken. Denn weder in OnCreate noch in OnShow oder OnActivate haben Sie Zugriff auf die Eigenschaft Visible. Versuchen Sie es trotzdem, ernten Sie eine Exception (Fehlermeldung). Gleiches gilt für das erste OnResize. Erst wenn es zur Darstellung des Fensters im OnPaint-Ereignis kommt, ist Visible wieder verfügbar. Setzen Sie die Eigenschaft jedoch auf False, blitzt das Fenster zumindest beim Start noch kurz auf. Auch nicht wirklich schön! Deshalb greifen Sie auf die API-Funktion ShowWindow zurück. Diese erhält als Parameter das Fenster-Handle sowie eine Konstante, die die Art der Darstellung bestimmt. Neben den beiden Möglichkeiten minimiert (SW_SHOWMINIMIZED) und Vollbild (SW_SHOWMAXIMIZED) gibt es hier auch die Option SW_HIDE, um Fenster zu verstecken. Dies wird normalerweise auch beim Setzen der Visible-Eigenschaft ausgeführt. Nur aufgrund der VCL-Internas ist dieser Vorgang erst ab dem ersten OnPaint-Ereignis verfügbar. Anders jedoch die API-Funktion. Rufen Sie
 ShowWindow(Handle, SW_HIDE);
 im OnActivate-Ereignis auf, wird das Fenster von Anfang an versteckt. Lediglich ein kleines Flackern ist zu sehen. Um das Fenster wieder sichtbar zu machen, verwenden Sie wiederum Show-Window in der Form
 ShowWindow(Handle, SW_SHOW);
 Ein Visible := True-Aufruf führt zu keinem Resultat.


2. Teil

 Wer das Startfenster spurlos 0 ohne Spuren von Flackern 0 verbergen will, nutzt einen einfachen Trick.
 Im vorigen Tip haben Sie über die API-Routine ShowWindow das erste Fenster beim Start verborgen. Lediglich ein kurzes Flimmern war zu sehen. Wollen Sie entweder keine Systemfunktionen verwenden, oder stört Sie das Flackern, gibt es noch einen viel einfacheren Trick: Setzen Sie bereits im On-Create-Ereignis die linke Fensterposition auf den rechten Bildschirmrand.
 procedure TForm1.FormCreate (Sender: TObject);
 begin
 Left := Screen.Width;
 end;
 Das Fenster wird zwar sichtbar erzeugt, es liegt jedoch nicht im sichtbaren Bereich des Bildschirms.
 
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 19:43


Fenstergrößen beliebig ändern

Mit ein paar Windows-APIFunktionen stellen Sie die Größe jeder beliebigen Anwendung frei ein.
 Es ist wichtig zu wissen, wie Ihre Anwendung am Bildschirm aussieht. Dabei kann es zum Beispiel sehr hilfreich sein, wenn Sie sehen möchten, wie sich die Inhalte einer HTML-Seite bei einer Bildschirmauflösung von 800 x 600 Punkten darstellen. Fast alle API-Aufrufe benötigen ein Window-Handle. Über diese eindeutige Identifikationsnummer verfügt jedes Windows Fenster. Daher ermitteln Sie am besten zuerst alle Window-Handles, die aktuell auf Ihrem Desktop angezeigt werden, mit dem Aufruf von enumWindows und speichern diese in einer Listbox:
 procedure TForm1.Button1Click
 (Sender: TObject);
 begin
 ListBox1.Items.clear;
enumWindows(@enumProc,integer(listbox1.Items));
 end;
 Der Funktion enumWindows übergeben Sie die Adresse einer Prozedur, die für jedes Window-Handle aufgerufen wird. An dieser Stelle ermitteln Sie den Namen des Fensters und tragen ihn in der Listbox ein. Die folgende Abfrage testet, ob das Fenster nicht versteckt wurde, einen Titel besitzt und die aktuelle Position ermittelt werden kann:
 function enumProc
 (hwnd: thandle;items: tstrings):
 boolean; stdcall;
 var
 b : array[0..512] of char;
 r : trect;
 begin
 if (GetWindowText(hwnd, @b,512) > 0) and
 (GetWindowRect(hwnd, r)) and
 (getParent(hwnd) = 0) and
 (isWindowVisible(hwnd)) then
 begin
 items.AddObject(b,
 tObject(hwnd))
 end;
 except
 result := false;
 exit;
 end;
 result := true;
 end;
 Um die Größe eines Fensters zu verändern, benötigen Sie nur das Handle, dass Sie nun via Typumwandlung aus der Stringliste items auslesen. Ausserdem benötigen Sie die aktuelle Position des Fensters, da ein Aufruf von setWindow-Pos neben Breiten- und Höhenangaben auch Koordinaten für die obere linke Ecke des Fensters benötigt:
 [...]
 var
 x, y : integer;
 begin
 h :=
 thandle(listbox1.
 Items.
 Objects[listbox1.
 itemindex]);
 if getWindowRect(
 h, r) then
 begin
 x := 640;
 y := 480;
 [...]
 setWindowPos
 (h, 0, r.Left,
 r.top, x, y,
 SWP_SHOWWINDOW);
 end;
 [...]
 Nachdem Sie erst einmal das benötigte Window-Handle ermittelt haben, eröffnen sich weitere Anwendungen: Verstecken, schließen und verschieben Sie die Fenster nach Ihren Vorstellungen.
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 19:44


Formular ohne Titel

Mit den Funktionen SetWindowLong() und GetWindow-Long() verstecken Sie die Titel Ihrer Anwendung, ohne den 3D-Effekt des Rahmens zu verlieren.
 Sie können von einem Formular die Titelbar entfernen, indem Sie die Eigenschaft BorderStyle auf bsNone setzen. Dabei verlieren Sie den 3D-Effekt des Rahmens. Wollen Sie nur die Titelbar des Fensters entfernen und den Rahmen behalten, müssen Sie auf die zwei Funktionen SetWindowLong() und GetWindow-Long() aus der Windows-Unit zurückgreifen. Die Prozedur SetTitle, die dies automatisiert und die Titelbar anzeigen oder verstecken kann, finden Sie im Listing. Um die Titelbar verschwinden zu lassen, genügt der Aufruf folgender Zeile:
 SetTitle(False);
 So sehen Sie die Titelbar wieder:
 SetTitle(True);

Verfasser: Andreas
Letzte Änderung: 2012-03-09 19:45


Fremdes Programm schließen

Mit diesem Trick schließen Sie andere Programme über Ihre Anwendung.
 Für den Fall, dass Sie Ihrer Anwendung alle anderen Systemressourcen reservieren wollen, dann müssen Sie andere Programme schließen können. Dazu bedienen Sie sich der beiden Funktionen FindWindow() und SendMessage() aus der Windows-Unit. Zuerst identifizieren Sie das fremde Fenster, wozu Sie ein Handle verwenden. Dies ist eine im System eingetragene Zahl. Das Handle erhalten Sie über den Aufruf von FindWindow(). Haben Sie das Fenster mit seinem Handle gefunden, können Sie es per SendMessage schließen. Der Quellcode dazu:
 procedure CloseWindow;
 var
 Handle: THandle;
 begin
 Handle := FindWindow
 ('Notepad', nil);
 if Handle <> 0 then
 begin
 SendMessage
 (Handle, WM_CLOSE, 0, 0);
 end;
 end;
 Sie können auch andere Messages versenden wie WM_ENABLE oder WM_ACTIVATE, um das fremde Fenster zu aktivieren. Alle denkbaren Werte dieser Messages finden Sie in der Unit Messages.pas. Leider liefert nur die professionelle Delphi-Version zu dieser Unit den Quellcode.

Verfasser: Andreas
Letzte Änderung: 2012-03-09 19:45


Gekonnt auskommentiert

Statt Programmabschnitte zu löschen, reicht es, sie als Kommentar zu tarnen.
 Ändern Sie große Bereiche eines Programms, sollten Sie den Originalcode dennoch aufbewahren. Denn vielleicht brauchen Sie ihn nochmal. Deshalb de-klarieren Sie den Orginalcode als Beschreibungstext. Um Quellcode auszukommentieren, stehen Ihnen die Kombinationen
 (* Kommentar *)
 und
 { Kommentar }
 zur Verfügung. Ab Delphi 2 lassen sich einzelne Zeilen auch mit einem doppelten Schrägstrich als Kommentar kennzeichnen:
 // Diese Zeile ist ein Kommentar
 Was aber tun Sie, wenn Sie mehrere hundert Zeilen ausklammern wollen? Denn aller Wahrscheinlichkeit nach haben Sie bereits Kommentare in der einen oder anderen Form in Ihrem Quelltext. Das hat zur Folge, daß der Code nach dem ersten Schlußkommentarzeichen weiterübersetzt wird. Hier hilft ein Trick: Setzen Sie die Compiler-Direktive
 {$IFDEF Bedingung} .. {$ENDIF}
 ein. Der Code dazwischen wird vom Compiler nur eingebunden, wenn die Bedingung wahr ist. Also verwenden Sie
 {$IFDEF False}
 Alles hier ist Kommentar ;-)
 {$ENDIF}

Verfasser: Andreas
Letzte Änderung: 2012-03-09 19:46


Gibt es das Verzeichnis?

Mit einer einfachen Routine fin-den Sie auch versteckte Verzeichnisse.
 Delphis Dateiroutinen erkennen keine versteckten Verzeichnisse oder solche mit dem Attribut System. So gibt beispielsweise DirectoryExists aus der Unit FileCtrl den Wert True zurück, wenn das als Parameter übergebene Verzeichnis kein System- oder Hidden-Attribut besitzt. Dann nämlich ignoriert es dessen Existenz und plädiert auf "Nicht vorhanden!". In solchen Fällen hilft unsere Routine, die sich nicht von Attributen ablenken läßt.
 function DirExists
 (DirName: string): Boolean;
 var DirAttr: Integer;
 begin
 Result := False;
 DirAttr := FileGetAttr(DirName);
 if DirAttr >= 0 then
 Result := True;
 end;
 Der Explorer zeigt versteckte Verzeich-nisse an, die im DOS-Fenster unsichtbar sind.

Verfasser: Andreas
Letzte Änderung: 2012-03-09 19:58


Globale Exceptions abfangen

Exceptions sind ein hervorragendes Mittel, um fehlgeschlagene Operationen im Programmablauf abzufangen und darauf zu reagieren.
 Das typische Beispiel, um eine Exception auszulösen, schreiben Sie mit folgenden Zeilen:
 procedure TForm1.Button1Click(
 Sender: TObject);
 var
 x : integer;
 y : integer;
 begin
 y := 0;
 x := 0 div y;
 if y = x then exit;
 end;
 Dieser Code wird eine Division by Zero Exception auslösen und Ihre Anwendung in einem undefinierten Zustand hinterlassen. Daher sollten Sie, wo immer Fehler auftreten können, den Code in eine try ... except-Anweisung einbetten. Allerdings kann es passieren, dass Sie eine denkbare Fehlersituation übersehen und nicht abfangen. Nutzen Sie daher die Eigenschaft Application. onException, um nicht abgefangene Exceptions zu behandeln. In die Methode Formcreate fügen Sie dazu folgende Zeile ein:
 application.OnException :=
 ExceptHandler;
 Die Methode ExeptHandler definieren Sie dann wie folgt:
 procedure TForm1.ExceptHandler(
 sender: tObject;
 e: exception);
 var
 s : string;
 begin
 if assigned(sender)
 then s := 'In der Klasse ' +
 sender.ClassName+
 ' ist der folgende Fehler \
 aufgetreten:'#13#10
 else s := ''
 showmessage(s+e.Message+
 #13#10+ 'Bitte wenden Sie \
 sich mit dieser Fehler- '
 #13#10+'beschreibung \
 umgehend an die \
 Entwickler!');
 end;
 So erreichen Sie es, das nicht abgefangene Ausnahmezustände von der Anwendung behandelt werden. Ein weiter Tipp besteht darin, die Funktion assert zu benutzen und im Vorfeld einer Operation zu prüfen, ob eine Operation erfolgreich ausgeführt werden kann.
 y := 0;
 assert(y 0, 'Y hat den Wert
 0 vor einer Division!');
 x := 0 div y;

Verfasser: Andreas
Letzte Änderung: 2012-03-09 19:59


Große Strings

Mit den Huge Strings bringen Sie bis zu zwei Milliarden Zeichen in einer Zeichenkette unter.
 Zu den Vorteilen von Delphi 2.0 gehören Huge Strings. Dabei handelt es sich um Zeichenketten, die nicht mehr nur 255 Elemente erlauben, sondern gut zwei Milliarden. Damit sollten Sie jede Textdatei unter 2 GByte in einen String laden können, sofern für diese Anwendung genügend Speicher verfügbar bleibt. Delphi 3.0 verwendet neue Strings. Der wesentliche Unterschied zwischen beiden Typen ist die Art, wie sie gespeichert werden. So ist bei den ShortStrings im Element 0 die Länge codiert, während das Element 0 in AnsiStrings nicht mehr definiert ist. Damit beide String-Typen zueinander kompatibel sind, sollten Sie nur noch die Length-Funktion verwenden, die automatisch die String-Weiten umsetzt.
 et

Verfasser: Andreas
Letzte Änderung: 2012-03-09 19:59


Größen- und Positionsänderungen anzeigen

Bei Grafikanwendungen und Internet-Browsern ist es für den Benutzer hilfreich, die Größe des Anwendungsfensters abzulesen.
 Mit ein paar Zeilen Code fügen Sie Ihrer Anwendung zwei Eigenschaften zu:
 Beim Verschieben des Fensters wird die obere linke Koordinate im Titelbereich des Fensters angezeigt.
 Die Größe des Fensters wird im Titel angezeigt, sobald der Benutzer das Fenster kleiner oder größer zieht. Die Funktionalität erhalten Sie mit vier einfachen Methoden, in denen Sie Nachrichten abfangen, die an das aktuelle Formular geschickt werden:
 type
 TForm1 = class(TForm)
 private
 capt : string;
 procedure wmmove(var
 message : tmessage);
 message wm_move;
 procedure wmsizing(var
 message : tmessage);
 message wm_sizing;
 procedure wmEnterSizeMove(
 var message : tmessage);
 message wm_entersizemove;
 procedure wmExitSizeMove(var
 message : tmessage);
 message wm_exitsizemove;
 public
 [...]
 end;
 Die ersten beiden Methoden wmmove und wmsizing werden vom Betriebssystem aufgerufen, sobald der Benutzer das Fenster bewegt oder in der Größe ändert. Die beiden nachfolgenden Methoden sind Hilfsfunktionen. Sie werden aufgerufen, sobald das Verschieben oder die Größenänderung beginnt oder endet. Zusätzlich speichern Sie die Eigenschaft caption des Formulars in der Variablen capt, um den Originaltitel nach dem Verschieben wieder anzuzeigen.
 procedure TForm1.wmmove(var
 message: tmessage);
 begin
 if (capt <> '') then
 caption := format(
 '%s [x:%d y:%d]',
 [capt, message.lparamLo,
 message.lparamHi]);
 end;
 Die Funktion wmMove zeigt die aktuelle Position auf der x- und y-Achse an. Die beiden Parameter finden Sie in der Variablen Message. Zwei zusätzliche Parameter, Höhe und Breite, interpretieren Sie beim Verschieben des Formulars:
 procedure TForm1.wmsizing(var
 message: tmessage);
 var
 r : pRect;
 begin
 if (capt <> '') then
 begin
 r := prect(message.lParam);
 caption := format(
 '%s [x:%d y:%d - %dx%d]',
 [capt, r.left, r.top,
 r.right-r.left,
 r.bottom-r.top]);
 end;
 end;
 Beide Methoden nutzen die Variable capt, um die Titelzeile mit den Koordinatenangaben aufzubauen. Die Variable speichert den Originaltitel der Anwendung und wird jedes Mal neu ausgelesen, sobald der Benutzer die Größe oder Position des Fensters ändert. Optimalerweise informiert uns das Betriebsystem auch an dieser Stelle wieder über die eintretenden Ereignisse:
 procedure Form1.wmentersizeMove(
 var message: tmessage);
 begin
 capt := caption;
 end;
 procedure TForm1.wmExitSizeMove(
 var message: tmessage);
 begin
 caption := capt;
 end;
 wmEnterSizeMove wird einmal aufgerufen, wenn der Verschiebevorgang startet, wmExitSizeMove sobald der Vorgang abgeschlossen ist. Die einzige Aktion in diesen beiden Methoden besteht darin, den Titel für die spätere Verwendung in der Variablen capt zu speichern und nach Abschluss den Originaltitel wieder zu restaurieren. Mit einigen wenigen Zeilen erhöhen Sie die Attraktivität Ihrer Programme.
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 20:00


GUID Yourself

Das Component Object Model benötigt Globally Unique IDentifiers. Ein Werkzeug erzeugt einen GUID und legt ihn in der Zwischenablage ab.
 Wenn Sie mit der Benutzeroberfläche von Windows 95 oder NT 4.0 kommunizieren wollen, um einen Shortcut zu erzeugen oder einen Viewer einzuhängen, dann brauchen Sie GUIDs. Die Abkürzung GUID (Globally Unique iDentifier) bedeutet, daß es einen Bezeichner, besser eine Wertekombination gibt, die eine Bibliothek weltweit eindeutig identifiziert.
 Mit Delphi arbeitet es sich etwas leichter als mit Visual C++. Dort rufen Sie nämlich extra GUIDGen auf, um Ihren GUID zu generieren. Die Benutzeroberfläche von Delphi hat diese Funktionalität bereits eingebaut. Die Tastenkombination [Umschalt-Strg-G] erzeugt einen GUID in der Formatierung
 ['{57668F52-438B-11D1-97C1-00804881AF7F}']
 direkt an der gegenwärtigen Cursorposition im Editor von Delphi.
 Wenn Sie selbst solche Unique IDentifiers erzeugen oder wissen wollen, wie so etwas funktioniert, dann müssen Sie in Richtung API programmieren. Ein GUID ist eigentlich ein 128 Bit langer Integer-Wert, der in vier Abschnitte eingeteilt ist. Ein Beispiel und wie die Deklaration eines GUID aussehen kann, zeigt die Definition des Datentyps TGUID.
 type PGUID = ^TGUID;
 TGUID = record
 D1: Integer;D2: Word;
 D3: Word;D4:array[0..7]of Byte;
 end;
 Const
 CLSID_ContextMenuShellExtension:
 TGUID = (D1:$8e3e0f0a;
 D2:$0fcc; D3:$11ce;
 D4:($bc,$b0,$b3,$fd,$0e,A$25,$38,$1a));
 Einen GUID generieren Sie mit einer Routine der Win32-API. Microsoft hilft Ihnen mit dem Werkzeug GuidGen, und schon steht er in vier Variationen über die Zwischenablage zur Verfügung. Dadurch ersparen Sie sich das Eintippen des neu erworbenen Bezeichners.
 Diese Funktionalität darf natürlich auf Delphi-Seite nicht fehlen, und so schreiben Sie Ihr eigenes Tool. In Delphi implementieren Sie dazu eine Funktion, die auf CoCreateGUID aus der Unit ActiveX beruht. Das Verfahren zeigt btnCreateGuidClick (Listing in Databox 1/98).
 Zunächst deklarieren Sie eine Variable vom Typ TGUID, die dann später den neuen GUID aufnehmen soll. Diese Variable, im Beispiel heißt sie sinnigerweise NewGuid, wird dann an die Funktion CoCreateGuid aus der API "verfüttert". Liefert CoCreateGuid als Ergebniswert S_OK zurück, dann enthält NewGuid einen gültigen Wert zur weiteren Verarbeitung. Diesen Wert konvertieren Sie in Hex-Zahlen mit IntToHex und lassen ihn als Caption eines Labels anzeigen. Zum Kopieren des nunmehr vorhandenen Strings mit dem GUID ziehen Sie ein Edit Control heran, das problemlos seinen Inhalt in die Zwischenablage bringt. Damit das Edit Control nicht im Dialog herumliegt, definieren Sie es als unsichtbar. Folgende Werte kommen bei der Anwahl von Delphi in der Zwischenablage an:
 (D1:$86d38ca0;D2:$1d0a; D3:$11d1; D4:($5e,$5e,$00,$80,$48,$81,$af,$7f));
 Abschließend definieren Sie noch den Namen der Konstanten und ihren Typ.

Verfasser: Andreas
Letzte Änderung: 2012-03-09 20:00


Heute plus 1

Zeitwerte berechnet Delphi mit einer rationalen Zeit, womit sich leicht rechnen läßt.
 Delphi verwendet den Datentyp TDateTime, um das Datum mit Uhrzeit anzugeben. FormatDateTime steuert die Ausgabe in einer Zeichenkette, damit Sie Datum und/oder Uhrzeit zum Beispiel in einem Label darstellen können. Hinter TDateTime steckt kein Record, wie vielleicht zu vermuten wäre, sondern eine rationale Zahl, ein Double. Dabei gibt der ganzzahlige Wert die Anzahl der Tage seit dem Startpunkt wieder, während der Nachkommateil den Tagesbruchteil enthält. Ein Wert von 0,5 entspricht zum Beispiel 12 Stunden, 1/24 ist eine Stunde, 1/1440 eine Minute.
 Diese Darstellung macht die Arithmetik mit einem Datum recht einfach. Denn Überläufe werden so bequem erledigt. Wollen Sie also auf den Wert
 36573,99 = Sonntag,31.August 1997,23:45.36
 eine Stunde (etwa 0,04166..) addieren, dann ergibt dies automatisch den 1. September 1997. Die Umrechnung, welcher Wert einer Stunde, einer Minute oder einer Sekunde entspricht, können Sie selbst vornehmen. Mit der Funktion EncodeTime nimmt Ihnen Delphi die Arbeit ab. Ein Aufruf von
 t:= EncodeTime (1, 0, 0, 0);
 //EncodeTime(Stunde, Minute, Sekunde, Millisekunde);
 liefert eine TDateTime-Variable namens "t" zurück, deren Wert genau einer Stunde entspricht. Die Belegung einer TDateTime-Variablen mit Datum und Uhrzeit geschieht entsprechend durch die folgende Addition:
 t:=EncodeDate (1997, 08, 31) + EncodeTime (23, 45, 36, 00);
 //EncodeDate (Jahr, Monat, Tag)
 Zur Funktion EncodeTime finden Sie in der Hilfe weitere Anweisungen. Weitere Verweise dazu zeigen den Gebrauch von DecodeTime und EncodeDate.
 et

Verfasser: Andreas
Letzte Änderung: 2012-03-09 20:01


Hintergrund mit Bitmap füllen

So geben Sie einem Arbeitsformular ein individuelles Aussehen und ein Label.
 Das Demoprogramm unit1.pas (Listing in Databox 8/98) zeigt im Hauptformular (Mainform) ein Hintergrundbild. Das erreichen Sie mit drei Arbeitsschritten.
 Laden Sie im Create-Constructor eine beliebige Bitmap. Beachten Sie, daß die Datei nicht zu groß ist und nicht zu viele Farben enthält. Denn Aufgabe ist es, diese Bitmap auf dem Hintergrund in Kacheln (Tile) über das ganze Formular zu verteilen. Da die Bitmap dabei öfters gezeichnet wird, darf dieser Vorgang nicht zu lange dauern. Denn dann würde der Bildaufbau unangenehm flackern.
 Anstatt fest auf den Dateinamen zu verweisen, ist es eleganter, das Windows-Verzeichnis vorher mit der Windows-API-Funktion GetWindowsDirectory zu ermitteln. Sie können die Bitmap jedoch auch im gleichen Verzeichnis wie die exe-Datei speichern. Dieses Verzeichnis ermitteln Sie über die Funktion
 PFAD := ExtractFilePath(Application.ExeName);
 Das Ergebnis zeigt den kompletten Pfad mit dem letzten Rückstrich. Sie fügen also nur noch den Dateinamen der Bitmap an.
 Anders als beim Constructor geben Sie im Free-Destructor den von der Bitmap beanspruchten Speicherplatz wieder mit free frei. Die Routine FormPaint (Zeile 26) gibt dann die Bitmap aus, wobei Sie zunächst Breite und Höhe der geladenen Bitmap bestimmen. Verschachtelte While-Schleifen zeichnen die Bitmap zeilenweise in das Formular (Canvas=Leinwand). Dazu erhöhen sich die Positionszähler jeweils um die Breite und Höhe der Bitmap. Damit eingefügte Label bei dunklen Bitmaps noch lesbar sind, müssen Sie Schriftart und Farbe anpassen, im Beispiel auf Gelb und transparent.

Verfasser: Andreas
Letzte Änderung: 2012-03-09 20:01


Hintergründige Bitmaps

Mit Bitmaps peppen Sie den grauen Hintergrund von Formularen auf.
 Programmierer werten Applikationen optisch auf, wie Beispiele von Hinweisen auf Schaltknöpfen oder Meldungen beim Programmstart zeigen. Doch nur wenige Anwendungen nutzen Bitmaps als Hintergrund für ein Formular. Dabei ist es ganz einfach.
 Sie nehmen eine TBitmap-Variable, im Beispiel Background genannt. Diese erzeugen Sie in der Methode FormCreate beim Start der Applikation mit Create und versorgen sie per LoadFromFile mit einer Bitmap-Datei. Die Unit back.pas (Listing in Databox 1/98) zeigt das Verfahren.
 Das Formular ruft die Methode TForm1.FormPaint auf, die in einer Zeichenroutine auch die Bitmap darstellt. Auf den Zeichenbereich des Formulars (Canvas) zeichnet Canvas.Draw die Bitmap, nach links oben ausgerichtet: (0,0).
 Anschließend setzen Sie im Beispiel noch die Größe des Client-Bereichs so fest, daß er das ganze Fenster füllt. In der Praxis nehmen Sie eine Bitmap, die der Fenstergröße angepaßt ist. Der Aufruf TForm1.FormDestroy gibt den von der Bitmap belegten Speicher wieder frei. Beachten Sie, daß Bitmaps viel Speicherplatz brauchen.

Verfasser: Andreas
Letzte Änderung: 2012-03-09 20:02


Hübscher warten

Neben den gewöhnlichen Mauszeigern nutzt Delphi auch animierte Cursor wie zum Beispiel wandelnde Saurier.
 Am einfachsten signalisieren Sie dem Anwender, daß der Rechner ausgelastet ist, indem Sie die Form des Mauszeigers ändern. So deutet Windows mit rinnendem Sand in der Eieruhr
 Bitte warten...
 an. Sie überblicken das Cursor-Angebot, indem Sie einen Button oder eine andere Komponente auf Ihr Formular legen und sich die Einstellungen der Eigenschaft Cursor betrachten. Dort finden Sie crArrow, crCross, crHelp, crIBeam und eben auch crHourGlass für die Eieruhr.
 Meist schalten Sie zuerst die Eieruhr ein und starten dann die längere Bearbeitung. Kommt diese erfolgreich zum Ende, stellen Sie den Cursor wieder auf crDefault. Damit diese Rückstellung auch dann passiert, wenn eine Exception während der Bearbeitung auftritt, kapseln Sie Ihre Routine mit try und nehmen die Zuweisung von crDefault in den finally-Block auf:
 Screen.Cursor:= crHourglass;
 try //Arbeit durchführen
 finally
 Screen.Cursor:=crDefault;
 end;
 Lassen Sie bei der Zuweisung die Variable Screen weg, ändern Sie den Cursor des Steuerelements, in dessen Gültigkeitsbereich Sie die Anweisung geschrieben haben. Stehen die obigen Zeilen in TForm1.Button1Click, befindet sich die Anweisung im Gültigkeitsbereich von TForm1. Sie ändern also die Cursor-Form des Formulars. Bewegen Sie den Mauszeiger aus dem Formular heraus oder auf eine andere Komponente, wird sich der Cursor wieder ändern. Nur eine Zuweisung an Screen.Cursor verleiht der neuen Form in Ihrer gesamten Applikation Gültigkeit.
 Screen ist eine applikationsweit verfügbare Instanz der Klasse TScreen. Über Screen lassen sich Modifikationen am aktuellen Formular, dem verwendeten Zeichensatz oder eben dem Mauszeiger vornehmen. Außerdem bestimmen Sie so die Bildschirmauflösungen.
 So nutzen Sie auch Screen als Zeichenbereich eines Bildschirmschoners:
 procedure TForm1.BitBtn1Click
 (Sender: TObject);
 const crLavaLampe = 1;
 begin Screen.Cursors[crLavaLampe]
 :=LoadCursorFromFile
 A('f:\download\...\bluel
 Aiquid.ani');
 Screen.Cursor := crLavaLampe;
 end;
 Sie sehen: Mit einer Zuweisung an Screen.Cursor ändern Sie die aktuelle Cursorform. Doch Windows 95 und NT animieren sogar ihre Cursor, wobei zum Beispiel ein kleiner Dino über den Bildschirm "wackelt", der dann mit Ihnen warten muß. Damit Delphi dabei mitspielt, hat Screen die Eigenschaft Cursors, mit der sich die eingebauten Cursorformen durch nachgeladene ersetzen lassen. Weisen Sie also einem Element des Arrays Cursors einen neuen Wert zu. Die Felder von -21 bis 0 sind bereits mit den bekannten Cursorn belegt, verwenden Sie also am besten einen positiven Wert.
 {$R sample.res}
 procedure TForm1.BitBtn4Click
 (Sender: TObject);
 begin Screen.Cursors[2] := LoadCursor (hInstance, APChar('CURSOR_1'));
 Screen.Cursor := 2;end;
 Den neuen Cursor besorgen Sie sich entweder aus einer Datei mit LoadCursorFromFile oder aus der Ressource, die Sie mit $R in Ihr Delphi-Programm eingebunden haben:
 LoadCursor(hInstance, Name)
 Bei der letzten Methode müssen Sie wenigstens keine Datei herumschieben.
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 20:02


Ich druck Dich

Anstatt die Windows-Druckroutinen zu verwenden, lassen sich reine Textdaten auch über eine Dateivariable ausgeben.
 Zum Druck reicht in den meisten Fällen ein einfacher Report ohne Grafik. Im Report kommen die gleichen Zeichen vor wie in einer Datei. Und so drucken Sie auch.
 Delphi enthält eine Unit namens Printers, die einen Drucker als Datei definiert. Sie weisen der Unit eine Dateivariable mit AssignPrn zu, öffnen die Datei mit rewrite und weisen ihr mit write oder writeln Text zu. Wenn CloseFile die Datei dann schließt, druckt Delphi:
 procedure TForm1.Button2Click
 (Sender: TObject);
 var i: integer;
 Drucker: Textfile;
 begin AssignPrn (Drucker);
 Rewrite (Drucker);
 for i:=0 to Memo1.Lines.Count-1 do
 WriteLn (Drucker,Memo1.Lines[i]);
 CloseFile (Drucker);
 end;
 Den Zeichensatz ändern Sie genauso einfach: Sie erzeugen ein TLabel namens Label1, definieren die Eigenschaft visible als false und weisen ihr den gewünschten Druckzeichensatz zu. Bei Delphi 2 reichte es noch aus,
 Printer.Canvas.Font:=Label1.Font
 zu setzen. Als Futter für den intelligenten Linker von Delphi 3 hat Borland in der letzten Version bewußt darauf verzichtet. Dabei sparen Sie etwa 2,5 KByte in einer Applikation, die zwar die Unit importiert, aber selbst nicht druckt. Mit drucker.pas (Listing in Databox 1/98) funktioniert es trotzdem.
 Erzeugen Sie eine Variable vom Typ TPrinter, die Sie vor Beginn des Druckauftrags mit TPrinter.Create instantiieren. Jetzt können Sie auf den Canvas zugreifen und ihm, wie oben gezeigt, einen anderen Zeichensatz zuweisen. Über diesen Canvas drucken Sie auch Bitmaps. Mit SetPrinter übertragen Sie die Einstellungen, die Sie in Ihrer lokalen Instanz von TPprinter vorgenommen haben, auf den Drucker. Bei diesem Aufruf erhalten Sie als Rückgabewert die bisherigen Einstellungen. Nach Schließen der Druckerdatei gibt Printa.Free den Speicher frei. Zuvor sollten Sie die gesicherten alten Einstellungen wieder zurückschreiben, damit Printa ungebunden ist. Sonst erhalten Sie eine Exception.
 TPrinter enthält noch andere interessante Methoden und Eigenschaften:
 - So erzeugt die Methode NewPage einen Seitenumbruch.
 - PageNumber ermittelt die Seitenzahl.
 - Über Printers finden Sie heraus, welche Drucker das System kennt.

Verfasser: Andreas
Letzte Änderung: 2012-03-09 20:03


Icons extrahieren

Extrahieren Sie Icons aus verschiedenen Dateien mit einer eigenen Funktion.
 Viele Dateien unter Windows können Icons enthalten, vor allem exe-, dll- und Icon-Dateien. Die meisten enthalten mindestens ein Icon, oftmals mehrere. Sie können Programmbeschreibungen verbessern, wenn Sie passende Icons einfügen. Doch um darauf zuzugreifen, enthält die Unit Icons.pas (Heft-CD) die beiden Funktionen GetFileIconCount und GetFileIcon. Erstere ermittelt die Anzahl der Icons in einer Datei durch einen Aufruf von ExtractIcon aus der Unit ShellAPI. pas:
 Result := ExtractIcon
 (HInstance, PChar(Filename),
 UINT(-1));
 Letztere übernimmt die eigentliche Arbeit: die Extraktion des Icons. Dazu ruft sie ebenfalls ExtractIcon auf, die wiederum ein Icon-Handle (HIcon) zurückgibt, das GetFileIcon in ein TIcon-Objekt umwandelt:
 HIc := ExtractIcon
 (HInstance, PChar
 (Filename),
 Index);
 if (HIc <>0) and (HIc <>1)
 then begin
 Result := TIcon.Create;
 Result.Handle := HIc;
 end else
 Result := nil;
 Ein Beispielprogramm, das alle Icons einer Datei anzeigt, finden Sie im Verzeichnis ...\Iconsauf der Heft-CD 1. s
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 20:04


IEEE-konforme Zahlen

Gleitkommazahlen müssen für den Datenaustausch genormt sein. Dazu verwenden Sie IEEE-Datentypen.
 Gleitkommazahlen werden im Speicher auf seltsame Weise abgebildet. Während ein Integer-Wert von 31 im Speicher als Bitkombination 0000 1111 vertreten ist, werden gebrochene Zahlen als Exponentialdarstellung zur Basis 2 definiert. Dadurch sind sie nicht so einfach lesbar wie Integer- und LongInt-Werte. Ein Grund dafür ist, daß der numerische Coprozessor Berechnungen mit Zahlen in dieser Darstellung sehr schnell verarbeiten kann, sofern diese nach der IEEE-Norm aufgebaut sind. Auch der Austausch von Daten via DLL etwa von Delphi nach Visual Basic (VB) funktioniert nur dann, wenn Sie IEEE-Datentypen verwenden. Während Double und Single und sogar Extended (in VB nicht vorhanden) dieser Norm entsprechen, ist der Typ Real ein Relikt aus alten Turbo-Pascal-Tagen. Verwenden Sie bei neuen Programmen möglichst nur IEEE-Typen. Wollen Sie alle Real- gegen die normierten Datentypen austauschen, verwenden Sie sicherheitshalber den Typ Double. Da Real aus sechs Bytes besteht, könnte der vier Byte große Single-Typ zu ungenau sein.

Verfasser: Andreas
Letzte Änderung: 2012-03-09 20:04


Infos zur Version

Mit jeder Änderung Ihres Quelltextes lassen Sie im Kompilat eine Versionsnummer hochzählen.
 Mit Delphi 3 binden Sie die Windows-Ressource VersionInfo bequem ein. Darin lassen sich Informationen über Hersteller, Programmierer, der Programmname und dergleichen unterbringen. Sie erreichen den entsprechenden Dialog über den Menüeintrag
 Projekt - Optionen
 In der Unterseite VersionInfo können Sie festlegen, welche Informationen Sie in Ihr Projekt aufnehmen wollen. Dabei entscheiden Sie, ob Sie die Haupt-, die Unterversionsnummer, die Release- und die Build-Nummer selbst hochzählen wollen oder ob Delphi die Build-Nummer als letzte Zahl des Quadrupels automatisch inkrementiert, wenn Sie das Projekt übersetzen.
 Die Informationen, die Sie auf diese Weise in die Projektdatei eingebaut haben, rufen Sie ab, indem Sie die EXE- oder DLL-Datei im Windows Explorer anwählen und mit der rechten Maustaste
 Kontext - Eigenschaften
 aufrufen. Es öffnet sich ein Dialogfenster mit einer Reihe von Unterseiten. Unter "Version" finden Sie Ihre Informationen. Diese lassen sich nur noch mit einem Ressourcen-Editor, durch Patchen oder erneutes Übersetzen verändern. et
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 20:04


Installierte Schriften

Mit der Screen-Variablen lassen
 sich die installierten Schriften des Systems ermitteln.
 Verwenden Sie in Ihrer Anwendung exotische Schriftarten, können Sie mit dem TScreen-Objekt kontrollieren, ob der Anwender diese Schriftart installiert hat. Die Eigenschaft (Property) Fonts des TScreen-Objekts enthält die Namen aller installierten Schriftarten des Betriebssystems. Da das Property vom Typ TStrings ist, können Sie die Namen einer TListbox oder einer TStringList folgendermaßen übergeben: Listbox1.Items.Assign (Screen.Fonts); Mit der Methode Assign ordnen Sie den Inhalt der String-Liste Screen.Fonts den Items der Listbox zu:
 if Listbox1.Items.IndexOf
 ('Arial')>-1 then
 Showmessage('Die Schriftart
 EArial ist installiert');
 IndexOf gibt die Position in der Listbox wieder. So erfahren Sie, an welcher Stelle sich der als Parameter übergebene String befindet. In diesem Fall wird geprüft, ob die Schrift Arial vorhanden ist. Wenn nicht, gibt die Funktion IndexOf den Wert -1 zurück, sonst die Position in der Listbox. Beachten Sie, dass Delphi hierbei zwischen Groß- und Kleinschreibung unterscheidet. Ist eine Schriftart in der Liste aufgeführt, bedeutet das nicht, dass Sie Dokumente in dieser Schrift drucken können. Die Anweisung Printers.Fonts enthält alle druckbaren Schriften. Um diese Funktion zu nutzen, binden Sie die Unit printers in die USES-Klausel ein. Mit der Property Fonts aus dem TSrceen oder TPrinters-Objekt können Sie die Schriften in einer Combobox zur Auswahl stellen. Dort kann der Anwender eine Schrift auswählen, um seinen Text zu gestalten. Eine ähnliche Anweisung, um die Schriften einer Listbox zu übergeben, nutzen Sie um sie in einer Combobox anzuzeigen:
 Combobox1.Items:=
 Printers.Fonts;
 Bevor Sie auf das TPrinter-Objekt zugreifen, müssen Sie davon eine weitere Instanz anlegen, wozu Sie die Funktion Create aufrufen. Damit der Anwender nur diese Schriften auswählen kann, setzen Sie die Eigenschaft Style der TCombobox auf csDropDownList.

Verfasser: Andreas
Letzte Änderung: 2012-03-09 20:05


Klartext

Die Windows-API bietet viele Funktionen, mit denen Sie Ihr Programm erweitern können.
 Die meisten aufgerufenen Windows-Funktionen melden, ob die Operation erfolgreich war oder nicht. Wenn nicht, ermitteln Sie den Fehlercode mit der Funktion getLastError. Leider stehen nicht alle Windows-Fehlercodes in der Online-Hilfe. Diese Funktion getLastError übersetzt Fehlercodes in Klartext. Das Beispielprogramm verfügt über einen Button und ein Memofeld. In der OnClick-Behandlungsroutine provozieren Sie einen harmlosen Fehler: Sie versuchen, getDC mit einem ungültigen Fensterhandle aufzurufen.
 procedure TForm1.Button1Click(
 Sender: TObject);
 var
 h : thandle;
 begin
 h := getDC(12345678);
 if h = 0 then
 begin
 memo1.lines.clear;
 memo1.Lines.add(
 GetLastErrorDesc);
 end;
 end;
 Den Rückgabewert der Funktion get-DC speichern Sie in der Variablen h. Wenn die Operation erfolglos bleibt, rufen Sie die Funktion getLastErrorDesc auf, die Sie so einbauen:
 function GetLastErrorDesc :
 string;
 var
 szBuffer : array[0..255] of
 char;
 last : dword;
 begin
 FillChar( szBuffer, sizeof(
 szBuffer ), 0 );
 last := getlasterror;
 FormatMessage(
 FORMAT_MESSAGE_FROM_SYSTEM,
 nil, last, 0,
 szBuffer, 255, nil );
 result := 'Fehlernummer: #'
 +inttostr(last)+#13#10;
 result := result +
 StrPas( szBuffer );
 end;
 Die Funktion FormatMessage wird durch den Parameter FORMAT_ MESSAGE_FROM_SYSTEMangewiesen, in den Systemtabellen nach einer Beschreibung des Fehlers zu suchen. Weitere Parameter, um auch Fehlerbeschreibungen anderer DLLs zu durchsuchen, finden Sie in der Win32-Hilfedatei unter dem Stichwort FormatMessage.
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 20:05


Komponenten testen

Statt mühsam die Systembibliothek zu übersetzen, testen Sie neue Komponenten, ohne sie zu installieren.
 Zwar arbeitet Delphi schnell, doch ist es doch nervig, bei der Entwicklung einer Komponente diese ständig neu in die DCL-Bibliothek (Delphi Compiled Li-brary) einbinden zu müssen. Aber es geht auch leichter. Haben Sie beispielsweise eine Komponente der Klasse TH-LLabel, die Sie in einem Testfenster probieren möchten, binden Sie sie einfach zur Laufzeit ein. Dazu deklarieren Sie die zugehörige Unit im Uses-Abschnitt. Anschließend erzeugen Sie im OnCreate-Ereignis eine oder mehrere Instanzen dieses Objekts.
 With THLLabel.Create(Self) Do Begin
 Erst wenn Sie die Parent-Eigenschaft setzen, wird das Control zur Laufzeit sichtbar:
 Parent := Self;
 Anschließend setzen Sie weitere Eigenschaften des Steuerelements:
 Caption := 'Highlight Label'
 Left := 100; Top := 20;
 End;
 Um das Entfernen brauchen Sie sich an dieser Stelle nicht zu kümmern, da es sich nur um einen Test handelt und Del-phi beim Löschen des Formulars alle Verweise bereinigt.
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 20:06


Komponenten während der Laufzeit verschieben

Beim Programmieren lassen sich Komponenten auf dem Formular durch Drag&Drop platzieren und verschieben.
 Läuft Ihr Programm, sind die sichtbaren Komponenten fest an Ihrem Platz. Durch einen Trick geben Sie den Komponenten ihre Beweglichkeit zurück, so dass der User Eingabefelder, Buttons und andere Objekte frei auf dem Formular verschieben kann. Legen Sie per Doppelklick eine Ereignisbehandlungsroutine für das Ereignis MouseDown an:
 procedure TForm1.
 Button1MouseDown(Sender:
 TObject; Button: TMouseButton;
 Shift: TShiftState; X, Y:
 Integer);
 const
 SC_DragMove = $F012;
 begin
 ReleaseCapture;
 (Sender as tControl).perform(
 WM_SysCommand,
 SC_DragMove, 0);
 end;
 Innerhalb dieser Methode senden Sie den nicht dokumentierten Befehl SC_DragMove an die Komponente. Solange die Maus gedrückt bleibt, können Sie die Komponente mit dem Mauszeiger verschieben. Benutzen Sie den Objekt-Inspektor, um auch anderen Elementen diese Eigenschaften zuzuweisen. Wählen Sie aus der Seite Ereignisse die Liste verfügbarer Methoden aus, die in der Listbox neben OnMouseDown erscheint. Wählen Sie dort den Namen der vorher definierten Methode: hier Button1MouseDown. Das Beispielprogramm finden Sie auf der Heft-CD im Unterverzeichnis drag.
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 20:07


Kontrolle von AutoPlay

Mit Hilfe einer Nachricht können Sie die AutoPlay-Funktion von Windows ein- und ausschalten.
 Wenn Sie eine CD mit einer funktionierenden autorun.inf im Hauptverzeichnis einlegen, startet ab Windows 95 die CD automatisch ein Programm. Wenn diese Funktion lästig wird, können Sie sie temporär ausschalten, indem Sie die [Umschalt]-Taste drücken. Wenn Sie den Benutzer auffordern wollen, eine CD einzulegen, ohne deren Startbildschirm einzublenden, müssen Sie in Ihrem Programm AutoPlay deaktivieren. Windows hilft ab: Es versendet an die Anwendung, die sich im Vordergrund befindet, die Nachricht Query-CancelAutoPlay. Deren ID erhalten Sie mit der Funktion RegisterWindowMessage, wenn Sie den Namen der Anwendung übergeben. Diese Nachricht muss Ihr Hauptformular abfangen, damit Sie durch Rückgabe des Werts 1 die AutoPlay-Funktion deaktivieren oder mit dem Wert 0 AutoPlay aufrufen können. Diese Arbeit nimmt Ihnen die Komponente TAutoPlay ab, die Sie in der Unit Autoplay. pas (Heft-CD) finden. TAutoPlay schaltet sich in die Nachrichtenverwaltung des Formulars ein, auf dem sie platziert ist. Mit folgendem Quellcode ermitteln Sie, wo sich die Komponente befindet:
 OwnerComponent := Self;
 while (OwnerComponent <> nil)
 and not
 (OwnerComponent is TCustomForm)
 do
 OwnerComponent :=
 OwnerComponent.Owner;
 if OwnerComponent <> nil then
 FOwnerForm :=
 TCustomForm(OwnerComponent)
 else
 FOwnerForm := nil;
 Danach verbiegt die Komponente die Nachrichtenmethode des Formulars auf eine eigene und speichert die alte Nachrichtenmethode des Formulars in einer
 Variablen:
 FOldWindowProc :=
 FOwnerForm.WindowProc;
 FOwnerForm.WindowProc :=
 WindowProc;
 Innerhalb dieser Methode der Komponente wird die Nachricht QueryCancel-AutoPlay verarbeitet, alle anderen Nachricht werden an das Formular zurückgegeben. Möchten Sie die AutoPlay-Funktion deaktivieren, so setzen Sie einfach die Eigenschaft AllowAutoPlay der Komponente auf false, anderenfalls auf true. Alles weitere erledigt die Komponente für Sie. Beachten Sie aber, dass dies nur funktioniert, solange sich Ihre Anwendung im Vordergrund befindet, und Sie mindestens Windows 98 oder den Internet Explorer 4.0 installiert haben. Ein Beispielprogramm finden Sie im Verzeichnis ...\AutoPlayauf der Heft-CD.
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 20:07


Lange Dateinamen konvertieren

Mit den langen Dateinamen seit Windows 95, die bis zu 256 Zeichen enthalten dürfen, haben Sie die Aufgabe, diese Dateinamen DOS-kompatibel zu konvertieren.
 Die langen Dateinamen sorgen ab Windows 95 dafür, daß Anwender ihre Dateien leichter finden. Programmierer bekommen für DOS-Anwendungen das Problem, lange Dateinamen in DOS-kompatible Zeichen konvertieren zu müssen. Denn DOS ist nicht in der Lage, Dateinamen mit mehr als acht Zeichen darzustellen. Deshalb kann es manchmal nötig sein, einen längeren Windows-95-Dateinamen in einen DOS-String zu verwandeln. Um dies in Ihren Delphi-Projekten zu realisieren, benötigen Sie folgende Funktion in Ihrer Unit:
 function ExtractShortPathName
 (const FileName:string):string;
 var
 Buffer:
 array[0..MAX_PATH] of Char;
 begin SetString(Result, Buffer,
 GetShortPathName(PChar
 (FileName),
 Buffer, SizeOf(Buffer)));
 end;
 Um einen gekürzten DOS-String wieder in eine Windows-95-kompatible Zeichenkette zu verwandeln, ist eine aufwendigere Funktion nötig:
 function ExtractLongPathName
 (const PathName:string):string;
 var LastSlash, PathPtr: PChar;
 function ExtractLongFileName
 (const FileName:string):string;
 var Info: TSHFileInfo;
 begin if
 SHGetFileInfo(PChar(FileName),
 0, Info, Sizeof(Info),
 SHGFI_DISPLAYNAME) <> 0 then
 Result :=
 string(Info.szDisplayName)
 else
 Result := FileName;
 end;
 begin
 Result := ''
 PathPtr := PChar(PathName);
 LastSlash:=
 StrRScan(PathPtr, '\');
 while LastSlash nil do
 begin
 Result := '\' +
 ExtractLongFileName(PathPtr)
 + Result;
 if LastSlash <> nil then
 begin
 LastSlash^ := #0;
 LastSlash :=
 StrRScan(PathPtr, '\');
 end;
 end;
 Result := PathPtr + Result;
 end;

Verfasser: Andreas
Letzte Änderung: 2012-03-09 20:08


Laufschrift im Fenstertitel

Eine Laufschrift im Windows-Fenstertitel ist in Delphi in einer Zeile programmiert.
 Mit nur einer Zeile Code machen Sie aus einem öden Windows-Fenstertitel eine Laufschrift. Alles, was Sie dazu benötigen, ist eine TTimer-Komponente. Plazieren Sie diese in Ihrem Fenster, und geben Sie für das OnTimer-Ereignis den Befehl
 procedure TForm1.Timer1Timer (Sender: TObject);
 begin
 Caption := Copy(Caption, 2, Length(Caption)-1) + Copy(Caption, 1, 1);
 end;
 ein. Es reicht, wenn Sie das Intervall des Timers auf 100 Millisekunden setzen, um eine flüssige Animation zu erhalten. Wichtig ist, daß Sie genügend führende Leerstellen an den Text des Fenstertitels anhängen, beispielsweise durch
 procedure TForm1.FormCreate (Sender: TObject);
 Var I: Integer; S: String;
 begin For I:=1 to 50 Do S:=S+' '
 Caption := S + Caption;
 end;
 Selbst wenn Sie das Fenster minimieren, läuft die Schrift weiter, was besonders unter Windows 95 in der TaskLeiste auffällt. Bei diesem Tip sind Sie in der Schriftwahl eingeschränkt, damit der Text lesbar bleibt.
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 20:08


Laufwerkstyp ermitteln

Um einen Dateimanager zu programmieren, ermitteln Sie mit diesem Tipp die verschiedenen Laufwerke.
 Der Explorer ordnet den Laufwerkstypen verschiedene Icons zu. Wenn Sie einen Dateimanager programmieren, müssen Sie den Typ des jeweiligen Laufwerks kennen. Delphi bietet dafür eine vorgefertigte Funktion an. In einem Windows-System kann es höchstens 26 Laufwerke von A bis Z geben. Für jedes Laufwerk testen Sie, um welchen Typ es sich handelt, wozu Sie eine For-Schleife schreiben:
 for I:=0 to 25 do
 Die Funktion GetDriveType gibt den Typ eines Laufwerks zurück. Als Parameter erwartet die API-Funktion eine Variable vom Typ PChar. Benutzen Sie zuerst eine String-Variable, und verwandeln Sie diese in den PChar-Typ. So können Sie GetDriveType aufrufen:
 GetDriveType('a:\');
 Diese Funktion gibt einen Integer-Wert zurück, der die passenden Konstanten enthält. Ist ein Laufwerk nicht vorhanden, gibt die Funktion 0 zurück. Eine Ifoder Case-Abfrage verrät den Laufwerkstyp.
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 20:09


Liste aller Fenster anzeigen

Viele Windows-Programme verrichten ihre Arbeit im Hintergrund, wovon die Taskleiste nichts verrät. Dieser Tipp gewährt Einblick.
 Der Taskmanager von Windows 95/98 und NT zeigt zwar alle laufenden Prozesse an, eine Liste der versteckten Fenster gibt er jedoch nicht aus. Mit ein paar Zeilen Delphi-Code ermitteln Sie, welche Fenster versteckt im Hintergrund laufen, die Sie per Doppelklick sichtbar schalten. Rufen Sie die Funktion EnumWindows auf, der Sie als ersten Parameter die Adresse der folgenden Prozedur übergeben:
 function EnumWindowsProc(
 aHWND: thandle;
 lparam: tListbox):boolean;
 stdcall;
 var
 b: array[0..255] of char;
 begin
 getWindowText(aHWnd, <>b, 255);
 if (b <> '') then
 begin
 [...]
 end;
 end;
 procedure TForm1.Button1Click
 (Sender: TObject);
 begin
 EnumWindows(
@>enumWindowsProc,0);
 end;
 Das Beispielprogramm auf der Heft-CD im Unterverzeichnis TaskLeistezeigt alle Fenster an, wobei ein Doppelklick das ausgewählte Fenster am Bildschirm sichtbar macht sogar wenn es versteckt war.
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 20:09


Liste der logischen Laufwerke

So erfahren Sie, wie viele Laufwerke auf Ihrem Rechner vorhanden sind.
 Nicht nur über die Art, auch über die Anzahl der Laufwerke können Sie sich informieren. Über GetLogicalDrive-Strings gibt Win Ihnen eine Liste der logischen Laufwerke in Ihrem Rechner an. Um die Liste direkt in einer Komponente vom Typ tListBox anzeigen zu lassen, benutzen Sie folgende Funktion:
 procedure GetLogicalDrives(
 aList: TStrings);
 Um die Liste direkt nach dem Programmstart zu füllen, rufen Sie die Funktion in der Ereignisbehandlung für FormCreate auf:
 procedure TForm1.FormCreate(
 Sender: TObject);
 begin
 getLogicalDrives(
 listbox1.items);
 end;

Verfasser: Andreas
Letzte Änderung: 2012-03-09 20:10


Lokale IP-Adresse

So finden Sie die lokale IP-Adresse mit der Unit winsock.
 Für manche Online-Anwendungen ist es wünschenswert, die lokale IP-Adresse des Benutzers zu kennen. Dazu binden Sie zunächst die Unit winsock in die uses-Anweisung ein. Anschließend genügt der Aufruf einer Funktion, um die lokale IP-Adresse auszulesen:
 function GetLocalIPAddress:
 string;
 var
 p : PHostEnt;
 s : array[0..128] of char;
 p2 : pchar;
 wVersionRequested : WORD;
 wsaData : TWSAData;
 begin
 wVersionRequested :=
 MAKEWORD(1, 1);
 WSAStartup
 (wVersionRequested, wsaData);
GetHostName(@s,128);
 p := GetHostByName(@s);p2 := iNet_ntoa(PInAddr
 (p^.h_addr_list^)^);
 Result := p2;
 WSACleanup;
 end;
 Ein Beispielprogramm finden Sie auf der Heft-CD unter ...IP/Project1.exe.
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 20:10


Löschen in den Papierkorb

Was im Papierkorb verschwunden ist, läßt sich leicht reaktivieren, was das Verfahren für eigene Projekte reizvoll macht.
 Seit Windows 95 existiert der Papierkorb (Recycle), der den Vorteil hat, daß dessen Inhalte nicht verloren sind. Ab Delphi 2 nutzen Sie dessen Funktionalität, indem Sie die Funktion SHFile-Operation verwenden, die in der Unit ShellAPI deklariert ist. Vergessen Sie also nicht, erst den Eintrag ShellAPI in der Uses-Klausel aufzunehmen. Die Funktion
 function SHFileOperation(const lpFileOp: TSHFileOpStruct): Integer;
 erhält nur einen Parameter. Dieser besteht jedoch aus einer Struktur namens TSHFileOpStruct, die es vor dem Einsatz zu füllen gilt.
 Type TSHFileOpStruct = record
 Wnd: HWND;
 wFunc: UINT;
 pFrom: PAnsiChar;
 pTo: PAnsiChar;
 fFlags: FILEOP_FLAGS;
 fAnyOperationsAborted: BOOL;
 hNameMappings: Pointer;
 lpszProgressTitle: PAnsiChar;
 end;
 Var SHFileOP: TSHFileOpStruct;
 Als erstes belegen Sie das Handle, die Art der Funktion und die Parameter:
 SHFileOP.Wnd:= Handle;
 SHFileOP.wFunc := FO_DELETE;
 SHFileOP.fFlags:= FOF_ALLOWUNDO;
 Anschließend füllen Sie eine gewöhnliche String-Variable mit den Dateinamen. Als Trennzeichen verwenden Sie Chr(0). Am Ende der Zeichenkette geben Sie ein weiteres Nullzeichen ein:
 S := 'C:\Test1.Txt' + #0 + 'D:\Abc.Def' + #0#0;
 Nun füllen Sie noch das Feld pFrom, das Sie mit Hilfe der neuen Strings seit Delphi 2 mit
 SHFileOp.pFrom := PChar(S);
 belegen. Rufen Sie nun
 Erg:=SHFileOperation(SHFileOp);
 auf, löscht das System die Dateien in den Papierkorb. Falls es Probleme gibt, erhalten Sie in Erg den Fehlercode.
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 20:11


Mausereignisse simulieren

Mit einer Windows-Funktion simulieren Sie Mausklicks.
 Sie möchten verschiedene Anwendungen durch simulierte Mausklicks fernsteuern, um darin Fenster zu verschieben, Menüeinträge aufzurufen oder Buttons zu aktivieren? Zu diesem Zweck gibt es in der Windows-API die Funktion mouse_event. Mit mouse_event können Sie beliebige Bewegungen und Klicks der Maus simulieren. Um beispielsweise ein Drücken und Festhalten der linken Maustaste an der aktuellen Position zu simulieren, genügt ein einziger Aufruf:
 mouse_event
 (MOUSEEVENTF_LEFTDOWN,0,0,0,0);
 Wollen Sie einen richtigen Mausklick simulieren, müssen Sie auch für das Loslassen der Maustaste sorgen:
 mouse_event
 (MOUSEEVENTF_LEFTUP,0,0,0,0);
 Um Mausklicks an festen Mauspositionen zu simulieren, fügen Sie das MOUSEEVENTF_ABSOLUTE-Flag hinzu. Durch die folgende Zeile wird ein MouseDown-Ereignis (Mausklick) ganz links oben auf dem Bildschirm aus-gelöst:
 mouse_event
 (MOUSEEVENTF_LEFTDOWN
 or MOUSEEVENTF_ABSOLUTE,
 200,123,0,0);
 Die untere rechte Ecke des Bildschirms hat die Koordinaten (65535,65335):
 mouse_event
 (MOUSEEVENTF_LEFTDOWN
 or MOUSEEVENTF_ABSOLUTE,
 65535, 65535, 0, 0);
 Mit der folgenden Zeile bewegen Sie den Mauszeiger nach rechts oben:
 mouse_eventf
 (MOUSEEVENTF_MOVE,
 10, -20, 0, 0);
 Auch bei Bewegungen können Sie wie in den vorigen Listingzeilen feste Koordinaten angeben.

Verfasser: Andreas
Letzte Änderung: 2012-03-09 20:11


MCI-Geräte steuern

Aus Delphi-Programmen heraus sprechen Sie Multimedia-Geräte über die MCI-Schnittstelle der Multimedia-Treiber an.
 Viele Multimedia-Geräte unter Windows haben ein Media Control Interface (MCI). Über diese Schnittstelle können Sie auf die entsprechenden Geräte zugreifen, ohne sie kennen zu müssen. So können Sie bequem Audio-CDs, AVI-/ MPEG-Videos oder MIDI-Songs abspielen. Auch die Delphi-eigene Komponente TMediaPlayer verwendet die MCI-Schnittstelle. Die ganze Komponente brauchen Programmierer jedoch eher selten, so daß Sie für einfachere Aufgaben direkt auf die Schnittstelle zugreifen können. Dabei kommunizieren Sie mit den Geräten über Kommandozeilen, die Sie Windows übergeben. Die Schnittstelle antwortet ebenfalls im Klartext, so daß sich das Prinzip relativ leicht durchschauen läßt. Da Sie mit wenigen Befehlen auskommen, läßt sich die Syntax leicht erlernen. Es folgen einige Beispiele für eine genauere Beschreibung der MCI-Schnittstelle. Die entsprechenden Befehle finden Sie wiederum in der Online-Dokumentation. Sie greifen entweder über die Funkti-on mciSendString aus der Unit MMSystem zu oder mit Hilfe der selbstge-schriebenen Prozedur MCIStrSend. Diese befreit Sie von einigen lästigen Aufgaben, die Sie sonst selbst übernehmen müßten. Beispielsweise wird im Fehlerfall automatisch eine Fehlermeldung zurückgegeben, die Sie über Show-Message erfahren. Das erste Beispiel verwendet MCIStr-Send, um eine MIDI-Datei auszugeben:
 var
 ReturnStr, ErrStr: string;
 ErrCd: Integer;
 begin MCIStrSend
 ('open mysong.mid alias midso',
 ReturnStr, ErrCd, ErrStr);
 MCIStrSend('play midso',
 ReturnStr, ErrCd, ErrStr);
 end;
 Während die MIDI-Datei abgespielt wird, können Sie die Wiedergabe jeder-zeit stoppen:
 MCIStrSend('stop midso',
 ReturnStr, ErrCd, ErrStr);
 Am Ende der Programms sollten Sie aber nicht vergessen, die Treiber zu schließen:
 MCIStrSend('close midso',
 ReturnStr, ErrCd, ErrStr);
 Der erste Parameter von MCIStrSend ist der Befehl an den Treiber. Die anderen enthalten nach Rückkehr der Prozedur jeweils das Ergebnis, den Fehlercode und die Fehlermeldung, die der Treiber zurückliefert. Und so spielen Sie Sounddateien ab:
 MCIStrSend
 ('open mysound.wav alias mywav',
 ReturnStr, ErrCd, ErrStr);
 MCIStrSend('play mywav',
 ReturnStr, ErrCd, ErrStr);
 Mit Hilfe der MCI läßt sich auch eine Nachricht nach der Wiedergabe ausge- ben. Während das Programm mit der Ausführung wartet, können Sie Ton ausgeben, bis dieser verklungen ist. Weiterhin greifen Sie abhängig vom Gerätetyp auf Dateiposition, Abspielgeschwindigkeit und viele andere Parameter zu.
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 20:12


Mehr als 255 Zeichen aus einer Zeile lesen

Statt 1024 Byte auf dem Heap zu belegen, begnügt sich eine Pointer-Zuweisung mit 4 Byte.
 Manchmal kann es vorkommen, daß Sie im Programm Zeilen aus einer Textdatei lesen, die mehr als 255 Zeichen enthalten. Dann können Sie sich mit zeillang.pas (Listing in Databox 8/98) behelfen.
 Wenn Sie den eingelesenen Text in einer Funktion weiterverarbeiten, die als Parameter einen PChar verlangt, weisen Sie die Variable pBuf mittels PChar (pBuf) zu (typecasten).
 Sie können natürlich auch eine Variable vom Typ TLine deklarieren, allerdings belegen Sie dann 1024 Byte auf dem Heap. Die vorgeschlagene Methode belegt nur 4 Byte für den Pointer.
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 20:12


Mehr als nur Bitmaps

Units auf der CD-ROM von Delphi zeigen JPEG- und FIF-Bilder.
 Die Suche auf der Delphi-CD-ROM lohnt sich fast genauso wie das Stöbern auf dem Dachboden der Großeltern. So "stolpern" Sie nämlich über das Verzeichnis \INFO\EXTRAS mit drei Unterverzeichnissen, die Daten komprimieren helfen. Alle Units dort nutzen Sie ohne Lizenzgebühren.
 - Die Unit FIF läßt Sie fraktal-komprimierte Bilder anzeigen.
 - Unter ZLIB finden Sie eine Unit, um Dateien zu komprimieren. Obgleich ZLIB denselben Algorithmus wie PkZip verwendet, sind die Archive nicht kompatibel. Mehr über die PkZip-kompatible Bibliothek Abbrevia von TurboPower finden Sie in einer der nächsten Ausgaben als Projekt.
 Die letzte Unit hilft, JPEG-Dateien anzulegen, zu lesen und in Bitmaps umzuwandeln.
 In der Klasse TJpegImage befinden sich ein JPEG-Image, ein MemoryStream und ein TBitmap, die das Bild aufnehmen kann. Das passende Dateiformat wählt die Klasse.
 Selbstverständlich erlaubt sie es, Bilddaten mit der Zwischenablage auszutauschen und den Kompressionsfaktor der JPEG-Bilder einzustellen.
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 20:13


Mehrere Medien

Dieser Tipp hilft, wenn Ihr Programm mit mehreren CD-Medien arbeiten soll.
 Windows löst eine Botschaft aus, wenn der Anwender das CD-ROMLaufwerk öffnet oder schließt. Diese Funktion nutzen Sie auch in einem Programm, das mit mehreren Medien arbeitet. Um auf das Öffnen/Schließen des Laufwerks zu reagieren, fangen Sie eine Windows-Botschaft ab. Delphi kapselt viele Botschaften als Ereignisse. Liegt zu einer Windows-Botschaft keine Kapselung vor, müssen Sie sie selbst abfangen. Dazu deklarieren Sie eine Prozedur im Private-Abschnitt der Formular-Klasse:
 procedure WMDeviceChange
 (var Msg: TMessage);
 message WM_DEVICECHANGE;
 Der Referenzparameter Msg vom Typ TMessage enthält die Botschaftswerte. Die Integer-Konstante hinter der Anweisung message (Botschafts-ID) identifiziert die Botschaft. Nachdem Sie die Prozedur deklariert haben, implementieren Sie die Routine mit der Anweisung inherited. Diese sucht bei dem direkten Vorfahren nach einer Routine mit derselben Botschafts-ID und führt diese aus. Hinter dem Referenzparameter Msg verbirgt sich ein Record. Dessen Variable wParam nimmt je nach Status des CD-Laufwerks zwei Werte an:
 CD_IN
 für ein geöffnetes Laufwerk und
 CD_OUT,
 wenn das Laufwerk geschlossen wurde. Der Parameter hat den Hexadezimalwert $8000 für CD_OUTund $8004 für CD_IN. Darauf reagieren Sie per Case-Anweisung. Das Ereignis wird nur ausgelöst, wenn der Anwender die Option Automatische Benachrichtigung bei Wechsel aktiviert hat. Auch per Programm lässt sich das CD-ROM öffnen und schließen. Dazu senden Sie über die Funktion mciSend-String einen Befehl an das Laufwerk, welches das MCI-Device darstellt. Die Funktion erwartet vier Parameter:
 Der erste bestimmt das Öffnen und Schließen.
 Die nächsten beiden erwarten zurückgegebene Informationen.
 Dem letzten übergeben Sie das Handle der Anwendung.
 Binden Sie die Unit mmsystem ein. Die Funktion kapseln Sie folgendermaßen:
 function OpenCDDrive
 (const AOpen: Boolean;
 const AHandle: Integer): DWORD;
 begin case AOpen of
 True: Result:=mciSendString
 ('Set cdaudio door open wait',
 nil, 0, AHandle);
 False: Result:=mciSendString
 ('Set cdaudio door closed wait',
 nil, 0, AHandle); end; end;
 Dem ersten Boole'schen Parameter übergeben Sie True (CD-ROM öffnen) oder False. Dem Parameter AHandle übergeben Sie ein Handle wie das des Hauptfensters. Die Methode spricht das Laufwerk an, das in Windows für Audio registriert ist.
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 20:13


Mein Projekt zieht um

Wer sein Projekt in ein anderes Verzeichnis kopiert, öffnet mit Delphi die Original-, nicht die kopierten Dateien.
 Wenn Sie ein Projekt in ein anderes Verzeichnis kopieren wie von d:\test1 nach e:\test2, haben Sie zunächst zwei identische Verzeichnisse, doch Sie wollen mit e:\test2 arbeiten. Nur setzt der Editor Ihnen immer wieder die Dateien aus dem Ursprungsverzeichnis d:\test1 vor. Nennen Sie Ihr Ursprungsverzeichnis d:\test0, findet Delphi die Dateien nicht mehr.
 Die einfachere Lösung hingegen ist, im Verzeichnis e:\test2 die dsk-Datei (dsk steht für Desktop File) des Projekts zu löschen. Delphi speichert darin die Einstellungen des Projekts. Dort befinden sich Informationen über die geöffneten Fenster, ihre Positionen und eben auch die Pfadangaben, welche Dateien sich in welchen Fenstern befinden. Delphi generiert diese Datei immer beim Verlassen des Projekts, vorausgesetzt, Sie haben im Menüpunkt Tools/Umgebungsoptionen/Vorgaben/Optionen für Auto-Speichern die Option Desktop angewählt.
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 20:14


Memos speichern

So beseitigen Sie einen überflüssig gespeicherten Zeilenumbruch bei den Memos.
 Mit dem Befehl SaveToFile() können Sie den Text eines Memos in eine beliebige Datei speichern. Dabei fügt Delphi am Ende der letzten Zeile einen Umbruch ein. Das kann sich unter Umständen als Fehlerquelle erweisen. Mit einem Trick kann Abhilfe geschaffen werden. Entfernen Sie mit Hilfe der Funktion TruncStr den Zeilenumbruch am Ende:
 function TruncStr
 (const S: String): String;
 var i: Integer;
 begin
 i:=Length(S);
 while (i>0) and
 (S[i] in [^J, ^M]) do dec(i);
 Result:=Copy(S, 1, i);
 end;
 Weiterhin schreiben Sie zwei Prozeduren zum Speichern, da der Text nicht über die TStrings-Eigenschaft des Memos, sondern über das Object Tstream gespeichert wird:
 procedure SaveTextToStream
 (const Text: String;
 Stream: TStream);
 begin
 Stream.WriteBuffer(Pointer
 (Text)^, Length(Text));
 end;
 procedure SaveTextToFile
 (const Text, FileName: string);
 var Stream: TStream;
 begin
 Stream:=TFileStream.Create
 (FileName, fmCreate);
 try
 SaveTextToStream(Text, Stream);
 finally Stream.Free;
 end;
 end;
 Um jetzt den Text eines Memos zu speichern, genügt die Zeile:
 SaveTextToFile(TruncStr
 (Memo.Items.Text), 'datei.txt');
 Ein Beispielprogramm finden Sie auf der Heft-CD unter ...Memo/Project1.exe.
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 20:15


Menüpunkte zur Laufzeit

Nutzen Sie diesen Tipp, wenn Sie zur Laufzeit neue Menüpunkte dynamisch festlegen wollen.
 In manchen Situationen, zum Beispiel um verfügbare Plug-ins anzeigen zu lassen, ist es sinnvoll, die einzelnen Einträge eines Menüs erst zur Laufzeit anzulegen. Meistens ist die Anzahl der Menüpunkte (MenuItems) zur Entwurfszeit noch nicht bekannt. Deklarieren Sie eine Instanz eines MenuItem, und reservieren Sie dafür Speicher:
 var
 MenuItem: TMenuItem
 begin
 MenuItem:=
 TMenuItem.Create(Self);
 Damit greifen Sie auf MenuItem zu, ohne eine Speicherschutzverletzung zu riskieren. Sie verändern die Eigenschaften wie bei anderen Komponenten:
 MenuItem.Caption:=
 'Neuer Menüeintrag'
 MenuItem.Tag:=102;
 Einen Ereignis-Handler weisen Sie ebenso zu. Diese Prozedur erwartet eine Variable Sender vom Typ TObject, auch wenn diese in der Zuweisung nicht angegeben wird.
 MenuItem.OnClick:=
 NeuerEintrag1Click;
 In den meisten Fällen müssen Sie der Eigenschaft Parent ein Objekt zuweisen, damit die Komponente auf dem Formular sichtbar wird. Hier unterscheiden sich Komponenten von zusätzlichen Menüeinträgen, denen Sie einen Parent anders zuweisen. Sie fügen den Menüeintrag dem zugeordneten Main-Menu hinzu. MainMenu1 ist in diesem Fall das übergeordnete Menü:
 MainMenu1.Items.Items[0].Add
 (MenuItem);

Verfasser: Andreas
Letzte Änderung: 2012-03-09 20:15


Mit dBase-Dateien arbeiten

Mit geringem Programmieraufwand nutzen Sie dBase-Dateien unter Delphi.
 Die Nummer des aktuellen Datensatzes bestimmen Sie mit BDE-Befehlen (Borland Database Engine). Doch nur bei Paradox und dBase, da die BDE die Datensatznummer nicht bei SQL-Datenbanken bestimmen kann. Darüber hinaus gibt es einen Unterschied zwischen Paradox und dBase: Bei letztgenannten liefert die Funktion GetRecNum.pas (Listing in Databox 8/98) immer die physische Satznummer. Auch wenn Sie die Anzeige der Datensätze mit einem Tquery eingeschränken, zeigt die Funktion die Datensatznummer in der Datei an, und nicht die Nummer des Datensatzes relativ zur sichtbaren Datenmenge. Der Funktion übergeben Sie zum Beispiel den Wert TABLE1. Die Tabelle (DataSet) muß dabei geöffnet sein. Alle BDE-Aufrufe binden Sie in die Funktion CHECK ein, damit Sie notfalls eine Fehlermeldung erhalten, wenn eine Funktion fehlschlägt.
 dBase löscht Datensätze erst aus einer Datei, wenn diese gepackt wird. Zuvor versieht dBase die Datensätze nur mit einer Löschmarkierung. Allerdings zeigt Delphi diese nicht mehr an. Die Prozedur ShowDeleted.pas (Listing in databox 8/98) sorgt dafür, daß Sie Datensätze mit Löschmarkierung in der Tabelle TT sehen, wenn der Parameter ANZEIGEN auf true steht.
 Schließlich wollen Sie die als gelöscht markierten Datensätze auch aus der Datenbank entfernen. Dazu packen Sie eine dBase-Datei: Öffnen Sie eine Tabelle exklusiv. Dabei müssen Sie die Tabelle erst schließen, auf exklusiv setzen und wieder öffnen. Nach dem Packen führen Sie diese Befehle erneut aus, wobei Sie die Tabelle aber wieder auf den Wert shared setzen. Die dazugehörenden Befehle sind in TabSchluss.pas (Listing in Databox 8/98) leicht zu erkennen.
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 20:16


Mit List und Tücke unsichtbar

Während die visuelle Komponente Listbox Strings sichtbar macht, bleiben sie mit einer TStringList unsichtbar.
 In Listboxen bringen Sie relativ problemlos viele Strings der Eigenschaft Items unter, für die Sie sich sonst erst eine Datenstruktur ausdenken müßten. Nur brauchen Sie eben dafür immer gleich eine Listbox. Diese können Sie aber auch unsichtbar machen, indem Sie ihre Visible-Eigenschaft auf false setzen.
 Doch es geht auch anders: Delphi bietet eine Art Items ohne Listbox-Overhead. Das Ganze heißt TStringList, ist ein klein wenig anders zu behandeln, funktioniert aber reibungslos.
 Der Unterschied besteht darin, daß, ohne ein Steuerelement dahinter, die Klasse zur Laufzeit instantiiert werden muß. Sie rufen also explizit die Methode Create auf, um Speicherplatz für die Datenstruktur zu schaffen:
 var StrList: TStringList;
 begin
 StrList:=TStringList.Create;
 // Sortieren gewünscht?
 StrList.Sorted:=true;
 // nur Inhalt löschen
 StrList.Clear;
 // Hinzufügen eines Eintrags
 StrList.Add ('Ein Eintrag');
 // Speicherplatz freigeben
 StrList.Free;end;
 Die Eigenschaft Duplicates legt fest, wie die StringList damit umgehen soll, wenn Sie einen bereits enthaltenen Wert erneut hinzufügen. Wählen Sie als Einstellung dupIgnore, wird der neue Wert nicht eingetragen. Wählt der Benutzer dupAccept für diese Property, fügen Sie den Wert ein weiteres Mal hinzu. dupError löst die Exception EListError aus, die beim doppelten Einfügen bemängelt wird.
 Mit den Methoden Add, Delete und Find lassen sich Strings hinzufügen, löschen oder wiederfinden.
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 20:16


Mit Tasten scrollen

Programmieren Sie eine Funktion, um sich mit den [Bild auf]- oder [Bild ab]-Tasten durch ein Formular zu bewegen.
 Bei großen Formularen oder bei Projekten mit sehr vielen Kontrollelementen ist es übersichtlicher, anfangs die Größe zu beschränken. Delphi fügt zwar automatisch Rollbalken ein, diese können Sie aber nur mit der Maus bedienen. Wollen Sie sich im Formular mit den Tastenfunktionen bewegen, bauen Sie folgende Funktion ein.
 Legen Sie eine Behandlungsroutine auf das Ereignis (Event) FormKeyDown. Die Konstante Schritt legt die Weite fest, um die Sie ein Tastendruck im Formular bewegen soll. In Abhängigkeit der gedrückten Taste - next für abwärts und prior für aufwärts - erhöhen oder vermindern Sie den Wert der Eigenschaft (Property) Position von VetScrollBar. Dies übernehmen Sie analog, wenn Sie nach links oder rechts rollen.
 Dabei können Sie beliebige Tasten verwenden, sofern Sie vom Gebrauch einiger Sondertasten wie der [Eingabe]- oder [Tab]-Taste absehen. Auch sollten Sie den Cursortasten ihre Funktion lassen.
 Innerhalb der Funktion FormKeyDown (Zeile 44) im Demoprogramm unit1.pas (Listing in Databox 8/98) finden Sie einen weiteren Tip: die Belegung eigener Hotkeys, die nicht mit einem Menü assoziiert sind.
 Betätigen Sie die Tastenkombination [Strg-C], startet die Funktion CopyAutoexec als Beispiel.
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 20:17


Monitor ausschalten

Dieser Tip zeigt Ihnen, wie Sie den Monitor Ihres Delphi-Programms ausschalten.
 Einen überraschenden Effekt erzielen Sie, wenn Sie Ihrem Anwender einen Schaltknopf dafür anbieten, seinen Monitor schwarz zu schalten. Mit folgendem Code schalten Sie den Monitor aus:
 SendMessage
 (Application.Handle,
 WM_SYSCOMMAND,
 SC_MONITORPOWER, 0);
 Folgende Zeilen schalten ihn wieder ein:
 SendMessage
 (Application.Handle,
 WM_SYSCOMMAND,
 SC_MONITORPOWER, -1);

Verfasser: Andreas
Letzte Änderung: 2012-03-09 20:17


Name eines Datenträgers

Namen von Laufwerken geben erste Orientierungshilfen, dabei sind sie einfach wie Dateinamen auszulesen.
 Unter DOS und Windows sind die Namen der Festplatten-, CD-ROM- und Diskettenlaufwerke nichts anderes als gewöhnliche Dateien. Allerdings haben diese die Länge 0 und ein spezielles Attribut. Wollen Sie den Namen eines Laufwerks ermitteln, listen Sie lediglich alle Dateien auf, die das Attribut 8 besitzen. Im Code sieht das wie folgt aus:
 Function DiskName(LW: Char): String;
 Var S: TSearchRec;
 Begin
 If FindFirst(LW+':\*.*', faVolumeID, S) = 0 Then Result := S.Name
 Else Result := ''
 If Pos('.', Result) > 0 Then Delete(Result, Pos('.', Result),1 );
 End;
 Ab Delphi 2 ermitteln Sie die Laufwerksbezeichnung über die API-Routine GetVolumeInformation.
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 20:18


Nützliche assert-Anweisung

Wenn Sie Ihre Programme entwickeln und testen, gibt die Assert-Anweisung einen Notausstieg vor.
 Wenn der erste Parameter Ihres neuen Programms keinen wahren Ausdruck ergibt, wird ein Ausnahmefehler (Exception) generiert und der Name der Unit sowie die aktuelle Programmzeile angezeigt. Dadurch lässt sich einfach ermitteln, an welcher Stelle eine Bedingung nicht eingehalten wurde:
 procedure TForm1.Button1Click(
 Sender: TObject);
 begin
 assert(edit1.text <> '',
 'edit1 sollte immer gefüllt \
 sein!');
 end;
 Mit assert überprüfen Sie zwingend einzuhaltende Bedingungen, ohne die Ihr Programm nicht arbeiten kann. In unserem Beispielprogramm prüft assert, ob das Feld edit1 gefüllt ist. Wenn Sie den Text aus dem Eingabefeld löschen, generiert das Programm eine Exception und zeigt die Zeilennummer an, in der der Fehler aufgetreten ist. assert hilft auch bei der Fehlersuche, wenn ein Programm bereits ausgeliefert wurde und dort ein Fehler auftritt: Ohne Quellcode findet assert heraus, in welcher Zeile der Fehler aufgetreten ist.
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 20:18


Ohne Bildschirmschoner

In manchen Situationen ist es erforderlich, den Windows-Bildschirmschoner zu deaktivieren.
 Software, die zeitnah auf Ereignisse reagieren muss, etwa CD-Brenner-Programme, schalten den Bildschirmschoner aus, damit dieser nicht wertvolle Prozessorkapazitäten benutzt. Bevor Sie den Bildschirmschoner jedoch ganz abschalten, benutzen Sie eine Funktion, um ihn während der Laufzeit Ihres Programms zu deaktivieren:
 procedure TForm1.AppMessage (
 var Msg: TMsg;
 var Handled: boolean);
 begin
 if (Msg.Message =
 WM_SYSCOMMAND) and
 (Msg.wParam = SC_SCREENSAVE)
 then Handled := true;
 end;
 Die Methode AppMessage prüft, ob der Bildschirmschoner aufgerufen werden soll. Ist dies der Fall, liefert sie als Rückgabewert true zurück. Windows blockiert dann den Start des Schoners. Nun müssen Sie noch die Methode App-Message bei der Applikation anmelden, damit solche Nachrichten an sie weitergeleitet werden:
 procedure TForm1.FormCreate(
 Sender: TObject);
 begin
 Application.OnMessage :=
 AppMessage;
 end;

Verfasser: Andreas
Letzte Änderung: 2012-03-09 20:19


Online-Ressourcen

Im Internet gibt es eine Reihe besonders interessanter Sites für Delphi-Freaks.
 Wenn Sie auf das Internet zugreifen, gibt es dort Unmengen von Sites, die sich mit Delphi beschäftigen. Die beste ist die Delphi SuperPage:
 http://SunSITE.icm.edu.pl/delphi/
 http://SunSite.Informatik.RWTH-Aachen.DE/delphi/
 http://intermid.com/delphi
 Die Delphi SuperPage hat die wohl größte Ansammlung von Komponenten und Samples, während die Delphi Deli auch Tips und Tricks enthält.
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 20:19


OnMouseEnter und OnMouseLeave

OnMouseMove wird ausgelöst, wenn sich die Maus über ein Control bewegt. Dieser Tipp zeigt, welches Ereignis zuständig ist, wenn die Maus das Control verlässt.
 Fährt der Anwender mit der Maus über eine von TControl abgeleitete Komponente, löst er das Ereignis On-MouseMove aus. Ein Ereignis On-MouseLeave ist im Objektinspektor nicht zu finden. Doch Delphi generiert intern Nachrichten (VCL control mesage Ids), die Sie wie Windows Messages behandeln. Um die neuen Ereignisse zu nutzen, leiten Sie eine Komponente ab. Klicken Sie, nachdem alle laufenden Projekte geschlossen sind, auf den Menüpunkt Komponenten/Neue Komponente. Als Vorfahrtyp wählen Sie die Komponente, die Sie mit den neuen Ereignissen ausstatten möchten. Die Beispiel-Komponente auf der Heft-CD wählt dazu TButton. Weiterhin benötigen Sie Prozeduren, die das Ereignis verarbeiten und die Sie im Private-Abschnitt der Klasse deklarieren:
 FOnMouseEnter : TNotifyEvent;
 FOnMouseLeave : TNotifyEvent;
 Procedure CMMouseEnter
 (var Message: TMessage);
 message CM_MOUSEENTER;
 Procedure CMMouseLeave
 (var Message: TMessage);
 message CM_MOUSELEAVE;
 Die Variablen vom Typ TNotifyEvent stellen die späteren Ereignisvariablen dar. Damit die Ereignisse auch im Objektinspektor anwählbar sind, deklarieren Sie sie im Published-Abschnitt:
 published
 property OnMouseEnter:
 TNotifyEvent read FOnMouseEnter
 write FOnMouseEnter;
 property OnMouseLeave:
 TNotifyEvent read FOnMouseLeave
 write FOnMouseLeave;
 Das neue Ereignis OnMouseEnter spielt nun, wenn die Maus in den Control-Bereich bewegt wird, zusammen mit On-MouseLeave. Es fehlen die Implementationen der VCL-Botschaften:
 Procedure TMyButton.CMMouseEnter
 (var Message: TMessage);
 begin
 if Assigned(OnMouseEnter)
 then OnMouseEnter(self); end;
 Procedure TMyButton.CMMouseLeave
 (var Message: TMessage);
 begin
 if Assigned(OnMouseLeave)
 then OnMouseLeave(self); end;
 Die If-Anweisungen prüfen, ob dem Ereignis ein Event-Handler zugeordnet ist. Nach der Installation der Komponente handhaben Sie die Ereignisse gemäß dem Standard.
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 20:19


OnMove-Ereignis

Mit wenigen Zeilen Code fügen Sie Ihrem Formular ein On-Move-Ereignis hinzu.
 Zwar wird bei Delphi ein Ereignis ausgelöst, wenn sich die Größe eines Formulars ändert, für eine Benachrichtung beim Verschieben des Formulars existiert ein solches Ereignis jedoch nicht. Dies kann unter Umständen aber sehr hilfreich sein, vor allem, um die relativen Positionen von mehreren Formularen anzupassen. Um benachrichtigt zu werden, wenn der Benutzer das Formular verschiebt, genügt es, die WM_MOVE-Nachricht abzufangen, die Windows bei jeder Verschiebung eines Fensters versendet. Zu diesem Zweck fügen Sie der Deklaration der Form die folgende Zeile hinzu:
 procedure WMMove
 (var Msg: TMessage);
 message WM_MOVE;
 Um anhand der Benachrichtung durch eine Nachricht ein Ereignis auszulösen, deklarieren Sie zunächst ein Feld innerhalb des Formulars in der private-Sektion:
 FOnMove: TNotifyEvent;
 Der Typ TNotifyEvent steht für alle Ereignismethoden
 mit nur einem Parameter (Sender). Damit Sie auch von außerhalb auf das Ereignis zugreifen können, benötigen Sie noch eine Eigenschaft im published-Abschnitt. Diesen fügen Sie selbst hinzu:
 published property OnMove:
 TNotifyEvent read FOnMove
 write FOnMove;
 Damit das Ereignis ausgelöst wird, implementieren Sie noch die Methode WMMove entsprechend und sorgen selbst für den Aufruf. Dabei prüfen Sie zuerst mit der Funktion Assigned, ob eine Ereignisprozedur zugewiesen wurde:
 procedure TForm1.WMMove
 (var Msg: TMessage);
 begin if Assigned(FOnMove)
 then FOnMove(Self);
 end;
 Nun können Sie dem OnMove-Ereignis eine entsprechende Ereignisprozedur zuweisen, beispielsweise im OnCreate-Ereignis des Formulars
 procedure TForm1.Form1Create
 (Sender: TObject);
 begin OnMove := Form1Move;
 end;
 Die Ereignisprozedur können Sie dann nach Belieben implementieren und auf das Ereignis in gewünschter Weise reagieren:
 procedure TForm1.Form1Move
 (Sender: TObject);
 begin ShowMessageFmt
 ('Fenster verschoben auf '+
 'Position (%d|%d)!',
 [Left, Top]);
 end;
 Zu beachten ist noch, daß Delphi das Ereignis analog zum OnResize-Ereignis auch auslöst, wenn Sie ein Formular anlegen.
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 20:20


Ostern berechnen

Die aufwendige Berechnung des Ostersonntags erleichtert Ihnen dieser Tip.
 Weihnachten ist am 24. Dezember. Allerheiligen am ersten November. Ein Ereignis jedoch variiert von Jahr zu Jahr: Ostern. Dieses Fest wurde auf den Sonntag nach dem ersten Vollmond nach Frühlingsbeginn gelegt. Die folgende kleine Routine berechnet das Datum des Ostersonntags. Als Parameter übergeben Sie Ostern.pas (Listing 1) das Jahr samt Jahrhundert und erhalten das Datum im Delphi-üblichen TdateTime-Format.
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 20:20


Ownerdraw im StringGrid

Damit eine Zelle in einem StringGrid besser auffällt, heben Sie sie mit einer anderen Farbe hervor.
 Möchten Sie den Anwender auf eine bestimmte Zelle oder eine Zeile aufmerksam machen? Dann stellen Sie die betreffenden Zellen in einer anderen Farbe dar. Dabei hilft das OnDrawCell- Ereignis. Direkt können Sie die Farben nicht verändern. Sie müssen eingreifen, wenn Windows versucht, die Zellen zu zeichnen. Windows löst ein Ereignis aus, während es zeichnet. Das Ereignis heißt OnDrawCell. Das Beispielprogramm färbt die letzte Zeile rot ein. Windows färbt das StringGrid zellenweise mit der gewählten Farbe. Die Parameter ACol und ARow geben die aktuelle Spalte und Zeile an. Ältere Delphi-Versionen bezeichnen diese Parameter noch mit Col und Row. Im Beispiel müssen Sie diese Parameter entsprechend anpassen. Das Property RowCount des String- Grids enthält alle darin vorkommenden Zeilen. Mit einer IF-Abfrage prüfen Sie, ob sich die zu zeichnende Zelle in der untersten Zeile befindet. Da Delphi die Zeilen in ARow bei 0 zu zählen beginnt, RowCount jedoch bei 1 beginnt, ziehen Sie bei RowCount eine Zeile ab.
 if ARow =
 StringGrid1.RowCount-1 then
 Mit Hilfe des Canvas-Objekts können Sie auf das StringGrid zeichnen. Das TCanvas-Objekt hat mehrere Eigenschaften, über die Sie die Farben des Hintergrunds, die Schriftart und weitere Parameter festlegen. Das Property Brush gestaltet den Hintergrund. Die Hintergrundfarbe bestimmen Sie über die Color-Property. Nachdem so die Farbe festgelegt ist, können Sie die Zelle zeichnen. Den zu zeichnenden Bereich übergeben Sie im OnDrawCell-Ereignis mit dem Parameter Rect vom Typ TRect. TRect bezeichnet die Dimensionen eines Rechtecks, in diesem Fall die der aktuellen Zelle. Die Methode Fill- Rect füllt das Rechteck dann in der Brush.Color festgelegten Farbe aus:
 with StringGrid1.Canvas do
 begin
 Brush.Color := clRed;
 FillRect(Rect);
 end;
 Mit der Eigenschaft StringGrid1.Canvas vom Typ TCanvas greifen Sie auf all deren Funktionen zu, zum Beispiel mit der Pixels-Eigenschaft auf bestimmte Pixel:
 for I:=0 to 10 do
 Pixels[I,100]:=clBlue;
 Die erste Koordinate der Pixels-Eigenschaft gibt den x- Wert relativ zum StringGrid an und die zweite Koordinate den y-Wert.
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 20:21


Päckchen für Päckchen

Lagern Sie Laufzeitcode mit Packages in einer DLL aus, so beansprucht das Kompilat weniger Speicherplatz.
 Zu den besonderen Features von Delphi 3 gehören Packages: besondere DLLs, die Sie in der Entwicklungsumgebung und in eigenen Programmen nutzen. Am ehesten lassen sich Packages mit der Laufzeitbibliothek von Visual Basic vergleichen.
 Sicherlich haben Sie bereits Applikationen gestartet, die nach Dateien wie etwa "vbrun400.dll" verlangt haben. Diese Bibliotheken haben den Vorteil, daß das System sie nur einmal benötigt. So müssen Sie diese Daten nicht in jeder EXE-Datei mitschleppen. Bei Delphi 3 lassen sich nun zum einen bereits bestehende Packages (25 fertige werden mitgeliefert) nutzen, zum anderen aber auch eigene definieren. Indem Sie Packages benutzen und damit Laufzeitcode aus der EXE-Datei in eine DLL auslagern, läßt sich natürlich Platz innerhalb des Programms sparen - die EXE-Dateien werden kleiner.
 Probieren Sie es doch einmal aus: Unter
 Projekt - Optionen
 gibt es eine neue Unterseite namens Packages. In der unteren Hälfte finden Sie eine Checkbox, die in der englischen Version mit "Build with runtime packages" beschriftet ist. Eines der mitgelieferten Beispielprogramme, "imagview.dpr", wird normalerweise zu einer EXE-Datei von knapp 330 KByte. Nutzen Sie die Packages zur Laufzeit, reduziert sich die Größe auf 19 KByte. Doch die Packages zusammengenommen machen mehr als die Differenz aus.
 Statten Sie jedoch mehrere Applikationen mit den gleichen Packages aus, reduziert sich die Gesamtgröße wieder. Der Code der Packages ist nur einmal vorhanden, also nicht in jeder EXE-Datei eingebunden.
 et

Verfasser: Andreas
Letzte Änderung: 2012-03-09 20:21


Parameter effektiv auswerten

Mit drei selbstgeschriebenen Funktionen greifen Sie effektiv auf die Kommandozeilenparameter zu.
 Schon seit der ersten Version von Turbo Pascal konnte man auf die Komman-dozeilenparameter mit Hilfe der beiden Funktionen ParamCount und ParamStr zugreifen. Auf diese Weise gelang es, einem MS-DOS-Programm Daten und Optionen zu übergeben. Das geht auch unter Windows 95: Klicken Sie zum Bei- spiel im Explorer doppelt auf eine Datei, die mit einem Programm verknüpft ist, übergibt Windows deren Dateinamen als Kommandozeilenparameter an das passende Programm. Dies gilt auch für jetzige 32-Bit-Betriebssysteme. Und auch mit Verknüpfungen, die seit Windows 95 Anwendern die Arbeit erleich-tern, übergeben Sie Parameter an Programme. Auf die Reihenfolge der Parameter kommt es meistens nicht an. Das Programm filtert die benötigten Parameter heraus. Hierbei unterscheiden Programmierer zwischen Argumenten, meist in der Form von Dateinamen und Schaltern, denen oft ein Schrägstrich oder ein Minuszeichen vorangestellt ist. Um das Auswerten der Parameter zu erleichtern, können Sie auf die selbstgeschriebenen Funktionen GetParame-ters, GetParameterSwitches und GetParameterArguments zurückgreifen. Sie geben Objekte vom Typ TStringList zurück, die Sie mit der Methode Free freigeben. GetParameters liefert in der String-Liste alle Parameter in der vom Benutzer oder Betriebssystem angegebenen Reihenfolge zurück und bietet damit die gleiche Funktionalität wie ParamCount und ParamStr. Allerdings greifen die beiden anderen Funktionen auf GetParameters zurück und sortieren die nicht benötigten Parameter aus. In GetParameterArguments werden also alle Schalter, in GetParameterSwitches alle übrigen Parameter aussortiert. Die Funktionweise der letztgenannten beiden Funktionen ist weitgehend gleich. Wir betrachten GetParameter-Arguments genauer. Legen Sie zunächst eine Liste aller Parameter an:
 Result := GetParameters;
 Danach wird jeder String aus der Liste in einer Schleife darauf überprüft, ob am Anfang entweder ein Schrägstrich oder ein Minuszeichen steht. Ist dies der Fall, so wird der String aus der Liste entfernt. Aus diesem Grund zählt die Schleife auch rückwärts, da andere Strings sonst beim Entfernen bestimmter Strings nicht überprüft würden:
 if Result.Count > 0 then
 for i := Result.Count
 - 1 downto 0 do
 if Result[i][1] in
 ['/', '-'] then
 Result.Delete(i);
 Soll Ihre Anwendung auch andere Zeichen für Schalter enthalten als nur den
 Schrägstrich und das Minuszeichen, fügen Sie diese einfach hinzu. Verwendet Ihr Programm zusätzlich das Pluszeichen, so müßte die entsprechende Zeile folgendermaßen aussehen:
 if Result[i][1] in
 ['/', '+', '-'] then
 Result.Delete(i);

Verfasser: Andreas
Letzte Änderung: 2012-03-09 20:22


Partitionen unterscheiden

Um Laufwerke besser auseinanderhalten zu können, hat jede Partition einen Namen.
 Mit der Funktion GetVolumeInformation lässt sich die Bezeichnung eines Laufwerks ermitteln. Um den Partitionsnamen zu ermitteln, sind nur die ersten Parameter der Funktion interessant. Dem ersten Parameter müssen Sie nach folgendem Prinzip den Laufwerksbuchstaben übergeben: [Laufwerksbuchstabe]:\ Da dies eine Funktion aus einer Win- DLL ist, können Sie diese Kennung nicht als String übergeben. Sie müssen dafür eine PChar-Funktion verwenden. Mit dem zweitem Parameter adressieren sie den Buffer. Darin wird der Partitionsname später abgelegt. Die Größe des Buffers legen Sie über die Funktion SizeOf() fest. Als Parameter übergeben Sie die Variable, von der Sie die Größe und die Länge ermitteln wollen. Delphi gibt die Anzahl des belegten Speichers in Byte zurück. Ein kompletter Aufruf von GetVolumeInformation sieht so aus:
 GetVolumeInformation
 (PChar('C:\'),
@buffer[0],SizeOf(buffer),
 nil,
 tmp,
 tmp,
 nil,
 0);
 TMP ist eine Variable vom Typ Cardinal. Unter Delphi 3 verwenden Sie eine Integer-Variable. Um den Aufruf von GetVolumeInformation zu vereinfachen, können Sie diese in einer eigenen Funktion kapseln. So ersparen Sie sich die umständliche Eingabe vieler Parameter. Nehmen Sie die Funktion GetPartitionName. Über einen Parameter übergeben Sie den Laufwerksbuchstaben vom Typ Char:
 function GetPartitionName
 (const ADrive: Char): String;
 Dieser Aufruf ermittelt den Namen der Partition C. Sie übergeben immer den Laufwerksbuchstaben als Parameter. Delphi ergänzt Doppelpunkt und Rückstrich (Backslash).
 Caption:=
 GetPartitionName('C');

Verfasser: Andreas
Letzte Änderung: 2012-03-09 20:22


Per Fenster-Handle zum Programm

Um den Pfad zu einer Anwendung herauszufinden, nutzen Sie deren Handle und die Unit TLHelp32.
 Sie finden das Fenster-Handle einer laufenden Anwendung mit dem Befehl FindWindow(). Dabei erfahren Sie aber nur den Titel der Anwendung. Wollen Sie den genauen Pfad zur Programmdatei erforschen, nutzen Sie die Funktionen in den Units TLHelp32 und ShellA-PI. Folgende Funktion gibt den Pfad zur Programmdatei des Windows-Editor Notepad zurück:
 function GetExe: String;
 var PID: DWord;
 aSnapshotHandle: THandle;
 ContinueLoop:BOOL;
 aProcessEntry32:
 TProcessEntry32;
 begin GetWindowThreadProcessID
 (FindWindow('Notepad',nil),
@PID);aSnapshotHandle :=
 CreateToolhelp32Snapshot
 (TH32CS_SNAPPROCESS, 0);
 aProcessEntry32.dwSize :=
 Sizeof(aProcessEntry32);
 ContinueLoop :=
 Process32First
 (aSnapshotHandle,
 aProcessEntry32);
 while integer(ContinueLoop) <> 0
 Zuerst ermittelt FindWindow das Handle der Anwendung, hier den Editor No-tepad. Dann gibt das Programm in einer Schleife den Pfad zur Anwendung einschließlich exe-Name aus:
 do begin if
 aProcessEntry32.th32ProcessID =
 PID then Result :=
 aProcessEntry32.szExeFile;
 ContinueLoop := Process32Next
 (aSnapshotHandle,
 aProcessEntry32);
 end;
 CloseHandle(aSnapshotHandle);
 end;
 Ein Beispielprogramm finden Sie auf der Heft-CD
 unter ...Handle/Project1.exe.

Verfasser: Andreas
Letzte Änderung: 2012-03-09 20:23


Programm im Systray

Viele im Speicher resistente Programme zeigen ein Icon im Systray an, um schnell auf die Funktionen zugreifen zu können.
 Systray ist der Bereich links neben der Uhr. Der Aufruf der Funktion Shell_NotifyIcon zeigt ein Icon im Systray an und löscht es bei Bedarf. Die Funktion erwartet zwei Parameter. Beim ersten handelt es sich um eine Integer-Konstante, die den Anzeige-Status des Icons steuert. NIM_ADD weist die Funktion an, das Icon anzuzeigen, während NIM_DELETE es entfernt. Der zweite Parameter enthält die Speicheradresse, um den Systray-Eintrag mit verschiedenen Optionen anzuzeigen und zu steuern. Die Record-Struktur hat folgenden Aufbau:
 _NOTIFYICONDATAA = record
 cbSize: DWORD;
 Wnd: HWND;
 uID: UINT;
 uFlags: UINT;
 uCallbackMessage: UINT;
 hIcon: HICON;
 szTip: array [0..63] of AnsiChar;
 end;
 Die Variable cbSize muss auf die Größe der Struktur gesetzt werden, welche Sie mit SizeOf(TNOTIFYICONDATA) ermitteln. hIcon wird das Handle eines Icons übergeben. Möchten Sie das Programm-Icon anzeigen, setzen Sie den Wert auf Application.Icon.Handle. Gehen Sie mit der Maus über ein Icon im Systray, sehen Sie kleine Hinweistexte zum Programm. Diesen Text übergeben Sie dem Buffer szTipp, den Sie mit der Funktion StrCopy füllen. Der Variablen uCallbackMessage übergeben Sie eine selbst definierte Windows-Botschaft, die auf der Message WM_USER basiert:
 const
 WM_SYSTRAYMESSAGE = WM_USER+1;
 Die Botschaft deklarieren Sie im Private-Abschnitt:
 procedure WMSYSTRAYMESSAGE
 (var msg: TMessage);
 message WM_SYSTRAYMESSAGE;
 Der Anwender löst die Botschaft aus, wenn er auf das Symbol klickt. Der Record hinter dem Referenzparameter msg vom Typ TMessage gibt mit dem Parameter LParamLo Aufschluss über die Maustaste, mit der der Benutzer auf das Icon geklickt hat. Auf die Werte reagieren Sie mit einer Case-Anweisung. Das Icon im Systray soll schnell Funktionen aufrufen können, was Sie meist über ein Pop-up-Menü realisieren. Dazu weisen Sie der Eigenschaft Popupmenu des entsprechenden Controls das Pop-up-Menü zu. Im Beispiel klappen Sie es manuell per Quellcode auf. Um das Menü an der Spitze des Mauszeigers zu platzieren, ermitteln Sie die aktuelle Mausposition mit der Prozedur GetCursorPos. Sie erhalten Koordinaten, die Sie mit der Methode Popup des Menüs als Parameter übergeben:
 procedure
 TForm1.WMSYSTRAYMESSAGE
 (var msg: TMessage);
 var point : TPoint;
 begin
 case message.LParamLo of
 WM_RBUTTONDOWN:
 begin GetCursorPos(Point);
 PopupMenu1.Popup
 (Point.x,Point.y)
 end; end; end;
 Der Parameter LParamLo hat den Wert WM_RBUTTONDOWN, wenn der Anwender mit der rechten Maustaste auf das Symbol klickt. Weitere Konstanten listet die Delphi-Hilfe auf.
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 20:23


Programm nur einmal!

Mit einer Prozedur bringen Sie Delphi dazu, Ihre Anwendung nur einmal auszuführen.
 Es gibt Programme, die ein Anwender nur einmal öffnen soll. Um diese Tech-nik zu realisieren, bearbeiten Sie Ihre Projektdatei *.dpr in einem Texteditor wie zum Beispiel mit NotePad. Tragen Sie die Unit Windows in das uses-Verzeichnis ein:
 Uses Windows;
 Schreiben Sie vor den Abschnitt
 Application.Initialize;
 folgende Codezeilen:
 var
 MutexHandle: THandle;
 hwind:HWND;
 begin
 MutexHandle := CreateMutex
 (nil, TRUE, 'BspAppMutex');
 IF MutexHandle 0 then
 begin
 IF GetLastError =
 ERROR_ALREADY_EXISTS then
 begin
 CloseHandle(MutexHandle);
 hwind := 0;
 repeat
 hwind:=Windows.FindWindowEx
 (0,hwind,'TApplication',
 'Mein Anwendungs Name');
 until
 (hwindApplication.Handle);
 IF (hwind0) then
 begin
 Windows.ShowWindow
 (hwind,SW_SHOWNORMAL);
 Windows.SetForegroundWindow
 (hwind);
 end;
 Halt;
 end
 end;
 Bevorzugen Sie eine kürzere Methode, also eine, die nicht zur ersten Instanz Ihrer Anwendung springt, fügen Sie folgenden Code hinzu:
 CreateMutex
 (nil,FALSE,'BeliebigerName');
 IF GetLastError =
 ERROR_ALREADY_EXISTS THEN
 begin
 MessageDlg
 ('Programm schon ausgeführt!',
 mterror,[mbOK], 0);
 Halt(0); end; s

Verfasser: Andreas
Letzte Änderung: 2012-03-09 20:24


Programme nur einmal starten

Sorgen Sie mit wenigen Zeilen Code dafür, daß Ihre Anwendung nur einmal starten kann.
 Normalerweise kann der Benutzer jedes Programm so oft starten, wie er möchte. Es gibt aber auch Fälle, in denen Sie als Programmierer gerade dies verhindern möchten und dafür sorgen wollen, daß Ihre selbstprogrammierte Anwendung nur ein einziges Mal startet. Um den Aufruf einer zweiten Instanz Ihrer Anwendung zu verhindern, fügen Sie vor dem Initialisierungscode, den Delphi automatisch anlegt, in den Quellcode ihrer Delphi-Projektdatei die folgenden Zeilen ein:
 hMutex := CreateMutex
 (nil, True, 'MeineAnwendung');
 if GetLastError =
 ERROR_ALREADY_EXISTS then
 begin
 ShowMessage
 ('Nur eine Instanz startet!');
 Halt(255);
 end;
 Diese Zeilen legen ein sogenanntes Mutex-Objekt mit dem Namen MeineAn-wendung an. Dieser Name sollte in jeder Ihrer Anwendungen verschieden sein. Zu diesem Zweck sollten sie statt MeineAnwendung bei dem obigen Funkti-onsaufruf den Namen Ihrer Anwendung einsetzen. Damit das Verfahren korrekt funktioniert, tragen Sie außerdem noch die Units Windows und Dialogs in die Uses-Klausel Ihrer Projektdatei ein und deklarieren die Variable hMutex korrekt:
 uses Forms, Windows, Dialogs,
 Unit1 in 'Unit1.pas' {Form1}
 {$R *.RES}
 var
 hMutex: THandle;
 Mutexe gehören zu den sogenannten Synchronisationsobjekten, die von An-wendungen unter Windows dazu verwendet werden, verschiedene parallel ablaufende Applikationen zu synchronisieren. Als kleiner Nebeneffekt kann ein Mutex-Objekt mit einem speziellen Namen wie beispielsweise MeineAn-wendung in dem gewählten Beispiel systemweit nur einmal vorhanden sein. Damit gibt der Versuch, ein solches Objekt mit gleichem Namen noch einmal anzulegen, einen Fehlercode zurück. In diesem Fall gibt das Beispielprogramm die Fehlermeldung aus: Nur eine Instanz startet!. Alternativ können Sie diese Fehlermeldung auch auslassen. Dann endet das Programm ohne Ihren Kommentar. Um bei diesem Ende dafür zu sorgen, daß das Objekt wieder freigegeben wird, fügen Sie unter dem automatisch angelegten Initialisierungscode noch folgende Zeile ein:
 if hMutex 0 then CloseHandle(hMutex);
 


So erreichen Sie, dass ein Anwender Ihr Programm nur einmal auf einem Rechner starten kann.

 Das Programm, das auf die Tonausgabe zugreift, sollten Sie nur einmal starten können. Benutzen Sie dazu Semaphoren, um ein weiteres Starten zu unterbinden. Modifizieren Sie das Hauptprogramm Ihrer Anwendung, und fügen Sie folgende Zeilen ein:
 var
 myInstance : tHandle;
 begin
 myInstance := CreateMutex(
 nil, True,
 'meinProgrammName');
 if GetLastError =
 ERROR_ALREADY_EXISTS Then
 begin
 ShowMessage('Ich bin leider\
 nur einmal zu starten');
 end else
 begin
 Application.Initialize;
 Application.CreateForm(
 TForm1, Form1);
 Application.Run;
 closeHandle(myInstance);
 end;
 end.
 Im positiven if-Zweig tragen Sie die Aktionen ein, wenn das Programm nicht gestartet werden soll. Sonst werden die Anweisungen des else-Zweigs ausgeführt.
 
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 20:25


Programmeinstellungen speichern

So übernehmen Sie wichtige Programmeinstellungen in ini-Dateien.
 Programmeinstellungen lassen sich auf mehrere Arten speichern. Viele Programme nutzen die Registry. Doch Windows arbeitet langsamer, wenn die Registry zu voll ist. ini-Dateien haben den Vorteil, dass ein neu installiertes Windows sie nicht überschreibt. Vorraussetzung dafür ist, dass Sie alle Einstellungen in einer separaten Datei speichern. Sie dürfen also keinen Eintrag in die win.ini schreiben. Eine ini-Datei ist immer nach dem gleichem Schema aufgebaut:
 [Abschnitt1]
 Schlüssel1=Wert1
 Schlüssel2=Wert2
 Schlüssel3=Wert3
 [Abschnitt2]
 Schlüssel1=Wert1
 Schlüssel2=Wert2
 Schlüssel3=Wert3
 In Delphi ist schon ein Objekt vorhanden, das den Zugriff auf ini-Dateien kapselt. Es befindet sich in der Unit Inifiles. Das Objekt deklarieren Sie mit der Zeile:
 var
 Ini: TIniFile;
 Die Methode Create erzeugt das Objekt und reserviert einen Speicherbereich. Als Parameter erwartet der Konstruktor den Pfad der ini-Datei. Ist die Datei vorhanden, wird sie geöffnet, sonst angelegt. Jetzt können Sie auch Werte in die ini-Datei schreiben, wozu Sie die Methode WriteString mit folgendem Parameter aufrufen:
 procedure WriteString
 (const Section, Ident,
 Value: string);
 Der String Section gibt den Abschnitt in der Datei an, der Parameter Ident den Schlüssel, und in Value übergeben Sie die zu schreibende Zeichenkette. Ist ein Abschnitt oder ein Schlüssel noch nicht vorhanden, führt dies nicht zum Fehler, weil dann die notwendigen Abschnitte und Schlüssel angelegt werden. Das Objekt TIniFile liefert weitere Routinen, um Einträge in ini-Dateien zu schreiben. Der Befehl WriteInteger schreibt Integer-Zahlen in die Datei. Dabei ist der dritte Parameter, Value, vom Typ Integer. Mit WriteBool übergeben Sie Boolesche Werte, die jedoch keine True/False-, sondern 1/0-Werte eintragen. Die Werte lesen Sie mit ReadString aus einer ini-Datei:
 function ReadString
 (const Section, Ident, Default:
 string): string;
 Der String Section bezeichnet den Abschnitt, in dem sich der zum Wert gehörige Schlüssel befindet. Der String Ident ist der Name des Schlüssels mit dem String-Wert. Der Wert Default gibt vor, welcher String zurückgeliefert werden soll, wenn
 der Abschnitt nicht vorhanden ist,
 der Schlüssel nicht existiert,
 dem Schlüssel kein Datenwert zugeordnet
 ist. Entsprechend zu WriteInteger und WriteBool liest die Funktion ReadInteger einen Integer-Wert aus und Read-Bool einen Booleschen Wert. Vergessen Sie nicht, den reservierten Speicher mit Free freizugeben. Zur Sicherheit kapseln Sie die ganze Prozedur in einem try-finally-Block.

Verfasser: Andreas
Letzte Änderung: 2012-03-09 20:26


Programmnamen ermitteln

So erfahren Sie, von welchem Datenträger Ihr Programm gestartet wurde.
 Datenträger haben physikalisch unterschiedliche Bedingungen. Wenn Ihr Programm zum Beispiel von einer CD startet, ist der Versuch, dort Dateien zu modifizieren, zwecklos. Um die Lage und den Namen Ihres Programms zu ermitteln, greifen Sie auf die Funktion Paramstr zu. Neben den Parametern, die Ihrem Programm auf der Kommandozeile übergeben wurden, ermitteln Sie hier den eigenen Namen:
 procedure TForm1.Button1Click(
 Sender: TObject);
 begin
 showmessage('ich befinde mich\
 unter '+expandFileName(
 paramstr(0)));
 end;
 Die Funktion expandFileName sorgt dafür, dass dem Namen der komplette Pfad hinzugefügt wird. Wenn Sie prüfen, ob es sich beim Laufwerk um eine CD-ROM handelt, kann Ihr Programm im Vorfeld einige Optionen ändern oder dazu auffordern, sich unter dem Pfad c:\programme zu installieren.

Verfasser: Andreas
Letzte Änderung: 2012-03-09 20:26


Programmstart bei Systemstart

Nicht nur über den Autostart-Ordner, auch über die Registry können Sie unter Windows Programme automatisch starten.
 Um ein Programm beim Systemstart automatisch zu starten, legen Sie eine Verknüpfung an, die Sie in den Autostart-Ordner kopieren. Diese Methode hat den Nachteil, dass der User diese Verknüpfung jederzeit, sogar durch Fehlbedienung, entfernen kann. Weisen Sie deshalb das System an, beim Systemstart eine Anwendung automatisch zu starten: Legen Sie unter dem Schlüssel
 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft Windows\CurrentVersion\Run
 eine Zeichenfolge mit dem Namen Ihrer Anwendung an. Als Wert tragen Sie den Pfad zur Anwendung ein. Wollen Sie Ihre Anwendung nur einmal beim nächsten Systemstart starten lassen, fügen Sie diesen Eintrag unter
 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce
 ein. Mit der Unit AutoStrt.pas auf der Heft-CD verfügen Sie über die Funktion AutostartApplication, die Sie folgendermaßen deklarieren:
 function AutostartApplication
 (Name, ApplicationPath: string;
 AlwaysRun: Boolean): Boolean;
 Als Parameter übergeben Sie für den Eintrag Name den Namen Ihrer Anwendung, für ApplicationPath den Pfad der Anwendung inklusive der Aufrufparameter und für AlwaysRun den Wert true, wenn die Anwendung bei jedem Systemstart, oder false, wenn sie nur beim nächsten Systemstart aufgerufen werden soll. Übergeben Sie für ApplicationPath eine leere Zeichenkette, so löschen Sie den entsprechenden Eintrag.
 ACHTUNG! Verwenden Sie Auto-Strt.pasmit Vorsicht, weil Sie damit eingetragene Programme aus der Autostart-Liste löschen können.
 Ein Beispielprogramm, mit dem Sie Programme in die Autostart-Listen einfügen oder aus ihnen entfernen können, finden Sie im Verzeichnis ...\Auto-Strtauf der Heft-CD 1.
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 20:27


Programmsteuerung bei Berechnungen

Auch wenn es rechnet, sollen Anwender Ihr Programm nutzen können. Bauen Sie eine Ablaufanzeige ein.
 Wenn Ihr Programm lange Berechnungen und Routinen abarbeitet, soll der Anwender nicht den Eindruck gewinnen, das Programm sei abgestürzt. Zudem sollte er das Programm vorzeitig abbrechen können. Bei kürzeren Berechnungen können Sie den Mauszeiger als Sanduhr anzeigen lassen. Die globale Variable Screen vom Typ TScreen repräsentiert das Bildschirmgerät. Über dessen Eigenschaft Cursor wählen Sie den Cursor aus. Um den Cursor nach der Abarbeitung der Routine zurückzustellen, setzen Sie ihn im finally-Abschnitt eines try-finally-Blocks wieder auf den ursprünglichen Wert. Dauert ein Rechenvorgang länger, soll der Benutzer ihn vorzeitig abbrechen können, wobei eine Anzeige über den Status informiert. Wenn Berechnungen das System auslasten, gelangen Eingaben nur schwer ans Programm. Die Methode ProcessMessages des Objekts TApplikation durchläuft die Warteschlange aller Botschaften, bis diese leer ist. Rufen Sie periodisch ProcessMessages auf, damit die Anwendung antwortet. Die Methode verwenden Sie auch, damit der Anwender einen Vorgang abbrechen kann. Sie setzen im OnClick-Handler eines Abbruch-Buttons ein globales Flag und überprüfen dies in der Schleife:
 var
 blAbbruch : Boolean;
 procedure
 TMainForm.Button1Click(Sender:
 TObject);
 begin
 blAbbruch := True;
 end;
 procedure Schleife;
 begin
 blAbbruch := False;
 while ... and (not blAbbruch)
 do begin
 Application.ProcessMessages;
 ...//Berechungen end; end;
 Die Abbruchbedingung der Schleife prüft den Status des Abbruch-Flags. Bauen Sie einen Fortschrittsbalken als Statusanzeige ein. Bei wenigen Schleifendurchläufen können Sie bei jedem Durchgang die Position der Progressbar erhöhen. Um Rechenzeit zu sparen, erhöhen Sie die Position nur bei jedem nten Mal per weiterer If-Anweisung in der Schleife:
 if I mod 100=0 then
 Progressbar1.Position:=
 Progressbar1.Position+1;
 Die Funktion darf zur gleichen Zeit kein zweites Mal aufgerufen werden.
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 20:27


Raffinierte Datenbankabfrage

Fragen Sie Datenbanken so ab, dass Sie Hintergrundwissen gewinnen.
 SQL (Structured Query Language) ist zweifelsohne ein hervorragendes Mittel, um schnell Ergebnisse aus Datenbanktabellen zu gewinnen. Gerade in Spezial-bereichen muß diese allgemeingültige Sprachnotation jedoch aufgeben. Will ein Architekt beispielsweise wissen, bei welchen Gebäuden einer Tabelle nach den neuesten Berechnungsformeln die Statik einer gewissen Norm entspricht, sind die einfachen Ausdrücke der SQL nicht geeignet. Neben TQuery stellt Delphi ab der Version 2 jedoch einen weiteren Mechanismus zur Verfügung, um beliebige Datenbanktabellen auszuwerten: die Filter. Denn wenn Sie bei einer TTable die Eigenschaft Filtered auf True setzen, wird bei jedem Satz das Ereignis OnFilterRecord ausgelöst. Die Behandlungsroutine erhält dabei einen Referenzparameter namens Accept. Setzen Sie diesen auf False, wird der aktuelle Datensatz igno-riert. Erstellen Sie beispielsweise ein neues Projekt mit einer TTable, einem TData-Source und einem TDBGrid, und verknüpfen Sie diese. Öffnen Sie aus dem Alias DBDemos die Tabelle Employee.db. Wollen Sie jetzt wissen, welcher der Mitarbeiter an einem Montag eingestellt wurde, ist das in SQL nicht oder nur schwer möglich. Anders in Delphi: Setzen Sie die TTa-ble- Eigenschaft Filtered auf True, und geben Sie für OnFilterRecord folgende Zeilen ein:
 procedure TForm1.
 Table1FilterRecord(DataSet:
 TDataSet;var Accept: Boolean);
 Var WT: LongInt;
 begin
 WT := Trunc(Dataset.FieldByName
 ('HireDate').AsDateTime) Mod 7;
 Accept := (WT = 2); //Montags
 // 0 = Samstag 1 = Sonntag etc.
 end;
 Schon sehen Sie die jeweiligen Angestellten im Datengitter.
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 20:28


Randbereich bei TMemo

Memofelder (mehrzeilige Texteingabefelder unter Windows) verfügen über Optionen, die Sie nur mit einem Trick ansprechen können.
 Um in TMemo-Feldern den Abstand zwischen Text und Rahmen zu verändern, senden Sie eine Windows-Nachricht ans Dialogfeld:
 procedure TForm1.Button1Click(
 Sender: TObject);
 Dies kann hilfreich sein, wenn Sie links neben dem Text die aktuelle Zeilennummer einblenden möchten oder zur grafischen Auflockerung mehr Platz benötigen.
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 20:28


Rechenkünstler

Dieser Tipp zeigt Ihnen, wie Sie ohne weitere Klassen eine direkte Verbindung zu Excel aufnehmen.
 Möchten Sie komplexe Daten berechnen oder Tabellen in Excel exportieren? Benutzen Sie die intuitive OLE-Schnittstelle von Excel und steuern Sie die Tabellenkalkulation aus Ihrem Delphi-Programm. Legen Sie zuerst eine Instanz von Excel an, und fügen Sie ein leeres Arbeitsblatt ein:
 procedure TForm1.Button1Click(
 Sender: TObject);
 var
 excel : Variant;
 x : integer;
 begin
 try
 excel := CreateOleObject(
 'Excel.Application');
 Excel.WorkBooks.add;
 Excel.Visible := true;
 Nachdem Sie Excel sichtbar gemacht haben, greifen Sie direkt mit der Eigenschaft Range auf die einzelnen Felder oder Formatierungen der Tabelle zu:
 excel.Range['A1'].value :=
 'PC Magazin Test'
 excel.Range['A1'].Font.Name
 := 'Verdana'
 excel.Range['A1'].Font.Size
 := '10'
 In einer Schleife setzen Sie die Inhalte oder Formeln mehrerer Zellen:
 for x := 0 to 16 do
 begin
 excel.Range[
 'A'+inttostr(x+3)].value
 := 'zwei hoch '
 +inttostr(x);
 excel.Range[
 'B'+inttostr(x+3)].
 formula :=
 '=2^'+inttostr(x);
 end;
 Mit dem Range-Array können Sie auch einen Bereich bearbeiten, so dass Sie mit einem einzigen Befehl die Eigenschaften von vielen Zellen gleichzeitig ändern:
 excel.Range['B3:B19'].
 Interior.color :=
 rgb(255,128,0);
 excel.Range['B3:B19'].
 NumberFormat := '#.##0'
 finally
 showmessage
 ('Bitte okay\
 klicken, um Excel zu \
 schließen');
 excel := unassigned;
 end;
 end;

Verfasser: Andreas
Letzte Änderung: 2012-03-09 20:29


Registratur

Die Wertzuweisungen in der Registry lassen sich einfach auslesen.
 Anstatt jede Applikation mit einer INI-Datei auszustatten, verfügen Windows 95 und NT über eine Datenbank, die alle Einstellungen speichert. Diese Registry durchsuchen Sie aufgrund ihrer Struktur leichter als eine Textdatei. Zwar gibt die Hilfe ein paar Auskünfte, wie Sie diese Informationen umsetzen sollen, doch leider ist dafür kein Beispielprogramme enthalten. Das holt "reglies.pas" (Listing in Databox 8/97) nach.
 Zunächst müssen Sie eine Instanz von TRegistry erzeugen, in diesem Beispiel heißt sie Regis. Anschließend ist der RootKey zu setzen, von dem die folgenden Anweisungen ausgehen. Die Registry besitzt verschiedene Basisschlüssel, die unterschiedliche Daten enthalten. Die Voreinstellung von RootKey ist HKEY_CURRENT_ USER. Dieser Schlüssel enthält Informationen über die Vorstellungen des aktuellen Anwenders.
 Die Registry läßt sich gut mit einem Verzeichnisbaum vergleichen. Die RootKeys sind sozusagen die Laufwerke. Mit OpenKey öffnen Sie eine Art Unterverzeichnis, auf das Sie mit ReadString zugreifen. Der Parameter von ReadString darf allerdings kein Schlüssel mehr sein. Neben ReadString gibt es für die anderen Datentypen entsprechende Zugriffsfunktionen wie ReadCurrency, ReadDate, ReadInteger. Nach dem Zugriff schließen Sie mit CloseKey den Schlüssel und geben die Instanz Regis frei. Für den Schreibzugriff gibt es die entsprechenden Prozeduren wie WriteString, WriteInteger und dergleichen.
 et

Verfasser: Andreas
Letzte Änderung: 2012-03-09 20:29


Registrierte Dokumente öffnen

Öffnen Sie beliebige Dokumente mit der zugehörigen registrierten Anwendung.
 Klicken Sie im Explorer doppelt auf eine Datei, startet die verknüpfte Anwendung und öffnet das entsprechende Dokument. Diese Funktionalität stellt Windows auch für Ihre eigenen Anwendungen zur Verfügung. Dazu brauchen Sie zunächst eine Deklaration der Unit ShellAPI in der Uses-Klausel:
 Function GetAppName (Doc: String):
 String;
 Var FN,DN,RES:Ar-ray[ 0..255] Of Char;
 begin StrPCopy(FN, DOC); DN[0] := #0;
 RES[0] := #0;
 FindExecutable(FN, DN, RES);
 Result := StrPas(RES);
 end;
 Die Funktion FindExecutable erhält drei nullterminierte Zeichenketten als Parameter:
  Der erste enthält den Dateinamen des Dokuments,
  der zweite den Pfad
  und der dritte nach erfolgreicher Ausführung den Namen des zugeordneten Programms. Das Resultat ist der Dateiname in 8.3-Notation, damit die Routine kompatibel zu Windows 3.1 bleibt. Wollen Sie das mit einem Dokument verknüpfte Programm gleich öffnen, verwenden Sie ShellExecute. Auch diese haben wir gekapselt, damit Sie nicht ständig zwischen PChar und String hin-und herkonvertieren müssen.
 Function ExecDOC(Doc:String): Boolean;
 Var DN: Array[0..255] Of Char;
 Begin
 StrPCopy(DN, DOC);
 Result := ShellExecute (0, 'open', DN, Nil, Nil, SW_SHOWNormal) > 32;
 end;
 Statt eines Dokuments können Sie auch den Namen eines Programms verwenden.
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 20:30


Registry bearbeiten

Mit der Technik, die Registry auszulesen, greifen Sie umfassend in das Betriebsystem ein.
 Die Registry speichert Windows-Einstellungen. Diese Werte und Informationen können Sie auslesen und ändern. Delphi kapselt den Zugriff auf die Registry in einem Objekt namens TRegistry. Es befindet sich in der Unit Registry, welche Sie der uses-Klausel hinzufügen. Bevor Sie mit diesem Objekt arbeiten, müssen Sie es deklarieren und eine Instanz davon anlegen:
 var
 Registry: TRegistry;
 begin
 with TRegistry.Create do
 Die Registry hat einen hierarchischen Aufbau. Am Anfang stehen Hauptschlüssel, die Unterschlüssel enthalten. Alle Schlüssel, die Ihre Anwendung erzeugt, öffnet oder liest, sind Unterschlüssel der definierten Hauptschlüssel. Die Eigenschaft Rootkey definiert diesen Hauptschlüssel für das TRegistry-Objekt. Delphi legt standardgemäß den Schlüssel Rootkey an, wenn es ein Objekt auf HKEY_CURRENT_ USER setzt. Bevor Sie einen Schlüssel erzeugen oder einen Wert aus einem Schlüssel lesen, öffnen Sie diesen mit dem Aufruf Openkey:
 function OpenKey
 (const Key: string;
 CanCreate: Boolean):
 Boolean;
 Die Funktion erwartet zwei Parameter: den zu öffnenden Schlüssel und einen Booleschen Parameter. Dieser legt fest, ob ein noch nicht existierender Schlüssel angelegt werden soll (True) oder nicht (False). Das Objekt kann damit in die Registry Werte schreiben und aus ihr lesen. Dazu verwenden Sie die Methoden WriteString und ReadString. Write-String erwartet zwei Parameter, um sie mit Angaben zum Namen und zum Wert (beide vom Typ String) zu füllen. Ist der Name bereits vorhanden, wird er überschrieben. ReadString erwartet nur den Namen des zu lesenden Werts und gibt als Result den Wert mit diesem Namen zurück. Sie können auch direkt einen Integer-Wert, einen Booleschen Wert oder eine Gleitkommazahl in die Registry schreiben oder aus ihr lesen. Dafür nutzen Sie die Methoden WriteInteger, WriteBool und WriteFloat, (ReadInteger, Read-Bool und ReadFloat). Die Parameter sind bei diesen Methoden identisch mit WriteString/ReadString, wobei dieWerte nicht aus dem Typ des Datenrasters ausbrechen darf. Da das Objekt Speicher reserviert, geben Sie diesen mit Free frei.
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 20:30


RGB zu Hex konventieren

Wer mit html-Dateien im Quellcode arbeitet, muß Farben in einem html-Dokument anders als in Delphi codieren.
 Delphi verwendet RGB-Werte für die Farben, während html-Dokumente auf Hex-Code zurückgreifen. Beide sind ähnlich, weshalb es nur einer kleinen Funktion bedarf, um eine Delphi-Farbe wie clRed in Hex-Code zu konventieren:
 function GetHTMLColor2
 (Value: TColor): string;
 begin with
 TRGBQuad(ColorToRGB(Value)) do
 Result := '#' + IntToHex(RGB
 (rgbRed, rgbGreen, rgbBlue),6);
 end;
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 20:31


Runde Fenster

Fenster jenseits der Windows-Norm verschaffen Ihren Programmen ein eigenes Aussehen.
 Sie müssen sich nicht immer an das konventionelle, rechteckige Windows-Fenster mit drei Buttons und einer Leiste halten. Wenn Sie folgenden Code in das On-Create-Ereignis Ihrer Anwendung schreiben, erhalten Sie ein vollkommen anderes Bild:
 var h: THandle;
 begin
 h := CreateEllipticRgn
 (40, 40, 300, 200);
 SetWindowRgn(Handle,h,TRUE);
 end;
 Wie Sie der dritten Zeile entnehmen, verschaffen Sie sich so ein Fenster in Ellipsenform. In diesem gestalten Sie Meldungen oder weitere Schaltknöpfe.
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 20:31


Scannen in Delphi

So bringen Sie einen Scanner oder eine Digitalkamera mit TWAIN-Treiber mit ein paar Zeilen Code und ein paar Mausklicks zusammen.
 Windows bringt die benötigten Schnittstellen in Form eines ActiveXControls mit, um Ihren Scanner unter Delphi anzusteuern. Dazu benutzen Sie das Imaging-Modul von Kodak, das standardmäßig mit Windows installiert wird. Wählen Sie unter Delphi 5 aus dem Hauptmenü den Eintrag Komponente, und wählen Sie das Untermenü ActiveX importieren.... Wählen Sie unter Windows 2000 den Eintrag Steuerelement für Kodak-Bildscan aus, unter Windows 9x den Eintrag Kodak Image Scan Control, und klicken Sie auf den Knopf Installieren. Den nachfolgenden Dialog mit dem Titel Installieren bestätigen Sie wieder mit einem Klick auf den Button OK. Nach dem Kompilieren der neuen ActiveXUnit legen Sie ein neues Projekt an. In der Komponentenbibliothek finden Sie unter der Registerkarte ActiveX eine neue Komponente mit dem Titel tImageScan. Fügen Sie diese auf dem Formular Ihrer Anwendung ein. Zusätzlich zur Scan-Komponente platzieren Sie einen Button und ein tImage-Objekt im Anwendungsformular. Die Behandlungsroutine onClick des Buttons definieren Sie folgendermaßen:
 procedure TForm1. Button1Click( Sender: TObject);
 var
 j: tJpegImage;
 begin
 try
 imgscan1.Open
 Scanner;
 ImgScan1.Start-
 Scan;
 finally
 imgscan1.CloseScanner;
 end;
 Nehmen Sie die Unit jpeg in die uses-Klausel Ihres Programms auf. Weiterhin folgen Sie im Objektinspektor oder im Konfigurationsdialog den notwendigen Einstellungen. Abschließend laden Sie die gescannte Datei mit der Komponente vom Typ tJpegImage ins Image-Objekt im Formular.
 try
 j := tJpegImage.Create;
 j.LoadFromFile(
 imgscan1.image);
 image1.picture.Assign(j);
 finally
 j.free;
 end;
 end;
 Nicht alle Scanner liefern ein Bild im jpeg-Format. Wenn nur Bitmaps unterstützt werden, stellen Sie im Objektinspektor die Eigenschaft FileType auf 3 - BMP_Bitmap.
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 20:31


Schnelle Screenshots

So einfach erhalten Sie ein Bildschirmfoto, das Sie für Dokumentationen nutzen können.
 Um einen Screenshot anzufertigen, verwenden Sie eine Komponente vom Typ tCanvas und weisen ihr das aktuelle Handle des Windows-Desktops zu:
 procedure TForm1.Button1Click(
 Sender: TObject);
 var c : tCanvas;
 desktop : thandle;
 begin c := tCanvas.create;
 desktop := CreateDC('DISPLAY',
 nil,nil, nil);
 c.Handle := desktop;
 [...]
 c.free;deleteDC(Desktop);
 end;end;
 Innerhalb der Klammer benutzen Sie die gewohnten Delphi-Funktionen, um entweder auf dem Desktop zu zeichnen, oder Sie speichern den Desktop als Datei. Das Beispielprogramm versteckt sich, während es den Desktop fotografiert und speichert den Screenshot als Bitmap.

Verfasser: Andreas
Letzte Änderung: 2012-03-09 20:32


Schneller Ausdruck

Ohne schöne Formatierung, dafür aber schnell zu programmieren: das Ausdrucken über Writeln.
 Drucken ist eine mühsame Angelegenheit unter Windows. Zwar müssen Sie nicht mehr für jedes Druckermodell eine eigene Routine schreiben, dafür kostet es viel lästige Kleinarbeit. Wenn es aber darum geht, schnell etwas zu Papier zu bringen, hilft die folgende Methode:
 var f: TextFile;
 begin
 AssignFile( f, 'LPT1' );
 Rewrite( f );
 {Hier der Code zum ausdrucken}
 WriteLn( f, 'Hallo Welt!');
 CloseFile( f );
 end;

Verfasser: Andreas
Letzte Änderung: 2012-03-09 20:32


Schriften mit Mustern füllen

Bieten Sie Schrift als farblich gemusterte Bitmap an, erhöht sich die Chance, dass der Anwender die Nachricht liest.
 Wollen Sie Schriften statt in einer Farbe mit einem Muster oder einer Bitmap füllen? Definieren Sie die gewünschte Schriftart. Im Beispiel haben wir Verdana (50 Punkt) gewählt. Weiterhin enthält der Schriftstil das Attribut fsBold, damit die Schrift dick erscheint und gut zur Geltung kommt:
 procedure TForm1.Button1Click
 (Sender: TObject);
 var
 ClipRegion: HRGN;
 Bmp: TBitmap;
 begin
 canvas.Font.name := 'Tahoma'
 canvas.Font.Size := 50;
 canvas.Font.Style :=
 canvas.Font.Style +
 [fsbold];
 Legen Sie die Bitmap an, in der die Zeichenoperation vorbereitet wird. Diese Bitmap erhält hier die gleiche Höhe und Breite wie das Muster, mit dem die Schrift gefüllt werden soll.
 Bmp := TBitmap.Create;
 Bmp.Width := Image1.Width;
 Bmp.Height := Image1.Height;
 Starten Sie die Zeichenoperation mit der Funktion BeginPath. Alle Zeichenoperationen, die Sie nachfolgend aufrufen, protokolliert Windows mit. Die Aufzeichnung beenden Sie mit dem Aufruf der Funktion EndPath:
 BeginPath(Canvas.Handle);
 SetBkMode(Canvas.Handle,
 TRANSPARENT);
 TextOut(Canvas.Handle, 0, 0,
 pchar(edit1.Text),
 length(edit1.Text));
 EndPath(Canvas.Handle);
 Durch den Aufruf von TextOut haben Sie bestimmte Bereiche im Canvas verändert. Diesen Bereich speichern Sie in der Variablen ClipRegion. Dadurch erhalten Sie eine Art Maske, die im nächsten Schritt auf die Bitmap angewandt wird. Bei nachfolgenden Zeichenoperationen nutzen Sie nur die Bereiche innerhalb dieser Maske:
 ClipRegion := PathToRegion(
 Canvas.Handle);
 SelectClipRgn(
 Bmp.Canvas.Handle,
 ClipRegion);
 Jetzt haben Sie den Bereich der Schrift maskiert und füllen ihn mit der Bitmap, die in Image1 gespeichert ist. Setzen Sie die Maske zurück, und übertragen Sie das Resultat mittels canvas.draw in Ihr Hauptfenster.
 Bmp.Canvas.Draw(0, 0,
 Image1.Picture.Bitmap);
 SelectClipRgn(
 Bmp.Canvas.Handle, 0);
 canvas.Draw(60, 159, Bmp);
 DeleteObject(ClipRegion);
 Bmp.Free;
 end;
 Benutzen Sie bei dieser Technik nur True-Type-Schriften. Andere Schriften lassen sich nicht skalieren und ergeben mit BeginPath unter Umständen unerwünschte Ergebnisse.
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 20:33


Schutzverletzung bei Dateizugriff

Um Fehlermeldungen zu vermeiden, prüfen Sie, ob eine Datei schon benutzt wird, bevor Sie diese öffnen.
 Wenn Sie eine Datei verändern wollen, müssen Sie zuvor wissen, ob nicht schon ein anderes Programm auf diese Datei zugreift. Jeden Versuch ahndet das Betriebssystem mit der Meldung einer Schutzverletzung. Sie prüfen den Dateizugriff mit einer Funktion, die Sie folgendermaßen entwickeln:
 function FileInUse
 (FileName: string ): boolean;
 var
 HFileRes: HFILE;
 begin
 Result := false;
 if not FileExists(FileName)
 then
 exit;
 HFileRes :=
 CreateFile(pchar(FileName),
 GENERIC_READ or
 GENERIC_WRITE,0, nil,
 OPEN_EXISTING,
 FILE_ATTRIBUTE_NORMAL, 0);
 Result :=
 (HFileRes=INVALID_HANDLE_VALUE);
 if not Result then
 CloseHandle(HFileRes);
 end;
 Dieser Funktion übergeben Sie als Parameter den Dateinamen. Ist die Datei schon geöffnet, gibt die Funktion den Wert wahr zurück, andernfalls falsch. Die Hauptarbeit leistet die Funktion CreateFile(), die Sie mit dem Parameter OPEN_EXISTINGaufrufen. Wenn die Datei schon benutzt wird, gibt Ihnen diese Funktion den Wert INVALID_ HANDLE_VALUE zurück. Diesen Wert fragen Sie folgendermaßen ab:
 if FileInUse(Application.Exename)
 then
 ShowMessage('Datei schon benutzt!');

Verfasser: Andreas
Letzte Änderung: 2012-03-09 20:33


ScrollBox mit Hintergrund

Es gibt viele Methoden, ein Formular mit einem Hintergrundbild zu schmücken. Dieser Tip zeigt das Verfahren für eine ScrollBox.
 Programmierer wollen Ihrer Arbeit manchmal einen individuellen Stempel aufdrücken. So können Sie in einer ScrollBox zum Beispiel ein Logo im Hintergrund recht einfach einbinden. Bei einer ScrollBox ist das Verfahren komplizierter. Dazu leiten Sie eine neue Komponente vom Typ TScrollBox ab:
 type
 TMyScrollBox = Class(TScrollBox)
 Fangen Sie die WM_PAINT Message von Windows ab, und setzen Sie sie folgendermaßen um:
 procedure TMyScrollBox.WMPaint
 (var Message: TWMPaint);
 begin
 PaintHandler(Message);
 end;
 Zu guter Letzt brauchen Sie die PAINT-Routine esScroll.pas (Listing 2), die das Ganze zeichnet.
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 20:34


Seitenränder eines Memofeldes

Dieser Tipp zeigt, wie Sie in einer TMemo-Komponente Seitenränder einstellen.
 In Delphi lässt sich einer TMemo-Komponente kein Seitenrand zuweisen. Über eine Edit Control Message können Sie den Rand manuell setzen. Die Botschaft EM_SETRECT kann mit der Funktion SendMessage ans entsprechende Memo-Feld gesendet werden. Die Routine SendMessage erwartet vier Parameter: Beim ersten handelt es sich um das Handle des Memo-Feldes. Die Botschafts-ID EM_SETRECT bildet den Wert des zweiten Parameters. Die letzten beiden nehmen die neuen Daten für die Botschaft auf. Hier wird dem vierten Parameter die Speicheradresse eines Records vom Typ TRect übergeben, der die neuen Randdaten enthält. Für Rechtecke verwenden Sie den Typ TRect:
 TRect = record
 case Integer of 0: (Left, Top,
 Right, Bottom: Integer); 1:
 (TopLeft, BottomRight: TPoint);
 end;
 Beide Varianten erwarten die Koordinaten von den Punkten des Rechtecks oben-links und unten-rechts, angegeben in Pixeln relativ zum Memo-Control. Damit die Änderungen wirksam werden, muss das Control mit der Methode Refresh neu gezeichnet werden, nachdem die Message übermittelt wurde. Und so kapseln Sie die Routine:
 procedure MemoRect(ACustomMemo:
 TCustomMemo; Rect: TRect);
 begin
 SendMessage(ACustomMemo.Handle,
 EM_SETRECT, 0, LongInt(@Rect));ACustomMemo.Refresh; end;
 Alternativ können Sie auch das TRich-Edit-Control verwenden.
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 20:34


Sensitive Labels

Reagieren Sie bei Komponenten mit Farbänderungen auf Mausbewegungen.
 Man kennt sie von Internet-Seiten: Textpassagen, die ihre Farbe wechseln, wenn der Benutzer mit der Maus darüberfährt. In der täglichen Delphi-Pra-xis ist das nicht so leicht zu realisieren. Zwar erfahren Sie über OnMouseMove, wann sich die Maus innerhalb eines Controls befindet. Wann sie sich allerdings anderen Steuerelementen des Fensters zuwendet, bleibt im Dunkeln. Doch was wäre Delphi ohne die Windows-Botschaften? Und genau diese sagen Ihrem Programm oder jeder beliebigen Komponente, wann der Mauszeiger das Areal betritt und wann er es wieder verläßt. Diese beiden Messages lauten CM_MouseEnter und CM_MouseLeave. Am Beispiel eines modifizierten La-bel-Controls wollen wir Ihnen das Prinzip verdeutlichen. Erzeugen Sie das Grundgerüst einer neuen Komponente mit dem Namen THLLabel, die direkt von TLabel abstammt. Fügen Sie im Abschnitt Published die folgenden Dekla-rationen ein:
 Property ColorNormal:TColor Read
 FColorNormal Write FColorNormal;
 Property ColorHighLight: TColor
 Read FColorHighLight
 Write FColorHighLight;
 Property MouseInPos:Boolean Read
 FMouseInPos Write FMouseInPos;
 Property OnMouseEnter:
 TNotifyEvent
 Read FMouseEnter Write
 FMouseEnter;
 Property OnMouseExit:TNotifyEvent
 Read FMouseExit Write FMouseExit;
 Hierbei handelt es sich um Eigenschaften, die der Benutzer der Komponente später im Objektinspektor sieht. Zu jeder dieser Eigenschaften benötigen Sie zudem eine Variable, die die Werte innerhalb der Komponenteninstanz speichert. Deklarieren Sie diese im Abschnitt Private:
 FColorNormal,
 FColorHighlight: TColor;
 FMouseInPos : Boolean;
 FMouseEnter,FMouseExit:
 TNotifyEvent;
 Schließlich brauchen Sie noch die Deklaration der Prozeduren, die bei den genannten Botschaften automatisch aufgerufen werden. Auch diese geben Sie im Private-Abschnitt an:
 procedure CMMouseEnter
 (var AMsg:TMessage);
 message CM_MouseEnter;
 procedure CMMouseLeave(var AMsg:
 TMessage);message CM_MouseLeave;
 sowie den Konstruktor der Komponente:
 constructor Create(AOwner:
 TComponent); override;
 Danach definieren Sie im Implementation-Abschnitt den Code des Konstruk- tors, also die Vorbelegung der Eigenschaftswerte:
 constructor THLLabel.Create
 (AOwner: TComponent);
 begin
 inherited Create(AOwner);
 ColorNormal := Font.Color;
 ColorHighLight:=clHighlightText;
 end;
 Auf den Eingang der Botschaften reagieren Sie mit einem Farbwechsel:
 procedure THLLabel.CMMouseEnter
 (var AMsg: TMessage);
 begin
 Font.Color := ColorHighLight;
 FMouseInPos := True;
 If Assigned(FMouseEnter)
 Then FMouseEnter(Self)
 Else Refresh;
 end;
 Ist die Ereignisroutine zugewiesen, wird sie ausgeführt. Ansonsten wird über die Refresh-Methode das OnPaint-Ereignis aktiviert, auf das Sie wie gewohnt reagieren.
 procedure THLLabel.CMMouseLeave
 (var Amsg: Tmessage);
 begin
 Font.Color := ColorNormal;
 MouseInPos := False;
 If Assigned(FmouseExit)
 Then FmouseExit(Self)
 Else
 Refresh;
 end;

Verfasser: Andreas
Letzte Änderung: 2012-03-09 20:35


Shell-Links anlegen

So legen Sie eine Verknüpfung mit einer beliebigen Datei aus Delphi an.
 Um eine Verknüpfung anzulegen, benutzen Sie eine OLE-Verbindung zum Scripting-System Wscript, das auf jedem Windows-Rechner standardmäßig installiert ist. Dessen Funktion create-ShortCut übergeben Sie die benötigten Angaben, und schon erscheint die Verknüpfung auf dem Desktop. Die auf dem Desktop erscheinenden Dateien werden in einem Verzeichnis gesammelt. Dessen Namen finden Sie über den Aufruf der Funktion Special- Folders heraus.
 procedure CreateShortcut(sName,
 sPath : string);
 var
 objShortcut,
 objShell : variant;
 strDesk : string;
 begin
 objShell:= CreateOleObject(
 'Wscript.Shell');
 strDesk := objShell.\
 SpecialFolders.\
 Item('Desktop');
 objShortcut:= objShell.\
 CreateShortcut(strDesk +'\'+
 sName +'.lnk');
 objShortcut.Targetpath :=
 sPath;
 objShortcut.Save;
 objShell := UnAssigned;
 objShortcut := UnAssigned;
 end;
 Verknüpfungen müssen nicht auf lokale Dateien beschränkt sein. Ebenso können Sie eine Verknüpfung mit einem Internet-Dokument oder einer Web-Adresse anlegen. Geben Sie dann den Namen des Webservers ein, und stellen Sie das Präfix http:// voran.
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 20:35


Sound aus dem PC

Mit zwei Funktionen holen Sie alles aus Ihrem internen PC-Lautsprecher, was er an Tonfrequenzen hergibt.
 Ein Problem in Delphi ist die fehlende Unterstützung des internen PC-Lautsprechers. Mit den beiden folgenden Funktionen stopfen Sie dieses Loch. Dabei sind die beiden Routinen DSound und DNoSound funktionsgleich mit den alten Turbo-Pascal-Routinen Sound und NoSound. Bei DSound übergeben Sie als Parameter die Hertz-Zahl 1, damit Ihr PC-Lautsprecher einen entsprechenden Ton ausgibt:
 Procedure DSound(Hz : Word);
 Var TmpW : Word;
 Begin
 Port[$43]:=182;
 TmpW :=Port[$61];
 Port[$61]:=TmpW or 3;
 Port[$42]:=lo(1193180 div hz);
 Port[$42]:=hi(1193180 div hz);
 End;
 Die Routine aktiviert als erstes über den Befehl
 Port[$43] := 182;
 den Lautsprecher. Mit den darauf folgenden Zeilen legt die Prozedur die Frequenz fest. Ab dem Aufruf von DSound erklingt aus dem Lautsprecher der Ton mit der angegebenen Frequenz. Erst ein Aufruf von DNoSound läßt wieder Ruhe einkehren:
 Procedure DNoSound;
 Var
 TmpW : Word;
 Begin
 Port[$43] := 182;
 TmpW := Port[$61];
 Port[$61] := TmpW and 3;
 End;

Verfasser: Andreas
Letzte Änderung: 2012-03-09 20:35


Sounddateien bequem abspielen

Um Sounddateien abzuspielen, müssen Sie nicht immer die TMediaPlayer-Komponente bemühen.
 Die VCL (Visual Compent Library) von Delphi bietet für den Zugriff auf Multimedia-Dateien die komfortable Komponente TMediaPlayer, die nicht nur Sounddateien, sondern auch Videos und weitere Dateitypen abspielt. Für die Wiedergabe von Sound genügt in den meisten Fällen die Funktion Play-Sound aus der Unit MMSystem. Diese Funktion spart Ressourcen. Sie können sie immer dann verwenden, wenn Sie keinen Einfluß auf die aktuelle Abspiel-position und keine Funktionen wie eine Pause brauchen. Um mit der Funktion PlaySound eine Sounddatei im wav-Format auszugeben, genügt die Code-Zeile
 PlaySound
 (PChar(fn), 0, SND_ASYNC);
 Dieser Funktionsaufruf gibt die Datei, deren Name in der String-Variablen fn gespeichert ist, unabhängig von der Anwendung wieder. Die Funktion kehrt also sofort zum Hauptprogramm zurück, während die Sounddatei parallel zum Programm erklingt. Möchten Sie jedoch das Programm anhalten, bis die Sounddatei abgespielt wurde, verwenden Sie statt dessen die Variable (Flag) SND_SYNC:
 PlaySound(PChar
 (fn), 0, SND_SYNC);
 Möchten Sie die Sounddatei in einer Schleife ständig wiederholen, können Sie zusätzlich zu SND_ASYNCdas Flag SND_LOOP setzen. Dies ist nützlich, wenn Sie im Hintergrund ein Geräusch oder Musik wiedergeben möchten. Die Wiedergabe stoppt erst dann, wenn Sie sie durch einen erneuten Aufruf von PlaySound beenden. Das Flag SND_LOOP kombinieren Sie mit SND_ASYNC, da sonst die Funktion nicht zurückkehrt:
 PlaySound(PChar(fn), 0,
 SND_ASYNC or SND_LOOP);
 Um die Soundwiedergabe zu stoppen, genügt ein Aufruf mit einem nil-Zeiger als Dateinamen:
 PlaySound(nil, 0, SND_ASYNC);
 Darüber hinaus bietet die Funktion PlaySound weitere Optionen. Beispiels-weise können Sie Sounddateien aus dem Speicher wiedergeben oder aus den Ressourcen des Programms. Dies gestattet Ihnen einen schnelleren Zugriff auf häufig verwendete Klänge. Weitere Informationen über die Funktion PlaySound erhalten Sie im Online-Hilfemenü.
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 20:36


Start-Button ein-/ausblenden

Unter Windows 95/98/NT können Sie mit der Maus Programme via Start-Button starten.
 Um den Start-Button auf der Taskleiste ein- und auszublenden, benutzen Sie folgende Funktionen:
 procedure TForm1.Button1Click(
 Sender: TObject);
 begin
 showWindow(GetWindow(
 FindWindow('Shell_TrayWnd',
 nil), GW_Child), sw_restore);
 end;
 Die Taskleiste ermitteln Sie durch den Aufruf von FindWindow mit dem Parameter Shell_TrayWnd. Um den Button zu verstecken, setzen Sie statt sw_restore sw_hide ein:
 procedure TForm1.Button2Click(
 Sender: TObject);
 begin
 showWindow(GetWindow
 (FindWindow('Shell_TrayWnd',
 nil), GW_Child), sw_hide);
 end;
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 20:37


Startverzeichnis bei tOpenDialog

Wenn Sie vordefinierte Dialoge nutzen, um Dateien zu öffnen oder zu speichern, setzt Windows den Pfad für die eigenen Dateien automatisch als Suchverzeichnis ein.
 Sie können bei allen Dialogen angeben, mit welchem Startverzeichnis sie aufgerufen werden sollen. Einfacher geht es, wenn Sie eine globale Variable namens ForceCurrentDirectory setzen. Diese befindet sich in der Unit Dialogs, die Sie auch so referenzieren können:
 procedure TForm1.CheckBox1Click(
 Sender: TObject);
 begin
 dialogs.ForceCurrentDirectory
 := checkbox1.checked; end;
 Dabei setzen Sie die Variable in der Ereignisbehandlungsroutine einer Checkbox. So kann der Benutzer während der Laufzeit angeben, ob ein Standarddialog im Verzeichnis Programm oder in Eigenen Dateien starten soll.
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 20:37


StringGrids speichern

So bereichern Sie das Control TStringGrid mit zwei zentralen Zusätzen: Speichern und Laden.
 Das Control StringGrid enthält die wichtigsten Eigenschaften, um eine Tabelle anzulegen. Das Control lässt sich nicht ohne Vorarbeiten laden und speichern. Leiten Sie daher von StringGrid eine Komponente ab, um diese Eigenschaften zu ergänzen:
 type
 TBStringGrid=class(TStringGrid)
 Danach ergänzen Sie die public-Sektion um zwei Prozeduren:
 public
 procedure SaveToFile
 (Filename: String);
 procedure LoadFromFile
 (Filename: String);
 Zuletzt deklarieren Sie diese beiden neuen Eigenschaften im Code. Der Hauptteil der SaveToFile-Prozedur besteht darin, jede Zelle des StringGrid zu durchsuchen und mit ihren Koordinaten einer StringList hinzuzufügen:
 while i<= RowCount do begin
 for j:=0 to ColCount -1 do begin
 s := Cells[j, i];
 result := '[' + IntToStr(j) +
 '|' + IntToStr(i) + ']
 {' + s + '}'
 str.Add(result);
 result := ''
 end;
 inc(i);
 end;
 Bei der LoadFromFile-Prozedur suchen Sie zuerst nach den einschließenden Klammern:
 for i:=0 to str.Count
 -1 do begin
 if (found) then begin
 c := str[i];
 if pos('}', c) <> 0 then
 Delete(c, pos('}', c), 1);
 st.Add(c);
 found := true;
 if pos('}', str[i]) <> 0
 then begin
 found := false;
 Cells[ACol, ARow] := st.Text;
 st.Text := ''
 end;
 Dann extrahieren Sie die Koordinaten, die ein senkrechter Strich trennt:
 if pos('|', str[i]) <> 0
 then begin
 found := false;
 x := 0; y := 0;
 x := pos('|', str[i]);
 y := x;
 z := x;
 while not(str[i][x] = '[') do
 dec(x);
 while not(str[i][y] = ']') do
 inc(y);
 ACol := StrToInt
 (Copy(str[i], x+1, z-2));
 ARow := StrToInt
 (Copy(str[i], z+1, y-z-1));
 end;
 Das Besondere an beiden Prozeduren ist, dass sie auch Zeilenumbrüche innerhalb einer Spalte speichern. Ein Beispielprogramm finden Sie auf der Heft-CD unter ...StringGrid/Project1.exe
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 20:38


Systemanwendungen starten

Starten Sie die Einträge der Systemsteuerung aus Ihren Delphi-Anwendungen.
 Sie managen Ihre Grafikeinstellung, Ihr Netzwerk, Kennwörter und auch die BDE- und ODBC-Steuerung: Anwen-dungen, die Sie ab Windows 95 in der Systemsteuerung finden. Manchmal ist es nötig, dem Benutzer eigener Anwen-dungen diese Systemdienste zur Verfü-gung zu stellen. Denn statt einer Mitteilung im Stil von
 Ändern Sie die Ländereinstellungen in Deutsch um....
 möchte der Anwender lieber gleich den richtigen Dialog für die Änderung präsentiert bekommen. Dazu müssen Sie wissen, daß alle Einträge der Systemsteuerung in Form von cpl-Dateien im Systemverzeichnis vorliegen. Da es sich bei cpl-Dateien um eine spezielle Form einer DLL handelt, nutzen Sie am besten die systemeigene Routine RunDLL32.exe, um das entsprechende Applet zu starten. Am einfachsten ist es, wenn Sie eine eigene Funktion dafür schreiben:
 function RunCPL
 (FName: string) : Boolean;
 begin
 Result := WinExec(
 PChar('rundll32.exe ' +
 'shell32.dll,'+
 'Control_RunDLL '+FName),
 SW_SHOWNORMAL) > 31;
 end;
 Das Ergebnis ist True, falls die cpl-Datei geöffnet werden konnte, sonst False. Um beispielsweise die Ländereinstellung zu starten, lautet der Aufruf
 RunCPL('INTL.CPL');

Verfasser: Andreas
Letzte Änderung: 2012-03-09 20:38


Systemfunktionen starten

Aktivieren Sie ab Delphi 2 die Icons der Systemsteuerung von Ihren Programmen aus.
 In der Systemsteuerung befinden sich zahllose Symbole. Mit den dahinterliegenden Diensten konfigurieren Sie Modems, richten die Internet-Verbindung ein, starten den BDE-Manager oder deinstallieren Software. All diese Symbole basieren auf Dateien mit der Endung cpl, die im Systemverzeichnis abgelegt sind. Hierbei handelt es sich um spezielle DLLs. Was aber tun Sie, wenn Sie diese Funktionen von einem eigenen Programm aus aufrufen wollen? Dann brauchen Sie unsere RunCPL-Routine:
 function RunCPL ( sName : string) : Boolean;
 begin
 Result :=
 WinExec( PChar('rundll32.exe shell32.dll,'+ 'Control_RunDLL '+sName), SW_SHOWNORMAL) > 32;
 end;
 Wollen Sie etwa die Modem-Konfiguration starten, lautet der Aufruf
 RunCPL ('Modem.Cpl');
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 20:39


Systemmenü aufrufen

Windows muss alle Ereignisse wie jeden Tastendruck oder jede Mausbewegung an Ihr Programm übermitteln.
 Was Sie der Tastatur oder Maus anvertrauen, übermittelt Windows als Nachricht Ihrem Programm. So generiert Windows also eine Nachricht, wenn Sie das Systemmenü einer beliebigen Anwendung öffnen. Dieses erreichen Sie durch einen Klick mit der linken Maustaste auf das Anwendungssymbol im oberen linken Fensterrand. Alternativ dazu halten Sie die [Alt]-Taste gedrückt und drücken dazu die [Leertaste]. Diese Ereignisse können Sie auch simulieren, indem Sie entsprechende Nachrichten an ein Programm versenden. So rufen Sie durch eine einfach Anweisung das Systemmenü des eigenen oder eines anderen Programms auf:
 procedure TForm1.Button1Click(
 Sender: TObject);
 begin
 PostMessage(Handle,
 wm_sysCommand,
 sc_keymenu, 0);
 PostMessage(Handle,
 wm_KeyDown, vk_Return, 0);
 end;
 Sie übermitteln die Nachrichten durch die Funktion PostMessage, welche die Botschaft an das Programm schickt, dessen Handle Sie als ersten Parameter angeben. Anstatt das Handle des eigenen Programms können Sie auch das eines anderen Programms angeben (siehe Tipp xx) .
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 20:39


Systemmenü erweitern und verkleinern

Die meisten Fenster unter Windows verfügen über das typische Systemmenü. Mit diesem Tipp verändern Sie dieses Menü.
 Sie können eigene Menüs erweitern und verkleinern. Mit dem Systemmenü geht dies nicht so leicht. Über das Property BorderIcons des jeweiligen Formulars können Sie das Systemmenü komplett ein- und ausblenden. Es ist schwieriger, das Menü um eine Funktion zu erweitern. Mit der Funktion AppendMenu fügen Sie eine neue Funktion ein. Sie übergeben dazu das Handle des Systemmenüs, den Menütyp, eine eindeutige ID und die Eigenschaft Caption des neuen Menüpunkts. Das Handle des Systemmenüs erhalten Sie mit der Funktion GetSystemmenu. In den meisten Fällen hat der zweite Parameter, der den Menütyp erwartet, den Wert MF_STRING. Damit weisen Sie die Funktion an, dass es sich bei dem anzuzeigenden Text um einen String handelt. Dass dieser Parameter auch andere Werte annehmen kann, zeigt die Tabelle.
 Wenn Sie als zweiten Parameter MF_STRING benutzen und sich der Text in einem String befindet, müssen Sie diesen erst in den Datentyp PCharumwandeln.
 Der neue Menüeintrag erscheint zwar jetzt schon im Systemmenü, aber er hat noch keine Funktion. Es fehlt noch die Verknüpfung zu einer Prozedur oder einer Funktion. Sie müssen die Windows- Botschaft WM_SYSCOMMAND abfangen und auswerten. Dazu benötigen Sie die Botschaftsbehandlungsroutine, die Sie im Private-Abschnitt der Klassendeklaration Ihres Formulars deklarieren:
 procedure WMSysCommand
 (var M: TWMSysCommand);
 message WM_SYSCOMMAND;
 Wie im letzten Tipp muss diese Botschaftsbehandlungsroutine immer eine Prozedur mit einem var-Parameter sein. Der Parameter vom Typ TWMSysCommand enthält den Botschafts-Record. Die Botschaft wird durch die Integer-Konstante WM_SYSCOMMAND identifiziert. Es folgt die Implementierung der Botschaftsbehandlungsroutine. Auch hier darf die Anweisung Inherited nicht fehlen, um den Botschafts-Record zu übergeben. Um den Menüeintrag anzufügen, ordnen Sie ihm einen eindeutigen Identifizierer zu. Sie erkennen, auf welchen Eintrag der Anwender geklickt hat. Dieser Identifizierer ist vergleichbar mit der Sender-Variablen bei Ereignisbehandlungsroutinen. Sie fragen diese ID-Nummer des Menüeintrags mit der Anweisung M.CmdType ab. Mit einer if-Abfrage lassen sich dann entsprechende Aktionen ausführen:
 if M.CmdType = $F200 then
 Showmessage
 ('neuer Eintrag geklickt');
 Leichter lassen sich Einträge aus dem Systemmenü entfernen. Sie verwenden dazu die API-Funktion RemoveMenu. Zuvor ermitteln Sie das Handle mit der Funktion GetSystemmenu:
 GetSystemMenu(handle,False);
 Mit GetSystemMenu holen Sie das Handle des Systemmenüs, und mit RemoveMenu entfernen Sie einzelne Einträge. Die API-Funktion RemoveMenu erwartet drei Parameter. Der erste Parameter gibt das Handle des Menüs an, der zweite die Position des Menüs und der dritte die Konstante MF_BYPOSITION. Die Position ist die Nummer des Menüeintrags, wobei Sie von oben zählen. Trennstriche rechnen Sie mit.
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 20:39


Systempfade ermitteln

Windows liefert unterschiedliche Methoden, um Systempfade zu ermitteln.
 Es gibt seit Windows 95 viele Pfade, die für das Betriebssystem charakteristisch sind: Dies fängt beim Windows-Verzeichnis an, geht über Programme-Verzeichnisse bis zu denen, die Start-Menüeinträge oder Favoriten speichern. Während Windows das eigene Verzeichnis, das Systemverzeichnis und das Verzeichnis für die temporären Dateien durch die dafür bestimmten Funktionen GetWindowsDirectory, GetSystemDirectory und GetTempPath kennzeichnet, lassen sich die anderen Pfade entweder über die Registry oder mit der Funktion SHGetSpecialFolderLocation in der Unit ShlObj.pas ermitteln. Leider nennt die Funktion die Pfade der verschiedenen Verzeichnisse nicht in klaren Namen. Stattdessen erhalten Sie nur eine Item-ID-Liste, die den Pfad identifiziert. Seit Windows 95 dienen diese Listen dazu, alle Objekte im Dateisystem zu bestimmen. Dazu gehören neben Dateien und Ordnern auch virtuelle Objekte wie der Systemsteuerungs-oder Arbeitsplatzordner. Die virtuellen Objekte finden Sie nicht als Namen im Dateisystem. Die Funktion SHGetPathFromIDList hilft, diese Item-ID-Liste in einen aussagekräftigen Pfad umzuwandeln. Um diese Funktionalität zu kapseln und den Zugriff auf die verschiedenen Systempfade zu erleichtern, enthält die Unit Pfade.pas (Heft-CD) die Funktion GetSystemPath. Diese liefert die verschiedenen Pfade der Systemverzeichnisse. Den Pfad ermitteln wenige Zeilen:
 if SHGetSpecialFolderLocation
 (GetDesktopWindow, CSIDL, PIDL)
 = NOERROR
 then
 begin
 SetLength(Result, MAX_PATH);
 if SHGetPathFromIDList
 (PIDL, PChar(Result))
 then
 SetLength
 (Result, StrLen(PChar(Result)))
 else
 Result := ''
 end else
 Result := ''
 Hierbei reserviert der erfolgreiche Aufruf von SHGetSpecialFolderLocation zunächst mit SetLength einen Buffer, in den Windows den Pfad einträgt. Ein Beispielprogramm finden Sie im Verzeichnis ...\Pfadeauf der Heft-CD.
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 20:40


Systemsteuerungs-Control starten

Ein Applet der Systemsteuerung lässt sich sehr einfach mit dem Programm Rundll32starten.
 Starten Sie Delphi-Anwendungen mit den vorgefertigten Funktionen WinExec oder ShellExecute. Wenn Sie aber eine Anwendung via Systemsteuerung aus-führen wollen, nutzen Sie folgende Pro-zedur:
 procedure LaunchApplet
 (Applet: string);
 begin
 WinExec(PChar('Rundll32.exe
 Shell32.dll,Control_RunDLL '
 + Applet), SW_SHOWNORMAL);
 end;
 Sie rufen diese Prozedur mit der Zeile
 LaunchApplet('Desk.cpl');
 auf.
 Ein Beispielprogramm finden Sie auf der Heft-CD
 unter ...Applet/Project1.exe.

Verfasser: Andreas
Letzte Änderung: 2012-03-09 20:40


Systemverzeichnisse aufspüren

Für manche Aufgaben wie Installationen ist es nötig, den Namen eines bestimmten Systemverzeichnisses zu kennen.
 Das Verzeichnis von Windows als wichtigstes Systemverzeichnis ist fast auf jedem PC gleich. Was jedoch, wenn ein Anwender Windows unter einem andern Namen oder auf andern Laufwerken installiert? Folgende Funktion verschafft Ihnen die Namen des Windows-, Temp- und System-Verzeichnisses sowie Ihrer eigenen Delphi-Anwendung. Die Funktion erwartet nur den Parameter, der auf das Verzeichnis verweist, das Sie benötigen.
 type DirectoryType =
 (_WINDOWS, _TEMP,
 _SYSTEM, _CURRENT);
 function GetDirectory
 (Dir: DirectoryType): string;
 var
 Path: array [0..260] of Char;
 begin case Dir of
 _WINDOWS: GetWindowsDirectory
 (Path, Sizeof(Path));
 _SYSTEM : GetSystemDirectory
 (Path, Sizeof(Path));
 _TEMP : GetTempPath
 (Sizeof(Path), Path);
 _CURRENT: GetCurrentDirectory
 (Sizeof(Path), Path);
 end;
 Result := StrPas(Path);
 end;

Verfasser: Andreas
Letzte Änderung: 2012-03-09 20:41


Systemweite Hotkeys

Einen Hotkey, der für das gesamte Betriebssystem gelten soll, definieren Sie mit einer eigenen Komponente.
 Das kennen Sie aus Word: Mit Strg-X schneiden Sie eine markierte Fläche aus und fügen sie mit Strg-V in ein anderes Programm ein. Um entsprechende Hot-keys für eigene Programme zu nutzen, bietet die Windows-API eine spezielle Schnittstelle, über die Sie einen solchen Hotkey definieren. Alles, was Sie dazu brauchen, ist ein Fenster, das die Nachricht WM_HOTKEY abfängt und verarbeitet, sowie die Funktionen Register-Hotkey und UnregisterHotkey. Der Einfachheit halber erledigen Sie dies alles mit einer selbstgeschriebenen Komponente, die Sie auf dem Formular plazieren. Über deren Eigenschaften definieren Sie den Hotkey und aktivieren bzw. deaktivieren ihn wieder bei Bedarf. Zu diesem Zweck dient die Komponente TSystemHotkey. Sie definiert ein eigenes Ereignis, das ausgelöst wird, wenn der Benutzer die eingestellte Tastenkombination drückt:
 property OnHotkeyPressed:
 TNotifyEvent;
 Um die Funktionalität der Komponente zu nutzen, können Sie auf folgende Ei-genschaften zugreifen:
 property Active: Boolean;
 property Registered: Boolean;
 property ID: TSystemHotkeyID;
 property Hotkey: TShortCut;
 Um den Hotkey zu aktivieren, setzen Sie die Eigenschaft Active auf true. Allerdings wird der Hotkey nur aktiviert, wenn auch der Eigenschaft ShortCut ein gültiger Wert zugewiesen wird. Diesen setzen Sie entweder im Objektinspektor oder zur Laufzeit mit Hilfe der Funktion ShortCut aus der Unit Menus:
 SystemHotkey.Hotkey :=
 ShortCut(Word('A'),
 [ssCtrl, ssAlt]);
 Dieser Aufruf definiert beispielweise den systemweiten Hotkey [Strg-Alt-A]. Außerdem muß dem Ereignis On-HotkeyPressed noch eine Ereignisprozedur zugewiesen werden, was entweder mit Hilfe des Objektinspektors oder zur Laufzeit geschehen kann:
 SystemHotkey.OnHotkeyPressed :=
 SystemHotkeyOnHotkeyPressed;
 Sobald alle diese Eigenschaften korrekt gesetzt sind, wird bei jedem Drücken der ausgewählten Tastenkombination das Ereignis OnHotkeyPressed ausgelöst. Besondere Beachtung verdient die Eigenschaft ID: Weil diese die Hotkeys identifiziert, muß die ID innerhalb der Anwendung eindeutig sein. Dafür haben Sie als Programmierer allerdings selbst zu sorgen, da sonst die Ereignisse nicht korrekt ausgelöst wer-den. Es darf daher kein ID-Wert innerhalb einer Anwendung mehrfach vergeben werden. Intern arbeitet die Komponente mit einem unsichtbaren Hilfsfenster, dessen einzige Aufgabe es ist, die von Windows verschickten WM_HOTKEY-Nach-richten zu verarbeiten und das entspre-chende Ereignis auszulösen. Das Fenster selbst erzeugen Sie mit der Funktion AllocateHWnd (aus der Unit Forms) im Konstruktor der Komponente
 FHelpWindow :=
 AllocateHWnd(HelpWindowProc);
 Im Destruktor der Komponente wird das Fenster dann mit DeallocateHWnd wieder freigegeben:
 DeallocateHWnd(FHelpWindow);
 Die Methode HelpWindowProc ist sozusagen das Kernstück der Komponente, sie überprüft bei einer WM_HOT-KEY-Nachricht die ID und löst bei Übereinstimmung das Ereignis OnHot-keyPressed aus. Alle übrigen Nachrich-ten bearbeitet und übergibt Delphi mit der Funktion DefWindowProc an Win-dows:
 if (Msg.Msg = WM_HOTKEY)
 and (Msg.wParam = FID) then
 if Assigned
 (FOnHotkeyPressed) then
 FOnHotkeyPressed(Self)
 else
 Msg.Result := DefWindowProc
 (FHelpWindow, Msg.Msg,
 Msg.wParam, Msg.lParam);
 Um Abstürze und Schutzverletzungen zu vermeiden, überprüfen Sie vor dem Auslösen der Ereignisse mit Assigned, ob diesen eine gültige Ereignisprozedur zugewiesen wurde.
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 20:41


Taskbar verstecken

Ab Delphi 2 können Sie die Taskbar mit der Maus in den Hintergrund verdrängen.
 In der Taskbar präsentieren sich seit der Windows-95-Oberfläche alle laufenden Anwendungen mit Symbolbild und Programmtext. Wer diesen Platz braucht, kann die Taskbar automatisch in den Hintergrund verschwinden lassen, sobald sich die Maus vom unteren Rand des Monitors wegbewegt. Ob dieses Verhalten in der Umgebung Ihres Programms eingestellt ist, ermitteln Sie mit der Funktion TaskbarAutoHide:
 function TaskbarAutoHide : boolean;
 var TB : TAppBarData;
 begin
 TB.cbSize := sizeof(TB);
 Result := (SHAppBarMessage(ABM_GETSTATE, TB) and ABS_AUTOHIDE) > 0;
 end;
 Um die Shell-Routinen zu nutzen, binden Sie in der Uses-Klausel die Deklarations-Unit ShellAPI ein. Daneben läßt sich mit SHAppBarMessage auch ermitteln, ob sich die Task-Leiste immer im Vordergrund befindet, wenn Sie statt ABS_AUTOHIDE die Konstante ABS_ALWAYSONTOP verwenden.

Verfasser: Andreas
Letzte Änderung: 2012-03-09 20:42


Taskleiste manipulieren

Mit ein paar kurzen Aufrufen lassen Sie den Start-Button verschwinden oder zeigen das Start-Menü an.
 Das Start-Menü zeigen Sie mit einem kurzen Aufruf der oft genutzten Prozedur SendMessage() an. Beachten Sie dabei den korrekten Gebrauch der Parameter:
 SendMessage( Handle,
 WM_SYSCOMMAND, SC_TASKLIST, 0 );
 Der Aufruf sendet an das eigene Fenster die Message, die Taskleiste zu zeigen. Das Fenster reagiert und sendet die Botschaft weiter, bis sich das Start-Menü öffnet. Schwieriger ist es, den Start-Button verschwinden und wieder anzeigen zu lassen. Dazu müssen Sie zuerst das Handle (ein Wert) der Taskleiste finden:
 Tray := FindWindow
 ('Shell_TrayWnd', nil);
 Dann identifizieren Sie das Kind-Fenster per Handle:
 Child := GetWindow(Tray,
 GW_CHILD);
 Ist dieses getan, lassen Sie die Abfrage so lange in einer While-Do-Schleife, bis der Start-Button identifiziert wurde. Dessen Handle muss schließlich in einer Variablen vorliegen. Das Ganze ist so kompliziert, weil der Start-Button Teil der Taskleiste ist. Dort liegen noch andere Funktionen wie Fensterinformationen. Ist der Start-Button mit Handle gefunden, rufen Sie die Prozedur Show-Window() auf, mit der Sie Fenster zeigen oder verstecken:
 ShowWindow
 (StartButton_Handle,
 SW_Hide);
 Um das Fenster wieder anzuzeigen, verändern Sie den ShowWindow()-Aufruf:
 ShowWindow
 (StartButton_Handle,
 SW_Show);

Verfasser: Andreas
Letzte Änderung: 2012-03-09 20:42


Taskleisten-Icon wechseln

Jede Windows-Anwendung zeigt in der Taskleiste neben dem Programmnamen ein Icon an, dem Sie zusätzliche Informationen verleihen können.
 Nutzen Sie das Icon in der Taskleiste, um einen Benutzer auf ein Ereignis hinzuweisen. Wechseln Sie dazu in periodischen Abständen das Symbol in der Taskleiste. Den Zugriff auf das Symbol haben Sie über die Eigenschaft application. icon. Die Icons selbst laden Sie in eine Komponente vom Typ tImageList. Zusätzlich setzen Sie eine tTimer-Komponente in Ihr Formular und füllen die Methode onTimer folgendermaßen:
 procedure TForm1.Timer1Timer(
 Sender: TObject);
 begin
 if ilist.Tag = 0
 then ilist.tag := 1
 else ilist.tag := 0;
 ilist.GetIcon(ilist.tag,
 application.icon);
 end;
 Bei jedem Aufruf der Methode setzt die Funktion abwechselnd das erste oder zweite Icon ein. Sie können mehrere Icons oder Animationen einsetzen. In diesem Fall benötigen Sie jedoch eine zusätzliche Variable, um den Index des aktuellen Icons zu speichern und das neue anzuzeigen.

Verfasser: Andreas
Letzte Änderung: 2012-03-09 20:43


Textfelder verlieren den Fokus

Rufen Sie beim Verlassen eines Edit-Feldes eine Dialogbox auf, verliert das Control den Fokus.
 In Delphi gibt es einen Bug, den Sie zwar nicht beheben können, aber kennen sollten: Oft wird beim Verlassen eines Edit-Feldes dessen Inhalt auf Gültigkeit geprüft. Geben Sie dann mit ShowMessage oder MessageDlg eine Meldung aus, verliert das nächste Control seinen Fokus. Es ist kein Cursor mehr zu sehen. Auch wenn Sie versuchen, das Steuerelement anzuklicken, geschieht nichts. Erst wenn Sie das nächste Element aktivieren und dann wieder zurückwechseln, erhält das Eingabefeld den Fokus.
 Dieses Verhalten können Sie simulieren, indem Sie drei TEdit-Felder erzeugen und das OnExit-Ereignis von Edit1 wie folgt behandeln:
 procedure TForm1.Edit1Exit(Sender: TObject);
 begin
 ShowMessage('UPS');
 end;
 ib

Verfasser: Andreas
Letzte Änderung: 2012-03-09 20:43


Tooltips einmal anders

Mit einer kleinen Prozedur bringen Sie Delphi dazu, Tooltips zu zeichnen, die vom Standard abweichen.
 Wer mit dem Mauszeiger über einen Schaltknopf fährt, erhöht mit einer Mel-dung in Kontrastfarbe die Aufmerksamkeit des Anwenders. In den folgenden Zeilen sehen Sie, wie Sie einem Tooltip eine andere Farbe zuweisen. Außerdem passen Sie das Meldefenster der Position des Mauszeigers an. Zuerst deklarieren Sie die Prozedur:
 protected
 procedure GetHintInfo
 (var HintStr: string;
 var CanShow: boolean;
 var HintInfo: THintInfo);
 procedure TForm1.GetHintInfo
 (var HintStr: string;
 var CanShow: boolean;
 var HintInfo: THintInfo);
 var
 II: TIconInfo;
 Bmp: Windows.TBitmap;
 begin HintInfo.HintColor:=clRed;
 with HintInfo do begin
 if HintControl = NIL then exit;
 HintPos :=
 HintControl.ClientToScreen
 (CursorPos);
 GetIconInfo(Screen.Cursors
 [HintControl.Cursor], II);
 GetObject(II.hbmMask, SizeOf
 (Windows.TBitmap), @Bmp); if II.hbmColor = 0 then
 inc(HintPos.Y,
 Bmp.bmHeight div 2)
 else
 inc(HintPos.Y, Bmp.bmHeight);
 dec(HintPos.Y, II.yHotSpot);
 DeleteObject(II.hbmMask);
 DeleteObject(II.hbmColor);
 end;
 end;
 In das OnCreate-Ereigniss des Formulars schreiben Sie zusätzlich folgenden Eintrag:
 Application.OnShowHint
 := GetHintInfo;

Verfasser: Andreas
Letzte Änderung: 2012-03-09 20:44


Typisierte Dateien

Mit typisierten Dateien lassen sich Records oder Arrays speichern.
 Bei typisierten Dateien müssen der Typ der zu speichernden Variable und die Größe vorher bekannt sein. Sie können keine Strings speichern, deren Länge nicht begrenzt ist. Sie begrenzen Strings, indem Sie in eckigen Klammern die Größe definieren.
 Name: String[20];
 Der String Name ist somit 20 Bytes groß. Vor dem Speichern müssen Sie die Datei mit der Dateivariablen verknüpfen, wozu Sie AssignFile verwenden. AssignFile erwartet zwei Parameter, wobei Sie dem ersten die Dateivariable des Typs File of TDatentyp übergeben. TDatentyp kennzeichnet den Datentyp, um die Struktur der Datei zu erkennen. Der zweite Parameter erwartet Pfad und Dateinamen. Er ist ein Ausdruck des Typs String oder PChar, falls die erweiterte Syntax aktiviert ist. So öffnen Sie die Datei zum Schreibzugriff:
 procedure Rewrite
 (var F: File [;
 Recsize: Word ] );
 F kennzeichnet die Dateivariable. Die mit ReWrite geöffnete Datei ist leer. Danach können Sie die Variable mit Write speichern, wozu Sie zwei Parameter brauchen. Der erste kennzeichnet die Dateivariable, der zweite erwartet den Namen der zu speichernden Variablen wie Datentyp. Den reservierten Speicher geben Sie mit CloseFile(F) wieder frei. Ebenso lesen Sie aus typisierten Dateien, die Sie dazu statt mit ReWrite mit Reset öffnen. Sie lesen mit dem Read-Befehl; die Parameter sind mit denen des Write-Befehls identisch.

Verfasser: Andreas
Letzte Änderung: 2012-03-09 20:44


Umlaute von DOS nach Windows

Eine einfache Funktion konvertiert vom ANSI- (Windows-) zum ASCII- (OEM-) Zeichensatz.
 Wer DOS-Texte in Windows oder umgekehrt bearbeitet, plagt sich mit der falschen Darstellung von Umlauten. Der Grund: MS-DOS verwendet ASCII-Zeichen, während Windows die amerikanischen ANSI-Zeichen nutzt, und die Codes für die Umlaute finden sich bei ASCII und ANSI an unterschiedlichen Stellen wieder.
 Doch das "Füllhorn" der Windows-APIs erleichtert mit zwei Funktionen die Konvertierung. Leider heißen diese Funktionen in der 16-Bit-API anders (AnsiToOem und OemToAnsi) als in der 32-Bit-Variante (CharToOem und OemToChar). Immerhin kommen die 32-Bit-Versionen mit DBCS (Double-Byte Character Sets) zurecht.
 Nachteil der 16-Bit-Fubktionen: Sie arbeiten nur auf PChars. Also halten Sie entweder bei jedem Aufruf ein entsprechend großes PChar bereit oder verstecken diese unschöne Notwendigkeit in zwei Funktionen: Ansi2Ascii (Listing in Databox 1/98) und Ascii2Ansi. Aus unerfindlichen Gründen hat Borland die Funktion Ansi2Ascii unter dem Pseudonym StrToOem im Modul dbtables.pas in den VCL-Sources versteckt. StrToOem wird dagegen nicht exportiert wird.
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 20:45


Verfolgungsjagd

Um Mausereignisse in Ihrem Programm auszuwerten, entwickeln Sie mit folgendem Tipp passende Delphi-Methoden.
 Delphi-Komponenten lösen die Ereignis-Behandlungsroutinen onEnter und onExit aus, sobald ein Eingabe-Control den Fokus erhält. Dazu müssen Sie jedoch auf die Komponente klicken oder per [Tab]-Taste in das Control wechseln. Wenn Sie jedoch darauf reagieren möchten, sobald der Mauszeiger über ein Control bewegt wird, gibt es in Delphi leider keine Unterstützung. Allerdings behandelt Delphi intern bereits diese Ereignisse, so dass Sie nur mit einigen Zeilen Code nachhelfen brauchen. Deklarieren Sie dazu zwei Nachrichten-Behandlungsroutinen, die auf die Delphi-generierten Nachrichten CM_MOUSEENTER und CM_MOUSELEAVE reagieren:
 type
 TForm1 =
 class(TForm)
 private
 { Private-Deklarationen
 }
 procedure
 CMMouseEnter(
 var msg:TMessage);
 message CM_MOUSEENTER;
 procedure
 CMMouseLeave
 (var msg:
 TMessage);
 message CM_MOUSELEAVE;
 function process
 (enter: boolean):string;
 public
 { Public-Deklarationen }
 currentControl : tControl;
 oldControl : tControl;
 procedure log(s: string);
 end;
 Außerdem deklarieren Sie die beiden Variablen currentControl und oldControl, in denen Sie das aktuell aktive Control sowie das letzte Aktive zwischenspeichern. Die neu deklarierten Methoden ruft Ihr Delphi-Programm immer paarweise auf: immer dann, wenn ein Control den Mausfokus verliert und ein anderes ihn gewinnt.
 procedure TForm1.CMMouseEnter(
 var msg: TMessage);
 begin
 process(true));
 end;
 procedure TForm1.CMMouseLeave
 ( var msg: TMessage);
 begin
 process(false));
 end;
 In beiden Routinen wird hier eine weitere Methode aufgerufen, die im Beispielprogramm das aktive Control einfärbt. Als Parameter übergeben Sie, ob ein Control gerade den Maus-Fokus erhalten oder abgegeben hat:
 function TForm1.process(
 enter: boolean): string;
 begin
 currentControl := FindControl
 (
 WindowFromPoint(
 mouse.CursorPos));
 if oldControl = currentControl
 then exit;
 Zuerst prüfen Sie, ob es sich bei dem Steuerelement um ein interaktives Element handelt.
 if assigned(currentControl)
 then begin
 if (currentControl.ClassType
 = tedit) or
 (currentControl.ClassType =
 tMemo) or
 (currentControl.ClassType =
 tListbox) or
 (currentControl.ClassType =
 tTreeView) then
 begin
 currentControl.Tag :=
 tCastControl(
 currentControl).color;
 if assigned(oldControl)
 then begin
 tCastControl(
 oldControl).Color :=
 oldControl.tag;
 end;
 Den Typecast (Typumwandlung) mittels tCastControl benötigen Sie, um auf die geschützte Eigenschaft color zuzugreifen.
 tCastControl(
 current-
 Control).
 color :=
 $00DFFFFF;
 result :=
 currentControl.
 Name;
 oldControl :=
 currentControl;
 end;
 end
 else result :=
 ''
 end;
 Wenn Sie nun im Beispielprogramm mit der Maus über die verschiedenen Eingabefelder fahren, werden sich diese hellgelb färben, sobald sie den Maus-Fokus erhalten und ihre alte Farbe einnehmen, sobald sie den Maus-Fokus wieder verlieren. Die Originalfarbe der Controls speichern Sie in der ungenutzten Eigenschaft tag der Controls.
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 20:45


Verknüpfungen mit Dateitypen

Die Dateiverknüpfungen, mit denen Word doc-Dateien öffnet, speichert Windows in der Registry. Dort können Sie sie verändern.
 Die Registry enthält Einstellungen und Informationen über das Betriebssystem. Dazu gehören unter anderem die Dateiverknüpfungen, die Anwendungen und Dateitypen verbinden. Sie finden diese Informationen unter dem Schlüssel
 HKEY_CLASSES_ROOT
 Mit diesem Schlüssel legen Sie eine Verknüpfung zu diesem Eintrag an, der den Namen der zu verknüpfenden Dateiendung trägt. Bei Word heißt dieser Schlüssel .doc. Beachten Sie dabei, dass der Punkt am Anfang zu dem Eintrag gehört. Unter diesem Schlüssel tragen Sie als Standardwert den Windows-internen Namen des Dateityps ein, bei Word also Word.Document.x. Der Eintrag x kennzeichnet die verwendete Version. Wenn Sie eine Dateierweiterung mit einem Registry-Schlüssel verknüpfen, geben Sie diesen internen Namen an. Anwender sehen diese Schlüssel nicht. Mit Verknüpfungen erreichen Sie, dass der Explorer bei einem Doppelklick auf einen Dateityp automatisch die zugehörige Anwendung aufruft: Sie fügen unter diesem Schlüssel zunächst den Namen als Standardwert ein, der im Explorer bei der Detailansicht in der Spalte Typ erscheint. Zudem fügen Sie eine Struktur von weiteren Schlüsseln ein: zuerst shell, darunter open und unter diesem den Schlüssel command. Unter diesem tragen Sie als Standardwert den Pfad der aufzurufenden Anwendung ein. Damit ist dieser Dateityp mit Ihrer Anwendung verknüpft. Diese Arbeit nimmt Ihnen das Programm Verkn.pas auf der Heft-CD ab. Es enthält die Funktion CreateFileAssociation, die Sie folgendermaßen deklarieren:
 function CreateFileAssociation
 (Extension, InternalName,
 RealName, Application:
 string): Boolean;
 Als Parameter Extension erwartet die Funktion die Erweiterung des zu verknüpfenden Dateityps, als Internal-Name oder RealName den internen oder den wirklichen Namen und als ApplicationPath den Pfad Ihrer Anwendung. Die Funktion richtet die Dateiverknüpfung ein, die eventuell bestehende Verknüpfungen überschreiben kann. Bei Erfolg liefert die Funktion True zurück, sonst False.
 ACHTUNG! Das Programm auf der Heft-CD könnte die Standardverknüpfung von Anwendungen überschreiben!
 Das Beispielprogramm legt beliebige Verknüpfungen an. Es befindet sich im Verzeichnis ... ...\Verkn auf der Heft-CD 1.
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 20:46


Verknüpfungen per Programm

Ein kurzes Fragment führt vor, wie Sie auf dem Desktop und im Startmenü mit NotePad eine Datei öffnen.
 Alle Installationsprogramme legen Verknüpfungen im Startmenü oder auf dem Desktop an. Diese Funktionalität bilden Sie auch mit Delphi-Programmen nach.
 Um unter Windows 95 und NT 4 eine Verknüpfung anzulegen, lesen Sie den Wert von DESKTOP oder START MENU aus dem Registry-Schlüssel Software\Microsoft\Windows\CurrentVersion\Explorer\Shell FOLDERS unter HKEY_CURRENT_USER aus. Der Auszug verknuepf.pas (Listing in Databox 8/98) erzeugt auf Knopfdruck eine Verknüpfung auf dem Desktop sowie im Untermenü TEST des Startmenüs. Daraufhin öffnet notepad.exe die Datei autoexec.bat. Untermenüs im Startmenü sind übrigens normale Unterverzeichnisse in windows\start.
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 20:46


Verschlüsselt oder nicht?

Paradox-Tabellen schützen Sie, indem Sie sie verschlüsseln. Doch wie stellen Sie fest, welche Paradox-Tabellen verschlüsselt sind?
 Sie haben viele Paradox-Tabellen gespeichert, und wollen nun wissen, ob Sie alle Tabellen mit einem Paßwort geschützt haben? Dann hilft die folgende Funktion, mit der Sie feststellen, welche Ihrer Paradox-Tabellen im Klartext auf der Festplatte liegen und welche gekryptet abgelegt sind. Die Funktion greift direkt auf die API der BDE zu:
 function TableProtected
 (tblSource: TTable): boolean;
 var CProps: CurProps;
 begin
 FillChar(CProps,SizeOf
 (CurProps),#0);
 Check(DbiGetCursorProps
 (tblSource.Handle,CProps));
 result := CProps.bProtected
 end;
 Erhalten Sie beim Kompilieren eine Fehlermeldung, haben Sie vergessen, die Units dbiprocs und dbitypes in der Uses-Klausel aufzunehmen. Beachten Sie bitte, daß die Tabelle, die als Parameter übergeben wird, geöffnet sein muß.
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 20:47


Version angeben

So programmieren Sie eine Funktion, um über die Versionsnummer einer Anwendung zu informieren.
 Die Version Ihrer programmierten Anwendung stellen Sie über Projekt/Optionen/Versionsinfo ein. Um Ihre Versionsinformation per Programm wieder abzufragen, brauchen Sie die Funktion GetVersion. Die Funktion liefert die Versionsnummer in einem String im Format xx.xx.xx zurück. Sie rufen sie Funktion mit folgender Zeile auf:
 Label1.Caption :=
 'Version: ' + GetVersion;

Verfasser: Andreas
Letzte Änderung: 2012-03-09 20:47


Versionen im Code unterscheiden

Bei der Entwicklung skalierbarer Anwendungen spielt die verwendete Compiler-Version eine große Rolle.
 Manchmal müssen Programmierer eine Anwendung so schreiben, daß sie auf den Plattformen Delphi 1 bis 3 unterschiedlich kompiliert wird. Um zu vermeiden, daß Sie für jede Delphi-Version verschiedene Quelldateien schreiben müssen, definieren Sie im Quelltext folgende Symbole:
 {$IFDEF VER80}
 {$DEFINE DELPHI_VER1_0}
 {$ENDIF}
 {$IFDEF VER90}
 {$DEFINE DELPHI_VER2_0}
 {$DEFINE DELPHI_32}
 {$ENDIF}
 {$IFDEF VER100}
 {$DEFINE DELPHI_32}
 {$DEFINE DELPHI_VER3_0}
 {$ENDIF}

Verfasser: Andreas
Letzte Änderung: 2012-03-09 20:48


Versteckte Anwendung

So schicken Sie mit der WinAPI beliebige Kommandos an eine laufende Anwendung.
 Programmierer schicken mit der WinAPI, die Delphi in den Units Windows und Messages kapselt, beliebige Kommandos an eine laufende Anwendung. Doch dazu müssen Sie deren Handle kennen. Diese Kennung bekommen Sie über den Klassennamen des Fensters heraus. Das Beispiel greift auf den Windows-Editor Notepad zu:
 var hw: THandle;
 begin
 hw:= Findwindow('Notepad', nil);
 if hw <> 0 then ShowWindow
 (hw, HIDE_WINDOW)
 else
 ShowMessage
 ('Notepad nicht gefunden ?');
 Um eine Anwendung zu verstecken, schicken Sie die Meldung ShowWindow() an das Fenster. Um die Anwendung wieder zu zeigen, tauschen Sie Hnne_Window durch Show_openNoAc-tivate.
 Ein Beispielprogramm finden Sie auf der Heft-CD unter ...API/Project1.exe.
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 20:48


Versteckte Titelbar

Mit einer kleinen Prozedur verstecken Sie die Titelbar Ihrer Anwendung, ohne den 3D-Effekt zu verlieren.
 Wenn Sie das Beispielprojekt von der CD starten, sehen Sie den Unterschied: Das Programm ohne Titelbar entspricht scheinbar nicht den Windows-Konven- tion. Wer diesen Effekt einsetzen will, versteckt die Titelbar. Dazu benötigen Sie folgende Prozedur:
 Procedure HideTitlebar;
 Var Save : LongInt;
 Begin
 If BorderStyle=bsNone then Exit;
 Save:=GetWindowLong
 (Handle,gwl_Style);
 If (Save and ws_Caption)=
 ws_Caption then Begin
 Case BorderStyle of
 bsSingle,
 bsSizeable : SetWindowLong
 (Handle,gwl_Style,Save and
 (Not(ws_Caption)) or ws_border);
 bsDialog : SetWindowLong
 (Handle,gwl_Style,Save and
 (Not(ws_Caption)) or
 ds_modalframe or ws_dlgframe);
 end;
 Height:=Height-getSystemMetrics
 (sm_cyCaption);
 Refresh;
 end;
 end;
 Die Titelbar machen Sie mit folgender Prozedur wieder sichtbar:
 Procedure ShowTitlebar;
 Var
 Save : LongInt;
 begin
 If BorderStyle=bsNone then Exit;
 Save:=GetWindowLong
 (Handle,gwl_Style);
 If (Save and ws_Caption)<>
 ws_Caption then Begin
 Case BorderStyle of
 bsSingle,
 bsSizeable : SetWindowLong
 (Handle,gwl_Style,Save or
 ws_Caption or ws_border);
 bsDialog : SetWindowLong
 (Handle,gwl_Style,Save or
 ws_Caption or ds_modalframe
 or ws_dlgframe);
 end;
 Height:=Height+getSystemMetrics
 (sm_cyCaption);
 Refresh;
 end;
 end;
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 20:48


Verzeichnisbaum

Um Dateien und Verzeichnisse zu verwalten, arbeiten Sie mit einem Verzeichnisbaum.
 In vielen Programmen, die mit Dateien arbeiten, sehen Sie Verzeichnisbäume als Struktur in der TreeView-Komponente. Um den Baum mit Inhalt zu füllen, durchsuchen Sie die Festplatte nach Dateien und Verzeichnissen, die Sie dem Baum zuordnen. Mit den Funktionen FindFirst und FindNext erforschen Sie die Platte. FindFirst sucht nach der ersten Datei, weitere ermitteln Sie in einer Repeat-until-Schleife von FindNext. Die Funktion FindFirst erwartet drei Parameter:
 zuerst die Suchmaske.
 Der zweite Parameter steuert, welche Attribute der Datei gesetzt sein sollen.
 Dem dritten Parameter werden bei einem Sucherfolg die Dateiinformationen übergeben:
 type TSearchRec = record
 Time: Integer;
 Size: Integer;
 Attr: Integer;
 Name: TFileName;
 ExcludeAttr: Integer;
 FindHandle: THandle;
 FindData: TWin32FindData; end;
 Auf diese Weise erhalten Sie von der Datei den Namen, die Größe und das Datum. Rufen Sie FindNext auf:
 if FindFirst
 (ADirectory+AMask,
 faAnyFile-faDirectory,SR)=0 then
 Diese Funktion gibt bei Erfolg 0 zurück. Die nächste Datei erhalten Sie durch den Aufruf von FindNext. FindNext setzt das Filehandle auf die nächste Datei, wobei Sie die Variable vom Typ TSearch-Rec als Referenzparameter übergeben. Der Suchvorgang gestaltet sich aufwändiger, wenn in einem Unterverzeichnis weitere Unterverzeichnisse liegen. Dann ruft sich die Prozedur rekursiv auf. Geben Sie den durch FindFirst belegten Speicher mit FindClose wieder frei. Wie Sie die Treffer der richtigen Struktur von Treeview hinzufügen, entnehmen Sie der Verzeichnisstruktur. Dabei nutzen Sie die Klasse TList, die die Speicheradressen festhält. Kehrt die Rekursion zum Ursprung zurück, wird der Eintrag gelöscht. Das Ende der Liste bildet immer das momentan durchsuchte Unterverzeichnis, dem weitere Treffer hinzugefügt werden.
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 20:49


Verzeichnisse umbenennen

Wer Verzeichnisnamen umbenennt, kann dabei auf den Pfadverweis verzichten.
 Wollen Sie in Delphi Verzeichnisse umbenennen, funktioniert das auf die gleiche Weise wie bei den Delphi-Dateien. Die Zeile lautet:
 RenameFile(Altername, NeuerName);
 Allerdings geben Sie als NeuerName nur den tatsächlichen Verzeichnisnamen und nicht den gesamten Pfad an. Haben Sie wie in unserem Beispiel auf der Heft-CD eine Label-Komponente, in der sich der alte Pfadname befindet, und ein Tedit-Control, in dem Sie den neuen Namen eingegeben haben, so benennt die folgende Codesequenz das Verzeichnis um:
 Var S: String;
 Begin {neuer Verzeichnisname} S := Edit1.Text;
 {Den reinen Namen ermitteln}
 While Pos('\', S) > 0 Do
 Delete(S, 1, Pos('\', S));
 If RenameFile(Label1.Caption, Edit1.Text) Then
 ShowMessage('OK')
 Else ShowMessage('Fehler');
 end;
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 20:49


Verzögerte Ausführung

Mit einer selbst geschriebenen Prozedur verzögern Sie die Ausführung Ihrer Anwendungen.
 Unter Turbo und Borland Pascal verzögern Sie mit dem Delay-Befehl die Ausführung Ihrer Programme um eine in Millisekunden angegebene Zeitspanne. Der in Delphi arbeitende Sleep-Befehl eignet sich dazu nicht, da er die Anwendung blockiert einschließlich der grafischen Darstellung und aller Reaktionen auf Tastatur- und Mausereignisse. Um dies zu verhindern, zerlegt die Prozedur DelayTime aus der Unit Delay. pas (Heft-CD) die zu wartende Zeitspanne in Abschnitte @10 Millisekunden. Dazwischen ruft die Prozedur immer wieder die Methode ProcessMessages des Application-Objekts auf. Das garantiert, dass anstehende Ereignisse und Nachrichten weiter verarbeitet werden:
 while TimeToWait > 10 do
 begin
 Sleep(10);
 Application.ProcessMessages;
 TimeToWait :=
 EndTime - timeGetTime;
 end;
 Da durch den Aufruf von Application.ProcessMessages Zeit verloren geht, müssen Sie die Wartezeit immer wieder anpassen, denn zu der angegebenen Verzögerungszeit kommt die Zeit von Application.ProcessMessages hinzu. Die letzte Zeile des obigen Code-Fragments gleicht dies dadurch aus, dass sie die tatsächlich noch zu wartende Zeit berechnet. Ein Beispielprogramm finden Sie im Verzeichnis ...\Delayauf der Heft-CD 1.
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 20:50


Visible Touch

Ein Beispielprogramm verändert den Zeitpunkt, zu dem Dateien angelegt werden.
 Der Explorer von Windows 95 und NT 4.0 eignet sich dazu, angezeigte Dateien umzubenennen. Doch den Zeitpunkt, zu dem sie angelegt werden (Timestamp), ändern Sie so nicht. Dazu müßten Sie die Datei editieren und neu speichern.
 Schon unter MS-DOS bündelte Borland seine Pakete mit Hilfsprogrammen. Mit einem davon (touch) veränderten Sie den Timestamp einer oder mehrerer Dateien. Die letzte Delphi-Version mit dieser Hilfe war 1.0. In neueren Versionen, die 1.0 enthalten, müssen Sie ein wenig danach graben. Auf der CD-ROM von Delphi 3.0 finden Sie touch.com im Verzeichnis
 \delphi16\runimage\delphi\bin
 touch.com arbeitet korrekt, aber nicht benutzerfreundlich, nicht fensterorientiert. Das erreichen Sie mit einer Minianwendung namens Visible Touch. Sie zeigt zunächst den Timestamp einer angewählten Datei an. Delphi liefert dafür mit der Funktion FileAge einen Integer-Wert zurück, der Datum und Uhrzeit im DOS-Format enthält. Dazu liefert die Funktion FileDateToDateTime ein TDateTime zurück:
 function GetTimeStamp (const Filename: string): TDateTime;
 var DosTime: integer;
 begin
 DosTime:=FileAge (Filename);
 Result:=FileDateToDateTime
 (DosTime);
 end;
 Gleichzeitig nutzen Sie diesen Wert auch als Einstellung für zwei TDateTimePicker-Komponenten, die ab Delphi 3 mitgeliefert werden. Mit diesen Komponenten, die entweder Datum oder Uhrzeit angeben, ändern Sie recht einfach den Vorgabewert. Bei der Modifikation des Datums klappt ein Kalender mit Monatsangabe auf. Bei der Uhrzeit zählen Sie Stunden, Minuten und Sekunden mit einem SpinButton rauf und runter. Dabei entfällt die lästige Überprüfung, ob der Wertebereich korrekt ist.
 Nachdem Sie ein gültiges Datum eingegeben haben, öffnet FileOpen die Datei, und FileSetDate ändert ihren Timestamp. Liefert FileSetDate ein Ergebnis ungleich Null zurück, liegt ein Fehler vor. Das Ergebnis interpretieren Sie dann als Fehlercode. Ist das Ergebnis gleich Null, hat ModifyTimeStamp (Listing in Databox 1/98) den Verzeichniseintrag der Datei erfolgreich geändert.
 Zusätzlich ändert alles.pas (Listing in Databox 1/98) die Timestamps aller Dateien eines Verzeichnisses auf den gleichen Wert. Dafür wählen Sie zunächst eine Datei des gewünschten Verzeichnisses aus und betätigen dann einen anderen Knopf, der mit FindFirst und FindNext durch alle Dateien läuft und ModifyTimeStamp für jede Datei aufruft.
 Um mehrere Dateien in einem Arbeitsgang leichter zu bearbeiten, nehmen Sie die Meldungen per ShowMessage an verschiedenen Stellen des Quelltexts heraus.
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 20:50


Web-Links in einer About-Box

So fügen Sie auch Ihrer About-Box einen Link auf Ihre Homepage hinzu.
 Moderne Programme besitzen in ihrem About-Fenster zumeist einen Link auf die Homepage des Entwicklers. Auch in Ihren 16- und 32-Bit-Delphi-Applikationen haben Sie die Möglichkeit, mit einer Zeile Code aus einem ge-wöhnlichen Label einen Hyperlink ins Internet zu machen. Legen Sie dazu ein Label-Element auf ein Formular, formatieren Sie es blau und unterstreichen Sie es. Geben Sie als Caption die Web-Adresse ein. Klickt der Anwender auf den Label
 procedure TForm1.Label1Click
 (Sender: TObject);
 wandeln Sie die URL in einen ASCII-String um und rufen die Prozedur Shell-Execute auf:
 Var TMP: Array[0..255] Of Char;
 begin
 StrPCopy(TMP, Label1.Caption);
 ShellExecute(0,Nil,TMP,Nil,Nil,
 SW_NORMAL);
 end;
 Zuvor nehmen Sie die Unit ShellAPI in die Uses-Klausel auf. Dann ändern Sie vielleicht noch den Mauszeiger, der erscheint, wenn der Benutzer über das Label fährt:
 Label1.Cursor := crUpArrow;

Verfasser: Andreas
Letzte Änderung: 2012-03-09 20:51


Wegweiser zur Datenbank

Alias-Namen ersparen Ihnen einen weiteren Kompilierungslauf, wenn Sie Daten verschieben müssen.
 Delphi bietet in allen Versionen eine Vielzahl an Komponenten für Applikationen, die Datenbanken jeglicher Art be- und verarbeiten. Bei einigen dieser Komponenten müssen Sie angeben, wo sich die Dateien befinden. In TTable geschieht dies in der Property DatabaseName. Sie können hier zwar direkt die Pfadangabe eintragen, das birgt aber einige Gefahren. Damit ein Anwender eine Datenbank an einen anderen Platz auf der Festplatte verschieben können, müssen Entwickler diese Änderung in der Property eintragen und das Programm rekompilieren. Was bei Einzelplatzanwendungen für private Anwender einen noch vertretbaren Aufwand bedeutet, ist bei Client/Server-Programmen mit mehreren Clients oft nicht mehr machbar.
 Aus diesem Grunde vergeben Sie besser einen Alias. Dieser ist im Prinzip nichts anderes als ein Wegweiser zur Datenbank mit einem Namen und einigen zusätzlichen Informationen wie zum Beispiel dem Datenbanktyp. Unter Datenbank können Sie hier sowohl lokale Paradox-Dateien als auch eine echte Server-Datenbank wie InterBase verstehen.
 Im Programm tragen Sie statt der Pfadangabe diesen Alias ein, der nun unverändert bleibt. Müssen Sie die Datenbank in ein anderes Verzeichnis verschieben, ändern Sie nur den Pfadeintrag des Alias. Die Programme bleiben davon unberührt, da sie sich nur auf den Alias-Namen beziehen. Programme müssen also nicht mehr wissen, wo die Dateien sind.
 Alias-Namen speichern Sie in der Datei "idapi32.cfg". Liegt diese auf einem gemappten Netzlaufwerk, müssen Sie nur einmal den Verzeichniseintrag innerhalb des Alias ändern. Dann greifen alle Clients weiterhin auf die Daten zu. Den Verweis in der Registry des Clients auf die CFG-Datei geben Sie nur einmal bei der Installation der BDE (Borland Database Engine) auf dem Client an.
 Eine detailliertere Beschreibung über die Alias-Verwaltung mit vielen nur denkbaren Einstellungen finden Sie in der Delphi-Dokumentation.
 et

Verfasser: Andreas
Letzte Änderung: 2012-03-09 20:51


Welche Schriften?

So finden Sie heraus, ob das System kleine oder große Schriften verwendet.
 Jedes Windows ist anders. So hat jeder Besitzer eine eigene Arbeitsoberfläche eingerichtet. Es soll sogar Leute geben, die bei einer 1280er Auflösung immer noch mit kleinen Schriftarten arbeiten. Andere wiederum kompensieren ihre Dioptrienzahl mit großen Schriften bei 640 x 480. Als Programmierer müssen Sie auf solche Umstände gefaßt sein und ent- sprechend reagieren. Um die gewählte Schriftgröße zu bestimmen, greift Ihnen die Funktion SmallFonts unter die Arme. Wenn kleine Schriften installiert sind, liefert sie den Wert True, und für große Schriften False:
 FUNCTION SmallFonts: BOOLEAN;
 VAR DC : HDC;
 BEGIN
 DC := GetDC(0);
 Result := (GetDeviceCaps(DC,
 LOGPIXELSX) = 96);
 {"Große Schrift" Wert: 120}
 ReleaseDC(0, DC);
 END;

Verfasser: Andreas
Letzte Änderung: 2012-03-09 20:52


Welche Version haben Sie?

Die Version von Delphi 2 erkennen Sie an der Uhrzeit der Dateien.
 Läuft auf Ihrem Rechner das leicht fehlerhafte erste Release oder haben Sie schon 2.01 installiert? Das wissen Sie nicht? Leider gibt auch der Menüpunkt Hilfe/Info keinerlei Hinweise. Kurioserweise hilft hier bei Delphi 2 nur ein Uhrenvergleich: Wenn das neueste Release bei Ihnen installiert ist, haben alle Systemdateien die Uhrzeit 2:01.
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 20:52


Wie spät ist es ?

Bauen Sie drei "vergessene" Ergebniswerte zur Sommerzeit-Umstellung nach.
 Das API von Win32 birgt eine schier überwältigende Vielzahl von Funktionen, inzwischen sollen es mehrere tausend sein. Wen wundert es also, daß einige ein unbeachtetes Dasein fristen und andere Konstanten in der "windows.pas", der Umsetzung des Win32-API in Delphi, schlichtweg nicht vorhanden sind? Zwei solcher Konstanten sind erforderlich, wenn Sie ermitteln wollen, ob Ihr Rechner auf Sommerzeit (MESZ) eingestellt ist. Das Win32-API implementiert dafür eine Funktion namens GetTimeZoneInformation, die einen Record vom Typ TTimeZoneInformation als Übergabeparameter erhält. Funktionen liefern bekanntlich Werte zurück, um mitzuteilen, ob alles in Ordnung ist.
 Bei dieser Funktion hat Borland allerdings drei Konstanten vergessen, die als Ergebniswerte zurückgeliefert werden können:
 Const
 TIME_ZONE_ID_UNKNOWN =dword(0);
 TIME_ZONE_ID_STANDARD=dword(1);
 TIME_ZONE_ID_DAYLIGHT=dword(2);
 "auswert.pas" (Listing in Databox 8/97) wertet die Rückgabewerte beispielhaft aus. Die Struktur TTimeZoneInformation enthält neben den Namen der Zeitzone und ihrer Abweichung von Greenwich auch die Umstellungsdaten von Sommer- auf Normalzeit und umgekehrt.
 et

Verfasser: Andreas
Letzte Änderung: 2012-03-09 20:53


Windows beenden

Dieser Tip bietet die verschiedenen Varianten vom Neustart über Netzwerkabmeldung bis zur Software-gesteuerten Abschaltung.
 Besonders nach einer Installation kommt es vor, daß Sie Ihren Rechner neu starten müssen. Die meisten Setup-Programme rebooten Windows automatisch, nachdem die Installation abgeschlossen ist, beispielsweise um neue Treiber zu aktivieren. Verantwortlich für diesen Vorgang ist unter Win32 die API-Routine ExitWindowsEx. Der folgende Aufruf startet Windows neu:
 procedure Restart;
 Begin ExitWindowsEx(EWX_REBOOT,0);
 end;
 Die API-Funktion ExitWindowsEx besitzt zwei Parameter, wobei der zweite jedoch ignoriert wird und für spätere Versionen vorgesehen ist. Übergeben Sie als ersten Parameter EWX_REBOOT, fährt Windows runter und startet sofort neu. Wenn Sie statt dessen EWX_SHUT-DOWN übergeben, fahren Sie Windows nur herunter:
 procedure Shutdown;
 Begin ExitWindowsEx(EWX_SHUTDOWN,0);
 end;
 Wollen Sie sich in einem Netzwerk abmelden und unter einem neuen Namen wieder anmelden, setzen Sie EWX_LO-GOFF als Parameter ein:
 procedure LogOnOff;
 Begin ExitWindowsEx(EWX_LOGOFF,0);
 end;
 Alle PC-Systeme mit ATX-Mainboard unterstützen die Software-gesteuerte Abschaltung des Rechners. Dies können Sie sich mit dem Parameter EWX_POWEROFF zunutze machen:
 procedure LogOnOff;
 Begin ExitWindowsEx(EWX_LOGOFF,0);
 end;
 Verwenden Sie Delphi 1, steht Ihnen ExitWindowsEx nicht zur Verfügung. Statt dessen verwenden Sie die Vorgängerversion
 ExitWindows(R: LongInt;
 Modus: Word): Bool;
 Diese bietet allerdings nur zwei Varianten, die im zweiten Parameter Modus unterschieden werden.
 ExitWindows (0,EW_RESTARTWINDOWS)
 beendet alle laufenden Anwendungen und startet Windows neu.
 ExitWindows(0, EW_REBOOTSYSTEM)
 geht noch einen Schritt weiter und führt einen Warmstart durch.

Verfasser: Andreas
Letzte Änderung: 2012-03-09 20:53


Windows Schnüffler

Mit diesem Tipp lesen Sie geschützte Texte aus anderen Windows-Applikationen aus.
 Ihr Windowsprogramm zeigt Werte in einer Liste an, die Sie aber nicht speichern oder exportieren können? Mit nur wenigen Zeilen Delphi-Code können Sie Einträge aus Listboxen oder anderen Windows Controls auslesen und in Ihr eigenes Programm übernehmen. Benutzen Sie eine Drag-and-Drop-Operation um die Listbox vom Delphi-Programm aus anzusteuern. Klicken Sie dazu auf das Label in der Delphi-Anwendung und zeigen Sie bei gedrückter linker Maustaste auf die auszulesende Listbox. Sobald Sie die Maustaste lösen, sorgt folgender Code dafür, dass das Control ausgelesen wird:
 procedure TForm1.Label1MouseUp(
 Sender: TObject;
 Button: TMouseButton;
 Shift: TShiftState;
 X, Y: Integer);
 var
 old : boolean;
 b : array[0..1024] of char;
 h : thandle;
 begin
 old := fDown;
 fdown := ssleft in shift;
 if old and (not fdown) then
 begin
 screen.cursor := crArrow;
 Sobald das Programm festgestellt hat, dass die linke Maustaste gelöst wurde, ermitteln Sie das Fenster, auf welches der Mauszeiger weist. Den Namen der Klasse des Controls ermitteln Sie durch get-ClassName. Nachfolgend senden Sie eine Nachricht vom Typ lb_getcount an das Fensterhandle. Antwortet das Fenster mit einem Wert ungleich Null, handelt es sich um eine Listbox und der Rückgabewert enthält die Anzahl der Einträge. Mit der Nachricht lb_gettext empfangen Sie unter Angabe der Position in der Listbox einzelne Strings:
 h := WindowFromPoint
 (mouse.CursorPos);
 getClassName(h,b,sizeof(b));
 log(format(' - class: %s',
 [b]));
 // first check for listbox
 y := sendmessage(h,
 lb_getcount, 0, 0);
 if y > 0 then
 begin
 log('found listbox,
 retrieving values...');
 for x := 0 to y-1 do
 if sendmessage(h,
 lb_gettext, x,
longint(@b))> 0 then
 log(b);
 exit;
 end;
 Um nicht nur Listboxen mit dem Programm auszulesen, erweitern Sie die Methode einfach. Prüfen Sie, ob ein Control alternativ auf Befehle für Comboboxen, Eingabefelder oder ListViews antwortet.
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 20:54


Windows-Nachrichtenzentrale

Alle auf NT basierenden Windows-Versionen verfügen über erweiterte Netzwerkfunktionen, die Sie mit diesem Tipp nutzen.
 Mit den erweiterten Netzwerkfunktionen können Sie ohne großen Aufwand, Nachrichten in Ihrem Netzwerk auszutauschen. Integrieren Sie den Nachrichtenversand in Ihr Delphi Programm, um beispielsweise andere Benutzer darüber zu informieren, dass jetzt eine Internetverbindung besteht oder eine längere Berechnung Ihres Programms abgeschlossen wurde. Der Empfänger sieht diese Nachricht in einem kleinen Fenster, ohne dass er zusätzliche Software installieren muss. Die Funktion Net-MessageBuffer Send, die Sie in der Bibliothek netapi32. dll finden, versendet eine Textnachricht. Sie kapseln den Aufruf in eine eigene Delphifunktion, um sich die lästige Konvertierung von Delphi-Strings in pWideChar sowie den Import der Sendefunktion aus der DLL zu ersparen. Da die Funktion NetMessageBufferSend dynamisch aus einer DLL importiert wird, deklarieren Sie zuerst den Prototyp der Funktion:
 type
 TNetMessageBufferSendFunction
 = function
 (server, destination,
 fromname: PWideChar;
 msg: PWideChar;
 buflen: Cardinal):
 Longint;
 stdcall;
 Nachfolgend importieren Sie diesen durch den Aufruf der Funktionen Load-Library und getProcAddress. Für die Funktion netsend ergibt sich damit:
 function netSend
 (destination, message: string):
 boolean;
 var
 dllHandle : thandle;
 SendProc :
 TNetMessageBufferSendFunction;
 msgText : pWideChar;
 DestText : pWideChar;
 begin
 result := false;
 dllHandle :=
 LoadLibrary('netapi32.dll');
 if dllHandle 0 then
 begin
 try
@SendProc:=
 GetProcAddress
 (dllHandle,
 'NetMessageBufferSend');
 Nachfolgend belegen Sie Speicherplatz, um die Delphi-Strings in den Typ pWideChar zu konvertieren:
 if (@SendProcnil) then
 begin
 getmem(msgText,
 length(message) *
 sizeof(WideChar) + 1);
 getmem(destText,
 length(destination) *
 sizeof(WideChar) + 1);
 StringToWideChar(
 message, msgText,
 length(message) *
 sizeof(WideChar) + 1);
 StringToWideChar(
 destination, destText,
 length(destination) *
 sizeof(WideChar) + 1);
 try
 Schließlich versenden Sie die Nachricht und geben den Speicher sowie die Nutzung der DLL wieder frei:
 SendProc(nil,
 DestText, nil,
 MsgText,
 length(message) *
 sizeof(WideChar)
 + 1);
 finally
 freemem(msgText);
 freemem(destText);
 end;
 end;
 finally
 freeLibrary(dllHandle);
 end;
 end;
 end;
 Platzieren Sie nun noch eine Eingabezeile, ein mehrzeiliges Textelement und einen Button zum Versand der Nachricht in einem neuen Formular, und ergänzen Sie die Behandlungsroutine onClick folgendermaßen:
 procedure TForm1.Button1Click
 (Sender: TObject);
 const
 reply : array[boolean] of
 string =
 ('nicht', 'erfolgreich');
 begin
 button1.Enabled := false;
 ShowMessageFmt('Die Nachricht
 konnte %s verschickt werden.',
 [reply[netSend(edit1.Text,
 memo1.Lines.Text)]]);
 button1.Enabled := true;
 end;
 Bitte beachten Sie, dass der Versand von Nachrichten laut Microsoft Dokumentation nur auf NT basierenden Windows Versionen funktioniert. Außerdem kann der Versand der Nachricht einige Zeit beanspruchen, während der Ihr Programm nicht auf Eingaben reagiert.
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 20:54


Windows-Schriften glätten

Windows liefert ab Windows 98 einen Mechanismus mit, der Schriften am Bildschirm glatter aussehen lässt.
 Das Font-Smoothing-Verfahren setzt an den Kanten eines Buchstabens nicht nur schwarze und weiße, sondern auch graue Pixel, um den Übergang zwischen Hintergrund und Schrift glatter erscheinen zu lassen. Sie können aus Ihrer
 Delphi-Anwendung heraus bestimmen, ob Sie das Verfahren systemweit einsetzen wollen oder nicht. Bauen Sie eine neue Anwendung auf, platzieren Sie eine Checkbox auf dem Formular, und legen Sie mit einem Doppelklick eine neue FormCreate Behandlungsroutine an. Definieren Sie eine private Variable mit dem Namen smooth_active vom Typ Boolean. Beim Start der Anwendung rufen Sie die aktuelle Einstellung für die Schriftenglättung über SystemParamtersInfo ab und setzen das Häkchen in der Checkbox:
 procedure TForm1.FormCreate(
 Sender: TObject);
 begin
 SystemParametersInfo(
 SPI_GETFONTSMOOTHING, 1,
@smooth_active,0);
 checkbox1.Checked :=
 smooth_active;
 end;
 Um nach Programmende die alten Einstellungen wiederherzustellen, speichern Sie den Wert aus smooth_active wieder zurück:
 procedure TForm1.FormDestroy(
 Sender: TObject);
 begin
 SystemParametersInfo(
 SPI_SETFONTSMOOTHING,
 cardinal(smooth_active),
 nil, 0);
 end;
 Durch Anklicken der Checkbox schalten Sie die Schriftenglättung an und ab. Mit einem Doppelklick auf die Checkbox legen Sie eine onClick-Behandlungsroutine an:
 procedure TForm1.CheckBox1Click(
 Sender: TObject);
 var
 b : boolean;
 begin
 b :=checkbox1.checked;
 SystemParametersInfo(
 SPI_SETFONTSMOOTHING,
 cardinal(b), 0, 0);
 repaint;
 end;
 Der repaint-Befehl stellt sicher, dass die Inhalte des Fensters mit den Einstellungen neu gezeichnet wird.
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 20:55


Write und WriteLN für Zeichenfläche

Die beiden beliebten Pascal-Befehle programmieren Sie auch für Delphi.
 Unter Turbo Pascal für DOS verwenden Sie für die Ausgabe von Zeichenketten auf dem Bildschirm die beiden Standard-IO-Prozeduren Write und WriteLN. Während Write immer an der aktuellen Cursorposition weiterschreibt, führt WriteLN zuvor einen Zeilenvorschub aus. Wollen Sie hingegen auf einer Zeichenfläche einen Text ausgeben, so verwenden Sie die Methode TextOut des Canvas-Objekts. Das hat jedoch den Nachteil, daß Sie zuvor immer die Koordinaten der entsprechenden Stelle wissen müssen. Mit den beiden folgenden Prozeduren simulieren Sie die früheren DOS-Ausgaben. Als Parameter übergeben Sie die Zeichenfläche vom Typ TCanvas sowie den String, den Sie darstellen wollen. Alle aktuellen Attribute wie fett, unterstrichen, Schriftart und -größe übernehmen diese Routinen vom Canvas-Objekt selbst.
 Procedure cvWrite(C: TCanvas; S: String);
 Begin C.TextOut( C.Penpos.X, C.Penpos.Y, S);
 End;
 
 Procedure cvWriteLN(C: TCanvas; S: String);
 Begin C.TextOut( C.Penpos.X, C.Penpos.Y, S); C.MoveTo(0, C.Penpos.Y + C.TextHeight(S));
 End;
 Wollen Sie also beispielsweise den Text Hallo an der aktuellen Position Ihres Formulars ausgeben, lautet der Aufruf
 cvWrite(Self.Canvas, 'Hallo');

Verfasser: Andreas
Letzte Änderung: 2012-03-09 20:55


Wundersame Wandlung!

Daß sich Delphi 1 und 2 nicht ganz einig sind, ist bekannt. Hier ein Programm, das einmal ein Bug ist und einmal nicht.
 Eine der Techniken in Delphi, auf die VB- und C-Programmierer neidisch schielen, sind die Mengen. Wie in der gleichnamigen Disziplin der Mathematik sammeln Sie Elemente unter einem Oberbegriff. Und mit denselben Operatoren bilden Sie Schnitt- und Vereinigungsmengen oder durchsuchen sie nach einem speziellen Element.
 Schauen Sie sich nun einmal den folgenden Code an. Welche Meldungsbox müßte logischerweise erscheinen?
 var I, J, K: Integer;
 begin
 I := 257;
 J := 7;
 K := 157;
 if I in [I, J, K] then
 ShowMessage('Oh Wunder!')
 else
 ShowMessage('Bug gefunden!');
 end;
 Eigendlich müßten Sie mit diesem Code ein Wunder vollbracht haben. Verwenden Sie Delphi 1, dann ist das auch der Fall. Delphi 2 hingegen meint, es handele sich hier um einen Bug!
 Ganz Unrecht hat Borlands zweite Version aber nicht. Denn tatsächlich sind Mengen nur für Elemente bis 255 geeignet. Somit fällt der Wert 257 heraus. In der Folge erhalten Sie eine Fehlermeldung, wenn Sie in Delphi 1 die Compiler-Überlaufprüfung in der Projektoption eingeschaltet haben.
 Und tatsächlich: Probieren Sie bei der Menge [I, J, K] einmal aus, ob der Wert 1 enthalten ist:
 IF 1 IN [I, J, K] THEN
 Delphi 1 meint ja! Eben, weil nur das niederwertige Byte verglichen wird.
 Was man Delphi 2 aber in jedem Falle ankreiden muß, ist die Tatsache, daß hier - egal welcher Sicherheitsmechanismus in den Optionen gewählt wird - keine Fehlermeldung erscheint.
 ib
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 20:56


Zeit zum Abrechnen

Eine Stoppuhr mißt die Dauer einer Projektentwicklung.
 Dieser Tip soll dokumentieren, wieviel Zeit es kostet, ein Projekt zu entwickeln, und wie lange die Programmierer dabei online sind. Mit ein paar Images, Labels und BitBtns ist eine solche "Applikation" schnell "gestrickt".
 Im Bild sehen Sie die aktuelle Zeit (11.10:12 Uhr) sowie den aktuellen Abschnitt, der gerade gestoppt wird (Mitte) und wie lange insgesamt gestoppt wurde (unten). Über die drei Knöpfe am rechten Rand des Fensters steuern Sie die Stoppuhr:
 - Grün bedeutet, daß ab jetzt die Zeit gemessen werden soll.
 - Rot beendet die Zeitmessung, die Sie jederzeit wieder starten können.
 - Ein Klick auf den blauen Knopf stellt die Gesamtzeit auf 0 zurück.
 Wenn Sie diese Applikation beenden, speichert sie die angefallenen Daten in einer INI-Datei. Diese steuert die Einstellungen, welchen Text die Titelzeile des Fensters anzeigen soll und ob die bisher aufgelaufene Zeit gespeichert werden soll. Welche INI-Datei Sie verwenden, legen Sie über einen Kommandozeilenparameter fest. Zur Auswertung der Kommandozeile in der Methode FormCreate nutzen Sie, wie schon in den DOS-Versionen von Turbo Pascal, die Funktionen ParamCount (um die Anzahl der Parameter zu ermitteln) und ParamStr(i) (zum Lesen des i-ten Parameters). Geben Sie als Parameter "/?" an, öffnet sich ein Dateiauswahlfenster, über das Sie eine INI-Datei selektieren. Rufen Sie das Programm ohne Parameter auf, sucht es nach einer INI-Datei, die im selben Verzeichnis liegt und den gleichen Dateinamen hat wie die EXE-Datei.
 if (ParamCount > 0) then begin
 if (ParamStr(1)='/?')then begin
 if OpenDialog1.Execute then IniName:=OpenDialog1.Filename;
 end else IniName := ParamStr(1)
 end else IniName :=
 ChangeFileExt
 (Application.ExeName, '.ini');
 FormCreate liest die INI-Datei ebenfalls aus. Die dort enthaltenen Einstellungen geben den Titel der Applikation an (Title) und wieviel Zeit bisher angefallen ist (Hour, Min, Sec).
 StartAtOnce=1
 läßt mit dem Start von ConTimer gleich die Stoppuhr anlaufen.
 StartAtOnce=0
 bedeutet, daß Sie sie per Hand starten.
 Besitzt SaveTiming den Wert 1, dann speichert das Ende die bis dahin gestoppte Zeit. Auf diesen Ausgangswert greifen Sie dann beim nächsten Aufruf zurück.
 [ConTimer]
 Title=PC Magazin
 Hour=1
 Min=34
 Sec=24
 StartAtOnce=1
 SaveTiming=1
 et
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 20:56


Zugriff auf LED-Tasten

Einige Tastaturangaben hängen vom Zustand der jeweiligen LEDs ab.
 Unter Windows 98 ist die [Num Lock]-Taste beim Start des Systems standardgemäß aktiviert. Der Status kann während des Betriebs verändert werden. Darauf müssen Sie als Programmierer vorbereitet sein und Ihre Anwendung dementsprechend absichern. Die Tasten des rechten Ziffernblocks werden bei aktivierter [NumLock]-Taste als Zahlen, sonst als Navigationstasten interpretiert. Um eine gleiche Basis zu schaffen, müssen Sie die Tasten immer auf einen Status setzen. Um die Tastatur nicht zu beschädigen, dürfen Sie die Prozedur niemals in einen Timer mit kurzen Intervallen oder in eine Schleife schreiben. Damit die Tasten auf dem rechtem Ziffernblock vom Programmstart aus als Ziffern interpretiert werden, müssen Sie die NumLock-Taste im OnCreate-Ereignis des Formulars aktivieren. In Delphi gibt es einen vorgefertigten Typ für den Status der drei LEDs: TKeyboard- State. Nachdem eine Variable vom Typ TKeyboardState deklariert wurde, können Sie sie mit Werten füllen:
 var
 KeyboardState: TKeyboardState;
 Dabei erwartet die Prozedure GetKeyboardState als Parameter die Variable: GetKeyboardState
 (KeyboardState);
 Hinter KeyboardState verbirgt sich ein Array aus Byte-Variablen. Um ein Element aus diesem Array anzusprechen, geben Sie dessen Index in eckigen Klammern an. In der Unit Windows.pas ist für die NumLock-Taste schon eine Konstante deklariert: 144. Hat KeyboardState[VK_NUMLOCK] den Wert 1, ist nach dem Aktualisieren der TKeyboardState-Variable, das LED aktiviert. Wird der Keyboard State[VK_NUMLOCK] auf 0 gesetzt, wird das Lämpchen wieder deaktiviert. Sie können diesen LED-Status unter Windows NT nicht ändern. Nachdem Sie den LED-Zustand gesetzt haben, müssen Sie diese Änderung dem System bekannt machen. Dies geschieht mit der Prozedur SetKeyboard- State, die als Parameter der Variable KeyboardState erwartet. Durch If-Statements können Sie herausfinden, ob die [NumLock]-Taste aktiviert ist: if KeyboardState[VK_NUMLOCK]=
 1 then
 Showmessage('NUM ist aktiviert')
 else
 Showmessage('NUM ist deaktiv');
 Diese Beispiele lassen sich nicht nur mit der NumLOCK-LED durchführen. Die Tabelle zeigt alle ansprechbaren Konstanten an.
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 20:57


Zugriff auf private

Der Zugriff auf als private deklarierte Abschnitte erweist sich als ungleich aufwändiger als auf protected.
 So untersuchen Sie die Liste der Strings in der Listbox: In der Klassendefinition von tCustomListbox ist diese Liste im private Abschnitt als fItems : tstrings deklariert. Darauf können Sie über die öffentliche Eigenschaft Items lesend zugreifen. Der Schreibzugriff bleibt Ihnen verwehrt. Wenn Sie auf eine als private deklarierte Eigenschaft eines Objekts zugreifen wollen, müssen Sie wissen, an welcher Stelle des Objekts die Eigenschaft deklariert wurde. Denn Delphi Objekte sind zur Laufzeit nichts anderes als Zeiger auf eine Ansammlung von Datenfeldern. In diesen Daten finden Sie auch die Klartextnamen aller Eigenschaften und Methoden. Weiterhin erfahren Sie, wo diese Eigenschaften und Methoden im Speicher liegen. Betrachten Sie die Klassendefinition von tCustomListbox:
 TCustomListBox = class(
 TCustomMultiSelectListControl)
 private
 FAutoComplete: Boolean;
 FCount: Integer;
 FItems: TStrings;
 FFilter: String;
 [...]
 Das Feld fItems befindet sich an der dritten Position der Klasse. Ausgehend vom Speicherbedarf der einzelnen Felder ergibt sich für das Feld als Abstand zum Klassenpointer ein Wert von 8 Byte. Beachten Sie dabei, dass der Compiler hier standardmäßig Variablen an Vier-Byte-Grenzen adressiert (alloziiert), so dass das Feld fAutoComplete nicht etwa ein Byte, sondern 4 Byte Speicher belegt. Sobald Sie das Offset der Variablen herausgefunden haben, greifen Sie über folgende Funktion lesend auf fItems zu:
 function getfItems(LBox :
 tCustomListbox): tStrings;
 const
 fItemOffset : cardinal = 8;
 begin
 Result := tStrings(
 pointer(Cardinal(lbox) +
 cardinal(tCustomListBox.
 ClassParent.InstanceSize) + q
 4 + fItemOffset)^);
 end;
 Was hier auf den ersten Blick etwas kryptisch aussehen mag, entpuppt sich bei näherem Hinsehen als trivial: Die Adresse des Felds fItems ergibt sich aus der Adresse des Objekts zuzüglich des Offsets: der Position des Felds in der Klasse. Um den Zeigerwert zu erhöhen, wandeln Sie erst den Pointer in einen numerischen Wert vom Typ Cardinal um. Sobald die Adresse berechnet ist, sorgen die beiden Typumwandlungen tstrings (pointer(...)) dafür, dass Sie eine Referenz vom Typ tStrings zurückerhalten. Analog zu den Lesezugriffen erfolgt der Schreibzugriff auf die Variable:
 procedure setFItems(LBox :
 tCustomListBox;
 const Value: tStrings);
 var
 p : ^tstrings;
 const
 fItemOffset = 8;
 begin
 p := pointer(Cardinal(lbox) +
 cardinal(tCustomListBox.
 ClassParent.InstanceSize) +
 4 + fItemOffset);
 p^ := value;
 end;
 Beim Schreibzugriff auf protected-Felder sollten Sie extrem vorsichtig sein und sehr genau wissen, was Sie tun. Zur Sicherheit kann es sinnvoll sein, einen als protected deklarierten Typ zu ersetzen, wenn Sie die benutzte Hauptklasse nicht verändern wollen, jedoch eine darin genutzte Unterklasse wie tStrings. In diesem Beispiel könnten Sie FItems gegen eine von tStrings oder tListBoxStrings abgeleitete Klasse ersetzen, um etwaige Zusatzfunktionalität bei der Stringverwaltung zu implementieren. Das Beispiel finden Sie im Unterverzeichnis private.
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 20:57


Zugriff auf protected

Theorie und Praxis weichen ab: Mit diesem Tipp greifen Sie auf als protecteddeklarierte Eigenschaften und Methoden beliebig zu.
 Auf als protected deklarierte Eigenschaften und Methoden dürfen Sie zugreifen, wenn Sie eine Klasse ableiten. Soweit die Theorie. Ein Blick auf eines der Debugging Tools in der IDE zeigt: Auch geschützte Eigenschaften und Methoden sind lesbar. Den Trick dabei enthüllt die Klasse tListBox, ein direkter Nachfahre der Klasse tCustomListBox. tCustomListBox verfügt über die als protected deklarierte Eigenschaft fMoving. Diese nimmt den Wert true an, wenn Sie über die Methode tCustom-ListBox.move einen Eintrag in der Liste auf eine neue Position verschieben. Um zu prüfen, ob gerade Elemente in der Liste verschoben werden, testen Sie die Eigenschaft fMoving. Fraglich ist, ob Sie auf diese Eigenschaft zugreifen können, weil sie als protected deklariert ist: Damit verweigert der Code-Inspector hier zu Recht seine Mitarbeit. Laut Definition dürfen nur Nachkommen einer Klasse auf die als protected deklarierten Felder und Methoden des Vorgängers zugreifen. Diese Tatsache machen Sie sich zu Nutze, in dem Sie einen Nachfolger der Klasse tListBox definieren und darüber auf die geschützte Eigenschaft fMoving zugreifen:
 type
 tProtectedListBox =
 class(tListbox);
 procedure TForm1.Button2Click(
 Sender: TObject);
 begin
 with tProtectedListbox(
 Listbox1) do
 if fmoving
 then showmessage('Geht \
 gerade nicht!')
 else itemindex :=
 Items.Add(
 TimeToStr(now));
 end;
 Diesen Typecast (Typumwandlung) wird auch von Code-Insight erkannt. Über dieses Schema ist es möglich, auf alle mit protected geschützten Felder und Methoden von beliebigen Objekten zuzugreifen.
 Über diesen Mechanismus ist es ebenfalls möglich, auf die Eigenschaft Bitmap von tJpegImageObjekten zuzugreifen.
 Greifen Sie auf geschützte Bereiche von Objekten nur in Ausnahmefällen zu. Sie dürfen nicht davon ausgehen, dass die TIPP TIPP Deklarationen geschützter Bereiche in der nächsten Version einer Komponente identisch ist.
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 20:58


Zur Laufzeit im TNoteBook

Zur Design-Zeit können Sie Objekte auf einem TNoteBook so plazieren wie auf einem Formular. Doch wie geht das zur Laufzeit?
 Die Komponente TNoteBook teilt sich in verschiedene TPages. Eine TPage kann jedoch keine Objekte zur Laufzeit aufnehmen. Deshalb ist ein kleiner Umweg nötig. Mit folgender Prozedur legen Sie einen Button in der momentan aktiven Seite eines TNoteBooks:
 procedure CreateBtn;
 var Btn: TButton;
 begin
 Btn := TButton.Create(Self);
 Btn.Parent := NoteBook1.Pages. Objects[NoteBook1.PageIndex]
 as TWinControl;
 end;

Verfasser: Andreas
Letzte Änderung: 2012-03-09 20:58


Zwischenlagern

Delphi liefert eine Klasse, um über die Zwischenablage mit Windows-Applikationen Daten zu tauschen.
 Mit der Zwischenablage (Clipboard) stellt Windows einen Mechanismus zur Verfügung, um Daten zwischen Applikationen auszutauschen. Damit Delphi-Applikationen ihn auch nutzen, hat Borland eine Objektklasse in die VCL aufgenommen, die diese Kommunikation abwickelt. Genau wie bei der Variablen Printer ist auch aus der Variablen Clipboard von Delphi 2 ein Funktionsaufruf geworden. Der Grund für die Umwandlung war, Speicher zu sparen. Ein Funktionsaufruf bindet die Unit nur ein, wenn Sie die Funktion auch aufrufen. Eine Variable steht allen Funktionen zur Verfügung.
 Eine Reihe von Komponenten, wie zum Beispiel TEdit und seine Nachfolger, kennen sich bereits mit der Zwischenablage aus. Also kopieren Sie den Inhalt eines TEdit ins Clipboard:
 // Text ins Clipboard
 Clipboard.AsText:=Edit1.Text;
 // Bilder ins Clipboard
 Clipboard.Assign (Image1.Picture);
 // Zwischenablage löschen
 Clipboard.Clear;
 Es gibt jedoch keine Funktion AsImage, um den Inhalt eines Bildes in die Zwischenablage zu packen. Vielmehr macht dies die Methode Assign von TClipboard. Andere Komponenten wie TEdit, TMemo, TRichEdit, also alle Klassen, die sich von TCustomEdit ableiten, verfügen über die Methoden CopyToClipboard, CutToClipboard und PasteFromClipboard. So erleichtern Sie sich die Datenkommunikation mit der Zwischenablage.
 Zwei Methoden von TClipboard sind noch zu erwähnen:
 - Clear löscht den gegenwärtigen Inhalt der Zwischenablage,
 - HasFormat ermittelt, ob das Clipboard Daten mit dem gewünschten Format enthält.

Verfasser: Andreas
Letzte Änderung: 2012-03-09 20:59


Formulare ohne Titelleiste

In manchen Situationen stört es, wenn ein Formular eine Titelleiste besitzt.
 Wenn Sie einen Begrüßungsbildschirm (Splash-Screen) einsetzen wollen, soll der Betrachter nicht durch eine Titelleiste abgelenkt werden. Einer der Wege, ein Formular ohne Titelleiste zu zeigen, besteht darin, den Wert der Eigenschaft BorderStyle auf bsNone zu setzen. Dabei entsteht jedoch ein Formular ohne Begrenzung. Abhilfe schafft eine TBevel-Komponente, deren Eigenschaft Align auf den Wert alClient gesetzt wird.
 Als Alternative können Sie die Methode CreateParams überschreiben, die den Parameter-Record zum Erzeugen von Fenstern initialisiert (Listing in Databox 11/98).
 Diese Kombination hat den Effekt, daß die Titelleiste entfernt wird, der Begrenzungsstil jedoch den eingestellten Wert weiterhin behält.

Verfasser: Andreas
Letzte Änderung: 2012-03-09 20:59


MDI-Fenster und der GPF

Das Schließen eines MDI-Fensters im Delphi-IDE führt zu einer allgemeinen Schutzverletzung.
 Erzeugen Sie in der Entwicklungsumgebung von Delphi ein neues MDI-Fenster (MDI = Multi Document Interface), so erhalten Sie eine allgemeine Schutzverletzung in der Komponentenbibliothek "complib.dcl". Dieser Fehler tritt allerdings bei der fertigen Applikation zur Laufzeit nicht auf.
 Abhilfe schafft hier das Patch auf die Version 1.02, das Sie in CompuServe, im Internet unter
 http://www.borland.com
 sowie auf nahezu allen Delphi-CDs finden.
 ib

Verfasser: Andreas
Letzte Änderung: 2012-03-09 21:00


Sprechblase in Anwendung

Sprechblasen zeigen Informationen zu Programmfunktionen und Buttons an, wenn Sie den Mauszeiger über dem entsprechenden Element positionieren.
 Von Office-Anwendungen kennen Sie vielleicht die Sprechblasen (Bubble Helps), die Sie über die Funktionen von Buttons und anderen Elementen auf elegante Weise informieren. Das folgende Beispiel zeigt Ihnen, wie Sie Ihren Delphi-Programmen diese Funktionalität verleihen Entwickeln Sie eine Komponente, deren wichtigste Zeichenroutine Sie in acthint.pas (Listing in Databox 11/98) finden. Die gesamte Unit fügen Sie über die Funktion Komponente installieren in die Komponentenpalette ein. Um sie zu verwenden, legen Sie das Control einfach in ein beliebiges Formular Ihrer Applikation. Mit Hilfe der Eigenschaften stellen Sie Farbe und Schatten der Bubble Helps ein. Den kompletten Quelltext der Komponente finden Sie in der Unit Bubble auf der Databox 11/98.
 Im Zusammenhang mit Bubble Helps definieren Sie die beiden Objekte TBubbleHelp und TBubbleHelpWindow. Während TBubbleHelp die eigentliche, nach außen sichtbare Komponente erzeugt, ist die wichtigste Funktion der Sprechblase, die Anzeige, im Objekt TBubbleHelpWindow enthalten. Die Methode ActivateHint sorgt für die nötige Darstellung auf dem Bildschirm. Das Zeichnen der Sprechblase und die Ausgabe des darin enthaltenen Texts erfolgt über die API-Funktionen Ellipse und TextOut.
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 21:00


System komplett deinstallieren

Delphi 1 können Sie nur mit erheblichem Aufwand korrekt deinstallieren.
 Delphi 1 läßt sich nicht per Programm automatisch deinstallieren. Um Delphi 1 komplett zu entfernen, sind mehrere Schritte erforderlich. Als erstes löschen Sie folgende Verzeichnisse, die die Installation von Delphi angelegt hat:
 \delphi
 \rs_run
 \iblocal
 \rptsmith
 \dbd
 \idapi
 \informix
 Das Informix-Verzeichnis müssen Sie nur bei der Client-Server-Version beseitigen. Danach löschen Sie die Delphi-Programmgruppe mit dem Explorer. Nun folgen die Systemdateien, die Delphi im \windows-Verzeichnis instal-liert hat. Das betrifft folgende ini-Dateien: delphi.ini, borhelp.ini, dbd.ini, interbas.ini, odbc.ini odbcinst.ini, odbci-sam.ini rptsmith.ini, vsl.ini, rs_run.ini rs_sqlif.ini und multihlp.ini. Weiterhin löschen Sie folgende Ein-träge in der win.ini:
 [DDE Servers]
 DBD=C:\DBD\DBD
 [DBD]
 WORKDIR=C:\DBD
 PRIVDIR=C:\DBD\DBDPRIV
 [Interbase]
 RootDirectory=C:\IBLOCAL
 [IDAPI]
 DLLPATH=C:\IDAPI
 CONFIGFILE01=C:\IDAPI\IDAPI.CFG
 [Borland Language Drivers]
 LDPath=C:\IDAPI\LANGDRV
 Beachten Sie dabei: Die Einträge in den Abschnitten [IDAPI] und [Borland Language Drivers] dürfen Sie nicht löschen, wenn andere Anwendungen die IDAPI-Schnittstelle nutzen. Zudem enthält die Datei winhelp.ini einige Einträge, die nach der Deinstallation des Delphi-Systems überflüssig sind. Diese Datei befindet sich ebenfalls in dem \windows-Verzeichnis. Löschen Sie folgende Einträge in der winhelp.ini:
 bdecfg.hlp=c:\idapi
 dbd.hlp=c:\dbd
 delphi.hlp=c:\delphi\bin
 winapi.hlp=c:\delphi\bin
 cwg.hlp=c:\delphi\bin
 cwh.hlp=c:\delphi\bin
 localsql.hlp=c:\delphi\bin
 vqb.hlp=c:\delphi\bin
 sqlref.hlp=c:\iblocal\bin
 wisql.hlp=c:\iblocal\bin
 rptsmith.hlp=c:\rptsmith
 rs_dd.hlp=c:\rptsmith
 sbl.hlp=c:\rptsmith
 rs_run.hlp=c:\rptsmith
 rcexpert.hlp=c:\delphi\rcexpert
 drvdbase.hlp=c:\windows\system
 drvpardx.hlp=c:\windows\system
 odbcinst.hlp=c:\windows\system
 Da die Installation von Delphi auch Ihre autoexec.bat-Datei modifiziert hat, ändern Sie dort die Verzeichniseinträge. Sichern Sie vor diesen Änderungen eine Kopie der autoexec.bat. Ändern Sie die Pfadeinträge
 path =c:\;c:\windows;c:\dos; c:\idapi;c:\iblocal\bin;
 in:
 path = c:\;c:\windows;c:\dos;
 Zudem hat das Installationsprogramm von Delphi in die Verzeichnisse \win-dows und \windows\system eine Reihe von Dateien kopiert, mit denen die Ent-wicklungsumgebung und der Compiler starten. Diese dll-Bibliotheken sollten Sie jedoch nicht löschen, weil dadurch andere Anwendungen nicht mehr laufen könnten.
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 21:01


Topmost-Fenster behindern Dialogboxen

Die Application-Methode NormalizeTopMosts funktioniert nicht wie in der Dokumentation beschrieben.
 Versehen Sie die Eigenschaft FormStyle eines Fensters mit dem Eintrag fsStayOnTop, so bleibt dieses immer im Vordergrund. Rufen Sie jetzt eine Dialogbox über die API-Routine MessageDlg auf, verschwindet der Dialog hinter Ihrem Fenster. Da dieser jedoch zuerst beendet werden muß, bevor der Fokus an Ihr Fenster zurückgegeben wird, scheint sich nichts mehr zu bewegen. Jetzt müssen Sie den Dialog sozusagen blind schließen. Je nachdem, welche Schaltflächen Sie in MessageDlg anzeigen lassen, erreichen Sie das über [Esc] oder [Enter].
 Um dieses Problems Herr zu werden, existiert die Methode
 Application.NormalizeTopMosts
 Diese Routine sorgt laut Hilfe dafür, "daß Vordergrundformulare sich nicht länger als solche verhalten. Diese Methode ist beispielsweise gut verwendbar, wenn ein Meldungs- oder ein Dialogfenster vor dem obersten Formular angezeigt werden soll." Was immer sich die Programmierer gedacht haben, diese Funktion erfüllt die Methode jedenfalls nicht. Denn wenn Sie beispielsweise eine Schaltfläche mit den Code-Zeilen
 Application.NormalizeTopMosts;
 MessageDlg('Hello world!', mtInformation, [mbOk],0);
 Application.RestoreTopMosts;
 verknüpfen, so passiert nichts!
 ib

Verfasser: Andreas
Letzte Änderung: 2012-03-09 21:01


ProjektExplorer-Komponente

Die Struktur eines Delphi-Projekts stellen Sie mit einer Projekt-Explorer-Komponente übersichtlich dar.
 Mit dem Projekt-Explorer können Sie die Funktionalität der Delphi-Versionen 1, 2 und 3 erhöhen. Dieser stellt die Struktur einer Delphi-Anwendung in einem übersichtlichen Baumdiagramm dar. Besonders bei größeren Anwendungen ist es wichtig, die Übersicht über das Projekt zu behalten. Die Komponente TOBSProjExplorer ist eine nicht visuelle Komponente. Sie wird wie alle anderen Elemente in das Formular der jeweiligen Anwendung eingefügt. Wenn Sie auf die Komponente doppelt klicken, öffnet sich das Explorer-Fenster und zeigt die Projekt-struktur. Dazu analysieren Sie die Anwendung mit einer Scan-Prozedur, um alle Elemente der vorhandenen Formulare aus-zulesen. Dabei müssen Sie rekursiv programmieren. Beim Analysieren der einzelnen Bestandteile eines Delphi-Projekts müssen Sie die Elemente der Entwicklungsumgebung wie TProjectManager und TPropertyInspector ausschließen, da diese nicht zum Projekt gehören. Die eigentliche Komponente, welche Sie im System in gewohnter Weise installieren, befindet sich auf der Heft-CD in der Datei expl.pas. Bei der Installation wird eine neue Seite der Komponentenpalette mit dem Namen Explorers eingerichtet. Auf der Heft-CD finden Sie die Projekt-Explorer-Komponente für alle drei Delphi-Versionen im Verzeichnis .../expl.

Verfasser: Andreas
Letzte Änderung: 2012-03-09 21:02


16- und 32-Bit-Programme entwickeln

Wer eine skalierbare Applikation entwickelt, muß 16- und 32-Bit-Anwendungen miteinander vereinen.
 Wer Anwendungen gleichzeitig für Windows 3.x, Windows 95 und NT schreiben will, die er von Delphi 1 bis Version 3 ohne Änderung kompilieren möchte, muß einiges beachten. Voraussetzung ist zunächst, daß dieselben Komponenten unter allen Entwicklungsumgebungen installiert sind.
 Zum zweiten müssen Sie im Code unterscheiden, ob das Ziel der Kompilierung eine 32-Bit-Anwendung oder ein 16-Bit-Programm ist. Zu diesem Zweck greifen Sie auf die folgende Compiler-Direktive zu:
 {$IFDEF WIN32}
 .. (* Code für 32-Bit *)
 {$ELSE}
 .. (* Code für 16-Bit *)
 {$ENDIF}
 Zuerst brauchen Sie die Compiler-Direktive in der uses-Klausel. Während Delphi 1 die Windows-API noch in zwei Units (WinTypes und WinProcs) kapselt, steht ab der Version 2 alles in der Unit Windows.
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 21:02


[Enter] statt [Tab]

In vielen, älteren DOS-Programmen kamen Sie mit der [Enter]-Taste von einem Feld zum nächsten. Viele vermissen dies in Windows-Anwendungen.
 Die [Enter]-Taste ist wegen ihrer Größe und Plazierung auf der Tastatur eine der am bequemsten zu bedienenden Tasten. keypress.pas (Listing in Databox 11/98) stellt eine Lösung vor, um die [Enter]- statt der [Tab]-Taste in einem Delphi-Formular zu verwenden. Dazu programmieren Sie das keypress-Ereignis des entsprechenden Formulars. Der Wert der Eigenschaft KeyPreview muß des weiteren unbedingt auf True gesetzt werden.
 Wie erreichen Sie, daß beim Drücken der [Enter]-Taste das Formular genauso reagiert, als ob Sie die [Tab]-Taste betätigen würden? Hierzu analysieren Sie den Tastencode. Handelt es sich um [Enter], das heißt 13hex, so erzeugen Sie mit der API-Funktion PostMessage eine Botschaft, die das Drücken der [Tab]-Taste simuliert - und schon steht Ihnen die [Enter]-Taste zur Verfügung.
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 21:03


Datenfelder zur Laufzeit

In der Entwicklungsumgebung legen Sie Datenfelder mit dem Feldeditor an. Doch oft müssen Sie dies während der Laufzeit eines Programms tun.
 Sie entwickeln eine Datenbank, wobei Ihnen neue Datenfelder notwendig er-scheinen. Also wollen Anwender diese Datenbank während der Laufzeit ihres Programms ändern. Dabei legen Sie nicht nur Datenfelder, sondern auch In-dizes an und löschen diese auch wieder. Diese Änderungen betreffen String-, Integer- und andere Felder. Allerdings muß die Datenbank zu diesem Zeit-punkt geschlossen sein. Nachdem Sie die Felder oder Indizes generiert haben, öffnen Sie die Datenbank wieder. Diese Aufgaben erleichtert Ihnen Delphi, weil es jedes Feld als ein separates Objekt behandelt. Um beispielsweise ein String-Feld zu erstellen, verwenden Sie das Objekt TStringField. Für ein Integer- Feld brauchen Sie das Objekt TIn-tegerField. Ein Feld legen Sie an, indem Sie zunächst die Create-Methode des je-weiligen Objekts aufrufen. Geben Sie dem Feld einen Namen, und setzen Sie den Feldindex entsprechend der Anzahl der Felder, die in der Tabelle aktuell verfügbar sind. Verknüpfen Sie das Feldobjekt mit der TTable- oder TQuery-Komponente, und aktualisieren Sie die Felder mit der Update-Methode.
 procedure CreateFields;
 var F: TStringField;
 begin {Tabelle schließen}
 Table1.Close; {Feld-Objekt}
 F := TStringField.Create(Self);
 { Feldnamen zuweisen }
 F.FieldName := 'NAME'
 { Komponentennamen vergeben }
 F.Name :=
 Table1.Name+F.FieldName;
 { Feldindex setzen }
 F.Index := Table1.FieldCount;
 { Feld-Objekt mit Table1}
 F.DataSet := Table1;
 { Änderungen aktualisieren }
 Table1.FieldDefs.UpDate;
 { Tabelle wieder öffnen }
 Table1.Open;
 end;
 Um ein bereits bestehendes Datenfeld zu löschen, muß dieses zunächst in der Feldliste der Tabelle bzw. in der Komponentenliste gefunden werden. Hierzu verwenden Sie die Methode FindComponent. Die Suche erfolgt anhand des Feldnamens. Wurde das Feld gefunden, entfernen Sie es durch den Aufruf der Free-Methode aus der Komponentenliste. Dies gelingt allerdings erst dann, wenn Sie zu-vor die Tabelle geschlossen haben:
 procedure RemoveField;
 var C: TComponent;
 begin {Feld 'NAME' suchen }
 C := FindComponent('NAME');
 if not (C = nil) then
 begin {Tab schließen}
 Table1.Close;
 { Datenfeld-Objekt löschen }
 C.Free; {Tabelle öffnen:}
 Table1.Open;
 end;
 end;
 Außer dieser Methode, um Datenfelder anzulegen, gibt es eine weitere mit der Routine Add des TFieldDefs-Objekts. Dies gilt auch für die Anlage von Indizes, wobei Sie die Add-Methode für das TIndexDefs-Objekt verwenden:
 procedure CreateFieldsAndIndexes
 (DatabaseName, TableName:
 string);
 var
 { Tabellenkomponente }
 TempTable: TTable;
 begin
 { Tabellenkomponente initiali-sieren}
 TempTable :=
 TTable.Create(nil);
 { Datenbanknamen zuweisen }
 TempTable.DatabaseName := Data-baseName;
 {Tabellennamen und -typ zuweisen}
 TempTable.TableName :=TableName;
 TempTable.TableType := ttDBase;
 { Datenfelder definieren }
 with TempTable.FieldDefs do
 begin Clear;
 Add('Name', ftString, 30, True);
 Add('Vorname',ftString,30, True);
 Add('GebDatum',ftDate,0, False);
 end;
 {Indizes definieren }
 with TempTable.IndexDefs do
 begin
 { Indizes zuerst löschen }
 Clear;
 Add('Name', 'Name', []);
 end;
 { Tabelle erstellen }
 TempTable.CreateTable;
 ...
 end;
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 21:03


Datums- und Zeitmarke einer Datei

Datums- und Zeitmarken können Sie so einstellen, daß Sie Ihr Programmpaket mit diesem einheitlichen Merkmal stempeln.
 Sie geben Ihr selbst entwickeltes Programmpaket weiter, welches aus mehre-ren Units und weiteren Daten besteht. Daß diese Daten zusammengehören, läßt sich leicht an einem gemeinsamen Dateimerkmal festlegen: Denn die Datums- und Zeitmarken von Dateien sind wertvolle Hinweise, die Sie mit wenig Aufwand auslesen können. Dazu fragen Sie die Datums- und Zeitmarken einer Datei ab und konvertieren sie in einen String. Dies erledigen Sie am einfachsten mit folgender Routine:
 function GetFileDate
 (TheFileName: string): string;
 var FHandle: integer;
 begin FHandle :=
 FileOpen(TheFileName, 0);
 try
 Result := DateTimeToStr
 (FileDateToDateTime(FileGetDate
 (FHandle)));
 finally FileClose(FHandle);
 end;
 end;
 Öffnen Sie die Datei. Bestimmen Sie mit der Funktion FileGetDate die Datums-und Zeitangabe. Diese wandeln Sie in ein spezielles Format DateTime und dann in eine Zeichenkette um. Die Zuweisung Result := ... deklariert das Resultat dieser Operationen als Ergebnis der Funktion. Abschließend schließt das Programmfragment die Datei wieder.

Verfasser: Andreas
Letzte Änderung: 2012-03-09 21:04


Datums- und Zeitmarken von Dateien angleichen

Mit Standardroutinen gleichen Sie Datums- und Zeitmarken von Dateien so an, daß diese den gleichen Tag und die gleiche Zeit anzeigen.
 Wenn Sie ein Programm mit mehreren Dateien weitergeben, macht es Sinn, alle Dateien mit demselben Zeitstempel zu versehen. Und wenn Sie die Datums- und Zeitmarke einer Datei auf eine andere übertragen wollen, nutzen Sie die Routinen FileGetDate und FileSetDate. Dies zeigt der Code-Abschnitt:
 procedure CopyFileDate
 (const Source, Dest: string);
 var
 SourceHandle, DestHandle: Word;
 begin { Quelldatei öffnen }
 SourceHandle :=
 FileOpen(Source, fmOutput);
 { Zieldatei öffnen }
 DestHandle :=
 FileOpen(Dest, fmInput);
 { Datums- und Zeitmarke}
 FileSetDate(DestHandle,
 FileGetDate(SourceHandle));
 { Dateien schließen }
 FileClose(SourceHandle);
 FileClose(DestHandle);
 end;

Verfasser: Andreas
Letzte Änderung: 2012-03-09 21:04


dBase-Datei ohne mdx-Datei öffnen

Normalerweise benötigt Delphi die mdx-Indexdateien, um dBase-Dateien zu öffnen. Doch es geht auch ohne diese Datei.
 Wenn Sie unter Delphi eine dBase-Tabelle öffnen, prüft das System, ob eine entsprechende mdx-Indexdatei vorhanden ist. Wird diese nicht gefunden, löst das System die Exception (Ausnahme-behandlung)
 Index nicht gefunden ...
 aus. Um Tabellen ohne mdx-Indexdateien dennoch öffnen zu können, bedienen Sie sich eines Tricks. Dabei setzen Sie das Byte 28 in der dBase-Datei zurück. Öffnen Sie die dBase-Datei mit Hilfe der Standardprozeduren AssignFile und Reset. Bewegen Sie den Dateipositionszeiger auf das ent-sprechende Byte. Dies leisten Sie am einfachsten mit der Routine Seek. Sind Sie an der entsprechenden Stelle im dbf-Dateikopf angelangt, setzen Sie das für die mdx-Datei relevante Byte mit Write auf den Wert 0. Danach schließen Sie die Datei wieder.
 procedure RemoveMDXByte
 (DBFFile: String);
 const Value: Byte = 0;
 var F: file of Byte;
 begin AssignFile(F, DBFFile);
 Reset(F);Seek(F, 28);
 Write(F, Value);
 CloseFile(F);
 end;
 Wenn Sie die dBase-Datei mit Open innerhalb der TTable-Komponente öffnen, um Sie beispielsweise in einem Datengitter zu bearbeiten, fangen Sie die Exception
 Index nicht gefunden ...
 ab und rufen die zuvor definierte Prozedur RemoveMDXByte auf. Dies funk-tioniert mit einem Try-Except-Block problemlos.
 procedure OpenDBFTable;
 var
 MyTableDir, MyTableName: string;
 begin try
 {dBase-Datei-Verzeichnis setzen}
 MyTableDir := 'C:\TEST'
 Table1.DatabaseName:=MyTableDir;
 { Tabellennamen zuweisen }
 MyTableName := 'TEST.DBF'
 Table1.TableName := MyTableName;
 { dBase-Tabelle öffnen }
 Table1.Open;
 except on E:EDBEngineError do
 {Meldet MDX-Dat.nicht gefunden}
 if Pos
 ('Index does not exist. File',
 E.Message) > 0 then
 begin
 {MDX-relevantes Byte entfernen }
 RemoveMDXByte
 (TheTableDir+'\'+TheTableName);
 {Änderungen wirksam machen:}
 OpenDBFTable;
 end;
 end;
 end;
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 21:05


Ein Formular scrollen

Eine Scrollbar steuern die Anwender leichter, wenn Sie neben dem standardmäßigen Mauskomfort auch eine Tastenbedienung programmieren.
 Dieser Tips zeigt Ihnen, wie Sie sogenannte endlose Formulare programmie-ren. Dazu brauchen Sie lediglich eine Scrollbar. Sie geben dem Nutzer jedoch mehr Komfort, wenn sich das Formular nicht nur mit der Maus, sondern auch mit den Tasten [Bild auf] und [Bild ab] bewegen läßt. Der folgende Code demonstriert dies:
 procedure TForm1.FormKeyDown
 (Sender: TObject; var Key: Word;
 Shift: TShiftState);
 const PageDelta = 10;
 begin
 with VertScrollbar do
 if Key = VK_NEXT then
 Position := Position+PageDelta
 else
 if Key = VK_PRIOR then
 Position :=Position-PageDelta;
 end;

Verfasser: Andreas
Letzte Änderung: 2012-03-09 21:05


Fenster mit Hintergrund

Ein Fenster mit Texturen erhöht die Aufmerksamkeit des Anwenders und macht das Programm optisch schöner.
 Es gibt eine relativ einfache Methode, um normale Fenster (Formulare) mit Texturen zu unterlegen, die aus einer Bitmap-Datei entstanden sind. Bei der Anlage des Formulars laden Sie eine Bitmap, die später als Textur erscheinen soll. Während das Formular gezeichnet wird, durchläuft textur.pas (Listing in Databox 11/98) die Bitmap pixelweise und gibt sie auf der Zeichenfläche aus.
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 21:06


Formular ohne Anklicken der Titelleiste verschieben

Erfahrene Programmierer gestalten Fenster so, daß der Anwender diese verschieben kann.
 PC-Anwender profitieren davon, daß sie Fenster durch Anklicken und Ziehen der Fensterfläche verschieben können. Diesen sogenannten Client-Bereich nutzen Sie auch dazu, um Informationen aus dahinter liegenden Fenster auswerten zu können. Bei Fenstern ohne Titelleiste ist ein solches Verhalten praktisch unumgänglich. Um dies in Delphi zu programmieren, bedarf es eines Eingriffs in das Windows-Messaging-System. Dazu schrei-ben Sie einen Handler (Prozedur zur Verarbeitung von Windows-Nachrichten) für die Botschaft wm_NCHitTest. Diese Botschaft sendet Windows, wenn der Client-Bereich eines Fensters angeklickt wird. In diesem Fall muß man das Anklicken der Titelleiste quasi vortäuschen, um den gewünschten Effekt zu erzielen. Zuvor rufen Sie jedoch den Message-Handler des Vorgängerobjekts durch inherited auf. Die folgende Unit zeigt, wie Sie ein Fenster durch Anklicken und Ziehen des Client-Bereichs verschieben:
 unit MyDrag;
 interface
 uses
 SysUtils, WinTypes, WinProcs,
 Messages, Classes, Graphics,
 Controls, Forms, Dialogs,
 StdCtrls;
 type TForm1 = class(TForm)
 private procedure WMNCHitTest
 (var M: TWMNCHitTest);
 message wm_NCHitTest;
 end;
 var Form1: TForm1;
 implementation
 {$R *.DFM}
 procedure TForm1.WMNCHitTest
 (var M: TWMNCHitTest);
 begin inherited;
 if M.Result = htClient then
 { Client-Bereich angeklickt? }
 M.Result := htCaption;
 {ja? Click auf Titel täuschen}
 end;end.

Verfasser: Andreas
Letzte Änderung: 2012-03-09 21:45


Grafikauflösung und Farbtiefe

Entwickeln Sie Programme, die auf Veränderungen der Grafikauflösung oder der Farbtiefe sofort reagieren können.
 Unter Windows 95 und NT lassen sich die aktuelle Auflösung des Bildschirms sowie die Farbtiefe ohne Neustart des Rechners verändern. Ein Delphi-Programm muß jedoch auf diese Änderungen reagieren können, indem beispielsweise die Elemente, die auf einem Formular sichtbar sind, in der Größe angepaßt werden. Um dies zu bewerkstelligen, müssen Sie die Systemdaten abfragen. Wie das funktioniert, zeigt der folgende Code, in dem ausschließlich API-Funktionen zum Einsatz kommen:
 hor:=GetDeviceCaps(GetDC(GetActiveWindow),HORZRES);
 vert:=GetDeviceCaps(GetDC(GetActiveWindow),VERTRES);
 bpp:=GetDeviceCaps(GetDC(GetActiveWindow),BITSPIXEL);
 Während in den Variablen hor und vert die tatsächliche Auflösung in Pixel zurückgeliefert wird, enthält die Variable bpp die Anzahl der Bits pro Pixel. Bei 16 Farben enthält bpp den Wert 4, bei 256 Farben 8, bei 64-KByte-Farben 16 und bei 16,7 Millionen Farben (Truecolor) 24.

Verfasser: Andreas
Letzte Änderung: 2012-03-09 21:46


Hotkeys abfangen

Auch in Ihren Windows-Programme legen Sie Hotkeys fest, mit denen Sie schnell auf verschiedene Programmfunktionen zugreifen.
 Wenn Sie in Ihrer Anwendung Hotkeys verwenden, so fangen Sie diese mit der Ereignisprozedur KeyDown ab. Dazu setzen Sie den Wert der Eigenschaft KeyPreview eines Formulars auf True. Die Werte eines Hotkeys lesen Sie dann mit der Prozedur Tform1.Formkey-Down aus:
 procedure TForm1.FormKeyDown
 (Sender: TObject; var Key:
 Word; Shift: TShiftState);
 begin
 if (ssCtrl in Shift) and
 (Chr(Key) in ['C', 'c']) then
 ShowMessage('Ctrl-C');
 { CTRL-C wurde gedrückt }
 end;

Verfasser: Andreas
Letzte Änderung: 2012-03-09 21:46


Hyperlinks in Delphi-Formularen

In allen bisherigen Versionen von Delphi fehlt eine Hyperlink-Komponente. Mit wenig Aufwand funktionieren Sie TLabelzum Hyperlink um.
 Mit einer Komponente vom Typ TLabel produzieren Sie einen Hyperlink. Setzen Sie als sichtbaren Text mit der Eigenschaft Caption die Link-Adresse (meistens ohne http://). Farbe und Unterstreichung erreichen Sie über die Font-Eigenschaft. Die Cursor-Form stellen Sie in der Entwicklungsumgebung über die Eigenschaft Cursor auf den Wert crHand. Zuletzt weisen Sie dem Ereignis OnClick des Labels die folgende Prozedur zu:
 procedure MyForm.Label1Click(Sender:TObject);begin ShellExecute(0, nil, @Label1.Caption[1],nil, nil, SW_NORMAL);end;
 Dazu nehmen Sie die Unit ShellAPI in den uses-Abschnitt Ihres Formulars auf. In Delphi 1 kopieren Sie den Label-Text zunächst in ein Zeichen-Array und übergeben den PChar-Zeiger auf diesen Puffer an ShellExecute.
 
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 21:47


Komplett schließen

Professionelle Windows-Anwendungen schließen beim Beenden des Programms auch die Hilfefunktion, sofern diese zuvor geöffnet wurde.
 Es ist lästig, beim Verlassen eines Programms weitere Unterprogramme oder die Hilfefunktion einzeln schließen zu müssen. Anders bei Delphi: Jedes Delphi-Formular besitzt das Ereignis OnClose, das beim Schließen aktiviert wird. In diesem Fall ruft Delphi auch die entsprechende Ereignisbehandlungsroutine auf. Um eine eventuell geöffnete Hilfe zu schließen, rufen Sie die Funktion Winhelp auf. Der Quelltext in hlpclose.pas (Listing in Databox 11/98) zeigt, wie einfach Sie diesen Vorgang automatisieren.

Verfasser: Andreas
Letzte Änderung: 2012-03-09 21:48


Laufwerkstyp ermitteln

Wenige Programmzeilen geben Auskunft darüber, auf welchen Typ eines Laufwerks Sie gerade zugreifen.
 Sie müssen den Typ eines Laufwerks kennen, um zwischen einem Floppy- und einem CD-Laufwerk unterscheiden zu können. Dazu definieren Sie einen neuen Datentyp TDriveType mit den erforderlichen Laufwerkskonstanten. Auch in Netzwerken nutzen Sie die Erkennungsroutine GetDriveType, um die Laufwerkskennung zu ermitteln.
 Auf der Heft-CD finden Sie die Routine FindDriveTypemit anderen Systemfunktionen im Verzeichnis .../systemsp
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 21:48


Liste der virtuellen Tastencodes

Wer Windows-API-Funktionen verwendet, um beispielsweise Tastaturereignisse zu erzeugen oder abzufangen, braucht "virtuelle" Tastencodes.
 Jeder Taste bzw. Tastenkombination ist ein interner Code zugeordnet. Dieser
 wird beim Aufruf mancher API-Funktionen verlangt, wenn Sie zum Beispiel Tastatur- oder Mausereignisse auswerten. Die Tabelle auf S. 182 listet die wichtigsten virtuellen Tastencodes auf.
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 21:49


Liste mit schnellem Zugriff

So erzeugen Sie Listenfelder mit praktischen horizontalen Rollbalken.
 Ein horizontaler Rollbalken in Listenfeldern ist sinnvoll, wenn die Listeneinträge ziemlich lang sind oder wenn die Listbox mehrere Spalten enthält. Um Listenfelder mit horizontalem Rollbalken zu erzeugen, verwenden Sie die API-Funktion SendMessage. Dazu müssen Sie wissen, wie breit der Eintrag werden kann. Für eine Listbox, die einen horizontalen Rollbalken anzeigen soll, lautet der Aufruf, sobald sie kleiner als 500 Pixel wird:
 SendMessage(Listbox1.Handle,LB_SetHorizontalExtent,500,LongInt(0));
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 21:49


Mehrere Verzeichnisse auf einmal

Mit eine kleinen Prozedur legen Sie mehrere Verzeichnisse gleichzeitig an.
 Mit der Standardprozedur MkDir können Sie Verzeichnisse anlegen, jedoch in einem Arbeitsgang keine weiteren Unterverzeichnisse. Eine kleine Erweiterung, die auf der Delphistandardprozedur basiert, beseitigt dieses Manko. MkDirExt filtert alle Ver-zeichnisse aus Ihrer angegebenen Zeichenkette und arbeitet die Liste ab. Die angegebene Zeichenkette schließen Sie mit dem Backslash \ ab, woraufhin die Prozedur Ihre gewünschten Verzeich-nisse anlegt:
 procedure MkDirExt
 (const Path: string);
 var
 Len: Integer;
 S: string;
 I: Integer;
 begin
 Len := Length(Path);
 if Len > 3 then
 if not PathExists(Path) then
 begin
 S := Path[1]+Path[2]+Path[3];
 for I := 4 to Len do
 begin
 if Path[I] = '\' then
 MkDir(S);
 S := S+Path[I];
 end;
 MkDir(S);
 end;
 end;
 Auf der Heft-CD finden Sie die Routine MkDirExt zusammen mit anderen Systemfunktionen im Verzeichnis .../systemsp.
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 21:50


Mindestgröße eines Formulars

Professionelle Anwendungen stellen sicher, daß eine vordefinierte Mindestgröße eines Formulars nicht unterschritten werden kann.
 Wenn ein Formular zu klein wird, wird es nutzlos. Das kleine Beispielprogramm minmax.pas (Listing in Databox 11/98) zeigt Ihnen, wie Sie auf einfache Weise die Größe von Formularen beschränken können. So verhindern Sie, daß Sie ein Fenster über eine bestimmte Größe hinaus nicht vergrößern können. Damit geben Sie zum Beispiel einer Werkzeugleiste eine feste minimale oder maximale Größe. Wenn die Eigenschaft BorderStyle den Wert bsSizeable besitzt, können Sie das Formular stufenlos vergrößern und verkleinern. Um diese Funktion aufzuheben, programmieren Sie die Routine wmGetMinMaxInfo.
 Ein Hinweis für Delphi 4: In dieser Version stellen Sie die Mindestgröße eines Formulars direkt mit Hilfe der Formular-Eigenschaften ein.
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 21:50


Rechtsbündige Menüpunkte

In der Regel sind Texte in Menüeinträgen linksbündig ausgerichtet, doch Sie können Texte auch rechtsbündig anzeigen lassen.
 Mal etwas anderes fürs Auge: Formatieren Sie Menüeinträge rechtsbündig, allerdings nur zur Laufzeit und nicht unter Windows 95/98. Im folgenden Beispiel vergibt Delphi dem Menüpunkt mit der Beschriftung Hilfe den Objektnamen Hilfe1. Als Bezug (Handler) für das OnCreate-Ereignis schreiben Sie:
 Hilfe1.Caption:=#8 + Hilfe1.Caption
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 21:50


Strings mit Komponenten verbinden

Um beispielsweise Hilfsverweise in einer Liste zu speichern und einzelnen Elementen zuzuordnen, verbinden Sie Zeichenketten mit Komponenten eines Delphi-Formulars.
 Jede Delphi-Komponente verfügt über eine Tag-Eigenschaft, die Zahlen speichern kann. Diese Variable vom Typ LongInt eignet sich auch dazu, einen Zeiger (Pointer), zum Beispiel auf einen String, zu speichern. Mit folgender Routine ordnen Sie einzelnen Komponenten zur Laufzeit des Programms über einen Pointer String zu:
 var
 I: integer;
 begin
 for I:=0 to ComponentCount-1 do
 Components[I].Tag := LongInt
 (NewStr('String '+IntToStr(I)));
 end;
 Mit Hilfe der Routine NewStr wird ein String erzeugt und dann mit LongInt der Zeiger darauf ermittelt und der Tag-Variablen zugewiesen. Um die auf diese Weise mit den Komponenten verbundenen Strings in einer Listbox anzuzeigen und die Strings im nachhinein wieder zu löschen, verwenden Sie folgenden Code:
 var
 I: integer;
 S: string;
 begin
 for I :=0 to ComponentCount-1 do
 begin
 S :=PString(Components[I].Tag)^;
 ListBox1.Items.Add(S);
 DisposeStr(PString
 (Components[I].Tag));
 end;
 end;
 Um auf einen String zuzugreifen, nutzen Sie die Funktionalität von PString. Mit Hilfe des Operators ^ ermitteln Sie den String und speichern ihn in der Variablen S. Mit dieser Variablen erzeugen Sie mit der Add-Routine einen Eintrag in der Listbox. Danach entfernen Sie den mit der Komponente Components[I] verbundenen String mit Hilfe von Dispose-Str.
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 21:51


Systemparameter

Es gibt Situationen, in denen die Kenntnis der Systemparameter notwendig ist, um bestimmte Entscheidungen innerhalb eines Programms zu treffen.
 Wenn die Hardware nicht ausreicht, kann selbst das beste Programm versagen. Für diesen Fall läßt Sie vor dem Programmstart eine entsprechende Meldung ausgeben. Um die Systemparameter abzufragen, verwenden Sie API-Funktionen. Welche Ressourcen frei sind, erfahren Sie durch folgenden API-Aufruf:
 SysParam := AGetFreeSystemResources(GFSR_SYSTEMRESOURCES);
 Folgende weitere API-Funktionen sind in der API-Hilfefunktion beschrieben: GetWinFlags, SystemParametersInfo, GetDeviceCaps und GetFreeSpace.
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 21:51


Texte drehen

Wer Truetype-Fonts zur Textanzeige verwendet, kann seinen Text in einem bestimmten Winkel ausgeben.
 Ein Text, der schräg über den Bildschirm läuft, weckt die Aufmerksamkeit des Betrachters. Als Font empfiehlt sich Arial. Um einen Text zu drehen, erzeugen Sie zunächst einen sogenannten logischen Font. Dazu verwenden Sie die Funktionen GetObject und CreateFontIndirect (Listing in Databox 11/98). Es handelt sich dabei um API-Funktionen, die Sie in der Unit windows oder bei Delphi 1 in winprocs finden.
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 21:52


Unterverzeichnisliste

Mit einer Funktion listen Sie alle Unterverzeichnisse eines Hauptverzeichnisses auf.
 Wer bei zahlreichen Dateien den Überblick bewahren will, braucht eine Liste aller Unterverzeichnisse eines Hauptordners. Diese erhalten Sie mit der Delphistandardfunktion FindFirst durch rekursives Programmieren. Die Funktion CreateDirList liefert dazu eine String-Liste.
 Auf der Heft-CD finden Sie die Routine mit anderen Systemfunktionen im Verzeichnis .../systemsp.
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 21:52


Vergessener Standard-Dialog

Mit Standard-Dialogen öffnen und schließen Sie Dateien, können aber keine Verzeichnisse wählen. Eine Funktion aus der Unit File-Ctrl hilft weiter.
 Einen Standard-Dialog erzeugen Sie, indem Sie die Funktion SelectDirectory() aus der Unit FileCtrl aufrufen. Dieser Dialog erlaubt es dem Anwender, ein Verzeichnis ohne Angabe einer konkreten Datei auszuwählen. Abhängig vom Wert des zweiten Aufrufparameters können Sie sogar nicht existierende Verzeichnisse in das Namensfeld eintragen und diese beim Schließen des Dialogs anlegen. Der erste Parameter der Funktion bestimmt das Initialisierungsverzeichnis.
 var sStartDir, sNeuDir: String;:sStartDir:='C:\Daten'if SelectDirectory(sStartDir,[sdAllowCreate], 0)then sNeuDir:= sStartDir;
 Als Rückgabwert liefert Ihnen die Funktion den Wert true (Schalter OK) oder false (Schalter Abbruch). Leider erscheint der Dialog auch unter 32-Bit-Delphi im Stil von Windows 3.x.
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 21:53


Zeilen mit mehr als 255 Zeichen einlesen

Manche Texte packen mehr als 255 Zeichen in eine Zeile. Solche Zeilen können Sie mit der Standardroutine ReadLn lesen.
 ReadLn ist eine universelle Routine, mit der Sie unter anderem Textdateien zeilenweise einlesen können. Um Textdateien zu lesen, deren Zeilen länger als 255 Zeichen sind, verbinden Sie ein Char-Array mit einem Zeichenpuffer. Viele Delphi-Routinen greifen auf ein solches Array auch mit Hilfe von PChar zu:
 type
 TLine = array[0..1024] of Char;
 PLine = ^TLine;
 var CharBuf: PLine;
 F: TextFile;
 ...
 New(CharBuf);
 ...
 ReadLn(F, CharBuf^);
 ...
 Dispose(CharBuf);
 Vor dem Einlesen des Dateiinhalts reservieren Sie den Zeichenpuffer mit Hilfe von New, der maximal 1 KByte Daten speichert. Für Textdateien mit noch größerer Zeilenlänge passen Sie das Ar-ray in TLine entsprechend an.
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 21:53


Ziehen und Schieben zur Programmlaufzeit

Lassen Sie den Anwender Ihres Programms die Steuerelemente im Programmformular frei anordnen.
 Alle Programm-Komponenten, die Steuersignale von der Maus erhalten können, lassen sich auch einfach zur Laufzeit verschieben. Schreiben Sie eine Routine für das OnMouseDown-Ereignis der betreffenden Komponente, die eine Verschiebe-Botschaft an sich selbst sendet.
 procedure TMyForm.ElementMouDwn(
 Sender: TObject;
 Button: TMouseButton;
 Shift: TShiftState;
 X, Y: Integer);
 const SC_DRAGMOVE=$F012;
 begin
 ReleaseCapture;
 (Sender As TControl).Perform(
 WM_SYSCOMMAND, SC_DRAGMOVE,0);
 end;
 Durch die Konstruktion Sender As TControl erreichen Sie, dass die Prozedur für unterschiedliche Steuerelementtypen unverändert wiederverwendbar ist. Label-Elemente lassen sich so allerdings nicht verschieben. Imitieren Sie verschiebbare Texte durch eine TPanel-Komponente, aus der Sie die Randvertiefung ausblenden. Schalterelemente mit dieser On-MouseDown-Prozedur reagieren nicht mehr auf das Click-Ereignis. Hier unterscheiden Sie zwischen linker und rechter Maustaste.
 if Button=mbRight then begin
 ReleaseCapture;
 { usw..... }
 end;
 Oder Sie schaffen über eine zusätzliche Abfrage mit einer logischen Hilfsvariablen bClickable vor der ReleaseCapture-Anweisung Abhilfe.
 if (Sender as TControl)=Button1
 then if bClickable then Exit;

Verfasser: Andreas
Letzte Änderung: 2012-03-09 21:54


Zugriffe auf I/O-Ports

Über I/O-Portzugriffe steuern Sie die Peripheriegeräte eines PC direkt an.
 Wenn Sie unter Delphi 1 die serielle oder parallele Schnittstelle über I/O-Ports ansprechen wollen, können Sie das globale Port-Array verwenden. Dieses steht in der 32-Bit-Entwicklungsumgebung jedoch nicht mehr zur Verfügung. Mit Assembler-Code erreichen Sie trotzdem, daß die Portzugriffe in jeder Delphi-Version funktionieren. Routinen zum Lesen und Beschreiben der Ports finden Sie in ports.pas (Listing in Databox 11/98).
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 21:54


Andockbare Toolbar

Mit einer andockbaren Toolbar arbeiten Ihre Delphi-Anwendungen Windows-konform.
 Aus zahlreichen Office-Anwendungen kennen Sie verschiebbare Toolbars, welche sich an den oberen oder unteren Fensterrand andocken lassen. Um eine solche Funktionalität auch in Delphi nutzen zu können, erweitern Sie die vorhandenen Komponenten. Mit einem TPanel-Element erzeugen Sie eine Toolbar. Allerdings läßt sich diese Komponente zur Laufzeit des Programms nicht verschieben. Dies ändern Sie, indem Sie die Ereignisbehand-lungroutinen MouseDown und Mouse-Move programmieren. Per Klick auf die linke Maustaste speichern Sie die aktuelle Position des Mauszeigers innerhalb der Toolbar. Wenn Sie die Maus bewe-gen, ändert sich diese Position. Die Toolbar verschieben Sie durch Addition der zuvor gespeicherten Mauszeigerposition, der aktuellen Position des Mauscursors und der Position der Toolbar. Somit läßt sich beispielsweise eine Buttonleiste nach Belieben innerhalb eines Windows-Fensters bewegen. Damit die Toolbar angedockt werden kann, wenn sie sich in der Nähe des Fensterrands befindet, prüfen Sie ihre Position in der MouseMove-Prozedur. Je nachdem, ob sich das Panel am oberen oder am unteren Rand befindet, ändern Sie die Ausrichtung durch die Werte von alTop oder alBottom in der Eigenschaft Align. Bewegen Sie die Toolbar wieder vom Fensterrand fort, geben Sie der Eigenschaft der Ausrichtung den Wert al- None. So stellen Sie die ursprüngliche Größe der Toolbar wieder her. Sie können der Toolbar noch weitere Funktionen verleihen: Sie läßt sich durch entsprechende Programmerweiterungen an den rechten oder linken Fensterrand andocken. Das vorliegende Beispielprogramm unit1.pas (Listing 1) zeigt Ihnen, wie es geht.
 Im Verzeichnis .../toolbarauf der Heft-CD finden Sie ein kleines Beispielprojekt, welches Sie direkt starten können.
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 21:55


dBase-Dateien ohne BDE

Mit einer Unit können Sie dBase-Dateien auch ohne Borland Database Engine (BDE) anlegen, lesen und ändern.
 Mit der Borland Database Engine entwickeln Sie mit Standard-Komponenten Anwendungen unabhängig von einzelnen Datenbankformaten (skalierbare Datenbankanwendungen). Allerdings erfordert die Verwendung der BDE-Schnittstelle, daß Sie zahlreiche Treiber installieren. Dies ist bei kleineren Anwendungen ein unzulässig großer Auf-wand. Um diesen zu vermeiden, empfiehlt sich das dBase-Datenbankformat. Dessen einfache Struktur erleichtert es, dieses Dateiformat anzulegen, zu lesen und zu ändern. Bevor Sie den Inhalt einer dBase-Datei lesen können, initialisieren Sie einen sogenannten Datei-Stream über TBufFi-leStream. Darin geben Sie unter anderm den Dateinamen an. dBase-Dateien verwalten Sie über einen DBF-Handler. Um diesen erfolgreich zu initialisieren, lesen Sie zuvor den Inhalt des dBase-Dateikopfs. Gelingt das, lesen Sie dBase-Daten aus. Hierzu verwenden Sie, wie dbfde-mo1. pas (Listing 2) zeigt, die Funktion ReadRecords des DBF-Handlers. Die Daten werden in einen zuvor eingerichteten Puffer geladen und können von dort jederzeit abgerufen werden. Dies beschleunigt die Verwaltung von dBase-Datenbanken. Der Datenpuffer kann unter Windows beinahe beliebig groß werden. Dabei müssen Sie nur den zur Verfügung stehenden Speicher berücksichtigen, den Sie eingerichtet haben. Die Daten speichert Delphi in einem Array. Auf diese Weise realisieren Sie eine interne Multi-Record- Struktur und können somit Operationen auf einzelnen Datensätzen wie das Füllen von Feldern sehr schnell durchführen. Auch Suchoperationen laufen dann sehr zügig ab. Die Größe des Puffers stellen Sie in der Initialisierungsroutine des Objekts TBufFileStre-am ein. Mit Hilfe der in diesem Objekt gekapselten Routinen werden in erster Linie Lese- und Schreibzugriffe durchgeführt.
 Auf der Heft-CD finden Sie die dBase-Routinen mit dem Beispielprojekt im Verzeichnis .../dbf.
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 21:55


Dynamische Controls

So erzeugen und entfernen Sie während des Programmablaufs dynamische Controls wie Buttons.
 In manchen Situationen ist es erforderlich, Controls dynamisch (während des Programmablaufs) zu erzeugen und zu entfernen. Diese Methode spart Ressourcen. Außerdem können Sie diese Controls in einem Array speichern. Dadurch können Sie direkt auf die einzelnen Komponenten zugreifen, wenn Sie Eigenschaften wie die Beschriftung oder die Fontgröße verändern wollen. Allerdings funktioniert dies nicht, wenn Sie die Controls statisch im Design-Modus in ein Formular einfügen. Um ein Control, beispielsweise einen Button, zur Laufzeit des Programms zu erzeugen, rufen Sie zuerst die Create-Methode auf. Im zweiten Schritt legen Sie die Eigenschaften des Buttons wie Position, Größe und Beschriftung fest. Damit ist die Komponente aber noch nicht innerhalb des Programmfensters sichtbar. Um dies zu erreichen, fügen Sie das Control mit Hilfe der InsertControl-Methode ins Formular ein. Anschließend können Sie alle Button-Daten in einem Array speichern. for I := 1 to 8 do begin
 Btn := TButton.Create(nil);
 Btn.Name := 'Button'+IntTo-
 Str(I);
 Btn.Left := (I*60)-40;
 Btn.Top := 100;
 Btn.Width := 60;
 Btn.Height := 25;
 InsertControl(Btn);
 BtnArray[I] := Btn;
 end;
 Entfernen Sie die Buttons aus dem Formular, alle Daten sind in BtnArray gespeichert. Durch Aufruf der Free-Methode geben Sie den für das Control reservierten Speicherplatz wieder frei. Damit wird der Button aus dem Formular entfernt:
 for I := 1 to 8 do
 begin
 BtnArray[I].Free;
 BtnArray[I] := nil;
 end;
 Um die Control-Eigenschaften wie die Schriftgröße zu verändern, können Sie auch direkt auf das Array zugreifen. Der Vorteil dieser Methode liegt darin, dass Sie nicht in der Control-Liste des Formulars nach dem passenden Element suchen müssen, wenn Sie dessen Eigenschaften modifizieren wollen. So sparen Sie Arbeit:
 for I := 1 to 8 do
 if BtnArray[I] nil then
 if BtnArray[I].Font.Size = 10
 then
 BtnArray[I].Font.Size := 8
 else
 BtnArray[I].Font.Size := 10;

Verfasser: Andreas
Letzte Änderung: 2012-03-09 21:55


Grafiken drucken

Mit einer kleinen Prozedur drucken Sie in Delphi gezeichnete Grafiken.
 Um in Delphi-Anwendungen nicht nur Texte, sondern auch Skizzen oder Zeichnungen drucken zu können, verwenden Sie die Komponente TPaint-Box. Diese finden Sie auf der Seite System in der Komponentenpalette. TPaintBox verfügt über die Eigenschaft Canvas, die eine Zeichenfläche darstellt. Darauf können Sie Linien, Rechtecke, Kreise zeichnen oder Punkte setzen. Für den Druck der Grafik ist es erforderlich, den Inhalt der TPaintBox-Zeichenfläche in die von Printer zu kopieren. Am einfachsten erledigen Sie dies, indem Sie einzelne Pixel auslesen, die Sie in der Drucker-Zeichenfläche erneut setzen. Um den Druckvorgang zu starten, rufen Sie zuvor die Prozedur BeginDoc auf. Das Drucken der Grafik beenden Sie, indem Sie EndDoc aufrufen.

Verfasser: Andreas
Letzte Änderung: 2012-03-09 21:56


Notbremse im Memofeld

Überprüfen Sie zur Programmlaufzeit, wann Sie eine Änderung am Memoinhalt rückgängig machen können, und stellen Sie den vorherigen Zustand bei Bedarf wieder her.
 Jedes moderne Programm bietet eine Undo-Funktion. In der Delphi-Editor-Komponente TMemo stellen Sie dem Anwender Ihres Programms diese Funktion bereit zumindest in der einstufigen Variante. Dabei helfen Ihnen Windows-Botschaften an die Editorkomponente. EM_CANUNDO ermittelt, ob eine Änderung aufzuheben ist. Ein Ergebniswert ungleich 0 bestätigt dies. Statt Send-Message wie im vorhergehenden Tip können Sie hier auch die Methode Per-form des TControl-Objekts nutzen. Mit Perform sendet ein Steuerelement eine Botschaft an sich selbst. Das folgende Beispiel prüft, ob Undo im Memofeld möglich ist und aktiviert oder blockiert einen Schalter namens ButtonUndo.
 ButtonUndo.Enabled:= Memo1.
 Perform(EM_CANUNDO, 0, 0)<>0
 Die Botschaft EM_UNDO stellt dann an anderer Stelle den alten Editor-Zustand wieder her.
 if Memo1.Perform(EM_CANUNDO,
 0, 0) <>0 then
 Memo1.Perform(EM_UNDO, 0, 0);
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 21:56


Programm-Icon mehrfach nutzen

Lockern Sie Formulare mit Programm-Icons auf.
 Icons sollten Sie nicht mit Formularen speichern, weil Sie sonst Ihr fertiges Programm überfrachten. Laden Sie daher das Sinnbild zur Laufzeit aus den Ressourcen, wozu Sie die FormCreate-Prozedur des Formulars aufrufen:
 procedure TMyForm.FormCreate(
 Sender: TObject);
 begin
 Image1.Picture.Icon.Handle:=
 LoadIcon(HInstance,'MAINICON');
 end;
 Dabei ist Image1 eine auf dem Hauptformular liegende leere TImage-Komponente der Größe 32 x 32 Pixel. Öffnen Sie, ausgehend von diesem Formular, weitere Fenster, können Sie das geladene Icon bequem weiterreichen und brauchen es nicht wiederholt zu laden.
 procedure TMyForm.Button1Click(
 Sender: TObject);
 begin
 DialogForm:=
 TDialogForm.Create(Self);
 DialogForm.Image1.Picture.
 Icon.Handle:=
 Image1.Picture.Icon.Handle;
 DialogForm.ShowModal;
 DialogForm.Release;
 end;

Verfasser: Andreas
Letzte Änderung: 2012-03-09 21:57


Tab-Sprünge im eigenen Editor

Problemlos verwenden Sie Tabulatoren in Editorboxen. Wie setzen Sie aber den Tabulatorabstand?
 Hat Ihre Editor-oder Memobox zur Laufzeit die Eigenschaft WantTabs, kann der Programmanwender Tabulatorsprünge im Editortext eingeben. Der Abstand ist vorgegeben. Mit einer Windows-Botschaft können Sie die Sprungweite ändern.
 var TabStep: LongInt;
 :
 TabStep:= SpinEditTabStep.Value;
 Memo1.Perform(EM_SETTABSTOPS,
 1, LongInt(@TabStep))Unter Delphi 1 in Windows 3.x gelten die neuen Tabulatorabstände nur für künftig zu setzende Tabs. Unter Win 32 werden auch bereits gesetzte Tabulatoren umformatiert.
 
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 21:57


Waagerechter Rollbalken in Listboxen

Gegen überbreite Einträge in Listboxen, die nur unvollständig zu lesen sind, finden Sie hier eine Lösung.
 Der Typ TListBox produziert Rollbalken, deren Gestalt nicht zu beeinflussen ist. Ein vertikaler Rollbalken (Scroller) entsteht automatisch, sobald die Listenlänge die Größe der Box übersteigt. Das gilt nicht, wenn Einträge in horizontaler Richtung größer sind als die Liste breit. Mit der Windows-Botschaft LB_SETHORIZONTALEXTENT setzen Sie einen waagerechten Rollbalken in Listboxen. Als Parameter geben Sie die Pixelzahl an, auf die die Darstellungsbreite des Listenfeldes durch den Scroller virtuell verbreitert werden soll. Die Länge Ihres längsten Listeneintrages (gemessen in Pixeln) ist der optimale Wert.
 Listbox1.Perform(
 LB_SETHORIZONTALEXTENT,
 250, LongInt(0));
 Mit einer Pixelzahl kleiner als die wahre Breite der Listbox schalten Sie den horizontalen Scroller bei Bedarf wieder ab. 0 als Parameter funktioniert bei jeder Liste.
 Listbox1.Perform(
 LB_SETHORIZONTALEXTENT,
 0 ,LongInt(0));
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 21:57


Wo im Memo ist der Cursor?

Mit einer eigenen Routine ermitteln Sie Zeilen-und Spaltennummer des Cursors in Memofeldern.
 Die Komponente TMemo sowie alle anderen Editorkomponenten in Delphi haben keine Eigenschaft oder Methode, um die Cursorposition brauchbar auszulesen. Zwar gibt die Eigenschaft Sel-Start eine Zeichenposition zurück, diese ist aber der absolute Zeichenabstand vom Textanfang. Eine Zeilen-oder Spaltenangabe geht daraus nicht hervor. Über Windows-Botschaften ermitteln Sie beide Angaben. Die Botschaft EM_LINEFROM CHAR verrät Ihnen die Zeilennummer, in der Ihr Cursor oder der Anfang der Markierung steht. Um die Spaltenposition zu bestimmen, berechnen Sie den Differenzabstand des Cursors vom Zeilenanfang. Die Botschaft EM_LINEINDEXliefert Ihnen zu jeder angegebenen Zeile die Zeilenanfangsposition bezüglich des Gesamttextes.
 var nZl, nSp: Longint;
 :
 nZl:= SendMessage(Memo1.Handle,
 EM_LINEFROMCHAR,
 Memo1.SelStart, 0);
 nSp:= Memo1.SelStart -
 SendMessage(Memo1.Handle,
 EM_LINEINDEX, nZl, 0);
 Inc(nZl); Inc(nSp);
 Windows liefert Zeilen-und Spaltenwert, wobei die Nummerierung bei 0 beginnt. Für die gewohnte Zählweise erhöhen Sie Werte zum Abschluss jeweils um 1.
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 21:58


Unsinniger Zwang

Fehlt der Verweis auf eine Unit im Projekt spielen sich Delphi 2 und 3 als Lehrmeister auf.
 In der USES-Klausel bestimmen Sie alle Units, die ein Projekt oder ein Formular benötigen. Wollen Sie aber ein unsichtbares Programm schreiben, das keinerlei Zusätze benötigt, so lassen Sie einfach die Anweisung USES samt aller Angaben weg. Das Kompilat ist auch erfolgreich. Wollen Sie jedoch die Projektoptionen verändern, erhalten Sie nur eine Fehlermeldung und gelangen nicht mehr zum Einstellungsdialog. Abhilfe schaffen Sie nur, indem Sie eine Dummy-Unit schreiben und diese im Projektquelltext aufnehmen.
 ib

Verfasser: Andreas
Letzte Änderung: 2012-03-09 21:58


KeyPressed und ReadKey

Die von Pascal bekannten Funktionen KeyPressed und ReadKey können Sie auch in Delphi problemlos nutzen.
 Wer die Arbeit seines Bildschirmschoners ausschalten will, muß dazu nur eine Taste betätigen. Dieses Beispiel zeigt, wie Ihr Anwender den Programmablauf auf Tastendruck stoppen kann. Leider fehlen in Delphi ab Version 2 die entsprechenden Routinen dazu. Doch bereits mit ein paar Zeilen Programmcode lassen sich solche Funktionen programmieren. Verwenden Sie dazu die Windows-API-Funktionen PeekMessage, TranslateMessage und DispatchMessage. Mit diesen Funktionen steuern Sie die Tastaturereignisse.
 function KeyPressed: Boolean;
 var
 Msg, SaveMsg: TMsg;
 begin
 while PeekMessage
 (Msg, 0, 0, 0, PM_REMOVE) do
 begin
 SaveMsg := Msg;
 if Msg.Message = WM_QUIT then
 Halt(255);
 TranslateMessage(Msg);
 DispatchMessage(Msg);
 end;
 Result :=
 SaveMsg.Message = WM_KEYUP;
 end;
 function ReadKey: Char;
 var Msg, SaveMsg: TMsg;
 begin
 while PeekMessage
 (Msg, 0, 0, 0, PM_REMOVE) do
 begin
 SaveMsg := Msg;
 if Msg.Message = WM_QUIT then
 Halt(255);
 TranslateMessage(Msg);
 DispatchMessage(Msg);
 end;
 Result := Char(SaveMsg.WParam);
 end;
 Auf der Heft-CD finden Sie die Funktion KeyPressedmit anderen Systemroutinen im Verzeichnis .../systemsp.
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 21:59


Keine Kondition

Die FOR-Schleife wird zweimal zu wenig durchlaufen, wenn der Anfangswert 1 ist.
 Die FOR-Schleife ist die übliche Variante, um eine feste Anzahl von Durchläufen zu kodieren. Zählen Sie eine Laufvariable nach oben, verwenden Sie das Schlüsselwort TO, zählen Sie hingegen - wie bei einem Countdown - rückwärts, dann verwenden Sie statt dessen DOWNTO.
 Und wieder einmal heißt es: unter Delphi 1 funktioniert es. Lediglich Delphi 2 macht Probleme: Durchlaufen Sie die Schleife
 var D, N: Integer;
 begin
 D := -7;
 for N := 1 downto D do
 ShowMessage (IntToStr(N));
 end;
 sollte eigentlich in der letzten Dialogbox der Wert -7 angezeigt werden. Wird er aber nicht! Statt dessen ist nach -5 Schluß. Allerdings nur bei Delphi 2. Egal, welcher Wert in D steht - zwei Durchläufe davor bricht die Schleife ab. Und zwar dann, wenn Sie bei 1 beginnen und wenn nach dem DOWNTO eine Variable kommt.
 Kleiner Tip: Verwenden Sie als Startwert statt der Konstanten 1 eine Variable, tritt der Fehler nicht auf!
 ib

Verfasser: Andreas
Letzte Änderung: 2012-03-09 21:59


Kinderkrankheiten

Alle früheren Pascal-Versionen und auch Delphi 1 akzeptierten verschiedene Dezimalformate. Nicht so Delphi 2.
 Während Delphi 1 und alle Versionen von Borlands Turbo Pascal Zahlen aus einer Textdatei in den Formaten
 10
 10.0
 und
 10.
 ohne Probleme akzeptieren, verweigert Delphi 2 die Anerkennung und akzeptiert nur noch die ersten beiden Varianten. Taucht letzterer Wert auf, erhalten Sie einen Laufzeitfehler.
 ib

Verfasser: Andreas
Letzte Änderung: 2012-03-09 22:00


Kleinere Fehler und deren Lösungen

Hier finden Sie eine Liste kleinerer Bugs und Ungereimtheiten sowie deren Lösung.
 mapi.pas: In dieser Datei ist die Notation der Funktionen MapiLogon und MapiLogoff fehlerhaft. Ändern Sie dort die Zeichenketten 'MapiLogOn' und 'MapiLogOff' beim Aufruf der Routine GetProcAddress. Die korrekte Schreibweise lautet 'MapiLogon' respektive 'MapiLogoff'. Der Fehler liegt also in der Schreibweise des Buchstaben O. Da es sich hierbei um Zeichenketten handelt, die an das Windows-API (Application Programming Interface) übergeben werden, ist diese Unterscheidung zwingend nötig.
 math.pas: In dieser Datei sind die Werte MinValue und MaxValue vertauscht. Das heißt, daß MinValue das Maximum und MaxValue das Minimum liefert. Im Update 2.01 von Delphi ist dieser Fehler behoben.
 MixerMessage: Diese multimediale Funktion ist in der Datei "mmsystem.pas" nicht deklariert. Wenn Sie den Quellcode kennen, fügen Sie im Interface-Abschnitt den Eintrag
 function mixerMessage(hmx: HMIXER; uMsg: UINT; dwParam1, dwParam2: DWORD): DWORD; stdcall;
 und unter "Implementation" die Definition
 function mixerMessage; external mmsyst name 'mixerMessage'
 ein. Verfügen Sie nicht über den Sourcecode der VCL (Visual Component Library), erstellen Sie eine eigene Unit mit diesen Deklarationen. Dann müssen Sie diese Bibliothek jedoch manuell in die Uses-Klausel Ihrer Anwendung einfügen.
 Eine Datei zurücksetzen: Diese Aufgabe setzt mit der Reset-Prozedur unter Delphi 1.0 den Satzzeiger einer geöffneten Datei an den Anfang zurück. Bei Delphi 2.0 hingegen bleibt der Zeiger auf dem aktuellen Record stehen. Als Workaround bietet es sich an, die Datei zu schließen und über AssignFile erneut zuzuweisen.
 ib
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 22:00


Zuviel ist zuviel

Wenn zwei Optimierungseinstellungen sich nicht vertragen, entsteht Chaos.
 Sind sowohl die Optimierung als auch das "Range Checking" aktiviert, so endet der Compilerdurchlauf der Prozedur
 procedure InternalErrorPlease;
 var i, x, xvar, xplus : byte;
 begin;
 x := 1; xvar := 1; xplus := 1;
 for i := x+xvar-xplus to x+xvar+xplus do
 begin
 {irgendwas}
 end;
 end
 mit einem internen Fehler (Internal Error C783). Sobald Sie aber eine der beiden Optionen deaktivieren, läuft der Compiler, ohne zu murren.
 Claudio Santos/ib

Verfasser: Andreas
Letzte Änderung: 2012-03-09 22:01


Systemnachfrage

Insbesondere für die Entwicklung von Testversionen von Komponenten ist es wichtig zu wissen, ob die Entwicklungsumgebung geladen ist.
 Um festzustellen, ob die Delphi-Entwicklungsumgebung gerade läuft, prüfen Sie lediglich, ob die vier Hauptfenster von Delphi geladen sind.
 Diese müssen dabei nicht unbedingt sichtbar sein. Dies prüfen Sie anhand von Klassennamen der einzelnen Fenster. Sie lösen die Aufgabe mit delrun.pas (Listing in Databox 11/98).
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 22:01


Automatisch scrollen

Fügen Sie der Textkomponente TRichEditweitere Zeilen hinzu, und machen Sie sie sichtbar.
 Der Textkomponente TRichEdit fügen Sie mit Lines.Add() eine neue Zeile hinzu. Wenn der Text in TRichEdit größer als das Textfeld ist, sehen Sie die neue Zeile nicht. Abhilfe schafft SendMessage() mit dem Parameter WM_VSCROLL:
 SendMessage(RichEdit1.Handle,
 WM_VSCROLL, SB_BOTTOM, 0);
 SendMessage(RichEdit1.Handle,
 WM_VSCROLL, SB_PAGEUP, 0);
 Diesen Code fügen Sie ein, nachdem Sie mit Lines.Add() eine weitere Zeile Text eingefügt haben. Ein Beispiel dafür:
 Richedit1.Lines.Add
 ('Das ist eine Zeile');
 SendMessage(RichEdit1.Handle,
 WM_VSCROLL, SB_BOTTOM, 0);
 SendMessage(RichEdit1.Handle,
 WM_VSCROLL, SB_PAGEUP, 0);
 Programm: /Scroll.exeauf der Heft-CD .
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 22:01


Controls mit Bildern

Mit ein paar Zeilen Code fügen Sie dem grauen Text Combo-Boxen mit bunten Bildern in Controls bei.
 Um den Anwender besser durch Ihr Programm zu führen, können Sie ihm eine illustrierte Hilfedatei anbieten. Dafür legen Sie eine TComboBox-Komponente und eine TImageList auf dem Formular an. Diese Komponente erhält in der Eigenschaft Style den Wert csOwner-DrawFixed. Da Sie die Einträge TComboBox-Komponente selbst zeichnen müssen, fügen Sie den Beispielcode zum OnDrawItem Event hinzu. Der Hauptcode gibt das Bild mit dem Text aus:
 images.Draw
 (TComboBox(COntrol).Canvas,
 Rect.Left+2, Rect.Top+1,
 IIndex, True); TextOut
 (Rect.Left+24, Rect.Top+2, d);
 Die Variable d enthält den gekürzten Text des aktiven Eintrags. Gekürzt deshalb, da das erste Zeichen jedes Eintrags in der ComboBox den Index der Imagelist enthält, womit Sie verschiedene Bilder verwenden können. So gestalten Sie den ersten Eintrag:
 0Eintrag 1
 Das erste Bild der Imagelist bestimmt der Index 0, welchen Sie in der Variablen d kürzen. Damit geben Sie nur noch Text aus. Links daneben sehen Sie das Bild. Eine Demo finden Sie unter ..../ComboBox/Image-Combo.exeauf der Heft-CD.
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 22:02


Ende mit Exit-Code

Manche MS-DOS-Programme
 melden einen erfolgreichen Ablauf mit dem Exit-Code 0und einen Fehler mit -1. Das funktioniert auch in Delphi.
 Einen Exit-Code einzuschalten kann nützlich sein, wenn sich zwei Ihrer Programme verständigen sollen. Sie können dann mit dem einen testen, ob das andere erfolgreich ausgeführt wurde. Das Verfahren implementieren Sie mit einer Zeile in Ihre Delphi-Anwendung. Sie verwenden dazu den Befehl Halt (Zahl) statt der Close- oder Application.Terminate-Anweisung. Die folgende Codezeile ist ein Beispiel, das den Exit-Code 0 zurückgibt: Halt(0); Die resultierende Meldung 0 signalisiert den erfolgreichen Programmablauf.
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 22:02


Größe eines Verzeichnisses

Mit einer neuen Funktion bestimmen Sie die Größe eines Verzeichnisses mit allen Unterverzeichnissen.
 Um einen Datei-Manager zu programmieren, müssen Sie die Größe eines Verzeichnisses mit allen Unterordnern und deren Inhalt kennen. Verzeichnisse untersuchen Sie mit den Funktionen FindFirst und FindNext. Da diese beiden Funktionen nur ein Verzeichnis durchsuchen, ohne die Unterverzeichnisse einzubeziehen, müssen Sie die Aufrufe in einer While-Schleife verpacken. Damit durchforschen Sie so lange die Unterverzeichnisse, bis kein Ordner mehr zu finden ist:
 while FindNext(SearchRec)
 = 0 do begin
 if FileExists(Dir+Separator+
 SearchRec.Name) then begin
 DirBytes := DirBytes +
 SearchRec.Size;
 end else if DirectoryExists
 (Dir+Separator+SearchRec.Name)
 then
 begin
 if (SearchRec.Name<>'.')
 and (SearchRec.Name<>'..')
 then begin
 DirSize(Dir+Separator+
 SearchRec.Name);
 end;
 end;
 end;
 Ein Beispiel mit der Funktion finden Sie unter .../DirSize/DirSize.exeauf der Heft-CD.
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 22:03


Icon einer laufenden Anwendung

Mit einer selbst gebastelten Funktion können Sie das Icon einer beliebig arbeitenden Anwendung auslesen.
 Um ein Programm zu veranschaulichen, können Sie dessen Sinnbild einblenden. Dazu benötigen Sie das Handle (Kennnummer) der Anwendung, das Sie mit FindWindow herausfinden. Danach benutzen Sie die Syntax CopyIcon in einer Funktion, um das Icon mit Hilfe des Handles herauszufinden:
 function GetIcon
 (from: THandle): DWord;
 begin
 Result := CopyIcon
 (GetClassLong(from, GCL_HICON));
 end;
 Um das Programm zu vervollständigen, kopieren Sie den Rückgabewert in die Variable TImage:
 Image1.Picture.Icon.Handle
 := GetIcon(handle);
 Das Verfahren demonstriert .../Icon/Icon.exeauf der Heft-CD.
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 22:03


Icon zu Bitmap

Mit einer kleinen Funktion konvertieren Sie ein Icon in eine Bitmap.
 Die einfachste Methode, um das Icon-Format als Bitmap zu verarbeiten, besteht darin, das Icon zu laden. Sie stellen es über TCanvas.Draw auf einer Bitmap dar, die Sie nur noch speichern müssen. Das Ganze verpacken Sie folgendermaßen in eine handliche Funktion:
 procedure ConvertIcon
 (FromFile, ToFile: TFileName);
 var
 Icon : TIcon;
 Bitmap : TBitmap;
 begin
 Icon := TIcon.Create;
 Bitmap := TBitmap.Create;
 Icon.LoadFromFile(FromFile);
 Bitmap.Width := Icon.Width;
 Bitmap.Height :=
 Icon.Height;
 Bitmap.Canvas.Draw(0, 0, Icon
 );
 Bitmap.SaveToFile(ToFile);
 Icon.Free;
 Bitmap.Free;
 end;
 Nachdem Sie das Icon geladen haben, passen Sie dessen Größe der Bitmap an. Das Verfahren zeigt das Programm .../icon.exeauf der Heft-CD.
 
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 22:03


Komponente zur Laufzeit

Wenn Ihr Quellcode eine neue Komponente nicht auf dem Formular anzeigt, hilft folgender Tipp weiter.
 Um eine Komponente zur Laufzeit anzulegen, deklarieren Sie sie als Variable. Dazu müssen Sie deren Klassennamen kennen, bei einem Button:
 var Button: TButton;
 Mit dem Create-Befehl verschaffen Sie sich die Komponente:
 Button :=
 TButton.Create(Form1);
 Als Parameter übergeben Sie den Parent (den „Vater") der neu angelegten Komponente. Um nun die Komponente zur Laufzeit sehen zu können, müssen Sie diese mit der Zuweisung der Parent-Eigenschaft sichtbar machen:
 Button.Parent :=
 Form1;
 Zusätzlich können Sie noch andere Eigenschaften wie Caption oder Font setzen, um Aufschrift und Schriftart im Beispiel eines Schaltknopfs zu gestalten. Sie finden das Programm unter .../runtime/creation. exeauf der Heft-CD.
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 22:04


Multifunktionale Unit

Es gibt wichtige Funktionen, die Sie fast täglich brauchen und in einer Unit nutzen können.
 Dieser Tipp liefert eine Unit mit vielen Funktionen: Löschen eines Verzeichnisses mit Unterverzeichnissen, Scannen von Verzeichnissen und Ausgabe der Dateien im Element TStringlist. Diese Unit können Sie für jedes Projekt verwenden, indem Sie auf die Funktionen zurückgreifen. Dazu nehmen Sie die Unit myUtils.pas in die Uses-Klausel Ihrer Anwendung auf. Die Unit können Sie nach Bedarf erweitern, wobei sich Programmierer über Newsgroups Feedback geben, wie der kommentierte Quelltext ausweist. Die Unit führt auch exotische Funktionen wie die join()- und split()-Befehle aus dem Sprachschatz von Perl, womit Sie diese Befehle auch unter Delphi nutzen können. Die Sammlung schließen verschiedene Funktionen und Prozeduren ab, mit denen Sie eine MRU-Liste (most resent used: zuletzt geöffnete Dateien) verwalten und aufbauen. Die Unit finden Sie unter .../Utils/myUtils.pasauf der Heft-CD.
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 22:04


Punktgitter zeichnen

Das Gitter, das der Formdesigner auf die Formulare im Design-Modus zeichnet, lässt sich auch zur Laufzeit gestalten.
 Soll der Anwender Ihres Programms die Oberfläche verändern können, brauchen Sie einen eigenen Formdesigner. Damit kann der Anwender Schaltknöpfe, Listboxen oder Formularfelder verschieben und selbst gestalten. Um die Punkte auf das Formular zu zeichnen, brauchen Sie eine While-do-Schleife. Diese durchläuft das Programm so lange, bis die Variable in der Schleife größer als das Formular hoch ist. In dieser Schleife muss eine zweite stehen, die wie die erste arbeitet. In der zweiten Schleife muss die Variable größer als das Formular breit werden. Mit dieser Doppelschleife wird das Formular Zeile für Zeile abgelaufen, um die Punkte zu setzen. Die Punkte setzen Sie mit Hilfe der Eigenschaft TCanvas. Pixels, wobei sich die Farbe der einzelnen Punkte in clGray wandelt:
 procedure DrawGitter;
 const Plus = 8;
 var i, j : integer;
 begin i := 0; j := 0;
 while i<= Height do
 begin while j<= Width do
 begin
 Canvas.Pixels[j, i]:= clGray;
 j := j + Plus; end;
 i := i + Plus; j := 0;
 end; end;
 Diese Prozedur DrawGitter können Sie auch für andere Komponenten mit der Eigenschaft TCanvas einsetzen, etwa für die Elemente TPaintbox oder TImage. Dazu muss der Namen der Komponente, auf die Sie das Gitter zeichnen, vor den Einträgen Height, Width und der Eigenschaft Canvas.Pixels stehen. Eine Demo finden Sie unter .../Gitter/gitter.exe auf der Heft-CD.
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 22:05


Quellcode schützen

So verhindern Sie, dass ein Programmierer Ihre Komponente ohne Ihre Zustimmung in seinem Programm verwendet.
 Viele Shareware-Komponenten können Sie nutzen, wenn Sie Delphi gestartet haben. Die Komponente wird damit für Anwender ohne die Delphi-Entwicklungsumgebung nutzlos. Drei Zeilen Code bauen diesen Schutz in Ihren Komponenten oder Programmen ein. Als erstes nutzen Sie die Funktion FindWindow aus der Unit Windows.pas. Damit erfahren Sie das Fenster-Handle eine Integer-Zahl. Dafür benötigen Sie entweder den Windows-internen Klassennamen von Delphi oder den Titel des Fensters. Da dieser variiert, benutzen Sie den Klassennamen des IDE-Fensters (Integrated Development Environment): TAppBuilder. So codieren Sie es:
 var Delphi: HWND;
 begin Delphi :=
 FindWindow('TAppBuilder',nil);
 // Delphi gefunden ?
 if Delphi <> 0 then
 ShowMessage ('Delphi läuft :)')
 else ShowMessage
 ( 'Delphi läuft nicht :(');
 Die Demo finden Sie unter .../IDE/ide.exeauf der Heft-CD.
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 22:05


Andere Komponenten in TStatusBar

Sie möchten eine grafische Komponente in der Statuszeile Ihres Programms darstellen, ohne aufwendige Grafikroutinen zu schreiben? Hier ist der Trick dafür.
 Auf der Registerseite Win32 der VCL (Visual Component Library) finden Sie seit Delphi 3 die Komponente TStatus-Bar. Sie verleiht Ihren Fenstern ein professionelles Aussehen und liefert dem Anwender nützliche Zusatzinformationen. Bei dieser Komponente stellen Sie Text durch die Eigenschaft SimpleText oder mit Hilfe der Syntax Panels[ ].Text dar. Grafische Darstellungen gelingen nur, wenn Sie auf den Canvas der Statusleiste zeichnen. Einfacher ist es, vorhandene grafische Komponenten in die Statusleiste zu verlagern. Dann agieren diese Grafikkomponenten mit simplen Methodenaufrufen. Das gelingt Ihnen aber erst zur Laufzeit des Programms. Zur Entwurfszeit platzieren Sie die Grafikkomponente mitten in Ihrem Formular. Zur Laufzeit ändern Sie die Parent-Eigenschaft der grafischen Komponente und deren Top-und Left-Wert. Das Beispiel zeigt eine StatusBar mit Grafik-Komponenten, eine TImageund eine TProgressBar-Komponente, die in die Statuszeile integriert wurden.
 Image1.Parent:= StatusBar1;
 Image1.Top:= 4;
 Image1.Left:= 60;
 ProgressBar1.Parent:=StatusBar1;
 ProgressBar1.Top:= 4;
 ProgressBar1.Left:= 110;

Verfasser: Andreas
Letzte Änderung: 2012-03-09 22:06


Memoboxen füllen

Sie füllen eine Komponente des Typs TMemoper Programm auf zwei Arten.
 Wenn Sie den Inhalt eines Memofeldes oder einer anderen mehrzeiligen Editorkomponente zur Programmlaufzeit automatisch füllen, benutzen Sie mehrmals die Methode Add des Lines-Objekts. Sobald die Zeilenzahl größer als das Fassungsvermögen Ihrer Memobox wird, beginnt der Textinhalt mit jeder neu hinzukommenden Zeile zu rollen. Der Cursor steht zum Schluss am Textende. Sie sehen nach Add immer die letzten Zeilen im Textfenster.
 while not Eof(SourceFile) do
 begin
 ReadLn(SourceFile, sLn)
 Memo1.Lines.Add(sLn);
 end;
 Das sichtbare Rollen des Inhalts vermeiden Sie, indem Sie das Memofeld über dessen Eigenschaft Text füllen. Darin steht der gesamte Textinhalt als ein langer String. Auf ihn dürfen Sie auch schreibend zugreifen und ihn beliebig verlängern. Dabei bewegt sich der Cursor nicht von seiner aktuellen Stelle weg. Der Text im Memofenster rollt nicht mehr.
 while not Eof(SourceFile) do
 begin
 ReadLn(SourceFile,sLn)
 Memo1.Text := Memo1.Text +
 sLn + #13#10
 end;
 Beachten Sie hierbei, dass Sie den Zeilenvorschub mit #13#10 bei dieser Variante selbst organisieren müssen.
 22 Delphi 1 bis 5:
 Eintrag einer Listbox wählen
 Wenn Sie einen Eintrag in der Listbox hinzufügen, ändert sich der selektierte Eintrag nicht automatisch.
 In langen Listen sieht der Anwender nicht, wenn am unteren unsichtbaren Listenende neue Einträge hinzugekommen sind. Wenn Sie also Listboxen mit der Methode Addergänzen, ändert Windows nichts an der Auswahl in der Listbox. Hier müssen Sie das Verhalten der Box über die Eigenschaft ItemIndex selbst bestimmen. Meist wollen Sie den ListBox-Inhalt rollen, um einen neu hinzugekommenen Eintrag sichtbar zu machen. Steuern Sie das Programm so, dass es den untersten neuen Listeneintrag wählt. Dabei rollt die Liste automatisch nach oben.
 Listbox1.Items.Add('neuer
 unterster Eintrag');
 Listbox1.ItemIndex:=
 Listbox1.Items.Count-1;
 Möchten Sie hingegen die Liste ans Ende rollen, um das Listenende nach dem Verlängern zu sehen, nicht aber den letzten Eintrag hervorheben, löschen Sie nach diesen beiden Anweisungen die sichtbare Hervorhebung.
 Listbox1.ItemIndex:= -1;

Verfasser: Andreas
Letzte Änderung: 2012-03-09 22:06


Veränderlicher Rand

Ärgern Sie sich darüber, dass der Text im Memofeld am linken Fensterrand klebt? Abhilfe schafft eine Programmanweisung.
 Die Windows-Botschaft EM_SETMARGINS an eine Editorkomponente erlaubt Ihnen, linke und rechte Ränder in der Memobox zu definieren. Über die Konstanten EC_LEFTMARGIN und EC_RIGHTMARGIN und eine Kombination aus beiden entscheiden Sie über den zu setzenden Rand. Die Randbreite übergeben Sie im dritten Parameter.
 var nLi, nRe: Integer;
 :
 nLi:=SpinEditLiRand.Value;
 nRe:=SpinEditReRand.Value;
 Memo1.Perform(EM_SETMARGINS,
 EC_LEFTMARGIN+EC_RIGHTMARGIN,
 MakeLong(nLi,nRe));
 Das Fenster zeichnet sich mit diesen Anweisungen mit den neuen Rändern automatisch neu.
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 22:07


BDE-Version prüfen

Ab Delphi 5 können Sie die Versionsnummer der Borland Database Engine (BDE) einfach überprüfen.
 Wenn Sie Datenbank-Anwendungen entwickeln, benötigen Sie die Versionsnummer der Borland Database Engine (BDE), um Kompatibilitätskonflikten vorzubeugen. Um diese Information zu erhalten, rufen Sie die Funktion DbiGetSys-Version aus der Unit BDE auf:
 uses DB, BDE, ...
 procedure TForm1.
 Button1Click(Sender:
 TObject);
 var
 BDEVersion:
 SYSVersion;
 begin
 DbiGetSysVersion(
 BDEVersion);
 ShowMessage('BDE-Versionsnummer
 ist '+
 IntToStr(BDEVersion.iVersion));
 end;

Verfasser: Andreas
Letzte Änderung: 2012-03-09 22:07


Benutzerdefinierte Pop-up-Menüs

Ab Version 4 programmieren Sie benutzerdefinierte Pop-up-Menüs für ansprechende und benutzerfreundliche Anwendungen.
 Sind Ihnen die Standardmenüs von Windows zu langweilig? Mit einigen wenigen Programmzeilen schaffen Sie Abhilfe, indem Sie ansprechende Popup-Menüs auf den Bildschirm zaubern. Ihre eigene Menüdarstellung realisieren Sie, indem Sie den Wert der Eigenschaft OwnerDraw auf True setzen. Damit teilen Sie Delphi mit, eine benutzerdefinierte Zeichenroutine zu verwenden. Das Programm ruft diese auf, wenn das IOnDrawItem-Ereignis eintritt. In dieser Ereignisbehandlungsroutine legen Sie fest, wie Sie einen Menüpunkt darstellen wollen.
 Text := (Sender as
 TMenuItem).Caption;
 ACanvas.Brush.Color := clRed;
 ACanvas.FillRect(ARect);
 ACanvas.Font.Color := clWhite;
 ACanvas.Font.Style := [];
 TopPos := ARect.Top+
 (ARect.Bottom-ARect.Top-ACanvas.
 TextHeight('W')) div 2;
 TextLength := Length(Text);
 if TextLength > ARect.Right-
 ARect.Left then
 LeftPos := ARect.Left+3
 else
 LeftPos :=
 ARect.Left+(ARect.Right-
 ARect.Left-
 ACanvas.TextWidth(Text))
 div 2;
 ACanvas.TextOut(LeftPos, Top-
 Pos, Text);
 Mit dieser Routine gruppieren Sie Menüpunkte. Sie hebt einen Eintrag durch rote Hintergrundfarbe hervor, der als Überschrift für nachfolgende Menüpunkte dienen kann. Wenn Sie den Menüeintrag mit der Maus anwählen, ändert sich dessen Farbe nicht.

Verfasser: Andreas
Letzte Änderung: 2012-03-09 22:07


Binäre Integer-Werte

Eine kleine Funktion gestattet Ihnen, Integer-Werte in binäre Zahlen zu konvertieren und diese als Strings auszugeben.
 In Delphi gibt es eine Reihe vordefinierter Standard-Funktionen wie IntTo-Str, um Integer-Werte in Strings zu konvertieren oder auch IntToHex, um Integer-Werte in hexadezimale Zahlen umzuwandeln. Es fehlt jedoch eine Funktion, um Integer-Werte in binäre Zahlen zu konvertieren. Dieses Manko beheben Sie mit folgendem Code:
 function IntToBin(Value: Long-
 Int): string;
 var
 I: Integer;
 begin
 for I := 0 to 31 do
 Result := IntToStr((Value
 shr I) and 1)+Result;
 end;

Verfasser: Andreas
Letzte Änderung: 2012-03-09 22:08


Der eigene Web-Browser

So programmieren Sie mit wenig Aufwand einen komfortablen Web-Browser, den Sie in Ihre Anwendungen einbinden.
 Der Internet Explorer enthält eine Schnittstelle, mit der Sie beinahe seine gesamte Funktionalität in anderen Anwendungen nutzen können. Dazu muss mindestens die Version 4 in Ihr Windows-System installiert sein. Um den Internet Explorer in ein Delphi-Formular einzubinden, bedienen Sie sich der Web-Browser-Komponente, die Sie im Register Internet in der Komponentenpalette finden. Selektieren und fügen Sie dieses Control mit der Maus in ein beliebiges Formular ein. Die Darstellungsfläche des Web-Browsers wird dann sofort sichtbar. Um eine Website anzuzeigen, verwenden Sie die Methode Navigate, die der Browser zur Verfügung stellt. Als Parameter geben Sie die entsprechende URL-Adresse ein. Achten Sie darauf, dass zum Internet eine Verbindung besteht.
 if URLEdit.Text < '' then
 Browser.Navigate(URLEdit.Text);
 Damit Ihr Browser dem Anwender einige Funktionen bereitstellt, müssen Sie Elemente wie den Go-, Stop-, Reload-, Zurück- und Vor-Button einfügen. Außerdem brauchen Sie ein Editierfeld für die Eingabe der URL-Adresse ins Browser-Formular. Wenn Sie die Buttons anklicken, rufen Sie die Web-Browser-Funktionen auf:
 procedure TWebBrowserForm.GoBackBtnClick(
 Sender: TObject);
 begin
 try
 Browser.GoBack;
 except
 end;
 end;
 procedure TWebBrowserForm.GoBtnClick(
 Sender: TObject);
 begin
 if URLEdit.Text <> '' then
 Browser.Navigate(URLEdit.Text);
 end;
 procedure TWebBrowserForm.Go-
 ForwardBtnClick(Sender: TObject);
 begin
 try
 Browser.GoForward;
 except
 end;
 end;
 procedure TWebBrowserForm.ReloadBtnClick(
 Sender: TObject);
 begin
 if Browser.Document <> nil
 then
 Browser.Refresh;
 end;
 procedure
 TWebBrowserForm.StopBtnClick(Sender:
 TObject);
 begin
 Browser.Stop;
 end;
 Damit ist der Browser fertig. Speichern Sie ihn als separates Formular, damit Sie ihn in Delphi-Anwendungen einbinden können. Sie können ihn um weitere Funktionen erweitern und zu einem mächtigen Web-Tool ausbauen. Welche Funktionen die Software-Schnittstelle zur Verfügung stellt, können Sie den Units SHDocVw und MSHTML entnehmen, die Sie in Ihrem Delphi-Source-File-Verzeichnis finden.
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 22:08


Platzhalter in Text

Mit einer Funktion ersetzen Sie Platzhalter im Text durch andere Zeichen.
 Häufig werden Dateivorlagen mit Platzhaltern dazu verwendet, um an Stelle der Wildcards andere Texte einfügen zu können. So können Sie das Gerüst eines Formulars für Adressen vorgeben, welche die Anwender ausfüllen sollen. Die Funktion im Beispielprogramm erlaubt es, auch in Delphi-Anwendungen komfortabel mit Dateivorlagen zu arbeiten. Die Platzhalter in einer Textdatei ersetzen Sie mittels der StringReplace-Routine, welche Delphi ab Version 5 in der Unit SysUtils vordefiniert.
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 22:09


Text in RichEdit scrollen

Mit einer Programmzeile erreichen Sie, dass der Text in einem RichEdit-Control automatisch scrollt, wenn Sie einen Eintrag eingefügt haben.
 Wenn Sie einen neuen Eintrag in ein RichEdit-Control einfügen, wird der Text anders als bei einem Memo-Feld nicht automatisch gescrollt. Das gilt auch, wenn sich der letzte Eintrag am unteren Rand des RichEdit-Feldes befindet. Die aktuell eingefügte Textzeile ist nicht immer sichtbar. Dieses Verhalten lässt sich ändern: Fügen Sie die für das Scrollen verantwortliche Programmzeile ein, nachdem Sie das Rich-Edit-Control um einen neuen Eintrag erweitert haben.
 for I := 1 to 100 do
 begin
 RichEdit.
 Lines.Add('Zeile '+IntToStr(I));
 if I > 10 then
 RichEdit.Perform
 (EM_SCROLL, SB_
 LINEDOWN, 0);
 end;

Verfasser: Andreas
Letzte Änderung: 2012-03-09 22:09


Web-Inhalte lesen und werten

Mit Internet-Komponenten und Klassen lassen sich Web-Inhalte auslesen und auswerten.
 Mit dem Control WebBrowser können Sie Web-Inhalte aus Ihren eigenen Delphi-Anwendungen abfragen wie zum Beispiel E-Mail-Adressen. Web-Browser enthält die Eigenschaft Document, die alle Daten eines Web-Dokuments speichert. Handelt es sich um ein HTML-Dokument, fragen Sie die Informationen über dessen einzelne Elemente ab. Hierzu ist in der Unit MSHTML, die sich im Delphi-Source-File-Verzeichnis befindet, eine eigene Klasse namens IHTMLElement vordefiniert. Mit der Eigenschaft TagName können Sie ermitteln, ob ein HTML-Element ein bestimmtes Schlüsselwort wie FONT, TABLE, TR oder TD enthält. Über die Eigenschaft InnerText fragen Sie den Text innerhalb des HTMLTag-Konstrukts ab. Um Web-Inhalte auszulesen, lassen Sie sich mit der Methode Navigate eine Website anzeigen. Wenn die Anzeige des Web-Dokuments abgeschlossen ist (Ereignis OnDocumentComplete), lässt es sich analysieren. Texte, die sich innerhalb der FONT-Tag-Konstrukte befinden, werden in einem Memo-Feld angezeigt. Die weitere Auswertung zeigt alle E-Mail-Adressen im Dokument in einem Memo-Feld an. Eine E-Mail-Adresse erkennen Sie am (@-Zeichen).Nutzen Sie die Delphi-Funktion Pos, die ein Zeichen aus einer Kette anzeigt.
 ContentMemo.Clear;
 Doc := WebBrowser.
 Document as
 IHTMLDocument2;
 ElementCollection
 := Doc.All;
 for I := 0 to ElementCollection.
 Length-1 do
 begin
 HTMLElement :=
 ElementCollection.Item(I, '')
 as IHTMLElement;
 if HTMLElement.TagName =
 'FONT' then
 begin
 AnchorString := HTMLElement.
 InnerText;
 ContentMemo.Lines.Add(AnchorString);
 end;
 end;
 if ContentMemo.Lines.Count > 0
 then
 for I := 0 to ContentMemo.Lines.
 Count-1 do
 if Pos('@',ContentMemo.Lines[
 I]) > 0 then
 eMailAdrMemo.Lines.Add(ContentMemo.
 Lines[I]);

Verfasser: Andreas
Letzte Änderung: 2012-03-09 22:10


Delphi-DLLs in C verwenden

Die DLL-Schnittstelle von Win- dows erlaubt die programmübergreifende Verwendung von dynamischen Link-Bibliotheken. Auch Delphi-DLLs lassen sich in C bzw. C++ verwenden.
 Die meisten der mit Delphi geschriebenen und kompilierten DLLs verwenden Sie ohne weiteren Aufwand in C oder in C++. Dazu benötigen Sie eine DLL-Bibliothek:
 library PlusMin;
 function Plus(a, b: Integer):
 Integer; export;
 begin Result := a+b;
 end;
 function Minus(a, b: Integer):
 Integer; export;
 begin Result := a-b;
 end;
 exports Plus index 1;
 Minus index 2;
 begin
 end;
 Nachdem Sie die Routinen der DLL-Bibliothek deklariert und codiert haben, arbeiten diese auch in C-Programmen. Fügen Sie in die .def-Datei des Pro-gramms folgendes hinzu:
 IMPORTS
 Plus =PLUSMIN.Plus
 Minus =PLUSMIN.Minus
 In Ihrer C-Anwendung definieren Sie folgende Routinen:
 int FAR PASCAL Plus(int a, b);
 int FAR PASCAL Minus(int a, b);
 Rufen Sie die beiden Funktionen Plus und Minus in Ihrem C-Programm auf. Dies Beispiel belegt, wie Sie fast beliebige Delphi-Bibliotheken für Ihre C-Programme nutzen. Allerdings sollten auch Unterschiede zwischen den beiden Programmiersprachen, zum Beispiel im Zusammenhang mit Datentypen (verschiedene Definitionem der String-Typen etc.) beachtet werden. Dies spielt vor allem bei der Parameterübergabe eine Rolle.
 
 
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 22:10


Computer » Programmierung » XML

Tags als Block

Einige mit der XML-Sprache gebastelten Tags sollen eigene Abschnitte bilden. So gelingt es, die Zeilenumbrüche zur Anzeige zu bringen.
Wie die Browser die Daten einer XML-Datei anzeigen sollen, legen Sie in einer zusätzlichen Stylesheet-Datei mit CSS oder XSL fest. Das folgende einfache Beispiel soll wie auf einem Adressaufkleber dargestellt werden:
<adressliste>
<adresse>
<vorname>Hein</vorname>
<name>van de Weft</name>
<strasse>Am Kai 15</strasse>
<plz>2000 </plz>
<ort>Hamburch</ort>
</adresse>
</adressliste>
Eine kurze CSS-Anweisung sorgt dafür, dass sowohl die ganze Adresse als auch die Straßenangabe als separate Blöcke dargestellt werden, wodurch die Zeilen wie gewünscht umbrochen werden: adresse, strasse {display:block;} Eine Alternative wäre es, HTML-Tags innerhalb der XML-Dokumente zu benutzen. Das HTML-Tag <br> fügen Sie so in XML ein:
<html:br xmlns:html=" http://www.w3.org/TR/html4/" />

Verfasser: Andreas
Letzte Änderung: 2012-09-12 21:25


Computer » Programmierung » Windows Scripting Host

Das Rekursionsproblem

Globale Festplattenzugriffe sind eine Aufgabe, die der WSH rekursiv lösen kann.
Umbenennen, Löschen oder Kopieren von Dateien sind üblicherweise auf das aktuelle Verzeichnis beschränkt, Unterverzeichnisse sind ausgenommen. Um auch die Unterverzeichnisse in solche Aktionen einzubeziehen, müssen ihre Namen bekannt sein. Dabei ergibt sich ein Problem: Da die Ordnerstruktur einer Festplatte üblicherweise verzweigt ist, scheidet eine iterative Behandlung aus. Als Lösung bietet sich ein rekursiver Aufruf der Funktion an. Rekursiv heißt, daß die Prozedur sich immer wieder selbst aufruft, jedesmal mit der neu ermittelten Pfadangabe, und zwar solange, bis alle Unterverzeichnisse erfaßt wurden. Beachten Sie dabei, daß RecFold.vbs (Listing 5) für die rekursive Suche im Root-Ordner einige Zeit beansprucht. Um die Namen der Unterverzeichnisse in Erfahrung zu bringen, stellt Ihnen VBScript das fileSystem-Objekt mit der Sammlung (Collection) folders zur Verfügung. Über deren subfolders-Eigenschaft ermitteln Sie die einzelnen Unterordner eines Ordners. Dazu verwenden Sie die for each...next-Konstruktion, die alle Elemente einer Auflistung aufzählt. Die Konstruktion hat gegenüber einer For..Next-Schleife den Vorteil, daß die Anzahl der Elemente nicht bekannt sein muß. GERHARD FREY/ ET 3

Verfasser: Andreas
Letzte Änderung: 2012-09-12 21:20


Dialog mit dem Anwender

Die Systemumgebung des Windows Scripting Host ist als Schnittstelle für die Parameterübergabe vielseitig verwendbar.
Soll der Anwender während des Skriptablaufs etwas eingeben, etwa einen Pfad zu einer Datei oder seinen Namen, verwenden Sie in VB-Skripts am besten die implementierte Funktion Inputbox. Wollen Sie Ihr Skript aber mit JScript verfassen, hilft Ihnen dieser Tip nicht, da JScript eine solche Funktion nicht kennt. Sie müssen sich also selbst helfen. Eine mögliche, wenn auch etwas umständliche Lösung führt über die Systemumgebung. Schreiben Sie zunächst Input.vbs (Listing 6), also ein VBScript. Das Skript tut nichts anderes, als die Benutzereingabe entgegenzunehmen und in der benutzerdefinierten Variablen WSHINPUT abzulegen. Dies geschieht über die Environment-Eigenschaft des WshShell-Objekts. Auf diese Variablen greifen Sie über dieselbe Eigenschaft auch über JScript-Dateien zu. In einem JScript sieht der Code also beispielsweise so aus:
//VBS-Eingabedialog aufrufen
var jsEingabe;
var WshShell=WScript.CreateObject("Wscript.Shell");
var WshEnv=WshShell.Environment("VOLATILE");
//Pfad anpassen:->
var cmd="C:\\WIN\\WScript.exe
D:\\WSH\\VBSCRIPT\\Input.vbs"
WshShell.Run (cmd, 1, true);
jsEingabe = WshEnv("WSHINPUT")
WScript.Echo (jsEingabe);
GERHARD FREY/ ET

Verfasser: Andreas
Letzte Änderung: 2012-09-12 21:21


Festplattenaktionen

Per VBScript statten Sie den Explorer mit neuer Funktionalität aus.
Wer mit dem Explorer einen Verzeichnisbaum in einem Arbeitsgang anlegen kann, spart sich viele einzelne Arbeitsschritte. CreateTree.vbs (Listing 2) benötigt dazu das FileSystemObject. Die Referenzierung von Objekten erfolgt in VB-Skripts per set-Befehl. Für Objekte aus einer externen Bibliothek erzeugen Sie mit der Create-Object-Methode zunächst eine neue Instanz. Erst dann greifen Sie auf die Eigenschaften des Objekts zu. Die Funktion CreateTree() legt in einem Arbeitsgang den gewünschten Verzeichnisbaum an. Bekanntlich beherrscht der Explorer diese Fähigkeit nicht, weil er nur Unterordner einzeln erzeugt. CreateTree() rufen Sie mit dem String-Parameter tSpec auf. Er enthält den Namen des gewünschten Verzeichnisbaums einschließlich des Root-Verzeichnisses. Die Funktion liest in einer Schleife die einzelnen Unterverzeichnisse aus und legt sie mit der CreateFolder-Methode auf der Festplatte an. War die Aktion erfolgreich, liefert CreateTree den Booleschen Wert true zurück. GERHARD FREY/ ET

Verfasser: Andreas
Letzte Änderung: 2012-09-12 21:21


Laufwerkszugriffe

Eine neue Funktion beseitigt das lange Warten auf eine Fehler meldung bei leeren Diskettenschächten. Wenn Sie auf ein Diskettenlaufwerk zugreifen, in dem sich kein Datenträger befindet, warten Sie, bis eine Fehlermeldung auf den Bildschirm kommt. Dem helfen Sie einfach mit drvIsReady.vbs (Listing 3) ab. Die GetDrive-Methode gibt ein Drive-Objekt zurück, korrespondierend zu dem Laufwerk im spezifizierten Pfad. Die Syntax lautet: object.GetDrive drv Das drv-Argument können Sie auf folgende Arten angeben: C , C:, C:\ oder bei Netzwerken: \\compX\sh1 . Über die IsReady-Eigenschaft stellt die Funktion fest, ob das angegebene Laufwerk bereit ist. GERHARD FREY/ ET

Verfasser: Andreas
Letzte Änderung: 2012-09-12 21:22


Lesbarkeit durch Pseudokonstanten

Um den Überblick zu behalten, schreiben Sie bestimmte Parameter groß.
Die VBScript-Engine kennt keine selbstdefinierten Konstanten. Sie behelfen sich mit Pseudokonstanten:
Dim THIS_SCRIPT
THIS_SCRIPT = "WSH-Script: "_ & WScript.ScriptName
Damit ersparen Sie sich Schreibarbeit, etwa bei der Verwendung der Inputbox-Anweisung:
Dummy = InputBox("Meine Box", _ THIS_SCRIPT)
GERHARD FREY/ ET 5

Verfasser: Andreas
Letzte Änderung: 2012-09-12 21:22


Parameter auswerten

Erst wenn Sie Parameter auswerten können, verarbeiten Sie Anwendereingaben. Eine ständig wiederkehrende Aufgabe in Skripten ist die Auswertung der übergebenen Parameter. Dafür listet das WScript-Objekt alle Parameter auf. Die Anzahl der Parameter ermitteln Sie über die Count-Eigenschaft, die einzelnen Parameternamen über den entsprechenden Index. DemoPar.vbs (Listing 7) führt das Verfahren vor. GERHARD FREY/ ET

Verfasser: Andreas
Letzte Änderung: 2012-09-12 21:22


Programmsteuerung


Um Aktionen des Anwenders auszuwerten, muß Ihr Skript darauf reagieren.
Mit der MsgBox-Funktion steuern Sie den Programmablauf. Abhängig von dem durch die Funktion Ask() zurückgelieferten Wert (true oder false) starten Sie per If-Abfrage. DemoAsk.vbs (Listing 1) erwartet eine Antwort auf Ihre Frage im Parameter strAction (Zeile 8). GERHARD FREY/ ET

Verfasser: Andreas
Letzte Änderung: 2012-09-12 21:23


Schnelles Ende

Reduzieren Sie mit einer neuen Exit-Funktion Ihre Schreibarbeit beim Programmieren.
Ein laufendes Skript in seiner Arbeit zu unterbrechen, erfordert etwas Programmieraufwand. Dabei benötigen Sie in Ihren Skripts recht häufig einen Aufruf, der das Skript während der Laufzeit beendet. Dazu verwenden Sie das WScript-Objekt (siehe Tabelle "Das Wscript-Objekt") mit der Anweisung Wscript.Quit Errorlevel
Dabei geben Sie das optionale Argument Errorlevel als Integer-Wert an. Falls eine Batchdatei Ihr Skript aufruft, kann diese den Errorlevel auswerten. Um Schreibarbeit zu sparen, schreiben Sie am besten die Funktion WshExit und rufen sie nach Bedarf mit der Zeile WshExit Errorlevel
in Ihren Skripten auf:
Function WshExit(el) WScript.Quit el
End Function
GERHARD FREY/ ET

Verfasser: Andreas
Letzte Änderung: 2012-09-12 21:23


Scripting Host für Windows 95

Abläufe im Betriebssystem automatisiert der Windows Scripting Host sowohl unter Windows 98 als auch unter Win 95. Mit dem Microsoft Windows Operating Scripting Host, kurz WSH, erhalten Sie ein leistungsfähiges Werkzeug zur Automation von Betriebssystemabläufen. Auch unter Windows 95 brauchen Sie nicht darauf zu verzichten: Unter der Web-Adresse http://msdn.microsoft.com/scripting/ finden Sie eine Version für Windows 95. Laden Sie die Datei wsh.exe auf Ihre Festplatte. Skripts entwickeln Sie am einfachsten mit dem Windows-Editor NotePad, der zwar spartanisch, aber ausreichend ist. Mit Hilfe von WSH-Skripts greifen Sie auf Desktop und Registry zu, manipulieren Datei-und Verzeichniseinträge und erweitern die Explorer-Fähigkeiten. Zudem lesen Sie Systemparameter aus und setzen sie neu. Bisher unterstützt der WSH VBScript und JScript, andere werden folgen. Besonders einfach programmieren Sie VB-Skripts. Dafür stehen Ihnen Visual-Basic-Funktionen zur Verfügung, wie zum Beispiel Routinen zur String-Verarbeitung und die Einbindung von Benutzerdialogen. Skripts nutzen Sie sehr einfach: Sie schreiben eine Skriptdatei mit Anweisungen, also Programmcode. Sie starten diese Datei mit dem Programm Wscript.exe. VBScript-Dateien erhalten die Endung .vbs, JScript-Dateien .js. Um die Zuordnung zur entsprechenden Skript-Engine kümmern Sie sich nicht, weil der Windows Scripting Host sie an der Dateiendung erkennt. Unter Windows starten Sie Skripts folgendermaßen:  mit Doppelklick auf die Skriptdatei im Explorer,  mit Doppelklick auf eine Desktop-Verknüpfung zu einer Skriptdatei  Verwenden Sie Start/Ausführen, und geben Sie den Namen der Skriptdatei samt Pfad und Parameter ein.  Sie nutzen universelle VBScript-Routinen, indem Sie auf Desktop und Registry zugreifen, Systemparameter auslesen oder sogar neu setzen. GERHARD FREY/ ET

Verfasser: Andreas
Letzte Änderung: 2012-09-12 21:24


Zielobjekt Registry

Automatisieren Sie mit einem Skript Ihre Eingriffe in die Registrierdatenbank. Wer Einträge in der Registrierdatenbank ändert, hat einige Zeit mit Mausklicks und Tastatureingaben zu kämpfen. Einfacher geht es mit dem WSH, der auch in die Registry eingreifen kann. So lesen, schreiben und löschen Sie Schlüssel per Skript. Das Objekt WshShell stellt dazu die Mittel bereit. Eine eigene Methode, die Existenz eines Schlüssels zu prüfen, fehlt jedoch. Doch KeyExists.vbs (Listing 4) verschafft sie Ihnen. Die Routine KeyExists() nutzt die Tatsache, daß ein Laufzeitfehler generiert wird, wenn ein Lesezugriff auf einen Registry-Eintrag scheitert. Dieser Fehler läßt sich jedoch abfangen und auswerten. Abhängig vom Ergebnis liefert die Funktion die Boole'schen Werte true oder false. Um die Funktion KeyExists(strKey) aus Zeile 7 in Ihre WSH-Programme einzubauen, verwenden Sie eine if...then...else-Konstruktion. Damit verzweigen Sie zu den unterschiedlichen Programmteilen. Schlüssel, nach denen Sie suchen wollen, legen Sie in der Listingzeile 2/3 fest. GERHARD FREY/ ET

Verfasser: Andreas
Letzte Änderung: 2012-09-12 21:24


Computer » Programmierung » Visual C++ 5.0

VC-fremde Programme "entwanzen"

Debuggen Sie Programme, die Visual C nicht starten kann.
Oft möchte man ein Programm von Fehlern reinigen, das VC selbst nicht aufrufen kann: Wenn Sie beispielsweise einen Property Sheet Handler für Ihre registrierten Dateitypen haben, so wird dieser von der Shell geladen und gestartet.
Ein solches Problem ist aber leicht zu umgehen: Der VC-Debugger kann sich nämlich nachträglich zu einem laufenden Prozeß verbinden. Dazu muß zunächst das zu untersuchende Programm geladen werden. Dann gehen Sie zu VC und wählen dort
Build.Start Debug.
AAttach to Process
VC bietet Ihnen dann eine Liste von Prozessen an. Wählen Sie hier denjenigen, den Sie untersuchen möchten, und dann Debug.Break. Sie finden sich daraufhin vermutlich irgendwo im Windows-Code wieder.
Nun öffnen Sie ein Quellcode-Fenster des zu untersuchenden Programms und setzen einen Breakpoint an der gewünschten Stelle. Wenn Sie das Programm sodann weiterlaufen lassen (Debug.Go), bleibt es am Breakpoint stehen, und Sie können auf Quellcode-Ebene auf Fehlersuche gehen.

Verfasser: Andreas
Letzte Änderung: 2012-09-12 19:26


ActiveX als Dokumenten-Server

WinWord- oder Excel-Dokumente starten Sie mit der gewohnten Oberfläche. Das VC++-IDE ist in der neuen Version ein ActiveX Document Container: Dies ist sehr praktisch, wenn Sie zum Beispiel auch WinWord- oder Excel-Dokumente als Teil Ihres Projekts benötigen. Um etwa eine neue Word-Datei anzulegen, verwenden Sie wie gewohnt zunächst den New-Befehl, gehen aber im daraufhin angezeigten Dialog auf den Reiter "Other Documents". Hier listet VC++ alle registrierten ActiveX-Document-Server auf. Wenn Sie WinWord installiert haben, so erhalten Sie beispielsweise auch "Word Document" als Option. Das Dokument selbst können Sie dann im IDE bearbeiten, als hätten Sie tatsächlich Word gestartet. Immer, wenn Sie in das Word-Dokumentenfenster wechseln, nimmt das IDE das Aussehen Ihrer Word-Version an; wechseln Sie zurück in ein Quellcodefenster, sehen Sie wieder die VC++-Oberfläche. Thomas Wölfer/et

Verfasser: Andreas
Letzte Änderung: 2012-09-12 20:30


Bessere Suche mit "Regular Expressions"

Die Syntax zur komplexen Suche bedienen Sie mit den Zeichen "." und "*". Das VC++-IDE beherrscht nicht nur die einfach Suche nach Strings, sondern kennt auch "Regular Expressions". Mit diesen Ausdrücken können Sie auch komplexes Suchen durchführen - so zum Beispiel nach einer Zeile, die das Wort "menu" und danach irgendwann den Text "WS_SHOW" enthält. Der als "Regular Expression" anzugebende Ausdruck lautet in diesem Fall: menu.*WS_SHOW Der Punkt bedeutet hier "ein beliebiges Zeichen", und der Stern symbolisiert "keines oder beliebig viele Zeichen vom gleichen Typ des vorhergehenden Zeichens". Die Suchfunktion finden Sie sowohl auf dem Find- als auch auf dem Find-in-Files-Dialog. Sie schalten nur die Option "Regular Expression" ein, damit VC++ Ihren Suchstring als einen solchen Ausdruck wertet. Thomas Wölfer/et

Verfasser: Andreas
Letzte Änderung: 2012-09-12 20:30


Build Process: Expansion des Dateinamens

Der Präprozessor kennt das Makro __FILE__, das die momentan übersetzte Quelldatei bezeichnet. Wenn Sie eine Datei in der VC-IDE übersetzen, die das Makro __FILE__ verwendet, legt dieses den kompletten Dateinamen mitsamt Pfad an. Auf der Kommandozeile hingegen erzeugt das Makro mit dem von VC erzeugten Makefile nur den Namen der Datei: Der Pfad wird also gleichsam "unterschlagen". Das resultiert daraus, daß die IDE das Makefile selbst nicht verwendet - statt dessen kommt hier eine eigene interne Repräsentation der Build-Kommandos ins Spiel. Die einzige Lösung besteht also darin, das Makefile manuell zu editieren. Und dies wird sich wohl auch kaum ändern, denn dieses Verhalten legt VC schon seit den ersten Versionen an den Tag.

Verfasser: Andreas
Letzte Änderung: 2012-09-12 20:31


Build Process: Makefiles exportieren

Für automatisierte Builds ist es wünschenswert, VC 5 dazu zu bringen, ein Makefile zu exportieren. Der offensichtliche Weg, ein Makefile zu exportieren, führt über ein VB-Skript-Makro. Dieses sollte sich dann von der Kommandozeile aus ausführen lassen. Doch das funktioniert nicht wie gewünscht. Nutzen Sie statt dessen das (nicht dokumentierte) Workaround ExecuteCommand "BuildProjectExport". Damit gelingt der Export wie gewünscht. Daneben gibt es noch einige Varianten für automatisierte Builds. Dokumentiert sind sie unter: www.microsoft.com/Avisualc/techinfo/Ascheduledbuilds.htm

Verfasser: Andreas
Letzte Änderung: 2012-09-12 20:31


Das Geheimnis der zweiten CD

Das Setup fordert die zweite VC++-CD nicht an. Lesen Sie, wie Sie die Programme darauf verwenden können.
VC++ 5.0 erhalten Sie auf drei CDs: Die ersten beiden enthalten Visual C++ selbst. Auf der dritten finden Sie die Microsoft Developer Network Library. Bei der Installation von VC++ fordert das Setup-Programm die zweite CD allerdings nicht an. Was enthält sie genau?
Antwort: folgende Verzeichnisse:
\mts\sql6.5\sqlsrvsp\vcserver\vss\winnt351.qfe
\winnt40.qfe
Im MTS-Verzeichnis finden Sie den Microsoft Transaction Server in der Entwicklerversion: Damit entwickeln Sie auf diesem basierende Anwendungen. Die Verzeichnisse sql6.5 und sqlsrvsp enthalten den SQL-Server, die SQL-Server Clients für DOS und Win16 sowie das SQL-Server Service Pack. Im vcserver-Verzeichnis finden Sie die SQL-Server-Komponenten: Diese benötigen Sie im Zusammenhang mit dem SQL-Server 6.5, um SQL-Server-orientierte Anwendungen zu debuggen. Die Verzeichnisse "winnt351.qfe" und "winnt40.qfe" enthalten die US-Versionen des Service Pack 5 für NT 3.51 und des Service Pack 2 für NT 4. Das SP 2 für NT 4 können Sie sowohl für NT Server 4.0 als auch für NT Workstations verwenden.
Thomas Wölfer/et

Verfasser: Andreas
Letzte Änderung: 2012-09-12 20:32


Dependencies' Liste

Indem Sie die Datei "sysincl.dat" erweitern, verringern Sie die Liste der angezeigten Header-Dateien. VC++ 5.0 zeigt unter "Dependencies" oder auch unter "External Dependencies" alle Header-Dateien an, die eine am Projekt beteiligte C++- oder C-Datei inkludiert. Nicht gezeigt werden hingegen die Include-Dateien wie zum Beispiel "stdlib.h" oder "set.###". Wenn Sie eigene Libraries verwenden, sollten deren Header-Dateien ebenfalls nicht angezeigt oder nicht als Teil der Dependencies ausgewertet werden. Dies erreichen Sie, indem Sie die Datei "sysincl.dat" aus dem Verzeichnis \DevStudio\SharedIDE\Bin erweitern: Alle dort aufgelisteten Dateien nimmt VC++ nicht in die Liste der auszuwertenden Dateien auf und zeigt sie auch nicht unter "Dependencies" im Projekt Workspace an. Thomas Wölfer/et

Verfasser: Andreas
Letzte Änderung: 2012-09-12 20:32


Der Tastaturrekorder

Was in Anwendungen bekannt und bewährt war, nutzen Sie auch in Visual C++ 5.0. VC++ 1.0 bis 4.2 hatten zwar keine Makrosprache, aber dafür einen Tastaturrekorder. Damit können Sie zumindest kurzfristig wiederkehrende Operationen aufzeichnen. Bei VC 5 finden Sie diesen Rekorder nicht mehr so leicht, weil er nicht auf den per Vorgabe angezeigten Toolbars liegt. Trotzdem steht Ihnen weiterhin ein Tastaturrekorder zur Verfügung - mit einer etwas anderen, besseren Funktionsweise als sein Vorgänger. Der neue Rekorder nimmt nicht nur Tastaturanschläge auf und gibt diese wieder, sondern erzeugt anhand der Anschlä-ge direkt ein Basic-Script-Makro. Dieses speichern Sie unter einem anzugebenden Namen und verwenden es so wieder. Und so aktivieren Sie diesen Rekorder: Zunächst wählen Sie den Menübefehl Tools - Macro Daraufhin öffnet sich der Makro-Dialog. Geben Sie zunächst dem aufzuzeichnende Makro einen Namen, und betätigen Sie dann "Record". Daraufhin sehen Sie die vom Tastaturrekorder gewohnte Toolbar, mit der Sie die Aufzeichnung pausieren lassen und beenden können. Der Rekorder nimmt nun alle Ihre Tastaturanschläge auf und schreibt diese in einem Basic-Script mit. Wenn Sie die Aufzeichnung beenden, öffnet sich ein Quellcodefenster mit dem aufgezeichneten Makro, das Sie nach Belieben verändern können. Es läßt sich auch in einer anderen Datei als in "Samples" ablegen. Betätigen Sie dazu auf dem Makro-Dialog den Button [Options]. Sie können dann einen neuen Dateinamen angeben und außerdem Ihr Makro auf eine Tastaturkombination oder eine Toolbar legen. Übrigens: Unter den mitgelieferten Makros aus der Samples-Datei finden Sie einige teilweise recht komplexe Beispiele für die Verwendung von Basic Script innerhalb des VC++-IDE. Thomas Wölfer/et

Verfasser: Andreas
Letzte Änderung: 2012-09-12 20:33


Eingebauter COM-Support

COM-Objekte vereinfachen Sie mit der Direktive "#import". VC++ 5.0 hat eine neue Präprozessor-Direktive, die den Einsatz von COM-Objekten in C++-Programmen drastisch vereinfacht. Mit "#import" können Sie einfach eine Datei inkludieren, die die Informationen über die Interfaces eines COM-Objekts enthält: Dies kann zum Beispiel eine Type-Library (TLB-), aber auch eine komplette DLL- oder EXE-Datei sein. Alle Dateien, die das LoadTypeLib-API lesen kann, lasssen sich mit "#import" importieren: #import <\\>TMP\COMOBJ.TLB> Der Compiler generiert dann zwei Header-Dateien, die eine Interface-Klasse für das anhand der TypeLibrary definierte Objekt bilden. Außerdem legt der Compiler einen Smart-Pointer auf das Objekt fest, so daß Sie es oder eine Instanz des Objekts damit verwenden können. "AddRef()" oder "Release()" müssen Sie dann nicht mehr aufrufen. Die Interface-Klasse wird in einem eigenen Namespace abgelegt, der den Namen der im ursprünglichen IDL-File angegebenen Bibliothek trägt. So vermeiden Sie Probleme mit der Benennung. Damit Sie die Bezeichner aus dem Type Library Header verwenden können, müssen Sie dem Compiler mitteilen, daß Sie ab jetzt den entsprechenden Namespace verwenden möchten: using namespace NameDerLibrary; Thomas Wölfer/et

Verfasser: Andreas
Letzte Änderung: 2012-09-12 20:33


Erfolgreich übersetzen

So starten Sie ATL-Projekte von der Kommandozeile. Wenn Sie versuchen, ein ATL-Projekt mit den Kommandozeilenwerkzeugen zu übersetzen, erhalten Sie folgende Fehlermeldung: U1073: don't know how to make Dies resultiert daraus, daß Sie ein ATL-Projekt auf der Kommandozeile in zwei Schritten übersetzen: Im ersten generieren Sie anhand der MIDL- eine Header-Datei, das der zweite, "normale" Übersetzungsschritt braucht. Das IDE regelt dies automatisch. Um ein ATL-Projekt erfolgreich zu übersetzen, müssen Sie NMAKE also zweimal aufrufen: nmake /f CFG="name-configuration" filename.h NAMEK /f CFG="name - configuration" Thomas Wölfer/et

Verfasser: Andreas
Letzte Änderung: 2012-09-12 20:34


Erweiterte DataTips

Hilfreiche Anzeigen für eigene Variablentypen verwirklichen Sie mit der Datei "autoexp.dat". Immer wenn Sie den Mauszeiger im VC++-Debugger über einem primitiven Datentyp oder einer der wichtigsten MFCs positionieren, öffnet VC++ ein ToolTip-Fenster. Das zeigt den aktuellen Inhalt der betreffenden Variable an. Diese Anzeige ist aber auch für selbstdefinierte Typen hilfreich und sehr leicht zu verwirklichen. Um den DataTips des VC++-Debugger eigene Typen hinzuzufügen, müssen Sie nur die Datei "autoexp.dat" aus dem Verzeichnis \DevStudio\SharedIDE\Bin erweitern. Darin finden Sie alle Datentypen, Strukturen und Klassen, deren Inhalt der Debugger automatisch anzeigt, sowie eine ausführliche Erläuterung zum Dateiformat. Den Inhalt einer Variablen vom Typ struct CTEST {int id; int nValue;}; können Sie beispielsweise mit Hilfe dieser "autoexp.dat"-Erweiterung automatisch anzeigen lassen: CTest =id= value= Auch auf die Formatierung der Anzeige können Sie Einfluß nehmen, wie der Beginn der "autoexp.dat" dokumentiert. Thomas Wölfer/et

Verfasser: Andreas
Letzte Änderung: 2012-09-12 20:37


Fehlerfreie Shell Extensions

Ohne Interrupt 3 auszulösen, können Sie beliebige Prozesse debuggen. Mit VC++ 5.0 können Sie endlich auch Prozesse von Bugs befreien, die nicht aus dem Debugger heraus gestartet wurden. Diese Methode unterscheidet sich grundlegend vom herkömmlichen Just-in-Time-Debug: Dabei mußte der Prozeß von sich aus den Debugger aktivieren, indem er entweder Interrupt 3 auslöste, oder indem eine Schutzverletzung das System dazu brachte, den Debugger zu star-ten. Mit der neuen Methode kann sich der VC++-Debugger an einen Prozeß anhängen, ohne daß dieser einen Int3 auslöst. Insbesonders für Shell Extensions, die ja der Explorer startet, ist dies sehr hilfreich: Das bisher erforderliche dauernde Neuladen des Debuggers oder des IDE durch den JIT-Mechanismus entfällt somit vollständig. Um einen nicht aus dem Debugger gestarteten Prozeß zu säubern, wählen Sie den Menübefehl Build - Start Debug->Attach to Process Daraufhin öffnet sich ein Dialog, der alle im System laufenden Prozesse auflistet: Ein Doppelklick auf den gewünschten Prozeß reicht, um ihn unter die Kontrolle des Debugger zu bringen. Sie können Ihre Anwendung - zumindest unter NT - vor solchen unter Umständen unerwünschten Maßnahmen auch schützen: Verwenden Sie hierzu das neue API IsDebuggerPresent() Thomas Wölfer/et

Verfasser: Andreas
Letzte Änderung: 2012-09-12 20:38


Irritierende Fehlermeldungen

Verwenden Sie vor dem Eintrag "cout" die Symbole von "std". Das im folgenden abgebildete einfache C++-Programm führt bei VC++ 5.0 - anders als beim Vorgänger - zu der irritierenden Fehlermeldung C2065 - undeclared identifier Der Fehler trifft die Zeile, die "cout" verwendet: #include int main( int i, char** argv) { cout << "hallo DOS"; // C2065-undeclared identifier } Dies ist darauf zurückzuführen, daß die Iostreams ab Version 5 im Namensbereich "std" untergebracht sind. Daher kennt der Compiler "cout" auch dann nicht, wenn Sie "iostream" einbinden. Um das Problem zu beseitigen, müssen Sie vor der Verwendung von "cout" dem Compiler noch mitteilen, daß Sie die Symbole von "std" verwenden möchten: #include using namespace std; //<- Namespace std verwenden int main( int i, char** argv) {cout << "Hi DOS";//fehlerfrei } Eine weiter Veränderung: Auch bei Header-Dateien hält sich VC++ 5.0 jetzt näher an den Standard als die Vorgängerversionen: Diese haben ab sofort keine Erweiterungen mehr. Darum wird auch "iostream" und nicht "iostream.h" inkludiert. Trotzdem kennt das IDE den Typ dieser Datei - merkwürdig, da der Dateityp unter Windows über die Dateierweiterung festgelegt wird. Des Rätsels Lösung liegt in der Datei "langext.dat", die Sie im Verzeichnis \DevStudio\SharedIDE\BIN finden: Darin liegen explizite Typenangaben für Dateien vor. Die "erweiterungslosen" C++-Header-Dateien werden hier als C/C++-Dateien markiert. Thomas Wölfer/et

Verfasser: Andreas
Letzte Änderung: 2012-09-12 20:39


Kompilat von der Kommandozeile

Es gibt zwei Methoden, um Ihr Projekt von der Kommandozeile aus zu übersetzen. Anders als bei den Vorgängerversionen erzeugt VC++ 5.0 nicht automatisch ein zu NMAKE kompatibles Makefile für Ihr Projekt: Aus Geschwindigkeitsgründen verwendet das IDE ein internes Makefile-Format, das NMAKE nicht verwerten kann. Sie können Ihr Projekt aber trotzdem auch auf der Kommandozeile übersetzen. Mit zwei Methoden gelangen Sie an ein passendes Makefile. Zum einen können Sie den Menübefehl Projekt - Export Makefile verwenden, zum anderen existiert auf dem Options-Dialog im Build-Reiter die Option Export Makefile when saving Project File Die erste Methode ist im Normalfall die sinnvollere, da die zweite Option das Speichern der Projektdatei zum Teil erheblich verlangsamen kann. Um das Projekt dann zu übersetzen, reicht der gewohnte Aufruf von NMAKE. Allerdings müssen Sie zuvor noch sicherstellen, daß alle benötigten EnvironmentVariablen korrekt gesetzt sind: Dies besorgt der Batch-Job "vc32vars.bat" aus dem Verzeichnis \DevStudio\VC\BIN Thomas Wölfer/et

Verfasser: Andreas
Letzte Änderung: 2012-09-12 20:40


Kürzere Turnaround-Zeiten

Mit Feinschliff am System vermeiden Sie unnötig aufgeblähte Kompilate. VC 5 kennt zwei spezielle defines-Anweisungen, mit denen Sie die Größe der inkludierten Header-Files - und damit auch die Größe der PCH-Dateien - einschränken. Für MFC-Anwendungen nutzen Sie "vc_extralean": Dadurch sparen Sie die Übersetzung einer ganzen Reihe selten benötigter Datenstrukturen, Funktionsprototypen und sonstiger Informationen aus den Win32- und MFC-Header-Dateien. Für Anwendungen, die MFC nicht verwenden, existiert folgendes Symbol: win32_lean_and_mean Auch dieses sorgt dafür, daß selten gebrauchte Elemente der Header-Dateien nicht mitübersetzt werden. Zusätzlich können Sie auch noch eine ganze Reihe von Symbolen für den Feinschliff verwenden: Diese erkennen Sie am Prefix "NO" und einem angehängten Service wie zum Beispiel "NOSound". Thomas Wölfer/et

Verfasser: Andreas
Letzte Änderung: 2012-09-12 20:40


Neue Typen und Keywords

Machen Sie sich vertraut mit TRUE, FALSE, "typename", "mutable", "explicit" und "bool". Untersuchen Sie die neuen Typen und Schlüsselworte von VC++ 5.0. - "bool", den Datentyp für Boolean-Variablen, kennen Sie bereits aus Tip xx. Er kann ausschließlich die Werte TRUE oder FALSE annehmen. - Mit "typename" teilen Sie dem Compiler in Templates mit, daß es sich bei einem unbekannten, also bisher nicht definierten Identifizierer um einen Typ handelt. Beispiel: template class MyTemplate {typename C::MyType; // MyType soll ein Typ sein MyType m_myVariable;}; - Das Schlüsselwort "mutable" können Sie nur für nicht-statische und nicht-konstante Daten-Members einer Klasse verwenden. Wenn Sie ein Member als "mutable" klassifizieren, so darf dieses auch von einer Funktion, die als "const" definiert wurde, verändert werden. Beispiel: class MyClass {private: mutable int m_myMutableMember; void MyConstFunc() const { m_myMutableMember = 1; // ohne mutable nicht zulässig } }; Thomas Wölfer/et

Verfasser: Andreas
Letzte Änderung: 2012-09-12 20:41


Project Workspace: Feature ausbauen

VC 5 untersucht nur noch die Dateien, die explizit als Teil des Projekts markiert sind. In VC++ 4.x wurden immer alle an einem Projekt beteiligten Klassen in der ClassView angezeigt, bei VC 5 dagegen nicht mehr. Auch wenn VC 5 gerne Processing Files meldet: Die Klassen wollen einfach nicht in der ClassView auftauchen. Dies hängt damit zusammen, daß VC 5 nur noch die Dateien untersucht, die explizit als Teil des Projekts markiert wurden - inkludierte Dateien ignoriert der Compiler. Der Vorteil liegt auf der Hand: Sie können besser kontrollieren, wie viele Informationen über welche Klassen in der ClassView angezeigt werden. Um nun Ihre eigenen Klassen sichtbar zu machen, fügen Sie die zugehörigen Header-Dateien einfach dem Projekt hinzu: Project.Add To.Files Danach können Sie wieder auf die Klassen zugreifen.

Verfasser: Andreas
Letzte Änderung: 2012-09-12 20:42


5.0 richtig installieren

Wenn Sie VC++ 4.0 weiter verwenden wollen, installieren Sie die neue Version in ein anderes Verzeichnis. Sie möchten Visual C++ 5.0 und 4.0 Version parallel verwenden? Dann müssen Sie 5.0 in einem separaten Verzeichnis installieren. Allerdings werden dabei die alten VC++-DLLs wie zum Beispiel "mfc42.dll" überschrieben: Die bei VC++ 5 mitgelieferten MFC-DLLs haben die gleichen Versionsnummern und Namen wie die von VC++ 4.2. Bedenken Sie, daß Sie nach der Installation von VC5 mit VC4 nicht länger den MFC-Quellcode von Fehlern bereinigen können, denn das Format der Debug-Info hat sich zwischen Version 4 und 5 mal wieder geändert. Die Folge: Der Debugger von VC4 kann die Debug-Infos der MFC-DLLs nicht mehr entschlüsseln. Thomas Wölfer/et

Verfasser: Andreas
Letzte Änderung: 2012-09-12 20:42


Tools ohne Start-Menü

Nutzen Sie auch die Programme, die sich in verschachtelten Unterverzeichnissen verstecken. Das Setup-Programm von VC++ installiert wichtige und hilfreiche Tools, die leider weder das Start- noch das Tools-Menü ausweist. Dazu finden Sie unter anderem folgende Werkzeuge im angegebenen Pfad: \DevStudio\SharedIDE\BIN\msvcmon.exe Das Programm dient dem Remote Debugging. Den MSVCMONitor betreiben Sie auf dem zweiten Rechner mit der zu säubernden Anwendung. Die TCP/IP-Parameter für Remote Debugging stellen Sie mit dem Menübefehl Build - Debugger Remote Connection ein. Im Verzeichnis \DevStudio\VC\BIN finden Sie unter anderem: - "DfView.exe" zeigt den Inhalt von OLE-2-DOC-Dateien, - "DobjView.exe" zeigt OLE-2-Idata-Objekte, - "GUIDGen.exe" dient der Erzeugung neuer UUIDs - "SHED.exe" verwenden Sie, um "segmented Hypergraphics" zu generieren. Segmentierte Hypergrafiken sind Bitmaps mit mehreren anklickbaren Bereichen, die Sie in einer WinHelp-Datei betrachten. - "ZOOMIN.exe" verwenden Sie, um Teile des Bildschirms auf Pixelebene zu vergrößern. So überprüfen Sie das Layout kleinerer Bitmaps. Außerdem existieren noch einige Betriebssystem-abhängige Werkzeuge in den Verzeichnissen \DevStudio\VC\BIN\WinNT\Win95 Hierzu gehören unter anderem "SR32Test.exe" und "CL32Test.exe". Die Namen verraten schon die Funktion: ein OLE-2-Testserver mit Client. Thomas Wölfer/et

Verfasser: Andreas
Letzte Änderung: 2012-09-12 20:43


VBScript-Makros debuggen

Mit dem Script Debugger aus dem Internet können Sie umfangreiche Makroprogramme überprüfen. Das VC++-IDE läßt sich mit VBScript-Makros erweitern - VBScript ist allerdings eine voll ausgewachsene Programmiersprache. Die sogenannten Makros werden also schnell zu kompletten Programmen - und diese wollen von Fehlern bereinigt werden. Leider verfügt das IDE in der aktuellen Version nicht über einen integrierten Debugger für VBScript. Dafür kann der Microsoft Script Debugger für den Internet Explorer nicht nur Scripts in HTML-Seiten betreiben, sondern auch solche, die in beliebigen Anwendungen laufen. Sie finden den Script Debugger unter http://www.microsoft.com/vbscript Damit debuggen Sie ein VBScript-Makro wie folgt: Stellen Sie sicher, daß "mdm.exe" (Teil des Debuggers) läuft. Achten Sie darauf, daß das VBScript-Makro im VC++-IDE installiert ist. Starten Sie den Script Debugger, und öffnen Sie den Dialog [Attach to Process] im Menü File -Attach Aus der angezeigten Liste der Prozesse wählen Sie "MSDEV" aus. Der Debugger zeigt nun eine Liste aller installierten VBScript-Makros an: Öffnen Sie das gewünschte Makro, und setzen Sie am Beginn einen Breakpoint. Starten Sie das Makro nun im Developers' Studio. Sobald der Breakpoint erreicht wird, erhält der Script Debugger die Kontrolle. Sodann untersuchen Sie das Script mit den gewohnten Debug-Methoden. Thomas Wölfer/et

Verfasser: Andreas
Letzte Änderung: 2012-09-12 20:44


Vorsicht vor Boolean-Variablen!

Da sich der Datentyp "bool" in der neuen Version geändert hat, müssen Sie eventuell vorhandenen Quellcode umschreiben. Bei allen Vorgängerversionen existierte der Datentyp "bool" nur als define-Anweisung in einer der VC++-Header-Dateien. In Wirklichkeit war eine Boolean-Variable ein Integer. Bei VC++ 5.0 hat sich dies geändert: Der Compiler kennt nun den "echten" Typ "bool". Dies hat unter Umständen Konsequenzen, die Sie in Ihrem Code berücksichtigen müssen: Wenn Ihr Quellcode davon ausgeht, daß sizeof(bool)==sizeof(int) ist, müssen Sie die entsprechenden Quellcodestellen verändern, denn "bool" ist bei VC++ 5.0 nur noch 1 Byte groß. Damit gilt also: sizeof(bool) == 1 Thomas Wölfer/et

Verfasser: Andreas
Letzte Änderung: 2012-09-12 20:46


Weitere ActiveX-Komponenten

Mit Downloads vom WWW halten Sie freie ActiveX-Komponenten auf dem neuesten Stand. VC++ 5.0 liefert zahlreiche ActiveX-Controls wie zum Beispiel Rich Text Edit. Diese können Sie frei weitergeben. Das VC++-Team bietet aber noch weitere Komponenten sowie aktuellere Versionen dieser Komponenten auf seiner WWW-Seite an: www.microsoft.com/intdev/sdk Dort finden Sie immer die aktuellen Versionen aller freien ActiveX-Komponenten, die Microsoft zur Verfügung stellt. Thomas Wölfer/et

Verfasser: Andreas
Letzte Änderung: 2012-09-12 20:46


Word 97 für die Online-Hilfe

Der Hilfe-Compiler braucht sein spezielles Format, das Sie mit einem Trick auch von Word 97 erhalten. Die mit Office 97 ausgelieferte Word-Version erzeugt ein Rich Text Format (RTF), das der gewöhnliche Hilfe-Compiler (HCW) nicht mehr versteht. Bei VC++ 5.0 wirkt sich das so aus, daß er die Word-97-Dateien nicht lesen kann. Allerdings gibt es zwei Workarounds: - Zum einen können Sie das Textdokument in Word 97 als "Word 6" speichern, ein zu Word 6 kompatibles RTF-Format. Dieses kann der HCW verarbeiten. - Die andere Methode: Verwenden Sie eine nicht unterstützte Betaversion des neuen Hilfe-Compilers. Diese finden Sie auf der ersten CD unter \DevStudio\VC\UnsupportedTools\HCW Die erste VC++-CD beherbergt noch andere interessante Tools, die das Setup-Programm nicht direkt installiert: - Im CAB&Sign-Verzeichnis finden Sie die Werkzeuge, um "Authenticode" von ATL oder MFC ActiveX-Controls zu erzeugen und zu signieren. Im DCOM95-Verzeichnis finden Sie die für Distributed COM unter Windows 95 benötigten Komponenten. DCOM für Windows NT gehört seit Version 4 zum Lieferumfang. Thomas Wölfer/et

Verfasser: Andreas
Letzte Änderung: 2012-09-12 20:47


Zauberei mit Wizards

Sechs spezielle Wizards erleichtern den Bau von Projekten und Rahmencode für Ihre Anwendungen. VC++ enthält eine ganze Reihe an Wizards, mit denen Sie neue Projekte anlegen. - ATL COM: Dieser Assistent er-zeugt ein neues Projekt für auf ATL basierende COM-Objekte. Mit der Active Template Library können Sie sehr kleine COM Objekte erzeugen. Die ATL verwendet keinerlei MFC-Komponenten. - DevStudio Add in: Dieser Zauberer schreibt den Rahmencode für eine MSDEV-Erweiterung. Das neue IDE kann auf zwei Arten erweitert werden: mit VBScript-Makros und mit "echten" C++-Programmodulen. Die C++-Module heißen Add-ins und unterscheiden sich von VB-Script-Makros in erster Linie durch ein besseres Laufzeitverhalten. - Custom App: Dieser Wizard dient dazu, selbst neue Wizards zu erzeugen. Dazu verwendet die Maschine ein bereits bestehendes Projekt als Grundlage. So verwirklichen Sie etwa eine Anwendung mit allen von Ihnen immer wieder benötigten Komponenten und verwenden diese als Vorlage für spätere Programmierprojekte. - ISAPI Extension: Dieser Wizard generiert den Rahmencode für eine Internet Server API-Erweiterung wie zum Beispiel Custom-Filter. - MFC ActiveX Control: Dieser Zauberer legt ähnlich wie der ATL COM Wizard Rahmencode für COM-Objekte an, in diesem Spezialfall für auf MFC basierende ActiveX-Controls: Diese Objekte sind wesentlich größer als auf ATL basierende. Dafür lassen sie sich wesentlich einfacher programmieren. - MFC AppWizard (EXE) und MFC AppWizard (DLL) sind Klassiker zum Generieren von auf MFC basierende Anwendungen und DLLs. Thomas Wölfer/et

Verfasser: Andreas
Letzte Änderung: 2012-09-12 20:48


Computer » Programmierung » Visual Basic

Alphanumerische Zeichen

Alphanumerische Zeichen Den alphanumerischen Charakter eines Zeichens bestimmen Sie am besten mit dem Windows-Befehl IsCharAlphaNumericA. Um herauszufinden, ob ein bestimmtes Zeichen alphanumerischen Charakter hat (A bis Z, a bis z oder 0 bis 9), ist normalerweise ein Vergleich des Asc(Ucase(char))-Werts mit den ANSI-Werten (American National Standards Institute) des jeweiligen Bereichs üblich. Allerdings stellt Windows eine für diesen Zweck programmierte Funktion zur Verfügung: IsCharAlphaNumericA. Diese Funktion ist schneller als die obige Vorgehensweise. Um sie zu verwenden, fügen Sie folgenden Aufruf in den De-klarationsabschnitt des Moduls ein: Private Declare Function IsCharAlphaNumeric Lib "User32" Alias "IsCharAlphaNumericA" (Byval cChar as Byte)

Verfasser: Andreas
Letzte Änderung: 2012-09-11 16:56


Der not-Operator

Um bei Booleschen Variablen von Wahrauf Falschzu schalten, verwenden Sie am besten den not-Operator.
Bei Booleschen Variablen (sie besitzen nur zwei Werte) müssen Sie oft zwi-schen Wahrund Falsch umschalten. Vermeiden Sie die nachfolgenden zwei Lö-sungen:
If x = true then
x = false
Else
x = true
End if
und
x = IIf(x, False, true)
Die beste und schnellste Lösung ist die folgende:
x = Not x

Verfasser: Andreas
Letzte Änderung: 2012-09-11 16:57


Die bessere Stoppuhr

Wenn die Zeit in Ihrem Programm auf die Millisekunde genau sein muß, verwenden Sie statt der VBA-Timer-Funktion besser die Windows-API-Funktion timeGetTime.
Zur Zeitmessung in VBA nutzen viele die VBA-Timer-Funktion. Sie liefert die Zahl der Sekunden, die seit Mitternacht vergangen sind. Wenn es bei Ihrem Meßproblem allerdings sehr auf Genauigkeit ankommt, sollten Sie von der VBA-Funktion Abstand nehmen und statt dessen die Windows-API-Funktion time-GetTime einsetzen. Sie liefert die Zahl der Millisekunden, die seit dem Windows-Start vergangen sind und ist erstens deutlich genauer und zweitens signifikant schneller. Der Aufruf von timeGetTime ist nicht schwieriger als der von Timer. Sie binden die Funktion im Deklarationsabschnitt des Moduls ein:
Private Declare Function timeGetTime Lib "winmm.dll" () As Long
Sie können die Funktion dann wie jede interne VBA-Funktion aufrufen.

Verfasser: Andreas
Letzte Änderung: 2012-09-11 16:57


Flotter ANSI- Vergleich

Wenn Sie ANSI-Werte vergleichen, erreichen Sie mit dem asc-Befehl einen Ge- schwindigkeitsvorteil gegenüber dem chr-Befehl.
Um ein Zeichen mit einem ANSI-Wert zu vergleichen, bieten VB/VBA dem Programmierer zwei verschiedene Befehle:
If chr(y) = "x"
oder
If Asc("x") = y
Die asc-Funktion ist bedeutend schneller, denn die chr-Funktion muß in meh-reren Schritten einen neuen String-Wert initialisieren.

Verfasser: Andreas
Letzte Änderung: 2012-09-11 16:58


Ganzzahl-Division

Da die Umwandlung von Zahlen in Fließkommawerte Rechenzeit kostet, verwenden Sie in Fällen, in denen die Nachkommastellen keine Rolle spielen, die Integer-Division. Um Divisionen durchzuführen, stehen die Operatoren / (Fließkomma-Di-vision) und \ (Integer-, Ganzzahl-Divi-sion) zur Verfügung. Für eine Fließkomma- Division muß VBA die Operanden in Fließkommawerte konvertieren, was Zeit kostet. Wenn Sie also auf den gebrochenen Anteil des Ergebnisses verzichten können, verwenden Sie besser die Integer-Division.

Verfasser: Andreas
Letzte Änderung: 2012-09-11 16:59


Integers statt Variants

Definieren Sie ganze Zahlen als Integer-Werte, da der von VBA standard- mäßig gewählte Datentyp Variantsmehr Ressourcen verbraucht. Falls Sie sie nicht anders spezifizieren, initialisiert VBA alle Variablen mit dem Datentyp Variant (Zeichenkette oder numerischer Wert). Dies entspricht der Voreinstellung. Wegen der größeren und komplexeren Datenstruktur sind Variant-Zahlen langsamer. Sie sollten also den Datentyp Variant vermeiden und statt dessen den Typ Integer (Ganzzahl-Variable) verwenden.

Verfasser: Andreas
Letzte Änderung: 2012-09-11 16:59


Interne VB-Variablen

Einen Zeitvorteil erhalten Sie, wenn Sie, statt einen Leer-String zu definieren, einen Pointer auf einen internen VB-Leer-String setzen.
Wenn Sie einen String als Leer-String initialisieren, denken Sie sicher zuerst an folgende Zuweisung:
strItem = ""
Die Methode erzeugt einen neuen String und kopiert ihn in die Variable strItem. Vergessen Sie nicht, daß eine VB-interne Konstante vordefiniert ist, die einen Pointer (Zeiger) zu einem leeren String darstellt:
strItem = vbNullString
In diesem Fall muß VBA nicht jedesmal einen neuen String erzeugen, wenn Sie eine Zuweisung vornehmen, sondern benutzt den internen Pointer was deut-lich schneller geht.

Verfasser: Andreas
Letzte Änderung: 2012-09-11 17:00


Langsame IIf-Komponenten

Die IIf-Funktion (mit zwei i) ver- langsamt Ihr Programm, da es mit den Ressourcen des Rechners sehr verschwenderisch umgeht.
Kürzerer Code ist nicht unbedingt schneller. Bei der folgenden Konstrukti-on lädt VBA beide Funktionen in den Cache, auch wenn Sie nur wahlweise ei-ne Funktion benötigen:
varValue = IIf(fFlag, function1(), function2())
Das kann nicht nur zu unerwünschten Nebeneffekten führen, sondern auch Ihr Programm verlangsamen. In diesem Fall sind Sie besser dran, wenn Sie die folgende Standardkonstruktion verwenden:
If fFlag then
varValue = function1()
Else
varValue = function2()
End if
Diese Befehlsfolge ruft entweder die erste oder die zweite Funktion auf.

Verfasser: Andreas
Letzte Änderung: 2012-09-11 17:02


Logische Vergleiche

Vermeiden Sie explizite logische Vergleiche, da die Rechengeschwindigkeit etwas geringer ist als bei der verkürzten Schreibweise.
Beim Testen des Wahrheitswerts eines Ausdrucks sind die folgenden beiden Formulierungen äquivalent. Die zweite (implizite) Methode ist geringfügig schneller. Der etwas langsamere Ausdruck lautet wie folgt:
If x = True then
Zeit sparen Sie mit:
If x then

Verfasser: Andreas
Letzte Änderung: 2012-09-11 17:02


Logische Verknüpfungen

Wenn Sie Integer-Zahlen mit logischen Werten kombinieren, lassen sich fünf Zeilen Code einer logischen Zuweisung mit einem Ausdruck ausführen.
Wie viele andere Sprachen behandelt VBA logische Werte als Integer-Zahlen und erlaubt die Auswertung von Ausdrücken. Kombiniert man beide Features, lassen sich logische Zuweisungen direkt als Teil eines Ausdrucks ausfüh-ren. Viele Programmierer verwenden Zeilen wie das folgende Code-Fragment:
If x = 5 Then
y = True
Else
y = False
End If
Dies ist umständlich und läßt sich so zu einem einzigen, allerdings ziemlich kryptischen Statement vereinfachen:
y = (x = 5)
Obwohl es verwirrend aussieht, interpretiert VBA die Anweisung vollkommen korrekt, indem es zuerst den Wert des Ausdrucks x = 5 ermittelt (Wahr oder Falsch) und dann diesen Wert der Variablen y zuweist. Damit verbunden ist ein geringer Geschwindigkeitszuwachs.

Verfasser: Andreas
Letzte Änderung: 2012-09-11 17:03


Null-Längen-Strings

Verwenden Sie den Befehl len, um bei Zeichenketten festzustellen, ob deren Länge Null ist.
Um festzustellen, ob die Länge eines Strings (Zeichenkette) 0 ist, vergleichen Sie entweder den String mit "" mit Hilfe des Befehls:
If x$ = ""
oder Sie verwenden die len-Funktion, die meßbar schneller ist:
If len(x$) = 0

Verfasser: Andreas
Letzte Änderung: 2012-09-11 17:03


Objektverweise

Wenn Sie ein Objekt öfter verwenden, sparen Sie Ressourcen, indem Sie es mit einem Pointer (Zeiger) verknüpfen und es damit in einem Cache verfügbar halten.
Beim Programmieren mit VBA müssen Sie oft Eigenschaften von Controls (Steuerdaten) und andere Parameter auslesen oder setzen. Im allgemeinen verwenden Sie dazu Statements wie
strCaption = Forms.frmMyForm ctlMyControl.Caption
Sofern es sich um eine einzelne Referenz handelt, ist dagegen nichts einzuwenden. Sobald Sie aber mehrere Eigenschaften des Objekts referenzieren oder eine Schleife verwenden, können Sie einen beachtlichen Geschwindigkeitsvorteil erzielen, wenn Sie eine Objektvariable als Pointer (Zeiger) zum Objekt setzen:
Dim ctl as Control
Set ctl = Forms.frmMyForm.ctlMyControl
Msgbox ctl.Name
Msgbox ctl.Width
... usw. ...
Zusätzlich sollten Sie das VBA-Konstrukt With...End With einsetzen, da es Ihren Code leichter lesbar macht und ebenfalls zu einer leichten Performance-Steigerung führt.

Verfasser: Andreas
Letzte Änderung: 2012-09-11 17:04


Select-Case verbessern

Bei vielen Vergleichsprozessen bringt es Ihnen Vorteile, den wahrscheinlichsten Fall zuerst abzufragen. Das Programm hält sich dann nicht mit unnötigen Rechenschritten auf.
VBA ist nicht sonderlich intelligent, wenn es darum geht, Select-Case-State-ments auszuwerten. Es schaut einfach immer wieder und wieder bei jedem Case-Befehl nach, ob eine Übereinstimmung zu finden ist. Wenn Sie beim Programmieren wissen, welcher Fall der wahrscheinlichste ist, plazieren Sie ihn an die erste Stelle im Konstrukt. Mit den etwas weniger wahrscheinlichen Fällen verfahren Sie ebenso. Je nach Anzahl der Fälle kann ein enormer Zeitgewinn dabei herausspringen. TR

Verfasser: Andreas
Letzte Änderung: 2012-09-11 17:04


String-Ausdrücke vermeiden

Ziehen Sie den !-Operator beim Zugriff auf Sammlungen einem Zeichenketten-Ausdruck vor.
Wenn Sie auf die Elemente einer Sammlung (Collection) zugreifen, können Sie unter Access entweder den !-Operator verwenden:
StrName = rst.Fields!LastName
oder einen String-Ausdruck einsetzen:
StrName = rst.Fields("LastName")
Die Verwendung des Operators ist im Ergebnis etwas schneller.

Verfasser: Andreas
Letzte Änderung: 2012-09-11 17:05


Strings verbinden

Zeichenketten schreiben Sie besser zusammen. Verzichten Sie auf das so- genannte Concatenation-Verfahren.
Beim Schreiben von VBA-Code haben Sie manchmal die Wahl: Entweder Sie schreiben einen ganz langen, zusammenhängenden String-Ausdruck, oder Sie verküpfen mehrere Teilstücke per &-Operator (das Verfah-ren wird auch als Concatenation bezeichnet). Bedenken Sie: String-Concatenation ist ein langsames Verfahren.

Verfasser: Andreas
Letzte Änderung: 2012-09-11 17:05


Anmeldenamen unter Windows ermitteln

Sie schreiben einn VBA-Programm. Darin möchten Sie den in der aktuellen Windows-Sitzung
angemeldeten Besucher eindeutig ermitteln.

Diese Aufgabe kann eine VBA Funktion für Sie erledigen. Öffnen Sie die Office Anwendung
in der Sie die Funktion benötigen - beispielsweise Access - und starten Sie den VBA-Editor.
Dazu können Sie in allen MS Office Anwendungen die Tastenkombination

[Alt] + [F11]

verwenden.
Erzeugen Sie zuerste ein neues Modul mit dem Befehl

"Einfügen | Modul"

und ergänzen Sie dann folgende Anweisung:

Private Declare Function GetWindowsUser
Lib "advapi32.dll" Alias "GetUserNameA" (ByVal lp Buffer As String, nSize As Long)
As Long

Erzeugen Sie anschließend über den Befehl

"Einfügen | Procedure"

eine neue Prozedur mit dem Namen

"getUserName()"

und wählen Sie als Gültigkeitsbereich "Public".
Ergänzen Sie im leeren Funktionsrumpf folgenden Quelltext:

Public Function getUserName() As String

Dim strBuffer As String
Dim lngReturn As Long
Dim intPosition As Integer
Const constBufferLaenge = 255

strBuffer = Space(constBufferLaenge)

lngReturn = GetWindowsUser(strBuffer, constBufferLaenge)
If CBool(lngReturn) Then
intPosition = InStr(strBuffer, vbNullChar)
If intPosition Then
getUserName = Left(strBuffer, intPosition - 1)
Else
getUserName = strBuffer
End If
End If
End Function

Speichern Sie das Modul. Jetzt können Sie mit der Funktion "getUserName()" die Bezeichnung
des aktuellen Benutzerkontos ermitteln. Den Namen des angemeldeten Anwenders liest hingegen die
API-Funktion "GetUserNameA()" aus - sie befindet sich in der Windows-Bibliothek
ADVAPI32.DLL. Der im Script verwendete Befehl "Declare Function" verweist mit dem Aufruf
"GetWindowsUser()" darauf. Ihr Aufruf ähnelt einer in der Programmiersprache C implementierten
Funktion. Als Parameter übergeben Sie eine Zeichenkette und deren maximale Länge: Die Varaible
"strBuffer" und die Konstante "constBufferLaenge". Die Funktion beendet den übergebenen Namen mit
einem Null-Zeichen, das der Konstante "vbNull(Char)" entspricht. Mit dem Befehl "InStr()"
ermittelt das Modul im Rückgabewert der Funktion die Position "intPosition" dieser Konstante und
übergibt mit Hilfe von "Left()" die Zeichenkette bis zu diesem Null-Zeichen an den
Rückgabewert der Funktion "getUserName()".


Quelle: Chip Juli 2003, Seite 192

Verfasser: Andreas
Letzte Änderung: 2012-09-11 17:06


Per Maus markierten Bereich auswerten.

In einer Tabelle möchte man mit der Maus einen Bereich markieren. Dann soll ein VBA-Makro den
Inhalt dieses Bereiches auslesen und weiterverwenden können. Wie kann man den markierten Bereich
abfragen?

Die Markierung können Sie mit der InputBox-Funktion in VBA auswerten. Öffnen Sie den VBA-Editor mit

Extras | Makro | Visual Basic-Editor

Geben Sie folgende Anweisung ein:

Sub Mausbereich()
Dim Bereich As Range
Set Bereich = Application.
InputBox(prompt:="Bereich mit der Maus markieren", Type:=8
MsgBox(WorksheetFunction.Sum(Bereich))
Ed Sub

Nach dem Markieren speichert VBA die Felder in "Bereich" - damit können Sie weiterarbeiten.
Das Ermitteln des markierten Bereiches übernimmt die Funktion InputBox des Objektes "Application"
Wichtig ist das Argument "Type:=8" : Es legt fest, dass der Rückgabewert ein Zellbezug ist.


Quelle: Chip Juli 2003, Seite 193

Verfasser: Andreas
Letzte Änderung: 2012-09-11 17:07


Zeit für Excel

Wir zeigen Ihnen, wie Sie die Excel-Tabellenfunktionen auch in Ihrer VBA-Applikation verwenden.
Haben Sie sich auch schon oft darüber geärgert, daß Ihnen bei der Programmierung in Visual Basic for Applications die mächtigen Tabellenfunktionen von Excel nicht zur Verfügung stehen? Wo Ihnen bei der Arbeit mit Spreadsheets Excel-Funktionen das Leben erleichtern, müssen Sie in VBA alles per Hand codieren.
Falsch! Denn auch in VBA stehen Ihnen alle Tabellenfunktionen zur Verfügung. Um sie zu verwenden, rufen Sie sie nur als Methode des Application-Objekts auf. Verwenden Sie zudem die englische Bezeichnung der Funktion. Statt Summe heißt es also Sum und statt Mittelwert eben Average. Wollen Sie also in VBA den Mittelwert eines Bereichs B ermitteln, so lautet der Aufruf
MW = Application.Average(B)
Was heißt aber nun Bogenmaß oder Hypgeomvert auf Englisch? Das erfahren Sie aus der Datei VBAListe.xls, die Sie im Verzeichnis Office finden: Hinter dem Register Tabellenfunktionen verbirgt sich eine komplette Liste aller Funktionen samt ihrem englischen Namen.
Peter Weber/ib

Verfasser: Andreas
Letzte Änderung: 2012-09-11 17:07


"Scribbeln" heißt Kritzeln

Ein Beispielprogramm zeigt, wie einfach Sie mit Visual Basic zeichnen können.
Es ist ganz einfach, auf einer Form oder PictureBox zu malen. Dafür stehen die verschiedenen VB-Methoden zur Verfügung. Wie Sie eine Scribble-Funk-tion integrieren, zeigt scribble.bas beispielhaft (Listing 4).

Verfasser: Andreas
Letzte Änderung: 2012-09-11 17:08


Undokumentierte VB-Funktionen

VarPtr, ObjPtr und StrPtr stehen Ihnen nun auch offiziell zur Verfügung.
Lange Zeit waren sie undokumentiert, ab Visual Basic 5 stehen sie offiziell zur Verfügung: die Funktionen VarPtr, ObjPtr und StrPtr. Während erstere die Adresse einer Variablen zurückgibt, liefert die ObjPtr-Funktion die Adresse einer Objektvariablen. Über StrPtr greifen Sie direkt auf einen String zu, was auch nützlich sein kann, wenn Sie beim Aufruf einer API-Funktion die Umwandlung von ANSI in Unicode vermeiden möchten.
Peter Monadjemi/et

Verfasser: Andreas
Letzte Änderung: 2012-09-11 17:09


3D-Schrift

Wenn Sie dreidimensional schreiben, stellen Sie Nachrichten in den Raum.
Grafische Gestaltung machen den Reiz von Windows-Programmen aus. Dazu gehören auch ansprechende Schriften. Nicht alle Fonts verfügen über die Option zur dreidimensionalen Darstellung. Hier hilft die Prozedur D3_Print in diesem Beispielprogramm. Mit ihr erzeugen Sie auf Formen und PictureBox-Steuerelementen erhaben oder vertieft erscheinende Schriften. Dazu wird der jeweilige Schriftzug mehrfach leicht versetzt ausgegeben. So entsteht der 3D-Effekt. Mit der Prozedur Wasserzeichen versehen Sie Ihre Formen mit einem Hintergrund.

Verfasser: Andreas
Letzte Änderung: 2012-09-11 17:09


[Enter] mit Sonderfunktion

Über [Enter] gelangen Sie zum nächsten Eingabefeld.
Normalerweise besitzt die [Enter]-Taste bei einem Textfeld keine Sonderfunktion, was manchmal aber wünschenswert wäre. Damit der Fokus via [Enter] zum nächsten Eingabefeld springt, muß das KeyPress-Ereignis eine Abfrage erhalten. Dazu geben Sie folgende Zeilen ein:
Private Sub txtTextfeld1_KeyPress(KeyAscii As Integer)
If KeyAscii = vbKeyReturn Then
SendKeys "{TAB}"
End If
End Sub
Die SendKeys-Anweisung sendet den Tastencode für die [Tab]-Taste an das Programm und erspart dem Anwender damit, selbst auf diese Taste zu drücken.

Verfasser: Andreas
Letzte Änderung: 2012-09-11 17:10


ADO auch für Visual Basic 5.0 (und CCE)

Die Active Data Objects (ADO) gibt es auch für ältere Visual-Basic-Versionen.
Die Active Data Objects sind der neue Standard für den Datenbankzugriff. Visual Basic 5.0 und Office 97 enthalten noch keine ADO-DLLs. Sie laden diese von der Microsoft-Web-Seite unter der Adresse
www.microsoft.com/data/mdac2.htm
Wählen Sie nach dem Bestätigen der obligatorischen Lizenzvereinbarung die Option Microsoft Data Access Components 2.0 Redistribution Minimal Setup, wenn Sie lediglich an den ADO-Bibliotheken interessiert sind. Dabei fehlt das ADO-Datensteuerelement. Nach der Installation wird eine Referenz auf die ADOs über Projekt/Verweise und eine Auswahl des Eintrags Microsoft ActiveX Data Objects in ein Projekt eingebunden. Auch wenn die Versionsnummer 1.5 lautet, handelt es sich um die aktuelle Version 2.0.

Verfasser: Andreas
Letzte Änderung: 2012-09-11 17:10


Alle Farben sind grau

Ein Graustufenbild zeigt vorab, wie ein Bild auf einem monochromen Notebook-Bildschirm oder im Druck in Grautönen aussehen wird.
Nicht immer sind Farbauflösungen nützlich. Manchmal müssen Sie Ihr Bild in Graustufen umrechnen. Die Werte für RGB sind in diesem Fall gleich. Theoretisch sind damit beliebig viele Graustufen denkbar. Die tatsächlich verfügbare Anzahl hängt von der Grafikkarte des Rechners und den Graustu-fen des Druckers ab. Für die Umrechnung von RGB-Farben in Graustufen gilt die Formel:
Graustufe=R*0.3+G*0.59+B*0.11
Setzen Sie diesen Stufenwert an die Stelle der Argumente von R, G, B beim Aufruf der RGB-Funktion. Der Rückgabewert ist der zur Farbe passende Farb- wert, den Sie nach folgender Formel berechnen:
Grauwert&=RGB(R*0.3,G*0.59, _
B * 0.11)

Verfasser: Andreas
Letzte Änderung: 2012-09-11 17:11


Alle Laufwerke anzeigen

So lassen Sie sich alle Laufwerke anzeigen auch von CD-ROMs oder Wechselfestplatten.
Die integrierte DriveListBox zeigt für Wechselmedien wie für CD-ROMs die Bezeichnung des Datenträgers nicht an. Das gilt auch für extern über eine Box angebundene Festplatten. Hier hilft das FileSystemObject. Es steht in der ab VB 6 mitgelieferten Scrun.dll. Diese binden Sie über Verweise in Ihr VB ein. Scrun.dll mit dem File-SystemObject nutzen Sie erst ab Version 4-32. Mit einer Codezeile deklarieren Sie eine Variable als FileSystemObject: Private FSO As FileSystemObject Um das FSO-Objekt nutzen zu können, initialisieren Sie es in der Form_Load-Prozedur. Fügen Sie auf Ihrer Form auch eine ComboBox ein.
Private Sub Form_Load()
Set FSO = CreateObject_
("Scripting.FileSystemObject")
GetDrives Combo1
End Sub
Die zweite Codezeile in der Prozedur ruft die benutzerdefinierte Prozedur
GetDrives auf. In dieser werden der ComboBox die Laufwerke mit ihren Bezeichnungen zugewiesen.
Sub GetDrives(Obj As Control)
On Error Resume Next
Obj.Clear
For Each Drv In FSO.Drives
N$ = Drv.DriveLetter & ":\"
VN$ = Drv.VolumeName
If VN$ <> "" Then VN$ = _
" [" & VN$ & "]"
Obj.AddItem N$ & VN$
Next
For m=Obj.ListCount -1 _
To 0 Step-1
If Left(CurDir,2) = _
Left(Obj.List(m), 2)
Then
Exit For
End If
Next
Obj.ListIndex = m
End Sub
Am Schluss setzt das Programm ListIndex
auf das aktuelle Laufwerk, was die
TextBox anzeigt.

Verfasser: Andreas
Letzte Änderung: 2012-09-11 17:11


Angebundene Netzwerkfreigaben lösen

Die Zuweisung von lokalen Laufwerbuchstaben an freigegebene Netzwerkressourcen können Sie jederzeit wieder aufheben und damit die Suche im Netzwerk einschränken.
Angebundene Laufwerke und Drucker können Sie mit Hilfe der APIFunktion WNetDisconnectDialog wieder lösen. Der zu lösende Ressourcentyp wird per Parameter beim Aufruf der API-Routine festgelegt. Bevor Sie die API-Routine WNetDisconnectDialog einsetzen können, müssen Sie sie deklarieren. Die Konstante RESOURCETYPE_ DISK legt den Ressourcentyp Laufwerk fest. Um hergestellte Laufwerksverbindungen zu lösen, rufen Sie die Funktion NetDisConnectDrive auf. Sämtliche aktuell vorhandenen Verbindungen werden im Dialogfeld per Liste angezeigt und lassen sich komfortabel anwählen. Der Dialog variiert dabei je nach verwendeter Windows-Version. Das Lösen wird unmittelbar nach Bestätigen mit OK versucht. Sind beim Aufruf keine Verbindungen gültig, wird dies durch eine entsprechende Meldung ausgegeben. Im Programm Search blenden Sie den Dialog zum Lösen der Verbindungen durch Anwahl der Schaltfläche [-] ein, die ihrerseits die Ereignisprozedur btn-NetMinus_Click aufruft. Kann die Verbindung nicht erfolgreich aufgehoben werden, wird eine entsprechende Meldung ausgegeben. Um das neue logische Laufwerk unmittelbar anzuzeigen, rufen Sie die Methode Refresh des Laufwerklistenfeldes auf.

Verfasser: Andreas
Letzte Änderung: 2012-09-11 17:12


Angepasste Formen

Mit diesem Tipp passen Sie ohne Aufwand Ihre Formen von innen an.
Wenn Sie Ihr Programm mit einer richtungsweisenden Menüführung und klaren Bildelementen gestalten, kann der Anwender leichter damit umgehen. Dabei ist es wichtig, unabhängig von unterschiedlichen Bildschirmauflösungen immer die gleiche Anzeige, zu erzeugen. Alle wichtigen Controls müssen sichtbar sein. Auch müssen Sie sicherstellen, dass geänderte Maße einer Form die Darstellung nicht unangemessen beeinträchtigen. Das gilt ebenso für Symbolleisten und Menüs, die die innere Höhe (Scale-Height) der Form beeeinflussen. Wie Sie die Aufgabe lösen, hängt von der verwendeten VB-Version ab. Ab VB.Net fügen Sie Scrollbars in eine Form ein, indem Sie die Eigenschaft Scrollable setzen. Diese Scrollbars können die innere Form-Fläche verschieben. Vor VB.Net gibt es zwei Lösungsansätze:
Sie platzieren die Controls auf einer PictureBox und verschieben diese mit ScrollBars. Passen Sie das Beispielprogramm ..\PicBrws (auf der Heft-CD) für diesen Zweck an.
Wie Sie die äußeren Abmessungen von innen anpassen, zeigt das nächste Beispielprogramm. Dieses ermittelt zunächst die Rahmenbreiten der Form. Diese ergeben sich aus der Differenz der Außen- und der Innenmaße. Dazu setzen Sie die ScaleMode-Eigenschaft kurzzeitig auf den Wert vbTwips. Danach ziehen Sie das Innenmaß vom Außenwert ab. Es ergeben sich die jeweils aktuellen Werte, die sich bei sichtbarer Menüleiste ändern können. Ermitteln Sie den kleinsten Wert für die Left-Eigenschaften der sichtbaren Controls. Es folgen der größte Wert von cRight (Ctrl.Left + Ctrl.Width) und der größte Wert von cBottom (Ctrl.Top + Ctrl.Height). Haben Sie den umschreibenden Rahmen der Controls ermittelt, passt die Prozedur AdjustSize die Größe an:
Sub AdjustSize(Frm As Form)
Dim cRight As Integer, cBottom
As Integer, cLeft As Integer
GetBorders Frm
cRight = GetRightPos(Frm)
cBottom = GetBottomPos(Frm)
cLeft = GetLeftPos(Frm)
Frm.Width = cRight + cLeft +
BrdrX
Frm.Height = cBottom + cLeft +
BrdrY
End Sub

Verfasser: Andreas
Letzte Änderung: 2012-09-11 17:12


Animierte gif-Datei

Eine animierte Grafik erhalten Sie ab dem IE 4.0 mit dem WebBrowser-Control.
Obwohl das Picture-ActiveX-Control Grafiken auf Ihren VB-Formularen gut platzieren kann, zeigt es bei animierten gif-Dateien nur das erste Bild. Um eine voll animierte gif-Datei anzuzeigen, ohne jedesmal die gesamte Grafik Rahmen für Rahmen aufzubauen, können Sie auch das WebBrowser-Control einsetzen. Das funktiert ab IE 4.0. Binden Sie zu diesem Zweck die Microsoft-Internet-Controls-Komponente in Ihr Projekt ein, und platzieren Sie das Control auf Ihrem Formular. Im Load-Event des Formulars schreiben Sie folgenden Code, wobei Sie den Pfad zur gif-Datei anpassen:
Dim strImgPath As String
'
'Animated Gif (Pfad anpassen)
strImgPath = "c:\sisyphus.gif"
WebBrowser1.Navigate _
"about:<html><body scroll=_
'no'><img src=" & strImgPath _
& "></img></body></html>"
Beachten Sie, dass das body-Attribut scroll=no die Anzeige des hier störenden Scroll-Balkens abschaltet.

 


Animierte gif-Dateien
Mit einem Shareware-ActiveX-Control bewegen Sie Ihre gif-Grafiken.
Das Bildfeld kann nur gewöhnliche gif-Dateien anzeigen. Wer auf einem Formular oder in einem Dokument animierte gif-Dateien abspielen möchte, benötigt dazu ein Zusatzsteuerelement wie etwa anigif.ocx. Dieses Shareware-ActiveX-Control können Sie unter der Adresse
www.toptown.com/nowhere/jinhui
herunterladen. Dann wählen Sie anigif.ocx über den Menübefehl Projekt/Komponenten und klicken die Durchsuchen-Schaltfläche an. Anschließend steht das ActiveX-Control in der Liste der Komponenten zur Verfügung, das Sie wie jedes andere OCX-Steuerelement auf dem Formular anordnen. Das Ganze funktioniert auch in WinWord, Excel oder PowerPoint.
Zum Abspielen geben Sie ein:
Dateiname = "Drachen.gif"
Private Sub cmdSpielen_Click ()
AniGif1.ReadGIF Dateiname
AniGif1.Play
End Sub

Verfasser: Andreas
Letzte Änderung: 2012-09-11 17:14


Anzahl der Bildschirmfarben

Mit der universellen API-Funktion GetDeviceCaps verschaffen Sie sich die Anzahl der Farbebenen.
Leider besitzt das Screen-Objekt keine Eigenschaft, die die Anzahl der Farben ermittelt. Abhilfe schafft die universelle API-Funktion GetDeviceCaps, die auch die Anzahl der Farbebenen liefert. Unser Programm (Listing in Databox 7/97) zeigt das Ergebnis.
Peter Monadjemi/et

Verfasser: Andreas
Letzte Änderung: 2012-09-11 17:13


API-Deklarationen abrufen

Mit Visual Basic 5 ist der API-Katalog nun direkt aus der IDE heraus verfügbar.
Mit dem API-Katalog nutzen Sie die schier unendliche Zahl der Konstanten, Typen und Funktionsdeklarationen der Windows-API in VB-Anwendungen. Nur mußten Sie das Programm immer erst über das Start-Menü aktivieren, und die Datenübernahme gelang auch ausschließlich über den umständlichen Weg über die Zwischenablage. Dies ist in der 5er-Version von Visual Basic nicht mehr nötig: Der API-Katalog läßt sich nun als Add-In direkt aus der Entwicklungsumgebung heraus aufrufen.
Dazu aktivieren Sie lediglich den Eintrag VB API Viewer im Add-In-Manager, den Sie über das Add-Ins-Menü von Visual Basic starten. Beim anschließenden Aufruf - ebenfalls über das Add-In - zeigt der API-Viewer (alias API-Katalog) die zusätzliche Schaltfläche Einfügen, die die ausgewählten Einträge direkt - also ohne Umweg über die Zwischenablage - in das Code-Fenster kopiert. Warum diese neue Möglichkeit nirgends dokumentiert ist, bleibt ein Geheimnis der Programmierer. Da Profis aber die Leistungsfähigkeit des Systems ständig testen, bleibt nichts lange verborgen.

Verfasser: Andreas
Letzte Änderung: 2012-09-11 17:15


Art des Datenträgers

Mit dieser Prozedur ermitteln Sie den Datenträgertyp Ihrer Laufwerke.
Anwender müssen wissen, mit welchem Datenträgertyp Sie es zu tun haben. Wer zum Beispiel auf einem CD-ROM-Laufwerk Daten speichern will, muss scheitern. Ihr Programm muss daher erkennen, ob als Datenträger Festplatten, Disketten-und CD-Laufwerke vorliegen. Die hier auf die 32-Bit-Lösung verkürzte API-Funktion Get-DriveTyp ermittelt den Datenträgertyp:
Declare Function GetDriveType _
Lib „kernel32" Alias _
„GetDriveTypeA" _
(ByVal nDrive As String) _
As Long
Function DriveType$(Drive$)
Dim D$(6)
D$(0) = „CD-ROM oder Netzwerk"
D$(1) = „Festplatte"
TIPP TIPP
D$(2) = „Diskette"
D$(3) = „Festplatte"
D$(4) = „Netzwerk"
D$(5) = „CD-ROM"
D$(6) = „RAM-Disk"
DriveType =
GetDriveType(Left$(Drive$, 2))
End Function
Das 16/32-Bit-Beipielprogramm finden Sie unter ...\DriveTyp\4_drvtyp.vbp

Verfasser: Andreas
Letzte Änderung: 2012-09-11 17:16


Auf E/A-Ports zugreifen

Freeware-DLLs unter Windows 95 erleichtern den Datenaustausch über Ein- und Ausgabe-Ports.
Häufig müssen Programmierer Ein-/ Ausgabe-Ports bedienen, etwa um eine Meßwertkarte anzusprechen. Zwar bietet Visual Basic keine direkte Hilfe dazu, dennoch ist der Zugriff unter Windows 95 dank zahlreicher DLLs- und OCX-Steuerelemente sehr einfach. Ein Beispiel ist die im Internet angebotene Freeware io.dll:
www.silk.net/personal/fredb/indexio.html
Sie enthält die Funktionen ReadPort und WritePort:
Declare Function ReadPort Lib "Io.dll" (ByVal Address As Long) As Byte
Declare Sub WritePort Lib "Io.dll" (ByVal Address As Long, ByVal Value As Byte)
Der folgende Befehl liest den Inhalt des E/A-Ports mit der Adresse 3F8hex aus:
Inhalt = ReadPort(&H3F8)
Der nächste Befehl schreibt den Wert 1 auf den E/A-Port mit der Adresse 3F8hex:
WritePort &H3F8, 1
Unter Windows NT ist es mit einem E/A-Zugriff über die Maschinenbefehle In und Out nicht getan. Hier müssen Sie einen vxd-Treiber in Visual C++ programmieren.

Verfasser: Andreas
Letzte Änderung: 2012-09-11 17:16


Auflösung ändern

Präsentieren Sie Ihr Formular einem Anwender stets mit der passenden Auflösung.
Das beste Formular hinterläßt beim Anwender einen schlechten Eindruck, wenn es in der falschen Auflösung angezeigt wird. Über die API-Funktion ChangeDisplaySettings (Listing in Databox 7/98) können Sie eine bestimmte Auflösung einstellen, ohne daß der Anwender dies bestätigen muß.
Zuerst stellt die API-Funktion EnumDisplaySettings die aktuelle Auflösung fest und überträgt die Daten in die Variable n vom Typ DEVMODE. Der API-Viewer stellt diese umfangreiche Struktur zur Verfügung. Anschließend stellt das Programm die neue, passende Auflösung ein. Sollte ein Umschalten auf eine Auflösung nicht möglich sein, passiert gar nichts.

Verfasser: Andreas
Letzte Änderung: 2012-09-11 17:17


Ausbaufähige Dateiwahlbox

So programmieren Sie kunstgerecht Ihre individuelle Dateiwahl.
Der in Windows integrierte Standarddialog hat ein paar Nachteile, auf die Visual Basic-Programmierer immer wieder stoßen. Insbesondere die direkte Übernahme gewählter Dateien ist nicht möglich, ohne den Dialog zu schließen. Sparen Sie es sich, immer wieder neu Ihren eigenen Dateidialog zu schreiben. Auf der Heft-CD finden Sie ein ausbaufähiges Programm. Dieses besteht aus einem Form- und einem Code-Modul. Beide fügen Sie in Ihr Projekt ein. Beachten Sie, dass in der Form mehrere Eigenschaften programmiert sind. Action gestaltet die Oberfläche. Mit den anderen, die Sie analog zum Standarddialog benutzen, werden beispielsweise DefaultExt, Pattern und andere vorgegeben oder abgefragt. Mit der Canceled-Eigenschaft besitzen Sie die Information, ob die Dateiwahl abgebrochen wurde. Im Programmcode finden Sie eine Vielzahl hilfreicher Prozeduren für im Standarddialog nicht verfügbare Funktionalität. Beispielweise wird immer eine Liste der aktuell im Ordner vorhandenen Dateierweiterungen angezeigt. Das erledigt die Prozedur
NewFileList.
Sub NewFileList
(Ziel As Control,
Quelle As Control)
Ziel.Clear

For m = 0 To Quelle.LostCount - 1
Ziel.AddItem Quelle.Lost(m)
Next
End Sub
Sie wählen Dateien, indem Sie die Dateinamen markieren und die Wahl mit dem Übernehmen-Button bestätigen. Die Dateinamen sind dann im globalen Variablenfeld FileNames() überall im Projekt verwendbar. Wollen Sie einen neuen Ordner anlegen? Dazu klicken Sie den Ordner, in dem Sie einen weiteren Ordner anlegen wollen, mit der rechten Maustaste an. Ändern Sie (optional) im erscheinenden Dialog den vorgegebenen Namen, oder brechen Sie den Vorgang ab. Bestätigen Sie danach den Namen. Sie befinden sich danach automatisch im neuen Ordner. Einen leeren Ordner entfernen Sie, indem Sie ihn mit der rechten Maustaste anklicken. Bestätigen Sie im sich öffnenden Menü den Löschvorgang. Ähnlich gehen Sie vor, wenn Sie Dateien entfernen wollen. Wählen Sie die zu löschenden Dateien mit der linken Maustaste aus. Auch Mehrfachwahl ist erlaubt. Klicken Sie dann die Dateiliste mit der rechten Maustaste an. Wählen Sie das komplette Löschen oder Verschieben in den Papierkorb. Auch den Vorgang können Sie per Mausklick abbrechen.

Verfasser: Andreas
Letzte Änderung: 2012-09-11 17:17


Auswahl mit Button

Mit diesem Tipp nutzen Sie OptionButton, um die richtige Wahl zu treffen. Mit OptionButton wählen Sie aus einem Block von Optionen die passende. Für den aktuell angeklickten Button gilt Value = True, alle anderen haben den Wert False. Alle in einem Container auf gleicher Ebene stehenden OptionButton werden unabhängig von ihrem Namen als zusammengehörend behandelt. Haben Sie beispielsweise auf einer Form mehrere Auswahlbuttons platziert, werden diese funktional zusammengefasst, auch wenn sie unterschiedliche Namen (Option1, Option2,...) haben. Leichter zu handhaben sind auf dem gleichen Container (Form, PictureBox oder Frame) stehende OptionButton, wenn sie gleiche Namen haben. Verwenden Sie Indizes für die Kennzeichnung. Dann ermitteln Sie die aktuell ausgewählte Option. Haben alle OptionButton auf einer Form den gleichen Namen, lassen sie sich durch ihren Index erkennen. Eine globale Variable dient dazu, die aktuelle Wahl festzuhalten. Flexibler ist die im Quellcode gezeigte Lösung. Die GetActOption- Funktion kann von beliebiger Stelle im Programm aufgerufen werden. Als Argument übergeben Sie das OptionButton- Feld. Das kann mit und ohne (leere) Klammer erfolgen. AltOpt = GetActOption(Option1) Eine Alternative aus dem Block der zusammengehörenden OptionButton hat normalerweise den Wert True. Mit der Prozedur GetActOption lassen Sie auch die Einstellung Keine Auswahl zu.

Verfasser: Andreas
Letzte Änderung: 2012-09-11 17:18


Befehlszeile abfragen

Wollen Sie die gesamte Befehlszeile für einen Programmaufruf abfragen, greifen Sie auf die API-Funktion GetCommandLine zurück.
Liefert die Command$-Anweisung von Visual Basic ausschließlich die Kommandozeilenparameter eines Programms zurück, können Sie mitels der API-Funktion GetCommandLine zusätzlich den Programmnamen samt Suchpfad ermitteln, der für den jeweiligen Programmaufruf genutzt wurde. Bevor Sie die API-Funktion einsetzen können, müssen Sie diese deklarieren. Die Funktion selbst liefert die Zeichenkette als Adresse zurück. Um eine Zeichenkette über eine Adresse auszulesen, nutzen Sie die weiteren API-Funktionen lStrLen, um deren Zeichenkettenlänge zu ermitteln, sowie RtlMoveMemory, um die Zeichenkette aus dem Speicher in eine Visual-Basic-Zeichenkette zu kopieren. Mit Hilfe der vorangehend deklarierten Funktionen können Sie Command-Line formulieren, die die vollständige Kommandozeile für den Programmaufruf zurückliefert. Nachdem die Zeichenkettenadresse via GetCommandLine ermittelt wurde, wird deren Länge via lStrLen im Speicher ausgelesen. Letztgenannte Information wird genutzt, um einen Pufferspeicher Cmd$ im Zeichenkettenformat einzurichten, in das das Ergebnis kopiert werden soll. Das Kopieren erfolgt schließlich über die Funktion CopyMem sowie über die angegebene## Adresse in den Pufferspeicher. Im Beispielsrogramm Search geben Sie die Kommandoziele für den Programmstart aus, indem Sie die Schaltfläche Informationen anwählen.

Verfasser: Andreas
Letzte Änderung: 2012-09-11 17:18


Besser als das Original

So bauen Sie Ihre Fortschrittsanzeige ein, um über zeitliche Programmabläufe zu informieren.
Die Fortschrittsanzeige von Visual Basic ist eines der Zusatz-Steuerelemente in der Datei Comctl32.OCX. Sie nutzen das Werkzeug ab Visual Basic 4-32. Damit stellen Sie Fortschritte in Programmabläufen dar. Leider hat dieses Control ein paar Nachteile. Die schwerwiegendsten sind der Zwang zur horizontalen Darstellung und die vorgegebenen Farben. Eine senkrecht angeordnete Fortschrittsanzeige müssen Sie selbst programmieren. In unserem Beispielprogramm finden Sie einen Lösungsvorschlag für Picture-Box-Controls. Damit legen Sie waagerecht und auch senkrecht angeordnete Leisten an. Platzieren Sie dazu eine PictureBox auf Ihrem Form-Objekt. Der Kern der Lösung ist die Prozedur ValueChange. Ihr übergeben Sie die Bildbox (Ctrl), den aktuellen Wert (V), den Maximalwert (MaxV) und die Farbe. Aus dem Verhältnis von Breite und Höhe ermittelt die Prozedur den Anordnungstyp nach folgendem Schema:
Vertikal =
(Ctrl.ScaleWidth <=
Ctrl.ScaleHeight)
Aus diesem Wert leiten Sie die Darstellung ab. Entsprechend zeigt die Picture-Box den Fortschritt der Wertänderung senkrecht oder waagerecht an.

Verfasser: Andreas
Letzte Änderung: 2012-09-11 17:19


Bild vollständig geladen?

Für den Programmablauf kann es wichtig sein, das Ende des Ladeprozesses eines Bilds zu kennen.
Größere Bilder und einige Bildtypen wie die ab VB 5 ladbaren jpg-Dateien brauchen einige Zeit, bis sie geladen sind. Wollen Sie verhindern, daß der Benutzer vorzeitig nachgeordnete Aktionen ausführt? Dann betten Sie die LoadPicture-Anweisung in die folgenden Codezeilen ein:
Static AktPic
AktPic = Picture1.Picture
' Hier die Ladezeile
Do While Picture1.Picture=AktPic
Loop
Die Timer-Werte stellen Sie vor der Ladezeile und nach der Schleife fest. Daraus ermitteln Sie die Ladezeit. Doch beachten Sie: Wenn Sie eine DoEvents-Zeile in der Do-Loop-Schleife plazieren, kann der Benutzer andere Aktionen starten.

Verfasser: Andreas
Letzte Änderung: 2012-09-11 17:20


Bild-Browser für große Bilder

Mit diesem Tip bearbeiten Sie Bilder, die größer als der Bildschirm sind.
Sie wollen Bilder bearbeiten oder darstellen, die größer sind als Ihre aktuellen Bildschirmabmessungen? Diese Bilder lassen sich darstellen, indem Sie sie mit der API-Funktion StretchBlt oder der ab VB 4 verfügbaren PaintPicture-Methode verkleinern. Aber zur Bearbeitung ist die Originalgröße erforderlich. Wie geht dies? Das Prinzip ist einfach: Legen Sie in einer PictureBox eine weitere PictureBox mit BorderStyle = 0 an. Geben Sie der PictureBox die gewünschten Abmessungen. Verschieben Sie die innere PictureBox mit dem Bild so, daß der zu bearbeitende Bildausschnitt sichtbar ist. Zum Verschieben verwenden Sie je eine vertikale und ho- rizontale ScrollBar, die Sie neben und unter der äußeren PictureBox anord-nen. Setzen Sie dafür folgende Eigenschaften:
VScroll1.Max = Picture1. ScaleHeight - Picture2.Height
HScroll1.Max = Picture1. ScaleWidth - Picture2.Width
Jetzt verschieben Sie Ihr Bild beispielsweise in vertikaler Richtung mit der Codezeile:
Sub VScroll1_Change( )
Picture2.Top = - VScroll1.Value
End Sub

Verfasser: Andreas
Letzte Änderung: 2012-09-11 17:20


Bildabmessungen aus der bmp-Datei lesen

Wer Bitmaps verändern will, sollte die Proportionen einhalten, um unschöne Verzerrungen zu vermeiden.
Um Bitmaps proportionsgemäß zu vergrößern oder zu verkleinern, brauchen Sie deren Abmessungen. Immer wieder finden Sie zur Ermittlung der Bildabmessungen den Tip, das Bild in eine PictureBox einzulesen und aus Scale-Width und ScaleHeight die Abmessungen auszulesen. Daß es zumindest für bmp-Dateien einfacher geht, zeigen wir Ihnen hier. Alle bmp-Dateien sind nach dem gleichen Prinzip gespeichert. Den Detailin-formationen über die einzelnen Bildpunkte ist eine zweigeteilte Header-Struktur vorangestellt. Aus dieser lesen Sie unter anderem die Originalabmessungen der Bitmap ab:
Sub BMPSize _
(D$, Wdth As Long, Hght As Long)
Dim Dmmy As String * 18
Nr = FreeFile
Open D$ For Binary As #Nr
Get #Nr, , Dmmy
Get #Nr, , Wdth
Get #Nr, , Hght
Close #Nr
End Sub

Verfasser: Andreas
Letzte Änderung: 2012-09-11 17:21


Bilder im Menü

Menüs mit Symbolen machen Ihr Programm benutzerfreundlich.
Die Benutzeroberfläche von Visual Basic zeigt seit Version 5.0, wie hilfreich Symbole in Menüs sind. Leider bestehen selbst mit Visual Basic 6 angelegte Menüs immer noch aus reinen Textzeilen. Eine Option für Bilder in Menüzeilen fehlt. Unser Tipp zeigt Ihnen, wie Sie Symbole in Ihre Menüzeilen einfügen. Sie nutzen dazu den Platz, den Windows für die Checkmarken vor den Menüzeilen anbietet. Die Abmessungen dieses Platzes stellen Sie mit Hilfe der API-Funktion GetMenuCheckMarkDimensions fest.
Sub GetCheckmarkDimensions()
CheckMarkWidth = _
GetMenuCheckMarkDimensions() _
And 65535
CheckMarkHeight = _
GetMenuCheckMarkDimensions() _
\ 65536
End Sub
In der Regel steht eine Fläche von 13 mal 13 Pixeln zur Verfügung. Die Bilder müssten demnach extrem winzig gezeichnet sein. Im Beispielprogramm finden Sie die Prozedur PicToCheckmark. Diese verkleinert mit der API-Funktion StretchBlt jedes beliebig große Bild auf die Checkmark-Abmessungen. Dann können Sie es in eine Menüzeile einfügen. Sie vermeiden Verzerrungen der Symbole, wenn Sie die Bildvorlagen quadratisch anlegen.

Verfasser: Andreas
Letzte Änderung: 2012-09-11 17:21


Bilder mit Übermaß

Dieser Tipp zeigt, wie Sie übergroße Bilder in der Form bewegen.
Große Bilder können Sie entweder verkleinern, um sie ganz anschauen zu können, oder in einen PictureBrowser einfügen. In unserem Beispielprogramm besteht der Browser aus einer PictureBox (Picture1), um das Bild aufzunehmen, je einer horizontalen (HScroll1) und vertikalen (VScroll1) Scrollbar, sowie einer weiteren PictureBox (Picture2), die den Zwischenraum im Ecktreffpunkt der beiden Scrollbars verdeckt. Die Picturebox mit dem Bild muss im Hintergrund der anderen zum Picture-Browser gehörenden Controls angeordnet sein. Das realisiert die Prozedur PicBrwsINIT, die beim Programmstart aufgerufen wird:
Sub PicBrwsINIT(Pic1 As Control,
Pic2 As Control)
Pic1.Left = 0
Pic1.Top = 0
Pic1.ZOrder 1
Pic2.BackColor = Pic2.Container.
BackColor
End Sub
Die Prozedur PicBrwsAdjust ist die wichtigste. Sie wird jeweils aufgerufen wird, wenn eine der Scrollbars ihren Wert ändert. Das Programm ist so geschrieben, dass Sie die Prozeduren direkt mit dem Codemodul in Ihre eigenen Projekte einfügen können. Im Codemodul finden Sie folgende Zeilen, die Sie in Ihre Browser-Form kopieren:
' xxxxxxx PicBrws xxxxxxxxx
Private Sub HScroll1_Change()
Scroll_Change Picture1, HScroll1
End Sub
Private Sub HScroll1_Scroll()
Scroll_Scroll HScroll1
End Sub
Private Sub VScroll1_Change()
Scroll_Change Picture1, VScroll1
End Sub
Private Sub VScroll1_Scroll()
Scroll_Scroll VScroll1
End Sub
' xxxxxxx Ende PicBrws xxxxxxxxx
Durch den modularen Aufbau sind in Ihrer Form, die den Picturebrowser enthält, nur noch folgende Zeilen erforderlich:
Private Sub Form_Load()
' ...
PicBrwsINIT Picture1, Picture2
End Sub
Private Sub Form_Resize()
' ...
PicBrwsAdjust Me, VScroll1,
HScroll1, Picture1, Picture2
End Sub

Verfasser: Andreas
Letzte Änderung: 2012-09-11 17:22


Bilder überblenden

Sie wollen von einem Bild in ein anderes professionell überblenden? So einfach geht es.
Wer mit Bildwechseln arbeitet, braucht Überblendmethoden. Nutzen Sie die Methode PaintPicture: Sie überdecken jeweils Teile des Zielbilds mit den entsprechenden Teilen aus dem Quellbild. Das folgende Beispiel zeigt die horizontal von beiden Seiten nach innen laufende Überblendung. Beachten Sie, dass die DoEvents-Zeile Unterbrechnungen während des Schleifenlaufs zulässt.
'Horizontal nach innen
Hght = Ziel.ScaleHeight
Wdth = Ziel.ScaleWidth \ _
Schritt
For m = 0 To _
(Ziel.ScaleWidth + _
Wdth) / 2 Step Wdth
Ziel.PaintPicture _
Quelle.Picture, _
m, 0, Wdth, Hght, _
m, 0, Wdth, Hght, _
SRCCOPY
Ziel.PaintPicture _
Quelle.Picture, _
Ziel.ScaleWidth - _
m, 0, Wdth, Hght, _
Ziel.ScaleWidth - _
m, 0, Wdth, Hght, _
SRCCOPY
a = DoEvents()
Next
Ein ab VB4 verwendbares Beispielprogramm finden Sie auf der Heft-CD unter ...Blend/4_blend1.vbp.

Verfasser: Andreas
Letzte Änderung: 2012-09-11 17:22


Bin ich online?

Bares Geld kann die Information wert sein, ob der PC online ist. Ein kleines Programm gibt darüber Auskunft.
Sie möchten wissen, ob Ihr PC online mit dem Internet verbunden ist? Dann gehen Sie folgendermaßen vor: Rufen Sie als erstes die API-Funktion Ras-EnumConnections auf, die eine Datenstruktur vom Typ RASCONN95 mit den Daten der existierenden Verbindungen auffüllt. Anschließend starten Sie RasGetConnectStatus mit der Nummer der gewünschten Verbindung, wobei die Verbindungsdaten in einer Datenstruktur vom Typ RAS-CONNSTATUS95 abgelegt werden. on-line (Listing 6) führt Ihnen das Ver-fahren vor. Eine andere Methode besteht darin, über die API-Funktion (Application Programming Interface) RasGet-ConnectStatus der Systemdatei Ras-Api32.dll zu prüfen, ob eine Remote-Access-Verbindung (eine Netzwerkver-bindung zu einem anderen Computer) besteht. Diese API-Funktionen werden jedoch leider nicht über den API-Viewer angeboten.

Verfasser: Andreas
Letzte Änderung: 2012-09-11 17:23


BitBlt, StretchBlt oder PaintPicture

Wenn sich Bilder in einer PictureBox oder Form häufig ändern, nutzen Sie die Kopierfunktion für den schnellsten Wechsel.
Dieser Tip zeigt, wie Sie die GDI-Funktionen BitBlt und Stretch mit hori-zontaler Spiegelung sowie PaintPicture verwenden. PaintPicture zeichnet ein Formular. Dabei prüfen Sie, welche der Kopierfunktionen die schnellste ist. Legen Sie ein Projekt mit einer Form und folgenden Controls an:
'Picture1 (ScaleMode=vbPixels,_
AutoSize = True, Bild eingefügt)
'Picture2 (ScaleMode = vbPixels)
Command1(0 bis 2)
(Caption: (0) BitBlt,
(1) StretchBlt,
(2) PaintPicture
* Label1 (BorderStyle = 0)
Fügen Sie dort den Code aus dem Beispielprogramm ein.

Verfasser: Andreas
Letzte Änderung: 2012-09-11 17:23


Byte, KByte oder MByte?

Wenn die Zahlenangaben für die Speicherkapazität ins Gigantische wächst, verschafft Ihnen dieser Tip Klarheit über die Größen. Schreiben Sie ein Programm, in dem Sie Speicherwerte anzeigen wollen, er-halten Sie von den dafür verwendbaren API-Funktionen riesige Zahlenwerte. Diese sind selbst für Physiker kaum noch lesbar, selbst die Tausendertren-nung schafft kaum eine große Erleichterung. Daher zeigen wir Ihnen hier drei Funktionen, mit denen Sie Byte in KByte, MByte und in GByte umrech-nen. Function WertInKB$(ByVal Wert) If VarType(Wert) = 8 Then W# = CDbl(Wert) Else W# = Wert End If D1# = W# / 1024 D1# = Round(D1#, 3) WertInKB$ = Format(D1#) End Function Function WertInMB$(ByVal Wert) If VarType(Wert) = 8 Then W# = CDbl(Wert) Else W# = Wert End If D1# = W# / 1024 / 1024 D1# = Round(D1#, 3) WertInMB$ = Format(D1#) End Function Function WertInGB$(ByVal Wert) If VarType(Wert) = 8 Then W# = CDbl(Wert) Else W# = Wert End If D1# = W# / 1024 / 1024 / 1024 D1# = Round(D1#, 3) WertInGB$ = Format(D1#) End Function Die Funktion Round ist ab VB 6 integriert. In älteren Versionen integrieren Sie sie wie folgt: Function Round(Zahl As _ Variant, Stellen) As Variant round=Int(Zahl*10^Stellen+0.5)/_ (10^Stellen) End Function Die Syntax dieser Funktion entspricht der ab VB6. Übergeben Sie ihr den zu rundenden Zahlwert mit den von Ihnen gewünschten, vorgesehenen Nachkommastellen.

Verfasser: Andreas
Letzte Änderung: 2012-09-11 17:24


CD-Schublade öffnen

Die Prozedur CD_Door öffnet und schließt das CD-Laufwerk.
Die für Multimedia-Anwendungen unerlässliche 16-Bit-DLL mmsystem. dll wird auch unter 32 Bit aufgerufen. In dieser Datei verbergen sich grundlegende Funktionen für das CDLaufwerk. Mit einer Deklaration zur Verbindungs-DLL winmm.dll greifen Sie auf die 16-Bit-DLL zu. Unser Beispiel-Code ruft die API-Funktion mciExecute auf. In Abhängigkeit der Aktion, die das CD-Laufwerk ausführen soll, setzen Sie das Argument zusammen:
' 32-Bit
Declare Function mciExecute _
Lib „winmm.dll" _
(ByVal lpstrCommand _
As String) As Long
Sub CD_Door(Action As Integer)
Dim Tx As String
Tx = „Set CDaudio door „
Select Case Action
Case 0
TIPP TIPP
Tx = Tx + „closed"
Case 1
Tx = Tx + „open"
End Select
ok = mciExecute(Tx)
End Sub
Sie finden das unter 16/32-Bit verwendbare Beispielprogramm unter ...\CDDoor\4_cddoor.vbp

Verfasser: Andreas
Letzte Änderung: 2012-09-11 17:25


Collection oder Array

Ein Programm veranschaulicht, mit welcher Element-Auflistung Sie schneller arbeiten können.
Seit Visual Basic 4 lassen sich unterschiedliche Elementtypen mit der Collection-Auflistung oder mit einem Variablenfeld zusammenfassen. Doch welche Alternative arbeitet schneller? Diese Frage beantwortet ein Beispielprogramm, welches verschiedene Methoden zeigt, um Elemente zu löschen. Verwenden Sie Variablenfelder anstelle der Collection-Auflistung. Diese sind schneller zu verarbeiten.

Verfasser: Andreas
Letzte Änderung: 2012-09-11 17:25


ComboBox besser nutzen

So öffnen und schließen Sie mit SendMessageeine Liste.
Der Benutzer klappt die Liste der ComboBox normalerweise per Klick auf die integrierte Schaltfläche aus. Dafür besitzt Visual Basic jedoch keine Methoden. So scheint es unmöglich, die Liste aus dem Programm heraus zu öffnen. Aber was wär VB ohne API-Funktionen? Hier hilft die API-Funktion Sendmessage. Mit ihr schließen und öffnen Sie die Drop-Down-Liste der ComboBox aus dem Programmcode heraus. Dazu dient der Aufruf folgender Funktion.
Public Sub DropDown _
(Combo As ComboBox)
ok = SendMessage(Combo.hWnd, _
CB_SHOWDROPDOWN, -1, ByVal ")
End Sub
Mit Sendmessage überprüfen Sie auch, ob die Liste aktuell offen ist.
Public Function IsDropped _
(Combo As ComboBox)
IsDropped = SendMessage _
(Combo.hWnd, _
CB_GETDROPPEDSTATE, 0, ByVal
")
End Function

Verfasser: Andreas
Letzte Änderung: 2012-09-11 17:26


Computer-Laufzeit

Dieser Tip verrät Ihnen am Ende des Arbeitstags, wie lange Ihr Rechner eingeschaltet war.
Bei der anregenden und kreativen Computerarbeit vergeht die Zeit wie im Flug. Um zu wissen, wie lange Sie vor dem Bildschirm gesessen haben, doku-mentieren Sie Ihre Arbeitsstunden. Dazu benutzen Sie den Timer-Wert, den Sie nach dem Einschalten festhalten. Abschließend berechnen Sie die Differenz zur aktuellen Zeit. Noch einfacher gibt Ihnen die API-Funktion GetTickCount Auskunft über Ihre Arbeitsstunden. Denn diese gibt die Zeit seit dem Einschalten des Rechners in Millisekunden zurück. Bitte beachten Sie, daß die Funktion unter 16 Bit in der userdll steht.
#If Win16 Then
Private Declare Function _
GetTickCount _
Lib "User" () As Long
#Else
Private Declare Function _
GetTickCount _
Lib "Kernel32" () As Long
#End If
Ihre Prozedur könnte so aussehen:
Function Laufzeit( ) As Long
Laufzeit = GetTickCount()
End Function

Verfasser: Andreas
Letzte Änderung: 2012-09-11 17:26


Controls zur Laufzeit

Wie Sie Controls durch Kopieren vermehren, zeigen wir hier.
Controls können Sie seit VB6 auch dynamisch referenzieren (erstellen). Der Vorteil ist, dass Sie kein Control als Vorlage brauchen. Der Nachteil ist, dass Sie beim Entwickeln einstellbare Eigenschaften zur Laufzeit nicht beeinflussen können. Das seit VB4 zulässige Kopieren ist einfacher. Voraussetzung ist ein Urcontrol mit dem Index 0. Mit Load legen Sie Kopien an. Schreiben Sie in die entsprechenden Ereignisprozeduren auch die für die Kopien geplanten Aktionen. Die Kernzeilen der Prozedur unseres Beispielprogramms lauten folgendermaßen:
Sub Command1_Click _
(Index As Integer)
Select Case Index
Case 0
Ix = Command1.Count
Load Command1(Ix)
With Command1(Ix)
.Top = _
Command1(Ix - 1).Top + _
Command1(Ix - 1).Height
.Left = Command1(Ix - _
1).Left
.Caption = .Caption & _
„(„ & _
(Command1.Count - _
1) & „)"
.Visible = True
End With
Case Else
' ...
End Select
End Sub
Sie finden das Beispielprogramm auf der Heft-CD unter ...\ctrlcopy\ 4_ctlcpy.vbp.

Verfasser: Andreas
Letzte Änderung: 2012-09-11 17:27


Cursor auf der Linie

Soll sich der Cursor nur in einer waagerechten oder senkrechten Linie bewegen? Hier sehen Sie, wie es geht.
Unter VB stehen Ihnen keine integrierten Funktionen für die Cursorsteuerung zur Verfügung. Um die Position des Cursors abzufragen oder zu setzen, müssen Sie auf die API-Funktionen GetCursorPos und SetCursorPos zugreifen. Leider gibt es keine einheitlichen Parameter. Während Sie bei SetCursor-Pos direkt x- und y-Wert übergeben, verlangt GetCursorPos eine PointAPI-Struktur. Fügen Sie die folgenden Deklarationszeilen ein, und ersetzen Sie die Private- durch Public-Deklarationen.
Private Type POINTAPI
x As Long
y As Long
End Type
Private Declare Function _
SetCursorPos Lib "user32" _
(ByVal x As Long, _
ByVal y As Long) As Long
Private Declare Function _
GetCursorPos Lib "user32" _
(lpPoint As POINTAPI) As Long
Im Beispiel wird der Cursor jeweils auf der Linie festgehalten, die Sie per Klick mit der linken Maustaste markieren. Mit der rechten Taste heben Sie die Begrenzung wieder auf:
Private StartY As Long
Private ClipLine As Integer
Private Pt As POINTAPI
Private Sub Form_MouseDown _
(Button As Integer, Shift As _
Integer, x As Single, _
y As Single)
ClipLine = (Button = 1)
Res = GetCursorPos(Pt)
StartY = Pt.y
End Sub
Private Sub Form_MouseMove _
(Button As Integer, _
Shift As Integer, _
x As Single, y As Single)
If ClipLine Then
Res = GetCursorPos(Pt)
Pt.y = StartY
Call SetCursorPos (Pt.x, Pt.y)
End If
End Sub
Ein Beispielprojekt f.r 16 und 32Bit finden Sie auf der Heft-CD in der Rubrik Praxis/Tips & Tricks/Programmierung/curline.

Verfasser: Andreas
Letzte Änderung: 2012-09-11 17:27


Cursor mit Tasten bewegen

Weil VB Ihnen keine Funktion zur Verfügung stellt, den Cursor mit Tasten zu bewegen, nutzen Sie dazu API-Funktionen in Ihren Programmen.
VB ist mit jeder neuen Version verbessert
worden. Cursorfunktionen fehlen
aber nach wie vor. Dafür nutzen wir
die API-Funktionen
GetCursorPos
SetCursorPos und
ClientToScreen.
Die gekürzt dargestellte Prozedur Cursor bewegen (vollständig auf der Heft-CD) rufen Sie aus der jeweiligen KeyDown-Prozedur auf. Es eignen sich dazu die Objekte, die eine hWnd-Eigenschaft besitzen. Rechnen Sie die Positionen der Ränder in Screen-Werte um. Diese Ränder bilden die Grenzen der Cursor-Aktionen. Je nach KeyCode bewegt sich der Mauspointer auf dem Objekt in alle Richtungen, auch diagonal.
Sub CursorBewegen
(Ctrl As Object, KeyCode, Shift)
' Begrenzung ermitteln
lpPoint.x = 0; lpPoint.y = 0
ClientToScreen _
Ctrl.hwnd, lpPoint
MinX = lpPoint.x
MinY = lpPoint.y
XX = Ctrl.ScaleWidth
YY = Ctrl.ScaleHeight
MaxX = MinX + XX -1
MaxY = MinY + YY -1
' Aktuelle CursorPos
GetCursorPos lpPoint
XX = lpPoint.x; YY = lpPoint.y
Select Case KeyCode
Case 33
If Shift = 0 Then
If XX = MaxX Or YY =
MinY Then Exit Sub
If XX + Schritt >
MaxX Or YY -Schritt <
MinY Then Schritt = 1
XX = XX + Schritt
YY = YY -Schritt
ElseIf Shift = 2 Then
XX = MaxX;YY = MinY
End If
If YY < MinY Then YY = MinY
If XX > MaxX Then XX = MaxX
End Select
SetCursorPos XX, YY
Schritt = Schritt + 1
End Sub
Die Prozedur ermittelt die Grenzwerte
immer neu. Sie können daher die
Formen auch zwischendurch verschieben.
TIPP TIPP
Das 16-/32-Bit-Beipielprogramm finden Sie unter ...\Cursor\4_curs2.vbp s

Verfasser: Andreas
Letzte Änderung: 2012-09-11 17:28


Das Datenträger-Label

Den Namen eines Datenträgers, das so genannte Label, gewinnen Sie mit diesem Tipp.
Mit der dir-Funktion können Sie nicht nur Verzeichnisse und Dateien aufspüren. Im hier gezeigten Beispiel gewinnen Sie damit das Datenträgerlabel.
Function DrvLabel(ByVal Drv$)
_ As String
Const ATTR_VOLUME = &H8
On Error Resume Next
DrL$ = „ [„ + _
Dir$(Left$(Drv$, 2) + _
„*.*", ATTR_VOLUME) + _
„]"
If Err > 0 Then DrL$ = _
„Nicht verfügbar!"
DrvLabel = DrL$
End Function
Das Beipielprogramm finden Sie unter ...\DriveLabel\
4_drvlbl.vbp

Verfasser: Andreas
Letzte Änderung: 2012-09-11 17:28


Das Ende eines Windows-Prozesses ermitteln

Für die Koordination zwischen einem VB-Programm und einer per Shell gestarteten Anwendung ist es oft notwendig, das Ende der Anwendung abzuwarten.
Wenn Sie zum Beispiel den Windows-Rechner per Shell-Befehl gestartet haben, dann läuft ihr VB-Programm munter weiter, da Windows ein Multitasking-Betriebssystem ist. Mitunter ist dieses Verhalten aber nicht erwünscht, etwa dann nicht, wenn das VB-Programm Ergebnisse oder Daten der gestarteten Anwendung verarbeiten soll.
Sie müssen also eine Methode entwickeln, um das Ende eines laufenden Windows-Prozesses zu erkennen. Und auch dabei erweist sich die API-Funktion FindWindow als äußerst nützlich. Wenn der Klassenname des Programms oder notfalls auch sein Fenstertiteltext bekannt ist, dann können Sie Ihr VB-Programm mit FindWindow in eine Endlosschleife schicken, die erst verlassen wird, wenn die fragliche Anwendung beendet wurde.
Das Beispiel in win-end.bas (Listing in Databox 3/98) startet das Spiel Minesweeper aus dem Windows-Zubehör. Die While-Wend-Schleife wird solange durchlaufen, wie die FindWindow-Funktion ein gültiges Fenster-Handle für die über ihren Klassennamen (Minesweeper) identifizierte Anwendung zurückliefert.
Damit in der Zwischenzeit dennoch Ereignisse verarbeitet werden oder (16-Bit-) Anwendungen zum Zug kommen, die auf kooperatives Multitasking angewiesen sind, enthält das Schleifeninnere eine DoEvents-Anweisung. Die abschließende MsgBox-Anweisung informiert den Anwender über das Ende des Spiels.

Verfasser: Andreas
Letzte Änderung: 2012-09-11 17:29


Das erste CD-Laufwerk

So einfach stellen Sie fest, welches das erste CD-Laufwerk im System ist.
Oft vergessen Programmierer, wichtige Informationen von den integrierten Datei-Controls einzuholen. Nutzen Sie eine DriveListBox, die Sie nicht anzeigen lassen müssen, um das erste CD-Laufwerk zu ermitteln.
Function FirstCD(Drv As _
DriveListBox) As String
For m = 0 To Drv.ListCount -1
Dr$ = Drv.List(m)
DrName$ = Left( _
Drv.List(m), 2)
If Left(DriveType( _
DrName$), 6) = „CD-ROM" _
Then Exit For
Next
If m = Drv.ListCount Then
m = m -1
End If
FirstCD = Drv.List(m)
End Function
Das 16/32-Bit-Beipielprogramm finden Sie unter ...\FirstCD\4_frstcd.vbp

Verfasser: Andreas
Letzte Änderung: 2012-09-11 17:30


Datei vorhanden oder nicht ?

Eine goldene Regel der Programmierung besagt: Bevor Sie auf eine Datei zugreifen, sollten Sie sich von ihrer Existenz überzeugen.
Eine der häufigsten Fehlerquellen in der Programmierung ist der Zugriff auf nicht oder nicht mehr bestehende Dateien. Jeder einschlägigen Aktion sollte daher die Überprüfung vorausgehen, ob sich die benötigte Datei noch auf ihrem Datenträger befindet.
Für schnell gestrickte Programme reicht es in der Regel aus, die Dir$-Funktion zu bemühen. Sie liefert den Namen einer Datei nur zurück, wenn sie diese auch findet; anderenfalls erhalten Sie eine leere Zeichenkette. Überprüfen Sie zum Beispiel mit folgendem Code-Fragment, ob die Datei c:\config.sys existiert:
If Dir$("c:\config.sys")>"" Then
'Datei existiert
Else
'Datei nicht gefunden
End If
So einfach dieses Verfahren auch ist, hat es doch zwei Nachteile:
- Zum einen unterscheidet Dir$ nicht zwischen Ordnern und Dateien, so daß es bei einer zufälligen Namensgleichheit zwischen Ordner und Datei passieren kann, daß Sie das falsche Objekt erwischen.
- Zum anderen ist Dir$ nicht fehlertolerant. Insbesondere beim Zugriff auf ein leeres Diskettenlaufwerk kommen Fehlermeldungen vor, denen Sie nur mit einer aufwendigen Behandlungsroutine begegnen können.
Als Alternative wählen Sie die Funktion FileExist (Listing in Databox 6/98). Sie versucht, die angegebene Datei per Open-Anweisung zu öffnen. Dabei geht sie zunächst von der Vermutung aus, daß die Datei besteht (FileExist = True). Mißlingt der Öffnungsversuch, weil
- die Datei tatsächlich nicht vorhanden ist,
- sich als Verzeichnis entpuppt
- oder das Laufwerk wegen einer falsch eingelegten Diskette zum Beispiel nicht bereit ist, erzeugt Visual Basic einen Fehler, den die lokale Fehlerbehandlungsroutine abfängt. Hier wird der Funktionswert True von FileExist in False geändert und zurückgegeben.
Die Überprüfung von c:\config.sys sieht mit FileExist folgendermaßen aus:
If FileExist("c:\config.sys") = True Then
'Datei existiert
Else
'Datei existiert nicht,
'ist ein Ordner oder
'das Laufwerk ist leer ...
End If

Verfasser: Andreas
Letzte Änderung: 2012-09-11 17:55


Dateiattribute setzen

Die SetAttr-Anweisung von Visual Basic bietet nur wenig Komfort beim Setzen und Entfernen von Dateiattributen. Die Nachbildung eines DOS-Befehls kann das besser.
Auch ein Visual-Basic-Entwickler sollte mit den aus alten DOS-Tagen überlieferten Dateiattributen umgehen können, beispielsweise um eine schreibgeschützte Datei bearbeiten zu können oder um vertrauliche Dateien als Systemdateien zu tarnen.
Mit der SetAttr-Anweisung von Visual Basic weisen Sie jeder Datei einen bestimmten Attributstatus zu, der sich aus der Summe der zu setzende Einzelattribute ergibt:
1    ReadOnly (schreibgeschützt)
2    Hidden (versteckt)
4    System
32    Archive (Archivstatus)
Allerdings unterstützt SetAttr im Gegensatz zum DOS-Befehl attrib nicht das gezielte Aus- oder Einschalten einzelner oder mehrerer Attribute.
Folglich gilt es, die Funktionsweise des DOS-Befehls
nachzubilden, wie es in der Prozedur Attrib (Listing in Databox 3/98) geschieht. Natürlich verfügt die Prozedur über die gleiche Argumentstruktur: Die in AttrString zu übergebende Zeichenkette besteht aus maximal vier Buchstaben für die zu setzenden Attribute:
r    ReadOnly
h    Hidden
s    System
a    Archive
Die Attribute schalten Sie aus, indem Sie ein Minuszeichen voranstellen. Das zweite Argument benennt den Pfadnamen der Datei. Der Aufruf
Attrib "-s-hr","c:\test.txt"
schaltet demnach in der fiktiven Datei c:\test.txt die Attribute System und Hidden aus sowie das ReadOnly-Attribut an.
Eine auf vier Durchläufe abgestimmte For-Next-Schleife behandelt nun jedes Attribut einzeln. Dazu wird jeweils der aktuelle Gesamt-Attributwert der Datei mit Hilfe der GetAttr-Funktion ermittelt und in der Variablen FileAttr gespeichert. Die anschließende If-Abfrage stellt zunächst per Instr-Funktion fest, ob der jeweilige Attribut-Buchstabe (AktChar) mit einem vorangestellten Minuszeichen in der Argumentzeichenkette AttrString enthalten ist. Da in diesem Fall das Attribut entfernt werden soll, ermittelt die Prozedur anhand einer AND-Verknüpfung des Gesamt-Attributwerts (FileAttr) mit dem Wert des zu entfernenden Attributs (AktAttr), ob dieses überhaupt gesetzt ist. Trifft das zu (Ergebnis>0), dann ziehen Sie den aktuellen Attributwert vom Gesamt-Attributwert ab und übertragen das Resultat per SetAttr-Befehl auf die Datei.
Der ElseIf-Block überprüft, ob der jeweilige Attribut-Buchstabe ohne Minuszeichen in der Argumentzeichenkette enthalten ist, das Attribut also gesetzt werden soll. Ist das der Fall, ermittelt eine AND-Verknüpfung, ob das zu setzende Attribut gegebenenfalls schon im Gesamt-Attributwert enthalten ist. Ist das Ergebnis 0 (nicht enthalten), addieren Sie den aktuellen Attributwert zum Gesamt-Attributwert. Der SetAttr-Befehl weist das Ergebnis der Datei zu.

Verfasser: Andreas
Letzte Änderung: 2012-09-11 17:56


Dateisuche in allen Laufwerken

Ausgehend von der Standardsuchfunktion SearchFiles für Dateien definieren Sie auch laufwerkübergreifende Suchen.
Die Windows-Suchfunktion erlaubt es, wahlweise auf einem oder mehreren Laufwerken zu suchen. Bei der Routine SearchFiles bezieht sich eine Suche immer auf ein bestimmtes Laufwerk oder Verzeichnis. Wollen Sie mehrere Laufwerke verarbeiten, übergeben Sie diese nacheinander an die entsprechende Suchfunktion. Im Beispielprogramm Search können Sie nach dem Markieren der entsprechenden Option wahlweise ein bestimmtes Laufwerk über ein Listenfeld wählen oder sämtliche Laufwerke von C bis Z durchsuchen lassen. Suchvorgänge auf großen oder auf mehreren Laufwerken sind zeitkritisch. Das Suchprogramm muss daher einen vorzeitigen Abbruch erlauben. Im Programm Search wird dazu die Variable sCancel eingeführt, die immer dann auf den Wert True gesetzt wird, wenn der Anwender abbrechen will. Um eine Suche zu beginnen, geben Sie die zu suchende Teilzeichenkette ins zugehörige Textfeld ein und bestätigen mit Suchen. Die Schaltfläche ändert daraufhin ihren Schaltflächentext in Abbrechen. Während der Suche werden alle weiteren Schaltflächenfunktionen über die benutzerdefinierte Routine DeactivateButtons deaktiviert. Wählen Sie die Schaltfläche Abbrechen an, wird lediglich die globale Variable sCancel auf True gesetzt. Die Variable wird in der Routine SearchFiles permament überwacht und führt, sofern sie den Wert True hat, zum Abbruch der jeweiligen Suche. Jeder rekusiv gestartete Aufruf wird dabei getrennt beendet. Die Suche wird wahlweise für ein einzelnes oder für sämtliche Laufwerke durchgeführt. Lediglich Diskettenlaufwerke werden bei einer Suche nicht berücksichtigt. Die verfügbaren Laufwerke werden über ein Laufwerklistenfeld ermittelt. Darin erscheinen auch die Netzwerkressourcen, die Sie an logische Laufwerkbuchstaben gebunden haben. Für jedes Laufwerk, das bei der Suche berücksichtigt wird, wird die benutzerdefinierte Routine SearchFiles getrennt aufgerufen. Die Suchergebnisse werden beim Aufruf dieser Routine standardmäßig nicht gelöscht. Dies hat zur Folge, dass die Suchergebnisse für sämtliche Laufwerke wie gewünscht im Ergebnislistenfeld erscheinen. Um den Inhalt des Ergebnislistenfeldes zu löschen, wählen Sie im Programm Search die Schaltfläche Ergebnisse löschen.

Verfasser: Andreas
Letzte Änderung: 2012-09-11 17:56


Dateityp kennen

Um eine Datei mit der passenden Anwendung zu öffnen, müssen Sie den Dateityp kennen.
Nicht immer zeigt die Dateierweiterung an, welcher Dateityp vorliegt. Oft verrät dies erst ein genauer Blick in die Dateien. Zumeist zeigt der Dateikopf (Fileheader) an, mit welchem Typ Sie es zu tun haben. Eine Ausnahme bilden reine ASCII/ANSI-Dateien, weil sie keinen Fileheader haben. Die hier gezeigte Prozedur ist leicht zu erweitern. Eine gute Hilfe dazu ist das Buch Referenzhandbuch Dateiformate von Günter Born (Galileo Press, 1130 Seiten, 119,90 Mark, ISBN 3-934358-83-7).
Function FType(Tx As String)
Select Case True
Case UCase(Left(Tx, 5)) =
"{\RTF"
FType = "RTF"
Case UCase(Left(Tx, 2)) = "MZ"
FType = "EXE"
Case UCase(Left(Tx, 2)) = "BM"
FType = "BMP"
Case Else
FType = "TXT"
End Select
End Function
Beachten Sie die Umkehrung von Bedingung und Ergebnis. Das Verfahren zeigt, wie Sie auf unterschiedliche Bedingungen eingehen.

Verfasser: Andreas
Letzte Änderung: 2012-09-11 17:57


Den Cursor verstecken

Um Ihr Programm mit einem speziellen Cursor zu gestalten, machen Sie den Mauszeiger unsichtbar.
Wollen Sie einen eigenen Cursor verwenden, muss der Standardcursor unsichtbar sein. Für die Anzeige und Nichtanzeige des Mauscursors gilt Folgendes: Windows inkrementiert die Aufrufe der relevanten API-Prozeduren; nur, wenn der Wert gleich oder größer als 0 ist, wird der Mauscursor angezeigt. Rufen Sie die API-Funktion ShowCursor mit dem Argument 1 auf, wird der Wert bei jedem Aufruf um 1 dekrementiert. Übergeben Sie das Argument 0, inkrementiert dies den Wert um 1 bei jedem neuen Aufruf. Auf diese Weise ändern Sie den Zählwert. Wollen Sie den Cursor verstecken, wenn der Zählwert größer als 0 ist, rufen Sie ShowCursor mit dem Argument 1 so lange auf, bis der Zählwert -1 wird. Umgekehrt gehen Sie vor, wenn Sie den Cursor zeigen wollen. In den beiden Prozeduren des Programms sind Schleifen eingefügt, die den Zählwert anpassen. Der Cursor ist nur für die aktuelle Anwendung verborgen, auf dem übrigen Desktop bleibt er sichtbar. Auf der Form stehen zwei Buttons, mit der Sie die jeweilige Prozedur aufrufen. Wenn der Cursor versteckt ist, genügt ein Klick auf den Button Anzeigen oder auf die Form, um ihn wieder sichtbar zu machen:
Sub CursorHide()
a = ShowCursor(1)
Do While a >= 0
a = ShowCursor(0)
Loop
End Sub
Sub CursorShow()
a = ShowCursor(0)
Do While a < 0
a = ShowCursor(1)
Loop
End Sub

Verfasser: Andreas
Letzte Änderung: 2012-09-11 17:58


Den Laufwerkstyp feststellen

Es gibt verschiedene Arten von Laufwerken. So finden Sie sie heraus.
Zwar stehen über die List-Eigenschaft eines Laufwerkslistenfeldes, das auch unsichtbar sein kann, alle angemeldeten Laufwerke zur Verfügung, jedoch ohne den Typ des Laufwerks anzugeben. Das holt die API-Funktion GetDriveType nach. Unser Programm (Listing in Databox 7/97) gibt nach Auswahl eines Laufwerks aus dem Laufwerkslistenfeld den Laufwerkstyp aus.
Peter Monadjemi/et

Verfasser: Andreas
Letzte Änderung: 2012-09-11 17:58


Der Bitmap-Typ

Nur wenn ein bmp-Typ zum aktuellen Bildschirm paßt, können Sie häßliche Farbverzerrungen vermeiden.
Im Heft 4/99 erfuhren Sie ab Tip 37, S. 212, wie Sie die aktuelle Farbauflösung Ihrer Grafikkarte ermitteln. Direkt mit dieser korrespondiert der Auflösungstyp Ihrer Bitmaps. Stellen Sie ein Bild mit großer Farbanzahl in einem System mit geringerer Anzahl an Farben dar, wird es verfälscht angezeigt. Der Datei-Header von Bitmap-Dateien bietet eine Vielzahl an Informationen. Im vorigen Tip haben Sie aus ihm die Abmessungen des Bildes ausgelesen. Eine weitere wichtige Information ist der Auflösungstyp laut der Tabelle links unten: Mit der Prozedur bitmaptyp.bas (Listing 1) ermitteln Sie die Bit-Tiefe Ihrer Bitmaps. Als Argument übergeben Sie dem Parameter D$ Pfad und Dateinamen der bmp-Datei.

Verfasser: Andreas
Letzte Änderung: 2012-09-11 17:59


Desktop- und Start-Menü-Verknüpfungen anlegen

Jede Anwendung für Windows 95 sollte sich über eine Verknüpfung im Startmenü starten lassen. Das Setup-Toolkit ab VB 4 und 5 ermöglicht dies auf einfache Art.
Für VB-Programme richtet der Installationsassistent das Setup-Programm ein, das den Starteintrag standardmäßig im Programm-Ordner des Startmenüs verankert. Wenn der Start aber aus einem anderen Startmenü-Ordner heraus oder gar per Desktop-Symbol erfolgen soll, dann müssen Sie auf eine selbstgeschriebene Setup-Routine zurückgreifen. Das nur mit C-Mitteln zu meisternde Anlegen der Verknüpfung überlassen Sie allerdings weiterhin dem Setup Toolkit von Visual Basic. Dessen Bibliotheksdateien vb5stkit.dll (unter VB 5) bzw. stkit432.dll (VB 4) enthalten die Funktion fCreateShellLink, die Sie folgendermaßen deklarieren: Declare Function fCreateShellLink
Lib "VB5STKIT.DLL" (ByVal lpstrFolderName As String,ByVal lpstrLinkName As String,ByVal lpstrLinkPath As String,ByVal lpstrLinkArgs As String) As Long
Das Argument lpstrFolderName bezeichnet den Zielordner der Verknüpfung durch eine relative Pfadangabe zum Programm-Ordner. Eine leere Zeichenkette ("") legt die Verknüpfung direkt im Programm-Ordner an. \Autostart beispielsweise fügt den Starteintrag im untergeordneten Autostart-Ordner an, während ..\..\Desktop ein Programmsymbol auf dem Desktop (genauer: im Desktop-Unterordner des Windows-Ordners) erzeugt. Die weiteren Argumente:
- LpstrLinkName benennt den Text, der als Symbolbeschriftung oder Menübezeichnung zu sehen sein soll,
- lpstrLinkPath übergibt den Pfadnamen der zu startenden Anwendung,
- und lpstrLinkArgs definiert optionale Parameter.
Der Long-Integer-Rückgabewert der Funktion signalisiert den Erfolg (Wert = 1) oder Mißerfolg (Wert = 0) der Aktion. Mit dem Code-Fragment
Dim lretVal As Long
lretVal = fCreateShellLink("..\..\Desktop","Mein Programm","c:\meinprog\meinprog.exe", "")
legen Sie demnach ein mit "Mein Programm" beschriftetes Desktop-Symbol an, das auf die Programmdatei c:\mein prog\meinprog.exe verweist.
Mit der VB-Funktion vk-anleg.bas (Listing in Databox 3/98) kapseln Sie die API-Funktion vollständig und sparen sich die Eingabe des zumeist leeren lpstrLinkArgs-Arguments. Der Rückgabewert vom Typ Boolean entspricht auch eher den Gewohnheiten der meisten Visual-Basic-Entwickler. Das folgende Konstrukt demonstriert den Einsatz der Funktion. Es legt im Autostart-Ordner eine Startverknüpfung für meinprog.exe an und gibt bei Erfolg eine MsgBox-Meldung aus.

Verfasser: Andreas
Letzte Änderung: 2012-09-11 17:59


Desktop-Verknüpfung

Mit diesem Tipp erhalten Sie einen schnelleren Zugriff auf wichtige Programme.
Die Symbole auf dem Desktop für Programmzugriffe sind Verknüpfungen zu den entsprechenden Programmen. Wenn Sie unter VB (32 Bit ab Version 4) programmieren, haben Sie in Ihrem Paket eine STKIT-Datei. Eine dieser Dateien (VB4: STkit432.Dll, VB5: Vb5stkit. Dll VB6: Vb6stkit.Dll) muss in einem der Windows-Verzeichnisse vorhanden sein. Die Dateien enthalten die Prozedur fCreateShellLink, mit der Sie einen Link auf dem Desktop anlegen.
' Modulebene
Private Declare Function _
fCreateShellLink Lib _
„STKIT432.DLL"_
(ByVal FName As String, _
ByVal LName As String, _
ByVal LPath As String, _
ByVal LArgs As String) As Long
Fügen Sie dies in einer Ereignisprozedur ein, wird die Verknüpfung mit ein paar Codezeilen hergestellt.
' Ereignisprozedur
Sub Command1_Click()
Dim P$, D$, ok
Dim vPath$, vDesc$
P$ = File1.Path
If Right(P$, 1) <> „\" _
Then P$ = P$ + „\"
D$ = File1.filename
vPath$ = P$ + D$
vDesc = Text1.Text
' Verknüpfung auf dem Desktop
ok = fCreateShellLink(„..\.._
\Desktop", vDesc, vPath, „")
End Sub
Das Beipielprogramm finden Sie unter ...\desktop\ 4_desktp.vbp.

Verfasser: Andreas
Letzte Änderung: 2012-09-11 18:00


Dezimal-Zahlentyp vor Version 5

Wiegesysteme oder Streckenberechnungen müssen mit sehr großen Zahlen stellengenau arbeiten können.
Unter VB steht Ihnen vor Version 5.0 für Zahlenwerte mit mehr als zehn Stellen nur der Datentyp Double zur Verfügung. Dessen Zahlenbereich ist so groß, dass dies für alle Rechenaufgaben reichen sollte. Ein Handikap gibt es bei Zahlen mit mehr als 15 signifikanten Stellen. Sobald die Anzahl dieser Stellen größer als zulässig ist, schaltet VB auf das wissenschaftliche Format um. Die Werte werden auf 15 Stellen gerundet und in eine Dezimalzahl umgewandelt. Der nachgeordnete Exponent gibt an, um wie viele Stellen das Komma nach links gerückt wurde.
Ab VB5 nutzen Sie für lange Zahlen den Variant-Unterdatentyp Decimal.
Im Beispielprogramm finden Sie zwei Prozeduren. Diese addieren oder subtrahieren vor der Version 5 längere Zahlen mit maximal 28 Stellen. Ab 15 Stellen zerlegen sie den String in zwei Teile: einen Long-Wert für die unteren 14 Stellen und einen für die restlichen oberen Stellen. Mit dem unteren Wert wird die Rechenaktion durchgeführt. Dann wird dieser wieder in einen String umgewan-delt. Ist dessen Länge größer als 15, ist ein Übertrag auf den oberen Long-Wert erforderlich. Danach wird auch dieser wieder in einen String umgewandelt. Beide werden zum Schluss zusammengefügt.

Verfasser: Andreas
Letzte Änderung: 2012-09-11 18:00


Dialog ohne Control

Dieser Tipp bietet eine Alternative für die Arbeit mit dem standardmäßigen Dialog-Control.
Das CommonDialog-Control stellt nur eine Schnittstelle zur commdlg.dll zur Verfügung. Ideal wäre es, wenn man direkt auf die Funktionen dieser DLL zugreifen könnte. Leider hilft die Dokumentation von Microsoft hier nicht weiter. Aber es gibt zwei API-Funktionen, von denen wir die Verwendung kennen:
GetOpenFileName
GetSaveFileName
Beide Funktionen benötigen als Argument eine OPENFILENAME-Struktur. In dieser werden bis auf die Flags die gleichen Werte zugewiesen. Im Beispielprogramm finden Sie die Funktions-Prozedur GetFilename. In dieser werden die beiden API-Funktionen aufgerufen. Der Standard-Dialog wird geöffnet. Der Rückgabewert der Funktion ist wie beim Control entweder ein Dateiname mit Pfad oder ein Leerstring.

Verfasser: Andreas
Letzte Änderung: 2012-09-11 18:01


Die Automatik-Scrollbar

So programmieren Sie horizontale Scrollbars mit geringem Aufwand.
Zu den für die ListBox-Controls wichtigen Elementen gehört die Bildlaufleiste (Scrollbar). Leider ist dieses Steuerelement nur mit einer vertikalen Leiste ausgestattet. Diese wird immer dann sichtbar, wenn die Anzahl der Listzeilen zu groß wird. Eine horizontale Scrollbar hilft, dass Sie Text, der länger die innere Breite der ListBox ist, lesen können. In unserem Programm finden Sie dafür zwei Lösungen:
eine ständig sichtbare, der maximalen Zeilenlänge entprechende Leiste
eine Leiste, die nur sichtbar wird, wenn die aktuelle Zeile zu lang ist.
Diese automatische Bildlaufleiste schreiben Sie mit der Prozedur SetAutomaticHScrBar.
Sub SetAutomaticHScrBar _
(Frm As Form, Ctrl As Control)
Lg = AktItemLen(Frm, Ctrl)
Visible = - _
(Lg > ((Ctrl.Width / TPX)))
If Visible = False Then Lg = 1
ok = SendMessage(Ctrl.hWnd, _
LB_SETHORIZONTALEXTENT, Lg, 0&)
' Wenn die Zeile von
' der ScrollBar verdeckt wird
If Lg > 1 Then
LH = GetListBoxLineHeight(Ctrl)
ZZ = (((Ctrl.Height - _
(2 * BorderWidth * _
Ctrl.Appearance)) / TPY) \ LH) _
- (Visible + 1)
Ix = Ctrl.ListIndex + 1
MTIx = Ix - ZZ + 1
If Ctrl.TopIndex <= MTIx Then
Ctrl.TopIndex = MTIx
End If
End If
End Sub
Rufen Sie die SetAutomaticHScrBar aus der Ereignis-Prozedur List_Click der betreffenden ListBox mit dieser Zeile auf:
SetAutomaticHScrBar Me, Liste1

Verfasser: Andreas
Letzte Änderung: 2012-09-11 18:01


Die Klasse des Fensters

Dieser Tipp erleichtert es Ihnen, das Window-Handle für APIFunktionen zu nutzen.
Die Hintergründe der Windows-Programmierung versteht, wer die Werte eines Window-Handle herausbekommt. Dazu ermitteln Sie mit Hilfe von drei API-Funktionen Sie den Klassennamen der Fenster auf Ihrem Bildschirm. Bewegen Sie Ihren Mauscursor über das Element. Die folgenden drei Codezeilen genügen, um die gewünschte Information zu erhalten.
GetCursorPos P
hWn = WindowFromPoint(P.X, P.Y)
GetClassName hWn,
classname, 254
Sie können den mit WindowFromPoint gewonnenen Handle-Wert hWnd auch für andere API-Funktionen verwenden. Darauf gehen wir in weiteren Ausgaben des PC Magazin ein.

Verfasser: Andreas
Letzte Änderung: 2012-09-11 18:02


Die richtige Farbe

Dieser Tipp zeigt, wie Sie die Windows-eigenen Systemfarben in numerische Werte umrechnen.
VB verwendet als BackColor für Formen und viele Controls die Codes der Systemfarben ein Wert wie &H8000000F. Dieser ist kein Farbwert, sondern eine Referenz darauf. Ziehen Sie vom jeweiligen Code den Wert &H80000000 ab, erhalten Sie den Index der Systemfarbe. Die Systemfarben verändern Sie im Anzeige-Dialog der Systemeinstellungen über Start/Einstellungen/ Anzeige. Daraus ermitteln Sie den Farbwert mit API-Funktionen. In den Windows-Bibliotheken user ist dies die Funktion GetSyscolor. Übergeben Sie ihr den aus dem Systemfarbcode errechneten Index (Index = Systemfarbcode - &H80000000), gibt die Bibliothek den RGB-Wert als Long-Wert zurück. Das Beispielprogramm verwendet GetSyscolor und ermittelt damit die aktuell im System eingestellten Farbwerte. Das Programm zeigt die Systemfarben im linken Bereich als Füllfarbe (Backcolor) an. Daneben sehen Sie den Systemfarbcode und den QBColor-Index, den die benutzerdefinierte Funktion QBColorIndex zurückgibt. Sie ermittelt aus RGB- und Systemfarb-Codes den Index der entsprechenden QBColor. Entspricht der Farbwert keinem QBColor-Wert erhalten Sie -1 zurück.
Private Function
QBColorIndex(ByVal Wert&)
If Wert& >= &H80000000 And
Wert& <= &H8000000F Then
Wert& = GetSysColor(Wert& -
&H80000000)
End If
For m = 15 To 0 Step -1
If QBColor(m) = Wert& Then
Exit For
Next
QBColorIndex = m
End Function
Zum Schluss wird der mit GetSyscolor
ermittelte RGB-Farbwert angezeigt.

Verfasser: Andreas
Letzte Änderung: 2012-09-11 18:02


Sinuskurve

Sinuskurven gehören zum grundlegen- den mathematischen Handwerkszeug. Sie berechnen diese Wellen mit wenigen Zeilen, und stellen sie grafisch dar.
Sinuskurven darzustellen gehört zu den Grundlagen der Programmierung. VB erleichtert Ihnen diese Arbeit. Mit der nachstehenden Prozedur zeichnen Sie beliebige Sinuskurven.
Sub Sinuskurve(Ziel As Object, _
Optional Anfg, _
Optional Abst, _
Optional Farbe)
If IsMissing(Anfg) Then Anfg =0
If IsMissing(Abst) Then Abst =10
If IsMissing(Farbe) Then Farbe=0
Pi = 4 * Atn(1)
WF# = (Pi / Abst) * 2
Wdth = CInt(Ziel.ScaleWidth)
Mitte=CInt(Ziel.ScaleHeight \2)
MaxH = Mitte - 20
Ziel.ForeColor = QBColor(Farbe)
Ziel.PSet (0, Mitte)
Ziel.DrawWidth = 1
For m = 0 To Wdth
x = m * 10
y = (Sin(WF# * (m Mod Abst))))
Ziel.Line -(Anfg + x, _
Mitte - MaxH * y
Next
End Sub

Verfasser: Andreas
Letzte Änderung: 2012-09-11 18:03


Split-Funktion nutzen

Mit der Split-Funktion ermitteln Sie die Tiefe von Unterverzeichnissen.
Neu in Visual Basic 6 ist die Split-Funktion. Diese kann mit Hilfe eines Begrenzungszeichens (Delimiter) aus einer Zeichenkette ein eindimensionales Array von Substrings aufbauen. Zudem ermittelt sie die Anzahl von Zeichen oder Substrings in einem längeren String. Wollen Sie wissen, wie oft der Backslash in einer Pfadangabe vorkommt, führen Sie die Split-Funktion aus. Den Rückstrich verwenden Sie als Delimiter. Dann benutzen Sie die Ubound-Funktion, um die Elemente im resultierenden Array zu zählen.
Private Sub cmdSubstr_Click()
Dim myArr() As String
'
myArr = Split(tbxSubstr.Text, _
tbxSubCount.Text)
tbxSubCount.Text = UBound(myArr)
End Sub

Verfasser: Andreas
Letzte Änderung: 2012-09-11 18:03


Task-Leiste verschwinden lassen

Durch einen Rückgriff auf das Windows-API lassen Sie Fenster verschwinden und bringen sie wieder zum Vorschein.
Seinen Namen verdankt Windows der Tatsache, daß sich alle Aktivitäten in Fenstern abspielen, auch wenn sie nicht in jedem Fall als solche zu erkennen sind. Und mitunter ist es wünschenswert, das eine oder andere Fenster vorübergehend verschwinden zu lassen.
Die ShowWindow-Funktion aus der Windows-API erfüllt diesen Wunsch. Dazu benötigt sie allerdings das Handle des gemeinten Fensters, das sie dann über ihr nCmdShow-Argument unsichtbar (Argumentwert 0) oder wieder sichtbar (Argumentwert 5) machen kann. Das Handle liefert die bekannte API-Funktion FindWindow, die zur Identifikation des Fensters dessen Klassennamen benötigt. Und schließlich erweist sich noch eine weitere API-Funktion namens IsWindowVisible als nützlich. Sie ermittelt nämlich - wiederum über das Fenster-Handle -, wie es um die aktuelle Sichtbarkeit des Fensters bestellt ist. Wenn das Fenster ohnehin bereits unsichtbar ist, können Sie sich weitere Aktionen ersparen.
an-aus.bas (Listing in Databox 3/98) demonstriert den Einsatz dieser API-Funktionen innerhalb der VB-Funktion FensterAnAus, die den Sichtbarkeitsstatus jedes beliebigen Windows-Fensters umschaltet. Das einzige Argument, das die Funktion benötigt, ist der Klassenname des jeweiligen Fensters. Der Rückgabewert vom Typ Boolean verrät, ob das Fenster anschließend sichtbar (True) oder unsichtbar (False) ist.
Das folgende Beispiel zeigt, wie Sie FensterAnAus in Ihren eigenen Programmen nutzen. Es läßt das Fenster der laufenden Anwendung WinWord (Klassenname OpusApp) im Wechsel verschwinden und wieder erscheinen.
If FensterAnAus("OpusApp") = True Then
MsgBox "Word sichtbar."
Else
MsgBox "Word unsichtbar."
End If
Verschwinden bedeutet übrigens, daß sämtliche Spuren des Fensters, also auch seine Schaltfläche in der Task-Leiste sowie sein Titeltext im Task-Manager, unsichtbar werden. Die nach wie vor aktive Anwendung erhält also eine nahezu perfekte Tarnkappe.
Apropos Task-Leiste: Da auch diese ein (fast) normales Fenster (Klassenname Shell_TrayWnd) ist, schalten Sie sie ebenfalls durch den Aufruf von FensterAnAus aus oder ein, was VB-Programmen wie zum Beispiel Bildschirmschonern eine bildschirmfüllende Arbeitsweise erlaubt. Die Schaltfläche des Startmenüs - obgleich auch ein Fenster (Klassenname Button) - entzieht sich allerdings allen Manipulationsversuchen.

Verfasser: Andreas
Letzte Änderung: 2012-09-11 18:04


Die Uhr läuft

Außer einer Temperaturanzeige lösen Programmierer fast jede Aufgabe mit dem PC. Elementares Handwerkzeug ist die Zeitanzeige.
Die Frage nach der Zeit hat VB elegant gelöst. In einer Beispielanwendung lassen Sie die Uhrzeit anzeigen. Die Prozeduren fügen Sie ohne Aufwand in jedes Projekt ein. Als Ziel können Sie jedes Objekt angeben, das über die Methoden Line und Circle verfügt. Die Prozeduren legen nacheinander das Zifferblatt sowie die Stunden-, Minuten- und Sekundenzeiger an. Die Dar-stellung ist bewußt einfach. Es geht darum, die Anwendung der Sinus- und Cosinus- Funktionen zu zeigen. Das Listing Uhrzeit (S. 203) faßt alle erforderlichen Prozeduren zusammen und dient als Basis für Ihre eigenen Gestaltungen. Für unser Beispielprogramm verwenden wir eine PictureBox. In dieser und auf der Form soll die Uhr angezeigt werden. Besonders wichtig sind die Codezeilen in der Timer-Prozedur. Zusammen mit den beiden Variablen OldTime und Started invertieren Sie eine alte Zeigerprosition. Das verhindert das Flackern, wie es ein Neuzeichen erzeu-gen würde. Setzen Sie die Intervalleigenschaft auf 1000. Damit erfolgt der Bildwechsel im Sekundentakt.
Dim OldTime As Double, _
Started As Boolean

Private Sub Form_Load()
AutoRedraw = True
ScaleMode = vbPixels
Pi = GetPi()
Zifferblatt Me, 50, 50, 30, _
QBColor(11)
Zifferblatt Picture1, 100, _
Picture1.ScaleHeight / 2, _
50, QBColor(15)
Timer1.Enabled = True
Timer1.Interval = 1000
End Sub

Private Sub Timer1_Timer()
If Started Then
T# = OldTime
GoSub Ausgeben
End If
T# = Time
GoSub Ausgeben
Started = True
OldTime = T#
Exit Sub
Ausgeben:
ShowTime (T#), Picture1, 100,_
Picture1.ScaleHeight / 2, 50
ShowTime (T#), Me, 50, 50, 30
Return
End Sub

Verfasser: Andreas
Letzte Änderung: 2012-09-11 18:04


Die Wahrheit über Beep

Statt eines dünnen Beep binden Sie eine satte WAV-Datei ein.
Die Soundfähigkeiten von Visual Basic sind leider äußerst bescheiden. Mehr als ein Beep können Sie kaum hören. Doch es kann mehr: Es spielt nämlich stets jene WAV-Datei ab, die als Systemstandard eingetragen ist.
Normalerweise steht hier kein Wert, so daß Beep das klägliche Piep des PC-BIOS wiedergibt. Ändern Sie jedoch den Systemstandard, entweder über die Systemsteuerung oder einen direkten Zugriff auf die Registrierung, wird die neue WAV-Datei durch das Beep-Kommando abgespielt. Das Multimedia-API oder das MCI-Steuerelement brauchen Sie dabei nicht.
Peter Monadjemi/et

Verfasser: Andreas
Letzte Änderung: 2012-09-11 18:05


Die Wahrheit über Funktionen

Wenn Sie VBA. eingeben, listet ein Programmfenster die verfügbaren VBA-Funktionen auf.
VBA-Funktionen sind Methoden eines globalen Objekts mit dem Namen VBA. Tippen Sie
VBA
mit einem Punkt ein, werden alle unter VBA zur Verfügung stehenden Funktionen (Methoden) aufgelistet. Sie ersparen sich damit unter Umständen das Suchen im Hilfe-Menü. Das Voranstellen von VBA ist notwendig, wenn Sie eine Funktion aufrufen, deren Name bereits anderweitig belegt ist.

Verfasser: Andreas
Letzte Änderung: 2012-09-11 18:05


Die Zahl Pi

Weil sich kaum jemand mehr als drei Nachkommastellen der Zahl Pi merken kann, lassen Sie im Listing diesen Wert errechnen.
Sie brauchen die Konstante Pi für nicht mit der Circle-Methode gezeichnete Kreisdarstellungen und für alle damit zusammenhängenden Berechnungen. VB berechnet für Sie den Wert von Pi auf 14 Nachkommastellen genau:
Sub GetPi()
Pi = 4 * Atn(1)
End Sub

Verfasser: Andreas
Letzte Änderung: 2012-09-11 18:06


Direkter Start

So starten Sie Anwendungen über ihren Dateityp mit einer API-Funktion.
Unter Windows können Sie Dateien zusammen mit der Anwendung registrieren, mit der Sie die Dateien angelegt haben. Für die wichtigsten Dateitypen geschieht dies automatisch. So öffnen Sie eine Datei gleich mit der zugehörigen Anwendung. Das können Sie auch aus Ihrer VBAnwendung heraus. Dazu nutzen Sie die API-Funktion ShellExecute. Die Deklarationszeile lautet:
Private Declare Function Shell
Execute Lib "shell32.dll" Alias
"ShellExecuteA"
(ByVal hwnd As Long,
ByVal lpOperation As
String,
ByVal lpFile As
String,
ByVal lpParameters
As String,
ByVal lpDirectory As
String,
ByVal nShowCmd As
Long) As Long
Haben Sie die Funktion deklariert, genügt der Aufruf in einer Zeile. Den Rückgabewert der Funktion verwenden Sie, um Fehler abzufangen. Die vollständige Prozedur aus dem Beispielprogramm lautet
Sub ShExecute
(Frm As Form, Tx As String)
lRet = ShellExecute
(Frm.hwnd, "open", Tx,
vbNullString, vbNullString, 1)
If lRet <= 32 Then
MsgBox "Datei " + Tx + "
konnte nicht geöffnet werden!"
End If
End Sub
Übergeben Sie als Argumente die aktuelle Form und den String open. Besteht eine Verbindung zwischen Ihrer Datei und einer Anwendung, wird diese mit der Datei gestartet.

Verfasser: Andreas
Letzte Änderung: 2012-09-11 18:06


Disketten formatieren

Wo die Sprache nicht weiterhilft, kommen Sie mit Betriebssystem-Befehlen weiter.
Visual Basic bietet zwar Befehle zum Anlegen und Löschen von Verzeichnissen, aber keinen zum Formatieren einer Diskette. Zum Glück gibt es noch DOS, dessen Format-Kommando sich, wie im vorausgehenden Tip beschrieben, einfach aufrufen läßt. Setzen Sie bloß für den Namen des auszuführenden Programms folgenden String ein:
"command.com /C Format /Q /Autotest A:"
Dank der undokumentierten /Autotest-Option startet das Format-Kommando ohne Bestätigung. Voraussetzung ist aber, daß sich im Laufwerk A bereits eine Diskette befindet. Ist kein QuickFormat einsetzbar, muß die /Q-Option entfallen. Soll die MS-DOS-Eingabeaufforderung nicht in Erscheinung treten, aktivieren Sie die Shell mit
vbMinimizedFocus
Peter Monadjemi/et

Verfasser: Andreas
Letzte Änderung: 2012-09-11 18:07


Dokument(version) mit Sicherheitskopie

Ein automatisch ausgeführtes Makro ersetzt das Speichern, sichert das Original und eine Kopie in einem wählbaren Ordner. Frühere Versionen bleiben erhalten.
Word und - mit etwas Nachhilfe - auch Excel lassen sich zum automatischen Anlegen einer Sicherheitskopie bei jedem Speichervorgang veranlassen. Die Kopie wird jedoch stets im gleichen Verzeichnis gesichert wie das Original. Ein Laufwerksfehler kann daher zum vollständigen Verlust des Dokumentinhalts führen.
Ein weiterer Nachteil: Es läßt sich immer nur der aktuelle Bearbeitungsstand eines Dokuments sichern, weil frühere Sicherungen überschrieben werden. Ein Word-Makro (Listing in Databox 2/98) behebt das Problem. Es ersetzt den internen Speichern-Befehl von Word 97 und kommt daher automatisch bei jeder Sicherung eines Dokuments (also beispielsweise beim Aufruf des Menübefehls Datei/Speichern zum Einsatz. Das Makro erlaubt die Angabe eines beliebigen Sicherungsordners, der sich am besten auf einem anderen Datenträger befinden sollte als das Original. Sofern der Sicherungsordner bereits eine Version des gleichen Dokuments enthält, wird der Name der Sicherheitskopie automatisch mit einer Numerierung versehen, so daß es nicht zum Überschreiben namensgleicher Dateien kommt. Es bleiben also maximal 999 Versionen eines Dokuments erhalten. Diese können Sie bei Bedarf wieder reaktivieren. Beim ersten Speichern eines neuen Dokuments ruft das Makro den regulären Dialog Speichern unter auf, um das Dokument unter einem wählbaren Namen in einem wählbaren Ordner zu sichern. Erst ab der zweiten Speicherung kommt der zusätzliche Sicherungsmechanismus zum Tragen. Er beginnt makrointern mit der Festlegung eines bestehenden Sicherungsordners (im Beispiel: c:\sichern). Sobald sichergestellt ist, daß der Ordner existiert:
If Dir(KopieOrdner & "\nul") > "" Then
überprüft das Makro, ob darin eine namensgleiche Datei vorhanden ist. Per Do-Loop-Schleife wird dann der Name der Sicherheitskopie mit einem dreistelligen Numerierungs-Präfix (beispielsweise 001_) ergänzt, das automatisch hochzählt, sofern auch unter diesem Namen bereits eine Datei existiert. Erst wenn der Name noch nicht vorkommt, wird das Dokument per SaveAs-Methode im Sicherungsordner gespeichert. Ein zweiter Aufruf der SaveAs-Methode sichert das Dokument unter seinem Originalnamen und in dessen Stammverzeichnis.
Damit der automatische Aufruf in Word 97 funktioniert, müssen Sie das Makro unter dem Namen DateiSpeichern in normal.dot speichern. In Excel und PowerPoint lassen sich leider noch keine internen Befehle durch Makros ersetzen. Hier können Sie das Makro nur durch eines der üblichen Aufrufverfahren - also per Menübefehl Extras/Makro und Tastenkombination oder über die Symbolschaltfläche - starten. Dazu müssen Sie das Schlüsselwort ActiveDocument in Excel durch ActiveWorkbook und in PowerPoint durch ActivePresentation ersetzen.

Verfasser: Andreas
Letzte Änderung: 2012-09-11 18:07


Drag&Drop mit OLE

Nutzen Sie die anwendungsübergreifende OLE-Drag&Drop-Funktionalität.
Mit VB5 ist für die Drag&Drop-Technik die Begrenzung auf eine Anwendung und eine Art von Dateiformat gefallen. Das zeigt unser Beispielprogramm, welches Text-und Bild-Dateien, Bitmaps und Texte durch einfaches Ziehen und Fallenlassen in einer Anwendung bewegt. Die Kernprozedur ShowData fasst alle OLE-Drag&Drop-Datenübertragungen zusammen. Sie finden sie zusammen mit den von ihr aufgerufenen Funktionen (ErsetzNull und Bilddatei) im BAS-Modul. Das erleichtert es Ihnen, die Prozedur in Ihre eigenen Anwendungen zu übertragen:
Sub ShowData( _
Data As DataObject, _
TBox As TextBox, _
PBox As PictureBox, _
Lbl As Label)
Screen.MousePointer = 11 q
If Data.GetFormat(vbCFText) _
Then
Tx$ = ErsetzNull( _
Data.GetData(vbCFText))
PBox.Visible = False
TBox.Visible = True
TBox.Text = Tx$
ElseIf Data.GetFormat( _
vbCFBitmap) Then
PBox.Visible = True
TBox.Visible = False
PBox.Picture = Data. _
GetData (vbCFBitmap)
ElseIf Data.GetFormat( _
vbCFFiles) Then
For Each FN In Data.Files
Lbl.Caption = FN
IsText = Not BildDatei(FN)
TBox.Visible = IsText
PBox.Visible = Not IsText
If IsText Then
TBox.Text = _
GetDropText$(FN)
Else
PBox.Picture = _
LoadPicture(FN)
End If
Next
End If
Screen.MousePointer = 0
End Sub
Eine TextBox, PictureBox und ein Label müssen auf Ihrer Form vorhanden sein. Mit der Aufrufzeile
ShowData Data, Text1,
Picture1, Label1
in jeder OLE-Drag&Drop-Ereignisprozedur übergeben Sie die Controls.
Der Abschnitt mit der Schleife bearbeitet bei Mehrfachwahl alle Dateinamen
nacheinander. Hier empfiehlt sich eine Übernahme (der FN-Werte) in eine ListBox.
Das ab VB5 verwendbare Beipielprogramm finden Sie unter ...\OLEDrag&Drop\5_oledragndrop10.vbp

Verfasser: Andreas
Letzte Änderung: 2012-09-11 18:08


Drawedge für Rahmen

Mit einem Prozeduraufruf zeichnen Sie eindrucksvolle 3DRahmen.
Haben Sie auch schon versucht, mit der Line-Methode 3D-Rahmen zu zeichnen? Das ist umständlich? Windows zeichnet auch solche Rahmen. Dafür gibt es eine API-Funktion. Diese steht in der user32.dll. Die entsprechende Deklarationszeile sieht so aus:
Private Declare Function _
DrawEdge Lib "user32" _
(ByVal hdc As Long, _
qrc As RECT, ByVal edge _
As Long, ByVal grfFlags _
As Long) As Boolean
Der Aufruf erfolgt mit der Zeile:
DrawEdge DrawObj.hdc, r, _
RectType, RectStyle
DrawObj ist eine als Object deklarierte Variable, der Sie den Objektnamen übergeben. RectType ist einer der im Modul definierten Werte. Die im Programm verwendete Choose-Funktion ersetzt umfangreiche If-bzw. Select-Anweisungen.

Verfasser: Andreas
Letzte Änderung: 2012-09-11 18:08


DrawMode invertiert Pixel

Die DrawMode-Methode ist Grundlage vieler Operationen, um Linien oder Flächen zu markieren.
VB stellt die Draw-Eigenschaften zur Verfügung, um auf einer PictureBox oder in einer Form zu zeichnen. Mit Objekt.DrawMode legen Sie den Modus fest. Zwei Code-Zeilen invertieren die Farben aller Pixel, die Sie anzeich-nen:
Objekt.DrawMode = 6 'Invers
' Malaktion
Objekt.DrawMode = 13 'default
Wenn Sie diese Aktion im Invers-Mo-dus wiederholen, stellen Sie die ur-sprünglichen Farben wieder her.

Verfasser: Andreas
Letzte Änderung: 2012-09-11 18:09


Drop-Down-Formularfelder erzeugen

Mit Hilfe eines VBA-Makros reduzieren Sie die Formulareingabe in Word-Dokumenten auf wenige Mausklicks.
Von der Wiege bis zur Bahre: Formulare, Formulare. Auch Word macht da keine Ausnahme: In einem speziellen Eingabemodus füllen Sie Bildschirmformulare aus. Dazu verteilen Sie Steuerelemente wie Texteingabefelder, Kontrollkästchen oder Drop-Down-Listenfelder über Ihr Dokument, die dann ausschließlich die Eingaben des Benutzers entgegennehmen.
Der übrige Text bleibt davon unberührt. Der manuelle Weg für die Plazierung von Formularfeldern verläuft über die Formular-Symbolleiste, die Sie zumeist erst mit Ansicht/Symbolleiste sichtbar machen müssen. Das Makro (Listing in Databox 2/98) demonstriert das programmierte Einfügen eines Formularfeldes am Beispiel eines Drop-Down-Formularfelds. Dazu erweitert das Makro zunächst die FormFields-Auflistung des aktiven Dokuments per Add-Methode um ein Formularfeld vom Typ Type:=wdFieldFormDropDown. Dessen Position legen Sie via Range-Eigenschaft auf die aktuelle Position der Schreibmarke Selection/Object fest. Mit der Objektvariablen DokListbox bestimmen Sie dann die gewünschten Eigenschaften, insbesondere den Namen des neuen Formularfelds. Ein dreifacher Aufruf der Add-Methode der ListEntries-Auflistung fügt dem Listenfeld abschließend als Beispiel die drei Einträge Otto, Traudel und Walther hinzu.
In einem unterscheiden sich das manuelle und das programmierte Verfahren nicht: Sie sehen Ihre Formularfelder erst, nachdem Sie die Formulareingabe über den Menübefehl Extras/Dokument schützen eingeschaltet haben.

Verfasser: Andreas
Letzte Änderung: 2012-09-11 18:10


Editor anpassen

Der Visual Basic Editor ist schon von Haus aus eine starke Entwicklungsumgebung. Durch das Sichtbarmachen zweier Symbolleisten wird er sogar noch stärker.
Neben der Vereinheitlichung der Sprachelemente in allen Office-97-Anwendungen stellt der Visual Basic Editor den größten Fortschritt in der Entwicklung der MS-Makrosprachen dar. Er verfügt über ausgefeilte kontextspezifische Hilfefunktionen, IntelliSense genannt, und zahlreiche Werkzeuge, die die Code-Erstellung deutlich erleichtern.
Dennoch scheint der spartanische WordBasic Editor seinem modernen Nachfolger ein gewaltiges Feature voraus zu haben: Sie können markierte Quelltextpassagen temporär via Schaltfläche auskommentieren, um sie dann hinterher ebenso komfortabel wieder von den automatisch eingefügten REMs zu befreien.
Aber hier stellt der VBE sein Licht nur unter den Scheffel. Er besitzt so eine Schaltfläche, allerdings muß man sie zusammen mit der Bearbeiten-Symbolleiste erst sichtbar machen Ansicht/Symbolleisten. Dabei entdecken Sie weitere nützliche Schaltflächen. So finden Sie beispielsweise ein Gespann, das die Einrückungsebene von markierten Code-Passagen reduziert oder erweitert. Oder Sie greifen auf Schaltknöpfe zum Setzen/ Entfernen von Lesezeichen zu. Weiterhin nutzen Sie die diversen IntelliSense-Funktionen wie QuickInfo, Eigenschaften oder Methoden anzeigen, Parameter-Info, Wort vervollständigen oder dergleichen mehr.
Und wenn Sie gerade dabei sind, bringen Sie auch gleich die Symbolleiste Testen zum Vorschein. Damit greifen Sie unmittelbar auf die wichtigsten Funktionen des Test-Menüs zu, setzen und entfernen Haltepunkte, und lassen sich aktuelle Variablenwerte anzeigen. Zusätzlich schalten Sie noch zwischen Direkt-, Überwachungs- und Lokalfenster um.

Verfasser: Andreas
Letzte Änderung: 2012-09-11 18:10


Ein paar Sekunden warten

Definieren Sie eine Verzögerung mit der Sleep-Funktion.
Um eine Verzögerung zu erreichen, sind For-Next-Schleifen zu vage. Eleganter ist die Funktion Sleep. In ihr geben Sie den Wert an, wie lange der Prozeß "schlafen" soll:
Declare Sub Sleep Lib "kernel32" Alias "Sleep" (ByVal dwMilliseconds As Long)
Dim RetVal As Long
RetVal = Sleep(2000)

Verfasser: Andreas
Letzte Änderung: 2012-09-11 18:11


Eine CD-Kennziffer

Verwenden Sie außer dem Label die CD-Kennziffer zur Identifikation.
Der Name reicht häufig nicht aus, um eine CD eindeutig zu identifizieren. Doch um mit diesem Tipp eine CD eindeutig zu identifizieren, brauchen Sie ein MMControl. Diese fügen Sie als Zusatzsteuerelement Ihrer Werkzeugbox hinzu. Mit einem Doppelklick auf das Symbol verschaffen Sie sich auf der Form die Instanz mmcontrol1. Damit kann die Prozedur DiskID aus der Anzahl der Tracks, den Tracklängen und der CDLänge eine Kennziffer errechnen.
Gleiche Kennziffern erhalten Sie nur von CDs mit gleichem Inhalt.
Function DiskID() As Long
Dim m As Integer
With mmcontrol1
' CD initialisieren
.DeviceType = „CDAudio"
.Command = „open"
' Kennziffer berechnen
Tr = .Tracks
DiskID = Tr
For m = 1 To Tr
.Track = m
DiskID = DiskID + _
.TrackLength
DiskID = DiskID + _
.Length
Next
.Command = „close"
End With
End Function
Das Beispielprogramm finden Sie unter ...\CD_ID\4_CD_ID.vbp

Verfasser: Andreas
Letzte Änderung: 2012-09-11 18:11


Eine unbekannte Font-Eigenschaft

Mit der neuen Eigenschaft Font-Width erhalten Sie die Breite der einzelnen Zeichen.
Es gibt Proportional- und Nicht-Proportionalschriften. Bei Proportionalschriften hat jedes Zeichen die seinem Platzbedarf (seiner „Proportion") entsprechende Breite. Bei Nicht-Proportionalschriften belegen alle Zeichen den gleichen Platz. Daher verwenden Sie für übersichtliche Tabellen diese Schriftart. Aus den gleich breiten Zeichen lassen sich leicht Spalten erstellen. Ein Beispiel ist die Schriftfamilie Courier. Mit einer Proportionalschrift ist die Tabellenbildung etwas schwieriger. Es gibt keine Font-Eigenschaft, die die Breite individueller Zeichen zurückgibt. Hier hilft die TextWidth-Methode. Sie ist für Formen und PictureBox-Controls verfügbar. Die Prozedur listet die Breiten aller ASCII-Zeichen der für die Form eingestellten Schriftart auf.
Sub Zeichenbreiten( _
Ctrl As Control)
Ctrl.Clear
For m = 32 To 255
Ctrl.AddItem „Code = „ _
& Format(m, „000") _
& „: TW = „ _
& TextWidth(Chr$(m))
Next
End Sub
Ein Beispielprogramm finden Sie auf der Heft-CD unter ...\Fonts\4_fonts.Vbp.

Verfasser: Andreas
Letzte Änderung: 2012-09-11 18:12


Eingabehilfe

Mit Hilfe von Schlüsseltasten lassen sich Bezeichnernamen vervollständigen.
Schon entdeckt? Über die Tastenkombination [Strg-Leertaste] läßt sich ein eingetipptes Wort vervollständigen, was gerade bei langen Prozedurnamen praktisch ist. Ist die bereits eingetippte Buchstabenkombination noch nicht eindeutig, wählen Sie den Namen aus einem Listenfeld. Dieses klappt auf und bietet passende Einträge zur Auswahl.

Verfasser: Andreas
Letzte Änderung: 2012-09-11 18:12


Eingebundene Dokumente

Zwar bieten eingebundene Dokumente keine neue Programmfunktion, erleichtern aber die Verwaltungsarbeit.
Die meisten Programmierer finden gerade dann einen wichtigen Baustein nicht, wenn sie ihn dringend brauchen. Andere überladen Programme mit zu vielen Elementen, auf die sie eventuell einmal zugreifen wollen. Beide Schwierigkeiten umgehen Sie mit der Option der verbundenen Dokumente, welche ab der Version 5 in Visual Basic vorhanden ist. So nutzen Sie diese Technik: Gehen Sie in das Menü Projekt. Klicken Sie den Menübefehl Datei hinzufügen... an. Es öffnet sich der im Bild gezeigte Dialog. Unten links sehen Sie eine CheckBox. Die VB-Online-Hilfe bietet dafür eine Beschreibung an, wenn Sie den Hilfe-Button anklicken. Es heißt dort: Als verbundenes Dokument hinzufügen:
Fügt Elemente wie z.B. Microsoft Excel-Tabellen oder Microsoft Word-Dokumente dem Ordner Verbundene Dokumente im Projekt-Explorer hinzu.
Das ist korrekt, aber nicht sehr aussagefähig. Zunächst werden Ressource-Dateien (*.res) auch ohne Ihre Vorgabe automatisch als verbundene Dateien ins Projekt eingebunden. Dies ist der einzige Dateityp, auf dessen Inhalt Sie aus den Projektmodulen heraus zugreifen können. Für alle anderen Dateitypen markieren Sie jeweils die Checkbox. Jede mit dieser Vorgabe eingefügte Datei erscheint im Ordner Verbundene Dokumente. Haben Sie beispielsweise Programmcodezeilen, die Sie häufig brauchen? Dann schreiben Sie sie in eine Textdatei und binden diese in Ihr Projekt ein. Ein Doppelklick auf den Dateinamen im Projekt-Explorer startet Notepad mit dem Text. Natürlich können Sie auch direkt VB-Module oder Bilddateien und Vieles mehr einbinden. Weiterhin nutzen Sie diese Technik, um Programmänderungen zu dokumentieren. Dazu schreiben Sie die Daten in eine Textdatei und verbinden diese mit Ihrem Projekt. Selbst Programme binden Sie so ein. Ein Doppelklick auf deren Namen startet das Programm. Im Projekt-Explorer entfernen Sie nicht mehr benötigte Dokumente wie Programmmodule. In der Projektbeschreibungsdatei finden Sie nach dem Speichern Einträge wie:
RelatedDoc=P:\Demo\ZweiteVersion\MeineInfo.txt
Wenn Sie Ihre Projektvorlagen mit verbundenen Dokumenten bereichern, haben Sie mit einem Mausklick für Ihre Programmentwicklung alles parat.

Verfasser: Andreas
Letzte Änderung: 2012-09-11 18:13


Einträge schnell finden

Mit SendMessage finden Sie auch in unsortierten Listen schnell jeden Eintrag. Um in unsortierten Listen schnell einen bestimmten Eintrag zu finden, setzen Sie die Funktion SendMessage ein. Das klappt nicht nur in ListBox oder ComboBox, sondern auch in DirListBox und FileListBox. Der folgende Quellcode zeigt die Kernprozedur: Public Function AktIndex (Lst As Control, Such As String) Gibt die Funktion -1 zurück, wurde der gesuchte Eintrag nicht gefunden. Höhere Rückgabewerte entsprechen dem aktuellen Index. So können Sie den ListIndex gezielt setzen. Beachten Sie bei der DirListBox, dass für das angeklickte Verzeichnis immer ListIndex = -1 gesetzt ist. Darüber angezeigte Verzeichnisse haben jeweils einen um den Wert -1 kleineren Index. Den untersten ListIndex in einer DirListBox ermitteln Sie mit der Prozedur UntersterIndex. Addieren Sie bei der DirListBox den (negativen) Wert, um den tatsächlichen ListIndex zu erhalten. Function UntersterIndex _ (Ctrl As Control) If TypeOf Ctrl Is _ DirListBox Then Static m m = 0 Do m = m - 1 Loop While _ Ctrl.List(m) <> "" UntersterIndex = _ m + 1 End If End Function

Verfasser: Andreas
Letzte Änderung: 2012-09-11 18:13


Farben wählen

Mit nur drei Prozeduren ent- steht eine komplette 16-Farben- Farbwahlbox.
Visual Basic liefert für die Farbwahl den Standarddialog Farbe. Doch um die-sen Dialog in Mal- und Zeichenprogrammen zu verwenden, ist er zu umständlich. Einfacher ist es, wenn die Farbwahlbox immer geöffnet ist. Mit den Prozeduren aus qbcolor.bas (Listing 1) legen Sie eine Bildbox mit den 16 Far-ben aus der Farbwahlbox an. In der Bildbox richten sich die Farbfelder automatisch aus. Aus diesen Feldern läßt sich eine passende Farbe leicht zuordnen.

Verfasser: Andreas
Letzte Änderung: 2012-09-11 18:14


Farbverlauf einmal anders

Werten Sie Ihre Graphical User Interfaces (GUIs) durch verlaufende Schatten auf.
Haben Sie es nicht auch schon bewundert, wie fließend Farbübergänge sein können? Wollen Sie das in Ihren Programmen auch realisieren mit weichem Schattenübergang? Wie Sie Farbverläufe zwischen beliebigen Farben, insbesondere als 3D-Schatten, erzeugen, demonstriert dieser Tipp in mehreren Variationen. Nach dem Start sehen Sie oben und links Schatten im Verlauf, deren Breite Sie ändern können. Markieren Sie dazu einen Ausschnitt der Innenfläche. Klicken Sie eine der Farben an. Dies markierte Fläche füllt das Programm mit einem Farbverlauf von der gewählten Farbe zur Hintergrundfarbe. Der Klick auf eine der Pfeilspitzen ändert die Verlaufsrichtung. Dabei können Sie unter den in der Tabelle gezeigten Richtungswerten wählen. Klicken Sie die Kopfleiste oder eine der Seitenleisten an, wird deren Fläche mit der zur Hintergrundfarbe verlaufenden Wahlfarbe gefüllt. Für den Aufruf brauchen Sie nur eine einzige Aufrufzeile in der MouseUp- oder MouseDown- Prozedur. Alle Argumente außer dem Zielobjekt sind optional. Die Argumente können Sie auch mit Namen übergeben. Wenn Sie diese Schreibweise wählen, ist die Reihenfolge der optionalen Argumente nicht bindend.
Dim H As String
H = Hex(Value)
NewHex = String
(Lg - Len(H), "0") & H
End Function

Verfasser: Andreas
Letzte Änderung: 2012-09-11 18:14


Fehler im dir-Befehl

Den Funktionen von Visual Basic können Sie nicht immer blindlings vertrauen, wie dieser Tipp
beweist.
Mit der Codezeile
IsDirectory =
(Dir(P, vbDirectory) "")
ermitteln Sie, ob der Name P ein Verzeichnis bezeichnet. IsDirectory ergibt den Wert false, wenn die Funktion dir nicht den Pfadnamen zurückgibt. Das funktioniert meistens auch aber nicht immer, weil der Befehl bei versteckten Ordnern den Rückgabewert true liefert. In diesem Fall versagt die Funktion. Programmierer merken zumeist nichts davon. Die DirListBox zeigt versteckte Verzeichnisse nicht an. Aber sie sind gleichwohl vorhanden. Versuchen Sie einmal, einen neuen Ordner dort anzulegen, wo ein versteckter Ordner mit gleichem Namen steht. Auch wenn Ihnen vorher IsDirectory den Wert false zurückgegeben hat, erhalten Sie eine Fehlermeldung. Hier hilft die zu Version 6 mitgelieferte Datei Scrrun.dll. Binden Sie diese als Verweis in Ihr Projekt ein. Dann steht Ihnen nach entsprechender Deklaration und Zuweisung das FileSystemObject zur Verfügung. Dieses Objekt verwenden Sie, um eindeutig festzustellen, ob ein Name einen Ordner bezeichnet oder nicht. Zum realistischen Test des Beispielprogramms suchen Sie im Arbeitsplatzordner einen versteckten Ordner. Geben Sie dessen Pfad komplett in der Textbox ein. Klicken Sie nacheinander die Schaltflächen IsDirectoryOld und Is-Directory an. Nur bei der neuen Funktion wechselt die Verzeichnis-Listbox in das versteckte Verzeichnis. Ein verstecktes Verzeichnis wird in der DirListBox normalerweise nicht angezeigt. Doch weisen Sie dessen Pfad der Path-Eigenschaft zu, sehen Sie es in der Anzeige. Wenn Sie Version 6 noch nicht besitzen, können Sie den Test dennoch durchführen. Im Unterverzeichnis ...\Is-Directory\Komp finden Sie die kompilierte Version des Beispielprogramms.
Function IsDirectory
(P As String) As Boolean
Dim Fso As New FileSystemObject
Set Fso = CreateObject
("scripting.filesystemobject")
Dim F As Folder
On Error Resume Next
Set F = Fso.GetFolder(P)
If Err = 0 Then
Dim FName As String, _
PF As String
FName = F.Name
P = F.ParentFolder
PF = PfadVollstaendig(PF)
IsDirectory =
(LCase(PF + FName) = LCase(P))
Else
IsDirectory = False
On Error GoTo 0
End If
End Function

Verfasser: Andreas
Letzte Änderung: 2012-09-11 18:15


Fehlersuche in der Endversion

Wenn Fehler nur in der Release-Variante eines Programms auftreten, müssen Sie auch diese debuggen.
Auch in ein ReleaseBuild können Sie die Debug-Informationen einbetten lassen. Gehen Sie in den Dialog für die Compiler- und Linker-Optionen, und schalten Sie Generate Debug Info ein. Danach können Sie auch im ReleaseBuild Ihrer Anwendung im Single-Step-Modus auf Quellcode-Ebene debuggen.
Allerdings gibt es dabei ein kleines Problem: Der Optimizer verändert Ihren Code zum Teil erheblich - daher ist es nicht immer ganz einfach, den Bezug zwischen der vom Debugger angezeigten Quellcode-Zeile und dem momentanen Zustand des Programms herzustellen. Besser als nichts ist diese Option aber allemal.

Verfasser: Andreas
Letzte Änderung: 2012-09-11 18:15


Fenster immer oben

Ein Fenster, das unverdeckt stets oben steht, zeugt von Wichtigkeit.
Soll ein Formularfenster stets an oberster Stelle auf dem Desktop sichtbar sein und nicht überdeckt werden können, ändern Sie über die API-Funktion SetWindowPos (Listing in Databox 7/98) das Attribut.
Heben Sie diesen Zustand auf, indem Sie SetWindowPos erneut aufrufen. Dabei übergeben Sie anstelle von HWND_TOPMOST die Konstante HWND_NOTOPMOST.

Verfasser: Andreas
Letzte Änderung: 2012-09-11 18:16


Fensterteiler

Dieser Tipp liefert ein Modul, um mit der Splitter-Technik Explorer- ähnliche Fenster zu gestalten.
Ab Version 5 steht Ihnen der Anwendungsassistent als Add-in zur Verfügung. Mit ihm können Sie Explorerähnliche Anwendungen schreiben. Dabei legen Sie einen Fensterteiler an, der das Form-Fenster wie beim Explorer aufteilt. Leider lässt sich der Lösungsansatz nicht leicht auf eigene Anwendungen übertragen. Abhilfe schafft das Programm Splitter. Damit legen Sie mehrfach geteilte Fenster oder Fenster mit verschiebbaren Fensterteilern an. Die erforderlichen Funktionen stehen in einem Standardmodul. Platzieren Sie auf einer Form oder einer PictureBox an beliebiger Stelle zwei Controls, deren Größe verändert werden soll. Zusätzlich ordnen Sie eine PictureBox auf dem Container an. Das wird der Fensterteiler (Splitter). Je nachdem, wie Sie die Proportion des Splitters wählen, erfolgt die Fensterteilung zur Laufzeit horizontal oder vertikal. Sie initialisieren das Programm in der Form_Load-Prozedur:
Splitter_Init Picture1, _
Text1(0), Text1(1)
Als Argumente übergeben Sie den Splitter. Die Größe passen Sie beim Ändern der Form-Abmessungen in der Form_Resize-Prozedur an.
Splitter_Resize _
Picture1, Text1(0), _
Text1(1)
Jetzt fehlen noch die Codezeilen, um die Verschiebung zu steuern:
Sub Picture1_MouseDown(...)
Splitter_MouseDown _
Wichtig ist, dass die Form der als Splitter (S) verwendeten PictureBox die Anordnung der beiden gekoppelten Controls (T = Topcontrol, B = Bottomcontrol) bestimmt. Ist der Splitter höher als breit, erfolgt die Anordnung horizontal nebeneinander, sonst vertikal.

Verfasser: Andreas
Letzte Änderung: 2012-09-11 18:16


Flächen "kacheln"

Mit einer eigenen Prozedur können Sie Teilflächen partiell füllen.
Mit der folgenden Routine füllen Sie Flächen mit Kacheln. In PIC übergeben Sie das Bild, das Sie auf der Fläche OBJ kacheln wollen. Beachten Sie: Für die Quelle (PIC) und für das Ziel (OBJ) setzen Sie ScaleMode = vbPixels (= 3):
' BitBlt-Deklaration einfügen
'Vor VB4 As Form oder As Control
Private Sub Kacheln_
(Obj As Obj, Pic As Control, _
X1, Y1, X2, Y2)
Wdth = Pic.ScaleWidth
Hght = Pic.ScaleHeight
For m = X1 To X2 Step Wdth
For n = Y1 To Y2 Step Hght
Wd = Wdth: Hg = Hght
If m + Wd > X2 Then Wd = X2 - m
If n + Hg > Y2 Then Hg = Y2 - n
Res = BitBlt(Obj.hDC, m, n, _
Wd, Hg, Pic.hDC, 0, 0, SRCCOPY)
Next
Next
End Sub

Verfasser: Andreas
Letzte Änderung: 2012-09-11 18:17


Flächen füllen

Eine Prozedur füllt ganze Bildteile schnell mit einer Farbe oder einem Muster.
Um bunte Flächen zu erhalten, verwenden Sie die ExtFloodFill-Funktion. Diese füllt Flächen so lange mit der gleichen Farbe, bis sie auf eine andere Farbe trifft. So können Sie Linien eine andere Farbe geben. Wenn Sie in der benutzerdefinierten Prozedur Fuellen dem Parameter Fill-Style einen Wert übergeben, wird die jeweilige Fläche mit einem der Muster aus folgender Tabelle gefüllt. Diese Einstellungen legen fest, wie eine Prozedur ganze Bildteile farblich füllt. Beim Zeichnen setzen Sie AutoRe-draw auf True, sonst wird entweder das ganze Bild gefüllt oder gelöscht. Die Grenzfarbe (Farbwert) bestimmt, daß die Fläche, in der sich der Punkt x/y be-findet, gefüllt wird. Die Grenzfarbe -1 (0 ist auch zulässig) füllt die Fläche mit der aktuell am Punkt x/y vorhandenen Farbe bis zum Auftreffen auf eine andere.

Verfasser: Andreas
Letzte Änderung: 2012-09-11 18:17


FontLister

Mit Ihrem eigenen Font-Dialog bereichern Sie den Standarddialog in Schrift und Farbe.
Schon die erste VB-Version hat Schnittstellen zum Windows-Standarddialog mitgeliefert. Die damit verfügbaren Dialoge sind zumeist hilfreich. Sie haben allerdings auch Nachteile, weil sie sich nur begrenzt gestalten lassen. So können Sie keine vom Windows-Standard abweichenden Farben gestalten. Farbverläufe können Sie damit nicht programmieren. Dieser Tipp belebt die Standarddialoge mit neuen Farben. Zuerst binden Sie die OCX-Datei in Ihr Projekt ein. Wenn Sie in einem Entwicklungsteam mit Einzelplatzrechnern arbeiten, muss jeder Programmierer die gleiche Commdlg. dll installieren. Anderfalls stoßen Sie auf Ladeprobleme. Das Beste ist, Sie gestalten Ihren eigenen Dialog. Das fängt bei der Font-Wahl an. Über die Fonts-Auflistung können Sie die verfügbaren Schriftarten schnell ermitteln.
Sub FontsList(Ctrl As Control)
Ctrl.Clear
Ct = Screen.FontCount
For m = 0 To Ct - 1
Ctrl.AddItem Screen.Fonts(m)
Next
End Sub
Nicht viel mehr Mühe bereitet es, die FontSize-Werte aufzulisten. Beachten Sie dabei jedoch die Zeile mit dem Aufruf der Umwandlungsfunktion Punkt-ZuKomma. Diese ist erforderlich, da die amerikanischen Schreibweise FontSize mit dem Dezimalpunkt schreibt. Sie verfügen mit Ihrem eigenen Font-Lister über viel mehr Fontgrößen als der Standarddialog.
Sub ListFontSize(Ctrl As Control,
_
Obj As Object, FName As String)
Ctrl.Clear
Obj.Font.Name = FName
For m = 7 To 80
UB = Ctrl.ListCount - 1
Obj.FontSize = m
If Obj.FontSize <= m Then
If Ctrl.ListCount > 0 Then
X$ = Ctrl.List(UB)
FS$ = Trim(Str$(Obj.FontSize))
If X$ PunktZuKomma(FS$)
Then
Ctrl.AddItem Obj.FontSize,
UB + 1
End If
Else
Ctrl.AddItem Obj.FontSize,
UB + 1
End If
End If
Next
End Sub

Verfasser: Andreas
Letzte Änderung: 2012-09-11 18:18


Fonts synchronisieren

So setzen Sie einheitliche FontEinstellungen für alle Formen und Controls Ihres Projekts.
Eine goldene Regel der Oberflächengestaltung lautet: Verwenden Sie möglichst wenig unterschiedliche Fonts. Mit dem ab VB4 für die meisten Objekte verfügbaren Font-Objekt ist es einfach, eine einheitliche Schriftart zu setzen. Die hier gezeigte Prozedur erledigt das für Sie, indem es ein Font-Objekt anlegt. Diesem weisen Sie den gewünschten Font eines Objekts zu. Jede Schriftart, die Sie danach ins Font-Objekt einset-zen, übernimmt dessen Einstellungen.
Sub ChainAllFonts( _
Obj As Object)
On Error Resume Next
Set Fnt = Obj.Font
Fnt.Italic = False
Fnt.Bold = False
For Each Frm In Forms
Set Frm.Font = Fnt
For Each Ctrl In _
Frm.Controls
Set Ctrl.Font = Fnt
Next
Next
Set Fnt = Nothing
End Sub
Ein ab VB4 verwendbares Beispielprogramm finden Sie auf der Heft-CD unter ...Fonts/4_Fonts1.vbp.

Verfasser: Andreas
Letzte Änderung: 2012-09-11 18:19


Fonts-Liste

Eine Fontwahl ganz ohne Standarddialog erlaubt dieser Tipp.
Zusatz-Controls sollen Ihren Programmieraufwand reduzieren. Dazu müssen sie beim Benutzer installiert sein. Und sie sind Blackboxes: Erweiterungen sind ausgeschlossen. Das gilt auch für das Standarddialog-Control. Legen Sie daher eine Liste der verfügbaren Fonts an. Dazu dient die hier gezeigte Prozedur.
Sub FontListe _
(Ctrl As Control, _
Optional Typ As Variant)
Dim Obj As Object
If IsMissing(Typ) Then
Typ = 0
End If
Select Case Typ
Case 0
Set Obj = Screen
Case Else
Set Obj = Printer
End Select
Ctrl.Clear
Ct = Obj.FontCount
For m = 0 To Ct - 1
Ctrl.AddItem Obj.Fonts(m)
Next
End Sub
Beispielprogramme finden Sie auf der Heft-CD im Verzeichnis ...\Fonts.

Verfasser: Andreas
Letzte Änderung: 2012-09-11 18:19


FontSize-Liste

So kann der Nutzer Ihres Programms aus der Fonts-Liste auswählen und die Font-Größe selbst bestimmen.
Der Standarddialog wird häufig auch für Font-Einstellungen verwendet. Doch die Arbeit mit dem Dialog ist um-ständlich. Viel schneller ist die Auswahl aus Ihrer eigenen Liste. Wir unterscheiden Screen- und Printer- Fonts. Beide nehmen Sie mit der gleichen Schleifenkonstruktion in eine List-Box auf:
' alternativ: Printer.Fonts
For m = 0 To Screen.FontCount -1
Liste1.AddItem Screen.FONTS(m)
Next
Die Werte für die FontSize-Liste ermitteln Sie mit nachstehendem Programm-code. Er siebt die bei einem bestimmten Font vorhandenen FontSize-Werte aus. Dazu passen Sie den Font der aktuellen Form dem ausgewählten Font an. In einer Schleife setzen Sie den FontSize-Wert auf den Integer-Wert k. FontSize stellt sich auf den nächstmöglichen Wert ein. Ist dieser größer als der letzte gefundene Wert, den Sie in sg sichern, wird er in die Liste übernommen.
FontName = List1.List _
(List1.ListIndex)
List2.Clear
For k = 8 To 60
FontSize = k
If FontSize > sg Then
fs = Trim$(Str$ _
(FontSize))
List2.AddItem fs
sg = FontSize
End If
Next
Ein ab VB4 verwendbares Beispielprogramm finden Sie auf der Heft-CD unter ...Fontsize/4_fntsiz.vbp

Verfasser: Andreas
Letzte Änderung: 2012-09-11 18:20


Fontsize-Liste anlegen

So gewinnen Sie die komplette Liste der Size-Werte Ihres Fonts.
Mit wenigen Listingzeilen lesen Sie FontSize-Werte von einer verwendeten Schriftart aus. Dazu setzen Sie den Font der aktuellen Form auf den ausgewählten Font. Dann setzen Sie in einer Schleife erst den FontSize-Wert auf den Integer-Wert k. FontSize stellt sich automatisch auf den nächstmöglichen Wert ein. Ist dieser größer als der letzte gefundene Wert, übernimmt ihn das Programm in die Liste.
Sub FontSizeListe(FName, _
Ctrl As Control)
Ctrl.Clear
For k = 8 To 60
FontSize = k
If FontSize > sg Then
fs = Trim$(Str$(FontSize))
Ctrl.AddItem fs
sg = FontSize
End If
Next
End Sub
Ein Beispielprogramm finden Sie auf der Heft-CD unter ...\Fonts\4_fntsiz.Vbp.

Verfasser: Andreas
Letzte Änderung: 2012-09-11 18:20


Form mit Menü

Ist es in einer allgemein verwendbaren Prozedur wichtig, ob ein Menü vorhanden ist? Das beantwortet dieser Tipp.
Im vorigen Tipp haben Sie gelernt, wie Sie eine Linie unter die Menüzeile ziehen. Dazu sollte ein Menü vorhanden sein. Die Prozedur HasMenuLine prüft das mit der API-Funktion GetMenu.
Declare Function GetMenu _
Lib "user32" Alias "GetMenu" _
(ByVal hwnd As Long) As Long
Function HasMenu(Frm As Form)
HasMenu = (GetMenu(Frm.hwnd) >0)
End Function
Das Beispielprogramm als 16-Bit-Deklaration auf der Heft-CD unter ...menuline/4_menlin.vbp.

Verfasser: Andreas
Letzte Änderung: 2012-09-11 18:21


Formatiert drucken

So verarbeiten Sie die Textformatierungen der TextBox für Ihren Drucker.
In der TextBox können Sie Text nicht nur links, sondern auch rechts angeschlagen oder zentriert ausgeben. Das funktioniert auch auf dem Ausdruck. Mit Printer.ScaleWidth ermitteln Sie die Ausgabebreite auf dem Drucker. Danach setzen Sie die Eigenschaft CurrentX für den Drucker so, dass die aktuelle Zeile platziert ausgegeben wird. Noch einfacher ist es, die API-Funktion DrawText zu verwenden.
' Auszugsweise:
Sub DoDrawText(...)
Dim Res As Integer, Tx$
Dim OutputRect As Rect
OutputRect.Left = Left
OutputRect.Top = Top
OutputRect.Right = Right
OutputRect.Bottom = Bottom
' ...
Select Case Index
Case 0
' Simple
' ...
Case 1
' MultiLine
' ...
Case 2
' Links angeschlagen
' ...
Case 3
' Zentriert
Res = DrawText(Ziel.hdc, _
Tx$, Len(Tx$), OutputRect, _
DT_CENTER Or DT_CALCRECT Or _
DT_WORDBREAK Or DT_EXPANDTABS)
Res = DrawText(Ziel.hdc,
Tx$, Len(Tx$), OutputRect, '
DT_CENTER Or DT_WORDBREAK Or _
DT_EXPANDTABS)
Case 4
' Rechts angeschlagen
' ...
End Select
' ...
End Sub

Verfasser: Andreas
Letzte Änderung: 2012-09-11 18:21


Formen ohne Titelleiste

Mit wenigen Befehlen schaffen Sie es, dass eine Form ihre Titelleiste verliert.
Formen ohne Titelleiste werden zumeist als Hintergrundfenster verwendet. Formen ohne Titelleiste legen Sie mit folgender Syntax an:
Caption = "",
ControlBox = False,
MaxBox= False,
MinBox = False
Formen mit Menüs haben immer eine Titelleiste. Dies gilt auch, wenn für alle Menüs die Eigenschaften Visible = False und Enabled = False gesetzt sind. For- men ohne Titelleiste können Sie nicht auf herkömmliche Weise bewegen. Die Prozedur, mit der Sie Controls sowie Formen ohne Titelleiste mit der Maus bewegen, finden Sie unter dem Stichwort Objekte verschieben.

Verfasser: Andreas
Letzte Änderung: 2012-09-11 18:22


Formfläche scrollen

Unter VBA können Sie die Fläche der MSForms verschieben. Lesen Sie, wie das unter VB gemacht wird.
Im PC-Magazin 6/99, S. 178 haben wir im Tipp 46 beschrieben, wie Sie aus zwei PictureBox-Controls und einer vertikalen und horizontalen Scrollbar einen Browser für übergroße Bilder programmieren. Wenn Sie nur Controls in Ihrer Form verschieben wollen, hilft Ihnen dieser Tipp. Anstelle der Fläche bewegen Sie mit Hilfe der Scrollbar die Controls darauf. So entsteht der Scroll-Eindruck. Das Ganze hat den Vorteil, dass Sie eine quadratische Fläche mit maximal 32767 Einheiten Seitenlänge simulieren.
Sub ScrollControls
(Frm As Form, SValue As Integer)
For Each Ctrl In Frm.Controls
' Die Scrollbar nicht verschieben
If Ctrl.Name = „VScroll1"
Then
' Evtl. andere Controls vom
' Verschieben ausschliessen.
ElseIf Ctrl.Name = „Label1"
Then
Else
Ctrl.Top = -SValue +
Ctrl.Tag
Frm.Refresh
End If
Next
End Sub
Die hier gezeigte und alle anderen erforderlichen Prozeduren stehen in einem direkt einzubindenden Modul. Das Beipielprogramm finden Sie unter ...\Form-Scroll\4_scr_01.vbp

Verfasser: Andreas
Letzte Änderung: 2012-09-11 18:23


Formular aktiv ?

Ob ein Formular bereits geladen ist, verrät die Forms-Auflistung. Um feststellen zu können, ob ein Formular bereits geladen ist, durchsuchen Sie lediglich die Forms-Auflistung des Screen-Objekts: Sub FormGeladenPrüfen (Formname As Form) Dim TempForm As Form For Each TempForm in Forms If TempForm Is FormName Then FormGeladenPrüfen = True Exit Function End if Next FormGeladenPrüfen = False End Function Peter Monadjemi/et

Verfasser: Andreas
Letzte Änderung: 2012-09-11 18:23


Formular an der Spitze

Das Anwendungsfenster soll oben stehen.
Soll sich ein Anwendungsfenster stets an oberster Stelle der Liste befinden, muß es über die API-Funktion SetWindowPos das Attribut HWND_TOPMOST erhalten. Nachdem Sie die Schaltfläche [cmdTopMost] angeklickt haben, macht das Beispiel-Listing (Listing in Databox 7/97) das aktuelle zum obersten Fenster. Indem Sie die Schaltfläche [cmdNoTopMost] anklicken, heben Sie diesen Effekt wieder auf.
Peter Monadjemi/et

Verfasser: Andreas
Letzte Änderung: 2012-09-11 18:24


Formular in der Mitte

Das Anwendungsfenster soll mittig angeordnet sein.
Möchten Sie Ihr Formular nach dem Laden automatisch in der Mitte des Bildschirms sehen, muß seine Form_Paint-Ereignisprozedur folgenden Inhalt enthalten:
Me.Top=(Screen.Width-Me.Width)\2
Me.Left=(Screen.Height-Me.Height)\2
Ein wenig einfacher geht es ab Visual Basic 5. Hier verfügt ein Formular über eine StartPosition-Eigenschaft.
Peter Monadjemi/et

Verfasser: Andreas
Letzte Änderung: 2012-09-11 18:24


Formulare am Bildschirm ausrichten

Die FMove-Routine verschiebt ein Formular in alle vier Bildschirmecken oder stellt es zentriert dar.
In vielen Form_Load-Routinen findet sich ein Code-Abschnitt, der das zugehörige Formular an eine bestimmte Stelle des Bildschirms verschiebt. Meistens ist das die Bildschirmmitte, die naturgemäß das Wahrnehmungszentrum des Anwenders darstellt. In seltenen Fällen kommen auch Verschiebungen in die vier Bildschirmecken vor. Der Code für ein solches Manöver ist stets der gleiche und eignet sich daher ideal für die Auslagerung in eine externe, universell verwendbare Routine, wie sie FMove (Listing in Databox 6/98) darstellt.
FMove nimmt den Namen der zu verschiebenden Form über das FName-Argument entgegen. Das Argument Position stellt einen Integer-Wert zwischen 1 und 5 dar, der die Zielposition des Formulars auf dem Bildschirm - oben links, oben rechts, zentriert, unten links, unten rechts - festlegt. Verwenden Sie lieber vordefinierte Konstanten (OBEN_ LINKS, ZENTRIERT etc.), die die Zielposition weitaus anschaulicher bestimmen.
Die Select Case-Konstruktion in FMove ermittelt die gewünschte Position und stellt die Left- und Top-Eigenschaft des Formulars entsprechend ein. So ergibt sich der Zentrierungseffekt etwa dadurch, daß Sie die Höhe (Screen. Height) und Breite (Screen.Width) des Bildschirms halbieren und davon die halbe Formularhöhe (FName.Height) respektive -breite (FName.Width) abziehen.
Um ein beliebiges Formular mit FMove zu zentrieren, genügt die folgende Codezeile:
Call FMove(Me, ZENTRIERT)
Das Schlüsselwort Me verwenden Sie innerhalb eines Formulars stellvertretend für seinen tatsächlichen Namen.

Verfasser: Andreas
Letzte Änderung: 2012-09-11 18:25


Formulare im Vordergrund

Um ein Formular im Vordergrund zu halten, geben Sie beim Aufruf von Showein Bezugsfenster an.
Damit ein Formular stets im Vordergrund bleibt, genügt ein Aufruf der API-Funktion SetWindowsPos mit dem Argument HWND_TOPMOST. Ein wenig einfacher geht es, wenn Sie die Show-Methode mit einer Bezugsnummer des Fensters (hWnd-Eigenschaft) aufrufen. So schiebt sich das Fenster, das die Show-Methode anzeigt, über das vorige Fenster:
frmInfo.Show OwnerForm:=Me
Wenn Sie bei der Anzeige des Formulars frmInfo das aktuelle Formular als Besitzer (ownerwindow) angeben, bleibt frmInfo stets oberhalb des besitzenden Formulars.

Verfasser: Andreas
Letzte Änderung: 2012-09-11 18:25


Formulartitel mit Laufschrift

Sie geben Formularüberschriften in einer Laufschrift aus. Eine Timer-Funktion steuert diesen Effekt.
Ein hübscher optische Effekt ergibt sich, wenn Sie die Titelleiste eines Formulars in Laufschrift anzeigen. Dazu ist ausnahmsweise keine API-Funktion erforderlich. Es genügt, durch einen Zeitgeber die Zeichenkette über die Left-Funktion portionsweise einzublenden (Listing 5).

Verfasser: Andreas
Letzte Änderung: 2012-09-11 18:26


Formvariablen entfernen

Wird ein Formular entladen, werden dadurch nicht automatisch alle öffentlichen Variablen der Form zerstört. Dies muß vielmehr explizit die Anweisung Set FormularName = Nothing erledigen (Formularname ist der Name des Formulars). Peter Monadjemi/et

Verfasser: Andreas
Letzte Änderung: 2012-09-11 18:26


Freien Arbeitsspeicher ermitteln

Eine beliebte API-Funktion von Windows 3.1 ersetzen Sie, um zu vergleichbaren Resultaten zu kommen.
Zu den beliebtesten API-Funktionen unter Windows 3.1 zählte GetFreeSystemResoures, die die freien Systemressourcen in Prozent zurückgab. Diese Funktion existiert unter Win32 nicht mehr, da es hier Systemressourcen offiziell nicht gibt. Eine Alternative stellt die API-Funktion GlobalMemoryStatus dar, die bei ihrem Aufruf eine Vielzahl von Systemdaten in eine Variable vom Typ MEMORYSTATUS überträgt. Unser Programm (Listing in Databox 7/97) liefert zum Beispiel die prozentuale Auslastung oder die Größe des Gesamtarbeitsspeichers.
Peter Monadjemi/et

Verfasser: Andreas
Letzte Änderung: 2012-09-11 18:27


Freier Speicher

Speichern Sie gelegentlich noch auf Disketten? Oder wollen Sie wissen, wieviel Restspeicher Ihr aktueller Datenträger noch besitzt?
Bevor Sie Daten auf einen Datenträger kopieren, ist es hilfreich zu wissen, ob der Platz dafür reicht. Den noch vorhandenen Restspeicher auf dem Zieldatenträger zeigt Ihnen die hier entwickelte Funktion GetDiskSpaceFree:
#If Win16 Then
Private Declare Function _
DiskSpaceFree Lib _
"SETUPKIT.DLL" () As Long
#Else
Private Declare Function _
GetDiskFreeSpace Lib _
"kernel32" Alias _
"GetDiskFreeSpaceA" _
(ByVal lpRootPathName _
As String, _
lpSectorsPerCluster As _
Long, lpBytesPerSector _
As Long, _
lpNumberOfFreeClusters _
As Long, _
lpTtoalNumberOfClusters _
As Long) As Long
#End If
Die eigentliche Funktion greift je nach Bit-Version auf die betreffende API-Funktion zu. In 16-Bit-Systemen ist die Restspeichergröße direkt ablesbar. Beachten Sie, daß Sie unter 16 Bit die zu VB gehörende Datei setupkit.dll benötigen. Unter 32-Bit-Systemen errechnet sie sich aus den freien Clustern. Deren Anzahl mal der Anzahl der Sektoren ergibt die freien Sektoren. Mit der Bytes-Größe der Sektoren erhalten Sie den freien Speicher:
Private Function _
GetDiskSpaceFree _
(Drive As String) As Long
#If Win32 Then
On Error Resume Next
Res = GetDiskFreeSpace _
(PfadVollstaendig$(Drive), _
SectPerCluster&, _
BytesPerSector&, _
NumberOfFreeClusters&, _
TotalNumberOfClusters&)
f& = NumberOfFreeClusters& * _
SectPerCluster& * _
BytesPerSector&
GetDiskSpaceFree = f&
If Err > 0 Then
MsgBox Error$ + NL$ + _
"Bitte schließen Sie " + _
"andere Anwendungen!", _
16, "Fehler"

Schleife = 0
Exit Function
End If
#Else
On Error Resume Next
ChDrive Drive
GetDiskSpaceFree = _
DiskSpaceFree()
#End If
End Function

Verfasser: Andreas
Letzte Änderung: 2012-09-11 18:27


Funktionen für Binärzahlen

Dieses Beispiel zeigt alle für Binärzahlen erforderlichen Funktionen in einem Programm.
Immer wieder finden Sie einen Vorschlag, um Zahlen in das Binärformat zu verwandeln. Aber für die Arbeit mit Binärzahlen brauchen Sie mehr. Das Beispielprogramm Function Bin wandelt beliebige Zahlenwerte in Binärzahlen um. Function BinFormat fügt nach jedem achten Zeichen einen Punkt ein. Function BinVal ermittelt aus der Binärzahl den Dezimalwert. Die nachstehende Function IsBinary stellt fest, ob ein binärer Zahlenstring vorliegt.
Function IsBinary _
(Value As Variant)
' Ist Binaerzahl?
For m = 1 To Len(Value)
If Val(Mid(Value, m, _
1)) > 1 Then Exit For
Next
IsBinary = (m > _
Len(Value)) And _
IsNumeric(Value)
End Function

Verfasser: Andreas
Letzte Änderung: 2012-09-11 18:28


GDI-Funktionen nutzen

Anstatt selbst zu programmieren, sparen Sie sich die Arbeit und nutzen GDI-Funktionen (Graphic Device Interface) von Windows.
Es wäre ein Wunder, wenn so naheliegende Lösungen wie die eben gezeigten PolyLine- und PolyGon-Objekte, nicht in Windows vordefiniert wären. Folgende Deklarationszeilen, im Standardmodul eingefügt, machen sie Ihnen in Polygon.bas verfügbar. Sie nutzen die Funktionen mit jeweils zwei Zeilen Programmcode in den beiden Zeichnen-Prozeduren:
Sub PolyLineZeichnen (Obj As PictureBox)
Nr = PolyLine(Obj.hDC, Poly(0),_
UBound(Poly))
Obj.Refresh
End Sub
Sub PolyGonZeichnen (Obj As PictureBox)
Nr = PolyGon(Obj.hDC, Poly(0),_
UBound(Poly))
End Sub
Wichtig ist, daß Sie Obj.Refresh einsetzen. Ohne diese Zeilen würden die Ob-jekte erst gezeichnet, wenn Sie die Form nochmals anklicken. Die Übergabe des Poly-Array durch das erste, zu zeichnende Element ist eine Besonderheit aller API-Funktionen. Die Anzahl der zu zeichnenden Elemente ist das letzte Argument. Wollen Sie nur Teile eines PolyGon-Linienzugs zeichnen, dann setzen Sie das erste zu zeichnende Element an die Stelle von Poly(0) und ersetzen den Funtionsaufruf UBound(Poly) durch die Zahl der zu zeichnenden Elemente. Die Anzahl der Elemente muß dabei mindestens zwei sein. Zudem darf sie nicht größer als die der UBound-Elemente sein:
Nr = PolyGon(Obj.hDC, Poly(10),_
UBound(Poly) - 10)
Obj.Refresh

Verfasser: Andreas
Letzte Änderung: 2012-09-11 18:28


Gedehnte Bilder speichern

So speichern Sie gedehnte oder gestauchte Bilder dauerhaft auf Ihrer Festplatte.
Das Image-Control ist ein Steuerelement, das mit Stretch = True Bilder dehnt. Aber diese Bilder sind nur temporär im Control. Speichern Sie das veränderte Bild und laden es wieder, wird es in seiner ursprünglichen Größe gezeigt. Dazu setzen Sie StretchBlt oder ab VB 4 PaintPicture ein. Die mit diesen Methoden veränderten Bildabmessungen bleiben erhalten. Zusätzlich zu Width und Height legen Sie fest:
* AutoRedraw = True
* ScaleMode = vbPixels (= 3)

Verfasser: Andreas
Letzte Änderung: 2012-09-11 18:29


Geheime Kartenspiele

Mit einer NT-DLL nutzen Sie den umfangreichen Spielkartensatz des Systems.
Wer gerne Kartenspiele programmiert, wird vielleicht ein wenig neidisch auf die Spielkartensammlung in Solitaire oder Hearts geschielt haben. Könnte man die Karten übernehmen, wäre schon die halbe Arbeit erledigt.
Es geht: Die Windows-Kartenspiele benutzen eine gemeinsame DLL ("cards.dll"). Diese enthält nicht nur die Bitmaps der einzelnen Karten, sondern auch fertige Routinen, um diese in einem Bildfeld oder Formular (allgemein in einem Gerätekontext) anzuzeigen. Zu bedenken ist, daß die Windows-95-Variante anders als das Pendant von Windows NT nur eine 16-Bit-DLL ist. Sie können sie also nicht unter 32-Bit-Visual-Basic aufrufen. Die Anweisungen aus unserem Beispiel (Listing in Databox 7/97) zaubern eine zufällige Spielkarte in ein Bildfeld, dessen AutoRedraw-Eigenschaft Sie auf TRUE einstellen.
Peter Monadjemi/et

Verfasser: Andreas
Letzte Änderung: 2012-09-11 18:29


Gekachelte Bitmaps

Nebeneinander angeordente Bitmaps ergeben ein interessantes Hintergrundmuster für ein Formular.
Soll das Bild in einem Formular oder Bildfeld gekachelt wirken, so daß es die komplette Innenfläche ausfüllt, kopieren Sie es mit der PaintPicture-Methode in die Innenfläche (Listing 3). Da diese Methode in der Paint-Prozedur aufgerufen wird, paßt sich die Innenfläche automatisch der aktuellen Größe des Formulars an vorausgesetzt, die AutoRedraw-Eigenschaft ist False. Benutzerformulare in Office 97 besitzen diesen sogenannten Tile-Effekt, da er in die PictureTiling-Eigenschaft fest eingebaut ist.

Verfasser: Andreas
Letzte Änderung: 2012-09-11 18:30


Gerade oder ungerade

Dieser Tipp weist darauf hin, was bei Mod-Berechnungen zu beachten ist.
Wenn Sie komplexe Berechnungen durchführen, können Sie häufig nicht voraussagen, ob das Ergebnis gerade oder ungerade ist. Wenn Sie das aber wissen müssen, stellen Sie folgende Überlegungen an. Gelegentlich lesen Sie dazu den Tipp: Sie sollen den Mod-Operator verwenden. Er gibt den Rest einer Integer-Division zurück. Der Divisor 2 zeigt an, ob ein Ausdruck ein gerades oder ungerades Ergebnis hat. Die Codezeile könnte so aussehen:
Geradezahl = ((Wert Mod 2) = 0)
Das funktioniert aber nur bei ganzen Zahlen korrekt. Ist ein Operand eine Fließkommazahl, wird dieser Wert vor der Berechnung gerundet. So ist beispielsweise das Ergebnis von
Erg = (34.32 / 2.88) Mod 2 _
gleich 0, obwohl das Ergebnis eine Fließkommazahl, also nicht gerade ist. Wollen Sie sicherstellen, dass Fließkommazahlen immer als ungerade erkannt werden, dann ergänzen Sie die Codezeile:
Geradezahl = ((Wert Mod 2) = 0) _ And (Int(Wert) = Wert)

Verfasser: Andreas
Letzte Änderung: 2012-09-11 18:30


Haben Sie gewählt?

So prüfen Programmierer, ob in einer Liste eine Auswahl getroffen wurde.
Häufig sind Aktionen davon abhängig, dass in einer Listbox zumindest eine Zeile markiert ist. Ob dies der Fall ist, stellen Sie mit der SelCount-Eigenschaft fest. Eingefügt in eine Funktion erhalten Sie true, wenn der Rückgabewert größer als 0 ist. Sel-Count ist auch verwendbar, wenn Sie MultiSelect nicht aktiviert haben.
Function AnySelected(Ctrl As
Control)
AnySelected = (Ctrl.SelCount >
0)
End Function
Mit diesen Zeilen klären Sie, ob Listzeilen ausgewählt wurden.

Verfasser: Andreas
Letzte Änderung: 2012-09-11 18:30


Hexcode-Wandler

So verwandeln Sie Text in Hexcode und zurück, womit Sie die einfachste Verschlüsselung erreichen.
Am leichtesten verschlüsseln Sie einen Text, indem Sie an Stelle der Zeichen deren Codewert anzeigen. Um die Rückübersetzung zu erleichtern, verwenden Sie dafür nicht die Dezimal-, sondern die Hexadezimal-Darstellung. Dafür brauchen Sie eine Funktion, die ganze Texte schnell in Codewerte umwandelt. Diese Aufgabe löst folgende Funktion:
Function TextToHex _
(ByVal Tx$) As String
Tx1$ = ""
For m = 1 To Len(Tx$)
Z$ = ""
CD = _
Asc(Mid$(Tx$, m, 1))
Z$ = LTrim$(Hex$(CD))
If Len(Z$) = 1 Then
Z$ = "0" + Z$
End If
Tx1$ = Tx1$ + Z$ + " "
Next
TextToHex = Tx1$
End Function
Mit der Funktion HexToText übersetzen Sie die Werte zurück in Klartext.

Verfasser: Andreas
Letzte Änderung: 2012-09-11 18:31


Hexwert als Zeichenkette

Mit der Funktion NewHexsind RGB-Werte transparenter, weil führende 0-Zeichen erhalten bleiben.
Aus Kompatibilitätsgründen hat Microsoft Funktionen in Visual Basic ohne Änderung von den Vorversionen übernommen. Eine solche Funktion ist Hex. Sie liefert den Hexwert eines Zahlenwerts als Zeichenkette. Führende 0- Zeichen werden unterdrückt. Das verwirrt besonders bei RGB-Zahlenwerten. Hier brauchen Sie zum Beispiel einen String, der alle sechs Stellen enthält, damit Sie die einzelnen Farbanteile leichter erkennen können. Diese Aufgabe übernimmt die Funktion NewHex. Ihr übergeben Sie außer dem Zahlenwert die gewünschte Zeichenzahl.
Function NewHex
(Value As Long, Lg As Integer) _
As String
Form gemeldet. Es empfiehlt sich in diesem Fall, in der KeyDown-Prozedur des RTF-Controls zunächst die KeyDown- Prozedur der Form anzuspringen:
Sub RichTextBox1_KeyDown
(KeyCode As Integer, _
Shift As Integer)
Form_KeyDown KeyCode, Shift
End Sub

Verfasser: Andreas
Letzte Änderung: 2012-09-11 18:31


Hintergrund entschleiert

So finden Sie aus maximal 32 768 Farben die tatsächliche Hintergrundfarbe. Als Hintergrundfarbe können Sie nicht beliebige RGB-Farbwerte verwenden. Darstellbar sind maximal 32 768 Farben. Unser Programm zeigt, wie Sie die Farbwerte für Rot ermitteln. Dazu wird in einer PictureBox die Hintergrundfarbe geändert. Mit der Point- Funktion ermitteln Sie die tatsächliche Hintergrundfarbe. Den Rotanteil bestimmt folgende Prozedur: Function Red(Col As Variant) Red = (Col And &HFF&) End Function

Verfasser: Andreas
Letzte Änderung: 2012-09-11 18:32


Hintergründiges

Mit diesem Tip legen Sie einen Hintergrund an, der den ganzen Bildschirm füllt.
Mit Windows 95 kehrte die Vielfalt manche sagen, die Unübersichtlichkeit auf unsere Bildschirme ein, denn viele Fenster bevölkern jetzt die Arbeitsoberfläche. Manchmal verliert auch der Geübte in diesem Gewirr den Überblick. Mit Visual Basic ist es ganz einfach, für Ihre Programme den richtigen Rahmen, sprich Hintergrund zu schaffen. Gleichzeitig verschwinden alle nicht zu Ihrer Anwendung gehörenden Fenster "hinter dem Vorhang". Grundlage dafür ist ein bildschirmfüllendes Form-Objekt, das diese anderen Fenster verdeckt. Dazu legen Sie ein neues Projekt an und setzen BorderSty-le = 0. Fügen Sie folgende Codezeilen ein:
Private Sub Form_Load()
BackColor = _
RGB(128, 128, 128)
WindowState = 2
End Sub
Wenn Sie dieses Programm starten, überdeckt ein dunkelgrauer Hintergrund alle anderen Fenster. Dabei läßt sich auch einfach ein Bild als Hinter-grund anlegen, etwa für eine Adventure-Sammlung.

Verfasser: Andreas
Letzte Änderung: 2012-09-11 18:32


Hintergrundmuster programmgesteuert laden

Pausenfüller mit eigenen Bildern lassen sich mit einer API- Funktion leicht programmieren.
Wie wäre es mit einer kleinen Diashow, bei der ein kleines Visual-Basic-Programm in regelmäßigen Abständen das Hintergrundmuster des Windows-Desktops austauscht? Um einen solchen Pausenfüller zu programmieren, rufen Sie die API-Funktion SystemParametersInfo auf. Legen Sie ein neues Projekt an, und fügen Sie in das Formular die Befehle aus diashow (Listing 1) ein. Ordnen Sie auf dem Formular eine Schaltläche cmdStart an, und geben Sie in die Click-Prozedur den folgenden Befehl ein:
HintergrundmusterSetzen "C:\Windows\wellen.bmp"
Achten Sie darauf, daß der Pfad auf eine bmp-Datei zeigt. Nach dem Start wird dieses Hintergrundmuster auf dem Desktop angezeigt. Für eine Diashow auf dem Desktop brauchen Sie einen Zeitgeber, der in regelmäßigen Abständen, etwa alle 60 Sekunden, ein anderes Bild einblendet.

Verfasser: Andreas
Letzte Änderung: 2012-09-11 18:33


HTML-und RGB-Farben

Die folgenden Prozeduren sind für das Konvertieren von RGB- in HTML-Farben und umgekehrt unverzichtbar.
Wollen Sie einen HTML-Editor unter VB schreiben? Dann kämpfen Sie be-sonders mit einem Problem: Die Reihenfolge der Farbkomponenten Rot, Grün und Blau ist bei HTML umgekehrt (RRGGBB) im Vergleich zu RGB (BBGGRR). Die hier gezeigten beiden Prozeduren in html.bas (Listing 3) wandeln RGB-Farbwerte in HTML-Farb-strings (mit Präfix #) um und umgekehrt. Beide benötigen die Hilfsproze-dur FillHex, die die String-Teile jeweils auf zwei Zeichen ergänzt.
Bei VB 1 bis 3 ermitteln Sie die Werte der H$-Strings in der HTMLToRGB- Prozedur mit Val.

Verfasser: Andreas
Letzte Änderung: 2012-09-11 18:33


Hypertext-Hilfe ohne Aufwand

Verwenden Sie einfache Textoder rtf-Dateien für Ihre Hilfefunktionen.
Es ist aufwendig, in Visual-Basic-Projekten Hilfefunktionen zu integrieren. Ganz einfach geht es mit unserem Programm minihelp. Das Programm lädt aus dem jeweiligen Projekt-Quellverzeichnis den Inhalt von readme.rtf oder readme.txt. Der Inhalt wird komplett in ein verstecktes rtf-Control eingelesen. Der Text für das Hypertext-System besteht aus Suchwörtern und den gleichnamigen Stichwörtern. Suchwörter stehen im Text. Sie werden durch öffnende " (Chr(174)) und schließende " (Chr(175)) Doppelwinkel eingerahmt. Die Stichworte haben gleiche Bezeichnungen. Ein Stichwort kennzeichnen Sie durch eine voranstehende Doppeltilde ~~:
~~Anzeige der BMP-Bilder
Beim Programmstart wird das erste Stichwort in ein sichtbares RTF-Control eingelesen. Der Text wird dabei formatiert. Diese Prozedur löst folgende Hypertext-Aktionen aus:
Sub Info_MouseUp(...)
Dim N As String
N = GetEntryName(Info(Index))
i = InStr(N, ":")
If i = 0 Then
Typ = "Suchwort"
Else
Typ = Left(N, i - 1)
End If
Select Case UCase(Typ)
Case "BILD"
frm_Picture.ActPicture = N
Case "SUCHWORT"
If EntryCount > 0 Then
RTFText Info(1), _
GetEntry(GetEntryStart(N, _
Info(0).Text), Info(0).Text)
End If
End Select
End Sub
Klickt der Benutzer im sichtbaren Text ein Suchwort an, wird der zugehörige Stichworttext aus dem unsichtbaren rtf-Control ins sichtbare Control übernommen. Benutzen Sie insbesondere bei rtf-Controls die MouseUp-Prozedur. Bei MouseDown stimmt der SelStart-Rückgabewert noch nicht. So zeigen Sie Bilder: Platzieren Sie diese im Quellverzeichnis Ihres Projekts, und geben Sie diese Zeile für den Hyperlink ein:
"Bild: Module = minihlp1.bmp"
Für das Bild öffnet sich eine spezielle Form, die auch beschreibenden Text anzeigt. Diesen speichern Sie als reine Textdatei im Projekt-Quellpfad. Geben Sie ihr den Namen der Bilddatei, zu der der Text gehört, und verwenden Sie als Erweiterung txt.

Verfasser: Andreas
Letzte Änderung: 2012-09-11 18:34


Icons extrahieren

Mit Icons läßt sich vieles übersichtlicher anordnen. Wer Icons drucken oder anderweitig verwenden will, muß sie extrahieren und speichern.
Viele Dateien, vor allem System-DLLs, enthalten Icons. Mit einem kleinen Programm unter der API-Funktion ExtractIcon lassen sie sich extrahieren, in einer Anzeige darstellen und in einer bmp-Datei speichern. Für die Umsetzung benötigen Sie ein Formular mit folgenden sechs Elementen:
 Laufwerks- (drvListe),
 Verzeichnis- (dirListe) und
 Dateiauswahlliste (datListe) für die Auswahl der Datei,
 ein Bezeichnungsfeld (lblDateipfad) für die Anzeige des Dateinamens,
 ein Listenfeld (lstIconListe) für die Auflistung der Icon-Indizes
 und ein Bildfeld (picIcon) für die Anzeige des Icons.
iconex (Listing 2) enthält den kompletten Programmcode. Nach dem Programmstart wählen Sie eine Datei aus und rufen mit dem Dateinamen die API-Funktion ExtractIcon auf, die die Anzahl der vorhandenen Symbole zurück-gibt. Für jedes Symbol wird eine Nummer in einem Listenfeld angezeigt. Nachdem Sie die Nummer über Extract-Icon ausgewählt haben, wird das Symbol extrahiert und über DrawIcon in einem Bildfeld angezeigt.

Verfasser: Andreas
Letzte Änderung: 2012-09-11 18:34


Image für Blendeffekte

Mit dem Image-Control blenden Sie Bilder ein und aus.
Mit der API-Funktion Stretch und PaintPicture überblenden Sie Fenster (vgl. PC Magazin 2/00, S. 192 und 7/00, S. 236). Um Bilder aus-und einzublenden, verwenden Sie ein Image-Control. Dessen Breite und Höhe wird in 100-Pixel-Schritten verkleinert oder vergrößert. Im folgenden Beispielprogramm finden Sie die Prozedur Pulsar, von der wir hier einen Teil abdrucken. Das Argument Richtung gibt dabei vor, in welche Richtung Sie das Bild scrollen werden:
Sub Pulsar(Img As Image, _
Richtung As
Integer, _
Optional Wdth As Variant, _
Optional Hght As Variant)
Img.Visible = True
Select Case Richtung
Case Is < 2
dWdth = Wdth / 100
For m = Wdth To 0 Step -dWdth
Select Case Richtung
Case 0
Img.Width = m
Case 1
Img.Width = Wdth -m
End Select
DoEvents
Next
Case Else
' ...
Next
End Select
Select Case Richtung
Case 0, 2
Img.Visible = False
Case 1
Img.Width = Wdth
Case Else
Img.Height = Hght
End Select
End Sub

Verfasser: Andreas
Letzte Änderung: 2012-09-11 18:35


Immer gut in Form

So bestimmen Sie, dass der Anwender Ihr Formular in optimaler Größe betrachtet oder ausfüllt.
Wenn Sie das Design Ihres Formulars abgestimmt haben, kann es sinnvoll sein, den User daran zu hindern, das Formular über einen bestimmten Wert hinaus zu vergrößern oder unter einen Minimalwert zu verkleinern. Dies erledigen Sie mit dem Form_Resize-Event. Alle Tipps sind im Testformular (Daten der Heft-CD) eingebunden. Hier testen Sie das Verhalten und die Arbeits-weise der einzelnen Tipps. Ein angepasstes Formular codieren Sie mit diesen Zeilen:
Private Sub Form_Resize()
On Error Resume Next
If Me.Width 8130 Then _
Me.Width = 8130
If Me.Height 6750 Then _
Me.Height = 6750
End Sub

Verfasser: Andreas
Letzte Änderung: 2012-09-11 18:35


In der Entwicklung

Dieser Tip hilft Ihnen, Aktionen auf den Entwurfsmodus zu beschränken.
Haben Sie auch schon einmal vergessen, Stop-Anweisungen vor dem Kompilieren aus Ihrem Programm zu entfernen? Oder erhielten Sie von der fertigen Anwendung Ausgaben, die nur in Entwicklungsumgebung erfolgen sollten? Soll Ihr Programm zunächst auf eine Festplatte, wenn es kompiliert ist, aber auf Ihre CD zugreifen? Das Listing zeigt, ob sich Ihr Programm noch in der VB-Entwicklungsoberfläche (IDE) befindet oder als kompilierte Anwendung gestartet wurde. Immer, wenn bestimmte Aktionen und Informationen nur im Kompilat oder in der IDE aktiv sein sollen, hilft das Listing.
Private Declare Function _
GetModuleFileName _
Lib „kernel32" _
Alias _
„GetModuleFileNameA" _
(ByVal hModule As Long, _
ByVal lpFilename _
As String, _
ByVal nSize As Long) _
As Long
Das Beispielprogramm finden Sie unter ...\IDE\ide

Verfasser: Andreas
Letzte Änderung: 2012-09-11 18:36


Infobox mit Hyperlink

Als Entwickler verweisen Sie von Ihrem Programm aus gleich auf Ihre Homepage.
Die Infobox eines Visual-Basic-Programms sollte einen Hyperlink auf die Web-Seite des Entwicklers enthalten. Dazu brauchen Sie keine ActiveX- oder Internet-Programmierung. Es genügt, die HTML-Seite oder Ihre Web-Adresse zu starten , um das mit der Dateierweiterung htm oder html verknüpfte Programm aufzurufen. Leider kann die Shell-Funktion keine Verknüpfung herstellen. Das bedeutet, daß Programmierer auf die bis auf zusätzliche Parameter identische ShellExecute-API-Funktion ausweichen müssen (Listing 1). Ordnen Sie dazu in einem Formular ein Bezeichnungsfeld (Name=lblHyperlink) an, dessen Caption-Eigenschaft den Pfad einer HTML-Datei oder eine Web-Adresse enthält. Soll der Mauszeiger die typische Form einer Hand annehmen, während er sich über dem Hyperlink befindet, weisen Sie den Mouse-Icon-Eigenschaften eine entsprechende Bitmap zu. Der Grund: Das Handsymbol gehört nicht zu den Standardsymbolen, die Sie über die MousePointer-Eigenschaft zuweisen können.

Verfasser: Andreas
Letzte Änderung: 2012-09-11 18:36


Inhalt eines Textfeldes

Der Inhalt eines Textfeldes läßt sich automatisch positionieren und festlegen.
Auch den Inhalt eines Textfeldes selektieren Sie automatisch, wenn dieses folgenden Fokus erhält:
Sub txtEingabe_GotFocus ()
txtEingabe.SelStart=0
txtEingabe.SelLength=
Len(txtEingabe.Text)
End Sub
Um diese beiden Befehle nicht in jede GotFocus-Prozedur eintragen zu müssen, gibt es eine kleine Abkürzung:
Sub TextMarkieren (Textfeld As TextBox)
TextFeld.SelStart = 0
TextFeld.SelLength = A Len(Textfeld)
End Sub
Jetzt müssen Sie nur den Namen des Textfeldes übergeben:
Sub txtEingabe_GotFocus ()
TextMarkieren txtEingabe
End Sub
Peter Monadjemi/et

Verfasser: Andreas
Letzte Änderung: 2012-09-11 18:37


Instr-Suche in umgekehrter Richtung

Die benutzerdefinierte ReInstr-Funktion sucht im Unterschied zu Instr nach dem letzten Vorkommen einer Zeichenkette in einer anderen Zeichenkette.
Eine der wichtigsten String-Funktionen in Visual Basic ist die Instr-Funktion, die nach dem ersten Auftreten einer Zeichenkette in einer anderen sucht. In manchen Situationen interessiert man sich jedoch mehr für das letzte Vorkommen eines Strings. So sucht man beispielsweise nach dem letzten Backslash innerhalb eines Pfadnamens, wenn man den darin enthaltenen Dateinamen isolieren will.
Die ReInstr-Funktion (Listing in Databox 12/98) stellt daher eine sinnvolle Ergänzung für die String-Funktionen von VB dar. Sie kehrt die übliche Suchrichtung auf den Kopf. Dazu wandert sie per For-Next-Schleife rückwärts durch die in der sText-Argument angegebene Zeichenkette. Die ReInstr-Funktion beginnt ihre Suche allerdings nicht beim letzten Zeichen, sondern bei der durch iStartPos bezeichneten Position, die der Länge von sText minus der Länge der gesuchten Zeichenkette entspricht.
Bei jedem Schleifendurchlauf vergleicht die Funktion die gesuchte Zeichenkette mit einem gleich langen Teil-String (sAbschnitt) aus sText, dessen Beginn (iAktPos) jeweils um ein Zeichen nach vorne wandert. Wenn die beiden Zeichenketten identisch sind, wird die Funktion beendet. Der Rückgabewert nennt in diesem Fall die ermittelte Zeichenposition, im Fall einer erfolglosen Suche lautet der Rückgabewert 0. Das folgende Code-Fragment nutzt die ReInstr-Funktion zur Isolation des Dateinamens (sFilename) aus dem in sPathname angegebenen Pfadnamen.

Verfasser: Andreas
Letzte Änderung: 2012-09-11 18:37


Internet Explorer fernsteuern

Mit Hilfe des Internet Explorer zeigen und drucken Sie HMTL-Dokumente.
Der Internet Explorer läßt sich nicht nur zum Web-Surfen nutzen, sondern auch als HTML-Dokumentbetrachter einsetzen. Da er wie viele Windows-Anwendungen eine Automationsschnittstelle besitzt, können Sie ihn von einem Visual-Basic-Programm aus "fernsteuern". Dazu binden Sie in ein neues Projekt eine Referenz auf die Objekttypenbibliothek Microsoft Internet Controls ein. Die Eigenschaften, Methoden und Ereignisse werden in der MSDN-Hilfe und in der Dokumentation des Internet Client SDK beschrieben. Möchten Sie auch die Ereignisse des Internet Explorer auswerten, muß das Programm die Anweisung
Private WithEvents appIE _ As InternetExplorer
enthalten, und die deklarierte Variable appIE muß während der Programmausführung wie in Form_Load eine Referenz auf die frisch gestartete Instanz des Internet Explorer erhalten:
Sub Form_Load ()
Set appIE =New InternetExplorer
End Sub
Anschließend steht im Programmfenster in der Liste der Objekte auch der Eintrag appIE zur Verfügung. Die Ereignisliste zeigt die zahlreichen Ereignisse wie BeforeNavigate2, Download-Complete oder ProgressChange. Diese treten immer dann ein, wenn ein Anwender im Internet Explorer das zugeordnete Ereignis auslöst. Listing 4 zeigt ein HTML-Dokument, dessen URL in ein Textfeld eingegeben wurde. Über die Open-Anweisung prüfen Sie, ob die angegebene Datei existiert. Bevor Sie das Programm verlassen, wird die zuletzt eingegebene Datei über SaveSetting in der Registrierung gespeichert und beim nächsten Start über GetSetting geladen. Dadurch erreichen Sie, daß Sie nach dem Start des Programms die zuletzt eingegebene Adresse nicht erneut eintippen müssen. Wer sich im Objektkatalog ([F2]-Taste und Auswahl der Bibliothek SH-DocVw) die Eigenschaften und Methoden der verschiedenen Objekte anschaut, vermißt zunächst wichtige Menükommandos wie Drucken. Doch diese Aufgaben erledigen Sie über die ExecWB-Methode. Mit folgender Anweisungen laden und drucken Sie mit dem Internet Explorer ein HTML-Dokument, dessen Verzeichnispfad Sie zuvor eingestellt haben:
Dim IEApp As InternetExplorer
Set IEApp = New InternetExplorer
IEApp.Visible = True 'nur Zusatz
IEApp.Navigate _ "C:\Eigene Dateien\Liesmich.htm"
IEApp.ExecWB OLECMDID_PRINT,_
OLECMDEXECOPT_DONTPROMPTUSER
Die Konstanten müssen Sie nicht eintippen, sie werden in einer Auswahlliste angeboten.

Verfasser: Andreas
Letzte Änderung: 2012-09-11 18:38


Invers-Farbwert ermitteln

Hier erfahren Sie, wie Sie den Invers-Wert berechnen oder mit Hilfe von Visual-Basic-Methoden ermitteln.
Interpolationsdifferenzen der Grafikkarte können dazu führen, daß einige Farben geringfügig von den mit Draw-Mode = 6 invertierten Farben abwei-chen. Oftmals sind diese Abweichungen mit bloßem Auge kaum wahrnehmbar. 1 Die folgende Prozedur berechnet den Invers-Farbwert:
Function InversColor_
(Col As Variant) As Long
InversColor = 16777215 - Col&
End Function
Function RealInversCol(Frm As _
Form, ByVal Col As Variant)
Dim MerkCol&
MerkCol& = Frm.Point(1, 1)
Frm.PSet (1, 1), Col
Frm.DrawMode = 6
Frm.PSet (1, 1), Col
Frm.DrawMode = 13
Col = Frm.Point(1, 1)
RealInversCol = Col
Frm.PSet (1, 1), MerkCol&
End Function

Verfasser: Andreas
Letzte Änderung: 2012-09-11 18:38


Jede Sekunde zählt

Es ist umständlich, GetTick-Count-Werte in größere Werteinheiten umzuwandeln. Hier sehen Sie, wie es geht.
Von der Timer-Funktion erhalten Sie Sekundenwerte zurück. Die API-Funktion GetTickCount gibt verwirrend hohe Werte in Millisekunden aus. Deshalb wollen Programmierer diese Zeitwerte in Sekunden und Minuten umsetzen. Die hier gezeigten fünf Prozeduren helfen Ihnen dabei. Übergeben Sie ihnen die Sekundenwerte mit Millisekunden als Nachkommastellen. Sie erhalten die Tage, Stunden, Minuten und Sekunden sowie die restlichen Millisekunden.
Die GetTickCount-API-Funktion gibt den Wert in Millisekunden zurück. Di- vidieren Sie diese Werte durch 1000, um auf Se- kunden zu kommen.
Function Tage(ByVal Wert)
Tage = Int(Wert / 86400)
End Function

Function Stunden(ByVal Wert)
Stunden=Int((Wert - Tage(Wert)_
*86400)/3600)
End Function

Function Minuten(ByVal Wert)
Minuten=Int((Wert-Stunden(Wert)_
*3600-Tage(Wert)*86400)/60)
End Function

Function Sekunden(ByVal Wert)
Sekunden=(Wert-Minuten(Wert)*60_
-Stunden(
Wert)*3600-
Tage(Wert)_
*86400)
End Function

Function MilliSeconds(
ByVal Wert)
MilliSeconds =
Wert Mod 1000
End Function

Verfasser: Andreas
Letzte Änderung: 2012-09-11 18:39


Jetzt kommt die Maus

So verstecken Sie den Mauscursor mit einer API-Funktion und zaubern ihn wieder hervor.
Mit der ShowCursor-API-Funktion verstecken Sie schnell den Mauscursor. Die Funktion erwartet nur einen Parameter, entsprechend einfach ist die De-klaration:
Private Declare Function _
ShowCursor Lib "user32"
(ByVal lShow As Long) As Long
Dim lngMouse As Long
Das lShow-Argument steuert die Funktion:
Der Wert 0 lässt den Cursor verschwinden,
-1 holt ihn wieder aus dem Versteck hervor.
Auch wenn der Cursor unsichtbar ist, ist die Mausfunktion nicht deaktiviert. Das können Sie mit unserem Testformular auf der CD im CBlindflugÜ leicht feststellen. Dort finden Sie nämlich den Schaltknopf Cursor da?, wie Sie auch im folgenden Code lesen:
Private Sub cmdCursor_Click()
lngMouse = Not lngMouse
ShowCursor lngMouse
If lngMouse = 0 Then
lblCursor.Caption =
"Cursor weg?, Tasten: !"
ElseIf lngMouse = -1 Then
lblCursor.Caption = "Cursor da"
End If
End Sub

Verfasser: Andreas
Letzte Änderung: 2012-09-11 18:39


Joystick kalibrieren

Wir zeigen Ihnen, wie Sie den Joystick im System mit Kalibrierung integrieren.
Bevor Sie einen angeschlossenen Joy-stick nutzen können, müssen Sie ihn kalibrieren. Dazu gehen Sie in das Dialog-fenster Start/Einstellungen/Systemsteuerung/ Joystick. Wählen Sie den Typ des Joysticks aus. Legen Sie dessen Bereichsgrenzen fest: Der Wertebereich liegt zwischen 0 und 65537. Das VB-System enthält keine Funktionen, um den Joystick als Eingabegerät direkt anzusteuern. Sie brauchen also die richtige DLL, in diesem Fall mmsystem. dll. Auch wenn der Eintrag WinMM.dll in der Deklaration steht: Diese DLL greift auf mmsystem zu. Nachstehend finden Sie die 32-Bit-De-klarationszeilen für ein Standardmodul. Unter Win 3.x ändern Sie den Bibliotheksnamen in mmsystem.dll und alle Long- in Integer-Deklarationen. joy-stick. bas demonstriert das Verfahren. In der ersten benutzerdefinierten Funktion ermitteln Sie die Daten des in der ID gekennzeichneten Joysticks. Die API-Funktion GetJoystickCaps gibt den Rückgabewert unserer Funktion
zurück. Ist dieser ungleich 0, können Sie den Joystick nicht benutzen. Ist er verfügbar, werden die Button-ID-Werte gesetzt.
Public Function _
GetJoystickCaps _
(ID, Caps As JOYCAPS)
Dim m As Integer
Dim Anz As Integer
Res = joyGetDevCaps(ID, _
Caps, Len(Caps))
GetJoystickCaps = Res
If Res 0 Then
Exit Function
End If
Anz = Caps.wNumButtons
ReDim Button(1 To Anz - 1
For m = 0 To Anz - 1
Button(m + 1) = 2 ^ m
Next
End Function
Die Prozedur GetJoystickCaps gibt die Basisdaten des jeweiligen Joysticks über die JoyCaps-Struktur zurück. Der nachstehende Code zeigt den verkürzten Aufruf der Funktion in der Form_Load-rozedur.
Private Sub Form_Load()
Rc = GetJoystickCaps _
(JOYSTICK1, Caps)
If Rc < 0 Then
MsgBox "Kein Joystick" _
& " gefunden!" + _
vbCrLf + "Programm" _
& " wird beendet!", _
vbCritical, " Fehler"
End
End If
' Beispiel für eine Anzeige
Label1(0).Caption = _
Caps.wMid
End Sub
Die zweite benutzerdefinierte Prozedur gibt in der JoyInfo-Struktur die aktuellen Positionsdaten zurück.
Function GetJoyPos(ID, _
JoyInf As JoyInfo)
GetJoyPos = _
joyGetPos(ID, JoyInf)
End Function
Jetzt fehlen Ihnen nur noch die Meldungen
darüber, welcher bestimmte Joy-stick-
Button gedrückt wurde. Dazu fügen
Sie die ButtonPressed-Prozedur in
Ihr Modul ein.
Function ButtonPressed(ID, _
JoyInf As JoyInfo)
ButtonPressed = _
(JoyInf.dwButtons And _
Button(ID))
End Function
Die nächste Funktion rufen Sie in einem Timer-Control auf. Die Joyinfo-Struktur ermittelt die GetJoyPos-Funktion, die Sie an ButtonPressed übergeben:
Private Sub Timer1_Timer()
Rc = GetJoyPos(JOYSTICK1, _
JoyInfo)
' ...
For m = 0 To _
UBound(Button) - 1
Check1(m).Value = _
ButtonPressed(m + 1, _
JoyInfo)
Next
' ...
End Sub
Damit haben Sie die für die Joystick-Steuerung des Cursors erforderlichen Daten und Prozeduren.
Ein Beispielprojekt finden Sie auf der Heft-CD 2 im
Verzeichnis ..../joystick.

Verfasser: Andreas
Letzte Änderung: 2012-09-11 18:40


Käfig für den Cursor

So begrenzen Sie den Arbeitsbereich des Cursors auf bestimmte Bildschirmbereiche.
Gelegentlich ist es hilfreich, die Bewegungsfreiheit des Cursors einzuschränken. Dafür steht die API-Funktion ClipCursor zur Verfügung. Sie begrenzt den Cursorbereich auf einen bestimmten, rechteckigen Bildschirmbereich. Die Grenzen werden über eine RECT-Struktur übergeben. Dafür sind die folgenden Deklarationszeilen erforderlich. Fügen Sie diese in ein Standardmodul (.bas) ein.
Private Type RECT
left As Long
top As Long
right As Long
bottom As Long
End Type
Private Declare Function _
ClipCursor Lib "user32" _
(lpRect As Any) As Long
Wenn Sie diese Codezeilen direkt unter VB einsetzen, taucht ein Problem auf: Wie legen Sie den RECT-Bereich fest, in dem sich der Cursor bewegen soll? Mit VB-Mitteln ist das umständlich. Eine API-Funktion ermittelt Client-Bereiche:
Private Declare Function _
GetClientRect Lib "user32" _
(ByVal hWnd As Long, _
lpRect As RECT) As Long
Diese Funktion gibt die Koordinaten für die Kanten des Innenbereichs zurück. Um die Anweisungen Left = 0 und Top = 0 umzusetzen, verwenden Sie statt der Client- die Bildschirmkoordinaten. Das erreichen Sie mit der API-Funktion ClientToScreen: Diese rechnet die Koordinaten eines Punktes im Cli-ent- Bereich in Bildschirmmaße um. Aus den Werten der linken, oberen und rech-ten, unteren Ecke erhalten Sie die Werte für left, right, top und bottom.
Private Type POINTAPI
x As Long
y As Long
End Type
Private Declare Function _
ClientToScreen Lib _
"user32" _
(ByVal hWnd As Long, _
lpPoint As POINTAPI) As Long
Private Declare Function _
GetDesktopWindow Lib _
"user32" () As Long
Die zuletzt gezeigte Funktion verwenden wir, um den Clip-Bereich wieder auf den gesamten Bildschirm zu setzen. Fügen Sie die beiden Prozeduren SetClip und GetScreenRect in Ihr Standardmodul ein.
Damit begrenzen Sie den Raum für den Cursor auf die Fläche jedes beliebigen Objekts. Das Objekt muß ein Fensterhandle (hWnd-Eigenschaft) besitzen:
Private Sub Picture1_Click()
SetClip Picture1, True
End Sub
ACHTUNG! Dieser Tip begrenzt den Bewegungsraum des Cursors. Spätestens bei Programmende müssen Sie den Raum wieder freigeben.
Ein Beispielprojekt für 16 und 32 Bit finden Sie auf
der Heft-CD 2 unter der Rubrik ..../curclip.

Verfasser: Andreas
Letzte Änderung: 2012-09-11 18:40


Komfortabler Schleifenabbruch

So steuern Sie Schleifen, um ihren Ablauf intern abbrechen zu können.
Schleifenläufe behindern normalerweise andere Aktionen. Die Anweisung oder Funktion DoEvents im Schleifenkörper gibt die Steuerung für einen Moment an Windows zurück. Verwenden Sie diese Option dazu, gezielte Schleifenabbrüche durch den Benutzer zu steuern:
Private Schleife As Boolean
Private Sub Command1_Click()
Schleife = Not Schleife
Select Case Schleife
Case True
Command1.Caption = „Stop"
Schleifenlauf
End Select
Command1.Caption = „Start"
End Sub

Verfasser: Andreas
Letzte Änderung: 2012-09-11 18:41


Kommandos weg

So entfernen Sie Befehle aus dem System-Menü.
Über eine Reihe von API-Funktionen, konkret über GetSystemMenu und RemoveMenuLib, kann ein Visual-Basic-Programm das System-Menü eines Fensters ändern. Das Beispiel-Programm (Listing in Databox 7/97) beschränkt sich darauf, den Schließen-Befehl aus dem System-Menü zu entfernen. Über die API-Funktion AddMenu können Sie jedoch neue Einträge hinzufügen. Nach Anklicken der Schaltfläche [cmdRemoveClose] werden der Schließen-Befehl und die Trennlinie entfernt. Damit können Sie das Fenster nicht mehr über die Systembox schließen.
Peter Monadjemi/et

Verfasser: Andreas
Letzte Änderung: 2012-09-11 18:41


Kompatibel zur Grafikkarte

Damit Ihre Programme mit unterschiedlichen Grafikkarten zusammenarbeiten, prüfen Sie die Zahl der darstellbaren Farben.
Um Farbverfälschungen in einem Programmablauf zu vermeiden, ist es wichtig zu wissen, wie viele Farben ein PC darstellen kann. Die Anzahl der ver-fügbaren Farben bestimmen Sie mit der NumCol-Prozedur, die Sie in das Stan-dardmodul einfügen:
#If Win16 Then
Declare FunctionGetDeviceCaps Lib "GDI" _
(ByVal hdc As Integer, _
ByVal nIndex As Integer) _
As Integer
#Else
Declare Function GetDeviceCaps Lib "gdi32" _
(ByVal hdc As Long, _
ByVal nIndex As Long) _
As Long
#End If
Const BitsPixel = 12
Const Planes = 14
Function NumCol(Frm As Form)
PL=GetDeviceCaps(Frm.hdc,Planes)
BP=GetDeviceCaps (Frm.hdc, BitsPixel)
NumColors = 2 ^ CLng(PL * BP)
End Function
Das Beispiel nutzt die Long-Variable:
Anz& = NumCol(Form1)

Verfasser: Andreas
Letzte Änderung: 2012-09-11 18:42


Kontrolle im CD-Laufwerk

Mit der IsReady-Eigenschaft prüfen Sie, ob im CD-Laufwerk ein Datenträger liegt.
Um schnellstens festzustellen, ob das CD-ROM-Laufwerk die erforderliche CD bereits enthält, verwenden Sie die Is-Ready- Eigenschaft des Drive-Objekts innerhalb der Scripting-Runtime-Bibliothek. Die Eigenschaft liefert True zurück, wenn das Laufwerk das geeignete Medium enthält, andernfalls False. Um die Vorteile der praktischen Eigenschaft nutzen zu können, fügen Sie in Ihrem Projekt eine Referenz zu der Microsoft Scripting Runtime Library (scrrun.dll) hinzu. Dann legen Sie eine Drive-Variable an, die auf den Eigenschaften Ihres CD-ROM-Laufwerks basiert, und testen den IsReady-Status.
Private Sub cmdCD_Click()
Dim fso As FileSystemObject
Dim CDDrive As Drive
'
Set fso = New FileSystemObject
Set CDDrive = fso.GetDrive("E:")
If CDDrive.IsReady Then
lblCD.Caption =
CDDrive.VolumeName
Else
lblCD.Caption =
"...CD einlegen!!"
End If
Set CDDrive = Nothing
Set fso = Nothing
End Sub

Verfasser: Andreas
Letzte Änderung: 2012-09-11 18:42


Korrekte E-Mail-Adresse

Schon bei der Eingabe lässt sich eine untaugliche E-Mail-Adresse verhindern.
Kein Eingabeformular ohne E-Mail-Feld! Das fordert die Internet-Gemeinde. Leider führt schon ein falsches Zeichen in der Adresse zu einer Fehlermeldung wie
MAILER-DAEMON: failed addresses
follow
Um den Anwender schon bei der Eingabe auf eventuelle Fehler hinzuweisen, müssen Sie eine Überprüfung programmieren. Begnügen Sie sich nicht damit, die Existenz des Punktes und des Klammeraffen (@)zu verifizieren. Stellen Sie sicher, dass der Anwender ausschließlich Buchstaben, Zahlen oder andere er-laubte Zeichen eingegeben hat. Dazu verwenden Sie das RegExp-Objekt, indem Sie in Ihrem Projekt einen Verweis auf die Microsoft VBScript Regular Expressions Bibliothek hinzufügen. Hierbei handelt es sich um eine dll-Datei aus der VB-Entwicklungsumgebung, die alle erforderlichen Funktionen enthält. Das folgende Codefragment erklärt die Vorgehensweise:
Dim myReg As RegExp
Private Sub tbxEmail_Validate_
(Cancel As Boolean)
Set myReg = New RegExp
myReg.IgnoreCase = True
myReg.Pattern =
&quo"^[\w-\.]+@\w+\.\w+$"lblEmail.Caption = _
myReg.Test(tbxEmail)
Cancel =
Not myReg.Test(tbxEmail)
End Sub

Verfasser: Andreas
Letzte Änderung: 2012-09-11 18:43


Kostenloser Ressourceneditor

Zwar kann Visual Basic 5 mit Ressourcendateien umgehen, doch der passende Editor fehlt. Den können Sie aus dem Internet herunterladen.
Eins hatten die Sprachen C und Pascal dem Nachkömmling Visual Basic bislang immer voraus: Sie konnten die sprach- und länderspezifischen Texte und Grafiken einer Anwendung - Menü- und Dialogfeldtexte, Icons, Bitmaps und dergleichen - in separaten Ressourcendateien unterbringen, was das Lokalisieren und Entwickeln international verwendbarer Anwendungen enorm erleichtert. Ab Version 5.0 kann Visual Basic zwar nun auch mit Ressourcendateien (*.res) umgehen, einen Editor oder Compiler zum Bearbeiten dieser nützlichen Dateien suchen Sie allerdings vergebens.
Doch Hersteller Microsoft ist sich des Mangels bewußt und hält ein entsprechendes Tool zum kostenlosen Download im Internet unter der Adresse
www.microsoft.com/germany/produkte/vbasic
bereit. Zutritt zu dieser Owner's Area erhält allerdings nur, wer sich zuvor online als Besitzer einer Professional oder Enterprise Version registrieren läßt.
Den Ressourceneditor integrieren Sie per Add-In-Manager in die Entwicklungsumgebung. Mit seiner Hilfe können Sie neue oder bestehende Ressourcendateien zu einem Projekt hinzuzufügen. Die Bearbeitungsfunktionen erlauben das komfortable Anlegen und Ändern von Zeichenkettentabellen, Zugriffs-IDs und Sprachkennzeichnungen sowie den Import von Mauszeigersymbolen, Icons, Bitmaps oder benutzerdefinierbaren Datentypen. Ein Editor für die Manipulation grafischer Ressourcen fehlt allerdings immer noch.

Verfasser: Andreas
Letzte Änderung: 2012-09-11 18:43


Langer, langer Pfad

So bringen Sie lange Datei- und Pfadnamen in kleinen Feldern unter.
Bei langen Datei- und Pfadnamen sind die Text- oder Bezeichnungsfelder meist zu klein, um die Namen komplett anzu-zeigen. Die Funktion PathCompactPath schafft Abhilfe, indem sie die ungetü-men Zeichenketten auf eine für die Bildschirmausgabe passende Größe stutzt. Dazu ersetzt sie einen Teil des Namens durch drei Punkte (...). Die Funktion erfordert folgendes Statement auf Modul-ebene:
Private Declare
Function _
PathCompactPath Lib
"shlwapi" _
Alias "PathCompact-PathA"
_
(ByVal hDC As Long,
_
ByVal lpszPath As
String, _
ByVal dx As Long)
As Long
Die Funktion erwartet drei Argumente:
Das erste enthält das Device-Kontext-Handle,
das zweite den Pfadnamen
und das dritte die Breite des Containers, die die Pfadangabe in Pixel-Einheiten anzeigen soll.
Private Sub cmdEllipsis_Click()
Dim lnghDC As Long
Dim lngCtlWidth As Long
Dim strFileSpec As String
Dim lngOffset As Long
Dim lngRes As Long
'
strFileSpec = tbxEllipsis.Text
Me.ScaleMode = vbPixels
lngOffset = 10
lngCtlWidth = lblEllipsis.Width_
- (Me.DrawWidth + lngOffset)
lnghDC = Me.hDC
lngRes = PathCompactPath_
(lnghDC, strFileSpec, _
lngCtlWidth)
lblEllipsis.Caption=strFileSpec
End Sub

Verfasser: Andreas
Letzte Änderung: 2012-09-11 18:44


Laufwerk als Objekt

Mit diesem Tipp übergeben Sie dem FileSystemObject Laufwerke als Objekte.
Wenn Sie mit dem FileSystemObject und seinen Subobjekten arbeiten, müssen Sie Laufwerke als Objekte übergeben können. Der Objektname genügt dafür nicht. Mit der hier gezeigten Prozedur lösen Sie diese Aufgabe. Der Ansatz ist auch für andere FSO-Objekte verwendbar.
Function GetActDrive(DN$) _
As Object
For Each Drv In FSO.Drives
If LCase(Drv.DriveLetter) = _
LCase(Left(DN$, 1)) Then
Set GetActDrive = Drv
Exit For
End If
Next
End Function

Verfasser: Andreas
Letzte Änderung: 2012-09-11 18:44


Laufwerke auflisten

Sämtliche Laufwerke, einschließlich der im Netzwerk, erhalten Sie über zwei Funktionen.
Das Laufwerk-Listenfeld liefert Laufwerke über seine List-Eigenschaft. Machen Sie es über seine Visible-Eigenschaft unsichtbar. Alternativ überträgt die API-Funktion GetLogicalDrive (Listing in Databox 7/98) die Namen aller Laufwerke in eine String-Variable, die beim Aufruf übergeben wird.
In der Variablen Puffer sind die einzelnen Laufwerksnamen enthalten. Über die API-Funktion GetDriveType (Listing in Databox 7/98) erhalten Sie den Laufwerkstyp. Die verwendeten DRIVE-Konstanten stellt der API-Viewer zur Verfügung.

Verfasser: Andreas
Letzte Änderung: 2012-09-11 18:45


Laufwerksfehler abfangen

So vermeiden Sie Fehlermeldungen, wenn Programme auf leere Laufwerke zugreifen wollen.
Ersetzen Sie die lästige Fehlermeldung bei leerem Laufwerk. Auskommentiert sind die Zeilen mit der Ausgabe der Fehlermeldung. Ohne diese merkt der Benutzer nur, dass sein vorheriges Laufwerk beibehalten wird.
Private Sub Drive1_Change()
On Error Resume Next
Dir1.Path = Drive1.Drive
' If Err > 0 Then
' MsgBox Error, vbCritical, _
" Laufwerksfehler"
' End If
Drive1.Drive = Dir1.Path
End Sub

Verfasser: Andreas
Letzte Änderung: 2012-09-11 18:45


Letzte Ausfahrt für Windows

Mit diesem Tipp beenden Sie Windows aus dem Programm heraus.
Um Windows aus einem Programm heraus zu beenden, steht Ihnen die 32-Bit-API-Funktion ExitWindowsEx zur Verfügung. Deren Deklarationszeile sehen Sie hier:
Declare Function ExitWindowsEx _
Lib "user32" (ByVal uFlags&, _
ByVal dwReserved&) As Long
Die Funktion erlaubt vier Varianten, Windows zu beenden. Diese werden durch den an den Parameter uFlags übergebenen Wert festgelegt. Dafür sind vier Argumente zulässig.
EWX_LOGOFF = 0
EWX_SHUTDOWN = 1
EWX_REBOOT = 2
EWX_FORCE = 4
Der Aufruf der Funktionen erfolgt gemäß nachstehendem Beispiel.
Sub Command1_Click()
ok = ExitWindowsEx (AktOption,
0&)
Refresh
End Sub

Verfasser: Andreas
Letzte Änderung: 2012-09-11 18:45


Linien mit wechselnder Farbe

So nutzen Sie einen Farbverlauf mit Linien in den Farben des Regenbogens.
Sie gestalten eindrucksvolle Oberflächen mit einer Prozedur, die Farbverläufe beschreibt (10/01, S. 229, Tipp 34). Die Prozedur Farbverlauf nutzen Sie auf vielerlei Art. In dieser Ausgabe stellen Sie mit dieser Prozedur Linien in Regenbogenfarben dar. Der Auszug aus dem Listing zeigt das Verfahren:
Lft = 0
TPX = Screen.TwipsPerPixelX
Wdth = (Screen.Width/TPX)\ 8
Colr1 = 8
Do
Colr2 = Colr1 + 1
If Colr2 > 14 Then Colr2 = 8
FarbVerlauf Me, QBColor(Colr1), _
QBColor(Colr2), _
X:=Lft, Y:= 3, _
B:=Wdth, H:=1
Colr1 = Colr2
Lft = Lft + Wdth
Loop While Lft<(Screen.Width/TPX)

Verfasser: Andreas
Letzte Änderung: 2012-09-11 18:46


Links setzen

Verknüpfungen sind praktisch, wenn Sie jemandem den Aufruf eines bestimmten Programms erleichtern möchten.
Verknüpfungen (Links) auf dem Desktop oder in einem Ordnerfenster anzulegen ist unter Visual Basic sehr kompliziert. Mit dem Windows Scripting Host (WSH) geht es leichter vonstatten. Diese einfache Variante ist relativ neu und stand unter Windows 95 nicht von Anfang an zur Verfügung: Über den WSH lassen sich Verknüpfungen mit wenigen Befehlen anlegen. Dazu muß WSH installiert sein, was bei Windows 98 der Fall ist, bei Windows 95 und NT dagegen nachträglich geschehen muß. Im Internet gibt es den WSH unter der Adresse
www.microsoft.com/msdownload/vbscript/scripting.asp
Den WSH installieren Sie, indem Sie die geladene Datei aufrufen. Allgemeine Infos und Beispiele liefert die Site
www.microsoft.com/scripting
Fügen Sie zu einem leeren Projekt eine Referenz auf die Typenbibliothek Windows Scripting Host Object Model (Ver 1.0) hinzu. Gegebenenfalls müssen Sie zuvor die Datei wshom.ocx durch Anklicken der Durchsuchen-Schalt-fläche im Verweise-Dialog laden. Dann führen Sie folgende Befehle in die Click-Ereignisprozedur einer Schaltfläche ein:
Dim S As IWshShell_Class
Dim V As IWshShortcut_Class
Set S = New IWshShell_Class
Set V = S.CreateShortcut
("C:\Windows\Desktop\Hallo.lnk")
With V
.TargetPath =
"C:\Windows\Calc.exe"
.IconLocation =
"C:\Windows\Calc.exe"
.Save
End With
Set V = Nothing
Set S = Nothing
Danach legen Sie ein Verknüpfungssymbol auf dem Desktop an. Unter Umständen müssen Sie den Pfad anpassen, denn die Datei kann auch auf einem anderen Laufwerk oder einem anderen Verzeichnis liegen. Das Symbol kommt ebenfalls aus der Datei Calc.exe. Es gibt noch drei weitere Lösungswege:
 Die herkömmliche Programmierung verwendet die Funktion fCreateSHell-Link der Setup-Datei vb5stkit.dll.
 Sie können alternativ auch direkt auf die COM-Schnittstelle IShelllink zu-greifen, wozu aber eine Type-Bibliothek
und gute Kenntnisse erforderlich sind.
 Viele verlassen sich daher notgedrungen auf eines der zahlreichen Zusatzsteuerelemente, die für diese Aufgabe
angeboten werden.

Verfasser: Andreas
Letzte Änderung: 2012-09-11 18:47


Liste der Erweiterungen

Da Windows Sie keine Dateigruppen durch Mausklick anwählen läßt, nutzen Sie eine Liste der aktuellen Erweiterungen.
Um bestimmte Dateitypen in Ihrer FileListBox anzuzeigen, geben Sie eine Schablone wie *.txt vor. Dafür können Sie eine TextBox vorsehen. Einfacher wäre es, wenn jedesmal beim Wechsel zu einem neuen Verzeichnis eine komplette Liste der verfügbaren Dateierweiterungen angeboten würde. Anhand dieser Erweitungeren lassen sich sehr leicht zum Beispiel alle Texte ausfiltern. Diese Prozedur füllt eine ListBox mit den Erweitungen (Extension-Liste). Das ist die Liste für alle im aktuellen Verzeichnis verfügbaren Dateinamenserweiterungen. Rufen Sie die Prozedur jeweils beim Wechsel des Pfads der FileListBox auf. Die Prozedur ExtListeNeu benötigt die benutzerdefinierte Funktion NurExt$. Eine Zeile wie
File1.Pattern = _
List1.List(List1.ListIndex)
setzt dann die Maske für die FileListBox.

Verfasser: Andreas
Letzte Änderung: 2012-09-11 18:47


Listenauswahl erleichtert

So beherrschen Sie die Mehrfachwahl in ListBoxund FileList- Box.
Auch in einer ListBox oder FileList- Box müssen Sie die Auswahl löschen können. Ist MultiSelect = 0, setzen Sie den ListIndex = -1. Das klappt nicht bei Controls mit Mehrfachwahl. In diesem Fall helfen die Codezeilen ab: Tix = LBox.TopIndex
Wollen Sie eine größere Zahl von Listeneinträgen oder alle auswählen, ist die Prozedur InvertSelection hilfreich. Sie kehrt Ihre Auswahl um. Markieren Sie die nicht gewünschten Einträge, und rufen Sie InvertSelection auf. Haben Sie MultiSelect = 2 gesetzt, können Sie bei gedrückter [Strg]-Taste einzelne Zeilen markieren. Ist die [Umschalt]- Taste gedrückt, markieren Sie alle Zeilen zwischen der zuerst markierten und der neu angeklickten. Um mehrere getrennte Zeilenblocks zu markieren, kennzeichnen Sie die jeweilige Anfangszeile bei gedrückter [Strg]-Taste. Klicken Sie dann bei zusätzlich gedrückter [Umschalt]-Taste die letzte zu wählende Zeile an. Eine letzte Funktion fehlt noch. SelectCount gibt Ihnen die Anzahl der markierten Zeilen zurück. Diesen Wert brauchen Sie, um die markierten Zeilen in ein Variablenfeld aufzunehmen.
Function SelectCount _
(LBox As Control)

Verfasser: Andreas
Letzte Änderung: 2012-09-11 18:47


Listenfeld durchsuchen

So gehen Sie vor, um Zeichenketten mit einer speziellen Funktion sehr schnell zu finden.
Vermissen Sie die Möglichkeit, auf einen String-Wert in einem Listenfeld zugreifen zu können? Zwar könnten Sie eine kleine For-Next-Schleife programmieren, die von 0 bis ListCount-1 läuft und bei jedem Durchlauf den Inhalt der List-Eigenschaft mit dem Suchwert vergleicht. Sehr viel schneller geht es über die API-Funktion SendMessage, die dem Listenfeld eine Hast Du diesen Wert-Nachricht, LB_FINDSTRING (Listing in Databox 7/98) schickt.

Verfasser: Andreas
Letzte Änderung: 2012-09-11 18:48


Listenverwaltung mit Auflistungs-Objekten

Für die Arbeit mit Datenlisten sind Auflistungen häufig besser geeignet als konventionelle Feldvariablen.
Mit Auflistungen arbeiten Sie insbesondere dann besser, wenn Sie nachträglich neue Elemente integrieren oder bestehende löschen. Denn Auflistungen (Collection-Objekte) lassen sich einfacher, schneller und oft auch eleganter verwalten. Das Beispiel einer Namensliste zeigt diese Vorteile. Mit der Anweisung
Dim MeineListe As New Collection
erzeugen Sie das neue Auflistungsobjekt MeineListe. Per Add-Methode fügen Sie ihm nun zwei Namen hinzu, die über das Item-Argument zu definieren sind. Über das optionale Key-Argument ordnen Sie jedem Auflistungselement eine eindeutige Zeichenkette zu, die seine spätere Identifizierung erleichtert: MeineListe.Add Item:="Klaus Müller",Key:="KMüller"
MeineListe.Add Item:="Otto Schulze", Key:="OSchulze"
Über die Count-Eigenschaft ermitteln Sie jederzeit die Zahl der Auflistungselemente. Auf jedes einzelne Element greifen Sie über eine Indexnummer zu, die die Position innerhalb der Auflistung nennt. Das erste Element hat den Index 1. So zeigen Sie mit einer For-Next-Schleife alle Auflistungselemente an:
Dim i As Integer
For i = 1 To MeineListe.Count
Debug.Print MeineListe(i)
Next
Wollen Sie nun nachträglich ein weiteres Element aufnehmen, dann ist dazu - im Unterschied zur Verwendung von Feldvariablen - kein Kopieren in ein zweites Feld und auch kein Einsatz von (mit Redim Preserve) dynamisch dimensionierten Feldern notwendig. Statt dessen genügt ein weiterer Aufruf der Add-Methode:
MeineListe.Add Item:="Heiner Müller", Key:="HMüller"
Auch beim Entfernen von Elementen ist die Auflistung den Feldvariablen überlegen. Die im Key-Argument zugewiesene Zeichenkette beseitigt ein ganz bestimmtes Listenelement per Remove-Methode. So entfernt folgende Anweisung den Namen "Otto Schulze" mit der Key-Zeichenkette OSchulze) aus der Auflistung:
MeineListe.Remove "OSchulze"
Sie müssen dazu die Indexnummer nicht kennen. Auch ersparen Sie sich, wie das sonst bei Feldvariablen nötig ist, alle nachfolgenden Einträge, um eine Indexposition nach oben zu verschieben.

Verfasser: Andreas
Letzte Änderung: 2012-09-11 18:48


Listingzeilen nummerieren


Wenn Sie Quellcode dokumentieren, brauchen Sie Zeilennummern, die Sie einbauen und entfernen können.
Zeilennummern sind immer hilfreich, wenn Sie ein Listing weitergeben wollen. Diese manuell einzufügen, kann langwierig sein. Ein Programm mit TextBox und ein CommandButton nehmen Ihnen die Arbeit ab. Fügen Sie das Modul 4_ZNr.Bas hinzu, und fertig ist Ihr Zeilennummerierer. Das Listing zeigt den Kern der ZeilenNummern- Prozedur. Analog zum Einfügen ist das Entfernen der Zeilennummern im Beispielprogramm kodiert.
I = InStr(Tx, vbCrLf)
I1 = 1
Lnr = 0
Fmt$ = "00" & String$ _
(Len("" & Abst), "0")
Do
Lnr = Lnr + Abst
Tx1 = Tx1 & Format _
(Lnr, Fmt$) & ": " & _
Mid(Tx, I1, I - I1) + vbCrLf
I1 = I + 2
I = InStr(I1, Tx, vbCrLf)
If I = 0 Then
I = Len(Tx) + 1
Lnr = Lnr + Abst
Tx1 = Tx1 & Format _
(Lnr, Fmt$) & ": " & _
Mid(Tx, I1, I - I1)
Exit Do
End If
Loop

Verfasser: Andreas
Letzte Änderung: 2012-09-11 18:49


Long-Wert in Integer zerlegen

VBA besitzt keine Funktion, die aus einem Long-Wert zwei Integers macht.
Ein in anderen Programmiersprachen triviales Problem erfährt bei VBA eine besondere Note: das Zerlegen eines 32-Bit-Wertes (Long) in zwei 16-Bit-Werte (Integer). Der Grund: VBA arbeitet grundsätzlich mit vorzeichenbehafteten Werten, bei denen das Bit mit dem höchsten Wert das Vorzeichen repräsentiert und negative Zahlen im Zweierkomplement darstellt. Deswegen ist es mit einer einfachen UND-Verknüpfung wie
LongWert AND &HFFFF = LoWord
nicht getan. Um den korrekten Wert zu erhalten, sind zusätzliche logische Verknüpfungen notwendig. Die folgenden beiden Funktionen liefern das LoWord (untere 16 Bit) und das HiWord (obere 16 Bit) eines Long-Wertes:
Function LoWord _ (dWert As Long) As Integer
If (dWert AND &H8000&) = 0 Then LoWord = dWert AND &HFFFF&
Else
LoWord = &H8000 OR _ (dWert AND &H7FFF&) End If
End Function
Function HiWord(dWert As Long) -As Integer
If (dWert And &H8000&) = 0 Then HiWord = dWert / &H10000
Else
HiWord=_ (dWert And &H7FFF&)/&H10000
End If
End Function

Verfasser: Andreas
Letzte Änderung: 2012-09-11 18:49


Makro ruft Makro - aber richtig

Für Prozedur-Aufrufe aus einem VBA-Makro heraus gelten unterschiedliche Spielregeln - je nachdem, ob es namensgleiche Prozeduren gibt oder ob sich beide im selben Projekt befinden.
Für den Aufruf einer Subprozedur (= Makro) ist es unerheblich, ob sie sich im gleichen oder einem anderen Modul desselben Projekts befindet. Es genügt die Angabe des Prozedurnamens und der eventuell notwendigen Argumente. So ließe sich die fiktive Prozedur Alarm mit ihrem einzigen Weckzeit-Argument vom Typ Date wie folgt aufrufen:
Alarm "18:10"
Verwenden Sie das Schlüsselwort Call, und setzen Sie die Argumentliste in Klammern:
Call Alarm(,18:10")
Sofern ein Projekt aber zwei namensgleiche Prozeduren in unterschiedlichen Modulen enthält, müssen Sie zusätzlich den Modulnamen der gewünschten Prozedur (im Beispiel: WeckModul) mit angeben:
WeckModul.Alarm "18:10"
Befindet sich die aufzurufende Prozedur in einem anderen Projekt, ist zusätzlich zum Prozedurnamen der in eckige Klammern gesetzte Name des Projekts zu nennen. Angenommen, die Prozedur Alarm ist in der globalen Dokumentvorlage normal.dot und das aufrufende Makro in einer zweiten Dokumentvorlage enthalten, dann müßte der Aufruf folgendermaßen aussehen:
[Normal].Alarm "18:10"
Damit der Aufruf aber funktionieren kann, müssen Sie zuvor aus der aufrufenden Dokumentvorlage heraus einmalig einen Verweis auf die globale Dokumentvorlage einrichten. Dazu wählen Sie Extras/Verweise und schalten das Kontrollkästchen vor dem Listenfeldeintrag Normal ein. Verweise funktionieren immer nur in eine Richtung: Der wechselseitige Aufruf von Prozeduren - mal aus dem einen, mal aus dem anderen Projekt heraus - ist nicht möglich.

Verfasser: Andreas
Letzte Änderung: 2012-09-11 18:50


Markierungen verwenden

Mit einem einfachen Programm markieren Sie Bildausschnitte wie etwa Kreise. Häufig wollen Anwender Linien, Rechtecke, Kreise etc. markieren, die sie auf einer Form oder in einer PictureBox mit dem Mauscursor ausgewählt haben. Mit unserem Programm können sie die Markierung nachträglich ändern.

Verfasser: Andreas
Letzte Änderung: 2012-09-11 18:50


Mauszeiger auf dem Eingabeelement


Der Mauszeiger soll sich immer über dem Steuerelement mit dem Eingabefokus befinden.
Um zu erreichen, daß sich der Mauszeiger automatisch über jenem Steuerelement befindet, das den Eingabefokus besitzt, müssen Sie über die API-Funktion "SetCursorPos Lib" ein wenig nachhelfen. Aus Gründen der Vereinfachung wird im folgenden davon ausgegangen, daß die Koordinaten des Formulars in Twips angegeben werden. Den "Mauszeiger-Schubser", der den Mauszeiger (mit Hilfe eines Korrekturfaktors) in die "Mitte" des aktiven Steuerelements setzt, bauen Sie wie in unserem Beispiel (Listing in Databox 7/97) auf.
Peter Monadjemi/et

Verfasser: Andreas
Letzte Änderung: 2012-09-11 18:51


Mehrsprachige Benutzeroberfläche

So gestalten Sie Ihre Programme ohne Aufwand für einen internationalen Kundenkreis.
Viele Programme sind an eine Sprache gebunden. Doch nicht jeder potenzielle Benutzer beherrscht die Sprache des Programmierers. Es empfiehlt sich daher, das Programm zu lokalisieren, also der Landessprache anzupassen. Dabei werden alle Textteile, Titel und Bezeichnungen (Captions) übertragen. Microsoft empfiehlt hierfür den Einsatz von Ressourcen-Dateien (*.res). Diese müssen Sie mit Rc.exe kompilieren, was Sie nach jeder Programmkorrektur wiederholen müssen. Schneller lassen sich reine Textdateien ändern, die Sie in diesem Beispiel einsetzen. Berücksichtigen Sie die Sprachanpassung von der ersten Codezeile an. Weisen Sie allen für die Benutzer zugänglichen Informationen, insbesondere Caption-Werten für Formen, Menüs, CommandButton und andere Objekte, Variablen zu. Legen Sie für jede Sprachversion eine eigene Textdatei an. Die Struktur sehen Sie im Listing. Analog zur Struktur von ini-Dateien steht an erster Stelle der Formname. Danach folgen alle Captions (Eigenschaften) der Form und der darauf befindlichen Steuerelemente.
Speichern Sie diese Dateien als reine ASCII-Textdateien im Windows-Verzeichnis. Dort sind sie leicht zu lokalisieren:
[Form1]
Caption,,Demoprogramm
MEN_Datei,,&Datei
MEN_Neu,,&Neu
MEN_Open,,&Öffnen ...
MEN_Save,,&Speichern ...
MEN_End,,&Ende
[Variablen]
Programm wirklich beenden?
Programmende
Ändert sich die Sprachversion des Programms, rufen Sie die entsprechende Variablen-Datei auf. Im Listing sehen Sie den Inhalt der deutschen Version. Wenn Sie jede Sprachversion in einzelne Dateien gliedern, lässt sich Ihr Programm leichter auf andere Benutzersprachen erweitern.

Verfasser: Andreas
Letzte Änderung: 2012-09-11 18:51


Mehrzeilen-Eingabe und Zeilenumbruch

So klappt der Zeilenumbruch in Text- und List-Eingabeboxen.
Seit VB4 werden im Eigenschaftenfenster der ListBox für die Eigenschaften Liste und Itemdata echte ListBoxen eingefügt. Analog dazu besitzt das TextBox-Control bei MultiLine = True eine aufklappende TextBox. Damit sind auch mehrzeilige Eingaben möglich. Nur der Zeilenumbruch mit der [Enter]-Taste scheint nicht zu klappen. Verwenden Sie für mehrere List-Einträge bzw. für Zeilenumbrüche die Tastenkombination [Enter-Strg]. Das einfache >[Enter] bricht die Eingabe ab und schließt das ausklappende Listen- oder Textfeld.

Verfasser: Andreas
Letzte Änderung: 2012-09-11 18:52


Menüleiste besser sichtbar

Stört es Sie, dass die Menüleiste im Formular nicht genügend auffällt? Versehen Sie sie einfach mit einem Strich.
Ab VB4 ist die Appearance-Eigenschaft für die meisten Controls und für Formen verfügbar. Aber Menüleisten kennen sie nicht. Die Standardfarbgebung für die Formfläche ist &H8000000F&, was QBColor(7) entspricht. Da auch die Menüleiste diese Farbe hat, grenzt sie sich nicht mehr ab. Die folgende Prozedur schafft Abhilfe. Sie zieht drei Linien, so daß ein 3D-Effekt entsteht. Die Prozedur ist universell einsetzbar. Daher empfiehlt es sich, sie in einem Modul unterzubringen.
Sub MenuLine(Frm As Form)
Frm.AutoRedraw = True
Frm.DrawWidth = 1
Frm.ScaleMode = 3
Frm.Cls
Frm.Line (0, 0)-Step _
(Frm.ScaleWidth, 0), QBColor(15)
'gekürzt: siehe CD
Frm.AutoRedraw = False
End Sub
Beachten Sie dazu den folgenden Tipp. Ein ab VB4 verwendbares Beispielprogramm finden Sie auf der Heft-CD unter ...menuline/4_menlin.vbp.

Verfasser: Andreas
Letzte Änderung: 2012-09-11 18:52


MessageBox ohne Behinderung

Verwenden Sie anstelle der MsgBox-Funktion die vielseitige API-Funktion.
API-Funktionen verwenden Sie, um VB zu erweitern. Das gilt auch für die MsgBox. Diese erzeugt einen Dialog, der systemmodal ist. Das heißt, Sie müssen diesen Dialog wegklicken, um weiterarbeiten zu können. Für anwendungsmodale Dialoge verwenden Sie die APIFunktion MessageBox. Mit der VB-Funktion MsgBox unterbrechen Sie Timer-Läufe. Sie werden erst fortgesetzt, wenn Sie den Dialog wieder geschlossen haben. Anders ist das bei der hier gezeigten Funktion. Die Timer werden nicht unterbrochen. Ein Beispielprogramm finden Sie auf der Heft-CD unter ...\MsgBox\Msgbox.vbp.

Verfasser: Andreas
Letzte Änderung: 2012-09-11 18:53


MessageBoxgezielt positionieren

Zeigen Sie die MessageBoxzentral hervorgehoben auf der Form (Formular), oder wählen Sie eine beliebige andere Stelle.
Windows platziert die MessageBox-Dialoge in der Regel in Bildschirmmitte. Die Zentrierung über der aktuellen Form wird nicht direkt unterstützt. Auf die Position der MessageBox können Sie unter VB nicht zugreifen. Das liegt daran, dass deren Fenster-Handle (hWnd) nicht bekannt ist. Das erforderliche Werkzeug der AddressOf-Funktion stellt VB ab Version 5.0 zur Verfügung. Benutzen Sie die Prozedur AddressOf MsgProc, die Sie aus Ihrem Code heraus aufrufen:
Public Sub MsgBoxPos( _
Optional X As Variant, _
Optional Y As Variant)
Zentriert = IsMissing(X) _
And IsMissing(Y)
If Not Zentriert Then
XX = X: YY = Y
End If
Dim hInst As Long, _
Thread As Long
hInst = GetWindowLong(0, _
GWL_HINSTANCE)
Thread = GetCurrentThreadId()
hHook = SetWindowsHookEx( _
WH_CBT, _
AddressOf MsgProc, _
hInst, Thread)
End Sub
Fügen Sie das Modul aus dem Beispiel
in Ihre eigenen Projekte ein. Es genügt
danach der einfache Aufruf der MsgBoxPos-Prozedur
zum Zentrieren Ihrer MessageBox.
Das ab VB5 verwendbare Beipielprogramm finden Sie unter ...\AddressOf\5_msgbx2.vbp TIPP TIPP

Verfasser: Andreas
Letzte Änderung: 2012-09-11 18:53


MIDI-Dateien wiedergeben

Visual Basics MCI-Control ist nicht immer die beste Wahl, wenn es um das Abspielen von MIDI-Dateien geht. Eine kurze Routine spart Verwaltungsaufwand und Ressourcen.
Mit dem MCI-Steuerelement von Visual Basic bedienen Sie Multimedia-Geräte und ihre zugehörigen Datentypen. Der Vielseitigkeit stehen jedoch Probleme bei der Handhabung und ein erhöhter Ressourcenbedarf gegenüber. Für das simple Abspielen einer MIDI-Datei beim Start eines selbstgemachten VB-Programms ist das Control in jedem Fall überdimensioniert. Die kurze Sub-Prozedur PlayMidi (Listing in Databox 6/98) stellt dagegen wesentlich geringere Ansprüche: Sie benötigt nur die Unterstützung der API-Funktion mciSendString, die die gesamte Kommunikation mit den Media Control Interfaces (MCI) von Windows über Klartext-Steuerbefehle abwickelt.
Das einzige Argument, das PlayMidi entgegennimmt, ist der Pfadname der abzuspielenden Datei, der mit Hilfe der Dir$-Funktion auf seine Gültigkeit überprüft wird. Falls die Datei existiert, wird sie mit dem Open-Befehl geöffnet, der via mciSendString an das MCI übergeben wird. Gleichzeitig erhält die Datei einen Alias-Namen (vbSong) zugewiesen, mit dem sie von nachfolgenden MCI-Anweisungen angesprochen werden kann. Das MCI-Kommando play vbSong wait startet die Wiedergabe im synchronen Modus. Das bedeutet, daß das VB-Programm erst nach dem Ende des Abspielvorgangs mit dem MCI-Befehl close vbSong fortgesetzt wird, der die Wiedergabe beendet und das MIDI-Gerät für andere Anwendungen frei gibt.
Durch das Weglassen des Schlüsselworts wait im Play-Befehl ließe sich zwar auch eine asynchrone Wiedergabe veranlassen, bei der das VB-Programm nicht pausieren muß; der nachfolgende, unverzichtbare Close-Befehl würde die Wiedergabe jedoch sofort wieder beenden, noch bevor sie richtig begonnen hat.
Zur Lösung des Problems müßte das Programm innerhalb einer Do-Loop-Schleife auf das Ende des Abspielvorgangs warten. Dies erkennt der MCI-Befehl status vbSong mode. Dann ließe sich der Close-Befehl zum richtigen Zeitpunkt aktivieren. Damit wird der Programmieraufwand allerdings so groß, daß sich der Einsatz des MCI-Controls schon wieder lohnt. Für kurze MIDI-Jingles ist die abgedruckte Routine dennoch ideal. Mit einer Anweisung wie
call PlayMidi("c:\come.mid")
starten Sie die Wiedergabe der Datei c:\come.mid aus Ihrem VB-Programm heraus.

Verfasser: Andreas
Letzte Änderung: 2012-09-11 18:54


MSDE für VB kostenlos

Die MSDE (Microsoft Data Engine) gibt es für Visual Basic zum kostenlosen Download. Für Visual-Basic-Datenbankprogrammierer gibt es mit der MSDE eine Alternative zur Jet-Engine. Die MSDE bietet attraktive Merkmale, wie Kompatibilität zum Microsoft-SQL-Server 7.0, die Möglichkeit, mit gespeicherten Prozeduren (Stored Precedures) zu arbeiten und eine leistungsfähigere Architektur. Sie programmieren das Werkzeug relativ leicht über die Active Data Objects (ADO). Die Voraussetzung für Ihren freien Download ist, daß Sie sich als Anwender von Visual Studio 6.0 oder Visual Basic 6.0 registrie-ren lassen: http://msdn.microsoft.com/vstudio/msde/default.asp s

Verfasser: Andreas
Letzte Änderung: 2012-09-11 18:54


Msgbox-Funktion nicht gebunden

Damit die Msgbox-Funktion die Timer nicht blockiert, verwenden Sie die API-Funktion MessageBox. Die Msgbox-Funktion hat einen Nachteil: Zeigt sie ein Mitteilungsfeld an, wird die Timer-Ereignisprozedur aller ZeitgeberSteuerelemente, die sich auf den Formularen des Programms befinden, nicht mehr aufgerufen. Die Zeitgeber bleiben stehen. Um dies zu vermeiden, rufen Sie die API-Funktion MessageBox auf: Private Declare Function _ MessageBox Lib "user32" Alias _ "MessageBoxA" _ (ByVal hwnd As Long, _ ByVal lpText As String, _ ByVal lpCaption As String, _ ByVal wType As Long) As Long Dim RetVal As Long RetVal = Messagebox(Me.Hwnd,_ "Hallo, wie geht's?", _ "Überschrift", 48) Während diese Mitteilungsbox angezeigt wird, laufen alle Zeitgeber des Programms weiter.

Verfasser: Andreas
Letzte Änderung: 2012-09-11 18:55


Nächstliegende Farbe

In diesem Tip beschreiben wir, welche der 16 Grundfarben (QB- Color) einer der über 16 Millionen RGB-Farben am nächsten kommt.
Ihr Programm soll bis in die Einzelheiten auch optisch einen ansprechenden Eindruck machen, wobei Sie die Farben der Steuerelemente am leichtesten anpassen können. Die einer belie-bigen RGB-Farbe nächstliegende QB-Color- Farbe verwenden Sie in zwei Fällen:
 BackColor bei 16- oder 256-Farben-Modus: BackColor bestimmt die Hin-tergrundfarbe des Steuerelements. Visual Basic verwendet außer den 16-QB-Color-Farben für BackColor-Einstellungen auch nach dem RGB-Prinzip ge-mischte Farben. Setzen Sie diese Mischfarben ein, ergeben sich bei 16 oder 256 Farben für einige Controls im Bereich der Schrift Flächen, die von der gewähl-ten BackColor-Farbe abweichen.
 ForeColor bestimmt die Vordergrundfarbe des Steuerelements. Für ForeColor sind nur die QBColor-Farben verfügbar. Sie können zwar auch Mischfarben wählen, Visual Basic über-nimmt aber für ForeColor nur den nächstliegenden reinen QBColor-Wert. Diesen ermitteln Sie mit der GDI-Funktion GetNearestColor.
' Deklarationsebene
#If Win16 Then
Declare Function _
GetNearestColor Lib "GDI" _
(ByVal hDC As Integer, _
ByVal crColor As Long) As Long
#Else
Declare Function _
GetNearestColor Lib "gdi32" _
Alias "GetNearestColor" _
(ByVal hdc As Long, _
ByVal crColor As Long) As Long
#End If
' für direkte Eigenschaftenüber-gabe
' nur vor VB4 erforderlich.
Function NaechsteFarbe& _
(Ctrl As Control, ByVal Farbe&)
GN& = GetNearestColor_
(Ctrl.hDC, Farbe&)
NaechsteFarbe& = GN&
End Function
Mit der selbstdefinierten QBColor-Index-Funktion ermitteln Sie den QB-Color-Indexwert.

Verfasser: Andreas
Letzte Änderung: 2012-09-11 18:55


Netzlaufwerke nutzen

Mit diesem Tipp verwalten Sie alle im Netz verfügbaren Laufwerke, wofür VB kein eigenes Control zur Verfügung stellt.
Mit jeweils einer Deklarations-und einer Aufrufzeile steuern Sie die Anund Abmeldung von Netzlaufwerken auf dem aktuellen Rechner. Diese Laufwerke werden in Ihrer DriveListBox angezeigt.
#If Win32 Then
Declare Function _
WNetConnectionDialog _
Lib „mpr.dll" _
(ByVal hwnd As Long, _
ByVal dwType As Long) As Long
Declare Function _
WNetDisconnectDialog _
Lib „mpr.dll" _
(ByVal hwnd As Long, _
ByVal dwType As Long) As Long
#End If
Für die Aufrufe verwenden Sie folgende zwei Codezeilen:
' Netzlaufwerk einbinden
Res =
WNetConnectionDialog(Me.hwnd, 1)
' Verbindung entfernen
Res =
WNetDisconnectDialog(Me.hwnd, 1)
Das 16/32-Bit-Beipielprogramm finden Sie unter ...\Netconnet\4_netz01.vbp

Verfasser: Andreas
Letzte Änderung: 2012-09-11 18:56


Netzwerk für lokale Laufwerksbuchstaben

Um freigegebene Netzwerkressourcen bei der Suchfunktionen einzubeziehen, weisen Sie diesen lokale Laufwerksbuchstaben zu.
Obgleich Sie unter aktuellen Windows-Betriebssystemen und 32-Bit-Anwendungen standardmäßig mit UNCPfadnamen (Universal Naming Convention) arbeiten, können Sie freigegebene Netzwerkressourcen an lokale Laufwerksbuchstaben anbinden. Alle Windows-Systeme stellen Standarddialoge zum Anbinden und Lösen der Netzwerkressourcen bereit, die zwar variieren, die Sie bei Bedarf jedoch einheitlich in Ihren Anwendungen verwenden können. Den Standarddialog zur Aufnahme von Verbindungen blenden Sie über die API-Funktion WNet-ConnectionDialog ein. Die Funktionen sind Bestandteil der dynamischen Verbindungsbibliothek Mpr.dll (Multiple Protocol Router). Die Dialoge für die Zuweisung von lokalen Laufwerksbuchstaben variieren in Abhängigkeit vom verwendeten Windows-Betriebssystem. Um festzulegen, welcher Ressourcentyp angebunden oder getrennt werden soll, definieren Sie den speziellen Ressourcentyp für Laufwerke im Quellmodul mit der Konstanten RESOURCETYPE_ DISK. Bei der Anzeige der Ressourcentyp-spezifischen Dialoge können Sie diese Konstante im Parameter dwType übergeben. Allerdings unterscheidet nicht jeder Network Provider Ressourcen nach Laufwerk und Drucker. Das Microsoft Network erlaubt die Trennung zwischen Laufwerk- und Druckerressourcen und somit eine Spezialisierung der erwähnten Dialoge. Der API-Funktion übergeben Sie neben dem Ressourcentyp eine Fensterkennung hWnd, aus der die Dialoganzeige heraus erfolgt. Die Kennung wird auch an die benutzerdefinierte Funktion NetConnectDrive als Parameter übergeben, um sicherzustellen, dass der Aufruf aus einem beliebigen Fenster heraus erfolgen kann. Über die Funktion NetConnectDrive wird ein Dialog eingeblendet, der die Laufwerke verbindet. Bestätigen Sie eine Eingabe, wird automatisch die Anbindung versucht. Haben Sie beispielsweise den Netzwerkpfad \\Rechnername\ C auf das lokale Laufwerk H: umgeleitet, so wird der Netzwerkpfad fortan nicht nur in der Netzwerkumgebung, sondern auch unter dem Arbeitsplatz mit der Laufwerkbezeichnung H: sowie in Laufwerklistenfeldern aufgeführt. Im Programm Search wird der Dialog zur Umleitung eines UNC-Pfadnamens auf einen lokalen Laufwerksbuchstaben über die Ereignisprozedur btnNetPlus_ Click nach Anwahl der Schaltfläche [+] eingeblendet. Dabei wird die Fensterkennung der Hauptform als Parameter übergeben. Liefert die Funktion einen Wert ungleich Null zurück, konnte die Umleitung nicht erfolgreich durchgeführt werden. In diesem Fall wird eine entsprechende Meldung ausgegeben. Um das neue logische Laufwerk unmittelbar anzuzeigen, wird die Methode Refresh des Laufwerklistenfeldes aufgerufen.

Verfasser: Andreas
Letzte Änderung: 2012-09-11 18:56


Neue Projektvorlagen anlegen

Mit einfachen Kopiervorgängen erhalten Sie einen neuen Projekttypus.
Bei den Projektvorlagen (Templates), die nach dem Start von Visual Basic 5 angeboten werden, handelt es sich um nichts anderes als vbp-Dateien im Unterverzeichnis Template\Projects. Damit Ihnen ein neuer Projekttyp zur Auswahl steht, kopieren Sie lediglich die Projektdatei und alle übrigen Dateien in dieses Verzeichnis.

Verfasser: Andreas
Letzte Änderung: 2012-09-11 18:57


Neue Trim-Funktionen

So entfernen Sie angehängte Zeilenumbrüche mit allen ASCII-Werten unter 33.
Ab Version 4.0 stehen Ihnen Trim-Funktionen zur Verfügung. Mit diesen entfernen Sie Leerzeichen am Anfang (LTrim), am Ende (RTrim) oder an beiden Seiten (Trim) einer Zeichenkette. Leider sind die Funktionen nicht dazu geeignet, begrenzende Null-Zeichen, LF (LineFeed) oder Cr (Carriage Return) zu entfernen. Sie sehen im Listing die neue Funktion NewRTrim. Diese entfernt alle Zeichen mit einem ASCIIWert unter 33 vom rechten Rand der Zeichenkette. Analog dazu arbeitet die Funktion NewLTrim mit den Zeichen am linken Rand. NewTrim nutzt diese beiden Prozeduren.
Function NewRTrim(ByVal Tx$) _
As String
Do While Tx$ <> ""
If Asc(Right(Tx$, 1)) < 33 Then
Tx$ = Left$(Tx$, Len(Tx$) - 1)
Else
Exit Do
End If
Loop
NewRTrim = Tx$
End Function
Function NewTrim(ByVal Tx$) As _
String
NewTrim=NewLTrim(NewRTrim(Tx$))
End Function

Verfasser: Andreas
Letzte Änderung: 2012-09-11 18:57


Nicht modale Mitteilungsboxen

Weil VB eine modale Funktion immer anzeigt, weichen Sie auf ein verwandtes API aus.
Die Msgbox-Funktion ist zwar einfach anzuwenden, hat aber einen kleinen Nachteil: sie ist modal. Das heißt: Während sie angezeigt wird, kann die Anwendung keine Ereignisse verarbeiten. Abhilfe schafft eine namensverwandte API-Funktion, die dieses Manko nicht besitzt:
Private Declare Function MessageBox Lib "user32" Alias "MessageBoxA" (ByVal hwnd As Long, ByVal lpText As String, ByVal lPCaption As String, ByVal wType As Long) As Long
Private Sub cmdMessageBox_Click()
Dim RetVal As Long
RetVal = MessageBox(Me.hwnd, "Dies ist ein Hinweis!", "Nachricht", vbInformation Or vbApplicationModal)
End Sub
Peter Monadjemi/et

Verfasser: Andreas
Letzte Änderung: 2012-09-11 18:58


Nicht wegwerfen!

Löschen Sie so Ihre Dateien, dass Sie sie im Notfall aus dem Papierkorb wieder retten können.
Mit der Kill-Funktion löschen Sie Dateien unwiderbringlich. Das kann zu Schwierigkeiten führen. Besser ist es, die Windows-Option zu nutzen, indem Sie die Löschdaten in den Papierkorb verschieben. Dazu stellt die Datei Shell32.dll die API-Funktion SHFileOperation zur Verfügung. Dieser übergeben Sie die Struktur SHFILEOPSTRUCT als Argument. Darin legen Sie folgende Elemente fest: Hat wFunc den Wert FO_DELETE, arbeitet die Löschfunktion. Das auf FOF_ALLOWUNDO gesetzte fFlags-Element löscht die Daten in den Papierkorb. Im Beispielprogramm legen Sie ein gestaffeltes Verzeichnis an. Um festzustellen, ob ein Verzeichnis vorhanden ist, verwenden Sie das ab Version 6 verfügbare FileSystemObject-Objekt aus der Datei Scrrun.Dll.

Verfasser: Andreas
Letzte Änderung: 2012-09-11 18:58


NTSC-Graustufen

So ordnen Sie einer Farbe aus 16 Millionen den richtigen Grauwert zu.
Ein beliebtes Thema der Tipps und Fachliteratur ist die RGB-Farbskala mit ihren über 16 Millionen Farbtönen. Aber welcher Grauwert gehört zu einer bestimmten Farbe? Diesen Wert zu ermitteln, ist gar nicht so einfach. Dazu müssen Sie wissen, dass bei Graustufen jeder der Farbanteile den gleichen Wert besitzen muss. Ist dies der Fall, wird die entsprechende Grauabstufung dargestellt. Das amerikanische NTSC (National Television Standards Committee) hat für die Umrechnung folgende Anteile vorgeschlagen:
Red = 56%
Green = 33%
Blue = 11%
Die zwischen 0 und 255 liegenden Farbanteile werden mit dem entsprechenden Faktor multipliziert. Das Ergebnis wird danach jedem der drei RGB-Farbanteile zugewiesen. Die zwei Codezeilen aus dem Programm sehen so aus.
Colr = Red(Colr) * 0.56 +
Green(Colr) * 0.33 + Blue(Colr) *
0.11
BackColor = RGB(Colr, Colr, Colr)

Verfasser: Andreas
Letzte Änderung: 2012-09-11 18:59


Numerische Eingabe bei Textfeldern

Die Art der Eingaben können Sie mit kleinen Funktionen bestimmen.
Das Textfeld bei Visual Basic besitzt keine NumericOnly-Eigenschaft. Um numerische Eingaben abzuweisen, müssen Sie diese bereits über das KeyPress-Ereignis abfangen. Damit Sie diese Abfrage nicht für jedes Textfeld neu programmieren müssen, definieren Sie zunächst eine allgemeine Funktion IsEingabeNum (Listing in Databox 7/98), die einen true-Wert zurückgibt, wenn es sich um ein numerisches Zeichen handelt.
Die Übergabe des Textfeldes ist erforderlich, weil die Text-Eigenschaft prüft, ob Sie bereits ein Komma eingegeben haben. Sie rufen die Funktion innerhalb des KeyPress-Ereignisses folgendermaßen auf:
Private Sub txtEingabe_KeyPress(KeyAscii As Integer)
If IsEingabeNumerisch(txtEingabe,KeyAscii) = False Then
KeyAscii = 0
End If
End Sub
Den Wert von KeyAscii setzen Sie auf 0, damit das eingegebene Zeichen nicht weitergereicht und damit nicht angezeigt wird.

Verfasser: Andreas
Letzte Änderung: 2012-09-11 18:59


Nur Zahleneingabe

Es gibt eine einfache Methode, nur die Eingabe bestimmter Zeichen zuzulassen.
Wenn Sie eine Maske programmieren, die nur Postleitzahlen aufnehmen soll, unterbinden Sie die Eingabe von Buchstaben. Unser Demoprogramm für die Byte-Umwandlung verfügt über eine Text-Box, in die Sie nur Zahlen eingeben. Das realisieren Sie mit folgenden Codezeilen:
Sub Text1_KeyPress(KeyAscii As _
Integer)
Tx$ = "1234567890" + Chr(8)
I = InStr(Tx$, Chr(KeyAscii))
If I = 0 Then
KeyAscii = 0
End If
End Sub
Mit Instr prüfen Sie, ob das aktuelle KeyAscii-Zeichen im zulässigen String (Tx$) vorhanden ist. Ist dies nicht der Fall, ersetzen Sie das Zeichen durch Chr(0). Das ist das einzige Zeichen ohne jede Wirkung. Wichtig: Fügen Sie zu den zulässigen Zeichen immer das Zeichen Chr(8) hinzu. Das Zeichen steht für die [Rückschritt]-Taste. Lassen Sie dieses Zeichen weg, können Sie zwar mit der [Entf]-Taste das aktuelle Zeichen entfernen. Rückwärts zu löschen, gelingt so jedoch nicht. Wollen Sie die Eingabe von beliebigen Zeichen einschränken? Dann schreiben Sie eine allgemeine Prozedur. Übergeben Sie ihr den Zeichencode (KeyAscii). Als weiteren Parameter erhält Tx$ die zuzulassenden Zeichen.

Verfasser: Andreas
Letzte Änderung: 2012-09-11 19:00


Objekte verschieben

So bewegen Sie Formen ohne Titelleiste und Controls mit der Maus.
Möchten Sie Formen ohne Titelleiste mit der Maus bewegen? Oder wollen Sie eine Form nicht nur über die Titelleiste, sondern auch per Mausklick auf die Fläche oder auf ein konstituierendes Control bewegen? Die API-Funktion SendMessage löst diese Aufgabe:
' Codemodul
' 32-Bit-Deklaration
Declare Function _
SendMessage _
Lib "user32" Alias _
"SendMessageA" _
(ByVal hwnd As Long, _
ByVal wMsg As Long, _
ByVal wParam As Long, _
lParam As Any) As Long
Declare Sub ReleaseCapture _
Lib "user32" ()
Sub DragMove(Obj As Object)
ReleaseCapture
res = SendMessage _
(Obj.hwnd, &H112, &HF012, 0)
End Sub
Die Funktion ReleaseCapture wird immer als erste aufzurufen. Damit ist sichergestellt, daß der Mauscursor nicht "in einem Käfig sitzt".
Sub Form_MouseDown(Button _
As Integer, Shift As _
Integer, _
X As Single, Y As Single)
DragMove Me
End Sub
Auf die gleiche Weise lassen sich Controls auf der Form verschieben. So bewegen Sie zum Beispiel eine PictureBox> auf einer Form:
Sub Picture1_MouseDown _
(Button As Integer, _
Shift As Integer, _
X As Single, _
Y As Single)
DragMove Picture1
End Sub
Voraussetzung: Das zu verschiebende Objekt muss über die hWnd-Eigenschaft verfügen und das MouseDown-Ereignis registrieren. Ein Beispielprogramm f.r 16 und 32 Bit finden Sie auf der Heft-CD unter ...obj_move/4_objmov.vbp.

Verfasser: Andreas
Letzte Änderung: 2012-09-11 19:00


Objekte zentrieren

Sehen Sie, wie Sie ein Objekt über einem anderen anderen zentriert anordnen.
Sie möchten einen CommandButton in einer PictureBox zentrieren? Oder eine Form über einer anderen für das eigene Dialogfenster? Die Prozedur erweitert Zentrier-Funktionen. Übergeben Sie als erstes Argument das zu zentrierende Objekt. Das zweite Objekt ist das Hintergrundobjekt. Dieses Argument ist optional für eine einzelne zu zentrierende Form. Lassen Sie es weg, wird die Form auf dem Bildschirm zentriert.
Sub CenterObjects( _
Obj1 As Object, Optional Obj2 _
As Variant)
If IsMissing(Obj2) Then
Wdth = Screen.Width
Hght = Screen.Height
Else
If TypeOf Obj1 Is Form Then
Wdth = Obj2.Width
Hght = Obj2.Height
Else
Wdth = Obj2.ScaleWidth
Hght = Obj2.ScaleHeight
End If
End If
Lft = (Wdth - Obj1.Width) /2
Tp = (Hght - Obj1.Height) /2
If TypeOf Obj1 Is Form Then
If TypeOf Obj2 Is Form Then
Lft = Lft + Obj2.Left
Tp = Tp + Obj2.Top
End If
End If
Obj1.Left = Lft
Obj1.Top = Tp
End Sub
Das Beispielprogramm: centerobject/4_cento1.vbp Auf der Heft-CD finden Sie die Beispielprogramme unter Praxis/Tipps & Tricks/Programmierung, im Internet unter
www.pc-magazin.de/magazin/ extras.htm
in der Tabelle Online Extras, Rubrik Praxis.

Verfasser: Andreas
Letzte Änderung: 2012-09-11 19:01


OCX registrieren

Wir zeigen Ihnen zwei Wege der nachträglichen OCX-Registrierung.
Die Fehlermeldung (Bild unten) sehen Sie, wenn nachträglich auf Ihre Festplatte übernommene Zusatzsteuerelemente (OCX) nicht registriert sind. Wie melden Sie diese Controls unter Windows an? Auf Ihrer Visual-Basic-CD finden Sie im selben Unterverzeichnis das DBGrid-Control und die Datei Dbgrid. Reg. Diese Datei starten Sie durch Doppelklick. Danach ist das Control in der Windows-Registrierdatenbank eingetragen. Fehlt die reg-Datei, verwenden Sie die in jedem OCX vorhandene API-Funktion DllRegisterServer. Das Programm zeigt am Beispiel von Threed.Ocx die für dessen Registrierung und Deregistrierung erforderlichen Codezeilen:
Private Declare Sub _
DllRegisterServer _
Lib „Threed32.ocx" ()
Private Declare Function _
DllUnregisterServer _
Lib „Threed32.ocx" () _
As Long
Der Aufruf erfolgt mit
Call DllRegisterServer
ok = DllUnregisterServer()
Beachten Sie die Groß- und Kleinschreibung.
Sie erhalten sonst eine
Fehlermeldung.
Das Beipielprogramm finden Sie unter ...\Register\4_ocxreg.vbp

Verfasser: Andreas
Letzte Änderung: 2012-09-11 19:01


OLE-Aktionen für Texte

So kopieren Sie Texte mit OLE, wobei Sie nur drei Parameter beachten müssen.
Vor Version 5 mussten Sie API-Funktionen nutzen, um Texte von einer Anwendung zur anderen zu kopieren oder zu verschieben. Ab VB 5 stehen Ihnen drei integrierte OLE-Eigenschaften und -Ereignismeldungen zur Verfügung (siehe Tabelle unten). Welche Aktion ausgeführt wird, legen Sie in der jeweiligen OLEStartDrag-Ereignisprozedur über den AllowedEffects- Parameter fest. Übergeben Sie einen der in der Tabelle gezeigten Werte.
Sub Text1_OLEStartDrag(...)
AllowedEffects = _
vbDropEffectCopy
End Sub
Ihre Daten bleiben in Ihrem Control erhalten, wenn Sie in der OLEStartDrag- Ereignisprozedur für AllowedEffects den Parameter = 1 eintragen.

Verfasser: Andreas
Letzte Änderung: 2012-09-11 19:02


OLE-Drag&Drop

Text oder Dateinamen ziehen Sie leichter in andere Bereiche, um sie dort abzulegen.
Seit Version 5 unterstützt Visual Basic eine neue Form des Ziehens und Ablegens. Damit lassen sich zum Beispiel sehr einfach Dateinamen aus einem Explorer-Fenster in ein Listenfeld oder Text aus einem Dokument in ein Textfeld übertragen. Ordnen Sie auf einem Formular ein Textfeld an, und setzen Sie die MultiLine-Eigenschaft auf TRUE und OLEDropMode auf 2 (automatisch). Starten Sie das Programm.
Sie können jetzt Textelemente wie aus Microsoft Word auf das Textfeld ziehen. Damit das Textfeld die Funktion einer OLE-Drag&Drop-Quelle einnehmen kann, setzen Sie dessen OLEDragMode-Eigenschaft auf 1 (automatisch). Sollen dagegen Dateinamen aus dem Explorer in das Textfeld übernommen werden, sind zwei kleine Änderungen erforderlich:
1. Die OLEDropMode-Eigenschaft des Textfeldes muß den Wert 1 (manuell) erhalten.
2. In das OLEDragDrop-Ereignis des Textfeldes fügen Sie folgende Anweisungen ein:
Private Sub txtTextfeld_OLEDrag-Drop(Data As DataObject, Effect As Long, Button As Integer, Shift As Integer, X As Single, Y As Single)
If Data.GetFormat(vbCFFiles) = False Then Exit Sub
Dim Fn
For Each Fn In Data.Files
Text1.Text = Text1.Text & Fn & vbCrLf
Next
End Sub
Zunächst wird geprüft, ob die Daten in der OLE-Zwischenablage im richtigen Format vorliegen. Anschließend werden alle Elemente der Files-Auflistung (bei ScrollBars=2) in das Textfeld übernommen.
Peter Monadjemi/et

Verfasser: Andreas
Letzte Änderung: 2012-09-11 19:02


OLE-Drag&Drop für Dateilisten

So kopieren Sie Dateilisten mit OLE-Drag&Drop in Ihr Programm. Die ab Version 5 integrierte OLEFunktionen gehen über das im vorherigen Tipp beschriebene Kopieren oder Verschieben von Texten hinaus. Beispielsweise können Sie jetzt Dateilisten aus dem Explorer in eine ListBox in Ihrem Programm kopieren. Auch dazu müssen Sie für Ihr Ziel-Control die Eigenschaft OLEDragMode = 1 setzen. Fügen Sie dann folgende Codezeilen in der List1_OLEDragDrop-Prozedur ein: FileList List1, Data Effect = vbDropEffectCopy Die aufgerufene Prozedur stellt zunächst fest, ob die angebotenen Daten das richtige Format haben. Wenn nicht, verlässt VB die Prozedur. Hat das Data- Object das Files-Format, dann ermitteln Sie mit Data.Files.Count die Anzahl der enthaltenen Einträge. Ist der Wert größer als 0, wird die ListBox geleert. Danach werden die Files-Einträge von Data in die ListBox übernommen: Sub FileList _ (LBox As Control, _ Ebenso einfach übernehmen Sie Dateinamen aus einem FileListControl. Setzen Sie dazu die Eigenschaft OLEDrag- Mode = 1.

Verfasser: Andreas
Letzte Änderung: 2012-09-11 19:03


Ordner anlegen

Mit diesem Tipp legen Sie gestaffelte Ordner an, ohne dass Ihnen dies eine Fehlermeldung verwehrt.
Mit der MkDir-Funktion legen Sie einzelne Verzeichnisse an. Geben Sie als Argument ein gestaffeltes Verzeichnis an, erhalten Sie eine Fehlermeldung. Hier hilft die Funktion MakeDir weiter. Sie untersucht die übergebene Zeichenkette auf Rückstriche (\). Die einzelnen Textabschnitte sind Argumente der MKDir-Funktion: Sub MakeDir(P As String) Dim P1 As String, I As Integer
I = InStr(P, "\")
I = InStr(I + 1, P, "\")
If I = 0 Then I = Len(P) + 1
Do While I > 0
P1 = Left(P, I - 1)
If Not IsDirectory(P1) Then
MkDir P1
'ChDir P1
End If
I = InStr(I + 1, P, "\")
If I = 0 Then
If (Len(P1) + 1) < Len(P)
Then
I = Len(P) + 1
End If
End If
Loop
End Sub

Verfasser: Andreas
Letzte Änderung: 2012-09-11 19:04


Ordner auswählen

Windows-95-Funktionen helfen Ihnen, nicht nur Dateien, sondern auch Ordner auszuwählen.
Das Zusatz-Control CommonDialog können Sie vorrangig nutzen, um Dateien auszuwählen. Leider besitzt es keine Einstellung, mit der Sie nur Ordner auswählen können. Dafür nutzen Sie ab der 32-Bit-Version 4 die Shell32-Funktionen SHBrowseForFolder und SHGet- PathFromIDList. Je nach übergebener FolderID öffnen Sie unterschiedliche Auswahllisten. Die als FolderID vordefinierten Werte werden als Konstanten definiert. Das Beispielprogramm verzichtet darauf. Durch die direkte Wertübergabe sind die Grenzen der Funktionen besser auszuloten. Wählen Sie eine zulässige FolderID, können Sie bis auf wenige Ausnahmen Ordner anklicken. Haben Sie einen Ordner gewählt, wird der OKButton aktiviert. Die Funktion Select- Folder gibt den Namen dieses Ordners zurück. Bestimmte FolderID-Werte erzeugen Fehler in der Shell32-DLL. Diese führen zum Abbruch von Visual Basic. Im Beispielprogramm sind diese deshalb inaktiviert.

Verfasser: Andreas
Letzte Änderung: 2012-09-11 19:04


Passende Sonderzeichen

Nutzen Sie Ihre eigene Sonderzeichentabelle, um leichter auf ein passendes Zeichen zugreifen zu können.
Unter VB fügen Sie Sonderzeichen entweder mit der Tastenkombination [Alt-Num] direkt im Text oder mit Chr(Nr) während des Programmlaufs ein. Leider stimmen die dabei verwendeten Zeichensätze bei den Sonderzeichen nicht überein. So hat das direkt einzugebende Copyright-Zeichen den Codewert 169. Im Programmcode ergibt Chr(164) das Zeichen (r). Es liegen zwei unterschiedliche Zeichensätze zu Grunde. Diese geben bei Codewerten über 127 unterschiedliche Zeichen zurück. Im Beispielprogramm zu diesem Tipp werden die Chr-Zeichen in einer Schleife ausgegeben. Die [Alt-Num]-Zeichen ab Codewert 128 sind in einer Textvariablen enthalten. Eine CheckBox schaltet die Darstellung zwischen beiden Zeichensätzen um. Klicken Sie eines der Zeichen an, so wird dieses zusammen mit seinem Codewert angezeigt. Ein Click auf den Übernehmen-Button kopiert das Zeichen in den Zwischenspeicher. Von dort fügen Sie es in Ihre TextBox oder einen anderen Editor ein. Im Eigenschaftenfenster ist die Tastenkombination [Alt-Num] nicht verwendbar. Nutzen Sie für Sonderzeichen die kompilierte Version des Programms.

Verfasser: Andreas
Letzte Änderung: 2012-09-11 19:05


Per Bit-Maskierung zum Fensterstatus

Wer den Status von Fenstern kennt, kann den weiteren Programmablauf bestimmen.
Um festzustellen, ob das aktive Fens-ter in Ihrem Programm maximiert ist oder nicht, greifen Sie zur API-Funktion GetWindowLong(). Diese deklarieren Sie zusammen mit zwei Konstanten auf Modulebene:
Private Declare Function _
GetWindowLong Lib "user32" _
Alias "GetWindowLongA" _
(ByVal hwnd As Long, _
ByVal nIndex As Long) As Long
'
Private Const WS_MAXIMIZED =
&H1000000
Private Const GWL_STYLE = (-16)
Die aktuellen Einstellungen (Setting) des aktiven Fensters erhalten Sie durch einen Aufruf von GetWindowLong. Die Funktion liefert in der Variablen lWin-Style einen Wert zurück, dessen Flag
Maximize Sie mit dem AND-Operator herausfinden (ausmaskieren). Das bedeutet: Ist das Flag gesetzt, befindet sich das Fenster im maximierten Zustand.
Private Sub cmdMaxi_Click()
Dim lngWinStyle As Long
'
lngWinStyle = GetWindowLong
(Me.hwnd, GWL_STYLE)
If lngWinStyle _
And WS_MAXIMIZED Then
lblMaxi.Caption = _
"Fenster ist maximiert"
Else
lblMaxi.Caption = _
"Fenster normal"
End If
End Sub

Verfasser: Andreas
Letzte Änderung: 2012-09-11 19:05


Pfad des Windows-Verzeichnisses ermitteln

Nicht auf jeder Festplatte befindet sich das Windows-Verzeichnis unter c:\windows. Eine VB-Funktion bringt den richtigen Namen an den Tag.
Nicht überall, wo C:\WINDOWS draufsteht, ist auch Windows drin. Und weil sich Windows 95 darüber hinaus auch noch auf diversen Laufwerken installieren läßt, läuft ein "fest verdrahtetes" c:\windows als Zugriffspfad für ini- oder sonstige Systemdateien oft ins Leere. Besser ist es, den Namen von einem Spezialisten wie GetWinDir (Listing in Databox 3/98) ermitteln zu lassen.
Diese Funktion definiert zunächst eine Zeichenkette, die aus 255 Zeichen mit dem ANSI-Code 0 bestehen, und übergibt sie an die API-Funktion GetWindowsDirectory. Die wiederum schreibt den korrekten Pfad des Windows-Verzeichnisses in die Zeichenkette und übergibt die Pfadlänge als Funktionswert. Nach dem Abschneiden der überzähligen Nullzeichen gibt GetWinDir die gewünschte Info als reguläre VB-Zeichenkette an den Aufrufer zurück.

Verfasser: Andreas
Letzte Änderung: 2012-09-11 19:06


Pfadnamen kürzen

Wenn Pfad- und Dateinamen zu lang sind, hilft Ihnen dieser Tipp.
Von langen Pfad- und Dateinamen werden auf dem Bildschirm oft nur Teile des Pfads und der Dateiname überhaupt nicht mehr angezeigt. Sie lösen das Problem elegant, indem Sie Pfad- und Dateinamen kürzen. Dabei sollte der Dateiname immer sichtbar bleiben. Die Prozedur DateiPfadKürzen gibt den durch Kürzen des Namens geänderten Pfad zurück. Vor dem Dateinamen fügen Sie die Zeichenkette ...\ ein, die auf die Kürzung hinweist. Prüfen Sie, ob als Control eine TextBox oder ein Label übergeben wurde. Ist dies nicht der Fall, verlassen Sie die Prozedur. Mit der TextWidth-Eigenschaft der Form (= Parent) prüfen Sie die Länge von Pfad- und Dateinamen. Diesen kürzen Sie entsprechend der zur Verfügung stehenden Innenlänge des Controls. Wir zeigen Ihnen die Kernschleife:
Function DateiPfadGekürzt _
(ByVal Tx$, _
Ctrl As Control)
' gekürzt-Listing auf CD
Do While Ctrl.Parent. _
TextWidth(P$ + _
"\...\" + _
String$(2, "M") + _
D$) > Ctrl.Width
i = InstrRev(P$, "\")
P$ = Left$(P$, i - 1)
Loop
Tx$ = P$ + "\...\" + D$
' gekürzt-Listing auf CD
DateiPfadGekürzt = Tx$
Ctrl.Parent.ScaleMode = _
MerkSM
End Function
Der auf diese Weise gekürzte Pfad ist nur für die Darstellung gedacht. Windows erkennt solche Namen nicht. Benötigen Sie den kompletten Dateinamen, können Sie ihn der Tag-Eigenschaft des Controls direkt zuweisen. In den Versionen vor VB6 ersetzen Sie die in der Prozedur aufgerufene Funktion InstrRev durch folgende Function-Prozedur:
Function InstrRev( _
ByVal Tx$, Such$, _
Optional Start)
If IsMissing(Start) Then
Start = Len(Tx$)
End If
For m = Start To 1 Step -1
If Mid(Tx$, m, _
Len(Such$)) = Such$ _
Then Exit For
Next
InstrRev = m
End Function
Ein ab VB4 verwendbares Beispielprogramm finden
Sie auf der Heft-CD unter ...Kurzname/4_kname1.vbp

Verfasser: Andreas
Letzte Änderung: 2012-09-11 19:06


Polygon füllen

Hier zeigen wir Ihnen, wie Sie Polygone mit Hilfe einer Bürste mit Mustern füllen.
Sie wissen jetzt, wie einfach es ist, mit GDI-Funktionen PolyLine- und PolyGon-Objekte zu zeichnen. Etwas mehr Aufwand verlangt es, wenn Sie ein Polygon mit einem Muster füllen wollen. Sehen Sie sich zunächst das Listing fillpolygon.bas im Beispielprogramm an. Als Argumente übergeben Sie die PictureBox, in der Ihr Polygon steht, und einen Punkt im Polygon. Außerdem übergeben Sie ein Muster. Dieses Muster verwenden Sie dazu, die Bürste (Brush) für das Füllen anzulegen. Dabei ist unbedingt zu beachten, daß die Brush-Funktionen nur 8 x 8 Bit große Bitmaps verwenden. Bei größeren Bildern fangen Sie damit an, die entsprechende Ecke oben links in der bmp-Datei zu füllen. Mit PtInRegion prüfen Sie, ob der Punkt X,Y im Po-lygon liegt. FillRgn füllt die Fläche mit dem Brush-Muster. Danach stellen Sie den vorherigen Brush mit CreateSolidBrush wieder her. Das verwendete Brush-Muster wird ebenso wie die Region wieder entfernt.

Verfasser: Andreas
Letzte Änderung: 2012-09-11 19:07


Polygon mit Bordmitteln

Nachdem Sie das PolyLine-Objekt gespeichert haben, fehlt Ihnen zum Polygon nur noch ein kleiner Schritt.
Auf dem vorhergehenden Tip aufbauend, läßt sich Ihr PolyLine-Objekt ein-fach zu einem Polygon, einem Vieleck, schließen. Dazu verbinden Sie den Endpunkt des Linienzugs mit dem Anfangspunkt. Ergänzen Sie in Ihrem Formular folgende Prozedur:
Sub PolyGonZeichnen (Obj As PictureBox)
PolyLineZeichnen Picture1
Obj.Line -(Poly(0).X,Poly(0).Y)
End Sub

Verfasser: Andreas
Letzte Änderung: 2012-09-11 19:07


PolyLine, das Viellinienobjekt

Mit einem einfachen Trick entsteht ein PolyLine-Objekt.
In PC-Magazin 4/99 finden Sie im Tip 47, S. 216 eine Möglichkeit, wie Sie auf einer Form oder einer PictureBox kritzeln (Scribble). Die Zeichnung setzt sich aus einer Vielzahl von zusammenhängenden Linien zusammen. Das Ergebnis Ihrer Kreation ist allerdings sehr flüchtig. Erhalten bleibt sie nur, wenn Sie das ganze Bild speichern: ein ziemlicher Aufwand für ein paar Linien. Besser ist es, den Linienzug selbst zu speichern. Dazu benötigen Sie aber erst einmal dessen Daten. Legen Sie für das Beispiel ein neues Projekt mit einer Form und einem Standard-(Code-)Modul an. Auf der Form plazieren Sie eine PictureBox (Picture1) und geben ihr folgende Eigenschaftswerte:
AutoRedraw = True und ScaleMode = 3
'Ab VB4: vbPixels
Die Scribble-Zeichnung sichern Sie, indem Sie die Poly-Daten speichern. Nach dem erneuten Einlesen rufen Sie Poly-LineZeichnen auf. Ihr Scribble ist wiederhergestellt. Übrigens: Ganz unbemerkt haben Sie damit ein Poly-Objekt gespeichert.

Verfasser: Andreas
Letzte Änderung: 2012-09-11 19:08


Polylinien zeichnen

Wegen der mageren Grafik-Befehlsausstattung helfen Sie sich mit dem GDI (Graphical Device Interface) von Windows.
Es wird wohl nie geklärt werden, warum Visual Basic auch in der aktuellen Version lediglich über jene Grafikbefehle verfügt, die es schon bei QBasic gab. Wozu gibt es das GDI (Graphical Device Interface), jenen Teil von Windows, der eine Vielzahl von Grafikroutinen bereithält? Eine davon heißt Polygon und verbindet eine vorgegebene Menge an Punkten mit einer Linie. Die Ausgabe erfolgt im Bildfeld "picAusgabe", dessen AutoRedraw-Eigenschaft Sie auf TRUE setzen müssen. Achten Sie bei den GDI-Funktionen in unserem Programm (Listing in Databox 7/97) darauf, alle Koordinaten als Long-Werte in Pixel (und nicht in Twips) zu übergeben.
Übrigens lohnt es sich nur bedingt, GDI nach weiteren Befehlen zu durchforsten. Neben der Polygon-Funktion gibt es noch
- eine Polyline-Funktion,
- PolyBezier, eine Funktion zum Zeichnen von BIzier-Kurven,
- PaintDesktop zum Zeichnen des Desktop-Musters in ein Bildfeld
- und als Höhepunkt die PlgBlt-Funktion, mit der Sie eine Bitmap rotieren lassen.
Eine Beschreibung aller Win32-API-Funktionen finden Sie in den Hilfedateien des Win32-SDK oder auf der MSDN-CD.
Peter Monadjemi/et

Verfasser: Andreas
Letzte Änderung: 2012-09-11 19:08


Popup-Menü ohne Hindernisse

Stört Sie das Kontext-Menü der Textbox? Deaktivieren Sie es.
Seit Windows 95 ist in der Textbox ein Kontext-Menü integriert. Wenn Sie mit der PopupMenu-Funktion ein eigenes Kontext-Menü öffnen wollen, stört es. Bevor Ihr eigenes Menü angezeigt wird, öffnet sich das integrierte. Es gibt für VB4 bis VB6 eine Lösung, deren genaue Wirkungsweise leider nicht bekannt ist. Es ist deshalb nicht auszuschließen, dass die folgenden Codezeilen in künftigen VB-Versionen nicht mehr nutzbar sind.
Sub Text1_MouseDown( _
Button As Integer, _
Shift As Integer, _
X As Single, Y As Single)
If Button = 2 Then
With Text1
.Enabled = False
.Enabled = True
PopupMenu MEN_Datei
End With
End If
End Sub
Übergeben Sie der PopupMenu-Funktion das Menü, das an die Stelle des Standard-Kontext-Menüs tritt. Das Beispielprogramm finden Sie unter ...\Popup\ 4_popup.vbp

Verfasser: Andreas
Letzte Änderung: 2012-09-11 19:09


Professionelle Farbverläufe

Gestalten Sie komfortabel Hintergründe mit individuellen Farbübergängen.
Sehr oft finden Sie als Hintergrund, insbesondere für Setup-Programme, Farbverläufe wie etwa von Blau nach Schwarz. Analog finden Sie Tips, die Farbverläufe von Schwarz zu einer Grenzfarbe oder umgekehrt anzeigen. Farbübergänge zwischen wählbaren Farben helfen Ihnen, Ihren Visual-Basic- Programmen ein individuelles Aussehen zu verleihen. Auf der Heft-CD finden Sie eine Pro-zedur, die dies automatisch für Sie erle-digt. Mit ihr stellen Sie individuelle Farbverläufe in Ihren Visual-Basic-Programmen dar:
' Ausgangs- und Zielfarbe Sub Farbverlauf
(Obj As Form, Richtung)
' Obj.Refresh aktiv (nicht VB1!)
' zeilenweise Änderung sichtbar
Setzen Sie die globalen Werte für Ihre Farben mit den Variablenfeldern Rot(), Gruen() und Blau(). Index = 0 setzt die Werte der Aus-gangsfarbe und Index = 1 die der Ziel-farbe. Somit rufen Sie das Programm mit folgenden Werten auf:
Rot(0) = 128:Gruen(0) = 0: Blau(0) = 255
Rot(1) = 255:Gruen(1) = 255: Blau(1) = 0
Mit dem Wahlprogramm auf der CD gestalten Sie Ihren individuellen Farbver-lauf. Klicken Sie die linke oder rechte Hälfte der unteren Farbbox an. Stellen Sie mit den Schiebeleisten die Ausgangs-( links) und die Zielfarbe (rechts in der Farbbox) fest. Der Button Farbverlauf zeigt in einem weiteren Fenster diesen Verlauf an. Mit einem Klick auf dieses Fenster ändern Sie die Verlaufsrichtung gemäß den Werten aus der Tabelle oben. Für Grauwerte markieren Sie die entsprechende CheckBox. Das zweite Fenster läßt sich ver-größern und verkleinern. Damit kontrollieren Sie Effekte in ihrer Größe. Halten Sie Ihre Einstellungen fest, und verwenden Sie diese beim Aufruf der Prozedur in Ihrer Anwendung. FARBVERLAUF Wert

Verfasser: Andreas
Letzte Änderung: 2012-09-11 19:09


Programme ausführen

Um beliebige Programme oder Dokumente zu starten, stehen unter Windows spezielle Systemfunktionen zur Verfügung, die Sie auch in Visual-Basic-Programmen einsetzen können.
Aktuelle Windows-Systeme verwalten standardmäßig Dateikürzel sowie die zugehörigen Anwendungen. Der Verbund zwischen Dateikürzel und Anwendung wird auch als Verknüpfung bezeichnet. Die Verknüpfungen erlauben es Windows, Programme durch Anwahl einer bestimmten Dokumentdatei automatisch zu starten. Doch was tun, wenn die Verknüpfung für einen gewählten Dateityp noch nicht existiert, aber angelegt werden soll? Verwenden Sie die Prozedur ExecuteOrLinkDialog. Die Methode greift nicht auf eine API-Routine zu, sondern startet ein Modul über die Shell-Anweisung, der wiederum eine bestimmte Parameterzeile übergeben wird. Die Datei, die ausgeführt werden soll, einschließlich Suchpfad, wird über den Parameter-Pfad übergeben und ans Programm Rundll32.exe weitergeleitet. Das Programm führt in der dynamischen Verbindungsbibliothek Shell32. dll die Funktion OpenAs_Run.DLL aus. Diese öffnet automatisch den Verknüpfungsdialog, wenn noch keine Verknüpfung für die gewählte Datei existiert, oder startet alternativ die Datei mit der Anwendung, zu der die Verknüpfung bereits angelegt wurde. Das Programm Search erlaubt das Ausführen und Öffnen gefundener Dateieinträge, indem Sie die jeweilige Datei im Ergebnislistenfeld markieren und die Schaltfläche Öffnen/Ausführen anwählen. Die Anwahl der Schaltfläche führt unmittelbar die Ereignisprozedur btnOpen_Click aus. Nach Überprüfung der Dateiwahl wird das ausführbare Programm prozedurintern in Abhängigkeit vom Dateikürzel unmittelbar über die benutzerdefinierte Routine WinFileOpen gestartet oder es wird an die Routine ExecuteOr-LinkDialog weitergereicht.

Verfasser: Andreas
Letzte Änderung: 2012-09-11 19:10


Programme im Autostart-Ordner

So wird Ihr Programm beim Rechnerstart automatisch mitgestartet.
Programme im Autostart-Ordner werden beim Hochfahren von Windows automatisch gestartet. Um Programme in diesen Ordner zu übertragen, rufen Sie ab Windows 95 die benutzerdefinierte Prozedur SetToAutostart auf. Dem Parameter Datei$ weisen Sie als Argument einen String mit Dateipfad und Dateinamen zu.
Sub SetToAutostart(Datei$)
WinDir$ = WindowsDirectory()
On Error Resume Next
FileCopy Datei$, WinDir$ &_
„\startm~1\progra~1\_
autost~1\" & D$
' Amerik.-Engl.Windos?
If Err > 0 Then
Err = 0
FileCopy Datei$, WinDir$ &_
„\startm~1\progra~1\_
StartUp\" & D$
End If
If Err > 0 Then
MsgBox (Error$)
End If
End Sub
Die gekürzten Pfadnamen sorgen dafür, dass kein Fehler auftritt, wenn Ihr System keine langen Pfadnamen unterstützt. TIPP TIPP In der deutschen Windows-Version heißt der Ordner Autostart. Erzeugt die Art, wie Sie den Ordner geschrieben haben, einen Fehler, wird der amerikanische Name Startup verwendet. Das Beispielprogramm finden Sie auf der Heft-CD unter ...\autostart\4_autost.vbp

Verfasser: Andreas
Letzte Änderung: 2012-09-11 19:10


Programmeigener Desktop

Ohne in das System einzugreifen, programmieren Sie Ihren eigenen Desktop.
Die Windows-Einstellungen bestimmen das Aussehen in vielen Teilen. So drängt sich zum Beispiel die Desktop-Farbe in der Oberfläche eigener Programme vor. Manche Programme benötigen einen eigenen Hintergrund. Verwenden Sie eine Form als Hintergrund: ohne Rand, ohne Menü, mit WindowState = 2 und der API-Funktion Set-WindowPos. Einen richtigen Desktop ergibt das noch nicht. Ordnen Sie eine andere Form über dem Hintergrund an, führt deren Größenänderung zur Aktivierung der Windows-Taskleiste. Dies verhindert ein kleiner Trick beim Laden des Hin-tergrunds: Setzen Sie diesen zunächst als oberstes Fenster. Heben Sie die Anordnung danach gleich wieder auf. Jetzt bleibt Ihre Taskleiste auch nach der Größenänderung unsichtbar.
Private Sub Form_Load()
TPX = Screen.TwipsPerPixelX
WindowState = 2
' Fenster im System nach oben
FensterOben Me
' wieder zurücksetzen
' für Folgeaktionen
FensterOben Me, 0
Refresh
' Fenster zeigen u. nach oben
Form1.Show
FensterOben Form1
Form2.Show
FensterOben Form2
CreateTaskbar
End Sub
Beachten Sie, dass Sie für alle Formen die Eigenschaft
ShowInTaskBar = False
setzen.
Eine weitere Besonderheit liefert unsere MessageBox. Sie versteckt die auf dem Hintergrund platzierten Formfenster. Auch hier hilft ein Trick. Vor dem Aufruf der MsgBox-Funktion rufen Sie die Prozedur FensterOben auf. Die Formen bleiben sichtbar.
Verbessern Sie unser Beispielprogramm mit eigenen Icons oder einem Toolbar-Control.
Das Beispielprogramm finden Sie unter ...\Desktop\ 4_dsktop.vbp

Verfasser: Andreas
Letzte Änderung: 2012-09-11 19:11


Programmende feststellen

Unter Windows 3.1 ließ sich das Programmende mit einer API-Funktion feststellen - jetzt brauchen Sie mehr.
Wenn Sie ein Programm über die Shell-Funktion starten, kehrt die Funktion wieder zurück, während das Programm noch läuft. Um feststellen zu können, wann das gestartete Programm beendet wurde, müssen Sie etwas tiefer in die API-Trickkiste greifen.
Unter Windows 3.1 war alles noch relativ einfach: Sie wiederholten lediglich die API-Funktion GetModuleUsage mit der von der Shell-Funktion zurückgegebenen Modulnummer des Programms so lange in einer Schleife, bis das gestartete Programm beendet war und die Funktion einen Nullwert zurückgab.
Bei Win32 gibt es GetModuleUsage leider nicht mehr, denn hier stehen Prozesse und Threads auf dem Programm. Entweder starten Sie ein Programm über die API-Funktion CreateProcess und warten mit der allgemeinen Funktion WaitForSingleObject, oder Sie holen sich über die API-Funktion OpenProcess die Bezugsnummer des von der Shell-Funktion gestarteten Prozesses und warten, bis die GetExitCodeProcess-API-Funktion den Prozeß terminiert. Unser Programm (Listing in Databox 7/97) führt die zweite Variante vor. Variante A beschreibt die Microsoft Knowledge Base zum Beispiel unter
www.microsoft.com/kb/articles/q129/7/96.htm
Peter Monadjemi/et

Verfasser: Andreas
Letzte Änderung: 2012-09-11 19:12


Programmverknüpfung für nicht registrierte Dateitypen

Beim Doppelklick auf nicht-registrierte Dateitypen im Explorer passiert nichts. Diesen Dateien weisen Sie am besten ein universelles Viewer-Programm zu.
Eine ordentliche Windows-95-Anwendung meldet den Dateityp ihrer Dokumente an. Dabei wird üblicherweise die aus drei Zeichen bestehende Dateierweiterung in der Registry gespeichert. Das führt dann dazu, daß beim Doppelklick auf eine doc-Datei Word für Windows startet oder bei einer xls-Datei Excel.
Es bleiben allerdings viele Dateitypen, für die keine Anwendung registriert ist. Diesen Dateien weisen Sie jedoch einen universellen Editor oder Viewer zu, indem Sie einen neuen Schlüssel einrichten. Den Pfadnamen des Programms - gegebenenfalls mit zusätzlichen Parametern - weisen Sie dem pauschalen Schlüssel Unknown\Shell\Open\Command im Registry-Abschnitt HKEY_CLASSES_ROOT zu, was die im vorigen Tip entwickelte VB-Funktion SetKeyValue übernimmt.
Für die Auswahl des Programms und die Eingabe weiterer Kommandozeilenparameter brauchen Sie eine einfache Oberfläche. Dazu legen Sie ein neues Projekt an und statten das Formular mit den folgenden Steuerelementen aus, denen Sie die aufgeführten Eigenschaften zuweisen:
Label
(Name) = "lblProgramm"
Caption = "&Kommandozeile"
Textbox (Name) = "txtProgramm"
Text = ""
Befehlsschaltfläche
(Name) = "btnOK"
Caption = "OK"
Default = True
Befehlsschaltfläche
(Name) = "btnCancel"
Cancel = True
Caption = "Abbrechen"
Befehlsschaltfläche
(Name) = "btnSearch"
Caption = "&Durchsuchen"
CommonDialog
(Name) = "dlgDialog1"
Geben Sie dann die in zu-weis.bas (Listing in Databox 3/98) abgedruckten Ereignisroutinen ein.
Wenn Sie das Programm starten, klicken Sie auf die Durchsuchen-Schaltfläche und wählen eine Programmdatei aus - besonders geeignet ist beispielsweise der MS-DOS-Editor edit.com im COMMAND-Ordner des Windows-Verzeichnisses.
Mit einem Klick auf die OK-Schaltfläche des Dateidialogs übernehmen Sie den Pfadnamen des Programms in die Textbox des Formulars. In den meisten Fällen müssen Sie noch ein Leerzeichen und den Zusatz %1 an den Pfadnamen anhängen, damit das Programm den Pfadnamen der zu öffnenden Datei vom Explorer übernehmen kann.

Verfasser: Andreas
Letzte Änderung: 2012-09-11 19:12


Projekte sichern und laden

Ein VBA-Makro speichert die Namen aller derzeit geöffneten Dokumente in einer wählbaren Projektdatei. Ein zweites Makro liest deren Inhalt ein und lädt alle Dokumente.
Professionelle Textschaffende wie Übersetzer, Dokumentatoren oder Journalisten bearbeiten häufig mehrere Dokumente gleichzeitig und wünschen sich nicht selten, ihre Dokumentauswahl in einer Projektdatei zu speichern und mit einem Befehl laden zu können. Zwei Makros (Listing in Databox 2/98) erfüllen diesen Wunsch:
- Das eine, ProjektSpeichern, bringt zur Festlegung des Projektdateinamens den Word-Standarddialog Speichern unter auf den Bildschirm. Da das Dialogfeld nur bestehende Erweiterungen wie doc, rtf oder txt unterstützt, können Sie kein eigenes Dateiformat für Projektdateien definieren. Als Dateiformat für den Dialog stellen Sie daher über dessen Format-Eigenschaft txt ein. Als Vorgabedateiname bestimmen Sie projekt1.txt.
Wenn Sie die Dialogausführung mit OK beendet haben - siehe Listingzeile
If .Display = -1 Then
setzt das Makro zunächst den Pfadnamen der Projektdatei aus dem Namen des aktuellen Verzeichnisses CurDir$ und dem gewählten Dateinamen zusammen. Anschließend öffnet es die neue Projektdatei per Open-Befehl, schreibt zeilenweise die Pfadnamen (Fullname-Eigenschaft) aller aktuell geöffneten Dokumente (Documents-Auflistung) hinein und schließt die Datei dann per Close-Anweisung. Das Makro ProjektLaden setzt zur Auswahl der Projektdatei auf den Word-Dialog Öffnen, den die Format-Eigenschaft zur Anzeige von Textdateien veranlaßt. Nachdem der Anwender eine Projektdatei gewählt und den Dialog mit OK beendet hat - siehe Listingzeile
Display = -1
wird die Datei für einen sequentiellen Lesezugriff geöffnet. Die While-Wend-Schleife liest dann der Reihe nach alle Pfadnamen, überprüft deren Existenz mit Hilfe der Dir$-Anweisung und öffnet die Dokumente anschließend über die Open-Methode der Dokumenten-Auflistung. Am Ende der Makroausführung steht wieder die Close-Anweisung, die die Projektdatei schließt. In Excel und PowerPoint lassen sich die Makros aufgrund der abweichenden oder fehlenden Zugriffsmöglichkeiten auf Standarddialoge nicht ohne größere Änderungen einsetzen.

Verfasser: Andreas
Letzte Änderung: 2012-09-11 19:13


Proportionalfont oder nicht?

Dieser Tipp beantwortet die Frage, ob ein Font proportional ist.
Dieser Tipp vergleicht die Zeichenbreite eines Leerzeichens mit der des Zeichens W. Sind beide gleich breit, ist der Font nicht proportional. Der Vergleich benutzt ein Label-Control (Steuerelement). Dessen Autosize-Eigenschaft ist auf True gesetzt. Dadurch erhalten Sie von der with-Eigenschaft die Zeichenbreite.
Function IsProportionalFont _
(ByVal Fnt, _
Lbl As Label)
Lbl.AutoSize = True
Lbl.Font.Name = Fnt
Lbl.Font.Size = 8
Lbl.Caption = „ „
Lbl.Refresh
TW0 = Lbl.Width
Lbl.Caption = „W"
Lbl.Refresh
TW1 = Lbl.Width
IsProportionalFont = _
(TW0 < > TW1)
End Function
Ein Beispielprogramm finden Sie auf der Heft-CD unter ...\Fonts\4_fonts.Vbp.

Verfasser: Andreas
Letzte Änderung: 2012-09-11 19:13


QBColor-Index eines QB-Color-Farbwerts

Wir zeigen Ihnen, wie Sie aus dem Wert einer Farbe den QB-Color-Index zurückgewinnen.
Mit Farbe& = QBColor(Index) erhalten Sie den RGB-Farbwert der betref-fenden QBColor-Farbe. Entspricht der übergebene Farbwert keiner QBColor-Farbe, wird -1 zurückgegeben.
' VB1: (ByVal Col As Long)
' direkte Eigenschaftenübergabe
' nur vor VB4 erforderlich.
Function QBColorIndex _
(ByVal Col As Variant)
For m = 15 To 0 Step -1
If QBColor(m)=Col Then Exit For
Next
QBColorIndex = m
End Function

Verfasser: Andreas
Letzte Änderung: 2012-09-11 19:14


Rätselhafte Ereignisfolge

Wenn Programme mit Fehlern abbrechen, sollten Sie das seltsame Verhalten von Formenuntersuchen.
Ein Beispielprogramm soll zwei Formen enthalten. Über den Command-Button laden Sie Form2. Diese wird in ihrer eigenen Form_Load-Prozedur direkt entladen. Daraufhin bricht das Programm mit einer Fehlermeldung ab. Es fängt sich in einer ewigen Schleife, aus der Sie mit der [F5]-Taste aussteigen können, um die Arbeit fortzusetzen. Das Programm arbeitet die Zeile
Load Form2
immer wieder neu ab. Prüfen Sie, ob dieser Fehler auch auftritt, wenn Sie die Form in der Initialize-Ereignisprozedur entladen. Die Reihenfolge der Ereignismeldungen kann nicht die Fehlerquelle sein (4_events.vbp). Der Hintergrund: Initialize wird nach Load gemeldet. Wenn Form_Load gemeldet wird, ist Form noch nicht geladen. Dies verursacht die Endlosschleife.

Verfasser: Andreas
Letzte Änderung: 2012-09-11 19:14


Readme-Datei

So zwingen Sie Benutzer Ihres Programms, eine wichtige Readme-Datei zu lesen.
Fast zu jedem Programm gibt es eine Readme-Datei. Diese enthält in der Regel wichtige Informationen, um ein Programm zu installieren und zu nutzen. Meistens liest der Benutzer diese erst, nachdem er das Programm gestartet hat und auf Schwierigkeiten stößt. Besser ist es, den Inhalt der Readme-Datei im Programm direkt anzuzeigen. Eine Text-oder RTF-Box und eine kleine Laderoutine sind alles, was Sie dazu brauchen. So gehen Sie vor: Schreiben Sie zu Ihrem Programm einen Readme-Text. Speichern Sie diesen im Anwendungs-Verzeichnis. Im Entwurfsmodus ist dies das Verzeichnis, in dem die VBP-Datei steht. Legen Sie eine Textbox auf Ihrer Startform an. Fügen Sie den Text aus dem Listing ReadInfo.lst (auf der Heft-CD) ein. Die Aufrufzeile schreiben Sie in die Form_Load-Prozedur. Optisch macht es sich besser, wenn Sie eine RTF-Box einsetzen und den Text im RTF-Format gestalten.

Verfasser: Andreas
Letzte Änderung: 2012-09-11 19:14


Registrierungswerte auslesen

Eine universell verwendbare Funktion liest beliebige Registrierungswerte aus.
Die Ausgabe 3/98, S. 190, hat Ihnen mit Tip 34 eine Routine präsentiert, mit der Sie beliebige Werte in der Windows-Registrierung speichern können. Diesmal stellen wir Ihnen das funktionale Gegenstück vor: die Funktion GetRegValue (Listing in Databox 6/98). Im Gegensatz zur Visual-Basic-internen Funktion GetSetting, deren Wirkungsbereich sich nur auf den für VB-/VBA-Anwendungen reservierten Registrierungszweig
HKEY_CURRENT_USER\Software\VB and VBA Program Settings
beschränkt, liest GetRegValue jeden beliebigen Registrierungswert, sofern es sich um einen Zeichenketten- oder DWORD-Wert handelt. Die eher seltenen Binärwerte lassen sich nur mit viel Aufwand ermitteln und bleiben in diesem Rahmen unberücksichtigt.
Für den Zugriff auf die Systemregistrierung ist GetRegValue auf API-Hilfen angewiesen, namentlich auf die Funktionen
- RegOpenKeyEx zum Öffnen eines Schlüssels,
-_RegCloseKey zum Schließen und
-_RegQueryValueExA zum Auslesen von Einstellungen.
Letztere müssen Sie gleich dreimal unter den Aliasnamen RegQueryValueExN, RegQueryValueExS und RegQueryValueExL deklarieren, um mit den Basic-üblichen Variablentypen auf die verschiedenen Einstellungswerte zugreifen zu können. Auch der Gebrauch des ByVal-Schlüsselworts, das die Details der Parameterübergabe zwischen Visual Basic und der API-Funktion regelt, spielt bei den Deklarationen eine entscheidende Rolle.
Zum Ablauf: Die Funktion öffnet zunächst mit der RegOpenKeyEx-Funktion den Registrierungsschlüssel, den die Argumente Abschnitt und Schlüssel definieren. Der wichtigste Rückgabewert von RegOpenKeyEx ist ein Handle (lKeyHandle), mit dem die nachfolgenden API-Funktionen auf den geöffneten Schlüssel zugreifen können. Die RegQueryValueExN-Funktion ermittelt nun, ob der genannte Schlüssel existiert (Funktionswert: lResult), welchen Typ er gegebenenfalls aufweist (lKeyTyp) und aus wieviel Bytes er besteht (lKeyLänge). Existiert der Schlüssel, was Sie am Eintrag
If lResult = 0 Then...
erkennen, nimmt das nachfolgende If-Then-Konstrukt eine Unterscheidung des Schlüsseltyps vor. Handelt es sich um eine Zeichenkette, erkennbar an der Zeile
If lKeyTyp = REG_SZ Then...
so wird eine Trägervariable (sEinstellung) aus der in lKeyLänge enthaltenen Anzahl von Nullbytes angelegt und an RegQueryValueExS übergeben. Die API-Funktion schreibt den Schlüsselwert hinein und meldet das ordnungsgemäße Erledigen ihrer Aufgabe mit dem lResult-Wert 0. GetRegValue kann nun den eigenen Funktionswert durch Abschneiden (via Left$-Funktion) aller überzähligen Nullbytes in sEinstellung bilden.
Handelt es sich beim auszulesenden Schlüssel dagegen um einen DWORD-Wert, erkennbar an der Zeile
ElseIf lKeyTyp = REG_DWORD Then...
kommt die API-Funktion RegQueryValueExL zum Einsatz, die den Einstellungswert in der Long-Integer-Variablen lEinstellung speichert. Auch hier bildet GetRegValue den eigenen Funktionswert (GetRegValue = lEinstellung). Ein Beispiel für den praktischen Einsatz der neuen Funktion zeigt das Listing (Listing in Databox 6/98).

Verfasser: Andreas
Letzte Änderung: 2012-09-11 19:15


Registry-Werte löschen

Um die Windows-Registrierung kompakt zu halten, entfernen Sie überflüssig gewordene Programmdaten. Eine VB-Prozedur leistet gründliche Löscharbeit.
Bereits in früheren Ausgaben der Visual-Basic-Tips haben wir Ihnen Routinen für den Umgang mit der Windows-Registrierung vorgestellt, beispielsweise SetKeyValue (PC Magazin 3/98, S. 190, Tip 34) zum Schreiben oder GetRegValue (PC Magazin 6/98, S. 187, Tip 41) zum Lesen von Registry-Werten. Die DeleteKey-Funktion (Listing in Databox 12/98) soll diese Tradition nun fortsetzen. Sie löscht jeden x-beliebigen Schlüssel mit allen Werten und Unterschlüsseln darin, beschränkt sich also im Unterschied zur DeleteSetting-Anweisung von VB nicht auf den speziell für VB- und VBA-Anwendungen reservierten Registry-Zweig
HKEY_CURRENT_USER\Software\VB and VBA Program Settings
Dementsprechend umsichtig sollten Sie mit dieser Funktion umgehen, denn ein versehentlich gelöschter Schlüssel kann Ihre gesamte Windows-Installation irreparabel zerstören!
DeleteKey benötigt drei Argumente.
- lKeyConst benennt den Registry-Abschnitt, in dem sich der zu löschende Schlüssel befindet. Als Wert kommt eine der im Deklarationsabschnitt definierten Konstanten
HKEY_CURRENT_USER
HKEY_CLASSES_ROOT
HKEY_LOCAL_MACHINE
oder
HKEY_USERS
in Frage.
- Das sKeyName-Argument gibt den Schlüsselnamen an, der dem zu löschenden Schlüssel (sSubKey) direkt übergeordnet ist. Beim Aufruf öffnet die Funktion den betreffenden Schlüssel mit Hilfe der API-Funktion RegOpenKeyEx. Sofern es sich dabei um einen existierenden Schlüssel handelt, was die API-Funktion durch den Rückgabewert 0 signalisiert, wird er durch eine weitere API-Funktion namens RegDeleteKey gelöscht.
- Die dritte API-Funktion RegCloseKey gibt das für den Schlüsselzugriff verwendete Handle (hKey) wieder frei. Wenn die Löschaktion erfolgreich war, liefert die DeleteKey-Funktion den Wert True, ansonsten False zurück. Das Beispiel
If DeleteKey(HKEY_CURRENT_USER, "MyProgs\VB", "TestApp") = True_
Then
MsgBox "Schlüssel gelöscht."
End If
löscht den fiktiven Unterschlüssel "TestApp", der sich im Schlüssel
"MyProgs\VB"
im Registry-Abschnitt
HKEY_CURRENT_USER
befindet.

Verfasser: Andreas
Letzte Änderung: 2012-09-11 19:16


Rekursive Dateisuche

Die GetFiles-Funktion durchsucht ganze Laufwerke oder Verzeichniszweige nach beliebigen Dateien. Die gefundenen Pfadnamen legen Sie in einer Feldvariablen ab.
Das Aufspüren von Dateien der Festplatte gehört zu den häufigsten Aufgaben von VB-Programmen. Dabei beschränkt sich die Suche in aller Regel nicht auf ein einzelnes Verzeichnis; statt dessen muß sich die zuständige Routine selbständig durch alle Ordner und Unterordner eines vorgegebenen Verzeichnisastes hindurcharbeiten. So etwas ist nur mit Rekursion zu bewältigen, das heißt, daß sich die Routine immer wieder selbst aufruft. Die GetFiles-Funktion (Listing in Databox 12/98) stellt eine von vielen Möglichkeiten einer rekursiven Dateisuchroutine dar.
Die Funktion beginnt in dem Verzeichnisast, der durch das
sPath-Argument bezeichnet wird. Für die Definition der zu suchenden Dateien (sFileSpec-Argument) können neben vollständigen Dateinamen auch Wildcards wie *.doc oder Brief??.txt verwendet werden. Beim sFiles()-Argument handelt es sich um ein dynamisch vorgezeichnetes Zeichenkettenfeld, das die gefundenen Dateinamen zur Weiterverarbeitung in der aufrufenden Prozedur aufnimmt. Das fRecursive-Argument bestimmt, ob bei der Suche auch Unterverzeichnisse einbezogen werden (Wert = True) oder nicht (Wert = False).
Mit Hilfe der Dir$-Funktion durchsucht die GetFiles-Funktion zunächst das Anfangsverzeichnis sValidPath nach der oder den angegebenen Dateien. Bei dem Anfangsverzeichnis sValidPath handelt es sich um das Verzeichnis sPath mit angehängtem Backslash. An jeder Fundstelle erweitert die Funktion die Dimensionierung des Zeichenkettenfelds sFiles() um ein Element und speichert den Pfadnamen der gefundenen Datei darin. Sofern das fRecursive-Argument den Wert True besitzt, durchläuft
GetFiles per Do-Loop-Schleife alle Unterordner des aktuellen Verzeichnisses, deren Namen von der benutzerdefinierten GetSubDir-Funktion (Zeile 59) ermittelt werden. Für jeden Unterordner ruft sich die GetFiles-Funktion selber auf. Dadurch werden nach und nach alle Verzeichnisebenen durchkämmt, die vom sPath-Verzeichnis abzweigen. Der Rückgabewert der Funktion nennt die Gesamtzahl der gefundenen Dateien.
Das folgende Aufrufbeispiel forscht nach allen jpg-Dateien die auf Laufwerk D gespeichert sind. Anschließend zeigt es die Pfadnamen aller gefundenen Dateien im Debug-Fenster an.

Verfasser: Andreas
Letzte Änderung: 2012-09-11 19:16


Rekursive und schnelle Dateisuche

Kommt es Ihnen bei der Dateisuche auf Schnelligkeit an, ist die Standardanweisung Dir$ nicht zu gebrauchen. Windows-APIs leisten mehr.
Mit den Windows-API-Funktionen FindFirstFile und FindNextFile ermitteln Sie Dateien über eine Suchmaske. FindFirstFile legt die Suchmaske fest und ermittelt die erste entsprechende Datei. Mit FindNextFile spüren Sie alle weiteren der Suchmaske entsprechenden Dateien auf. Der Vorteil: Anders als bei der Dir$-Anweisung gehen Zwischenwerte beim rekursiven Aufruf nicht verloren. Daher müssen Sie keine Arbeitsgänge zwischenzeitlich sichern oder wiederherstellen. Zudem arbeiten hierarchische Verzeichnisoperationen erheblich schneller. Bevor Sie die API-Funktionen einsetzen, deklarieren Sie diese. Beide APIFunktionen liefern die Dateiinformationen über eine Variable der Struktur WIN32_FIND_DATA zurück. Diese enthält den hier benötigten Funktionsnamen im Strukturelement cFileName. Die maximale Pfadlänge von 260 Zeichen wird über die Konstante MAX_PATH, das Attribut für Verzeichniseinträge über die Konstante FILE_ ATTRIBUTE_DIRECTORY definiert. In der Struktur WIN32_ FIND_DATA definieren Sie Datumsund Zeitangaben über eine Verbundvariable vom Typ FILETIME. Obgleich diese Informationen an dieser Stelle nicht benötigt werden, muss auch diese Struktur in das Quellmodul aufgenommen werden. Die benutzerdefinierte Routine SearchFiles sucht die Dateien rekursiv. Der Routine übergeben Sie den Ausgangspfad für die Suche sowie eine Suchmaske. Um Ergebnisse, Statusmeldungen oder Optionen zwischen der Routine und dem zugehörigen Programm austauschen zu können, stehen die Parameter lst, opt und Info zur Verfügung.
Lst ist ein Listenfeld, in das gefundene Einträge geschrieben werden.
Über das Optionsfeld opt bestimmen Sie, ob exakte Zeichenketten oder lediglich nach Teilzeichenketten gesucht werden soll.
Statusmeldungen, über die das aktuell verarbeitete Verzeichnis ausgegegen wird, werden an das Bezeichnungsfeld Info übergeben. Innerhalb der Prozedur wird zunächst die Variable fStruct vom Typ WIN32_FIND_DATA eingeführt. FindFirstFile legt die Suchmaske fest und liefert einen ersten übereinstimmenden Dateieintrag über die Variable fStruct zurück sowie eine eindeutige Kennung hFile&, mit der der jeweils nächste Dateieintrag via FindNextFile abgefragt werden kann. Der Dateiname wird aus der Struktur über das Element cFileName ausgelesen und an die Zeichenkettenvariable Eintrag$ übergeben. Ob es sich beim aktuell ermittelten Eintrag um einen Verzeichnis- oder Dateieintrag handelt, können Sie über das Element dwFileAttributes der Strukturvariablen fStruct ermitteln, indem Sie dieses auf den Wert der Konstanten FILE_ATTRIBUTE_DIRECTORY überprüfen. Handelt es sich um einen Verzeichniseintrag, kann die Routine SearchFile rekursiv aufgerufen werden. Handelt es sich um eine Datei, können Sie diese nach gewählter Funktion für die Suche berücksichtigen.

Verfasser: Andreas
Letzte Änderung: 2012-09-11 19:17


RGB-Anteile der System-farben

Den genauen Farbwert, der hinter einer System-Farbkonstanten steht, ermitteln Sie mit dieser Prozedur.
Die Prozedur in Tip 38 ("Zusammensetzung der Farben") ermittelt aus einem beliebigen RGB-oder QBColor-Farbwert die Einzelwerte für Rot, Grün und Blau. Doch die Systemfarben achtstellige Werte, jeweils beginnend mit &H8 lassen sich nicht auf direktem Weg zerlegen. Verwenden Sie dazu die nachstehende, erweiterte Prozedur. Übergeben Sie ihr eine Form (Formular). Mit den Methoden PSet und Point setzen Sie auf dieser Form einen Punkt mit der Farbe. Dessen Wert lesen Sie aus und setzen ihn auf die ursprüngliche Farbe des Punktes zurück. In den Argumenten R%, G% und B% erhalten Sie die Farbanteile.
Sub SystcolParts (Frm As _
Form, Colr&, R%, G%, B%)

On Error Resume Next
Dim MerkCol&
MerkCol& = Frm.Point(1, 1)
Frm.PSet (1, 1), Colr&
Colr& = Frm.Point(1, 1)
R% = Colr& Mod 256
G% = (Colr& \ 256) Mod 256
B% = Colr& \ (256& * 256)
Frm.PSet (1, 1), MerkCol&

End Sub

Verfasser: Andreas
Letzte Änderung: 2012-09-11 19:17


RGB-Farbwahl

So greifen Sie auf alle verfügbaren Farben Ihres Systems mit ScrollBar-Controls zu. Eine Farbwahlbox, die alle RGB-Farben (16 777 216) zeigt, ist auf einem PC nicht realisierbar. Die Zahl der verfügbaren Pixel eine Auflösung von 800 x 600 ergibt 480 000 Pixel reicht dafür nicht aus. Die folgende Lösung bestimmt die Farbmischung der RGB-Farbe mit ScrollBar-Controls. Die erzielte Farbe zeigen Sie in einer PictureBox an. Mit einer CheckBox schalten Sie in den Grey-Scale-Modus, um Grauwerte anzuzeigen. Sie legen auf einer Form eine Picture-Box (Picture1) an, darunter drei horizontale ScrollBars mit beigeordneten Labels und zusätzlich eine CheckBox (Check1, Caption = "GreyScale"). Dort fügen Sie rgb.bas (Listing 2) ein.

Verfasser: Andreas
Letzte Änderung: 2012-09-11 19:18


Rotierende Textausgabe

So einfach erhalten Sie Text in einem bestimmten Winkel.
Windows beherrschte es von Anfang an, für Visual Basic war es bisher ein Problem: die Textausgabe in einem bestimmten Winkel. Unser Programm (Listing in Databox 7/97) führt dies für ein Bildfeld vor. Lassen Sie sich nicht von dem Umfang abschrecken, es ist wirklich alles ganz einfach.
Sie registrieren lediglich über die CreateFontIndirekt-API-Funktion einen neuen Font, legen einen anderen Winkel fest und tragen den Font über die SelectObject-API-Funktion in den Gerätekontext eines Bildfeldes ein. Schon sehen Sie alle Ausgaben mit dem neuen Font. Die LOGFONT-Struktur ist zugegeben ein wenig umfangreich. Am Ende sollten Sie den alten Font, der zwischengespeichert wurde, wiederherstellen. Beachten Sie, daß Sie die Texthöhe über die lfHeight-Untervariable negativ angeben.
Peter Monadjemi/et

Verfasser: Andreas
Letzte Änderung: 2012-09-11 19:18


Rückwärtssuche

Mit der InstrRev-Prozedur durchsuchen Sie Zeichenketten rückwärts.
Ab der Visual Basic Version 6 gibt es die InstrRev-Funktion, mit der Sie eine Zeichenkette von hinten her nach einem Eintrag durchsuchen:
Function InstrRev _
(Tx As String, _
Die Funktion sollten Sie unter Visual Basic 6 in Ihrem Programm entfernen.

Verfasser: Andreas
Letzte Änderung: 2012-09-11 19:19


Runde Fenster

Sie kennen Windows in allen Farben? Dann sollten Sie einmal die Fensterform ändern.
Verblüffen Sie Freunde und Kollegen mit runden Fenstern. Das Programm CreateEllipticRgn (Listing in Databox 7/98) macht's möglich. Welche Anwendung Sie mit diesem Fenstertyp ausstatten, bleibt Ihrer künstlerischen Freiheit vorbehalten.

Verfasser: Andreas
Letzte Änderung: 2012-09-11 19:19


Schaltknopf mit Highlight

Wenn Ihr Mauscursor über dem Button steht, soll dieser aufleuchten.
Mit einem Schaltknopf, der seine Gestalt ändern kann, ziehen Sie die Aufmerksamkeit des Anwenders an. Mit Visual-Basic-Bordmitteln ist diese Aufgabe nicht zu lösen. Aber mit API-Funktionen geht es. Die Funktion GetCursorPos gibt die aktuelle Bildschirmposition des Cursors in Pixel zurück. Die Bildschirmposition wird mit Screen-ToClient auf das aktuelle Control umgerechnet.
Function IsInControl
(Ctrl As Control)
' Pos und Abmessungen bei API
' immer in vbPixels
On Error Resume Next
Sm = Ctrl.Container.ScaleMode
If Err > 0 Then
Sm = 0
End If
If Sm > 0 Then
Ctrl.Container.ScaleMode = _
vbPixels
End If
Wdth = Ctrl.Width
Hght = Ctrl.Height
If Sm = 0 Then
Wdth = Wdth / TPX
Hght = Hght / TPY
End If
' Aktuelle Cursorposition
Call GetCursorPos(lpPoint)
' Cursorposition
' relativ zu Control
Call ScreenToClient(Ctrl.hWnd, _
lpPoint)
XX = lpPoint.x
YY = lpPoint.y
' True wenn im Rechteck
' des Controls
' 0 bis Wdth und 0 bis Hght
IsInControl = (XX >= 0 And _
XX <= Wdth) And (YY >= 0 And _
YY <= Hght)
' ScaleMode zurücksetzen
If Sm > 0 Then
Ctrl.Container.ScaleMode _
= Sm
End If
End Function
Die Funktion lässt sich nur für Controls verwenden, die auch die hWnd-Eigenschaft besitzen.

Verfasser: Andreas
Letzte Änderung: 2012-09-11 19:20


Schnelle Hilfe

So bieten Sie Anwendern schnelle "Informations at your fingertips", wie sich Bill Gates das wünscht.
Das Programm 4_DISHilfe enthält Prozeduren für eine komfortable Hilfe. Für dieses Programm ist ein modularer Aufbau kennzeichnend. Fügen Sie in Ihr eigenes Programm das Codemodul DIS_Hilfe ein. Speichern Sie Ihre readme-Datei im gleichen Verzeichnis, in dem Ihr Programm steht. Beim Start liest es diese readme ein und zeigt den Text. Dieses System können Sie DIS-Hilfe (Direct Information System) nennen. Zum erwähnten Codemodul DIS_Hilfe fügen Sie die Hilfe-Form FRM_Helpbrws ein. Abschließend schreiben Sie Ihre Hilfedatei als ASCIIText. Die Datei muss wie Ihr Programm heißen und die Endung .hlx haben. In diesen Text integrieren Sie Ihre Suche nach Stichwörtern mit Suchbegriffen, die Sie zur besseren Unterscheidung aus mehreren Wörten bilden. So gliedern Sie den Text mit einzeiligen StichwortÜberschriften. Diese kennzeichnet eine vorgestellte doppelte Tilde (~~). Klicken Sie ein Suchwort an, sucht das Programm das textgleiche Stichwort (Entry) und zeigt es an. Steht eine Doppeltilde nicht hinter einem Zeilenumbruchszeichen, sondern im Text, werden die Zeichen als Textzeichen angesehen. Andere Suchwörter, die beliebig im Text stehen können, rahmen Sie mit Doppelwinkeln ein.

Verfasser: Andreas
Letzte Änderung: 2012-09-11 19:20


Schnelle Suche im Listenfeld

Im Listenfeld der Werkzeugsammlung suchen Sie mit einem kleinen Trick sehr schnell nach einer Zeichenkette.
Das Listenfeld der Werkzeugsammlung ist zwar recht praktisch, besitzt aber mindestens einen kleinen Nachteil. Suchen Sie einen bestimmten Eintrag, müssen Sie überaus zeitaufwendig in einer Schleife die List-Eigenschaft durchgehen. Es geht aber auch sehr viel einfacher, indem Sie dem Listenfeld über die SendMessage-API-Funktion die Nachricht "CB_FINDSTRING" senden. Sie erhalten den Index des gesuchten Elements zurück.
Die Groß-/Kleinschreibung spielt bei der Suche keine Rolle. Unser Programm (Listing in Databox 7/97) zeigt ein Kombinationsfeld, das innerhalb von "Form_Load" mit den Namen aller Zeichensätze gefüllt wird. Tragen Sie in das Textfeld "txtSuche" den Namen eines Zeichensatzes ein, wird er nach dem Anklicken der Schaltfläche [cmdSuche] im Kombinationsfeld gesucht und, falls vorhanden, angezeigt.
Peter Monadjemi/et

Verfasser: Andreas
Letzte Änderung: 2012-09-11 19:21


Schneller mit Kurzwahltasten

So nutzen Sie eigene Tastenkombinationen als Shortcuts für Ihre Menüs.
Im Menüeditor der VB-Oberfläche finden Sie die Option, Kurzwahltasten für Ihre Menübefehle festzulegen. Dabei ist die Auswahl begrenzt auf die vorgegebenen Tasten und -kombinationen. Doch mit der KeyPreview-Eigenschaft fangen Sie auch andere Tasten ab. Setzen Sie für die Form KeyPreview = True. Fügen Sie in der Ereignisprozedur Form_Click beispielsweise folgende Zeilen ein: ' ...
Select Case KeyCode
Case 27 'Esc-Taste
MEN_Ende_Click
End Select
Ergänzen Sie in der Form_Load-Prozedur die betreffende Menü-Caption durch das Tastenkürzel. Wollen Sie die Tasten oder -kombinationen, wie die im Menü-Editor direkt wählbaren Shortcuts, am rechten Rand der Caption anzeigen? Dann fügen Sie in der Menü-Caption das vbTab-Zeichen vor dem Tastenkürzel ein, wie folgendes Beispiel zeigt:
Private Sub Form_Load()
MEN_Ende.Caption = _
MEN_Ende.Caption & vbTab & "Esc"
End Sub
Beachten Sie: Wenn Sie ein RTF-Control auf Ihrer Form haben, werden die Tastaturereignisse diesem und nicht der
FarbVerlauf Me, _
X:=Picture2.Width, _
Y:=Picture1.Height, B:=W,Ecke:=1
Das Programm wurde unter Version 4 geschrieben. Ab Version 5 können Sie die Variant-Deklarationen durch Long ersetzen. Auch können Sie die Missing-Zeilen dadurch umgehen, dass Sie Standardwerte direkt zuweisen. Das Listing zeigt einen Auszug aus der Prozedur Farbverlauf. Experimentieren Sie mit geänderten Abst-Werten.
Abst = 200
Anf = 0
For m = 0 To Abst Step 1
XX# = m / Abst
If Richtung = 1 Or Richtung =
3 Then
XX# = ((Abst - m)) / Abst
End If
If Ecke = 1 Then
Zus = (m * B) / Abst
End If
AktFarbe& = _
RGB(Rot(0) - (Rot(0) -
Rot(1)) * XX#, _
Gruen(0) - (Gruen(0) - Gruen(1))
* XX#, _
Blau(0) - (Blau(0) - Blau(1)) *
XX#)
If Richtung < 2 Then
Obj.Line (X+m*B/ Abst, Y + Zus) _
-(X + (m + 1) *B / Abst,Y + H), _
AktFarbe&, BF
Else
Obj.Line (X+Zus,Y+m * H / Abst) _
-(X + B, Y +(m + 1)* H / Abst), _
AktFarbe&, BF
End If
Obj.Refresh
Next

Verfasser: Andreas
Letzte Änderung: 2012-09-11 19:21


Schnellere Tasten

Wir zeigen Ihnen, wie Sie ohne Umweg über die Systemsteuerung Ihre Tastatureinstellungen ändern.
Haben Sie ein Spiel programmiert? Dann ist es wichtig, daß Ihr Benutzer schnelle Tastenreaktionen durchführen kann. Fordern Sie ihn auf, seine Tastaturgeschwindigkeit im Dialogfenster Einstellungen/Systemsteuerung/Tastatur festzulegen. Besser ist es, wenn Ihr Programm die gewünschten Einstellungen vornimmt. Nach Programmende sollte es die Voreinstellung wiederherstellen. Die Tastaturgeschwindigkeit besteht aus zwei Teilen:
Die Verzögerung keyboard delay bestimmt, wie lange nach einem Tastenklick gewartet wird, bis die KeyDo-wn-Meldung erscheint. Der Wertebereich liegt zwischen 0 (kurz) und 3 (lang).
Die Wiederholrate keyboard speed legt fest, wie schnell die KeyDown-Meldungen aufeinander erfolgen. Die Einstellung kann zwischen 0 (niedrig) bis 31 (hoch) liegen. Die API-Funktion SystemParametersInfo stellt die aktuellen Keyboard-Daten und deren Änderung fest. Dabei sind zwei Versionen der Deklaration erforderlich: SystemParametersInfo liest die Information aus, und SystemParametersInfoByVal ermittelt die neuen Daten. Sie unterscheiden sich in der Deklaration des Parameters lpvParam, der die Einstellungswerte enthält. Hier sehen Sie die 32-Bit-Deklarationen und die an den Parameter uAction zu übergebenden
Aktionskonstanten. Im Beispielprogramm sind auch die 16-Bit-Deklarationen enthalten:
Private Declare Function _
SystemParametersInfo _
Lib "user32" Alias _
"SystemParametersInfoA" _
(ByVal uAction As Long, _
ByVal uParam As Long, _
lpvParam As Any, ByVal _
fuWinIni As Long) As Long
Private Declare Function _
SystemParametersInfoByVal _
Lib "user32" Alias _
"SystemParametersInfoA" _
(ByVal uAction As Long, _
ByVal uParam As Long, _
ByVal lpvParam As Any, _
ByVal fuWinIni As Long) _
As Long
#End If
Const _
SPI_GETKEYBOARDSPEED = 10
Const _
SPI_SETKEYBOARDSPEED = 11
Const _
SPI_GETKEYBOARDDELAY = 22
Const _
SPI_SETKEYBOARDDELAY = 23
Jetzt brauchen Sie nur noch zwei Prozeduren, mit denen Sie die aktuellen Einstellungen ermitteln und die Werte setzen:
Sub GetKeyboarddata()
Dim rc As Integer
rc = _
SystemParametersInfo _
(SPI_GETKEYBOARDSPEED, _
0, KeyboardSpeed, 0&)
rc = _
SystemParametersInfo _
(SPI_GETKEYBOARDDELAY, _
0, KeyboardDelay, 0&)
End Sub
Sub SetKeyboardData _
(KeySpeed, KeyDelay)
Dim rc As Integer
rc = _
SystemParametersInfoByVal _
(SPI_SETKEYBOARDSPEED, _
KeyboardSpeed, 0&, 1&)
rc = _
SystemParametersInfoByVal _
(SPI_SETKEYBOARDDELAY, _
KeyboardDelay, 0&, 1&)
End Sub
Ein Beispielprojekt für 16 und 32 Bit finden Sie auf der Heft-CD unter der Rubrik ..../keyspeed.
31 Cursor, versteck dich!
Mit dem hier gezeigten Code verstecken und zeigen Sie den Mauscursor in Ihrer Anwendung.
Wollen Sie den Cursor einmal unsichtbar machen, dann verwenden Sie die API-Funktion ShowCursor. Show-Cursor erhöht oder reduziert einen internen Anzeigezähler. Dieser bestimmt, ob der Mauszeiger gezeigt werden soll. Der Mauszeiger wird nur angezeigt, wenn der Anzeigezählerstand größer als oder gleich 0 ist.
ACHTUNG! Ab Windows 95 wird die Anzeige des Cursors nur noch in Ihrer Anwendung beeinflußt. Außerhalb ist er ständig zu sehen.
Ob der Anzeigezähler um den Wert 1 dekrementiert oder inkrementiert wird, bestimmt der Parameter bShow. Ist er ungleich 0, wird der Anzeigezählerstand um 1 erhöht. Anderfalls wird er um 1 reduziert. Anfangs ist der Anzeigezählerstand gleich 0, wenn eine Maus installiert ist. Falls nicht, ist er -1. Der Rückgabewert der ShowCursor-Funktion gibt den neuen Anzeigezählerstand an. Im Code finden Sie die 32-Bit-Deklaration und die beiden Prozeduren, die den Anzeigezählerstand verändern. Durch die Do-Loop-Schleifen wird sichergestellt, daß der Zählerstand nur einen der Werte 0 oder 1 hat. Haben Sie ihn versehentlich auf einen Stand unter 0 dekrementiert, müßten Sie die Show-Cursor- Funktion selbst so lange aufrufen, bis der Cursor wieder sichtbar wird.
Declare Function ShowCursor _
Lib "User32" _
Alias "ShowCursor" _
(ByVal bShow As Long) _
As Long
#End If
Sub CursorHide()
a = ShowCursor(1)
Do While a >= 0
a = ShowCursor(0)
Loop
End Sub
Sub CursorShow()
a = ShowCursor(0)
Do While a < 0
a = ShowCursor(1)
Loop
End Sub
Ein Beispielprojekt f.r 16 und 32 Bit finden Sie auf der Heft-CD 2 unter der Rubrik ..../curhide.
32 Bedienung per Pfeiltasten
Vor allem bei Grafikprogrammen und Spielen ist es hilfreich, wenn der Cursor sich mit den Pfeiltasten bewegen läßt. Wir zeigen, wie es geht.
Der Cursor läßt sich unter Windows normalerweise nur mit der Maus bewegen. Das gilt auch für VB und damit erzeugte Anwendungen. Doch Sie kennen jetzt die Funktionen, die den Cursor steuern. Was liegt näher, als eine Prozedur zu schreiben, die die Cursorsteuerung übernimmt? Die erforderlichen Deklarationen sind:
' Bit-Version beachten:
' Type POINTAPI
' ClientToScreen
' GetCursorPos
' SetCursorPos
' Global Pt As POINTAPI
Der hier gezeigte Code ist wegen der Übersichtlichkeit gegenüber dem im Beispielprogramm verkürzt. Wir haben nicht alle Bewegungsrichtungen aufge-führt. Sie finden den kompletten Code auf der CD.
Als erstes ermitteln Sie die Bildschirmposition des aktuellen Objekt-Innen-bereichs. Dazu bestimmen Sie dessen Client-Bereich, wie es cursmove.bas demonstriert.
Ein Beispielprojekt f.r 16- und 32-Bit finden Sie auf der Heft-CD unter der Rubrik .../curmove.

Verfasser: Andreas
Letzte Änderung: 2012-09-11 19:22


Schreibschutz aktiv, Datei versteckt?

Eine kurze VB-Funktion überprüft, ob ein beliebiges Dateiattribut gesetzt ist oder nicht.
Um festzustellen, ob ein bestimmtes Dateiattribut (siehe vorigen Tip) gesetzt ist, müssen Sie zunächst den Attributwert der Datei mit Hilfe der GetAttr-Funktion von Visual Basic ermitteln. Eine anschließende AND-Verknüpfung dieses Werts mit dem des fraglichen Attributs ergibt dann das Ergebnis, das entweder 0 (Attribut nicht gesetzt) oder 1 (gesetzt) beträgt.
Um diese Detektivarbeit nicht ständig aufs neue leisten zu müssen, schreiben Sie eine Funktion wie CheckFAttr (Listing in Databox 3/98). An diese übergeben Sie nur den Pfadnamen der Datei sowie eine Visual-Basic-Konstante, die das fragliche Attribut beschreibt. Die in Frage kommenden Konstanten sind schon seit Urzeiten von MS-DOS bekannt:
- vbReadOnly = schreibgeschützt
- vbHidden = versteckt
- vbSystem = System-Attribut
- vbArchive = Archiv-Attribut Um nun mit Hilfe der Funktion festzustellen, ob die fiktive Datei d:\test.txt schreibgeschützt ist, genügt eine Konstruktion, wie wir sie im Listing verwandt haben.

Verfasser: Andreas
Letzte Änderung: 2012-09-11 19:22


Screen-Capture im Eigenbau

Weil ein Foto den Sachverhalt schneller als 1000 Worte erklärt, speichern Sie den Bildschirm als Datei.
Wenn Sie den Bildschirminhalt oder einen Teil davon in ein Bildfeld übertragen, um ihn von dort zu speichern oder anderweitig weiterzuverarbeiten, sind eine Reihe von API-Aufrufen erforder-lich. bmp-ram (Listing 3) kopiert den Bildschirminhalt als Bitmap in den Arbeitsspeicher und über die Zwischenablage in ein Bildfeld. Im wesentlichen geht es darum, den gesamten Bildschirminhalt abzufragen, im Arbeitsspeicher kompatibel abzulegen, dort hineinzukopieren und einen Bezug auf die Bitmap in diesem Speicherbereich an die Zwischenablage zu übertragen. Von dort können Sie den Bildschirminhalt an ein Bildfeld weiter-geben.

Verfasser: Andreas
Letzte Änderung: 2012-09-11 19:23


Skat, Canasta und Co.

Skat, Canasta und Co.
Mit der Systemdatei Cards32.dll können Sie Kartenspiele programmieren.
Windows 98/NT enthält die Datei Cards32.dll (bei Windows 95 Cards.dll), mit der Sie eigene Kartenspiele programmieren können. In dieser Datei stehen die Abbildungen für ein komplettes Kartenspiel von 52 Karten mit verschiedenen Rückseiten. Außerdem enthält sie fünf Funktionen, um die Karten zu verwenden. Drei davon sollten Sie kennen:
cdtInit gibt in den beiden Parametern dx und dy die Kartenbreite und -höhe in Pixeln zurück. Mit diesen Werten positionieren Sie die Karten.
Mit cdtDraw zeichnen Sie eine bestimmte Karte oder Kartenrückseite auf der Form oder PictureBox. Als Argument übergeben Sie hDC das Handle des Ziels. X und Y erhalten die Position der linken oberen Ecke der Karte. Die Indexnummer (iCard) bestimmt, was dargestellt wird. Die iCard-Werte zwischen 0 und 51 kennzeichnen Kartenvorderseiten, Werte von 53 bis 68 die Kartenrückseiten. Der Wert 66 wird nicht benutzt. Wollen Sie eine der Kartenrückseiten anzeigen, übergeben Sie den Wert 1 an den iDraw-Parameter.
Mit cdtTerm beenden Sie die Arbeit der DLL, wobei Sie den Speicher freigeben. Die Kartenwerte sind vorgegeben. Leider stehen die Kartenfarben nicht in der üblichen Reihenfolge. Auf Kreuz (iCard von 0 bis 12) folgen Karo (13 bis 25), Herz (26 bis 38) und dann Pik (39 bis Kreuz 51). Einige Spiele müssen ohne Joker auskommen.

 


Skat, Canasta und Co. (Teil 2)
Mit einer OLE-Schnittstelle nutzen Sie auch unter VB 5 und 6 das Cards-Demoprogramm.
Unser Tipp 50 in Ausgabe 02/01 auf Seite 224 hat eine rege Korrespondenz angeregt. Unter Windows 98 ist nur die Datei Cards.dll vorhanden, die sich nur unter 16-Bit nutzen lässt. Die Cards32.dll steht dagegen nicht zur Verfügung, so dass Sie aus 32-Bit-Anwendungen darauf nicht zugreifen können. Das Cards-Demoprogramm lässt sich deshalb unter VB 5 und 6 nicht verwenden. Abhilfe schafft die OLE-Schnittstelle cards16.exe. Auf öffentliche Prozeduren einer Klasse in einer solchen exe-Datei greifen Sie wie auf eigene Prozeduren zu. Je nachdem, ob auf Ihrem Rechner die 16-Bit-Cards.dll vorhanden ist oder nicht, verwenden Sie eine der zwei vorhandenen Setup-Dateien. Ist Cards.dll nicht installiert, finden Sie sie im Unterverzeichnis ..\DLLSETUP. Dort finden Sie die für die Installation und Anmeldung der Cards16.exe erforderlichen Dateien. Starten Sie dort Setup.Exe. Cards16.exe wird mit allen erforderlichen Zusatzdateien installiert, dazu gehört auch die Cards.dll. Wenn auf Ihrem Rechner Cards.dll vorhanden ist oder Sie das Setup für Cards16.exe durchgeführt haben, gehen Sie ins Verzeichnis ..\32_Demo\EXESetup und starten die dortige Setup-Datei. Mit diesem Setup werden das Demoprogramm 42_Card1.exe und die Cards16.exe, nicht aber die Cards.dll installiert. In beiden Fällen wird die Cards16.dll in Ihrer Registry angemeldet. Ist die Cards16.dll registriert, wird sie in der Liste der Verweise unter Schnittstelle zur 16-Bit-Cards.dll geführt. Sie können jetzt das im Verzeichnis ..\Demo\Democode stehende Beispielprogramm in Ihre 32-Bit von VB 4 bis 6 laden. Fügen Sie danach den Verweis auf die Schnittstelle in Ihr Programm ein. Ersetzen Sie falls erforderlich einen fehlerhaften Verweis. Deklarieren Sie die Variable Crds als Object- Datentyp. Initialisieren Sie die Variable als CardsKlasse. Sie können dann auf die Prozeduren der Cards16.Exe mit dem Präfix Crds.~ wie auf interne Prozeduren Ihres Programms zugreifen. Die Schnittstelle enthält ein Fenster mit Informationen. Dieses öffnen Sie mit Crds.ShowInfo.


Verfasser: Andreas
Letzte Änderung: 2012-09-11 19:23


Soundkarte installiert?


Eine API-Funktion gibt die Antwort auf die Frage nach der Soundkarte oder dem Treiber.
Wie läßt sich feststellen, ob eine Soundkarte oder der Treiber "speaker.drv" installiert wurde? Die API-Funktion waveOutGetNumDevs liefert die Antwort, indem sie die Anzahl der installierten Geräte zurückgibt:
Private Declare Function waveOutGetNumDevs Lib "winmm.dll" Alias "waveOutGet-NumDevs" () As Long
Sub cmdTest_Click ()
Dim SoundCheckAs Long
SoundCheck = waveOutGetNumDevs ()
End Sub
Peter Monadjemi/et

 


Soundkarte installiert?
Die schönste Stimme bleibt stumm, wenn die Klangausgabe scheitert.
Bevor sie starten, sollten Multimedia-Programme und Spiele prüfen, ob auf dem PC eine Soundkarte installiert ist, und gegebenenfalls einen Hinweis ausgeben. Die Abfrage erledigt die API-Funktion waveOutGetNumDevs der Systemdatei winmm.dll, die auch über den API-Katalog zur Verfügung steht. sound-da (Listing 4) zeigt das Verfahren. Ordnen Sie zum Ausprobieren des Beispiels eine Schaltfläche (cmdTest) auf dem Formular an.


Verfasser: Andreas
Letzte Änderung: 2012-09-11 19:24


Speicherplatz korrekt ermitteln

Mit Festplatten oberhalb 2 GByte arbeitet das FileSystem-Objekt nicht mehr korrekt. So merzen Sie den Fehler aus.
Ab Version 6 können Sie auf das File-SystemObjekt zugreifen. Mit dessen Subobjekt Drives verfügen Sie über Space-Eigenschaften, mit denen Sie den Speicherplatz auf dem aktuellen Laufwerk ermitteln. AvailableSpace zeigt den für den User nutzbaren freien Speicherplatz. FreeSpace gibt den insgesamt freien Platz und TotalSize die Gesamtgröße des Datenträgers zurück. Leider haben die Entwickler nicht auf die 2-GByte-Speichergrenze geachtet. Hat Ihr Datenträger eine höhere Kapazität, werden für jeden der Speicherwerte maximal 2 GByte angezeigt. Sie beheben diesen Fehler mit dem Service Pack 3. Abhilfe schafft auch die API-Funktion GetDiskFreeSpaceEx, die in der Systembibliothek Kernel32 enthalten ist. Beachten Sie, dass die alte API-Funktion GetDiskFreeSpace (ohne Ex) bei größeren Speicherwerten fehlerhaft arbeitet.
Declare Function _
GetDiskFreeSpaceEx _
Lib "kernel32" _
Alias "GetDiskFreeSpaceExA" _
(ByVal lpDirectoryName As _
String, _
lpFreeBytesAvailableToCaller _
As Currency, _
lpTotalNumberOfBytes As _
Currency, _
lpTotalNumberOfFreeBytes As _
Currency) As Long

Verfasser: Andreas
Letzte Änderung: 2012-09-11 19:25


SplitString-Funktion

Die Funktion SplitStringParts zerlegt Strings auch vor VB 6.
In VB 1 bis 5 fehlt nicht nur die zuvor beschriebene InstrRev-Funktion. Auch Split stellt erst Version 6 zur Verfügung. Mit dieser Funktion zerlegen Sie eine Zeichenkette in Einzelteile. Als Trenner geben Sie ein Zeichen vor. Wir haben eine Prozedur mit erweiterter Funktionalität geschrieben. Hier können Sie nicht nur ein Trennzeichen vorgeben. Einen String, der unterschiedliche Trenner wie Kommata, Zeilenumbrüche aufweist, zerlegt SplitStringParts in seine Einzelteile. Um aus einer Liste wieder einen String mit einheitlichem Trenner zu bilden, verwenden Sie die Funktion Merge PartsToString.

Verfasser: Andreas
Letzte Änderung: 2012-09-11 19:25


Standarddialog mit Mehrfachwahl

So gewinnen Sie bei Mehrfachwahl die Dateinamen zurück.
Mit dem Standarddialog-Control wählen Sie einen Dateinamen. Auch Mehrfachwahl ist erlaubt. Dazu setzen Sie einen Flag-Wert.
CDia.Flags = _
cdlOFNAllowMultiselect
Aber was gibt der Dialog zurück? Sie erhalten einen String, in dem an erster Stelle der Pfad steht. Dann folgen, jeweils durch ein Leerzeichen getrennt, die Dateinamen:
c:\progsyst\vb4_32 auto32l_.vbp
auto32ld.vbp biblio.ldb
biblio.mdb bright.dib
comctl32.oca ctrlref.cnt
Aus diesem „Bandwurm" müssen Sie die kompletten Namen wieder zusammensetzen. Dazu verwenden Sie folgende Prozedur:
Sub SeparateFileNames( _
Ctrl As Control, _
ByVal Tx As String)
Ctrl.Clear
If LTrim(Tx) = „" Then
Exit Sub
End If
I = InStr(Tx, „ „)
P$ = Left$(Tx, I - 1)
If Right(P$, 1) „\" Then
P$ = P$ + „\"
End If
Do
Tx = Mid(Tx, I + 1)
If Tx = „" Then Exit Do
I = InStr(Tx, „ „)
If I = 0 Then
I = Len(Tx) + 1
End If
Ctrl.AddItem P$ + _
Left(Tx, I - 1)
Loop
End Sub
Ein Beispielprogramm finden Sie auf der Heft-CD unter ...\Cdia\4_Cdia.vbp.

Verfasser: Andreas
Letzte Änderung: 2012-09-11 19:26


Start verhindern

Das automatische Hochfahren des VC-Debuggers ist oft unnötig.
Wenn Sie Visual C installiert haben und ein Programm verursacht einen General Protection Fault, führt dies nicht länger dazu, daß Dr. Watson - oder Windows NT selbst - eine Meldung ausgibt. Statt dessen wird ein Dialog angezeigt, der Ihnen gestattet, das fehlerhafte Programm entweder abzubrechen oder zu debuggen. Wenn Sie sich für die Option Debug entscheiden, wird Visual Studio geladen, und Sie können den Visual-C-Debugger für die Fehlersuche verwenden.
Diesen Mechanismus bezeichnet Microsoft als Just-In-Time-Debugging. Oft ist das JIT-Debugging hilfreich - manchmal aber auch störend, da das Laden von VC ja bekanntlich recht lange dauern kann.
Leider sind die Buttons auf dem JIT-Dialog so angeordnet, daß man immer wieder den Debugger startet - auch dann, wenn man eigentlich nur das fehlerhafte Programm beenden möchte. In diesem Fall können Sie das JIT-Debugging komplett ausschalten: In der Registry unter
HKEY_LOCAL_MACHINE\SOFTWARE\AMicrosoft\Windows NT\ACurrentVersion\AeDebug
finden Sie den Eintrag Auto. Setzen Sie dessen Wert von 1 auf 0, kommt Ihnen der JIT-Dialog nicht länger in die Quere.

Verfasser: Andreas
Letzte Änderung: 2012-09-11 19:26


Starten oder aktivieren?

Für den ökonomischen Umgang mit den Ressourcen prüfen Sie zunächst, ob eine Anwendung nicht bereits läuft, bevor Sie sie erneut starten.
Sie müssen nicht jede Funktion eines Visual-Basic-Programms mit eigenem VB-Code schreiben. Wenn Ihr Anwender rechnen oder seine Audio-CD hören möchte, dann überlassen Sie dies Programmen aus dem Windows-Zubehör. Diese starten Sie mit einer einfachen Shell-Anweisung:
Shell Pathname:="calc.exe",Windowstyle:=vbNormalFocus
Das Pathname-Argument benennt dabei den Pfadnamen der Anwendung (hier den Windows-Rechner calc.exe, der - weil er im Pfad liegt - ohne Verzeichnisangabe auskommt), während Windowstyle über eine vordefinierte Konstante den Fenstermodus (im Beispiel: ein normales Fenster mit Fokus) bestimmt.
Nun ist es aber möglich, daß der Anwender das aufgerufene Programm nicht beendet, sondern es zum Symbol verkleinert oder einfach offen läßt. Der nächste Aufruf der Shell-Anweisung würde dann das Programm ein weiteres Mal starten, was nicht nur Ressourcen verschwendet, sondern bei einer bewußt offen gelassenen Anwendung auch unerwünscht sein kann.
Es empfiehlt sich, zunächst festzustellen, ob das Programm nicht bereits läuft. Die FindWindow-Funktion aus der Windows-API liefert das gewünschte Ergebnis. Dazu müssen ihr entweder der Titeltext des Programmfensters (der allerdings nur bei nicht-dokumentfähigen Tools wie dem Windows-Rechner unverändert bleibt) oder aber der stets eindeutige Klassenname des Programms übergeben werden. Sollte FindWindow fündig werden, dann liefert es das Fenster-Handle des laufenden Programms zurück. Das erlaubt es einer weiteren API-Funktion namens SetForegroundWindow, das Fenster der Anwendung in den Vordergrund zu holen und ihm den Eingabefokus zu geben.
Wird das Programm zum Symbol verkleinert, dann ist zusätzlich noch der Einsatz der ShowWindow-Funktion notwendig, deren zweites Argument die normale Größe (Argumentwert = 9) des Fensters wiederherstellen kann. startakt.bas (Listing in Databox 3/98) demonstriert den Aufbau einer solchen "Starten-oder-aktivieren"-Konstruktion am Beispiel des Windows-Rechners, dessen Klassenname SciCalc und dessen Fenstertiteltext Rechner lautet. Für das jeweils unbenutzte Argument der FindWindow-Funktion setzen Sie den Wert 0& ein, den die in der Windows-API geltenden C-Konventionen als leere Zeichenkette interpretieren.

Verfasser: Andreas
Letzte Änderung: 2012-09-11 19:27


Starten und warten

Die ShellWait-Prozedur startet Anwendungen. Im Unterschied zur Shell-Anweisung wartet sie jedoch, bis die beendete Anwendung ihr Ergebnis geliefert hat.
Das Starten von Anwendungen aus einem Visual-Basic-Programm heraus erfordert oft eine exakte Synchronisation, die der reguläre Shell-Befehl nicht leisten kann. Wenn die gestartete Anwendung beispielsweise ein Ergebnis liefert, das das VB-Programm weiterverarbeiten soll, muß letzteres warten, bis die Applikation fertig ist, bevor es mit seinen eigenen Anweisungen fortfahren kann.
Leider verfügt das VB-Inventar über kein Werkzeug, das das Ende eines laufenden Anwendungsprozesses erkennt. Die Windows-API bietet dagegen gleich mehrere Lösungen, von denen wir eine bereits in Tip 30, Ausgabe 3/98 auf S. 187 vorgestellt haben. Der Einsatz der FindWindow-Funktion darin erfordert allerdings die Kenntnis des Klassennamens der gestarteten Anwendung, den Sie ohne Spionagewerkzeuge @la ClassSpy oder Spy95 nicht herausfinden.
Die ShellWait-Prozedur (Listing in Databox 6/98) verzichtet daher auf den Einsatz von FindWindow. Statt dessen setzt sie auf drei andere API-Funktionen. Diese erfordern zwar deutlich mehr Deklarationsaufwand (insbesondere weil Sie zwei benutzerdefinierte Variablentypen definieren müssen), die völlige Kapselung dieser Funktionen in einer Basic-Prozedur macht das Verfahren aber so einfach wie die Nutzung des Shell-Befehls. Hier die programmiertechnischen Details:
Die CreateProcess-Funktion übergibt die im CmdLine-Argument enthaltene Kommandozeile zur Ausführung an Windows. Die als Parameter übergebene Variable uStart, die auf dem benutzerdefinierten Variablentyp STARTUPINFO basiert, nimmt die Ausführungsdetails des gestarteten Prozesses entgegen, spielt allerdings im konkreten Zusammenhang keine Rolle. Wichtiger ist die Parametervariable uProc, die auf dem benutzerdefinierten Typ PROCESS_ INFORMATION basiert. Sie liefert ein Handle (uProc.hProcess) zurück, das den gestarteten Prozeß eindeutig identifiziert. Mit diesem Handle ausgestattet, heftet sich die API-Funktion WaitForSingleObject an die "Fersen" des Prozesses und gibt die Programmkontrolle erst wieder zurück, wenn der Anwender ihn beendet hat. Die CloseHandle-Funktion gibt das beanspruchte Handle abschließend wieder frei.
Beim Aufruf müssen Sie der ShellWait-Prozedur nur eine Kommandozeile übergeben, die sich aus dem Pfadnamen des zu startenden Programms und eventuellen Startparametern zusammensetzt. So aktiviert das folgende Beispiel den Windows-Editor und lädt die Datei win.ini zur Bearbeitung gleich mit:
Call ShellWait("notepad.exe c:\windows\win.ini")
MsgBox "Prozess beendet."
Die MsgBox-Anweisung wird erst ausgeführt, wenn der Editor wieder geschlossen ist.

Verfasser: Andreas
Letzte Änderung: 2012-09-12 18:50


Startprogramm finden

Dieser Tipp ermittelt die startende exe-Datei für eine Anwendung.
Windows verknüpft bestimmte Dateitypen mit deren Bearbeitungsprogrammen. Dazu verwendet es die Dateiendungen. Welche Dateitypen dafür registriert sind, finden Sie über den Menübefehl Ansicht/Ordneroptionen in einem Ordnerfenster heraus. Auf diesem Wege zum ausführenden Programm zu kommen, ist sehr umständlich. Einfacher geht es mit der in Shell32 stehenden API-Funktion FindExecutable. Diese gibt für eine bestimmte Datei das ausführende Programm zurück. Dazu schreiben Sie eine temporäre Datei. Deren Namen und den durch einen Backslash (\) abgeschlossenen Pfadnamen übergeben Sie als Argumente. Der Rückgabeparameter enthält, getrennt durch ein Chr(0)-Zeichen, den kompletten Dateinamen mit dem Pfad der ausführenden Datei.
Public Function FindStartEXE _
(ByVal Ext As String)
Ext = NurExt(Ext)
Pfad = _
PfadKomplett(Environ("TEMP"))
' Freien Dateinamen suchen
m = 0
Do
Datei = "tmp" & I & Ext
If Len(Dir$(Pfad & Datei)) _
= 0 Then Exit Do
m = m + 1
Loop
' Leere Datei schreiben
Nr = FreeFile
Open (Pfad & Datei) For _
Output As Nr
Close Nr
'
Tx = Space(1024)
FindExecutable Datei, Pfad, Tx
I = InStr(Tx, Chr$(0))
FindStartEXE = Left$(Tx, I - 1)
' Datei löschen
Kill (Pfad + Datei)
End Function

Verfasser: Andreas
Letzte Änderung: 2012-09-12 18:51


Stumme Stimme

Die Fehlerabfrage im Betriebssystem über eine nicht installierte Soundkarte klärt, warum Bilder ohne Ton erscheinen.
Was nützt das schönste VB-Multimedia-Programm, wenn die Lautsprecher stumm bleiben? Sie sollten in diesem Fall prüfen, ob die Soundkarte korrekt installiert ist. Wenn nicht, teilen Sie das
dem User mit. Die Abfrage realisieren Sie mit der API-Funktion waveOut-GetNumDevs() aus der Systemdatei winmm.dll.
Private Sub cmdSound_Click()
lblSound.Caption = "Soundkarte_
da?Antwort:" & HasSound() & "!"
End Sub
Private Function HasSound() _
As Boolean
HasSound = CBool _
(waveOutGetNumDevs)
End Function

Verfasser: Andreas
Letzte Änderung: 2012-09-12 18:51


Symbol-Schaltflächen für den Makrostart

Mit eingerichteten Symbol-Schaltflächen starten Sie Ihre Makros sehr viel leichter. Automatisieren Sie das Verfahren mit VBA-Code. Auch das beste Makro verkümmert in den Tiefen einer Dokuments, wenn es der Anwender immer erst umständlich über den Dialog Extras/Makro starten muß. Wesentlich komfortabler ist da schon der Gebrauch einer Start-Schaltfläche in einer beliebigen Symbolleiste. Das Einrichten sollten Sie allerdings nicht dem Anwender überlassen, denn je weniger er an einem sorgsam eingerichteten System selber einrichten und verändern kann, um so länger arbeitet die Software störungsfrei. Lassen Sie lieber eine automatische Installationsroutine zu Werke gehen. Welche Schritte dazu erforderlich sind, demonstriert das Makro (Listing in Databox 2/98). Es legt eine Schaltfläche für das fiktive Makro CDPlay in der Symbolleiste Makros an. Falls diese nicht existiert, wird sie zuvor erzeugt. Nachdem Sie den Makro- und Symbolleistennamen (Variablen MakroName und SymName) festgelegt haben, durchläuft die Prozedur zunächst alle in der CommandBars-Auflistung enthaltenen Befehlsleisten der Office-Anwendung, um per Namensvergleich zu ermitteln, ob die gewünschte Symbolleiste bereits vorhanden ist. Wenn das nicht der Fall ist: If SymVorhanden = False Then fügt das Makro der CommandBars-Auflistung sie per Add-Methode hinzu. Anschließend machen Sie eine verborgene Symbolleiste per Visible-Methode sichtbar. Die Schaltfläche selbst erzeugt ebenfalls die Add-Methode, allerdings erhält hier die Controls-Auflistung Zuwachs, die alle Funktionselemente einer Befehlsleiste enthält. Sie beschriften die neue Schaltfläche mit dem Makronamen über die Eigenschaft Caption. Die OnAction-Eigenschaft legt den Namen des auszuführenden Makros fest. Die Prozedur funktioniert in der abgedruckten Form in allen Office-97-Anwendungen.

Verfasser: Andreas
Letzte Änderung: 2012-09-12 18:52


Systemparameter aus der Registry lesen

Die Windows-Registrierung enthält wichtige Informationen über das Betriebssystem. Mit der GetRegValue-Funktion aus dem vorigen Tip und einem Visual-Basic-Formular erhalten Sie Zugriff.
Die Registry von Windows 95 ist eine wahre Fundgrube für anwendungsbezogene Daten und solche, die das Betriebssystem selbst betreffen. Für letztere gibt es im Abschnitt HKEY_LOCAL_MACHINE einen besonders ergiebigen Schlüssel:
Software\Microsoft\Windows\CurrentVersion
Hier finden Sie beispielsweise Angaben über die Version des Betriebssystems (Eintrag Version), seine Versionsnummer (VersionNumber) und sogar Unterversionsnummer (SubVersionNumber). Weiter finden sich Infos über die der Produktregistrierung zugrundeliegende Windows-ID (ProductID) sowie den registrierten Nutzer (RegisteredOwner) und dessen Organisation (RegisteredOrganization). Auch die Pfade wichtiger Systemordner - wie CommonFilesDir (Ordner für gemeinsame Dateien), ProgramFilesDir (Ordner für Programmdateien), SystemRoot (Stammverzeichnis von Windows) oder MediaPath (Ordner für Multimedia-Dateien) - sind hier verewigt. Mit der Funktion GetRegValue aus dem vorigen Tip und einem Visual-Basic-Formular kommen Sie problemlos an die genannten Informationen heran.
Öffnen Sie ein neues Projekt. Geben Sie dem Formular den Namen
SysParms, und bestücken Sie es mit jeweils zehn Bezeichnungs- und Texteingabefeldern (behalten Sie die Standardnamen Label1 bis Label10 bzw. Text1 bis Text10 bei). Geben Sie anschließend im Code-Abschnitt des Formulars die in Form_Load (Listing in Databox 6/98)
abgedruckte Routine für das Form_Load-Ereignis ein. Für die GetRegValue-Funktion und die von ihr benötigten API- und Konstanten-Deklarationen fügen Sie dem Projekt ein neues Modul hinzu. Die Form_Load-Routine greift per GetRegValue auf die genannten Schlüsseleinträge zu und ordnet die gelesenen Inhalte den Texteingabefeldern Text1 bis Text10 zu. Den Registrierungsabschnitt legen Sie über die Konstante HKEY_LOCAL_MACHINE fest, die - wie die Konstanten für die übrigen Registrierungsabschnitte, HKEY_ CLASSES_ROOT, HKEY_CURRENT_USER und HKEY_USERS - im Deklarationsteil des GetRegValue-Moduls definiert ist.

Verfasser: Andreas
Letzte Änderung: 2012-09-12 18:53


Systemsteuerungsordner öffnen

So öffnen Sie das Dialogfeld zum Einstellen der Uhrzeit. Wenn Sie dem Anwender während der Programmausführung ein Dialogfeld der Systemsteuerung präsentieren, kann er bestimmte Einstellungen vornehmen. Dazu rufen Sie control.exe auf und übergeben den Namen der cpl-Datei. Folgender Aufruf zeigt das Dialogfeld zum Einstellen der Uhrzeit an: Dim Retval As Long Retval=Shell("Control.exe C:\Windows\System\TimeDate.cpl", vbNormalFocus)

Verfasser: Andreas
Letzte Änderung: 2012-09-12 18:57


Tabulator in Listenfelder

So setzen Sie den Abstand der Tabellenspalten. Die mehrspaltige Ausgabe in einem Listenfeld erhalten Sie, wenn Sie ein Tabulator-Zeichen (vbTab) hinzufügen. Nur können Sie nicht den Abstand der Spalten setzen, zumindest nicht über Eigenschaften. Das Listenfeld benötigt vielmehr eine Aufforderung in Form einer LB_SETTABSSTOPS-Nachricht (Listing in Databox 7/98), die es über die API-Funktion SendMessage erhält. In der Feldvariablen TabFeld tragen Sie die einzelnen Tab-Positionen ein. Windows verwendet hier die Einheit Dialogeinheiten. Der Refresh zeigt den Inhalt des Listenfelds erneut an.

Verfasser: Andreas
Letzte Änderung: 2012-09-12 18:57


Temporäre Dateinamen anfordern

Eine VB-Funktion liefert den Pfadnamen zum Anlegen einer temporären Datei. Für das vorübergehende Speichern von Programmdaten, die nur zur Laufzeit von Bedeutung sind, stellen temporäre Dateien ein nützliches Hilfsmittel dar. Um den Pfadnamen einer solchen Datei zu bilden, muß man zunächst den Pfad des temp-Verzeichnisses kennen. Anschließend gilt es, einen unbenutzten Dateinamen zu finden. Die benutzerdefinierte VB-Funktion GetTmpName (Listing in Databox 12/98) erledigt beide Aufgaben in einem Durchgang. Sie liefert einen vollständigen Pfadnamen zurück, der sich aus dem Pfad des temp-Verzeichnisses sowie einem von Windows ermittelten temporären Dateinamen zusammensetzt. Der Dateiname besteht aus einem maximal dreistelligen Präfix, das der Entwickler im sFilePrefix-Argument vorgibt (etwa $VB), einer vierstelligen, zufällig gebildeten Hexadezimalzahl (etwa B2C5) sowie der Endung .tmp. Sofern das temp-Verzeichnis im Ordner c:\windows\temp liegt, zeigt die Beispielanweisung MsgBox GetTmpName("$$$") einen Pfadnamen wie c:\windows\temp\ $$$b2c5.tmp an. Den Dateinamen liefert die API-Funktion GetTempFileName, die als Argument unter anderem den Namen eines beliebigen Heimatverzeichnisses für die künftige Temporärdatei erwartet. GetTmpName setzt hier den Namen des temp-Verzeichnisses ein (sTmpPath), der zuvor von der API-Funktion GetTempPath ermittelt wurde. Sie erhalten den Namen des temp-Verzeichnisses auch durch eine Abfrage der Environment-Variablen temp (oder tmp): sTmpPath = Environ("TEMP") Allerdings liefert diese Methode nicht auf allen Rechnern korrekte Ergebnisse.

Verfasser: Andreas
Letzte Änderung: 2012-09-12 18:58


Text ausrichten

Text richten Sie in einer Schaltfläche nach allen Seiten aus. Seit Windows 95 besitzen Schaltflächen (genauer gesagt: "Fenster") zusätzliche "Stylebits", die das Aussehen beeinflussen. Seit Visual Basic 5 können Sie die meisten dieser Style-bits über Eigenschaften einstellen. Eine Sache, die offenbar vergessen wurde, ist die Textausrichtung bei Schaltflächen. Möchten Sie den Text einer Schaltfläche nicht zentriert, sondern links- oder rechtsbündig, oben oder unten anordnen, ändern Sie das zuständige Stylebit lediglich über die API-Funktion SetWindowLong (Listing in Databox 7/97). Peter Monadjemi/et

Verfasser: Andreas
Letzte Änderung: 2012-09-12 18:59


TextBoxrechts setzen

Texte in der TextBoxam rechten Rand formatiert auszugeben, ist bei der Zahlenansicht wichtig.
Wenn Sie eine Liste von Zahlen lesen wollen, sind Sie eine Ausrichtung an der rechten Kante gewöhnt. Insbesondere für Zahlendarstellungen ist das interessant. Aber die TextBox sträubt sich dagegen. Sie besitzt zwar die Alignment-Eigenschaft, aber die ist bei einzeiligen TextBox-Controls unwirksam. Jede Einstellung außer Alignment = 0 wird ignoriert. Wollen Sie, daß Alignment wirksam wird, setzen Sie MultiLine = True. Dann haben Sie jedoch ein Problem: Betätigen Sie die [Enter]-Taste, verschwinden die Zeilen nach oben. Dies läßt sich ver-hindern: Immer wenn die [Enter]-Taste gedrückt wird, schalten Sie den Zeilenvorschub aus. Eine Zeile in der KeyPress-Ereignisprozedur reicht für diese Aufgabe aus.
Sub Text1_KeyPress(KeyAscii As _
Integer)
If KeyAscii=13 Then KeyAscii= 0
End If

Verfasser: Andreas
Letzte Änderung: 2012-09-12 18:59


Texte mit dem XOR-Operator verschlüsseln

Eine kompakte VB-Funktion verschlüsselt Texte mit einem Kennwort und entschlüsselt sie wieder.
Es gibt eine Fülle von Verschlüsselungverfahren, die Textinhalte vor unbefugter Einsichtnahme schützen. Sie alle basieren auf dem gleichen Grundprinzip, nach dem die Zeichencodes des Originaltextes über einen komplexen Algorithmus mit den Zeichencodes eines Kennworts (Schlüssels) verknüpft werden, so daß im Ergebnis ein völlig anderer Text entsteht. VB-Entwickler realisieren ihr eigenes Verschlüsselungsverfahren, das wenig Programmierarbeit erfordert und dennoch nur mit erheblichem Aufwand zu knacken ist.
Die Hauptarbeit darin leistet der XOR-Operator, der die Zeichencodes auf Bitebene miteinander verknüpft. Lauten die Codes der beiden Zeichen beispielsweise 65 und 122, heißt das Verknüpfungsergebnis 59: Aus den zugehörigen Zeichen A des Originaltextes und Z des Schlüsseltextes wird also im Ergebnis ein Semikolon. Besonders vorteilhaft ist, daß die XOR-Verknüpfung auch in der umgekehrten Richtung - also für das
Entschlüsseln - funktioniert: 59 XOR 122 ergibt 65.
Wie kompakt eine Ver- und Entschlüsselungsroutine auf der Basis des XOR-Operators sein kann, zeigt die CrypText-Funktion (Listing in Databox 6/98). In ihrer For-Next-Schleife greift sie der Reihe nach auf jedes einzelne Zeichen des im Text-Argument übergebenen Originaltextes zu, ermittelt dessen Zeichencode (ASC-Funktion) und speichert ihn in der Variablen iTxtAsc. Dann errechnet die Funktion die Position des jeweils nächsten Zeichens des Schlüsseltextes (Password-Argument), das mit dem jeweiligen Originaltextzeichen verknüpft werden soll, und speichert das Ergebnis in der Variablen iPwdCharNr.
Der Mod-Operator läßt den Schlüsseltext permanent durchlaufen - das heißt, nach dem letzten Zeichen wird automatisch wieder das erste Zeichen verwendet. Der nächste Einsatz der ASC-Funktion ermittelt den Zeichencode des Zeichens, das an der errechneten Position des Schlüsseltextes steht.
Nun werden die beiden Zeichencodes per XOR-Operation verknüpft
und das Ergebnis, also der resultierende Zeichencode, in iNewAsc gespeichert. Die letzte Anweisung innerhalb der Schleife hängt die den errechneten Zeichencodes entsprechenden Zeichen an die Variable sTmpText an, in der der verschlüsselte Text entsteht. Seinen Funktionswert erhält CrypText dann durch die Zuweisung der sTmpText-Variablen.
Sie verwenden CrypText wie jede andere VB-Funktion, die eine Zeichenkette als Ergebnis liefert. Die folgende Codezeile verschlüsselt beispielsweise den Inhalt des Textfeldes Text1 mit dem Schlüsseltext SicherIstSicher und weist das Ergebnis dem Textfeld Text2 zu:
Text2.Text=CrypText(Text1.Text, "SicherIstSicher")
Zum Entschlüsseln übergeben Sie den Inhalt von Text2 mit dem exakt gleichen Schlüsseltext mit identischer Groß-/Kleinschreibung an die CrypText-Funktion und weisen das Ergebnis einem dritten Textfeld zu:
Text3.Text=CrypText(Text2.Text, "SicherIstSicher")
Da der verschlüsselte Text auch Steuerzeichen wie Zeilenschaltungen oder Tabulatoren enthalten kann, ist damit zu rechnen, daß er anders aussieht als das Original. Unangenehm ist es, wenn er ein Nullbyte (Zeichencode 0) enthält, weil Windows dann den Rest der Zeichenkette bei der Darstellung in Textfeldern einfach abschneidet. Wenn Sie auf die Anzeige des verschlüsselten Textes für die Programmausführung nicht verzichten wollen, sollten Sie die CrypText-Routine so erweitern, daß sie ausschließlich darstellbare Zeichen mit Codes über einen Wert von 31 produziert.

Verfasser: Andreas
Letzte Änderung: 2012-09-12 19:00


tmp-Dateien per API

Sicherungen in tmp-Dateien können bei einem Systemabsturz Daten retten. Legen Sie daher tmp-Dateien an. Viele Applikationen verwenden temporäre Dateien, um Änderungen an geöffneten Dateien zwischenzuspeichern. Diese Technik können Sie auch in Ihren eigenen VB-Anwendungen mit der API-Funktion GetTempFileName() nutzen. Diese deklarieren Sie folgendermaßen: Private Declare Function _ GetTempFileName Lib "kernel32"_ Alias "GetTempFileNameA" _ (ByVal lpszPath As String, _ ByVal lpPrefixString As String,_ ByVal wUnique As Long, _ ByVal lpTempFileName As String)_ As Long Den vollen Pfadnamen übergeben Sie im lpszPath-Argument. Das lpPrefixString-Argument erlaubt es, den Beginn des Dateinamens mit einem Präfix aus drei Buchstaben zu versehen. Sie setzen wUnique auf den Wert 0, um Windows zu veranlassen und einen Zufalls-Dat-einamen anzulegen. Das Argument lp-TempFileName liefert den neuen tem-porären Dateinamen zurück. Private Sub cmdTemp_Click() Dim strPrefix As String Dim lngUnique As Long Dim strTempFileName As String Dim lngRes As Long ' strPrefix = "VB_" lngUnique = 0 strTempFileName = Space$(100) lngRes = GetTempFileName _ (tbxTemp.Text, strPrefix, _ lngUnique, strTempFileName) tbxTemp.Text = strTempFileName End Sub

Verfasser: Andreas
Letzte Änderung: 2012-09-12 19:02


Tooltips für Steuerelemente

Wenn der Mauszeiger über ein Element wandert, erscheint ein Infotext. Seit Visual Basic 5 besitzen alle "fest eingebauten" Steuerelemente eine Tooltip-Text-Eigenschaft. Den Text sehen Sie, wenn sich der Mauszeiger über das Steuerelement bewegt: txtEingabe.Tooltiptext ="Zahl zwischen 1-9 eingeben" Die Hintergrundfarbe der Tooltip-Box stellen Sie über die Systemsteuerung ein.

Verfasser: Andreas
Letzte Änderung: 2012-09-12 19:06


Treffsicher dank Fadenkreuz

In einem Computer-Kampfspiel verbessert ein Fadenkreuz-Cursor die Zielgenauigkeit.
Wollen Sie Ihr eigenes Moorhuhn-Spiel oder ein anderes Ballerspiel mit VB schreiben? Dann brauchen Sie ein Fadenkreuz, das sich auf dem Hintergrund bewegt. Wie Sie es zeichnen, zeigt die Prozedur FadenKreuz. Wichtig ist, dass Sie die ScaleMode-Eigenschaft im Entwurfsmodus auf den Wert vbPixel setzen. Das Beispielprogramm kritzelt breite Farblinien, wenn Sie das Fadenkreuz mit der linken Maustaste bewegen. Bei jedem neuen MouseDown wechselt die Zeichenfarbe. Mit der rechten Maustaste bewegen Sie das Fadenkreuz, ohne Farblinien zu ziehen. Ein Doppelklick auf die Form löscht die Linien.

Verfasser: Andreas
Letzte Änderung: 2012-09-12 19:07


Über kurz oder lang...

So arbeiten Sie mit der MS-DOS-Namenskonvention (8+3 Zeichen). Sie benötigen eine Referenz auf den kurzen, MS-DOS-konformen Namen einer Datei (8+3 Zeichen)? Wenn Sie sich den Weg über die Windows-API (Application Programming Interface) ersparen wollen, verwenden Sie die ShortPath-Eigenschaft. Diese stellt die Scripting-Runtime-Bibliothek für das File- und Folder-Objekt bereit. Private Sub _ cmdShortName_Click() Dim fsoFile As File Dim fso As FileSystemObject ' Set fso = New FileSystemObject Set fsoFile = fso.GetFile(tbxLongName.Text) tbxShortName.Text = fsoFile.ShortName Set fsoFile = Nothing Set fso = Nothing End Sub

Verfasser: Andreas
Letzte Änderung: 2012-09-12 19:08


Überschreibmodus in einem Textfeld

Ein Textfeld zu überschreiben, erfordert einen kleinen Trick. Wieso auch immer: das Textfeld besitzt keinen Überschreibmodus. Jede Eingabe bewirkt vielmehr, daß sich der bereits vorhandene Text nach links verschiebt. Folgende Anweisungen simulieren den Überschreibmodus: Private Sub txtEingabe_ A KeyPress(KeyAscii As Integer) If Überschreibmodus = True Then If KeyAscii >= 32 Then txtEingabe.SelLength = 1 End If End If End Sub Peter Monadjemi/et

Verfasser: Andreas
Letzte Änderung: 2012-09-12 19:08


Undo bei Textfeldern

Mit einem kleinen Trick nutzen Sie die Undo-Funktion. Die Undo-Funktion dient dazu, die letzte Änderung im Textfeld rückgängig zu machen. Leider wird sie nicht "freigeschaltet". Um sie dennoch nutzen zu können, verschicken Sie die Undo-Aufforderung mit der API-Funktion SendMessage: Const EM_UNDO = &HC7 Private Sub cmdUndo_Click () Dim RetVal As Long RetVal = SendMessage(txtEingabe.hWnd, EM_UNDO, 0, 0&) End Sub Schicken Sie dem Textfeld txtEingabe zuvor die Botschaft EM_CANUNDO (Wert: &HC6), so erhalten Sie den Wert 0 zurück, wenn die Rückgabe unmöglich ist.

Verfasser: Andreas
Letzte Änderung: 2012-09-12 19:09


Universalgenie SendMessage

Erweitern Sie die Text-Controls ( TextBoxund RTF-Box) durch eigene Textroutinen. Die API-Funktion SendMessage enthält viele Problemlösungen, die Sie für die Text-Controls nutzen. Im Listing finden Sie die 32-Bit-Deklarationszeile und mehrere API-Konstanten. Private Declare Function _ SendMessage _ Lib „user32" Alias _ „SendMessageA" _ (ByVal hWnd As Long, _ ByVal wMsg As Long, _ ByVal wParam As Long, _ lParam As Long) As Long Const EM_GETLINECOUNT = &HBA Const EM_LINELENGTH = &HC1 Const EM_LINEINDEX = &HBB Const EM_LINEFROMCHAR = &HC9 Const EM_GETLINE = &HC4 Const EM_GETFIRSTVISIBLELINE _ = &HCE Const EM_CANUNDO = &HC6 Const EM_UNDO = &HC7 Const EM_EMPTYUNDOBUFFER _ = &HCD SendMessage schafft eine Undo-Redo-Funktion für Text-Controls. Die Undo-Prozedur stellt den Zustand vor der letzten Änderung wieder her. Rufen Sie diese Prozedur nochmals auf, um den aktuellen Zustand zu rekonstruieren. Die Zeilenzahl ermittelt eine Codezeile. Die Prozedur gibt die aktuelle Zeilenzahl im TextBox-Control auch Leerzeilen zurück. Function LineCount(Ctrl As Control) LC = SendMessage(Ctrl.hWnd, _ EM_GETLINECOUNT, 0, 0) LineCount = LC End Function Die Prozedur LineLength gibt Ihnen die Länge der übergebenen Zeile zurück. Als Argumente verwenden Sie die Text-Box und den Zeilenindex (von 0 beginnend) der Zeile. Function LineLength _ (Ctrl As Control, Nr) LineChar% = _ LineStart(Ctrl, Nr) LL = SendMessage _ (Ctrl.hWnd, _ EM_LINELENGTH, _ LineChar%, 0) LineLength = LL End Function LineIndex ist die Zeilennummer der übergebenen Zeile. Die Zählung beginnt mit 0 für die erste Zeile. Function LineIndex (Ctrl As Control, ZeichenPos) LineIndex=SendMessage (Ctrl.hWnd, _ EM_LINEFROMCHAR, ZeichenPos, 0&) End Function LineStart ist die Position des ersten Zeichens der durch ihren Index gekennzeichneten Zeile. Function LineStart (Ctrl As Control, Nr) LineStart = SendMessage (Ctrl.hWnd, _ EM_LINEINDEX, Nr, 0&) End Function Das 16- und das 32-Bit-Beispielprogramm sowie weitere Tipps finden Sie auf der Heft-CD unter ...\Textbox\4_txlin.vbp.

Verfasser: Andreas
Letzte Änderung: 2012-09-12 19:09


Universelles Auswahldialogfeld

In einem vielseitig verwendbaren Listendialogfeld steuern Sie Auswahlabfragen bequem mit Makros.
Mit Listendialogfeldern gelingt es, auf komfortable Weise ein bestimmtes Element auszuwählen, seien es nun Schriftarten, Anschriften oder Formeln. Im folgenden entwickeln Sie mit VBA ein solches Listendialogfeld, das sich mit wenig Aufwand aus jedem Makro heraus aufrufen läßt.
Zunächst starten Sie den Visual Basic Editor aus der gewünschten Office-Anwendung heraus mit [Alt-F11]. Markieren Sie im Projektfenster das VBA-Projekt, in dem der Dialog zum Einsatz kommen soll, und wählen Sie Einfügen/Userform. Ändern Sie die Name-Eigenschaft des neuen Dialogs im Eigenschaftenfenster von UserForm1 in frmStdListbox. Wählen Sie das Listenfeld-Werkzeug, und zeichnen Sie damit ein Listenfeld auf das Dialogfeld, das annähernd dessen gesamte Höhe und drei Viertel der Breite bedeckt. Ändern Sie dessen Standardnamen in LstListenfeld um. Zeichnen Sie nun noch zwei Befehlsschaltflächen auf den rechten Rand des Dialogfelds. Ändern Sie deren Eigenschaften wie folgt:
(Name) = "cmdOK"
Caption = "OK"
Default = True
(Name) = "cmdCancel"
Cancel = True
Caption = "Abbrechen"
Klicken Sie auf die Schaltfläche Code anzeigen im Projektfenster, und geben Sie die abgedruckten Ereignisroutinen ein (Listing in Databox 2/98), mit denen das Dialogfeld auf das Anklicken eines Listenelements (Routine lstListenfeld_DblClick) oder die Auswahl einer Befehlsschaltfläche (cmdOK_Click) bzw. (cmdCancel_ Click) reagiert. Speichern Sie das Projekt mit Datei/Speichern.

Verfasser: Andreas
Letzte Änderung: 2012-09-12 19:10


Unsichtbare Arbeitsblätter

Mit dem Auswahldialog und einem kurzen VBA-Makro können Sie Excel-Arbeitsblätter verstecken und wieder sichtbar machen. Sie müssen nicht gleich die gesamte Excel-Arbeitsmappe per Menübefehl ausblenden, um ein einziges Arbeitsblatt vor neugierigen Blicken zu schützen. Mit einem VBA-Makro können Sie jedes Arbeitsblatt ausblenden, so daß es unsichtbar wird und nur noch per Makroanweisung wieder zum Vorschein kommt. Das Makro (Listing in Databox 2/98) demonstriert zugleich auch die Einbindung des "selbstgebauten" Listenfelddialogs, dem es die Auswahl des zu versteckenden bzw. anzuzeigenden Arbeitsblatts überläßt. Damit die Kooperation funktioniert, muß das Makro in derselben Projektdatei untergebracht sein wie das Dialogfeld. Gleich nach der Deklaration der notwendigen Variablen setzt das Makro den Fenstertitel (Caption-Eigenschaft) des Auswahldialogs frmStdListbox auf Arbeitsblatt anzeigen/verbergen fest. Innerhalb der For-Each-Next-Schleife wird das Listenfeld lstListenfeld per AddItem-Methode mit den in der Sheets-Auflistung enthaltenen Arbeitsblattnamen der aktuellen Arbeitsmappe gefüllt. Per ListIndex-Eigenschaft wird das erste Element des Listenfelds mit der Indexnummer 0 vormarkiert, ehe die Show-Methode den Dialog anzeigt. Mit welcher Befehlsschaltfläche der Anwender die Dialogausführung beendet, erfährt das Makro über die öffentliche DlgCancel-Variable. Wenn diese den Wert False besitzt, wurde der Dialog per OK-Schaltfläche geschlossen. Durch das Auslesen der ListIndex-Eigenschaft des Listenfelds ermittelt das Makro die Indexnummer des ausgewählten Listenelements und damit zugleich auch die Nummer des Arbeitsblatts. Die If-Then-Konstruktion überprüft nun durch Abfrage der Visible-Eigenschaft, ob das gewählte Blatt derzeit angezeigt wird oder nicht. Falls es sichtbar ist, wird es durch Setzen der Visible-Eigenschaft auf xlVeryHidden unsichtbar gemacht; anderenfalls kommt es nach dem Einstellen der Visible-Eigenschaft auf True wieder zum Vorschein. Wenn Sie das Versteckmakro und das zugehörige Dialogfeld auch in anderen Arbeitsmappen einsetzen möchten, dann kopieren Sie die Arbeitsmappendatei in den XLSTART-Ordner des Office-Verzeichnisses.

Verfasser: Andreas
Letzte Änderung: 2012-09-12 19:10


Unsichtbare Listbox-Infos

So zeigen Sie in einer Listbox die Werte an, die sich auf das Wichtigste beschränken. Sie wollen die Namen von Mitarbeitern speichern und in einer Listbox anzeigen. Die dazugehörige Identifikationsnummer soll aber nur mit besonderer Legitimation einzusehen sein. Die beschriebene Funktionalität lässt sich elegant mit der ItemData-Eigenschaft ausführen. Wie Sie diese einbinden, zeigen folgende Zeilen: Private Sub Form_Load() 'Listbox füllen With lstStore .AddItem "Gerhard Frey" .ItemData(.NewIndex) = 44332 .AddItem "Diethelm Ritsch" .ItemData(.NewIndex) = 88664 .AddItem "Marliese Wagner" .ItemData(.NewIndex) = 22332 .AddItem "Erhard Thomas" .ItemData(.NewIndex) = 88732 End With End Sub Private Sub cmdStore_Click() With lstStore If .ListIndex=-1 Then Exit Sub lblStore.Caption = .ItemData _ (.ListIndex) & " _ " & .List(.ListIndex) End With End Sub

Verfasser: Andreas
Letzte Änderung: 2012-09-12 19:11


VB am Windows-Haken

So ersetzen Sie mit CallBackund SubClassing Windows-Prozeduren durch eigene. Ab der Version 5.0 verfügen Sie in Visual Basic über den AddressOf-Operator. Damit können Sie einen Zeiger (Pointer) auf eine eigene VB-Routine an eine Windows-API-Funktion übergeben. So kann die API-Funktion ihre Daten an die VB-Routine schicken, die diese Daten auswertet. Das Verfahren heißt CallBack, wie der kommende Quelltext zeigt. Das CallBack-Verfahren erweitert Windows-Standard-Prozeduren, wobei das sogenannte SubClassing-Verfahren diese Prozeduren durch eigene ersetzt. Die SetTimer- und KillTimer-Funktionen deklarieren Sie folgendermaßen: Private Declare Function _ SetTimer Lib "user32" _ (ByVal hwnd As Long, _ ByVal nIDEvent As Long, _ ByVal uElapse As Long, _ ByVal lpTimetFunc As Long) _ As Long Private Declare Function _ KillTimer Lib "user32" _ (ByVal hwnd As Long, _ ByVal nIDEvent As Long) As Long Bei der folgenden einfachen Version des CallBack-Verfahrens hängt sich die TimerFunc-Prozedur in die SetTimer-Funktion der Windows-API ein und ändert alle 1,5 Sekunden die Hintergrundfarbe eines VB-Controls: Public timerID& Private Sub cmdCB_Click() If cmdCB.Caption="CallBack" Then 'hook TimerFunc timerID = SetTimer(hwnd, _ 12345,1500, AddressOf TimerFunc) cmdCB.Caption = "Stopp" Else If timerID 0 Then KillTimer_ hwnd, 12345 timerID = 0 cmdCB.Caption = "CallBack" End If End Sub Public Sub TimerFunc(wndID&, _ msg&, eventID&, systime&) frmVBTipps.lblCB.BackColor = _ Rnd * 256 ^ 3 End Sub

Verfasser: Andreas
Letzte Änderung: 2012-09-12 19:11


VB im Jahr 2000

Mit einigen Randbemerkungen bringt Sie VB gut ins nächste Jahrtausend.
Prinzipiell ist Visual Basic auf das Jahr 2000 vorbereitet, denn der Datumstyp Date speichert das Jahr vierstellig. Probleme kann es nur geben, wenn der Benutzer bloß die letzten beiden Jahreszahlen eingibt. Hier unterscheiden sich die 16- und die 32-Bit-Version von Visual Basic. Während die 16-Bit-Version automatisch das Jahrhundert 1900 annimmt (aus dem 25.10.01 wird der 25.10.1901), hängt es bei der 32-Bit-Version von der Jahreszahl ab. Jahreszahlen kleiner 30 werden 2000, Jahreszahlen größer 30 werden 1900 zugeordnet. Da diese Logik in der OLE-Bibliothek enthalten ist, muß bei Windows NT 3.51 das Service Pack 4 installiert sein. Natürlich kann jeder Programmierer die Datumseingabe nach eigenen Regeln auswerten. Dies ist nur der Default für den Fall, daß das Jahrhundert nicht zur Verfügung steht.
Peter Monadjemi/et

Verfasser: Andreas
Letzte Änderung: 2012-09-12 19:12


VB-Anwendung sichern

Sichern Sie Ihre Anwendung dadurch, daß Sie nicht umzuschalten ist. Möchten Sie verhindern, daß ein Anwender beim Arbeiten auf eine andere Anwendung umschaltet, stellen Sie das Hauptfenster über die WindowState-Eigenschaft auf maximale Größe ein. Schalten Sie über die System ParametersInfo-API-Funktion die Tastenkombinationen [Strg-Alt-Entf], [Strg-Esc] und [Alt-Tab] vorübergehend ab:
Option Explicit
Private Declare Function _ SystemParametersInfo Lib _ "user32" Alias _ "SystemParametersInfoA" _ (ByVal uAction As Long, _ ByVal uParam As Long, ByVal _ lpvParam As Long, ByVal _ fuWinIni As Long) As Long
Private Sub cmdDisable_Click()
SystemParametersInfo (97)
True,1,0
End Sub
Private Sub cmdEnable_Click()
SystemParametersInfo (97)_ False,1,0
End Sub s

Verfasser: Andreas
Letzte Änderung: 2012-09-12 19:19


VB-Version ermitteln

Wenn Sie die Version wissen wollen, unter der ein Programm geschrieben wurde, finden Sie im Make-File die Antwort. Wenn Sie VB-Programmcode von anderen Programmierern erhalten, wissen Sie oft nicht, unter welcher VB-Version das Projekt entwickelt wurde. Wenn Sie selbst Programme unter verschiedenen VB-Versionen geschrieben haben, taucht die gleiche Schwierigkeit auf: Wie stellen Sie die VB-Version fest? Diese Aufgabe löst die hier gezeigte Prozedur. Übergeben Sie ihr als Argument den Dateinamen mit Pfad. Der Rückgabewert ist die jeweilige VB-Versionsnummer. Dazu wird die Projektbeschreibungsdatei auf bestimmte Texte geprüft. Das Beispielprogramm können Sie zu einem Projektkopierer ausbauen. Public Function VBVersion(D$) Nr = FreeFile Lg& = FileLen(D$) Tx$ = Space(Lg&) Open D$ For Binary As Nr Get #Nr, , Tx$ Close Nr Select Case True Case InStr(Tx$, "Retained=") > 0 VBVersion = 6 Case InStr(Tx$, "Unattended=") > 0 VBVersion = 5 Case InStr(Tx$, "StartMode=") > 0 VBVersion = 4 Case Else VBVersion = 3 End Select End Function

Verfasser: Andreas
Letzte Änderung: 2012-09-12 19:23


Verbesserte Readme-Info

So bringen Sie den Benutzer dazu, die Gebrauchsanleitung zu Ihrem Programm zu studieren. Wer ein Programm anwendet, sollte zuerst soweit vorhanden die zugehörige readme.txt-Datei durchlesen. Doch es ist oft beschwerlich, lange Texte zu lesen. Übersichtlicher ist es, Texte in Aufzählungen zu gliedern. Doch der Benutzer muss suchen, wenn er einen bestimmten Abschnitt wieder finden will. Diese Arbeit nehmen Sie ihm mit der Prozedur Findentry ab. Um eine Stelle zu finden, müssen Sie den Text mit einem zusätzlichen Strukturmerkmal der Suchwörter (Großund Kleinschreibung werden nicht unterschieden) kennzeichnen. Diese Suchwörter rahmen Sie beim Stichwort mit je einem Doppelpfeil ein. Den einleitenden Doppelpfeil geben Sie über den numerischen Tastaturblock über [Alt-174] ein, den schließenden mit [Alt-175]. Ein Suchwort kann an beliebiger Stelle im Text stehen. Um diese Schlüsselwörter besser zu unterscheiden, sollten sie aus mehreren Wörtern bestehen. Klickt der Anwender ein Suchwort an, sucht das Programm im Text zuerst nach dem Wort, dem direkt ein Zeilenumbruch folgt. Das trifft für Überschriften zu. An dieser Stelle zeigt das Programm den Text. Fehlt im Text das gekennzeichnet Stichwort, entfällt eine Aktion. Um zum Textanfang zurückzuspringen, genügt es, die Marken für Suchwörter vor und hinter dem Wort am Textanfang anzubringen. Dann springt Ihre Textmarke zurück zum Textanfang.

Verfasser: Andreas
Letzte Änderung: 2012-09-12 19:27


Verweise und Komponenten einbinden

Um auf Funktionen zugreifen zu können, binden Sie verfügbare Verweise und Komponenten in das VB-Projekt ein. Um einen neuen Verweis auf eine Bibliothek in Ihr VB-Projekt einzufügen, öffnen Sie Projekt/Verweise.... Dort aktivieren Sie die Bibliothek mit einem Häkchen in der zugehörigen Checkbox und klicken auf OK. Eine neue Komponente, etwa das WebBrowserControl, fügen Sie so in die Werkzeugleiste ein: Sie öffnen Projekt/ Komponenten... und setzen ein Häkchen in der zugehörigen Checkbox. Bestätigen Sie mit Übernehmen/OK. Nun können Sie das Control vom Tool-Panel auf Ihr Formular ziehen.

Verfasser: Andreas
Letzte Änderung: 2012-09-12 19:30


Verzeichnis oder Datei?

Beim Einlesen von Directory-Einträgen stellt sich oft die Frage, ob es sich um eine Datei oder ein Verzeichnis handelt. Viele VB-Programme enthalten rekursive Funktionen zum Auslesen der Inhaltsverzeichnisse von Datenträgern. Die Dir-Funktion verwirklicht eine solche Prozedur ohne große Probleme. Schwieriger ist die häufig notwendige Trennung von Dateien und Verzeichnissen, für die in der Regel besondere Behandlungsroutinen vorgesehen sind. Dafür eignet sich die IsDir-Funktion (Listing in Databox 3/98). Sie ermittelt zunächst den Attributwert des als Item-Argument übergebenen Directory-Eintrags mit Hilfe der VB-Funktion GetAttr. Anschließend ermittelt eine AND-Verknüpfung mit der VB-Konstanten vbDirectory, ob das Verzeichnisattribut des Eintrags gesetzt ist und ob es sich demnach um einen Ordner handelt. Wenn das zutrifft, liefert IsDir den Wert True an den Aufrufer zurück. Im anderen Fall handelt es sich um eine Datei, und IsDir gibt als Funktionswert False zurück. Folglich unterscheidet eine einfache If-Then-Abfrage, ob ein Verzeichnis oder eine Datei vorliegt: If IsDir("c:\xyz.123") = True Then 'Eintrag ist Ordner Anweisung 1 Anweisung 2 ... Else 'Eintrag ist Datei Anweisung 1 Anweisung 2 ... End If Die Funktion prüft übrigens auch, ob ein Verzeichnis existiert.

Verfasser: Andreas
Letzte Änderung: 2012-09-12 19:32


Verzeichnis oder Datei?

Verzeichnis oder Datei?
Beim Einlesen von Directory-Einträgen stellt sich oft die Frage, ob es sich um eine Datei oder ein Verzeichnis handelt.
Viele VB-Programme enthalten rekursive Funktionen zum Auslesen der Inhaltsverzeichnisse von Datenträgern. Die Dir-Funktion verwirklicht eine solche Prozedur ohne große Probleme. Schwieriger ist die häufig notwendige Trennung von Dateien und Verzeichnissen, für die in der Regel besondere Behandlungsroutinen vorgesehen sind.
Dafür eignet sich die IsDir-Funktion (Listing in Databox 3/98). Sie ermittelt zunächst den Attributwert des als Item-Argument übergebenen Directory-Eintrags mit Hilfe der VB-Funktion GetAttr. Anschließend ermittelt eine AND-Verknüpfung mit der VB-Konstanten vbDirectory, ob das Verzeichnisattribut des Eintrags gesetzt ist und ob es sich demnach um einen Ordner handelt. Wenn das zutrifft, liefert IsDir den Wert True an den Aufrufer zurück. Im anderen Fall handelt es sich um eine Datei, und IsDir gibt als Funktionswert False zurück. Folglich unterscheidet eine einfache If-Then-Abfrage, ob ein Verzeichnis oder eine Datei vorliegt:
If IsDir("c:\xyz.123") = True Then
'Eintrag ist Ordner
Anweisung 1
Anweisung 2
...
Else
'Eintrag ist Datei
Anweisung 1
Anweisung 2
...
End If
Die Funktion prüft übrigens auch, ob ein Verzeichnis existiert.

Verfasser: Andreas
Letzte Änderung: 2012-09-12 19:39


Verzeichnis wechseln

Mit diesem Tipp sparen Sie einen Mausklick beim Verzeichniswechsel.
Unter VB nutzen Sie in der Regel die Kombination von DriveListBox und Dir-ListBox mit einer FileListBox, um in Verzeichnissen zu suchen. Normalerweise müssen Sie zum Verzeichniswechsel eine Zeile der DirListBox doppelt anklicken. Das geht mit einem einfachen Klick, wenn Sie folgenden Code einfügen:
Private Sub Dir1_MouseDown(...)
Dir1.Path = Dir1.List_
(Dir1.ListIndex)
End Sub
Die Codezeile darf nicht in der Click-Prozedur stehen. Ein Tastendruck auf eine Pfeil-Taste löst die Click-Meldung ebenfalls aus. Sie könnten deshalb nur noch in die ersten Verzeichnisebenen gelangen.

Verfasser: Andreas
Letzte Änderung: 2012-09-12 19:40


Verzeichnis(se) anlegen

Im Unterschied zum MkDir-Befehl legt die benutzerdefinierte MakeDir-Funktion auch dann einen neuen Ordner an, wenn das oder die übergeordneten Verzeichnisse nicht existieren. Angenommen, die selbstgemachte Setup-Routine Ihres VB-Programms sieht die freie Festlegung eines Installationspfads vor, und der Anwender entscheidet sich - gegen alle Windows-Konventionen - für das Verzeichnis d:\vb\progs\privat. Nun existiert zwar ein Laufwerk d, in dessen Stammverzeichnis gibt es allerdings keinen Ordner vb. Und weil der nicht existiert, fehlt auch dessen Unterordner progs. Der Versuch, den Ordner privat mit MkDir quasi "in der Luft" anzulegen, scheitert, denn die VB-Anweisung setzt zwingend voraus, daß das übergeordnete Verzeichnis vorhanden ist. Die benutzerdefinierte Funktion MakeDir (Listing in Databox 12/98) ist da weniger anspruchsvoll, da sie nicht nur den eigentlichen "Zielordner" anlegt, sondern auch alle übergeordneten Verzeichnisse, sofern diese noch nicht bestehen. Dazu tastet sich die Funktion per Do-Loop-Schleife durch die im sPath-Argument angegebene Pfadangabe. Sie sucht darin nach dem jeweils nächsten Backslash (\), der die einzelnen Ordnernamen voneinander trennt. Anschließend bildet sie die Variable sNewPath, die den Pfadanteil bis zum jeweiligen Vorkommen des Backslash darstellt. Wenn das sPath-Argument d:\vb\progs\privat lautet, würde sNewPath also nacheinander die Teilpfade d:, d:\vb, d:\vb\progs und d:\vb\progs\privat repräsentieren. Mit Hilfe der Funktion IsValidDir (Zeile 29) überprüft MakeDir bei jedem dieser Teilpfade, ob es sich dabei um ein existierendes Verzeichnis handelt. Dazu führt die IsValidDir-Funktion eine AND-Verknüpfung des mit GetAttr ermittelten Attributwerts des Teilpfads mit der VB-Konstanten vbDirectory durch. Sofern IsValidDir mit dem Rückgabewert False die Nichtexistenz des Teilpfads signalisiert, wird er per MkDir-Anweisung angelegt. Wenn auf diese Weise alle bislang fehlenden Teilpfade erfolgreich angelegt werden konnten, meldet die MakeDir-Funktion den Wert True zurück. Das Aufrufbeispiel If MakeDir("d:\vb\progs\privat")=True Then MsgBox "Verzeichnis angelegt." Else MsgBox "Fehler." End If gibt die Meldung Verzeichnis angelegt aus, wenn das Verzeichnis d:\vb\progs\privat erzeugt werden konnte, ansonsten lautet die Meldung Fehler.

Verfasser: Andreas
Letzte Änderung: 2012-09-12 19:41


Verzeichnis(se) anlegen

Im Unterschied zum MkDir-Befehl legt die benutzerdefinierte MakeDir-Funktion auch dann einen neuen Ordner an, wenn das oder die übergeordneten Verzeichnisse nicht existieren. Angenommen, die selbstgemachte Setup-Routine Ihres VB-Programms sieht die freie Festlegung eines Installationspfads vor, und der Anwender entscheidet sich - gegen alle Windows-Konventionen - für das Verzeichnis d:\vb\progs\privat. Nun existiert zwar ein Laufwerk d, in dessen Stammverzeichnis gibt es allerdings keinen Ordner vb. Und weil der nicht existiert, fehlt auch dessen Unterordner progs. Der Versuch, den Ordner privat mit MkDir quasi "in der Luft" anzulegen, scheitert, denn die VB-Anweisung setzt zwingend voraus, daß das übergeordnete Verzeichnis vorhanden ist. Die benutzerdefinierte Funktion MakeDir (Listing in Databox 12/98) ist da weniger anspruchsvoll, da sie nicht nur den eigentlichen "Zielordner" anlegt, sondern auch alle übergeordneten Verzeichnisse, sofern diese noch nicht bestehen. Dazu tastet sich die Funktion per Do-Loop-Schleife durch die im sPath-Argument angegebene Pfadangabe. Sie sucht darin nach dem jeweils nächsten Backslash (\), der die einzelnen Ordnernamen voneinander trennt. Anschließend bildet sie die Variable sNewPath, die den Pfadanteil bis zum jeweiligen Vorkommen des Backslash darstellt. Wenn das sPath-Argument d:\vb\progs\privat lautet, würde sNewPath also nacheinander die Teilpfade d:, d:\vb, d:\vb\progs und d:\vb\progs\privat repräsentieren. Mit Hilfe der Funktion IsValidDir (Zeile 29) überprüft MakeDir bei jedem dieser Teilpfade, ob es sich dabei um ein existierendes Verzeichnis handelt. Dazu führt die IsValidDir-Funktion eine AND-Verknüpfung des mit GetAttr ermittelten Attributwerts des Teilpfads mit der VB-Konstanten vbDirectory durch. Sofern IsValidDir mit dem Rückgabewert False die Nichtexistenz des Teilpfads signalisiert, wird er per MkDir-Anweisung angelegt. Wenn auf diese Weise alle bislang fehlenden Teilpfade erfolgreich angelegt werden konnten, meldet die MakeDir-Funktion den Wert True zurück. Das Aufrufbeispiel If MakeDir("d:\vb\progs\privat")=True Then MsgBox "Verzeichnis angelegt." Else MsgBox "Fehler." End If gibt die Meldung Verzeichnis angelegt aus, wenn das Verzeichnis d:\vb\progs\privat erzeugt werden konnte, ansonsten lautet die Meldung Fehler.

Verfasser: Andreas
Letzte Änderung: 2012-09-12 19:42


Verzeichnis(se) anlegen

Im Unterschied zum MkDir-Befehl legt die benutzerdefinierte MakeDir-Funktion auch dann einen neuen Ordner an, wenn das oder die übergeordneten Verzeichnisse nicht existieren. Angenommen, die selbstgemachte Setup-Routine Ihres VB-Programms sieht die freie Festlegung eines Installationspfads vor, und der Anwender entscheidet sich - gegen alle Windows-Konventionen - für das Verzeichnis d:\vb\progs\privat. Nun existiert zwar ein Laufwerk d, in dessen Stammverzeichnis gibt es allerdings keinen Ordner vb. Und weil der nicht existiert, fehlt auch dessen Unterordner progs. Der Versuch, den Ordner privat mit MkDir quasi "in der Luft" anzulegen, scheitert, denn die VB-Anweisung setzt zwingend voraus, daß das übergeordnete Verzeichnis vorhanden ist. Die benutzerdefinierte Funktion MakeDir (Listing in Databox 12/98) ist da weniger anspruchsvoll, da sie nicht nur den eigentlichen "Zielordner" anlegt, sondern auch alle übergeordneten Verzeichnisse, sofern diese noch nicht bestehen. Dazu tastet sich die Funktion per Do-Loop-Schleife durch die im sPath-Argument angegebene Pfadangabe. Sie sucht darin nach dem jeweils nächsten Backslash (\), der die einzelnen Ordnernamen voneinander trennt. Anschließend bildet sie die Variable sNewPath, die den Pfadanteil bis zum jeweiligen Vorkommen des Backslash darstellt. Wenn das sPath-Argument d:\vb\progs\privat lautet, würde sNewPath also nacheinander die Teilpfade d:, d:\vb, d:\vb\progs und d:\vb\progs\privat repräsentieren. Mit Hilfe der Funktion IsValidDir (Zeile 29) überprüft MakeDir bei jedem dieser Teilpfade, ob es sich dabei um ein existierendes Verzeichnis handelt. Dazu führt die IsValidDir-Funktion eine AND-Verknüpfung des mit GetAttr ermittelten Attributwerts des Teilpfads mit der VB-Konstanten vbDirectory durch. Sofern IsValidDir mit dem Rückgabewert False die Nichtexistenz des Teilpfads signalisiert, wird er per MkDir-Anweisung angelegt. Wenn auf diese Weise alle bislang fehlenden Teilpfade erfolgreich angelegt werden konnten, meldet die MakeDir-Funktion den Wert True zurück. Das Aufrufbeispiel If MakeDir("d:\vb\progs\privat")=True Then MsgBox "Verzeichnis angelegt." Else MsgBox "Fehler." End If gibt die Meldung Verzeichnis angelegt aus, wenn das Verzeichnis d:\vb\progs\privat erzeugt werden konnte, ansonsten lautet die Meldung Fehler.

Verfasser: Andreas
Letzte Änderung: 2012-09-12 19:43


Videodateien ohne Multimedia-Control abspielen

Eine selbstgemachte VB-Prozedur gibt AVI-Videodateien auch ohne Multimedia-Control wahlweise im Fenster oder bildschirmfüllend wieder. Das Multimedia-Control von Visual Basic ist nicht jedermanns Sache: - Zum einen erhöht es den Installationsaufwand, da Sie neben den Projektdateien auch die zugehörige Komponentendatei mci32.ocx mitliefern müssen; - zum anderen müssen Sie es immer erst umständlich auf dem Formular positionieren und diverse Eigenschaften einstellen, ehe Sie damit auch nur eine simple MIDI-Datei abspielen können. Der kürzeste Weg zur Wiedergabe einer Multimedia-Datei: Sprechen Sie das Media Control Interface (MCI) von Windows direkt an, wie es die VB-Prozedur PlayAVI (Listing in Databox 6/98) demonstriert. Darin setzen Sie die API-Funktion mciSendString ein, die die gesamte Kommunikation mit dem MCI über Klartext-Befehle abwickelt. Zunächst schließt die Prozedur ein gegebenenfalls noch laufendes Video über den Close-Befehl. Anschließend wird die im AviFile-Argument übergebene Datei via Open-Kommando für die Wiedergabe geöffnet. Über die hinter dem Alias-Schlüsselwort zugewiesene Zeichenkette vbVideo können nachfolgende Anweisungen stellvertretend auf die geöffnete Datei zugreifen. So starten Sie die Wiedergabe beispielsweise mit play vbVideo im Fenstermodus. Soll die Anzeige bildschirmfüllend erfolgen, schließen Sie den Play-Befehl mit dem Schlüsselwort fullscreen ab. Über das gleichnamige Boolean-Argument der Prozedur können Sie den Anzeigemodus beliebig festsetzen. Mit der Anweisung Call PlayAVI("c:\test.avi", True) lassen Sie die Videodatei c:\test.avi im Vollbildmodus abspielen.

Verfasser: Andreas
Letzte Änderung: 2012-09-12 19:43


Vieleck über viele Ecken

Brauchen Sie nicht nur Kreis und Quadrat? Hier finden Sie die Prozedur für Vielecke. In VB sind zwei Methoden Circle (für Kreise) und Line (für Linien und Recht-ecke) integriert. Eine Methode für mehreckige Flächen fehlt. Dazu verwenden Sie die unten gezeigte xEck-Prozedur. Damit können Sie nicht nur Vielecke mit beliebig vielen Ecken zeichnen, sondern diese auch um einen frei wählbaren Winkel drehen. Die Basis der Berechnungen ist der Kreis. Dieser wird entsprechend der Eckenzahl Ihres Vielecks in die entsprechende Zahl gleicher Segmente geteilt. Jeder der ermittelten Punkte ist dann ein Eckpunkt. Die xEck-Prozedur ermittelt diese mit den in VB integrierten Sinus-und Cosinus-Funktionen. Den beiden Funktionen müssen Sie jeweils den Winkel in Bogenmaß und nicht in Grad übergeben. Der Gesamtkreis hat ein Bogenmaß von 2 * Pi. Die Kreiszahl Pi errechnen (Heft 11/99, Tipp 19, S. 202) mit der Programmzeile: Pi = 4 * ATN(1) Die Prozedur Bogen rechnet jeden Winkel um: Function Bogen(Winkel) Bogen = 2 * Pi * Winkel / 360 End Function Das Bild unten verdeutlicht die Zusammenhänge. Da a = y, b = x und c = r ist, haben Sie damit die Koordinaten des jeweiligen Punktes auf einem Kreis. Sub xEck(Ecken, r, XX, YY, _ AnfgsWinkel) Winkel = 360 / Ecken BG = Bogen(Winkel) ABG = Bogen(AnfgsWinkel) X1 = XX + Cos(strt) + _ Cos((m) * BG + ABG) * r Y1 = YY + Sin(strt) + _ Sin((m) * BG + ABG) * r ' Erste Linie ziehen Line (XX, YY)-(X1, Y1) ' Restliche Linien ziehen For m = 1 To Ecken X2 = XX + Cos(m * BG + _ ABG) * r Y2 = YY + Sin(m * BG + _ ABG) * r Line (X1, Y1)-(X2, Y2) X1 = X2: Y1 = Y2 Next End Sub Ein Beispielprogramm f.r 16 und 32 Bit finden Sie auf der Heft-CD unter ...viel- eck/4_veck1.vbp.

Verfasser: Andreas
Letzte Änderung: 2012-09-12 19:44


Warte nur ein Weilchen ...

Müssen Sie während des Programmlaufs Wartezeiten einplanen? Mit der hier gezeigten Prozedur bestimmen Sie, wie lang sie sind. Leider ist die Funktion Wait beim Übersetzen von Basic in VB verlorengegangen. Verwenden Sie deshalb die hier gezeigte Funktion Warte. Ihr Programm legt damit eine Wartezeit ein. Dafür wird eine Do-Loop-Schleife gestartet. Die Prozedur hält vorher den Schleifenstart fest. Zum Schluß zeigt der Rückgabewert die Wartezeit an. Global Break% Function Warte _ (ByVal Wert As Long) Start = Timer 'Anfangszeit setzen. Schleife = True Do While (Timer < Start _ + Wert) If Break = True Then Exit Do End If DoEvents 'Abbruch von außen machbar: Loop Break = True Ende = Timer ' Ende festhalten. Warte = Ende - Start End Function Im Modul muß die Variable Break deklariert sein. Sie wird beim Schleifenstart auf True gesetzt. Setzen Sie den Inhalt der Variablen zum Beispiel mit einem CommandButton auf False, wird mit Break = False der Schleifenlauf abgebrochen. Ein Beispielprogramm f.r 16 und 32 Bit finden Sie auf der Heft-CD unter ...wait/4_wait0.Vbp.

Verfasser: Andreas
Letzte Änderung: 2012-09-12 19:45


Wartezeit verkürzen

Langweilen Sie Benutzer Ihrer Homepage nicht mit einem leeren Bildschirm.
Sie haben ein Programm gestartet, das erst nach längerer Wartezeit funktionsbereit ist. Bei Programmen, die aus sehr vielen Fenstern bestehen und viele Ob-jekte zeigen, ist das keine Seltenheit. Als Programmierer verhindern Sie das, indem Sie möglichst globale Variablen vermeiden und zunächst nur die Objekte aktivieren, die erforderlich sind. Zeigen Sie beim Start Informationen zum Programm. So verkürzen Sie dem Benutzer die Wartezeit. Lassen Sie im Hintergrund das Programm weiterlaufen. Sorgen Sie dafür, daß der Benutzer Zeit hat, den Text zu lesen.
Ein Infofenster sollte etwa doppelt so lange sichtbar sein, wie Sie brauchen, um den Text ruhig zu vorzulesen.

Verfasser: Andreas
Letzte Änderung: 2012-09-12 19:46


WAV-Dateien wiedergeben

Eine universell verwendbare Visual-Basic-Prozedur bringt WAV-Dateien im synchronen oder asynchronen Modus zu Gehör. Auch die fünfte Auflage von Visual Basic verfügt noch nicht über einen Befehl für die Wiedergabe von WAV-Dateien. So bleibt Ihnen nichts anderes übrig, als einen solchen Befehl selbst herzustellen. Das ist gar nicht schwierig: Anders als beim Medientyp AVI (siehe Tip 39) kommt eine WAV-Wiedergaberoutine ohne Media Control Interface (MCI) aus; statt dessen genügt der Zugriff auf eine einfache API-Funktion namens sndPlaySound, die als Parameter den Pfadnamen der WAV-Datei und die Festlegung des Wiedergabemodus erwartet. Die Funktion unterstützt zwei Wiedergabearten: - Bei der synchronen Wiedergabe wird das Programm so lange nicht weiter ausgeführt, bis die WAV-Datei komplett abgespielt ist; - im asynchronen Modus laufen Programm und WAV-Wiedergabe unabhängig voneinander ab. Um die Handhabung zu vereinfachen, haben wir die API-Funktion in die Basic-Routine PlayWav (Listing in Databox 6/98) "eingepackt", der Sie ebenfalls den Pfadnamen der WAV-Datei übergeben. Den Wiedergabemodus bestimmen Sie mit dem Boolean-Argument Warten und dem Wert True (für synchron) oder False (für asynchron). Um etwa die Datei c:\steffi.wav asynchron zu Gehör zu bringen, verwenden Sie folgende Anweisung: Call PlayWav("c:\steffi.wav", False) Im Gegensatz zu sndPlaySound überprüft die Basic-Funktion mit der Dir$-Funktion, ob die abzuspielende WAV-Datei existiert. Die If-Then-Else-Konstruktion sorgt dann dafür, daß die API-Funktion - in Abhängigkeit vom Warten-Argument - im richtigen Wiedergabemodus aufgerufen wird.

Verfasser: Andreas
Letzte Änderung: 2012-09-12 19:46


Welcher Benutzer ist angemeldet?

Wenn mehrere Benutzer an einem PC arbeiten, liefert Ihnen eine API-Funktion den Mitarbeiter, der sich eingeloggt hat. Sobald Sie auf einem Windows-PC die Mehrbenutzerverwaltung oder das DFÜ-Netzwerk installiert haben, kann es erforderlich sein, den Namen des zuletzt angemeldeten Benutzers festzustellen: etwa, wenn Sie die Menüs einer Visual-Basic-Anwendung an den angemeldeten Benutzer anpassen wollen. Diese Information liefert die API-Funktion WNetGetUser. So rufen Sie sie auf: nRetVal = WNetGetUser (ByVal 0&, sBenutzerName,nBenutzerNameLänge) Jetzt enthält die Variable sBenutzername den Namen des zuletzt angemeldeten Benutzers, wie dies das Beispiel werda (Listing 5) demonstriert.

Verfasser: Andreas
Letzte Änderung: 2012-09-12 19:49


Werte in der Windows Registry speichern

VB speichert mit SaveSetting Werte nur in einem reservierten Zweig der Windows-Registrierung. Wer auf die übrigen Bereiche zugreifen will, muß sich selbst helfen. Die VB-Versionen 4 und 5 verfügen über Befehle wie GetSetting und SaveSetting, um Werte aus der Windows Registry zu lesen oder dorthin zu schreiben. Allerdings spielen sich diese Aktivitäten ausschließlich in einer Art Sandkasten ab, nämlich in dem reservierten Zweig HKEY_CURRENT_USER\Software\VB and VBA Program Settings. Wer auf andere Bereiche der Registry zugreifen will, um etwa Systemeinstellungen zu verändern, der muß auf API-Funktionen zurückgreifen und sie mit einer VB-Funktion "umhüllen". Wie eine Funktion Registrierungswerte schreibt, demonstriert SetKeyValue.bas (Listing in Databox 3/98). Die VB-Funktion benötigt fünf Argumente: - KeyConst benennt den Registry-Abschnitt, beispielsweise HKEY_CURRENT_USER oder HKEY_ CLASSES_ROOT, - sKeyName liefert den Schlüsselnamen, der auch die Namen aller übergeordneten Schlüssel enthält. Der Rückstrich trennt die Begriffe, wie das Beispiel zeigt: Software\Microsoft\Windows\CurrentVersion\Extensions - Das Argument sValueName nennt den zu verändernden Wert, - vValueSetting vom Typ Variant dessen neue Einstellung. - Und das Argument lValueType und eine Windows-Konstante definieren, ob es sich bei letzterem um eine Zeichenkette oder eine Zahl handelt. Die erste Handlung der VB-Funktion besteht darin, den gegebenenfalls nicht existierenden Schlüssel mit Hilfe der API-Funktion RegCreateKeyEx anzulegen. Falls der Schlüssel existiert, bleibt die Aktion ohne Folgen. Die API-Funktion RegCloseKey gibt den Schlüssel anschließend wieder frei, damit er von der RegOpenKeyEx-Funktion zum Schreiben neu geöffnet werden kann. Die Select-Case-Konstruktion ermittelt nun durch Abfrage des lValueType-Arguments den Datentyp der neuen Werteinstellung. Handelt es sich um eine Zeichenkette, was die Konstante REG_SZ signalisiert, dann schreibt die Funktion die in einen String konvertierte Einstellung mit Hilfe der RegSetValueExString-Funktion in den Schlüsselwert. Handelt es sich dagegen um eine Zahl (Konstante REG_DWORD), dann wird die Einstellung in einen Long-Integer-Wert überführt und mit RegSetValueExLong dem Schlüsselwert zugewiesen. Die API-Funktion RegCloseKey gibt den Schlüssel abschließend wieder frei.

Verfasser: Andreas
Letzte Änderung: 2012-09-12 19:50


Wie groß ist die Task-Leiste?

Um feststellen, wieviel Platz die Bildschirmarbeitsfläche bietet, muß die Größe der Task-Leiste bekannt sein. Wer wissen will, wie groß die zur Verfügung stehende Arbeitsfläche auf dem Bildschirm ist, muß die Maße der Task-Leiste einbeziehen. Da das Screen-Objekt diese Angaben nicht anbietet, erfragen Sie diese über die Universal-API-Funktion SystemParametersInfo (Listing 2). Rufen Sie diese Funktion mit dem Argument SPI_GETWORK-AREA auf, gibt sie die Größe des freien Arbeitsbereichs in Form einer Variablen vom Typ RECT zurück.

Verfasser: Andreas
Letzte Änderung: 2012-09-12 19:51


Windows sofort beenden

Das schnelle Windows-Ende führen Sie mit verschiedenen Befehlen herbei. Diese Funktion wird in vielen Programmen benötigt: Sie wollen Windows herunterfahren, ohne daß der Benutzer eingreifen muß oder kann. Zuständig ist die API-Funktion ExitWindowsEx, der Sie als Parameter lediglich mitteilen, auf welche Weise Windows enden soll (vgl. Tabelle in PC Magazin 7/97, Seite 216). Ein kleines Beispiel demonstriert die Arbeitsweise: Private Declare Function ExitWindowsEx Lib "user32" (ByVal uFlags As Long, ByVal dwReserved As Long) As Long Const EWX_LOGOFF = 0 Const EWX_SHUTDOWN = 1 Const EWX_REBOOT = 2 Const EWX_FORCE = 4 Const EWX_POWEROFF = 8 Const EWX_RESET = EWX_LOGOFF + EWX_FORCE + EWX_REBOOT Private Sub cmdShutDown_Click() Dim RetVal As Long RetVal = ExitWindowsEx (EWX_RESET, 0) End Sub Peter Monadjemi/et

Verfasser: Andreas
Letzte Änderung: 2012-09-12 19:51


Windows-AboutBox

Eine professionelle AboutBox gibt Auskunft über Ihr Programm und die Ressourcen von Windows. Windows stellt in der Shell32.dll auch in VB-Programmen nutzbare Funktionen zur Verfügung. Eine dieser Funktionen ist ShellAbout. Mit ihr nutzen Sie das System-About-Fenster. Im Bild sehen Sie die Stellen, an denen Sie Ihre individuellen Änderungen vornehmen. Private Declare Function _ ShellAbout Lib "shell32.dll" _ Alias "ShellAboutA" _ (ByVal hwnd As Long, _ ByVal szApp As String, _ ByVal szOtherStuff As String, _ ByVal hIcon As Long) As Long

Verfasser: Andreas
Letzte Änderung: 2012-09-12 19:56


Windows-Hintergrundbild ändern

Eine kurze VB-Routine macht jede beliebige Bitmap-Datei umgehend zum Windows-Hintergrundbild. Anwender legen das Windows-Hintergrundbild gewöhnlich über das Dialogfeld Eigenschaften von Anzeige fest, das sich über das Kontextmenü des Windows-Desktops aufrufen läßt. VB-Entwickler haben da andere Methoden. So können sie den Pfadnamen der gewünschten BMP-Datei - beispielsweise mit Hilfe der in Ausgabe 3/98 auf S. 192 abgedruckten Routine SetKeyValue - direkt in die Systemregistrierung (Abschnitt HKEY_CURRENT_USER, Schlüssel Control Panel\Desktop, Wert Wallpaper) hineinschreiben. Die Änderungen in der Registry verarbeitet Windows allerdings erst nach einem Neustart des Rechners. Die Anwendung der API-Funktion SystemParametersInfo kommt dagegen ohne Neustart aus, bietet aber trotzdem eine sofortige Erfolgskontrolle und kommt daher in der Sub-Prozedur SetWallpaper (Listing in Databox 6/98) zum Einsatz. SetWallpaper benötigt als Parameter nur den Pfadnamen der zu verwendenden BMP-Datei. Nachdem sich die Prozedur von der Existenz dieser Datei überzeugt hat, erkennbar an der Zeile (If Dir$(BmpFile) > "" Then...) ruft sie die API-Funktion auf. Die vordefinierten Konstanten legen dabei die Details fest: - SPI_SETDESKWALLPAPER (Hintergrundbild ändern), - UPDATEINIFILE (win.ini aktualisieren) und - SENDWININICHANGE (Windows und alle Anwendungen über die Änderung informieren). Falls die Bitmap-Datei nicht existiert, tritt der Else-Block in Aktion und ruft SystemParametersInfo mit dem Argument (none) auf, wodurch das aktuelle Hintergrundbild entfernt wird. Wenn Sie genau das beabsichtigen, rufen Sie SetWallpaper am besten mit einer leeren Zeichenkette auf: Call SetWallpaper("") Mit einem selbstgemachten kleinen Utility können Sie das Hintergrundbild interaktiv festlegen. Zugleich demonstriert es, wie die SetWallpaper-Prozedur arbeitet. Dazu öffnen Sie ein neues Projekt, geben dessen Formular den Namen Wallpaper und statten es mit einem CommonDialog-Steuerelement (Standardname CommonDialog1) aus. Im Code-Abschnitt des Formulars geben Sie die Form_Load-Ereignisroutine (Listing in Databox 6/98) ein. Fügen Sie Ihrem Projekt ein neues Modul hinzu, und geben Sie dort den Inhalt des vorherigen Listings ein. Die Form_Load-Routine bringt einen Standarddialog mit dem Titel BMP-Datei auswählen auf den Bildschirm sowie einen Dateifilter, der ausschließlich BMP-Dateien anzeigt. Die gewählte Datei, deren Pfadname in der Filename-Eigenschaft des Dialogs gespeichert ist, wird anschließend durch den Aufruf der SetWallpaper-Prozedur zum Hintergrundbild gemacht.

Verfasser: Andreas
Letzte Änderung: 2012-09-12 19:57


Windows-Verzeichnis ohne API

Nutzen Sie die Environ-Funktion, um die Umgebungsvariablen auszulesen. Wichtige Pfad- und Prompt-Verweise konnten Sie mit dem DOS-Befehl set auslesen. Ähnlich gibt die VB-Funktion Environ die mit einer Umgebungsvariablen verbundenen Zeichenfolgen zurück. Wert = Environ(Position) Als Argument übergeben Sie dem Position-Parameter die Zeilennummer des gesuchten Werts. Besser verwenden Sie die alternative Bezeichnung des Werts als String. Wert = Environ("WinDir")

Verfasser: Andreas
Letzte Änderung: 2012-09-12 19:59


Wo laufen Sie heute?


Überaus nützliche Funktionen verbergen sich in der Setup-DLL vb5stkit.dll. Wir haben sie aufgespürt.
Auch wenn Windows 95 und NT weitgehend kompatibel sind, kann es auch für ein Visual-Basic-Programm eine Rolle spielen, unter welcher Windows-Variante es läuft. Ein Weg, dies festzustellen, führt über die API-Funktion GetVersionEx, ein anderer über die Funktion GetWinPlatform der Datei VB5stkit.dll des Setup-Kits, die nur wenige Programmierer kennen:
Declare Function GetWinPlatform Lib "VB5STKIT.DLL" () As Long
Die folgende Funktion prüft, ob das Programm unter Windows 95/98 läuft:
Function IsWindows95() As Boolean Const dwMask95 = &H2& If GetWinPlatform() And _ dwMask95 Then
IsWindows95 = True
Else
IsWindows95 = False
End If
End Function
Eine weitere Funktion liefert True zurück, wenn das Programm unter Windows NT läuft:
Function IsWindowsNT() _ As Boolean Const dwMaskNT = &H1&
If GetWinPlatform() And _ dwMaskNT Then
IsWindowsNT = True
Else
IsWindowsNT = False
End If
End Function
In der Datei Common.bas im Unterverzeichnis
Setupkit\Setup1
des Visual-Basic-Verzeichnisses finden Sie nützliche Funktionen wie die, den freien Laufwerkspeicher festzustellen, oder eine, die eine Verknüpfung anlegt. Weiteres Material spüren Sie Mbyte-weise im Internet auf. So finden Sie einen VB-Kurs zu Multimedia unter
www.rzuser.uni-heidelberg.de/~mhermann/camps/vbinhalt.html

Verfasser: Andreas
Letzte Änderung: 2012-09-12 19:59


Zeitzonen

So ermitteln Sie die Zeitzone, auf die ein Anwender seinen PC eingestellt hat. Schreiben Sie international vertriebene Programme, bei denen die Zeitzone des Benutzers von Bedeutung ist? Dann hilft Ihnen dieser kleine Tipp: Mit ihm ermitteln Sie die Zeitdifferenz zur GMT (Greenwich Mean Time = Weltzeit). Dazu nutzen Sie die API-Funktion GetTimeZoneInformation der Datei Kernel32.DLL.

Verfasser: Andreas
Letzte Änderung: 2012-09-12 20:01


Zufall ausgeschlossen

So erhalten und nutzen Sie gleiche Zufallszahlen in Ihren Programmen. Immer wieder interessieren sich Programmierer dafür, Texte zu verschlüsseln. Dabei soll das Entschlüsseln ohne die entsprechenden Codes erschwert sein. Tauschen Sie jedoch Texte mit anderen aus, dürfen die Verschlüsselungscodes nicht zu kompliziert sein. Dafür gibt es verschiedene Lösungen. Wir zeigen Ihnen hier eine, die den Zufallsgenerator von Visual Basic nutzt. In Visual Basic erzeugen Sie Zufallszahlen mit Hilfe der Rnd-Funktion und der Randomize-Anweisung. Rnd gibt eine Zufallszahl zurück. Mit Randomize können Sie die Startzahl festlegen oder die Startzahl auf einen Timer-Wert setzen. Dann ist es nahezu unmöglich, gleiche Zahlenketten zu erzeugen. Was aber, wenn Sie Zufallszahlen für die Verschlüsselung von Texten verwenden wollen? Dann muss die Zahlenreihe reproduzierbar, also jederzeit wieder herstellbar sein. Das stellen Sie sicher, indem Sie folgende zwei Codezeilen nutzen: x = Rnd(-1) Randomize Startwert Die erste Zeile sorgt dafür, dass mit einem gleichen Startwert für Randomize auch immer die gleiche Zahlenreihe zurückgegeben wird. Im Listing finden Sie die Kernprozedur Randomcode, die eine Zeichenkette aus Zufallszahlen erzeugt. Dabei werden die gewonnenen Zahlen zunächst in Zeichen umgewandelt. Mit Hilfe der Format-Funktion werden dreistellige Zahlen gewonnen und zur Zahlenkette zusammengefügt. Übergeben Sie der Prozedur als Argument einen neuen Zahlenwert, erhalten Sie eine andere Zahlenreihe. Mit dem alten Startwert wird es wieder die vorherige. Die Zahlenreihe ist hier auf 256 Zahlen begrenzt. Wählen Sie andere Anfangs- und Endwerte für die Schleife, ändert sich auch die Länge der Zahlenkette. Function RandomCode _ (Startwert As Double) Dim Tx As String x = Rnd(-1) Randomize Startwert For m = 0 To 255 Do Z$ = Chr(Int(254 - _ 32 + 1) * Rnd + 32) If InStr(Tx, Z$) = 0 Then Exit Do End If Loop Tx = Tx + _ Format(Asc(Z$), "000") Next RandomCode = Tx End Function Beachten Sie, dass der Startwert als Double übergeben wird. So steht Ihnen der Zahlenbereich bis zu maximal 15 Ziffern zur Verfügung. Längere Zahlen werden gerundet und sind deshalb nicht nutzbar. Sie und Ihr Partner müssen jetzt nur noch die Startzahl kennen. Wenn beide das gleiche VB-Programm benutzen, erhalten beide die gleiche, korrekte Schlüsselzahl.

Verfasser: Andreas
Letzte Änderung: 2012-09-12 20:02


Zusammensetzung der Farben

Wer Bildschirmfarben gezielt ändern will, muß deren RGB-Farbanteile kennen. Alle PC-Farben setzen sich gemäß dem RGB-Farbmodell aus den drei Far-ben Rot, Grün und Blau in additiver Farbmischung zusammen. Die Parameter in den Funktionen sind mit dem (ab VB 2 verfügbaren) Variant-Datentyp deklariert. So verarbeiten sie auch Hex-Werte, die mit dem Präfix &H gekennzeichnet sind. Function Rot(Col As Variant) Rot = Col Mod 256 End Function Function Gruen(Col As Variant) Gruen = (Col \ 256) Mod 256 End Function Function Blau(Col As Variant) Blau = Col \ (256 * 256) End Function

Verfasser: Andreas
Letzte Änderung: 2012-09-12 20:03


Nützliche Online-Hilfe

Für erfahrene WordBasic-Programmierer hält VBA eine effektive Umstiegshilfe bereit.
Die sprachlichen Unterschiede zwischen WordBasic und dem "echten" Visual Basic für Applikationen (nicht mit dem Resultat der automatischen Quelltextkonvertierung zu verwechseln) sind gewaltig: Abgesehen von der grundlegenden Basic-Syntax kommen nun für fast jede Programmieraufgabe andere Schlüsselwörter oder Verfahren zum Einsatz. Für erfahrene WordBasic-Entwickler gestaltet sich der Einstieg in VBA daher mitunter sehr viel schwieriger als für manches aufgeschlossene "Greenhorn". In die Online-Hilfe zu Visual Basic gelangen Sie automatisch, wenn Sie aus dem Visual Basic Editor heraus die [F1]-Taste drücken. Dort finden Sie im Abschnitt Arbeiten mit Visual Basic/Konvertieren von WordBasic nach Visual Basic eine effektive Umstiegshilfe. Sie besteht aus einem alphabetisch sortierten Index, der sämtliche WordBasic-Anweisungen mit deutschen Schlüsselwörtern den korrespondierenden VBA-Anweisungen oder Verfahren mitunter in mehrzeiligen Beispielen gegenüberstellt. Ausgedruckt dürfte dieser Index Ihre Einarbeitungszeit in VBA stark verkürzen.

Verfasser: Andreas
Letzte Änderung: 2012-09-12 20:49


WordBasic-Quelltexte sichern

Die meisten WordBasic-Makros aus früheren WinWord-Versionen laufen auch in Word 97.
Wenn Sie WordBasic-Makros aus früheren WinWord-Versionen einsetzen, verändert sich Ihr Quelltext bis zur Unkenntlichkeit. Sicherung tut also Not.
Für WordBasic-Programmierer, die auf die neue Word-Version inklusive VBA umsteigen wollen oder müssen, gibt es eine gute und eine schlechte Nachricht.
- Zunächst die gute: Nahezu alle WordBasic-Makros der Versionen 6 und 7 laufen dank einer automatischen Konvertierung auch im neuen Word. Dazu müssen Sie nur die bestehenden Dokumentvorlagen mit den WordBasic-Makros öffnen.
- Nun die schlechte: Beim Speichern der Dokumentvorlagen mit Word 97 gehen die Quelltexte in der Form, wie Sie sie kennen, verloren. Wenn Sie die zentrale Dokumentvorlage normal.dot verwenden, können Sie den Speichervorgang nicht einmal beeinflussen, da dieser im Normalfall automatisch abläuft. Sie sollten daher grundsätzlich nur mit Kopien Ihrer Dokumentvorlagen arbeiten und zusätzlich sämtliche Makro-Quelltexte noch aus dem alten Word heraus dokumentieren.
Das WordBasic-Makro (Listing in Databox 2/98) kann Sie dabei wirkungsvoll unterstützen. Es liest der Reihe nach sämtliche Makros einer vorhandenen Dokumentvorlage und kopiert deren Quelltext in auskommentierter Form an den Makroanfang. Nach der Konvertierung, bei der die auskommentierten Zeilen verschont bleiben, finden Sie dann in jedem Makro sowohl den alten als auch den neuen, konvertierten Quelltext vor.
Um die Dokumentvorlage zu spezifizieren, müssen Sie nur einen Dateinamen wie brief.dot angeben, da das Vorlagenverzeichnis automatisch als Pfad gesetzt wird. Speichern Sie das Makro als MakroDoc unter normal.dot.

Verfasser: Andreas
Letzte Änderung: 2012-09-12 20:50


Zwischenstation WordBasic-Objekt

Wer sich mit dem Umstieg nach VBA schwertut, kann Word 97 zunächst auch über das WordBasic-Objekt programmieren. Wer die immensen sprachlichen und konzeptionellen Unterschiede zwischen WordBasic und VBA kennt, kann daran zweifeln, daß WordBasic-Makros direkt in VBA-Makros überführbar sind. Und tatsächlich: Der automatische Makrokonverter von Word 97 produziert gar keinen originären VBA-Code. Statt dessen überführt er jede WordBasic-Anweisung in eine entsprechende Methode oder Eigenschaft des WordBasic-Objekts. Der wesentliche Unterschied zwischen WordBasic und dem WordBasic-Objekt ist, daß letzteres englische Schlüsselwörter verwendet. Die ursprüngliche WordBasic-Zeile DateiNeu verläßt den Konverter also in der Form WordBasic.FileNew Mit VBA hat das zwar nichts zu tun, bietet allerdings den Vorteil, daß erfahrene Makro-Entwickler kaum umlernen müssen. Wer den Schritt zu VBA scheut, kann Word 97 also zunächst über das WordBasic-Objekt programmieren. Die Datei Word Basic Deutsch-Englisch Glossar.doc hilft Ihnen, die englische Syntax zu erlernen. Sie finden die Hilfe unter Office/Makros. Die darin enthaltene Gegenüberstellung aller deutschen und englischen WordBasic-Schlüsselwörter ist insbesondere in ausgedruckter Form nützlich. Ob das WordBasic-Objekt allerdings auch noch in der nächsten Office-Version enthalten sein wird, weiß nur Mister Gates.

Verfasser: Andreas
Letzte Änderung: 2012-09-12 20:52


Computer » Programmierung » Visual Basic » Visual Basic 4 - 6

VB-6.0-Projekte unter VB 5.0 laden

Auch unter Visual Basic 5.0 lassen sich die Projekte der Version 6.0 laden, wenn Sie dabei einen Trick anwenden. Leider weigert sich Visual Basic 5.0, eine mit VB 6.0 gespeicherte Projektdatei zu laden. Um das zu ändern, öffnen Sie die vbp-Datei mit NotePad, entfernen den Eintrag Retained=0 und speichern die Projektdatei. Achten Sie dabei auf Referenzen, die danach aussehen, als wären sie durch Visual Basic 6.0 eingefügt worden. Dies erkennen Sie an der im Text aufgeführten Versionsnummer. Wenn auf dem PC, auf dem die Projektdatei geladen werden soll, die entsprechenden Bibliotheken nicht registriert sind, gibt es beim Laden weitere Fehlermeldungen. Und noch ein Hinweis: Zusatzsteuerelemente, die VB nicht laden kann, werden durch Bildfelder ersetzt.

Verfasser: Andreas
Letzte Änderung: 2012-09-12 19:13


Allgemeine zip-Informationen

Innerhalb einer zip-Archivdatei finden sich hinter den archivierten Dateiinformationen allgemeine Informationen zum Archiv selbst.
Jedes zip-Archiv enthält allgemeine Informationen wie einen erläuternden Kommentar oder die Anzahl der zur Archivierung genutzten Disketten. Um diese Informationen zu entschlüsseln, lesen Sie zunächst alle Strukturen aus dem Dateikopf der archivierten Dateien. Erst dann ist der Dateizeiger auf die allgemeinen zip-Archivinformationen positioniert. Ein Datensatz vom Typ End- CentralDirRecord schließt die Auflistung des Archivinhalts ab. Daneben erhalten Sie die Angaben, auf wie vielen Disketten das Archiv verteilt wurde, und wie viele Diskettenverzeichnisse zu analysieren sind. Kommentare zum zip-Archiv vervollständigen die Analyse. Das Beispielprogramm verzichtet wegen der Übersichtlichkeit darauf, geteilte Archive zu analysieren. Es geht davon aus, dass die Archive auf einem einzelnen Datenträger verwaltet werden.
Type EndCentralDirRecord
Signature As Long
NumberOfDisks As Integer
NumberOfDisksDir As Integer
CentralDirEntries As Integer
CentralDirSize As Long
OffsetDisk As Long
ZipCommentLength As Integer
'Kommentar (variabel)
End Type
Allgemeine zip-Informationen entschlüsselt das Beispielprogramm .../ziptoolauf der Heft-CD.


Verfasser: Andreas
Letzte Änderung: 2012-09-12 20:08


Analyse verteilter zip-Archive

Um auf mehreren Disketten verteilte zip-Archive zu verwalten, brauchen Sie die Verbundstrukturen, die erweiterte Archivinformationen liefern.
Da Sie Archive über mehrere Disketten verteilen können, werden die Archivinhalte in gesonderten Strukturen vom Typ FileHeader verwaltet. Innerhalb der Strukturinformationen finden Sie weiterführende Informationen, wie erläuternde Kommentare, die Diskettennummer für die Dateisicherung, die internen und externen Dateiattribute sowie relative Positionsangaben zum jeweiligen Dateiinhalt. Sie benötigen die Zusatzinformationen, wenn Sie zip-Archive auswerten wollen, die auf mehreren Diskettenmedien verteilt sind. Die Signatur der jeweiligen Einträge vom Typ FileHeader ist mit &H2014B50 definiert und erlaubt es, nachfolgende Strukturtypen zu erkennen. Wie bei der Struktur vom Typ LocalFileHeader wird auch im Anschluss an den Strukturtyp FileHeader der Dateiname, ein eventuell vorhandenes Feld mit Zusatzinformationen sowie der Kommentar verwaltet. Letztgenannte Informationen sind in der Länge variabel und wurden daher nicht in die Strukturdefinition aufgenommen. Sie finden die Angaben zu den Längen in der Struktur FileHeaderim Beispielprogramm .../ziptoolauf der Heft-CD.

Verfasser: Andreas
Letzte Änderung: 2012-09-12 20:08


Bitverschiebung nachrüsten

Visual Basic liefert keine Funktionen zur Bitverschiebung. Rüsten Sie nach.
Wenn Sie im Binärdateimodus arbeiten, müssen Sie Informationen häufig nicht nur byte-, sondern auch bitweise auswerten. Doch Visual Basic stellt keine Funktionen zur Bitmanipulation zur Verfügung. Jedes Byte besitzt acht Bits, jedes Bit kann den Wert 1 oder 0 einnehmen. Mit den Funktionen SHR(Shift Right) und SHL(Shift Left) können Sie die Bits einer 2-Byte-Ganzzahl Zahl% (2 Byte = 16 Bit) um eine über den Parameter Bits% angegebene Zahl von Bits nach rechts (SHR) bzw. links verschieben (SHL). Auf diese Weise blenden Sie einzelne Bits aus, oder Sie können sie auf den Wert 0 setzen. Der resultierende Wert der jeweiligen Bitverschiebung wird durch die benutzerdefinierten Funktionen SHL und SHR an das aufrufende Programm übergeben.
Function Shl(Zahl%, Bits%) As Integer
Shl = Zahl% * (2 ^ Bits%)
End Function
Function Shr(Zahl%, Bits%) As Integer
Shr = Zahl% \ (2 ^ Bits%)
End Function
Den Wert mehrerer zusammenhängender Bits ermittelt die Funktion BitValue. Sie erwartet als Parameter den auszuwertenden Ganzzahlwert Wert%, die Startposition des ersten auszuwertenden Bits über den Parameter BitStartPosition% und die Informationslänge der auszuwertenden, zusammenhängenden Bits über den Parameter AnzahlBits%. Die Funktion setzt SHL und SHR ein, um die nicht benötigten Informationen per Bitverschiebung auszublenden. Das Ergebnis wird über den Funktionsnamen an das aufrufende Programm zurückgeliefert. Was in welchen Bits gesichert wird, hängt davon ab, was Sie über Systemfunktionen oder binär ausgelesene Dateiinhalte analysieren.
Function BitValue _
(Wert%, BitStartPosition%,
AnzahlBits%) As Integer
If AnzahlBits% = 0 Then
AnzahlBits% = 1
ElseIf AnzahlBits% > 16 Then
AnzahlBits% = 16
End If
Wert% = Shl(Wert%, 16 - Bit-
StartPosition% - 1)
BitValue = Shr(Wert%, 16 - AnzahlBits%)
End Function
Sie analysieren per Bitmanipulation im Beispielprogramm .../ziptoolauf der Heft-CD zip-Archive.

Verfasser: Andreas
Letzte Änderung: 2012-09-12 20:11


Dateien in den Papierkorb verschieben

Der kill-Befehl löscht Dateien ohne die Papierkorb-Funktion. Mit der API-Funktion SHFile- Operationverschieben Sie gelöschte Daten in den Papierkorb. Um Dateien in den Papierkorb zu löschen, muß die Papierkorbfunktion aktiv sein. Ferner müssen Sie die API-Funktion SHFileOperation entsprechend der folgenden Anweisung deklarieren. Diese erwartet einen Parameter vom Typ SHFILEOPSTRUCT. Dabei handelt es sich um eine spezielle Verbundvariable, die ebenfalls innerhalb der Windows-API definiert ist. Declare Function SHFileOperation Lib _ "shell32.dll" Alias _ "SHFileOperationA"(lpFileOp As _ SHFILEOPSTRUCT) As Long SHFILEOPSTRUCT verwaltet  die Fensterkennung hWnd,  die Funktion wFunc zum Kopieren, Löschen, Verschieben und Umbenennen,  die Quelldatei pFrom,  die Zieldatei pTo und  spezielle Kennwerte. Diese machen die Funktion zum Beispiel rückgängig. Weitere Elemente legen fest, ob eine Operation abgebrochen werden kann und welche Titelzeile eine eventuelle Fortschrittsanzeige verwenden soll. Die Besonderheit ist, daß Sie dieser Struktur nicht nur eine einzelne Datei, sondern auch eine Dateiliste übergeben können: Type SHFILEOPSTRUCT hwnd As Long wFunc As Long pFrom As String pTo As String fFlags As Integer fAnyOperationsAborted As Long hNameMappings As Long lpszProgressTitle As String End Type Die Papierkorb-Löschfunktion vereinfachen Sie mit Recycle. Sie erwartet eine Fensterkennung sowie ein Variant-Datenfeld, um die Dateiliste zu übergeben. Prozedurintern führen Sie zunächst eine Variable vom Typ SHFILEOP-STRUCT ein, die Dateien und Kennwerte übernimmt. Zuerst fassen Sie in einer Zeichenkettenvariablen die zu löschenden Dateien zusammen. Diese trennen Sie mit einem Nullbyte (vb-NullChar) voneinander. Das Ende der Dateiliste kennzeichnet ein doppeltes Nullbyte. Anschließend füllen Sie SHFi-leOp mit den benötigten Werten, hier mit hWnd, der Löschfunktion &H3, der Dateiliste fList sowie dem Titel Löschen..., den die Fortschrittsanzeige verwendet. Diese gefüllte Strukturvariable weisen Sie so bereits an der API-Funktion SHFileOperation zu. Das Beispiel-programm verschiebt mit der Syntax Recycle Me.hwnd, Dateien() angewählte Dateien in den Papierkorb. Ein Beispielprojekt finden Sie auf der Heft-CD im Verzeichnis tipsprog\Winfunc.

Verfasser: Andreas
Letzte Änderung: 2012-09-12 20:12


Dokument und Verknüpfung anlegen

Der folgende Trick zeigt, wie Sie noch nicht existierende Verknüpfungen für einen gewählten Dateityp anlegen. Ab Windows 95 verwalten Dateikürzel die zugehörigen Anwendungen. Der Verbund zwischen Kürzel und Anwendung heißt Verknüpfung. Diese befähigt Windows, Programme durch Anwahl eines Dokuments automatisch zu starten. Wenn keine Verknüpfung für einen gewählten Dateityp existiert, legen Sie diese mit der Routine ExecuteOrLink-Dialog an. Diese Routine startet ein Programm oder lädt ein angegebenes Dokument in eine verknüpfte Anwendung. Die Routine zeigt immer dann, wenn zum angegebenen Dokument keine Ver-knüpfung definiert wurde, den Dialog Öffnen mit an. Damit weisen Sie eine registrierte Anwendung zu oder richten eine neue Verknüpfung ein. Die auszuführende Datei übergeben Sie mit dem Suchpfad ExecuteOrLink-Dialog über den Parameter Datei. Dann leiten Sie sie lediglich an das Programm Rundll32.exe weiter. Dieses führt in der dynamischen Verbindungsbibliothek Shell32.dll die Funktion OpenAs_Run DLL aus. Im Beispielprogramm Win auf der Heft-CD wählen Sie eine Datei oder ein Dokument per Öffnen-Dialog aus. Der gemeinsame Windows-Dialog wird über ein CommonDialog-Steuerelement sowie über die benutzerdefinierte Funktion FileOpen angewählt und an die Methode ExecuteOrLinkDilaog übergeben. 'Beispielaufruf ExecuteOrLinkDialog Datei$

Verfasser: Andreas
Letzte Änderung: 2012-09-12 20:13


Druck per verknüpfter Anwendung

Den in Visual Basic fehlenden Druckbefehl für verknüpfte Anwendungen programmieren Sie mit der API-Funktion ShellExecute.
Die Funktion ShellExecute führt Programme aus und druckt Dokumente mit dem Programm, das sie angelegt hat. Voraussetzung: Die Programme drucken überhaupt und haben sich in der Windows-Registry eingetragen. Bevor Sie Dateien über verknüpfte Anwendungen ausdrucken, deklarieren Sie die API-Funktion ShellExecute. Diese erwartet
 im ersten Paramater eine Fensterkennung des Fensters, aus dem der Funktionsaufruf erfolgt,
 im zweiten Parameter eine Zeichenkette zur auszuführenden Operation, hier also Print,
 im dritten eine Zeichenkette mit Programmparametern sowie
 im vierten Hinweise, wie das Fenster einzublenden ist: minimiert, versteckt, Standard oder Vollbild. Der letzte Parameter stellt sicher, daß das gestartete Fenster der druckenden Anwendung nicht automatisch aktiviert und in den Vordergrund geholt wird. So drucken Sie aus Visual Basic Word-Dokumente oder Excel-Tabellen.
'Dateien ausführen, Drucken
Declare Function ShellExecute _
Lib "shell32.dll" Alias _
"ShellExecuteA" _
(ByVal hwnd As Long, _
ByVal lpOperation As String, _
ByVal lpFile As String, _
ByVal lpParameters As String, _
ByVal lpDirectory As String, _
ByVal nShowCmd As Long) As Long
Public Const SW_NORMAL = 1
Entsprechend der Routine PrintFile codieren Sie diesen universellen Druckbefehl. Zunächst definieren Sie prozedurintern eine Konstante für den zu verwendenden Fenstermodus. Das Anwendungsfenster soll hier minimiert, jedoch nicht aktiviert werden. Die Fensterkennung hwnd sowie die auszudruckende Datei werden als Aufrufparameter übernommen und lediglich an die API-Funktion weitergeleitet. Print löst den Druck aus. Der letzte Parameter übergibt den Fenstermodus. Alle weiteren Parameter brauchen Sie nicht ersetzen Sie sie durch Nullzeiger:
Sub PrintFile(hwnd As Long, _
Datei As String)
'Dokument ausdrucken
Const SW_SHOWMINNOACTIVE = 7
R&=ShellExecute(hwnd, "print", _
Datei, ByVal 0&, 0&, _
SW_SHOWMINNOACTIVE)
End Sub

Verfasser: Andreas
Letzte Änderung: 2012-09-12 20:15


gif-Format prüfen

Jede gif-Datei besitzt eine dateiinterne Kennung, an der Sie sie erkennen. Anhand der Dateiendung identifizieren Sie eine gif-Datei nicht eindeutig, da eine Endungen frei wählbar ist. Um sicherzugehen, dass in einer gif-Datei tatsächlich ein Bild oder eine Animation steckt, analysieren Sie den Dateikopf. Jede gif-Datei besitzt einen solchen Header mit Angaben der intern verwalteten Bilder, der Bildgrößen und der Position animierter Teilbilder. Der Dateikopf beginnt mit der Kennung gif. Diese lesen Sie im binären Dateimodus aus. Die benutzerdefinierte Funktion IsGif-File erhält einen gif-Dateinamen mit Pfad. Ist die gif-Kennung vorhanden, liefert die Funktion dem Programm True, sonst False. Die Funktion arbeitet unabhängig vom Dateikürzel. Sie erkennt gif-Dateien auch mit einer anderen Dateiendung. Das Beispielprogramm rmod.bas zeigt diese Funktion: Public Function IsGifFile(Datei$) As Boolean .../rmod.basauf der Heft-CD demonstriert das Verfahren.

Verfasser: Andreas
Letzte Änderung: 2012-09-12 20:16


Per Explorer animiert kopieren

Mit diesem Trick kopieren Sie Dateien und blenden dabei den Explorer-Animationsdialog ein. Sie kopieren Dateien und blenden dabei den Explorer-Animationsdialog ein, indem Sie die Kopierfunktion über die API-Funktion SHFileOperation nutzen. In diesem Fall können Sie Kopiervorgänge leicht überwachen und rückgängig machen. Eine benutzerdefinierte Überwachung des Kopierens ist nicht mehr erforderlich. Bevor Sie die Kopierfunktion über die benutzerdefinierte Routine Animated-FileCopy vereinfacht zur Verfügung stellen können, müssen Sie zunächst die API-Funktion SHFileOperation sowie die Struktur SHFileOptStruct deklarieren. Die Routine AnimatedFileCopy ist synonym zur Papierkorb-Löschfunktion aufgebaut und erwartet neben einer Fensterkennung hwnd&, eine Dateiliste als Variant-Datenfeld sowie die Zielverzeichnisangabe über den Parameter Destination$. Die übergebenen Dateien werden erneut zu einer einzelnen Zeichenkettenvariablen zusammengefaßt, wobei jede Datei von der darauffolgenden Datei durch ein Nullbyte (vbNullChar) getrennt und das Ende der Dateiliste durch ein doppeltes Nullbyte gekennzeichnet wird. In der Strukturvariable SHFileOp übernehmen Sie die Fensterkennung hWnd, die Kopierfunktion &H2, die Dateiliste fList sowie den Titel Kopieren.... Für den Kopiervorgang rufen Sie mit den initialisierten Werten die API-Funktion SHFileOperation auf. Das Beispiel Win kopiert das Verzeichnis C:\Windows\*.* in C:\Testkopie. Der Animationsdialog erlaubt den vorzeitigen Abbruch.

Verfasser: Andreas
Letzte Änderung: 2012-09-12 20:17


Struktur des zip-Archivs

Mit Hilfe von VB-Verbundstrukturen definieren Sie den grundlegenden Aufbau einer zip-Archivdatei, und lesen Sie deren Struktur vereinfacht ein. Im zip-Archiv liegt das bekannteste Format für komprimierte Dateien vor. Welche Dateien aus welchen Ursprungsordnern und mit welchen Komprimiermethoden in einem Archiv abgelegt sind, ermitteln Sie über den Dateikopf (Header) im binären Dateimodus. Um die Informationen des Dateikopfs vereinfacht einlesen zu können, bilden Sie die internen Strukturen mit benutzerdefinierten Verbundstrukturen nach. Das verrät Ihnen der Dateikopf, der sich aus mehreren Verbundstrukturen zusammensetzt, die nacheinander angeordnet sind. Zu den Informationen mit fester Länge kommen in einem Archiv Daten mit variabler Länge hinzu, die den Dateinamen oder Kommentare enthalten können. Diese Auskünfte kann die Struktur nicht aufnehmen, weil sie in Abhängigkeit von den Längenangaben nach Bedarf gesondert ausgewiesen werden. Als erste Information finden Sie in einem zip-Archiv einen Verbund oder mehrere entsprechend der Struktur LocalFileheader. Jede komprimierte Datei wird über einen Struktureintrag verwaltet, über den Sie neben der Dateisignatur, der Versionsnummer, der Komprimierungsmethoden auch Datum und Zeit der letzten Änderung abfragen. Teile der Datenstruktur verraten auch die Länge des Dateinamens. Dieser weist eine dynamische Länge auf und schließt sich an die Struktur mit der statischen Länge an. Die Längenangabe des Dateinamens innerhalb der Struktur erlaubt es, sich später so lange von Verbund zu Verbund vorzuarbeiten, wie die Signatur den Wert &H4034B50 zurückliefert. 'Datenstruktur: Zip-Archive Type LocalFileHeader Signature As Long Version As Integer GeneralPurpose As Integer CompressionMethod As Integer LastModTime As Integer LastModDate As Integer crc32 As Long CompressedSize As Long UncompressedSize As Long FileNameLength As Integer ExtraFieldLength As Integer 'Dateiname (variabel) 'ExtraField (variabel) End Type Innerhalb des Strukturelements GeneralPurpose wird im dritten Bit codiert, ob die Struktur um einen Data Descriptor (eine zusätzliche Struktur mit Archivinformationen) erweitert ist. Um den zip-Archivinhalt zu ermitteln, muss ein eventuell vorhandener Data Descriptor, der sich dem Strukturelement vom Typ LocalFileHeader anschließen kann, überlesen werden. Nur so gelangen Sie zum jeweils nachfolgenden Dateieintrag, der über eine Struktur vom Typ LocalFileHeader verwaltet wird. Type DataDescriptor crc32 As Long CompressedSize As Long UncompressedSize As Long End Type Wie Sie die allgemeinen Archivinformationen anhand der benutzerdefinierten Strukturen auslesen, zeigt das Beispielprogramm .../ziptoolauf der Heft-CD.

Verfasser: Andreas
Letzte Änderung: 2012-09-12 20:18


Verzeichnis auf Existenz überprüfen

Mit der Standardanweisung dir überprüfen Sie, ob ein angegebenes Verzeichnis bereits existiert. Die benutzerdefinierte Funktion PathExist ermittelt zu einem angegebenen Pfad, ob dieser bereits existiert und liefert das Ergebnis als True- oder False-Wert an das aufrufende Programm zurück. Durch Übergabe des Werts 16 erreichen Sie, daß die hier genutzte dir-Funktion ausschließlich Verzeichnisnamen berücksichtigt. Function PathExist(Pfad$) _ As Boolean 'Pfad auf Existenz prüfen PathExist = _ (Dir$(Pfad$, 16) < "") End Function Was die Funktion PathExist ermittelt, steuert den weiteren Programmablauf: So legen Sie beispielsweise den Pfad zunächst an oder geben eine Meldung aus, wenn dieser existiert. Die Funktion nutzt das Beispielprogramm Win auf der Heft-CD, um ein Verzeichnis einzurichten, in dem Sie kopierte Dateien ablegen. If PathExist(Pfad$) Then 'Pfad existiert Else 'Pfad existiert nicht End If

Verfasser: Andreas
Letzte Änderung: 2012-09-12 20:22


Verzeichnisse in der Explorer-Ansicht

Weil die API-Funktion ShellExecute ein beliebiges Verzeichnis an den Explorer übergibt, bauen Sie keine Funktionen zum Laufwerks-, Verzeichnis- und Datei-Management ein. ShellExecute zeigt ein Verzeichnis im Explorer an. Während Sie für den Druck das Explorer-Fenster minimieren, sehen Sie die Verzeichnisse im Normalmodus. Dazu führen Sie die Systemkonstante SW_NORMAL ein: Const SW_NORMAL=1 Zum Start des Explorer übergeben Sie explore im zweiten Parameter. Bei der Fensterkennung und dem Fenstermodus ergeben sich gegenüber dem vorigen Tip keine Unterschiede. Lediglich im dritten Parameter übergeben Sie nur einen Pfad: Sub Explore(hwnd As Long, _ fname As String) R& = ShellExecute(hwnd, _ "explore", fname, _ ByVal 0&, 0&, SW_NORMAL) End Sub Aktivieren Sie im Beispielprogramm eine Datei, wird automatisch deren Verzeichnis im Explorer angezeigt. Der Aufruf lautet: Explore Me.hwnd, Pfad$

Verfasser: Andreas
Letzte Änderung: 2012-09-12 20:25


zip-Archiv enttarnt

Mit dem Binärdateimodus offenbaren sich Ihnen die Inhalte von zip-Archiven. zip-Archive sichern üblicherweise komprimierte Daten. Visual Basic kann auf zip-Archive ohne spezielle Zusatzsteuerelemente oder Zusatzbibliotheken nicht direkt zugreifen. Mit Hilfe des Binärdateimodus und der Verbundstrukturen können Sie jedoch auch ohne Zusatzkomponenten den Inhalt bestehender zip-Archive offen legen. Hierbei nutzen Sie zur zip-Archivanalyse die Routine GetZipInfos, der Sie den zip-Archivdateinamen samt Suchpfad per Parameter übergeben. Die Routine gibt das Ergebnis ihrer Analyse unmittelbar über den zugeordneten Dialog aus, der über die Formdatei frmZip definiert ist. Deklarieren Sie Variablen mit den benutzerdefinierten Typen, um die Datei im binären Modus zu öffnen: Sub GetZipInfos(FileName$) Dim Header As LocalFileHeader Dim Descriptor As DataDescriptor Dim CentralDir As FileHeader Dim EndRecord As EndCentralDir- Record 'Dateibearbeitung im Binärmodus DNr = FreeFile Open FileName For Binary As #DNr Lesen Sie die Datensätze vom Typ LocalFileHeader ein. Zu jedem Header- Eintrag entschlüsseln Sie Data Descriptor, Dateinamen sowie das Extrafeld mit Zusatzinfos. Die wichtigsten Informationen schreiben Sie in das Listenfeld List1 des Ausgabedialogs. Wenn Sie Informationen binär lesen, positioniert sich der Dateizeiger automatisch korrekt. Die binäre Position sichern Sie nach dem Lesen eines jeden Header- Eintrags in der Variablen OldPos&. Wenn sich ein Strukturtyp wechselt, repositioniert das Verfahren den Dateizeiger automatisch. Sie erkennen den Header am Wert &H4034B50. Liefert die Signatur einen unzulässigen Wert zurück, ist das Archivverzeichnis gelesen. Danach positionieren Sie das Programm so, dass Sie die Central Directory-Einträge vom Typ FileHeader auswerten können. Diese CentralDir-Einträge (ab Get #DNr, Header) lesen Sie mit den Header-Einträgen aus. Die Struktrurelemente erfassen Sie über eine Schleife, solange die Signatur &H2014B50 ausweist. Die Ergebnisse übernehmen Sie in das Listenfeld List2 des Ausgabedialogs, um sie mit den Werten des Listenfeldes List1 zu vergleichen. Jedem CentralDir-Eintrag folgen der zugehörige Dateiname und sofern vorhanden ein Kommentar sowie ein Feld mit Zusatzinformationen. Diese lesen Sie nach der jeweiligen Struktur aus. Damit positionieren Sie den Dateizeiger korrekt. Sichern Sie die binäre Dateiposition in der Variablen OldPos&. Weist ein Datensatz keine gültige Signatur auf, können Sie auf diese gesicherte Position zurückgreifen. Alle Archivinformationen schließt ein Datensatz vom Typ EndCentralDirRecord ab, den Sie in die Variable EndRecord einfließen lassen. Die Variable liefert über die Strukturelemente die Anzahl der archivierten Dateien, die Vezeichnisgröße und den Archivkommentar zurück. Das Beispielprogramm schreibt die Informationen in das Listenfeld List3. Damit ist Ihre Analyse des Archivs abgeschlossen. Das Beispielprogramm VbZip liefert Ihnen einen Dialog zur Auswahl von zip-Dateien. Haben Sie Laufwerk, Verzeichnis und Zip-Datei gewählt, entschlüsselt das Programm die Dateien im gewählten Archiv mit komprimierten und entkomprimierten Datengrößen in Byte. Das Beispielprogramm .../ziptoolauf der Heft-CD analysiert zip-Archive.

Verfasser: Andreas
Letzte Änderung: 2012-09-12 20:26


Zur Anwendung passender Name

Von einem Dateinamen samt Suchpfad können Sie unter Verwendung des Hauptdateinamens weitere Arbeitsdateien ableiten.
Häufig benötigen Sie zu einem Dateinamen nur den Hauptnamen, optional samt Suchpfad, um anschließend Arbeitsdateien mit gleichem Hauptnamen und alternativem Dateikürzel anzulegen. Wahlweise können Sie das Zielverzeichnis übernehmen. Eine Anwendung kommt selten ohne spezielle Dateien aus, um Einstellungen, Daten oder Vorgabewerte zu verwalten. Üblicherweise erhalten diese zusätzlichen Dateien den gleichen Hauptnamen wie die Anwendung und eine eigene Dateiendung. Initialisierungsdateien verwenden ini und Datendateien häufig dat. Anwendungen speichern diese Dateien häufig im Windows-, Windows-System- oder in einem Programmverzeichnis, so dass auch oft ein übergebener Verzeichnisname abgespaltet werden muss. Mit Hilfe der Funktion Main-Filename$ können Sie den Hauptnamen samt Suchpfad von einem per Parameter übergebenen Dateinamen abspalten. Sie übergeben den vollständigen Dateinamen samt Pfad über den Parameter DateiMitPfad$. Über den Parameter IncludePath geben Sie an, ob der zurückgelieferte Dateiname den Suchpfad enthalten soll oder nicht. Das Ergebnis liefert die Funktion an das aufrufende Programm im Zeichenkettenformat zurück. Sie müssen lediglich das neue Dateikürzel ergänzen. Wollen Sie den Suchpfad für den neuen Dateinamen beibehalten und eine neue Datei mit dem Kürzel ini anlegen, verwenden Sie die Funktion in folgender Syntax:
NeuName$ =
MainFileName$("c:\Test\Gif.Exe",
True) & ".INI"
Wollen Sie den Suchpfad entsprechend dem vorangehenden Beispiel abspalten, nutzen Sie die Funktion hingegen in der Syntax:
NeuName$ =
MainFileName$("c:\Test\Gif.Exe",
False) & ".INI"
Prozedur-intern wird die übergebene Zeichenkette zeichenweise analysiert. Ein Punkt, von dem in Windows-Dateinamen mehrere enthalten sein können, legt fest, ob sich ein Dateikürzel abspalten lässt. Wenn ja, werden alle Zeichen, die sich nach dem letzten Punkt anschließen, entfernt. Gleichermaßen ist das Zeichen \ ein Indiz dafür, dass in einem Dateinamen eine Pfadangabe enthalten ist. Ist der Übergabeparameter auf False gesetzt, wird dieser Pfad abgespalten. Der Pfad entspricht sämtlichen Zeichen, die vor dem letzten Backslash vorhanden sind. Sie spalten den Rest dadurch ab, dass Sie die Zeichen des ursprünglichen Dateinamens zeichenweise lesen und von rechts beginnend neu verketten. Erkennen Sie das Zeichen \ im ursprünglichen Dateinamen, übernehmen Sie keine weiteren Zeichen in den neuen Dateinamen. Im Beispielprogramm arbeitet die Funktion
Public Function MainFilename$
Das Beispielprogramm .../rmod.bas auf der Heft-CD demonstriert das Verfahren.

Verfasser: Andreas
Letzte Änderung: 2012-09-12 20:27


(Alpha)numerisch sortieren

Sie geben Datenfeldinhalte über Listenfelder aus. Über die zugehörige Eigenschaft Sorted sortieren Sie sie aufsteigend alphanumerisch. Wollen Sie Zeichenketten nicht alphanumerisch, sondern numerisch wahlweise auf- oder abfallend sortieren, müssen Sie dies benutzerdefiniert tun: Zeichenketten können aus Buchstaben und/oder Ziffern zusammengesetzt sein, wobei Listenfelder immer im Zeichenkettenformat sortieren. Wer Zei-chenketten vergleicht und aus den Resultaten sortiert, muß zeichenweise vergleichen. Um dies zu umgehen, können Sie eine numerische Sortierung erzwingen. Dazu verwalten Sie über ein Datenfeld die Zeichenketten, wandeln diese in numerische Werte um, sortieren sie neu und schreiben sie in das gewünschte Listenfeld. Die Grundlage für eine numerische Sortierung sind die Ziffern, die Sie aus den zu sortierenden Zeichenketten filtern. Im vorliegenden Beispiel setzen Sie die Filterfunktion NumFilter$ (siehe Tip 38) ein. Da Visual Basic keine universellen Sortierfunktionen für Datenfelder bereitstellt, brauchen Sie eine benutzerdefinierte Sortierfunktion, die Sie an die definierten Filtertypen anpassen. Diese Routine nennen Sie Sort. Über den Parameter Data übergeben Sie der Routine das zu sortierende Datenfeld vom Typ Variant. Setzen Sie den Funktionsparameter Ascending beim Aufruf auf den Wert True, werden die Daten aufsteigend, sonst abfallend sortiert. Der Filtertyp für die Sortierung ist durch EnumFilter vorgegeben, den Sie der Sortierroutine über StringSort zuweisen. Auf- oder abfallend sortieren Sie durch Tausch der Elemente des Datenfelds Data. Ob ein Austausch erforderlich ist, wird prozedurintern ermittelt, indem Sie zunächst zu den jeweils zu vergleichenden Elementen via NumFilter$ die numerischen Teilinformationen ermitteln und vergleichen. Beim Austausch der Werte nutzen Sie die ungefilterten Informationen. Damit sind die Grundfunktionen vor-handen, um erweiterte Sortierfunktionen in Verbindung mit Listenfeldern einzurichten. Das Beispielprogramm Sortiere führt ein Datenfeld mit 10 Elementen ein. 'Beispieldatenfeld Dim Feld(1 To 10) Die Initialisierung des unsortierten Datenfelds erfolgt über die Prozedur Init-Data. Sämtliche Elemente des unsortierten Datenfelds bestehen aus alphanumerischen Zeichenketten. Die Zeichenketten wurden so gewählt, daß anhand des Datenfelds sämtliche der vordefinierten Filtertypen sinnvoll einsetzbar sind. Sub InitData() Feld(1) = "2324aaa3" Feld(2) = "324aaa1" Feld(3) = "24aaa2" Feld(4) = "2aaa4" Feld(5) = "23aaa7" Feld(6) = "232aaa8" Feld(7) = "555aaa5" Feld(8) = "557aaa6" Feld(9) = "8988aaa4" Feld(10) = "2222aaa3" End Sub Um die sortierten Ausgangsdaten mit den unsortierten sowie den durch die Sorted-Eigenschaft sortierten Daten vergleichen zu können, wird das unsortierte Datenfeld in die Listenfelder List1 (Sorted=False) und List2 (Sorted=True) übernommen. Über das Rahmenfeld Optionen legen Sie zur Laufzeit fest, nach welchem Schema die benutzerdefinierte Sortierung erfolgen soll: auf- oder absteigend. Und Sie filtern die Ziffern für den Vergleich heraus. Wechseln Sie den Filtertyp, arbeitet die Routine sOpt_Click, der Sie den Index des gewählten Optionsfelds als Parameter übergeben. Mit InitData wird das unter Umständen bereits sortierte Datenfeld zunächst auf den unsortierten Zustand zurückgesetzt. Die aufgerufene benutzerdefinierte Routine Sort sortiert dann entsprechend den aktuell gesetzten Optionen ein weiteres Mal. Das sortierte Datenfeld schreiben Sie in das Listenfeld List3 (Sorted=False). Um das interne Filterkriterium offenzulegen, übernehmen Sie das Datenfeld mit verkettetem Sortierungsfilter außerdem in das Listenfeld List4. Dadurch erkennen Sie sehr leicht, welche internen Ziffern tatsächlich für die Sortierung genutzt wurden. Wenn Sie von der aufsteigenden zur abfallenden Sortierung wechseln und umgekehrt, aktivieren Sie die Ereignisprozedur chkAscending_Click. Diese Routine ruft die Ereignisprozedur sOpt_Click auf und sortiert ein weiteres Mal. Wollen Sie die benutzerdefinierten Sortierfunktionen standardmäßig mit Listenfeldern einsetzen, können Sie für das vorhandene Listenfeld ab Visual Basic 5.0 ein neues Steuerelement generieren.

Verfasser: Andreas
Letzte Änderung: 2012-09-12 20:28


Daten ver- und entschlüsseln

Neben den Windows-APIs zur Datenverschlüsselung können Sie auch benutzerdefinierte Algorithmen verwenden. NT 4.0, Windows 95 OSR2 und 98 stellen per API spezielle Datenver- und -entschlüsselungsalgorithmen zur Verfügung. Wollen Sie lediglich Zeichenketten innerhalb Ihrer Programme unsichtbar machen, so daß diese weder einzusehen noch zu ändern sind, verwenden Sie Ihre eigenen Algorithmen. Dies hat den Vorteil, daß die Programme keine Systembibliotheken benötigen und auch unter älteren Windows-95-Versionen einsetzbar sind. Dateien speichern Texte meist so, wie Sie diese im Programm verwalten und eingeben. Dies gilt insbesondere dann, wenn Ihr Programm mit sequentiellen und Binärdateien sowie Daten im Zei-chenkettenformat arbeitet. Häufig ist es jedoch sinnvoll, die Daten unlesbar zu machen, um beispielsweise Registrierschlüssel oder ähnliches zu verbergen. Schließlich wollen Sie ausschließlich mit der eigenen Anwendung auf Ihre Daten zugreifen. Um dies zu erreichen, schalten Sie eine Verschlüsselungsroutine vor dem Speichern und eine Entschlüsselungsroutine beim Einlesen der verschlüsselten Texte dazwischen. Es gibt viele Verschlüsselungsalgorithmen, und manche sind schnell enttarnt. Die Ver- und Entschlüsselung basiert auf einem benutzerdefinierten Codier- und einem Decodierschlüssel. Diese Schlüssel passen Sie an, um eine alternative Verschlüsselung zu erreichen. Mitunter bewirkt eine verschlüsselte Spei-cherung der Schlüssel sogar, daß diese nicht mit einem Hex-Editor offengelegt werden können. In eigenen Programmen sollten Sie jedoch den Verschlüsselungscode sowie den Algorithmus der Verschlüsselung abwandeln, um die Datensicherheit zu erhöhen. Für die Verschlüsselung definieren Sie Code-Sequenzen als Konstanten. Die Zeichenkette cNormal$ enthält die zu verschlüsselnden Zeichen, andere entfallen. Innerhalb von cCode$ mischen Sie die gleichen Zeichen aus cNormal$. Die Nummer des Zeichens ist in Normal$ und Code$ identisch, nur Leerzeichen ersetzen Sie, wie es die Konstante cSpaceCode$ definiert. Die Verschlüsselung sorgt dafür, daß aufeinanderfolgende Leerzeichen niemals durch dasselbe Zeichen ersetzt werden. 'Cod-/Decodierungsschlüssel '(zur Sicherheit ändern!) Const cNormal$ = _ "ABCDEFGHIJKLMNOPQRSTUVWXYZabcde fghijklmnopqrstuvwxyz123456789 0ÄÖÜßäöü" Const cCode$ = _ "sb3G9krö8MjStÖYqI7DaLiR6zgNufX2 HpWÜh0TläBdoZvKßFcCwQn4UmOAüx1 JEyPÄ5Ve" Const cSpaceCode$ = _ &quo "*;F@\^:%&/$'|"Crypt$ verschlüsselt einen übergebenen Text nach diesen Schlüsseln, die prozedurintern die Variablen Code$, Normal$ und SpaceCode$ überneh-men. Wenn kein Text zu verschlüsseln ist, endet die Funktion vorzeitig. Die Codierung verschlüsselt zeichenweise. Ist das Zeichen in Normal$ vorhanden, wird es durch eines in Code$ ersetzt. Ein Leerzeichen ersetzt ein Zeichen aus SpaceCode$. Ist ein Zeichen nicht in Code$ definiert, so wird es unverändert übernommen. Die Function Crypt$(Text$) finden Sie im Listing crypto.bas. Über DeCrypt$ decodieren Sie diesen verschlüsselten Text. Auch diese Prozedur übernimmt die konstanten Codierschlüssel aus Normal$, Code$ und SpaceCode$. Die übergeordnete Definition der Schlüssel sorgt für eine einheitliche Ver- und Entschlüsselung. Um Text zu ver- und entschlüsseln, rufen Sie die Funktionen Crypt$ und DeCrypt$ auf. Innerhalb unseres Beispielprogramms Crypto wird unverschlüsselter Text in Text1 und ver-schlüsselter in Text2 ausgegeben bzw. verwaltet. 'Codieren Text2.Text = Crypt$(Text1.Text) 'Decodieren Text1.Text= DeCrypt$(Text2.Text) Mit diesen Grundfunktionen können Sie auch dateiorientierte Ver- und Ent-schlüsselungen vornehmen. Dazu brauchen Sie Dateien lediglich binär zu öff-nen, Teilblöcke in Zeichenkettenvariablen einzulesen, diese via Crypt$ zu verschlüsseln und wieder blockweise zu sichern. Die Funktion DeCrypt$ ent-schlüsselt wieder. Ein Beispielprojekt für Visual Basic 6.0 finden Sie auf der Heft-CD im Verzeichnis tipsprog\Crypto. Die Function Crypt$(Text$)finden Sie im Listing crypto.bas. Alternative Verschlüsselungen erreichen Sie auch, indem Sie die Routinen zur Datenver- und -entschlüsselung für eine einzelne Zeichenkette per Schleifenkonstrukt mehrfach aufrufen. Die Anzahl der Verschlüsselungs- aufrufe muß der Anzahl der Entschlüsselungsaufrufe entsprechen, um eine verschlüsselte Zeichenkette wieder lesbar zu machen.

Verfasser: Andreas
Letzte Änderung: 2012-09-12 20:28


Teilinformationen aus Zeichenketten herausfiltern

Der Tip zeigt, wie Sie Zeichenketten und Listenfeldinhalte numerisch sortieren. Wer eine alphanumerische Liste nach Nummern sortieren will, muß manuell nachhelfen. Wer die numerischen Bestandteile der Zeichenketten als Sortier-kriterium braucht, muß diese aus den Zeichenketten filtern. Sie sortieren dann mit diesen Teilinformationen. Bevor Sie eine benutzerdefinierte Sortierfunktion programmieren, prüfen Sie erst, in welcher Form Ziffern in Zeichenketten enthalten sind. Einige Beispiele sind: 123Text Text123 123Text456 Text123und456Text Mit welchen numerischen Werten Sie sortieren, kann also variieren. Doch ein Filter muß einheitlich für alle zu sortierenden Zeichenketten gültig sein. Unser Beispielprojekt definiert zunächst die unterstützten Filtertypen über den Enumerationsdatentyp Enum-Filter. Da der Enumerationsdatentyp erst seit Visual Basic 5.0 zur Verfügung steht, müssen Sie die Typen unter Visual Basic 4.0 über gesonderte Konstanten verwalten. Der Typ NoFilter berücksichtigt sämtliche Zeichenketten. GetAllNumbers ermittelt alle Ziffern innerhalb der Zeichenkette und verkettet diese zu einer neuen, die Sie per Val-Funktion in den numerischen Wert umwandeln. Da das Verketten sämtlicher Ziffern nicht in jedem Fall sinnvolle Ergebnisse liefert, filtern Sie mit dem Typ GetFirstNumbers alle führenden Ziffern bis zum er-sten Buchstaben und mit dem Typ Get-LastNumbers die rechten Ziffern bis zum ersten Buchstaben heraus. Enum EnumFilter 'Zeichenkettenfilter für 'numerische Sortierung NoFilter GetAllNumbers GetFirstNumbers GetLastNumbers End Enum Aus einer Zeichenkette filtern Sie numerische Informationen mit der benutzerdefinierten Funktion NumFilter$, der Sie den zu filternden Text sowie den Filtertyp per Parameter übergeben. Die Funktion liefert das Ergebnis über den Funktionsnamen an das aufrufende Programm zurück. Innerhalb der Funktion werden sämtliche Zeichen der übergebenen Zeichenkette in Abhängigkeit vom Filtertyp nacheinander analysiert. Liefert ein Zeichen einen ASCII-Code größer oder gleich 48 und kleiner oder gleich 57 zurück, so handelt es sich um eine Ziffer, die der temporären Zeichenkette Temp$ angefügt wird. Werden lediglich Teilin-formationen abgefragt, endet die Analyse immer dann, wenn ein Buchstabe auf eine Ziffer folgt. Ohne numerischen Filtertyp liefert NumFilter$ eine leere Zei-chenkette zurück. Der Aufruf der benutzerdefinierten Funktion erfolgt entsprechend den folgenden Beispielaufrufen. Handelt es sich bei dem zu filternden Text um eine Variant-Variable, können Sie diese vor dem Aufruf über die VB-Funktion CStr in eine Zeichenkette umwandeln. Damit können Sie bereits die numerischen Teilinformationen aus Zeichenketten filtern.

Verfasser: Andreas
Letzte Änderung: 2012-09-12 20:29


Computer » Programmierung » Visual Basic » Visual Basic 4

Allgemeine Schutzverletzung

Verwenden Sie die Methode UpdateControls bei leeren Data-Controls, führt dies zu einer Schutzverletzung.
Die Methode UpdateControls liest die Inhalte des aktuellen Datensatzes eines Recordset-Objekts, das an ein Datensteuerelement (Data1) gebunden ist. Zudem frischt es alle Inhalte der datensensitiven Controls auf, die an Data1 hängen. Rufen Sie diese Methode jedoch auf, wenn das Data-Control an keine Datenbank gekoppelt ist, verursacht Ihre Anwendung unter allen Windows-Betriebssystemen von 3.1 bis NT 4.0 sofort eine Allgemeine Schutzverletzung. Dies gilt sowohl für die 16- als auch für die 32-Bit-Versionen von VB. Wollen Sie diesen Bug in Visual Basic reproduzieren, so starten Sie zunächst ein neues Projekt. Legen Sie dann ein Data-Control auf Ihr Formular. Als Ergebnis auf das Click-Ereignis fügen Sie den Code
Private Sub Form_Click()
Data1.UpdateControls
End Sub
ein und starten das Programm. Fertig!
ib

Verfasser: Andreas
Letzte Änderung: 2012-09-12 20:06


Bilder ausdrucken

Immer wieder taucht die Frage auf, wie Bilder auszudrucken sind. Seit VB 4 ist das kein Problem mehr. Um Bilder skaliert auszudrucken, verwenden Sie die PaintPicture-Methode, über die auch das Printer-Objekt verfügt. Und dieses steht für den aktuell im System eingesetzten Standarddrucker. Für gute Ergebnisse passen Sie die Druckereinstellungen Ihrem auszudruckenden Bild an. Dafür schreiben Sie die Routine picprn.bas, die Sie ganz einfach in Ihre Projekte einfügen. Um das Picture-Objekt deklarieren und anwenden zu können, aktivieren Sie vorher einen Verweis auf die StdOLE-Types.

Verfasser: Andreas
Letzte Änderung: 2012-09-12 20:07


Computer » Programmierung » Power Basic

3D-Schrift im Weltraum

Verschaffen Sie kleinen Programmen ein originelles Outfit.
 "animfont.bas" (Listing in Databox 2/97) verschafft Ihnen einen hübschen 3D-Effekt. Nachdem Sie das Programm aufgerufen haben, lassen Sie Ihren PC rechnen. Zunächst bleibt der Bildschirm dunkel. Doch nach kurzer Zeit taucht die Zeichenkette "3D Font" auf, die durch einen virtuellen Weltraum gleitet.
 Philipp Lenssen/et

Verfasser: Andreas
Letzte Änderung: 2012-03-09 17:51


Das BIOS-Paßwort löschen

Sie lesen das Paßwort aus dem CMOS und löschen es - allerdings nur beim AMI-Setup.
"delamipw.bas" (Listing in Databox 1/97) löscht das Paßwort des AMI-Setup. Zuerst ändern Sie im CMOS zwei Bits an der Adresse 32hex in "00". Dies bewirkt, daß das BIOS-Paßwort nicht mehr abgefragt wird. Anschließend überschreiben Sie das Paßwort (38hex - 3Dhex) mit dem Wert 00. Schließlich aktualisieren Sie die CMOS-Checksumme in
SUB CheckSum
Das Programm prüft nicht, ob es sich um ein AMI-BIOS handelt. Daher sollten Sie es mit keinem anderen BIOS verwenden.    Paul Häder/et-

Verfasser: Andreas
Letzte Änderung: 2012-09-10 19:02


Computer » Programmierung » Perl

Templates verwenden

Verwenden Sie für Ihre CGIProgramme Schablonen, um den Quellcode von HTML zu trennen.
 Bei der Programmierung von CGIScripts kann es sinnvoll sein, den Quellcode von Ihren HTML-Seiten zu trennen, damit die Übersichtlichkeit gewährt bleibt. Passen Sie also das Design Ihrer Webseiten auf diese Weise zeitsparend und mit geringem Arbeitsaufwand an. In der HTML-Seite, die Sie wie gewohnt erstellen, können Sie Platzhalter unterbringen, die später von einem Perl-Script gefüllt werden. In unserem Beispiel möchten wir einen Namen und einen Ort dynamisch ausgeben:
 <HTML>
 <HEAD>
 <TITLE>Template </TITLE>
 </HEAD>
 <BODY>
 <H2>Template</H2>
 Ich heiße $vorname $name und wohne
 bei $ort.
 </BODY>
 </HTML>
 Diese Datei wird nun durch ein Perl-Script ausgelesen und an den Stellen, an denen ein Platzhalter vorkommt, mit den Variablen aus dem Script gefüllt. Für die obige Seite würden Sie beispielsweise dieses Script verwenden:
 #01 #!/usr/bin/perl
 #02 # ---------------------
 #03
 #04 $vorname = "Johannes";
 #05 $name = "Gamperl";
 #06 $ort = "München";
 #07
 #08 print "Content-type:
 text/html\n\n";
 #09 print
 &Template("/server_pfad/cgibin/
 templates/_template.html");
 #10 exit;
 #11
 #12 sub Template {
 #13 local(*FILE);
 #14 local($file);
 #15 local($HTML);
 #16
 #17 $file = $_[0] || die
 "Template : Es wurde keine Template-
 Datei definiert.\n";
 #18
 #19 open(FILE, "<$file") ||
 die "Template : Konnte $file
 nicht öffnen: $!\n";
 #20 while (<FILE>) { $HTML
 .= $_; }
 #21 close(FILE);
 #22
 #23 $HTML =~
 s/\$(\w+)/${$1}/g;
 #24 return $HTML;
 #25 }
 Die Subroutine Template liest zunächst eine Datei aus und speichert den Inhalt in $HTML (Zeilen 19 bis 21). Anschließend wird der komplette Inhalt von $HTML mit Hilfe eines regulären Ausdrucks durchlaufen (Zeile 23) und alle vorkommenden Platzhalter mit den Variablen aus dem Script ersetzt und schließlich der Inhalt von $HTML am Bildschirm ausgegeben. Im Script rufen Sie die Subroutine mit dem print()-Befehl auf. Achten Sie darauf, dass Sie zuvor den Contenttype (text/html) gesetzt haben.
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 18:13


Dateiinhalte anzeigen

Sie wollen den Text aus einer Datei zeilenweise ausgeben und Textverarbeitung optimieren.
Ein versierter Perl-Programmierer löst manchmal mit nur einer Zeile komplexe Aufgaben, wobei Sie Perl auf Ihrem Rechner installieren sollten: Unter www.activestate.com erhalten Sie eine Distribution für Windows. Das Codebeispiel zeigt, wie Sie bestimmte Zeilen einer Datei ausgeben:
open(FILE, $ARGV[0]) || die
"Konnte Datei nicht öffnen";
($start, $ende) = split(/-/,
$ARGV[1]);
for ($i=1; $i<=$ende; $i++) {
$zeile = <FILE>;
if ($i >= $start) {
print $zeile;
}
}
Speichern Sie den Code unter dem Namen zeige_zeilen.pl und starten Sie ihn in der Kommandozeile mit dem folgenden Aufruf:
perl zeige_zeilen.pl
datei_name.endung start_zeile
ende_zeile
Mit dieser Syntax ermitteln Sie die Anzahl der Zeilen einer Datei:
open(FILE, $ARGV[0]) || die
"Konnte Datei nicht öffnen";
$anzahl++ while (<FILE>);
close (FILE);
print $anzahl;
Der Aufruf erfolgt über
perl anzahl_zeilen.pl test.txt
So geben Sie die Datei komplett aus:
open(FILE, $ARGV[0]) || die
"Konnte Datei nicht öffnen";
print $_ while (<FILE>);
close(FILE);
perl zeige_inhalt.pl test.txt
gibt den Inhalt der angegebenen Datei am Bildschirm aus.

Verfasser: Andreas
Letzte Änderung: 2012-09-10 19:01


Computer » Programmierung » Pascal

3D-Funktion

3D-Funktionen reizen Programmierer immer wieder zu Experimenten.
"3dfunkti.pas" (Listing in Databox 2/97) schreibt eine dreidimensionale mathematische Funktion
Z = f(X,Y)
auf den Bildschirm. Sie berechnen Z mit den Werten X und Y als laufende Parameter und einer Schrittweite von 0,15. Die Anfangswerte von X und Y betragen -3, der Endwert 3. Den Blickwinkel auf die Funktion können Sie über die Konstanten "nw" (Neigungswinkel: 0 bis 90 Grad) und "rw" (Rotationswinkel: -360 bis 360 Grad) in der ersten Zeile des Quellcodes ändern. Die Konstante "n" dient als Vergrößerungsfaktor. Brauchbare Ergebnisse erhalten Sie mit Werten zwischen 0,5 und 1,5. Zudem verändern Sie die Farbe der Funktion über "f1" und "f2". Weitere Funktion stellen Ihnen die Funktionsgleichungen zur Verfügung (Zeilen 11 bis 21).
Ändern Sie den Pfad für "InitGraph" (Zeile 29) entsprechend, wenn Sie Ihren Grafiktreiber in einem anderen Verzeichnis verwahren.
Gunnar Specht/et

Verfasser: Andreas
Letzte Änderung: 2012-09-10 18:51


Animierte Bitmaps

Unit und Demo animieren Bitmaps ruckelfrei.
Die Unit "anim1.pas" (Listing in Databox 5/97) spielt Animationen mit 320 x 200 Pixeln in 256 Farben ab, wenn Sie beliebig viele Bitmaps - im Format 8 Bit/Pixel, 320 x 200 - schnell hintereinander laden. Doch beim Animieren von Bitmaps unter DOS stoßen Sie auf zwei Schwierigkeiten:
1. Da die Bilder auf dem Kopf stehend vorliegen, müssen Sie sie wenden.
2. Wenn Sie die Bilder nicht schnell genug hintereinander laden, wackeln sie.
Eine Lösung bietet die Prozedur L_Bmp (LoadBMPFile). Lesen Sie zuerst alle RGB-Werte ein, und initialisieren Sie sie über die Ports 3C8hex und 3C9hex.
Die Animator-Prozedur spielt die Bilder hintereinander ab. Darin übergeben Sie Verzögerungszeiten sowie Start- und Endnummer der Animation als Parameter. Außerdem müssen Sie dort den Anfangsteil Ihrer Bilder angeben wie zum Beispiel
Animator('Test',1,10,300);
Um den Animator nutzen zu können, speichern Sie Ihre Bitmaps unter Namen wie "test1.bmp", "test2.bmp" bis zu "test10.bmp". So kann die Prozedur den Pfad über den Anfangsteil und die Nummern selbst generieren. Sie können die Bilder auch in umgekehrter Reihenfolge abspielen, wie "animdemo.pas" (Listing in Databox 5/97) vorführt.
Tobias Bechtold/et

Verfasser: Andreas
Letzte Änderung: 2012-09-10 18:51


Backup der BIOS-Variablen

Sichern Sie den Inhalt wichtiger Systemeinstellungen aus dem BIOS in eine Datei.
CopyBIOS liest den nicht-flüchtigen Speicher der batteriegepufferten Echtzeituhr aus und speichert die Einträge der BIOS-Variablen in die Datei "bios.mem". Rufen Sie "copybios.exe" (Listing in Databox 4/97) dazu mit der /R-Option (= read) auf. Gehen diese Daten durch den Ausfall der Batterie oder Sabotageprogramme verloren, kopieren Sie sie einfach mit dem /W-Schalter (= write) wieder zurück.
Das BIOS legt die Variablen, die Sie im BIOS-Setup verändern können - wie Festplattentypen und die Chipsatz-Einstellungen - im batteriegepufferten RAM der Echtzeituhr ab. Die Daten lesen und schreiben Sie über die Register 70hex und 71hex. Dazu laden Sie das Register 70hex mit Adresse und lesen den Inhalt aus oder schreiben den Wert in Register 71hex. Das Turbo-Pascal-Programm "copybios.pas" liest alle Variablen außer der aktuellen Uhrzeit - daher beginnt es erst beim Offset 0Ahex. Die Auswertung der Kommandozeile und die Fehlerbehandlung sind extra kurz gehalten und berücksichtigen daher nicht alle denkbaren Fehlerquellen.
Andreas Kammerer/pei

Verfasser: Andreas
Letzte Änderung: 2012-09-10 18:52


Daten seriell übertragen

Mit einem Terminalprogramm schicken Sie Daten über die serielle Schnittstelle.
"comm.pas" (Listing in Databox 5/97) arbeitet unter Turbo Pascal mit Assembler-Befehlen. Sie rufen das Terminalprogramm mit
comm 19200 test.dat j
auf. Mit einer Geschwindigkeit von 19200 bps versenden Sie die Datei "test.dat" über die COM1-Schnittstelle.
Pan Sismanis/et

Verfasser: Andreas
Letzte Änderung: 2012-09-10 18:52


Debugger für Batchdateien

Ein Profi-Werkzeug für jeden Batch-Progammierer führt Stapeldateien schrittweise aus und erleichtert so die Fehlersuche.
Mittlerweile bietet jede ausgereifte Programmiersprache nicht nur einen schnellen Compiler, sondern auch einen leistungsfähigen Debugger zur Fehlersuche. Doch wie sieht es in solcher Hinsicht mit der Batchsprache von MS-DOS aus? Bisher hatten Sie keine Möglichkeit, eine unter DOS geschriebene Stapelverarbeitungsdatei schrittweise auszuführen.
Mit dem kurzen Turbo-Pascal-Listing "batdebug.pas" (Listing in Databox 4/97) entwanzen Sie jetzt Stapeldateien unter DOS. Starten Sie es nach dem Kompilieren einfach mit
batdebug Stapeldateiname
Der Batch-Debugger öffnet die angegebene Datei, zeigt deren erste Zeile an und führt sie aus. Bevor Sie mit [Enter] zur nächsten Zeile springen, können Sie zur Kontrolle einen DOS-Befehl absetzen. Zum Beispiel fragen Sie mit der SET-Anweisung die Umgebungsvariablen ab oder verändern diese oder andere Einstellungen. So wird jede Zeile bis zum Dateiende schrittweise abgearbeitet, wobei Sie jederzeit Kontrollaufrufe wie bei einem echten Debugger ausführen können. Logische Fehler in Stapeldateien finden Sie damit wesentlich leichter.
,batdebug.pas" läuft mit allen Turbo-Pascal-Versionen ab 4.0 und benutzt die Unit DOS. Die Exec-Funktion ruft den Kommandointerpreter "command.com" zum Ausführen eines Stapelbefehls auf. Die Prozedur SwapVectors sichert vorher die Interrupts zur MS-DOS-Fehlerbehandlung bzw. stellt sie nach dem Exec-Aufruf wieder her. Um Platz für den Aufruf des Kommandointerpreters zu gewinnen, müssen der Stack- und der Heap-Speicher durch den Compiler-Schalter {$M} minimiert werden.
Manuel Marsch/pei

Verfasser: Andreas
Letzte Änderung: 2012-09-10 18:53


Der Mengerschwamm

Mit einem selbstähnlichen Fraktal unternehmen Sie einen Ausflug in nicht ganzzahlige Dimensionen.
Auf den ersten Blick scheint unsere Welt ganz einfach aufgebaut: eine Linie ist ein-, eine Fläche zwei- und ein Würfel dreidimensional. Erst Raumschiff Enterprise stößt in weitere Dimensionen vor. Der Begriff "fraktale Dimension" verrät uns jedoch, daß außer 1D-, 2D- und 3D-Elementen auch Zwischenstufen existieren. Das Gerippe eines verwesten Blatts etwa ist für eine Fläche zu stark zerfressen. Es ist aber auch keine Kurve, denn dafür ist es zu stark verästelt. Dieses Blattgerippe scheint also zwischen den Kategorien Fläche und Linie zu schweben, und tatsächlich ergaben Messungen eine fraktale Dimension von 1,6.
Ähnlich verhält es sich mit dem Mengerschwamm, den 1926 der österreichische Mathematiker Karl Menger erdachte. Dieses schwammähnliche Gebilde entsteht, wenn man durch einen Würfel quadratische Löcher bohrt. Der Mengerschwamm ist ein selbstähnliches Fraktal mit einer Dimension von etwa 2,72 - also kein richtiger Würfel. Das Ganze erinnert an einen dreidimensionalen Holzschnitt von M. C. Escher, der seinerzeit stark von den mathematischen Entdeckungen - so auch durch den Mengerschwamm - beeinflußt wurde.
Das Listing "menger.pas" (Listing in Databox 4/97) zeichnet den Mengerschwamm in beliebiger Iterationstiefe, wobei Sie aus Zeitgründen Werte kleiner als 5 bevorzugen sollten. Die Gesamtfigur besteht aus kleinen Würfeleinheiten, deren Positionen in einer Rekursionsschleife bestimmt werden. Das Netz der Bohrungen wird stufenweise (= iterativ) verfeinert. Damit es zu keinen Verdeckungen kommt, ist die Reihenfolge des Aufrufs von entscheidender Bedeutung. Um Rundungsfehler auszugleichen, wird die Deckfläche der Würfeleinheiten aus Linien aufgebaut. Das Kompilat "menger.exe" erwartet den BGI-Grafiktreiber im aktuellen Verzeichnis.
Benjamin Friedrich/pei

Verfasser: Andreas
Letzte Änderung: 2012-09-10 18:53


Digitaler Paßwortschutz

Nur mit passenden Mausklicks erhalten Sie Zugang zu einem Programm.
"xcode2.pas" (Listing in Databox 3/97) stellt eine Codeabfrage in Form eines digitalen Tastenfelds dar. Sie verschaffen sich Zugang, wie Sie es von vergleichbaren Türöffnern gewohnt sind. Eine Variante ohne Mausunterstützung können Sie am Anfang der "autoexec.bat" einbinden.
Beim erstmaligen Aufruf ist das vierstellige Codewort "4567" (Zeile 104) vorgegeben. Das Programm akzeptiert alle numerischen Tasten von 0 bis 9 und [*] sowie [#].
Die abgedruckte Variante "xcode2.pas" unterstützt die Maus. Sie können hier Zahlen direkt anklicken. Das Codewort ist von außen nicht veränderbar, vielmehr müssen Sie in den Quellcode eingreifen. "xcode2.pas" bietet sich an, um das Codeprogramm in eigene Pascal-Quellen einzubinden. Damit verhindern Sie einen ungewollten Zugriff auf eigene Software.
Das Programm setzt voraus, daß der BGI-Treiber im Pfad
c:\tp6\bgi
(Zeile 102) steht. Das Programm arbeitet im üblichen Grafikmodus mit 640 x 480 Bildpunkten.
Stefan Bender/et

Verfasser: Andreas
Letzte Änderung: 2012-09-10 18:54


Fernsteuerung im Kirschbaum-Netz

So starten Sie vom Gastrechner aus Programme auf dem Fremd-PC.
Sie wollen über das Kirschbaum-Netz nicht nur Dateien des jeweils anderen Computers starten, sondern auch den anderen Rechner übers Netz anweisen, dort selbständig Programme ablaufen zu lassen? Ganz einfach: Sie schicken dem Zweitrechner eine Datei, die ständig Befehle abfragt. Wenn Sie nun Kommandos schicken, führt der Zweitrechner sie aus. Das Problem dabei: Sie müssen den Zweitrechner nach diesem Vorgang davon überzeugen, daß seine Kommandodatei abgearbeitet und zu löschen ist.
Der einfach erscheinende Weg, den Löschbefehl in die auszuführende Batchdatei zu integrieren, führt zu einem Zugriffskonflikt und ist darum nicht durchführbar. Die Lösung: Kopieren Sie die ausgeführte Datei, und prüfen Sie bei erneutem Start des Warteschleifenprogramms, ob der Name der Dateikopie existiert. Dann löschen Sie beide Dateien. Wer ganz sichergehen will, kann vorher deren Größe und Datum vergleichen.
"send.pas" (Listing in Databox 2/97) legt eine Kommandodatei beispielhaft an. Schaffen Sie dazu folgende Voraussetzungen: Nennen Sie den Fremdrechner "I:" (Zeile 4). Dort auszuführende Programme müssen sich in dessen Suchpfad befinden. Außerdem ist ein Verzeichnis "netest" erforderlich, in das Sie "test.bat" schreiben können. Diese Vorgaben passen Sie Ihren Bedürfnissen an.
Mit "receive.pas" (Listing in Databox 2/97) programmieren Sie die Warteschleife. Sie starten Receive auf dem Rechner, der auf das Eintreffen einer Kommandodatei wartet. Zu gegebener Zeit rufen Sie Send auf dem PC auf, der den anderen "fernsteuern" soll.
Detlef Schlange/et

Verfasser: Andreas
Letzte Änderung: 2012-09-10 18:54


Ihre eigene DOS-Shell

Ein Pascal-Programm demonstriert, wie Sie eine DOS-Shell aufrufen und verlassen.
Damit Ihre DOS-Shell genügend Speicher hat, müssen Sie zuerst den nicht benötigten Heap-Speicher freigeben. Das erledigt "dosshell.pas" (Listing in Databox 5/97) mit der Prozedur SetMemTop. Die Shell erzeugen Sie, indem Sie den Kommandointerpreter "command. com" aufrufen.
Damit Sie nicht vergessen, daß Sie sich in einer DOS-Shell befinden, sollten Sie den Prompt mit einem kleinen Hinweis versehen. Dazu müssen Sie nur den Kommandointerpreter mit der Option "/k" dazu veranlassen, mit dem internen Set-Befehl die Environment-Variable "prompt" zu verändern. Für eigene Hinweise passen Sie lediglich die Konstante "np" an. Die DOS-Shell verlassen Sie mit dem Exit-Befehl, was Sie in der Zeichenkette "it" angeben.
Franz Rinnerthaler/et

Verfasser: Andreas
Letzte Änderung: 2012-09-10 18:55


Kugel-Gittermodell

Ein Algorithmus berechnet ein Kugel-Gittermodell und stellt es perspektivisch dar.
"kugel.pas" (Listing in Databox 2/97) berechnet die Punktkoordinaten und alle erforderlichen Linien eines Gittermodells, speichert die Daten in Matrizen und stellt es anschließend in perspektivischer Projektion dar. Der einzige Parameter, den Sie vorgeben müssen, ist die Anzahl der Eckpunkt der n-Ecke. Damit geben Sie die Längen- und Breitenkreise vor, die den Modellaufbau zeichnen.
Helmut Holz/et

Verfasser: Andreas
Letzte Änderung: 2012-09-10 18:55


Neuer Tastatur-Interrupt

Um den Druck auf mehrere Tasten registrieren zu können, brauchen Sie einen eigenen Tastatur-Interupt.
Für viele Spieleprogrammierer stellt sich die Frage, wie Sie mehrere Tasten registrieren, die auf einmal gedrückt werden (zum Beispiel gleichzeitiges Nach-links- und Nach-oben-Bewegen). Da der BIOS-Tastatur-Interrupt bloß eine Taste registriert, ist er für diese Aufgabe ungeeignet und muß durch einen anderen ersetzt werden. "taste.pas" (Listing in Databox 3/97) führt dies vor.
Der neue Tastatur-Interrupt int9 liest den Tastaturport 60hex ein und registriert einen Tastendruck in den jeweiligen Flag-Variablen. Da der alte Tastatur-Interrupt lahmgelegt ist, funktionieren alle Hotkeys von speicherresidenten Programmen und der Warmstart über [Strg-Alt-Entf] nicht.
Die Malen-Prozedur bewegt einen Punkt auf dem Bildschirm mit den angegebenen Richtungen von der Tastatur. Das Hauptprogramm leitet zuerst die Tastatur-Interrupts 09hex und 16hex auf die eigenen Prozeduren um. Danach wechseln Sie in den VGA-Modus 19. Die folgende Schleife durchlaufen Sie so lange, bis Sie [Esc] drücken. Die Demonstration stellt die Cursorbewegungen und die Feuer-Funktion durch einen Punkt am Bildschirm dar. Um das Programm fehlerfrei zu beenden, schalten Sie zurück in den Textmodus und setzen die alten Tastaturroutinen.
Aus Platzgründen ersetzen Sie die Routinen der Unit DOS, SetIntVec und GetIntVec durch die viel effektiveren Speicherzugriffe auf die Interrupt-Tabelle. Zum besseren Verständnis finden Sie alle wichtigen Ausdrücke in der Tabelle (PC Magazin 3/97, Seite 198).
Der FillChar-Befehl (Zeile 36) löscht alle Flags. Wenn Sie das Programm erweitern möchten und im Umgang mit FillChar keine Erfahrungen haben, so sollten Sie die Flags einzeln auf den Wert FALSE setzen.
Stefan Mauksch/et

Verfasser: Andreas
Letzte Änderung: 2012-09-10 18:56


Rotierende Grafikdemo in schrillen Farben

Sinus, Cosinus und Goethes Farbkreis reizen Ihre müden Augen.
Swirl ist kein Küchenmixer, sondern eine faszinierende Grafikdemo. Durch schnellen Farbwechsel und eine Drehbewegung entsteht ein fast psychedelischer Effekt. Jedes Einzelbild entsteht aus dem vorhergehenden Bild durch Vergrößerung und Rotation um ein sich bewegendes Drehzentrum.
Um keine zu abrupten Farbänderungen entstehen zu lassen, berücksichtigt "swirl.pas" (Listing in Databox 4/97), welche Farbe jedes einzelne Pixel zuvor hatte. Am Ort des Drehzentrums setzt es jeweils noch vier zufällige Pixel, die letztlich über den Farbverlauf entscheiden. Die zufällig erscheinende Bewegung des Dreh- zentrums erfolgt dabei auf einer wohldefinierten Lissajous-Figur, und auch die Drehrichtung p ist eine Sinusfunktion. Die Farben der Palette gehen aus Johann Wolfgang von Goethes Farbkreis hervor, bei dem sich Komplementärfarben jeweils gegenüberliegen. Wollen Sie einmal eine etwas andere Palette sehen, so erhöhen Sie im Quelltext in Zeile 14 einfach die Werte 2 und 4 um jeweils 1 oder 2.
Ursprünglich als Einsendung für den 1024-Wettbewerb gedacht, enthält der Quelltext einige verwirrende Kürzel. Um dem Listing wieder etwas mehr Transparenz zu verleihen, listet die Tabelle (PC Magazin, Seite 156) die Bedeutungen der verstümmelten Typen-, Konstanten- und Variablenbezeichner auf.
Oliver Schneider/pei

Verfasser: Andreas
Letzte Änderung: 2012-09-10 18:56


Software-Zugriff auf das CD-ROM-Laufwerk

Über das MSCDEX-API greifen Sie auf das CD-ROM zu, um einen ersten Audiotitel zu hören.
Jeder, der ein CD-ROM-Laufwerk besitzt, kennt das TSR-Programm MSCDEX, das Sie in der "autoexec.bat" aufrufen: Es setzt unter anderem die Gerätebezeichnung des Laufwerks fest (meistens D). Doch kaum einer weiß, daß sich MSCDEX bei der Ausführung an den DOS-Kern hängt und DOS die Existenz eines Netzwerk-Laufwerks vortäuscht. Alle Zugriffe auf dieses Laufwerk werden von MSCDEX an den CD-ROM-Gerätetreiber weitergeleitet und von diesem verarbeitet. Das ist notwendig, da ein CD-ROM-Gerätetreiber wie ein Zeichentreiber ausgebaut ist und somit nicht über Laufwerksbezeichnungen wie A oder B ansprechbar ist.
MSCDEX besitzt ein eigenes API (Application Programming Interface), mit dem Sie Informationen über das CD-ROM-Laufwerk einholen. Außerdem bietet MSCDEX eine Reihe von Funktionen für den Umgang mit dem Laufwerk und den Zugriff auf den CD-ROM-Treiber.
"mscdex.pas" (Listing in Databox 3/97) greift nun auf das CD-ROM-Laufwerk über diese Software-Schnittstelle zu. Es enthält die wichtigsten Funktionen des MSCDEX-API. Es zeigt außerdem, wie Sie über MSCDEX den CD-ROM-Treiber ansprechen: Das Beispielprogramm spielt den Anfang einer Audio-CD ab.
Die Installed-Funktion (Zeile 12) prüft, ob MSCDEX überhaupt installiert ist. Sie macht sich die erste Funktion des MSCDEX-API zunutze, die die Anzahl der installierten CD-ROM-Laufwerke ermittelt.
Vor dem Aufruf der MSCDEX-Funktion laden Sie das BX-Register, das die Anzahl liefert, mit dem Wert 0. Ist der Wert des Registers nach dem Aufruf größer als 0, dann ist MSCDEX installiert, andernfalls nicht. Zusätzlich ermittelt Installed die Gerätebezeichnung für das (erste) CD-ROM-Laufwerk, das die Funktion in der globalen Variable "LW_ID" ablegt. Die Funktion Version (Zeile 18) liefert die Versionsnummer von MSCDEX als reale Zahl.
Auf jeder CD-ROM können sich spezielle Dateien befinden, die spezifische Informationen über die CD liefern, wobei nicht jede CD diese Dateien aufweist:
- Copyright File: Informationen über den Urheber;
- Abstract File: kurze Zusammenfassung des CD-Inhalts;
- Bibliographic Documentation File: Informationen über die Quellen der auf der CD gespeicherten Daten.
Die Namen dieser Dateien liefert die Funktion GetFileName (Zeile 22), die drei Parameter erwartet: die Gerätebezeichnung, die sich nach dem Aufruf von Installed in der Variablen "LW_ID" befindet, die Variable für den Namen und eine Konstante. Genauere Informationen über den Inhalt stehen in der "Volume Table of Contents" (VTOC). Die Funktion ReadVTOC (Zeile 32) liest diesen 2 KByte großen Bereich aus. Sie erwartet als Parameter neben der Gerätebezeichnung die Nummer des zu lesenden "Volume". Als letzten Parameter übergeben Sie der Funktion einen 2 KByte großen Puffer, der die Daten der VTOC aufnimmt.
Die Read-Funktion (Zeile 42) liest einen beliebigen Bereich der CD-ROM aus. Den Bereich legen Sie fest, indem Sie der Funktion den ersten Sektor und die Anzahl der Sektoren übergeben, die Sie lesen möchten. Wichtig ist, daß der Puffer groß genug ist: Er muß für jeden Sektor 2048 Byte Platz bieten.
Über SendDeviceRequest erhalten Sie Zugriff auf die Funktionen des CD-ROM-Treibers. Sie übergeben SendDeviceRequest die gewünschte Nummer der CD-ROM-Funktion. Ob bei der Ausführung ein Fehler aufgetreten ist, zeigt das Status-Word, das SendDeviceRequest zurückliefert. Die Prozedur WriteErrors (Zeile 65), die als Parameter das Status-Word erwartet, entschlüsselt dieses und liefert eine entsprechende Fehlermeldung.
Damit ein Programm die Funktionen des CD-ROM-Treibers nutzen kann, muß es sich zunächst beim Treiber anmelden. Dafür stellt der Treiber die Funktion DEVICE OPEN (Funktionsnummer: 0Dhex) zur Verfügung. Über DEVICE CLOSE (Funktionsnummer: 0Ehex) muß sich das Programm beim Treiber abmelden, wenn es mit keiner CD-ROM-Funktion mehr arbeitet.
Die meisten CD-ROM-Funktionen übergeben Parameter an SendDeviceRequest in Form eines Blocks. Ein Beispiel für eine solche Funktion ist PlayAudio: Sie erwartet den Adressierungsmodus, den ersten zu spielenden Sektor und die Anzahl der zu spielenden Sektoren im Parameter-Block. Die PlayAudio-Prozedur in "mscdex.pas" zeigt den Zugriff auf die CD-ROM-Funktion mit ihren Parametern. Das Hauptprogramm von "mscdex.pas" greift alle Funktionen auf und demonstriert sie auf dem Bildschirm.
Jan van Essen/et
Info: Tischer/Jennrich (hrsg.): PC intern 5.0 - System Programmierung. Data Becker, Düsseldorf, 1995, ISBN 3-8158-1169-4, 1399 Seiten inkl. CD-ROM, 99 Mark

Verfasser: Andreas
Letzte Änderung: 2012-09-10 18:57


Solitär-Cheat

So erhöhen Sie Ihr Punktekonto beim Spiel Solitär.
"solcheat.pas" (Listing in Databox 2/97) trickst das beliebte Windows-Spiel Solitär aus, damit Sie eine höhere Punktzahl erreichen. Dies gestattet Ihnen die Architektur von Windows, weil Sie auf die Ressourcen fremder Programme zugreifen können. SolCheat läuft ausschließlich unter Windows ab Version 3.x. Das Kompilat erhalten Sie mit Borland Pascal 7.0.
Wirkungsweise: Das Programm entfernt den Timer, der Solitär definiert. Der ist dafür verantwortlich, daß sich die abgelaufene Zeit nach jeder Sekunde um den Wert 1 erhöht. Da sich der Bonus, den Sie am Ende des Spiels erhalten, aus der verstrichenen Zeit errechnet, fällt dieser entsprechend höher aus, wenn Sie die Zeit frühzeitig stoppen und dann spielen.
Zu Beginn wird Solitär automatisch gestartet, falls es noch nicht läuft. Danach erscheint eine Message-Box, deren OK-Button Sie drücken, sobald Sie die Zeit anhalten wollen. Das Entfernen des Timers geschieht dann durch den Aufruf der Prozedur KillTimer. Diese erwartet als Parameter das Handle des Fensters, zu dem der Timer gehört (Rückgabewert von FindWindow), und die Nummer des Timers. Da diese Nummer nicht bekannt ist, hilft ein kleiner Trick weiter: Uns ist lediglich bekannt, daß sie im Integer-Bereich liegt. Gehen Sie also einfach alle Werte von -32 768 bis +32 768 durch und prüfen Sie dabei, ob der Aufruf von KillTimer erfolgreich ist.
Beim Testen des Programms deckten wir eine interessante Besonderheit auf: Stoppen Sie die Zeit, solange sie noch unter 30 Sekunden liegt, so wird am Ende kein Bonus addiert. Wahrscheinlich dachten sich die Microsoft-Entwickler, daß kein ehrlicher Spieler eine Zeit unter 30 Sekunden erreichen kann. So setzten sie den Bonus wohl vorsichtshalber auf Null, um Betrügereien vorzubeugen. Den höchsten Bonus von 20 000 Punkten erhalten Sie also bei 30 Sekunden Spielzeit.
Wollen Sie nach einem Stop des Timers noch einmal spielen, müssen Sie Solitär beenden und neu starten, um den Timer wieder zu aktivieren.
Ole Begemann/et

Verfasser: Andreas
Letzte Änderung: 2012-09-10 18:57


Text-Capturing

So speichern Sie einen Bildschirm mit Text schnell in eine Datei.
"catch.pas" (Listing in Databox 1/97) sichert schnell den aktuellen Textbildschirm. Dabei definiert Programm für ältere Pascal-Versionen einige Konstanten, die unter Borland Pascal das Kompilieren im Protected Mode erlauben. "inTextMode" prüft die Cursorgröße: Dabei weist der Wert 0 auf einen Grafikmodus hin. Das Programm prüft also zuerst, ob sich der Computer überhaupt im Textmodus befindet. Sodann ermittelt "catch.pas" anhand des aktiven Modus die aktuelle Bildschirmadresse. Modus 7 ist der einzige monochrome Textmodus. Für alle anderen gibt es eine einheitliche Adresse.
Das BIOS gibt Auskunft über die Größe des aktivierten Textbildschirms. Dort lesen Sie alles ab und schreiben beim Zeilenende die komplette Zeile auf einen Datenträger. Textattribute bleiben dabei unberücksichtigt.
Wundern Sie sich nicht, wenn die Dateigröße nicht mit dem Produkt aus
breite*hoehe
übereinstimmt, denn jeder geschriebenen Zeile sind zwei Zeichen hinzuzufügen: CR (Carriage Return: Wagenrücklauf) und LF (Line Feed: Zeilenvorschub). "catch.pas" konnte im Test Textmodi von 40 x 25 bis 132 x 60 verarbeiten.
Detlef Schlange/et

Verfasser: Andreas
Letzte Änderung: 2012-09-10 18:58


Verschneite Winterlandschaft

128 Zeilen Pascal bescheren Ihnen 365 Tage im Jahr Schneefall auf Ihrem Monitor.
Wintersportler sehnen sich in Zeiten des Tauwetters in eine verschneite Winterlandschaft zurück. Die perfekte Simulation dafür ist "snowflak.pas" (Listing in Databox 4/97): Das Programm läßt Schneeflocken in mehreren Ebenen auf einen Wald von Nadelbäumen herabrieseln. Die Flocken stapeln sich nicht zu Türmchen übereinander, sondern verteilen sich im Bemühen um eine realitätsnahe Darstellung gleichmäßig auf dem Boden.
Für einen zügigen Simulationsablauf schreibt das Programm direkt in das Video-RAM und verwaltet die Schneeflocken-Daten in einem Zeiger-Array. Auf schnellen Rechnern könnte die Animation daher zum Schneesturm ausarten. Möchten Sie Frau Holle in ihrem Tatendrang etwas bremsen, fügen Sie in die Repeat-Schleife am
Ende noch eine Verzögerung (Delay) ein.
Das Verhalten des Programms verändern Sie durch drei Konstanten, die Sie im Kopf des Listings finden. Sie besitzen folgende Funktionen:
Z: Anzahl der Ebenen
MaxFlakes: Anzahl der Schneeflocken
Wind: Windrichtung und -stärke
Auch wenn Sie beim Anblick der weißen Pracht frösteln, vor Überhitzung des Prozessors schützt auch diese Software nicht.
Andreas Köhler/pei

Verfasser: Andreas
Letzte Änderung: 2012-09-10 18:58


Zeitprotokoll

Ein Pascal-Programm kontrolliert, wann Ihr PC läuft.
"einaus.pas" (Listing in Databox 5/97) ermittelt die Ein- und Ausschaltzeit des Computers. Das Programm braucht nur die Datei "start.txt", die Sie mit dem MS-DOS-Editor schreiben:
16
25
59
Diese Datei muß im selben Verzeichnis stehen wie die EXE-Datei. In die "autoexec.bat" schreiben Sie dann noch den Ein-/Aus-Befehl.
Sebastian Lipponer/et

Verfasser: Andreas
Letzte Änderung: 2012-09-10 18:59


Mit dem IDE arbeiten

Mit undokumentierten Tasten tragen Sie die Compilerschalter in den Quellcode ein.
Wenn Sie ein Programm im Quelltext abgeben, muß der Empfänger mit Ihren Compilerschaltern arbeiten können. Alle Compilerschalter selbst einzutragen ist mühselig. Sehr viel einfacher ist das folgende, nirgends dokumentierte Verfahren: Drücken Sie zweimal die Alt-Taste und geben Sie auf dem numerischen Ziffernblock das ASCII-Zeichen 15 ein. Damit veranlassen Sie das IDE (Integrated Development Environment), die Compilerschalter automatisch am oberen Ende der Datei im aktuellen Editorfenster einzufügen. Testen Sie das Verfahren mit "demo.pas" (Listing in Databox 1/97).
Christian Schwarz/et

 

Pascal 7.0

Verfasser: Andreas
Letzte Änderung: 2012-09-10 19:00


Videos am PC

Ein Video zeigt komprimierte Bilder aus fraktalen Welten.
Videos programmieren verliert seinen Schrecken, wenn Sie sich an einige Grundregeln halten. Der einzige Videomodus, der eine akzeptable Schreibgeschwindigkeit zuläßt, ist der BIOS-Modus 13hex. Dennoch würden Sie pro Bild
320 x 200 Byte = 64000 Byte
benötigen. Es ist also besser, bescheiden zu bleiben und nicht den ganzen Bildschirm zu animieren. "videofrc.pas" (Listing in Databox 2/97) begnügt sich daher mit
60 x 80 Byte = 4800 Byte
Doch das ist immer noch zuviel. Es empfiehlt sich, die Bilddaten zu komprimieren. "videofrc.pas" komprimiert ähnlich wie das PCX-Format. Ein Byte ist hierbei so aufgebaut:
Bit 0-6: Farbe (0-127, 128 Farben);
Bit 7: 0: Farbe einmal schreiben
1: Nächstes Byte (minus 2) gibt an, wie oft die Farbe hintereinander folgt.
Damit ergibt sich ein Kompressionsverhältnis, das zwischen 1:1 und 1:258 liegt. Zugegeben: Für aufwendige Pixelmuster ist diese Methode gänzlich ungeeignet. Sie ist jedoch ideal, um fraktale Welten zu erforschen.
Wollen Sie den gleichbleibenden Hintergrund herausfiltern, so verknüpfen Sie die Bilder mit einem logischen XOR. Gleichbleibende Bildteile werden damit zu Nullbytes:
a xor a = 0
Sie müssen hierbei den Bildschirminhalt auslesen und ihn über ein XOR mit dem neuen verbinden - das kostet Zeit. Wer Geschwindigkeit gewinnen möchte, schreibt die Abspielroutine in Assembler.
Harald Gmeiner/et

 

Pascal 7.0

Verfasser: Andreas
Letzte Änderung: 2012-09-10 19:00


Computer » Programmierung » HTML

Abgezählte Besucher

Niemand im Netz ist allein unterwegs, wie Besuchzähler beweisen.
Wollen Sie vielleicht einen Zähler auf Ihrer Seite verankern, der dem Besucher mitteilt, wie viele schon vor ihm da waren? Nichts leichter als das. Es gibt im Internet einige Provider, die Privatanwendern solche Zähler gratis zur Verfügung stellen. Den bekanntesten finden Sie unter www.digits.com
Derzeit ist er wegen Überlastung geschlossen. Empfehlenswert ist ein russischer Zähler, erreichbar unter
counter.dux.ru
Dieser Anbieter erfreut Sie mit Hunderten von Anzeigearten. Sie müssen den Zähler noch nicht einmal beantragen, weil die Angabe Ihrer eigenen URL genügt. Unter dieser URL legen Sie den Zähler an. Falls Sie einen einfachen String wie mike angeben, bekommen Sie unter Garantie Anschluß an einen existierenden Zähler. counter.htm (Listing in Databox 9/97) bettet diesen Zähler in Ihre Seite ein.

Verfasser: Andreas
Letzte Änderung: 2012-09-10 17:42


Absatzanfang hervorheben

Wie geschickte Layouter Heftseiten bereichern, machen Sie mit HTML-Befehlen nach.
Wenn Sie den ersten Buchstaben eines Absatzes hervorheben wollen, setzen Sie den FONT-Tag ein:
<FONT SIZE=7>D</FONT>ie Erde war w&uuml;st und leer.
Wenn Sie eine künstlerische Ader haben, entwerfen Sie doch einen eindrucksvollen Buchstaben, und binden Sie ihn in Ihr Dokument ein. Das Grafikprogramm soll Ihren Buchstaben im gif-Format mit transparentem Hintergrund speichern, wie es Paint Shop Pro vermag. Damit Text passend die Grafik umfließt, binden Sie sie mit dem entsprechenden Alignment ein:
<IMG SRC="d.gif" ALIGN=Left>ie Erde war w&uuml;st und leer.

Verfasser: Andreas
Letzte Änderung: 2012-09-10 17:43


Absätze einrücken

Eingerückte Absätze lockern den Lesefluß auch auf HTML-Seiten auf.
Einen Absatz rücken Sie mit einem Sonderzeichen ein: &nbsp;, dem "Non-Breaking Space", in HTML schlicht ein Leerzeichen. HTML ignoriert mehrere Leerzeichen hintereinander, weil es sich immer nur auf die Ausgabe eines einzigen Leerzeichens beschränkt. Dies umgehen Sie mit &nbsp;, womit Sie zum Beispiel Ihren Absatz um vier Leerzeichen einrücken:
&nbsp;&nbsp;&nbsp;&nbsp;Absatz einger&uuml;ckt.

Verfasser: Andreas
Letzte Änderung: 2012-09-10 17:44


Anführungszeichen unten

Im deutschen Sprach- und Schriftgebrauch sind unten stehende Anführungszeichen Standard. Möchten Sie diese auch auf Ihrer Homepage verwirklichen, behelfen Sie sich eines kleinen Tricks.
Während heutzutage alle Textverarbeitungsprogramme mit unten stehenden Anführungszeichen umgehen, unterstützt HTML diese leider nicht auf direktem Wege. Behelfen Sie sich, indem Sie jedes Anführungszeichen am Beginn eines Zitats im Quellcode mit dem sub-Attribut umgeben. Es setzt die eingeschlossenen Zeichen tiefer:
<sub>"</sub>eigentlicher Text"
In Zukunft werden auch auf Ihrer Webseite die Gänsefüßchen die richtige Position finden.

Verfasser: Andreas
Letzte Änderung: 2012-09-10 17:46


Automatische Weiterleitung mit Meta-Tag

Sie haben Ihre Website auf einen anderen Server verlegt und möchten, dass Besucher auf diesen weitergeleitet werden, auch wenn in Ihrem Browser JavaScript deaktiviert ist. Mit einen Meta-Tag sorgen Sie dafür, dass Besucher auf Ihre neue Website weitergeleitet werden, auch wenn JavaScript nicht funktioniert. http://www.pc-magazin.de/"> Der Zahlenwert im Attribut content gibt die Zeitverzögerung in Sekunden an. Mit dem Wert Null legen Sie also eine sofortige Weiterleitung fest. Da dieser Meta-Tag nicht von allen Browsern unterstützt wird, sollten Sie sicherheitshalber einen Link setzen, über den der Besucher Ihre neue Seite erreichen kann.

Verfasser: Andreas
Letzte Änderung: 2012-09-10 17:47


Bedingte Kommentare

Der Internet Explorer 5.x kann HTML-Tags abhängig von bestimmten Bedingungen interpretieren oder übergehen.
Wenn Sie Webseiten auf bestimmte Browser abstimmen wollen, müssen Sie den Typ des Browsers mit JavaScript ermitteln, verschiedene Webseiten laden oder im Script Kommandos überspringen. Mit dem Internet Explorer ab Version 5.0 geht es anders. Der Browser verarbeitet bedingte Kommentare (bekannt aus dem C- oder Pascal-Compiler). Dabei definieren Sie einen Teil des HTMLCodes als Kommentar. Internet Explorer 5 erkennt an Hand eines Schlüsselworts am Anfang, dass es diese HTMLTags verarbeiten soll:
<!--[if IE ]>
Dieser Text erscheint nur im
IE 5.
<![endif] //-->
Für jeden anderen Web-Browser sieht das wie ein Kommentar aus, den er überspringt. Nur der Internet Explorer 5.x tut so, als wären die Kommentarzeichen gar nicht vorhanden. Das funktioniert auch umgekehrt: Der Internet Explorer soll HTML-Tags übergehen, die andere Browser verarbeiten.
<![if ! IE ]>
<img src=untergang.jpg>
<![endif]>
In diesem Fall würden "andere" Browser ein Bild anzeigen, der Internet Explorer aber nichts. Das können Sie etwa dazu verwenden, um den Filtereffekt aus Tipp 24 auf der nächsten Seite nur im Internet Explorer anzuzeigen und in anderen Browsern direkt das Endbild. Dieses Verfahren funktioniert auch ohne JavaScript, das viele Surfer aus Sicherheitsgründen (oder wegen lästiger Pop-ups) ausgeschaltet haben. Zudem können Sie damit unter Umständen das Laden von unnötigen Bildern komplett umgehen und so den Seitenaufbau beschleunigen.

Verfasser: Andreas
Letzte Änderung: 2012-09-10 17:47


Bewegte Bilder

Mit einem Shareware-Programm animieren Sie gif-Grafiken.
Wenn Sie eine Seite mit einem kleinen Briefkasten sehen, der ständig auf- und zuklappt, handelt es sich um eine animierte gif-Grafik ("animated GIF"). Die gif-Spezifikation erlaubt eine beliebige Anzahl von Grafiken in einer Datei, die Steuerbefehle anzeigen. Diese Befehle definieren, wann und wo die nächste Grafik aufklappt. Das Internet wimmelt von bunten, bewegten Bildern, von denen Sie viele frei verwenden können. Einen guten Ausgangspunkt dafür bietet
www.clipart.com
Diese Site enthält neben vielen Cliparts lange Listen mit weiteren Grafikservern. Wollen Sie selbst eine gif-Grafik animieren, speichern Sie die Einzelbilder in diesem Format und verbinden sie dann mit einem Shareware-Programm wie dem GIF Construction Set von Alchemy Mindworks:
www.mindworkshop.com/alchemy/gifcon.html

Verfasser: Andreas
Letzte Änderung: 2012-09-10 17:48


Bilder ausrichten

Sie möchten den Text, der ein Bild umfließt, kontrollieren und nach Ihren Erfordernissen anpassen.
Grafiken werden in HTML mit dem IMG-Tag eingebunden. Um den Textfluss um eine Grafik herum zu beeinflussen, können Sie die Attribute HSPACE, VSPACE und ALIGN verwenden. Mit HSPACE und VSPACE bestimmen Sie den horizontalen bzw. vertikalen Abstand des Textes zur Grafik in Pixelangaben. Es entsteht eine Art unsichtbarer Rahmen. Mit ALIGN können Sie die Grafik in der Positionierung bestimmen. Die Eigenschaft right bewirkt beispielsweise, dass umfließender Text an der oberen Kante der Grafik und zwar links daneben beginnt, left erzielt den umgekehrten Effekt. Sie können mit ALIGN: unter anderem die folgenden Eigenschaften setzen:
LEFT: Textausrichtung am oberen Bildrand, Bild am linken Fensterrand,
RIGHT: Textausrichtung am oberen Bildrand, Bild am rechten Fensterrand,
TOP: Textausrichtung am oberen Bildrand, Bild am linken Fensterrand,
MIDDLE: Textausrichtung in der Mitte, Bild am linken Fensterrand,
BOTTOM: Textausrichtung am unteren Bildrand, Bild am linken Fensterrand,
TEXTTOP: Textausrichtung am größten Zeichen am oberen Bildrand, Bild am linken Fensterrand,
Am besten experimentieren Sie ein wenig mit diesen Eigenschaften, um die Wirkungsweise zu sehen. Damit nachfolgende Absätze oder Text nicht von diesem Effekt betroffen sind, können Sie das BR-Tag mit dem Attribut CLEAR verwenden:
<BR CLEAR="all">
Diese Angabe bewirkt, dass der Textfluss um die Grafik herum unterbrochen wird und die weiteren Inhalte nach üblichem Schema formatiert werden. Wenn Sie geschickt mit dieser Möglichkeit hantieren, erübrigt sich in manchen Fällen das Arbeiten mit Tabellen.

Verfasser: Andreas
Letzte Änderung: 2012-09-10 17:48


Blocksatz

Sie haben im Netz Seiten gesehen, in denen der Fließtext im Blocksatz formatiert war, finden im HTML-Editor jedoch keinen entsprechenden Befehl.
HTML-Editoren, auch moderne, unterstützen Textformatierung nicht auf direktem Wege. Behelfen Sie sich, indem Sie das zuständige Attribut align eigenhändig bearbeiten. Homepage-Programme unterstützen menügesteuert nur die align-Schalter right, left und center. Sie können aber im Quellcode den Wert justify mit einem einfachen Texteditor wie Notepad setzen. Das sieht etwa so aus:
<p align="justify">
TEXTTEXTTEXTTEXTTEXTTEXTTEXT
TEXTTEXTTEXTTEXTTEXTTEXTTEXT
TEXTTEXTTEXTTEXTTEXTTEXTTEXT
</p>
Dieser Effekt lässt sich auch HTML-4-konform mit Cascading Style Sheets realisieren:
p.blocksatz {
text-align : justify;
}
Wenn Sie keine externe Stil-Datei verwenden, fügen Sie obige Definition in den Tag
<style type="text/css" ></style>
in den Kopfbereich der HTML-Seite ein. Den Absatz, der Blocksatz enthalten soll, weisen Sie mit
<p class="blocksatz"></p>
aus.

 


Ein Attribut im <p>-Tag sorgt für beidseitig sauber ausgerichteten Text.
In vielen Büchern und Zeitschriften ist Blocksatz Standard. Dabei bilden die Ränder in einem Textabsatz links und rechts eine saubere Linie. In HTML definieren Sie einen Absatz mit dem Tag-Paar <p> und </p>. Standardmäßig erscheint so ein Absatz linksbündig: Auf der linken Seite bilden die Buchstaben eine saubere Linie. Rechts hängt die exakte Länge von der Länge des letzten Worts ab. Um einen Blocksatz zu erreichen, fügen Sie ein Attribut ein:
<p align=justify>
Damit erreichen Sie einen sauberen rechten Rand. Auch mit dem Attribut align=right lässt sich ein rechtsbündiger Satz erzielen manchmal ein interessanter Effekt, etwa bei Bildbeschriftungen. Als moderne Alternative zum HTML-Attribut (das Teil der HTML-4.0-Spezifikation ist) dürfen Sie auch Style Sheets verwenden. In diesem Fall benutzen Sie das div-Tag:
<div style="text-align:justify">
Lorem ipsum dolor sit amet in veritas
humus bla bla ...
</div>

Verfasser: Andreas
Letzte Änderung: 2012-09-10 17:50


Bookmark mit Icon

Der Internet Explorer (ab Version 5) weist allen gespeicherten Favoriten automatisch das Standard-Icon zu. Wer hier ein wenig Abwechslung ins Spiel bringen will, kann seine Webseite um ein eigenes Mini-Bildchen erweitern.
Mit einem eigenen Icon versehene Bookmarks sind weitaus auffälliger als deren standardmäßige Pendants. Viele kommerzielle Seiten, wie die von Providern oder Suchmaschinen nutzen diese Form der Corporate Identity. Aber auch private Seiten werden durch dieses Detail attraktiver. Wer diesen Service den Besuchern seiner Webseite anbieten möchte, muss zunächst das gewünschte Icon (16x16 Pixel) bereitstellen. Hier greifen Sie entweder auf die zahlreichen kostenlos zur Verfügung gestellten Bildersammlungen zurück oder gestalten die Grafik mit einem Shareware-Tool wie Microangelo (www.im pactsoft.com) in Eigenregie. Sichern Sie die Datei unter der Bezeichnung favicon.ico und legen Sie das Icon dann im Root-Verzeichnis des Webservers ab. Weitere Anweisungen sind nicht nötig, da der Internet Explorer automatisch nach dieser Datei sucht und sie anzeigt. Falls Sie keinen direkten Zugriff auf den Server haben oder aber Ihre Seite von einem Provider wie Geocities gehostet wird, müssen Sie den HEAD-Bereich derjenigen Seiten, bei denen das Icon angezeigt werden soll, um folgende Zeile erweitern:
<LINK rel="SHORTCUT ICON" href="http://www.meinserver.de E /favicon.ico">
Dabei spielt es keine Rolle, auf welchem Server das Icon abgelegt ist. Darüber hinaus ist es in diesem Fall erlaubt, den vorgegebenen Dateinamen favicon.ico durch eine beliebige Bezeichnung zu ersetzen. Sobald ein Besucher die angepasste Seite seinen Favoriten hinzufügt, wird diese von Ihrem Icon visuell unterstützt und er findet es in der Bookmarkliste.

Verfasser: Andreas
Letzte Änderung: 2012-09-10 18:18


Browser-Fenster öffnen

Mit einem einfachen Hyperlink öffnen Sie eine HTML-Datei in einem neuen Browser-Fenster.
Damit der Browser beim Klick auf einen Link die Webseite in einem neuen Fenster anzeigt, ist kein JavaScript nötig. Die Mittel von HTML genügen. Fügen Sie in das Link-Tag einfach das Attribut target="" ein:
<a href="http://www.pcmagazin.de"
target="egal">
Schau dir das an!
</a>
Wie der HTML-Code schon andeutet, ist es egal, wie Sie das Zielfenster nennen. Wollen Sie mehrere Links anbieten, die eine Webseite in einem neuen Fenster anzeigen, beachten Sie Folgendes: Verwenden Sie den gleichen Namen als Target, erscheinen die Webseiten auch im selben Browser-Fenster. Nutzen sie unterschiedliche Namen, öffnet sich jedes Mal ein neues Fenster.

Verfasser: Andreas
Letzte Änderung: 2012-09-10 18:19


Bunter Hintergrund

Farbliche Vielfalt hält immer häufiger auf HTML-Seiten Einzug.
Simples Grau auf einer HTML-Seite findet man inzwischen selten. Mit einem einfachen Zusatz zum BODY-Tag ändern Sie die Hintergrundfarbe Ihrer Seite zum Beispiel in flottes Rot:
<BODY BGCOLOR="red">
Netscape Navigator wie auch Internet Explorer gestatten es Ihnen, Farben mit Namen anzugeben. Die komplette Liste aller Farben finden Sie unter:
www.developer.netscape.com/library/documentation/htmlguid/colortab.htm
Wollen Sie Ihre Seite mit Rauhfaser hinterlegen, binden Sie diese Information im BODY-Tag ein:
<BODY BACKGROUND="rauhfasr.gif">
Die Grafik wird automatisch gekachelt, wenn sie zu klein für den Hintergrund ist.
Der Internet Explorer kann eine Grafik auch als "Wasserzeichen" darstellen, wenn Sie im BODY-Tag das Attribut BGPROPERTIES=FIXED angeben. So sehen Web- wie Buchseiten aus, linksseitig wirken sie gar wie gebunden oder mit bunten Streifen versehen. Den Hintergrund liefert ebenfalls eine Grafik, die mit 1000 Pixeln und mehr sehr breit ausfällt. Die Höhe hingegen bescheidet sich mit wenigen Pixeln, die für den bunten Rand reichen.
Denken Sie bei der Wahl Ihres bunten Hintergrunds daran, daß sich noch viele Surfer mit 16 Bildschirmfarben begnügen müssen. Daher sollten Sie Ihre Seiten auch mit dem Standard-VGA-Treiber unter Windows testen. Lesen Sie auch damit Ihre Seiten, bevor Sie sie ins Netz stellen.

Verfasser: Andreas
Letzte Änderung: 2012-09-10 18:20


Button als Link

Statt eines Wortes oder Bildes benutzen Sie einen Formular-Button als Link.
Ganz ohne JavaScript realisieren Sie mit einem HTML-Formular einen Button, der beim Anklicken zu einer Webseite verzweigt. Die neue Seite kann auf dem eigene Web-Server liegen oder auf einem fremden. Der Button funktioniert auch, wenn ein Besucher JavaScript in seinem Browser deaktiviert hat. Fügen Sie ein Formular in Ihre Webseite ein:
<form action="seite.htm">
<input type=submit
value="Hier klicken">
</form>
Im Attribut action="" tragen Sie den Namen der Webseite ein, zu der gesprungen werden soll. Das Attribut value="" enthält die Beschriftung für den Button. Im Text für die Beschriftung verwenden Sie für Umlaute die HTMLCodierungen, also &auml; für ein ä etc. Die Schaltfläche definieren Sie mit dem Tag <input>. Definieren Sie den Button mit type=submit. Dann geht der Browser davon aus, dass er beim Anklicken eine Aktion ausführen soll, was Sie mit dem Attribut action="" im einleitenden <form>-Tag festlegen.

Verfasser: Andreas
Letzte Änderung: 2012-09-10 18:21


Dehnbare Linie

Eine Bilddatei mit einem Pixel Größe verwenden Sie als dehnbare Linie.
Mit einer Grafik von 1 x 1 Pixel Größe lässt sich eine Menge anstellen: Wie wäre es beispielsweise mit einer Trennlinie an Stelle des <hr>-Tags, die sich in Breite und Höhe beliebig verformen lässt? Dazu erzeugen Sie zunächst mit einem Bildbearbeitungsprogramm wie Paint Shop Pro ein 1 x 1-Pixel-Bild. Als Farbe kommt Rot zum Einsatz. Dieses Pixelbild bauen Sie mit dem <img>-Tag in Ihre Webseiten ein. Je nach Erfordernis steuern Sie die Länge und Dicke der Linie:
<img width=600 height=2>
Es entsteht eine rote Linie von 600 Pixel Breite und 2 Pixel Höhe. So erzeugen Sie farbige Trennlinien und sparen sich die Übertragung verschiedener Grafiken.

Verfasser: Andreas
Letzte Änderung: 2012-09-10 18:21


Dokument einrücken

Beleben Sie am Bildschirm Gutenbergs bewährte Tradition.
Wollen Sie einen Hintergrund verwenden, der einem aufgeschlagenen Buch gleicht, so sollte sich Ihr Text nicht ganz links verstecken, wo die virtuelle Buchseite Schatten wirft. Hier hilft Ihnen eine versteckte Tabelle mit einer Reihe und zwei Spalten weiter. Damit der Browser die Tabelle nicht anzeigt, bestimmen Sie die Rahmenbreite mit dem Wert 0:
<TABLE BORDER=0>
<TR>
<TD WIDTH=100>
<TD>
Hier das Dokument:
</TABLE>
Genaue Beobachter mögen die End-Tags </TD> und </TR> vermissen. Sie sind optional. Bei einfachen Tabellen wie dieser lassen Sie sie wegen der besseren Lesbarkeit weg. Sollten Sie allerdings Tabellen verschachteln müssen, ist die Angabe der End-Tags unumgänglich.
Leider betrachten die meisten Browser das WIDTH-Attribut wie manche Autofahrer die Verkehrsregeln: als unverbindliche Empfehlung. Wenn Sie Ihr Dokument pixelgenau einrücken wollen, hilft Ihnen der Trick mit der unsichtbaren Grafik weiter. Bauen Sie eine gif-Grafik mit einer Größe von einem Pixel, das Sie als transparent definieren. Setzen Sie dann diese Grafik in die linke Tabellenspalte, und geben Sie die Breite in Pixeln an. Diese Breite wird vom Browser in jedem Fall als verbindlich betrachtet. buch.htm (Listing in Databox 9/97) verdeutlicht das Verfahren.
<TABLE BORDER=0>
<TR>
<TD>
<IMG SRC="winzig.gif" WIDTH=100 HEIGHT=1>
<TD>
Hier Ihr Dokument:
</TABLE>
Diese gif-Datei ist schnell übertragen. Sie verwenden sie überall dort, wo Sie einen genau definierten freien Raum im Dokument benötigen.

Verfasser: Andreas
Letzte Änderung: 2012-09-10 18:22


Dokumente in Webseiten einbetten

Sie haben beim Surfen eine Webseite entdeckt, in die eine andere Seite wie ein Bild integriert war. Das möchten Sie für Ihre Homepage auch realisieren.
Das Inline-Frame Tag <iframe> ermöglicht dem Webseiten-Gestalter eine Reihe Effekte. Sie können komplette Webseiten in eine andere Seiten einbetten, ähnliche einem Frame. Nur stellt der Browser die Seite als Fenster dar. Alle moderneren Browser unterstützten diesen Tag. Für den Netscape Navigator 4.x verwenden Sie anstatt dessen den Tag <ilayer>. Beide Tags zeigen Inhalte, die zwischen ihren Anfangsund Ende-Tags stehen, nur an, wenn der Browser den Tag selbst nicht interpretiert. Mit der folgenden Schachtelung können Sie eine Lösung für alle Browser verwirklichen. Für ganz einfache Browser ist eine Mitteilung mit einem Link vorgesehen, so dass auch mit ihnen die Inline-Seite erreichbar ist:
<iframe src="seite2.html"
width="300" height="200"
align="left" hspace="30"
vspace="50">
<ilayer src="seite2.html"
width=300 height=200>Hier sollte
eigentlich die Datei
<a href="seite2.html">
Seite2.html </a>
angezeigt werden. Aber Ihr Browser
versteht weder IFrames oder
ILayer!</ilayer>
</iframe>

Verfasser: Andreas
Letzte Änderung: 2012-09-10 18:22


Eigene Aufzählungspunkte

Auf folgende Art und Weise verwenden Sie für Ihre Aufzählungspunkte statt der Standardsymbole Ihr eigenes Symbol.
Aufzählungspunkte werden üblicherweise mit Listen-Elementen dargestellt. Dabei können Sie geordnete oder ungeordnete Listen implementieren.
<OL>
<LI> geordnete Liste, Punkt
1</LI>
</OL>
oder
<UL>
<LI> ungeordnete Liste, Punkt
1</LI>
</UL>
Geordnete Listen verwenden als Default-Einstellung für die Aufzählungspunkte eine numerische Formatierung. Über das TYPE-Attribut können Sie aus weiteren Möglichkeiten wählen:
<OL TYPE="i"> römisch klein geschrieben
<OL TYPE="a"> alphanumerisch
klein geschrieben
<OL TYPE="A"> alphanumerisch groß
geschrieben
<OL TYPE="i"> römisch klein geschrieben
<OL TYPE="I"> römisch groß geschrieben
Ungeordnete Listen verwenden als Aufzählungspunkte einfache Symbole (in der Standardeinstellung: kleine Kugeln). Auch bei dieser Listenform können Sie weitere Formatierungen wählen:
<UL TYPE="disc"> kleine Kugel
(Voreinstellung)
<UL TYPE="square"> kleines
Quadrat
<UL TYPE="circle"> kleiner Kreis
Sie können die Attribute auch direkt in den Aufzählungspunkten (<LI> ... </LI>) unterbringen und auf diese Weise unterschiedliche Formatierungen in einer Liste bewirken. Falls Ihnen diese Vorgaben nicht gefallen, können Sie mit einer Style-Sheet-Zuweisung eigene Symbole bestimmen. Die folgenden Beispiele zeigen Ihnen, wie Sie einer Liste einen Style zuweisen.
<OL STYLE="list-style:url
(bullet.gif);">
<UL STYLE="list-style:url
(bullet.gif);">
<LI STYLE="list-style:url
(bullet.gif);">
Als Wert für url( pfad/dateiname) geben Sie den Pfad und den Namen zur gewünschten Datei an. Wenn Sie dem Style eine einleitende Listendefinition (<OL> oder <UL>) zuweisen, gilt die Grafik für alle Listenelemente. Wenn Sie einen Style einem Listenelement direkt zuweisen (<LI>), können Sie unterschiedliche Grafiken für die Aufzählungspunkte bestimmen. Leider funktioniert diese Angabe nicht mit Netscape 4. Sie können aber mit einem kleinen Trick eine ähnliche Formatierung erreichen. Die Lösung dazu bietet Ihnen eine Definitionliste (DL):
<DL>
<DT><DD><IMG SRC="bullet.gif"
WIDTH="5" HEIGHT="5" VSPACE="3"
BORDER="0"> Aufzählungspunkt 1
</DL>
Stellen Sie dem Punkt einfach eine Grafik voran, womit Sie Aufzählungspunkte simulieren können. Eine weitere Variante ist der Einsatz von Tabellen:
<TABLE>
<TR>
<TD VALIGN="top"><IMG SRC="bullet.
gif" WIDTH="5" HEIGHT="5"
VSPACE="7" BORDER="0"></TD>
<TD>Aufzählungspunkt 1 </TD>
</TR>
</TABLE>
Um eine Liste zu simulieren, wird bei diesem Beispiel eine Tabelle mit zwei Zellen pro Zeile eingerichtet. In der linken Zelle wird der Aufzählungspunkt als Grafik untergebracht und in der rechten Zelle der dazugehörige Text.

Verfasser: Andreas
Letzte Änderung: 2012-09-10 18:23


Euro-Zeichen

Sie bieten auf Ihren Seiten Inhalte mit Preisangaben an und müssen diese als Euro darstellen. Web-Anbieter müssen künftig mit dem Euro-Zeichen ebenso arbeiten wie andere Anbieter. Sie können das Kürzel EUR einsetzen oder das entsprechende grafische Symbol. Das Unicode-Konsortium hat das Euro-Symbol ins Unicode-System aufgenommen. Der Wert lautet U+20AC und entspricht dem hexadezimalen Wert 20AC (dezimal: 8364). Web-Browser, die dem HTML-4.0-Standard entsprechen, können Werte q aus dem Unicode-System mit folgender Syntax anzeigen: &#xHEXWERT; oder &#DEZIMALWERT; Für das Euro-Zeichen notieren Sie in Ihren HTML-Dokumenten die folgende Schreibweise: € oder € Mittlerweile können Sie für das Euro-Zeichen ein benanntes Zeichen verwenden: € Zur Darstellung dieses Zeichens muss der Anwender über eine Schriftart verfügen, die dieses Zeichen beinhaltet.

Verfasser: Andreas
Letzte Änderung: 2012-09-10 18:24


Farbige Scrollbars im Internet Explorer

Wer viel im Web unterwegs ist, stößt immer häufiger auf grafisch anspruchsvolle Webseiten, bei denen sogar die seitlichen Scrollbars farbig dargestellt werden. Was nach viel Arbeit aussieht, lässt sich binnen weniger Minuten in die eigene Seite einbauen.
Ab Version 5.5 ist der Internet Explorer in der Lage, bunte Scrollbars darzustellen. Noch besser: Ein simples Style-Sheet reicht aus, um auch die Bildlaufleisten an die Optik des Seiteninhalts anzupassen. Folgende Befehle sind für das Aussehen zuständig:
scrollbar-3d-light-color /*
innere Begrenzungslinie */
scrollbar-arrow-color /*
Navigationspfeile */
scrollbar-base-color /* Erste
Grundfarbe der Bildlaufleisten */
scrollbar-dark-shadow-color /*
äußere Begrenzungslinie */
scrollbar-face-color /* Zweite
Grundfarbe der Bildlaufleiste */
scrollbar-highlight-color /*
Farbe des Untergrunds */
scrollbar-shadow-color /*
Schattenwurf */
Falls Sie sich nicht in Eigenregie mit den diversen Parametern und Farben auseinandersetzen möchten, nehmen Sie das kostenlose MSDN-Angebot an und arbeiten mit dem Online-Codegenerator
msdn.microsoft.com/workshop/sample s/author/dhtml/refs/scrollbarColor.htm. Hier wählen Sie die gewünschten Farben aus, klicken in der rechten Spalte auf die Schaltfläche Copy Code to Clipboard und fügen den Quelltext in Ihren HTML-Editor ein.

Verfasser: Andreas
Letzte Änderung: 2012-09-10 18:25


Favicons einrichten

Beim Surfen haben Sie eine Seite in die Favoriten aufgenommen, die im Menü ein individuelles Icon hat. Das möchten Sie auch für Ihre Homepage realisieren.
Mit den so genannten Favicons bietet der Internet Explorer seit der Version 5 dem Webmaster die Möglichkeit, eigene Icons für seine Webseiten zu entwerfen, die in der Favoritenliste statt des Standard- Icons angezeigt werden. Um Ihre Seite auf diese Weise aus den Favoriten hervorzuheben, gehen Sie folgendermaßen vor: Gestalten Sie zunächst mit einem Icon-Editor wie MicroAngelo oder IconEdit Ihr Logo in den Größen 16 x 16 und eventuell 32 x 32 Pixel, und speichern Sie die beiden Bilder als favicon.ico. Im Browser wird das kleinere Icon benutzt, bei einer Verknüpfung etwa im Start-Menü dagegen die Größe 32 x 32 bzw. wird auf diese Größe skaliert. Sie brauchen diese Datei nur noch ins Rootverzeichnis Ihrer Domain oder Subdomain zu legen. Alternativ können Sie einen anderen Dateinamen oder Speicherort wählen, müssen dann aber folgende Angabe in den Head-Bereich Ihrer Seite aufnehmen, wobei die href-Angabe die URL Ihres Icons ist:
<head>
<link rel="shortcut icon"
href="http://www.mydomain.com/ myicon.ico">
<title>Seitentitel</title>
</head>
Weitere Informationen finden Sie bei Microsoft unter: msdn.microsoft.com/ workshop/author/dhtml/howto/Short cutIcon.asp

Verfasser: Andreas
Letzte Änderung: 2012-09-10 18:25


Fixe Tabellen

Beschleunigen Sie den Aufbau umfangreicher Tabellen mit Bildern im Browser.
Die Darstellung einer umfangreichen Tabelle, in die ein paar Bilder eingebaut sind, überfordert den Browser: Solange nicht sämtliche Bilder und sonstige Elemente geladen sind, steht deren Größe nicht fest. Deshalb zeigt der Browser erst einmal gar nichts an oder verändert die Zellengröße nachträglich und "rutscht" damit Elemente auf dem Bildschirm hin und her. Sie können das abschwächen, wenn Sie bei Bildern Größenangaben ins Bild-Tag einbauen:
<img src="sonne.jpg"
width="300" height="225">
Viele Web-Editoren wie HomeSite oder Dreamweaver fügen diese Angaben automatisch ein. Eine Alternative bietet der Internet Explorer ab Version 5 an. Die CSS2-Angabe
<table style="table-layout:fixed">
bewirkt, dass der Browser die Angaben zur Spaltenbreite und Zeilenhöhe in der obersten Zeile für die ganze Tabelle übernimmt. So kann der Browser die Tabelle sofort aufbauen, ohne die Übertragung des Inhalts abzuwarten. Ältere Browser überlesen die CSS-Angabe.

Verfasser: Andreas
Letzte Änderung: 2012-09-10 18:26


Formular-Maildienste

Für die Auswertung der Formulardaten auf Ihrer Homepage stehen Ihnen keine CGI-Scripts zur Verfügung, Sie möchten aber das mailto vermeiden.
Wer keinen unbeschränkten Zugang zu einem Server hat und auf diesem die Eingabedaten aus Formularen verarbeiten kann, lässt sie sich als E-Mail zusenden, um sie auf dem lokalen Rechner auszuwerten. Das erledigen meist fertige CGIScripts, wie sie inzwischen auch Provider wie AOL oder 1&1 zur Verfügung stellen. Bietet Ihr Provider diesen Service nicht und erlaubt er auch keine eigenen CGIs, können Sie auf einen Formular- Maildienst zurückgreifen. Empfehlenswert und für private Seiten kostenlos ist Formmailer (www.formmailer.com). Nach der Anmeldung setzen Sie Formmailer als URL im action-Attribut ein und fügen ein verstecktes Feld in Ihr Formular ein, dessen genauen Quellcode Formmailer Ihnen mitteilt:
<form action="http://send.formmailer.
com/" method="post">
....
<input type="Hidden" name="formmailer"
value="12345">
....
</form>

Verfasser: Andreas
Letzte Änderung: 2012-09-10 18:26


Formulare gezielt absenden

Formulare können an beliebige Zielfenster versandt werden und die Rückgabeseite darin darstellen.
Üblicherweise werden die Rückgabeseiten von Formularen im gleichen Fenster angezeigt, in dem sich das Formular beim Absenden befand. Mit dem optionalen Attribut TARGET im einleitenden Formularelement können Sie auch andere Zielfenster für die Rückgabeseite bestimmen. Nehmen wir an, Ihre Seiten sind in drei Frames unterteilt: einen linken Navigations-Frame und einen horizontal zweigeteilten Frame auf der rechten Seite. Ein Formular wird jetzt im oberen rechten Frame untergebracht, und die Antwort soll im unteren rechten Frame ausgegeben werden. Dies erreichen Sie mit der folgenden Anweisung im einleitenden
Formular-Tag:
<FORM ACTION=
"/cgi-bin/
test.cgi" TARGET=
"name_des_
zielframes">
Dieses Beispiel könnte das Interface für eine Suchmaschine darstellen, bei der die Ergebnisse getrennt vom Eingabeformular ausgegeben werden sollen. Für das TARGETAttribut können Sie alle erlaubten Werte (zum Beispiel _blank für ein neues Browser-Fenster) sowie gültige Frame-Namen verwenden. Falls Sie einen unbekannten Namen angegeben haben, öffnet sich standardmäßig ein neues Browser-Fenster für die Ausgabeseite.

Verfasser: Andreas
Letzte Änderung: 2012-09-10 18:27


Grafiken auf Webseiten platzieren

Ihre erste Homepage entsteht. Sie soll Text und Bilder enthalten. So gehen Sie vor, um Bilder richtig in den Text zu integrieren.
Browser behandeln Bilder wie Zeichen. Ebenso wie eine Textverarbeitung bei einem besonders großen Zeichen den Zeilenabstand erhöht, schaffen auch Browser Raum für das Bild, statt den Text um das Bild fließen zu lassen. Abhilfe schafft das Attribut align. Es sorgt bei den Werten left und right dafür, dass Text um das Bild herumfließt. Dabei sollten Sie zwei weitere Attribute, vspace und hspace, einsetzen. Sie bewirken, dass ein ausreichender Abstand zwischen Bild und Text eingehalten wird:
<img src="bild.gif" width="300"
height="200"
align="right" vspace="10px"
hspace="10px">

Verfasser: Andreas
Letzte Änderung: 2012-09-10 18:27


Grafiken einbetten

Wenn sich Text gleichsam um die Grafik schmiegt, haben Sie Ihr Bild mit einem Alignment versehen.
Grafiken, kombiniert mit Text, sollten stets ein Alignment aufweisen. Anderenfalls steht die erste Textzeile neben der Grafik und der Resttext unter ihr. Verwenden Sie wahlweise eines der Attribute ALIGN=Left oder ALIGN= Right: So betten Sie Ihre Grafik links- oder rechtsbündig ein, damit Texte Bilder umfließen.
Die Grafik positionieren Sie am besten mit WIDTH- und HEIGHT-Attributen. Der Browser lädt bereits den korrekt formatierten Text, weil er "weiß", wo eine Grafik steht. Wenn Sie Ihre Grafik zudem mit dem ALT-Attribut ausstatten, definieren Sie damit einen Text, den Sie anstelle der Grafik zuvor anzeigen lassen. Mit folgendem Tag binden Katzenfreunde ihren Vierbeiner kunstgerecht in Fließtext ein:
<IMG SRC="katze.gif" WIDTH=200 HEIGHT=200 ALT="Meine kleine Katze">

Verfasser: Andreas
Letzte Änderung: 2012-09-10 18:28


Grafiken ohne Hintergrund

Eine durchscheinende Grafik läßt Sie den Hintergrund sehen.
Die meisten Grafiken im Internet sind nicht schlicht quadratisch, sondern lassen den Hintergrund durchscheinen. Dies ist eine Besonderheit des Formats gif. Eine gif-Datei kann neben der Grafik noch Steuerbefehle enthalten, und einer davon definiert eine bestimmte Farbe als nicht vorhanden. Der Browser ignoriert nun alle Pixel der Grafik in dieser Farbe bei der Ausgabe. Mit diesen "transparent GIFs" arbeiten auch viele Shareware-Programme. Eines der bekanntesten ist Paint Shop Pro, Sie finden es unter der Adresse
www.jasc.com/pspdl.html

Verfasser: Andreas
Letzte Änderung: 2012-09-10 18:28


Größe von Frames

In einem Frameset müssen Sie bei der Größenangabe für Frames genau aufpassen, sonst erhalten Sie nicht das gewünschte Ergebnis.
Mit einem Frameset teilen Sie das Browserfenster in mehrere unabhängige Bereiche auf. Die Definition sieht zum Beispiel so aus:
<frameset cols="30%,400,*,2*">
... Definition der Frames
</frameset>
Das Attribut cols teilt das Browserfenster senkrecht in ein einzelne Frames. Als Attributwert geben Sie die Breite der einzelnen Frames durch Komma getrennt an. Dabei gibt es verschiedene Varianten:
Ein Zahlenwert ohne Zusatz gibt die Breite/Höhe des Frames in Pixel an.
Ein Prozentwert (mit nachgestelltem %) weist dem Frame den entsprechenden Anteil an der gesamten Fensterbreite zu. Es spielt keine Rolle, wie viel Platz für andere Frames reserviert ist.
Anders als Prozentwerte beziehen sich relative Angaben mit dem Sternzeichen (*) auf den Platz, der abzüglich anderer Frames noch zur Verfügung steht. Ein Sternzeichen steht für den "restlichen Platz", der noch zur Verfügung steht. Geben Sie bei mehreren Frames einen Stern an, so teilen sich diese beiden Frames den Platz gleichmäßig auf (je die Hälfte). Die Aufteilung lässt sich mit einer vorangestellten Zahl noch beeinflussen: cols="1*, 3*, 1*" erzeugt beispielsweise drei Spalten. Zusammen gibt es fünf Einheiten zu verteilen (1+3+1 = 5). Der erste Frame erhält 1/5 (=20 Prozent), der zweite Frame 3/5 (=60 Prozent) und der Dritte wieder 1/5 (20 Prozent). Das Beispiel oben kombiniert alle drei Varianten und erzeugt damit vier Frames. Wenn Sie dieses Frameset in einem Browserfenster mit 1000 Pixel Breite darstellen ergeben sich folgende Frame-Ausmaße: Der erste Frame nimmt 30 Prozent des gesamten Fensters ein, also 300 Pixel. Der zweite Frame hat eine feste Breite von 400 Pixel. Das macht zusammen 700 Pixel, es bleiben also noch 300 Pixel übrig. Diese teilen sich die beiden restlichen Frames im Verhältnis 1:2 (*, 2*). Der dritte Frame ist 100 Pixel breit, der vierte Frame 200 Pixel. Wenn Sie das Browserfenster verkleinern verschwinden zunächst die Frames 3 und 4, denn der restliche freie Platz schrumpft auf 0. Verkleinern Sie das Browserfenster weiter wird der erste Frame immer kleiner (30 Prozent der Gesamtbreite). Der zweite Frame mit 400 Pixel bleibt dagegen erhalten. Erst wenn auch der erste Frame gar nicht mehr zu sehen ist und das Browserfens-ter immer schmäler wird verkleinert der Browser auch den zweiten Frame.

Verfasser: Andreas
Letzte Änderung: 2012-09-10 18:29


Hello Engines!: Anmeldefilter setzen

Sie wollen Ihre Homepage bei Suchmaschinen anmelden, wissen aber nicht, wo und wie Sie anfangen sollen. Webpromoter-Programme melden Ihre Homepage automatisch bei Hunderten von Suchmaschinen weltweit auf einen Rutsch an. Doch nicht immer ist es erstrebenswert, überall rund um den Globus registriert zu sein: Werbemails, unerwünschte Newsletter etc. können dann zur Plage werden. In Hello Engines! setzen Sie einfach Suchdienst-Filter, um ein wahlloses Anmelden zu vermeiden. Dazu wählen Sie der Reihe nach Suchdienste Auto und Filter aktivieren. Im sich öffnenden Fenster finden Sie alle notwendigen Schalter und die zugehörigen Beschreibungen.

Verfasser: Andreas
Letzte Änderung: 2012-09-10 18:30


Höhe einer Tabelle festlegen

Mit einer unsichtbaren Grafik erzwingen Sie die Höhe einer Tabelle in allen Browsern.
Während Tabellen mit Breitenangaben, Attribut width, zurechtkommen, wird height, um die Höhe festzulegen, nicht allgemein unterstützt. Wenn Sie für Layoutzwecke eine Tabelle mit einer bestimmten Höhe benötigen, verwenden Sie einen einfachen Trick: Erstellen Sie eine GIF-Datei mit einem transparenten Hintergrund. Sie braucht nur eine Größe von einem Pixel zu haben. Diese fügen Sie in die Tabelle ein und skalieren sie mit den Größen- Attributen auf die gewünschte Höhe. Soll das Layout mehrere Tabellenzeilen enthalten, sorgen Sie mit rowspan dafür, dass die Zelle mit der Grafik über alle Zeilen ausgedehnt wird:
<table><tr>
<td rowspan="2"><img
src="leer.gif" width="1"
height="100"></td>
<td>... Hier folgt der eigentliche</
td>
</tr>
<tr><td> Inhalt der Tabelle ...
</td></tr>
</table>

Verfasser: Andreas
Letzte Änderung: 2012-09-10 18:30


Hyperlinks auf bestimmte Stellen

So verbessern Sie den Bedienkomfort für Besucher Ihrer Homepage.
Sie präsentieren auf Ihrer Homepage ein sehr langes Dokument und möchten erreichen, dass Besucher über ein Inhaltsverzeichnis zu einzelnen Inhaltspunkten bequem über Hyperlinks springen können. Das erhöht die Übersicht und erleichtert dem Besucher die Navigation. Dazu benötigen Sie ein Inhaltsverzeichnis mit Sprungbefehlen und im Text Sprungmarken, die die Ziele darstellen. Benutzen Sie Rahmen, setzen Sie den target-Befehl auf self. Schreiben Sie in Ihren Quelltext zuerst einen Sprungbefehl, beispielsweise:
<a href="#Kapitelueberrschift" target="_self">nach oben</a>
Definieren Sie das Ziel, indem Sie eine Marke setzen, zu der gesprungen werden soll:
<a name="#Kapitelueberschrift"></
a>
An der Raute # erkennt der Browser den textinternen Link.

Verfasser: Andreas
Letzte Änderung: 2012-09-10 18:31


Im Text springen

Große HTML-Dokumente überblicken Sie besser mit internen Sprungzielen.
Größere HTML-Seiten sind oft mit einem eigenen Inhaltsverzeichnis versehen. Dieses besteht aus Hyperlinks, die auf die eigene Seite verweisen. Für derartige interne Links nehmen Sie am besten den Tag <A NAME=>. Er definiert ein internes Sprungziel. Der dort angegebene Name ist frei wählbar. Der Hyperlink verweist auf diesen Tag mit der Pseudo-URL #name:
<A HREF="#Teil2">Zu Teil 2</A>
Teil 1: Wie zum HTML-Dokument?
...
<A NAME="Teil2">
Teil 2: Wie werden Sie die Surfer wieder los?
Sie können solch einen Namen direkt an eine URL anfügen. Haben Sie das Inhaltsverzeichnis auf Ihrer Hauptseite, verzweigen Sie direkt auf Teil 2 Ihrer Abhandlung mit folgendem Link:
<A HREF="abhandlung.html#Teil2">Zu Teil 2</A>

Verfasser: Andreas
Letzte Änderung: 2012-09-10 18:31


Kein Seitenrand

Unterdrücken Sie den Seitenrand, den die Browser zwischen Webseite und Fenster- oder Frame-Rand einfügen.
Internet Explorer und Netscape Navigator zeigen eine Webseite innerhalb des Browser-Fensters nicht an derselben Stelle an. Während IE standardmäßig direkt am Rand beginnt, lässt Netscape links und oben einige Pixel Freiraum. Normalerweise fällt das kaum ins Gewicht, bei einem dunklen Seitenhintergrund oder etwa bei nahtlosen Frames stört der Effekt. Um den Seitenrand einzustellen gibt es zusätzliche Attribute für das <body>-Tag. Diese sind allerdings nicht im HTML-Standard festgelegt, sondern unterscheiden sich bei den beiden Browsern. Beim IE geht es so:
<body leftmargin=0 topmargin=0>
Weniger bekannt sind die entsprechenden Parameter von Netscape:
<body marginwidth=0 marginheight=0>

Verfasser: Andreas
Letzte Änderung: 2012-09-10 18:32


Keine Rollbalken

Mit einem Attribut unterdrücken Sie im Internet Explorer die Anzeige von Rollbalken für eine Webseite.
Wenn der Platz im Browser-Fenster nicht ausreicht, um eine Webseite komplett darzustellen, blendet der Browser Rollbalken ein. Diese Steuerelemente können sowohl waagerecht als auch senkrecht erscheinen. Beim Internet Ex-TIPP TIPP plorer haben Sie die Option, die Anzeige der Rollbalken zu beeinflussen. Ein Beispiel:
<body scroll="yes">
Das Attribut scroll steuert die Darstellung der Rollbalken. Es gibt drei erlaubte Werte: no unterdrückt die Rollbalken komplett. Dabei wird in der Darstellung kein Platz für den Rollbalken reserviert. yeszeigt den senkrechten Rollbalken immer an. Ist der Rollbalken gar nicht erforderlich, erscheint er in deaktivierter Darstellung. Der waagerechte Rollbalken bleibt davon unbeeinflusst. Der Internet Explorer zeigt ihn nur an, wenn das Browser-Fenster zu schmal für die Webseite ist. yes ist der Standardwert des Internet Explorer. auto zeigt die Rollbalken nur dann, wenn es notwendig ist. Der Platz für den rechten Rollbalken ist bereits reserviert, so dass beim Einblenden keine Änderung am Layout der Webseite erforderlich ist. Beachten Sie: Das Attribut scroll gehört nicht zum HTML-Standard und wird auch von anderen Browsern nicht interpretiert.

Verfasser: Andreas
Letzte Änderung: 2012-09-10 18:32


Klingende Seiten

PC-Power lockt längst nicht mehr nur mit optischen Reizen. Klänge tönen von der nächsten Dimension.
Mit dem gleichen Trick wie zuvor lassen Sie nach dem Laden eines Dokuments noch eine Melodie erklingen:
<HTML>
<META HTTP-EQUIV="Refresh" CONTENT="1; URL=file:///c|/windows/media/ding.wav">
<BODY>
Ding!
</BODY></HTML>
Das Beispiel spielt nach Laden des Dokuments das bekannte "Ding"! Die Pfadangabe mag variieren, je nachdem, wo sich ding.wav auf Ihrem Rechner befindet. Das Ganze klappt auch nur, wenn Ihr Browser mit dem entsprechenden Plugin zum Abspielen von Sounds ausgestattet ist. Falls Sie Sounds im Internet anbieten, sollten Sie diese Dateien im au-Format ablegen, das die meisten Browser verstehen.

Verfasser: Andreas
Letzte Änderung: 2012-09-10 18:33


Laufschrift mit Bildern

Die Laufschriftfunktion des Internet Explorer bewegt nicht nur Text, sondern beliebige Elemente wie etwa Bilder.
Microsoft hat den Internet Explorer um ein spezielles Tag für Laufschrift erweitert. Andere Browser ignorieren die Angabe und zeigen nur den Text an. Eine Laufschrift leiten Sie mit dem Tag <marquee> (marquee = Festzelt!) ein und beenden sie mit </marquee>. Alle Elemente wie Text oder auch Bilder, die Sie zwischen die beiden Tags notieren werden von der Bewegung erfasst.
<marquee>
<img src="logo.gif">
</marquee>
Der Browser bewegt damit das Bild von links nach rechts über das Browserfenster. Auf einer Webseite dürfen Sie mehrere unabhängige Laufschriften verwenden. Die Geschwindigkeit der Laufschrift steuern Sie über die beiden Attribute scrollamount und scrolldelay im einleitenden Tag.
scrollamount steuert, wie weit die Laufschrift bei jedem Animationsschritt versetzt wird. Die Einheit ist Pixel, der Standardwert ist 6. Der IE akzeptiert ganze Zahlen ab 1 als Attributwert.
scrolldelay: Die Wartezeit zwischen zwei Animationsschritten beträgt standardmäßig 85 Millisekunden. Mit diesem Attributwert setzen Sie die Anzahl Millisekunden ( 1 Sekunde = 1000 Millisekunden) als ganze Zahl und steuern so die Geschwindigkeit der Animation.
<marquee scrolldelay="5"
scrollamount="1" truespeed="1">
<img src="logo.gif">
Blitzschnelles Logo
<marquee>
Beide Attribute bestimmen in Abhängigkeit voneinander die Geschwindigkeit der Animation. Je kleiner scrollamount ist, desto langsamer und feiner wird die Bewegung. Je kleiner scolldelay ist, desto schneller und rechenaufwändiger wird die Bewegung. Dabei gibt es eine Besonderheit: Standardmäßig benutzt der Internet Explorer das Zeitsignal der Systemuhr, das nur alle 60 Millisekunden auftritt. Deshalb "verschluckt" der IE alle Delay-Werte kleiner 60. Aus scrolldelay="30" macht der IE intern scrolldelay="60". Erst das zusätzliche Attribut truespeed="1" sorgt dafür, dass es der Browser mit der Zeitangabe genau nimmt. Besonders wenn Sie Bilder mit einem kleinen Wert bei scrollamount sauber bewegen wollen führt kein Weg an truespeed="1" vorbei.

Verfasser: Andreas
Letzte Änderung: 2012-09-10 18:34


Laufschriften mit Hyperlink einbauen

Mit Hilfe eines Newstickers stellen Sie animierte Botschaften auf Ihrer Homepage dar.
Mit Lauftexten übermitteln Sie Ihren Website-Besuchern Kurzinformationen, beispielsweise über Neuigkeiten auf Ihrer Homepage. Wenn Sie dazu den Marquee-Tag verwenden, gehen Netscape-Anwender zwar leer aus, dafür können Sie aber auf jedes JavaScript verzichten. Einen simplen Lauftext erzeugen Sie folgendermaßen:
<marquee>Text läuft von links nach rechts </marquee>
Die Laufrichtung wechseln Sie so:
<marquee direction=right> Text läuft von links nach rechts </marquee>
Mit folgenden Schaltern definieren Sie die Geschwindigkeit und Verzögerung des Tickers:
scrollamount=50
scrolldelay=5
Mit dem alternate-Attribut läuft der Text abwechselnd von links nach rechts und umgekehrt:
<marquee behaviour=alternate>Lauftext mit wechselnder Richtung</marquee>
Die Hintergrundefarbe bestimmen Sie folgendermaßen:
<marquee bgcolor=red>Lauftext auf rotem Hintergrund</marquee>
Formatieren Sie die Schrift in Größe und Farbe:
<font size=7 color=blue><marquee bgcolor=red>Lauftext in blauer Schrift auf rotem Hintergrund</marquee></font>
Die Höhe und die Breite des Banners bestimmen Sie in Pixeln oder in Prozent:
<font size=7 color=blue><marquee bgcolor=red width=250 height=25>Lauftext in blauer Schrift auf rotem Hintergrund</marquee></font>
Abschließend können Sie Ihrem Laufband noch Hyperlinks beifügen:
<font size=7 color=blue><marquee bgcolor=red width=250 height=25> <a href="hyperlink.html">Newsticker in blauer Schrift auf rotem Hintergrund mit Hyperlink</a></marquee></font>

Verfasser: Andreas
Letzte Änderung: 2012-09-10 18:34


Linie zeichnen

Zeichnen Sie eine Linie an beliebiger Stelle in Ihrem HTML-Dokument, ohne das HR-Tag zu verwenden.
Für horizontale Linien nutzt man üblicherweise das HR-Tag. Zur Formatierung des Tags können Sie unter anderem die Attribute SIZE (für die Höhe), WIDTH (für die Breite) und COLOR (für die Linienfarbe) verwenden. Mit einer einfachen Tabelle ist das Darstellen einer horizontalen Linie ebenfalls möglich:
<TABLE WIDTH="800">
<TR>
<TD WIDTH="1"
BGCOLOR="#0000FF"></TD>
</TR>
</TABLE>
Diese Technik bietet sich zur Layoutsteuerung innerhalb verschachtelter Tabellen an. Für andere Aufgaben macht dies keinen Sinn, da Sie mit dem speziell dafür vorgesehenen HR-Tag einfacher zum Ziel gelangen. Richtig interessant wird diese Technik beim Erzeugen von vertikalen Linien. Für diesen Zweck gibt es keinen Tag. Das folgende Beispiel zeigt Ihnen, wie Sie in einer Tabelle eine vertikale Linie zeichnen können:
<TABLE WIDTH=
"1" HEIGHT=
"300">
<TR>
<TD>linke
Seite</TD>
<TD WIDTH="1" BGCOLOR="#
0000FF"></TD>
<TD>rechte Seite</TD>
</TR>
</TABLE>
Die linke und rechte Spalte werden in diesem Beispiel mit einer vertikalen Linie getrennt. Dies kann beispielsweise beim Darstellen von Inhalten im Zeitschriften-Layoutstil eine nette Idee sein.

Verfasser: Andreas
Letzte Änderung: 2012-09-10 18:35


Links neu laden

Ihre Homepage ist in einen Frame für das Menü und einen zweiten für den Inhalt geteilt. Alle Verweise des Menüs sollen mit einem Befehl im anderen Frame geladen werden. Normalerweise laden Browser bei einem Klick auf einen Hyperlink die neue Seite ins aktuelle Fenster bzw. den aktuellen Frame. Mit dem Attribut target im Tag des Links bestimmen Sie ein anderes Ziel. Statt in Ihrem Menü zu jedem Link die Attribut-Angabe zu schreiben, geben Sie den Ziel- Frame global an. Fügen Sie im Head-Bereich der Seite für den Menü-Frame die Zeile ein. "zielFrame" ist der Name des Frames, wie Sie ihn im Frameset vergeben haben. Analog können Sie Ihren Besuchern gestatten, Links auf Ihren Seiten zu folgen, ohne Ihre Site zu verlassen. Die folgende Angabe lädt Verweise jeweils in ein neues Fenster: So bleibt das Fenster, von dem der Link aufgerufen wurde, im Hintergrund erhalten. Das lohnt sich beispielsweise, wenn Sie Linklisten anbieten und davon ausgehen, dass der Besucher immer wieder auf Ihre Seite zurückkehren möchte. Dann vereinfacht das offene Fenster die Navigation. Die Technik kann auch ägerlich wirken. Wenn es keinen Grund gibt, zur ursprünglichen Seite zurückzukehren. Der Besucher muss das alte Fenster schließen und vermutet, dass der Autor seinen Auftritt aufdringlich in den Vordergrung rücken will.

Verfasser: Andreas
Letzte Änderung: 2012-09-10 18:36


mailto-Befehle verfeinern

Mit dem mailto-Befehl erleichtern Sie es Besuchern, Ihnen eine E-Mail zu senden.
Sie möchten die Betreffzeile für eingehende Mails von vornherein festlegen oder Textinhalte vordefinieren. Dazu stehen Ihnen einige Befehle zur Verfügung. Der einfache mailto-Befehl sieht so aus:
mailto:mein@name.deUm die E-Mail als carbon copy an weitere Adressen versenden zu lassen, ergänzen Sie den obigen Befehl:
mailto:mein@name.de?cc=durch@schlag.deund für eine blind copy:
mailto:mein@name.de?bcc=durch@schlag.deLegen Sie anschließend den Betreff fest:
mailto:mein@name.de?cc=durch@schlag.de&subject=Ihr Betreff
Selbst ganze Mailtexte können Sie integrieren:
mailto:mein@name.de?cc=durch@schlag.de&subject=Ihr Betreff&body=Lieber Empfänger...

Verfasser: Andreas
Letzte Änderung: 2012-09-10 18:36


Mehrspaltig formatieren

Ob Sie im WWW Buch- oder mehrspaltigen Magazinsatz vorgaukeln, entscheiden wenige Befehle.
Sie wollen, daß Ihre Seite mehrspaltig wie in der Zeitung erscheint? Das ist nicht einfach. Netscape bietet ab Version 3 den MULTICOL-Tag an. Leider erkennt der Explorer ihn nicht an. Andere Browser wollen ihn auch nicht darstellen, da er nicht Bestandteil von HTML 3.2 ist. Weitaus mehr Browser können aber unsichtbare Tabellen wie mit einer Zeile und beliebig vielen Spalten darstellen:
<TABLE BORDER=0>
<TR><TD>
Text in der linken Spalte!
<TD>
Text in der nächsten Spalte!
<TD>
Text in der rechten Spalte!
</TABLE>
Da der Text dabei leider nicht automatisch umbricht, müssen Sie selbst entscheiden, was Sie in welche Spalte schreiben.

Verfasser: Andreas
Letzte Änderung: 2012-09-10 18:37


META-Tags einfügen

Sie haben eine informative Seite gebaut, die die Suchmaschinen aber nicht finden.
Wer seine Homepage bei Suchmaschinen anmeldet, sollte nicht vergessen, dass Web.de, Yahoo!, Lycos etc. zum korrekten Auffinden Ihrer Seiten Hilfestellung benötigen. Das bedeutet, Sie sollten mindestens eine Beschreibung Ihrer Seiten sowie Schlüsselwörter, nach denen die Suchmaschine fahnden soll, von vornherein im Quelltext Ihrer Website verankert haben. Darüber hinaus stehen weitere Attribute zur Verfügung, um Ihre Seite besser zu platzieren. Meta-Tags sind HEAD-Elemente, dementsprechend setzen Sie sie zwischen die beiden Tags <head> und </head>. Um eine Beschreibung Ihrer Homepage zu definieren, benutzen Sie folgenden Meta-Tag:
<META NAME="description" CONTENT="Geben Sie hier eine Beschreibung Ihrer Homepage an">
Folgender Tag dient zur Eingabe Ihrer Schlüsselwörter:
<META NAME="keywords" CONTENT="Hier zählen Sie Ihre Schlüsselwörter auf, trennen Sie sie aber durch Kommata">
Damit die Suchmaschine sich Ihrer Homepage mit sämtlichen Unterseiten annimmt, sollten diese Attribute nicht fehlen:
<META NAME="robots" CONTENT="INDEX,FOLLOW">
Den Autor und das Copyright geben Sie an mit:
<META NAME="author" CONTENT="Ihr Name">
<META NAME="copyright" CONTENT="zum Beispiel: Ihr Name ">
Überbegriffe, Zielgruppe und Seitentyp legen Sie folgendermaßen fest:
<META NAME="page-topic" CONTENT="beispielsweise: Dienstleistungen">
<META NAME="audience" CONTENT="Alle">
<META NAME="page-type" CONTENT="beispielsweise: Kommerziell">
Legen Sie noch den Europäischen Zeichensatz fest:
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

Verfasser: Andreas
Letzte Änderung: 2012-09-10 18:39


Mit Schwarzweiß anfangen

Wer zuerst die Grafik ohne Farbattribute über die Leitung schickt, hilft Anwendern bei langsamen Übertragungsraten.
Ein anderer Anwendungsbereich für animierte gif-Grafiken erfreut insbesondere diejenigen, die Zeit und Telefongebühren noch mit langsamen Modems vergeuden. Fürsorgliche Designer stellen zwei Versionen einer größeren Grafik her. Die schnell zu ladende Schwarzweiß-Version kommt als erstes Image in die gif-Datei, gefolgt von der ausladenden Farbversion. Da animierte gif-Bilder immer auch während des Ladens angezeigt werden, bekommen Sie zunächst die Schwarzweiß-Version zu sehen, die sich dann mit Farbe füllt.

Verfasser: Andreas
Letzte Änderung: 2012-09-10 18:39


Ohne

Auf den Einsatz des Tags <basefont> sollten Sie aus Kompatibilitätsgründen verzichten.
Das HTML-Tag <basefont> war bei HTML 3.2 fester Bestandteil in HTML 4.0 ist es als missbilligt (deprecated) aufgeführt. Das bedeutet, dass es nicht mehr verwendet werden soll, weil es in der nächsten HTML-Version voraussichtlich ganz entfällt. Es gibt eine ganze Reihe solcher Tags, die aber weiter benutzt werden sie unterstützen die aktuellen Browser. <basefont> setzt im Kopf einer HTML-Datei die Schriftgröße für die ganze Webseite:
<head>
<basefont size=2>
</head>
Der Attributwert bei size darf zwischen 1 und 7 liegen, 3 ist die Normalgröße. Das klappt gut, nur nicht bei Netscape 6: In vorauseilendem Gehorsam gegenüber dem W3C-Standard (World Wide Web Consortium) haben die Entwickler <basefont> gestrichen.

Verfasser: Andreas
Letzte Änderung: 2012-09-10 18:40


Saubere Auswahlmenüs

HTML 4.0 erlaubt verschachtelte Auswahllisten: ein nützlicher Weg, um für Übersicht zu sorgen.
Auswahllisten innerhalb eines Formulars präsentieren dem Surfer eine vorgegebene Zahl von Optionen. Zusammen mit JavaScript lassen sich so praktische Auswahlmenüs programmieren. Ab einer gewissen Zahl an Listeneinträgen wird es aber unübersichtlich. Mit HTML 4.0 bauen Sie Zwischenüberschriften in die Auswahlliste ein. Leider klappt das nur mit dem Internet Explorer 6 und Netscape 6, andere Browser ignorieren die Angaben. Eine Auswahlliste definieren Sie so:
<form>
<select>
<option>M&uuml;nchen</option>
<option>Augsburg</option>
...
</select>
</form>
Für eine Zwischenüberschrift klammern Sie die betroffenen Option-Elemente einfach mit dem Tagpaar <optgroup>...</ optgroup> ein. Mit dem Attribut label geben Sie den Text an, der in der Liste als Zwischenüberschrift erscheinen soll:
<optgroup label="Bayern">
<option>M&uuml;nchen</option>
<option>Augsburg</option>
</optgroup>
Die Zwischenüberschriften kann der Anwender im Browser nicht markieren, sie werden übersprungen. Dieser Effekt ist vom HTML-Standard nicht vorgesehen. Laut World Wide Web Consortium soll <optgroup> ein verschachteltes Menü erzeugen: Die Liste ist ein Menü zum Aufklappen, das wiederum Untermenüs unter Label-Namen enthält.

Verfasser: Andreas
Letzte Änderung: 2012-09-10 18:40


Schädliche Leerzeichen

Vermeiden Sie überflüssige Leerzeichen in Tabellen, die Ihr Seitenlayout durcheinander bringen.
In HTML spielen Leerzeichen, Zeilenumbrüche etc. normalerweise keine Rolle für die Darstellung der Webseite im Browser. Der Browser übergeht diese Zeichen und fasst beispielsweise mehrere Leerzeichen zu einem zusammen. In Einzelfällen reagieren Browser aber anders als gedacht. In einer Tabelle wollen Sie mehrere Bilder in verschiedenen Zellen nahtlos aneinander fügen. Im Internet Explorer und im Netscape 6.2 ist das letzte Bild um einen Pixel nach unten versetzt, Netscape 4.x sowie Opera 5 zeigen einen hässlichen Spalt zwischen den Bildern. Ein Effekt am Rande: Machen Sie das Browser-Fenster sehr schmal, dann verschwindet der Spalt bei allen Browsern. Suchen Sie nach einem Leerzeichen in den einzelnen Tabellen-Tags: Zwischen dem einleitenden <td> und dem abschließenden </td> sollten absolut keine Leerzeichen außerhalb eines Tags vorkommen. Die Schreibweise
<td><img src="wolk000.jpg"> </td>
verursacht den Fehler, während
<td><img src="wolk000.jpg"></td>
eine korrekte Anzeige bewirkt. Noch tückischer wird es, wenn Sie ein Leerzeichen vor dem Bild einbauen. Dann kann es beim Internet Explorer unter Umständen passieren, dass das Bild nach dem Leerzeichen um ein paar Pixel nach unten verschoben ist. Letztlich bleibt nur der Merksatz: Keine überflüssigen Leerzeichen in Tabellenzellen.

Verfasser: Andreas
Letzte Änderung: 2012-09-10 18:41


Schnelles Surfen im Internet

Aus mehreren HTML-Dokumenten fassen Sie mit einem Aufruf eine umfangreiche Link-Liste zusammen.
adressen.cpp (Listing in Databox 4/98) faßt die Links mehrerer HTML-Dokumente übersichtlich in einem neuen zusammen. Somit ersparen Sie sich bei der nächsten Online-Sitzung das Suchen nach bestimmten Links in alten HTML-Dokumenten.
Sie rufen einfach die mit adressen.cpp gespeicherte Link-Seite auf und klicken dort den gesuchten Link an. Die Befehlszeile, um diese Seite anzulegen, lautet:
adressen LINKS.HTM
Adok1.htm dok2.htm ...
Die Datei links.htm listet dann die einzelnen Links der Dokumente dok1.htm, dok2.htm etc. übersichtlich auf. Falls Sie an eine bereits bestehende Link-Seite die Links neuer HTML-Dokumente anhängen wollen, rufen Sie den folgenden Befehl auf:
adressen linksNEU.htm A
linksALT.htm dok1.htm ...
Damit Sie die Link-Seite zügig speichern, liest das Programm die einzelnen HTML-Dokumente in Blöcken von maximal 1000 Zeichen ein. Findet das Programm in einem Block einen Link, so prüft es zuerst, ob es sich um eine vollständige Adresse handelt. Wenn ja, wird die Adresse in der Link-Seite gespeichert und die Suche im momentanen Block fortgesetzt.
Die Suchprozedur basiert auf der Brute-Force-Methode (rohe Gewalt), die hierfür gut geeignet ist. Komplexere Suchprozeduren würden bei den kurzen Such-Strings zu keiner nennenswerten Verbesserung führen.
Alexander Albrecht/et

Verfasser: Andreas
Letzte Änderung: 2012-09-10 18:41


Seite für Seite

Ersparen Sie dem Anwender das Blättern, indem Sie ihm neue Seiten automatisch aufschlagen.
Mit Hilfe eines speziellen Tag am Dokumentanfang laden Sie nach einer vorgegebenen Zeit die nächste Seite:
<HTML>
<META HTTP-EQUIV="Refresh" CONTENT="5; URL=folgeseite.html"> <BODY> In f&uuml;nf Sekunden mehr!
</BODY></HTML>
Die Ziffer 5 läßt es nach fünf Sekunden mit der angegebenen URL weitergehen.

Verfasser: Andreas
Letzte Änderung: 2012-09-10 18:42


Seitenübergänge mit Pfiff

Eine einzige Zeile Code sorgt dafür, dass einfache Seitenübergänge zu einem wahren Blickfang für alle Benutzer des Internet Explorer werden.
Jeder Videokenner weiß um die Vorzüge von Überblendeffekten, die thematisch unterschiedliche Szenen nahtlos verknüpfen. Die Entwickler des Internet Explorer waren von den Qualitäten dieser Überblendungen scheinbar ebenfalls so begeistert, dass sie sie bereits in die Browserversion 4.0 implementierten. Das ist kaum bekannt. Um diese Effekte einzubinden, erweitern Sie den Head-Bereich um folgende Zeile:
<META http-equiv="Page-Enter" content="revealTrans(Transition=23,Duration=1.000)">
Die Parameter Transition und Duration legen fest, welche der 23 Effekte verwendet werden soll und wie schnell (in Sekunden) die beiden Seiten ineinander übergehen. Zur Auswahl stehen beispielsweise: 0 = Box in (quadratische Überblendung in die Seitenmitte); 3 = Circle out (Kreisförmige Überblendung aus der Seitenmitte); 8 = Vertical blinds (Blockweiser, vertikaler Seitenaufbau - Jalousieneffekt); 11 = Checkerboard across (Schachbrettmuster von links nach rechts); 12 = Random dissolv (Partikelähnliche Auflösung); 21 = Random bars horizontal (Vertikales Streifenmuster); 23 = Random (zufälliger Effekt). Ebenso setzen Sie die Übergänge beim Verlassen einer Seite ein. Dazu erweitern Sie den Code um die Anweisung Page-Exit oder Site-Exit.

Verfasser: Andreas
Letzte Änderung: 2012-09-10 18:42


Silbentrennung mit ?

Über ein Sonderzeichen erreichen Sie im Internet Explorer automatische Silbentrennung wie im Textverarbeitungsprogramm.
Bei jedem Textverarbeitungsprogramm gehört die automatische Silbentrennung zum Standardrepertoire. Auch HTML 4.0 trifft hierfür Vorkehrungen. Der Standard unterscheidet zwischen dem einfachen Trennstrich und dem weichen Trennstrich. Den einfachen Trennstrich, den Sie über die Tastatur als Minuszeichen (-, ASCII-Code 45) eingeben behandelt der Browser wie ein normales Zeichen. An einem solchen Trennstrich setzt der Browser folglich keinen Zeilenumbruch. Das weiche Trennzeichen ist das Sonderzeichen &shy; oder numerisch &#173;. Laut HTML-Standard sollen Browser an entsprechend markierten Stellen einen Zeilenumbruch durchführen. Bei einem Zeilenumbruch setzt der Browser an das Ende der Zeile einen Trennstrich. Erfolgt keine Silbentrennung an der markierten Stelle, so zeigt der Browser keinen Trennstrich.
<body>
Es war einmal mitten im Winter,
und die Schnee&shy;flocken
fie&shy;len wie Fe&shy;dern vom
Him&shy;mel herab.
</body>
Setzen Sie das Sonderzeichen &shy; an genau der Stelle in den Text ein, an der eine Silbentrennung erfolgen soll. Normalerweise sehen Sie das Zeichen im Browser nicht. Aber wenn das Wort an den Rand rückt erfolgt eine Silbentrennung mit einem Trennstrich am Zeilenende. Die Silbentrennung beherrscht aber nicht die komplexe deutsche Trennung von ck. Das Wort backen trennt der Internet Explorer als bac-ken und nicht korrekt als bak-ken. Solche Trennstellen dürfen Sie deshalb nicht mit einem weichen Trennzeichen markieren. Von den aktuellen Browsern unterstützt nur der Internet Explorer den weichen Trennstrich. Bei Opera und Netscape 6.x passiert gar nichts, die weichen Trennstriche bleiben unsichtbar. Aus der Reihe tanzt wieder einmal Netscape 4.x. Dieser Browser zeigt auch die weichen Trennstriche als Minuszeichen an. Das Ergebnis ist hässlicher und teilweise schwer lesbarer Text. Da Netscape 4.x immer seltener Verwendung findet, ist der Einsatz von weichen Trennstrichen vor allem bei Blocksatz trotzdem eine Überlegung wert.

Verfasser: Andreas
Letzte Änderung: 2012-09-10 18:43


Spaß mit Formularen

Statt in Web-Formularen auf graue HTML-Buttons oder mit Texturen aufgepeppte Schaltflächen zu bauen, setzen Sie besser Grafiken ein.
Um einer Webseite den letzten Schliff zu geben, verzichten viele Designer auf Standard-Formularschaltflächen und setzen eigene, farbenfrohe Lösungen ein, die sich harmonisch ins einheitliche Seitendesign einfügen. Die Einbindung ist einfach, da die optischen Details mit einer einzigen Zeile festgelegt werden. Fügen Sie den folgenden HTML-Code in den Body-Bereich der Seite ein. Die Parameter action, method und name passen Sie an die von Ihnen verwendeten Auslesemethoden an. Wer eine bereits bestehende Formular-Auswahlliste anpassen will, erweitert den Quellcode nur um die vorletzte Zeile und stellt die entsprechende Grafik bereit.
<form action="beliebig.html" method="
get" name="Auswahl">
<select name="menu" size="3"
multiple>
<option value="1"> Menüpunkt
1 </option>
<option value="2"> Menüpunkt
2 </option>
<option value="3"> Menüpunkt
3 </option>
<option value="4"> Menüpunkt
4 </option>
</select>
<input type="image" alt="Auswahlbutton"
src="button1.gif">
</form>

Verfasser: Andreas
Letzte Änderung: 2012-09-10 18:44


Statisches Zielfenster

Beim Klick auf einen Link öffnet sich ein Zusatzfenster, weitere Links schicken ihre Ausgabe in genau dieses Fenster.
Mit dem Attribut target in einem Verweis-Tag geben Sie das Zielfenster an, in dem die referenzierte Webseite erscheinen soll. Normalerweise kommt die Technik bei Frames zum Einsatz aber sie kann mehr. Als Attributwert geben Sie target="_ blank" an, damit die Webseite in einem neuen Browser-Fenster erscheint. Haben Sie mehrere derartige Links auf einer Seite, öffnet der Browser jedes Mal ein neues Fenster, das Surfer von Hand wieder schließen müssen. Besser wäre es, wenn der erste Link ein neues Fenster öffnet und alle weiteren Links dieses Fenster "mitbenutzen". Denken Sie an eine Bildergalerie mit Thumbnails, deren Vergrößerung im Zusatzfenster erscheint. Die Lösung: Geben Sie einen beliebigen Text als Target an, bei allen Links denselben. Beim ersten Klick auf einen Link stellt der Browser fest, dass noch kein Fenster dieses Namens existiert, und öffnet eines. Beim zweiten Link gibt es das Fenster bereits, und der Browser ersetzt nur den Inhalt.

Verfasser: Andreas
Letzte Änderung: 2012-09-10 18:44


Suchmaschinen- Ausschluss

So erreichen Sie, dass untergeordnete Seiten Ihrer Homepage von Suchmaschinen nicht indiziert werden.
Sie haben Ihre Homepage bei Suchmaschinen angemeldet. Doch Sie möchten erreichen, dass einige untergeordnete Seiten von Suchmaschinen nicht gefunden werden. Das erreichen Sie, indem Sie im Head-Bereich der Seite folgendes Meta-Tag notieren:
<meta name="robots"
content="noindex">

Verfasser: Andreas
Letzte Änderung: 2012-09-10 18:45


Tool-Tipp überall

Mit den Attributen title und alt statten Sie die Elemente Ihrer Webseiten mit Tool-Tipps aus, die beim überfahren mit der Maus erscheinen.
In HTML 4.0 gibt es ein neues Universalattribut, das Sie in jedem HTML-Tag verwenden dürfen (auch wenn es nicht überall Sinn macht). Mit dem Attribut title="" realisieren Sie die unter Windows oft anzutreffenden Tool-Tipps: Sobald der Mauszeiger kurze Zeit ruhig über einem Element steht, erscheint in einem kleinen gelben Fenster ein kurzer Erklärungstext. Praktisch sieht das folgendermaßen aus:
<a href="http://www.pcmagazin.de"title="Hier geht's zum PC Magazin">PC Magazin</a>
Das funktioniert auch bei Bildern oder mit einer Tabelle. Die Länge des Textes ist nicht beschränkt. So könnten Sie etwa bei Bildern eine umfangreiche Beschreibung unterbringen. Der Nachteil: Das Verfahren funktioniert zwar mit Internet Explorer, Opera 5.x und Netscape 6, aber nicht mit älteren Netscape-4.x-Browsern. Zumindest bei Bildern kann man das ausgleichen: Hier gibt es das alt-Attribut, das Sie immer einsetzen sollten. Der Text, den Sie mit alt angeben, erscheint im Browser während des Ladevorgangs eines Bildes oder wenn das Bild nicht geladen werden konnte. Um kompatibel zu sein, setzen Sie beide Attribute ein. Allerdings ist es bei alt angebracht, kurze Texte zu verwenden: Normalerweise sind Zeilenumbrüche in HTML ohne Bedeutung. Allerdings sollten Sie den Text innerhalb der Anführungszeichen bei title="" in eine Zeile schreiben. Sonst übernimmt der Internet Explorer den Zeilenumbruch in den Tool-Tipp. Leider reagiert Netscape 6 sehr empfindlich und fügt statt dessen ein paar unleserliche Sonderzeichen in den Tool-Tipp ein. Und Opera ignoriert den Umbruch.

Verfasser: Andreas
Letzte Änderung: 2012-09-10 18:45


Umlaute definieren

Betriebssysteme definieren Umlaute auf ihre eigene Art. HTML bietet dafür eine allgemeingültige Konvention.
Tippen Sie Umlaute niemals direkt ein, wenn Sie für Ihre HTML-Seiten einen ASCII-Editor verwenden. Die Zeichensätze der Betriebssysteme unterscheiden sich in den Umlauten und Sonderzeichen voneinander. Wenn Sie unter DOS ein ü eintippen, sehen Sie in einem Windows-Browser nur ein Kästchen. Der HTML-Standard sieht für Umlaute und Sonderzeichen spezielle Zeichenfolgen vor, die mit einem &-Zeichen beginnen und mit einem Semikolon enden (siehe Tabelle unten). Achten Sie auf die korrekte Schreibweise, vor allem auf Groß- und Kleinbuchstaben. Eine komplette Liste aller HTML-Sonderzeichen finden Sie im WWW:
www.sandia.gov/sci_compute/symbols.html

Verfasser: Andreas
Letzte Änderung: 2012-09-10 18:46


Universelle Tool-Tipps

Die in erster Linie bei der Auszeichnung von Grafiken zum Einsatz kommenden Tool-Tipps lassen sich auch bei weiteren Seiten-Elementen einsetzen.
Erfahrene Web-Designer nutzen bei allen eingebundenen Grafikelementen das ALT-Tag konsequent aus, um dem Besucher bei eventuellen Übertragungsproblemen zumindest eine Beschreibung des Bilds anzuzeigen. Die wenigsten wissen aber, dass sich diese Hinweistexte nicht nur mit Hilfe des ALT-Tags realisieren lassen, sondern auch bei Komponenten wie Separatoren, Überschriften, Textblöcken und sogar Tabellen verwendet werden können. Möglich wird dies durch das fast nur bei der Auszeichnung von Hyperlinks eingesetzte TITLE-Tag. Wollen Sie beispielsweise die Überschrift PC Magazin um den entsprechenden Tool-Tipp "Das ist die Überschrift PC Magazin" erweitern, sieht der Quellcode folgendermaßen aus:
<font size="7" title="Das ist die Überschrift PC Magazin"> PC Magazin </font>

Verfasser: Andreas
Letzte Änderung: 2012-09-10 18:46


Unsichtbare Frames

Sie möchten Frames zur Gliederung Ihrer Seite einsetzen, aber der hässliche graue Rahmen stört Sie.
Unter Homepage-Bastlern meist verpönt und verspottet, verbessern Frames die Darstellung und die Navigation. Während Sie in einem Rahmen Ihre Navigationsleiste platzieren, die dadurch ständig im Blickfeld ist und nur einmal geladen werden muss, werden nach Klick auf letztere die zugehörigen Inhalte im Haupt-Frame dargestellt. Das spart Ladezeit und Bastelarbeit. Sie können nun Scrollbalken und Leisten so verstecken, dass der Besucher auf den ersten Blick keine Rahmenstruktur erkennt. Laden Sie dazu Ihre Homepage mit einem HTML- oder Text-Editor. Nun können Sie den Quellcode bearbeiten. Mit den Attributen frameborder= "NO", border="0" und framespacing=" 0" verhindern Sie die Darstellung der unschönen Rahmen, mit scrolling=" NO" werden auch die Rollbalken unsichtbar, und letztlich sorgen Sie mit noresize für eine stets identische Rahmenfenstergröße. Der Quellcode könnte so aussehen:
<frameset cols="200,85%" rows="*" frameborder="NO">
<frame src="linkerframe.html" name="links" scrolling="NO" frameborder="NO" noresize>
<frameset rows="120,520*" frameborder="NO" border="0" framespacing="0" cols="*">
<frame src="obererframe.htm" name="oben" scrolling="NO" frameborder="NO" >
<frame src="zielframe.html" name="ziel" scrolling="AUTO" frameborder="NO" bordercolor="#FFFFFF">
</frameset>
</frameset>
In Zukunft vereint Ihre Homepage die bequemen Navigationseigenschaften der Frametechnik und das zeitgemäße Chic des Webdesigns. Beachten Sie, dass sich auch auf kleineren Displays sämtliche Fensterinhalte immer vollständig darstellen: Das gilt insbesondere für den Zielframe, der im Quelltext mit dem Attribut scrolling="AUTO" versehen sein sollte. Er zeigt bei Bedarf einen Rollbalken an.

Verfasser: Andreas
Letzte Änderung: 2012-09-10 18:47


Vorgefertigte E-Mails per Mausklick

Viele Webseiten setzen vordefinierte E-Mails ein, um den Besuchern ein Feedback zur Webseite zu erleichtern. Das alles lässt sich mit wenigen Variablen realisieren.
Sobald der Surfer auf einen E-Mail-Link klickt, startet der standardmäßige E-Mail-Client automatisch mit einer neuen Nachricht. In dieser sollen wichtige Kontaktparameter bereits eingetragen sein: die E-Mail-Adresse des Webmasters und ein Betreff. Der Besucher hat nur noch den eigentlichen Nachrichtentext einzugeben. Der erste Schritt besteht darin, dass Sie einen E-Mail-Link definieren und diesen um die Betreffzeile der Nachricht erweitern. Dies geschieht mit der Variablen ?subject. Um dem Webmaster einer Site eine Mail mit dem Betreff "Meine Meinung zu Ihrem Web-Angebot" zukommen zu lassen, erweitern Sie den Quellcode um folgende Zeile:
<a href href="mailto:webmaster@meinserver.de?subject=MeineMeinung zu Ihrem Web-Angebot">Kritik & Anregungen</a>
Doch damit nicht genug. Auch der Inhalt der Mail lässt sich gezielt vorgeben. Soll die E-Mail gleich um die Anrede erweitert werden, greifen Sie auf die Variable ?body zurück. Ein wichtiger Hinweis: Die einzelnen Variablen lassen sich jederzeit mithilfe des logischen Operators & verknüpfen. In Beispiel sieht der HTML-Code folgendermaßen aus:
<a href href="mailto:webmaster@meinserver.de?subject=MeineMeinung zu Ihrem Web-Angebot ?body=Guten Tag Herr Webmaster, %0Aich habe folgendes Problem:">Kritik & Anregungen</a>
%0A erzwingt dabei einen Zeilenumbruch. Als dritte sinnvolle Erweiterung bietet es sich an, Kopien der Mails an einen oder mehrere Accounts zu versenden. Kopien einer Nachricht verschicken Sie per cc (Carbon Copy) oder bcc (Blind Carbon Copy). Erweitern Sie also den Quelltext um die Variablen ?cc und ?bcc. Die einzelnen Empfängeradressen trennen Sie, wie bei vielen Mail-Clients üblich, per Semikolon:
<a href href="mailto:webmaster@meinserver.de?subject=MeineMeinung zu Ihrem Web-Angebot ?body=Guten Tag Herr Webmaster, %0Aich habe folgendes Pro Problem:&cc=email1@meinserver.de;email2@meinserver.de">bcc=email3@meinserver.de">Kritik & Anregungen</a>

Verfasser: Andreas
Letzte Änderung: 2012-09-10 18:47


Werkzeuge

So programmieren Sie je ein HTML-Werkzeug für DOS, Windows, Linux und Unix, um verschiedene Zeichensätze zu konvertieren.
Möchten Sie manchmal HTML-Dokumente im ASCII-Format weiterverarbeiten, ohne auf teure Werkzeuge für die Web-Seitengestaltung zurückgreifen zu müssen? h2a.c (Listing in Databox 4/98) konvertiert HTML-Dokumente ins ASCII-Format, wobei sämtliche HTML-Tags ausgefiltert werden. Zunehmend tauchen aber auch deutschsprachige Web-Seiten im Internet auf, und hier genügt dies nicht mehr.
Bei deutschsprachigen Texten kommen Umlaute und ß vor, und dann wäre eine umfangreiche Nachbearbeitung in einem ASCII-Editor nötig. Auch dies erledigt h2a.c automatisch. Das Programm erkennt Umlaut- und Sonderzeichendarstellung in sogenannten Entities wie ä = &auml; oder im ISO-8879-Code wie ä = &#228;. Diese Zeichen wandelt das Programm entweder in den erweiterten IBM-Zeichensatz (MS-DOS/ Deutsch), in ANSI-Format (Windows) oder in 7-Bit-ASCII um (ältere Unix-Versionen).
Die gewünschte Einstellung legen Sie vor der Kompilierung des Quellcodes mit der ersten Präprozessordirektive #define BIT7 fest. Die Voreinstellung ist der kleinste gemeinsame Nenner, der 7-Bit-ASCII-Code. Sie stellt Umlaute wie ä als ae oder ß als ss dar.
Liegt im HTML-Dokument ein Fehler vor (meist ein fehlendes Semikolon am Entity-Ende), so unterbricht h2a.c den Konvertierungsvorgang und gibt eine entsprechende Fehlermeldung aus. Sie sollten dann nachsehen, wo die bereits angelegte Textdatei abbricht und dann an entsprechender Stelle das HTML-Dokument berichtigen. Danach starten Sie h2a.c erneut. Während des Konvertierungsvorgangs wird der eingelesene Quelltext ohne Sonderzeichen auf dem Bildschirm ausgegeben. Sie rufen das Programm mit folgender Syntax auf:
h2a [Quelldatei] [Zieldatei]
Die Quelldatei erwartet die Erweiterung htm, die Sie nicht mehr mit angeben dürfen, eine Zieldateiangabe ist optional. Geben Sie keine Zieldatei an, so erhält diese den gleichen Namen wie die Quelldatei mit der Erweiterung .txt.
Ohne Argumente aufgerufen, gibt h2a.c einen kurzen Hilfetext mit der richtigen Aufrufsyntax aus.
Vom IBM-Code ins HTML-Format
a2hibm.c (Listing in Databox 4/98) konvertiert Texte aus dem erweiterten IBM-Code für den deutschen Zeichensatz ins HTML-Format. Dies mag einem kundigen Web-Autor oder HTML-Programmierer zunächst seltsam vorkommen, denn kein Programm kann die vielfältigen Formatierungen, die HTML bietet, aus einem ASCII-Text ohne Tags gewinnen. Zwar erzeugt a2hibm.c kein ausgefeiltes HTML-Dokument, doch zunächst einen gültigen HTML-Dokumentenkopf und zuletzt ein Ende. Weiterhin macht es sich das <PRE>... </PRE>-Tag zunutze, das ASCII-Text in seiner vorformatierten Form übernimmt. Das heißt, mehrere Leerzeichen werden nicht (HTML-üblich) zu einem einzigen zusammengezogen, und Zeilenumbrüche werden direkt übernommem. Damit behält das Dokument im Web-Browser sein ehemaliges Aussehen.
Zudem werden aber Umlaute und die wichtigsten Sonderzeichen, die bei einer fremdsprachigen Umgebungseinstellung falsch dargestellt würden, von a2hibm.c durch Entities ersetzt und erscheinen damit überall in gewohnter Form. Eine umfangreiche und arbeitsintensive Umarbeitung alter MS-DOS-Textdokumente entfällt damit, wenn Sie bereit sind, auf spezielle Schriftformatierungen zu verzichten. Allerdings können Sie dann nachträglich in einem Editor entsprechende Tags ebenso hinzufügen wie Links, die Sie einbauen möchten.
Ein besonderes Feature von a2hibm.c ist noch erwähnenswert. In vielen alten MS-DOS-Textdokumenten sind Grafikzeichen aus dem erweiterten IBM-Code (128 bis 255) enthalten, mit denen Sie Kästen mit einfachem oder doppeltem Rahmen oder Blockdiagramme realisieren. Diese ersetzt a2hibm.c ebenfalls durch Zeichen aus dem 7-Bit-ASCII-Zeichensatz (0 bis 127).
Damit stellt auch Ihr HTML-Dokument diese einfachen Grafiken direkt dar. Sie müssen also nichts von Hand nachbearbeiten. Mit diesem Werkzeug können Sie viele alte MS-DOS- und Linux-Dokumente in kürzester Zeit zu einem umfangreichen Hypertext-Informationssystem zusammenfassen.
a2hibm rufen Sie mit folgender Syntax auf:
a2hibm [Quelldatei.EXT]
A[Zieldatei]
Die Quelldatei geben Sie mit Erweiterung ein, da Sie nicht davon ausgehen können, daß alle Textdateien die Erweiterung .txt besitzen. Die Erweiterung der Zieldatei setzt das Programm automatisch auf .htm.
Vom ANSI-Code ins HTML-Format
a2h.c (Listing in Databox 4/98) arbeitet genau wie a2hibm.c, nur daß es ANSI-Zeichensatz (Windows) ins HTML-Format umwandelt.
Alle Programme, h2a.c, a2hibm.c und a2h.c, überprüfen auf erfolgreiches Schreiben in die Zieldatei. Dafür verwenden sie eine spezielle Test-Variable t, die den Rückgabewert der fgetc- und fgets-Funktionen auswertet. Nach dem Schließen der Dateien und vor dem Beenden des Programms zeigt eine Fehlerstatistik, wie viele Schreiboperationen vielleicht nicht richtig waren.
Die drei Programme orientieren sich streng am ANSI-89-Standard der Programmiersprache C. So können Sie sie mit dem GNU-C/C++-Compiler auch in Linux- oder andere Unix-Systeme übersetzen.
Wilfried Franz/et

Verfasser: Andreas
Letzte Änderung: 2012-09-10 18:48


Zeilenumbruch verhindern

Sie möchten selbst bestimmen, wie die Zeilen Ihres Textes umlaufen.
Browser bauen Webseiten je nach Fensterbreite unterschiedlich auf. Dabei besorgen sie den Zeilenumbruch in Fließtexten selbstständig. Wenn Sie das nicht wünschen, umschließen Sie den Text mit dem Tag <nobr>. Dann erzeugt der Browser Zeilenwechsel nur da, wo Sie es explizit angeben. Ist der Text länger als die Fensterbreite, wird er nicht umbrochen, sondern der Browser zeigt eine Scrollleiste.

Verfasser: Andreas
Letzte Änderung: 2012-09-10 18:48


Computer » Programmierung » DHTML

Auf Tastatureingaben reagieren

Dank des neuen Event-Modells können Sie in Dynamic HTML auf Tastatureingaben des Anwenders reagieren.
 Nicht nur mit dem Mauszeiger können sich Anwender auf den Web-Seiten in das Geschehen einschalten, es lassen sich auch Tasten mit Funktionen belegen. Um mit Tastatureingaben arbeiten zu können, initialisieren Sie zunächst das entsprechende Ereignis (Event).
 Das folgende Beispiel verwendet onkeydown. Es tritt ein, sobald ein Anwender eine Taste drückt:
 document.onkeydown = keyDown;
 Wie in den Beispielen zuvor verwenden Navigator und Explorer je eine andere Syntax.
 Um mit ersterem auf Tastatureingaben reagieren zu können, erweitern Sie die zuvor erzeugte Zeile:
 document.onkeydown=keyDown;
 document.captureEvents(Event.KEYDOWN)
 In der dazugehörigen Funktion übergeben Sie einen unsichtbaren Parameter e, der die ensprechenden Tastatureingaben repräsentiert. Um nun die jeweilige Taste identifizieren zu können, verwenden Sie das Schlüsselwort which. Damit erhalten Sie die Index-Nummer der gedrückten Taste. Abschließend müssen Sie nun diese Index-Nummer in den passenden Buchstaben oder die richtige Zahl umwandeln:
 function Tastatur(e) {//Net
 var taste_index = e.which;
 var taste_genau=String.fromCharCode(e.which);
 alert('Index-Nummer: ' +taste_index+ '\nTaste: ' +taste_genau);}
 document.onkeydown=keyDown;
 document.captureEvents(Event.KEYDOWN);
 Für den Internet Explorer benötigen Sie bei dieser Funktion keinen Parameter. Die Tastatureingaben lesen Sie nicht mit which, sondern mit window.event.keyCode aus. Die dazugehörige Funktion sieht wie folgt aus:
 function Tastatur() {//IE
 var taste_index=window.event.keyCode;
 var taste_genau=String.fromCharCode(window.event.keyCode);
 alert('Index-Nummer: '+taste_index+'\nTaste: '+taste_genau);}
 document.onkeydown=keyDown;
 Nachdem Sie nun wissen, wie die unterschiedlichen Browser auf Tastatureingaben reagieren, sollten Sie Ihre Anweisungen so schreiben, daß sie für beide Browser geeignet sind. Die Funktion keyDown (Listing in Databox 5/98) demonstriert das Verfahren.
 Das Beispiel keyEvent.html (Listing in Databox 5/98) zeigt den praktischen Einsatz. Beachten Sie in diesem Beispiel die unterschiedliche Zuordnung der Tastaturereignisse zu den beiden Browsern. Dies ist nötig, da sich die Index-Zahlen unterscheiden.
 if (taste_ns == 110 || taste_ie==78)
 Das Skript öffnet beim Drücken auf [n] ein neues Fenster, das Sie mit [q] wieder schließen.
 DHTML: Verschachtelte Ebenen
 Einzelne Ebenen können auch in Beziehung zueinander stehen.
 Bei vielen selbstprogrammierten Anwendungen kommen bestimmte Elemente innerhalb einer Hauptebene vor. Änderungen an der Hauptebene wirken sich dabei automatisch auf diese Elemente aus. Verschieben Sie die Mutterebene, werden alle darin enthaltenen Ebenen ebenfalls an eine andere Position versetzt.
 Verschachtelte Ebenen werden in einem DIV-Eintrag eingebunden und wie eine eigenständige Ebene behandelt:
 <DIV ID="Hauptebene">... Inhalt für Hauptebene ...
 <>DIV ID="Unterebene1">..Inhalt UE1..<>/DIV>
 <>DIV ID="Unterebene2">..Inhalt UE2..<>/DIV>
 <>/DIV>
 Um nun eine dieser Ebenen ansprechen zu können, benötigen Sie für jeden Browser eine andere Anweisung:
 document.Hauptebene.document.Unterebene1.Eigenschaft; // für Netscape
 Unterebene1.style.Eigenschaft;
 nestEbene.html (Listing in Databox 5/98) zeigt ein Beispiel für den praktischen Einsatz unterschiedlicher Ebenen. Die darin enthaltenen Funktionen haben wir Ihnen bereits vorgestellt. Diese Anwendung verwendet außerdem externe Style-Angaben, das heißt, alle Formatierungsangaben zu den Ebenen liegen in einem eigenen Anweisungsblock (Zeilen 39 bis 41).
 Um einer bestimmten Ebene eine Hintergrundfarbe zuzuweisen, verwenden Sie die Style-Angaben background-color für den Internet Explorer und layer-background-color für den Netscape Navigator. Durch die Angabe clip können Sie die sichtbaren Bereiche bestimmen, indem Sie als Parameter left, top, right und bottom übergeben.
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 22:11


Aufdringliche Buttons

Mit einem Trick bringen Sie Ihre Kunden dazu, den Klick Mich!-Button anzuklicken.
 Wie wäre es, wenn Sie eine Seite im Web anschauen, und plötzlich legt sich der Klick Mich!-Button unter Ihren Mauszeiger? Mit clickme.htm (Listing in Databox 11/98) unter DHTML programmieren Sie diese wandernde Schaltfläche. Jedesmal, wenn Sie Ihre Maus etwa drei Sekunden lang nicht bewegen, fängt der Button an, hinter Ihrer Maus herzukriechen, bis er unter Ihrem Mauszeiger liegt.
 Seiten, die ihren Inhalt verschieben, sind geeignete Kandidaten für Lösungen, die sowohl mit dem Internet Explorer als auch mit dem Netscape Communicator zurechtkommen. Um eine Lösung für beide Browser zu implementieren, benötigen Sie zunächst eine Funktion, die den Browsertyp ermittelt. In unserem Beispiel ist dies getBrowserType(). Diese Funktion erkennt zunächst anhand der Variablen navigator.appVersion, ob ein Browser ab Version 4 vorliegt. Ist dies der Fall, prüfen Sie mit der Variablen navigator.appName, ob der Name des Browsers Microsoft oder Netscape enthält. Trifft eine der beiden Bedingungen zu, setzt das Programm die Variable ns4 oder ie4. Ist keine Bedingung erfüllt, erfolgt eine Fehlermeldung.
 Der Button wird mit seinem FORM-Tag in einem eigenen DIV-Abschnitt abgelegt. Dieser Abschnitt muß fest positionierbar sein, was Sie durch die Formatvorlage clickme sicherstellen.
 Nach dem Laden des Beispiels rufen Sie die Funktion setup() auf. Diese stellt den Browsertyp fest.
 Jetzt wird es ein wenig kompliziert. Die Namen der Positionsattribute X und Y für das Mausereignis und für den DIV-Abschnitt, in dem sich der Button befindet, unterscheiden sich im Explorer und im Communicator. Deswegen belegen Sie dafür verschiedene Variablen. Diese Namen fügen Sie bei Bedarf zu Strings zusammen, die Sie auswerten. So vermeiden Sie langwierige If-Abfragen. Setup() definiert eine Funktion (trackMouse()), die bei jeder Mausbewegung aufgerufen wird. Der Communicator verlangt zusätzlich, daß die Mausereignisse an das geöffnete Dokument weitergeleitet werden. Dafür sorgt
 document.captureEvents(Event.MOUSEMOVE)
 Leider wird trackMouse() im Communicator auch dann aufgerufen, wenn der Mauszeiger ruht. Der Button soll sich jedoch erst bewegen, wenn diese Funktion eine Zeitlang nicht aktiviert wurde. Fragen Sie daher zuerst die Position ab. Wenn Sie den Mauszeiger bewegen, bricht der Timer-Lauf ab, um den Button anzuhalten. Ist kein Timer aktiv, berechnen Sie den Abstand zwischen Mauszeiger und Button mit Hilfe des Satzes von Pythagoras. Die Variablen dx und dy bestimmen die Positionsverschiebung des Buttons, wenn dieser sich auf den Mauszeiger hin bewegen soll. Anschließend startet der Timer: Jetzt dauert es drei Sekunden, bis der Button anfängt, sich zu bewegen.
 Danach rufen Sie die Funktion startMoving() auf. Sie installiert einen neuen Timer, der die Verschiebefunktion moveButton() aufruft. Innerhalb von moveButton() wird die Position des Buttons so lange verschoben, bis der Abstand zum Mauszeiger gleich 0 ist.
 Michael Däumling/et

Verfasser: Andreas
Letzte Änderung: 2012-03-09 22:11


Cross-Browser-Anwendungen

Mit JavaScript können Sie Eigenschaften des aktuellen Dokuments ändern.
 Wenn sich Benutzer mit dem Mauszeiger durch die Web-Seiten bewegen, kann das eine Aktion auslösen. Da Netscape Navigator und Internet Explorer aber eine unterschiedliche Syntax verwenden, brauchen Sie eine allgemeingültige Funktion.
 Bei Dynamic HTML befinden sich die Dokumenteninhalte in verschiedenen Ebenen. Diese werden meist mit dem DIV-Tag angelegt:
 <DIV ID="Ebene" STYLE="position:absolute; left:50; top:100; width:30;">... Dies ist eine Ebene ...
 </DIV>
 Mit der ID dieser Ebene können Sie später mit JavaScript auf die darin enthaltenen Elemente zugreifen. Der Navigator verwendet hierzu das Layer- und der Explorer das Style-Objekt:
 document.Ebene.eigenschaft
 // für Netscape
 Ebene.style.eigenschaft // für Microsoft
 Dabei können Sie für die ID der Ebene einen beliebigen Namen vergeben. Damit Sie stets die richtige Syntax verwenden, müssen Sie zunächst die vom Anwender verwandte Browser-Version in Erfahrung bringen. Das geht am einfachsten über die Abfrage nach Objekten:
 if (document.layers)
 { ns = 1; ie = 0; }
 else {ns = 0; ie = 1;}
 Diese Anweisung prüft, ob der benutzte Browser das Layer-Objekt von Netscape kennt. Ist dies der Fall, wird der Variablen ns für den Navigator das Flag 1 und der Variablen ie für den Internet Explorer das Flag 0 zugewiesen. Erkennt die Anweisung das abgefragte Objekt nicht, erfolgt die Zuweisung in umgekehrter Reihenfolge. Die übergebenen Zahlen sind sogenannte Boolesche Werte, wobei 1 für true und 0 für false steht.
 Damit Sie die ermittelten Werte in Ihrem späteren Quellcode weiterverwenden können, brauchen Sie eine Funktion, die das geladene Dokument initialisiert:
 function init()
 {if (ns) ebene=document.nameEbene;
 if (ie) ebene=nameEbene.style;}
 Die Funktion binden Sie im BODY-Tag mit dem onLoad-Event ein, damit sie erst nach dem vollständigen Laden des Dokument ausgeführt wird. So gelingt die Initialisierung der beiden Browser.
 BrowserTest.html (Listing in Databox 5/98) greift jetzt auf bestimmte Eigenschaften der Ebenen wie zum Beispiel top oder left zu.
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 22:12


Cursor-Wechsle-Dich-Spiel

Kontext-abhängige Cursorformen sind für dHTML kein Problem.
 Auch das Mauszeiger-Aussehen läßt sich dynamisch verändern: Das Listing dCursor.htm zeigt Ihnen, wie es geht. Es beinhaltet einen Test-Satz. Beim Überfahren mit dem Cursor über einen Satz läßt jedes Wort die Form des Cursors mutieren. Im Verzeichnis .../Programmierung/dhtmlauf der Heft-CD zeigt zeigt dCursor.htmeinen genderten Cursor .ber jedem neuen Wort.
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 22:12


Das WebBrowser-Control

Auf einfache Weise betten Sie ein WebBrowser Control in ein Formular ein.
 Sie benötigen Visual Basic 5.0 mit Service Pack 2 oder eine spätere Version sowie den Microsoft Internet Explorer ab Version 4.0. Innerhalb eines Visual-Basic- Projekts öffnen Sie ein leeres Formular. Im Menü Projekt/Komponenten/ Steuerelemente selektieren Sie Microsoft Internet Controls, um ihrem Formular eine Instanz des WebBrowser Control hinzuzufügen. Nun sollte die Checkbox Microsoft Internet Controls erscheinen und mit einem Häkchen versehen sein. Öffnen Sie Projekt/Verweise, und setzen Sie das Häkchen bei der Checkbox Microsoft HTML Object Library. Fügen Sie über Ansicht/Werkzeugsammlung ein WebBrowser Control in Ihr Formular ein. Die Größe wird später vom Programm angepaßt.
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 22:13


Der Spruch der Woche

Aus einer Listbox klickt der Betrachter, passend zum Wochentag, ein Motto an.
 Einen ganzen Produktkatalog durchzublättern ist jedoch oft mühselig und zeitraubend. Mit DHTML fassen Sie solche Seiten leicht zu einer einzigen zusammen. Am Beispiel spruch.htm (Listing in Databox 10/98), einer Lebenshilfe für gestreßte Programmierer, läßt sich diese Methode trefflich darstellen.
 Der obere Teil der Site enthält ein kurzes Formular mit einem Auswahlmenü für Montag bis Sonntag. Für jeden Wochentag, den Sie auswählen, lesen Sie das passende Motto. Die Auswahl der Sprüche erfolgt durch die Funktion select(), die als onClick-Event-Methode des Auswahlmenüs definiert ist. Wenn Sie eine Auswahl anklicken, verwendet select() den Text der Auswahl, um einen gleichnamigen DIV-Abschnitt sichtbar zu machen.
 Die Sprüche liegen in eigenen DIV-Abschnitten, die die Namen der Wochentage tragen. Alle enthalten die gemeinsame Formatvorlage Spruch, die Sie als Klasse definieren. Sie setzt sich aus verschiedenen Positionsattributen und dem Attribut visibility:hidden (unsichtbar) zusammen. Durch die gemeinsame Verwendung dieser Vorlagen befinden sich alle Sprüche an derselben Position.
 Um einen DIV-Abschnitt zu sehen oder auszublenden, baut die Funktion select() einen String zusammen, der den entsprechenden JavaScript-Befehl enthält. Die JavaScript-Funktion eval() interpretiert diese Zeichenkette. Wollen Sie etwa den Abschnit Dienstag sehen, erzeugen und interpretieren Sie den String Dienstag.style.visibility = 'visible'.
 Die gleiche Methode läßt sich auch für komplexere DIV-Abschnitte verwenden. Mit Include-Anweisungen (sofern Ihr Web-Server diese unterstützt) lassen sich ebenfalls externe HTML-Seiten einbinden. Auf dem Netscape-Server finden Sie zahlreiche Beispiele, wie sich derartige Systeme mit dem Navigator realisieren lassen. Hinter der Adresse
 developer.netscape.com/docs/manuals/communicator/dynhtml/index.htm
 verbirgt sich etwa die Speisekarte von Nikki's Diner. Diese demonstriert, wie Sie unterschiedliche HTML-Seiten laden können.
 Auch unter der Adresse
 www.mahag.de
 finden Sie diese Listboxen.
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 22:13


Die verschwundene Seite

Sie klicken eine WWW-Adresse an und sind plötzlich hellwach, weil alle Daten verschwinden. Nur ein schwarzer Bildschirm bleibt.
 Die Auswahl von zigtausend farbigen, aufregenden Internet-Seiten läßt die Aufmerksamkeit des Betrachters abstumpfen. Daher greifen Sie zu einem Gag: Während der Betrachter eine neu geladene Seite flüchtig sieht, bemerkt er, wie sie sich langsam schwarz färbt.
 Dieses Beispiel läuft auf dem Netscape Communicator und dem
 Internet Explorer gleichermaßen, da beide Browser über die Eigenschaft (Property) bgColor verfügen und diese auswerten, wenn das Dokument fertig aufgebaut ist. Der Communicator ist bei derartigen Auswertungen recht pingelig, weil er zumeist nur Teile einer Seite neu positionieren kann. Der Explorer läßt hingegen die Änderung weiter Teile der Seite zu und berechnet sogar das Layout neu, wenn sich die Größe von Teilen der Seite geändert hat.
 Das Beispiel in fader.htm (Listing in Databox 10/98) braucht nur eine Funktion rgb(), die aus drei Werten einen Farbcode der Form #rrggbb erzeugt, wobei die drei RGB-Werte als zweistellige Hex-Zahlen zu sehen sind:
 - Der Wert #FFFF00 definiert die Farbe Gelb,
 - 255 (FFhex) Blau
 - und 0 Schwarz.
 Weiterhin brauchen Sie eine Timer-gesteuerte Funktion fade(), die bei jedem Durchlauf die Hintergrundfarbe des Dokuments neu setzt. Wenn die Farbe Schwarz erreicht ist (alle drei Farbwerte sind 0), stoppt der Timer, den die Funktion startFading() nach dem Laden des Dokuments aktiviert hat.
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 22:13


Drag & Drop

Mit wenigen DHTML-Befehlen verschieben Sie Textblöcke mit der Maus.
 Die Tatsache, daß Sie DIV-Layers beliebig verschieben können, läßt sich hervorragend für kleine Spielereien nutzen. Wir haben eine einfache Aufgabe herausgegriffen: Das Beispiel dragdrop.htm (Listing in Databox 8/98) stellt vier verschiedenfarbige Textblöcke dar, die Sie per Mausklick verschieben.
 Dazu definieren Sie erst vier verschiedene Vorlagen - eine pro Block. Positionieren Sie alle Vorlagen absolut, das heißt relativ zum Anfang des Dokuments.
 Der BODY-Bereich der Seite enthält vier DIV-Tags, die die vier Vorlagen anzeigen. Ihre Namen beginnen in unserem Beispiel mit DRAG.
 <DIV ID="DRAG-red">Rot</DIV>
 <DIV ID="DRAG-blue">Blau</DIV>
 <DIV ID="DRAG-yellow">Gelb</DIV>
 <DIV ID="DRAG-black">Schwarz</DIV>
 Diese vier Blöcke bestehen aus verschiebbaren Elementen. Um sie mit der Maus zu erfassen, installieren Sie den Maus-Event-Handler (Ereignisschalter):
 <SCRIPT LANGUAGE=,JavaScript1.2">
 document.onmousedown = grab;
 document.onmouseup = drop;
 document.onmouseover = cursor;
 </SCRIPT>
 Die Funktion grab() identifiziert bei einem Mausklick das zu ziehende Element. Wenn in der Kette der Elemente unter der Maus eines den String DRAG enthält, speichert das Skript die Position des Elements in den globalen Variablen currentX und currentY. Um das zu ziehende Element vor allen anderen zu positionieren, erhöhen Sie das Attribut zIndex. Abschließend installieren Sie einen weiteren Maus-Event-Handler namens move(), um die Maus zu bewegen.
 Die Funktion move() wird anschließend bei jeder Mausbewegung vom Browser aufgerufen. move() berechnet die neue Position des Elements und verschiebt es entsprechend. Die letzte Methode drop() löscht, wenn Sie die Maustaste loslassen, die Referenz auf das zu ziehende Objekt sowie den Event-Handler für das Verschieben der Maus.
 Zuletzt definieren Sie noch eine Funktion cursor(), die Sie aufrufen, wenn sich der Mauszeiger über einem Element befindet. In diesem Fall verwandelt sich im Explorer der Mauszeiger in den Vierfachpfeil, der dem Benutzer ein verschiebbares Element anzeigt.
 Die Implementation ist im Explorer relativ einfach, da in einem Ereignis im Attribut srcElement immer auch das vom Event angesprochene Element mitgeliefert wird. Im Navigator muß das gesamte layers-Array durchsucht werden, um dasjenige Element zu finden, das sich unter dem Mauszeiger befindet.
 Auch im Navigator können Sie keine globalen Event-Handler definieren. Vielmehr müssen Sie diese beim Laden der Seite an jedem Element separat setzen. Weiterhin müssen Sie explizit angeben, daß Sie die Events für die Mausbewegung interpretieren wollen. Der Navigator zeichnet sich dadurch aus, daß Sie ein Element mit Hilfe der Methode moveBy() sehr einfach verschieben.
 Michael Däumling/et

Verfasser: Andreas
Letzte Änderung: 2012-03-09 22:14


Dynamik mit JavaScript

Mit JavaScript gestalten und verändern Sie Ihre Style Sheets.
 Bildschirmvorlagen aus dem Internet, in denen sich nichts bewegt, erregen kaum Aufmerksamkeit. Das können Sie ändern: Animieren Sie Ihre Style Sheets mit JavaScript.
 Die beiden großen Browser Netscape Navigator und Internet Explorer gehen unterschiedliche Wege, um dieses Feature einzubauen:
 Im Navigator halten Sie alle Formatvorlagen mit einem eindeutigen Namen als Objekte im Dokument und im Array layers (Feld von Ebenen) fest, aber nur, wenn die Vorlage auch ein position-Attribut enthält. Den Hintergrund eines Textes färben Sie im Navigator folgendermaßen ein:
 <STYLE TYPE="text/css">
 #Blau { position:relative; color: blue }
 </STYLE>
 . . .
 <H1 ID="Blue">Dieser Text soll blau werden!</H1>
 <script language="javascript">
 document.Blau.bgColor = "Red";
 //alternativ: document.layers[ "Blau" ].bgColor="red";
 </SCRIPT>
 Im Explorer sieht der Code wie folgt aus:
 <STYLE TYPE="text/css">
 #Blau { color: blue }
 </STYLE>
 . . .
 <H1 ID="Blau">Dieser Text soll blau werden!</H1>
 <script language="javascript">
 Blau.style.backgroundColor = "red";
 </script>
 Im Explorer tragen Sie alle Tags mit einem eindeutigen Kennzeichen, ID, direkt in das Windows-Objekt ein, so daß das document-Prefix entfallen kann. Die ID kann einen beliebigen Namen enthalten. Da solch ein Objekt bereits über zahlreiche Attribute verfügt, sind die das Format betreffenden Attribute in einem eigenen style-Objekt zusammengefaßt.
 Da viele Attribute wie font-size (Schriftgröße) einen Bindestrich enthalten, haben sich beide Browser-Hersteller wenigstens darauf geeinigt, in JavaScript statt des Bindestrichs eine Kombination von Groß- und Kleinschreibung zu verwenden: Das Attribut font-size beispielsweise spricht JavaScript als fontSize an.
 Wer die Liste aller Attribute eines Objekts sehen will, setzt folgendes Miniskript ein:
 for( p in objekt ) document.write( p + "<br>" );
 Neben der unterschiedlichen Positionierung der Dokument-Objekte, der unterschiedlichen Anordnung der Attribute und der verschiedenen Attributnamen gibt es noch eine Reihe anderer Abweichungen. Der Explorer schafft es beispielsweise, die ganze Seite neu zu formatieren, wenn sich die Maße eines Objekts ändern. Im Navigator hingegen müssen Sie die Positionen aller Objekte auf der Seite neu berechnen.
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 22:14


Dynamisches Inhaltsverzeichnis

Pulldown-Menüs programmieren Sie mit dHTML im Handumdrehen.
 Mit Pulldown-Menüs gestalten Sie übersichtliche Web-Seiten. Dazu stellen Sie im HTML-Teil zunächst mit den Tags <UL>, <LI>, <A> und <SPAN> eine Liste zusammen, die das Inhaltsverzeichnis repräsentiert. Um anzuzeigen, daß sich hinter den Überschriften weitere Menüpunkte verbergen, mutiert der Mauszeiger beim Überstreichen der Topics zur Hand, gleichzeitig ändert sich der Schriftstil des Eintrags. Dieses Verhalten realisieren Sie über Inline-Style-Definitionen, die in den HTML-Code integriert werden. Anzeigen und Verstecken der Pulldowns läuft über das onclick-Event.
 <UL id="ul1" class="up">
 <SPAN onmouseover= "this.style.color='red'"
 onmouseout="this.style.color= 'black'"
 onclick="pullDown('ul1');">
 Filter und Übergnge</SPAN>
 <LI><A href="dFilter1.htm" target=_blank>Filter 1</A>
 <LI><A href="dFilter2.htm" target=_blank>Filter 2</A>
 <LI><A href="dFilter3.htm" target=_blank>Filter 3</A>
 </UL>
 Den zugehörigen Eventhandler schreiben Sie als kleines Javascript, das die Anzeige der Pulldown-Menüs steuert.
 <SCRIPT>
 function pullDown(obj) {
 if (document.all[obj]. className == 'up')
 document.all[obj]. className = 'pd'
 else
 document.all[obj]. className = 'up'}
 </SCRIPT>

Verfasser: Andreas
Letzte Änderung: 2012-03-09 22:15


Ebenen automatisch bewegen

Laufschriften, ein Dauerklassiker der Programmierung in allen Systemen, gelingen nun auch mit DHTML.
 Wenn Sie eine Ebene mit der zuvor beschriebenen Anweisung auf eine neue x/y-Position verschieben, geschieht dies in einem Schritt. Reizvoller ist es jedoch, wenn Sie eine sogenannte Scrollwirkung erzielen. Dabei wird die Bewegung in einzelne Stufen unterteilt, so daß sich die Schrift dem Zielpunkt beispielsweise in sich wiederholenden 5-Bildpunkt-Schritten nähert:
 Ebene.left += 5;
 Diese Anweisung verschiebt eine Ebene um fünf Pixel, indem sie zur aktuellen x-Koordinate (left) die entsprechenden Pixelwerte addiert. Um einen Scrolleffekt zu erzielen, führen Sie diese Aktion kontinuierlich bis zu einem definiertem Ziel durch. Dazu setzen Sie die setTimeOut-Methode ein:
 function scrollen(ziel) {
 if (Ebene.left < ziel) {
 Ebene.left += 5;
 setTimeout('scrollen()', 30);
 }
 }
 Eine If-Abfrage prüft dabei, ob die Ebene bereits am Ziel ist. Sobald dies der Fall ist, endet das Scrollen. Der Parameter ziel
 übergibt die x-Koordinate. setTimeOut ruft die Funktion alle 30 Millisekunden erneut auf. Damit scrollt die Ebene jeweils fünf Pixel weiter von links nach rechts.
 Leider verwenden Explorer und Navigator eine unterschiedliche Syntax beim Aufruf von setTimeout.
 Bei letzterem genügt die Anweisung
 setTimeout(Funktionsname,
 Verzögerung in Ms,
 Parameter1, Parameter2, usw);
 Beim Explorer müssen Sie dagegen die in einer Zeichenkette zu übergebenden Parameter nach folgendem Muster aufteilen:
 setTimeout('Funktionsname
 (' +Parameter1+ ', ' +Parameter2+ ')',
 Verzögerung in Ms)
 Um Fehlermeldungen zu vermeiden, sollten sich alle Anwendungen, die setTimeout verwenden, an die letzte Schreibweise halten. Möchten Sie die Ebene von rechts nach links scrollen, müssen Sie diese Funktion wie folgt abändern:
 function scrollen(ziel) {
 if (Ebene.left > ziel) {
 Ebene.left -= 5;
 setTimeout('scrollen(' +ziel+ ')', 30)
 }
 }
 Nach diesem Schema optimieren Sie die Funktion mit zwei weiteren Parametern. Diese übergeben dem Programm die Laufweite der einzelnen Scrollbewegungen und den Verzögerungswert.
 Beim Internet Explorer sind wieder einige Besonderheiten zu beachten. Würden Sie nämlich obiges Beispiel nach gleichem Muster erweitern, wäre nur der Navigator in der Lage, den Anweisungen zu folgen. Fügen Sie dem Programm deshalb folgende Zeile hinzu:
 Ebene.x=parseInt(Ebene.left)
 Dann tauschen Sie die folgenden Zeilen aus:
 if (Ebene.x < ziel) {
 Ebene.x += laufweite;
 Ebene.left = ebene.x
 Diese Ergänzungen sind notwendig, da der Explorer für Positionsangaben den Zusatz px benötigt, statt 10 also 10px. Im Beispiel zuvor stört dies zwar nicht weiter, tiefer strukturierte Programme mit mehreren Parameterübergaben erzeugen jedoch Laufzeitfehler. Die Gründe hierfür sind nicht bekannt.
 Da der Navigator Zahlen erwartet, müssen Sie den übergebenden String mit parseInt() in einen Integer-Wert umwandeln. Nach dem gleichen Strickmuster ändern Sie die Werte für die Eigenschaft top.
 Jetzt ist slideEbene.html (Listing in Databox 5/98) in der Lage, der Funktion weitere Parameter zu übergeben, die unter beiden Browser-Versionen einwandfrei funktionieren.
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 22:16


Ebenen verschieben

Genauso wie Sie eine Ebene verbergen oder zeigen können, verschieben Sie sie auch an eine beliebige x/y-Position.
 Wer eine definierte Fläche seiner Web-Seite anklickt, findet sich vielleicht überraschend in einer neuen Ebene wieder. Dabei übergeben Sie den Eigenschaften top und left einer Ebene neue Koordinaten. Beachten Sie hierbei - wie auch schon im Beispiel zuvor - die je nach Browser unterschiedliche Referenzierung:
 document.Ebene.top = 50;
 // Ebene 50px von oben (Netscape)
 Ebene.style.left = 200;
 // Ebene 200px von links (IE)
 Auch bei diesem Beispiel sollten Sie eine allgemeine Funktion erzeugen, mit der Sie über eine einzige Anweisung diese Eigenschaften ändern können:
 function verschieben() {
 ebene.top = 100;
 ebene.left = 300;}
 Damit Sie eine Ebene noch flexibler an eine bestimmte Position verschieben können, übergeben Sie der Funktion die x/y-Koordinaten anhand von Parametern:
 function verschieben(x, y) {
 ebene.top=x;ebene.left=y;}
 So verschiebt etwa MoveEbene.html (Listing in Databox 5/98) eine Ebene nach top=80 und left=300.
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 22:16


Ebenen zeigen und verbergen

Machen Sie die Inhalte der verschiedenen Ebenen sichtbar, oder verstecken Sie sie.
 Nach dem Laden der Seite können Sie Ebeneninhalte sichtbar bzw. unsichtbar machen. Dazu benötigen Sie die visibility-Eigenschaft.
 Der Navigator Netscape verwendet hierbei die folgende Syntax:
 document.Ebene.visibility="show"; // Ebene zeigen
 document.Ebene.visibility="hide"; // Ebene verstecken
 Anders der Internet Explorer:
 Ebene.style.visibility="visible"; // Ebene zeigen
 Ebene.style.visibility="hidden"; // Ebene verstecken
 Damit Sie für Ihre Anwendungen nicht immer wieder den gleichen Quelltext mit unterschiedlichen Namen schreiben müssen, empfiehlt es sich, hierzu eine globale Funktion anzulegen:
 function zeigen(ebene) {
 if (ns)ebene.visibility="show";
 if (ie) ebene.visibility="visible";}
 function verbergen(ebene) {
 if (ns)ebene.visibility="hide";
 if (ie) ebene.visibility="hidden";}
 Dank dieser allgemein gehaltenen Anweisungen können Sie jetzt jede beliebige Ebene mit einer entsprechenden Funktion aufrufen. Als Parameter übergibt SwitchEbene.html (Listing in Databox 5/98) hierbei den Namen der Ebene, die Sie auf diese Weise manipulieren möchten.

Verfasser: Andreas
Letzte Änderung: 2012-03-09 22:17


Ereignisse abfangen

Verfasser: Andreas
Letzte Änderung: 2012-03-09 22:17


Fertiges HTML-Dokument

Im Load-Event des VB-Formulars laden Sie ein HTML-Dokument.
 Der Navigate-Befehl holt Ihnen ein beliebiges HTML-Dokument ins Web-Browser Control.
 Private Sub Form_Load()
 WebBrowser1.Navigate MY_FILE
 End Sub
 Nach dem Ladevorgang wird das DokumentComplete- Event ausgelöst. Damit instanziieren Sie die Objektvariablen, um das geladene Dokument zu verändern. Sobald die Instanzen eröffnet sind, sind über die Objektvariablen alle dHTML-Objektmodell-Eigenschaften auf Abruf bereit:
 Private Sub WebBrowser1_ DocumentComplete(ByVal pDisp As Object, URL As Variant)
 With WebBrowser1
 If .Document Is Nothing Then
 MsgBox "Kein Dokument!"
 Exit Sub
 End If
 End With
 Set myDoc = WebBrowser1.Document
 InitializeDocument
 Set myObj = myDoc.f2.inp2
 End Sub
 Schließlich bringen Sie das Dokument mit Form_Resize in Paßform.
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 22:18


Fliegende Texte und Bilder

Fliegende Texte und Bilder, I
 Mit dynamischer Positionierung lassen Sie per dHTML Schriften quer über den Schirm laufen.
 Bewegliche Texte oder Laufschriften erzielen Sie mit dem HTML-Tag mar- quee. Dieser Befehl versagt jedoch, wenn der Text schräg über den Bildschirm fliegen soll. In diesem Fall sollten Sie auf die dynamische Positionierung per dHTML zurückgreifen. Dazu legen Sie zuerst einen DIV-Container an und positionieren ihn mit CSS-Attributen:
 <DIV ID="divMove" CLASS= "DiagonalTxt">Dynamische</DIV>
 <STYLE>
 .DiagonalText { position: absolute;top:0;left:0; }
 .DisplayText { position: absolute;top:300;
 left:330;width:200;
 color:red;visibility:hidden; }
 </STYLE>
 Als nächstes schreiben Sie eine Funktion, die die Bewegungskurve des Textes berechnet. Sie verwendet die Formel
 y=mx + b,
 wobei b den Offset zur Vertikalachse und m die Steigung bestimmt. Mit der setInterval-Methode kontrollieren Sie, wie oft die Funktion ausgeführt wird. Sie rufen setInterval über die Funktion pau-seStart() auf, die Sie zum Beispiel über das BODY-onLoad-Event starten.
 <BODY onload="pauseStart()">
 

Fliegende Texte und Bilder, II
 Auch Bilder lernen fliegen - dank dHTML, was im Web für Aufmerksamkeit sorgt.
 Lassen Sie Ihre Web-Seiten blinken und funkeln! Dabei bezeichnet man mit Positionierung die Fähigkeit, ein HTML-Element an einer beliebigen Stelle im Dokument zu plazieren, indem man ihm eine x/y-Koordinate sowie eine Ebene per z-Index eindeutig zuord-net. Auf diese Weise können Sie auch Text und Bilder überlappen. Im Programmierbeispiel fliegt eine kleine GIF-Grafik von rechts kommend ins Bild und wird schließlich hinter einen bestehenden Text geschoben. Im Verzeichnis .../Programmierung/dhtmlauf der Heft-CD zeigt zeigt dFly2.htm, wie Sie eine Grafik hinter einen Text schieben.
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 22:19


Gliederung zum Aufklappen

Mit einer aufklappbaren Gliederung wird Ihr HTML-Dokument übersichtlich.
 Während man in Büchern einzelne Seiten anhand der im Inhaltsverzeichnis gefundenen Angaben aufschlägt, klicken Sie sich in HTML-Dokumenten von der Gliederungs-Ansicht aus zu den dahinter liegenden Kapiteln durch. Per Klick auf eine Überschrift klappt der Text dahinter auf.
 Im Explorer programmieren Sie ein derartiges HTML-Dokument ohne großen Aufwand. Jede Style-Sheet-Beschreibung enthält ein display-Attribut (Darstellungsmerkmal), das angibt, wie der Inhalt eines Tag darzustellen ist. Hat das Attribut den Wert none, verschwindet der Text. Ein Explorer-Skript darf dieses Attribut verändern, was Ihre Web-Seite in neuem Format darstellt. Es genügt also, dem display-Attribut einer Stilvorlage den Wert none zuzuweisen, um das entsprechende Tag verschwinden zu lassen.
 gliederung.htm (Listing in Databox 8/98) demonstriert im Explorer die Gliederungs-Ansicht. Das Auf- und Zuklappen eines Abschnitts übernimmt die Funktion expand(), die dem display-Attribut den Wert none oder einen Leerstring zuweist. Um die Funktion aufzurufen, geben Sie die Pseudo-URL
 javascript:expand(name)
 im Link-Tag ein.
 Damit ein Link nicht als solcher erkennbar ist, definieren Sie im Header ein Stilvorlagen-Element für Links innerhalb einer H3-Überschrift, das die Farbe auf Schwarz setzt und die Unterstreichung unterbindet. Da der Explorer die Web-Seite nach dem Ändern des display-Attributs neu formatiert, ist Ihre Arbeit hiermit beendet.
 Leider können Sie das display-Attribut im Navigator nicht ändern. Greifen Sie auf das Attribut visibility zurück, das ein Element unsichtbar machen kann, ohne die Seite neu zu formatieren. Verwenden Sie eine verschiebbare Ebene (Layer). Der Trick besteht darin, alle Seitenelemente als DIV-Layer zu definieren, damit Sie sie positionieren können.
 Sie programmieren eine Funktion arrange(), die alle Elemente abarbeitet und die vertikalen Positionen eines jeden Textblocks anhand der Position des vorherigen Blocks neu berechnet. Rufen Sie diese Funktion mit dem onLoad-Attribut des BODY-Tag nach dem Laden auf, weil sonst alle Textblöcke übereinander stehen würden. Die Funktion arrange() überspringt dabei alle unsichtbaren Textblöcke, was Sie am Style-Attribut visibility:hide erkennen.
 Genau wie beim Explorer-Beispiel klappen Sie eine Gliederung durch einen Klick auf die Überschrift auf und zu. Der Navigator-Version von expand() übergeben Sie nicht das aufzuklappende Element, sondern dessen Namen. Das visibility-Attribut des Elements wird entweder auf show oder auf hide gesetzt. Anschließend rufen Sie die Funktion arrange() auf, um das Dokument neu zu formatieren. Für Netscape sehen Sie in gliederungNS.htm (Listing in Databox 8/98) das Programm.
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 22:19


Hilfe aus dem Internet

Ein aktueller Download der Spezifikationen und Referenzen zum Netscape Navigator und zum Internet Explorer dokumentiert den Entwicklungsstand.
 Gedruckte Anleitungen zu aktuellen Browser-Versionen suchen Sie vergeblich. Dafür werden Sie im Internet fündig: Die Style-Sheet-Referenz für den Navigator lesen Sie unter der Adresse
 http://developer.netscape.com/docs/manuals/communicator/dynhtml/index.htm
 und die Explorer-Referenz unter
 http://www.eu.microsoft.com/msdn/sdk/inetsdk/help/dhtml/references/css/attributes.htm#ie40_cssref
 Die Web-Site
 webreview.com
 listet genau auf, was beide Browser unterscheidet.
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 22:19


Hyperlinks - einmal anders

Auch ohne Javascript-Funktionen steuern Sie das Aussehen Ihrer Hyperlinks.
 Dieser Tip demonstriert Ihnen zwei-erlei: Zum einen führen Sie Aktionen ab-hängig von der Version des Internet Explorer durch. Zum andern installieren Sie innerhalb des HTML-Codes, also ohne spezielle Javascript-Funktionen, einen Eventhandler. Für das erste Vorhaben implementieren Sie in der <HEAD>-Sektion des HTML-Dokuments den folgenden Script-Code:
 <HTML><HEAD>
 <script language="javascript">
 var isDHTML = (navigator. userAgent.indexOf('MSIE 4') > 0)||(navigator.userAgent.indexOf
 ('MSIE 5') > 0);
 </script>
 </HEAD>
 Mit diesem Codefragment definieren Sie eine Variable isDHTML, die nur dann wahr ist, wenn entweder die IE-Version 5.0 oder 4.0 vorliegt. Diese Versionen sind in der Lage, mit dHTML umzugehen. Im HTML-Code selbst fragen Sie nach Bedarf dann den Wert der Variablen ab. Dies ist im Beispielcode in den Events onMouseOver und onMouseOut realisiert. Um keine eigene Funktion schreiben zu müssen, verwenden Sie das Schlüsselwort javascript: und geben hinter dem Doppelpunkt den Javascript-Code für die Abfrage an:
 <BODY>
 <A href="about:blank.htm"
 onmouseover="nojavascript...isDHTML ?this.innerText='Klick mich': null"
 onmouseout="nojavascript...isDHTML ?this.innerText='Neues Doku': null">
 Neues Dokument</A>
 </BODY></HTML>
 Der Text des Hyperlinks ändert sich beim Überfahren mit dem Mauszeiger nur dann, wenn die Browserversion IE 4 oder IE 5 entspricht.
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 22:20


Identifizieren bitte!

Das Verursacherprinzip findet für jedes Ereignis einen Auslöser: So finden Sie den Täter.
 Ist ein Mausklick-Ereignis innerhalb einer Prozedur abgefangen, ist noch das auslösende Objekt herauszufinden. Unser Beispielprogramm fügt im HTML-Formular ein INPUT-Element ein, das als hidden deklariert wird, damit es im Formular selbst nicht sichtbar wird. Das VB-Programm kann dieses Schnittstellen- Element über seine Name-Eigenschaft identifizieren. Die in Frage kommenden dHTML-Objekte (Buttons, Links, Images) erhalten über Javascript-Inline- Anweisungen den Auftrag, beim OnClick-Ereignis die Value-Eigenschaft des Schnittstellen-Input-Elements auf die eigene ID zu setzen.
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 22:21


Neuer Inhalt auf Mausklick

Mit dHTML ändern Sie den Inhalt eines Dokuments nach Belieben.
 Der Betrachter verändert die Webseite per Mausklick. Der Internet Explorer lie-fert Ihnen dazu mit dem dHTML-Ob-jektmodell einen umfangreichen Satz an Eigenschaften und Methoden: Damit bauen Sie Dokumente dynamisch auf, fügen Elemente ein und entfernen diese wieder oder machen sie sicht- und unsichtbar. Sie modifizieren den vorhandenen Text mit dHTML nach dem Laden des Dokuments in den Browser. Das einfache Do-kument des nachfolgenden Listings dContent.htm demonstriert, wie sich per Mausklick der Text ändert. Im Verzeichnis .../Programmierung/dhtmlauf der Heft-CD zeigt dContent.htm, wie Sie per Mausklick den Text verändern.
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 22:21


Seiten mit Stil

Geben Sie Ihren Seiten mit Stilvorlagen ein neues Aussehen.
 Wollen Sie Ihre Web-Sites mit neuem Layout präsentieren? Dann verwenden Sie die in HTML 4.0 definierten Style Sheets (auch Cascading Style Sheets genannt). Das sind Vorlagen, die Sie zum Formatieren von Teilen eines Dokuments festlegen. Im Internet finden Sie sie unter der Adresse
 www.w3.org/TR/REC-CSS1
 Ein Dokument besteht aus dem HEAD- und BODY-Bereich. Um es zu formatieren, nutzen Sie den STYLE-Tag, einen HTML-Befehl im HEAD-Bereich.
 Wollen Sie zum Beispiel eine neue Schriftart für Überschriften festlegen, verwenden Sie folgende Syntax:
 <STYLE TYPE="text/css">
 H1 { font-family: sans-serif; font-size: 18pt; }
 </STYLE>
 Erweitern Sie das Konzept so, daß eine Vorlage auf einer anderen aufbaut. Legen Sie zum Beispiel die Schriftart für alle H-Tags fest, deren Schriftgröße Sie separat bestimmen:
 <STYLE TYPE="text/css">
 H1,H2,H3 { font-family: sans-serif;font-size:18pt;}
 H2 { font-size: 16pt; }
 H3 { font-size: 14pt; }
 </STYLE>
 Mit Style Sheets können Sie noch weitere Gestaltungsaufgaben lösen. Legen Sie zum Beispiel mit DHTML eine Vorlage für beliebige Elemente an. Mit dem Zeichen # legen Sie einen Namen für die Vorlage fest. Mit dem ID-Attribut kann jeder Tag eine derartige Vorlage anfordern:
 <STYLE TYPE="text/css">
 #Blau { color: blue; }
 </STYLE>
 . . .
 <P ID="Blau">Das Meer ist blau.
 Darüber hinaus können Sie mit dem DIV-Tag Textblöcke und mit dem SPAN-Tag Textsequenzen mit einem eigenen Format versehen. Folgendermaßen stellen Sie Text blau dar:
 <SPAN STYLE="color:blue">Das Meer ist blau.
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 22:22


Selektieren unerwünscht

So unterdrücken Sie das onSelectStart-Event, welches die Bedienung des Pulldown-Menüs stört.
 Viele Anwender klicken auch dann doppelt auf die Elemente einer Website, wenn nur ein Einzelklick notwendig wäre. Der Doppelklick löst das onSelec-tStart- Event aus, mit dem man norma-lerweise eine Textauswahl trifft. In vie-len Fällen, so etwa beim Pulldown-Menü, ist dieses Verhalten unerwünscht, sogar störend. So stellen Sie es ab:
 <BODY onselectstart= "event.returnValue=false;">
 Setzen Sie im Image-Tag die Attribute ID und STYLE.
 Im STYLE-Attribut geben Sie den gewünschten Filter und die Dauer des Übergangs an.
 Ebenfalls im STYLE-Attribut setzen Sie die visibility-Eigenschaft auf hidden
 Schreiben Sie eine Javascript-Funktion, die den Filtereffekt initiiert und starten Sie die Funktion.
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 22:22


Was dahintersteckt

Den Schlüssel, um richtig in DHTML einzusteigen, finden Sie im Internet.
 Eines der neuesten Schlagworte im Bereich des Web-Authoring heißt Dynamic HTML (DHTML). Mit dieser HTML-Spracherweiterung codieren Programmierer im Internet seit der Version HTML 4.0 ihre Seiten. Stellten ältere HTML-Versionen ein Dokument noch so dar, wie es der Server anbot, erlaubt Dynamic HTML, ein geladenes Dokument nachträglich zu ändern. Unter der Adresse
 www.w3.org/MarkUp/
 laden Sie ein Dokument von 150 KByte mit Erklärungen und Beispielen zu DHTML.
 Mit JavaScript und DHTML-Befehlen betten Sie dynamisch erzeugte Texte in ein Dokument ein, das Sie gerade laden. Dies können Sie in den folgenden Tips nachvollziehen.
 
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 22:23


Willkommen beim Internet Explorer !

Um Aufmerksamkeit zu erregen, animieren Sie den Schriftzug Willkommen.
 Wenn Sie die Grußseite welcome.htm (Listing in Databox 10/98) laden, hat sie etwa drei Sekunden lang eine kleine, unauffällige Überschrift. Danach beginnt die Headline wild zu pulsieren: Sie wächst und schrumpft ununterbrochen.
 Dies ist eine der Seiten, die nur mit dem Internet Explorer funktionieren. Der Communicator läßt Änderungen der Schriftgröße nicht zu, nachdem er die Seite geladen hat.
 Zuerst definieren Sie eine Formatvorlage für die Überschrift. In unserem Fall definiert sie den Text als fett, zentriert und mit einer Größe von 10 Punkt. Wichtig ist auch, daß Sie der Vorlage eine feste Höhe geben - tun Sie das nicht, formatiert der Explorer Ihre Seite ständig neu, so daß der Text "hüpft".
 Sie verwenden zwei verschiedene Timer: Den ersten aktivieren Sie nach dem Laden des Dokuments in der Funktion startWelcome(). Er läuft drei Sekunden lang. Danach hält welcome1() den ersten Timer an und aktiviert einen neuen. Dieser stößt alle 10 Millisekunden, so schnell wie es der Browser zuläßt, die Funktion welcome2() (Zeile 24) an.
 welcome2() setzt die Fontgröße der Stilvorlage ständig neu. Die Fontgröße wird so lange in 8-Punkt-Schritten erhöht, bis sie eine Größe von 128 Punkt erreicht hat. Dann ändert sich die Richtung, bis wieder eine Fontgröße von etwa 10 Punkt erreicht ist. Danach beginnt das Spiel von vorn.
 Wenn Sie mit Timern arbeiten, achten Sie darauf, nicht benötigte Timer immer zu deaktivieren. Versäumen Sie dies oder setzen Sie einen Timer gleich mehrfach ein, laufen die gewünschten Effekte zu schnell ab.
 

Verfasser: Andreas
Letzte Änderung: 2012-03-09 22:23


Computer » Programme » Front Page

Fehlendes Server-Verzeichnis

Frontpage benötigt ein eigenes Stammverzeichnis, wenn Sie Server-Erweiterungen installieren.
Wollen Sie mit FrontPage Server-Erweiterungen installieren, so erhalten Sie die Fehlermeldung, daß das entsprechende Verzeichnis nicht angelegt werden kann. Der Grund: Der Web-Server benötigt ein anderes Stammverzeichnis als das Hauptverzeichnis der Festplatte. Legen Sie also auf dem Server ein Unterverzeichnis erster Ebene an, und mappen Sie dieses als Hauptverzeichnis.

Verfasser: Andreas
Letzte Änderung: 2009-10-18 15:03


Kompatible Seiten

Sie benutzen FrontPage 2000 als Webeditor und möchten Ihre Seiten so schreiben, dass sie auch mit dem Netscape Browser funktionieren.
Microsofts Webeditor FrontPage 2000 steht im Ruf, Seiten zu produzieren, die nur mit dem Internet Explorer korrekt dargestellt werden. Tatsächlich stellen Sie beim Testen mit dem Navigator gelegentlich fest, dass Ihre Seiten proprietären IE-Quellcode enthalten. Das muss nicht sein, denn in FrontPage lässt sich recht genau konfigurieren, welche Seitenelemente eingesetzt werden sollen, mit welchen Browsern und sogar welchen Servern der Quellcode kompatibel sein soll. Den Dialog für diese Einstellungen finden Sie unter Extras/Seitenoptionen.

Verfasser: Andreas
Letzte Änderung: 2009-10-18 15:04


Computer » Programme » Mozilla

Seiten auf Knopfdruck

Rufen Sie häufig besuchte Seiten über Schaltflächen auf, die Sie im Mozilla-Navigator anlegen.
So sparen Sie Zeit beim Aufruf Ihrer Lieblings-Webseiten: Richten Sie für regelmäßig besuchte Webseiten eine Schaltfläche auf der persönlichen Symbolleiste ein. Sie können dann diese Seiten per Mausklick auf diese Schaltfläche aufrufen. Laden Sie die gewünschte Seite im Browser, und benutzen Sie Bookmarks/Add Current Page oder die Tastenkombination [Strg-D]. Im Dialog Add Bookmark wählen Sie den Eintrag Personal Toolbar Folder in der Liste Create in per Mausklick. Mit OK schließen Sie ab. Auf der persönlichen Leiste erscheint eine neue Schaltfläche mit dem Titel oder Dateinamen der gewünschten Seite. Diese Leiste befindet sich direkt unter dem Adressfeld. Falls nötig, blenden Sie diese Leiste mit dem Befehl View/Toolbars/Personal Toolbar ein. Um die Beschriftung der neuen Schaltfläche zu ändern, benutzen Sie den Befehl Bookmarks/Manage Bookmarks oder den Shortcut [Strg-B]. Im Bookmarks-Dialog öffnen Sie den Personal Toolbar Folder per Doppelklick. Klicken Sie in der Liste darunter den gewünschten Lesezeichen-Eintrag mit der rechten Maustaste an. Im Kontextmenü wählen Sie Rename. Geben Sie die neue Bezeichnung ein, und drücken Sie auf [Enter]. Um eine überflüssige Schaltfläche zu löschen, markieren Sie den verknüpften Eintrag im Bookmark-Fenster und drücken die [Entf]-Taste. Die Reihenfolge der Schaltflächen verändern Sie im gleichen Fenster, indem Sie ein Lesezeichen mit der Maus an die gewünschte Position in der Liste ziehen.

Verfasser: Andreas
Letzte Änderung: 2009-10-18 15:06


Turbo-Start

Laden Sie den Browser in den Arbeitsspeicher, um ihn bei Bedarf blitzschnell zu aktivieren.
Wenn Sie den Mozilla-Browser häufig benötigen, verkürzen Sie mit einem Trick die Ladezeit des Programms erheblich. Dazu legen Sie eine modifizierte Programmverknüpfung an. Unter Windows 9.x klicken Sie mit der rechten Maustaste in einen freien Bereich des Desktops. Im Menü benutzen Sie den Befehl Neu/Verknüpfung. Tragen Sie im Feld Befehlszeile den Befehl mit Pfadangabe zum Aufruf von Mozilla ein, und fügen Sie dahinter den Parameter -turbo hinzu. Dies sieht aus:
C:\Programme\mozilla.org\ Mozilla\mozilla.exe -turbo
Alternativ benutzen Sie die Durchsuchen-Schaltfläche, um den Pfad ins Feld Befehlszeile zu übernehmen. Wählen Sie dazu die Datei mozilla.exe aus, und klicken Sie auf Öffnen. Anschließend fügen Sie den Parameter -turbo manuell hinzu. Klicken Sie auf Weiter. Geben Sie Mozilla Schnellstart als Namen für die Verknüpfung ein. Mit Fertig stellen schließen Sie ab. Per Doppelklick auf die neue Verknüpfung starten Sie den Turbo-Modus. Im System-Tray von Windows, der sich links neben der Uhr in der Statusleiste befindet, sehen Sie nun das Mozilla-Symbol. Ein Doppelklick darauf genügt, um den Browser blitzschnell zu öffnen. Auf einem Rechner mit Pentium-II-Prozessor oder höher geschieht dies in weniger als einer Sekunde. Lediglich der erste Aufruf dauert etwas länger. Falls Sie mit verschiedenen Benutzerprofilen arbeiten, erscheint dabei zunächst der Auswahldialog für Profile. Die residenten Dateien für den Turbo-Modus belagern Ihren Arbeitsspeicher immerhin mit 14 MByte. Wenn Sie diese Funktion nicht mehr benötigen, klicken Sie mit der rechten Maustaste auf das Mozilla-Symbol im System-q Tray. Mit dem Befehl Exit geben Sie den Arbeitsspeicher frei. Soll der Turbo-Modus automatisch bei jedem Rechnerstart zur Verfügung stehen, legen Sie eine Kopie der Verknüpfung im Autostart-Ordner des Windows-Startmenüs ab. Ziehen Sie dazu die Verknüpfung mit gedrückter [Strg]-Taste in diesen Ordner des Startmenüs. Alternativ kopieren Sie die Verknüpfung mit einem Dateimanager in das Verzeichnis C:\Windows\ Startmenü\Programme\Autostart.

Verfasser: Andreas
Letzte Änderung: 2009-10-18 15:07


Umstieg von Microsoft

Sie haben sich entschieden, zu einem Programm der Mozilla-Familie zu wechseln, wissen aber nicht, ob und wie Sie Ihre alten Daten weiter verwenden können.
Das ist ganz einfach, denn alle drei Programme bieten während der Installation einen automatischen Import der Adressen, E-Mails, Konten, History, Passwörter oder Bookmarks. Der Anwender kann problemlos auch von Mozilla zu Thunderbird, bzw. von Mozilla zu Firefox wechseln. Leider importiert Mozilla umgekehrt noch nicht die Daten seiner Abkömmlinge. Auch nach der Installation lassen sich über die Importfunktion Daten und Einstellungen noch einfügen.

Verfasser: Andreas
Letzte Änderung: 2009-10-18 15:08


Träger Start

Da Mozilla eine Vielzahl an Programmen beinhaltet, kann es gerade bei älteren Rechnern etwas dauern, bis er gestartet ist. Abhilfe schafft der Quick Launch. Dieser startet einige Mozilla-Komponenten direkt beim Hochfahren des Betriebssystems. In der Task-Leiste findet sich dann das kleine Mozilla-Logo. Über dieses ruft man das Programm beschleunigt auf. Der Anwender richtet den Quick Launch gleich bei der Installation ein oder über: Edit/ Preferences/Advanced.

Verfasser: Andreas
Letzte Änderung: 2009-10-18 15:08


Eine Inbox

Bei Mozilla, Netscape und älteren Versionen von Thunderbird war es immer ärgerlich, dass man für jedes Mail-Konto eine eigene Inbox verwalten musste. Diesen Umstand beseitigt der neue Donnervogel. Wenn Sie einen neuen Account anlegen, haben Sie die Option: Use Global Inbox.

Verfasser: Andreas
Letzte Änderung: 2009-10-18 15:09


Cookie-Management

Mozilla und Firefox bieten differenzierte Strategien für den Umgang mit Cookies. Sinnvoll ist es, nur Cookies von dem ursprünglich angewählten Server zuzulassen. So können die Server für Bannerwerbung Sie nicht beobachten. Außerdem sollten Sie die Haltbarkeit der Kekse auf eine Sitzung begrenzen. Mozilla: Edit/Preferences/Privacy & Security/Cookies, Firefox: Tools/Options/Privacy/Cookies. Beide verfügen unter Tools über einen Cookie-Manager, mit dem die Einstellungen für einzelne Seiten geändert und einzelne Cookies gelöscht werden können.

Verfasser: Andreas
Letzte Änderung: 2009-10-18 15:10


Für Web-Entwickler

Bei der benutzerdefinierten Installation von Mozilla und Firefox kann der Anwender zwei Entwickler-Tools mit auswählen: den DOMInspector und die Java-Script-Konsole. Der Inspector zeigt den DOM-Baum der aktuellen Seite an. Wenn der Anwender ein Element im Baum anklickt, leuchtet es in der Webseite im Browser auf. Das hilft dem Autor, wenn er sich irgendwo in Ebenen und Tabellen verzettelt hat. Die Konsole zeigt Meldungen an, die sich bei Problemen mit Java Script ergeben. Mozilla bietet im Composer darüber hinaus eine Java-Konsole und einen Debugger für Java Script.

Verfasser: Andreas
Letzte Änderung: 2009-10-18 15:11


Probleme mit Plug-ins

Sie wollen ein Plug-in wie den Flash Player oder den Acrobat Reader mit einem Mozilla-Browser verwenden.
Viele Webseiten bieten ihren Besuchern inzwischen bunte und interaktive Menüs, die den Flash Player benötigen. Und manche Informationen finden sich im Web nur in PDF-Dokumenten, da diese im Gegensatz zu Html-Seiten das Layout nicht verändern. Dafür und für viele weitere Webanwendungen benötigt man ein Plug-in. Plug-ins für den Internet Explorer liegen im ActiveX-Format vor. Dieses wird von den Mozillas nicht unterstützt, was aus Sicherheitsgründen auch gut so ist (siehe den vorangegangenen Artikel). Meist gibt es jedoch eigene Plug-ins für Mozilla, Netscape oder Firefox. Diese liegen im Mozilla- bzw. Firefox-Hauptverzeichnis im Ordner Plug-ins im DLL-Format. Flash ist beispielsweise NPSWF32.dll oder Acrobat nppdf32.dll. Diese Plug-ins sind innerhalb der Mozilla-Familie weitgehend austauschbar. Falls die Installationsroutine des Plug-ins den konkreten Browser nicht kennt, können Sie die DLL in einen beliebigen Ordner installieren und später in das oben angegebene Verzeichnis kopieren. Weitere Informationen und Download-Adressen finden Sie hier: plugindoc.mozdev.org.

Verfasser: Andreas
Letzte Änderung: 2009-10-18 15:11


Keine Pop-ups

Mozilla und Firefox besitzen jeweils einen Pop-up-Blocker. Mozilla zeigt ein kleines Icon mit Ausrufezeichen in der Statuszeile an, wenn er ein Werbefenster unterdrückt. Bei Firefox findet sich ein Hinweis unterhalb der Knopfleiste. Mit einem Klick darauf gibt der Anwender die Pop-ups der aktuellen Seite frei.

Verfasser: Andreas
Letzte Änderung: 2009-10-18 15:12


Auf Deutsch umstellen

Wenn Sie die neueste Version eines Mozilla-Programms geladen und installiert haben, sind Menüs und Texte üblicherweise in Englisch.
Leider bietet nur Mozilla selbst ein automatisches Update für andere Sprachen: Öffnen Sie den Punkt Sprachversion umstellen: Edit/Prefer ences/Apearance/L anguages/Download mor e. Eine Webseite öffnet sich, auf der Sie die richtige Version und Sprache wählen (Ihre genaue Version erfahren Sie in Help/About Mozilla). Nach dem Sie den Link angeklickt haben, startet die automatische Installation. Für Mozilla gibt es stets zur aktuellen Version ein deutsches Paket. Nach der Installation müssen Sie die gewünschte Sprache in den Preferences noch markieren und Mozilla neu starten. Die Abkömmlinge hinken, was Fremdsprachen anbelangt, noch etwas hinterher. Thunderbird in Deutsch gibt es nur bis Version 0.7 und Firefox bis 0.9.3. Beide enthalten noch kein RSS. Der Anwender kann die Sprache auch nicht selektiv nachfordern, sondern muss ein komplettes angepasstes Paket laden.

Verfasser: Andreas
Letzte Änderung: 2009-10-18 15:13


Verschlüsseln und signieren

Im elektronischen Nachrichtenverkehr wollen viele Anwender nicht darauf verzichten, Ihre Daten zu verschlüsseln und zu signieren. Ein PGP-Plug-in wie für Outlook gibt es für die Mozillas zwar nicht, aber etwas Vergleichbares: das auf GnuPG basierende Enigmail. Es arbeitet mit Mozilla, Netscape sowie Thunderbird. Als Verfahren unterstützt es InlinePGP und PGP/MIME. enigmail.mozdev.org/

Verfasser: Andreas
Letzte Änderung: 2009-10-18 15:14


Toolbar anpassen

Wer in den Knopfleisten von Firefox oder Thunderbird Funktionen vermisst, kann sie auf einfache Weise zufügen: Klicken Sie mit der rechten Maustaste auf eine Toolbar und dann im Kontextmenü auf Customize. Eine Übersicht über alle zur Verfügung stehenden Funktionen und Elemente öffnet sich. Die Gewünschten ziehen Sie einfach auf die zu erweiternde Leiste. Sie können auch eine ganz neue individuelle Toolbar anlegen.

Verfasser: Andreas
Letzte Änderung: 2009-10-18 15:14


Mehrere Seiten

In den Browsern Mozilla und Firefox haben Sie die Möglichkeit, mehrere Seiten gleichzeitig innerhalb des selben Programmfensters aufzurufen.
Der Browser ordnet die Seiten dabei in mehrere Reiter (,,Tabs") hintereinander. Um einen neuen Reiter zu öffnen, drücken Sie am einfachsten Strg-T und Sie erhalten ein leere Seite. Meist öffnet man aber während des Surfens einen Link in einem neuen Tab. Im Fenster liegt beispielsweise eine Google-Ergebnisseite. Wenn Sie nun mit der rechten Maustaste auf einen Link klicken, haben Sie die Möglichkeit: Open in New Tab. So öffnen Sie diverse Seiten, während die Hauptsuchseite immer präsent bleibt. Für Tabs gibt es sogar eine spezielle Extension (siehe Tipp 09), mit der sich individuelle Einstellungen treffen lassen: Tabbrowser Preferences. Das Tool klinkt sich in die normalen Optionen des Browsers. Der Anwender kann dann z.B. festlegen, dass alle Links automatisch in Reitern geöffnet werden sollen. Das ist auch für Links aus externen Programmen (E-Mail) möglich.

Verfasser: Andreas
Letzte Änderung: 2009-10-18 15:15


Spamabwehr

Das E-Mail-Programm soll Spam herausfiltern, der meiste Spam, der eintrifft, ist jedoch nicht als Junk markiert.
Das Spam-Konzept von Mozilla arbeitet mit intelligenten Filtern, die von Ihrem persönlichen Briefverkehr lernen. Das geschieht, indem Sie nicht erkannten Spam von Hand markieren und umgekehrt die falsch erkannten wieder frei geben. So lernt das Programm hinzu. Der Lernmodus muss aktiviert sein, das ist aber in der Grundeinstellung der Fall. Wollen Sie die Einstellungen ändern, finden Sie sie in beiden Programmen unter Tools/Junk Mail Controls. Ferner haben Sie die Möglichkeit, alt hergebrachte Filterregeln zu definieren. Sie können beispielsweise alle Mails aussortieren, die nicht an Sie persönlich adressiert sind: Tools/Message Filters.

Verfasser: Andreas
Letzte Änderung: 2009-10-18 15:15


Thema wechseln

Für Thunderbird und Firefox gibt es zahlreiche Designvarianten, die Farben, Formen und Schrift der Programme ändern. Die so genannten Themen laden Sie von einer Webseite, die Sie über das Menü Tools/Themes/Get more Themes erreichen. Wenn Sie einen Link anklicken, wird der Vorschlag installiert. Mit dem Themenmanager verwalten Sie Ihre Designs. Nachdem Sie eins gewechselt haben, müssen Sie das Programm erst neu starten, bevor die neuen Logos erscheinen.

Verfasser: Andreas
Letzte Änderung: 2009-10-18 15:16


Zettelkasten offline

Mozilla und Thunderbird sind neben Mailund RSS-Programm gute News-Reader. Im Normalbetrieb lädt das Programm immer nur die Nachricht, deren Betreff der Anwender gerade ausgewählt hat. Das bedeutet, dass er die ganze Zeit online sein muss. Aber nicht jeder hat eine Flatrate. Deswegen lassen sich einzelne Foren komplett laden, um sie in Ruhe offline zu lesen. Wählen Sie dazu die gewünschte Gruppe aus und öffnen mit der rechten Maustaste das Kontextmenü. Wählen Sie dort Properties/Offline/Select this newsgroup for offline use. Um Ihre Festplatte zu schonen, sollten Sie in den Einstellungen des News-Kontos ältere Nachrichten nach einer vorgegbenen Zeit automatisch löschen lassen.

Verfasser: Andreas
Letzte Änderung: 2009-10-18 15:17


Erweiterungen

Nachdem Sie das Programm installiert und sich etwas eingearbeitet haben, vermissen Sie eine für Sie wichtige oder hilfreiche Funktion.
Firefox und Thunderbird bieten beide eine Schnittstelle für Programmerweiterungen: Extensions. Bei anderen Programmen würde man von Plug-ins sprechen, dieser Name ist im Web aber für die Erweiterung von Webseitenfunktionen vergeben. Beim IE heißen Extensions Browser Helper Objects. Funktionen nachladen können Sie in beiden Programmen über: Tools/Extensions/Get more Extensions. Sie landen auf einer Webseite, die eine Fülle an Funktionen listet. Firefox bietet auch seine Sicherheitsupdates in Form von Extensions. Für fast alle Arbeitsbereiche kann sich der Anwender Helferlein importieren (siehe auch Tipp 06). Es gibt z.B. eine Nachbildung der Google-Toolbar, die besser als das Original sein soll. Eine Erweiterung synchronisiert Bookmarks via FTP an verschiedenen Standorten. Auch für Blogger und Web-Entwickler finden sich spezielle Tools.

Verfasser: Andreas
Letzte Änderung: 2009-10-18 15:18


Computer » Programme » Apache

Benutzerdefinierte 404-Meldungen

Manche Webmaster machen sich einen Spaß daraus, den Besucher mit maßgeschneiderten Fehlermeldungen zu unterhalten. Und das ist gar nicht einmal so schwer.
Fehlermeldungen müssen nicht lästig sein. Nutzen Sie sie, um Ihre Besucher zu unterhalten. Das im Folgenden beschriebene Design eigener Fehlermeldungen funktioniert aber nur mit Apache-Webservern. Außerdem muss die Datei .htaccess bereits existieren. Sind beide Bedingungen erfüllt, erweitern Sie diese Datei um die Zeile
ErrorDocument 404 /fehler404.html
Die im Fehlerfall aufgerufene Seite (hier fehler404.html) legen Sie ins Root-Verzeichnis des Servers. Falls nötig, können Sie auf diese Weise auch alle anderen Fehlermeldungen mit selbst designten Seiten abfangen. Dazu fügen Sie einfach weitere Zeilen wie
ErrorDocument 401 /fehler401.html
ein. Die folgende Aufstellung listet die häufigsten Codes (4xx für Client- und 5xx für Server-Fehler) und deren mögliche Ursachen auf. Eine detaillierte Beschreibung finden Sie unter www. w3.org/Protocols/HTTP/1.1/spec.html# Status-Codes. Oft führen Webmaster die auf der falschen Seite gelandeten Besucher auf die Startseite der Homepage oder eine spezielle kleine Sitemap.

Verfasser: Andreas
Letzte Änderung: 2009-10-18 15:24


Computer » Programme » Bleachbit

Was ist Bleachbit

Es ist ein Programm mit welchem man unter Linux bequem Logdateien entfernen kann. Das ganze geschieht über  eine grafische Benutzeroberfläche also brauch man sich nicht auf die Kommandozeile begeben.

 Das Programm steht für die verschiedensten Distributionen bereit. Einen erklärenden Artikel findet Ihr in Linux User Magazin Ausgabe 08/2009 Seite 64 f.

Hier geht es zur Homepage: http://bleachbit.sourceforge.net 

 

Verfasser: Andreas
Letzte Änderung: 2009-11-30 18:32


A bis Z

crond

Mit Hilfe eines cron-Dämons ist es möglich, eine Liste von Kommandos zu bestimmten Zeiten ausführen zu lassen.

PC-Magazin, Nr. 9/97, S. 100

Verfasser: Andreas
Letzte Änderung: 2010-04-06 18:14


Dämon

Programm, das im Hintergrund läuft und eng mit dem Betriebssystem zusammenarbeitet. z.B. Druckerdämon

PC-Magazin, Nr. 9/97, S. 100

 

Verfasser: Andreas
Letzte Änderung: 2010-04-06 18:16


Man pages

Das zentrale Hilfesystem unter Linux.

PC-Magazin, Nr. 9/97, S. 100

Verfasser: Andreas
Letzte Änderung: 2010-04-06 18:17


ACK

Acknowledge, Bestätigungs Frame bei WLAN-Übertragungen

 

Verfasser: Andreas
Letzte Änderung: 2010-04-06 18:19


ACPI

Advanced Configuration and Power Management Interface

Verfasser: Andreas
Letzte Änderung: 2010-04-06 18:20


AP

Access Point, WLAN Basisstation mit Übergang ins Kabel

Verfasser: Andreas
Letzte Änderung: 2010-04-06 18:21


APIC

Advanced Programmable Interrupt Controller

Verfasser: Andreas
Letzte Änderung: 2010-04-06 18:21


apsfilter

Ein Programm zur Aufbereitung von Druckdaten, bevor sie an den Drucker geschickt werden.

 

Verfasser: Andreas
Letzte Änderung: 2010-04-06 18:23


ARP

Address Resolution Protocol

Verfasser: Andreas
Letzte Änderung: 2010-04-06 18:23


ARP-Spoofing

eine falsche MAC-Adresse für eine bestimmte IP-Adresse vortäuschen.

WCM 184, Feb 2003

Verfasser: Andreas
Letzte Änderung: 2010-04-06 18:25


Authentication Server

AAA-Server, z.B. ein Radius-Server

Verfasser: Andreas
Letzte Änderung: 2010-04-06 18:26


Authenticator

802.1X-NAS, etwa ein Access Point

 

Verfasser: Andreas
Letzte Änderung: 2010-04-06 18:27


Backbone

Kernbereich eines Netzwerkes, welcher nur aus aktiven Komponenten besteht.

WCM 188, Seite 80

 

Verfasser: Andreas
Letzte Änderung: 2010-04-06 18:28


Bonobo

Ein Verwaltungstool  für Software-Komponenten des GNOME-Desktops.

Verfasser: Andreas
Letzte Änderung: 2010-04-06 18:30


BSD

Berkeley Software Distribution - Die Weiterentwicklung von UNIX V6

 

Verfasser: Andreas
Letzte Änderung: 2010-04-06 18:31


CA

Certification Authority

Server, der Zertifikate beglaubigt

 

Verfasser: Andreas
Letzte Änderung: 2010-04-06 18:32


CBT

Computer-Based-Training

Verfasser: Andreas
Letzte Änderung: 2010-04-06 18:32


CBT

Computer-Based-Training

Verfasser: Andreas
Letzte Änderung: 2010-04-06 18:32


Chipsatz

Sammelbegriff für North- und Southbridge

Verfasser: Andreas
Letzte Änderung: 2010-04-06 18:33


Crondaemon

Hintergrundprogramm, das periodisch externe Programme aufruft.

Verfasser: Andreas
Letzte Änderung: 2010-04-06 18:35


CTS

Clear to Send

kurzes WLAN-Frame, das den Kanal für eine bestimmte Zeit reserviert.

 

Verfasser: Andreas
Letzte Änderung: 2010-04-06 18:36


CUPS

Common UNIX Printing System: Es erlaubt einen komfortablen Zugang zu allen Druckfunktionen für Administratoren und Anwender.

 

Verfasser: Andreas
Letzte Änderung: 2010-04-06 18:37


deb

Dateien mit der Endung .deb stellen zumeist ein Paket für die GNU/Linux-Distribution Debian dar.

 

Verfasser: Andreas
Letzte Änderung: 2010-04-06 18:38


Debugger

EinTool, das das Auffinden von Fehlern in Software erleichtert.

Linux User 01/03

Verfasser: Andreas
Letzte Änderung: 2010-04-06 18:39


DFS

Dynamic frequency Selection, automatische Kanalwahl.

Verfasser: Andreas
Letzte Änderung: 2010-04-06 18:40


DIFS

Distributed Inter Frame Space, Wartezeit bei Daten-Frames.

Verfasser: Andreas
Letzte Änderung: 2010-04-06 18:41


Zaurus

Den Namen leitet Hersteller Sharp von "Dinosaurus" ab.

Verfasser: Andreas
Letzte Änderung: 2010-04-09 18:23


X-Server

Die Serverkomponente des X Window System

 

Verfasser: Andreas
Letzte Änderung: 2010-04-09 18:25


X Window System

System zur Darstellung grafischer Oberflächen unter unixartigen Betriebssystemen.

Verfasser: Andreas
Letzte Änderung: 2010-04-09 18:26


XDM

Der Standard X --> Displaymanager

Verfasser: Andreas
Letzte Änderung: 2010-04-09 18:26


XFree86

Ein freier X-Window Server

Verfasser: Andreas
Letzte Änderung: 2010-04-09 18:27


XMMS

Neben MP3 kennt er viele andere Audio-Formate, darunter auch die patentfreie Alternative OGG Vorbis.

Verfasser: Andreas
Letzte Änderung: 2010-04-09 18:28


WBT

Web-based-Training

Verfasser: Andreas
Letzte Änderung: 2010-04-09 18:29


Widget

"Window-Gadges"; Fensterelemente wie Rahmen, Buttons, Scrolbars etc.

Verfasser: Andreas
Letzte Änderung: 2010-04-09 18:30


Windowmanager

Spezielles Programm, das den Umgang mit anderen Programmen und deren Fenster überwacht und regelt.

 

Verfasser: Andreas
Letzte Änderung: 2010-04-09 18:31


WINE

Mit WINE können unter Linux ganz normale Windows-Applikationen ausgeführt werden.

Verfasser: Andreas
Letzte Änderung: 2010-04-09 18:32


WPA

WiFi Protected Access

verbesserte WLAN Verschlüsselung

Verfasser: Andreas
Letzte Änderung: 2010-04-09 18:33


Vertex Shader

Programmierbare Einheit um Polygone zu verändern bzw. zu manipulieren.

Verfasser: Andreas
Letzte Änderung: 2010-04-09 18:34


VID

Voltage ID

Verfasser: Andreas
Letzte Änderung: 2010-04-09 18:35


VPU

Viritual Processing Unit

frei programmierbare, simulierte Recheneinheit

Verfasser: Andreas
Letzte Änderung: 2010-04-09 18:36


VRM

Voltage Regulator Module

Verfasser: Andreas
Letzte Änderung: 2010-04-09 18:36


VRML

Viritual Reality Modeling Language

Verfasser: Andreas
Letzte Änderung: 2010-04-09 18:37


trise

Das ist die Zeit in der die Farbe bei LCD Monitoren von Dunkelgrau nach Hellgrau schaltet.

Verfasser: Andreas
Letzte Änderung: 2010-04-09 18:38


Tag

Eine Formatierungsanweisung in HTML

Verfasser: Andreas
Letzte Änderung: 2010-04-09 18:39


Tex/Latex

Ein proffesionelles Textsatzsystem, das sich besonders gut zum Formelsatz eignet.

Quelle: Linux User 01/03

Verfasser: Andreas
Letzte Änderung: 2010-04-09 18:40


tfall

ist die Zeit die bei LCD Monitore benötigt wird um von Hellgrau nach Dunkelgrau zu wechseln.

Verfasser: Andreas
Letzte Änderung: 2010-04-09 18:41


Toolkit

Spezielle Programmbibliothek die eine Sammlung von --> Widgets sowie Funktionen zur Manipulation selbiger enthält.

 

Verfasser: Andreas
Letzte Änderung: 2010-04-09 18:43


Netzwerktopologie

Darunter versteht man die Art der Verbindung zwischen den Rechnern im Netzwerk.

Verfasser: Andreas
Letzte Änderung: 2010-04-09 18:43


TPC

Transmit Power Control

automatische Sendeleistungssteuerung.

Quelle: ct 2005, Heft 21, Seite 162

 

Verfasser: Andreas
Letzte Änderung: 2010-04-09 18:45


TTL - time to life

gibt an wie viele Sekunden der Eintrag ohne Rückfrage gültig ist.

Verfasser: Andreas
Letzte Änderung: 2010-04-09 18:46


SANE

Scanner Access Now Easy

Schnittstelle zu Scannern unter Linux

Verfasser: Andreas
Letzte Änderung: 2010-04-09 18:47


SDK Software Development Kit

Eine Sammlung von Programmen und Bibliotheken zum Erstellen und Übersetzen von Software.

Quelle: Linux User 7/2003

 

Verfasser: Andreas
Letzte Änderung: 2010-04-09 18:49


SDL Simple Directmedia Layer

Mit dieser Bibliothek lassen sich Grafik- und Sound-Ausgaben unabhängig vom Betriebssystem realisieren.

 

Verfasser: Andreas
Letzte Änderung: 2010-04-09 18:50


Session

Summe aller geöffneten Programme so wie deren Position und Größe auf dem Bildschirm.

Verfasser: Andreas
Letzte Änderung: 2010-04-09 18:51


SIFS Short Inter Frame Space

kurze Wartezeit vor ACK- oder CTS-Frames

Verfasser: Andreas
Letzte Änderung: 2010-04-09 18:52


SMB - Server Message Block

Ein Protokoll zum Zugriff auf Dateien, Drucker und serieller Schnittstellen. Auch als CIFS bekannt.

 Quelle: Linux Magazin 02/03

Verfasser: Andreas
Letzte Änderung: 2010-04-09 18:54


SMTP - Simple Mail Transfer Protocol

Die Sprache dei zwei Mailserver im Internet miteinander sprechen, um Mails zu ihren Empfängern zu befördern.

Verfasser: Andreas
Letzte Änderung: 2010-04-09 18:56


Socket

Eine spezielle Schnittstelle, die bei der Netzwerkübergreifenden Kommunikation zwischen Prozessen zum Einsatz kommt.

Quelle: Linux User 7/2003

Verfasser: Andreas
Letzte Änderung: 2010-04-09 18:57


Southbridge

Chip der Festplattencontroller, Sound und USB beherbergt, sowie den PCI Bus steuert.

 

Verfasser: Andreas
Letzte Änderung: 2010-04-09 18:58


startx

Loggt man sich auf der Konsole ein, startet dieser Befehl die grafische Oberfläche.

Quelle: Linux User 6/2003

 

Verfasser: Andreas
Letzte Änderung: 2010-04-09 18:59


Supplicant

802.1X-Client, ein Gerät, das Zutritt zu einem Netz begehrt.

Verfasser: Andreas
Letzte Änderung: 2010-04-09 19:01


SWAP-Partition

Ähnlich einer Auslagerungsdatei unter Windows, nur im Falle von Linux eine ganze Partition.

Verfasser: Andreas
Letzte Änderung: 2010-04-09 19:02


Systemlogger

Ein Daemon, der alle Vorfälle im System mitprotokolliert. Ähnlich dem Event-Log unter Windows.

 

Verfasser: Andreas
Letzte Änderung: 2010-04-09 19:03


Radius - Remote Access Dialin User Service

eine AAA-Implementierung

Verfasser: Andreas
Letzte Änderung: 2010-04-09 19:08


RAID

Redundant Array of Inexpensiv Disks - Mehrere Festplatten werden zu einem Verbund zusammengefasst, der entweder schnellere Zugriffe erlaubt und/oder höhere Datensicherheit ermöglicht.


Raid 0:

dieser ist grundsätzlich kein richtiger Raid-Level, da dieser keine Redundanz besitzt.
Die Daten werden im Striping-Verfahren streifenweise über die vorhandenen Platten verteilt. Diese Technik wird eingesetzt, um einen gemeinsamen Datenbereich zu erhalten sowie schnellere Geschwindikeit zu erziehlen. Hierbei fasst der Controller mehrere Festplatten zu einem großen logischen Laufwerk zusammen. Da in dieser Konfiguration die Daten quasi parallel geschrieben und gelesen werden, erhöht sich der Vergleich zu einer einzelnen Disk die Gesamtperformance. Dies ist ist vor allem für Videoschnitt- und Bildbearbeitungssystemen von Vorteil. Fällt auch nur eine Platte des Verbundes aus, ist allerdings der gesamte Datenbestand verloren.


Raid 1:

bedeutet, dass der komplette Inhalt einer Harddisk auf eine andere gespiegelt wird. Vom Standpunkt der Sicherheit ist diese Methode optimal, allerdings auch teuer, denn die Redundanz verbraucht 50 Prozent der Kapazität. Es ergibt sich eine geringfügige Performance-Steigerung, der Schreibzugriff wird zwar nicht wesentlich verlangsamt, beim Lesen jedoch immer die Platte genutzt, welche die Daten schneller liefert.


Raid 3:

benötigt mindestens drei Festplatten. Auf einem der Laufwerke werden Korrekturdaten gespeichert. Mit einem Rechen-Algorithmus ist es möglich, beim Ausfall einer Disk die fehlenden Daten zusammen mit der Prüfsumme zu rekonstruieren. Da bei Raid 3 die Daten in kleinen Blöcken auf den Platten verteilt werden, ist vor allem die Lesegeschwindigkeit gut, das Schreiben geschieht langsamer.


Raid 5:

verteilt die Originaldaten wie auch den Fehlercode gleichmäßig über alle vorhandenen Laufwerke (mindestens drei). Auf diese Weise lassen sich die Schreibzugriffe über sämtliche ins Raid 5 System integrierten Platten verteilt. So ist es möglich, nicht nur Lese-, sondern auch Schreiboperationen überlappen zu lassen. Raid 5 bietet ein sehr gutes Preis-/Leistungsverhältnis, da nur ca. ein Drittel der vorhandenen Speicherkapazität für die Redundanz der gespeicherten Daten aufgebracht werden muss.


Raid 0+1:

Bei Raid 0+1 handelt es sich um eine Kombination der beiden Raid-Level 0 und 1. Zuerst werden die Platten im Striping -Verfahren aneinander gehängt und dann gespiegelt. Dies ist aber nur sinnvoll, wenn die Geschwindigkeit Priorität hat, denn die zwei Spiegellaufwerke sind eine sehr teure Absicherung.


Quelle: PC Proffessionell 10/2002 Seite 89

Verfasser: Andreas
Letzte Änderung: 2010-04-09 19:10


RDF - Resource Description Framework

Damit steht eine Infrastruktur zur Kodierung, zum Austausch und zur Wiederverwendung von Metadaten im Internet zur Verfügung. Dieses vom WWW Consortium (W3C) geschaffene einheitliche und erweiterbare Metadaten-Format beruht genau wie das RSS-Format auf XML.

Quelle: Linux User 01/03

Verfasser: Andreas
Letzte Änderung: 2010-04-09 19:10


Reaktionszeit

Das ist die Zeit, die ein TFT-Bildschirm benötigt, um Farbe und Helligkeit eine Bildpunktes zu ändern. Je niedriger der Wert ist (in Millisekunden angegeben), desto besser können schnelle Bewegungen dargestellt werden.

Quelle: Computer Bild 10/2006, Seite 10

Verfasser: Andreas
Letzte Änderung: 2010-04-09 19:11


Reguläre Ausdrücke

sind Muster (Patterns), die auf eine Zeichenkette angewendet werden können, um feststellen zu können, ob die Zeichenkette bestimmte Vorgaben entspricht (nur Zahlen, zwei Wörter etc.), oder um bestimmte Teile des Textes, die zum Teil variabel sein können, zu ersetzen.


Quelle: Linux User 3/2003

Verfasser: Andreas
Letzte Änderung: 2010-04-09 19:12


Returncode

Jedes Kommando gibt einen Returncode zurück, der in der Regel nach Ausführung in der Umgebungsvariablen $? zur Verfügung steht. Es ist vereinbart, dass ein Kommando den Wert 0 (Null) zurückgibt, wenn es erfolgreich gearbeitet hat. Treten Schwierigkeiten auf, so werden je nach Schwere Warnungen mit 1 bis 4 und Fehler mit 1 bis 16 im Rückgabewert quittiert. Der Wert ist kommandoabhängig.


Quelle: Linux Usere 6/2003

Verfasser: Andreas
Letzte Änderung: 2010-04-09 19:12


RFC - Request for Comment

(Aufruf zur Stellungnahme)

Erstmals 1969 von Steve Crocker zum Austausch über einen von ihm verfassten Artikel verwendet.
Form der wissenschaftlichen Diskussion. Viele heute verwendete Netzwerkprotokolle wurden (und werden) in der Form von RFCs standardisiert.


Quelle: Linux User 3/2003

Verfasser: Andreas
Letzte Änderung: 2010-04-09 19:13


RIP - Routing Information Protocol

RIP und RIPv2 dienen zum Rekonfigurieren der Router bei Ausfällen. Das Router Information Protocol ist in RFC2453 definiert. RIP wird meistens innerhalb eines Netzwerks (Autonomes System) zur zentralen Konfiguration verwendet.

WCM 146/ April 2001

 

Verfasser: Andreas
Letzte Änderung: 2010-04-09 19:16


root

Der "Administrator" auf einem Unix-System. Root darf alles.

Verfasser: Andreas
Letzte Änderung: 2010-04-09 19:16


root/

Die "Wurzel" bzw. der Ursprung des Dateisystems unter Linux.

Verfasser: Andreas
Letzte Änderung: 2010-04-09 19:17


rot13

Auf Mailinglisten und im Usenet oft genutzte "Verschlüsselung" für Texte, die nicht sofort lesbar sein sollen, z.B. der Inhalt noch nicht gesendeter Serien. Jeder Buchstabe des Alphabeths wird durch die 13 Stellen hinter ihm liegenden ersetzt, Sonderzeichen und Leerstellen bleiben unverändert. "abc" wird zu "nop" und umgekehrt.


Quelle: Linux User 3/2003

Verfasser: Andreas
Letzte Änderung: 2010-04-09 19:17


Router

vermitteln die Daten zwischen zwei oder mehreren Sub-Netzen, die physikalisch in einem Netz liegen.

Verfasser: Andreas
Letzte Änderung: 2010-04-09 19:18


Routing

Eine vom BS verwaltete Routing-Tabelle legt den Weg der Datenpakete zwischen den Netzen (die Route) fest.

Quelle: Linux User 7/2003

Verfasser: Andreas
Letzte Änderung: 2010-04-09 19:19


Routing-Tabelle

Dieser vom BS verwalteten Tabelle entnimmt ein Rechner die Information, über welchen anderen Router (Rechner) er am besten zu einem Zielsystem (hier das Internet) kommt.


Quelle: Linux User 7/2003

Verfasser: Andreas
Letzte Änderung: 2010-04-09 19:19


rpm

Der "Red Hat Package Manager" ist ein Programm zur Installation und Verwaltung von Software-Paketen, das Abhängikeiten zwischen diesen beachtet.
Er wurde von Red Hat entwickelt.

Quelle: Linux User 3/2003

Verfasser: Andreas
Letzte Änderung: 2010-04-09 19:20


RPM

RPM Package Manager - das Binärpaketformat einiger Distributionen wie Red Hat oder SuSE.

Verfasser: Andreas
Letzte Änderung: 2010-04-09 19:20


RSA

Ein Verschlüsselungsalgorithmus, benannt nach seinem Erfinder Rivest, Shamir und Adleman. Er wurde 1977 entwickelt.

Quelle: Linux User 7/2003

Verfasser: Andreas
Letzte Änderung: 2010-04-09 19:21


RSS

RSS - "Rich Site Summary"

ist ein Internet Standard für Newsticker (Newsfeeds) auf Basis von XML und RDF. Damit kann man laufend Informationen von Content Anbietern abrufen und auf der eigenen Website oder dem Desktop mit Titel, Kurzbeschreibung und Link auf den Volltext darstellen.

Quelle: Linux User 01/03

Verfasser: Andreas
Letzte Änderung: 2010-04-09 19:21


Rückwärtssuche

Mit der Rückwärtssuche könne Sie zu einer Telefonnummer oder Faxnummer den entsprechenden Namen und die Adresse ermitteln. Teilnehmer können aber ausdrücklich verbieten, dass man sie durch diese Suche aufspüren kann.

Quelle: Computer Bild 10/2006, Seite 12

Verfasser: Andreas
Letzte Änderung: 2010-04-09 19:22


Runlevel

Betriebsmodus eines Linux Systems. Durch gezielte Auswahl der Links im jeweiligen Runlevel-Verzeichnis lassen sich beispielsweise Konfigurationen zusammenstellen, bei denen der Rechner als Internet-Server bootet, oder solche, bei denen ein grafisches Login möglich ist.
Welches das System beim Booten standardmäßig benutzt, bestimmt die Datei /etc/inittab.
Außer den normalen Multiuser-Modi 2-5 gibt es die Spezial-Runlevel 0 (Halt), 6 (Reboot) und 1 (Wartung).

Quelle: Linux User 7/2003

Verfasser: Andreas
Letzte Änderung: 2010-04-09 19:22


QT

--> Toolkit der Norwegischen Firma Trolltech, Grundlage für --> KDE.

Verfasser: Andreas
Letzte Änderung: 2010-04-09 19:23


Quellcode

Vom Menschen erzeugter und lesbarer Code, der während des kompilierens in Befehle übersetzt wird, die eine CPU versteht.

Verfasser: Andreas
Letzte Änderung: 2010-04-09 19:24


PAE

Physical address Extension

Verfasser: Andreas
Letzte Änderung: 2010-04-09 19:25


Partition

Eine Partition ist ein Bereich einer Festplatte, der, z.B. unter Windows, als eigenes Laufwerk angezeigt wird.

Eine physikalische Platte lässt sich in Partitionen einteilen, die im Windows Explorer als selbstständige Laufwerke erscheinen. Größe und Grenzen aller auf einer Festplatte vorhandenen Partitionen verwalten die Partitionstabelle, die sich im MBR jder Festplatte befindet. Primäre Partitionen sind direkt in der Partitionstabelle des MBR verzeichnet. Da diese nur vier Einträge enthalten kann, ist die Anzahl der verfügbaren Partitionen begrenzt. Das Limit lässt sich umgehen, indem eine dieser Partitionen als "erweiterte" deklariert wird. Das System weiß dann, dass eine solche Partition kein eigenes Dateisystem enthält, sondern weitere Partitionen. Für diese Art Partitionen hat sich der Begriff "logische Laufwerke" eingebürgert; sie liegen alle innerhalb der sie umschließenden erweiterten Partition.

Verfasser: Andreas
Letzte Änderung: 2010-04-09 19:26


Patch

Englisch für "Flicken".
Flicken für eine Software; im Falle von FreeBSD-Ports oft Quellcode-Änderungen, die den Original-Sourcecode an Free-BSD anpassen. Zum einspielen der Patch-Dateien, die die Differenzen zwischen dem originalen und dem angepassten Quellcode enthalen, kommt das Programm "patch" zum Einsatz.

Quelle: Linux User 02/03

Verfasser: Andreas
Letzte Änderung: 2010-04-09 19:26


Patch/Kernel Patch

Ein Patchfile enthält eine Reihe von Anweisungen, wie eine oder mehrere Dateien geändert werden sollen. Das spart Download-Aufwand, denn anstatt für eine neue Programmversion den gesamten Quelltext neu herunter zu laden, wird nur das Patchfile benötigt, wenn die ältere Programmversion noch vorliegt.

Quelle: Linux User 02/03

Verfasser: Andreas
Letzte Änderung: 2010-04-09 19:27


PCI

Peripheral Component Interconnect - Bussystem zum Anschluss von verschiedenen Erweiterungskarten wie Sound-, Video-, TV-Karten.

Verfasser: Andreas
Letzte Änderung: 2010-04-09 19:28


PCI-Express

PCI Express ist kein reiner Grafikkartensteckplatz, sondern wird in Zukunft auch den betagten PCI-Bus ablösen. Es handelt sich um eine Punkt-zu-Punkt-Verbindung, bei der jedem Gerät die volle Bandbreite zur Verfügung steht. Für Grafikkarten wird der PCI-Express 16x benutzt (auch als PEG-PCI Express Graphic bekannt) bei dem 16 "Leitungen" (Lanes) gebündelt werden und der eine Bandbreite von 4 GB/Sekunde, also fast das doppelte von AGP 8x hat. Auch kann der PCI-Express Bus mehr Strom (75 Watt) liefern als der AGP, was zumindest bei Mittelklasse-Grafikkarten einen zusätzlichen Stromanschluss auf der Grafikkarte überflüssig macht.


Quelle: WCM 242, Seite 74

Verfasser: Andreas
Letzte Änderung: 2010-04-09 19:28


PCMCIA

PCMCIA - "Personal Computer Memory Card International Association"

Dieser ermöglicht einheitliche Hardware-Erweiterungen für Laptops und ähnliche Geräte. Im Informatik-Jargon nennt man PC-Cards meistens PCMCIA-Karten: Damit ist sofort klar, wovon man redet, während "PC-Card" alles möglich heißen könnte. CardBus ist ein neuer Nachfolger des PCMCIA-Standards, der für schnelle Datenübertragungen gedacht ist.

Verfasser: Andreas
Letzte Änderung: 2010-04-09 19:29


PDA

PDA - "Personal Digital Assistant"

ein kleiner Computer wie der Zaurus oder der Palm, mit dem in der Hauptsache persönliche Daten wie Termine, Aufgaben und Kontakte verwaltet werden.

Verfasser: Andreas
Letzte Änderung: 2010-04-09 19:30


PDF

PDF - "Portable Document Format"

Texte im PDF-Format lassen sich über Betriebssystemgrenzen hinweg betrachten und ausdrucken, ohne dass sich das Layout ändert. Ein Bearbeiten des Textes ist ohne Spezialsoftware nicht möglich.

Verfasser: Andreas
Letzte Änderung: 2010-04-09 19:31


Pdisk

Für eingefleischte Mac-OS-Nutzer wird Pdisk ein kleiner Schock sein, denn es ist ein Kommandozeilen-tool. Seine eizige Aufgabe besteht im Editieren der Partitionstabelle. Folglich kann es weder neue Mac-spezifische Festplattentreiber installieren, noch Standard-Macintosh-Partitionen (HFS oder HFS+) anlegen.

Quelle: Linux User 01/03

Verfasser: Andreas
Letzte Änderung: 2010-04-09 19:32


PEAP - Protectet EAP

Gegenstück zu EAP-TTLS von der IETF

Verfasser: Andreas
Letzte Änderung: 2010-04-09 19:32


Peer to Peer Netzwerk

Siehe unter Netzwerk.

Verfasser: Andreas
Letzte Änderung: 2010-04-09 19:33


Perl

Perl - Practical extraction and report language

ist eine sehr umfangreiche, weitverbreitete Skript-Sprache. Darin geschriebenen Code führt man mit Hilfe des perl-Interpreters sofort aus.


Quelle: Linux User 7/2003

Verfasser: Andreas
Letzte Änderung: 2010-04-09 19:34


Pfad

Suchpfad für ausführbare Programme. Ein Programm, das im Pfad liegt, kann man über den Programmnamen aufrufen. Der Befehl echo $PATH zeigt Ihnen an, welche Verzeichnisse im Suchpfad liegen.

Quelle: Linux User 6/2003

Verfasser: Andreas
Letzte Änderung: 2010-04-09 19:34


PGP/GnuPG-Schlüssel

Der "GNU Privancy Guard" (http://www.gnupg.ort/) ist eine patentfreie Open-Sourde-Implementierung des Open PGP Standards, der wiederum auf dem (mittlerweile kommerziellen) Tool "Pretty Good Privancy) beruht. Um GnuPG oder PGP zum Verschlüsseln oder Signieren einsetzen zu können, benötigt man ein Schlüsselpaar. Dieses besteht aus einem streng geheimgehaltenen und mit einer Passphrase geschützten privaten sowie einem öffentlichen Schlüssel, den man an andere verteilt. Möchte man eine Nachricht an jemanden mit einem GnuPG- oder PGP-Briefumschlag versehen, verschlüsselt man sie mit dem öffentlichen ("public") Schlüssel des Empfängers. Sie kann nur mit dessen privatem Schlüssel dechiffriert ("decrypted") werden. Beim Signieren benutzt man seinen eigenen privaten Schlüssel. Er Empfänger kann dann mit Hilfe des öffentlichen Schlüssels der Absenderin überprüfen,ob die Nachricht unversehrt und unverändert ankam.

Quelle: Linux User 6/2003

Verfasser: Andreas
Letzte Änderung: 2010-04-09 19:35


PGP/GPG-Mantra

Als Mantra bezeichnet man das Passwort, mit dem PGP und GPG den privaten Schlüssel chiffrieren und so vor fremden Zugriff sichern.

Quelle: Linux User 02/03

Verfasser: Andreas
Letzte Änderung: 2010-04-09 19:36


PHY

PHY - Physical Layer

erledigt die eigentliche Übertragung, bei WLAN die Funktechnik.

Quelle: Ct 2005, Heft 21, Seite 162

 

Verfasser: Andreas
Letzte Änderung: 2010-04-09 19:37


PIM

PIM - Personal Information Manager

elektronischer Terminplaner.
Als PIM bezeichnet man das Personal Information Management, also die Verwaltung persönlicher Daten wie Adressen und Termine.

Quelle: WCM 184, Feb. 2003, Linux User 6/2003

Verfasser: Andreas
Letzte Änderung: 2010-04-09 19:37


Pixel Shader

Programmierbare Einheit um Texturen zu verändern bzw. zu manipulieren. z.B. Schatteneffekte.

Verfasser: Andreas
Letzte Änderung: 2010-04-09 19:38


Pixel/Megapixel

Ein Pixel entspricht einem Bildpunkt eines digitalen Fotos, ein Megapixel einer Million Bildpunkte. Je mehr Bildpunkte ein Foto hat, desto größer könne Sie es ausdrucken, ohne dass es unscharf wird.

Quelle: Computer Bild 10/2006, Seite 20

Verfasser: Andreas
Letzte Änderung: 2010-04-09 19:39


Pixeltakt

Der Pixeltakt ist die Geschwindigkeit, mit der die Signale einzelner Bildpunkte aufeinander folgen. Er berechnet sich aus der Horizontalfrequenz multipliziert mit der horizontalen Auflösung (Bildpunkte pro Zeile). Für die Erkennung des Synchronsignals und die Rückführung der Elektronenstrahlen zum nächsten Zeilenanfang benötigt ein Röhrenmonitor eine Dunkelpause und somit zusätzliche Synchronisationspixel im Videosignal. Das 1280-VESA-Timing läuft mit einem Pixeltakt von:

(1280 + 448) * 91,12 kHz = 157,5 MHz.

Verfasser: Andreas
Letzte Änderung: 2010-04-09 19:39


Plugin

Ein Plugin erweitert ein Programm um zusätzliche Funktionen.

Quelle: Linux User 3/2003

Verfasser: Andreas
Letzte Änderung: 2010-04-09 19:40


PML

PML - "Palm Markup Language"

ein auf XML basierendes Dateiformat für Palm-Handhelds.

Verfasser: Andreas
Letzte Änderung: 2010-04-09 19:40


Port

Andockstelle für Client Programme, hinter der ein Server im Internet seine Dienste anbietet.

Über Netzwerk-Ports von 0 bis 65535 können auf einem System Netzwerkdienste angesprochen werden. Viele Port Nummern sind standardisiert einem bestimmten Dienst zugewiesen (z.B. läuft der DNS auf Port 53), andere lassen sich frei vergeben. So lauschen Webserver nicht nur auf Port 80, sondern oft auch auf Port 8000 oder 8080.

Quelle: Linux User 3/2003; Linux User 7/2003

Verfasser: Andreas
Letzte Änderung: 2010-04-09 19:41


POSIX

POSIX - Portable Operating System Interface

formuliert eine Reihe von Bedingungen an die Portabilität von BS. Dieser Standard sorgt dafür, dass sich ein Kommando auf verschiedenen Unix-Versionen im Wesentilichen gleich verhält.

Quelle: Linux User 6/2003

Verfasser: Andreas
Letzte Änderung: 2010-04-09 19:41


Potenzieller Browser

Ein SMB Server, der in der Lage ist, die Suchliste zu führen.

Quelle: Linux Magazin 02/03

Verfasser: Andreas
Letzte Änderung: 2010-04-09 19:42


POV-Ray

ein frei kopierbares Raytracing-(3D-Grafik)-Programm, das auf vielen Betriebssystemen zuhause ist - so auch auf Linux. Seine Hompage finden Sie unter

http.//www.povray.org

Quelle: Linux User 01/03

Verfasser: Andreas
Letzte Änderung: 2010-04-09 19:43


private IP-Adresse

Für Rechner, die nicht direkt mit dem Internet verbunden sind, werden in RFC 1918 private IP-Adressen reserviert. Weitere Informationen finden Sie unter

http://www.ipcop.org/1.3.0/en/install/html/

Quelle: Linux User 7/2003

Verfasser: Andreas
Letzte Änderung: 2010-04-09 19:43


PRNG

PRNG - "Pseudo Random Number Generator"

ist ein Algorithmus, der sehr lange, nach statistischen Gesichtspunkten zufällig erscheinende Datenreihen ausgibt. Falls der PRNG in einem kryptographischen Kontext eingesetzt werden soll, darf er weitehin nicht voraussagbar sein, da sonst das komplette Kryptographische System angreifbar wird.

Bei offenen Algorithmen wird das in der Regel durch einen zufälligen Anfangszustand erreicht, der genau wie ein kryptografischer Schlüssel geheim gehalten werden muss und sich z.B.: aus benutzerbedingten Ereignissen ergibt.

Verfasser: Andreas
Letzte Änderung: 2010-04-09 19:44


Protokolle

sind Verfahren, mit denen Informationen zwischen mehreren Rechnern kontrolliert übermittelt werden.
Die Daten werden dabei in Blöcke zerlegt, um eine Prüfsumme ergänzt, übertragen und beim Empfänger wieder in der richtigen Reihenfolge aneinandergesetzt. Fehlerhafte Blöcke werden neu übertragen.

Verfasser: Andreas
Letzte Änderung: 2010-04-09 19:45


Proxy-Server

Eine Art "Zwischenspeicher". Proxies speichern angefragte Internet-Dokumente und Grafiken, so dass diese bei der nächsten Abfrage nicht mehr neu aus dem Internet geholt werden müssen, sondern direkt aus dem lokalen Depot (Proxy-Server) geladen werden können. Dies geht wesentilich schneller und spart Bandbreite.

Quelle: Linux User 7/2003

Verfasser: Andreas
Letzte Änderung: 2010-04-09 19:45


PSB

PSB - Processor System Bus

Von Intel verwendete Bezeichnung für den FSB des Pentium 4.

Verfasser: Andreas
Letzte Änderung: 2010-04-09 19:46


Public Key Verfahren

Bei der asymetrischen Verschlüsselung gibt es immer zwei sich ergänzende Schlüssel: den öffentlichen Public Key sowie einen geheimen Private Key. Beide Schlüssel zusammen bilden ein Schlüsselpaar.

Quelle: Linux User 7/2003

Verfasser: Andreas
Letzte Änderung: 2010-04-09 19:47


Python

Eine Skriptsprache, die Anfang der 90er Jahre von Guido van Rossum entwickelt wurde. Selbst Programmierer mit einer Schlangenphobie dürften ihre Freude daran haben, da sich der Name nicht von der gleichnamigen Schlange, sondern der britischen Comedy-Gruppe Monty Python ableitet. Python eignet sich ebenso wie Perl dazu, kleine Skripte zur raschen Lösung von Aufgaben zu schreiben. Grafische Applikationen für den Desktop lassen sich mit Hilfe des Toolkits Tk (unterstützt über das Modul Tkinter), aber auch mit Qt (via PyQt) entwickeln. Eine Vielzahl an verfügbaren Modulen (z.B.: zur Manipulation von Sound- und Bilddateien oder für XML-Export) sowie die Tatsache, dass der Interpreter für fast alle Betreibssysteme verfügbar ist, machen Python zu einer universellen einsetzbaren Sprache. Der große Unterschied zwischen Python und den wohl bekannteren Skriptsprachen Perl und PHP besteht darin, dass Python von Anfang an als objektorientierte Programmiersprache entwickelt wurde.

Quelle: Linux User 01/03

Verfasser: Andreas
Letzte Änderung: 2010-04-09 19:47


Python-Skript

Das heißt, dass der Quelltext zur Laufzeit interpretiert wird. Im Unterschied dazu müssen in Programmiersprachen wie C und C++ geschriebene Programme vor dem Ausführen mit einem Compiler in ein binärformat übersetzt werden. Python legt solche Dateien unter Umständen zur Laufzeit automatisch an; sie erhalten die Dateiendung .pyc .

Quelle: Linux User 5/2003

Verfasser: Andreas
Letzte Änderung: 2010-04-09 19:48


AGB

Allgemeine Geschäftsbedingungen eines Händlers werden nur Vertragsbestandteil, wenn dieser seine Kunden ausdrücklich darauf hinweist und die Käufer sie zur Kenntnis nehmen können (vgl. dazu den Rechtsreport ab S. 54).

PC Magazin, Nr. 12/99, S. 79

Verfasser: Andreas
Letzte Änderung: 2010-04-09 19:49


AAA

AAA - Authentication, Authorization und Accounting

Verfasser: Andreas
Letzte Änderung: 2010-04-09 19:49


Abtastrate

wird durch Abtastfrequenz und im musikalischen Bereich Sampling-Rate genannt. Eine Musik-CD läuft z.B.: mit einer Abtastrate von 44,1 Hz.

Quelle: Linux User 01/03

Verfasser: Andreas
Letzte Änderung: 2010-04-09 19:50


Access Points (AP)

Zentraler Knoten eines drahtlosen Netzes, auch "Managed Infrastructure" genannt. Alle WLAN-Teilnehmer senden ihre Daten an den Access Point, der die dann an den tatsächlichen Empfänger weiter leitet (Stern-Verteilung). Heutige APs haben meitst einen zusätzlichen Ethernet-Anschluss und verbinden darüber drahtgebundene mit drahtlosen Netzen.

Quelle: Linux User 5/2003

Verfasser: Andreas
Letzte Änderung: 2010-04-09 19:51


ACL

ACL - Access Control List

enthält die Hardware-Adressen (MAC-Adressen) aller zugangsberechtigten WLAN-Geräte. Die Hardware-Adressen werden vom jeweiligen Gerätehersteller fest eingetragen und lassen sich normalerweise nicht verändern.

Quelle: Linux User 5/2003

Verfasser: Andreas
Letzte Änderung: 2010-04-09 19:51


ACL

ACL - Access Control List

enthält die Hardware-Adressen (MAC-Adressen) aller zugangsberechtigten WLAN-Geräte. Die Hardware-Adressen werden vom jeweiligen Gerätehersteller fest eingetragen und lassen sich normalerweise nicht verändern.

Quelle: Linux User 5/2003

Verfasser: Andreas
Letzte Änderung: 2010-04-09 19:51


AGP

Acelerated Graphics Port - Steckplatz bzw. Bus für die Grafikkarte.
Spezieller schneller Bus für die Grafikkarte.

Verfasser: Andreas
Letzte Änderung: 2010-04-09 19:52


ANSI-Lumen

In ANSI-Lumen (American National Standards Institute) wird die Stärke des Lichts gemessen, die ein Beamer leistet. Je höher, desto heller ist das Licht des Beamers und je weiter weg von der Leinwand kann man das Gerät platzieren. Über die Qualität des Beamers sagen die Lumen aber nichts aus.

Quelle: PCgo 7/04 Seite 71

Verfasser: Andreas
Letzte Änderung: 2010-04-09 19:52


Anti-Aliasing

Katenglättung. Dies ist eine Technik um mitunter auftretende "Treppen" in der Grafik zu beseitigen. Das Bild wirkt wesentlich sanfter und natürlicher. Es gibt nun schon mehrere Technologien. (Supersampling; Multisampling)

Bei Schriften soll es ein weniger eckiges Aussehen der Fonts bewirken.

Je nach Anwendung kann sich Antialiasing auch nachteilig auswirken und zu einem unscharfen Schriftbild führen.

Verfasser: Andreas
Letzte Änderung: 2010-04-09 19:53


APIPA

APIPA - Automatic Private IP Adressing

Verfasser: Andreas
Letzte Änderung: 2010-04-09 19:54


apt

A Package Tool - Paketverwaltung der Debian Distribution

Mit diesem Paketmanagementsystem lässt sich beispielsweise - je nach Konfiguration online oder offline - für Debian gepackte Software einspielen und deinstallieren. Auch ein Upgrade auf andere Distributionsversionen ist möglich.

Quelle: Linux User 01/03

Verfasser: Andreas
Letzte Änderung: 2010-04-09 19:54


apt-get

Das wichtigste Paketverwaltungstool der Debian-Distribution

Quelle: Linux User 02/03

Verfasser: Andreas
Letzte Änderung: 2010-04-09 19:55


AS

Autonmous System

Ein AS ist ein geschlossenes System, das nur an definierten Schnittpunkten (Gateways) mit der Außenwelt -mit BGP4- in Kontakt tritt. Änderungen des Routings innerhalb eines AS betrifft die Außenwelt nicht. Nur ein AS kann BGP4 sinnvoll implementieren- AS-Systeme werden mittels einer AS Nummer (ASN) bei RIPE registriert - ähnlich wie Domains. Jedoch müssen dazu bestimmte Vorkehrungen (Größe) erfüllt werden.

WCM 146/ April 2001

Verfasser: Andreas
Letzte Änderung: 2010-04-09 19:55


Auflösung

wird auch Quantisierung genannt.
Eine Musik CD hat eine Auflösung von 16 Bit und somit 65536 verschiedene Amplitudenwerte zur Verfügung. Eine nur 8 Bit quantisierte Aufnahme hat nur 256 verschiedene Amplitudenwerte.

Quelle: Linux User 01/03

Verfasser: Andreas
Letzte Änderung: 2010-04-09 19:56


Auskommentieren

In Skripten und vielen Konfigurationsdateien besteht die Möglichkeit, Zeilen vom einlesenden Programm ignorieren zu lassen, indem das Zeichen # an den Anfang einer Zeile gesetzt wird. So markiert, können Sie Erklärungen in eine Datei einfügen, ohne dass deren Funktion beeinträchtigt wird. Diese Zusatzinformationen bleiben weiterhin für den Menschen sichtbar, werden bei der "maschinellen" Auswertung einer Datei aber ignoriert. Das Hinzufügen des Kommentarzeichens wird als Auskommentieren bezeichnet.

Quelle: Linux User 01/03

Verfasser: Andreas
Letzte Änderung: 2010-04-09 19:56


autohide

Bewirkt, dass die Taskleiste bei Nichtbenutzung versteckt ("hide") wird. Fährt man mit der Maus an den unteren Bildschirmrand, wird sie wieder eingeblendet.

Verfasser: Andreas
Letzte Änderung: 2010-04-09 19:57


Backup Browser

ein SMB-Server, der den Sicherungs-Suchdienst ausführt. Er erhält regelmäßig eine Kopie der aktuellen Suchliste vom Local Master Browser und ersetzt ihn, falls er ausfällt.

Quelle: Linux Magazin 02/03

Verfasser: Andreas
Letzte Änderung: 2010-04-09 19:58


bash

Bourne Again Shell - die beliebteste Kommandozeile für Linux

ist die derzeitig vorwiegend eingesetzte Shell unter Linux. Eingegebene Kommandos lassen sich auf der Befehlszeile mit den Cursor-Tasten zurückblättern und somit erneut bzw. verändert absetzen.

Quelle: Linux User 3/2003

Verfasser: Andreas
Letzte Änderung: 2010-04-09 19:58


Benchmark

Programm mit dem die Leistungsfähigkeit der Komponenten ermittelt werden kann. Die Werte sollten allerdings immer im Zusammenhang gesehen werden, da ein einzelner Wert im Prinzip nichts aussagt. Zudem gibt es immer auch einen Messfehler, der je nach Programm gut 3% betragen kann.

Verfasser: Andreas
Letzte Änderung: 2010-04-09 19:59


BGP

Border Gateway Protocoll

Dynamisches Routingprotokoll, mit dem die Internet Backbones sich wenn nötig automatisch Rekonfigurieren, etwa um bei Verlust einer Strecke trotzdem alle Punkte im Netz erreichbar halten. Das Protokoll BGP ist in RFC 1771 in Version 4 als BGP4 implementiert. BGP wird auf allen "Außenpunkten" eines großen eigenständigen IP-Netzwerks bei den Übergabepunkten ("Gateways") an andere Provider verwendet.

Verfasser: Andreas
Letzte Änderung: 2010-04-09 19:59


Bibliothek

Eine "Library" enthält eine Sammlung C-Funktionen für bestimmte Zwecke. So stellt die libm mathematische Funktionen bereit oder die libXt Funktionen zur Programmierung des X-Fenstersystems. Oft werden Bibliotheken von mehreren Programmen gemeinsam ("shared") genutzt.

Verfasser: Andreas
Letzte Änderung: 2010-04-09 20:00


Bildumkehr

Die vertikale und horizontale Bildumkehr dreht das Bild um 180° beziehungsweise spiegelt das Bild. Will man den Beamer an die Decke schrauben, ist die Bildumkehr unbedingt nötig - denn sonst steht das Bild auf dem Kopf.

Quelle: PCgo Seite 71

Verfasser: Andreas
Letzte Änderung: 2010-04-09 20:01


Bildwiederholfrequenz

Die Bildwiederhofrequenz - auch Vertikalfrequenz oder Refresh-Rate - besagt, wie oft pro Sekunde der Monitor das gesamte Bild neu aufbaut. Die meisten Menschen nehmen bereits bei 75 Hz kein Flimmern mehr war; für flimmerfreies augenschonendes und ermüdungsfreies Arbeiten empfiehlt sich eine Bildwiederholrate von 85 Hz. Bei sehr viel höheren Refresh-Raten nimmt die Bildqualität oftmals wieder ab, da die Videoeingangsstufen dann an ihre Leistungsgrenzen gefahren werden. Die Elektronik neigt dann eher zum Übersprechen und erzeugt weniger steile Flanken. Als Folge entstehen auf dem Bildschirm Schattenbilder oder eine unscharfe Darstellung.

Verfasser: Andreas
Letzte Änderung: 2010-04-09 20:01


Binärpaket

Eine Sammlung von fertig kompilierten Programmen und Konfigurationsfiles, um eine Applikation auf einem System zu installieren. Am ehesten mit einem MSI-File unter Windows zu vergleichen.

Verfasser: Andreas
Letzte Änderung: 2010-04-09 20:02


BIOS - Basic Input/Output System

ein kleines, im PC eingebautes Programm, das noch nach dem Einschalten das System auf erste Fehler untersucht und das BS startet. Meist gelangt man nach dem Einschalten per Tastendruck auf [Entf] in sein Konfigurationsmenü. Dort lässt sich unter anderem festlegen, wo nach dem BS als Erstes gesucht werden soll.

Quelle: Linux User 4/2003

Verfasser: Andreas
Letzte Änderung: 2010-04-09 20:03


Block-Device

Bei blockorientierten Geräten tauschen das Gerät und das BS die Daten in Blöcken statt in einzelenen Zeichen (wie bei den zeichenorientierten Geräten oder "Character-Devices") aus. Block Devices (dazu zählen z.B. Festplatten(partitionen)) erkennt man daran, dass der Befehl ls -l die sie repräsentierenden Dateien im /dev-Verzeichnis mit einem "b" am Anfang der Zeile versieht:

brw-r----- 1 root operator 3, 1 Feb 17 2000 hda1

Verfasser: Andreas
Letzte Änderung: 2010-04-09 20:03


Blockgröße

Ein Block ist eine fortlaufende Ansammlung von Bytes auf einem Datenträger. Bestimmte Geräte organisieren ihre Daten in diesen Blöcken ("block devices"), im Gegensatz zu anderen Geräten, die zeichenorientiert arbeiten ("caracter devices") und bei denen jeweils einzelne Bytes gelesen oder geschrieben werden.

Quelle: Linux User 01/03

Verfasser: Andreas
Letzte Änderung: 2010-04-09 20:04


Bluetooth

ist eine standardisierte Funktechnik für die drahtlose Übermittlung von Sprache und Daten über kurze Entfernungen mittels Radiowellen. Sie verbindet mobile und stationäre Geräte. Die Übertragungsleistung liegt bei max. 1 MBit/s, die Reichweite beträgt maximal 12, mit Verstärker bis zu 100 Meter.

Bluetooth 3.0 ist ein Kurzstrecken-Funkverfahren, mit dem sich theoretisch bis zu 24 MBit/s übertragen lassen. Dabei wurde erstmals ein Hochgeschwindigkeitskanal auf Basis der WLAN-Technik integriert. Dank spezieller Stromsparmodi sollen Bluetooth 3.0-Geräte genügsamer arbeiten als Geräte der Vorgängerversion. Die Reichweite des Signals beträgt je nach Geräteklasse zwischen einem und 100 Meter.

Quelle: PC-Welt 9/2010 Seite 10

 

Verfasser: Andreas
Letzte Änderung: 2010-10-26 10:00


Bootmanager

Ein Programm, das üblicherweise im MBR einer Festplatte installiert wird und steuert, welches Betreibssystem beim Booten geladen werden soll.

Verfasser: Andreas
Letzte Änderung: 2010-04-09 20:05


Bootsektor

Die ersten 512 Byte jeder Partition enthalten Informationen über das Dateisystem und die Größe der Partition. Soll eine Partition bootfähig sein, muss hier auch der Code (Bootsrap-Loader) stehen, der das Laden des System-Kernels oder eines Bootmanager veranlasst.

Verfasser: Andreas
Letzte Änderung: 2010-04-09 20:05


Browser Election

Wenn ein SMB-Server hochfährt, der ein potenzieller Suchdienst Server ist, kann er eine Suchdienst Auswahl (Browser Election) erzwingen. Bei diesem Verfahren wird festgestellt, welcher Server der Local Master Browser sein soll.

Quelle: Linux Magazin 02/03

Verfasser: Andreas
Letzte Änderung: 2010-04-09 20:06


BSD-Ports

Ein Port einer Anwendung ist eine Sammlung von Dateien, die das Kompilieren der Quelltexte einer Anwendung automatisieren.

Verfasser: Andreas
Letzte Änderung: 2010-04-09 20:06


Java Script

Häufig auf Web Seiten eingesetzte Skriptsprache, die u. a. für Menü-Elemente und Formulare Verwendung findet. Da dieser Code lokal vom eigenen Browser ausgeführt wird, ist es sinnvoll, die Ausführung nur bei ausgewählten, vertrauenswürdigen Seiten zu erlauben, da sonst lokale Sicherheitslücken ausgenutzt werden können.

Quelle: Linux User 4/2003

Verfasser: Andreas
Letzte Änderung: 2010-04-09 20:07


JPEG

Das ist ein spezielles Dateiformat für digitale Bilder, das oft auch mit JPG abgekürzt wird. JPEG-Bilder werden automatisch komprimiert, also "geschrumpft", so dass sie nur wenig Speicherplatz benötigen.

Quelle: Computer Bild 10/2006, Seite 20

Verfasser: Andreas
Letzte Änderung: 2010-04-09 20:08


JRE - Java Runtime Enviroment

enthält die zur Ausführung von Java-Programmen nötigen Dateien und Programme.

Anders gesagt: "Eine Laufzeitumgebung für Java-Programme".

Anders als in C oder C++ geschriebene Software werden diese nicht für ein bestimmtes BS übersetzt, sondern in ein besonderes Format, den Bytecode, gebraucht, die eine JRE auf den verschiedenen Systemen ausführt


Quelle: Linux User 3/2003, 7/2003

Verfasser: Andreas
Letzte Änderung: 2010-04-09 20:09


OFDM - Orthogonal Frequency Division Multiplexing

Übertragungsverfahren mit zahlreichen, einzeln modulierten Unterträgern.

Quelle: Ct 2005, Heft 21, Seite 162

Verfasser: Andreas
Letzte Änderung: 2010-04-09 20:10


OGG Vorbis

Ogg Vorbis ist ein freies Audio Format ähnlich MP3, das aber im Gegensatz zu MP3 nicht mit Patenten behaftet ist.

Verfasser: Andreas
Letzte Änderung: 2010-04-09 20:10


One-Time-Pad

Beim "One-Time-Pad" ("Einmalblock") wird eine Nachricht mit einem komplett zufälligen Schlüssel in Länge des Klartextes verschlüsselt. Traditionell wurden dazu Nachricht und Schlüssel buchstabenweise module 26 (Rest der beim Teilen der Summe durch 26 bleibt) addiert. Heutzutage benutzt man binäre Nachrichten und Schlüssel, die man mit XOR verknüpft. Solange der Schlüssel wirklich zufällig ist und nur einmal verwendet wird, kann dieser Algorithmus nicht geknackt werden. Der Nachteil ist allerdings, dass man eine große Menge echter Zufallszahlen braucht und der Schlüssel genauso lang (und somit in vielen Fällen genauso schwierig geheimzuhalten) ist wie die Nachricht.

Quelle: Linux User 02/03

Verfasser: Andreas
Letzte Änderung: 2010-04-09 20:11


OSPF

Open Shortest Path First

Ein Protokoll das wie der Name schon sagt, beim dynamischen Routen immer den kürzeren Weg zuerst wählt. Dokumentiert in RFC2328. OSPF wird meist innerhalb eines Netzwerks (Autonomes System) zur Konfiguration verwendet.


WCM 146 / April 2001

Verfasser: Andreas
Letzte Änderung: 2010-04-09 20:11


owning / owned

englisch für besitzen; infiltrierte / gehackte Computer sind owned

Quelle: WCM 184, Feb. 2003

Verfasser: Andreas
Letzte Änderung: 2010-04-09 20:12


Videobandbreite

Vom Pixeltakt lässt sich die Videobandbreite ableiten: Wenn eine Bildzeile abwechselnd schwarze und weiße Pixel enthält, ergibt sich theoretisch ein Rechtecksignal mit der halben Frequenz des Pixeltakts. Zur akzeptablen Verstärkung dieses Signals muss die Videoelektronik des Monitors eine etwa 1,5 - bis zweimal höhere Videobandbreite besitzen. Die Videobandbreite wird üblicherweise als höchste Signalfrequenz angegeben, die die Monitorelektronik mit 3 dB Dämpfung verarbeiten kann.

Verfasser: Andreas
Letzte Änderung: 2010-04-09 20:13


Viritual Private Network (VPN)

Mit einem VPN wird ein Netzwerk aufgebaut. Die Rechner sind über eine Strecke verbunden, die als Tunnel durch eine unsicheres Netzwerksegment wie das Internet funktioniert. Sie können vertrauliche Daten austauschen, das der Netzwerkverkehr innerhalb des VPN verschlüsselt wird.

Quelle: Linux User 7/2003

Verfasser: Andreas
Letzte Änderung: 2010-04-09 20:13


VIVO

Die Bezeichnung VIVO beschreibt schlicht das Vorhandensein von Video Ein- und Ausgängen auf der Grafikkarte. Abhängig vom Typ der Karte und dem Verwendeten Chip sind diese qualitativ unterschiedlich gut. In der Vergangenheit, bis zur GeForce 4 Serie waren die Nividia Karten denen mit ATI-Chip ausgestatteten Grafikboards in puncto TV- in und Out qualitativ unterlegen, inzwischen herrscht mehr oder weniger Gleichstand. Waren bisher die Chips zum digitalisieren der analogen TV-Signale meist in Form eines eigenen Chips auf der Grafikkarte verbaut, sind diese bei der neuen Generation der Grafikkarten bereits in der GPU eingebaut, was Kosten spart und diese Funktion von der aufpreispflichtigen Ausnahme zur Regel macht.

Quelle: WCM 242, Seite 75

Verfasser: Andreas
Letzte Änderung: 2010-04-09 20:14


VPN - Virtual Private Network

lassen sich über ein öffentliches Datennetz, etwa das Internet, verschlüsselte private Verbindungen aufbauen, beispielsweise von einem PC in einem Firmennetz.

Verfasser: Andreas
Letzte Änderung: 2010-04-09 20:15


CSS - Cascading Style Sheets

Ein Zusatz zu HTML, der die konkrete Formatierungsauszeichnung von der logischen Struktur des Dokuments trennt.

Quelle: Linux User 01/03

CSS (Casading Style Sheets) - XSL (Extensible Style Language)

Während die DTD die logische Struktur eines XML-Dokuments beschreibt, wird mit Stylesheets definiert, wie der Inhalt vom Web-Browser oder anderen Programmen dargestellt werden soll.

WCM 183 / Jänner 2003

Verfasser: Andreas
Letzte Änderung: 2010-04-10 19:05


CDDB - Compact Disc Database

ist eine Datenbank im Internet, die Titelinformationen zu Audio-CDs enthält.
Diese enthält sämtiliche Informationen zu einer Audio-CD wie Albumtitel, Interpret, eine Titelliste usw. CDDBs werden entweder lokal verwaltet oder über verschiedene Server im Internet wie z.B. freedb.org. Ein Audio-Player, der das CDDB-Format unterstützt, überprüft bereits beim Einlegen der CD, ob diese schon bekannt ist. Wenn nicht, versucht der CD-Player eine Verbindung ins Internet aufzubauen und dort die Informationen auf einem CDDB-Server ausfindig zu machen.
Viele Programme zum Abspielen oder Rippen von CDs greifen auf die Online-Quelle FreeDB zurück

Quelle: Linux User 4/2003, 7/2003

Internet: www.freedb.org

Verfasser: Andreas
Letzte Änderung: 2010-04-10 18:53


chiffrieren/Chiffre

ist ein Verschlüsselungsalgorithmus, der einen Klartext - meistens mit Hilfe eines Schlüssels - in einen Chiffre-Text umwandelt

Verfasser: Andreas
Letzte Änderung: 2010-04-10 18:52


chm - Compiled HTML Manual

Der Vorteil dieses Hilfeformats neuerer Windows Versionen gegenüber reinem HTML liegt in der Kompression und der damit verbundenen Platzersparnis begründet. Zusätzlich stehen unter Windows erweiterte Funktionen, wie eine Navigationshilfe in Form eines Strukturbaums, zur Vefügung.

Quelle: Linux User 5/2003

Verfasser: Andreas
Letzte Änderung: 2010-04-10 18:54


CIFS - Common Internet Filesystem

ein anderer Name für das Protokoll Server Messages Blocks (SMB).

Quelle: Linux Magazin 02/03

Verfasser: Andreas
Letzte Änderung: 2010-04-10 18:55


CMOS - Complimentary Metal-Oxide Semiconductor

Der Timer-Chip, der die Systemzeit misst, läuft nicht weiter, wenn der Rechner ausgeschaltet ist. Alle PCs haben daher eine Batterie-betriebene Uhr, die das Datum und die Uhrzeit auch dann weiterzählt, wenn der Rechner ohne Stromversorgung ist. Da diese Uhr im gleichen Baustein wie das CMOS-RAM untergebracht ist, nennt man sie auch CMOS-Uhr. Andere gängige Bezeichnungen sind: Hardware-Uhr, RTC (Real Time Clock) oder BIOS-Uhr.

Quelle: Linux User 6/2003

Verfasser: Andreas
Letzte Änderung: 2010-04-10 18:55


Compiler

Ein Programm, das eine Sprache in eine andere transformiert, meistens eine Hochsprache wie C in den Maschinencode, den ein Prozessor ausführen kann.

Quelle: Linux User 01/03

Verfasser: Andreas
Letzte Änderung: 2010-04-10 18:56


Compiler-Schalter

Einstellungen für den Compiller zum genaueren spezifizieren der Art der Übersetzung des Quelltextes.

Quelle: Linux User 4/2003

Verfasser: Andreas
Letzte Änderung: 2010-04-10 18:57


Compiler-Direktive

Ein Schlüsselwort zur Steuerung der Übersetzung, etwa zum Ausklammern bestimmter Code-Abschnitte.

Quelle: Linux User 01/03

Verfasser: Andreas
Letzte Änderung: 2010-04-10 18:58


Composite

Bei der Übertragung über ein Composite-Signal werden sämtliche Bildinformationen verschachtelt und am Ziel wieder getrennt - dabei geht Qualität verloren. YUV oder S-Video ist in jedem Fall dem Composite-Anschluss vorzuziehen.

Quelle: PCgo 7/04, Seite 71

Verfasser: Andreas
Letzte Änderung: 2010-04-10 18:58


Connection - Hijacking

Verbinden von Client A zu Server B abfangen und sich im gleichen Zug selbst als A ausgeben.

Quelle: WCM 184, Feb. 2003

Verfasser: Andreas
Letzte Änderung: 2010-04-10 18:59


contrib

Diese Kategorie enthält Pakete, die selbst freie Software sind, aber nur im Zusammenhang mit Bibliotheken oder Programmen laufen, die anderen Lizenzen unterliegen.

Quelle: Linux User 01/03

Verfasser: Andreas
Letzte Änderung: 2010-04-10 18:59


core - Dateien

Dateien mit dem Namen core enthalten letzte Speicherabzüge eines abgestürzten Programms, aus denen Programmierer die Todesursache feststellen können - für normale Benutzer im Allgemeinen nur eine Verschwendung von kostbarem Speicherplatz.

Quelle: Linux User 4/2003

Verfasser: Andreas
Letzte Änderung: 2010-04-10 19:00


Cron

Unix-Daemon zur Ausführung zyklischer Kommandos (Datensicherung o.ä.) Mit dem Befehl
"crontab" werden die Zeiten und Befehle angegeben.

Quelle: Linux User 4/2003

Verfasser: Andreas
Letzte Änderung: 2010-04-10 19:01


Cron-Job

Der Cron-Deamon schaut jede Minute in speziell für ihn geschriebenen Auftragstabellen, den Crontabs, nach, ob er im Auftrag eines User Programme und Skripte zur bestimmten Zeit ausführen soll. Diese Aufträge nennt man Cron-Jobs. So nicht anders verordnet, schickt der Cron-Daemon nach ihrer Ausführung einen "Bericht" per Mail an den auftraggebenden User.

Quelle: Linux User 7/2003

Verfasser: Andreas
Letzte Änderung: 2010-04-10 19:01


CSV - "Comma" oder "character separated values"

ein Datenformat, bei dem der Inhalt von Tabellen als ASCII-Text abgespeichert wird. Als Trennzeichen ("Delimiter") zwischen Spalteneinträgen ("Feldtrenner") dienen Kommata oder andere dedizierte Zeichen.

Verfasser: Andreas
Letzte Änderung: 2010-04-10 19:02


CVS - Concurent Versions System

Mit dem ist es möglich, Projekte in verschiedenen Entwicklungsstadien zu verwalten. Durch die Versionsverwaltung kann man jderzeit einen früheren Stand des Projekts wiederherstellen, so dass CVS hauptsächlich für Software-Projekte genutzt wird.

Quelle: Linux User 4/2003

Verfasser: Andreas
Letzte Änderung: 2010-04-10 19:03


CVS - Baum

Gerade wenn mehrere Entwickler an einem Softwarerojekt arbeiten, ist ein Verfahren nötig, das verhindert, dass jemand Änderungen seiner Mitprogrammierer aus Versehen überschreibt oder die einzige funktionsfähige Version zerstört. Viele Projekte - darunter auch KDE - verwenden daher ein Versionskontrollsystem wie das "Concurent Versions System" CVS. Aus einem CVS-Dateibaum kann auch ein älterer Entwicklungsstand jederzeit rekonstruiert werden, doch am häufigsten wird er natürlich verwendet, um den aktuellen Programmcode "auszuchecken".

 

Verfasser: Andreas
Letzte Änderung: 2010-04-10 19:04


D-Sub

Der Standard-VGA-Anschluss am Computer. Auch Beamer haben oft einen D-Sub-Eingang.

Quelle: PCgo 7/04, Seite 71

Verfasser: Andreas
Letzte Änderung: 2010-04-10 19:06


DAB

DAB - Digital Audion Broadcasting

ist seit 1999 zusätzlich zur analogen UKW-Versorgung im Regelbetrieb. Die wesentlichen Systemkomponenten sind im europäischen EUREKA-Projekt 147 entwickelt worden. Mit dem derzeitigen Sendernetzausbau (ein Frequenzblock im VHF Bereich) könnten Bundesweit 80% der Bevölkerung DAB empfangen. DAB verwendt als Quellcodierung (Datenreduktion) MPEG-1 Layer 2, die für eine qualitativ "CD-nahe" Übertragung eines Stereosignals eine Datenrate von 128kBit/s benötigt.

Quelle: Ct2005, Heft 21, Seite 100

Verfasser: Andreas
Letzte Änderung: 2010-04-10 19:06


Daemon

Ein Dienstprogramm, das im Hintergrund läuft und erst in Aktion tritt, wenn das System oder Anwendungen es braucht. Daemons tragen meist ein "d" am Ende des Namens, so z.B. der "Internet-Daemon" inetd oder der "Kernel-Log-Daemon" klogd sowie pppd oder sshd.

Quelle: Linux User 7/2003

Verfasser: Andreas
Letzte Änderung: 2010-04-10 19:07


Dateisystem

Ein Dateisystem legt fest, wie Daten auf Festplatte organisiert und abgelegt werden.

Quelle: Linux User 3/2003

Alle aktuellen Dateisysteme speichern Daten in Dateien, die sich wiederum in Verzeichnissen befinden. Diese Ordner bilden eine hierarchische Baumstruktur. Jede Datei auf einem Rechner ist durch ihren Pfad - das ist der Weg vom Hauptverzeichnis eines Datenträgers über alle zu durchlaufenden Ordner - und ihren Namen eindeutig bestimmt.
Unter Windows gibt es derzeit die Dateisysteme FAT, FAT16, FAT32 und NTFS.
Das Dateisystem entscheidet nicht nur über die Menge der maximal verwaltbaren Daten, sondern auch über qualitative Merkmale, beispielsweise die Zugriffsrechte (nur unter NTFS).

Verfasser: Andreas
Letzte Änderung: 2010-04-10 19:08


DCT - Diskrete Cosinus-Transformation

Die eng mit der Fourier Transformation verwandte DCT wird bei der JPEG-Kodierung jeweils auf 8x8 Pixel große Bildblöcke angewendet und wandelt die dreidimensionale räumliche Zuordnung (die dritte Dimension ergibt sich aus den Werten der Pixel) innerhalb des Blocks in eine diskrete Frequenz-Amplituden-Zuordnung um. Die Frequenz der einzelnen Frequenzkoeffizienten ist dabei ein Maß für die Änderung im Bild; eine gleichmäßige Fläche schlägt sich also in niedrigen Frequenzen nieder, während feine Details hohen Frequenzen entsprechen.

Quelle: Linux User 02/03

Verfasser: Andreas
Letzte Änderung: 2010-04-10 19:08


DDR

Double Data Rate - Speicher Technologie, die im Gegensatz zu SDR (Single Data Rate) Speicher fast doppelt so viele Daten bei gleicher Taktfrequenz überträgt.

Verfasser: Andreas
Letzte Änderung: 2010-04-10 19:09


Desktop Enviroment

Im Unterschied zu einem Fenste-Manager, der nur die Fensterverwaltung übernimmt, bietet die Desktop-Umgebung dem Benutzer weit mehr. Anwendungen mit identischem Look & Feel, Desktop-weit gültige Shortcuts und problemloser Datenaustausch zwischen den Programmen schaffen eine einheitliche Arbeitsumgebung.

Quelle: Linux User 6/2003

Verfasser: Andreas
Letzte Änderung: 2010-04-10 19:09


DHCP - Dynamic Host Configuration Protokoll

Damit kann PCs automatisch eine komplette TCP/IP Netzwerkkonfiguration zugewiesen werden. (IP-Adresse, Gateway und Nameserver)

Verfasser: Andreas
Letzte Änderung: 2010-04-10 19:10


direct linkage

Das Programm wird in einem Speicherbereich ausgeführt, der dem aufrufenden Programm (z.B. dem Linux Kernel) "gehört". Am Ende springt das System in den ruhenden Prozess zurück.

Quelle: WCM 225

Verfasser: Andreas
Letzte Änderung: 2010-04-10 19:10


Display

ist eine X-Oberfläche, standardmäßig Ihre lokale. Da X vollständig netzwerkfähig ist, lässt sich die Ausgabe von X-Programmen aber auch (Erlaubnis vorausgesetzt) auf andere Rechner umleiten. Dies wird über die Umgebungsvariable $Display oder einen Kommandozeilenparameter gesteuert.

Meist ist sie auf ":0" gesetzt, so dass der lokal laufende (erste) X-Server angesprochen wird. Bei einem SSH Login mit X-Forwarding von rechner1 auf rechner2 wird die Variable auf einen Eintrag der Form "rechner1:10.0" gesetzt.

Quelle: Linux User 01/03, 07/03

Verfasser: Andreas
Letzte Änderung: 2010-04-10 19:11


Displaymanager

Grafischer Loginmanager der es einem ermöglicht unter verschiedenen Windowmanagern und Desktops zu wählen.

Verfasser: Andreas
Letzte Änderung: 2010-04-10 19:12


Distribution

Eine Linux Distribution ist ein komplettes Betriebssystem, das von einem Distributor aus dem Kernel, den GNU-Tools und anderen freien und unfreien Softwareprodukten zusammengestellt wurde.

Verfasser: Andreas
Letzte Änderung: 2010-04-10 19:12


DLP - Digital Lights Processor

bezeichnet eine der beiden gefragten Beamer-Techniken. Bei einem DLP-Beamer wird das Licht mithilfe mikroskopisch kleiner Spiegel, die auf einem Halbleiter-Chip sitzen, an ihre jeweilige Position auf der Leinwand geworfen. Vor allem der bessere Schwarzwert ist ein großer Vorteil der DLP-Technik. Bei wenigen Menschen kommt es zum Regenbogeneffekt.

Quelle: PCgo 7/04, Seite 71

Verfasser: Andreas
Letzte Änderung: 2010-04-10 19:13


DMB - Digital Multimedia Broadcasting

eine vom ETSI standardisierte Weiterentwicklung von DAB, ermöglicht Multimedia-Angebote in einem DAB-Frequenzblock und ging im Mai 2005 in Seoul (Südkorea) als T-DMB erstmals in den Regelbetrieb. Anstelle des ursprünglich von Bosch entwickelte DMB mit MPEG-2 A/V-Quellcodierung verwendet das T-DMB-System MPEG-4 AVC (=H.264/AVC) zur Videocodierung und für den Begleittonwahlweise die Audiocodierung MPEG-4HE-AAC oder - wie in Korea - MPEG-4/BSAC

Für die Audiocodierung von Hörfunkprogrammen verwenden die Endgeräte MPEG-1 Layer 2, sodass DMB abwärtskompatibel zu DAB ist.

(Die effizientere MPEG-4 Audiokodierung ließe sich zwar auch einsetzen, doch dann könnten die derzeit auf den Markt befindlichen DAB-Empfänger Ausstrahlungen nach dem neuen Standard nicht wiedergeben).

Quelle: Ct 2005, Heft 21, Seite 100

Verfasser: Andreas
Letzte Änderung: 2010-04-10 19:13


DMZ demilitarisierte Zone

ist ein Netzwerk, auf das vom Internet aus zugegriffen werden kann und das keine direkte Verbindung zum
"grünen" Intranet hat. Erlauben Sie den Zugriff auf einen Web-Server im "grünen" Netz vom Internet aus, wird die Sicherheit unnötig aufs Spiel gesetzt. Ein Bug in der Software des Servers kann Angreifern Tür und Tor zu Ihren Rechnern öffnen.

Quelle: Linux User 7/2003

Verfasser: Andreas
Letzte Änderung: 2010-04-10 19:14


DNS - Domain Name System (Domain Name Service)

ist ein Dienst, der Domain-Name, etwa www.pcwelt.de, in die zugehörigen IP-Adresse umsetzt. Weiß ein DNS-Server die IP-Adresse eines Namens nicht, so fragt er automatisch bei einem anderen DNS Server nach.

Verfasser: Andreas
Letzte Änderung: 2010-04-10 19:15


DNS-Hostname

Der eindeutige Name eines Rechners im "Domain Name Service" (DNS), z.B. www.linux-user.de.
Dynamische DNS-Dienste ordnen dem Namen die numerische IP-Adresse zu, die der Rechner bei der Einwahl ins Internet erhält und die ddclient übermittelt. Das geht natürlich nur für Domains, für deren DNS-Einträge sie verantwortlich sind.

Quelle: Linux User 7/2003

Verfasser: Andreas
Letzte Änderung: 2010-04-10 19:15


DockApps

Ursprünglich vom Fenster Manager WindowMaker stammende kleine Anwendungen, die in angedockter Form am Bildschirmrand laufen. Von der Größe her mit Gnome Panel Applets vergleichbar, gibt es für fast jeden Zweck eine DockApps. DockApps sind so beliebt, dass sie inzwischen auch von anderen Fenster-Managern unterstützt werden.

Quelle: Linux User 5/2003

Verfasser: Andreas
Letzte Änderung: 2010-04-10 19:16


Domain Master Browser

Ein SMB-Server, der Suchlisten über mehrere Teilnetze hinweg verwaltet. Der Domain Master Browser erhält Suchlisten von den Local Master Browsern.

Quelle: Linux Magazin 02/03

Verfasser: Andreas
Letzte Änderung: 2010-04-10 19:16


Dotpitch

Der Dotpitch kennzeichnet bei einer Lochmaske den diagonalen Abstand zweier gleichfarbiger Phosphorpixel. Mit zunehmender Verbreitung von Streifenmasken steht Dotpitch aber auch für den Abstand zweier gleichfarbiger Phosphorstreifen. Beim Vergleich der beiden Masken werden die Lochmasken etwas benachteiligt, weswegen die Lochmaskenhersteller oftmals nur den horizontalen Abstand angeben. Aus Quotienten des Streifenabstandes und der Breite der nutzbaren Arbeitsfläche lässt sich die maximale, physikalisch sinnvolle Auflösung eines Bildschirmes berechnen.
Für 19"-Röhren mit einem Streifenabstand von 0,25 Millimetern ergibt sich ein Wert von 360 mm/0,25 mm = 1440 Bildpunkten, bei 0,24 sind es immerhin 1500.
Daraus empfiehlt sich für die 19-Zöller eine Standardauflösung von 1280 * 1024 Bildpunkten (SXGA), da sich die UXGA-Auflösung mit 1600 * 1200 Bildpunkten nicht mehr verlustfrei darstellen lässt.

Aber auch bei der Darstellung der SXGA-Auflösung mit einem Seitenverhältnis von 5 : 4 gibt es nicht sehr viel Luft, da zur verzerrungsfreien Darstellung nut etwa 337 Millimeter in der Breite zur Verfügung stehen, sodass links und rechts jeweils ein schwarzer "Trauerrand" bleibt.

Verfasser: Andreas
Letzte Änderung: 2010-04-10 19:17


Double Layer

Double Layer DVDs haben zwei übereinanderliegende Datenschichten. Dadurch können Sie fast doppelt soviel Daten (rund 8 GB) speichern wie herkömmliche beschreibbare DVDs.

Quelle: Computer Bild 10/2006, Seite 10

Verfasser: Andreas
Letzte Änderung: 2010-04-10 19:18


Drive Setup

Hierbei handelt es sich um ein Standard Tool von MacOS, welches entweder auf der Installations CD von MacOS zu finden ist oder als separate CD dieser beiliegen sollte. Für nähere Infos zu den Programmen kann die Installationsdokumentation von MacOS konsultiert werden.

Quelle: Linux User 01/03

Verfasser: Andreas
Letzte Änderung: 2010-04-10 19:18


DRM - Digital Right Management

Kopierschutz steckt oft in gekauften Musikdateien aus dem Internet. Er regelt, auf wie vielen Computern Sie das Stück anhören und wie oft Sie es auf tragbare Musikspieler oder CD kopieren dürfen.

Quelle: Computer Bild 10/2006, Seite 12

Verfasser: Andreas
Letzte Änderung: 2010-04-10 19:19


DSA

OpenSSH benutzt den "Digital Signature Algorithm" als Verschlüsselungsalgorithmus. Er wurde 1994 vom Narural Institut of Standards and Technology (NIST) veröffentlicht.

Quelle: Linux User 7/2003

Verfasser: Andreas
Letzte Änderung: 2010-04-10 19:20


DTD - Document Type Definition

Dokumententyp-Definitionen legen die Syntax, Struktur und Bedeutung der Tags in einem XML-Dokument fest - also aus welchen Elementen es besteht und welche Attribute die einzelnen Elemente benötigen oder verstehen. DTDs sind insofern eingeschränkt, als dass sie nur den Datentyp "String" kennen.

WCM 183 / Jänner 2003

Verfasser: Andreas
Letzte Änderung: 2010-04-10 19:20


Dual Core

So heißt eine neue Gattung von Computerprozessoren. Die Technik vereint zwei Prozessoren in einem Gehäuse. Dadurch sollen mehrere Programme gleichzeitig arbeiten können, ohne dass der PC merklich langsamer wird.

Quelle: Computer Bild 10/2006, Seite 10

Verfasser: Andreas
Letzte Änderung: 2010-04-10 19:21


DVB-H Digital Video Broadcasting Handheld

ist eine vom ETSI Ende 2004 standardisierte Weiterentwicklung von DVB-T für Empfangsgeräte mit kleinem Display bis etwa 20 cm Bildschirmdiagonale. Gegenüber DVB-T kommen die effizienteren Quellcodierverfahren MPEG-4/AVC für Video und MPEG-4HE-AACv2 für Audiou zum Einsatz. Speziell für den mobilen Empfang mit batteriebetriebenen Endgeräten wie PDAs und Handys dienen ein verbesserter Fehlerschutz (MPE-FEC) sowie das Zeitschlitz Verfahren (Time-slincing). Bei diesem Verfahren werden verschiedene Programme oder Dienste auf einem Kanal sukzessive in Zeitschlitzen gesendet, und das Handy geht synchron, dazu jeweils nur in dem zu einem gewählten Dienst zugehörigen Zeitschlitz auf Empfang, was angeblich Energieeinsparungen von bis zu 90% ermöglicht. DVB-H kann gemeinsam mit DVB-T auf demselben Frequenzkanal betreiben werden und erlaubt auch die Übertragung von Hörfunk-Programmen.

Quelle: Ct 2005, Heft 21, Seite 100

Verfasser: Andreas
Letzte Änderung: 2010-04-10 19:21


DVI

Im Gegensatz zum analogen VGA-Anschluss überträgt der DVI (Digital Visual Interface) die Bilddaten digital. Es gibt drei Varianten, von denen aber nur zwei gebräuchlich sind.
DVI-I (Integrated) beinhaltet sowohl die Digitaldaten für TFTs mit DVI Anschluss, als auch das analoge VGA-Signal, das über einen Adapter, der den Grafikkarten meist beiliegt, zugänglich gemacht werden kann.
DVI-D (Digital) beinhaltet dagegen nur das Digitalsignal.
DVI-A hat nur die analogen Anschlüsse beschaltet, wird aber in der Praxis nicht verwendet.

Quelle: WCM 242, Seite 74

Verfasser: Andreas
Letzte Änderung: 2010-04-10 19:22


DVI-I

Digital Video Interface - digitale Monitorschnittstelle für TFT (Thin Film Transistor) -Displays. Bietet bessere Bildqualität da das Bildsignal nicht von Digital zu Analog und wieder zurück gewandelt werden muss.

Verfasser: Andreas
Letzte Änderung: 2010-04-10 19:22


DXB und eDAB - Digital eXtended Broadcasting

ist ein Ansatz, die verschiedenen Systeme zum Downloadlink-streaming auf der Basis der Internet-Protokolle zu harmonisieren. Zu diesem Zweck soll unter dem Kürzel eDAB (extended DAB) eine Systemvariante für DAB spezifiziert werden, die es erlaubt, Multimedia IP-basiert über DAB-Netze zu übertragen. Dabei stützt sich eDAB wie T-DMB auf den bereits vom ETSI spezifizierten
"Advanced Streaming Mode", der (wie die DVB Systeme) einen MPEG-2-Transportstrom als Transportschicht verwendet, und wie bei DVB-H werden die IP-Ströme mittels multi-Protocol-Encapsulation in den MPEG-2-transportstrom eingebettet. Mit MPEG-4 AVC und HE-AACv2 kommen die gleichen Video- und Audio-Kodierformate wie bei DVB-H zum Einsatz.

Quelle: Ct 2005, Heft 21, Seite 100

Verfasser: Andreas
Letzte Änderung: 2010-04-10 19:23


EAP - Extensible Authentication Protocol

dient zur Nutzeranmeldung in Netzwerken

Verfasser: Andreas
Letzte Änderung: 2010-04-10 19:24


EAP-TLS

EAP mit Transport Layer Security, wie EAP, aber mit Kryptoschutz

Verfasser: Andreas
Letzte Änderung: 2010-04-10 19:24


EAP-TTLS

EAP mit Tunneled TLS, Variante von EAP-TLS

Verfasser: Andreas
Letzte Änderung: 2010-04-10 19:25


EAPOL

Extensible Authentication Protocol Over LAN, kapselt EAP-Pakete

Verfasser: Andreas
Letzte Änderung: 2010-04-10 19:25


Encoding

Um Alphabete oder einfach nur Sonderzeichen, die das amerikanische Alphabeth nicht enthält (etwa Umlaute), darzustellen, muss man andere Kodierungsmethoden als 7 Bit ASCII benutzen. So kann man mit der ISO 8859-1 Kodierung z.B. Texte mit deutschen Umlauten kodieren. Das Euro Zeichen ist darin jedoch nicht enthalten. Benutzt man es, kommt ISO 8859-15 zum Zug.
Die Unicode Kodierung UTF-8 umfasst die meisten auf der Welt verwendeten Alphabete, z.B. kyrillische oder chinesische Zeichen.
Damit ein Programm entsprechende Texte darstellen kann, müssen aber auch entsprechende Schriften installiert (oder eingebaut) sein.

Quelle: Linux Usern 3/2003

Verfasser: Andreas
Letzte Änderung: 2010-04-10 19:26


ESSID - Extended Sevice Set ID

 Extended Service Set Identification, Netzwerkname eine WLANs

Die Kennung oder der Name eines drahrlosen Netzes.

Quelle: Linux User 5/2003

Verfasser: Andreas
Letzte Änderung: 2010-04-10 19:27


Ethernet

Dei am weitesten verbreitete Methode zur Vernetzung in einem LAN heißt Ethernet. Verbindungen lassen sich über Twisted-Pair-Kabel, Glasfaser oder Koaxial-Kabel herstellen. Die Geschwindigkeiten betragen 10, 100 und 1000 MBit/s.

Verfasser: Andreas
Letzte Änderung: 2010-04-10 19:28


ETSI - European Telecomunications Standards Institute

Europäische Normierungsorganisation

Verfasser: Andreas
Letzte Änderung: 2010-04-10 19:28


Exploit

fertiges Programm, welches eine Sicherheitslücke ausnutzt um in den PC einzudringen.

Quelle: WCM 184, Feb. 2003

Verfasser: Andreas
Letzte Änderung: 2010-04-10 19:29


Ext2 - Extended Secondary Filesystem

war lange Zeit das Standard Dateisystem unter Linux. Mittlerweile macht ihm sein Nachfolger Ext3 diesen Platz streitig. Dieser ist jedoch abwärtskompatibel.

Quelle: Linux User 3/2003

Verfasser: Andreas
Letzte Änderung: 2010-04-10 19:29


FEC - Forward Error Correction

reduziert durch einfügen reduntanter Informationen die Fehlerrate bei der Übertragung.

Verfasser: Andreas
Letzte Änderung: 2010-04-10 19:30


Feed

Ein Verzeichnis auf einem Web- oder FTP-Server, das eine Reihe von Programmen für den Zaurus enthält. Die Paketverwaltung des Zaurus wie auch Qtopia-Desktop laden von dort Dateinamen und Beschreibungen der Pakete.

Verfasser: Andreas
Letzte Änderung: 2010-04-10 19:31


Fenster-Klasse

Jedes Fenster, das auf dem Display gezeichnet wird, gehört zu einer mehr oder weniger aussagekräftigen, vom Programmierer vorgegebene Fenster-Klasse, die sich mit den Befehlen "xlsclients -l" oder "xprop -name programmname" auslesen lässt.

Quelle: Linux User 01/03

Verfasser: Andreas
Letzte Änderung: 2010-04-10 19:31


FireWire / IEEE1394

Ähnlich schnelles externes Bussystem wie USB2.0 (400MBit), schont aber den Hauptprozessor, die Chips sind aber teurer. Diese Schnittstelle ist vorwiegend bei Digitalen Videokammeras zu finden, und daher wichtig für die digitalen Videoschnitt.

Verfasser: Andreas
Letzte Änderung: 2010-04-10 19:32


Format-Strings

Einfache Methoden der Formatierung, die auch in eigenen Programmiersprachen genutzt wird:
Einer durch % gekennzeichneten Variable wird ein Wert zugewiesen. Die dem % nachfolgende Format-Spezifikation legt die Art der Variablen fest. So steht %s für einen String (also eine Zeichenkette beliebiger Länge).

Quelle: Linux User 3/2003

Verfasser: Andreas
Letzte Änderung: 2010-04-10 19:32


FPS - Frame per Second

Die bei Benchmarks oft genannten FPS-Werte sind nichts anderes, als die durchschnittlichen Bilder pro Sekunde, die eine Grafikkarte bei einem bestimmmte Spiel bei einer bestimmten Auflösung zu berechnen vermag. Dieser Wert ist meist bei Benchmarks angegeben. Grundsätzlich kann man sagen, dass bei Shootern mindestens 40-60 FPS wünschenswert sind, für Strategie und Rollenspiele reichen 30 FPS aus.

Quelle. WCM 242, Seite 74

Verfasser: Andreas
Letzte Änderung: 2010-04-10 19:33


FQDN - Rechnername: "Fully Qualified Domain Name"

(vollständig angegebener Domainname) ist ein Internet-Rechnername der Form
www.linux-user.de.
Um diesen in eine IP-Adresse auflösen zu können, muss entweder ein Domain-Name-Server (DNS) verwendet werden, oder der Rechner muss in der Host-Tabelle /etc/fstab eigetragen sein.

Verfasser: Andreas
Letzte Änderung: 2010-04-10 19:34


Frame

Daten oder Steuerpaket

Verfasser: Andreas
Letzte Änderung: 2010-04-10 19:34


Framerate

Bilder pro Sekunde wird mit fps (Frames per Second) abgekürzt. Bewegungen werden flüssig ab 25 Bildern wahrgenommen. Bei 3D-Shootern, sollte die erreichte Framerate jedoch deutlich höher liegen.

Verfasser: Andreas
Letzte Änderung: 2010-04-10 19:35


Free Software

Verfasser: Andreas
Letzte Änderung: 2010-04-10 19:35


Fremdschlüssel

Eine Datenbank besteht aus Tabellen. Jede Tabelle hat einen Primärschlüssel, das ist eine Spalte oder eine Spaltenkombination, über die sich ein Datensatz eindeutig ansprechen lässt (z.B.: die Kunden-, Artikel- oder Bestellnummern). Wenn der Primärschlüssel einer Tabelle gleichzeitig als Primärschlüssel einer anderen Tabelle fungiert, haben wir es mit einem Fremdschlüssel zu tun: Angenommen, ein Kunde aus der Tabelle "Kunden" bestellt einen Artikel aus der Tabelle "Artikel". Dient die Kombination der Primärschlüssel von "Kunden" und "Artikel" als Primär- (und somit Fremd-) Schlüssel für die Tabelle "Bestellung", so kann man vom Bestellungsdatensatz sowohl auf die Daten des Kunden als auch auf die Eigenschaften des Artikels zurückgreifen, ohne dass in "Bestellung" alle Kunden- und Artikeldaten mehrfach angeführt werden müssen.

Verfasser: Andreas
Letzte Änderung: 2010-04-10 19:36


FSB

Front Side Bus - Bussystem, das den Prozessor mit der Northbridge verbindet. Beim Athlon effektive 200, 266 oder 333MHz schnell.

Verfasser: Andreas
Letzte Änderung: 2010-04-10 19:36


Gainfaktor

Der Gainfaktor misst, wir gut das Licht gebündelt und dann an das Auge des Betrachters weitergegeben wird. Vor allem bei Leinwänden ist der Gainfaktor wichtig.

Quelle: PCgo 7/04, Seite 71

Verfasser: Andreas
Letzte Änderung: 2010-04-10 19:37


GDM

Der GNOME --> Displaymanager

Verfasser: Andreas
Letzte Änderung: 2010-04-10 19:38


GNOME

Eine freie und leicht benutzbare Desktop Umgebung.

Freies Desktop Enviroment des GNU Betriebssystems.

Verfasser: Andreas
Letzte Änderung: 2010-04-10 19:38


GNU

GNU ist eine rekursive Abkürzung von "GNUs Not Unix!" und steht für ein Projekt, das sich zum Ziel gesetzt hat, ein vollständiges Unix-artiges Betreibssystem zu entwickeln. Aus dem Projekt sind zahlreiche Tools wie der Compiler gcc, wget, cvs oder GNOME "entsprungen".

Verfasser: Andreas
Letzte Änderung: 2010-04-10 19:39


GNU/Linux

Da der Linux Kernel ohne den GNU-Tools wirklich lauffähig wäre, ist die Bezeichnung GNU/Linux-Betriebssystem korrekter.

Verfasser: Andreas
Letzte Änderung: 2010-04-10 19:39


GPU

Graphics Processing Unit - der Grafikprozessor berechnet die Bilddaten.

Das Kernstück einer Grafikkarte ist die sogenannte GPU und nur eine andere Bezeichnung für den eigentlichen Grafikchip. Spricht man von einer GeForce 6800 bezeichnet man damit auch den Grafikchip. Wie bei CPUs haben diese auch Codenamen, die während der Entwicklung des Chips verwendet werden und von Freaks zur schnelleren Identifikation verwendet werden.
R520 bezeichnet z.B. die ATI X 1800-Serie, NV40 bezeichnet die GeForce 6800 Serie.
GPUs sind äußerst leistungsfähig und überflügeln die Rechnerperformance herkömmlicher CPUs wie dem Pentium 4 in gewissen Bereichen um den Faktor 5!

Quelle: WCM 242, Seite 74

Verfasser: Andreas
Letzte Änderung: 2010-04-10 19:40


GTK

ist eine Bibliothek zur Erstellung graphischer Benutzeroberflächen.

Ein --> Toolkit ursprünglich für das GNU Image Manipulation Programm (GIMP) geschrieben, bildet es die Grundlage für --> GNOME.

Verfasser: Andreas
Letzte Änderung: 2010-04-10 19:40


GTK+

Das GIMP Toolkit. Eine Bibliothek für die grafische Benutzeroberflächen, die ursprünglich für den Photoshop-Klon GIMP geschrieben wurde.

Quelle: Linux User 3/2003

Verfasser: Andreas
Letzte Änderung: 2010-04-10 19:41


GUI

Graphical User Interface, grafische Benutzeroberfläche. Gängiger Weg zur interaktion mit Computern.

Verfasser: Andreas
Letzte Änderung: 2010-04-10 19:41


GUI - Toolkit

Programmbibliotheken, die Funktionen für die Programmierung grafischerOberflächen (GUI) zur Verfügung stellen, etwa zur Gestaltung von Menüs und Dialogfenstern. Populär GUI-Toolkits sind das "Gimp Toolkit" GTK und Qt.

Verfasser: Andreas
Letzte Änderung: 2010-04-10 19:42


Hack

- funktionsfähiges Konzept für die Ausnutzung einer Sicherheitslücke bzw. eines Bugs in einem System

Quelle: WCM 184, Feb. 2003

Verfasser: Andreas
Letzte Änderung: 2010-04-10 19:43


Hash - Wert

ist eine Zeichenkette, die mittels einer Hash-Funktion aus einer Datei oder sonstigen Daten errechnet wurde. Da dieser Wert in der Regel auch wesentlich kürzer als die Ausgangsdatei ist, eignet sich der Hash sehr gut dazu, zwei große Dateien zu vergleichen, ohne dass die Dateien selbst übertragen werden müssen. Stimmen die verglichenen Werte der beiden Dateien überein, sind bei einer guten Hash-Funktion auch die Ausgangsdateien mit extrem hoher Wahrscheinlichkeit identisch. Da der Hash-Wert zur Identifikation einer Datei benutzt werden kann, wird er manchmal auch als Fingerabdruck der Datei bezeichnet.

Quelle: Linux User 4/2003

Verfasser: Andreas
Letzte Änderung: 2010-04-10 19:43


HBCI - Home Banking Computer Interface

ist eine normierte Schnittstelle, um von außen auf die Kontendaten der Bank zugreifen zu können. Sie basiert auf einer verschlüsselten Übertragung, PIN und TAN-Nummern sind nach der Authentifizierung zu Beginn nicht mehr erforderlich.

Verfasser: Andreas
Letzte Änderung: 2010-04-10 19:44


HBCI - ID

Eindeutige Nummer der Bank für diese Kommunikation, die für mehrere Konten gelten kann.

Verfasser: Andreas
Letzte Änderung: 2010-04-10 19:44


Header

Der Kopf einer Mail besteht aus Zeilen mit für den Transport und die Verwaltung wichtigen Informationen. Anschließend der Mail Body mit dem eigentilichen Inhalt der Nachricht. Viele grafische MUAs verbergen die meisten Mail-Header (mit Ausnahme des Subject, des Absenders ("From-Header") und des Sende-Datums ("Date-Header") vor den Augen des Benutzers.


Quelle: Linux User 7/2003

Verfasser: Andreas
Letzte Änderung: 2010-04-10 19:44


Header Dateien

Header Dateien (auch Include Dateien genannt) listen die in einer Bibliothek verfügbaren Funktionen nebst Parametern auf. Der C(++)-Compiler braucht diese Information beim Übersetzen eines Programms. Bei den gängigen Distributionen trägt ein Header-Paket zu einer Bibliothek üblicherweise den Zusatz dev oder devel im Namen. Solange dies nicht installiert ist, schlagen Kompilierversuche fehl.

Quelle: Linux User 6/2003

Verfasser: Andreas
Letzte Änderung: 2010-04-10 19:45


Heuristische Verfahren

(von griechisch heurisken = finden, entdecken) Verfahren zur Problemlösung auf Grund von Erfahrungswerten, Faustregeln oder Algorithmen.

Quelle: Linux User 7/2003

Verfasser: Andreas
Letzte Änderung: 2010-04-10 19:45


Hexadezimalzahlen


Zahlensystem auf der Basis von Sechzehnerpotenzen (statt Basis 10 wie beim herkömmlichen Dezimalsystem). Als Ziffern kommen 0-9 und anschließend A (symbolisiert 10) bis F (15) zum Einsatz. Die Dezimalzahl 20 (=2*10^1 + 0*10^0) lässt sich zur Basis 16 durch die Gleichung 1*16^1 + *16^0 ausdrücken. In der Symboldarstellung bleibt davon die Hexazahl 14 übrig.

Quelle: Linux User 6/2003

Verfasser: Andreas
Letzte Änderung: 2010-04-10 19:46


History /.bash_history

Die Bash (und die meisten anderen Shells) speichern alle während einer Sitzung eingegebenen Kommandos in einer History-Datei (standardmäßig ~/.bash_history). Mit dem Befehl
unset HISTFILE wird die Umgebungsvariable mit der Position der History-Datei gelöscht und somit das Speichern der Befehle unmöglich.

Quelle: Linux User 02/03

Verfasser: Andreas
Letzte Änderung: 2010-04-10 19:47


Horizontalfrequenz

Die Horizontalfrequenz - auch Zeilenfrequenz - gibt an, wie viele Zeilen pro Sekunde auf dem Bildschirm geschrieben werden. Sie ist das Produkt der Bildwiederholfrequenz und der Zeilenzahl der eingestellten Auflösung. Dabei sind zusätzliche Synchronisationszeilen zu berücksichtigen, die den Monitor vor dem Neuaufbau des Bildes die Umstellung der Ablenkfelder von unten nach rechts nach oben links ermöglichen. Bei dem 85-Hz-Standard-Timing der 19-Zöller mit 1024 Zeilen ergibt sich die Horizontalfrequenz aus:

85 Hz * (1024 + 47) = 91,12 kHz

Verfasser: Andreas
Letzte Änderung: 2010-04-10 19:47


HT - Hyper-Threading

HT - Hyper-Threading

Verfasser: Andreas
Letzte Änderung: 2010-04-10 19:48


iCalender

Standard um Termine zwischen PIMs zu synchronisieren

Quelle: WCM 184, Feb. 2003

Verfasser: Andreas
Letzte Änderung: 2010-04-14 17:03


ics

Speicherformat für Kalenderdateien, welches ursprünglich von dem Programm ical benutzt wurde. Fast alle Organizer-Anwendungen können Dateien im ical-Format importieren.

Quelle: Linux User 6/2003

Verfasser: Andreas
Letzte Änderung: 2010-04-14 17:04


ID3

In MP3 Dateien können zusätzliche Informationen über den Song mit abgelegt werden, z.B. Name des Künstlers oder der Band, das Genre oder der Name des Titels. Die meisten Abspielprogramme sind in der Lage, diese Informationen beim Abspielen der Lieder anzuzeigen. In der Version 1 (ID3v1) sind die letzten 128 Byte der Datei für diese Titel-Informationen reserviert; ID3v2-Tags befinden sich hingegen am Anfang der Datei, sind wesentlich komplexer und dürfen bis zu 256 MB groß sein. Damit nicht jeder diese Tags von Hand eingeben muss, gibt es im Internet diverse Datenbanken mit ID3-Informationen, die CDDBs.

Quelle: Linux User 4/2003

Internet: www.id3.org

Verfasser: Andreas
Letzte Änderung: 2010-04-14 17:05


IEEE - Institute of Electrical Enginieers & Experts

Gremium welches Standards rund um das Netzwerk verabschiedet und mittels eindeutiger Nummerierung veröffentlicht.
US-Normungsstelle

Quelle: WCM 188, Seite 90

IEEE
Abk. für Institute of Electrical an Electronic Engineers. Amerikanische Normungsbehörde, die Standards für Netzwerk-Technologien festlegt.

PC Magazin, Nr. 4/2000, S. 100

Verfasser: Andreas
Letzte Änderung: 2010-10-10 11:39


IETF - Internet Enginieering Task Force

entwickelt die Internet Normen RFC

Verfasser: Andreas
Letzte Änderung: 2010-04-14 17:07


IGES - Initial Graphics Exchange Specification

IGES - Initial Graphics Exchange Specification

Verfasser: Andreas
Letzte Änderung: 2010-04-14 17:07


INI - Brief

Zunächst gibt die Bank Daten zur Verschlüsselung an den Kunden weiter. Wenn dieser seine Bankübertragung aufbaut, bekommt er diese Daten angezeigt und kann sie vergleichen und somit verifizieren. Er erzeugt seinerseits Verschlüsselungsdaten, die er in Form des INI-Briefs an seine Bank zurückgibt. Somit ist sichergestellt, dass sich keine Hacker Zugang verschafft haben.

Verfasser: Andreas
Letzte Änderung: 2010-04-14 17:08


Inline Darstellung

Die Darstellung von Nicht-Text-Komponenten "zwischen den Zeilen" einer Mail, also ohne, dass ein neues Fenster geöffnet wird.

Quelle: Linux User 3/2003

Verfasser: Andreas
Letzte Änderung: 2010-04-14 17:09


Inode

Für jede im Linux-Dateisystem abgelegte Datei gibt es eine spezielle Datenstruktur, einen "Informationsknoten", der z.B. Informationen zum Eigentümer, zur Gruppe und den Zugriffsrechten der Datei enthält, vor allem aber Zeiger auf die Stellen auf der Festplatte, auf denen die Daten der Datei liegen. Mit ihrer Hilfe verwaltet das BS den Dateibaum. Auch Inodes müssen gespeichert werden, und zwar auf der Festplatte. Ist die genau dort kaputt, wo die Inode liegt, kann das BS nicht mehr auf die passende Datei zugreifen.

Quelle: Linux User 7/2003

Verfasser: Andreas
Letzte Änderung: 2010-04-14 17:10


Internationalisierung

Das Anpassen einer Software, so dass sie in andere Sprachen übersetzt ("lokalisiert") werden kann. Das Wortungetüm wird oft mit "i18n" abgekürzt, also ein i, darauf folgende 18 Buchstaben ("nternationalizatio") und ein abschließendes n.

Quelle: Linux User 02/03

Verfasser: Andreas
Letzte Änderung: 2010-04-14 17:12


Intrusion Detection System (IDS)

stellt eine zweite Verteidigungslinie gleich hinter der Firewall auf. Es durchsucht den Netzwerkverkehr auf Paketebene nach verdächtigen Mustern, die vielleicht auf eine Angriff auf oder Einbruchversuch in das Netzwerk hindeuten. Diese verdächtigen Muster werden durch eine Regelwerk spezifiziert. Wann immer das IDS ein Muster sieht, das einer Regel entspricht, wird die Log-Datei /var/log/messages ein Eintrag geschrieben. Ein IDS blockiert nicht wie die Firewall den Verkehr, es alarmiert vielmehr Systemadministratoren.

Quelle: Linux User 7/2003

Verfasser: Andreas
Letzte Änderung: 2010-04-14 17:13


IP-Adresse

Jeder Knoten innerhalb eines TCP/IP - Netzes verfügt über eine eindeutige Nummer, über die er identifiziert wird. Diese Nummer wird als IP-Adresse bezeichnet. Dabei handelt es sich um eine Adresse, die in Form einer durch drei Punkte unterteilten Zifferngruppe dargestellt wird.

Verfasser: Andreas
Letzte Änderung: 2010-04-14 17:14


IPSec

Standard um den Inhalt von IP-Paketen zu verschlüsseln

Quelle: WCM 184, Feb. 2003

Verfasser: Andreas
Letzte Änderung: 2010-04-14 17:14


IRC

Mit einem Client-Programm für den "Internet Relay Chat" verbindet man sich mit einem zu einem IRC-Netz (z.B. dem IRCNet) gehörenden Server, um dort in thematisch meist festgelegten Channels ("Kanälen") mit anderen Nutzern schriftlich zu plaudern ("chatten").

Quelle: Linux User 3/2003

Verfasser: Andreas
Letzte Änderung: 2010-04-14 17:15


ISBN - International Standard Book Number

Jedes Buch vefügt über eine weltweit einheitliche ISBN, in der Informationen wie das Erscheinungsland, der Verlag und die Sprache kodiert sind.

Quelle: Linux User 3/2003

Verfasser: Andreas
Letzte Änderung: 2010-04-14 17:16


ISO

Linux unterstützt mehrere Typen von Dateisystemen. Dazu gehören nicht nur die eigenen, wie z.B.: ext2, ext3 oder reiserfs, sondern auch vfat und ntfs-Dateisysteme, wie sie unter Windows verwendet werden.

ISO 9660, wie der komplette Name lautet, ist der Standard für die Verwaltung von Dateien auf CD-ROMs. Ursprünglich wurden nur kurze Dateinamen unterstützt;

Die Rockridge- und Joilet-Erweiterungen heben diese Beschränkung auf.

Rockridge: Die Rockridge Extension erweitern das ISO-CD Dateisystem um Unix-typische Dateiinformationen wie Besitzer und Gruppe, Zugriffsrechte (Lesen, Schreiben, Ausführen) und symbolische Links. Dadurch ist ein Kopieren von Daten aus einem Unix-Dateisystem auf eine CD ohne Informationsverlust möglich. Außerdem erlaubt Rockridge längere Dateinamen.

Joilet: Von MS kommt eine alternative Erweiterung des ISO 9660-Dateisystem namens Joilet, die ebenfalls lange Dateinamen zulässt.

Quelle: Linux User 01/03

Verfasser: Andreas
Letzte Änderung: 2010-04-14 17:17


ISO Image

Das Abbild einer kompletten CD als eine große Datei. Aus dem Image erstellt ein CD-Brennprogramm wie cdrecord für die Kommandozeile oder die Software xcdroast die entsprechende CD, in dem sie das Image auf den Rohling brennt.

Quelle: Linux User 7/2003

Verfasser: Andreas
Letzte Änderung: 2010-04-14 17:17


ISO-File

behalten die Daten (Image) einer CD. Linux-Distributionen werden oft als ISO-File zum Download und selber brennen angeboten.

Verfasser: Andreas
Letzte Änderung: 2010-04-14 17:18


KDE

KDE ist eine moderne grafische Arbeitsumgebung für Unix-Computer.
Feies Desktop Enviroment basierend auf dem --> QT --> Toolkit.

 

Verfasser: Andreas
Letzte Änderung: 2010-04-14 17:19


KDM

Der KDE --> Displaymanager

Verfasser: Andreas
Letzte Änderung: 2010-04-14 17:19


Kernel

Der Unix Kernel stellt eine Art Vermittler zwischen den Anwenderprogrammen und der Hardware des Computers dar. Er verwaltet den Arbeitsspeicher und sorgt dafür, dass jedes Programm angemessene Anteile der Prozessor-Arbeitszyklen zugewiesen bekommt.

Verfasser: Andreas
Letzte Änderung: 2010-04-14 17:19


Kernel Header

Header Dateien im Allgemeinen machen anderen Programmen oder Programmteilen Funktionen, Datentypen, Variablen usw. bekannt. So enthalten die Header-Dateien des Kernels die Beschreibung all jener Kernel-Funktionen, auf die anderen Programme, darunter vor allem Kernel-Module, zugeifen dürfen.

Verfasser: Andreas
Letzte Änderung: 2010-04-14 17:20


Kernelmodul

Teile des Linux-Kernels müssen nicht statisch in den Kernel kompiliert werden, sondern können erst zur Laufzeit "nachgeladen" werden. Hier spricht man von Kernel-Modulen.

Verfasser: Andreas
Letzte Änderung: 2010-04-14 17:20


Key-Signing

Wie bei so vielen computertechnischen Themen kommt man auch beim Thema Verschlüsselung nicht an englischsprachigem Vokabular vorbei: Key === Schlüssel, to sign === unterschreiben, signieren.
Beim Key-Signing unterschreibt man den öffentlichen Schlüssel eine Gegenübers mit Hilfe seines eigenen privaten Keys und bezeugt damit, dass man sicher ist, dass Schlüsselinhaber und Schlüssel zusammengehören. Damit entsteht ein "Web of Trust", ein Vertrauensnetz. Ist der öffentliche Schlüssel einer Fremden von jemandem signiert, dem ich vertraue, werde ich in der Regel davon ausgehen können, dass sich diese Person ordentlich davon überzeugt hat, dass die Fremde und ihr Schlüssel zusammengehören. Somit kann ich auch den Schlüssel der Fremden als vertrauenswürdig einstufen.

Quelle: Linux Userr 6/2003

Verfasser: Andreas
Letzte Änderung: 2010-04-14 17:21


Keylogger

Ein Keylogger ist ein Programm oder Gerät, das alle Tastenanschläge mitliest und somit Passwörter und andere sensible Daten preisgibt.

Quelle: Linux User 02/03

Verfasser: Andreas
Letzte Änderung: 2010-04-14 17:21


Keystone-Korrektur

- kann man ein trapezförmiges Bild in ein rechteckiges wandeln. Die Trapezform entsteht meist durch einen zu nah am Boden positionierten Beamer oder durch eine zu schräge Position des Projektors.

Quelle: PCgo 7/04, Seite 71

Verfasser: Andreas
Letzte Änderung: 2010-04-14 17:22


kompilieren

Das Übersetzen von Quellcode in Instruktionen, die von der CPU verstanden werden.

Übersetzen von Quelltext in lauffähigen Code.

Verfasser: Andreas
Letzte Änderung: 2010-04-14 17:23


Kontext-Menü

Ein Menü, das sich öffnet, wenn man mit der rechten Maustaste auf einen Eintrag in einer grafischen Oberfläche klickt. Es bietet Optionen an, die nur im Zusammenhang (Kontext) mit diesem sinnvoll sind.

Verfasser: Andreas
Letzte Änderung: 2010-04-14 17:23


LAN - Local Area Network

bezeichnet ein Netzwerk aus unmittelbar benachbarten Computern, die meist über einfache Kabel (aber z.B.: auch drahtlos über WaveLAN) miteinander verbunden sind. Wichtigster unterschied zu anderen Netzen ist wohl, dass hierbei noch keine bezahlte Fernleitung, z.B.: über Modem, ISDN oder DSL, im Spiel ist. Das Gegenteil von LAN wird als WAN oder "Wide Area Network" bezeichnet.

Verfasser: Andreas
Letzte Änderung: 2010-04-14 17:24


LAN - Sniffing

abfangen & analysieren der Datenpakete in einem Netzwerk

Quelle: WCM 184, Feb. 2003

Verfasser: Andreas
Letzte Änderung: 2010-04-14 17:25


LANG

Diese Umgebungsvariable -so gesetzt- fordert Programme auf, eine bestimmte Sprache zu sprechen. Das funktioniert natürlich nur, wenn sie Software entsprechende Übersetzungen mitbringt. Die Standard-Einstellung der Benutzersitzung kann mit dem Befehl "echo $LANG" ausgegeben werden.

Quelle: Linux User 5/2003

Verfasser: Andreas
Letzte Änderung: 2010-04-14 17:26


LEAP

Lightweight EAP, EAP-Variante von Cisco Systems

Verfasser: Andreas
Letzte Änderung: 2010-04-14 17:27


Lens Shift

Mithilfe einer Lens-Shift-Funktion kann die Linse manuell verstellt werden. Dadurch ist eine leicht schräge Positionierung des Beamers ohne Trapezeffekt möglich.

Quelle: PCgo 7/04, Seite 71

Verfasser: Andreas
Letzte Änderung: 2010-04-14 17:27


Link - symbolischer

Ein symbolischer Link ist eine Verknüpfung auf eine Datei, die, wenn er angesprochen wird, alle Dateibefehle an die velinkte Zieldatei weiterleitet.

Verfasser: Andreas
Letzte Änderung: 2010-04-14 17:28


Linux

Linux ist ein frei verfügbares Multitasking und Multiuser Bertriebssystem.

Verfasser: Andreas
Letzte Änderung: 2010-04-14 17:29


Live CD

Eine CD, von der ein Betriebssystem gebootet werden kann.

Verfasser: Andreas
Letzte Änderung: 2010-04-14 17:29


LMS - Lern-Management-Systeme

LMS - Lern-Management-Systeme

Verfasser: Andreas
Letzte Änderung: 2010-04-14 17:30


Local Master Browser

Der Local Master Browser besitzt grundsätzlich die Suchliste eines Teilnetzes.

Quelle: Linux Magazin 02/03

Verfasser: Andreas
Letzte Änderung: 2010-04-14 17:30


Local part

Ein Teil einer E-Mail-Adresse, der links neben dem @-Zeichensteht. Klassischerweise war dies der Username der Benutzerin auf dem Mail-System. Heute bedeutet es lediglich, dass dieser Teil lokal, also innerhalb des entsprechenden Rechners oder der jeweiligen Domain (dem Teil, der rechts vom @-Ziechensteht) eindeutig sein muss.

Quelle: Linux user 6/2003

Verfasser: Andreas
Letzte Änderung: 2010-04-14 17:35


locale

Umgebungsvariablen, über die dem System mitgeteilt wird, welche Sprache es benutzen soll.

Verfasser: Andreas
Letzte Änderung: 2010-04-14 17:31


Locale-Variablen

Diese Variablen legen fest, ob die Ausgabe von Programmen regionalen Besonderheiten folgen soll. Sie bestimmen die Sprache der Systemmeldungen, den zur Anzeige zu verwendenden Zeichensatz, das Format für Datum und Uhrzeit, Zahlen und Geld. Programme müssen in der Lage sein, auf die entsprechenden Einstellungen zu reagieren, um in unterschiedlichen Ländern und Regionen eingesetzt werden können.

Quelle: Linux User 01/03

Verfasser: Andreas
Letzte Änderung: 2010-04-14 17:32


Locales

Linux unterstützt verschiedene Ausgabesprachen für Programm- und Systemmeldungen, Datums- oder Währungsangaben. Die Namen aller auf ihrem System installierten Lokalisierungen (engl.: locales) nennt Ihnen das "local"-Kommando: "locale -a".

Quelle: Linux User 6/2003

Verfasser: Andreas
Letzte Änderung: 2010-04-14 17:32


Login Manager

Diese auch unter dem Namen "Display Manager" bekannten Programme offerieren dem Benutzer eine grafische Anmeldemaske. Neben der Anmeldung bieten Login Manager oft auch noch weitere Funktionen wie z.B. die Möglichkeit, den Rechner neu zu starten oder herunterzufahren.

Quelle: Linux User 4/2003

Verfasser: Andreas
Letzte Änderung: 2010-04-14 17:33


Loop Device

Ein virtuelles Gerät, das es bei entsprechender Verknüpfung mit einer Datei erlaubt, in diese ein eigenes Dateisystem anzulegen und wie ein Filesystem auf einem physikalischen Datenträger zu behandeln. Mit seiner Hilfe kann man zum Beispiel eine CD-Image-Datei wie eine Diskette oder Festplattenpatition mounten und ihren Inhalt einsehen.

Quelle: Linux User 7/2003

Verfasser: Andreas
Letzte Änderung: 2010-04-14 17:33


lpd

line printer daemon - der Urvater aller Druckerserver unter UNIX.

Verfasser: Andreas
Letzte Änderung: 2010-04-14 17:34


MAC

Media Access Control: "normalerweise" weltweit eindeutige Adresse auf der Netzwerkkarte, die vom Hersteller vergeben wird.

Quelle: WCM 184, Feb. 2003

Medienzugriff und Frame Kontrolle

Quelle: Ct 2005, Heft 21, Seite 162

Verfasser: Andreas
Letzte Änderung: 2010-04-19 17:37


magicfilter

magicfilter ist ein generischer Inputfilter für ein Drucksystem.

Verfasser: Andreas
Letzte Änderung: 2010-04-19 17:37


main

alle Pakete aus diese Kategorie dürfen frei verteilt werden; der Quellcode liegt vor. Main umfasst der Haupteil der Debian-Distribution.

Quelle: Linux User 01/03

Verfasser: Andreas
Letzte Änderung: 2010-04-19 17:38


Makefile

findet "make" im aktuellen Verzeichnis eine Datei namens "makefile" oder "Makefile" vor, führt es die darin aufgeführten Kommandos entsprechend den dort festgelegten regeln aus. Das Makefile legt auch fest, welche Argumente ("Targets") "make" in diesem Fall kennt (z.B.: "install", "deinstall" oder "clean").

Quelle: Linux User 02/03

Verfasser: Andreas
Letzte Änderung: 2010-04-19 17:38


Master Browser

Eine Abkürzung für Local Master Browser.

Quelle: Linux Magazin 02/03

Verfasser: Andreas
Letzte Änderung: 2010-04-19 17:39


MBMS - Multimedia Broadcast and Multicast Service

ist seit 2004 ein vom 3GPP 2004 spezifiziertes System zum Audio/Video-Streaming in UMTS-Netzen. Als Individualkommunikationssystem ist UMTS bisher für Broadcast Anwendungen nicht geeignet - Schätzungen zufolge könnten etwa ein Dutzend Teilnehmer in einer Mobilfunkzelle Streaming Dienste gleichzeitig nutzen, und das Kernnetz wäre schnell überlastet, wenn für den A/V-Datenstrom jedes Nutzers in Punkt-zu-Punkt-Kanal geschaltet werden müsste. Die MBMS-Erweiterung ordnet daher die Datenströme nicht einzelnen Benutzern zu, sondern aggregiert sie in Kanäle (ein Datenstrom pro Kanal), die dann in jeder Zelle über ein zusätzliches MBMS-Funkkanal ausgestrahlt werden. Derzeit kann diese Technologie mit einem 5 MHz breiten Träger bis zu 16 Kanäle zu je 64 kBit/s verbreiten. Erweiterungen auf 256 kBit/s und darüber hinaus sind in Verbindung mit dem "High Speed Downlink Packet Access"-Upgrade (HSDPA) von UMTS angestrebt.

Quelle: Ct 2005, Heft 21, Seite 100

Verfasser: Andreas
Letzte Änderung: 2010-04-19 17:40


Mbps

Das ist die Abkürzung für

Megabit pro Sekunde.

Damit wird die Geschwindigkeit einer Datenübertragung angegeben. 1 Bit ist die kleinste Informationseinheit. 1024 Bit sind 1 Kilobit. 1024 Kilobit sind 1 Megabit.

Quelle: Computer Bild 10/2006, Seite 20

Verfasser: Andreas
Letzte Änderung: 2010-04-19 17:40


MBR

Master Boot Record - der Bereich der Festplatte, der beim Einschalten des PCs als Erstes gelesen wird, um das Betriebssystem zu laden.

Die ersten 512 Byte (also der erste Sektor) jeder Festplatte enthalten immer eine Tabelle aller vorhandenen Partitionen sowie meist Code, der diese Partitionstabelle liest. Findet das System auf der Festplatte eine aktive Partition, lädt es als Nächstes deren Bootsektor. Statt dieses Standardcodes kann der MBR aber auch anderen Code enthalten z.B. eine Bootmanager.

Verfasser: Andreas
Letzte Änderung: 2010-04-19 17:41


MCH - Intels Memory Controller Hub

MCH - Intels Memory Controller Hub

Verfasser: Andreas
Letzte Änderung: 2010-04-19 17:41


mDNS - Multicast-DNS-Responder

mDNS - Multicast-DNS-Responder

Verfasser: Andreas
Letzte Änderung: 2010-04-19 17:42


Mime-Typen

Mime steht für Multipurpose Internet Mail Extension. Die Spezifikation galt ursprünglich für E-Mails mit Attachments.
Solche so genannten Multipart-Mails enthalten die gesamten zu übertragenden Daten in einer Datei. Innerhalb der Datei musste eine Konvention gefunden werden, um die einzelnen Teile (z.B. Text der Mail und angehängtes Archiv) voneinander zu trennen. Deshalb wurde eine Schema entwickelt, das der Software mitteilt, um welchen Datentyp es sich jeweils handelt.

Quelle: Linux User 3/2003

Verfasser: Andreas
Letzte Änderung: 2010-04-19 17:42


Mirror

Werden Daten via ftp zur Verfügung gestellt, werden diese oft auf anderen Servern gespiegelt (gemirrored) um die Last auf viele Server zu verteilen. Man spricht dann von Mirror-Servern.

Verfasser: Andreas
Letzte Änderung: 2010-04-19 17:43


mounten

Unter Linux werden Festplatten, Disketten, Cds, und ähnliches durch den Befehl mount in das Dateisystem eingehängt. Das Programm automount macht das, was der Name schon sagt: Es hängt Disketten oder CDs automatisch ins Dateisystem ein. Für Umsteiger von Windows sicher eine kleine Annehmlichkeit, weil kein manuelles Mounten nötig ist.

Quelle: Linux User 3/2003

Verfasser: Andreas
Letzte Änderung: 2010-04-19 17:44


Mountpoint

Als Mountpoint bezeichnet man den Pfad, an dem ein Dateisystem "eingehängt" wird. Nach dem Mounten wird dann der Inhalt des Dateisystems als Teil des (als Mountpoint gewählten) Verzeichnisses angezeigt - alle bestehenden Daten im Verzeichnis werden dabei überdeckt.

Verfasser: Andreas
Letzte Änderung: 2010-04-19 17:45


MRP II

MRP steht für das "Swedish National Board for Measurement and Testing", auf schwedisch "Mät- och Provingsradet". Inzwischen wurde die Behörde umbenannt in "Swedish Board for Accrditation and Conformity Assessment" (SWEDAC).
Die staalich schwedische Behörde für Messungen und Prüfungen veröffentlichte eine Vielzahl von Normen zur Bestimmung von elektromagentischen Feldern.

Die MPR-II-Richtlinie legt die Methode zur Messung elektrischer und magnetischer Felder von Röhrenmonitoren fest und enthält empfohlene Richtwerte. Diese Richtwerte werden in einem Abstand von 50 cm vom Monitor aus gemessen. Die Richtlinie MPR II ist bereits seit Dezember 1990 in Kraft. Die Einführung anderer Monitor spezifischer Prüfzeichen wie TCO, ISO 9241, TÜV-Ergo, TÜV-Eco-Kreis oder Blauer Engel ist die MPR-II-Richtlinie in diesen aufgegangen und wurde inzwischen weiter entwickelt.

Quelle: ct 14/2003

Verfasser: Andreas
Letzte Änderung: 2010-04-19 17:45


MTA - Mail Transfer Agent

also das Programm, welches sich um die Weiterleitung der E-Mails kümmert, salopp auch Mailserver genannt. Zu den populärsten Vertretern dieser Gattung zählen Postfix, Sendmail und Exim.

Verfasser: Andreas
Letzte Änderung: 2010-04-19 17:46


NAS - Network Access Server

agiert als Torwächter

Verfasser: Andreas
Letzte Änderung: 2010-04-19 17:47


NAT - Network Address Translation

ist ein Verfahren zur Abschottung des LANs gegenüber dem Internet. Dabei wird zum Internet hin immer nur eine Adresse gemeldet, unabhängig von der tatsächlichen IP-Adresse im LAN. NAT übernimmt dabei die Verteilung der IP-Pakete andie richtigen Empfänger.

Verfasser: Andreas
Letzte Änderung: 2010-04-19 17:47


NBF - NetBIOS Frame Protocol

Das Transportprotokoll der ersten NetBIOS-Implementation. Wurde etwa 1985 von NetBEUI abgelöst, manchmal als NetBIOS-Protokoll bezeichnet, was nicht ganz korrekt ist.

Quelle: Linux Magazin 02/03

Verfasser: Andreas
Letzte Änderung: 2010-04-19 17:48


NBNS - NetBIOS Name Server

Ein Server, der eine Zuordnungstabelle von NetBIOS-Namen zur IP-Adressen verwaltet. Er ist nur in gerouteten SMB-Netzwerken erforderlich, die TCP/IP als Transportprotokoll einsetzen.

Quelle: Linux Magazin 02/03

Verfasser: Andreas
Letzte Änderung: 2010-04-19 17:48


Ncurses

Eine Bibliothek von Befehlen, die eine "grafische" Oberfläche im Textmodus zur Verfügung stellen.

Verfasser: Andreas
Letzte Änderung: 2010-04-19 17:49


NetBEUI - NetBIOS Extended User Interface

Dabei handelt es sich um ein einfaches, selbst konfigurierendes, nicht routbares Protokoll, das sowohl im Ethernet also auch in Token-Ring-Netzwerken funktioniert.

Quelle: Linux Magazin 02/03

Verfasser: Andreas
Letzte Änderung: 2010-04-19 17:50


NetBIOS - Netword Basic Input Output System

Eine Software Schnittstelle für netzwerkfähige Anwendungen. Enthielt früher das Transportprotokoll NBF.

Quelle: Linux Magazin 02/03

Verfasser: Andreas
Letzte Änderung: 2010-04-19 17:50


NetBT - NetBIOS über TCP/IP

Wird auch als NBT bezeichnet.

Quelle: Linux Magazin 02/03

Verfasser: Andreas
Letzte Änderung: 2010-04-19 17:51


Netzwerkmaske

Gibt an, welche Stellen einer IP-Adresse das Netzwerk und welche den Rechner spezifizieren. Zu diesem Zweck rechnet man die vier Stellen der IP-Nummer und der Netzwerkmaske ins binäre Zahlensystem um:
255=2^7+2^6+2^5+2^4+2^4+2^3+2^2+2^1+2^0 = 11111111(binär); 255.255.255.0 entspricht daher 11111111.11111111.11111111.00000000.
Alle Stellen, an denen die binäre Netmask eine 1 zeigt, bilden in einer zum Netz gehörenden IP-Adresse die Netzwerkkennung, die mit Nullen aufgefüllten Stellen rechts daneben die Rechnerkennung. Damit ist 192.168.1. im Beispiel der Netzwerkanteil an der IP-Adresse und die Adressen 192.168.11 bis 192.168.1.254 können an Rechner des Netzes vergeben werden. (192.168.1.0 dient per Default als Netzwerkadresse, 192.168.1.255 als sogenannte Broadcast-Adresse; beide stehen daher nicht zum Verteilen zur Verfügung.)

Verfasser: Andreas
Letzte Änderung: 2010-04-19 17:52


NIS Network Information System

Ein NIS-Server verteilt Konfigurationseinstellungen an angeschlossene Clients, zum Beispiel die User-Daten in Form einer Passwortdatei oder die Konfigurationsdateien für den Automounter, der Netzlaufwerke bei Bedarf einhängt. Die Datei /etc/nsswitch.conf legt fest, welche Datenquelle (lokale Dateien, NIS) ein Rechner anzapft.

Quelle: Linux User 7/2003

Verfasser: Andreas
Letzte Änderung: 2010-04-19 17:52


non-free

Die Verwendung nicht-freier Pakete kann an bestimmte Bedingungen gebunden sein, zum Beispiel erlaubt der Autor einer Software die freie Verteilung auf CDs nicht oder bittet in irgendeiner Form um Bezahlung.

Quelle: Linux User 01/03

Verfasser: Andreas
Letzte Änderung: 2010-04-19 17:53


non-US

Der Name dieser Kategorie bezieht sich nicht auf die Sprache, sondern auf den Export der Software aus den USA. Wenn dieser verboten oder Einschränkungen unterworfen ist (in der Regel weil sie wie SSH oder PGP starke Verschlüsselung benutzt), liegt sie auf separaten (etwa europäischen) Servern zum Download bereit.

Quelle: Linux User 01/03

Verfasser: Andreas
Letzte Änderung: 2010-04-19 17:53


Northbridge

Kontrolliert die Kommunikation zwischen Prozessor und RAM. Beherbergt den AGP Controller.

Verfasser: Andreas
Letzte Änderung: 2010-04-19 17:54


S/PDIF

Sony/Philips Digital Interface - Schnittstelle um Sound digital aus oder in den Rechner zu bringen. Wird auch in der HIFI-Welt verwendet.

Verfasser: Andreas
Letzte Änderung: 2010-04-19 17:55


SATA

Serial ATA - Nachfolger der parallelen Festplattenanbindung. Dank dünner Kabel deutlich einfacher anzuschließen. SATA Festplatten sind aber noch nicht im Handel erhältlich.

Verfasser: Andreas
Letzte Änderung: 2010-04-19 17:56


Schlüsselworte

Die reservierten Wörter einer Programmiersprache, die ein essentieller Teil einer Sprachdefinition sind und eine besondere Bedeutung haben. Sie können nicht für andere Zwecke (z.B. als Bezeichner für Variablen) verwendet werden.

Quelle: Linux User 4/2003

Verfasser: Andreas
Letzte Änderung: 2010-04-19 17:56


Scoring

Abgestuftes Bewertungssystem für E-Mails. Die Mails erhalten dabei Punktzahlen(Scores) nach frei definierbaren Bewertungskriterien. Aus den Plus- und Minuspunkten errechnet sich die Gesamtzahl. Diese entscheidet, od die E-Mail in exportierter Form (hoher Score) oder gar nicht (Kill-Score) angezeigt wird.

Quelle: Linux User 3/2003

Verfasser: Andreas
Letzte Änderung: 2010-04-19 17:57


Secondary Nameserver

bezieht seine DNS-Informationen vom Primary Nameserver, der die entsprechende Domain verwaltet. Oft holt er sich bereits beim Start eine vollständige Kopie dieser Daten. Dass die DNS-Auskünfte, die ein solcher Nameserver erteilt, zeitweise nicht mit den vom Primary Nameserver verbreiteten Daten übereinstimmt, wird in Kauf genommen.

Quelle: Linux User 7/2003

Verfasser: Andreas
Letzte Änderung: 2010-04-26 16:42


sendmail

Der am weitesten verbreitete Mail-Server.

Verfasser: Andreas
Letzte Änderung: 2010-04-26 16:43


Sessionmanagement

Mechanismus der es einem ermöglicht nach einem Reeboot des Rechners eine alte --> Session wieder aufzunehmen.

Verfasser: Andreas
Letzte Änderung: 2010-04-26 16:43


Shell

Ein Kommandointerpreter.
Ein solcher wird z.B. bei der Anmeldung am System gestartet ("Login Shell") und nimmt die vom Benutzer eingegebenen Kommandos entgegen ("interaktive Shell"). Shells haben in der Regel Programmiersprachenelemente (Variablen, Schleifen, konditionale Abfragen etc.) eingebaut, so dass man Anweisungen zu Shell-Programmen, den Shell-Skripten, zusammensetzen und diese ausführen lassen kann.

Quelle: Linux User 3/2003

Verfasser: Andreas
Letzte Änderung: 2010-04-26 16:44


Shell-Skript

Eine Datei mit Shell-Kommandos, die automatisch abgearbeitet werden. Häufig wiederkehrende Arbeitsschritte lassen sich durch Shell-Skripte gut automatisieren.

Quelle: Linux User 01/03

Verfasser: Andreas
Letzte Änderung: 2010-04-26 16:44


Single-User-Modus

Der in Runlevel 1 definierte Rettungsmodus, in dem es weder grafische Oberfläche, noch Netzwerk, noch die Möglichkeit gibt, sich als unpriviligierter User einzuloggen. root benutzt ihn, um das System von der Konsole aus zu reparieren.

Quelle: Linux User 7/2003

Verfasser: Andreas
Letzte Änderung: 2010-04-26 16:45


Sloppy Focus

Bei dieser Variante des Fenster-Managements reagiert ein Fenster auf Eingaben, sobald sich der Maus-Cursor über ihm befindet. Handelt es sich dabei nicht um das oberste Fenster von mehreren überlappenden, bleibt es aber weiterhin im Hintergrund.

Quelle: Linux User 01/03

Verfasser: Andreas
Letzte Änderung: 2010-04-26 16:46


Smarthost

Ein (meist von einem Internet Service Provider betriebener) entfernter Mailserver, der wie ein Briefkasten ausgehende Mails von Rechnern annimmt, die selbst keinen (oder keinen ständig am Internet lauschenden) Mailserver installiert haben, und diese dann an die für die Empfänger-Domains zuständigen Mailserver (Mail Exchangeer, MX) weiterleitet.

Verfasser: Andreas
Letzte Änderung: 2010-04-26 16:47


Speichertimings

(2-2-2/2,5-2-2/2,5-3-3)
Bei verschiedenen Arbeitsspeicher Modulen gibt es unterschiedliche Geschwindigkeiten. DDR266 2-2-2 Speicher ist zum Beispiel fast gleich schnell wie DDR333 2,5-3-3 Speicher. Niedrigere Timings sind immer schneller.

Verfasser: Andreas
Letzte Änderung: 2010-04-26 16:47


strace

Stellt man einem Programablauf den Befehl strace voran, protokolliert dieser alle Systemaufrufe und Signale auf die Standardausgabe. Man kann so u.a. die Lese- und Schreibzugriffe eines Programms nachvollziehen.

Quelle: Linux User 4/2003

Verfasser: Andreas
Letzte Änderung: 2010-04-26 16:48


strip

Dieser Befehl entfernt Symbole aus Binärdateien und verkleinert sie dadurch. Normalerweise helfen dies Programmierern, Probleme in der Software zu finden. Um die Symbole einer ungestrippten Binärdatei aufzulisten, verwendet man den Befehl nm. Man sieht in der Ausgabe z.B. welche Funktionen eine Bibliothek bereitstellt. Entfernt mand ie Symbole aus Binärdateien, verringert das deren Größe erheblich, weshalb fast alle Distributoren ausschließlich gestrippte Programme und Bibliotheken ausliefern.

Quelle: Linux User 7/2003

Verfasser: Andreas
Letzte Änderung: 2010-04-26 16:49


Suchmuster

Allgemein bestehen diese aus zwei Komponenten: der Angabe, nach welchem Zeichen gesucht wird, und der Angabe, wie oft die gesuchten Zeichen auftreten dürfen. Zusammen mit rsync gibt es eine ganze Reihe von komplizierten Zeichenkombinationen, denen in der Manpage etliche Abschnitte gewidmet werden. Mit den gängigen Wildcards können Sie aber schon die meisten Dinge abdecken.

Quellen: Linux User 02/03

Verfasser: Andreas
Letzte Änderung: 2010-04-26 16:49


sudo

Mit diesem Tool erlaubt der Sysadmin einzelnen Benutzern, bestimmte Programme mit root-Rechten auszuführen. Die Möglichkeiten dieser Methode gehen weit über die des bekannten SUID-Bits hinaus.

Quelle: Linux User 7/2003

Verfasser: Andreas
Letzte Änderung: 2010-04-26 16:50


Supersampling

Anti-Aliasing Methode. Hier wird das Bild je nach Grad in eine höhere Auflösung hochgerechnet, dann die Farbwerte der Nachbarpixel jeweils verglichen und der Mittelwert gebildet. Anschließend wird das Bild wieder zurückgerechnet. Das Ergebnis sind weichere Übergänge an Kanten. Nachteil: besonders Rechenintensiv und kostet somit Framerate.

Verfasser: Andreas
Letzte Änderung: 2010-04-26 16:50


SVG - Scalable Vector Graphics

Bei Bildern im SVG-Format handelt es sich im Unterschied zu den derzeit vorwiegend verbreiteten GIFs oder JEPGs um Vektorgrafiken. Vektorgrafische Formate beschreiben nicht, welche Farbanteile ein Pixel im Bild hat, sondern stattdessen Objekte. Diese können alle möglichen Formen und Farben annehmen und haben im Bild eine festgelegte Position sowie bestimmte Ausmaße, Farben und andrer Eigenschaften.
In der Bilddatei sthen nur die Objetbeschreibungen. Die anzuzeigende Grafik wird zur Laufzeit aus diesen Daten erzeugt. Das SVG-Format eignet sich damit vor allem für Web-Grafiken, da die Beschreibungsdaten für vektorgrafische Objekte in der Regel viel weniger Speicherplatz benötigen als pixelorientierte Bildformate. Gerade für Grafiken, die Symbole enthalten, Logos oder Cliparts stellt SVG eine sinnvolle Alternative zu GIF und Konsorten dar.
Die Entwicklung des W3-Konsortiums ist - genauso wie andere dort normierte Sprachen wie HTML, CSS, XML und auch PNG-plattformübergreifend, offen dokumentiert und frei verwendbar.

Verfasser: Andreas
Letzte Änderung: 2010-04-26 16:51


Symbolische Links

Ein Verweis auf eine andere Datei, der von Anwendungsprogrammen wie eben diese Datei behandelt wird. Wenn die Datei, auf die ein Symlink verweist, gelöscht wird, zeigt der Link ins Leere. Symlinks werden mit dem Kommando

"ln -s quelldatei zieldatei" erzeugt.

Dateirechte: Dateien haben neben einem Eigentümer und der Zugehörigkeit zu einer Gruppe bestimmter Rechte:
Das "r" steht für Leseerlaubnis ("read"), "w" für Schreiberechtigung ("write") und das "x" für die Erlaubnis, die Datei auxzuführen ("executable"). Die ersten drei Zeichen gehören zum Dateieigentümer, die zweite drei zur Gruppe und die letzte Dreiergruppe gehört zu allen übrigen Benutzen des Systems. Je nachdem welcher Buchstabe dort erscheint, darf das File entsprechend gelesen, geschrieben oder ausgeführt werden.

Quellen: Linux User 02/03

Verfasser: Andreas
Letzte Änderung: 2010-04-26 16:52


Syntax-Highlighting

Meist farbiges Hervorheben bestimmter Sprachelemente in einem Quelltext oder einer Konfigurationsdatei.

Quelle: Linux User 01/03

Verfasser: Andreas
Letzte Änderung: 2010-04-26 16:52


System Load

Der auch als Systemlast bezeichnete Wert berechnet sich aus der Anzahl der Prozesse, die innerhalb eines bestimmten Intervalls entweder auf die CPU oder die Festplatte warten mussten.
Richtwert: Auf Desktop-Systemen liegt der System Load bei normaler Anwendertätigkeit meistens unter 2.

Quelle: Linux User 5/2003

Verfasser: Andreas
Letzte Änderung: 2010-04-26 16:53


tar.bz2-Archiv

Mit dem Programm tar erstellte und mit bzip2 komprimierte Datei, die mehrere Dateien zusammengepackt enthält.

Quelle: Linux User 3/2003

Verfasser: Andreas
Letzte Änderung: 2010-04-26 16:54


TCP Transport Control Protocol

Datenstromorientierte Protokoll

dient zur Datenübertragung. Vor dem Verschicken werden die Daten dabei in kleine Pakete unterteilt, über die Sender und Empfänger vor dem eigentlichen Transfer Informationen austauschen. TCP sorgt für eine Empfangsbestätigung für jedes Paket und sorgt für die richtige Einsortierung. So lassen sich Übertragungsfehler korrigieren.

Der Nachteil dieses zuverlässigen Protokolls:
Es ist ineffizient für kleine Datenmengen. Die meisten Internet-Protokolle basieren auf TCP.

Quelle: Linux User 7/2003

Verfasser: Andreas
Letzte Änderung: 2010-04-26 16:54


Terminal Emulation

Befehle an die Großrechner vergangener Tage setzen die Benutzer von separaten Bildschirmarbeitsplätze, sogenannten (Text-)Terminals, ab. Programme, die ein solches Gerät (angepasst an heutige Rechner und Betriebssysteme) emulieren ("nachahmen"), haben diesen Namen geerbt.
Unter Linux versteht man unter Terminal-Emulation die Darstellung auf den virtuellen Konsolen im VGA-Textmodus oder separate Software für das X-Window-System, die (wie xterm, Eterm, aterm, konsole oder gnome-terminal) eine Kommandozeile bereitstellt.

Verfasser: Andreas
Letzte Änderung: 2010-04-26 16:55


Terminalemulation

Dient dazu, unter einer grafischen Benutzeroberfläche Programme zu verwenden, die eigentilich für die Kommandozeile gedacht sind. Dazu bietet die Terminalemulation (unter KDE Konsole, ansonsten z.B. xterm) eine Kommandozeile, über die diese Programme gestartet werden.

Quelle: Linux User 7/2003

Verfasser: Andreas
Letzte Änderung: 2010-04-26 16:55


Textkonsole

Einer der Textbildschirme, zwischen denen man untern Linux mit der Tastenkombination

[Alt-Fx] umschaltet, wobei [Fx] für eine der Funktionstasten (meistens [F1] bis [F6]) steht.

Quelle: Linux User 3/2003

Verfasser: Andreas
Letzte Änderung: 2010-04-26 16:56


TFT - Thin Film Transistor (Dünnschichttransistor)

Bie diesen Geräten liegt die Ansteuerungselektronik direkt neben den Bildpunkten. Wegen der kurzen Verbindungen ist das Bild sehr scharf und hat einen hohen Kontrast.

 Quelle: Computer Bild 10/2006, Seite 10

 



Verfasser: Andreas
Letzte Änderung: 2010-04-26 16:58


Thread

Ein "Faden" von Mails oder News, die sich aufeinander beziehen. Die Thread-Ansicht eines MUAs stellt diese inhaltlich statt zeitlich zusammenhängend in einer Baumansicht dar.

Quelle: Linux User 3/2003

Verfasser: Andreas
Letzte Änderung: 2010-04-26 16:59


Timestamps

Die Linux-Dateisysteme speichern eine Vielzahl von Dateiinformationen ab, z.B.: die Zeitpunkte ("Zeitstempel"), die seit dem letzten Dateizugriff (atime), der letzten Statusänderung (ctime) oder der letzten Dateiinhaltsänderung (mtime) vergangen sind.

Quelle: Linux User 02/03

Verfasser: Andreas
Letzte Änderung: 2010-04-26 16:59


Transaktion

Eine Gruppe logisch zusammenhängender SQL-Anweisungen, die nur gemeinsam ausgeführt werden können. Wenn aus dieser Gruppe eine einzige Anweisung nicht korrekt abgewickelt werden kann, muss das DBMS auch alle anderen verwerfen.
Ein Beispiel:
Ein Mitarbeiter wechselt von einer Kostenstelle zu einer anderen. In Tabelle "Kostenstelle A" wird er gelöscht und soll in Tabelle "Kostenstelle B" eingfügt werden. Passiert nach dem löschen und vor dem Wiedereinfügen eine Havarie, die zu zwei Tagen Rechnerausfall führt, bekommt der arme Mitarbeiter bei einer Datenbank, der der Transaktionsmechanismus fehlt, für zwei Tage weniger Geld, weil er keiner Kostenstelle zuzuordnen ist.

Verfasser: Andreas
Letzte Änderung: 2010-04-26 17:00


Twisted Pair

Das Standardkabel für PC-Netzwerke ist vieradrig verdrillt und an beiden Seiten mit einem Western-Stecker vesehen. Das Kabel ist unempfindlich gegenüber Störungen. Twisted-Pair (auf Deutsch: verdrilltes Kabelpaar) gibts in mehreren Kategorien, für Übertragungsarten mit 100 MBit/s eignet sich der Kabelkategorie 5.

Verfasser: Andreas
Letzte Änderung: 2010-04-26 17:01


~ Tilde

Die Tilde steht in Pfadangaben für das Home-Verzeichnis des Benutzers unter Linux. Außer den Konfigurationsdateien der genutzten Anwendungen speichern die Anwender dort ihre privaten Dateien.

Quelle: Linux User 3/2003, 6/2003

Verfasser: Andreas
Letzte Änderung: 2010-04-26 17:01


UDP User Datagram Protocol

paketorientierte Protokoll

ist effizienter, aber unzuverlässiger als TCP. Ob Pakete beim Empfänger ankommen, überprüft es nicht. Als Alternative zu TCP kommt es beispielsweise beim Audio-Streaming zum Einsatz. Wenn Pakete unterwegs verloren gehen, wird die Übertragung einfach fortgesetzt.

Quelle: Linux User 7/2003

Verfasser: Andreas
Letzte Änderung: 2010-04-26 17:02


Umgebungsvariable

Die Shell stellt dem Benutzer Speicherplatz bereit, um bestimmte Informationen aufzubewahren und Programmen zugänglich zu machen. Diese Umgebungsvariablen (enviroment variables) bestehen jeweils aus dem Namen und dem zugeordneten Wert. Für die Linux-Standard-Shell bash setzen Sie diese mit export, für die csh mit dem Befehl setenv.

Quelle: Linux User 02/03

Verfasser: Andreas
Letzte Änderung: 2010-04-26 17:02


UMTS - Universal Mobile Telecomunications Service

ist eine Mobilfunktechnik, mit der sich große Datenmengen schnell übertragen lassen. So sine etwas Videotelefonate möglich. Für UMTS braucht man ein spezielles Handy.

Quelle: Computer Bild 10/2006, Seite 20

Verfasser: Andreas
Letzte Änderung: 2010-04-26 17:03


USB - Universal Serial Bus

Gibt es in zwei Varianten USB 1.1 (11Mbit) reicht zum Anschluss von Mäusen, Tastaturen, Webcams, während USB 2.0 (480MBit) auch für Festplatten, Videoübertragung und CD-Brenner schnell genug ist.

Die meisten Geräte lassen sich meist vollautomatisch konfigurieren.
Der USB-Standard schreibt sogar vor, dass für die Treiberinstallation keine Benutzerinteraktion erfolgen darf! Das funktioniert unter Linux nicht immer, aber anderswo auch nicht....

USB 2.0: Nur Hi-Speed" garantiert Ihnen schnelle Datenübertragungsraten bis maximal 60 MB/s

 USB 3.0 steigert mit bis zu 5 GBit/s (625 MB/s) die theoretische maximale Datentransferrate gegenüber einer USB 2.0-Verbindung um mehr als das 10fache. Auch ein Energiesparmodus ist vorgesehen, der inaktive Geräte schlafen schickt. Die neue Anschlusstechnik ist zwar kompatibel zu den Vorgängern USB 2.0 udn USB 1.1. Allerdings wurde nur der Steckertyp A unverändert übernommen, während MIcro-USB und Typ-B-Stecker nicht mehr passen.

 Quelle: PC-Welt 9/2010 Seite 10

Verfasser: Andreas
Letzte Änderung: 2010-10-26 10:14


UTF

ist ein Unicode-Zeichensatz, der einen größeren Zeichenvorrat als der bisher übliche ANSI-Zeichensatz enthält, welcher nur 256 Zeichen zuließ.

Quelle: Linux User 6/2003

Verfasser: Andreas
Letzte Änderung: 2010-04-26 17:04


UTF - 8

Will man in Dokumente Sonderzeichen wie z.B. deutsche Umlaute darstellen, reicht 7 Bit ASCII nicht aus, und man muss eine Zeichensatzcodierung wählen, die deutsche Umlaute enthält etwa ISO-8859-1. Für kyrillische Sprachen ist wiederum eine andere Kodierung nötig. Die Unicode-Kodierung UTF-8 räumt mit diesem Chaos auf, da sie nahezu alle auf der Welt verwendete Alphabete umfasst.

Quelle: Linux User 4/2003

Verfasser: Andreas
Letzte Änderung: 2010-04-26 17:04


Webbug

Als IMG-Tags integrierte Links auf externe Grafiken in HTML-Dokumenten, die wenn sie geladen werden, dem Verantwortlichen dieser Seite zeigen, dass und von wem das Dokument gelesen wird.

Quelle: Linux User 3/2003

Verfasser: Andreas
Letzte Änderung: 2010-04-26 17:05


WEP - Wired Equivalent Privacy

bedeutet soviel wie "Draht-ähnliche Vertraulichkeit". Das Verschlüsselungsverfahren sollte eine ähnliche Datensicherheit und -Vertraulichkeit garantieren wie eine herkömliche Ethernet-Verkabelung. WEP ist jedoch sehr anfällig für Angriffe, Schlüssellängen von 40 Bit respektive 104 Bit sind für versierte Cracker kein nennenswertes Hindernis.

Quelle: Linux User 5/2003

Verfasser: Andreas
Letzte Änderung: 2010-04-26 17:06


Wildcards

Sonderzeichen, die Teile von Zeichenketten unbestimmt lassen.
Ein Fragezeichen "?" in einer Zeichenkette lässt nur denjenigen Buchstaben diese Zeichenkette unbestimmt (z.B.: h?llo => hallo, hGllo, h7llo,...), an dem sich das Fragezeichen befindet, während ein Stern "*" für beliebig viele verschiedene Zeichen steht (z.B.: G*ss => Guss, Genuss).

Quelle: Linux User 02/03

Verfasser: Andreas
Letzte Änderung: 2010-04-26 17:06


WINS - Windows Internet Name Server

Die Microsoft Implementierung eines NetBIOS Name Servers.

Quelle: Linux Magazin 02/03

Verfasser: Andreas
Letzte Änderung: 2010-04-26 17:06


WLAN - Wireless LAN

ist die allgemeine Bezeichnung für ein drahtloses lokales Netzwerk auf Funkbasis. Die heute am häufigsten eingesetzte Technologie arbeitet nach dem Standard 802.11b und erlaubt Übertragungsraten von 11 MBit/s.

Verfasser: Andreas
Letzte Änderung: 2010-04-26 17:07


WLAN-Router

Ein Router schließt mehrere Computer zu einem Netzwerk zusammen. Diese können sie dann über einen Anschluss mit dem Internet verbinden. Mit Hilfe der WLAN-Funktechnik ist beides auch kabellos möglich.

Quelle: Computer Bild 10/2006, Seite 20

Verfasser: Andreas
Letzte Änderung: 2010-04-26 17:12


X-Terminal

Ein Programm, das auf einer grafischen Oberfläche die Möglichkeit bietet, Kommandozeilenbefehle abzusetzen. Unter KDE kommt meist das Tool "konsole" zum Einsatz, das Sie in der Werkzeugleiste über das Monitor Icon starten.

Verfasser: Andreas
Letzte Änderung: 2010-04-26 17:13


X-Terminal-Programm

Ein Eingabefenster für Kommandos. Ähnlich, wie Sie im Testmodus auf mehreren Konsolen arbeiten, können Sie unter X mehrere Terminal-Fenster öffnen. Beliebte Vertreter dieser Gattung sind rxvt, xterm und die etwas komfortableren Varianten aterm und eterm.

Quelle: Linux User 3/2003

Verfasser: Andreas
Letzte Änderung: 2010-04-26 17:13


X11

Das X Window System (X11) ist ein netzwerkfähiges Fenstersystem, das im allgemeinen unter dem Betriebssystem Unix eingesetzt wird.

Verfasser: Andreas
Letzte Änderung: 2010-04-26 17:13


xbase

Ein Datenbankformat, das ursprünglich von der Datenbank dBase verwendet wurde und unter DOS und Windows immer noch sehr weit verbreitet ist.

Verfasser: Andreas
Letzte Änderung: 2010-04-26 17:14


XFace

Eine Header Zeile, die von einigen MUAs als schwarz-weiße Grafik dargestellt werden kann. Um eine Grafik als XFace zu verweden, muss sie als 48x48 große .xbm-Datei vorliegen, die mit den Programmen des compface-Pakets in eine Header-Zeile umgewandelt wird.

Quelle: Linux User 3/2003

Verfasser: Andreas
Letzte Änderung: 2010-04-26 17:14


XFCE

Eine schlanke Desktop-Alternative zu KDE und GNOME, die ursprünglich an das kommerzielle CDE (Common Desktop Enviroment) angelehnt war.

Quelle: Linux User 4/2003

Verfasser: Andreas
Letzte Änderung: 2010-04-26 17:15


XLST - XSL Transformations

Damit XML-Dokumente dem Anwender ansprechend präsentiert werden können, ist es erforderlich, die Originaldaten das dafür notwendige Format zu wandeln. Als Teil der Stylesheets von XML dient XSLT genau diesem Zweck.

WCM 183 / Jänner 2003

Verfasser: Andreas
Letzte Änderung: 2010-04-26 17:15


XML - eXtensible Markup Language

Diese beschreibt eine Klasse von Datenobjekten, genannt XML-Dokumente, und teilweise das Verhalten von Computer-Programmen, die solche Dokumente verarbeiten. XML ist ein Anwendungsprofil (application profile) oder anders gesagt eine eingeschränkte bzw. vereinfachte Form von SGML, der Standard Generalized Markup Language (ISO 8879). So wie HTML über SGML definiert ist, kann man mit XML eigene Markup-Sprachen wie etwa HTML (siehe XHTML) definieren, die ihre eigenen Tags mit bestimmten logischen Bedeutungen haben.

WCM 183 / Jänner 2003

Verfasser: Andreas
Letzte Änderung: 2010-04-26 17:16


XOR (exklusives oder, +)

XOR ist eine Operation, die 0 ergibt, wenn beide Bits, auf die sie angewendet werden, den gleichen Wert besitzen. Bei unterschiedlichen Werten ist das Ergebnis 1. Beim Verschlüsseln mit XOR werden Klartext und Schlüssel einfach Bitweise verknüpft. Zum Entschlüsseln wiederholt man den selben Vorgang, da sich der Schlüssel mit sich selbst auslöscht (K+S+S=K). Diese Art der Verschlüsselung ist allerdings nur so lange sicher, wie der Schlüssel nicht wiederholt wird, also nur mit einem Schlüssel, der so lang ist wie die Nachricht selbst (siehe One-Time-Band)

Verfasser: Andreas
Letzte Änderung: 2010-04-26 17:17


XSD - XML Schema Definition

XML Schema ist, wie XML selbst, eine W3C Recommendation für eine XML basierte Alternative zu den DTDs und beschreibt wie eine DTD Struktur eines XML Dokuments. Im Unterschied zu DTDs kann man mit XML Schema die erlaubten Werte einfacher und genauer beschreiben (Datentypen wie Integer, String, ... sind vorhanden). Da XML-Schema auf XML basiert, kann man mit dieser mit den normalen XML-Tools bearbeiten und benötigt keine zusätzlichen Tools wie bei DTDs.

WCM 183 / Jänner 2003

Verfasser: Andreas
Letzte Änderung: 2010-04-26 17:17


$$

Shell Variable, die die aktuelle Prozessnummer enthält.

Verfasser: Andreas
Letzte Änderung: 2010-04-26 17:19


$Home

Kurzschreibweise für das Home-Verzeichnis eines Benutzers. Das Dollarzeichen sorgt dafür, dass der Inhalt der Umgebungsvariablen "Home" ausgelesen wird, die den Pfad zum jeweiligen Heimatverzeichnis enthält.

Verfasser: Andreas
Letzte Änderung: 2010-04-26 17:19


/etc/rc*.d

Für jdes mögliche Runlevel eines Linux-Systems gibt es ein extra Verzeichnis, in dem Verweise (Links) auf die "Init(ialisierungs)-Skripte" stehen, die Dienste starten oder anhalten. Für Runlevel 5 ist das beispielsweise des Verzeichnis

/etc/rc5.d; auch /etc/rc.d/rc5.d oder /etc/init.d/rc5.d

sind gebräuchlich.

Quelle: Linux User 7/2003

Verfasser: Andreas
Letzte Änderung: 2010-04-26 17:21


a.out

Ein altes Binärformat. Es wird nach und nach vom neuen ELF-Binärformat ersetzt. Einige alte Programme, insbesonders kommerzielle Software, benötigen jedoch noch die Unterstützung des Kernels für dieses Format.

PC Magazin, Nr. 9/97, S. 100

Verfasser: Andreas
Letzte Änderung: 2010-04-26 17:24


Alias - Namen

Durch Alias-Namen lassen sich lange Kommandos abkürzen. Zum Beispiel sind die mount-/umount-Befehle wesentlich handlicher, wenn ihnen ein Alias zugewiesen wird: alias diskmount mount -t msdos/dev/fd0/floppy. Analog: unalias.

PC Magazin, Nr. 9/97, S. 100

Verfasser: Andreas
Letzte Änderung: 2010-04-26 17:25


ELF

Die meisten Bibliotheken und Anwendungen liegen mittlerweile in diesem Binärformat vor. Kernel- Unterstützung für ELF ist also unbedingt zu empfehlen.

PC Magazin, Nr. 9/97, S. 100

Verfasser: Andreas
Letzte Änderung: 2010-04-26 17:25


Gerätedateien

Linux verwaltet Geräte als Dateien. Diese sind entweder blockorientert (zum Beispiel Festplatte) oder zeichenorientiert (zum Beispiel Drucker). Dadurch, daß Geräte als Dateien behandelt werden, können Sie viele Kommandos, die sich auf Dateien beziehen, auch auf Geräte verwenden. Beispiel: cat text.txt > lpr (Ausgabe von text.txt auf Stdout und Umleitung auf Drucker).

PC Magazin, Nr. 9/97, S. 100

Verfasser: Andreas
Letzte Änderung: 2010-04-26 17:29


Inodes

In Inodes ist gespeichert, welche Datenblöcke zu einer Datei gehören. Eigentümer der Datei und zugeteilte Rechte sind ebenfalls in den Inodes enthalten.

PC Magazin, Nr. 9/97, S. 100

Verfasser: Andreas
Letzte Änderung: 2010-04-26 17:30


Job

Durch das Bestätigen einer Eingabe auf der Kommandozeile werden Kommandos oder Pipes zu einem Job. Damit einem laufendem Job Signale gegeben werden können, etwa kill, legt die bash eine Tabelle an, in der alle aktuellen Jobs aufgelistet sind. Wird ein Job mit "&" angewiesen im Hintergrund zu laufen, zeigt die bash dies mit der Ausgabe von Job- und Prozeßnummer an. Bei Beendigung eines Job, gibt sie den Jobnamen, die Jobnummer und den aktuellen Status aus.

PC Magazin, Nr. 9/97, S. 100

Verfasser: Andreas
Letzte Änderung: 2010-04-26 17:31


kill

Hat sich ein Programm aus irgendeinem Grund aufgehängt und läßt sich nicht "normal" beenden, kommt der kill- Befehl zum Einsatz. Die parameterlose Eingabe von kill, gefolgt von der entsprechenden Prozeßnummer PID oder dem Prozeßnamen, bricht den Prozeß definiert ab.

PC Magazin, Nr. 9/97, S. 100

Verfasser: Andreas
Letzte Änderung: 2010-04-26 17:31


LILO

LinuxLoader, grundlegender Bootloader unter Linux. LILO ist nicht an ein Filesystem gebunden. Er kann zum Booten von Linux und anderen Betriebssystemen verwendet werden (Bootmanager). Unterstützt Chain Loading.

PC Magazin, Nr. 12/2000, S. 227

Verfasser: Andreas
Letzte Änderung: 2010-04-26 17:31


Link

Hardlink: Verweis auf den Inode einer existierenden Datei. Linux ordnet dem Verweis nur einen neuen Dateinamen zu, erzeugt aber physikalisch keine neue Datei. Die Linkdatei verweist lediglich auf das Original. Softlink: Verweis auf den absoluten Pfad einer Datei. Kann auch über Dateisystemgrenzen hinweg angelegt werden (symbolischer Link).

PC Magazin, Nr. 9/97, S. 100

Verfasser: Andreas
Letzte Änderung: 2010-04-26 17:32


Modularisierung

Unter Linux ist nicht nur der Kernel modular aufgebaut. Wie bei jedem modernen Betriebssystem werden Libraries eingesetzt. Eine Bibliothek ist nichts anderes als eine Sammlung von Funktionen, die von vielen Programmen aufgerufen und ausgeführt werden können. Das heißt unter Windows DLL-Funktionalität.

PC Magazin, Nr. 6/2000, S. 210

Verfasser: Andreas
Letzte Änderung: 2010-04-26 17:32


mtools

Das Paket mtools ist eine Sammlung vn Programmen für das Bearbeiten von Disketten mit FAT16-Dateiformat. Alle wichtigen DOS-Befehle wie copy, del und format stehen Ihnen zur Verfügung. Damit die Kommandos eine einheitliche Erscheinung aufweisen und um Verwechslungen zu vermeiden, ist jedem Befehl der Buchstabe m vorangestellt. Wenn Sie die DOS-Befehle kennen, werden Sie keine Schwierigkeiten haben - die Syntax bleibt auch auf einer Linux-Shell unverändert. Falls Sie wenig Erfahrung mit Kommandozeilen-Umgebungen haben, finden Sie in der Dokumentation (man mtools) eine Übersicht, welche Programme im Paket enthalten sind.

PC Magazin, Nr. 10/98, S. 222

Verfasser: Andreas
Letzte Änderung: 2010-04-26 17:33


Paket

Eine Zusammenstellung einzelner Programme, die in ihrer Gesamtheit eine Einheit ergeben. Es kann sich auch um nur ein File handeln.

PC Magazin, Nr. 6/2000, S. 210

Verfasser: Andreas
Letzte Änderung: 2010-04-26 17:33


Paketmanagement

Darunter versteht man eine globale Verwaltung der einzelnen Programmpakete. Dies schließt Informationen über Pfade, Dateien, Dateiabhängigkeiten, Versionen etc. ein.

PC Magazin, Nr. 6/2000, S. 210

Verfasser: Andreas
Letzte Änderung: 2010-04-26 17:33


Pipe

Mit Pipes wird die Ausgabe eines Kommandos direkt zur Eingabe des folgenden Kommandos geleitet. Das heißt, alle Kommandos sind getrennte Prozesse, die aber nicht nacheinander, sondern parallel ausgeführt werden (multitasking). Beispiel: grep "Müller" adressen.txt|sort|uniq.grep filtert alle Zeilen heraus, in denen der Name Müller in der Datei adressen.txt auftaucht, sort sortiert zeilenweise und uniq entfernt alle doppelt vorkommenden Zeilen.

PC Magazin, Nr. 9/97, S. 100

Verfasser: Andreas
Letzte Änderung: 2010-04-26 17:34


Prozesse

Das Betriebssystem verwaltet alle Aktivitäten, die auf einem Linux-Rechner ablaufen, in Form geschlossener Einheiten. Diese Einheiten heißen Prozesse. Jeder Prozeß besitz eine eigene Umgebung und er bekommt Arbeitsspeicher und Rechnerzeit zugewiesen. Jedem Benutzer, der auf einem Linux-System arbeitet, ist immer mindestens ein Prozeß zugeordnet. Meist handelt es sich dabei um ein Anwendungsprogramm (z.B. eine Shell).

PC Magazin, Nr. 9/97, S. 100

Verfasser: Andreas
Letzte Änderung: 2010-04-26 17:34


Shell - Script

Eine Datei, die mehrere Shell-Befehle enthält. Die einzelnen Befehle werden nacheinander ausgeführt. Prinzipiell sind sie mit den unter DOS üblichen Batchdateien vergleichbar.

PC Magazin, Nr. 6/2000, S. 210

Verfasser: Andreas
Letzte Änderung: 2010-04-26 17:35


su

Mit diesem Kommando kann ein "normaler" Benutzer einen schnellen Identitätswechsel vollziehen. su steht für Super-User und ist eine andere Bezeichnung für root. Voraussetzung ist lediglich die Kenntnis des root- Paßworts.

PC Magazin, Nr. 9/97, S. 100

Verfasser: Andreas
Letzte Änderung: 2010-04-26 17:35


sync

Ein Systemprogramm, das veränderte Daten sofort auf einen Massenspeicher schreibt. Linux hält diverse Datenblöcke im Cache bereits und ändert diese normalerweise zuerst im Arbeitsspeicher. Der update-Dämon schreibt dann in regelmäßigen Abständen die veränderten Daten auf die Festplatte zurück. Damit werden Zugriffe auf die Festplatte reduziert, was wesentlich zur Performance des Systems beiträgt. In einigen Fällen ist es aber erwünscht (und sinnvoll) alle im Arbeitsspeicher befindlichen Daten sofort auf die Festplatte zu sichern, um Datenverlust auszuschließen, beispielsweise beim Herunterfahren des Systems.

PC Magazin, Nr. 9/97, S. 100

Verfasser: Andreas
Letzte Änderung: 2010-04-26 17:36


Abruffunktion

Mit der Abruffunktion kann ein Faxgerät ein Partnergerät auffordern, eine Faxnachricht zu senden (aktiv) oder selbst eine Nachricht versenden (passiv).

PC Magazin, Nr. 2/98, S. 108

Verfasser: Andreas
Letzte Änderung: 2010-09-26 15:10


ADSL

ADSL (Asymmetric Digital Subscriber Line) ist die neue Konkurrenz zu ISDN und soll bei der Telekom Geschwindigkeiten von 1,5 MBit/s im Download und 128 KBit/s für den Upload erlauben (siehe PC Magazin 9/98, S. 48)

PC Magazin, Nr. 10/98, S. 80

Verfasser: Andreas
Letzte Änderung: 2010-09-26 15:11


Amtsholung

Eine anlagenabhängige Ziffer, die in Telefonnebenstellenanlagen eine freie Amtsleitung holt (meist "0").

PC Magazin, Nr. 4/2000, S. 100

Verfasser: Andreas
Letzte Änderung: 2010-09-26 15:11


ASTRA

Astra ist Europas führender Satellitenbetreiber. Das Luxemburger Unternehmen verfügt zurzeit über drei Satelliten-Positionen: Astra 1A-H auf 19,2, Astra 2A-C auf 28,2 und Astra 3A auf 23,5. Das wohl Bekannteste ist Astra 1A-H. Von hier werden fast alle deutschen TV-Programme und Internet-via-Sat-Dienste gesendet. Für den Empfang genügt ein Spiegel mit 60 cm Durchmesser.


PC Magazin, Nr. 10/2003, S. 65

Verfasser: Andreas
Letzte Änderung: 2010-09-26 16:12


ASTRA-HQ

Von der Basisstation in Luxemburg werden alle Daten an die Satelliten gesendet.

PC Magazin, Nr. 10/2003, S. 65

Verfasser: Andreas
Letzte Änderung: 2010-09-26 16:13


Asymetrische Datenübertragung

Ungleicher Datentransport. In Hin- und Rückkanal werden jeweils unterschiedlich große Datenmengen transportiert. In eine Richtung werden nur Adressen übertragen, in die andere die kompletten WWW-Seiten inklusive Bilder, Videos etc.

PC Magazin, Nr. 7/2000, S. 85

Verfasser: Andreas
Letzte Änderung: 2010-09-26 16:13


ATM

Asynchronous Transfer Mode; Paket-Vermittlungsverfahren, bei dem 53 Byte große Zellen die Informationen tragen. Jede Zelle besteht aus einem 5 Byte großen Header und 48 Byte Nutzlast. Der Header enthält Angaben über Sender und Empfänger sowie die Service-Anforderungen.

PC Magazin, Nr. 12/97, S. 308

Verfasser: Andreas
Letzte Änderung: 2010-09-26 16:14


Azimut

Azimut ist die Einstellposition einer Satellitenantenne auf der horizontalen Ebene. Der Azimut wird mit Gradzahlen angegeben, wobei dem Süden 180°, dem Norden 0°, dem Westen 270° und dem Osten 90° zugewiesen wurden.

PC Magazin, Nr. 10/2003, S. 65

Verfasser: Andreas
Letzte Änderung: 2010-09-26 16:15


Bandbreite

Sie gibt an, welche Datenmenge (MBit pro Sekunde) maximal über einen bestimmten Datenweg transportiert werden kann. Sie ist bei Netzwerken von der Netzwerkkarte und vom verwendeten Übertragungsmedium abhängig.

PCgo!, Nr. 7/99, S. 137

Verfasser: Andreas
Letzte Änderung: 2010-09-26 16:15


BBAE

Abk. für Breitband-Anschlusseinheit. Bezeichnung des ADSL- Splitters.

PC Magazin Plus, Nr. 7/2001, S. 19

Verfasser: Andreas
Letzte Änderung: 2010-09-26 16:24


Bedienerruf

Nach einem Faxversand können Sie mit dem Partner direkt weitertelefonieren (externes Telefon an gleiche Leitung). Auch die Gegenstelle muß eine Bediener- Funktion besitzen.

PC Magazin, Nr. 2/98, S. 108

Verfasser: Andreas
Letzte Änderung: 2010-09-26 16:25


Bit/s

Bit pro Sekunde gibt die Geschwindigkeit an, mit der Daten übertragen werden. Wird auch mit der Abkürzung Bps bezeichnet.

PCgo!, Nr. 11/2000, S. 192

Verfasser: Andreas
Letzte Änderung: 2010-09-26 16:26


BOD

Bandwith on Demand ist ein Merkmal von ISDN-Adaptern, das bei Bedarf den zweiten Kanal zu- oder wegschaltet.

PC Magazin, Nr. 7/2000, S. 85

Verfasser: Andreas
Letzte Änderung: 2010-09-26 16:27


Bps

Abkürzung für Bit pro Sekunde

PC Magazin, Nr. 10/98, S. 80

Verfasser: Andreas
Letzte Änderung: 2010-09-26 16:27


Call by Call

Call by Call ist ein Service der neuen Telefongesellschaften, um je nach Wahl Ferngespräche günstiger zu führen. Vor der Eingabe der Zielrufnummer entscheiden Sie sich mit einer Vorwahl für eine Gesellschaft. Entscheidend ist, daß Sie diesen Service nur von Gespräch zu Gespräch ohne Anmeldung oder Vertragsbindung nutzen.

PCgo!, Nr. 5/99, S. 190

Verfasser: Andreas
Letzte Änderung: 2010-09-26 16:28


Chat,chatten

Unterhaltung online per Tastatur.

PC Magazin, Nr. 10/98, S. 80

Verfasser: Andreas
Letzte Änderung: 2010-09-26 16:29


CLIP

Die Calling Line Identification Presentation übergibt die Rufnummer des Anrufers an den Angerufenen, wo sie etwa zum Nachschlagen in einem Telefonbuch oder zum Abweisen von Rufen verwendet wird. Die CLIP übergibt der Netzbetreiber nicht der Anwender oder dessen Gerät.

PC Magazin, Nr. 7/2000, S. 85

 

Verfasser: Andreas
Letzte Änderung: 2010-09-26 16:30


CRC

Cyclical Redundancy Check. Prüfsumme, die bei der Datenübertragung auftretende Fehler korrigieren hilft.

PC Magazin, Nr. 10/97, S. 124

Verfasser: Andreas
Letzte Änderung: 2010-09-26 16:30


Datenfunk

Zusätzlich zum festen Kabelnetz setzen Telefongesellschaften Richtfunkstrecken ein. Richtfunkanlagen müssen eine direkte optische Verbindung haben.

PC Magazin, Nr. 7/2000, S. 85

Verfasser: Andreas
Letzte Änderung: 2010-09-26 16:41


Datentransferrate

Maß für die Mange der übertragenen Daten von und zum Speichermedium, wird in KByte oder MByte pro Sekunde angegeben. Je höher die Datentransferrate, desto besser.

PC Magazin, Nr. 12/96, S. 264

Verfasser: Andreas
Letzte Änderung: 2010-09-26 16:42


DiSEqC

DiSEqC bedeutet Digital Satellite Equipment Control und wurde von der europäischen Satellitenbetreibergesellschaft Eutelsat und Philips entwickelt. Es ist ein Schaltungssystem und kann vier und mehr Schaltzustände signalisieren (vertikal, horizontal, low, high). Die Steuerzentrale für alle DiSEqC-Befehle ist eine DiSEqC-fähige DVB-S-Karte.

PC Magazin, Nr. 10/2003, S. 65

Verfasser: Andreas
Letzte Änderung: 2010-09-26 16:43


Downstream

Der Hinkanal einer Übertragung vom Provider in die Haushalte.

PC Magazin, Nr. 7/2000, S. 85

Verfasser: Andreas
Letzte Änderung: 2010-09-26 16:43


DSL-AM

Abk. für Digital Subscriber Line Access Multiplexer.

PC Magazin Plus, Nr. 7/2001, S. 19

Verfasser: Andreas
Letzte Änderung: 2010-09-26 16:44


DSS1

Digital Subscriber System 1. Normiertes ISDN-Protokoll für Europa

PC Magazin, Nr. 10/98, S. 80

Verfasser: Andreas
Letzte Änderung: 2010-09-26 16:44


Dualbetrieb

Während das Faxgerät eine eingehende Nachricht speichert oder eine Faxnachricht aus dem Speicher sendet, können weitere Aufträge gespeichert werden. Ist der laufende Auftrag ausgeführt, wird automatisch das gespeicherte Dokument gestartet.

PC Magazin, Nr. 2/98, S. 108

Verfasser: Andreas
Letzte Änderung: 2010-09-26 16:45


Duplex

Ein Begriff aus der Frühzeit der Telegraphie. Bei einer Duplex-Verbindung werden Daten gleichzeitig in beide Richtungen übertragen. Eine Verbindung, bei der eine Übertragung in nur eine Richtung möglich ist, wird als "Simplex-Verbindung" bezeichnet.

PCgo!, Nr. 12/98, S. 188

Verfasser: Andreas
Letzte Änderung: 2010-09-26 16:45


ECM

Abk. für Error Correction Mode. Dieser Modus gleicht Störungen in der Telefonleitung aus. Das Partnergerät muß ebenfalls über diese Funktion verfügen.

PC Magazin, Nr. 2/98, S. 108

Verfasser: Andreas
Letzte Änderung: 2010-09-26 16:46


Electronic Programm Guide (EPG)

Electronic Programm Guide (EPG) ist die elektronische Programm-Zeitschrift der DVB-S-Karte. Die Informationen werden von der DVB-Karte über den Satelliten geladen, wofür es einen speziellen Kanal gibt.

PC Magazin, Nr. 10/2003, S. 65

Verfasser: Andreas
Letzte Änderung: 2010-09-26 16:47


Elevation

Elevation ist der vertikale Ausrichtungswinkel des Satellitenspiegels. Der Winkel beträgt je nach Standort zwischen 27° und 34°.

PC Magazin, Nr. 10/2003, S. 65

Verfasser: Andreas
Letzte Änderung: 2010-09-26 16:48


Euro-ISDN

Umfasst zwei B-Kanäle mit je 64 KBit/s Übertragungsleistung und einen D-Kanal mit 16 KBit/s.

PC Magazin, Nr. 10/98, S. 80

Verfasser: Andreas
Letzte Änderung: 2010-09-26 16:49


Eutelsat

Eutelsat ist nach Astra der größte europäische Satellitendienstbetreiber. Er versorgt rund 220 Millionen Menschen mit Informationen. Haupteinsatzgebiete sind Europa, Afrika, Nord- und Südamerika sowie Teile Asiens. Eutelsat strahlt rund 1000 TV- und 600 Radioprogramme aus.

PC Magazin, Nr. 10/2003, S. 65

Verfasser: Andreas
Letzte Änderung: 2010-09-26 16:49


Extrusionskörper

Eine zweidimensionale Form wird entlang eines Pfads in die dritte Dimension extrudiert (gezogen) und erhält dadurch ein Volumen.

PC Magazin, Nr. 12/98, S. 160

Verfasser: Andreas
Letzte Änderung: 2010-09-26 16:50


Faxgruppen

Faxgeräte (Faxmodems) werden je nach Funktionen in Gruppen unterteilt, wobei Gruppe 3 (G3) und 4 (G4) von Bedeutung sind. G1- undG2-Geräte erreichten keine nennenswerte Stückzahlen. Modems nach dem G3-Standard arbeiten im analogen Telefonnetz. Die Übertragungsgeschwindigkeit kann bis zu 28 800 Bit/s betragen, in der Praxis üblich sind jedoch 9600 Bit/s bzw. 14 400 Bit/s. Hinzu kommt, daß sich die Übertragungsgeschwindigkeit der Qualität der Telefonverbindung anpaßt und automatisch auf 2400 Bit/s und weniger reduziert wird. Dies ist übrigens ein beliebter Trick von Anbietern unseriöser 0190-Nummern, um die Gebühren durch lange Verbindungszeiten zu erhöhen. G4-Geräte arbeiten ausschließlich am ISDN-Netz mit einer Übertragungsrate von 64000 Bit/s. Der G4- Standard ist nicht ohne zusätzliche Hard-/Software abwärtskompatibel. Während G3-Geräte mit einer Auflösung von 200 x 100 dpi bzw. im Feinmodus mit 200 x 200 dpi arbeiten, erlaubt G4 mit 400 x 400 dpi eine deutlich bessere Qualität. Der Nachteil ist, daß sich das zu übertragende Datenvolumen vervierfacht!

PC Magazin, Nr. 6/97, S. 116

Verfasser: Andreas
Letzte Änderung: 2010-09-26 16:50


Footprint

Footprint oder Ausleuchtzone ist das gesamte Empfangsgebiet des Satelliten.

PC Magazin, Nr. 10/2003, S. 65

Verfasser: Andreas
Letzte Änderung: 2010-09-26 16:51


GPS

Abk. für Global Positioning System. Ursprünglich nur für militärische Zwecke gedacht, entwickelte das US- Verteidigungsministerium ein Radionavigationssystem namens NAVSTAR Global Positioning System (GPS). Die GPS- Navigation wird bereits seit längerem in der Schiff- und Luftfahrt sowie in der Verkehrstelematik genutzt. So funktioniert es: In etwa 20 200 km Höhe umkreisen 24 GPS- Satelliten in sechs Bahnebenen die Erde. Sie ermöglichen bei Sichtlinienverbindung weltweit jederzeit den direkten Empfang von Radionsignalen zur Bestimmung von Position, Geschwindigkeit und Zeit. Mit diesen Informationen kann ein GPS-Empfänger seine Position auf ca. 30 Meter genau ermitteln. Mehr Infos zu GPS und Satellitennavigation finden Sie auf der Web-Seite: http://gibts.leipzig.ifag.de/Welcome_de.html.

PC Magazin, Nr. 3/98, S. 76

Verfasser: Andreas
Letzte Änderung: 2010-09-26 16:51


HDLC

High-Level Data Link Control. Bitorientiertes Protokoll zur Datenübertragung.

PC Magazin, Nr. 10/98, S. 80

Verfasser: Andreas
Letzte Änderung: 2010-09-26 16:52


HDSL

Abk. für High-Bit-Rate Digital Subscriber Line

PC Magazin Plus, Nr. 7/2001, S. 19

Verfasser: Andreas
Letzte Änderung: 2010-09-26 16:53


Hot Bird

Hot Bird ist Europas drittgrößter Satellitendienstbetreiber. Der europäische Raum wird mit 5 Hot-Bird-Satelliten versorgt, die rund 600 TV- und 200 Radioprogramme auf 13.0° Ost senden.

PC Magazin, Nr. 10/2003, S. 65

Verfasser: Andreas
Letzte Änderung: 2010-09-26 16:54


Impulswahl

Altes Telefon-Wählverfahren, inzwischen weitgehend vom Tonträgerverfahren abgelöst.

PC Magazin, Nr. 10/98, S. 80

Verfasser: Andreas
Letzte Änderung: 2010-09-26 16:54


Impulswahl

Altes Telefon-Wählverfahren, inzwischen weitgehend vom Tonträgerverfahren abgelöst.

PC Magazin, Nr. 10/98, S. 80

Verfasser: Andreas
Letzte Änderung: 2010-09-26 16:57


ISDN

Integrated Services Digital Network. Digitales Fernmeldenetz.

PC Magazin, Nr. 10/98, S. 80

Verfasser: Andreas
Letzte Änderung: 2010-09-26 16:58


Kanalbündelung

ISDN stellt zwei B-Kanäle mit einer Bandbreite von 64 KBit/Sekunde zur Verfügung. Somit beträgt die theoretische Übertragungsrate 8 KByte/Sekunde. Wenn Sie bei Downloads beide Kanäle nutzen, verdoppeln Sie die Bandbreite und halbieren die Zeit zum Download. Nur zahlen Sie für die doppelte Breite den doppelten Preis. Daher treibt Kanalbündelung beim Surfen nur die Kosten hoch - kaum die Geschwindigkeit.

PC Magazin, Nr. 10/2000, S. 201

Verfasser: Andreas
Letzte Änderung: 2010-09-26 17:00


Kettenwahl

Wählen Sie bespielsweise die Nummer eines Computerdienstes (meistens in den USA). Sobald der Anruf entgegengenommen wird, können Sie weitere Informationen eingeben, etwa die Rufnummer für ein Ferngespräch.

PC Magazin, Nr. 2/98, S. 108

Verfasser: Andreas
Letzte Änderung: 2010-09-26 17:02


LAN-CAPI

Eine Softwareschnittstelle, die den Internet Access Router gegenüber dem PC wie eine virtuelle ISDN-Karte ansteuert.

PC Magazin, Nr. 4/2000, S. 100

Verfasser: Andreas
Letzte Änderung: 2010-09-26 17:03


Least-Cost-Router

Wählt automatisch den jeweils günstigsten Anbieter für jede Internet-Verbindung aus.

PC Magazin, Nr. 4/2000, S. 100

Verfasser: Andreas
Letzte Änderung: 2010-09-26 17:03


Low Noise Block (LNB)/Low Noise Converter (LNC)

Die Bezeichnung LNC stammt noch aus der analogen Zeit. Mittlerweile gibt es zwischen beiden Varianten keine Unterschiede mehr. Montiert wird der LNB am Arm des Spiegels. Er befindet sich dadurch im Brennpunkt und empfängt die gebündelten Signale.

PC Magazin, Nr. 10/2003, S. 65

Verfasser: Andreas
Letzte Änderung: 2010-09-26 17:04


Modem

Modulator/Demodulator. Hardware zur Übertragung von Daten über analoge Telefonleitungen.

PC Magazin, Nr. 10/98, S. 80

Verfasser: Andreas
Letzte Änderung: 2010-09-26 17:05


MSN

Die Multiple Subscriber Number, eine Mehrfachrufnummer, definiert Unternummern für ISDN-Anschlüsse. Neben einer MSN, über die alle Endgeräte eines Anwenders erreichbar sind, lassen sich Zusatzkennungen vergeben, etwa für Telefon, Fax oder Internet.

PC Magazin, Nr. 7/2000, S. 85

 
Abk. für Microsoft Network.

PC Magazin, Nr. 7/2000, S. 85 

 

Verfasser: Andreas
Letzte Änderung: 2010-09-26 17:08


Newsgroup

Newsgroups sind Diskussionsgruppen, deren Teilnehmer unterschiedliche Themen diskutieren. Newsgroup- Mitteilungen können neben Texten auch Dateien, etwa Bilder, enthalten.

PC Magazin, Nr. 11/2000, S. 225

Verfasser: Andreas
Letzte Änderung: 2010-09-26 17:07


NTBA

Abk. für Network Termination Basicrate Access. Netztrenneinrichtung der Telekom für ISDN-Anschlüsse.

PC Magazin, Nr. 7/2000, S. 85

Verfasser: Andreas
Letzte Änderung: 2010-09-26 17:08


NTBBA

Abk. für Netzwerk-Terminationspunkt Breitbandangebot. "ADSL-Modem".

PC Magazin Plus, Nr. 7/2001, S. 19

Verfasser: Andreas
Letzte Änderung: 2010-09-26 17:09


Online-Banking

Die Bezeichnung steht für sämtliche Dienste, bei denen Bankgeschäfte per Telefon abgewickelt werden. Neben Homebanking und Internetbanking gehört auch das Telefonbanking dazu, bei dem ein Telefon mit Tonwahl für die Erledigung bestimmter Bankgeschäfte genügt.

PCgo!, Nr. 5/98, S. 96

Verfasser: Andreas
Letzte Änderung: 2010-09-26 17:10


Packed Identification (PID)

Packed Identification (PID) ist eine Zahl, entweder dezimal oder hexadezimal, die Video, Audio und Daten einem bestimmten Programm/Dienst zuweist.

PC Magazin, Nr. 10/2003, S. 65

Verfasser: Andreas
Letzte Änderung: 2010-09-26 17:11


PIN

Abk. für Persönliche Identifikationsnummer. Analog zur Geheimzahl einer Euroscheckkarte entspricht die PIN beim Homabanking einem persönlichen Zugangscode. Sie ist der Schlüssel zu Ihrem Online-Konto und muß bei jedem Verbindungsaufbau zum Rechner des Kreditinstitutes gemeinsam mit der Kontonummer eingegeben werden. In der Regel besteht die PIN aus einer vier- oder fünfstelligen Zahlenkombination. Wenn Sie den Verdacht haben, daß Ihre PIN nicht mehr geheim ist, ändern Sie den Code umgehend.

PCgo!, Nr. 5/99, S. 209

Verfasser: Andreas
Letzte Änderung: 2010-09-26 17:11


Pinboard

Auf einem Pinboard, vergleichbar mit einem Schwarzen Brett, können Sie Fragen stellen oder ein Thema diskutieren.

PC Magazin, Nr. 11/2000, S. 225

Verfasser: Andreas
Letzte Änderung: 2010-09-26 17:12


PPPoE

Abk. für PPP over Ethernet (RFC 2516, draft standard).

PC Magazin Plus, Nr. 7/2001, S. 19

Verfasser: Andreas
Letzte Änderung: 2010-09-26 17:12


Preselection

Wechsel von der Telekom zu einer der neuen Telefongesellschaften. Im Regelfall wählen Sie übereine zusätzliche Vorwahl den Telefon-Provider aus.

PC Magazin, Nr. 10/98, S. 80

Verfasser: Andreas
Letzte Änderung: 2010-09-26 17:14


RAS

Abk. für Remote Access Service; Einwahldienst von Windows NT.

PC Magazin, Nr. 4/2000, S. 100

Verfasser: Andreas
Letzte Änderung: 2010-09-26 17:15


Relais-Senden

In diesem Modus können Sie eine Nachricht an ein entferntes Faxgerät schicken. Von diesem Gerät wird diese Nachricht dann automatisch an weitere Faxgeräte versandt (nur gleiche Geräte).

PC Magazin, Nr. 2/98, S. 108

Verfasser: Andreas
Letzte Änderung: 2010-09-26 17:16


Rückkanalfähig

Beim Kabel-TV hat die Post in Deutschland damals auf eine Leitung vom Haushalt zum Sender verzichtet. Das Netz muss also für rund 6,5 Milliarden Mark umgebaut werden, um rückkanalfähig zu werden. Ohne Rückkanal fließen die Daten über eine Telefonverbindung vom PC zum Provider.

PC Magazin, Nr. 7/2000, S. 85

Verfasser: Andreas
Letzte Änderung: 2010-09-26 17:16


Rundsenden

Übertragungsart, bei der eine Faxvorlage an mehrere Faxgeräte versandt wird.

PC Magazin, Nr. 2/98, S. 108

Verfasser: Andreas
Letzte Änderung: 2010-09-26 17:17


SO-Bus

Vieradrige Verkabelung des ISDN-Anschlusses für zwei B- Kanäle und einen D-Kanal.

PC Magazin, Nr. 10/98, S. 80

Verfasser: Andreas
Letzte Änderung: 2010-09-26 17:18


SDSL

Symmetric Digital Subscriber Line. Die SDSL-Technologie wurde speziell für die Datenübertragung mit gleich hohen Up- und Downstream-Raten entwickelt. Dadurch ist sie ideal für Netzwerkkoppelungen, Video-Konferenzen, Web Hosting und Intranets, bei denen große Datenmengen in beide Richtungen übertragen werden.

PC Magazin, Nr. 7/2000, S. 85

Verfasser: Andreas
Letzte Änderung: 2010-09-26 17:18


Short-Hold

Ein Mechanismus, der den aktiven Datenverkehr überwacht und bei null Datenaufkommen die Verbindung physikalisch abbaut.

PC Magazin, Nr. 4/2000, S. 100

Verfasser: Andreas
Letzte Änderung: 2010-09-26 17:23


Spoofing

Täuscht der lokalen Station vor, dass eine Gegenstation existiert (physikalisch angebunden), obwohl die Verbindung nur logisch gehalten wird (reduziert Verbindungsgebühren).

PC Magazin, Nr. 4/2000, S. 100

Verfasser: Andreas
Letzte Änderung: 2010-09-26 17:24


T-DSL

Produktname der Telekom für DSL-Anbindungen.

PC Magazin Plus, Nr. 7/2001, S. 19

Verfasser: Andreas
Letzte Änderung: 2010-09-26 17:24


TAE

Abk. für Telefon-Anschluss-Einheit, Telefondose der Telekom.

PC Magazin Plus, Nr. 7/2001, S. 19

Verfasser: Andreas
Letzte Änderung: 2010-09-26 17:25


TAN

Abk. für Transaktionsnummer. Diese Nummern sind Geheimzahlen, die beim Homebanking aus Sicherheitsgründen bei bestimmten Aktionen, etwa Überweisungen, zur Bestätigung eingegeben werden müssen. Die TAN stellt das elektronische Äquivalent zur Unterschrift dar. Jede TAN gilt nur für einen Buchungsvorgang. Sind alle Transaktionsnummern aufgebraucht, stellt Ihnen das Kreditinstitut eine neue TAN-Liste zur Verfügung.

PCgo!, Nr. 5/99, S. 209

Verfasser: Andreas
Letzte Änderung: 2010-09-26 17:25


Tonwahl

Frequenzcodierte Übermittlung der gewählten Telefonnummer an die Vermittlungsstelle. Wird von ISDN sowie von digitalen Vermittlungsstellen im analogen Netz verwendet.

PC Magazin, Nr. 10/98, S. 80

Verfasser: Andreas
Letzte Änderung: 2010-09-26 17:26


Transponder

Transponder ist die Bezeichnung für einen Satellitenübertragungskanal. Das Signal, welches vom Uplink gesendet wird, nimmt der Transponder auf, verstärkt es und strahlt es zur Erde als Downlink zurück.

PC Magazin, Nr. 10/2003, S. 65

Verfasser: Andreas
Letzte Änderung: 2010-09-26 17:26


Upstream

Sämtliche Signale und Datenübertragungen, die vom Computer ins Internet gehen.

PC Magazin, Nr. 7/2000, S. 85

Verfasser: Andreas
Letzte Änderung: 2010-09-26 17:27


V.110

Asynchrone Bitratenoption für ISDN-Übertragungen mit Transferraten von 600 bis 56000 Zeichen in der Sekunde. Die gebräuchlichste Übertragungsrate ist 38 400 bps für das V.110-Protokoll.

PC Magazin, Nr. 10/98, S. 80

Verfasser: Andreas
Letzte Änderung: 2010-09-26 17:28


V.Serie

Von der ITU standardisierte Übertragungsprotokolle für die Telekommunikations: V.21 für 300 bps, V22bis für 1200 und 2400 bps, V.32bis für 14 400 bps, V.34 für 33 600 bps. Das neueste Prokoll ist v.90 für 56k-Modems.

PC Magazin, Nr. 10/98, S. 80

Verfasser: Andreas
Letzte Änderung: 2010-09-26 17:28


VDSL

Abk. für Very High-Bit-Rate Digital Subscriber Line.

PC Magazin Plus, Nr. 7/2001, S. 19

Verfasser: Andreas
Letzte Änderung: 2010-09-26 17:29


Vertrauliches Faxen

Sende- und Empfangsgerät besitzen eine Mailbox mit einer gemeinsamen mehrstelligen Nummer. In dieser Mailbox werden die gesendeten Faxe gespeichert. Mit der Eingabe eines Codes kann dann der Empfänger das Fax ausdrucken.

PC Magazin, Nr. 2/98, S. 108

Verfasser: Andreas
Letzte Änderung: 2010-09-26 17:29


WinPoET

Abk. für PPP over Ethernet für Windows.

PC Magazin Plus, Nr. 7/2001, S. 19

Verfasser: Andreas
Letzte Änderung: 2010-09-26 17:30


X.75

Standardprotokoll für ISDN-Datenübertragungen in Deutschland. Es unterstützt die volle ISDN-Leistung von 64 KBit/s. Kommt beim Zugang zu Mailboxen oder auch bei AOL zum Einsatz.

PC Magazin, Nr. 10/98, S. 80

Verfasser: Andreas
Letzte Änderung: 2010-09-26 17:30


xDSL

Sammelbezeichnung für DSL-Dienste.

PC Magazin Plus, Nr. 7/2001, S. 19

Verfasser: Andreas
Letzte Änderung: 2010-09-26 17:31


YENC

Abk. für Y-encoded. Die Datei ist nach einem relativ neuen Verfahren für den Versand im Usenet codiert. Die Dateien sind wesentlich kleiner und weniger störanfällig, können aber nur von modernen Programmen gelesen werden.

PC Magazin, Nr. 10/2002, S. 47

Verfasser: Andreas
Letzte Änderung: 2010-09-26 17:31


Zeitversetztes Senden

Eine Faxvorlage zu einem bestimmten Zeitpunkt versenden (etwa aus Kostengründen oder wegen Zeitverschiebung).

PC Magazin, Nr. 2/98, S. 108

Verfasser: Andreas
Letzte Änderung: 2010-09-26 17:32


Audio-/Untertitelspuren

Filme auf einer DVD können mit bis zu acht Audio- und 32 Untertitelspuren versehen sein. Der Zuschauer entscheidet über Sprachwiedergabe und Untertitel.

PC Magazin, Nr. 12/2001, S. 85

Verfasser: Andreas
Letzte Änderung: 2010-09-26 17:59


Audioformate

Der Ton auf einer DVD kann in drei Formaten gespeichert werden. Linear PCM kommt dem analogen Audiosignal am nächsten. Im Gegenzug umfasst Linear PCM die höchste Datenmenge. Nur in diesem Format kann die maximale Samplingrate von 96 kHz des DVD-Standards genutzt werden.

PC Magazin, Nr. 12/2001, S. 85

Verfasser: Andreas
Letzte Änderung: 2010-09-26 17:59


Blue Book

Das Blue Book legt das Format einer CD-Extra fest.

PC Magazin, Nr. 10/98, S. 134

Verfasser: Andreas
Letzte Änderung: 2010-09-26 18:00


Bootfähige CD

Eine bootfähige CD ist eine nach dem El-Torito-Standard erstellte CD-ROM, die ähnlich einer bootfähigen Floppy- Disk oder Festplatte ein Computersystem starten kann.

PC Magazin, Nr. 10/98, S. 134

Verfasser: Andreas
Letzte Änderung: 2010-09-26 18:00


CD-DA

Die CD-DA (Compact-Disc Digital Audio) auch als Audio-CD bekannt, wurde von Philips und Sony entwickelt und 1982 vorgestellt. Das Layout und physikalische Format der CD- DA liegt im Red Book begründet.

PC Magazin, Nr. 10/98, S. 134

Verfasser: Andreas
Letzte Änderung: 2010-09-26 18:01


CD-Extra

Das blaue Buch definiert die CD-Plus, die neuerdings CD-Extra genannt wird. Eine CD-Extra besteht aus zwei (oder mehreren) Sessions, wobei die erste mit Audiodaten und die zweite (und folgende) mit Computerdaten beschrieben sind. Das hat den Vorteil, daß ein "Abspielen" von Computerdaten auf einem Audio-CD-Spieler verhindert wird und somit Beschädigungen der Stereoanlage etc. ausgeschlossen werden, da gewöhnliche Audio-CD-Player nur die erste Session lesen können.

PC Magazin, Nr. 11/97, S. 90

Verfasser: Andreas
Letzte Änderung: 2010-09-26 18:01


CD-i

Der CD-i-Standard (Compact Disc interactive) ist auch als Green-Book-Standard bekannt. Durch intelligente Kompressionsverfahren kann die Echtzeitwiedergabe von Bildern, Grafiken und Ton gewährleistet werden.

PC Magazin, Nr. 10/98, S. 134

Verfasser: Andreas
Letzte Änderung: 2010-09-26 18:09


CD-R

Ein CD-Rekorder besitzt einen ähnlichen Aufbau wie ein gewöhnliches CD-ROM-Laufwerk. Neben der gleichen Mechanik ist eine Menge Elektronik untergebracht. Eine Steuereinheit (Controller), ein Photodetektor und eine Signalverarbeitungs-Logik sind die wichtigsten "Organe" des CD-Recorders. Der CD-ROM-Controller ist für das reibungslose Zusammenspiel von Laufwerksmechanik und Elektronik verantwortlich. Die Leseeinheit des CD- Recorders arbeitet mit den gleichen Leistungswerten wie ein CD-ROM-Laufwerk. Hier besitzt der Leser eine Leistung von 0,5 mW, um die Oberfläche der CD "auszulesen". Je nachdem, ob der Laserstrahl ein Pit (Berg) oder ein Land (Tal) fokussiert, wird der Laserstrahl unterschiedlich von der Reflexionsschicht des Mediums zurückgeworfen. Diese reflektierten Strahlen werden von einem Photodetektor aufgenommen und anschließend mit dem EFM-Algorithmus (Eight to fourteen) in einen vom Computer lesbaren Bitstrom umgewandelt. Das "Beschreiben" eines Rohlings erfolgt mit einer über achtmal stärkeren Laserleistung (4 bis 8 mW). Hier steuert der Controller den Laserstrahl entlang einer spiralförmigen Spur (Pregroove), die bei der CD von innen nach außen verläuft: sozusagen eine "Fahrbahn", auf der sich der Laser bewegen kann. Der Laserstrahl deformiert den organischen Farbstoff des Rohlings, und dieses "Einbrennen" der Daten sorgt anschließend für die gleichen physikalischen Eigenschaften bezüglich der Reflexion wie bei einer CD-ROM

PC Magazin, Nr. 11/97, S. 92

Verfasser: Andreas
Letzte Änderung: 2010-09-26 18:09


CD-ROM-Dienst

Wichtige Literatur und Datenbanken stehen auf einem CD- ROM-Server allen Benutzern zur Verfügung. Vorteil: schneller Zugriff auf wichtige (Firmen-)Daten.

PC Magazin, Nr. 8/97, S. 207

Verfasser: Andreas
Letzte Änderung: 2010-09-26 18:11


CD-ROM/XA

Die CD-ROM/XA ist kein eigenständiger, neuer Standard oder neues "Buch", sondern nur eine Erweiterung des Yellow Book. Diese Erweiterung ist in zwei Gruppen, Mode 1 bzw. Mode 2, eingeteilt. Mode 1 übernimmt das Standard- Yellow-Book, Mode 2 hingegen nähert sich dem Green Book, also der CD-i-Spezifikation, an und wird daher auch als erweitertes Yellow Book bezeichnet. Die Mode-2- Erweiterungen cd CD-ROM/XA lassen sich noch in zwei Gruppen (Form 1 bzw. Form 2) klassifizieren. Mode 2, Form 1 ist ähnlich wie das Mode-1-Form-1-Format aufgebaut, allerdings würden acht nicht genutzte Fehlerkorrektur-Bytes für den Datenblock übernommen.

PC Magazin, Nr. 11/97, S. 90

Verfasser: Andreas
Letzte Änderung: 2010-09-26 18:11


CD-RW

Die wiederbeschreibbare CD-RW arbeitet nach dem Phase- Change-Verfahren und läßt sich in einem Standard-CD-ROM- Laufwerk nicht abspielen. Sie kann daher nur im CD-RW- Recorder selbst oder von den neuen Multiread-fähigen CD- ROM-Laufwerken gelesen werden. Auch in einem Standard-Hi- Fi-Audio-CD-Player hat ein CD-RW nichts zu suchen. Das CD-RW-Medium ist ähnlich aufgebaut wie eine herkömmliche CD-R, nur enthält das Trägermaterial einen magnetisierbaren Layer. Dieser wird mit einem Laser mit höherer Leistung (12 mW) beschrieben, indem das Medium auf Curie-Temperatur gebracht wird. Das Lesen der Daten erfolgt wie bei einer CD-R mit Hilfe der Reflektion: Der Laserstrahl wird nach dem Faraday-Prinzip (Drehung der Polarisationsebene im Magnetfeld) durch die magnetisierte Schicht abgelenkt. Dieser Strahl wird wie bei der CD-R/CD-ROM von Photodetektoren aufgenommen und anschließend von der Steuereinheit weiterverarbeitet.

PC Magazin, Nr. 11/97, S. 92

Verfasser: Andreas
Letzte Änderung: 2010-09-26 18:12


CD-WORM

Darunter versteht man eine nach Orange Book-Standart definierte CD, die einmal beschreibbar und mehrfach lesbar ist. Eine CD-WO gehört, wie alle wiederbeschreibbaren optischen Medien auch, zu den sogenannten DRAW-Medien (Direct read after write), wobei die aufgezeichneten Daten nicht wieder löschbar sind.

PC Magazin, Nr. 10/98, S. 134

Verfasser: Andreas
Letzte Änderung: 2010-09-26 18:12


cDVD oder miniDVD

Brennt man DVDkonforme Inhalte auf CD-R oder CD-RW, erhält man eine cDVD bzw. miniDVD. Derzeit unterstützen jedoch nur wenige Stand-alone-Player deren Wiedergabe. Auf eine cDVD passen ungefähr 15 Minuten Video in hoher Qualität.

PC Magazin, Nr. 12/2001, S. 85

Verfasser: Andreas
Letzte Änderung: 2010-09-26 18:14


DC Jitter

Die Längenabweichung eines Pits von einem ganzzahligen Vielfachen des Data-Clock-Signals. Ist der Jitter zu groß, können Übergänge von Pit auf Land nicht mehr eindeutig einem Zeitintervall zugeordnet werden und es entstehen interne Datenfehler.

PC Magazin, Nr. 4/2004, S. 76

Verfasser: Andreas
Letzte Änderung: 2010-09-26 18:14


Disc At Once (DAO)

Hier beschreibt der Brenner den CD-Rohling in einem Durchlauf ohne neue Justierung des Lasers. Dieses Aufzeichnungsverfahren muß sowohl der CD-Recorder als cuh die Brenner-Software unterstützen. Der Anwendungsbereich von Disc At Once liegt im wesentlichen bei der Herstelung von Audio-CDs. Da im Gegensatz zu Track At Once keine Pausen zwischen Tracks entstehen, ist dieses Verfahren gerade bei Aufnahmen von Live-Musik und Technomusik geeignet.

PC Magazin, Nr. 12/97, S. 144
PC Magazin, Nr. 10/98, S. 134

DAO besagt nur, dass die CD in einem Durchgang gebrannt wird, was sowohl bei den Modi RAW und SAO (session-at-once) der Fall ist.

Quelle: Linux User 6/2003

Verfasser: Andreas
Letzte Änderung: 2010-09-26 18:15


DLT-Unterstützung

Die Software kann die DVD nicht nur auf einen Rohling brennen, sondern auch auf ein digitales Bandlaufwerk speichern. Wenn die Produktion größer als 4,7 GByte wird und im Presswerk auf eine Dual-Layer-DVD gepresst werden soll, ist die DLT-Band-Ausgabe notwendig.

PC Magazin, Nr. 12/2001, S. 85

Verfasser: Andreas
Letzte Änderung: 2010-09-26 18:15


Dolby Digital (AC-3)

Ein komprimiertes, verlustbehaftetes Audioformat vergleichbar mit MP3. AC-3 beinhaltet nicht nur den herkömmlichen Stereoklang, sondern kann bis zu fünf Kanäle und einem zusätzlichen Subwoofer-Kanal für Surround-Anlagen wiedergeben.

PC Magazin, Nr. 12/2001, S. 85

Verfasser: Andreas
Letzte Änderung: 2010-09-26 18:16


DVD

Abk. für Digital Versatile Disk,
s.a. DVD-RAM, DVD+RW, DVD-R/W und MMVF

PC Magazin, Nr. 12/98, S. 120 ff

Verfasser: Andreas
Letzte Änderung: 2010-09-26 18:16


DVD+RW

Bislang ist die Technik als ECMA-274-Standard eingetragen - nähere Informationen finden Sie auf der Seite: www.ecma.ch. Auf eine ISO-Standardisierung hoffen noch die Vertreter von Sony, Hewlett-Packard, Mitsubishi, Philips, Ricoh, Yamaha und neuerdings auch Intel. Die ersten Laufwerke wurden auf der CeBIT '98 vorgestellt. Bei der DVD+RW-Technik wurde versucht, Aussehen und Technik so nahe wie möglich an die DVD-ROM anzulehnen, damit die DVD+RW-Disks auch in DVD-ROM-Laufwerken lesbar sind. Die Speicherkapazität beträgt bei der DVD+RW 3,0 GByte pro Seite. Sie soll bis zu 100 000mal beschreibbar sein.

PC Magazin, Nr. 12/98, S. 125

Verfasser: Andreas
Letzte Änderung: 2010-09-26 18:17


DVD-Datenträger

Der Vorteil einer DVD gegenüber einer CD ist ihre höhere Speicherkapazität (Single Layer = 4,7 GByte). Dies wird durch drei Faktoren erreicht. 1. Die Spurbreite ist geringer. 2. Die Abstände zwischen den Speichereinheiten (den Pits) sind geringer. 3. Der Laser kann Daten auf einer Scheibe in zwei Ebenen lesen (Dual Layer). Zusätzlich können zwei DVDs Rücken an Rücken geklebt werden (Dual Side). Damit kann eine Speicherkapazität von bis zu 17,08 GByte bei Dual Side/Layer erreicht werden. Bisher ist dies aber nur im Presswerk möglich (DVD-ROM). Wer seine DVD-R (einmal beschreibbarer Rohling) oder DVD-RW/DVD+RW (mehrmals beschreibbarer Rohling) selbst brennen möchte, muss sich vorerst mit 4,35 GByte (Single Side/Layer) begnügen.

PC Magazin, Nr. 12/2001, S. 85

Verfasser: Andreas
Letzte Änderung: 2010-09-26 18:17


DVD-R/W

Inoffiziell arbeitet Pioneer ebenfalls an einem eigenen Verfahren, wollen dieses aber noch nicht veröffentlichen, da man befürchtet, die Kunden noch mehr zu verwirren. Gerüchte besagen, daß DVD-R/W auf der CD-RW-Technologie basiert. Die Kapazität der Medien soll bis zu 4,7 GByte pro Seite betragen. Ziel dieser Technologie ist es, ein Medium zu schaffen, das auf bereits erhältlichen DVD-Laufwerken lesbar ist.

PC Magazin, Nr. 12/98, S. 125

Verfasser: Andreas
Letzte Änderung: 2010-09-26 18:18


DVD-RAM

DVD-RAM ist das erste wiederbeschreibbare Format, das vom DVD-Forum verabschiedet wurde. Die DVD-RAM-Laufwerke beschreiben Medien im soganannten Phase-Change-Verfahren. Panasonic war die erste Firma in Europa, die ein Laufwerk auf den Markt brachte. Es verarbeitet DVD-RAM-Medien mit 2,6 GByte (einseitig) und 5,2 GByte (zweiseitig) und beschreibt PD-Medien. Spätestens Anfang nächsten Jahres werden Hitachi und Toshiba nachziehen und ihre Modelle präsentieren. DVD-RAM-Discs sind derzeit nicht in DVD-ROM-Laufwerken lesbar.

PC Magazin, Nr. 12/98, S. 125

Verfasser: Andreas
Letzte Änderung: 2010-09-26 18:18


El-Torito-Standard

IBM und der Mainboard-BIOS-Hersteller Phoenix veröffentlichten 1995 eine CD-ROM-Spezifikation namens El Torito, welche das Booten von einer CD auch auf MS- DOS-PCs möglich macht. El Torito ist eine DOS- Erweiterung des ISO-9660-CD-Formats.

PC Magazin, Nr. 10/98, S. 134

Verfasser: Andreas
Letzte Änderung: 2010-09-26 18:19


Groove

Eine spiralförmige Rille, in der die Daten eingebrannt werden.

PC Magazin, Nr. 4/2004, S. 76

Verfasser: Andreas
Letzte Änderung: 2010-09-26 18:19


Hotspots

Schaltflächen (Buttons), die beim Anklicken einen Clip, ein Menü oder eine andere Funktion aufrufen.

PC Magazin, Nr. 12/2001, S. 85

Verfasser: Andreas
Letzte Änderung: 2010-09-26 18:20


Hybrid Disc

In der Orange-Book-Spezifikation wird der Begriff Hybrid als eine CD-R definiert, die eine (oder mehrere) Sessions enthält, aber noch nicht geschlossen (finalized) ist. Dadruch lassen sich später noch weitere Sessions anfügen. In der Literatur wird dieser Begriff jedoch für eine CD verwendet, die sowohl Windows/DOS- als auch Macintosh-Daten enthält.

PC Magazin, Nr. 10/98, S. 134

Verfasser: Andreas
Letzte Änderung: 2010-09-26 18:21


ISO 9660

Das ISO-9660-Format wurde 1988 veröffentlich und als logisches Format für Dateien und Verzeichnisse einer CD- ROM spezifiziert. Es entstand aus dem HSG-Format (High Sierra Group), welches das logische Format einer CD-ROM definiert und ermöglicht das Lesen einer CD auf verschiedenen Plattformen. Diese Kompatibilität schränkt moderne Betriebssysteme stark ein: Deshalb setzen die unterschiedlichen Betriebssysteme auf eigene individuelle Standards: Unix-Systeme besitzen mit den Rock Ridge Extensions eine Erweiterung, ebenso wie Macintosh-Systeme mit dem Hierarchical File System (HFS) von Apple. Die Vorteile dieser Erweiterungen bekommt man natürlich nur auf den entsprechenden Plattformen zu spüren.

PC Magazin, Nr. 11/97, S. 90

Verfasser: Andreas
Letzte Änderung: 2010-09-26 18:21


Joliet

Das Joliet-File-System wurde von Microsoft entworfen und setzt auf der ISO-9660-Spezifikation auf. CD-Rohlinge, welche mit dem Microsoft-Joliet-File-System arbeiten, können momentan ausschließlich auf Rechnern mit Windows 9x bzw. Windows NT 4.x eingesetzt werden. Das Joliet-File-System erlaubt den Gebrauch von Datei- und Verzeichnisnamen mit einer Länge von bis zu 64 multilingualen Buchstaben, Verzeichnisnamen dürfen sogar mehrmals einen Punkt (".") enthalten. In der Praxis hat dies aber keine Vorteile, sondern schafft nur Kompatibilitätsprobleme.

PC Magazin, Nr. 11/97, S. 90

Verfasser: Andreas
Letzte Änderung: 2010-09-26 18:22


Kapitel-Marker

„Lesezeichen", die in einem Clip einem bestimmten Bild (Frame) zugewiesen werden. Zum einen kann der Film über die Kapitel-Auswahl direkt an dieser Stelle gestartet werden, zum anderen springt der DVD-Player beim Betätigen der Vorwärts-Taste an der Fernbedienung des DVD-Players zum nächsten Marker.

PC Magazin, Nr. 12/2001, S. 85

Verfasser: Andreas
Letzte Änderung: 2010-09-26 18:22


Land-Pre-Pits

Beim Minus-Format bestimmt der Brenner die Adressierung durch das Auslesen vorgestanzter Pits in den Lands zwischen den Grooves.

PC Magazin, Nr. 4/2004, S. 76

Verfasser: Andreas
Letzte Änderung: 2010-09-26 18:23


Ländercode

Die Filmfirmen unterteilen die Welt in sechs Regionen. Jede Region besitzt einen eigenen Code. DVD-Player können nur DVDs abspielen, die den gleichen Ländercode besitzen:

Code Länder
1 USA, Canada, Puerto Rico, Virgin Islands und einige Pazifik-Inseln
2 West-Europa mit Polen, Bulgarien, Rumänien und den Balkanstaaten, Südafrika und der Nahe Osten (Israel, Ägypten bis zum Iran)
3 Südostasien mit den Inselstaaten um Indonesien, Südkorea, Hongkong, Makao
4 Australien, Neuseeland, Süd- und Zentralamerika, die südpazifischen Inseln und Papua Neuguinea
5 Afrika, die Staaten der ehemaligen Sowjetunion, Afghanistan, Pakistan, Indien, Bangladesh, Nepal, Bhutan und Nordkorea
6 China und Tibet

PC Magazin, Nr. 12/99, S. 114

Verfasser: Andreas
Letzte Änderung: 2010-09-26 18:23


Lead-In

Das Lead-In markiert den Startbereich einer Session, in der das Inhaltsverzeichnis (TOC) untergebracht ist. Hier ist der Status (Single- oder Multisession) der CD festgelegt. Ist die CD nicht geschlossen (finalized) worden, ist dort ein Zeiger der nächsten beschreibbaren Adresse angegeben. Das Liead-In wird geschrieben, wenn eine Session geschlossen wird, und benötigt 4500 Sektoren auf der CD (das entspricht einer Minute bzw. 9 MByte).

PC Magazin, Nr. 10/98, S. 135

Verfasser: Andreas
Letzte Änderung: 2010-09-26 18:25


Lead-Out

Das ist ein Bereich am Ende einer Session. Hier wird dem Laufwerk angezeigt, daß das physikalische Ende der Session erreicht ist. Das Lead-Out der ersten Session einer CD benötigt 6750 Sektoren (entspricht 1,5 Minuten bzw. 13 MByte), jedes weitere Lead-Out (je Session) beansprucht 2250 Sektoren (0,5 Minuten), was mit ca. 4 MByte Speicherplatz zu Buche schlägt.

PC Magazin, Nr. 10/98, S. 135

Verfasser: Andreas
Letzte Änderung: 2010-09-26 18:25


Menüs mit Zeitablauf

Hier wechselt das angewählte Menübild nach einer beim Erstellen definierten Zeit zum nächsten. Diese Funktion eignet sich besonders gut für Dia-Shows, wobei die Fotos als Menühintergrund geladen werden. MPEG-Audio unterscheidet sich von AC-3 hauptsächlich durch den Kompressions- Algorithmus. Auch hier können nicht nur Stereosignale wiedergegeben werden. MPEG 2 Audio bietet maximal acht Kanäle. MPEG 1 Layer III, besser bekannt als MP3, wird von DVD aber nicht unterstützt.

PC Magazin, Nr. 12/2001, S. 85

Verfasser: Andreas
Letzte Änderung: 2010-09-26 18:26


Mixed Mode Disc

Unter der Bezeichnung Mixed Mode versteht man eine CD, die sowohl CD-DA-Tracks als auch Computerdaten enthält. Gewöhnlich befinden sich Computerdaten auf Track 1. Auf den weiteren Tracks sind die Audio-Daten untergebracht.

PC Magazin, Nr. 10/98, S. 135

Verfasser: Andreas
Letzte Änderung: 2010-09-26 18:26


MMVF

Der letzte Mitstreiter ist NEC. Die Firma strebt ein Format an, bei dem bis zu 5,2 GByte Daten pro Seite untergebracht werden können. Somit soll es möglich sein, einen zweistündigen Film anzuschauen, ohne dabei die Seite zu wechseln. Bislang sind noch keine weiteren Einzelheiten bekannt, so daß wir nur abwarten können, ob die Technik jemals auf den Markt kommt und sich durchsetzt.

PC Magazin, Nr. 12/98, S. 125

Verfasser: Andreas
Letzte Änderung: 2010-09-26 18:27


Multi Read

Es gibt mehrere Standards, wie die Daten auf einer CD-ROM gespeichert werden. Früher gab es einen Anfang und ein Ende. Die CD konnte nicht mehr verändert werden. Heute können Sie auf einer CD mehrere "Sitzungen" unterbringen, die separat geschrieben und gelesen werden können. Ein Brenner, der so etwas schreiben kann, muß "Multi-Session- fähig" sein, ein CD-ROM-Laufwerk, das das lesen kann, heißt "Multi read".

PCgo!, Nr. 4/99, S. 180

Verfasser: Andreas
Letzte Änderung: 2010-09-26 18:27


Multiangle/Kameraperspektiven

Multiangle („viele Winkel") bezeichnet die Funktion, eine Szene während des Films aus verschiedenen Perspektiven betrachten zu können.

PC Magazin, Nr. 12/2001, S. 85

Verfasser: Andreas
Letzte Änderung: 2010-09-26 18:28


Multisession

Eine "Multisession"-CD besitzt mehr als eine Session ("Singlesession"). Hier können an einer bereits vorhandenen Session eine (oder mehrere) Session(s) angefügt werden. Multisession-CDs machen den heute erhältlichen CD-ROM-Laufwerken keine Probleme mehr, wohl aber dem Audio-CD-Player der Stereoanlage, der nur eine Session (die erste der CD) lesen kann. Unter Umständen nimmt der CD-Player Schaden.

PC Magazin, Nr. 11/97, S. 94

Verfasser: Andreas
Letzte Änderung: 2010-09-26 18:28


NFR

Near Field Recording meint die Nutzung der Energie eines Laserstrahls innerhalb einer Distanz, die kürzer ist als seine Wellenlänge.

PC Magazin, Nr. 5/98, S. 82

Verfasser: Andreas
Letzte Änderung: 2010-09-26 18:28


Orange Book

Im Orange Book wird nur das physikalische Format der CD-R festgelegt. Herkömmliche CD-Rohlinge besitzen eine Kapazität von ca. 580 MByte bzw. 650 MByte. Diese Datenmenge entspricht den Laufzeiten von 63 bzw. 74 Minuten. Die Yellow Book-Spezifikation teilt diese Laufzeit in eine logische Struktur von 333 000 Sektoren auf, wobei für jeden Sektor 2352 Bytes veranschlagt werden. Davon stehen 2048 Byte (2 KByte) für Daten zur Verfügung, die restlichen 304 Bytes werden für die interne Datenstruktur der CD-ROM wie ECC, EDC usw. verwendet.

PC Magazin, Nr. 11/97, S. 90

Verfasser: Andreas
Letzte Änderung: 2010-09-26 18:29


Pi-Sum 8

Bei der Pi-Sum 8-Bestimmung werden die Fehler der Rohdaten vor der Fehlerkorrektur in acht aufeinander folgenden ECC-Blöcken zusammengezählt. Der Grenzwert liegt bei 280. Die Zählung beginnt bei den ersten acht Blöcken, anschließend wird der Achterblock um jeweils einen Block verschoben (2-9; 3-10 usw.), so dass alle aufeinander folgenden Achterblöcke der DVD erfasst werden. Die Diagramme zu den Messungen finden Sie auf der CD.

PC Magazin, Nr. 4/2004, S. 76

Verfasser: Andreas
Letzte Änderung: 2010-09-26 18:30


PIF

Parity Inner Fails. Fehler, die nach der ersten Fehlerkorrektur, die für die Daten eines ECC-Blocks durchgeführt wird, übrig bleiben. Sie können durch die zweite Fehlerkorrektur noch korrigiert werden.

PC Magazin, Nr. 4/2004, S. 76

Verfasser: Andreas
Letzte Änderung: 2010-09-26 18:30


POF

Parity Outer Fails. Auch durch die zweite Fehlerkorrektur nicht korrigierbare Fehler. Sie entsprechen einem Datenfehler.

PC Magazin, Nr. 4/2004, S. 76

Verfasser: Andreas
Letzte Änderung: 2010-09-26 18:31


PWM

Pulse Width Modulation: Insbesondere bei wiederbeschreibbaren optischen Medien eingesetztes Verfahren zur Codierung der per Laserstrahl zu speichernden Information.

PC Magazin, Nr. 5/98, S. 82

Verfasser: Andreas
Letzte Änderung: 2010-09-26 18:31


Red Book Format

1982 veröffentlichten Philips und Sony die IEC-908- Spezifikation, die das Layout und das physikalische Format einer Audio-CD (CD-DA) festlegt.

PC Magazin, Nr. 12/97, S. 144

Verfasser: Andreas
Letzte Änderung: 2010-09-26 18:32


RPC - Region Protection Code

DVD-ROMs für den PC werden mit der so genannten RPC-2-Einstellung - kurz für Region Protection Code 2 - ausgeliefert. Diese erlaubt das fünfmalige Wechseln des Ländercodes, der danach fixiert wird!

Quelle: PC Proffessionell 10/2002, S. 200

Verfasser: Andreas
Letzte Änderung: 2010-09-26 18:32


Schreibstrategie

Die Aufzeichnungsschicht des Rohlings kann aus verschiedenen Materialien bestehen, die der Hersteller frei auswählen kann. Passend zu den Materialeigenschaften und der Groove-Architektur muss der Brenner den Laser auf eine bestimmte Stärke einstellen und bestimmte Zeitintervalle vor dem Zünden und Verlöschen des Lasers beachten. Der Rohlinghersteller weiß im Gegensatz zum Brennerhersteller über die jeweiligen Eigenheiten des Rohlings Bescheid und gibt eine optimale Schreibstrategie vor, die bei der Fertigung auf den Rohling codiert eingestanzt wird.

PC Magazin, Nr. 4/2004, S. 76

Verfasser: Andreas
Letzte Änderung: 2010-09-26 18:33


Session At Once

Dieser Schreibmodus arbeitet prinzipiell wie das Track-At- Once-Verfahren. Nur wird die CD hier in einem Rutsch geschrieben, und ein flexibles Einstellen der Pausen zwischen den Tracks ist möglich. Wird diese auf 0 Sekunden gesetzt, entspricht dies wieder dem Disk At Once.

PC Magazin, Nr. 10/98, S. 135

Verfasser: Andreas
Letzte Änderung: 2010-09-26 18:34


SVCD

Super Video CD, höhere Datenraten
und besseres Bild als bei VCD, aber
auch mehr Platzbedarf im MPEG-2-Verfahren

PC Magazin, Nr. 12/2003, S. 65

Verfasser: Andreas
Letzte Änderung: 2010-09-26 18:34


TAO

Abk. für Track at Once, siehe dort.

PC Magazin Plus, Nr. 7/99, S. 11

Verfasser: Andreas
Letzte Änderung: 2010-09-26 18:35


Track At Once

Bei dem Aufzeichnungsverfahren werden alle Tracks einzeln auf die CD geschrieben. Hier entsteht zwischen den einzelnen Tracks eine Pause von zwei Sekunden, da der Brenner den Laser neu ausrichten muß.

PC Magazin, Nr. 12/97, S. 144

Verfasser: Andreas
Letzte Änderung: 2010-09-26 18:35


UDF

Das Universal Disk Format wurde erst durch die Einführung der CD-RWs aus der Taufe gehoben. Es verwendet einen Schreibmodus der als "Incremental Packet Writing" bezeichnet wird. Hier erhält der Brenner seine Daten nicht mehr als kontinuierlichen Strom, sondern als Pakete. Damit ist es möglich die Scheiben so zu beschreiben, als wenn es eine Festplatte wäre. Das heißt, man kann einfach per Drag&Drop die Daten auf die CD-RW schieben.

PCgo!, Nr. 11/98, S. 139

Verfasser: Andreas
Letzte Änderung: 2010-09-26 18:36


VCD

Video CD im MPEG-1-Verfahren

PC Magazin, Nr. 12/2003, S. 65

Verfasser: Andreas
Letzte Änderung: 2010-09-26 18:36


White Book

Der White-Book-Standard wurde für die Video-CD geschaffen, die Philips, Sony, JVC und Matsushita entwickelt haben.

PC Magazin, Nr. 10/98, S. 135

Verfasser: Andreas
Letzte Änderung: 2010-09-26 18:37


Wobble

Die Wellenform des Groove, die beim Auslesen ein hochfrequentes Signal erzeugt. Der Wobble dient zur Drehzahlregulierung, beim Plus-Format durch zusätzlich aufmodulierte Wellenformen auch zur Positionierung.

PC Magazin, Nr. 4/2004, S. 76

Verfasser: Andreas
Letzte Änderung: 2010-09-26 18:37


Yellow Book

Die Yellow-Book-Spezifikation für CD-ROM-Datenträger basiert auf dem Red-Book-Standard. Sie definiert zwei neue Modi - Mode 1 und 2 - und führt noch eine Fehlerkorrekturschicht ein.

PC Magazin, Nr. 10/98, S. 135

Verfasser: Andreas
Letzte Änderung: 2010-09-26 18:38


A/B Roll

Unter A/B Roll versteht man die automatische Steuerung zweier Zuspieler beim Schnitt, bei dem vom Zuspieler A auf den Zuspieler B geschnitten wird. Die Bezeichnung A/B Roll stammt noch aus der Zeit, wo man am Schneidetisch von Filmrolle A auf Filmrolle B geschnitten hat. Hierbei werden Ein- oder Ausblendungen, Wischer oder andere Übergänge direkt von einer Videoquelle zur anderen vorgenommen. Die A/B Roll-Technik wird beim Mischen genutzt, um zwei Videogeräte präzise zu positionieren. Die Maschinen werden so gestartet, dass die Bänder bis zum Mischpult mit gleicher Bildsynchronisation laufen.

PC Magazin Plus, Nr. 4/2000, S. 24

Verfasser: Andreas
Letzte Änderung: 2010-10-09 17:20


Aberration

Optischer Fehler einer Linse bzw. eines Objektivs, der die Bildschärfe reduziert. Man unterscheidet sphärische (Linsenfehler) und chromatische Aberration (Licht wird von einer Linse gebeugt).

PC Magazin, Nr. 7/97, S. 136

Verfasser: Andreas
Letzte Änderung: 2010-10-09 17:20


ActiveMovie

ActiveMovie ist nicht nur der 32-Bit-Nachfolger von "Video für Windows", sondern laut Microsoft auch die neue Multimedia-Architektur. ActiveMovie basiert auf Filtern, hierbei unterscheidet man zwischen Source- (holt die Daten in den Speicher), Transform- (dekodiert die Daten je nach CODEC) und Rendering-Filter (stellt Daten dar). Das AVI Playback ist durch den Wegfall von MCI wesentlich verbessert worden.

PC Magazin Plus, Nr. 4/2000, S. 24

Verfasser: Andreas
Letzte Änderung: 2010-10-09 17:21


Animation

Ein Film, dessen bewegte Bilder mit Computerprogrammen erzeugt wurden.

PC Magazin, Nr. 10/2000, S. 94

Verfasser: Andreas
Letzte Änderung: 2010-10-09 17:22


Artefakt

Bei der digitalen Bildbearbeitung beschreibt der Begriff Artefakt gut sichtbare und störende Bildfehler, die meist durch einen Kompressionsfehler entstehen.

PC Magazin, Nr. 10/2000, S. 94

Verfasser: Andreas
Letzte Änderung: 2010-10-09 17:22


ASA

Die American Standard Association bezeichnet die Empfindlichkeit von Film oder CCD-Sensoren. Ein weiteres Meßverfahren basiert auf DIN (Deutsches Institut für Normung). ISO-Werte sind eine Kombination aus ASA- und DIN-Werten.

PC Magazin, Nr. 7/97, S. 136

Verfasser: Andreas
Letzte Änderung: 2010-10-09 17:23


Assemble-Schnitt

Das entscheidende bei diesem Schnittverfahren ist, dass immer eine Sequenz (Clip) an die nächste angehängt bzw. geschnitten wird, ohne die vorhergehende zu kürzen oder einen Zwischenraum zwischen den beiden Sequenzen zu lassen. Eine Vorkodierung des Bandes wie beim Insertschnitt ist somit nicht zwingend notwendig.

PC Magazin PLUS, Nr. 4/2000, S. 24

Verfasser: Andreas
Letzte Änderung: 2010-10-09 17:24


Auflösung

Jeder Beamer ist für eine bestimmte Auflösung optimiert, in der das Gerät die beste Darstellung liefert. Diese Auflösung sollte mindestens 720 x 576 Bildpunkte betragen, um damit höher als die deutsche PAL-Auflösung zu liegen. Bei 4:3-Beamern har der Käufer meist die Wahl zwischen 800 x 600 (SVGA) oder 1024 x 768 (XGA), 16:9-Beamer liefern meistens ein Bild von 1024 x 576.

Quelle: PCgo 7/04 Seite 71

Verfasser: Andreas
Letzte Änderung: 2010-10-09 17:24


Autofokus aktiv

Aktive Autofokus-Systeme senden einen Messstrahl, meist in Form von infrarotem Licht aus, mit dessen Hilfe die Kamera den Abstand zum Objekt ermittelt und das Objektiv entsprechend einstellt. Solche Systeme können ins Schleudern geraten, wenn durch eine Fensterscheibe fotografiert werden soll.

PC Magazin, Nr. 8/2001, S. 93

Verfasser: Andreas
Letzte Änderung: 2010-10-09 17:25


Autofokus passiv

Soche Systeme finden sich hauptsächlich in Spiegelreflexkameras oder hochwertigen Sucherkameras. Hier wird die Bildschärfe am abgebildeten Objekt ermittelt, es wird also das scharf gestellt, was auch anvisiert ist.

PC Magazin, Nr. 8/2001, S. 93

Verfasser: Andreas
Letzte Änderung: 2010-10-09 17:25


AV

Kurze Zusammenfassung der Begriffe Audio und Video. Das Akronym wird meist in Kombination mit anderen Begriffen benutzt (Beispiel: AV-Festplatten).

PC Magazin, Nr. 10/2000, S. 94

Verfasser: Andreas
Letzte Änderung: 2010-10-09 17:27


BetacamSP

Professionelles Videosystem von Sony, das in den heutigen Fernsehstudios langsam von DigitalBeta und Panasonics DVCPro50 abgelöst wird.

PC Magazin, Nr. 10/2000, S. 94

Verfasser: Andreas
Letzte Änderung: 2010-10-09 17:27


Blende

Die im Durchmesser variable Öffnung eines Objetivs, mit der die Lichtintensität bzw. -menge gesteuert wird. Die Blendenöffnung wird anhand von Blendenstufen angegeben. Dividiert man die Brennweite eines Objektivs durch eine Blendenzahl, so erhält man den Öffnungsdurchmesser. Erhöht man diesen um eine Blendenstufe (nächstkleinere Blendenzahl), wird die doppelte Menge Licht durchgelassen.

PC Magazin, Nr. 7/97, S. 136

Verfasser: Andreas
Letzte Änderung: 2010-10-09 17:28


Blooming

Das Überlaufen der elektrischen Ladung zwischen CCD- Elementen, verursacht durch starke Überbelichtung. In den aufgenommenen Bildern sind um Lichtquellen oder helle Reflektionen Streifen oder Lichthöfe zu erkennen. Hochwertige CCD-Elemente besitzen ein Gate, das wie ein Überlauf funktioniert und die überschüssige Ladung aufnimmt.

PC Magazin, Nr. 7/97, S. 136

Verfasser: Andreas
Letzte Änderung: 2010-10-09 17:28


Bluebox

Unter dem Blueboxverfahren versteht man Aufnahmen, die vor einer blauen Wand gemacht werden. Diese blaue Farbe wird dann aus dem Bild gestanzt, d.h. mit der Komplettfarbe addiert. Nach dem sogenannten Keying sind nur noch Bildanteile vorhanden, die nicht blau waren. Beim Bluebox-Verfahren ist darauf zu achten, dass Personen (Kleidung) oder Gegenstände nicht die gleiche oder ähnliche Farbe besitzen wie die blaue Wand. Eine blaue Wand ist nicht zwingend notwendig, es kann auch jede andere Farbe eingestzt werden. Blueboxing ist ein Spezialfall des Chroma-Keyings, der besonders für Personenaufnahmen geeignet ist. Der Name rührt daher, dass der Aufnahmehintergrund blau ist, weil diese Farbe in den menschlichen Hautfarben nicht vorkommt.

PC Magazin Plus, Nr. 4/2000, S. 24

Verfasser: Andreas
Letzte Änderung: 2010-10-09 17:33


Brechungsindex

Maß für die Geschwindigkeit von Licht in einem bestimmten Medium im Vergleich zum Vakuum.

PC Magazin, Nr. 5/98, S. 82

Verfasser: Andreas
Letzte Änderung: 2010-10-09 17:33


Brennweite

Werden parallele Lichtstrahlen von einem entfernten Objekt mit einer einfachen Konvexlinse in einem Punkt fokussiert, entspricht die Brennweite der Entfernung zwischen dem Mittelpunkt der Linse (dem Bildknotenpunkt) und dem Brennpunkt.

PC Magazin, Nr. 7/97, S. 136


Je größer die Brennweite eines Kamerabojektivs, desto näher erscheint das Motiv. Brennweiten unter 35 mm gelten als "Weitwinkel". ab etwa 80 mm spricht man von "Tele" (bei Kleinbildkameras).


Quelle: Computer Bild 10/2006, Seite 21

Verfasser: Andreas
Letzte Änderung: 2010-10-09 17:34


Chrominanz

Das Videobild teilt sich in zwei Signale auf, eines davon ist die Chrominanz, die jedem Bildpunkt einen Farbwert zuweist. Die Chrominanz unterteilt sich in Sättigung (Saturation) und Reinheit (Hue).

PC Magazin, Nr. 10/2000, S. 94

Verfasser: Andreas
Letzte Änderung: 2010-10-09 17:35


CMOS

Der CMOS-Baustein (Complementary Metal Oxide Semiconductor) arbeitet ähnlich wie das CCD, ist aber in der Herstellung billiger, dafür bietet CMOS nicht die gleiche Bildqualität.

PC Magazin, Nr. 8/2001, S. 93

Verfasser: Andreas
Letzte Änderung: 2010-10-09 17:35


Codec

Das sind Kompressionstechniken, mit denen die Größe von Audio- und Videodaten im PC reduziert wird. Da die Transferraten von Bussystemen (PCI, IDE, SCSI etc.) immer noch relativ gering sind, ist eine Kompression der Daten erforderlich. Ohne Datenreduktion besteht ein digitales Audio-Signal aus 16-bit großen Samples, bei einer Samplingfrequenz von 44,1 kHz bei einer Audio-CD. Mit der MPEG-Audio-Kompression lassen sich Kompressionsraten von bis zu 1:12 erreichen.

PCgo!, Nr. 7/99, S. 88

Verfasser: Andreas
Letzte Änderung: 2010-10-09 17:36


Composite-Video

Im Unterschied zu Grafikkarte und Computermonitor tauschen der heimische Videorekorder und der Fernseher die Bildinformationen nicht in Form dreier getrennter Farbsignale (RGB entsprechend Rot, Grün, Blau) aus. Vielmehr sind dort Schwarzweiß (Luminanz) und Farbinformation (Chrominanz) auf raffinierte Weise in ein einzelnes Signal verschachtelt. Mit Hilfe dieses Composite oder FBAS genannten Signals lassen sich alle Informationen des Videobildes in nur einem Kabel übertragen. Diese auf den ersten Blick geniale und für die Bildübertragung per Fernseher unabdingbare Methode hat aber auch ihre Schattenseiten, denn bei der Verschachtelung von Lumineszenz (Y) und Chrominanz (C) schleichen sich durch unvermeidliche Ungenauigkeiten Fehler ins Videobild

PC Magazin, Nr. 7/97, S. 79

Verfasser: Andreas
Letzte Änderung: 2010-10-09 17:36


CRT

Die klassischen Röhrenmonitore bezeichnet man in Fachzeitschriften und Datenblättern oft nach ihrer Hauptkomponente, der Kathodenstrahlröhre - Cathode Ray Tube (CRT).

PC Magazin, Nr. 2/2000, S. 121

Verfasser: Andreas
Letzte Änderung: 2010-10-09 17:37


Data Rate

Mit der Datenrate (Data Rate) wird die Geschwindigkeit eines Datentransfers angegeben, meist in den Einheiten Bit per Second (bps) oder in Bytes per Second (Bps). Die Datenrate gibt das Verhältnis einer Datenmenge zu einer bestimmten Zeit an.

PC Magazin Plus, Nr. 4/2000, S. 24

Verfasser: Andreas
Letzte Änderung: 2010-10-09 17:37


Datenkompression

Durch eine Datenkompression erreicht man eine Verkleinerung der Datenmenge. Hierbei ist zwischen verlustbehafteter und verlustfreier Kompression zu unterscheiden. Bei einer verlustfreien Kompression läßt sich die Orginaldatei wieder herstellen. Beispiele hierfür sind Packprogramme, wie ZIP oder ARC. Eine verlustbehaftete Datenkompression wäre zum Beispiel MPEG oder JPEG; hier gehen die Orginaldateien beim Kompriemieren verloren. Bei digitalem Video fallen enorme Informationsmengen an. Ohne Maßnahmen zur Datenreduktion füllt ein 90-min-Spielfilm über 120 GByte (1 GByte = 1000 MByte, 120 GByte sind ca. 200 volle CDs). Für heutige CD- ROM-Laufwerke ist der Umgang mit so enormen Datenmengen nicht praktikabel. Um der gigantischen Datenflut Herr zu werden, speichert MPEG nicht jedes Einzelbild, sondern nur die Veränderung von Bild zu Bild. Dadurch ergibt sich eine Reduktion auf etwa 0,7 % der ursprünglichen Datenmenge.

PC Magazin Plus, Nr. 4/2000, S. 24

Verfasser: Andreas
Letzte Änderung: 2010-10-09 17:38


DFP

Die Digital Flat Panel Group - Produzenten wie ATI oder Compaq - entwickelten einen eigenen kostengünstigen Port. Dieser überträgt ausschließlich digitale Videoinformationen. Teure Sonderanschlüsse sparte man hier ein. Allerdings hat das System ebenso wie P&D einen entscheidenden Nachteil: Die Auflösung ist auf SXGA (1280 x 1024) beschränkt.

PC Magazin, Nr. 2/2000, S. 121

Verfasser: Andreas
Letzte Änderung: 2010-10-09 17:39


Digicam-Bildgrößen in Megapixel

9 x 13 cm 1.17 MP gut 1,75 MP optimal
10 x 15 cm 1,5 MP gut 2,25 MP optimal
13 x 18 cm 2,34 MP gut 3,51 MP optimal
20 x 30 cm 6 MP gut 9 MP optimal

Mit den "guten" Werten erreicht man eine Auflösung von 150 ppi, was ungefähr dem "60er"-Druckraster entspricht (60 Linien / cm) und den meisten Amateur-Ansprüchen genügen wird.

Die "optimalen" Werte nutzen die Auflösung eines Belichers mit 250 ppi voll aus.

Verfasser: Andreas
Letzte Änderung: 2010-10-09 17:39


Digitaler Zoom

Im Gegensatz zum optischen Zoom bedeutet der digitale Zoom eine Verschlechterung der Bildqualität, da hier ein Ausschnitt des Bildes rechnerisch vergrößert wird.

PC Magazin, Nr. 8/2001, S. 93

Verfasser: Andreas
Letzte Änderung: 2010-10-09 17:40


DivX

DivX ist ein Verfahren zum platzsparenden Speichern von Filmen. Zur Wiedergabe auf dem PC brauchen Sie eine entsprechende Abspielsoftware. Viele DVD Spieler können auch auf CD oder DVD gebrannte DivX-Filme abspielen.

Quelle: Computer Bild 10/2006, Seite 21

Verfasser: Andreas
Letzte Änderung: 2010-10-09 17:40


Drop-Out

Bei analogem Bildmaterial sind vor allem bei älteren Kassetten Bildfehler festzustellen, die von einem zerstörten Halbbild herrühren.

PC Magazin, Nr. 10/2000, S. 94

Verfasser: Andreas
Letzte Änderung: 2010-10-09 17:57


Droped Frames

Als Droped Frames bezeichnet man jene Bilder, die beim Digitalisieren verloren gegangen, das heißt, nicht digitalisiert worden sind. Dies passiert in den meisten Fällen, weil die Komprimierungsrate zu klein gewählt worden bzw. das Computersystem nicht schnell genug ist.

PC Magazin Plus, Nr. 4/2000, S. 24

Verfasser: Andreas
Letzte Änderung: 2010-10-09 17:57


DV

Abk. für Digital Video, der neue Consumerstandard der großen Videofirmen (Sony, Panasonic u.a.). Beim DV- Format werden die Videodaten DCT kompriemiert mit einer festen Datenrate von 25 MBit/s aufs Band geschrieben, was einem Faktor von ca. 1:5 entspricht. Das Video- Signal wird mit 625 Zeilen in 4:2:0 kodiert, das Audio- Signal wird bei 2 Kanälen mit 16 Bit und 44,1 kHz oder bei 4 Kanälen mit 12 Bit und 32 kHz kodiert. Bei der Kassette handelt es sich um ein 6,3 mm Metallband. Desweiteren sind auf der Kassette 16 KByte zur Speicherung von Userdaten oder Picons vorhanden. Die Digitalbänder gibt es als 60-Minuten-Cassette und als größere 270-Minuten-Standard-DV für stationäre Geräte. Die Kasetten können auch einen Chip enthalten, auf dem Daten zur Aufnahme gespeichert werden.

PC Magazin Plus, Nr. 4/2000, S. 24

Verfasser: Andreas
Letzte Änderung: 2010-10-09 17:58


DVB-C/-T/-S/-S2

DVB steht für digital ausgestrahltes Fernsehen.
DVB-C empfangen Sie über Kabel (Cable) und DVB-T über eine herkömmliche Antenne.
DVB-S und DVB-S2(für das hochauflösende HDTV-Fernsehen) empfangen Sie über Satellit.


Quelle: Computer Bild 10/2006, Seite 21

Verfasser: Andreas
Letzte Änderung: 2010-10-09 17:58


DVI

Das Digital Visual Interface beruht auf der Digital Display Working Group (DDWG). Es gilt als gesichert, daß sich unter den Digitalstandards DVI durchsetzen wird. Er überwindet die Hürden von P&D und DFP und ermöglicht über zwei Links zum Monitor Auflösungen jenseits von 1280 x 1024. Außerdem können analoge Signale für ältere Monitore mit übertragen werden.

PC Magazin, Nr. 2/2000, S. 121

DVI ist die digitale Schnittstelle zwischen Monitor und PC. Auch einige Beamer haben einen DVI-Eingang und können digitale Signale des PCs verarbeiten.

Quelle: PCgo 7/04 Seite 71

Verfasser: Andreas
Letzte Änderung: 2010-10-09 17:59


Farbdifferenzsignal

Zur Übertragung von Filmmaterial teilt man die Signale auf in Luminanz (Y) und Farbdifferenzsignale des RGB- Spektrums (R-Y, G-Y, B-Y). Beim Informationstransport spart man G-Y ein, da man es mit Hilfe der anderen beiden Farbdifferenzsignale wieder herstellen kann.

PC Magazin, Nr. 10/2000, S. 94

Verfasser: Andreas
Letzte Änderung: 2010-10-09 17:59


Farbrauschen

Thermische Störungen in einem Halbleiter-Bauelement werden als Signalrauschen bezeichnet. Bei einem CCD macht sich der Effekt durch fehlerhafte Pixel bemerkbar, die in dunklen, gleichfarbigen Flächen auftreten.

PC Magazin, Nr. 8/2001, S. 93

Verfasser: Andreas
Letzte Änderung: 2010-10-09 18:00


Welche Formate mit welchen Programmen

Hier führe ich einige Programme an mit denen man verschiedene Videoformate umwandeln kann und dies kostengünstig - Freeware

MPEG-Dateien mit TMPGEnc schneiden

MPEGS mit VCDGear reparieren

DivX-Dateien mit VirtualDub schneiden

DivX-Videos mit DivFix reparieren

VHS-Filme mit VirtualDub in Video CDs umwandeln (DivX-Filmdateien im AVI Format)

AVIs (DivX-Filmdateien im AVI Format) mit TMPEnc in MPEGs umwandeln

Verfasser: Andreas
Letzte Änderung: 2010-10-09 18:00


Frame

Das Video- und Fernsehbild unterteilt sich in 25 Vollbilder (PAL), bestehend aus 50 Halbbildern (Fields). Unter NTSC sind es 30 Vollbilder.

PC Magazin, Nr. 10/2000, S. 94

Verfasser: Andreas
Letzte Änderung: 2010-10-09 18:01


Geisterbilder

Bei längerer Lagerungszeit von Videobändern können sich Bildinformationen durchkopieren - es kommt zu schemenhaften Bildfehlern des Materials.

PC Magazin, Nr. 10/2000, S. 94

Verfasser: Andreas
Letzte Änderung: 2010-10-09 18:01


Generation

Jede Folgekopie stellt im Videobereich eine Generation dar. Ab der dritten Generation schleichen sich bei analogem Videomaterial schon beachtliche Bildfehler ein. Jede weitere Kopie verschlechtert die Bild- und Toneigenschaften des Materials.

PC Magazin, Nr. 10/2000, S. 94

Verfasser: Andreas
Letzte Änderung: 2010-10-09 18:02


HDMI

Ähnlich wie der DVI Anschluss am PC überträgt der HDMI Anschluss Bildsignale digital - etwa vom DVD-Spieler zum TV Gerät. Zusätzlich leitet HDMI auch den Ton weiter.


Quelle: Computer Bild 10/2006, Seite 21

Ein HDMI-Audio-Rückkanal (Audio Return Channel, ARC) ist rstmals in HDMI-Anschlüsse der Version 1.4 integriert. Er überträgt on vom Fernseher über das HDMI-Kabel auf den Verstärker. ine zusätzliche Audioverbindung etwa über S/P-DIF ist nicht nötig.

PC-Welt 7/2011

 

Verfasser: Andreas
Letzte Änderung: 2011-06-05 14:10


IEEE-1394

Die beste, wenngleich bislang auch auf Sony-Geräte beschränkte Videoübertragungsmethode ist zweifellos die digitale per IEEE-1394, auch FireWire, genannt. Diese in erster Linie auf Initiative von Sony und Apple ins Leben gerufene Schnittstelle ist wie geschaffen zur Übertragung digitaler Videoinformationen, wnngleich FireWire auch für andere Zwecke geeignet ist. Bisher schafft IEEE-1394 100 MBit/s, in Kürze wird es jedoch auch 200 und 400 MBit/s geben. Übertragen werden die Videodaten im Prinzip Spur für Spur, so wie sie vom Band kommen. Wann auch die anderen Hersteller von Videokameras auf FireWire aufspringen werden, ist bislang noch unklar. Daß sie früher oder später dazu gezwungen sind, ist aber so gut wie sicher.

PC Magazin, Nr. 7/97, S. 79

Verfasser: Andreas
Letzte Änderung: 2010-10-09 18:03


Infos über Video Formate

Aufnahmequalitäten

XP/HQ/M1 = höchste Qualitätsstufe 60'
SP/M2 = 120'
M2+ = 150'
M3 = 180'
LP = 240'
EP = schlechte Qualitätsstufe 360'
FR = max. 480'
FR Free-Rate-Modus- Bildqualität passt sich an die vorhandene Kapazität an

Musikformate
MP3 Musik 32 KBit/s
Dolby Digital 2.0 384 KBit/s
Linear-Pulse-Code-Modulation 2.0 (LPCM) 1536 KBit/s

MPEG Qualitätsstufen
max. 9,8 MBit/s
9,7 - 8,6 MBit/s 60'
4,6 - 3,5 MBit/s 120' VHS Qualität
2,8 - 1,9 MBit/s 240' VCD, SVCD
1,6 - 1,2 MBit/s 360' unscharfe und verrauschte Darstellung

Fernsehnormen
PAL 722 x 576 Bildpunkte, 50 Halbbilder/s
NTSC 722 x 544 Bildpunkte
16:9 964 x 544 Bildpunkte
VCD 352 x 288 Bildpunkte
SVCD 720 x 576 Bildpunkte

YUV-Format 25 Vollbilder/s z.B. DVD

De-Interlacing: Das Videosignal das der Player im Interlaced-Modus liefert, muss zuerst umgerechnet werden. Dabei werden 2 Halbbilder zu einem Vollbild zusammengesetzt.

Interlaced: Bildaufbau aus 50 Halbbilder (PAL-Video-Bild)

Auf eine 80 GB HDD kann man bis zu 17 Stunden Film in bester Qualität speichern.

Verfasser: Andreas
Letzte Änderung: 2010-10-09 18:04


IPS

Das In-Plane-Switching ist eine Technik zur Verbesserung des Blickwinkels auf bis zu 170 Grad (Kontrast). Die Elektroden zur Ausrichtung befinden sich dabei nicht an gegenüberliegenden Zellwänden (wie bei Twisted-Mematic), sondern auf der gleichen Seite. Die Kristalle richten sich nur parallel zum Glassubstrat aus.

PC Magazin, Nr. 2/2000, S. 121

Verfasser: Andreas
Letzte Änderung: 2010-10-09 18:04


Keyframe

Kompressoren wie MPEG speichern nicht immer ganze Bilder, sondern jeweils die Veränderungen zum vorhergehenden Bild. Die Bilder, in denen das gesamte Bild gespeichert wird, nennt man Keyframes.

PC Magazin, Nr. 10/2000, S. 94

Verfasser: Andreas
Letzte Änderung: 2010-10-09 18:11


Lineares Schnittsystem

Die Schnitte des Bildmaterials erfolgen nacheinander. Die Veränderung eines zu Beginn des Films ausgeführten Schnitts ist nicht möglich, ohne den ganzen Film noch einmal zu schneiden.

PC Magazin, Nr. 10/2000, S. 94

Verfasser: Andreas
Letzte Änderung: 2010-10-09 18:11


Luminanz

Das Videobild zerlegt sich in zwei Signale: Chrominanz und Luminanz (Y). Die Luminanz enthält dabei alle Informationen für die Bildhelligkeit und den Kontrast.

PC Magazin, Nr. 10/2000, S. 94

Verfasser: Andreas
Letzte Änderung: 2010-10-09 18:12


M-JPEG

Die Bezeichnung M-JPEG (Motion-Joint Picture Expert Group) steht für ein hardwareabhängiges Kompressionsverfahren, um bewegte Bilder (Videos) zu komprimieren. Anders als bei der MPEG-Komprimierung wird bei M-JPEG jedes Einzelbild für sich selbst komprimiert. Das M-JPEG-Kompressionsverfahren wird auf den meisten gängigen Captureboards angewandt, allerdings ist dieser Standard nicht hundertprozentig genormt, das heißt, M-JPEG-komprimierte AVIs können meist nicht auf Karten eines anderen Herstellers abgespielt werden.

PC Magazin Plus, Nr. 4/2000, S. 25

Verfasser: Andreas
Letzte Änderung: 2010-10-09 18:12


Merger

Setzt die VOBs neu zusammen

z.B. Maestro

Verfasser: Andreas
Letzte Änderung: 2010-10-09 18:13


MPEG

Die Moving Picture Experts Group hat mit der MPEG- Komprimierung einen nach ISO genormten Standard geschaffen, der sich als Ziel gesetzt hat, eine hohe Videoqualität, eine Spezifikation für bewegte Bilder mit syncronem Audio- und Kompressionsfaktor bis max. 200:1 zu schaffen. Der MPEG-Datenstrom kann sich aus I-Frames, P- Frames und B-Frames zusammensetzen. Der MPEG-Standard unterteilt sich in MPEG-1, MPEG-2, MPEG-3 und MPEG-4, wobei der MPEG-3-Standard mittlerweile in MPEG-2 integriert wurde.

PC Magazin Plus, Nr. 4/2000, S. 25

Verfasser: Andreas
Letzte Änderung: 2010-10-09 18:14


MPEG-1

Die MPEG-1-Komprimierung bzw. Dekomprimierung war ursprünglich ein hardwareabhängiges Verfahren. Es ist allerdings mittlerweile, dank der schnellen Prozessoren, auch ein Softwaredekomprimieren möglich. MPEG-1 Spezifikation:
1) 25 Frames, keine Information zwischen den Halbbildern, 2) Auflösung von 352x288 (SIF- Auflösung),
3) 1, 2 bis 3 MBits/s (1,2 MBits/bei Video- CD).

PC Magazin Plus, Nr. 4/2000, S. 25

Verfasser: Andreas
Letzte Änderung: 2010-10-09 18:14


MPEG-2

Der MPEG-2-Standard ist der neue Broadcaststandard. Bei einer reinen I-Framecodierung läßt sich MPEG-2 sogar im Schnittbetrieb einsetzen. MPEG-2-Spezifikation:
1) 50 Fields/25 Frames,
2) CCIR 601 Levels,
3) High-Auflösung 1920x1152 bis zu 80 MBits/s (HDTV),
4) High-Auflösung 1440x1440 bis zu 60 MBits/s (HDTV),
5) Main-Auflösung 720x576 bis zu 15 MBits/s (D1),
6) Low-Auflösung 352x288 bis zu 4 MBits/s (S-VHS, SIF).

PC Magazin Plus, Nr. 4/2000, S. 25

Verfasser: Andreas
Letzte Änderung: 2010-10-09 18:14


MPEG-4

Der MPEG-4-Standard wurde für Videokonferenzen entwickelt. Man geht von diesem Komprimierungsverfahren davon aus, dass nur eine leichte Bildveränderung passiert. MPEG-4 Spezifikation:
1) 10 Fields/10 Frames,
2) QSIF,
3) 4,8-64 kBit/s.

PC Magazin Plus, Nr. 4/2000, S. 25

Verfasser: Andreas
Letzte Änderung: 2010-10-09 18:16


MVA

Multi Domain Vertical Alignment ist die derzeit beste Methode, um den Blickwinkel auf das Panel zu verbessern. Wie beim IPS sind die Elektroden auf besondere Art ausgerichtet. Durch ihre Position zueinander ergeben sich kleine Unterbereiche (Multi-Domains) in jeder Zelle. Die Flüssigkristalle liegen nicht parallel oder vertikal zum Glassubstrat - sondern diagonal. Dadurch ist nicht nur der Blickwinkel auf ungefähr 170 Grad geweitet, sondern auch die Reaktionszeit der Zelle ist ein Drittel schneller.

PC Magazin, Nr. 2/2000, S. 121

Verfasser: Andreas
Letzte Änderung: 2010-10-09 18:17


NA

Numerische Apertur: Blendenzahl. Entspricht dem Kehrwert des Öffnungsverhältnisses einer Linse.

PC Magazin, Nr. 5/98, S. 82

Verfasser: Andreas
Letzte Änderung: 2010-10-09 18:17


Nonlinear Editing

Unter nonlinearem Schnittsystem versteht man ein computergestütztes Schnittsystem, bei dem die Videoclips nicht auf Videobänder, sondern auf Festplatten aufgespielt sind. Der Vorteil gegenüber einem konventionellen Drei-Maschinen-Schnittplatz ist der, dass es keine Umspulzeiten gibt bzw. dass nahezu verschleißfrei gearbeitet werden kann.

PC Magazin Plus, Nr. 4/2000, S. 25

Verfasser: Andreas
Letzte Änderung: 2010-10-09 18:18


NTSC

Älteste Farbfernsehnorm mit 30 Vollbildern pro Sekunde und einer Auflösung von 525 Zeilen. NTSC wird bis heute in den USA, Kanada und Japan (zusammen mit HDTV-Standard) eingesetzt.

PC Magazin, Nr. 10/2000, S. 94

Verfasser: Andreas
Letzte Änderung: 2010-10-09 18:18


Optischer Zoom

Durch eine aufwendige Konstruktion sind Zoomobjektive in der Lage, ihre Brennweite zu verändern. Digitale Kameras ohne Wechseloptik bieten einen Brennweitenbereich vom Weitwinkel bis in den Telebereich. Sehr gute Objektive bieten über den ganzen Zoombereich die gleiche Lichtstärke (etwa 7 bis 20 mm, 2,0), andere werden im Telebereich lichtschwächer (7 bis 20 mm, 2,8 - 4,0).

PC Magazin, Nr. 8/2001, S. 93

Verfasser: Andreas
Letzte Änderung: 2010-10-09 18:19


Overlay

Unter einem Overlay versteht man eine Einblendung eines analogen Videosignals in ein digitales Computerbild auf dem VGA-Monitor. Voraussetzung dafür ist eine spezielle Overlaykarte oder eine Capturekarte mit Overlayfunktion. Das VGA-Signal der Grafikkarte wird durch die Overlaykarte geschliffen, wobei das Overlay-Signal in das VGA-Signal eingestanzt wird.

PC Magazin Plus, Nr. 4/2000, S. 25

Verfasser: Andreas
Letzte Änderung: 2010-10-09 18:19


P&D

Plug&Display war ursprünglich von der Video Electronics Standards Association (VESA) als neuer Anschluß für digitale Monitore gedacht. Er enthielt neben den digitalen Videoinformationen analoge Leitungen, sogar USB- und FireWire-Leitungen waren vorgesehen. Den Herstellern war der Anschluß aber zu teuer.

PC Magazin, Nr. 2/2000, S. 121

Verfasser: Andreas
Letzte Änderung: 2010-10-09 18:20


PAL - Phase Alternation Line

Die am weitesten verbreitete Fernsehnorm in Europa. Entwickelt wurde sie 1963 von Walter Bruch. PAL arbeitet mit 25 Frames und 625 Zeilen Auflösung. PALPlus ist die abwärtskompatible Erweiterung des Standards auf das Format 16:9.

PC Magazin, Nr. 10/2000, S. 94

Verfasser: Andreas
Letzte Änderung: 2010-10-09 18:21


Parallaxe

Kameras mit optischem Sucher haben nicht immer den gleichen Blickwinkel wie der CD-Chip. Das Hat zur Folge, daß Sucher und Objektiv ein Bild unterschiedlich erfassen. Besonders bei Nahaufnahmen kann es dabei zu Abweichungen kommen.

PC Magazin, Nr. 7/97, S. 136

Verfasser: Andreas
Letzte Änderung: 2010-10-09 18:21


Preroll

Als Preroll-Zeit bezeichnet man die Zeit, die ein Player und ein Rekorder benötigen, um sich zu syncronisieren, denn nur dann ist auch ein framegenauer Anschnitt bzw. Insertschnitt möglich. Preroll steht für die Zeitspanne, die ein Videogerät benötigt, um aus der Pausenfunktion hochzulaufen und in Wiedergabe oder Aufnahme zu schalten. Diese Zeit kann der Schnittsteuereinheit mitgeteilt werden. Beim Schnitt versteht man unter Preroll oft auch das Zurückspulen des Bandes an einen definierten Punkt vor dem eigentlichen Schnittpunkt.

PC Magazin Plus, Nr. 4/2000, S. 25

Verfasser: Andreas
Letzte Änderung: 2010-10-09 18:22


Preview

Dt. Vorschau. Ein Preview ermöglicht es, einen Schnitt anzuschauen, ohne dass der Rekorder aufnimmt.

PC Magazin Plus, Nr. 4/2000, S. 25

Verfasser: Andreas
Letzte Änderung: 2010-10-09 18:22


Rippen

DVD auf Festplatte kopieren. Dies geschieht durch das umgehen des Kopierschutzes.

z.B. Smart Ripper

Verfasser: Andreas
Letzte Änderung: 2010-10-09 18:22


S-VHS

Die Lösung dieses Problems liegt in der Trennung beider Signale, wodurch zur Übertragung jedoch zwangsläufig ein zweites Kabel nötig wird. Das Ergebnis nennt sich Y/C- bzw. S-VHS-Signal. Dank Y/C-Übertragung wirken Videobilder deutlich klarer. Hi8 und SVHS-C-Camcorder zweichnen von vornherein im Y/C-Format auf. Entsprechend sollte auch die Übertragung zum Fernsehgerät oder Schnittrecorder perY/C-Signal erfolgen: entweder per S- VHS-Kabel mit Hosidenbuchsen oder per S-VHS-tauglichem Scart-Kabel.

PC Magazin, Nr. 7/97, S. 79

Im S-Video-Signal schickt die Quelle die Farbinformationen getrennt nach Luminanz und Chrominanz an den Beamer. S-Video ist dem Composite-Signal vorzuziehen.

Quelle: PCgo 7/04, Seite 71

Verfasser: Andreas
Letzte Änderung: 2010-10-09 18:23


SECAM



Französische Fernsehnorm, die vor allem in Osteuropa Verwendung findet. In verschiedenen Abstufungen findet sie sich aber überall auf der Welt. Sie ist sehr stark verwandt mit dem PAL-Format, und verfügt über 625-819 Zeilen.

PC Magazin, Nr. 10/2000, S. 94

Verfasser: Andreas
Letzte Änderung: 2010-10-09 18:49


SIL

Solid Immersion Lens: von Wissenschaftlern der amerikanischen Standford-Universität entwickelte Speziallinse, die eine höhere Auflösung ermöglicht als herkömmliche Linsen.

PC Magazin, Nr. 5/98, S. 82

Verfasser: Andreas
Letzte Änderung: 2010-10-09 18:50


Stripper

Splittet die VOBs

Verfasser: Andreas
Letzte Änderung: 2010-10-09 18:50


TBC

Abk. für Time Base Corrector. Ein TBC gleicht Laufzeitfehler eines Videosignals aus. Bei einem TBC, der in einen Videorekorder integriert ist, wird, nachdem das Signal vom Band gelesen wurde, das Bildinhaltsignal vom Syncsignal getrennt. Das Syncsignal und der Burst werden dann im TBC-Modul zeitlich richtig eingefügt.

PC Magazin Plus, Nr. 4/2000, S. 25

Verfasser: Andreas
Letzte Änderung: 2010-10-09 18:51


Tiefenschärfe

Wird Licht von einem Objekt vor oder hinter einer Film- oder CCD-Ebene fokussiert, so entsteht auf dieser Ebene eine Reihe überlappender Kreise. Sind die Kreise klein, so ist die Bildschärfe nach akzeptabel. Die Tiefenschärfe ist der Bereich zu beiden Seiten des Brennpunkts, in dem diese Unschärfenkreise eine vertretbare Größe haben.

PC Magazin, Nr. 7/97, S. 136

Verfasser: Andreas
Letzte Änderung: 2010-10-09 18:51


Timecode

Unter einem Timecode versteht man nichts anderes als die Numerierung der einzelnen Frames. Timecode ist daher eine digital verschlüsselte Zeitangabe für den bildgenauen elektronischen Videoschnitt. Diese Zeitangabe wird auf dem Videoband mit aufgezeichnet. Bekannte internationale Standards dafür sind SMPE- und VITC-Code.

PC Magazin Plus, Nr. 4/2000, S. 25

Verfasser: Andreas
Letzte Änderung: 2010-10-09 18:52


TNF

Twisted Nematic Film: Die Hersteller bringen auf die normalen TFTs spezielle Beschichtungen auf, die den Blickwinkel um bis zu 50 Prozent weiten. Das Verahren ist besonders kostengünstig, und die Produktionsausbeute der Hersteller bleibt unverändert - deshalb findet TNF hauptsächlich bei billigen Monitoren Verwendung.

PC Magazin, Nr. 2/2000, S. 121

Verfasser: Andreas
Letzte Änderung: 2010-10-09 18:52


Übergroße MPEGs auf CD brennen

Wie muss ich vorgehen, wenn eine Pinacle-Filmdatei nach der Umwandlung ins MPEG2-Format größer als 700MB ist und somit nicht mehr auf eine CD passt? Kann ich sie auf mehrere Scheiben aufteilen?

Ja, Sie müssen die MPEG-Datei zerschneiden. Wenn Sie ein einfaches Schnittwerkzeug wie MPEG Tool oder MPEG Cut nehmen, dann können Sie den Schnittpunkt nur über die Dateigröße, etwa 695MB, steuern.
Der Encoder TMPGEnc bietet mit den integrierten MPEG Tools die Möglichkeit, abhängig vom Bildinhalt zu schneiden. Sie finden die MPEG Tools unter dem Menüpunkt File. Das Schneiden von MPEG-Dateien, ohne sie (mit Verlusten) neu zu kodieren, kann nur an den I-Frames erfolgen, die etwa zweimal pro Sekunde auftreten.
Weiter Infos finden Sie unter www.dvdrhelp.com/edit.


Quelle: ct 14/2003

Verfasser: Andreas
Letzte Änderung: 2010-10-09 18:53


VCM

Abk. für Virtual Channel Memory.

PC Magazin, Nr. 2/2000, S. 113

 

Verfasser: Andreas
Letzte Änderung: 2010-10-09 18:53


Verschlusszeit

Neben dem Blendenwert ist die Verschlusszeit der zweite wichtige Wert bei Aufnahmen. Sie gibt an, wie lange der Film oder das CCD dem Licht ausgesetzt wird. Je länger die Zeit ist, desto verschwommener werden bewegte Objekte dargestellt oder das Bild verwackelt. Im Telebereich sollte die Zeit eine 1/125 Sekunde nicht unterschreiten, im Weitwinkel lässt sich oft noch mit 1/30 Sekunde aus der Hand schießen.

PC Magazin, Nr. 8/2001, S. 93

Verfasser: Andreas
Letzte Änderung: 2010-10-09 18:54


Videobandbreite

Frequenzbereich, innerhalb dessen eine gleichmäßige Verstärkung des Eingangssignals erfolgt. Von der Videobandbreite hängen die Bildqualität und die maximale Bildwiederholfrequenz swie Auflösung entscheidend mit ab. Die Videobandbreite wird in MHz angegeben. Bei der Monitorwahl sollten Sie dieser Größe besondere Beachtung schenken.

PC Magazin, Nr. 11/98, Seite 84

Verfasser: Andreas
Letzte Änderung: 2010-10-09 18:54


Videosignal-Formate

Composite-Video, S-VHS und IEEE-1394

PC Magazin, Nr. 7/97, S. 79

Verfasser: Andreas
Letzte Änderung: 2010-10-09 18:54


Vorschnitt

Auch als Rohschnitt bezeichnete Vorauswahl der Videosequenzen, die zur späteren Bearbeitung digitalisiert werden. Im Analog-Schnitt ist der Vorschnitt eher selten wegen des Generationsproblems.

PC Magazin, Nr. 10/2000, S. 94

Verfasser: Andreas
Letzte Änderung: 2010-10-09 18:55


VPS

Das Video-Programmier-System ermöglicht das automatische Ein- und Ausschalten von Videorecordern. Das funktioniert auch dann, wenn eine Sendung verspätet anfängt.

PC Magazin, Nr. 5/99, S. 124

Verfasser: Andreas
Letzte Änderung: 2010-10-09 18:56


Weißabgleich

Die relative Intensität von Rot, Grün und Blau einer Lichtquelle. Die Einstellung des Weißabgleichs für eine Kamera dient zur Kompensation von Lichtquellen, deren Licht von der normalen RGB-Tageslichtbalance abweicht.

PC Magazin, Nr. 7/97, S. 136

Verfasser: Andreas
Letzte Änderung: 2010-10-09 18:56


WMV-HD

Im WMV-HD-Format werden hochauflösende Videos (Auflösung 1920 x 1080 oder 1280 x 720) gespeichert. Sie lassen sich bisher nur am PC und mit wenigen DVD-spielern (etwa "Link Theater" von Buffalo) abspielen.

Quelle: Computer Bild 10/2006, seite 12

Verfasser: Andreas
Letzte Änderung: 2010-10-09 18:56


Y/C

Unter einer Y/C-Verbindung versteht man die getrennte Übertragung von Luminanz- (Y) und Croma-Signal (C).

PC Magazin Plus, Nr. 4/2000, S. 25

Verfasser: Andreas
Letzte Änderung: 2010-10-09 18:57


YUV

Die Bezeichnung YUV steht für die Komponentensignale, das heißt, für Luminanz (Y) für die beiden Farbdifferenzsignale B-Y (U) und R-Y (V). Die Farbsignale werden getrennt übertragen. Es bietet neben RGB die beste Qualität.

PC Magazin Plus, Nr. 4/2000, S. 25

Verfasser: Andreas
Letzte Änderung: 2010-10-09 18:57


Zoom

Mit den Zoomtasten holen Sie entfernte Motive nah heran. Beim optischen Zoom verschieben sich die Linsen, und die Bildqualität bleibt gleich. Der digitale Zoom vergrößert das Bild rechnerisch - auf Kosten der Schärfe.


Quelle: Computer Bild 10/2006, Seite 21

Verfasser: Andreas
Letzte Änderung: 2010-10-09 18:58


AGB

Allgemeine Geschäftsbedingungen eines Händlers werden nur Vertragsbestandteil, wenn dieser seine Kunden ausdrücklich darauf hinweist und die Käufer sie zur Kenntnis nehmen können (vgl. dazu den Rechtsreport ab S. 54).

PC Magazin, Nr. 12/99, S. 79

Verfasser: Andreas
Letzte Änderung: 2010-10-10 11:15


AM (Amplitudenmodulation)

Codierung von Informationen durch Veränderung der Signalstärke. AM wird beispielsweise beim Mittelwellenradio eingesetzt.

PC Magazin, Nr. 5/99, S. 124

Verfasser: Andreas
Letzte Änderung: 2010-10-10 11:16


animierte Objekte

Hinzufügen eines speziellen visuellen Effektes oder Klangeffektes zu einem Text oder Objekt. So können Sie zum Beispiel einen Text Wort für Wort von links einblenden oder einer Grafik den Klang Applaus zuordnen. Auf einer Folie lassen sich eine beliebige Anzahl von Objekten und sogar die Elemente eines Diagramms animieren.

PCgo!, Nr. 12/98, S. 102

Verfasser: Andreas
Letzte Änderung: 2010-10-10 11:16


ANSI

American National Standard Institute. ANSI ist ein genormter Satz aus 256 Zeichen (Buchstaben, Ziffern, Interpunktionszeichen und Sonderzeichen). Jedem der 256 darstellbaren Zeichen ist eine Zahl zwischen 0 und 255 zugewiesen. Der ANSI-Code wird von Windows und Windows-Programmen zur Zeichendarstellung verwendet. Nicht-Windows-Programme verwenden zur Zeichendarstellung dagegen meistden ASCII-Zeichensatz. Die Belegung des ANSI- und des ASCII-Zeichensatzes ist für die Zeichen mit den Nummern 32 bis 127 identisch und enthält das lateinische Alphabet sowie Satz- und Währungszeichen. In den Werten 128 bis 255 finden sich etliche Sonderzeichen wie deutsche Umlaute, französische Akzentzeichen oder das spanische N.

PC Magazin, Nr. 12/98, S. 227

Verfasser: Andreas
Letzte Änderung: 2010-10-10 11:17


ASCII

American Standard Code for Information Interchange. ASCII wurde 1968 mit der Absicht entwickelt, Datenübertragung zwischen divergierenden Hardware- und Software-Systemen zu standardisieren. Das Codierungsschema ordnet jedem Zeichen aus dem standardisierten Zeichensatz eine Zahl zu. Zur Codierung werden 7 oder 8 Bit (erweiterter ASCII) verwendet, wodurch bis zu 256 Zeichen (Buchstaben, Ziffern, Satzzeichen, Steuerzeichen und andere Symbole) darstellbar sind. Die ersten 32 Zeichen sind für Steuerzeichen reserviert. Ein erweiterter ASCII-Code ist ein Satz von Zeichen, der den ASCII- Werten zwischen dezimal 128 und 255 (hexadezimal: 80hex bis FFhex) zugeordnet ist. Er kommt beim PC zum Einsatz. Die Zuordnung spezifischer Zeichen zu den erweiterten ASCII-Codes variieren zwischen Computern, Programmen, Schriften und grafischen Zeichensätzen. Mit den 128 zusätzlichen Zeichen des erweiterten ASCII-Satzes lassen sich zum Beispiel Akzentbuchstaben, grafische Zeichen und spezielle Symbole darstellen.

PC Magazin, Nr. 12/98, S. 227

Verfasser: Andreas
Letzte Änderung: 2010-10-10 11:19


Backdoor

Ein Backdoor funktioniert als Fernsteuerung für den PC. Viele Backdoors zeichnen Tastatureingaben auf, erlauben Zugriff auf Dateien und Registry per Internet.

PC Magazin, Nr. 4/2004, S. 24

Verfasser: Andreas
Letzte Änderung: 2010-10-10 11:20


Blauer Engel

Hinsichtlich Ergonomie lehnt sich der Blaue Engel an die Empfehlungen von MPR II und ISO 9241-3 an. Das Augenmerk liegt besonders auf Recycling-gerechte Konstruktion sowie Schadstoffarmut der verwendeten Materialien. Zum Nachweis genügt teilweise eine Herstellererklärung (EMV, Recycling, Schadstoffarmut, Energiesparen). Produktsicherheit und Ergonomie sind als Testbericht eines unabhängigen Prüfinstituts zu belegen.

PC Magazin, Nr. 11/98, S. 108

Verfasser: Andreas
Letzte Änderung: 2010-10-10 11:20


Boolesche Operation

Verknüpfung aus der Mengenlehre, die die Addition, Subtraktion sowie die Teilmenge von Objekten berechnet.

PC Magazin, Nr. 3/99, S. 211

Verfasser: Andreas
Letzte Änderung: 2010-10-10 11:22


Boolesche Operatoren

Boolesche Operatoren wie nicht, und und oder werden zur logischen Verknüpfung von Aussagen verwendet. So gestalten Sie komplexe Suchanfragen, zum Beispiel nach einem Dokument, das die Abkürzung NCI nicht aber das Wort Krebs enthält. Damit finden Sie Texte zum Thema Dokumentmanagement und schließen medizinische Texte, die ebenfalls die Abkürzung NCI verwenden, aus.

PC Magazin, Nr. 4/2000, S. 239

Verfasser: Andreas
Letzte Änderung: 2010-10-10 11:23


Boot-Virus

Jede Diskette und jede Festplatte hat einen Systembereich (den Bootsektor), der unter anderem Programmcode enthält. Beim Einschalten sucht der PC zuerst nach diesem Programmcode und führt ihn aus. Normalerweise startet dieser Programmcode Windows oder DOS - so funktioniert etwa die Windows-Startdiskette. Die Festplatte hat für jeden Laufwerksbuchstaben einen Bootsektor und zusätzlich den Master Boot Rekord (BMR).

PC Magazin, Nr. 12/98, S. 150

Verfasser: Andreas
Letzte Änderung: 2010-10-10 11:23


BotNet

Um möglichst viele PCs für einen DDos-Angriff oder den Spam-Versand zur Verfügung zu haben, schleusen Hacker Backdoor-Programme als E-Mail-Wurm in die Rechner argloser Computernutzer ein. Die ferngesteuerten Rechner bilden das Botnet.

PC Magazin, Nr. 4/2004, S. 24

Verfasser: Andreas
Letzte Änderung: 2010-10-10 11:24


Chatiquette

Wie im richtigen Leben macht auch im Chat der Ton die Musik. Bachten Sie deshalb unbedingt folgende Regeln: Bleiben sie höflich, denn nur dann wird man auch Sie höflich behandeln. Begrüßen Sie beim Betreten eines Raumes alle mit "Hallo" oder ähnlichem. Das Eis ist dann gebrochen, und auch als Neuling bekommen Sie so schnell Kontakt. Schreiben Sie nicht in GROSSBUCHSTABEN. Das wird als unhöfliches Brüllen interpretiert. Und verwenden Sie Smileys. Denn durch den fehlenden visuellen Kontakt entstehen leicht Mißverständnisse.

PCgo!, Nr. 12/98, S. 187

Verfasser: Andreas
Letzte Änderung: 2010-10-10 11:24


CI-Dokumente

CI (Coded Information) sind Informationen, die so codiert sind, dass sie eine Software interpretieren und damit arbeiten können. Beispiele sind in einer Textverarbeitung geschriebene Texte und CAD- oder Vektorgrafiken (s.a. NCI).

PC Magazin, Nr. 4/2000, S. 239

Verfasser: Andreas
Letzte Änderung: 2010-10-10 11:25


Companion-Virus

Ein Virus, der den gleichen Namen hat wie ein Anwendungsprogramm und die Optionen des jeweiligen Betriebssystems ausnutzt, um vor dem echten Programm zu starten. So würde zum Beispiel ein Virus mit der Erweiterung editor.com vor dem Programm mit gleichem Namen und der Erweiterung exe ausgeführt werden. Das liegt daran, dass DOS Dateien mit der Erweiterung com Vorrang vor allen anderen gibt.

PC Magazin, Nr. 11/2000, S. 62

 

Verfasser: Andreas
Letzte Änderung: 2010-10-10 11:25


Cross-Makrovirus

Normalerweise laufen Makroviren nur mit Winword, Excel oder Access. Ganz neu sind die Cross-Viren, die zwischen Winword-Dokumenten und Excel-Dokumenten oder Access- Datenbanken hin- und herspringen.

PC Magazin, Nr. 12/98, S. 150

Verfasser: Andreas
Letzte Änderung: 2010-10-10 11:26


CTI

Abk. für Computer Telephony Integration. Diese bezeichnet die Zusammenführung der Computer- mit der Telephontechnik.

PCgo!, Nr. 11/2000, S. 192

Verfasser: Andreas
Letzte Änderung: 2010-10-10 11:26


Cyberlaw

Oberbegriff für Online-Recht bzw. die rechtlichen Aspekte und Problemstellungen, die sich aus der Nutzung und der Bereitstellung von Diensten des Internets ergeben.

PCgo!, Nr. 7/99, S. 176

Verfasser: Andreas
Letzte Änderung: 2010-10-10 11:26


Dateiviren

Dieser klassische Virustyp verändert den Code einer Programmdatei und bettet sich in das fremde Programm ein. Jedes Mal, wenn Sie die infizierte Anwendung aufrufen, beginnt der Virus seine Arbeit.

PC Magazin, Nr. 11/2000, S. 62

Verfasser: Andreas
Letzte Änderung: 2010-10-10 11:27


DDos-Attacke

Bei einer Distributed-Denial-of-Service-Attacke schicken tausende PCs gleichzeitig (distributed) legale Anfragen an einen bestimmten Web-Server. Dieser kann die Vielzahl an Anfragen nicht mehr verarbeiten und keine Antworten liefern. Praktisch ist der Web-Server damit für niemand mehr erreichbar (Denial of Service).

PC Magazin, Nr. 4/2004, S. 24

 

Verfasser: Andreas
Letzte Änderung: 2010-10-10 11:29


e-commerce

Das ist das neue Schlagwort, mit dem Internet und das Geldmachen verbunden werden. E-commerce dreht sich also um alle Möglichkeiten, das Internet kommerziell zu nutzen. Das kann etwa ein Bestellwesen übers Internet sein. Für Firmen bieten sich diverse Möglichkeiten, einen Online-Shop im Internet zu errichten.

PCgo!, Nr. 4/99, S. 136

Verfasser: Andreas
Letzte Änderung: 2010-10-10 11:30


EBCDIC

Extended Binary Coded Decimal Interchange Code ist ein IBM-Code, der 8 Bit für die Darstellung von 256 möglichen Zeichen (im Gegensatz zu den 7 Bit und 128 Zeichen im Standard-ASCII-Zeichensatz) verwendet. Dieser Standard wird überwiegend in IBM-Großrechnern eingesetzt.

PC Magazin, Nr. 12/98, S. 227

Verfasser: Andreas
Letzte Änderung: 2010-10-10 11:30


Electronic Cash

Elektronisches Geld gibt es in vielen Formen: als Kreditkartennummer, Münzen oder Schecks.

PC Magazin, Nr. 12/99, S. 79

Verfasser: Andreas
Letzte Änderung: 2010-10-10 11:31


Elektronenstrahl

Elektronen kann man sich als Teilchen vorstellen, die um einen Atomkern flitzen. Sie bilden auch die Grundlage für elektrischen Strom. Vom Atomkern losgelöst und durch den Raum geschossen, sind sie vor allem Träger von Energie (vor allem Bewegungsenergie). Beim Auftreffen auf Phosphor führen sie zum bekannten Leuchteffekt ("Phosphorisieren" genannt). Bündelt man die Elektronen und schießt sie kontinuierlich in eine Richtung, spricht man vom Elektronenstrahl. Man findet diese Strahlen vor allem in Monitoren, Fernsehern und Meßgeräten.

PCgo!, Nr. 5/99, S. 174

Verfasser: Andreas
Letzte Änderung: 2010-10-10 11:31


Exploits

Verfahren, um eine bekannte Lücke in einem Programm auszunutzen. Exploits sind gelegentlich gut ausgearbeitet in Form eines einfach zu bedienenden Programms erhältlich.

PC Magazin, Nr. 5/2000, S. 166

Verfasser: Andreas
Letzte Änderung: 2010-10-10 11:32


FBAS

Das FBAS-Signal setzt sich aus der Farbinformation (Farbartsignal) und dem BAS-Signal des Schwarzweißempfängers zusammen. Das BAS-Signal besteht aus dem Bildinhalt (Schwarz, Weiß, Grautöne), dem Austastsignal (Zeichen für den Aufbau eines neuen Halbbildes) und dem Synchronisierungszeichen (am Ende jeder Zeile). Das komplette Signal wird als FBAS bezeichnet.

PC Magazin, Nr. 5/99, S. 124

Verfasser: Andreas
Letzte Änderung: 2010-10-10 11:33


Filesystem-Viren

Hat Ihr System einen Filesystem-Virus, so sind die Einträge im Dateiverzeichnis, das ist bei Windows- Rechnern die File Allocation Table (FAT), betroffen.

PC Magazin, Nr. 11/2000, S. 62

Verfasser: Andreas
Letzte Änderung: 2010-10-10 11:33


FM (Frequenzmodulation)

Codierung von Informationen durch Veränderung der Frequenz. FM wird beispielsweise im UKW-Radio und bei der Übertragung des Tons im Fernsehen eingesetzt.

PC Magazin, Nr. 5/99, S. 124

Verfasser: Andreas
Letzte Änderung: 2010-10-10 11:34


Gleitkommazahlen

Mit Gleitkommazahlen (auch Fließkommazahlen genannt) sind gebrochene Zahlen gemeint. Normalerweise verarbeitet eine CPU nur ganze Zahlen. In der Praxis muß aber auch mit gebrochenenen Zahlen gerechnet werden. Dann müßte der Prozessor aus den Kommazahlen erst welche ohne Kommas machen, danach die Rechenoperation durchführen und zum Schluß wieder eine Kommazahl mit dem richtigen Ergebnis bilden. Das ist sehr umständlich und kostet vor allem viel Zeit. Einfacher geht es mit einer dafür speziellen Baugruppe, der FPU (Floating Point Unit). Sie ist bei allen modernen PC-Hauptprozessoren bereits im Prozessorkern integriert und wird häufig als Coprozessor bezeichnet.

PCgo!, Nr. 6/99, S. 154

Verfasser: Andreas
Letzte Änderung: 2010-10-10 11:34


Global Player

Das sind Firmen, die weltweit operieren und Geschäftsbeziehungen pflegen. Solche Unternehmen haben jedoch nicht unbedingt auch Niederlassungen im Ausland.

PCgo!, Nr. 5/99, S. 218

Verfasser: Andreas
Letzte Änderung: 2010-10-10 11:35


GS

Zeichen für geprüfte Sicherheit. Diese Prüfplakette wird vom TÜV, dem VDE oder den Berufsgenossenschaften vergeben. Sie bescheinigt dem Monitor, daß er die Normen zur Sicherheit der Informationstechnik EN60950, der Sicherheitsregeln für Bildschirmarbeitsplätze im Bürobereich ZH 1/618 und der Ergonomie gemäß ISO 9241-3 erfüllt.

PC Magazin, Nr. 11/98, S. 108

Verfasser: Andreas
Letzte Änderung: 2010-10-10 11:35


Harmonische Schwingung

Diese sind stets ganzzahlige Vielfache der Grundfrequenz, deren Amplituden mit höherer Schwingungszahl abnehmen. Aus einer sinusförmigen Grundschwingung und deren Harmonischen läßt sich nach Fourier (1768 bis 1830) ein nichtsinusförmiges Signal z.B. ein Rechteck-Impuls darstellen.

PC Magazin, Nr. 5/99, S. 124

Verfasser: Andreas
Letzte Änderung: 2010-10-10 11:36


Imaging

Scannen, Anzeigen, Drucken und Verwalten von Dokumenten.

PC Magazin, Nr. 4/2000, S. 239

Verfasser: Andreas
Letzte Änderung: 2010-10-10 11:42


Index, Indizierung

Ein Index ist wie ein Inhaltsverzeichnis in einem Buch. Mit ihm greifen Sie direkt auf bestimmte Informationen innerhalb einer großen Datenmenge zu, ohne diese komplett durchsuchen zu müssen.

PC Magazin, Nr. 4/2000, S. 239

Verfasser: Andreas
Letzte Änderung: 2010-10-10 11:42


ISO 9241-x

Die International Standards Organisation hat mit den Normen ISO 9241-x die Bildqualitätsanforderungen an Monitore und deren Design festgelegt. Hier sind Bedingungen zu erfüllen für Entspiegelung, Flimmerfreiheit, Kontrast, Sichtabstand, Zeichenbreite, - höhe und -gleichmäßigkeit.

PC Magazin, Nr. 11/98, S. 108

Verfasser: Andreas
Letzte Änderung: 2010-10-10 11:43


IT-Markt

IT-Markt ist der Überbegriff für den Handel mit Informationstechnologie.Er beinhaltet die Bereiche Hard- und Software, EDV-Dienstleistungen und auch Unternehmensberatung sowie die Entwicklung und den Vertrieb von Komponenten.

PCgo!, Nr. 5/99, S. 218

Verfasser: Andreas
Letzte Änderung: 2010-10-10 11:44


Kerr-Effekt

Linear-polarisiertes Licht wird durch einen Magneten gedreht. Je nach dessen Ausrichtung wird die Polarisationsebene in unterschiedliche Richtungen gedreht.

PC Magazin, Nr. 5/98, S. 82

Verfasser: Andreas
Letzte Änderung: 2010-10-10 11:44


Logische Operatoren

Operator Bedeutung
< Kleiner als
> Größer als
= Gleich
<= Kleiner oder gleich
>= Größer oder gleich
<> Ungleich.

PC Magazin, Nr. 12/98, S. 244

Verfasser: Andreas
Letzte Änderung: 2010-10-10 11:44


Massmailer

Ein Wurm oder Virus, der sich selbst massenhaft als E- Mail-Anhang verschickt und so verbreitet. Aktuelle Varianten bringen eine eigene SMTP-Engine mit, mit der sie ihre E-Mails unbemerkt im Hintergrund über freie SMTP-Server verschicken teilweise mit verschleierten Absenderadressen.

PC Magazin, Nr. 4/2004, S. 24

Verfasser: Andreas
Letzte Änderung: 2010-10-10 11:45


MPR II

(MPR 1990:8, MPR 1990:10) Enthält Empfehlungen mit Grenzwerten für elektrische und magnetische Felder, die ein Monitor im Betrieb nicht überschreiten darf. Die Richtwerte von MPR II gehen davon aus, daß das am Arbeitsplatz vorkommende Strahlungsniveau durch den Monitor nicht nennenswert erhöht wird.

PC Magazin, Nr. 11/98, S. 108

Verfasser: Andreas
Letzte Änderung: 2010-10-10 11:46


Multimedia

Multimedia ist eigentlich nicht mehr als die Verknüpfung mehrerer Medienelemente (also Text, Grafik, Videos, Klang) in einem Programm. In Lexika-CDs sind etwa Videos, 3D-Animationen oder Musikstücke eingebaut, mit dem Themen und Wissen veranschaulicht wird.

PCgo!, Nr. 12/98, S. 64

Verfasser: Andreas
Letzte Änderung: 2010-10-10 11:51


Multipartite-Virus

Eine Kreuzung aus Dateivirus und Bootvirus. Sie können sich sowohl an Programmdateien anhängen als auch in Bootsektoren verstecken.

PC Magazin, Nr. 12/98, S. 150

Verfasser: Andreas
Letzte Änderung: 2010-10-10 11:52


Nanotechnologie

Ein Nanometer ist ein Millionstelmillimeter. So messen zum Beispiel AIDS-Viren 50 Nanometer. Für technische Anwendungen war dieser Größenbereich bis vor kurzem nicht zugänglich, doch das hat sich nun geändert: Die supramolekulare Chemie versteht es inzwischen immer besser, das Prinzip der natürlichen Selbstorganisation zum Aufbau großer Molekülverbände zu nutzen. Zum Beispiel erzeugt sie damit Käfige, die kleinere Moleküle einschließen, molekulare Drähte oder künstliche Filme, die den Membranen von Zellen ähneln.

PC Magazin, Nr. 6/97, S. 70

Verfasser: Andreas
Letzte Änderung: 2010-10-10 11:52


NCI

Abk. für Non Coded Information. NCI sind im Gegensatz zu CI (Coded Information) Informationen, die nur vom Anwender interpretiert werden können. Der Rechner kann zwar mit ihnen umgehen, sie aber nicht stelbständig weiterverarbeiten. Ein Beispiel für NCI ist das gescannte Bild eines Antragsformulars. Bevor Sie es nicht mit einer OCR-Software bearbeitet haben, können Sie es indizieren oder im Formular enthaltene Felder ausfüllen. Ein weiteres Beispiel für NCI-Dokumente sind Audiodaten.

PC Magazin, Nr. 3/2000, S. 239

Verfasser: Andreas
Letzte Änderung: 2010-10-10 11:53


ODMA

Abk. für Open Document Management. Es bezeichnet eine einheitliche Schnittstelle zwischen Dokumentmanagementsystemen und Client-Software (Programme, mit denen Sie auf die Inhalte einer DMS-Datenbank zugreifen). Sie wird von vielen großen Firmen unterstützt, unter anderem von IBM, Microsoft und Lotus.

PC Magazin, Nr. 4/2000, S. 239

Verfasser: Andreas
Letzte Änderung: 2010-10-10 11:53


Pflichtenheft

Die detaillierte schriftliche Erfassung eines Projektes wird als Pflichtenheft bezeichnet. Es beinhaltet eine umfassende Leistungsbeschreibung des geplanten Projektes, einen Zeitplan für die Umsetzung und einen Kostenrahmen.

PCgo!, Nr. 5/99, S. 218

Verfasser: Andreas
Letzte Änderung: 2010-10-10 11:54


PICS

PICS ist ein Bewertungsstandard für "explizites" Bildmaterial, also Sex- und Gewaltszenen im Internet. Wenn Inernet-Seiten aufgrund dieses Standards gesperrt werden sollen, müssen sie allerdings vom Anbieter mit einem bestimmten Erkennungsmerkmal ausgestattet werden.

PCgo!, Nr. 3/99, S. 177

Verfasser: Andreas
Letzte Änderung: 2010-10-10 11:55


Polymorpher Virus

Virenscanner erkennen Viren anhand typischer Byte-Folgen. Polypmorphe Viren verändern sich bei jeder Infektion, so daß der Scanner Schwierigkeiten bekommt. Aktuelle Virenscanner finden auch polymorphe Viren sehr zuverlässig.

PC Magazin, Nr. 12/98, S. 150

Verfasser: Andreas
Letzte Änderung: 2010-10-10 12:11


Primfaktorzerlegung

Diese Sonderform der Faktorisierung (siehe dort) sucht nach den Primzahlen, aus denen sich eine ganze Zahl durch Multiplikation zusammensetzt. Das Verfahren ist sehr aufwendig. Die meisten wesentlichen Verschlüsselungsverfahren basieren auf der Schwierigkeit, eine Zahl in ihre Primfaktoren zu zerlegen. Gelänge dies einfach und schnell, wären die gebräuchlichen Kryptoverfahren nicht mehr sicher.

PC Magazin, Nr. 4/97, S. 262

Verfasser: Andreas
Letzte Änderung: 2010-10-10 12:12


QUBIT

Die Quantentheorie ist fast so alt wie dieses Jahrhundert. Der deutsche Physiker Max Planck und sein dänischer Fachkollege Niels Bohr haben als erste erkannt, daß die Gesetze der klassischen Physik in der Welt der Atome nicht mehr streng gelten. Denn Elektronen und andere winzige Teilchen können ebensogut als Wellen wie als Materie aufgefaßt werden. Während ein Teilchen immer eine meßbare Geschwindigkeit hat und an einem bestimmten Ort ist, sind Wellen weniger leicht faßbar: Schlägt man eine Saite an, so schwingen gleichzeitig viele Obertöne mit. Für Physiker sind das verschiedene Energiezustände (Quanten) einer Welle. Schon in den 50er Jahren haben Forscher versucht, diese verschiedenen Quantenwerte zur Speicherung von Informationen auszunutzen. Die Idee ist bestechend: Man nehme das einfachste Atom, das des Wasserstoffs - es besitzt nur ein einziges Elektron. Durch das Einstrahlen von Laserlicht kann dieses Elektron seine Quantenzustände wechseln; die Physiker sprechen von einem Übergang vom "Grundzustand" in einen "angeregten Zustand". Strahlt man das Laserlicht nur für ganz kurze Zeit ein, so erzeugt man im Atom beide Zustände gleichzeitig - in der Quantenwelt ist das kein Widerspruch. Damit ist aus einem Bit - 0 oder 1, also Grundzustand oder angeregter Zustand - ein Qubit geworden. nämlich 0 und 1 zugleich. Mit zwei Atomen lassen sich dann zwei Qubits verwirklichen - sie nehmen die Weite 00, 01, 10 und 11 gleichzeitig an anstatt nur eine dieser Kombinationen. Damit kann ein Quantencomputer mit nur zwei Qubits gleich vier Zahlenwerte gleichzeitig verarbeiten; mit zunehmender Zahl von Qubits steigt die Kapazität rasch an. Zur Beruhigung: "Wer über die Quantenmechnaik nachdenken kann, ohne wirr im Kopf zu werden, hat sie nicht wirklich verstanden". Diese Worte über die Quantentheorie stammen von keinem anderen als einem ihrer Väter, dem dänischen Physik-Nobelpreisträger Niels Bohr.

PC Magazin, Nr. 9/97, S. 69

Verfasser: Andreas
Letzte Änderung: 2010-10-10 12:12


Residenter Virus

Nach dem ersten Start bleibt ein residenter Virus im Arbeitsspeicher des PC und arbeitet im Hintergrund weiter, bis Sie den Rechner ausschalten. Meistens hat sich der Virus dann bereits in Systemdateien so verankert, daß er beim nächsten Start gleich wieder aktiv wird. Um residente Viren zu umgehen, hilft der Rechnerstart mit der Windows-Startdiskette oder der Rettungsdiskette des Antiviren-Programms.

PC Magazin, Nr. 12/98, S. 150

Verfasser: Andreas
Letzte Änderung: 2010-10-10 12:12


Retrieval

Das Wiederfinden eines Inhalts: Retrieval ist synonym mit Recherche.

PC Magazin, Nr. 4/2000, S. 239

Verfasser: Andreas
Letzte Änderung: 2010-10-10 12:13


Retroviren

Die Ziele von Retroviren sind weniger Anwendungsdaten als vielmehr Antiviren-Programme. Sie löschen gezielt die Dateien von Virenwächtern.

PC Magazin, Nr. 11/2000, S. 62

Verfasser: Andreas
Letzte Änderung: 2010-10-10 12:13


ROI

Als Return of Investment (ROI) bezeichnet man die Investitionsrentabilität.

PC Magazin PLUS, Nr. 2/2001, S. 10

Verfasser: Andreas
Letzte Änderung: 2010-10-10 12:14


Sandbox

Beschränkungen im Datei- und Netzwerkzugriff, die für ein bestimmtes Programm gelten. Meistens wird der Zugriff auf das Dateisystem eingeschränkt, manchmal auch der auf die Registry.

PC Magazin, Nr. 7/2001, S. 139

Verfasser: Andreas
Letzte Änderung: 2010-10-10 12:14


Social Engineering

Ursprünglich der Versuch eines Hackers, im sozialen Umfeld des Opfers Informationen für Angriffe aufzuspüren. Auch Telefonanrufe als angeblicher Service- Techniker, der für eine Reparatur Details zum Netzwerk braucht. Bei E-Mail-Würmern bedeutet Social Engineering, menschliche Schwächen der Empfänger auszunutzen, um sie zu einer Aktion zu verleiten.

PC Magazin, Nr. 4/2004, S. 24

Verfasser: Andreas
Letzte Änderung: 2010-10-10 12:14


Solution-Provider

Solution-Provider sind hochspezialiserte Dienstleistungsfirmen, die auf ihrem Gebiet kundenorientierte Lösungen mit hoher Kompetenz aus einer Hand anbieten können.

PCgo!, Nr. 5/99, S. 219

Verfasser: Andreas
Letzte Änderung: 2010-10-10 12:15


Stealth-Virus

Ein Stealth-Virus versucht gezielt, seine Entdeckung zu verhindern, wenn er aktiv ist. Untersucht ein Virenscanner oder ein beliebiges anderes Programm beispielsweise eine Programmdatei, so entfernt sich der Virus vorher aus dieser Datei und infiziert sie nach der Prüfung wieder. Das klappt natürlich nur, wenn der Virus bereits aktiv ist.

PC Magazin, Nr. 12/98, S. 150

Verfasser: Andreas
Letzte Änderung: 2010-10-10 12:15


Stemming

Dieser Begriff bezeichnet das Bilden von Wortstämmen. Beherrscht ein DMS-System Stemming, kann es bei der Volltextsuche nicht nur das eingegebene Wort, sondern auch dessen konjugierte oder deklinierte Form finden. Suchen Sie zum Beispiel nach Finden, zeigt Ihnen das Programm auch Fundstellen mit fand und gefunden.

PC Magazin, Nr. 4/2000, S. 239

Verfasser: Andreas
Letzte Änderung: 2010-10-10 12:16


TCO 92

Geht vom technisch Machbaren aus und legt strengere Grenzwerte für elektrische sowie magnetische Felder fest als MPR II. Die Anforderungen wurden außerdem um die Nutek-Energiesparvorschriften (schrittweise Reduzierung des Energieverbrauchs während Arbeitspausen) ergänzt.

PC Magazin, Nr. 11/98, S. 108

Verfasser: Andreas
Letzte Änderung: 2010-10-10 12:17


TCO'95

Fordert die gleichen Strahlungsgrenzwerte und Energiesparmaßnahmen wie TCO'92. Bei TCO'95 ist zusätzlich der Einsatz schadstoffarmer Materialien sowie eine Recycling-gerechte Konstruktion nachzuweisen. Für diese Punkte genügt eine Herstellererklärung. Es geten verschärfte ISO-Normen für Linearität, Leuchtdichte und Leuchtverteilung. TCO'95 beschreibt außerdem die ergonomischen Eigenschaften des gesamten PC (Tastatur, Geräuschentwicklung).

PC Magazin, Nr. 11/98, S. 108

Verfasser: Andreas
Letzte Änderung: 2010-10-10 12:18


TCO'99

Für die Zukunft fordert dieses Prüfsiegel bessere Werte für Kontrast, Helligkeit (Bildwiederholfrequenz (mindestens 85 Hz) und ergänzt TCO'95 um Vorgaben für Gehäusedesign, Geräuschentwicklung, Einschaltzeit usw. Auch einige Bedienrichtlinien sollen in die kommende TCO'99 integriert werden.

PC Magazin, Nr. 11/98, S. 108

Verfasser: Andreas
Letzte Änderung: 2010-10-10 12:19


Teledienstgesetz

Das TDG hat zur Aufgabe, einheitliche und wirtschaftliche Rahmenbedingungen für die unterschiedlichen Anwendungsmöglichkeiten der elektronischen Informations- und Kommunikationsdienste (Telebanking, Datenaustausch und -dienste, Nutzung von Onlinediensten und Unterhaltungsangebote) bereitzustellen und Lücken in der Verbraucherschutzregelung zu schließen. Es definiert die Verantwortlichkeit der Anbieter und verzichtet dabei auf komplexe Regelungen, die neuen Technologien in Deutschland Investitionshemmnisse in den Weg legen könnten.

PCgo!, Nr. 7/99, S. 177

Verfasser: Andreas
Letzte Änderung: 2010-10-10 12:19


Teletext

Der Teletext stellt eine Bildschirmzeitung dar. In der Schwarzlücke der Teilbildwechselfolge (Austastlücke) können zusätzliche Zeichen für Textinformationen in digitaler Verschlüsselung eingegeben werden. Durch eine Zusatzeinrichtung kann diese Information wieder decodiert werden.

PC Magazin, Nr. 5/99, S. 124

Verfasser: Andreas
Letzte Änderung: 2010-10-10 12:19


Thesaurus

Ein Thesaurus ist ein Wörterbuch, in dem ein DMS-System sinnverwandte Wörter und Synonyme speichert. Mit dessen Hilfe können Sie bei der Suche nach einem Wort auch sinn- und sachverwandte Begriffe finden.

PC Magazin, Nr. 4/2000, S. 239

Verfasser: Andreas
Letzte Änderung: 2010-10-10 12:20


Trägerfrequenz

Meist hochfrequente Sinuswelle mit konstanter Frequenz. Sie dient als Transportmittel für die eigentliche Information.

PC Magazin, Nr. 5/99, S. 124

Verfasser: Andreas
Letzte Änderung: 2010-10-10 12:21


Trojaner

Der Begriff des Trojaners wird heute in zwei verschiedenen Bedeutungen gebraucht:
Zum einen versteht man darunter ein Programm, das von der Oberfläche her eine harmlose Anwendung imitiert. Sie geben zum Beispiel bei einer vermeintlichen Zugangs-Software für einen Provider Ihren Namen ein. Das Programm ist aber ein Trojaner und schickt das Passwort an einen Hacker weiter.
Auch Fernbedienungs-Tools, mit denen Angreifer einen infizierten PC fernsteuern können, heißen Trojaner.

PC Magazin, Nr. 11/2000, S. 62

Verfasser: Andreas
Letzte Änderung: 2010-10-10 12:22


Tuner

Bezeichnung für ein vollständiges Empfangsgerät inklusive ZF-Verstärker und NF-Vorstufe.

PC Magazin, Nr. 5/99, S. 124

Verfasser: Andreas
Letzte Änderung: 2010-10-10 12:22


TÜV Eco-Kreis

Enthält die Prüfungen für das TÜV-Ergonomie-Siegel. Bei der Ergonomie sind die Anforderungen nach ISO9241-3 und ISO9241-8 sowie zusätzliche Kriterien für die Bildqualität zu erfüllen. Der TÜV Rheinland legt außerdem Wert auf Einhaltung der EMV-Richtlinien sowie Recycling-gerechte Konstruktion und Altgeräte-Recycling. Der Monitorhersteller muß die Schadstoffarmut der verwendeten Materialien nachweisen. Zu allen Punkten muß ein Prüfbericht von einem akkreditierten Prüflabor vorliegen. Zusätzlich finden Stichproben in den Fertigungsstätten statt, die ein Qulitätsmanagement nach ISO 9000ff nachweisen müssen.

PC Magazin, Nr. 11/98, S. 108

Verfasser: Andreas
Letzte Änderung: 2010-10-10 12:23


TÜV Ergonomie

Kombiniert die Empfehlungen von MPR II und die Anforderungen an die Darstellungsqualität nach ISO 9241- 3 und ISO 9241-8. Zusätzliche Anforderungen gelten für Leuchtdichtegleichmäßigkeit, Konvergenz, Zeichenhöhe, Zeichengleichmäßigkeit, Linearität, Bedienungsanleitung sowie Handhabung der Bildschirmeinstellungen.

PC Magazin, Nr. 11/98, S. 108

Verfasser: Andreas
Letzte Änderung: 2010-10-10 12:23


TWAIN

Abk. für Tool without an interesting name. Es ist eine Schnittstelle zwischen Software-Programmen und Bildverarbeitungs-Hardware wie zum Beispiel Scannern. Hat ein Programm eine TWAIN-Schnittstelle, können Sie Bilder direkt von diesem Programm aus bearbeiten, ohne zum Beispiel zu einer speziellen Scan-Software wechseln zu müssen.

PC Magazin, Nr. 4/2000, S. 239

Verfasser: Andreas
Letzte Änderung: 2010-10-10 12:24


Unicode

Ein Zeichensatz-Standard aus 16-Bit-Zeichen, der 1988 bis 1991 vom UnicodeConsortium entwickelt wurde. Unicode verwendet für die Darstellung eines Zeichens zwei Byte und kann auf diese Weise fast alle Schriftsprachen der Welt mittels eines einzigen Zeichensatzes darstellen. Dies ist notwendig, da der aus 8-Bit-Zeichen bestehende ASCII-Code noch nicht einmal alle möglichen Buchstaben und Zeichen mit zusätzlichen Kennzeichen (wie die Umlaute) des lateinischen Alphabets darstellen kann. Es wurden bereits etwa 39000 der 65536 möglichen Unicode-Zeichencodes zugewiesen. Davon wurden 21 000 für chinesische Begriffszeichen verwendet. Der Unicode-Standard kommt bei Windows NT zum Einsatz.

PC Magazin, Nr. 12/98, S. 227

 

Verfasser: Andreas
Letzte Änderung: 2010-10-10 12:24


Volltextsuche

Das Programm kann nicht nur nach Stichwörtern oder Beschreibungstexten suchen, die Sie einem Dokument zugeordnet haben, sondern auch nach Wörtern im Dokument selbst. Die Software legt also einen Index an, in dem jedes Wort vorkommt, das Sie in Ihrem gespeicherten Texten verwendet haben. Einige Dokumentenmanager bieten statt einer Volltext-Indizierung nur einen Index mit Stichwörtern an.

PC Magazin, Nr. 4/2000, S. 239

Verfasser: Andreas
Letzte Änderung: 2010-10-10 12:25


VPS

Das Video-Programmier-System ermöglicht das automatische Ein- und Ausschalten von Videorecordern. Das funktioniert auch dann, wenn eine Sendung verspätet anfängt.

PC Magazin, Nr. 5/99, S. 124

Verfasser: Andreas
Letzte Änderung: 2010-10-10 12:25


Webmaster

Der Verantwortliche für die technische Pflege und Überwachung einer Website.

PCgo!, Nr. 11/2000, S. 196

Verfasser: Andreas
Letzte Änderung: 2010-10-10 12:25


Werbe-Trojaner

Programm, das eine Verbindung mit einem Hersteller aufbaut. Diese Programme werden mit einigen kommerziellen Programmen, aber auch mit kostenloser Software ausgeliefert. Sie dienen dem Marketing und können Werbung, aber auch Daten über den Benutzer übertragen.

PC Magazin, Nr. 8/2002, S. 103

Verfasser: Andreas
Letzte Änderung: 2010-10-10 12:26


Widerrufsrecht

Hat der Kunde mit der Kreditkarte im Internet bezahlt, kann er den Betrag wie bei einer Lastschrift innerhalb von sechs Wochen widerrufen. Das gilt nicht für SET (siehe dort).

PC Magazin, Nr. 12/99, S. 79

Verfasser: Andreas
Letzte Änderung: 2010-10-10 12:26


Wildcard

Ein Platzhalter, der einzelne Zeichen oder ganze Zeichenfolgen ersetzt. Am bekanntesten sind die vom DOS-Kommandointerpreter benutzten Wildcards ? und *.

PC Magazin, Nr. 4/2000, S. 239

Verfasser: Andreas
Letzte Änderung: 2010-10-10 12:27


Würmer

Der Begriff Wurm bezieht sich auf den Verbreitungsweg dieses Virentyps. Würmer vervielfältigen sich und verschicken sich an weitere Empfänger.

PC Magazin, Nr. 11/2000, S. 62

Verfasser: Andreas
Letzte Änderung: 2010-10-10 12:27


Zertifikat

Ein Zertifikat wird von einem Trust Center ausgegeben und bestätigt die Identität einer Person. Der Betreffende bzw. die Firma muß sich persönlich ausweisen, um ein Zertifikat für eine Signatur oder eine Kreditkartennummer zu bekommen.

PC Magazin, Nr. 12/99, S. 79

Verfasser: Andreas
Letzte Änderung: 2010-10-10 12:28


Cloud Computing

Unter diesem Begriff (zu deutsch etwa "Rechnen in der Wolke") versteht man heute meist das Bereitstellen von Software als Dienstleistung im Internet. Der PC-Benutzer zahlt nicht mehr für die Software, sondern nur  für die Verwendung. Bedienzentrale ist der Internet Browser.

Quelle PC-Welt 9/2010 Seite 9

Verfasser: Andreas
Letzte Änderung: 2010-10-26 09:45


HbbTV

Dieser Standard definiert, wie Internetinhalte auf dem Fernsehgerät dargestellt werden. Er wird als "multimedialer Nachfolger" des Videotextes gehandelt. ARD, ARTE und ANIXE HD senden bereits Anwendungen, die man per Druck auf die rote Taste der Fernbedienung eines Hbb-TV-tauglichen Geräts ins Fernsehbild einblenden kann. Die Inhalte reichen von Nachrichten über Bilder bis hin zu Internetvideos.

 Quelle: PC-Welt 9/2010 Seite 9

 

Verfasser: Andreas
Letzte Änderung: 2010-10-26 09:49


NTFS

New Technology File System ist ein Dateisystem, das von Microsoft für das Betriebssystem Windows NT entwickelt wurde. Im Gegensatz zu den zuvor üblichen Dateisystemen FAT 16 und FAT 32 ist bei NTFS die Dateigröße nicht mehr auf 4 GB beschränkt. Weitere Vorteile sind die verbesserte Datensicherheit und ein gezielter Zugriffsschutz auf Dateiebene.

Quelle: PC-Welt 9/2010 seite 10

Verfasser: Andreas
Letzte Änderung: 2010-10-26 10:03


Mindmaps

Mindmapping ist eine Kreativtechnik zur Sammlung und visuellen Darstellung von Ideen zu einem Themengebiet. Zentrum der Mindmaps ist das Ausgangsthema, das assoziativ nach allen Richtungen durch Unterpunkte erweitert und weiter verzweigt wird. Es wird also eine vernetzte baumartige Struktur angelegt. Eine Mindmap eignet sich sowohl für kreative Prozesse im künstlerischen Bereich als auch für private organisatorische Aufgaben und den Business-Bereich. Mindmapping-Programme lassen sich Dateien jeder Art in unterschiedlichen Formaten zusammentragen und übersichtlich darstellen. Die Software kann daher auch für umfangreiche Projektplanungen genutzt werden.

Quelle: PC-Welt 9/2010 Seite 14

 

Verfasser: Andreas
Letzte Änderung: 2010-10-26 10:25


Gantt-Chart

Mit einem Gantt-Diagramm oder Balkenplan wird ein Projekt in seinem zeitlichen Ablauf dargestellt. In der linken Spalte werden alle zum Projekt gehörigen Aktivitäten der Reihe nach aufgelistet. Recht legt man eine Zeitachse an, auf der die jeweiligen Aktivitäten in Form eines waagerechten Balkens visualisiert werden. Je länger der Balken, desto länger dauert der jeweilige Projektschritt. Gantt-Diagramme eignen sich eher  für kleine bis mittlere Projekte.

Quelle: PC-Welt 9/2010 Seite 14

 

Verfasser: Andreas
Letzte Änderung: 2010-10-26 10:30


Web-DAV

Das "Web-based Distributed Authoring and Versioning" ist eine Erweiterung des HTTP-INternetstandards. Web-DAV ermöglicht den einfachen Zugriff auf im Intenet bereitgestellte Dateien und Verezeichnisse. Diese lassen sich mit einem entsprechenden Programm dann wie ein lokales Laufwerk einbinden.

Quelle: PC-Welt 9/2010 Seite 18

Verfasser: Andreas
Letzte Änderung: 2010-10-26 10:45


SDXC

Ist eine Weiterentwicklung der SD-Karte. Unter diesen Standard fallen Speicherkarten mit 32 GB bis 2 TB Kapazität. SDXC-Karten gehören üblicherweise der Kartenklasse 10 an. Sie müssen laut Spezifikation beim Aufzeichnen von MPEG-Videodatenströmen mindestens 10 MB/s übertragen. SDXC-Karten setzen das Dateisystem exFAT ein, das nicht kompatibel zu FAT16 (SD-Karten) und FAT32 (SDHC-Karten) ist. SDXC-Karten benötigen daher spezielle Kartenleser. Auch die Aufnahme- und Abspielgeräte müssen mit der SDXC-Technik umgehen können.

Quelle: PC-Welt 9/2010, Seite 20

 

Verfasser: Andreas
Letzte Änderung: 2010-10-29 20:29


Digitalzoom

Beim Digitalzoom entsteht die Vergrößerung nicht wie beim optischen Zoom durch das Verschieben von Linsen im Objektiv. Stattdessen rechnet die Kamera den gewählten Bildausschnitt auf die eingestellte Bildauflösung hoch.Da dabei die fehlenden Bildinformationen aus den benachbarten Bildpunkten ermittelt werden, ist das Ergebnis oft fehlerhaft undunscharf.

Quelle: PC-Welt 9/2010, Seite 20

 

Verfasser: Andreas
Letzte Änderung: 2010-10-29 20:32


EDGE

Enhanced Data Rates for GSM Evolution ist eine Weiterentwicklung des Telekommunikations-Standards GPRS zur Datenübertragung. Durch ein zusätzliches Modulationsverfahren wird die Datenrate erhöht. So lassen sich statt der im normalen Handynetz maximal möglichen 171,2KBit theoretisch bis zu 473 KBit pro Sekunde übertragen. Die nächste Generation des Verfahrens, Edge Evolution oder Evolved Edge genannt, soll bereits bis zu 1 MBit pro Sekunde übertragen.

Quelle: PC-Welt 9/2010, Seite 21

Verfasser: Andreas
Letzte Änderung: 2010-10-29 20:36


Strichcode

Der Strichcode oder Barcode ist eine Anordnung von parallelen Linien unterschiedlicher Breite auf den meisten Produktverpackungen. Er ist maschinenlesbar und entspricht der eindeutigen Identifikationsnummer eines Produkts (EAN)

Quelle: PC-Welt 9/2010, Seite 21

Verfasser: Andreas
Letzte Änderung: 2010-10-29 20:39


SIM-Karte

Subscriber Identity Module heißt die Chipkarte für Mobiltelefone. Sie wird ins Handy gesteckt und ist für Telefonate unerlässlich. Denn sie enthält die Rufnummer und dient zur Identifizierung des Nutzers im Mobilfunknetz. Jede SIM-Karte ist durch eine Geheimzahl (PIN) geschützt. Erst wenn diese über die Tastatur eingegeben wird, lässt sich das Handy einschalten.

Quelle: PC-Welt 9/2010, Seite 21

Verfasser: Andreas
Letzte Änderung: 2010-10-29 20:41


A-Law

Bei diesem Kompressions-/Dekompressionsverfahren werden nach dem Euro-Telefonstandard 8-Bit-Samples mit einem Dynamikumfang bis zu 72 dB erreicht.

PC Magazin, Nr. 3/97, Seite 110

Verfasser: Andreas
Letzte Änderung: 2010-12-12 13:29


A3D

Diese Raumklang-Technologie der Firma Aureal basiert auf der Annahme, daß der Mensch mit zwei Ohren die Welt räumlich wahrnimmt und demnach auch der Klang aus zwei Lautsprechern den gleichen Effekt erzielen kann.

PC Magazin, Nr. 6/98, S. 126

Verfasser: Andreas
Letzte Änderung: 2010-12-12 13:30


AAC

Verfahren zum plazsparenden Speichern von Musik. Es erlaubt auch den Einsatz von DRM Kopierschutz. Sie werdne deshalb oft in Internet Musikläden verwendet.

Quelle: Computer Bild 10/2006, Seite 12

So heißt das Audioformat, das Tunes standardmäßig für die Umwandlung von Musik-CDs verwendet. Zwar wird Musikdateien in diesem Format nachgesagt, dass sie bei gleicher Klangqualität etwas kleiner sind als MP3-Dateien. Dennoch konnte sich AAC nicht auf breiter Front durchsetzen. Entsprechend ändern viele iTunes-Nutzer das Verfahren fürs Konvertieren auf MP3. Das geht über „Bearbeiten / Einstellungen / Allgemein / Importeinstellungen / Importieren mit / MP3-Codierer“.

PC-Welt 7/2011, S. 83

 

Verfasser: Andreas
Letzte Änderung: 2011-06-05 13:50


AC97

Der Audio Codec 97 sieht eine 2-Chip-Architektur für den PC vor, bei der analoge und digitale Komponenten zur optimalen Ausnutzung ihrer Stärken getrennt sind

PC Magazin, Nr. 6/98, S. 126

Verfasser: Andreas
Letzte Änderung: 2010-12-12 13:31


Adlib

Der Soundkartenherstellter der ersten Stunde legte die Adressen zur Erzeugung der FM-Klänge fest.

PC Magazin, Nr. 3/97, Seite 110

Verfasser: Andreas
Letzte Änderung: 2010-12-12 13:32


ADPCM

Abk. für Adaptive Differential Puls Code Modulation. Die Kompression bzw. Dekompression der Daten (Verhältnis 4:1) sorgt dafür, daß beispielsweise ein 16- auf ein 4- bit-Sample komprimiert wird.

PC Magazin, Nr. 3/97, Seite 110

Verfasser: Andreas
Letzte Änderung: 2010-12-12 13:33


ADSR-Kurve

Die Hüllkurve bestimmt den zeitlichen Verlauf eines Klangs. In der Regel durchläuft sie vier Stationen: Attack (Anschlag), Decay (abfallen, schwächer werden), Sustain (festhalten) und Release (loslassen).

PC Magazin, Nr. 12/97, S. 144

Verfasser: Andreas
Letzte Änderung: 2010-12-12 13:34


Aftertouch

nachträgliche Tastenmanipulationen nach dem Anschlag

PC Magazin, Nr. 12/97, S. 144

Verfasser: Andreas
Letzte Änderung: 2010-12-12 13:35


Aliasing

Verzerrung, die beim Sampling auftritt, wenn Frequenzen vorhanden, sind, die höher als die Hälfte der Sampling- Rate liegen.

PC Magazin, Nr. 5/2000, S. 88

Verfasser: Andreas
Letzte Änderung: 2010-12-12 13:35


AMT

Abk. für Active MIDI Transmission. Von der Firma Emagic eingeführte MIDI-Übertragungstechnik. MIDI-Befehle werden von AMT-kompatibler Hardware in Blöcken vom Rechner empfangen und timinggenau an angeschlossene Geräte ausgegeben.

PC Magazin, Nr. 5/2000, S. 88

Verfasser: Andreas
Letzte Änderung: 2010-12-12 13:36


Analog-Digital-Wandler

Eine elektronische Baugruppe, die analoge Tonsignale in digitale umwandelt.

PC Magazin, Nr. 12/97, S. 144

Verfasser: Andreas
Letzte Änderung: 2010-12-12 13:36


Anschlagdynamik

Gleicher Ton mit verschiedener Lautstärke in Abhängigkeit von der Stärke des Anschlags. Die Noteninformation wird mit der der Anschlagstärke kombiniert. Damit lassen sich auch verschiedene Wavetables mischen, die Tonhöhe beugen und Sound filtern.

PC Magazin, Nr. 12/97, S. 144

Verfasser: Andreas
Letzte Änderung: 2010-12-12 13:37


Arpeggiator

Zerlegt gespielte Akkorde in Melodienverläufe. Hauptparameter eines Arpeggiators sind Tempo, Reihenfolge und Transponierung.

PC Magazin, Nr. 5/2000, S. 88

Verfasser: Andreas
Letzte Änderung: 2010-12-12 13:37


ASIO

Abk. für Audio Stream Input/Output. Von Steinberg entwickeltes Mehrkanal-Audio-Übertragungs-Protokoll, das als Grundlage für die ASIO-Treiber dient. Die Treiber ermöglichen eine besonders schnelle Kommunikation zwischen Audio-Anwendung und Soundkarte.

PC Magazin, Nr. 5/2000, S. 88

Verfasser: Andreas
Letzte Änderung: 2010-12-12 13:38


Attacke

Bgr. für Anstiegszeit, Einregelzeit. Der Hüllkurvenparameter Attack bestimmt die Zeit, in der die Hüllkurve nach dem Start den größten Wert erreicht.

PC Magazin, Nr. 5/2000, S. 88

Verfasser: Andreas
Letzte Änderung: 2010-12-12 13:38


AU

Das Sun-Audio-Format, auch Law-Format genannt (Dateiendung au) stammt aus der Unix-Welt und wird auch gern bei Java-Applets verwendet. Das Format läßt nur eine Sampling-Rate von 8 kHz zu, was einer schlechten Tonqualität entspricht. Deshalb eignet es sich in erster Linie für Sound-Effekte.

PC Magazin, Nr. 6/98, S. 113

Verfasser: Andreas
Letzte Änderung: 2010-12-12 13:39


Audiostream

Datenströme digitaler Audiodaten. Der Prozessor schickt die Audiostreams von der Festplatte zur Soundkarte, um sie dort verarbeiten zu lassen, in ein Analogsignal umzuwandeln und über die Lautsprecher wiederzugeben.

PC Magazin, Nr. 1/99, S. 128

Verfasser: Andreas
Letzte Änderung: 2010-12-12 13:39


Automation

Automatisierte Steuerung von Mischpultreglern während der Wiedergabe.

PC Magazin, Nr. 5/2000, S. 88

Verfasser: Andreas
Letzte Änderung: 2010-12-12 13:40


AutoPanner

Effektmodul, welches ein Monosignal mit wählbarer Intensität zwischen rechtem und linkem Kanal pendeln läßt.

PC Magazin, Nr. 12/97, S. 144

Verfasser: Andreas
Letzte Änderung: 2010-12-12 13:40


Bandpass

Ein Hochpass- und ein Tiefpassfilter hintereinandergeschaltet; lässt nur alle Töne passieren, die zwischen der unteren und der oberen Eckfrequenz liegen.

PC Magazin, Nr. 5/2000, S. 88

Verfasser: Andreas
Letzte Änderung: 2010-12-12 13:41


Bandsperre

Parallel geschaltete Hoch- und Tiefpassfilter, so dass nur Töne passieren, die unterhalb der unteren oder oberhalb der oberen Eckfrequenz liegen.

PC Magazin, Nr. 5/2000, S. 88

Verfasser: Andreas
Letzte Änderung: 2010-12-12 13:41


Beatnik

WWW-Browser-Plugin für unterschiedliche Plattformen mit komplettem virtuellen Synthesizer

PC Magazin, Nr. 12/97, S. 144

Verfasser: Andreas
Letzte Änderung: 2010-12-12 13:42


BPM

Abk. für Beats per Minute. Schläge pro Minute.

PC Magazin, Nr. 5/2000, S. 88

Verfasser: Andreas
Letzte Änderung: 2010-12-12 13:42


CD-Grabber

Software, die eine Audio-CD in Form von wav-Dateien auf die Festplatte kopiert (s.a. CD-Ripper).

PC Magazin, Nr. 2/2000, S. 77

Verfasser: Andreas
Letzte Änderung: 2010-12-12 13:43


CD-Ripper

Software, die eine Audio-CD in Form von wav-Dateien auf die Festplatte kopiert (s.a. CD-Grabber).

PC Magazin, Nr. 2/2000, S. 77

Verfasser: Andreas
Letzte Änderung: 2010-12-12 13:43


CDDB

Internet-Datenbank, in der Infos zu über 200 000 Audio- CDs gespeichert sind. CD-Grabber können darüber eine ins Laufwerk eingelegte Audio-CD identifizieren.

PC Magazin, Nr. 2/2000, S. 77

Verfasser: Andreas
Letzte Änderung: 2010-12-12 13:44


Chunk

Ketten von Bytes, um MIDI-Daten einzulesen

PC Magazin, Nr. 12/97, S. 144

Verfasser: Andreas
Letzte Änderung: 2010-12-12 13:44


CODEC

Abk. für Coding/Decoding. Ein CODEC-Chip wandelt auf der Soundkarte analoge in digitale Daten um.

PC Magazin, Nr. 3/97, Seite 110

Verfasser: Andreas
Letzte Änderung: 2010-12-12 13:45


Crossfade

Überblendung zweier Signale.

PC Magazin, Nr. 5/2000, S. 88

Verfasser: Andreas
Letzte Änderung: 2010-12-12 13:45


Cutoff-Frequenz

Auch Eckfrequenz. Ab diesem Punkt beginnt die Filterwirkung.

PC Magazin, Nr. 5/2000, S. 88

Verfasser: Andreas
Letzte Änderung: 2010-12-12 13:46


DAC

Abk. für Digital-Analog-Converter. Chip, der digitale Daten in analoge Daten umwandelt.

PC Magazin, Nr. 3/97, Seite 110

Verfasser: Andreas
Letzte Änderung: 2010-12-12 13:46


Daisy-Chain

Reihenschaltung für MIDI-Geräte

PC Magazin, Nr. 12/97, S. 144

Verfasser: Andreas
Letzte Änderung: 2010-12-12 13:47


Datenrate

Menge an KBit, die pro Sekunde MP3-Wiedergabe verarbeitet werden. Bei 128 Kbps und darüber klingt eine MP3-Datei CD-ähnlich.

PC Magazin, Nr. 2/2000, S. 77

 

Verfasser: Andreas
Letzte Änderung: 2010-12-12 13:47


DCO

Abk. für Digital Controlled Oscillator. Digital gesteuerter Oszillator: Digitale Oszillatoren waren ursprünglich elektronische Bauelemente, die Rechteck- und Puls-Schwingungen erzeugen konnten. Heute sind digitale Oszillatoren Computerprogramme, welche die Schwingungsform selbst oder durch Samples generieren.

PC Magazin, Nr. 5/2000, S. 88

Verfasser: Andreas
Letzte Änderung: 2010-12-12 13:48


DDD

Komplett digitalisierte Aufname und Klangverarbeitung

PC Magazin, Nr. 12/97, S. 144

Verfasser: Andreas
Letzte Änderung: 2010-12-12 13:48


Decay

Bgr. für Abklingen. Der Parameter Decay bestimmt die Zeit, in der die Hüllkurve nach dem Attack auf den Haltepunkt (Substain) abfällt.

PC Magazin, Nr. 5/2000, S. 88

Verfasser: Andreas
Letzte Änderung: 2010-12-12 13:49


Delay

Klangverzögerung für Hall oder Echo

PC Magazin, Nr. 12/97, S. 144

Verfasser: Andreas
Letzte Änderung: 2010-12-12 13:49


Dezibel (db)

Maßeinheit für die relative Lautstärke von Tönen. 1 db entspricht der kleinsten Differenz, die das menschliche Gehör noch wahrnehmen kann.

PC Magazin, Nr. 6/98, S. 126
PC Magazin, Nr. 1/99, S. 128

Verfasser: Andreas
Letzte Änderung: 2010-12-12 13:50


Direct Sound

Schnittstelle zu Windows 95. Mit Direct Sound gelingt es, mehr als ein Audio-Stereosignal über den PC wiederzugeben (maximal 64 Stereokanäle). Die Kanäle können mit unterschiedlichen Abtastfrequenz, Auflösung und Effekteinstellung Audiosignale intern zusammenmischen und wiedergeben.

PC Magazin, Nr. 3/97, S. 110
PC Magazin, Nr. 1/99, S. 128

Verfasser: Andreas
Letzte Änderung: 2010-12-12 13:50


DLS

Abk. für Downloadable Sounds. Soundkarten- und Synthesizer-unabhängiges Soundkarten-Format, das Multisamples und ein LFO unterstützt. Das neue DLS-2 unterstützt u.a. zwei LFOs, resonanzfähige Filter und eine umfangreiche Hüllkurve.

PC Magazin, Nr. 5/2000, S. 88

Verfasser: Andreas
Letzte Änderung: 2010-12-12 13:51


DMA

Abk. für Direct Memory Access. Der direkte Zugriff auf Daten im RAM-Speicher ohne Umweg über den Prozessor. Beim Dual-DMA (Full Duplex) ist es möglich, Aufnahme- und Wiedergabedaten gleichzeitig über zwei separate DMA- Kanäle zu schicken. Einsatzgebiete: Harddisk Recording, akustische Datenübertragung über Telefon und Netzleitung. Beim Enhanced-Full-Duplex-Verfahren kann man zudem mit unterschiedlichen Sampling-Raten arbeiten.

PC Magazin, Nr. 3/97, S. 110
PC Magazin, Nr. 1/99, S. 128

Verfasser: Andreas
Letzte Änderung: 2010-12-12 13:51


Dolby ProLogic

Weltweiter Standard, unter dem Audioaufnahmen codiert und ausgestrahlt werden. Bei der Aufnahme werden die Sounds auf mehreren Spuren aufgenommen, dann zu einer Spur zusammengefügt und codiert. Die Wiedergabe erfolgt auf vier Kanälen (vorn links, vorn rechts, Center, Surround).

PC Magazin, Nr. 3/97, Seite 110

Verfasser: Andreas
Letzte Änderung: 2010-12-12 13:52


Drumkit

Schlagzeug-Set; bei Schlagzeug- und Perkussions-Klängen wird über Drumkits jeder Taste ein bestimmtes Schlaginstrument zugeordnet.

PC Magazin, Nr. 12/97, S. 144

Verfasser: Andreas
Letzte Änderung: 2010-12-12 13:53


Drumloop

loop = Schleife; Schlagzeugeinsatz als rhythmisches Muster sich wiederholender Takte.

PC Magazin, Nr. 12/97, S. 144

Verfasser: Andreas
Letzte Änderung: 2010-12-12 13:53


DSD

Abk. für Direct Stream Digital. DSD merkt sich nicht jeden Samplewert, sondern nur die Veränderung. Ein Bit beschreibt die Richtung (nach oben oder nach unten). die Abtastrate muß für die gleiche Qualität 64mal so hoch sein. Sony und Philips wollen dieses Verfahren verwenden.

PC Magazin, Nr. 6/99, S. 216

Verfasser: Andreas
Letzte Änderung: 2010-12-12 13:53


DSP

Abk. für digitaler Signalprozessor. Er entlastet den PC-Prozessor beim Aufnehmen (Sampling) und Komprimieren von Klängen.

PC Magazin, Nr. 3/97, Seite 110

Verfasser: Andreas
Letzte Änderung: 2010-12-12 13:54


Duration

Dt. Dauer, z.B. Notenlänge.

PC Magazin, Nr. 5/2000, S. 88

Verfasser: Andreas
Letzte Änderung: 2010-12-12 13:54


Dynamik

Dieses in db angegebene Maß definiert das Verhältnis der größten Aussteuerung zum Rauschpegel.

PC Magazin Plus, Nr. 7/99, S. 19

Verfasser: Andreas
Letzte Änderung: 2010-12-12 13:55


Dynamikumfang

Der Maximale Tonwertumfang (von den hellsten bis zu den dunkelsten Tonwerten), den ein Aufnahmegerät erfassen kann.

PC Magazin, Nr. 7/97, S. 136

Verfasser: Andreas
Letzte Änderung: 2010-12-12 13:55


EASI

Abk. für Enhanced Audio Streaming Interface. Treiberkonzept von Emagic zur effektiveren Ansteuerung von Audio-Hardware.

PC Magazin, Nr. 5/2000, S. 88

Verfasser: Andreas
Letzte Änderung: 2010-12-12 13:56


Enhanced Full-Duplex-Mode

Erweiterung des Full-Duplex-Mode, bei dem für die Aufnahme und Wiedergabe unterschiedliche Sampling- Frequenzen zum Einsatz kommen können.

PC Magazin, Nr. 2/97, S. 246

Verfasser: Andreas
Letzte Änderung: 2010-12-12 13:56


Enhancer

Aufhellung eines Signals durch dynamische Verstärkung des hohen Frequenzbands.

PC Magazin, Nr. 5/2000, S. 88

Verfasser: Andreas
Letzte Änderung: 2010-12-12 13:57


Equalizer

Dieser regelt die Klangqualität von Bässen zu Höhen.

PC Magazin, Nr. 12/97, S. 144
PC Magazin, Nr. 1/99, S. 128

Verfasser: Andreas
Letzte Änderung: 2010-12-12 13:57


Event List

Auflistung aller in einer MIDI-Spur vorkommenden MIDI-Daten.

PC Magazin, Nr. 5/2000, S. 88

Verfasser: Andreas
Letzte Änderung: 2010-12-12 13:58


Exciter

Aufhellung des Signals durch das Hinzufügen von Obertönen durch kontrollierte Verzerrungen.

PC Magazin, Nr. 5/2000, S. 88

Verfasser: Andreas
Letzte Änderung: 2010-12-12 13:58


Expander

(expander = erweitern): Synthesizer mit Klangerzeugung, aber ohne Tastatur. Er dient dazu, vorhandene Synthesizer zu erweitern, um etwa ankommende MIDI-Daten im Klang zu verbessern.

PC Magazin, Nr. 12/97, S. 144

Verfasser: Andreas
Letzte Änderung: 2010-12-12 13:59


Fade-In/Fade-Out

Bgr. für Ein-/Ausblendung

PC Magazin, Nr. 5/2000, S. 88

Verfasser: Andreas
Letzte Änderung: 2010-12-12 14:00


Filter

Ein Filter dämpft oder entfernt Frequenzbereiche aus dem anliegenden Signal und lässt andere passieren. Typische Filter sind Tiefbassfilter (hohe Frequenzen werden ausgefiltert), Hochpass-Filter (filtert tiefe Frequenzen weg) Bandpass-Filter (lässt Frequenzen innerhalb eines einstellbaren Bereichs durch) und das Bandsperr-Filter (filtert eine Frequenz heraus und lässt Frequenzen ober- und unterhalb passieren). Ein Filter wird durch die beiden Parameter Eckfrequenz (Cutoff-Frequenz) und Resonanz (Q) gesteuert.

PC Magazin, Nr. 5/2000, S. 88

Verfasser: Andreas
Letzte Änderung: 2010-12-12 14:00


Flanger

(dt.: Effektmodul) Der Flange-Effekt besteht aus zwei gleichen Signalen, von denen eines kurz verzögert ist, so daß das Signal gegenphasig wird. Das führt zur zeitweisen Auslöschung und Verstärkung des Tons.

PC Magazin, Nr. 12/97, S. 144
PC Magazin, Nr. 1/99, S. 128

Verfasser: Andreas
Letzte Änderung: 2010-12-12 14:00


FM

Abk. für Frequenzmodulation. Beeinflussung der Tonhöhe, kann sich als Tonhöhenverschiebung (Modulation durch Hüllkurve) oder Vibrato (durch LFO) äußern.

PC Magazin, Nr. 5/2000, S. 88

Verfasser: Andreas
Letzte Änderung: 2010-12-12 14:02


FM-Synthese

Klangerzeugung mit der Technik der Frequenzmodulation. Um auf elektronischem Wege Töne zu erzeugen, kombiniert ein Synthesizer unterschiedliche Sinuswellen zu einem Klang. Je mehr Oszillatoren und damit einzelne Wellen eingesetzt werden, desto natürlicher klingt der erzeugte Ton.

PC Magazin, Nr. 12/97, S. 144 und Nr. 6/98, S. 126

Verfasser: Andreas
Letzte Änderung: 2010-12-12 14:03


Formant

(lat. formare = gestalten): ausgesprägte Resonanzen eines Tonerzeugers über einen Frequenzbereich. Ein Element der Klangfarbe. Beim stärkeren Klang wandert der Bereich auf Teilschwingungen höherer Ordnung (kürzere Wellenlänge).

PC Magazin, Nr. 12/97, S. 144

Verfasser: Andreas
Letzte Änderung: 2010-12-12 14:03


Formantkorrektur

Die Formantkorrektur vermeidet den Mickey-Maus-Effekt beim Pitch Shifting (bei Stimmen und Saxophon besonders gut zu hören).

PC Magazin, Nr. 5/2000, S. 88

Verfasser: Andreas
Letzte Änderung: 2010-12-12 14:04


Frequenzgang

Beschreibung des Amplitudenverhältnisses von Eingangs- und Ausgangssignal und ihrer Phasenverschiebung in Abhängigkeit von der Frequenz.

PC Magazin Plus, Nr. 7/99, S. 19

Verfasser: Andreas
Letzte Änderung: 2010-12-12 14:04


Full-Duplex-Mode

Der Vollduplex-Mode erlaubt bei einer Soundkarte das gleichzeitige Aufnehmen und Wiedergeben von Audiosignalen. Im Rahmen von Musikproduktionen lassen sich hiermit Playbacks während der Aufnahme abspielen.

PC Magazin, Nr. 2/97, S. 246

Verfasser: Andreas
Letzte Änderung: 2010-12-12 14:05


Gater

Effekt, der ein Sample in eine wählbare Anzahl von Stücken zerhackt.

PC Magazin, Nr. 1/99, S. 128

Verfasser: Andreas
Letzte Änderung: 2010-12-12 14:05


GEMA

Abk. für Gesellschaft für musikalische Aufführungs- und mechanische Vervielfältigungsrechte; eine Organisation, die die Urheberrechte von Künstlern bei Vervielfältigung und öffentlichen Aufführungen durch Erhebung von Lizenzgebühren wahrt.

PC Magazin, Nr. 2/2000, S. 77

Verfasser: Andreas
Letzte Änderung: 2010-12-12 14:05


General Synthesizer Standard

Hierbei handelt es sich um eine Erweiterung des General- MIDI-Standards, um zusätzliche Klänge und verschiedene Hall- sowie Choruseffekte zu erzielen.

PC Magazin, Nr. 2/97, S. 246

Verfasser: Andreas
Letzte Änderung: 2010-12-12 14:06


GM

General Midi dient zur Vereinheitlichung von MIDI- Klangerzeugern. So liegt bei einem General-MIDI- kompatiblen Klangerzeugern oder MIDI-File auf Kanal 10 immer ein Schlagzeug-Set, und es müssen immer 16 MIDI- Kanäle gleichzeitig wiedergegeben werden können. Weiterhin ist die Klangauswahl, Namensgebung und Sortierung unter General MIDI festgelegt. Effekte oder ähnliches sieht die General-MIDI-Norm nicht vor.

PC Magazin, Nr. 3/97, Seite 110

Verfasser: Andreas
Letzte Änderung: 2010-12-12 14:07


Groove-Quantisierung

Die Noten werden nicht in einem gleichmäßigen Raster angeordnet, sondern rhythmisch leicht gegeneinander versetzt (z.B. Blues, Swing).

PC Magazin, Nr. 5/2000, S. 88

Verfasser: Andreas
Letzte Änderung: 2010-12-12 14:07


GS

Abk. für General Synthesizer, eine Erweiterung von General MIDI. Der GS-Standard ist zum General-MIDI-Modus abwärtskompatibel, bietet aber zusätzlich zwei Effekte: Der erste ist in der Regel ein Hall oder Delay, der zweite meist ein Modulationseffekt, also Flanger oder Chorus. Zusätzlich erlaubt der GS-Modus eine rudimentäre Klangbeeinflussung der einzelnen Sounds. Über bestimmte MIDI-Meldungen lassen sich Klänge verändern und einzelne Schlagsounds einpegeln.

PC Magazin, Nr. 3/97, Seite 110

Verfasser: Andreas
Letzte Änderung: 2010-12-12 14:08


Hall

Nachhall-Effekt.

PC Magazin, Nr. 5/2000, S. 88

Verfasser: Andreas
Letzte Änderung: 2010-12-12 14:08


Harddisk-Recording

Anstelle der analogen oder digitalen Aufzeichnung von Audiosignalen auf Band erfolgt beim Harddisk-Recording die Aufzeichnung der Daten auf Festplatte. Die Leistungsfähigkeit des Gesamtsystems und die Software bestimmen - gegenüber der Spurenanzahl bei analogen Bandmaschienen - die maximale Anzahl der Audiospuren.

PC Magazin, Nr. 2/97, S. 246

Verfasser: Andreas
Letzte Änderung: 2010-12-12 14:09


HiFi

Abk. für High Fidelity (Hohe Klang-Treue)

PC Magazin Plus, Nr. 7/99, S. 19

Verfasser: Andreas
Letzte Änderung: 2010-12-12 14:10


Hochpass

Filter, das alle Töne unterhalb der Eckfrequenz (Cutoff- Frequenz) ausfiltert.

PC Magazin, Nr. 5/2000, S. 88

Verfasser: Andreas
Letzte Änderung: 2010-12-12 14:10


Hüllkurve

Auch: Envelope. Synthesizermodul für einen einstellbaren Kurvenverlauf von Tonhöhen-, Klang- und Lautstärkeformung. Neben dem LFO das wichtigste Element im Synthesizer für klangliche Veränderungen. Die einfachste Hüllkurve ist die ADSR-Hüllkurve. Bei den Time-/Level-Hüllkurven lassen sich Zeitverläufe und Pegel frei einstellen und somit kompliziertere Modulationen erzeugen.

PC Magazin, Nr. 5/2000, S. 88

Verfasser: Andreas
Letzte Änderung: 2010-12-12 14:11


ID3-Tag

Titelinformationen (Bandname, Liedname, Album, Erscheinungsjahr etc.), die in der MP3-Datei enthalten sind.

PC Magazin, Nr. 2/2000, S. 77

ID3 steht für „Identify an MP3“. Bei den ID3-Tags, oft auch MP3-Tags genannt, handelt es sich um standardisierte Zusatzinformationen, die in den Musikdateien gespeichert werden. Dazu zählen unter anderem Interpret, Song- und Albumtitel sowie unter anderem auch das Cover. Dieses Bild kann iTunes beim Einlesen einer
Musik-CD automatisch aus dem Internet laden. Dafür müssen Sie mit einem iTunes-Konto angemeldet sein („Store fi Anmelden“). Das Laden der Albumhüllen-
Bilder können Sie automatisieren: Klicken Sie auf „Bearbeiten / Einstellungen /  Store / Automatisch fehlende CDCover laden“. 

PC-Welt 7/2011, S. 84

Verfasser: Andreas
Letzte Änderung: 2011-06-05 13:52


IFF

Interchange File Format - vergleichbar mit dem MIDI-Format

PC Magazin, Nr. 12/97, S. 144

Verfasser: Andreas
Letzte Änderung: 2010-12-12 14:11


Indizes

Mit den sogenannten Indizes können sie innerhalb eines Tracks entsprechend markierte Stellen direkt anspringen. Dies gelingt aber nur, wenn der CD-Player diese Option unterstützt. Indizes sind im Subcode der CD abgelegt und werden mittels PQ-Editing per CD-Recording-Software gesetzt.

PC Magazin Plus, Nr. 7/99, S. 19

Verfasser: Andreas
Letzte Änderung: 2010-12-12 14:12


Kanalnummer

Geräte- oder Instrumentenzuordnung, bei MIDI von 1 bis 16

PC Magazin, Nr. 12/97, S. 144

Verfasser: Andreas
Letzte Änderung: 2010-12-12 14:12


Keyboard

Als Keyboard bezeichnet man nicht nur die Tastatur des Computers, sondern auch die Klaviatur eines Klangerzeugers. Von einem Master-Keyboard spricht man, wenn das MIDI-Gerät lediglich eine Klaviatur, aber keine eigene Klangerzeugung besitzt.

PC Magazin, Nr. 2/97, S. 246

Verfasser: Andreas
Letzte Änderung: 2010-12-12 14:13


Klang

Die drei Hauptkennzeichen eines Klanges sind Tonhöhe, Klangfarbe und Lautstärke. Bei elektronischen Musikinstrumenten entsprechen diese Größen der Frequenz, dem Obertongehalt und dem Amplitudenverlauf.

PC Magazin, Nr. 5/2000, S. 88

Verfasser: Andreas
Letzte Änderung: 2010-12-12 14:14


Kompressor

Modul, um den Dynamik-Bereich zwischen Pianissimo und Fortissimo elektronisch weich zu regeln.

PC Magazin, Nr. 12/97, S. 144

Verfasser: Andreas
Letzte Änderung: 2010-12-12 14:14


Latenzzeit

Ansprechverzögerung beim Aufnehmen und Wiedergeben von Audiomaterial, abhängig von Hardware und Treiber. Die beste Latenzzeit haben ASIO-/EASI-Treiber.

PC Magazin, Nr. 5/2000, S. 88

Verfasser: Andreas
Letzte Änderung: 2010-12-12 14:15


LFO

Abk. für Low Frequency Oscillator. Niderfrequenzoszillator oder Modulationsgenerator. Ein LFO erzeugt periodische Modulationen wie Tremolo oder Vibrato. LFOs erzeugen, wie alle Oszillatoren Schwingungen mit Kurvenform. Hier sind Sinus, Dreieck, Sägezahn, Rechteck und eine zufallsgesteuerte Schwingungsform üblich.

PC Magazin, Nr. 5/2000, S. 88

Verfasser: Andreas
Letzte Änderung: 2010-12-12 14:15


Limiter

Mit Limitern läßt sich die Gefahr von Verzerrungen in Folge von Pegelslpitzen wirkungsvoll ausschalten. Ein Limiter begrenzt dabei den Spitzenpegel eines Signals, ohne die Dynamik zu beeinflussen.

PC Magazin, Nr. 2/97, S. 246

Verfasser: Andreas
Letzte Änderung: 2010-12-12 14:16


Line-In

Soundkarten-Eingangsbuchse für den Anschluß von externen Audioquellen wie Plattenspieler, Kassettendeck.

PC Magazin Plus, Nr. 7/99, S. 19

Verfasser: Andreas
Letzte Änderung: 2010-12-12 14:17


Loop

(engl.: Schleife) Bei der Wiedergabe von Samples (z.B. Wavetable- Klängen) wird der Mittelteil des Klangs immer wieder und wieder gespielt, um einen Sound in beliebiger Länge zu erhalten.

PC Magazin, Nr. 1/99, S. 128

Verfasser: Andreas
Letzte Änderung: 2010-12-12 14:18


Master-Keyboard

Klaviatur zum Einspielen von anschlagsdynamischen MIDI- Daten - am besten mit 88 gewichteten Tasten.

PC Magazin, Nr. 12/97, S. 144

Verfasser: Andreas
Letzte Änderung: 2010-12-12 14:19


MIDI

ist die Abkürzung für Music Digital Interface und ist der 1982 festgelegte Industriestandard für den Austausch von Musikdaten im Profibereich. Über eine serielle Schnittstelle lassen sich mit diesem Format Synthesizer und Keyboards mit dem Rechner verbinden. Im Gegensatz zu fast allen anderen Formaten werden dabei keine Klänge digitalisiert, sondern die Musikinformationen in Form von Notenwerten gespeichert. Für die Klangerzeugung und die Information über die Instrumente ist das angesteuerte Ausgabegerät (etwa ein Synthesizer oder die Soundkarte) zuständig. MIDI-Dateien haben den Vorteil, daß sie sehr klein sind und jederzeit nachbearbeitet und verändert werden können. Der Nachteil: Eine MIDI-Datei klingt nicht selbst, sondern brauch eine MIDI-fähige Soundkarte als Instrument. General-MIDI (GM) besitzt einen festgelegte Standardbelegung für 127 Instrumente und ein Drumkit. MIDI-Dateien haben die Endung mid.

PC Magazin, Nr. 6/98, S. 113

Verfasser: Andreas
Letzte Änderung: 2010-12-12 14:21


MIDI-Effekte

Mit Hilfe zusätzlicher gesendeter MIDI-Daten werden Effekte wie beispielsweise Echo simuliert.

PC Magazin, Nr. 5/2000, S. 88

Verfasser: Andreas
Letzte Änderung: 2010-12-12 14:22


MIDI-In

Anschlußbuchse für ankommende MIDI-Daten

PC Magazin, Nr. 12/97, S. 144

Verfasser: Andreas
Letzte Änderung: 2010-12-12 14:22


MIDI-Mapper

Ein Programm, mit dessen Hilfe sich einzelne Klangnummern neu zuordnen lassen.

PC Magazin, Nr. 3/97, Seite 110

Verfasser: Andreas
Letzte Änderung: 2010-12-12 14:23


MIDI-Out

Anschlußbuchse, um MIDI-Daten an das nächste MIDI-Gerät weiterzuleiten.

PC Magazin, Nr. 12/97, S. 144

Verfasser: Andreas
Letzte Änderung: 2010-12-12 14:23


MIDI-Port

Das ist die Anschlußbuchse zum MIDI-Interface bei Soundkarten. In der Regel besitzen MIDI-Geräte eine MIDI- IN-, -Out- und -Thru-Buchse. Häufig ist der MIDI-Port bei Soundkarten mit dem Joystick-Anschluß (Game-Port) identisch. In diesem Fall ist ein Adapterkabel erforderlich.

PC Magazin, Nr. 2/97, S. 246

Verfasser: Andreas
Letzte Änderung: 2010-12-12 14:23


MIDI-Thru

Anschlußbuchse, um ankommende MIDI-Daten direkt und unverzögert an ein weiteres MIDI-Gerät durchzuschalten.

PC Magazin, Nr. 12/97, S. 144

Verfasser: Andreas
Letzte Änderung: 2010-12-12 14:24


Mixer

Der Soundkartenbaustein sorgt für eine Abstimmung der Gesamtlautstärke und Pegel der einzelnen Eingänge wie MIDI, Wave oder MIC.

PC Magazin, Nr. 3/97, Seite 110

Verfasser: Andreas
Letzte Änderung: 2010-12-12 14:25


Mixermaps

Mischpult für MIDI-Parameter wie Lautstärke, Panorama, Pitch.

PC Magazin, Nr. 5/2000, S. 88

Verfasser: Andreas
Letzte Änderung: 2010-12-12 14:25


MOD

Das MOD-Format stammt ursprünglich aus der Amiga-Welt. Wie bei MIDI speichert es die Musikdateien in Form von Abspielanweisungen. Die Datei enthält jedoch zusätzlich die digitalisierten Klangsamples. Die Dateiendung ist mod.

PC Magazin, Nr. 6/98, S. 113

Verfasser: Andreas
Letzte Änderung: 2010-12-12 14:26


MP3

Verfahren zum plazsparenden Speichern von Musik.

Quelle: Computer Bild 10/2006, Seite 12

Verfasser: Andreas
Letzte Änderung: 2010-12-12 14:26


MP3 - MPEG 1 Audio Layer 3

bezeichnet ein Verfahren, das Audiodaten in CD-Qualität ohne hörmare Verluste auf ca. ein Elftel der Ausgangsgröße reduziert.


Quelle: Linux User 6/2003

Verfasser: Andreas
Letzte Änderung: 2010-12-12 14:26


MP3-Decoder

Software, die aus MP3-Dateien Wave-Dateien erstellt, beispielsweise zum Brennen einer Audio-CD.

PC Magazin, Nr. 2/2000, S. 77

Verfasser: Andreas
Letzte Änderung: 2010-12-12 14:27


MP3-Encoder

Software, die aus Wave-Dateien MP3-Dateien herstellt.

PC Magazin, Nr. 2/2000, S. 77

Verfasser: Andreas
Letzte Änderung: 2010-12-12 14:28


MPEG-3

Das Soundformat Moving Picture Expert Group (MPEG) Audio Layer III (kurz: MP3) hat das Erlanger Fraunhofer Institut für Integrierte Schaltungen entwickelt. Das Format besitzt eine Audio-Komprimierung, die bis zu 90 Prozent der Datenmengen einer Musik-CD einspart, ohne an Qualität einzubüßen. Eine MPEG-3-Datei hat die Dateiendung mp3. Beim Komprimieren gehen viele Höhen und Tiefen verloren, die gängie PC-Lautsprecher sowieso verschluckt hätten bzw. der Mensch ohnehin nicht hört. Beispielsweise kann das Ohr Signale, die unter der Hörschwelle liegen, nicht wahrnehmen. Bei der Reduktion von 1,4 MBit auf 128 KBit - das ist der Faktor 11 - hört man praktisch keinen Unterschied. Bei der Reduktion auf 16 KBit - das entspricht dem Faktor 80 - sind Qualitätseinbußen zu hören. Besonders interessant ist das Format fürs Internet, da sich so Musikstücke in CD- Qualität in akzeptabler Zeit herunterladen lassen. Übrigens: Audio-CD-Player können das MPEG-Format nicht lesen.

PC Magazin, Nr. 6/98, S. 113

Verfasser: Andreas
Letzte Änderung: 2010-12-12 14:28


MPU-401

Abk. für MIDI Processing Unit 401, eine von Roland entwickelte MIDI-Schnittstelle. Sie definiert die MIDI- Kommandos in ein für den Wavetable-Synthesizer verständliches Format.

PC Magazin, Nr. 3/97, Seite 110

Verfasser: Andreas
Letzte Änderung: 2010-12-12 14:29


MSF

Abk. für MIDI Standard File, siehe SMF.

PC Magazin Plus, Nr. 7/99, S. 19

Verfasser: Andreas
Letzte Änderung: 2010-12-12 14:31


MT 32

Ein von Roland entwickeltes MIDI-Instrument, das vor der Einführung des GM-Standards als Standardinstrument für die Wiedergabe vieler Spiele diente.

PC Magazin, Nr. 3/97, Seite 110

Verfasser: Andreas
Letzte Änderung: 2010-12-12 14:31


MTC

MIDI-Timecode: er dient zur Synchronisation der MIDI- Geräte

PC Magazin, Nr. 12/97, S. 144

Verfasser: Andreas
Letzte Änderung: 2010-12-12 14:34


Multiclient-Treiber

Mehrere Anwendungen können gleichzeitig auf Audio- oder MIDI-Treiber zugreifen.

PC Magazin, Nr. 5/2000, S. 88

Verfasser: Andreas
Letzte Änderung: 2010-12-12 14:35


Multitimbral

Mehrstimmigkeit mit verschiedenen Instrumenten

PC Magazin, Nr. 12/97, S. 144

Verfasser: Andreas
Letzte Änderung: 2010-12-12 14:35


Music on Demand

Verfahren, in dessen Rahmen Musik gegen Bezahlung zum Herunterladen über eine Online-Verbindung angeboten wird.

PC Magazin, Nr. 2/2000, S. 77

Verfasser: Andreas
Letzte Änderung: 2010-12-12 14:36


Noise

Dt. Rauschen.

PC Magazin, Nr. 5/2000, S. 88

Verfasser: Andreas
Letzte Änderung: 2010-12-12 14:36


Noise Reduction

Ziel der Rauschverminderung ist, bei analogen Tonbandgeräten das Eigenrauschen des Bandes möglichst gering zu halten. Die angewandten Verfahren sind zum Beispiel Dolby oder DBX.

PC Magazin Plus, Nr. 7/99, S. 19

Verfasser: Andreas
Letzte Änderung: 2010-12-12 14:37


Non-destructive Editing

Bearbeitungsschritte können bis zur Speicherung des Samples zurückgenommen werden.

PC Magazin, Nr. 5/2000, S. 88

Verfasser: Andreas
Letzte Änderung: 2010-12-12 14:37


Normalize

Effekt, der die Lautstärke eines Samples maximiert, ohne die Ausgabe zu übersteuern.

PC Magazin, Nr. 1/99, S. 128

Verfasser: Andreas
Letzte Änderung: 2010-12-12 14:37


Oberton

Ein Ton besteht aus mehreren Teiltönen. Je nach Frequenz und Amplitude der Teiltöne ergibt sich die Klangfarbe. Die tiefste Frequenz des Spektrums bestimmt den Grundton, die mitschwingenden höheren Frequenzen (Obertöne) die Klangfarbe.

PC Magazin, Nr. 5/2000, S. 88

Verfasser: Andreas
Letzte Änderung: 2010-12-12 14:38


OGG Vorbis

Verfahren zum plazsparenden Speichern von Musik.
Die patentfreie Alternative zu MP3.

Quelle: Linux User 6/2003
Quelle: Computer Bild 10/2006, Seite 12

Verfasser: Andreas
Letzte Änderung: 2010-12-12 14:39


Overdub

Überspielen einer Spur, ohne ihren Inhalt zu löschen.

PC Magazin, Nr. 12/97, S. 144

Verfasser: Andreas
Letzte Änderung: 2010-12-12 14:39


Patch

Instrument bzw. Klang einer Soundkarte mit MIDI-Zusatz.

PC Magazin, Nr. 3/97, Seite 110

Verfasser: Andreas
Letzte Änderung: 2010-12-12 14:40


Patchbay

Steuerelement, um die Verteilung von MIDI-Kanälen zu löschen.

PC Magazin, Nr. 12/97, S. 144

Verfasser: Andreas
Letzte Änderung: 2010-12-12 14:40


Pattern

(Anordnung, Muster) Folge von mehreren Tonspuren, die einen Zeitabschnitt ausfüllt. Ein Pattern ist die kleinste musikalische Einheit im Gegensatz zum MIDI- Event, der kleinsten Sequenzer-Dateneinheit. Andere gebräuchliche Namen für Pattern sind Part (Einzelstimme) oder Sequenz (Folge).

PC Magazin, Nr. 12/97, S. 144

Verfasser: Andreas
Letzte Änderung: 2010-12-12 14:41


PCM

Abk. für Pulse Code Modulation. Unkomprimierte Sample- Werte des Analog-/Digitalwandlers.

PC Magazin, Nr. 6/99, S. 216

Verfasser: Andreas
Letzte Änderung: 2010-12-12 14:41


PFL

Abk. für Pre-Fader Listening. Dieses Vor-dem-Fader-Hören ist ein Vorhören bei einem Mischpult, welches das Signal eines Eingangskanals unabhängig von der Fader-Stellung über den Kopfhörer liefert.

PC Magazin Plus, Nr. 7/99, S. 19

Verfasser: Andreas
Letzte Änderung: 2010-12-12 14:41


Phasenmodulation

Modulation der Phase einer harmonischen Schwingung mit konstanter Amplitude.

PC Magazin Plus, Nr. 7/99, S. 19

Verfasser: Andreas
Letzte Änderung: 2010-12-12 14:42


Phon

Lautstärkeeinheit der Akkustik, gemessen in Dezibel.

PC Magazin Plus, Nr. 7/99, S. 19

Verfasser: Andreas
Letzte Änderung: 2010-12-12 14:42


Pitch Bend

Tonhöhenverstellung am Keyboard - meist per Handrad.

PC Magazin, Nr. 12/97, S. 144

Verfasser: Andreas
Letzte Änderung: 2010-12-12 14:43


Pitch Shifting

Dieser Effekt verändert die Tonhöhe, das Tempo bleibt jedoch bestehen.

PC Magazin, Nr. 1/99, S. 128

Verfasser: Andreas
Letzte Änderung: 2010-12-12 14:43


Playlist

Eine Textdatei, die die MP3-Abspiel-Software anweist, bestimmte Titel abzuspielen.

PC Magazin, Nr. 2/2000, S. 77

Verfasser: Andreas
Letzte Änderung: 2010-12-12 14:44


Plugin (Audio)

Separates Modul, das eine Musik-Software um zusätzliche Effekte erweitert.

PC Magazin, Nr. 5/2000, S. 88

Verfasser: Andreas
Letzte Änderung: 2010-12-12 14:44


Polyphonie

(dt.: Mehrstimmigkeit) Polyphonie gibt die Anzahl der Stimmen an, die bei einem Instrument gleichzeitig erklingen können, z. B. Flöte monophon, Gitarre sechsstimmig, Klavier mit 8 Oktaven 98stimmig.

PC Magazin, Nr. 1/99, S. 128

Verfasser: Andreas
Letzte Änderung: 2010-12-12 14:44


Portamento

Effekt, die Tonhöhe wechselt nicht sprunghaft, sondern gleitet stufenlos.

PC Magazin, Nr. 5/2000, S. 88

Verfasser: Andreas
Letzte Änderung: 2010-12-12 14:45


PQ-Editing

Setzen von Start-, Ende-Markierungen und Indizes bei einer Audio-CD.

PC Magazin Plus, Nr. 7/99, S. 19

Verfasser: Andreas
Letzte Änderung: 2010-12-12 14:45


Predelay

Verzögert das Einsetzen eines Effekts vom Originalsignal.

PC Magazin, Nr. 5/2000, S. 88

Verfasser: Andreas
Letzte Änderung: 2010-12-12 14:45


Programmnummer

Zuordnung eines Instruments zu einer Nummer, zum Beispiel Grand Piano zu Nummer 1.

PC Magazin, Nr. 12/97, S. 144

Verfasser: Andreas
Letzte Änderung: 2010-12-12 14:46


Programmwechsel

Wechsel des Instruments.

PC Magazin, Nr. 12/97, S. 144

Verfasser: Andreas
Letzte Änderung: 2010-12-12 14:46


Psychoakustik

Nachbearbeitung und Verbesserung des endgültigen Summensignals mit den verschiedensten Effekten und Methoden.

PC Magazin, Nr. 12/97, S. 144

Verfasser: Andreas
Letzte Änderung: 2010-12-12 14:47


QSound

Raumklang-Verfahren, das über zwei Lautsprecher einen 180 Grad umfassenden Klangbereich vor dem Zuhörer erzeugt.

PC Magazin, Nr. 6/98, S. 126

Verfasser: Andreas
Letzte Änderung: 2010-12-12 15:06


Quantisieren

In einem Sequenzer eingespielte Noten taktgetreu anpassen.

PC Magazin, Nr. 12/97, S. 144
PC Magazin, Nr. 1/99, S. 128

Verfasser: Andreas
Letzte Änderung: 2010-12-12 15:06


Rack-Expander

Synthesizer im 19-Zoll-Einschubgehäuse ohne Klaviatur, den MIDI-Signale ansteuern.

PC Magazin, Nr. 12/97, S. 144

Verfasser: Andreas
Letzte Änderung: 2010-12-12 15:07


Räumlichkeit

Ein dreidimensionaler Klang, der mit mehreren Lautsprechern oder durch 3D-Klang-Simulationen erzielt wird. Beispiel: Ein von hinten kommender Zug, der rechts an einem vorbeifährt und nach vorne verschwindet, soll über entsprechende Techniken (etwa Dolby Surround) akustisch über Lautsprecher wiedergegeben werden.

PC Magazin, Nr. 3/97, Seite 110

Verfasser: Andreas
Letzte Änderung: 2010-12-12 15:07


Rauschabstand

Dieser wird in Dezibel (db) angegeben und ist als Verhältnis von Signalleistung zu Rauschleistung definiert.

PC Magazin Plus, Nr. 7/99, S. 19

Verfasser: Andreas
Letzte Änderung: 2010-12-12 15:08


Rauschen

Störsignale die sich auch bei nicht vorhandenen Audio-Signalen beim Abspielen von Audio-Datenträgern ergeben. Das Rauschen ist in erster Linie auf kleine Störspannungen zurückzuführen, auch das sogenannte Quantisierungsrauschen beim Aufnehmen digitaler Audio- Daten fällt in die Kategorie Rauschen. Bei ausreichender Verstärkung durch einen Tonfrequenzverstärker ist es über jeden Lautsprecher zu hören.

PC Magazin Plus, Nr. 7/99, S. 19

Verfasser: Andreas
Letzte Änderung: 2010-12-12 15:08


Real Audio

Real-Audio-Streams bestehen aus digitalisierten Klangdaten, die sehr stark komprimiert wurden. Mit einem Real-Audio-Player lassen sich etwa spezielle Radiosendungen - bei einer guten Verbindung quasi live - direkt über das Internet empfangen. Die Musikqualität ist durch die starke Komprimierung jedoch niedrig. Real- Audio-Files erkennen Sie an der Endung ra. Das Soundformat ist im Internet weit verbreitet. Der Anbieter eines Songs oder einer Sendung entscheidet jedoch, ob sich das Angebot auf der Festplatte aufzeichnen läßt. Die Qualität von Real-Audio-Dateien ist eher mittelmäßig. Das liegt daran, daß die Anbieter meistens eine Abtastrate von 16 kHz benutzen.

PC Magazin, Nr. 6/98, S. 113

Verfasser: Andreas
Letzte Änderung: 2010-12-12 15:09


Release

Bgr. für Abklingzeit. Der Parameter steuert die Zeit, in der die Hüllkurve nach dem Loslassen der Taste vom Sustain (Haltepegel) auf den Nullpunkt abklingt.

PC Magazin, Nr. 5/2000, S. 88

Verfasser: Andreas
Letzte Änderung: 2010-12-12 15:09


Resonanz

Auch Q oder Peak. Filterparameter, der die Signalfrequenzen in der Nähe der Eckfrequenz betont. Dabei wird das Ausgangssignal des Filters wieder an seinen Eingang zurückgekoppelt.

PC Magazin, Nr. 5/2000, S. 88

Verfasser: Andreas
Letzte Änderung: 2010-12-12 15:10


RIAA

Abk. für Recording Industry Association of America, Interessenverband der US-amerikanischen Musikindustrie.

PC Magazin, Nr. 2/2000, S. 77

Verfasser: Andreas
Letzte Änderung: 2010-12-12 15:10


Rio PMP 300

Erster verkaufter, portabler MP3-Player überhaupt.

PC Magazin, Nr. 2/2000, S. 77

Verfasser: Andreas
Letzte Änderung: 2010-12-12 15:10


RMID

RMID-Format mit der Endung rmi, vergleichbar mit MIDI- und IFF-Formaten

PC Magazin, Nr. 12/97, S. 144

Verfasser: Andreas
Letzte Änderung: 2010-12-12 15:11


RMT

Rich Music Format: Format von Thomas Dolby Robertsen (Firma Headspace), spielt 16-Bit-Klänge, integriert GM- Instrumente und Synthesizer

PC Magazin, Nr. 12/97, S. 144

Verfasser: Andreas
Letzte Änderung: 2010-12-12 15:11


Roland Sound Canvas

Ein weit verbreitetes GM-/GS-Soundmodul, das sich als einer der Standards für MIDI-Musik bei Computerspielen etabliert hat.

PC Magazin, Nr. 2/97, S. 246

Verfasser: Andreas
Letzte Änderung: 2010-12-12 15:12


Sample

(Muster, Beispiel): Der Name kommt aus der digitalen Aufzeichnungstechnik, bei der vom aufzuzeichnenden Signal stichprobenartige Muster genommen werden. Mit Sample wird sowohl ein einzelner Musterwert bezeichnet als auch eine komplette Klangprobe.

PC Magazin, Nr. 12/97, S. 144

Verfasser: Andreas
Letzte Änderung: 2010-12-12 15:12


Sample-Speicher

Die Soundkarten sind mit mehr oder weniger großen RAM- und ROM-Speichern ausgestattet. Während sich im ROM schon fertige Samples befinden, können je nach Speichergröße im RAM zusätzliche Samples hinzugefügt werden.

PC Magazin, Nr. 3/97, Seite 110

Verfasser: Andreas
Letzte Änderung: 2010-12-12 15:12


Sampler

Das sind Synthesizer, mit oder ohne Keyboard, die beliebige Klänge aufnehmen, speichern, bearbeien und wiedergeben.

PC Magazin, Nr. 12/97, S. 144

Verfasser: Andreas
Letzte Änderung: 2010-12-12 15:13


Sampling-Daten

Klangdaten von speziellen Instrumenten.

PC Magazin, Nr. 12/97, S. 144

Verfasser: Andreas
Letzte Änderung: 2010-12-12 15:13


Sampling-Frequenz

Damit analoge Klänge in digitale umgesetzt werden können, muß das Original abgetastet werden. Die Samplingfrequenz gibt an, wie oft das geschieht. Für Hifi-Qualität wird mit 44,1 kHz abgetastet. Die höchste Frequenz, die im Originalklang damit umgesetzt werden kann, ist etwas weniger als die Hälfte der Samplingfrequenz, also für CD- Qualität bei 20 kHz. Das ist im allgemeinen auch die höchste Frequenz, die das menschliche Ort umsetzen kann.

PCgo!, Nr. 11/98, S. 159

Verfasser: Andreas
Letzte Änderung: 2010-12-12 15:13


Sampling-Rate

Abtastrate, Einheit in kHz. Die Sampling-Rate gibt an, wie häufig das analoge Signal pro Sekunde abgetastet wird.

PC Magazin, Nr. 3/97, Seite 110

Verfasser: Andreas
Letzte Änderung: 2010-12-12 15:14


Sampling-Tiefe

Auflösung. Dieser Wert wird in 8, 16 oder 24 Bit angegeben. Die analogen Klänge werden bei der Digitalisierung in regelmäßigen Abständen abgetastet. Den aktuellen Wert speichert man in digitaler Form. Dieser erfaßbare Wertebereich wird in Zwischenstufen aufgeteilt. Bei einer Auflösung von 8 Bit sind etwa 256 Abstufungen erzielbar.

PC Magazin, Nr. 3/97, Seite 110

Verfasser: Andreas
Letzte Änderung: 2010-12-12 15:14


SB

Abk. für Sound Blaster, ein Quasi-Standard von Creativ Labs bei Soundkarten. Mit Microsofts Direct-Sound verliert dieser Standard unter Windows jedoch an Bedeutung.

PC Magazin Plus, Nr. 7/99, S. 19

Verfasser: Andreas
Letzte Änderung: 2010-12-12 15:15


SCC1

Die von Roland entwickelte interne Steckkarten-Version wird oft als Synonym für GS-Kompatibilität benutzt.

PC Magazin, Nr. 3/97, Seite 110

Verfasser: Andreas
Letzte Änderung: 2010-12-12 15:15


Sequenz

Festgelegte Abfolge von MIDI-Befehlen (Noten, Kanalzuordnung, Lautstärke, Echo).

PC Magazin, Nr. 5/2000, S. 88

Verfasser: Andreas
Letzte Änderung: 2010-12-12 15:15


Sequenzer

Begriff für Tonfolge, Melodienstück. Sequenzer dienen zur Aufzeichnung, Bearbeitung und Wiedergabe von Klängen. Sie speichern lediglich die Informationen darüber, wie und wann welche Note abgespielt wird. Das Gerät verfügt über keine eigene Klangerzeugung. Heutige Sequenzer sind vergleichbar mit Mehrspur-Tonbandgeräten, mit dem Unterschied, dass Sequenzer keine Audio-Signale, sondern ausschließlich Steuer-Daten aufzeichnen und wiedergeben.

PC Magazin, Nr. 5/2000, S. 88

Verfasser: Andreas
Letzte Änderung: 2010-12-12 15:16


Sequenzerprogramm

Software, die MIDI-Daten aufzeichnet, bearbeitet und wiedergibt. Mit ihrer Hilfe kann man Musikstücke am Computer komponieren.

PC Magazin, Nr. 3/97, Seite 110

Verfasser: Andreas
Letzte Änderung: 2010-12-12 15:16


SFX-Kit

Schlagzeugprogramm, das verschiedene Effektklänge über die Tastatur verteilt anbietet.

PC Magazin, Nr. 3/97, Seite 110

Verfasser: Andreas
Letzte Änderung: 2010-12-12 15:17


Shortcast / Icecast

Verfahren zu Übertragen von live ausgestrahlten Audio-Streams an einen oder mehrere Empfänger. Als Quelle wird ein MP3- oder Ogg-Signal eingespeist. Beim Streaming kann eine Player-Software die Daten bereits während des Empfangs abspielen; sie muss also nicht warten, bis eine Datei vollständig übertragen wurde.


Quelle: Linux User 6/2003

Verfasser: Andreas
Letzte Änderung: 2010-12-12 15:17


Signal-Rauschabstand

Verhältnis zwischen Nutz- und Störsignal bei Audiogeräten. Je größer der Wert (in dB), desto geringer ist das Grundrauschen des Geräts.

PC Magazin, Nr. 3/97, Seite 110

Verfasser: Andreas
Letzte Änderung: 2010-12-12 15:18


SMF

Abk. für Standard MIDI File. Dieses standardisierte Dateiformat für MIDI-Daten kommt vor allem bei Sequenzer-Aufnahmen zum Einsatz.

PC Magazin Plus, Nr. 7/99, S. 19

Verfasser: Andreas
Letzte Änderung: 2010-12-12 15:18


SMPTE

Society of Motion-Picture and Television Engineers: Diese Gesellschaft entwickelte den SMPTE-Timcode-Standard zur Synchronisation von mehreren Geräten, ursprünglich für die NASA. Er ist leistungsfähiger als der MTC-Standard.

PC Magazin, Nr. 12/97, S. 144

Verfasser: Andreas
Letzte Änderung: 2010-12-12 15:18


Sound Blaster 16

Damit lassen sich Klänge mit einer Auflösung von 16 Bit aufnehmen bzw. abspielen.

PC Magazin, Nr. 3/97, Seite 110

Verfasser: Andreas
Letzte Änderung: 2010-12-12 15:19


Sound Blaster Pro

Erweiterung des Sound-Blaster-Standards um die digitale Aufnahme und Wiedergabe in 8 Bit Stereo und OPL3-FM- Synthese für die Musikwiedergabe.

PC Magazin, Nr. 3/97, Seite 110

Verfasser: Andreas
Letzte Änderung: 2010-12-12 15:19


Soundblaster

Dabei handelt es sich um den Urahn der Soundkarten von der Firma Creative. Diese Karte ist der quasi-Standard unter älteren Spielen. Sie wird von sehr vielen DOS-Spielen unterstützt. Wenn Sie an alten Spielen noch hängen, sollten Sie unbedingt darauf achten, daß eine Karte Soundblaster-kompatibel ist. Denn nur so können alte Spiele die Soundkarte ansteuern.

PCgo!, Nr. 11/98, S. 158

Verfasser: Andreas
Letzte Änderung: 2010-12-12 15:20


Spatializer

Verfahren zur Simulation räumlicher Klänge, die scheinbar von außerhalb der eigentlichen Lautsprecher kommen.

PC Magazin, Nr. 6/98, S. 126

Verfasser: Andreas
Letzte Änderung: 2010-12-12 15:20


SPDIF

Das Sony Philips Digital Interface bezeichnet eine von Sony und Philips entwickelte digitale Schnittstelle, die für die Übertragung von digitalen Audiodaten zwischen CD-Spielern, DAT-Recordern, HD-R-Systemen (Harddisk-Recording) etc. verwendet wird. Die Verbreitung ist im Home-Bereich jedoch gering.

PC Magazin Plus, Nr. 7/99, S. 19

Verfasser: Andreas
Letzte Änderung: 2010-12-12 15:20


Streaming

Inzwischen können sie auch übers Internet eine Menge Sounddateien und Videos abrufen. Da diese Dateien eigentlich sehr groß und damit die Übertragungszeiten sehr lange sind, werden diese Dateien in einem Echtzeit-Verfahren (Streaming) geladen. So könen Sie schon während eine Datei geladen wird, den Anfang dieser Datei abhören. Ein Beispiel für eine Streaming-Datei ist "RealAudio".

PCgo!, Nr. 3/99, S. 41

Verfasser: Andreas
Letzte Änderung: 2010-12-12 15:21


Sustain

Begriff für Haltepegel. Der Parameter Sustain bestimmt bei einer Hüllkurve den Pegel, der nach dem Decay so lange gehalten wird, bis die Taste losgelassen wird.

PC Magazin, Nr. 5/2000, S. 88

Verfasser: Andreas
Letzte Änderung: 2010-12-12 15:21


Synthesizer

Ein elektronisches Instrument, das mit Hilfe von Oszillatoren komplexe Wellenformen und damit beliebige Klänge erzeugen kann.

PC Magazin, Nr. 6/98, S. 126
PC Magazin, Nr. 1/99, S. 128

Verfasser: Andreas
Letzte Änderung: 2010-12-12 15:22


Sysex

Vom MIDI-Standard abweichende Befehlssequenzen. Spezialparameter wie Echo, Brightness oder Phaser werden von einer GS-kompatiblen Karte aktiviert.

PC Magazin, Nr. 3/97, Seite 110

Verfasser: Andreas
Letzte Änderung: 2010-12-12 15:22


Tiefpass-Filter

Filtert alle Töne oberhalb einer Eckfrequenz, die tiefen Töne dürfen passieren.

PC Magazin, Nr. 5/2000, S. 88

Verfasser: Andreas
Letzte Änderung: 2010-12-12 15:22


Time-Stretching

Dieser Effekt verändert das Tempo und damit die Länge eines Samples, die Tonhöhe bleibt bestehen.

PC Magazin, Nr. 1/99, S. 128

Verfasser: Andreas
Letzte Änderung: 2010-12-12 15:23


Titalizer

Stereosignal mit letzten Feinheiten "auffrischen".

PC Magazin, Nr. 12/97, S. 144

Verfasser: Andreas
Letzte Änderung: 2010-12-12 15:23


Tonhöhenhüllkurve

Hüllkurve, deren Verlauf die Tonhöhe eines Klangs bestimmt.

PC Magazin, Nr. 5/2000, S. 88

Verfasser: Andreas
Letzte Änderung: 2010-12-12 15:24


Tonwertkurve

Eine grafische Darstellung des Verhältnisses zwischen dem Tonwertumfang eines Bildes auf der Eingabe- und auf der Ausgabeseite, wenn der Kontrast oder die Helligkeit des Bildes verändert werden. Durch gezielte Modifikation der RGB- oder CMYK-Tonkurven läßt sich die Farbballance ändern.

PC Magazin, Nr. 7/97, S. 136

Verfasser: Andreas
Letzte Änderung: 2010-12-12 15:24


Track

Dt. Spur.

PC Magazin, Nr. 5/2000, S. 88

Verfasser: Andreas
Letzte Änderung: 2010-12-12 15:25


Tremolo

Periodische Lautstärkenmodulation

PC Magazin, Nr. 5/2000, S. 88

Verfasser: Andreas
Letzte Änderung: 2010-12-12 15:26


Trigger

Dt. Auslöser. Signal, das ein Ereignis startet. Zum Beispiel löst ein Tastendruck eine Hüllkurve aus.

PC Magazin, Nr. 5/2000, S. 88

Verfasser: Andreas
Letzte Änderung: 2010-12-12 15:26


VCO


Abk. für Voltage Controlled Oscillator. Spannungsgesteuerter Analog-Oszillator. Ein VCO kann in der Regel Schwingungen mit den Kurvenformen Sinus, Dreieck, Sägezahn, Rechteck und Puls erzeugen.

PC Magazin, Nr. 5/2000, S. 88

Verfasser: Andreas
Letzte Änderung: 2010-12-12 15:27


Velocity

Beschleunigung der Taste beim Anschlag

PC Magazin, Nr. 12/97, S. 144

Verfasser: Andreas
Letzte Änderung: 2010-12-12 15:27


Vibrato

Periodische Tonhöhenveränderung.

PC Magazin, Nr. 5/2000, S. 88

Verfasser: Andreas
Letzte Änderung: 2010-12-12 15:27


Volume

Lautstärke.

PC Magazin, Nr. 5/2000, S. 88

Verfasser: Andreas
Letzte Änderung: 2010-12-12 15:28


VST

Abk. für Virtual Studio Technology. Von Steinberg entwickelter Plugin-Standard. VST2.0 ermöglicht die vollständige Steuerung von Effekt-Plugins und virtuellen Instumenten.

PC Magazin, Nr. 5/2000, S. 88

Verfasser: Andreas
Letzte Änderung: 2010-12-12 15:28


WAV

ist das Dateiformat, in dem das Betriebssystem Windows Musik in Originalqualität (nicht platzsparend) speichern kann.

Quelle: Computer Bild 10/2006, Seite 12

Ein von Microsoft entwickeltes Dateiformat für Audiodaten, die ein Analog-Digital-Wandler erzeugt.

PC Magazin, Nr. 12/97, S. 144 

Unkomprimiertes Format, in dem unter Windows standardmäßig Audio-Dateien gespeichert werden.

PC Magazin, Nr. 2/2000, S. 77

Verfasser: Andreas
Letzte Änderung: 2010-12-12 15:29


Wave-Audio

Wave-Dateien sind Samples und stammen ursprünglich von Windows. Die Klänge zeichnet ein Recorder in digitaler Form auf. Jedes beliebige Geräusch läßt sich so aufnehmen. Je nach Tonqualität benötigt dieses Format jedoch sehr viel Platz. Ein Lied mit einem Klangspektrum bis 22 000 Hz, was einer Abtastfrequenz von 44 000 Hz und damit CD-Qualität entspricht, ist im Durchschnitt 40 bis 50 MByte groß. Die Dateien enden auf wav. Die Systemklänge von Windows besitzen zum Beispiel dieses Format, und der Windows-Audiorekorder (Start/Programme/Zubehör/Multimedia/Audiorecorder) verwendet es für die Aufnahme von Klangquellen.

PC Magazin, Nr. 6/98, S. 113

Verfasser: Andreas
Letzte Änderung: 2010-12-12 15:30


Wavetable

Wenn die digitalisierten Klänge realer Musikinstrumente (Waves) in Tabellen (Tables) in einem Chip gespeichert werden, spricht man von Wavetable. Deren verschiedenen Kombinationen bei der Wiedergabe (der sogenannten Wavetable-Synthese) erzeugt einen naturgetreueren Klang als die reine FM-Synthese (siehe dort).

PC Magazin, Nr. 6/98, S. 126

Verfasser: Andreas
Letzte Änderung: 2010-12-12 15:30


Winamp

Bekannte MP3-Abspiel-Software.

PC Magazin, Nr. 2/2000, S. 77

Verfasser: Andreas
Letzte Änderung: 2010-12-12 15:31


WMA

Verfahren zum plazsparenden Speichern von Musik. Es erlaubt auch den Einsatz von DRM Kopierschutz. Sie werdne deshalb oft in Internet Musikläden verwendet.

Quelle: Computer Bild 10/2006, Seite 12

Verfasser: Andreas
Letzte Änderung: 2010-12-12 15:31


XG

Der von Yamaha entwickelte XG-Standard bietet noch mehr Sounds, bessere Effekte und intensivere Optionen zur Klangbeeinflussung. Die Optionen zur Klangverbesserung machen Soundkarten und Daughterboards wie Yamaha SW 60 XG und DB 50 XG besonders für Musiker interessant. DER XG-Modus erlaubt Veränderungen von Filtern und Hüllkurven, Echtzeit-Modulation und hochwertige Effektalgorithmen. Leider sind Spielehersteller und Software-Produzenten an diesem Standard bisher nur wenig interessiert. Auch die Hardware-Hersteller halten sich bedeckt.

PC Magazin, Nr. 3/97, Seite 110

Verfasser: Andreas
Letzte Änderung: 2010-12-12 15:31


XLR

3-poliger Stecker für professionelle Audio-Verbindungen.

PC Magazin, Nr. 5/2000, S. 88

Verfasser: Andreas
Letzte Änderung: 2010-12-12 15:32


ACAP

Abk. für Application Control Access Protocol.

PC Magazin, Nr. 8/99, S. 92

Verfasser: Andreas
Letzte Änderung: 2011-02-05 22:47


Access-Provider

Diensteanbieter, die zu fremden Inhalten nur den Zugang zur Nutzung vermitteln. Sie haften überhaupt nicht (§5/III IUKDG) - s.a. Content-Provider.

PC Magazin, Nr. 9/97, S. 77

Verfasser: Andreas
Letzte Änderung: 2011-02-05 22:48


ACT

Abk. für Activity. ACT ist eine LED, die anzeigt, ob Daten über die Netzwerkkarte laufen.

PC Magazin, Nr. 12/2000, S. 155

 

Verfasser: Andreas
Letzte Änderung: 2011-02-05 22:49


AES/EBU

Abk. für Audio Engineers Society/European Broadcast Union. Standard zur Übertragung digitaler Audiodaten; verwendet XLR-Verbindungen.

PC Magazin, Nr. 5/2000, S. 88

Verfasser: Andreas
Letzte Änderung: 2011-02-05 22:49


Anonymus

Anonymer Server-Zugang bei dem als Username "Anonymus" und als Paßwort meist die E-Mail-Adresse genannt wird.

PC Magazin, Nr. 10/98, S. 80

Verfasser: Andreas
Letzte Änderung: 2011-02-05 22:49


APIPA

Abk. für Automatic Private IP Addressing. Technologie zur automatischen selbstständigen Vergabe von IP-Adressen durch die Clients.

PC Magazin, Nr. 10/2002, S. 168

Verfasser: Andreas
Letzte Änderung: 2011-02-05 22:50


Application Firewall

Eine Application Firewall arbeitet auf Anwendungsebene: Sie erlaubt oder blockiert Anwendungen. Dazu werden interne Listen geführt (Positiv- und Negativ-Listen). Manche Firewalls (siehe Tabelle Seite 146/147) verfügen über einen Lernmodus. Greift die Anwendung auf das Internet zu, erscheint eine Warnung, und das Programm kann in einer der Listen aufgenommen werden.

PC Magazin, Nr. 7/2001, S. 139

Verfasser: Andreas
Letzte Änderung: 2011-02-05 22:51


ARP

Abk. für Address Resolution Protocol. Internet-Protokoll, mit dem IP-Adressen mit Hilfe einer Tabelle in eine Physikalische MAC-Adresse (Media Access Control) aufgelöst werden. Die MAC-Adresse ist für jede Netzwerkkarte eine eindeutige Nummer, mit der ein Computer im Netzwerk gefunden wird.

PC Magazin, Nr. 7/2001, S. 139

Verfasser: Andreas
Letzte Änderung: 2011-02-05 22:51


ARP-Proxy

Verbindet die IP-Adresse mit der physikalischen MAC-Adresse der Ethernet-Karte. Kommt zum Einsatz, wenn die Datenübertragung zu IP-Adressen im gleichen logischen Netz wie der Absender erfolgt (beispielsweise notwendig für die Anbindung von Teleworkern).

PC Magazin, Nr. 4/2000, S. 100

Verfasser: Andreas
Letzte Änderung: 2011-02-05 22:52


Attachment

Engl. für Anhang. Eine Datei, die Sie verschicken wollen, kommt in den Anhang des Briefes. Da das Mail-Protokoll nur Zeichen sendet, codiert Ihr E-Mail-Programm binäre Dateien in Text, den der Empfänger decodiert. Zum Codieren dienen Formate wie MIME oder UU. Alle getesteten Programme regeln das im Hintergrund. Bei der Kommunikation mit älteren Programmen können hier jedoch Fehler auftreten. Dann müssen Sender und Empfänger sich genau auf ein Format festlegen. Achtung: Attachments können Viren enthalten.

PC Magazin, Nr. 6/2000, S. 162

Verfasser: Andreas
Letzte Änderung: 2011-02-05 22:52


Attn

Abk. für Attention. Addressierung einer Nachricht in einer Newsgroup an einen bestimmten Nutzer (Attn: Spitzname).

PC Magazin, Nr. 10/2002, S. 47

Verfasser: Andreas
Letzte Änderung: 2011-02-05 22:53


Automations-Dienst

Der Scheduler erledigt beliebige Jobs, beispielsweise kopiert er automatisch über Nacht Datenbanken zwischen Niederlassungen.

PC Magazin, Nr. 8/97, S. 207

Verfasser: Andreas
Letzte Änderung: 2011-02-05 22:53


Autonegotiation

100-MBit-Hubs handeln mit den angeschlossenen Stationen die Übertragungsgeschwindigkeit aus. Sendet die Station nur mit 10 MBit, schaltet der Hub diesen Port auf 10 MBit herunter.

PC Magazin, Nr. 12/2000, S. 155

Verfasser: Andreas
Letzte Änderung: 2011-02-05 22:54


Back-End

Als Back-End wird die Daten liefernde Seite einer Client/Server-Anwendung bezeichnet. In der Regel handelt es sich dabei um einen Datenbank-Server.

PC Magazin, Nr. 7/98, S. 161

Verfasser: Andreas
Letzte Änderung: 2011-02-05 22:54


Backup-Dienst

Das Datensicherungsgerät (Streamer) auf dem Server sichert in regelmäßigen Intervallen auch die Arbeitsstationen.

PC Magazin, Nr. 8/97, S. 207

Verfasser: Andreas
Letzte Änderung: 2011-02-05 22:55


Banning

Wenn ein Server einen Nutzer verbannt, kann sich dieser nie mehr auf diesem Server einloggen. Weitere Login-Versuche sind zwecklos, da die Online-Kennung nicht akzeptiert wird. Verbannte User müssen sich einen neuen Online-Zugang beschaffen.

PC Magazin, Nr. 11/98, S. 259

Verfasser: Andreas
Letzte Änderung: 2011-02-05 22:55


BCC

Abk. für Blind Carbon Copy. Bei der blinden Kopie merkt der Empfänger nicht, dass jemand anders eine Kopie erhalten hat.

PC Magazin, Nr. 6/2000, S. 162

Verfasser: Andreas
Letzte Änderung: 2011-02-05 22:56


BNC

Bezeichnung für ThinNet-Stecker, die mit Koaxialkabeln zusammenarbeiten. Wird heute kaum noch verbaut.

PC Magazin, Nr. 12/2000, S. 155

Verfasser: Andreas
Letzte Änderung: 2011-02-05 22:56


BO

Abk. für Back Orifice. Trojaner zur Fernsteuerung von Windows-PCs über Netzwerke (auch Internet). Er muss wie andere Trojaner erst auf dem Rechner installiert sein und sendet dann Informationen über das Netzwerk. Infizierte PCs werden über Trojaner-Pings an bestimmte Portnummern aufgespürt. Andere Trojaner sind NetBus oder SubSeven.

PC Magazin, Nr. 7/2001, S. 139

Verfasser: Andreas
Letzte Änderung: 2011-02-05 22:58


Boot-ROM

Chip, der in einen Sockel auf der Netzwerkkarte gesteckt wird und das Booten des Rechners übers Netzwerk ermöglicht. So ein Rechner benötigt keine Festplatte mehr (Diskless Workstation). Boot-ROMs werden häufig in Netzwerkkarten mit sehr hohen Sicherheitsanforderungen eingesetzt.

PC Magazin, Nr. 12/2000, S. 155

Verfasser: Andreas
Letzte Änderung: 2011-02-05 22:58


Bus-Topologie

Die Bus-Topologie entspricht einer Leitung, die "endlos" von Netzwerkgerät zu Netzwerkgerät reicht. Am Anfang und am Ende sorgt ein Abschlußwiderstand für den genormten Kabelabschluß.

PC Magazin, Nr. 8/97, S. 207

Verfasser: Andreas
Letzte Änderung: 2011-02-05 22:59


CC

Abk. für Carbon Copy.

PC Magazin, Nr. 8/99, S. 90

Verfasser: Andreas
Letzte Änderung: 2011-02-05 22:59


Channel

Channels (dt. Kanäle) wurden mit dem Internet Explorer 4.0 eingeführt. In den Channels finden Sie Angebote verschiedener Firmen, die Sie (meist kostenlos) abonnieren können. So sind zum Beispiel CompuServe, Spiegel, Pro 7 oder das ZDF mit einem Channel vertreten. Channels können nur mit dem Internet Explorer 4.0, nicht mit Vorgängerversionen oder dem Netscape Navigator angezeigt werden.

PCgo!, Nr. 10/98, S. 146

Verfasser: Andreas
Letzte Änderung: 2011-02-05 23:04


Client/Server

Datenbanken im Netzwerk werden oft zentral auf einem Server verwaltet. Die Anwender haben auf ihrem Arbeits-PC die Client-Software installiert, die sich nur die gerade benötigten Daten vom Server holt.

PC Magazin, Nr. 7/98, S. 161

Verfasser: Andreas
Letzte Änderung: 2011-02-05 23:16


CMIP

Common Management Information Protocol; Router, die SMIP oder SNMP unterstützen, erfüllen eine der Voraussetzungen für ein zentrales Netzwerk-Management.

PC Magazin, Nr. 12/97, S. 308

Verfasser: Andreas
Letzte Änderung: 2011-02-05 23:16


Computer-Netzwerk

Eine Anzahl von Computern, die miteinander verbunden sind. Über sie werden Informationen ausgetauscht und gemeinsame Resourcen genutzt. Unterschieden werden LAN (Local Area Network) und WAN (Wide Area Network). Ein LAN ist ein an einen geographischen Ort gebundenes Netzwerk, während ein WAN über keine geographischen Grenzen verfügt. Das Internet kann man daher als WAN bezeichnen.

PCgo!, Nr. 12/98, S. 186

Verfasser: Andreas
Letzte Änderung: 2011-02-05 23:17


Content-Filter

System zum Filtern aktiver Inhalte ("mobile Code") wie JavaScript, Java-Applets oder ActiveX-Programme.

PC Magazin, Nr. 7/2001, S. 139

Verfasser: Andreas
Letzte Änderung: 2011-02-05 23:18


Content-Management

Verwaltung der Inhalte (Texte, Bilder, Audio, Video), die im Intranet publiziert werden. Content-Management- Systeme ermöglichen es, Informationen im Intranet auch ohne Kenntnisse in HTML zu veröffentlichen und zu verwalten.

PC Magazin PLUS, Nr. 2/2001, S. 7

Verfasser: Andreas
Letzte Änderung: 2011-02-05 23:19


Content-Provider

Diensteanbieter, die eigene und fremde Inhalte zur Nutzung bereithalten. Für eigene sind sie nach den allgemeinen Gesetzen verantwortlich, für fremde Inhalte, soweit sie sie kennen und deren Nutzung verhindern können (§ 5/I u. II IUKDG) - s.a. Access-Provider

PC Magazin, Nr. 9/97, S. 77

Verfasser: Andreas
Letzte Änderung: 2011-02-05 23:19


Cookie

Kleine Programmnotiz, die ein Web-Server auf Ihrem PC speichern kann. So erkennt der Server zum Beispiel frühere Besuche wieder.

PC Magazin, Nr. 10/98, S. 80

Cookies

Kleine Programme, die Informationen, etwa den Warenkorb, auf fremden Festplatten speichern.

PC Magazin, Nr. 12/99, S. 79

Kleine Textdateien, die eine Website auf Ihrem PC speichern. Sie enthalten Informationen darüber, wann Sie die Site zum letzten Mal besucht haben. Cookies können auch an andere Sites weitergegeben werden, die dann ihrerseits Cookies senden. Cookies sind häufig für den einwandfreien Betrieb der Website mötig. Sie sind ungefährlich, da sie keinen ausführbaren Code enthalten, allerdings kann man mit ihnen Bewegungsprofile des Anwenders erstellen. Das empfinden viele Anwender als Einbruch in ihre Privatsphäre.

PC Magazin, Nr. 7/2001, S. 139

Verfasser: Andreas
Letzte Änderung: 2011-02-05 23:23


Crossover-Kabel

Twisted-Pair-Kabel für die Verbindung von Hubs untereinander oder zwischen PCs.

PC Magazin, Nr. 12/2000, S. 155

Verfasser: Andreas
Letzte Änderung: 2011-02-05 23:24


Crossposting

Das Posting ein und desselben Artikels in mehreren Newsgroups. Handelt es sich bei den Groups um sinnverwandte, ist dieses Verhalten in Ordnung.

PC Magazin SPEZIAL, Nr. 3/98, S. 51

Verfasser: Andreas
Letzte Änderung: 2011-02-05 23:25


CSMA/CA

Carrier Sense Multiple Access with Collision Avoidance. Überprüft vor dem Senden, ob das Kabel frei ist, und sendet zunächst einen Rundspruch in das Netzwerksegment, um das Senden der Daten anzukündigen. Verwendet bei AppleTalk (Protokoll von Apple). Verhindert Kollisionen, ist aber langsamer als CSMA/CD.

PC Magazin, Nr. 12/2003, S. 189

Verfasser: Andreas
Letzte Änderung: 2011-02-05 23:25


CSMA/CD

Carrier Sense Multiple Access with Collision Detection.
Überprüft vor dem Senden, ob das Kabel frei ist, und
nach dem Senden, ob eine Kollision mit einem anderen Datenpaket stattgefunden hat.

PC Magazin, Nr. 12/2003, S. 189

Verfasser: Andreas
Letzte Änderung: 2011-02-05 23:26


Dämpfung

Abschwächung und Verzerrung eines Signals, je weiter es sich von seiner Quelle entfernt. Gemessen in Dezibel, bestimmt die maximal mögliche Kabellänge.

PC Magazin, Nr. 12/2003, S. 189

Verfasser: Andreas
Letzte Änderung: 2011-02-05 23:28


DENIC e.G.

Deutsches Network Information Center an der Universität Karlsruhe. Das DENIC betreibt den "Primary Nameserver", den wichtigsten Server in Deutschland, der Informationen über alle Top-Level-Domains in Deutschland verwaltet, also alle Adressen, die ein ".de" im Namen führen. Domain-Namen müssen bei Denic beantragt werden, seit 1996 ist dies nur noch über einen professionellen Internetprovider möglich.

PCgo!, Nr. 7/99, S. 178

Verfasser: Andreas
Letzte Änderung: 2011-02-05 23:29


DHCP

Mit dem Dynamic Host Configuration Protocol konfigurieren Sie IP-Adressen und damit zusammenhängende Informationen dynamisch. Statt einer statischen (festen) IP-Adresse erhalten DHCP-Clients ihre IP-Adresse von einem zentralen DHCP-Server.

PC Magazin, Nr. 4/99, S. 225

Verfasser: Andreas
Letzte Änderung: 2011-02-05 23:29


DNS

Das Domain Name System ist ein hierarchisches System zur Verwaltung von Host-Namen und IP-Adressen. Damit spezifiziert ein Anwender ein entferntes System anhand seines Namens und nicht über seine IP-Adresse, da Namen leichter zu merken sind. Beachten Sie: Der Begriff Domäne hat bei DNS nichts mit einer Windows-NT-Domäne zu tun.

PC Magazin, Nr. 4/99, S. 225

Abk. für Domain Name Service. Dieser Dienst setzt die Rechner-Namen (etwa pc-magazin.de) in die zugehörige IP-Adressen (etwa 194.111.111.123) um.

PC Magazin, Nr. 4/2000, S. 100

 

Verfasser: Andreas
Letzte Änderung: 2011-02-05 23:30


Domain

Name eines Internet-Servers wie beispielsweise www.pc-magazin.de. Intern arbeitet das Internet mit vierteiligen IP-Adressen.

PC Magazin, Nr. 10/98, S. 80

Verfasser: Andreas
Letzte Änderung: 2011-02-05 23:38


Domain und Markenschutz

Eine Marke (früher auch Warenzeichen genannt) ist ein beim Patentamt eingetragenes Zeichen, das im geschäftlichen Verkehr zur Individualisierung der Waren oder dienstleistungen eines Unternehmens genutzt wird. Wer ein Unternehmen führt, sollte seine erworbene Domain durch eine Marke absichern. Der Markeninhaber kann nicht nur identische, sondern auch ähnliche Bezeichnungen in Domain-Adressen untersagen, wenn die Gefahr der Verwechslung mit seiner Marke besteht - das gilt aber nur innerhalb der gleichen Branche. Der gewählte Markenname muß unterscheidungskräftig sein. Er kann aus mehreren Wörtern, einzelnen Buchstaben (etwa Abkürzungen) oder markanten Zahlen (vgl. 4711) bestehen. Vor der Anmeldung empfiehlt sich eine sorgfältige Recherche beim Patentamt, ob die Marke bereits vergeben ist.

PC Magazin, Nr. 12/98, S. 50

Verfasser: Andreas
Letzte Änderung: 2011-02-05 23:39


Domain und Titelschutz

Neben dem Marken- gibt es den Titelschutz. Schutzfähige Titel sind die Namen oder besonderen Bezeichnungen von Druckerzeugnissen, Film-, Tonwerken und vergleichbaren Werken. Im Gegensatz zum Markenschutz entsteht der Titelschutz erst mit der Benutzung eines Titels für ein bestimmtes Werk und muß nicht angemeldet werden. Eine Veröffentlichung im Titelschutzanzeiger (dem öffentlichen Register für geschützte Titel) ist dennoch aus Beweisgründen sehr zu empfehlen. Achtung: Nutzt der Inhaber den Titel vorübergehend nicht, erlischt der Titelschutz.

PC Magazin, Nr. 12/98, S. 50

Verfasser: Andreas
Letzte Änderung: 2011-02-05 23:40


Domain-Grabber

Unternehmen oder Einzelpersonen, die ohne ein plausibles wirtschaftliches Interesse an der Eigennutzung Top-Level- Domains aufkaufen. Grabber lassen sich trotz Verwechslungsgefahr mit dem Original Marken- und Firmennamen reservieren, um diese gewinnbringend weiterzuverkaufen oder die Besucherzahlen ihrer eigenen Internetseiten zu erhöhen. In aktuellen Rechtsfällen wurde in der Regel zugunsten der rechtmäßigen interessierten Partei entschieden.

PCgo!, Nr. 7/99, S. 178

Verfasser: Andreas
Letzte Änderung: 2011-02-05 23:42


Domäne

Organisatorische Einheit für die Verwaltung von Hosts in größeren Netzwerken. Zu unterscheiden sind die DNS-Domänen des Internet von den Microsoft-Domänen.

PC Magazin, Nr. 3/2000, S. 230

Verfasser: Andreas
Letzte Änderung: 2011-02-05 23:44


DoS

Abk. für Denial of Service. Außerkraftsetzen von Diensten auf Servern. Wenn ein Server seinen Zweck nicht mehr erfüllen kann, liegt eine DoS-Attacke vor. Sie tritt zum Beispiel dann auf, wenn ein System eine große Anzahl Daten auf einem Port erhält, so dass interne Buffer überlaufen.

PC Magazin, Nr. 5/2000, S. 166

Verfasser: Andreas
Letzte Änderung: 2011-02-05 23:45


Dupe

Bez. für Duplikat. Nachricht einer Newsgroup ist auf dem PC vorhanden.

PC Magazin, Nr. 10/2002, S. 47

Verfasser: Andreas
Letzte Änderung: 2011-02-05 23:45


e-mail

"Mail" kommt dabei aus dem Englischen und bedeutet nur "Brief". Eine e-mail ist daher ein elektronischer Brief. Die Vorteile sind: Sie können weltweit Briefe verschicken, die in wenigen Minuten beim Empfänger sind, nur ein paar Pfennige kosten und auch noch Programme und Bilder enthalten können. Briefe können so mehrfach täglich hin- und herwandern.

PCgo!, Nr. 1/99, S. 214

Verfasser: Andreas
Letzte Änderung: 2011-02-05 23:46


Fast Ethernet

Ethernet mit 100 MBit/s Geschwindigkeit, im Gegensatz zum einfachen Ethernet, das nur mit 10 MBit/s läuft. Mittlerweile gibt es auch Gigabit-Ethernet, wofür man allerdings ziemlich teure Geräte braucht.

PC Magazin, Nr. 12/2000, S. 155

Verfasser: Andreas
Letzte Änderung: 2011-02-05 23:46


Fax-Dienst

Jede Arbeitsstation kann per Fax-Druckertreiber Faxe erzeugen, der Versand erfolgt per Modem/aktiver ISDN- Karte am Server. Eingehende Nachrichten landen auf dem Server und werden nach festen Verteilerregeln weitergeleitet. Sie ersparen sich belegte Arbeitsstationen während des Faxversands.

PC Magazin, Nr. 8/97, S. 207

Verfasser: Andreas
Letzte Änderung: 2011-02-05 23:47


FDDI

Fiber Distributed Digital Interface; Backbone auf Glasfaserbasis, der Daten mit maximal 100 MBit/s transferiert.

PC Magazin, Nr. 12/97, S. 308

Verfasser: Andreas
Letzte Änderung: 2011-02-05 23:47


Feed, Newsfeed

Vorsorgung eines Newsservers mit Nachrichten. Bei schlechtem Feed fehlen häufig Teile eines Multipart- Postings.

PC Magazin, Nr. 10/2002, S. 47

Verfasser: Andreas
Letzte Änderung: 2011-02-05 23:49


Filterregeln

Filterregeln automatisieren den Postverkehr. Filter können eingehende Mails prüfen (den Absender, Text im Betreff oder den Körper der Mail) und mit dieser Information eine Aktion auslösen. Beispiele für Aktionen: die eingehende Post auf bestimmte Ordner verteilen (etwa für Mailinglisten), lästige Mails herausfiltern oder löschen, ohne dass Sie sie zu Gesicht bekommen, Post automatisch an einen anderen Account weiterleiten oder beantworten.

PC Magazin, Nr. 6/2000, S. 162

Verfasser: Andreas
Letzte Änderung: 2011-02-05 23:49


Firewall

System, das ein Netzwerk vor dem Internet absichert. Es ist festgelegt, welche IPs über welche Ports nach außen kommunizieren dürfen. Die Firewall ist eine Weiterentwicklung des Proxy-Servers, der lediglich als Paketfilter fungiert.

PC Magazin, Nr. 5/2000, S. 166

Verfasser: Andreas
Letzte Änderung: 2011-02-05 23:50


Flood

Große Textmengen, die in Chats gepostet werden.

PC Magazin, Nr. 10/98, S. 80

Verfasser: Andreas
Letzte Änderung: 2011-02-05 23:50


Followup

Für alle einsehbare Antwort auf einen bestimmten Artikel in Newsgroups.

PC Magazin SPEZIAL, Nr. 3/98, S. 51

Verfasser: Andreas
Letzte Änderung: 2011-02-05 23:51


FQDN

Der Fully Qualified Domain Name ist ein Name, der den Pfad zu einem Host beschreibt, zum Beispiel www.pc-magazin.de www ist der Rechner, pc-magazin die Domäne und de die Top Level Domain.

PC Magazin, Nr. 3/2000, S. 230

Verfasser: Andreas
Letzte Änderung: 2011-02-05 23:51


FTP

Abk. für File Transfer Protocol. Protokoll zur Übertragung von Dateien im Internet.

PC Magazin, Nr. 10/98, S. 80

Verfasser: Andreas
Letzte Änderung: 2011-02-05 23:52


FTP-Server hinterm NAT-Router

Ich versuche einen FTP Server einzurichten. Der Server ist über einen Router mit meinem DSL-Anschluss verbunden. Wegen (NAT) lässt sich der Server aus dem Internet nicht direkt ansprechen, daher habe ich den Port 21 unter den Einstellungen für einen lokalen Server freigeben. Die Anmeldung funktioniert auch wunderbar, nur werden mir keine Verzeichnisse und Dateien angezeigt, und herunterladen kann ich auch nichts.

FTP überträgt die Dateien nicht über dieselbe Verbindung wie die Befehle, sondern baut dafür eine zweite Verbindung auf, deren Port Nummer variiert (www.faqs.org/rfcs/ftp-rfcs.html). Die einzige Methode, die immer funktioniert, ist, alle Ports auf den Server umzuleiten ("Exposed Host", manchmal auch fälschlich "DMZ" genannt).
Alternativ können Sie auch "aktives" FTP benutzen. Bei diesem Modus stellt der Server die Datenverbindung her und Sie brauchen am Router nichts zu konfigurieren. Allerdings geht das nur, wenn der Client erstens dieses Protokoll beherrscht (manche Browser können das nicht) und zweitens seinerseits nicht hinter einem NAT-Router, sondern direkt am Internet hängt.

Quelle: ct 14/2003

Verfasser: Andreas
Letzte Änderung: 2011-02-05 23:52


Gateway

Ein Gateway verbindet zwei Netzwerke. Streng genommen führt es dabei eine Protokollumsetzung durch. Zum Beispiel können ein IPX-LAN an das Internet (TCP/IP) angeschlossen werden - das ist ein klassisches Gateway. Verwenden beide Netze das gleiche Protokoll, spricht man von einem Router. Manchmal (wie hier auch) wird einfach ein Rechner im LAN lmit Internet-Anschluss als Gateway bezeichnet.

PC Magazin Plus, Nr. 7/2001, S. 25

Verfasser: Andreas
Letzte Änderung: 2011-02-05 23:53


Groupware

Mehrere Benutzer einer Arbeitsgruppe teilen sich Informationen und haben nur auf die Daten Zugriff, die sie auch brauchen. Seit Beginn der 90er Jahre hat Groupware mit dem Vorreiter Lotus Notes vor allem in großen Unternehmen Erfolg. Ob E-Mail, Datenbank oder Projektmanagement - alle Anwender arbeiten mit den gleichen Daten unter einer einheitlichen Oberfläche, der Datenaustausch findet transparent statt.

PC Magazin, Nr. 5/97, S. 66

Verfasser: Andreas
Letzte Änderung: 2011-02-05 23:53


Hacker

Der "wahre" Hacker kennt Netzwerke in- und auswendig.

PC Magazin, Nr. 11/98, S. 259 Der "wahre" Hacker kennt Netzwerke in- und auswendig.

PC Magazin, Nr. 11/98, S. 259

Verfasser: Andreas
Letzte Änderung: 2011-04-03 11:36


Halbduplex oder half duplex

Auf Ports mit Halbduplex kann gleichzeitig entweder nur gesendet (Transmit,Tx) oder nur empfangen (receive, Rx) werden. Die Gegenstelle zu einem Halbduplex-Port muss auch immer Halbduplex sein. 10Base-5 und 10Base-2 erlauben nur Halbduplex.

PC Magazin, Nr. 12/2003, S. 189

Verfasser: Andreas
Letzte Änderung: 2011-04-03 11:37


Header

Die Kopfzeile eines Artikels in einer Newsgroup. Diese beinhaltet wichtige Informationen wie bespielsweise das Subject, die Newsgroups, in denen der Artikel gepostet wurde sowie den Absender der Nachricht.

PC Magazin SPEZIAL, Nr. 3/98, S. 51

Verfasser: Andreas
Letzte Änderung: 2011-04-03 11:39


Host

Ein Host ist ein Rechner in einem Netzwerk. Dies kann sowohl ein Server als auch ein Client sein. Sobald Sie sich zum Beispiel mit Ihrem Internet-Provider verbunden haben, ist Ihr PC ein Host im Internet.

PC Magazin, Nr. 3/2000, S. 230

Verfasser: Andreas
Letzte Änderung: 2011-04-03 11:39


HOSTS

Statische Textdatei zur Auflösung von FQDN in IP-Adressen. Wird nur in sehr kleinen Netzen verwendet, da die Verwaltung per Hand durchgeführt werden muß. Außerdem können sich Hosts nicht dynamisch registrieren. Ersetzt oder ergänzt DNS-Server.

PC Magazin, Nr. 3/2000, S. 230

Verfasser: Andreas
Letzte Änderung: 2011-04-03 11:40


HSTR

High Speed Token Ring; Initiative von Herstellern für Token-Ring-Produkte, welche die maximale Transferrate in Token-Ring-Netzen in den Bereich von GBit/s heben möchte.

PC Magazin, Nr. 12/97, S. 308

Verfasser: Andreas
Letzte Änderung: 2011-04-03 11:40


HTTP

Abk. für Hypertext Transfer Protocol; regelt die Client- Server-Kommunikation.

PC Magazin, Nr. 2/99, S. 201

Verfasser: Andreas
Letzte Änderung: 2011-04-03 11:41


Hub

Ein aktives (vgl. Switch) oder passives Gerät, das die Netzwerkleitungen mehrerer Stationen auf einer Leitung zusammenführt.

PC Magazin, Nr. 4/2000, S. 100

Verfasser: Andreas
Letzte Änderung: 2011-04-03 11:41


ICMP

Das Internet Control Message Protocol ist ein Protokoll aus der TCP/IP-Gruppe, das es zwei Knoten auf einem IP- Netzwerk erlaubt, IP-Statusinformationen auszutauschen. Dieses Protokoll wird zum Beispiel von Ping verwendet.

PC Magazin, Nr. 4/99, S. 225

Verfasser: Andreas
Letzte Änderung: 2011-04-25 13:24


ICS

Abk. für Internet Connection Sharing. So nennt Microsoft den gemeinsamen Zugriff auf Ressourcen vernetzter PCs mit Windows-98-SE-Bordmitteln.

PC Magazin, Nr. 4/2000, S. 100

Verfasser: Andreas
Letzte Änderung: 2011-04-25 13:24


IDS

Abk. für Intrusion-Detection-System. Erkennt Einbruchsversuche. Es gibt einfache Systeme, die der Nutzer selbst mit ein paar Skripts zusammenbauen kann. Mittlerweile gibt es auch teure kommerzielle für viele bekannte Netzwerksysteme.

PC Magazin, Nr. 5/2000, S. 166

Verfasser: Andreas
Letzte Änderung: 2011-04-25 13:24


IEEE 302.3

Der Ethernet-Standard ist bekannt unter dieser Bezeichnung. IEEE ist ein Komitee zur Definition von Standards. Eine Erweiterung ist zum Beispiel IEEE 302.3u (beschreibt den Fast-Ethernet-Standard).

PC Magazin, Nr. 12/2000, S. 155

Verfasser: Andreas
Letzte Änderung: 2011-04-25 13:25


IGMP

Abk. für Internet Group Management Protocol. Mit diesem Protokoll verwalten Sie Gruppen von Adressen im Netzwerk, an die bestimmte Datenpakete geschickt werden. Es ist vergleichbar mit dem Verschicken eines Serienbriefs und einer E-Mail an eine Verteilerliste. Das gezielte Verschicken von Videodaten an eine Gruppe heißt Multicast.

PC Magazin, Nr. 11/2000, S. 72

Verfasser: Andreas
Letzte Änderung: 2011-04-25 13:25


IMAP4

Internet Message Access Protocol 4. Neues Protokoll zum Übertragen von E-Mails vom Mail-Server des Providers auf den PC.

PC Magazin, Nr. 10/98, S. 80

Verfasser: Andreas
Letzte Änderung: 2011-04-25 13:26


Inkrementelles Schreiben

Dieser Schreibmodus eignet sich für das Schreiben von kleinen Datenpaketen. Für kleine Backups und Sicherheitskopien wichtiger Daten wie Treiber, Software- Pakete u.ä. ist dieses Datenblock-Aufzeichnungsverfahren (Packet Writing) geeignet. Hierzu ist jedoch Unterstützung durch Software erforderlich.

PC Magazin, Nr. 11/97, S. 94

Verfasser: Andreas
Letzte Änderung: 2011-04-25 13:26


Internet

Einst als "heimliches Nervensystem der internationalen Wissenschaft" erfunden, wurde das Internet Anfang der 90er Jahre vor allem durch die einfach Darstellungsform des WWW per Hypertext Markup Language (MTML) zum Massenphänomen. Die zentrale Idee hinter HTML war die Vermeidung von Redundanzen. Für den Benutzer sehen Daten gleich welcher Form, in WWW-Seiten eingebettet, gleich aus.

PC Magazin, Nr. 5/97, S. 66

Verfasser: Andreas
Letzte Änderung: 2011-04-25 13:27


Internet-Provider

Für den Anschluß Ihres Computers mit dem Internet brauchen Sie eine physikalische Verbindung. Firmen benutzen dafür Standleitungen, als Privatmann bleibt nur die Telefonverbindung übrig. Ein Provider ist dabei die Firma, die man über ein Modem anruft, die die Verbindung zum Internet herstellt und dafür bezahlt sein will.

PCgo!, Nr. 1/99, S. 214

Verfasser: Andreas
Letzte Änderung: 2011-04-25 13:27


Intranet

Inhalte des Internet und firmeninterne Daten werden per Internet-Technologie wie HTML aufbereitet und auf Servern eines Unternehmens abgelegt. Von dort greifen die Anwender über einfach Software wie Browser, Newsreader oder Mail-Clients darauf zu. Die Vorteile: reduzierte Kommunikationskosten, preiswerte Front-Ends und kontrollierte Zugriffe, entsprechend den Rechten eines Benutzers im eigenen Netzwerk.

PC Magazin, Nr. 5/97, S. 66

Verfasser: Andreas
Letzte Änderung: 2011-04-25 13:28


IP

Abk. für Internet Protocol; von der Internet Engineering Task Force (IETF) verabschiedeter, firmenunabhängiger Netzstandard, der den Datenaustausch im Internet und in Intranets regelt.

PC Magazin, Nr. 12/97, S. 308
PC Magazin, Nr. 4/99, S. 225

Verfasser: Andreas
Letzte Änderung: 2011-04-25 13:28


IP-Adresse

Jedes System besitzt eine einmalige IP-Adresse, die zur Identifikation im Netzwerk dient.

PC Magazin, Nr. 5/99, S. 114

Eindeutige 32-Bit-Nummer einer Netzwerkkarte im Internet.

PC Magazin, Nr. 4/2000, S. 100

 

Verfasser: Andreas
Letzte Änderung: 2011-04-25 13:30


IP-Masquerading

Marketing-Name für NAT (siehe dort).

PC Magazin, Nr. 4/2000, S. 100

Verfasser: Andreas
Letzte Änderung: 2011-04-25 13:29


IP-Spoofing

Verändern (Fälschen) der eigenen IP-Adresse, um dem Empfänger gegenüber die wahre Identität zu verschleiern. Am einfachsten fälscht man seine IP, indem man über einen anonymen Proxy-Server surft. Dieser muss in den Eigenschaften der DFÜ-Verbindung eingetragen sein. Listen von solchen Servern finden Sie zum Beispiel über www.multiproxy.net.

PC Magazin, Nr. 7/2001, S. 139

Verfasser: Andreas
Letzte Änderung: 2011-04-25 13:30


IPSEC

Standards der Internet Engineering Task Force (IETF). Um die durch proprietäre Systeme auftretenden Probleme zu beheben, beschäftigt sich die IETF mit der Standardisierung:
Manual IPSEC: Vollständige manuelle Schlüsselverwaltung, die Administratoren müssen einen Schlüssel offline austauschen.
IKE bzw. ISAKMP/Oakley (Internet Key Exchange): Automatische Schlüsselverwaltung unter Verwendung von Trust Centers, um sicherzustellen, daß der öffentliche Schlüssel wirklich vom Partner ist. Der Wechsel des DES- oder 3DES-Schlüssel erfolgt automatisch.

PC Magazin, Nr. 12/99, S. 96

Verfasser: Andreas
Letzte Änderung: 2011-04-25 13:31


IPX

Internetwork Packet Exchange; ein von Novell entwickeltes Protokoll für LANs.

PC Magazin, Nr. 12/97, S. 308

Verfasser: Andreas
Letzte Änderung: 2011-04-25 13:31


IPX/SPX

Netzwerkprotokoll für den Zugriff auf Novell-NetWare- Server.

PC Magazin, Nr. 5/99, S. 114

Verfasser: Andreas
Letzte Änderung: 2011-04-25 13:32


IRC

Internet Relay Chat. Nach Themen sortierte Chat-Kanäle.

PC Magazin, Nr. 10/98, S. 80

Verfasser: Andreas
Letzte Änderung: 2011-04-25 13:32


ISP

Abk. für Internet Service Provider. Eine Firma, die einen Internet-Zugang ermöglicht.

PC Magazin, Nr. 4/2000, S. 100

Verfasser: Andreas
Letzte Änderung: 2011-04-25 13:33


Jitter

Zeitliche Unregelmäßigkeiten in der Signalform, verursacht durch Störungen oder unausgewogene Ringe in FDDI und Token-Ring-Umgebungen.

PC Magazin, Nr. 12/2003, S. 189

Verfasser: Andreas
Letzte Änderung: 2011-04-25 13:33


Junk-Mail

Übersetzt heißt das Mist-Briefe - massenhaft verschickte Werbebriefe, die niemand haben will.
Regel 1: Nie antworten, selbst wenn Sie noch so ägerlich sind. Sonst weiß der Absender, dass Sie erreichbar sind. Deaktivieren Sie auch die Nachverfolgung.
Regel 2: Wenn Mail von einem Absender überhand nimmt, melden Sie es dem Server, der die Post verschickt hat.
Regel 3: Setzen Sie geschickte Filter ein. Das Stichwort Money im Betreff bedeutet meist Junk.

PC Magazin, Nr. 6/2000, S. 162

Verfasser: Andreas
Letzte Änderung: 2011-04-25 13:34


Kicking

Bei Nutzern, die unerwünschte Daten hochladen, wird die Verbindung getrennt. Weitere Verstöße gegen Netiquette (Verhaltensregeln im Netz) werden mit Banning bestraft.

PC Magazin, Nr. 11/98, S. 259

Verfasser: Andreas
Letzte Änderung: 2011-04-25 13:34


Koaxialkabel

Dieses Kabel hat einen runden Querschnitt, in dessen Mitte sich ein Draht (massiv oder flexibel) befindet. Der Draht ist von einem Material umgeben, das eine gute elektrische Isolation besitzt. Um diese Isolation ist ein Drahtgeflecht, das die Masseverbindungen herstellt. Je besser das Material, desto schnellere Datenübertragungsraten sind im Netzwerk möglich. Damit steigt aber auch der Preis des Kabels.

PCgo!, Nr. 3/99, S. 48

Verfasser: Andreas
Letzte Änderung: 2011-04-25 13:34


Kollisionen

Wenn zwei Stationen im Netzwerk gleichzeitig Pakete senden, kollidieren diese auf dem Kabel, das heißt, keines der Pakete kann zugestellt werden. Die Stationen warten dann eine zufällige Zeitspanne ab und senden erneut. Senden zu viele Stationen gleichzeitig, bricht das Netzwerk zusammen.

PC Magazin, Nr. 12/2000, S. 155

Verfasser: Andreas
Letzte Änderung: 2011-04-25 13:35


Lamer

Englischer Begriff für Langweiler/Versager. Das ist ein Nutzer, der am Thema vorbeiredet, geringes Wissen vorweist und jedes Fettnäpfchen findet. Er wird in der Regel verbannt (Banning).

PC Magazin, Nr. 11/98, S. 259

Verfasser: Andreas
Letzte Änderung: 2011-04-25 13:35


LAN

Local Area Network. Rechnerverbund, der nicht über eine Leitung an die Außenwelt gekoppelt ist.

PC Magazin, Nr. 5/99, S. 114

Verfasser: Andreas
Letzte Änderung: 2011-04-25 13:36


LDAP

Das ist die Abkürzung für "Lightweight Directory Access Protocol", dem Protokoll für den Zugriff auf Verzeichnisdienste. Mit den Verzeichnisdiensten können Sie Personen auf der ganzen Welt finden, vorausgesetzt, sie haben sich bei diesem Dienst registriert oder wurden registriert.

PCgo!, Nr. 4/99, S. 138

Verfasser: Andreas
Letzte Änderung: 2011-04-25 13:36


LDCM

Akronym für LANDesk Client Manager. Ein Software-Paket von Intel, mit dem sich die installierte Hardware der PCs in einem Netzwerk einfach überwachen und kontrollieren läßt. Auch für den Einzelplatz-PC ist LDCM interessant, weil das Programm detaillierte Hardware auflistet. In Verbindung mit der System-Monitoring-Funktion einiger Mainboards werden auch gleich kritische Betriebswerte gemeldet. Voraussetzung für den Einsatz des LDCM ist, daß der zu überwachende PC über ein DMI-kompatibles BIOS verfügt.

PC Magazin, Nr. 12/97, S. 156

Verfasser: Andreas
Letzte Änderung: 2011-04-25 13:36


Leecher

Nutzer von Newsgroups, die ausschließlich Dateien herunterladen und niemals posten.

PC Magazin, Nr. 10/2002, S. 47

Verfasser: Andreas
Letzte Änderung: 2011-04-25 13:37


Link

LED an der Netzwerkkarte oder am Hub, die die Aktivität der Karte anzeigt. Leuchtet die Link-LED in unregelmäßigen Abständen auf, besteht eine Netzwerkverbindung. Leuchtet sie überhaupt nicht, besteht wahrscheinlich keine Verbindung. Leuchtet sie ständig, ist die Karte vermutlich defekt.

PC Magazin, Nr. 12/2000, S. 155

Verfasser: Andreas
Letzte Änderung: 2011-04-25 13:37


LMHOSTS

Statische Textdatei zur Auflösung von NetBIOS-Namen in IP-Adressen. Kann in kleinen Netzen anstelle eines WINS-Servers eingesetzt werden. Wie HOSTS-Dateien muß auch die LMHOSTS-Datei von Hand gepflegt werden.

PC Magazin, Nr. 3/2000, S. 230

Verfasser: Andreas
Letzte Änderung: 2011-04-25 13:38


Logon

Logon ist der Anmeldevorgang beim Computer mit Namen und Paßwort. Das Abmelden heißt "Logoff". Das System hat damit die Möglichkeit festzustellen, ob Sie berechtigt sind, mit ihm zu arbeiten, und wie lange Sie "eingeloggt" waren.

PCgo!, Nr. 1/99, S. 98

Verfasser: Andreas
Letzte Änderung: 2011-04-25 13:38


LWL

Lichtwellenleiter. Ein anderes Wort für Glasfaserkabel.

PC Magazin, Nr. 12/2003, S. 189

Verfasser: Andreas
Letzte Änderung: 2011-04-25 13:38


Mail-Dienst

Er ermöglicht E-Mails - mit einer Anbindung an einen ISP sogar weltweit.

PC Magazin, Nr. 8/97, S. 207

Verfasser: Andreas
Letzte Änderung: 2011-04-25 13:39


Mailinglisten

Mailinglisten sind auch eine Art Diskussionsforum. Man kann sich in diese Listen eintragen und bekommt dann alle Mails, die von anderen eingetragenen Nutzern an diese Liste geschrieben werden. Selbst kann man sich natürlich auch an der Liste beteiligen. Der Brief geht dann an alle angemeldeten Teilnehmer.

PCgo!, Nr. 7/99, S. 177

Verfasser: Andreas
Letzte Änderung: 2011-04-25 13:39


MIME

Multi-Purpose Internet Mail Extensions (siehe Attachment). Dateianhang für E-Mails mit umgewandeltem Textformat, gängige Verfahren: UUEncode, UUDecode, Binhex und MIME als Standard.

PC Magazin, Nr. 10/98, S. 80

Verfasser: Andreas
Letzte Änderung: 2011-04-25 13:40


MPOA

Multi-Protocol-Over-ATM; integriert alle gängigen Netzwerkprotokolle unter ATM; also bespielsweise Eternet, Token Ring und FDDI.

PC Magazin, Nr. 12/97, S. 308

Verfasser: Andreas
Letzte Änderung: 2011-04-25 13:40


MPPE

Abk. für Microsoft Point-to-Point-Encryption; in Windows integriertes Verschlüsselungsprotokoll, das etwa bei VPN zum Einsatz kommt. Über das Internet verbindet es mehrere LANs miteinander.

PC Magazin, Nr. 4/2000, S. 100

Verfasser: Andreas
Letzte Änderung: 2011-04-25 13:40


MPSL

Multi-Protocol-Label-Switching; WAN-Protokoll, das sie Skalierbarkeit von Switches gewährleisten soll

PC Magazin, Nr. 12/97, S. 308

Verfasser: Andreas
Letzte Änderung: 2011-04-25 13:41


Multipart-Posting

Große Binärdateien werden normalerweise in kleinen Häppchen upgeloaded. Dies hängt mit der teilweise schlechten Übertragungsqualität zusammen. Um bei einem eventuellen Time-out nicht die ganze Datei zu verlieren, werden die Binaries getrennt.

PC Magazin SPEZIAL, Nr. 3/98, S. 51

Verfasser: Andreas
Letzte Änderung: 2011-04-25 13:41


Nachverfolgung

Sie haben im Mail-Protokoll zwei Möglichkeiten, die Herkunft von Briefen festzustellen: Sie bekommen eine Nachricht, wenn dem Empfänger die Mail zugestellt worden ist und wenn er sie gelesen hat. Allerdings kann jeder Empfänger dies unterbinden. Das ist anzuraten, insbesondere im Hinblick auf Junk-Mail.

PC Magazin, Nr. 6/2000, S. 162

Verfasser: Andreas
Letzte Änderung: 2011-04-25 13:41


Namensauflösung

Die Namensauflösung beschreibt den Vorgang des Findens einer IP-Adresse anhand eines Namens. In Windows-Netzen gibt es zwei Typen von Namen: NetBIOS- und Host-Namen.

PC Magazin, Nr. 3/2000, S. 230

Verfasser: Andreas
Letzte Änderung: 2011-04-25 13:42


NAT

Abk. für Network Address Translation. NAT ermöglicht den PCs im LAN, die IP-Adresse des Internet-Access-Routers für den Internet-Zugang zu nutzen, und versteckt andererseits das LAN hinter der im Internet registrierten IP-Adresse des Routers. NAT erübrigt separate Providerverträge für jeden Anwender. So funktioniert es: Schickt eine Station im LAN ein IP- Paket an den Router, wandelt NAT die Adresse des Absenders in eine gültige IP-Adresse um (die ihm etwa der Provider zugeteilt hat), bevor er es ins Internet schickt. Kommt von der entfernten Station eine Antwort auf dieses Paket zurück, wandelt NAT die Empfängeradresse in die ursprüngliche IP-Adresse der lokalen Station um und stellt das Paket ordnungsgemäß zu. Theoretisch kann NlAT LANs mit beliebig vielen Clients verwalten.

PC Magazin, Nr. 4/2000, S. 100

Verfasser: Andreas
Letzte Änderung: 2011-04-25 13:42


NDIS

Network Device Interface Specification. Standard für die Anbindung von Netzwerkkarten (Hardware) an Netzwerkprotokolle (Software). NDIS WAN ist eine Microsoft-Erweiterung dieses Standards in bezug auf Wide Area Networking (WAN).

PC Magazin, Nr. 10/98, S. 80

Verfasser: Andreas
Letzte Änderung: 2011-04-25 13:43


NetBEUI

Die Bezeichnung steht für Net-BIOS Extended User Interface und bezeichnet eine erweiterte Anwenderschnittstelle für Net-BIOS. Dabei handelt es sich um ein einfaches, aber nützliches Protokoll, das ab Windows und Windows NT ins Betriebssystem integriert ist. Vor allem für kleine Netzwerke bietet sich dieses Protokoll an. Es erlaubt allerdings keine weitere Konfiguration.

PCgo!, Nr. 3/99, S. 49

Verfasser: Andreas
Letzte Änderung: 2011-04-25 13:43


NetBIOS

Einfache Programmierschnittstelle zur Kommunikation zwischen Anwendungen in einem Windows-Netzwerk. Wichtig sind die NetBIOS-Namen, wie zum Beispiel der Rechnername. NetBIOS-Namen dürfen maximal 15 Zeichen lang sein. Dies ist für größere und komplexe Netze oft zu wenig, weswegen man besser DNS-Namen verwendet. Diese sind auch besser strukturierbar.

PC Magazin, Nr. 3/2000, S. 230

Verfasser: Andreas
Letzte Änderung: 2011-04-25 13:43


NetBIOS-Proxy

Dient der Kopplung von Peer-to-Peer-Netzwerken mit dem Microsoft-Protokoll NetBIOS. Vermeidet unnötigen Verbindungsaufbau, da Anfragen nach bekannten PCs lokal beantwortet werden.

PC Magazin, Nr. 4/2000, S. 100

Verfasser: Andreas
Letzte Änderung: 2011-04-25 13:44


Netiquette

Das Wort Netiquette setzt sich aus Net und Etiquette zusammen und enthält als eine Art Online-Knigge die wichtigsten Grundregeln für den verantwortungsvollen Umgang mit anderen Teilnehmern im Netz.

PCgo!, Nr. 7/99, S. 176

Verfasser: Andreas
Letzte Änderung: 2011-04-25 13:44


Netzwerk-Dienste

Noch immer ist es die Hauptaufgabe jedes Netzwerk- Servers, Dateien zu speichern und zu verwalten. An zweiter Stelle folgen die Druckdienste, bei denen der Server die Druckjobs der Arbeitsstationen entgegennimmt und auf einen Netzwerkdrucker weiterleitet. Dieser ist am Server angeschlossen oder über eine integrierte Schnittstelle an einer beliebigen Stelle im Netz. Zudem machen folgende Dienste Ihr Netzwerk effizient: Fax-Dienst, Web-/FTP-Dienst, Mail-Dienst, Remote-Dienst, Telefonie-Dienst, Backup-Dienst, CD-ROM-Dienst, Security- Dienst, Automations-Dienst)

PC Magazin, Nr. 8/97, S. 207

Verfasser: Andreas
Letzte Änderung: 2011-04-25 13:45


Netzwerk-Topologie

Physikalische Architektur eines Netzwerks (Ring-, Bus-, und Stern-Topologie). Kabeltyp und Kabellänge sind nicht nur von der Topologie abhänig; auch die Netzwerk-Technologie (Ethernet, Token- Ring) etc. spielt eine Rolle. Die beiden in Deutschland am meisten verbreiteten sind 10Base2 und 10BaseT.

PC Magazin, Nr. 8/97, S. 207

Verfasser: Andreas
Letzte Änderung: 2011-04-25 13:45


Netzwerkprotokoll

Ein Netzwerkprotokoll hat die Aufgabe, für den reibungslosen Datenaustausch in einem Netzwerk zu sorgen. In der Praxis existieren verschiedene Netzwerkprotokolle für verschiedene Anwendungsgebiete.

PCgo!, Nr. 3/99, S. 50

Verfasser: Andreas
Letzte Änderung: 2011-04-25 13:45


NFO

Info-Dateien in Newsgroups mit Angaben zum Inhalt des Postings.

PC Magazin, Nr. 10/2002, S. 47

Verfasser: Andreas
Letzte Änderung: 2011-04-25 13:46


NIC

Abk. für Network Interface Card. Bezeichnung für eine Netzwerkkarte.

PC Magazin, Nr. 12/2000, S. 155

Verfasser: Andreas
Letzte Änderung: 2011-04-25 13:46


Nick

Bezeichnung für Nickname, Spitzname.

PC Magazin, Nr. 10/2002, S. 47

Verfasser: Andreas
Letzte Änderung: 2011-04-25 13:47


NNTP

Das "Network News Transfer Protocol", das bei der Übertragung von Usenet-Artikeln eingesetzt wird, ist in der RFC (Abk. für Request for Comments) 977 aus dem Jahre 1986 folgendermaßen definiert: "NNTP spezifiziert ein Protokoll, das Verbreitung, Anfrage, Empfang und Veröffentlichung von Newsartikeln regelt, die auf Basis einer verläßlichen, kontinuierlichen Datenübertragung [..] stattfindet. NNTP ist so aufgebaut, daß Newsartikel in einer zentralen Datenbank gespeichert werden, die es dem Benutzer erlaubt, die gewünschten Artikel explizit auszuwählen. Die Aufnahme in ein Verzeichnis, die Angabe von Querverweisen sowie das Ablaufdatum älterer Nachrichten sind ebenfalls vorgesehen." Das komplette Dokument finden Sie unter "http://nswt.tuwien.ac.at/Connected/RFC/977/index.html". Die eigentliche Kommunikation zwischen Newsclient und Server erfolgt durch gesendete Requests, die von der Gegenstelle mit einem Zahlen-Code beantwortet werden. Rufen Sie bespielsweise die komplette Liste aller Newsgroups ab, sendet der Reader "LIST" und erhält als Anwort den Code "215" - die Liste der Newsgroups folgt.

PC Magazin SPEZIAL, Nr. 3/98, S. 50

Verfasser: Andreas
Letzte Änderung: 2011-04-25 13:47


OSI

Open-Systems-Interconnection-Referenzmodell; Standard, der die Netzdienste gliedert (siehe OSI-Modell).

PC Magazin, Nr. 12/97, S. 308

Verfasser: Andreas
Letzte Änderung: 2011-04-25 13:47


OSI-Modell

OSI steht für Open Systems Interconnection und teilt die Kommunikation im Netzwerk in unterfschiedliche Hierarchiestufen ein. Ziel des Modells ist es, den Datenaustausch in bestimmte Dienste einzuteilen. Besonders in heterogenen Netzwerken kann das Modell hilfreich sein. OSI geht von der Anwendungsschicht immer mehr in die technischen Details bis zur Bitübertragungsschicht. Die obersten drei Schichten sind anwendungsorientiert, die unteren vier transportorientiert. Jede Schicht beauftragt die darunterliegende. Die kann ihrerseits die nächsttiefere Schicht mit einer Aufgabe betrauen. Die unterste, die Bitübertragungsschicht, legt fest, wie die Daten übertragen werden sollen, welchem Spannungspegel eine logische 1 entspricht und welche Kabel zum Einsatz kommen. Kurz: alles was nötig ist, um ein Bit von A nach B zu schicken. Die Sicherheitsschicht faßt Bits zu sogenannten Rahmen oder Frames zusammen und versieht sie mit Prüfsummen. So ist sichergestellt, daß die Daten den Empfänger ordnungsgemäß erreichen. Die Vermittlungsschicht legte den Weg eines Datenblocks fest. Diese Schicht ist die Verkehrsleitzentrale: Bei einem Datenstau leitet sie die Daten um. In der Transportschicht werden Übertragungsfehler korrigiert, und in der Sitzungsschicht die Kommunikation zwischen mehreren Partnern synchronisiert. Die Darstellungsschicht sorgt dafür, daß Daten gegebenenfalls umgewandelt werden. Beispielsweise sind hier die Codierung von Zeichensätzen, die Verschlüsselung und die Komprimierung angesiedelt. In der Anwendungsschicht liegen schließlich die Dienstprogramme, die über eine Netzwerk-Verbindung ausgeführt werden.

PC Magazin, Nr. 2/98, S. 78

Verfasser: Andreas
Letzte Änderung: 2011-04-25 13:48


Paket-Filter

Entscheidet anhand der im Header von IP-Paketen enthaltenen Adressen, was mit dem Paket zu geschehen hat (verwerfen, witerleiten, zurückweisen etc.). Ein Paket-Filter bietet einen Basisschutz gegen Hackerangriffe und verhindert, daß bestimmte Websites aufgerufen werden.

PC Magazin, Nr. 4/2000, S. 100

Verfasser: Andreas
Letzte Änderung: 2011-04-25 13:48


PAR

Ergänzungsdateien auf Newsservern, mit denen sich fehlende Teile eines Postings rekonstruieren lassen.

PC Magazin, Nr. 10/2002, S. 47

Verfasser: Andreas
Letzte Änderung: 2011-04-25 13:48


Peer-To-Peer

Dieser Begriff bezeichnet ein Netzwerk, in dem alle Rechner den gleichen Rang haben. Kein Rechner ist einem anderen übergeordnet. Ihr Vorteil ist der einfache Aufbau und es müssen keine besonderen Kenntnisse im Bereich Netzwerk vorhanden sein. Der Nachteil ist vor allem in der relativ geringen Sicherheit vor unbefugten Datenzugriffen zu sehen.

PCgo!, Nr. 3/99, S. 49

Anders als beim Client-Server-Konzept, in dem viele Clients mit einem zentralen Server kommunizieren, sind Peer-to-Peer-Netzwerke (P2P) dezentral aufgebaut. Jeder Client ist also auch gleichzeitig ein kleiner Server. Obwohl jeder "Peer" im Vergleich zu einem großen Server nur sehr begrenzte Resourcen besitzt, ergibt die Summe der Peers ein leistungsfähiges Netzwerk, das sich z.B. sehr gur für große Downloads eignet. Weniger leistungsfähig sind P2P-Netze, wenn es darum geht herauszufinden, bei welchem Peer sich bestimmte Dateien befinden. Deswegen setzen viele Programme (z.B. Napster oder Soulseek) zu diesem Zweck einen zentralen Index Server ein.

Quelle: Linux User 4/2003

Verfasser: Andreas
Letzte Änderung: 2011-04-25 13:49


Personalisieren

Viele Shops erkennen Kunden wieder und bieten ihnen spezielle Dienste an. Das funktioniert über Cookies.

PC Magazin, Nr. 12/99, S. 79

Verfasser: Andreas
Letzte Änderung: 2011-04-25 13:49


Ping

Wie ein Echolot kann der Befehl Ping eine beliebige Internet-Adresse anklingeln und erhält eine Antwort, wenn ein Rechner mit der IP-Adresse existiert.

PC Magazin, Nr. 4/2000, S. 100

Verfasser: Andreas
Letzte Änderung: 2011-04-25 13:50


POP vor SMTP

SMTP-Server fordern meist kein Passwort für den Versand von Mails. Das öffnet Junk-Mailern alle elektronischen Türen, um ihre lästigen Massenmails zu verschicken. Freie Server wie GMX verlangen, dass sich Benutzer mit Kennung und Passwort identifizieren. Für Mail-Programme, die das nicht unterstützen, gibt es auf der Homepage von GMX ein spezielles Tool, das die Authentifizierung erledigt.

PC Magazin, Nr. 6/2000, S. 162

Verfasser: Andreas
Letzte Änderung: 2011-04-25 13:50


POP3

Abk. für Post Office Protocol 3. Verbreitetes Protokoll, über das ein E-Mail-Programm beim Anwender bei einer bestehenden Internet-Verbindung neue Nachrichten vom Mail-Server des Providers abholt.

PC Magazin, Nr. 10/98, S. 80

Verfasser: Andreas
Letzte Änderung: 2011-04-25 13:50


Port-Scanner

Software, um in Netzwerken festzustellen, welche Ports auf welchen Servern aktiv sind. In kleinen Netzwerken lassen sich damit aller Server-Aktivitäten finden, ab einer bestimmten Netz-Größe ist die Rechenzeit jedoch noch zu lang.

PC Magazin, Nr. 11/98, S. 259

Verfasser: Andreas
Letzte Änderung: 2011-04-25 13:51


Ports

Ihr PC kommuniziert mit einem beliebigen Internet-Rechner über Ports. Wenn Sie eine Webseite laden, benutzt Ihr Browser Port 80, beim Laden von Dateien von einer FTP- Site die Ports 20 und 21. Jedem Dienst und jeder Anwendung sind ein oder mehrere Ports zugeordnet. Die unteren Ports von 0 bis 1023 sind für die Systemdienste des PC reserviert, die oberen von 1024 bis 65535 werden für Anwendungen gebraucht.
Die Systemports sind häufiger offen und können leichter geknackt werden als die Anwendungsports, die nur so lange geöffnet sind, wie eine Anwendung läuft. Jeder Port ist entweder vom Typ UDP oder vom Typ TCP. Beides sind Protokolle zum Transport von Daten. UDP verfügt nicht über ein Fehlerkorrekturverfahren wie TCP, deswegen wird es eingesetzt, wenn verlorene Pakete akzeptabel sind, zum Beispiel bei Streaming-Anwendungen wie Real-Audio. Zusammen mit der IP-Adresse bildet ein Port ein Socket, das zum Herstellen einer Verbindung dient.
Bei Angriffen aus dem Internet wird meistens zuerst festgestellt, welche Ports geöffnet sind (Portscanner). Der Hacker weiß dann, welche Anwendungen oder Dienste auf dem Zielsystem laufen und kann versuchen, bekannte Schwächen auszunutzen.

PC Magazin, Nr. 11/2000, S. 70

Verfasser: Andreas
Letzte Änderung: 2011-04-25 13:51


Portscanner

Sie scannen die Ports (es gibt 65536 = 216) eines Rechners im Internet. Über die Ports werden Verbindungen zwischen Rechnern im Internet hergestellt. Ports sind geschlossen oder offen. Damit eine Verbindung hergestellt werden kann, muss der Port geöffnet sein. Zweck der Portscanner ist es, herauszufinden, welche Ports offen sind, also für eine Verbindungsaufnahme zur Verfügung stehen. Über offene Ports kann ein Einbruchsversuch erfolgen.

PC Magazin, Nr. 11/2000, S. 72

Verfasser: Andreas
Letzte Änderung: 2011-04-25 13:52


Posting

Das Abschicken eines Artikels in eine Newsgroup.

PC Magazin SPEZIAL, Nr. 3/98, S. 51

 

Verfasser: Andreas
Letzte Änderung: 2011-04-25 13:52


PPP

Point to Point Protocol wird verwendet, um die Konfigurationsparameter mehrerer Schichten zwischen zwei Netzknoten auszutauschen. Es dient dem Netzzugang für entfernte Rechner.

PC Magazin, Nr. 4/99, S. 225

Verfasser: Andreas
Letzte Änderung: 2011-04-25 13:52


PPTP

Point to Point Tunneling Protocol wird für virtuelle private Netzwerke (VPN) verwendet. Das VPN verwendet das öffentliche Internet als Transportmedium - der private Teil entsteht durch die in PPTP eingebaute Verschlüsselung.

PC Magazin, Nr. 4/99, S. 225

Verfasser: Andreas
Letzte Änderung: 2011-04-25 13:53


Proxy

Einem Festplatten-Cache vergleichbar. Wenn Sie eine Web- Site laden wollen, prüft der Proxy-Server Ihres Providers, ob die Daten auf seiner lokalen Festplatte zwischengespeichert sind. Wenn ja, erhalten Sie die Site von diesem Server.

PC Magazin, Nr. 10/98, S. 80

Verfasser: Andreas
Letzte Änderung: 2011-04-25 13:53


Quad

Eine Internet-Adresse besteht aus vier Quads, die mit einem Punkt voneinander getrennt sind (etwa 194.111.111.123).

PC Magazin, Nr. 4/2000, S. 100

Verfasser: Andreas
Letzte Änderung: 2011-04-25 13:53


RAS

Der Remote Access Service verbindet Computer über das DFÜ- Netzwerk. Betriebssysteme, die nicht über ein DFÜ- Netzwerk verfügen - wie OS/2 und Windows 3.11 - brauchen einen RAS-Treiber, um Rechner per Telefonleitung zu verbinden.

PC Magazin, Nr. 10/98, S. 80

Verfasser: Andreas
Letzte Änderung: 2011-04-25 13:55


RE

Markiert in der Subject-Zeile eine Antwort auf die folgende Frage in einem Newsgroupartikel.

PC Magazin SPEZIAL, Nr. 3/98, S. 51

 

Verfasser: Andreas
Letzte Änderung: 2011-04-25 13:55


Remote-Dienst

Mitarbeiter zu Hause, im Außendienst oder in kleinen Filialen arbeiten per Remote-Verbindung auf dem firmeneigenen Server. Sie vermeidet doppelte Datenhaltung und sorgt für aktuelle Daten.

PC Magazin, Nr. 8/97, S. 207

Verfasser: Andreas
Letzte Änderung: 2011-04-25 13:56


Replikation

Replikation bezeichnet die Verwaltung mehrerer Kopien einer Datenbank. Die verschiedenen Kopien können unabhängig voneinander bearbeitet werden, werden dann aber repliziert, das heißt miteinander verglichen und damit auf den neuesten Stand gebracht.

PCgo!, Nr. 4/99, S. 138

Verfasser: Andreas
Letzte Änderung: 2011-04-25 13:56


Ring-Topologie

Hier ist jedes Netzwerkgerät sowohl mit dem rechten als auch mit dem linken Nachbarn verbunden. Der Nachbar des "letzten" Geräts ist gleichzeitig der Nachbar des "ersten".

PC Magazin, Nr. 8/97, S. 207

Verfasser: Andreas
Letzte Änderung: 2011-04-25 13:57


Router

Hard- oder Software, die eine Verbindung zwischen verschiedenen Netzen herstellt. Meistens passiert ein Datenpaket im Internet eine ganze Serie von Routern.

PC Magazin, Nr. 10/98, S. 80

Verfasser: Andreas
Letzte Änderung: 2011-04-25 13:57


S/MIME

Unabhängig davon, ob eine Mail sensible Informationen enthält oder nicht, wollen die meisten Anwender sichergehen, daß Nachrichten nicht abgefangen und von unberechtigten Personen gelesen werden. Als bislang sicherste Methode gilt die Verschlüsselung mit PGP. In der Praxis kommt PGP aber eher selten zum Einsatz, denn dieser Verschlüsselungsmethode haftet immer noch der Ruf einer wenig benutzerfreundlichen Technik an - auch wenn dem längst nicht mehr so ist. Ein relativ neues Protokoll soll nun den Weg zum sicheren E-Mail-Austausch ebnen: S/MIME (Secure Multipurpose Internet Massage Extensions). Die Chancen stehen gut, da zwei wichtige Anbieter von E-Mail-Lösungen S/MIME in bereits verfügbaren Anwendungen implementiert haben, insbesondere Microsoft in Outlook Express und Netscape in seinem Messanger. Zwei wichtige Markmale kennzeichen S/MIME: Privacy - nur der richtige Empfänger kann die Nachricht lesen - und Authentizität, das heißt, der Empfänger kann sicher sein, daß die Nachricht auch vom notierten Absender stammt. Die Verschlüsselungstechnik verwendet digitale IDs und nutzt MIME für die Strukturierung von Nachrichten. Eine digitale ID besteht aus einem öffentlichen und einem privaten Schlüssel sowie einer digitalen Signatur. Bevor verschlüsselte oder digital signierte Nachrichten versendet werden können, benötigt man zunächst eine digitale ID. Die gibt es beispielsweise von Veri Sign unter www.versign.com.

PC Magazin, Nr. 8/99, S. 92

Verfasser: Andreas
Letzte Änderung: 2011-04-25 13:58


SATAN

Programmpaket zum Aufspüren von Sicherheitslöchern in Netzwerken.

PC Magazin, Nr. 10/98, S. 80

Verfasser: Andreas
Letzte Änderung: 2011-04-25 13:58


Security-Dienst

Auf dem Server arbeiten Antiviren-Scanner, die pausenlos ein- und ausgehende Dateien prüfen. Zusätzlich werden die Arbeitsstationen beim Anmelden gescannt. Das zentrale (Server-)Update sorgt für aktuelle Viren- Signatur-Dateien.

PC Magazin, Nr. 8/97, S. 207

Verfasser: Andreas
Letzte Änderung: 2011-04-25 13:58


Server

Zentraler Rechner, der anderen Rechnern (Clients) Daten zugänglich macht. Im Internet gibt es Server für WWW- Seiten, E-Mail, IRC, FTP, Newsgroups und Domain-Namen. Fast alle Dienste des Internet basieren auf diesem Client/Server-Prinzip.

PC Magazin, Nr. 10/98, S. 80

Verfasser: Andreas
Letzte Änderung: 2011-04-25 13:59


Share

 

Freigegebene Verzeichnisse heißen Shares (Freigegeben). Ebenso gibt es die Drucker- und Modem-Shares.

PC Magazin, Nr. 5/99, S. 114

Auf Deutsch: Ordnerfreigaben; Ordner, die für den Zugriff über ein Netzwerk freigegeben werden. Bei Windows- Freigaben in einem LAN sollte der NetBIOS-Port 139 für den Zugriff über das Internet beobachtet werden. Die meisten Firewalls bieten Optionen ür diesen Schutz.

PC Magazin, Nr. 7/2001, S. 139

Verfasser: Andreas
Letzte Änderung: 2011-04-25 14:00


SLIP

Das Serial Line Internet Protocol ist ein veraltetes Protokoll, das Netzzugänge für entfernte Rechner gestattet.

PC Magazin, Nr. 4/99, S. 225

Verfasser: Andreas
Letzte Änderung: 2011-04-25 14:00


SMNP

Simple Network Management Protocol; Router, die CMIP oder SMNP unterstützen, erfüllen eine der Voraussetzungen für ein zentrales Netzwerk-Management.

PC Magazin, Nr. 12/97, S. 308

Verfasser: Andreas
Letzte Änderung: 2011-04-25 14:01


SMTP

Mit dem Simple Mail Transfer Protocol übertragen E-Mail- Programme Daten an den Mail-Server des Providers. Dieser leitet die E-Mail - über Zwischenstationen - an den Mail- Server des Empfängers weiter.

PC Magazin, Nr. 10/98, S. 80

Verfasser: Andreas
Letzte Änderung: 2011-04-25 14:01


Sniffing

Ausspionieren von Daten, meistens von IP-Paketen. Manche Paket-Sniffer können Adressen in IP-Paketen ändern und damit diese Daten umleiten.

PC Magazin, Nr. 10/98, S. 80

Verfasser: Andreas
Letzte Änderung: 2011-04-25 14:01


SNMP

Mit dem Simple Network Management Protocol (SNMP) werden Fehlermeldungen, so genannte Traps, von Netzwerkgeräten an eine zentrale Instanz gesendet - den SNMP-Manager. Auf den zu überwachenden Geräten laufen so genannte Agenten: Software, die bestimmte Eigenschaften des Geräts überwacht. Bei Printservern ist das zum Beispiel Papierstau am Drucker oder Tonermangel. Was genau überwacht wird, steht in der IB (Management Information Base), einer standardisierten Datenbank, die der Hersteller des zu überwachenden Geräts liefert.

PC Magazin, Nr. 2/2001, S. 140

Verfasser: Andreas
Letzte Änderung: 2011-04-25 14:02


Sockets

Sockets stammen ursprünglich aus dem BSD-UNIX (Berkley Software Distribution) und wurden später von Microsoft in einer adaptierten Form als Windows-Sockets 1.1 übernommen. Bei der Adaption blieb allerdings die volle Kompatibilität auf der Strecke. Seit Windows NT 4 gibt es die Sockets in einer mit BSD kompatibleren Version 2, die außerdem einige andere Probleme der Sockets 1.1 behebt. Sockets dienen als Interface zu einem Netzwerkprotokoll, nicht als Protokoll selbst. Im Fall der Windows-Sockets 1.1 können die Sockets ausschließlich als Interface zu TCP/IP verwendet werden., Sockets 2 sind protokollunabhängig. Der Sinn dieses Interface ist in erster Linie darin zu finden, daß der Programmierer sich nicht mit den Details der Netzwerkkommunikation auseinandersetzen muß, sondern einen Satz an Funktionen und Datentypen zur Verfügung hat, die das darunterliegende Protokoll nahezu unsichtbar machen. Im Klartext: ein Socket ist der Endpunkt einer Kommunikationsleitung und dient als Objekt, das dazu verwendet werden kann, mit anderen Socket-Anwendungen im Netzwerk zu kommunizieren, ohne daß man sich um das Protokoll zu kümmern braucht. Konsequenterweise können BSD-Socket-Handles immer als File-Handles betrachtet werden, aus denen gelesen beziehungsweise in die geschrieben werden kann. Bei Windows-Sockets ist dies zwar nicht möglich (auch bei Sockets 2 nur zum Teil), trotzdem ist die Verwendung von Sockets oder Socket-Handles zum Lesen und Schreiben von Daten analog zum Lesen und Schreiben von Daten aus Dateien. Im Kern wird dabei ein Socket unter Angabe einer IP-Adresse und einer Port-Nummer erzeugt. Die IP-Adresse bestimmt dabei den Rechner, auf dem der Socket angelegt wird, die Port-Nummer bestimmt den logischen Namen des Socket (analog: den Dateinamen). Der erzeugte Socket dient dann als Handle, an das verschiedene Funktionen zum Lesen und Schreiben von Daten gesendet werden können (analog: Read-File(aFile- Handle, &dest, sizeof(dest)). Zusätzlich stehen verschiedene Socket-Modi zur Verfügung. Ein Socket kann zum Beispiel darauf warten, daß mit ihm Kontakt aufgenommen wird. Diese Socket-Typen werden typischerweise für die Server-Seite der Socketverbindung verwendet.

PC Magazin, Nr. 7/97, S. 282

Verfasser: Andreas
Letzte Änderung: 2011-04-25 14:02


Spam

Spam ist Datenmüller wie beispielsweise Werbung. "Gute" Server lassen Anti-Spam-Software laufen, um sich davor zu schützen.

PC Magazin, Nr. 10/98, S. 80

Verfasser: Andreas
Letzte Änderung: 2011-04-25 14:02


Spyware

Programme, die auf dem PC des Anwenders laufen und immer dann, wenn der Rechner online ist, beliebige Informationen versenden (im Jargon auch "nach Hause telefonieren" genannt). Es gibt immer wieder hitzige Debatten darüber, was an wen versendet wird und ob eine Verletzung der Privatsphäre vorliegt. Nachweise sind aber bisher nur selten erbracht worden.

PC Magazin, Nr. 11/2000, S. 72

Verfasser: Andreas
Letzte Änderung: 2011-04-25 14:03


SSL

Secure Socket Layer (vgl. Weis, Rüdiger: Sichere Datenübertragung mit Secure Socket Layer, in: PC Magazin, Nr. 4/97, S. 232). Von Netscape entwickeltes Protokoll zur Sicherung von Internet-Verbindungen. Es sorgt für Vertraulichkeit, Integrität und Authentizität der Verbindung. Bei diesem Satz an Client-Server-Protokollen wird während des Verbindungsaufbaus der öffentliche Schlüssel des Servers überprüft. Heutige Browser unterstützen SSL, die Schlüssellänge beträgt meist 40 Bit. Als sicher gilt unter Experten allerdings erst 128 Bits.

PC Magazin, Nr. 4/97, S. 262
PC Magazin, Nr. 12/99, S. 96

Verfasser: Andreas
Letzte Änderung: 2011-04-25 14:03


Stealth Mode

Anfragen aus dem Internet an die eigenen Ports müssen normalerweise beantwortet werden, egal ob eine Verbindung hergestellt werden kann oder nicht. Ports im Stealth-Mode ignorieren diese Anfragen und "verstecken" das System. Von außen sieht es so aus, als ob das System gar nicht vorhanden wäre.

PC Magazin, Nr. 11/2000, S. 72

Verfasser: Andreas
Letzte Änderung: 2011-04-25 14:04


Stealth Scan

Portscan, der vom Opfer nicht entdeckt wird.

PC Magazin, Nr. 5/2000, S. 166

Verfasser: Andreas
Letzte Änderung: 2011-04-25 14:04


Stern-Topologie

Sie benötigt von jedem Netzwerkgerät eine Leitung zu einem Knotenpunkt. Am Knotenpunkt verbinden aktive Verkabelungskomponenten die Leitungen.

PC Magazin, Nr. 8/97, S. 207

Verfasser: Andreas
Letzte Änderung: 2011-04-25 14:04


STP

Abk. für Shielded Twisted Pair. Abgeschirmtes TP-Kabel.

PC Magazin, Nr. 12/2000, S. 155

Verfasser: Andreas
Letzte Änderung: 2011-04-25 14:05


Subnet-Mask

Adressiert Subnetze durch Maskieren von IP-Adressbits. Sie gibt die Größe des Subnetzes an. Innerhalb eines Subnetzes können Daten direkt von Rechner zu Rechner übertragen werden, ohne eine Verbindung über einen Router bzw. ein Gateway herstellen zu müssen. Die Subnet- Mask besteht wie eine IP-Adresse aus vier Quads.

PC Magazin, Nr. 4/2000, S. 100

Verfasser: Andreas
Letzte Änderung: 2011-04-25 14:05


Switch

Ein Switch (Schalter) scheint auf den ersten Blick wie ein Hub zu funktionieren. An ihm lassen sich mehrere mit Netzwerkkarten ausgerüstete Rechner oder andere Netzwerkgeräte anschließen. Die Daten werden dann entsprechend verteilt. Während ein Hub aber die Daten an alle angeschlossenen Geräte gleichzeitig weitergibt, ist ein Switch in der Lage, für einen kurzen Moment eine exklusive Verbindung zwischen zwei am Switch angeschlossenen Netzgeräten herzustellen. Die Übertragungsleistung wird dadurch wesentlich höher, als das bei einem Hub der Fall ist. Das erfordert aber auch eine wesentlich aufwendigere Elektronik, was einen Switch gegenüber einem Hub auch wesentlich teurer macht.

PCgo!, Nr. 7/99, S. 137

Verfasser: Andreas
Letzte Änderung: 2011-04-25 14:05


Switch

Ein aktiver Hub, der wie eine Telefonvermittlungsstelle den Netzwerkverkehr zwischen Clients und Server(n) regelt, in dem er selbsttätig die Zieladressen der IP- Pakete auswertet und den entsprechenden Adressaten zustellt.

PC Magazin, Nr. 4/2000, S. 100

Verfasser: Andreas
Letzte Änderung: 2011-04-25 14:06


SYN-Attacks

Bei der Verbindungsaufnahme zwischen zwei Computern (TCP- Handshakes) werden drei Datenpakete gesendet: Im ersten setzt der Client das SYN-Bit. Er signalisiert damit, dass er eine Verbindung wünscht. Der Server antwortet mit einem gesetzten SYNACK-Bit. Falls nicht, bleibt die Verbindung halb offen (illegal). Erzeugt man viele solcher halboffenen Verbindungen, stürzen manche Systeme ab (SAN-Flooding).

PC Magazin, Nr. 7/2001, S. 139

Verfasser: Andreas
Letzte Änderung: 2011-04-25 14:06


TAPI

Abk. für Telephone Application Programming Interface. Dies bezeichnet die Standard-Software-Schnittstelle für computergestützte Telefonie (s. CTI). Die Hardware und Software der verschiedenen Hersteller ist auf diese Standard-Schnittstelle abgestimmt. So lassen sich verschiedene Geräte und Programme miteinander betreiben.

PCgo!, Nr. 11/2000, S. 192

Verfasser: Andreas
Letzte Änderung: 2011-04-25 14:06


TCP-Handshake



Der Aufbau einer Verbindung mit dem Transmission Control Protocol (TCP-Handshake genannt) erfolgt in drei Schritten:
zuerst schickt der Host, der eine Verbindung wünscht, ein TCP-Paket an das Zielsystem, in dem das SYN-Bit (Synchronize-Bit) angeschaltet ist. Dieses signalisiert dem Zielsystem, dass ein Verbindungsaufbau erwünscht ist.
Das Zielsystem sendet eine Antwort, bei der ebenfalls das SYN-Bit und zusätzlich das ACK-Bit (Acknowledge-Bit) gesetzt ist und signalisiert damit seine Bereitschaft.
Der initiierte Host bestätigt mit einem ACK-Bit. Damit steht die Verbindung.
Eine Verbindung beenden Sie auf ähnliche Weise: Statt des SYN- wird das FIN-Bit (Finalize-Bit) gesetzt.

PC Magazin, Nr. 5/2000, S. 166

Verfasser: Andreas
Letzte Änderung: 2011-04-25 14:07


TCP/IP

Das TCP/IP-System (Transmission Controll Protocol/Internet Protocol) hat sich im Internet als Netzwerkstandard etabliert, der von reinen Netzwerk- Betriebssystemen wie Novell Netware als auch von Windows 95/NT und Unix von Haus aus unterstützt wird. TCP spielt die Rolle des Verbindungs-Managers, IP sorgt für den eigentlichen Datentransport. Das TCP (RFC793) kontrolliert die Verbindung, überwacht die ein- und ausgehenden Daten und überprüft, ob alle Daten vollständig übertragen wurden. Falls nicht, werden fehlende Daten noch einmal gesendet. Um über Ihren Internet-Provider einen Zugang zum Internet zu bekommen, müssen Sie das TCP/IP-Protokoll auf Ihrem Rechner installiert haben, das Sie im Netzwerkdialog finden. Um das TCP/IP-Protokoll aus Windows-Programmen heraus nutzen zu können, ist eine besondere Schnittstelle erforderlich. Diese Funktion erfüllt die Windows- Systemdatei winsock.dll, die quasi als Dolmetscher zwischen der Internet-Applikation und dem TCP/IP-Stack fungiert.

PC Magazin, Nr. 10/98, S. 79
PC Magazin, Nr. 4/99, S. 225

Verfasser: Andreas
Letzte Änderung: 2011-04-25 14:08


TCP/IP-Adressierung

Um die TCP/IP-Adressierung zu verstehen, muß man wissen, wie das Internet organisiert ist: Es besteht aus Subnetzen, die alle zusammen das Internet ergeben. Wenn Sie mit einem einzelnen Rechner ins Internet gehen, gehören Sie zu einem Subnetz, das dem Provider gehört. Schließen Sie Ihr LAN so ans Netz an, wie in diesem Beitrag beschrieben, gehören Sie ebenfalls zu einem Subnetz des Providers - Sie benötigen nur eine einzige IP, um bis zu 254 Rechner ans Internet zu binden. Beantragen Sie dagegen bei Ihrem Provider einen Pool an IPs, ist Ihr Netz ein eigenes Subnetz. Subnetze werden über die IP identifiziert.
IP-Adressen haben immer die Form x.x.x.x, wobei x eine Zahl zwischen 0 und 255 ist. Jede IP ist zweigeteilt: Der erste Teil beschreibt das Netz, der Rest den Rechner im Netz. Wenn n das Netz und r der Rechner ist, kann die IP zum Beispiel so aussehen: n.r.r.r oder n.n.r.r oder auch n.n.n.r. Anhand dieser drei Beispiele läßt sich die Klasse des Netzes feststellen: n.r.r.r ist ein Klasse-A- Netz. In dieser Adresse gibt es nur ein Byte für die Anzahl der Netze, also kann es nur maximal 256 Klasse-A- Netze geben. Die werte 0 und 255 sind Spezialfälle und können nicht verwendet werden - also bleiben 254 Möglichkeiten. Daraus folgt: Es gibt weltweit nur 254 Klasse-A-Netze. Jedes dieser Netze kann aber sehr viele Rechner enthalten, die durch die verbleibenden drei Bytes gekennzeichnet werden: Die Anzahl der Rechner in einem Klasse-A-Netz berechnet sich so: 256*256*256 (minus der Spezialfälle). Solche großen Netze bekommen nur sehr große Firmen zugeteilt (sie sind auch ziemlich teuer). Das nächst kleinere Netz ist das Klasse-B-Netz: Hier werden die ersten beiden Bytes zum Adressieren des Subnetzes verwendet. Das kleinste ist schließlich das Klasse-C-Netz, bei dem die ersten drei Bytes das Subnetz kennzeichnen und ein Byte für die Rechnerkennungen verbleibt. An der Subnetmask erkennen Sie ebenfalls die Klasse: 255.0.0.0 steht für ein Klasse-A-Netz, 255.255.0.0 für ein B- und 255.255.255.0 für ein C-Netz.

PC Magazin, Nr. 10/98, S. 218

Verfasser: Andreas
Letzte Änderung: 2011-04-25 14:08


Teilnetze

Wenn das Datenaufkommen in einem Netzwerk zu groß wird, wird es in Teilnetze (Subnetze, Segmente) aufgeteilt, die ihrerseits mit Verbindungsgeräten wie Routern verbunden sind.

PC Magazin, Nr. 3/2000, S. 230

Verfasser: Andreas
Letzte Änderung: 2011-04-25 14:08


Telefonie-Dienst

Der Server ist mit der Telefonanlage verbunden oder wird mit entsprechenden Steckkarten selbst dazu. Eine Kopplung zwischen eingehender Telefonnummer (ISDN) und der Telefon-Datenbank erlaubt den schnellen Zugriff auf alle Anruferdaten. Ausgehende Telefonate werden ebenfalls per PC verwaltet. Dieser Dienst vereinfacht die personenbezogene Abrechnung der Telefongebühren.

PC Magazin, Nr. 8/97, S. 207

Verfasser: Andreas
Letzte Änderung: 2011-04-25 14:09


Telnet

IP-Protokoll. Es baut ein virtuelles Terminal auf, das vom eigenen Computer aus ein anderes System im Netzwerk steuern kann. Telnet wird immer dann benutzt, wenn sich auf einem anderen System eine oder mehrere Anwendungen befinden, die lokal nicht zur Verfügung stehen.

PC Magazin, Nr. 4/2000, S. 100

Verfasser: Andreas
Letzte Änderung: 2011-04-25 14:09


Ticker

Das ist eine Art Laufband, das aktuelle Informationen zeigt. Ein Ticker ist ein Active-Desktop-Element, das Sie auf den Desktop legen und aktualisieren können. Es gibt zum Beispiel einen ZDF-Nachrichten-Ticker oder diverse Börsenticker, in denen aktuelle Informationen gezeigt werden.

PCgo!, Nr. 10/98, S. 147

Verfasser: Andreas
Letzte Änderung: 2011-04-25 14:10


TLD

Abk. für Top Level Domains. Oberste Hierarchie-Ebene (nach dem Root) des DNS. Wird an den Endungen der FQDNs erkannt, etwa .de, .com oder .org. TLD-Server werden von großen Organisationen gepflegt, die man für diese Dienste bezahlen muß (machen die Provider).

PC Magazin, Nr. 3/2000, S. 230

Verfasser: Andreas
Letzte Änderung: 2011-04-25 14:10


Token

Bitmuster, das ständig ein Ring-Netz durchläuft.

PC Magazin, Nr. 12/97, S. 308

Verfasser: Andreas
Letzte Änderung: 2011-04-25 14:10


TP

Abk. für Twisted Pair. Vieradriges Kabel, dessen Leitungen paarweise verdreht sind. Es enthält pro Meter etwa zwei bis drei Drehungen ("gedrehtes Kabel").

PC Magazin, Nr. 12/2000, S. 155

Verfasser: Andreas
Letzte Änderung: 2011-04-25 14:11


Transceiver

Das Wort stammt aus dem Englischen und bezeichnet ein Gerät, in dem sich sowohl Sender als auch Empfänger befinden. RadioLAN benötigt für die kabellose Datenübertragung ebenfalls einen Transceiver. Die Daten werden damit empfangen. Gleichzeitig ist es aber auch möglich, Daten an andere Transeiver zu senden.

PCgo!, Nr. 7/99, S. 140

Verfasser: Andreas
Letzte Änderung: 2011-04-25 14:11


Tread

Alle Followups, die auf einen Artikel in einer Newsgroup antworten.

PC Magazin SPEZIAL, Nr. 3/98, S. 51

Verfasser: Andreas
Letzte Änderung: 2011-04-25 14:11


Twisted-Pair-Kabel

Diese Kabel garantieren hohe Übertragungsraten. Sie ähneln mit ihren Steckern normalen Telefonleitungen. Ein Twisted-Pair-Kabel besteht aus mehreren Drähten, die miteinander verdrillt sind.

PCgo!, Nr. 3/99, S. 49

Verfasser: Andreas
Letzte Änderung: 2011-04-25 14:12


Übersprechen

Unerwünschte Signaleinwirkungen zwischen benachbarten Adern aufgrund induktiver oder kapazitiver Kopplung. Gegen Übersprechen helfen Abschirmungen und vergrößerte Abstände.

PC Magazin, Nr. 12/2003, S. 189

Verfasser: Andreas
Letzte Änderung: 2011-04-25 14:12


UDP

User Datagram Protocol ist ein verbindungsloses Protokoll zum Versenden von Datagrammen (Paketen). UDP garantiert weder die Zustellung der Pakete, noch ist eine bestimmte Reihenfolge des Eintreffens von Paketen gewährleistet.

PC Magazin, Nr. 4/99, S. 225

Verfasser: Andreas
Letzte Änderung: 2011-04-25 14:12


UNC-Pfad

Universal Naming Convention. Pfadangabe, die auf einen anderen PC im Netz verweist. Ein UNC-Pfad, der auf ein Verzeichnis Texte auf dem PC Ganymed verweist, sieht so aus: \\ganymed\texte. Groß- und Kleinschreibung spielt dabei keine Rolle. Den UNC-Pfad stellen Sie zum Beispiel ein, wenn Sie im Explorer Netzlaufwerk verbinden wählen.

PC Magazin, Nr. 5/99, S. 114

Verfasser: Andreas
Letzte Änderung: 2011-04-25 14:13


Uplink-Port

Port am Hub oder Switch, an dem ein weiterer Hub oder Switch angeschlossen werden kann.

PC Magazin, Nr. 12/2000, S. 155

Verfasser: Andreas
Letzte Änderung: 2011-04-25 14:15


URL

Abk. für Universal Resource Locator. Die Methode, mit der im Internet Ressourcen identifiziert werden: Typischerweise sind dies WWW-Seiten. So identifiziert die URL: www.sol8.com\index.htm beispielsweise die Homepage von Sol8.

PC Magazin, Nr. 8/98, S. 201

Verfasser: Andreas
Letzte Änderung: 2011-04-25 14:15


Usenet

Die Bezeichnung der weltweit zusammengefaßten Newsgroups. Der Zugriff erfolgt über ein Client-Programm, den sogenannten Newsreader. Doch nicht alle Newsgroups müssen für Sie zugänglich sein. Ihr Provider bestimmt, welche Sie empfangen dürfen. Diese Ablehnung beruht sich auf Platzgründen oder auch auf den Inhalten diverser Groups. Im Gegensatz zu den kommerziellen Online-Diensten wird hier nicht überwacht, das heißt, die Leser bestimmen den Inhalt der Groups. Daher ist der Inhalt manches Mal recht chaotisch.

PCgo!, Nr. 12/98, S. 187

Verfasser: Andreas
Letzte Änderung: 2011-04-25 14:16


Verbindungsgeräte

Verbindungsgeräte (Brücken, Router, Switches) stellen Verbindungen zwischen Teilnetzen her. Es sind meistens ziemlich teure mehr oder weniger intelligente Geräte, die Datenpakete von einer Quelle über mehrere Teilnetze hinweg zum Ziel leiten.

PC Magazin, Nr. 3/2000, S. 230

Verfasser: Andreas
Letzte Änderung: 2011-04-25 14:16


Wake on LAN

Wird diese Funktion von der Netzwerkkarte und dem PC unterstützt, kann mit einem speziellen Netzwerksignal, der PC ferngesteuert gestartet werden.

PC Magazin, Nr. 12/2000, S. 155

Verfasser: Andreas
Letzte Änderung: 2011-04-25 14:17


WAN

Abk. für Wide Area Network; ein Netzwerk, das sich über mehrere Standorte einer Firma oder eines Instituts verteilt und über langsamere Leitungen verbunden ist.

PC Magazin, Nr. 4/2000, S. 100

Verfasser: Andreas
Letzte Änderung: 2011-04-25 14:18


Warenkorb

Im virtuellen Warenkorb sammelt der Kunde Artikel, die er kaufen möchte. Am Ende bestätigt er den Warenkorb und bekommt eine Rechnung präsentiert. Dann bestätigt er die Bestellung.

PC Magazin, Nr. 12/99, S. 79

Verfasser: Andreas
Letzte Änderung: 2011-04-25 14:18


Web-/FTP-Dienst

Eine Standleitung zum ISP (Internet Service Provider) bindet den Server ins Internet ein.

PC Magazin, Nr. 8/97, S. 207

Verfasser: Andreas
Letzte Änderung: 2011-04-25 14:18


WINS

Der WINS-Dienst (Windows Internet Name Service), der unter NT das Auflösen von Computernamen zu IP-Adressen übernimmt, ist die Microsoft-Spielart von DNS.

PC Magazin, Nr. 4/99, S. 225

Verfasser: Andreas
Letzte Änderung: 2011-04-25 14:19


Workflow

Auch ein neues Modewort, das im Umkreis von Groupware entstanden ist. Workflow bezeichnet den Arbeitsfluß in einem Unternehmen, der natürlich möglichst problemlos verlaufen soll. Damit das so ist, werden die verschiedenen Möglichkeiten einer Groupware eingesetzt, also e-mail, Terminplanung in einem Netzwerk etc. Wichtig ist auch ein Instrument, mit dem genau absehbar ist, in welchem Bearbeitungsstadium sich ein bestimmter Vorgang befindet.

PCgo!, Nr. 4/99, S. 136

Verfasser: Andreas
Letzte Änderung: 2011-04-25 14:19


WWW

WWW steht für World Wide Web, das weltweite Netz von Informationsseiten, die sich mit einem speziellen Programm, dem WWW-Browser, anschauen lassen. Jede Seite kann dabei Text und Verweise enthalten. Klickt man auf einen Verweis, wird die zugehörige Seite geladen. Der Clou: Eine Seite kann irgendwo auf der Welt liegen und die Verweise auf irgendwelche Seiten im WWW zeigen. Damit ist das WWW eine riesige Sammlung von Informationsseiten mit Verweisen auf ähnliche Seiten. Sie können sich vorstellen, daß man Stunden nur mit Klicken und Schauen zubringen kann - wie bei einem Lexikon, nur daß Sie selbst nicht mehr nach verwandten Begriffen suchen müssen sondern suchen lassen.

PCgo!, Nr. 1/99, S. 220

Verfasser: Andreas
Letzte Änderung: 2011-04-25 14:20


X-Post

Crosspost; Nachricht, die gleichzeitig in mehrere Newsgroups gestellt wird.

PC Magazin, Nr. 10/2002, S. 47

Verfasser: Andreas
Letzte Änderung: 2011-04-25 14:20


Zombies

Rechner im Internet, von dem aus Angriffe durchgeführt werden, der aber nichts davon weiß. Wird gern im Zusammenhang mit DoS-Attacken (Denial of Service) eingesetzt, um das Opfer mit möglichst vielen unterschiedlichen Absender-Adressen zu bombadieren. Der Hacker bleibt dadurch länger unentdeckt.

PC Magazin, Nr. 11/2000, S. 72

Verfasser: Andreas
Letzte Änderung: 2011-04-25 14:21


A/D-Wandler

Ein Analog-Digital-Wandler transformiert die elektrische Ladung, die er von den CCD-Elementen erhält, in einen digitalen Signalstrom um, der vom PC interpretiert werden kann.

PC Magazin, Nr. 11/99, S. 146

Verfasser: Andreas
Letzte Änderung: 2011-04-25 14:25


Achsstellung

Mit der Achsstellung wird die Ausrichtung der Punzen von runden Buchstaben bezeichnet. Die Achse kann zum Beispiel diagonal im Buchstaben verlaufen oder senkrecht sein.

PC Magazin Plus, Nr. 12/2000, S. 22

Verfasser: Andreas
Letzte Änderung: 2011-04-25 14:26


Alpha Blending

Einsatz von Alpha-Kanälen zur Kontrolle von Transparenzen. Nebel und nicht vollständig durchsichtige Scheiben benötigen Alpha Blending, um realistisch zu erscheinen.

PC Magazin, Nr. 9/97, S. 116
PC Magazin, Nr. 4/99, S. 98

Verfasser: Andreas
Letzte Änderung: 2011-04-25 14:26


Alpha-Kanal

Graustufenbild, mit dem die Transparenz darunterliegender Flächen gesteuert werden kann. Die Bandbreite reicht von weiß (vollständig durchsichtig) bis schwarz (durchsichtig).

PC Magazin, Nr. 9/97, S. 116
PC Magazin, Nr. 4/99, S. 98

Verfasser: Andreas
Letzte Änderung: 2011-04-25 14:27


Anfasser

Als Anfasser werden die kleinen Punkte bezeichnet, die in Grafikprogrammen bei der Markierung eines Objektes erscheinen. Mit diesen Punkten kann ein Objekt proportional gestreckt, aber auch beliebig in Höhe oder Breite gezerrt werden.

PC Magazin Plus, Nr. 4/2000, S. 26

Verfasser: Andreas
Letzte Änderung: 2011-04-25 14:27


Anti-Aliasing

Glätten des Treppeneffekts bei schrägen und gebogenen Linien, die aus einzelnen Pixeln aufgebaut sind.

PC Magazin, Nr. 9/97, S. 116
PC Magazin, Nr. 4/99, S. 98

Verfasser: Andreas
Letzte Änderung: 2011-04-25 14:27


Atmosphäre

Durch die dazwischen liegenden Luftschichten sehen weiter entfernte Bereiche einer Landschaft blauer und etwas unschärfer aus als näher liegende Bildbereiche.

PC Magazin, Nr. 7/99, S. 203

Verfasser: Andreas
Letzte Änderung: 2011-04-25 14:28


Auflösung

Maß für die Klarheit, Schärfe und Detailfeinheit, die ein Scanner erfassen kann. Die Bildauflösung, manchmal auch als Scanauflösung, Scanrate oder Sampling-Rate bezeichnet, wird in ppi (Pixel per Inch) gemessen, und nicht wie oft fälschlicherweise benutzt, in dpi (Dots per Inch). In dpi wird die Auflösung bei Ausgabegeräten wie etwa Druckern angegeben.

PC Magazin, Nr. 11/99, S. 146


Die Auflösung eines Bilds, das die Grafikkarte ausgibt, wird in Pixel (Bildpunkte) angegeben. Die Auflösung 1024 x 768 besagt, dass horizontal 1024 Bildpunkte und vertikal 768 Bildpunkte angezeigt werden. Herkömmliche Grafikkarten können nur Bilder anzeigen, deren Auflösung durch 8 dividiert werden kann. Aktuelle Grafikkarten im Consumerbereich haben meist eine maximale Auflösung von 1920 x 1200 Pixel.

Quelle: WCM 242, Seite 74

Verfasser: Andreas
Letzte Änderung: 2011-04-25 14:28


B-Splines

BIzier-Splines sind glatt verlaufende Kurven, die durch vorgegebene Stützpunkte definiert werden. Die Kurve läuft nicht unbedingt durch die Stützpunkte. Bei speziellen Splines können an den Stützpunkten auch Tangenten vorgegeben werden, um die Kurve besser an die Wünsche des Benutzers anzupassen.

PC Magazin Plus, Nr. 4/2000, S. 27

Verfasser: Andreas
Letzte Änderung: 2011-04-25 14:29


Backface Culling

Der Grafikchip berechnet aus jeder Perspektive die verdeckten Flächen, die bei der Ausgabe nicht weiter berücksichtigt werden müssen.

PC Magazin, Nr. 4/99, S. 98

Verfasser: Andreas
Letzte Änderung: 2011-04-25 14:33


Bewegungsunschärfe

Bewegt sich ein Objekt schnell an der Filmkamera vorbei oder dreht sich schnell, verschwimmen dessen Umrisse. Diese Bewegungsunschärfe (engl. motion blur) macht Animationen realistischer.

PC Magazin Plus, Nr. 4/2000, S. 27

Verfasser: Andreas
Letzte Änderung: 2011-04-25 14:33


Bilineare Filter

Eine Form des Anti Aliasing, jedoch auf vier (2 x 2) Pixel beschränkt. Bilineare Filter werden bei Texturen verwendet.

PC Magazin, Nr. 4/98, S. 80
PC Magazin, Nr. 4/99, S. 98

Verfasser: Andreas
Letzte Änderung: 2011-04-25 14:33


Bitmap

Bei Bitmaps oder Pixelgrafiken setzt sich das Bild aus Bildpunkten (Pixeln) zusammen. Vorteil: höhere Farbtreue. Zudem lassen sich viele Filter nur auf Pixelgrafiken anwenden.

PC Magazin, Nr. 11/98, S. 152

Verfasser: Andreas
Letzte Änderung: 2011-04-25 14:34


Blocksatz

Der Blocksatz füllt die gesamte Spaltenbreite einer Zeile aus, indem die Wortabstände verändert werden. Passt ein Wort nicht mehr in eine Zeile, so können die Wort- oder Buchstabenzwischenräume etwas verringert werden. Reicht das nicht, so wird das Wort getrennt oder komplett in die nächste Zeile übernommen. In diesem Fall wird der Wortabstand der Vorzeile erweitert. Blocksatz wirkt sehr ruhig auf das Auge des Lesers, kann aber zu großen Wortabständen und somit optischen Lücken führen.

PC Magazin Plus, Nr. 12/2000, S. 22

Verfasser: Andreas
Letzte Änderung: 2011-04-25 14:34


Boolesche Operationen

Erstellung eines neuen Körpers, der sich aus der Addition, Subtraktion oder Teilmenge zweier Körper ergibt.

PC Magazin, Nr. 12/98, S. 160

Verfasser: Andreas
Letzte Änderung: 2011-04-25 14:58


Bump Mapping

Durch Graustufenbilder wird eine Relief-Textur erzeugt. Je dunkler ein Pixel ist, desto stärker scheint das Material an dieser Stelle eingedrückt.

PC Magazin, Nr. 3/99, S. 211
PC Magazin, Nr. 4/99, S. 98

Verfasser: Andreas
Letzte Änderung: 2011-04-25 14:58


Bezierkurve

Ein Verfahren zum Bestimmen von Kurven nach Professor Pierre BIzier. Vier Punkte bestimmen die BIzierkurve: je zwei End- und zwei Kurvenpunkte. Die Form der Kurve ändert sich durch Ziehen an den Ziehpunkten.

PC Magazin, Nr. 11/98, S. 152

Verfasser: Andreas
Letzte Änderung: 2011-04-25 14:59


CCD

Abk. für Charged Coupled Device. CCD bezeichnet die optischen Elemente eines Scanners, die Lichtsignale empfangen und diese in Ladung umwandeln. Diese Lichtsignale stellen die einzelnen Pixel der gescannten Vorlage dar, die der Scanner optisch erfaßt. Die Ladung wird dann mittels geeigneter A/D-Wandler in eine für den PC verständliche Form gebracht (Digitalisierung).

PC Magazin, Nr. 11/99, S. 146

Verfasser: Andreas
Letzte Änderung: 2011-04-25 14:59


Character-Animation

Animation von Körpern. Dazu wird ein Skelett verwendet, das bewegt wird - lesen Sie dazu auch den Abschnitt "Inverse Kinematik".

PC Magazin Plus, Nr. 4/2000, S. 27

Verfasser: Andreas
Letzte Änderung: 2011-04-25 15:00


CIS

Abk. für Contact Image Sensor, Bilderfassung direkt über eine Fotozellen-Leiste ohne vorgeschaltete Optik, ähnlich dem LED-Druck-Verfahren.

PC Magazin, Nr. 9/2000, S. 84

Verfasser: Andreas
Letzte Änderung: 2011-04-25 15:00


Clipart

Das ist die englische Bezeichnung für bereits vorgefertigte und fertige kleine Grafiken.

PC Magazin Plus, Nr. 4/2000, S. 26

Verfasser: Andreas
Letzte Änderung: 2011-04-25 15:00


CMYK

steht für Cyan, Magenta, Yellow und Black. Für den professionellen (Offset-)Druck wird die Datei in diese vier Bestandteile zerlegt, für jede Farbe ein Film gemacht und daraus wiederum die Druckplatten. Die einzelnen Farben werden übereinandergedruckt.

PC Magazin, Nr. 11/98, S. 152

CMYK ist die Abkürzung von "Cyan-Magenta-Yellow-Key", der Bezeichnung für das Farbsystem Im Offset-Druck. In diesem System werden alle anderen Farben aus den vier Grundfarben Cyan, Magenta, Gelb und Schwarz (Key) zusammengestellt.

PC Magazin Plus, Nr. 4/2000, S. 26

 

Verfasser: Andreas
Letzte Änderung: 2011-04-25 15:02


Color Key

Im Gegensatz zum Alpha-Blending ordnet das Color-Key- Verfahren einem Pixel nur die Werte 1 oder 0 (transparent, nicht transparent) zu. Das Fehlen dieser Funktion führt zu Fehlern, die in schwarzen Flächen zutage treten.

PC Magazin, Nr. 4/99, S. 98

Verfasser: Andreas
Letzte Änderung: 2011-04-25 15:02


Darstellung

Zur Darstellung der Objekte stehen meist unterschiedliche Algorithmen und Modi zur Verfügung. Drahtgitter zeigen nur einzelne Kurven und Elemente der Objekte. Hidden Line verbirgt die verdeckten Kanten eines Drahtgittermodells. Phong- und Gouraud-Shading zeigen schon Farben und eignen sich als Vorschau. scanline beachtet Texturen, aber Brechung und Schatten nicht 100-prozentig korrekt. Raytracing ist das Optimum und erzeugt fotorealistische Bilder.

PC Magazin Plus, Nr. 4/2000, S. 27

Verfasser: Andreas
Letzte Änderung: 2011-04-25 15:03


Dichte-Umfang

Der Bereich der meßbaren Tonwerte in einem Bild. Der Dichte-Umfang (auch Tonwertumfang) ist die Differenz zwischen der maximalen und der minimalen Dichte.

PC Magazin, Nr. 7/97, S. 136

Verfasser: Andreas
Letzte Änderung: 2011-04-25 15:03


Dichteumfang

Der Bereich der meßbaren Tonwerte in einem Originalbild. Der Dichteumfang ist die Differenz zwischen der maximalen und minimalen Dichte. Einfacher gesagt, handelt es sich um den dunkelsten und hellsten Punkt einer Vorlage.

PC Magazin, Nr. 11/99, S. 146

Verfasser: Andreas
Letzte Änderung: 2011-04-25 15:03


Dickte

Dickte ist die Bezeichnung für die Breite eines Buchstabens. Der freie Raum rund um den Buchstaben außerhalb des Schriftbildes bildet das Fleisch, der freie Raum innerhalb des Buchstabens wird Punze genannt.

PC Magazin Plus, Nr. 12/2000, S. 22

 

Verfasser: Andreas
Letzte Änderung: 2011-04-25 15:04


Diffuses Licht

Gleichmäßig von der Oberfläche der Szene zurückgeworfenes Licht, das aus jedem Blickwinkel zu sehen ist. Einsatzgebiet: matte Objekte.

PC Magazin, Nr. 7/99, S. 203

Verfasser: Andreas
Letzte Änderung: 2011-04-25 15:04


Direct3D

Diese Anwendungsschnittstelle (API) für Windows ist Bestandteil von DirectX. Derzeit ist für Windows 95 die Version 6.1 und für Windows NT Direct3D 3.0 aktuell.

PC Magazin, Nr. 4/99, S. 98

Verfasser: Andreas
Letzte Änderung: 2011-04-25 15:04


Distortion

Verzerrung

PC Magazin, Nr. 12/97, S. 144

Verfasser: Andreas
Letzte Änderung: 2011-04-25 15:05


Dithering

Damit können High-Color-Bilder mit einer Farbtiefe von 16 oder 24 Bit auch in einer geringeren Farbtiefe (8 Bit) dargestellt werden.

PC Magazin, Nr. 4/99, S. 98

Verfasser: Andreas
Letzte Änderung: 2011-04-25 15:05


DPI

Abk. für "Dots per Inch", also Punkte pro Zoll (1 Zoll = 2,54 cm) und gibt die Auflösung eines Bildes wieder. Diese Angabe ist u.a. als Information für den Drucker notwendig, auf dem ein Bild ausgedruckt werden soll. Je höher der dpi-Wert, desto feiner und besser (und auch größer) ist das Bild.

PC Magazin Plus, Nr. 4/2000, S. 26

In dieser Einheit geben Hersteller die Auflösung von Scannern und Druckern an. Der Wert zeigt,wie viele (Tinten-)Punkte ein Gerät auf einer 2,54 Zentimeter langen
Linie abbilden kann: Je höher der Wert ist, desto schärfer und detaillierter wird das Ergebnis. Bei Scannern sind dpi als Maß eigentlich falsch, da die Geräte keine Tinten-, sondern Bildpunkte (Pixel) produzieren. Richtiger wäre die Einheit ppi (Pixel per Inch) für die Pixeldichte. Alternativ zur Auflösung in dpi/ppi nennen Scanner-Hersteller auch die Rasterweite lpi (Lines per Inch). Sie sollte immer etwa halb so groß sein wie die Auflösung in ppi.

PC-Welt 7/2011, S. 26

Verfasser: Andreas
Letzte Änderung: 2011-06-05 13:30


Dreieckskörper

Zusammengesetzte Dreiecksflächen, die zusammen einen Volumenkörper im Raum bilden.

PC Magazin, Nr. 3/99, S. 211

Verfasser: Andreas
Letzte Änderung: 2011-04-25 15:06


DXF

Von Autodesk entwickeltes und am weitesten verbreitetes 3D-Dateiaustauschformat.

PC Magazin, Nr. 12/98, S. 160

Verfasser: Andreas
Letzte Änderung: 2011-04-25 15:06


Ebenen

Größere Grafiken mit vielen Elementen setzen sich meist aus mehreren, übereinandergelegten Ebenen zusammen. Wie in einem Haus kann jede Ebene einzeln "begangen" werden, das heißt, die Ebenen und die darin enthaltenen Objekte lassen sich separat bearbeiten. Das erleichtert die Arbeit deutlich, gerade bei Grafiken mit vielen Elementen.

PC Magazin Plus, Nr. 4/2000, S. 26

Verfasser: Andreas
Letzte Änderung: 2011-04-25 15:06


Einzug

Der Einzug ist eine oft verwendete Variante der Absatzmarkierung am Absatzanfang. Dabei wird die Anfangszeile eines Absatzes im Text um einen bestimmten Wert eingezogen.

PC Magazin Plus, Nr. 12/2000, S. 22

Verfasser: Andreas
Letzte Änderung: 2011-04-25 15:07


EMBM

Abk. für Environmental Mapped Bump Mapping: Insgesamt interagieren drei unterschiedliche Texturen und ermöglichen eine fast perfekte Illusion von Oberflächen wie zum Beispiel Wasser.

PC Magazin, Nr. 3/2000, S. 102

Verfasser: Andreas
Letzte Änderung: 2011-04-25 15:07


Enviroment Mapping

Spiegelungen der Umgebung auf die Oberfläche eines Objekts.

PC Magazin, Nr. 4/99, S. 98

Verfasser: Andreas
Letzte Änderung: 2011-04-25 15:07


Extrudieren

Aufziehen eines 3D-Flächenobjekts aus einer 3D-Linie oder einem 2D-Poligon.

PC Magazin, Nr. 3/99, S. 211

Verfasser: Andreas
Letzte Änderung: 2011-04-25 15:08


Extrusion

Das Herausziehen von Punkten aus einer zweidimensionalen Grafik verleiht dieser eine dreidimensionale, räumliche Wirkung

PC Magazin, Nr. 11/98, S. 152

Verfasser: Andreas
Letzte Änderung: 2011-04-25 15:08


Farbstich

Farbungleichgewicht in einem Bild. Das Bild sieht aus, als betrachte man es durch einen farbigen Filter. Anhand eines Histogramms läßt sich ein Farbstich mit der Abweichung vom Mittelwert eines neutralen Graufelds messen.

PC Magazin, Nr. 11/99, S. 146

Verfasser: Andreas
Letzte Änderung: 2011-04-25 15:09


Farbtiefe

Gibt an, mit wie viel Bits die Farbinformation eines Bildpunkts gespeichert wird. 4 Bits ergeben 16 Farben, 8 Bit 256 Farben, 24 Bit 16,7 Millionen etc.

PC Magazin, Nr. 9/2000, S. 84

Verfasser: Andreas
Letzte Änderung: 2011-04-25 15:09


Field rendering

Bei Video werden zwei Halbbilder (fields) bei der Aufzeichnung verwendet, die abwechselnd angezeigt werden. Das erste Halbbild enthält die geraden Zeilen, das zweite die ungeraden. Raytracer können diese Halbbilder für Videoaufzeichnung erzeugen.

PC Magazin Plus, Nr. 4/2000, S. 27

Verfasser: Andreas
Letzte Änderung: 2011-04-25 15:09


Flat Shading

Einfaches Verfahren zur plastischen Darstellung von 3D-Objekten. Die Polygone eines Körpers sind einfarbig gefüllt und weisen über ihre Fläche eine konstante Farbintensität auf.

PC Magazin, Nr. 4/98, S. 80
PC Magazin, Nr. 4/99, S. 98

Verfasser: Andreas
Letzte Änderung: 2011-04-25 15:10


Flattersatz

Als Flattersatz bezeichnet man Text, in dem die Textspalte bis zum Spaltenrand mit Text ausgefüllt wird. Stoßen die Wörter an den Spaltenrand, erfolgt ein Umbruch der Wörter in die nächste Zeile. Dies geschieht meist ohne Trennung. Dadurch fallen die Zeilenlängen unterschiedlich aus. Flattersatz kann von links nach rechts, von rechts nach links oder zentriert, das heißt an der Mittelachse der Seite, orientiert laufen.

PC Magazin Plus, Nr. 12/2000, S. 22

Verfasser: Andreas
Letzte Änderung: 2011-04-25 15:10


Fogging

Begriff beschreibt die Fähigkeit zur Darstellung transparenter Objekte (vergleiche Alpha Blending).

PC Magazin, Nr. 9/97, S. 116
PC Magazin, Nr. 4/99, S. 98

Verfasser: Andreas
Letzte Änderung: 2011-04-25 15:10


Font

Anderes Wort für Schriftart

PC Magazin, Nr. 12/98, S. 224

Verfasser: Andreas
Letzte Änderung: 2011-04-25 15:11


Formsatz

Als Formsatz bezeichnet man Text, der eine bestimmte Form, zum Beispiel ein Herz, bildet und als grafisches Element eingesetz wird. Formsatz ist aber auch ein Text in Bogen- oder Rundanordnung.

PC Magazin Plus, Nr. 12/2000, S. 22

Verfasser: Andreas
Letzte Änderung: 2011-04-25 15:11


Four-up-Funktion

Four up ist die in 3D-Programmen übliche Darstellung in vier Fenstern in isometrischer (frontal, links, rechts oben und unten) oder perspektivischer Sicht zu sehen.

PC Magazin, Nr. 12/98, S. 160

Verfasser: Andreas
Letzte Änderung: 2011-04-25 15:11


Frame Buffer

Teil des Grafikkartenspeichers, in dem das Bild aufgebaut wird, das später auf dem Bildschirm erscheint.

PC Magazin, Nr. 4/99, S. 98

Verfasser: Andreas
Letzte Änderung: 2011-04-25 15:12


Gammakorrektur

Dieser Begriff bezieht sich auf die nicht-lineare Reproduktion von Helligkeit bzw. Intensität. Das menschliche Auge reagiert bei hoher Beleuchtungsstärke weniger auf Helligkeitsschwankungen als bei schwacher Beleuchtung. Monitore verhalten sich genau umgekehrt. Durch die Gammakorrektur können die Unterschiede zwischen Auge und Bilderfassung, Anzeige- oder Ausgabegeräten ausgeglichen werden.

PC Magazin, Nr. 7/97, S. 136

Verfasser: Andreas
Letzte Änderung: 2011-04-25 15:12


Gemeine

Als Gemeine bezeichnet man in der Typographie die Kleinbuchstaben des Alphabets.

PC Magazin Plus, Nr. 12/2000, S. 22

Verfasser: Andreas
Letzte Änderung: 2011-04-25 15:12


Glanzlicht

Der hellste Lichtpunkt auf einem Objekt, das ungleichmäßig beleuchtet wird.

PC Magazin, Nr. 7/99, S. 203

Verfasser: Andreas
Letzte Änderung: 2011-04-25 15:13


Glätten

Verfahren, um durch Interpolation den gefürchteten Treppeneffekt - eine schräge Kante sieht nicht gerade, sondern wie eine Treppe aus - abzumildern oder zu unterdrücken.

PC Magazin, Nr. 7/99, S. 203

Verfasser: Andreas
Letzte Änderung: 2011-04-25 15:13


Gouraud Shading

Im Gegensatz zum Flat Shading besitzen die Flächen beim Gouraud Shading lineare Farbverläufe. Die Farbwerte berechnen sich aus den Eckfarbwerten der Polygome. Damit wirken 3D-Objekte sehr plastisch, störende Kanten sind kaum zu erkennen.

PC Magazin, Nr. 4/99, S. 98
PC Magazin, Nr. 9/97, S. 116

Verfasser: Andreas
Letzte Änderung: 2011-04-25 15:14


Grauwert

Der Grauwert einer Seite ergibt sich aus Schriftschnitt, Laufweite und Zeilenabstand eines Textes. Je gleichmäßiger der Grauwert ist, desto besser fallen besonders hervorgehobene Zeichen oder Wörter auf. Ist der Zeilenabstand zu gering, so wirkt das Schriftbild des Textes dunkel; ist er zu groß, wirkt das Schriftbild zu hell. Ein idealer Grauwert ist erreicht, wenn alle Kriterien der Schrift optimal miteinander harmonieren.

PC Magazin Plus, Nr. 12/2000, S. 22

Verfasser: Andreas
Letzte Änderung: 2011-04-25 15:14


Grundkörper

Geometrische Grundformen, die als Ausgangsform für zusammengesetzte Objekte dienen. In der Regel stellen 3D- Programme zumindest Kugel, Zylinder, Pyramide, Kegel oder Torus zur Verfügung.

PC Magazin, Nr. 12/98, S. 160

Verfasser: Andreas
Letzte Änderung: 2011-04-25 15:16


Hierarchie

Verkettung einzelner Körper und Objekte zu einem System.

PC Magazin, Nr. 3/99, S. 211

 

Verfasser: Andreas
Letzte Änderung: 2011-04-25 15:16


Histogramm

Kurvendiagramm, das die Verteilung von Pixelwerten über den gesamten Tonwertumfang und die relative Häufigkeit jdes einzelnen Tonwerts anzeigt. Scanner weisen jedem Bildpunkt Werte für die Helligkeit, den Kontrast und Schwarz oder RGB-Farbwerte zu. Reines Weiß wird durch den Wert 0 (Farbstufen) wiedergegeben, während reines Schwarz den Wert 255 hat.

PC Magazin, Nr. 11/99, S. 146

Verfasser: Andreas
Letzte Änderung: 2011-04-25 15:16


Höhenzuweisung über Graustufen

Terragen setzt, ähnlich wie andere Landschaftsgeneratoren, den Graustufenbereich zwischen Schwarz und Weiß (höchster Punkt) in unterschiedliche Höhen um. Die 8 Bit Farbtiefe ergeben 256 mögliche Abstufungen.

PC Magazin, Nr. 7/99, S. 203

Verfasser: Andreas
Letzte Änderung: 2011-04-25 15:17


ICD

Der Installable Client Driver ist ein vollwertiger OpenGL- Treiber, den das offizielle OpenGL-Konsortium mit allen OpenGL-Funktionen zertifiziert hat.

PC Magazin, Nr. 4/99, S. 98

Verfasser: Andreas
Letzte Änderung: 2011-04-25 15:17


Icon

Ein Icon ist ein Symbol oder Piktogramm, eine sinnbildliche grafische Darstellung von Objekten. Icons werden zur Symbolisierung von Anwendungsprogrammen innerhalb von Windows eingesetzt. Ein Doppelklick auf ein Icon startet das zugehörige Anwendungsprogramm.

PCgo!, Nr. 11/98, S. 96

Verfasser: Andreas
Letzte Änderung: 2011-04-25 15:17


Interpolation

Das Erhöhen der Anzahl von Pixeln in einem Bild bzw. das Auffüllen fehlender Farbinformationen für vorhandene Pixel durch Bildung der Mittelwerte für die umgebenden Pixel.

PC Magazin, Nr. 7/97, S. 136

Verfasser: Andreas
Letzte Änderung: 2011-04-25 15:18


Inverse Kinematik

Hierarchische Sonderform, die etwa den korrekten Bewegungsablauf eines menschlichen Körpers ermöglicht.

PC Magazin, Nr. 3/99, S. 211

Verfasser: Andreas
Letzte Änderung: 2011-04-25 15:18


Invertieren

In der Farbbearbeitung wird das Invertieren häufig zum Erzeugen spezieller Effekte verwendet. Aus einem Bild, dem Positiv, wird durch Farbumkehrung ein Negativ erzeugt. Weiße Punkte werden schwarz und umgekehrt.

PC Magazin Plus, Nr. 4/2000, S. 26

Verfasser: Andreas
Letzte Änderung: 2011-04-25 15:18


IT8

Eine standardisierte Farbvorlage zur Kalibrierung von Ein- und Ausgabegeräten.

PC Magazin, Nr. 11/99, S. 146

Verfasser: Andreas
Letzte Änderung: 2011-04-25 15:19


Kamera

Über die Kamerasicht betrachten Sie Bereiche der Szene. Die Kamera wirft die Szene kegelförmig auf eine zweidimensionale Fläche.

PC Magazin, Nr. 7/99, S. 203

Verfasser: Andreas
Letzte Änderung: 2011-04-25 15:19


Kamerakoordinaten

Die Koordinaten der Kamera stellen Objekte im dreidimensionalen Raum dar.

PC Magazin, Nr. 7/99, S. 203

Verfasser: Andreas
Letzte Änderung: 2011-04-25 15:19


Kapitälchen

Als Kapitälchen bezeichnet man Buchstaben in Form von Versalien mit der Höhe von Gemeinen einer Schrift.

PC Magazin Plus, Nr. 12/2000, S. 23

Verfasser: Andreas
Letzte Änderung: 2011-04-25 15:20


Kerning

Buchstabenabstand von Buchstabenpaaren

PC Magazin, Nr. 11/98, S. 152

Verfasser: Andreas
Letzte Änderung: 2011-04-25 15:20


Keyframe

Schlüsselbild einer Animation. Zustand und Position von Objekten werden zu diesem Zeitpunkt definiert. Die Zwischenstadien berechnet das Programm automatisch.

PC Magazin, Nr. 3/99, S. 211

Verfasser: Andreas
Letzte Änderung: 2011-04-25 15:20


Klonen

Klonen bedeutet das Kopieren eines Bildteils oder gesamten Bildes, so dass diese Stücke mit der Maus als Pinsel wieder beliebig aufgetragen werden können. Gut als Retuschefunktion zu verwenden.

PC Magazin Plus, Nr. 4/2000, S. 26

Verfasser: Andreas
Letzte Änderung: 2011-04-25 15:21


Knoten

Anfasser, an dem sich Objekte ändern lassen.

PC Magazin, Nr. 12/98, S. 224

Verfasser: Andreas
Letzte Änderung: 2011-04-25 15:21


Kompression

Wird eine Grafik komprimiert, werden die gespeicherten Daten durch bestimmte Algorithmen verdichtet, so dass die Übertragungszeit verkürzt und der Speicherplatz verringert wird. Dies kann entweder verlustfrei oder mit Datenreduktion geschehen; nicht relevante Daten werden dann einfach entfernt. Diese Verringerung wird auch Komprimierung genannt.

PC Magazin Plus, Nr. 4/2000, S. 26

Verfasser: Andreas
Letzte Änderung: 2011-04-25 15:21


Kompressionsrate

Die Kompressionsrate gibt an, wie stark die Bildinformationen "gestaucht" werden. Bei den Digi-Kameras werden die Bilder meist im JPG-Format gesichert. Dieses Format erlaubt eine Komprimierung der Bildinformationen in verschiedenen Stufen. Eine höhere Stufe bedeutet weniger Speicherplatzbedarf, eine geringere Stufe mehr Speicherbedarf. Die Kompressionsrate legt dann auch die Bildqualität fest. Das JPG-Format können Sie in den meisten Bildverarbeitungsprogrammen verwenden.

PCgo!, Nr. 1/99, S. 187

Verfasser: Andreas
Letzte Änderung: 2011-04-25 15:22


Komprimierungsverfahren

Man unterscheidet zwischen dem Non-Lossy- (verlustfreie Komprimierung der Bilddaten) und dem Lossy-Verfahren. Bei letzterem geht ein Teil der Daten verloren. Häufig wird JPEG (Joint Photographic Experts Group) eingesetzt. Hierbei wird die Datenreduzierung durch Verkürzung des Computercodes erreicht.

PC Magazin, Nr. 7/97, S. 136

Verfasser: Andreas
Letzte Änderung: 2011-04-25 15:22


Kontrast

Der Kontrast bezeichnet den Helligkeitsunterschied zwischen dunklen und hellen Bildstellen.

PC Magazin Plus, Nr. 4/2000, S. 26

Verfasser: Andreas
Letzte Änderung: 2011-04-25 15:22


Konturensatz

Text, der sich in einem bestimmten Abstand um ein Objekt "schmiegt", beispielsweise an den Konturen einer freigestellten Person.

PC Magazin, Nr. 11/98, S. 152

Verfasser: Andreas
Letzte Änderung: 2011-04-25 15:23


Laufweite

Die Laufweite ist die Länge einer Schrift. Sie wird durch den Abstand der einzelnen Buchstaben definiert. Dabei ergibt sich der Abstand aus der Dickte der einzelnen Zeichen, also aus der Vor- und Nachbreite der einzelnen Buchstaben.

PC Magazin Plus, Nr. 12/2000, S. 23

Verfasser: Andreas
Letzte Änderung: 2011-04-25 15:23


Layer

Ebene oder Schicht in Software-Programmen. Layer werden wie Folien übereinandergelegt. Oft lassen sich Layer unsichtbar machen oder deaktivieren. Layer sind für das Zusammenfügen unterschiedlicher Ausgangsdateien ein unersetzliches Hilfsmittel.

PC Magazin, Nr. 7/99, S. 203

Verfasser: Andreas
Letzte Änderung: 2011-04-25 15:23


Lens flares

An den Linsen von Foto- und Filmkameras entstehen durch kleine Fehler Spiegelungen und bunte Kreise. Diese sogenannten Lens frames können Raytracer auch berechnen.

PC Magazin Plus, Nr. 4/2000, S. 28

Verfasser: Andreas
Letzte Änderung: 2011-04-25 15:24


Lichtbrechung

Wenn ein Lichtstrahl aus einem Medium in ein anderes übergeht (z.B. von Luft in Wasser), ändert er seinen Winkel. Gute Raytracing-Programme berücksichtigen dieses Phänomen bei der Bildbrechung.

PC Magazin, Nr. 12/98, S. 160

Verfasser: Andreas
Letzte Änderung: 2011-04-25 15:24


Lichter

Raytracer bieten unterschiedliche Lichtquellen an. Die üblichen sind: Punkt-, Spot und paralleles Licht. Seltener sind Linien- und Flächenlichter. Der Benutzer kann dann noch Helligkeit, Farbe und Abnahme bestimmen. Einige Programme bieten auch die Fähigkeit, Lichtern ein Bild zuzuordnen, das dann wie ein Dia projiziert wird.

PC Magazin Plus, Nr. 4/2000, S. 28

Verfasser: Andreas
Letzte Änderung: 2011-04-25 15:24


Mapping

Anordnung und Ausrichtung eines Materials auf einem Objekt.

PC Magazin, Nr. 12/98, S. 160

Verfasser: Andreas
Letzte Änderung: 2011-04-25 15:25


Material

Das Material bestimmt das Aussehen eines Körpers. Hiermit werden Farbe, Glanz, Transparenz, Reflexion und etliches anderes festgelegt. Meist bestimmt man im Material auch die zu verwendenden Texturen für die Körper-Oberfläche.

PC Magazin Plus, Nr. 4/2000, S. 28

Verfasser: Andreas
Letzte Änderung: 2011-04-25 15:25


MCD

Der sogenannte Mini Client Driver bietet einen eingeschränkten OpenGL-Funktionsumfang.

PC Magazin, Nr. 4/99, S. 98

Verfasser: Andreas
Letzte Änderung: 2011-04-25 15:26


Mesh

Bezeichnung für das Flächennetz eines 3D-Körpers.

PC Magazin, Nr. 12/98, S. 160

Verfasser: Andreas
Letzte Änderung: 2011-04-25 15:26


MIP Mapping

Je nach z-Koordinate eines Objekts in einem 3D-Panorama können Texturen verschiedener Detailschärfe eingesetzt werden. MIP Mapping stellt dazu Texturen unterschiedlicher Größen in einem speziellen Speicherbereich bereit.

PC Magazin, Nr. 9/97, S. 116
PC Magazin, Nr. 4/99, S. 98

Verfasser: Andreas
Letzte Änderung: 2011-04-25 15:27


Moire

Sichtbar störende Muster in reproduzierten Bildern, die durch Fotografieren und erneutes Rastern eines gedruckt vorliegenden Rasterbildes, das Ändern der Größe eines Rasterbildes in einer Anwendung, falsche Rasterwinkel für den Prozeßfarbdruck oder Registerfehler im Vierfarbdruck entstehen.

PC Magazin, Nr. 7/97, S. 136

Verfasser: Andreas
Letzte Änderung: 2011-04-25 15:27


MTF

Abk. für Modulations-Transfer-Funktion. Ein von Hewlett-Packard entwickeltes Testmuster, das anhand der Scanzeile und -spalte die Schärfe eines Scanners ermittelt. Dieses von Fachleuten anerkannte Verfahren benutzt ein Testbild mit verschiedenen feinen Linienmustern.

PC Magazin, Nr. 11/99, S. 146

Verfasser: Andreas
Letzte Änderung: 2011-04-25 15:28


Nebelmaterial

Material, das Objekte und Licht in einem Nebelobjekt je nach eingestellter Halblichtstrecke entsprechend diffus darstellt.

PC Magazin, Nr. 3/99, S. 211

Verfasser: Andreas
Letzte Änderung: 2011-04-25 15:28


NURBS

Die Abkürzung steht für Non-uniform rational b-splines und bedeutet "dreidimensionales Netz, das von nicht gleichmäßig verteilten B-Splines bestimmt wird und einen Körper beschreibt". Die einzelnen Punkte der B-Splines können beliebig verschoben werden. Sie erzeugen ein Objekt, das fließende Formen besitzt. NURBS sind gut für die Modellierung organischer Körper geeignet.

PC Magazin Plus, Nr. 4/2000, S. 28

Verfasser: Andreas
Letzte Änderung: 2011-04-25 15:28


Opazität

Lichtundurchlässigkeit einer Farbschicht, errechnet sich aus dem Quotienten aus der Menge des auftreffenden Lichts und der Menge des reflektierten (bei transparenten Vorlagen des durchgelassenen) Lichts.

PC Magazin, Nr. 9/2000, S. 84

Verfasser: Andreas
Letzte Änderung: 2011-04-25 15:29


Partikelsystem

Um Phänomene wie Rauch, Wasser und Feuer zu simulieren, gibt es Partikelsysteme. Die Partikel werden Objekten wie etwa Lichter zugewiesen. Die Bewegung der einzelnen Partikel übernehmen dann Funktionen wie Wind oder Turbulenz.

PCgo! Nr. 4/99, S. 31

Verfasser: Andreas
Letzte Änderung: 2011-04-25 15:29


Perspective Correction

Dieses Verfahren vermeidet Bildfehler, die bei perspektivischen Anpassungen von Texturen entstehen.

PC Magazin, Nr. 4/99, S. 98

Verfasser: Andreas
Letzte Änderung: 2011-04-25 15:29


Perspektive

Normalerweise wird zur Bildberechnung die Zentralprojektion verwendet. Sie entspricht dem tatsächlichen Verhalten von Kameraobjektiven. Je kürzer die Brennweite, um so verzerrter erscheinen die Objekte. Andere Perspektiven wie Parallelprojektion findet man in den meisten Programmen.

PC Magazin Plus, Nr. 4/2000, S. 28

Verfasser: Andreas
Letzte Änderung: 2011-04-25 15:30


Pfad

Summe der Knotenpunkte

PC Magazin, Nr. 12/98, S. 224

Verfasser: Andreas
Letzte Änderung: 2011-04-25 15:30


Phong Shading

Bei dieser Darstellung von 3D-Objekten wird der Farbwert eines jeden Pixels in einem Polygon einzeln berechnet. Die Qualität der Darstellung ist exzellent, jedoch sehr rechenintensiv.

PC Magazin, Nr. 4/98, S. 80
PC Magazin, Nr. 4/99, S. 98

Verfasser: Andreas
Letzte Änderung: 2011-04-25 15:31


Pixel

Ein Pixel ist ein einzelner Punkt. Das kann ein Punkt auf dem Bildschirm oder auch auf einem Ausdruck sein. Ein Pixel ist dabei wie ein Atom: Es ist nicht weiter teil-, verkleiner- oder vergrößerbar. Wenn man mit einer festgelegten Auflösung wie 300 dpi scannt, erhält man ein Bild mit einer vorgegebenen Anzahl von Pixeln in der Breite und Höhe. Jedes Pixel kann dann schwarz oder weiß sein. Ein OCR-Programm muß dann anhand dieser Pixel ermitteln, um welchen Buchstaben oder Zeichen es sich handelt.

PCgo!, Nr. 7/98, S. 76

Verfasser: Andreas
Letzte Änderung: 2011-04-25 15:31


pixelorientiert

Pixelorientiert, (=bitmaporientiert) bedeutet, daß ein Bild nicht aus Kurven und Linien, sondern aus einzelnen Bildpunkten (Pixeln) zusammengesetzt wird. Jeder einzelne Bildpunkt kann separat angesteuert und damit manipuliert werden. Sämtliche Bildbearbeitungsprogramme arbeiten pixelorientiert. Bekannte Vertreter sind "Adobe Photoshop", "Micrografx Picture Publisher" oder "Corel Photo Paint". Pixelorientiert sind auch reine Malprogramme wie "Painter" und das Windows-Zubehör "Paintbrush".

PCgo!, Nr. 10/98, S. 57

Verfasser: Andreas
Letzte Änderung: 2011-04-25 15:31


PlugIns

Viele Programme bieten eine Schnittstelle für PlugIns, mit der etwa Module zur Generierung von Haaren eingebunden werden. Einige gehen noch weiter und bieten eine eigene Programmiersprache.

PC Magazin Plus, Nr. 4/2000, S. 28

 

Verfasser: Andreas
Letzte Änderung: 2011-04-25 15:32


Polygon

Das Polygon ist die Verbindung einzelner Raumpunkte mit Kanten. So setzt sich ein Quader aus sechs Polygonen (=Seiten) mit insgesamt 24 Raumpunkten und ebenso vielen Kanten zusammen.

PC Magazin, Nr. 3/99, S. 211

Verfasser: Andreas
Letzte Änderung: 2011-04-25 15:32


Prozedurale Texturen

Mathematisch generierte Materialien, die durch Parameteränderung animiert werden können (etwa Wasser, Feuer, Rauch).

PC Magazin, Nr. 3/99, S. 211

Verfasser: Andreas
Letzte Änderung: 2011-04-25 15:33


Punkt

Entweder anderes Wort für Bildpunkt (=Pixel) oder Größenangabe: 1 (Didot-)Punkt = 0,375 mm.

PC Magazin, Nr. 12/98, S. 224

Verfasser: Andreas
Letzte Änderung: 2011-04-25 15:33


Punze

Als Punze bezeichnet man den freien Raum innerhalb eines Buchstabens.

PC Magazin Plus, Nr. 12/2000, S. 23

Verfasser: Andreas
Letzte Änderung: 2011-04-25 15:34


Radiosity

Das Beleuchtungsmodell berücksichtigt neben den Lichtstrahlen des Raytracing auch die unterschiedlichen Leuchteigenschaften von Oberflächen.

PC Magazin, Nr. 3/2000, S. 102

Verfasser: Andreas
Letzte Änderung: 2011-04-25 15:34


Rastergrafik

Eine Rastergrafik, auch Bitmap-Grafik genannt, stzt sich aus vielen einzelnen Punkten (Pixel) zusammen, die das Bild als Gesamterscheinung in einem imaginären Raster horizontal und vertikal definieren. Diese Pixel sind in Bits zusammengefaßt, die die letztendliche Größe des Bildes ausmachen. Je nach Farbgebung des Bildes kann das nur ein Bit sein, etwa bei Schwarz-Weiß-Bildern, bei True-Color-Bildern erhält das Bild eine Farbtiefe von 24 Bit. Da eine Rastergrafik aus einzelnen Bildpunkten zusammengestzt ist, kann das Bild nicht ohne Qualitätsverluste unbegrenzt vergrößert werden. Ein bekanntes Merkmal bei zu groß gezogenen Rasterbildern ist der sogenannte Moire-Effekt. Bekannte Formate sind beispielsweise JPEG, BMP, GIF und TIFF.

PC Magazin Plus, Nr. 4/2000, S. 26

Verfasser: Andreas
Letzte Änderung: 2011-04-25 15:34


raw-Format

raw ist ein flexibles Dateiformat für den Austausch von Dokumenten zwischen Programmen und Plattformen. Jedes Pixel wird durch 8 Byte beschrieben, wobei jedes Byte wiederum aus 8 Bit besteht. 0 entspricht Schwarz, 255 Weiß.

PC Magazin, Nr. 7/99, S. 203

Verfasser: Andreas
Letzte Änderung: 2011-04-25 15:35


Raytracer

Raytracer sind Programme, die nach dem gleichnamigen Verfahren Bilder berechnen. Mit diesem Verfahren lassen sich fotorealistische Bilder berechnen. Die Lichtstrahlen werden dabei "rückwärts" berechnet, daher der deutsche Name Strahlrückverfolgung. Die Raytracing- Methode berechnet physikalisch korrekte Schatten, Spiegelungen, Transparenzen und Brechungen.

PCgo! Nr. 4/99, S. 31

Verfasser: Andreas
Letzte Änderung: 2011-04-25 15:35


Raytracing

bedeutet Strahlverfolgung; Bildberechnung, bei der ein virtueller Lichtstrahl von einer virtuellen Kamera auf eine 3D-Szene projeziert wird, um Oberflächengestaltung und Sichtbarkeit zu ermitteln. Die Berechnung ist sehr zeit- und rechenintensiv.

PC Magazin, Nr. 12/98, S. 160
PC Magazin, Nr. 7/88, S. 203

Verfasser: Andreas
Letzte Änderung: 2011-04-25 15:35


Register

Als Register bezeichnet man im Druck die gemeinsame Grundlinie von Zeilen in nebeneinander liegenden Spalten. So ergibt sich im Gesamtbild einer Seite eine optische Harmonie im Text.

PC Magazin Plus, Nr. 12/2000, S. 23

Verfasser: Andreas
Letzte Änderung: 2011-04-25 15:36


Render Engine

Der 3D-Darstellungsteil, der aus 3D-Objekten die zweidimensionalen Abbilder erzeugt, die die Grafikkarte auf den Bildschirm ausgibt.

PC Magazin, Nr. 4/98, S. 80
PC Magazin, Nr. 4/99, S. 98

Verfasser: Andreas
Letzte Änderung: 2011-04-25 15:36


Rendering

Berechnung eines Bildes unabhängig vom verwendeten Algorithmus - lesen Sie dazu die Abschnitte Raytracing und Shading.

PC Magazin Plus, Nr. 4/2000, S. 29

Verfasser: Andreas
Letzte Änderung: 2011-04-25 15:36


Rendern

Die Informationen eines 3D-Modells werden in ein zweidimensionales Bild umgesetzt.

PC Magazin, Nr. 7/99, S. 203

Verfasser: Andreas
Letzte Änderung: 2011-04-25 15:37


RGB

RGB steht für die drei Grundfarben Rot, Grün und Blau. Bei der RGB Übertragung werden die Farbinformationen der Grudfarben getrennt voneinander zur Quelle geleitet. Die Verluste sind gering. Neben YUV und DVI die beste Übertragungstechnik. Komplementäres Farbsystem, mit dem einerseits das menschliche Auge und andererseits Monitore und Scanner arbeiten. Die Farben werden druch Hinzufügen der Grundfarben Rot, Grün und Blau erzeugt, alle drei zusammen ergeben Weiß.

PC Magazin, Nr. 9/2000, S. 84

Verfasser: Andreas
Letzte Änderung: 2011-04-25 15:37


Schrift

Schrift bildet die Grundlage der Typographie. Dabei gibt es mehrere zehntausend verschiedene Schriftarten. Es gibt verschiedene Ansätze, diese vielen Schriften zu kategorisieren.

PC Magazin Plus, Nr. 12/2000, S. 23

Verfasser: Andreas
Letzte Änderung: 2011-04-25 15:38


Schriftfamilien

In einer Schriftgruppe gibt es so genannte Schriftfamilien. Diese Familien setzen sich aus Schriftformen zusammen, die aus einem einzigen Schriftentwurf entstanden sind. Eine Schriftfamilie besteht aus Schriftformen, die in der Stärke, Breite oder Lage variieren. Allein mit einer Schriftfamilie lassen sich sehr viele verschiedene Effekte im Text erzeugen, ohne dass es zu einem Schriftenwirrwarr kommt.

PC Magazin Plus, Nr. 12/2000, S. 23

Verfasser: Andreas
Letzte Änderung: 2011-04-25 15:38


Schriftgrad

Der Schriftgrad ist die Höhe eines Buchstabens von der Oberkante ab bis einschließlich zum Abschluss der Unterkante. Dieser Abstand wird auch als Schriftkegel bezeichnet.

PC Magazin Plus, Nr. 12/2000, S. 23

Verfasser: Andreas
Letzte Änderung: 2011-04-25 15:38


Schriftgrundlinie

Jeder Buchstabe einer Schriftfamilie hat ein Merkmal mit den anderen Buchstaben der Familie gemeinsam: die sogenannte Schriftgrundlinie. Sie ist als Grenzlinie zwischen Oberhöhe und Unterlänge des einzelnen Buchstabens fest definiert, so dass alle Buchstaben einer Schriftart auf einer Linie liegen und so ein gerades Zeilenbild ergeben. Dabei können die Breite und die Höhe der Buchstaben in den Schriftfamilien durchaus variieren, die Grundlinie bleibt immer gleich. Tatsächlich stehen aber nicht alle Buchstaben immer auf einer Linie. Falls erforderlich, werden bestimmte Buchstaben etwas unter diese Linie gesetzt, um für das Auge nicht als zu weit oben stehend erkannt zu werden.

PC Magazin Plus, Nr. 12/2000, S. 23

Verfasser: Andreas
Letzte Änderung: 2011-04-25 15:39


Schriftlinie

"Unterkante" der Buchstaben, die weder höher noch tiefer gesetzt wurden.

PC Magazin, Nr. 12/98, S. 224

Verfasser: Andreas
Letzte Änderung: 2011-04-25 15:39


Schwarzpunkt

Ein veränderlicher Referenzpunkt, der den dunkelsten Bereich in einem Bild definiert, damit alle anderen Bereiche dementsprechend eingestellt werden können. Mit guten TWAIN-Treibern läßt sich der Schwarzpunkt vor dem Scan einstellen, um so ein besseres Scanergebnis zu erzielen.

PC Magazin, Nr. 11/99, S. 146

Verfasser: Andreas
Letzte Änderung: 2011-04-25 15:39


Serifen

Als Serifen werden die häkchenartigen Abschlüsse von Buchstaben bezeichnet. Der Sinn dieser Serifen ist es, das Auge besser durch den Text zu führen. Daher werden Serifenschriftarten zumeist in den Mengentexten eingesetzt.

PC Magazin Plus, Nr. 12/2000, S. 23

Verfasser: Andreas
Letzte Änderung: 2011-04-25 15:40


Shading

Neben dem Raytracing gibt es noch andere Algorithmen (Gouraud, Phong), um Bilder zu berechnen. Dabei werden Schatten, Spiegelungen und Reflexionen nicht richtig berechnet. Entweder sie fehlen oder sie werden nur angenähert. Oftmals werden diese Algorithmen verwendet, um im Editor eine Vorschau zu zeigen (siehe Bild zur 4- Tafel-Projektion).

PC Magazin Plus, Nr. 4/2000, S. 29

Verfasser: Andreas
Letzte Änderung: 2011-04-25 15:40


Sichtbares Licht

Befindet sich Staub, Nebel oder Rauch in der Luft, kamm man den Lichtkegel einer Lampe sehen. Im Raytracer heißt dies sichtbares Licht (engl.: volumetric lighting). Objekte müssen das sichtbare Licht blockieren.

PCgo! Nr. 4/99, S. 31

Verfasser: Andreas
Letzte Änderung: 2011-04-25 15:41


Specular Highlights

Glanzlichter, die im Zusammenhang mit Sonnenstrahlen bei metallischen Oberflächen oder bei Kamerablenden entstehen.

PC Magazin, Nr. 4/99, S. 98

Verfasser: Andreas
Letzte Änderung: 2011-04-25 15:41


Spline

Eine Raumkurve, die als Bewegungspfad, aber auch als Teil eines Extrusionskörpers eingesetzt werden kann.

PC Magazin, Nr. 12/98, S. 160

Verfasser: Andreas
Letzte Änderung: 2011-04-25 15:41


Spline-Objekte

Mit speziellen Werkzeugen lassen sich aus Splines dreidimensionale Objekte generieren. Man kann etwa das Spline in der dritten Dimension verschieben, entlang einer anderen Kurve verschieben oder um eine Achse drehen.

PC Magazin Plus, Nr. 4/2000, S. 29

Verfasser: Andreas
Letzte Änderung: 2011-04-25 15:42


Stencil Buffer

Bildbereiche, die sich nicht ändern, werden maskiert, und der Grafikchip muß diese Maske nicht für jeden Frame neu berechnen.

PC Magazin, Nr. 3/2000, S. 102

Verfasser: Andreas
Letzte Änderung: 2011-04-25 15:42


Strichstärke

Als Strichstärke bezeichnet man die Breite der Linien eines Buchstabens. Dabei kann diese Strichstärke gleichbleibend sein, bei vielen Schriftarten variiert diese Stärke je nach Richtung. Dieser so genannte Wechselzug wirkt wie mit einer Schreibfeder gemacht.

PC Magazin Plus, Nr. 12/2000, S. 23

Verfasser: Andreas
Letzte Änderung: 2011-04-25 15:42


Szene

Gesamtheit eines 3D-Computermodells, das aus Objekten, Lichtquelle, Kameras und Zeitabläufen besteht.

PC Magazin, Nr. 3/99, S. 211

Verfasser: Andreas
Letzte Änderung: 2011-04-25 15:43


Tafel-Projektion

Zur Konstruktion bieten die meisten Programme die sog. 4- Tafel-Projektion. Sie zeigt die Objekte in der Ansicht von oben, vorne, rechts und perspektivisch. Die Ansichten sind auch einzeln verfügbar. Bei der perspektivischen Darstellung ist der Blickwinkel einstellbar. Andere Programme bieten beliebige, vom Benutzer einstellbare, Fenster.

PC Magazin Plus, Nr. 4/2000, S. 29

Verfasser: Andreas
Letzte Änderung: 2011-04-25 15:43


Taktfrequenz

Bei Grafikkarten gibt es zwei für den Anwender hauptsächlich interessante Taktfrequenzen. Der GPU-Takt sagt aus, wie schnell der Grafikprozessor getaktet ist. Dieser ist aufgrund der massiv parallelen Architektur deutlich niedriger, als die Taktfrequenz von aktuellen Hauptprozessoren und liegt momentan zwischen 300 und 625 MHz. Die Taktfrequenz ist als Performanceindikator aber nur innerhalb einer Grafikkartenfamilie einigermaßen aussagekräftig, da sich der interne Aufbau der Grafikchips und ihre Komplexität stark unterscheiden.
Eine ATI Radeon X800 GT (475 MHz) ist trotz 75 MHz höherem Takt einer X800 GTO (400 MHz) deutlich unterlegen. Die Gründe dafür sind die unterschiedlichen Pipeline-Anzahlen.
Zweiter Takt ist der Speichertakt, bei dem gilt: Je schneller desto besser. Üblich sind Werte zwischen 700 und 1400 MHz, wobei man auf die Busbreite achten muss.


Quelle: WCM 242, Seite 74

Verfasser: Andreas
Letzte Änderung: 2011-04-25 15:43


Terrain

Grundlage für Landschaften zum Beispiel für Berge.

PC Magazin, Nr. 7/99, S. 203

Verfasser: Andreas
Letzte Änderung: 2011-04-25 15:44


Textur

Hierbei handelt es sich um eine Bitmap, die es erlaubt, ein 3D-Objekt mit Oberflächen und Strukturen zu überziehen, wie Ziegelwände oder Holzmaserungen.

PC Magazin, Nr. 4/98, S. 80
PC Magazin, Nr. 4/99, S. 98

Verfasser: Andreas
Letzte Änderung: 2011-04-25 15:44


Texture Filtering

Verfahren, das dazu dient, Anti-Aliasing-Artefakte, wie etwa Treppenbildung auf Texturen, zu vermeiden; siehe auch bi- und trilineare Filter.

PC Magazin, Nr. 4/98, S. 80

Verfasser: Andreas
Letzte Änderung: 2011-04-25 15:44


Texture Mapping

Projektion von Bildinformationen einer (zweidimensionalen) Bitmap, etwa eines Fotos, auf die Oberfläche eines dreidimensionalen Objekts.

PC Magazin, Nr. 7/99, S. 203
PC Magazin, Nr. 4/99, S. 98
PC Magazin, Nr. 9/97, S. 116

Verfasser: Andreas
Letzte Änderung: 2011-04-25 15:45


Texturen

Texturen sind externe Bilder oder im Programm berechnete Muster, die auf Objekte projiziert werden. Letztere werden hauptsächlich für sich wiederholende Muster (etwa Schachbrettmuster) oder fraktale Muster (wie Nebel) verwendet. Berechnete Texturen können auch dreidimensional sein, so dass bei booleschen Operatoren die Textur sich richtig an den Schnittflächen fortsetzt. Bild-Texturen können auf unterschiedlichste Art projiziert werden. Standard sind Flächen, Kugel- und Zylinderprojektion. Wichtig ist auch die UV-Projekton, bei der sich die Textur mit der Oberfläche verformt. Ein gutes Beispiel für die Funktion: eine im Wind flatternde Fahne. Man kann Texturen aber nicht nur dazu verwenden, Farbe auf ein Objekt zu bringen. Sehr wichtig sind auch Bump- und Displacement-Texturen: Sie geben einem an sich glatten Objekt eine Oberflächenstruktur. Bei der Bump- Textur wird allerdings nur getrickst, wie man an den nach wie vor glatten Objektkanten sehen kann. Displacement- Texturen verändern dagegen tatsächlich die Oberfläche. Bei spiegelnden Objekten (Glasspiegel, Metall usw.) ist es wichtig, dass genügend Objekte vorhanden sind, die sich darin spiegeln, da sonst das Objekt unecht wirkt. Sind nicht genügend andere Objekte vorhanden, benutzt man eine Textur, die sich wiederspiegelt oder ein Bild mit einer Umgebung (engl. Bezeichnung: Environment). Gute Programme unterstützen den Alphakanal auch bei Texturen, so dass eine Textur mit einer anderen Oberfläche teilweise überlagert werden kann. Die Oberflächenmuster lassen sich so einfach mischen. Außerdem verwenden einige Programme Videosequenzen als Textur. Man kann etwa einen AVI-Film auf die Mattscheibe eines modellierten Fernsehgeräts oder Monitors legen und so der Flimmerkiste Leben einhauchen. Jede Änderung des Objektes wirkt sich dann auch auf die animierte Textur aus.

PC Magazin Plus, Nr. 4/2000, S. 29

Verfasser: Andreas
Letzte Änderung: 2011-04-25 15:45


Texturmaterial

Grafiken, die den Eindruck eines realen Materials erwecken (wie Leder oder Holz) und auf Drahtgittermodelle gemappt werden.

PC Magazin, Nr. 3/99, S. 211

Verfasser: Andreas
Letzte Änderung: 2011-04-25 15:46


TPS

Abk. für Triangles per Second. Maßeinheit für die Leistungsfähigkeit von 3D-Engines. Kommt besonders bei schattierten Dreiecken (englisch: triangle) zum Einsatz.

PC Magazin, Nr. 4/98, S. 80
PC Magazin, Nr. 4/99, S. 98

Verfasser: Andreas
Letzte Änderung: 2011-04-25 15:46


Tracing

Umwandeln von Pixelbildern in Vektoren

PC Magazin, Nr. 11/98, S. 152

Verfasser: Andreas
Letzte Änderung: 2011-04-25 15:46


Transform&Lighting-Engine

Berechnet auf modernen Grafikchips den Einfluß von Lichtquellen und Objektveränderungen auf das sichtbare Bild.

PC Magazin, Nr. 3/2000, S. 102

Verfasser: Andreas
Letzte Änderung: 2011-04-25 15:47


Trilineare Filter

Kombination von MIP Mapping und bilinearer Filterung.

PC Magazin, Nr. 4/98, S. 80
PC Magazin, Nr. 4/99, S. 98

Verfasser: Andreas
Letzte Änderung: 2011-04-25 15:47


TrueType

Windows-Standard für Schriften, die - im Gegensatz zu Type-1-Schriften - kein eigenes Programm (Type-Manager) zur Darstellung benötigen.

PC Magazin, Nr. 12/98, S. 224

Verfasser: Andreas
Letzte Änderung: 2011-04-25 15:47


Type-1-Schrift

Derzeit sind vor allem TrueType- und Type-1- oder PostScript-Schriften gebräuchlich. Type-1-Schriften, der Profistandard, sind genauer und ergeben meist ein besseres Schriftbild, weil sie nicht mehr bei der PostScript-Ausgabe umgewandelt werden müssen.

PC Magazin, Nr. 11/98, S. 152

Verfasser: Andreas
Letzte Änderung: 2011-04-25 15:48


Unterschneiden

Wirkt eine Schrift in einer bestimmten Größe von der Laufweite her zu unregelmässig, oder nimmt die Dickte bestimmter Buchstaben zu viel Platz ein, so dass optische Lücken im Wort entstehen, wendet man das Unterschneiden an. Das nachfolgende Zeichen wird dabei etwas an das linke Zeichen angerückt und die Laufweite so leicht verringert. Das Ergebnis wirkt optisch besser und nicht lückenhaft. Im Bereich DTP spricht man in diesem Zusammenhang auch von Kerning.

PC Magazin Plus, Nr. 12/2000, S. 23

Verfasser: Andreas
Letzte Änderung: 2011-04-25 15:48


Vektorgrafik

Grafik, die durch Vektoren aufespannt wird. Vorteile sind die verlustfreie Größenänderung der Objekte und relativ kleine Dateigrößen.

PC Magazin, Nr. 11/98, S. 152

Verfasser: Andreas
Letzte Änderung: 2011-04-25 15:48


Vektorgrafik

Eine Vektorgrafik setzt sich aus geometrischen Figuren zusammen. Diese bestehen nicht aus Pixeln, sondern werden mit einer Menge von Daten beschrieben. Zu den wichtigsten Daten gehören Größe, Position, Richtung und Färbung des Objekts. Auch nachdem ein Objekt in eine Grafik eingefügt wurde, können alle Werte nachträglich noch verändert werden (meist mit der Maus). Die Größe einer Vektorgrafik lässt sich daher ohne Qualitätsverlust anpassen. Bekannte Formate für Vektorgrafiken sind beispielsweise WMF, CGM, CDR und EMF.

PC Magazin Plus, Nr. 4/2000, S. 26

Verfasser: Andreas
Letzte Änderung: 2011-04-25 15:49


Vektorisieren (=Tracen)

Umwandeln eines Pixelbilds in Vektoren

PC Magazin, Nr. 12/98, S. 224

Verfasser: Andreas
Letzte Änderung: 2011-04-25 15:49


vektororientiert

Vektororientiert bedeutet, daß eine Linie bzw. eine Kurve durch einen Anfangspunkt, evtl. mehrere Zwischenpunkte und einen Endpunkt sowie die Linienstärke definiert wird. Die Verbindung zwischen diesen Punkten wird vom Grafikprogramm berechnet und ergibt dann den Strich. Bei Flächen wird neben der Linie auch noch die Art der Füllung definiert. Im Gegensatz zu einer Bitmap- oder Pixelgrafik kann eine Vektorgrafik ohne Qualitätsverlust beliebig verkleinert oder vergrößert werden. Bekannte Beispiele für vektororientierte Zeichenprogramme sind "Designer", "Corel Draw" und "Free Hand".

PCgo!, Nr. 10/98, S. 57

Verfasser: Andreas
Letzte Änderung: 2011-04-25 15:49


Versalie

Als Versalie bezeichnet man einen Großbuchstaben im Alphabet. Der Begriff stammt vom lateinischen "versus", was soviel wie "Zeile" bedeutet. Seltener werden Versalien auch als Majuskeln bezeichnet (lat. major = größer).

PC Magazin Plus, Nr. 12/2000, S. 23

Verfasser: Andreas
Letzte Änderung: 2011-04-25 15:50


Vertex

Ein Punkt in einem Flächennetz, an dem sich eine Ecke mindestens einer Fläche befindet. Über das Verändern einer oder mehrerer Vertexes verformt man ein Mesh.

PC Magazin, Nr. 12/98, S. 160

Verfasser: Andreas
Letzte Änderung: 2011-04-25 15:50


Volumenlicht

Aufwendiges Lichtberechnungsverfahren, das Lichtabstrahlungen wie Lichtkegel von Scheinwerfern simuliert.

PC Magazin, Nr. 3/99, S. 211

Verfasser: Andreas
Letzte Änderung: 2011-04-25 15:50


Weiche Schatten

Normalerweise berechnen Raytracer nur Schatten mit harten Kanten. Das wirkt aber oft unnatürlich. Viele Programme unterstützen daher weiche Schatten.

PC Magazin Plus, Nr. 4/2000, S. 29

Verfasser: Andreas
Letzte Änderung: 2011-04-25 15:51


Weißpunkt

Ein veränderlicher Referenzpunkt, der den hellsten Bereich in einem Bild definiert, damit alle anderen Bereiche entsprechend eingestellt werden können. Mit guten TWAIN-Treibern läßt sich der Weißpunkt vor dem Scan einstellen, um so ein besseres Ergebnis erzielen zu können.

PC Magazin, Nr. 11/99, S. 146

Verfasser: Andreas
Letzte Änderung: 2011-04-25 15:51


Z-Buffer

Spezieller Speicher für die Z-Koordinaten eines Objekts. Damit kann der Grafikchip schnell entscheiden, welche Teile des Objekts sich im Vordergrund befinden und welche verdeckt sind. Meist ist die Tiefe als 16-Bit-Wert abgelegt.

PC Magazin, Nr. 4/99, S. 98
PC Magazin, Nr. 3/99, S. 211

Verfasser: Andreas
Letzte Änderung: 2011-04-25 15:51


Zeilenabstand

Der Zeilenabstand ist der Abstand zwischen der Unterkante der Vorzeile und der Oberkante der nachfolgenden Zeile. Dabei sollte dieser Abstand etwa so breit sein, wie die Mittellänge der gewählten Schrift.

PC Magazin Plus, Nr. 12/2000, S. 23

Verfasser: Andreas
Letzte Änderung: 2011-04-25 15:52


abgesicherter Modus

Im abgesicherten Modus startet Windows nur mit den unbedingt nötigen Komponenten. Sie haben die Möglichkeit, mit Hilfe des Minimal-Windows-95 Fehler zu finden und neue Treiber zu installieren. Der abgesicherte Modus funktioniert oft auch dann, wenn bei einem normalen Start der PC irgendwann einfach stehenbleibt. Sie können diesen Modus auch erzwingen, wenn Sie beim Start F8 drücken und im Startmenü "abgesicherter Modus" wählen.

PCgo!, Nr. 7/98, S. 57

Verfasser: Andreas
Letzte Änderung: 2011-05-01 13:36


Active Desktop

Der Desktop ist die Arbeits-und Hintergrundfläche von Windows. Auf ihr sind alle Symbole wie der "Arbeitsplatz", "Eigene Dateien" und der "Internet Explorer" zu sehen. "Active" heißt er, weil Sie Elemente auf dem Desktop plazieren können, die selbständig den Inhalt verändern können. Ursprünglich war der Active Desktop nur für Internet-Inhalte konzipiert. Dank JavaScript und Formularen läßt er sich gewinnbringend aber auch ohne Internet-Anbindung nutzen.

PCgo!, Nr. 3/99, S. 24

Verfasser: Andreas
Letzte Änderung: 2011-05-01 13:37


ActiveX

Microsoft-Technologie für ausführbaren Programmcode auf WWW-Seiten; unsicherer als Java-Applets

PC Magazin, Nr. 2/99, S. 201

Verfasser: Andreas
Letzte Änderung: 2011-05-01 13:37


ActiveX-Control

ActiveX-Controls beziehungsweise ActiveX-Steuerelemente sind kleine Zusatzmodlule, die Sie in eigene Anwendungen einbinden können. Die Technik dieses Modulkonzepts hat Microsoft als ActiveX standardisiert. Ein solches ActiveX-Control ist beispielsweise das Kalendersteuerelement aus Access 97, welches Anwendungen ohne Programmieraufwand um Kalenderfunktionen erweitert.

PC Magazin, Nr. 7/98, S. 161

Verfasser: Andreas
Letzte Änderung: 2011-05-01 13:38


Add in

Mit Add in bezeichnet man meist eine Sammlung von zusätzlichen Funktionen oder Optionen, die in das Programm integriert werden. Die Programme werden dadurch in ihrem Leistungsumfang verstärkt und erhalten zusätzliche meist neue Eigenschaften.

PCgo!, Nr. 11/98, S. 108

Verfasser: Andreas
Letzte Änderung: 2011-05-01 13:38


Add-ons

Add-ons sind Programme, die eine vorhandene Software um neue Funktionen erweitert. Es gibt verschiedene Möglichkeiten, wie Sie an ein Add-on kommen: Es steht entweder als zusätzliches Programm zur Verfügung (zum Beispiel Winchat, ERU, usw.) oder integriert sich direkt in die vorhandene Software (etwa Teile der Powertoys). Diese Zusatzsoftware wird von den Herstellern eines Programms meist kostenlos angeboten.

PCgo!, Nr. 7/98, S. 28

Verfasser: Andreas
Letzte Änderung: 2011-05-01 13:39


API

Abk. für Application Programming Interface. Eine Schnittstelle, die dem Programmierer Funktionen der Hardware oder des Betriebssystems zugänglich macht.

PC Magazin, Nr. 4/98, S. 80

Verfasser: Andreas
Letzte Änderung: 2011-05-01 13:39


Applet

Kleines Programm, das im Webbrowser oder in Sun's Applet-Viewer läuft.

PC Magazin, Nr. 2/2001, S. 208

Verfasser: Andreas
Letzte Änderung: 2011-05-01 13:39


Application Framework

Ein Application Framework ist eine standardisierte Programmierumgebung für die Anwendungserstellung, zum Beispiel bei FileMaker Pro. Das Framework soll die Übertragung von Programmen auf andere Betriebssysteme erleichtern.

PC Magazin, Nr. 7/98, S. 161

Verfasser: Andreas
Letzte Änderung: 2011-05-01 13:40


ASP

Abk. für Active Server Pages.

PC Magazin, Nr. 12/98, S. 216

Verfasser: Andreas
Letzte Änderung: 2011-05-01 13:40


Assistent

Assistenten sind Hilfsprogramme, die Sie bei der Erstellung von Datenbanken und Anwendungen unterstützen. Fast jede PC-Datenbank hat solche Assistenten, die bei der Ausführung verschiedenster Aktionen helfen: eine neue Datenbank anlegen, ein Druckformat definieren oder etwa eine fremde Datenbank importieren. Experte oder Wizard sind andere Namen für Assistent.

PC Magazin, Nr. 7/98, S. 161

Verfasser: Andreas
Letzte Änderung: 2011-05-01 13:40


Asymmetrische Verschlüsselung

Das Konzept der asymmetrischen Kryptographie wurde 1976 von Whitfield Diffie und Martin Hellman vorgeschlagen, um das Problem des Schlüsselmanagements (der Begriff umfaßt das Erzeugen, die Übertragung und das Speichern des Schlüssels) zu lösen. Nach ihrem Konzept hat jeder Beteiligte zwei Schlüssel: einen öffentlichen und einen privaten, der geheim bleibt. Es ist damit nicht mehr notwendig, daß Sender und Empfänger ein gemeinsames Geheimnis haben: Jede Kommunikation umfaßt nur öffentliche Schlüssel, private werden nie übertragen oder geteilt. Der Absender chiffriert mit dem öffentlichen Schlüssel, das Chiffrat kann jedoch nur mit dem privaten Schlüssel dechiffriert werden, der sich ausschließlich in der Hand des Empfängers befindet. Darüber hinaus ist asymmetrische Kryptographie auch zur Authentifikation (digitale Unterschriften) verwendbar.

PC Magazin, Nr. 4/97, S. 262

Verfasser: Andreas
Letzte Änderung: 2011-05-01 13:41


Attachment

Eine an die E-Mail angehängte Datei.

PC Magazin, Nr. 10/98, S. 80

Verfasser: Andreas
Letzte Änderung: 2011-05-01 13:41


Autorensoftware

Auch Autorensystem genannt: Software, mit der man - einfacher als mit einer herkömmlichen Programmiersprache - lauffähige Präsentationen und interaktive Multimedia-Programme erzeugen kann. Grafik, Video, Ton sowie Text können in eine individuelle Oberfläche eingebunden und über entsprechende Verknüpfungen miteinander verbunden werden.

PCgo!, Nr. 10/98, S. 170

Verfasser: Andreas
Letzte Änderung: 2011-05-01 13:42


Backup

Die Datensicherung ist ein Kopiervorgang, bei dem einzelne Dateien, Verzeichnisse oder ganze Festplatten auf einen anderen Datenträger als Sicherungskopie gespeichert werden. Die Sicherungskopie dient bei Datenverlust zur Wiederherstellung des alten Zustandes. Es werden entweder die kompletten Dateien gespeichert (full Backup) oder nur die Dateien, die sich seit der letzten Sicherung geändert haben (incremental/differential Backup).

PCgo!, Nr. 1/99, S. 106

Verfasser: Andreas
Letzte Änderung: 2011-05-01 13:42


Batch-Datei

Das ist eine Datei, die mehrere Befehlsaufrufe enthält, die hintereinander abgespielt werden, zu dt. Stapeldatei. Batch-Dateien sind an der Dateiendung ".bat" oder ".cmd" zu erkennen. Mit Hilfe der Batch- Datei können sie Zeit sparen, indem mehrere Aktionen automatisch hintereinander ausgeführt werden.

PCgo!, Nr. 6/99, S. 104

Verfasser: Andreas
Letzte Änderung: 2011-05-01 13:42


Benchmark

Ein Benchmark ist ein Programm, dessen Zweck es ist, die Geschwindigkeit zu messen, um Vergleiche anstellen zu können. Diese Programme werden gerne auf PCs benutzt, um die Leistung des Gesamtsystems oder einer einzelnen Komponente zu bestimmen. Dazu führt ein Benchmark üblicherweise eine Aktion x-mal aus und mißt, wie lange die x Aktionen gedauert haben. Daraus läßt sich die Leistung anschließend berechnen.

PCgo!, Nr. 6/99, S. 134

Verfasser: Andreas
Letzte Änderung: 2011-05-01 13:43


Betriebssystem

Jeder Computer braucht, um überhaupt etwas zu machen, Software. Diese Software steuert Tastatur, Monitor, Maus usw. und heißt Betriebssystem (engl. OS = Operating System). Die meisten Desktop-Computer arbeiten mit Windows 95/98 oder Windows NT, portable Computer mit Windows CE. Es gibt noch andere Betriebssysteme wie z.B. OS/2 von IBM, Linux, Unix etc. Je stabiler und leistungsfähiger ein Betriebssystem ist, desto weniger Probleme gibt es mit dem Computer.

PCgo!, Nr. 5/99, S. 198

Verfasser: Andreas
Letzte Änderung: 2011-05-01 13:43


Binärfile

Fertig kompiliertes ausführbares Programm, das von der Plattform und der Software abhängt. Es läuft nur mit einem bestimmten Prozessor oder einer bestimmten Distribution.

PC Magazin, Nr. 6/2000, S. 210

Verfasser: Andreas
Letzte Änderung: 2011-05-01 13:44


Blockchiffrierer

Ein Blockchiffrierer wandelt einen Block mit festgelegter Länge aus dem Ursprungstext in chiffrierten Text der gleichen Länge um.

PC Magazin, Nr. 4/97, S. 262

Verfasser: Andreas
Letzte Änderung: 2011-05-01 13:44


Blowfish

Relativ neuer, von Bruce Schneier entwickelter, symmetrischer Verschlüsselungsalgorithmus, der sehr kompakt und schnell ist. Er ist frei verfügbar und verwendet variabel Schlüssellängen bis 448 Bit.

PC Magazin, Nr. 12/99, S. 96

Verfasser: Andreas
Letzte Änderung: 2011-05-01 13:44


Bookmarks

Das ist der englische Begriff für Lesezeichen (beim Internet Explorer "Favoriten"). Seiten, die Sie häufig besuchen, sollten Sie als Bookmarks speichern, damit Sie deren Adresse nicht ständig eingeben müssen. Die Verknüpfung zu den Seiten ist beim Internet Explorer im Verzeichnis "Windows/Favoriten" auf Ihrer Festplatte gespeichert. Wenn Sie eine Seite als Bookmark hinzufügen wollen, klicken Sie einfach mit der rechten Maustaste auf die Seite und wählen "Zu Favoriten hinzufügen".

PCgo!, Nr. 5/99, S. 149

Verfasser: Andreas
Letzte Änderung: 2011-05-01 13:45


Bootloader

Programm, was kurz nach dem Einschalten des Computers gestartet wird. Es ist für das Laden und Starten des entsprechenden Betriebssystems zuständig. Dabei können Paramter übergeben werden. Der Bootloader kann aus mehreren Teilen bestehen.

PC Magazin, Nr. 12/2000, S. 227

Verfasser: Andreas
Letzte Änderung: 2011-05-01 13:45


Bootmanager

Verwaltet mehrere Betriebssysteme auf einem Rechner. Dabei kann mehr oder weniger komfortabel ausgewählt werden. Beispiele sind LILO und GRUB.

PC Magazin, Nr. 12/2000, S. 227

Verfasser: Andreas
Letzte Änderung: 2011-05-01 13:45


Browser

Ein "Browser" ist ein Programm, mit dem Sie Datenmengen gezielt durchforsten können. Bekannt sind WWW-Browser, wie der "Netscape Navigator" und der "Microsoft Internet Explorer". Mit ihnen können Sie sich im World Wide Web (WWW) umschauen, Seiten betrachten und nach Informationen suchen. Es gibt aber auch noch andere Browser (etwa für Programmierer), die auf bestimmte Themen optimiert sind. Auch das Hilfe-System von Windows könnte man als "Browser" bezeichnen.

PCgo!, Nr. 3/99, S. 23

Verfasser: Andreas
Letzte Änderung: 2011-05-01 13:46


Brute Force Attack

Ermitteln eines Schlüssels durch systematisches Ausprobieren aller Möglichkeiten

PC Magazin, Nr. 4/97, S. 262

Verfasser: Andreas
Letzte Änderung: 2011-05-01 13:46


C.C.

C.C. ist die Abkürzung für das englische Wort Carbon Copy. Früher war damit der Durchschlag eines Dokumentes gemeint. Der Begriff ist geblieben und bezeichnet zu e-mail-Zeiten den Versand eines Dokumentes an nicht nur eine Person. Verschiedene andere bekommen "Durchschläge" der Nachricht.

PCgo!, Nr. 4/99, S. 130

Verfasser: Andreas
Letzte Änderung: 2011-05-01 13:47


WPS (Wifi Protected Setup)

ist ein besonders einfaches Verfahren zum sicheren Einrichten eines kabellosen Netzwerks (WLAN). Es wurde von der Wi-Fi Alliance entwickelt, einem Konsortium, das Geräte gemäß dem IEEE-802.11-Standard zertifiziert. Gewöhnlich kommt eine von zwei WPS-Methoden zum Einsatz, um ein WLANGerät ins Netzwerk zu bringen: Eine Geheimzahl (PIN) muss eingegeben werden, oder Sie müssen auf dem Zugangspunkt und dem WLAN-Gerät gleichzeitig einen Knopf drücken.

Quelle: PC-Welt 7/2011

Verfasser: Andreas
Letzte Änderung: 2011-06-05 11:29


CUDA (Compute Unified Device Architecture)

Mit der von Nvidia entwickelten Technik lassen sich wissenschaftliche und technische Berechnungen schneller durchführen. Dies wird erreicht, indem die Grafikkarte den PC-Prozessor unterstützt, sofern die Software dies vorsieht. CUDA kommt auch in aktuellen Computerspielen zum Einsatz, etwa um physikalische Effekte wie Explosionen oder Windbewegungen realistisch darzustellen.

 Quell: PC-Welt 7/2011

Verfasser: Andreas
Letzte Änderung: 2011-06-05 11:31


LED (Light Emitting Diode)

Eine Leuchtdiode ist ein elektronisches Bauelement, das Licht abstrahlt, sobald Strom hindurchfließt. In aktuellen Bildschirmen und Fernsehern werden LEDs als
Hintergrundbeleuchtung eingesetzt, da sie einen gleichmäßig hohen Kontrast und kräftige, leuchtende Farben liefern. Außerdem verbrauchen die Bauteile wenig Strom. Ein weiterer Vorteil ist die Langlebigkeit der LEDs.

 Quelle: PC-Welt 7/2011

Verfasser: Andreas
Letzte Änderung: 2011-06-05 11:32


Thunderbolt

Thunderbolt ist eine neue Anschlusstechnik von Apple und Intel. Sie soll auf Dauer die USB-, Firewire- und Netzwerk- Buchsen sowie den Displayport ersetzen. Geräte mit diesen Anschlüssen sollen sich via Adapter an einer Thunderbolt-Buchse betreiben lassen. Thunderbolt basiert auf der Displayport- und PCI-Express-Technik. Über zwei bi-direktionale Kanäle werden laut Spezifikation jeweils bis zu 10 GBit/s übertragen. Damit ist der Anschluss-Neuling deutlich schneller als USB 3.0 mit 5 GBit/s. Zudem ist die Versorgung externer Geräte mit Strom möglich.

Quelle: PC-Welt 7/2011

Verfasser: Andreas
Letzte Änderung: 2011-06-05 11:33


Super-Cookies oder LSO

So heißen Daten, die von Internet-Browser-Erweiterungen wie dem Flash Player auf der Festplatte abgelegt werden. Zum Beispiel kann der Flash Player für jede Internetseite Einstellungen wie Lautstärke und bevorzugte Videoauflösung speichern. Diese LSO (Local Shared Objects) entziehen sich bislang weitgehend den Löschmechanismen für normale Cookies. Super Cookies können bis zu 100 KB an Daten pro Domain umfassen. Manche von ihnen stellen Daten aus normalen Cookies wieder her, die der Benutzer eigentlich gelöscht hatte.

Quelle: PC-Welt 7/2011

Verfasser: Andreas
Letzte Änderung: 2011-06-05 11:35


Web-GL

WebGL basiert auf OpenGL, einem Software-Programmierstandard, der vor allem aus dem CAD-Umfeld bekannt ist. Um die Hardwaregestützte 3D-Beschleunigung zu ermöglichen, muss WebGL mit dem Treiber der Grafikkarte zusammenarbeiten. Wie Sie ebGL bei den Internet-Browsern Firefox ab 4.0 und Chrome ab 9 deaktivieren, steht unter www.pcwelt.de/qfbc. Bei Safari ist es standardmäßig abgeschaltet. Zudem sollte ein aktueller Grafiktreiber mit OpenGL-Unterstützung installiert sein.

Quelle: PC-Welt 7/2011

Verfasser: Andreas
Letzte Änderung: 2011-06-05 11:39


BSI (Backside Illumination)-Bildsensor

BSI (Backside Illumination)-Bildsensoren sind besonders lichtempfindlich, da ihre Rückseite beleuchtet wird. Bei den bisher eingesetzten Sensoren schattet die Elektronik die lichtempfindliche Oberfläche ab. Ein BSI-Sensor wird umgekehrt in eine Kamera eingebaut, also mit der Elektronik nach unten. Dadurch trifft das
Licht ungehindert auf die Foto dioden.

PC-Welt 7/2011, S. 26

 

Verfasser: Andreas
Letzte Änderung: 2011-06-05 13:35


iTAN

Die Abkürzung steht für „indizierte TAN“. Dabei sind alle TAN-Nummern auf der persönlichen Liste durchnummeriert. Bei einer Überweisung fragt die Bank eine ganz bestimmte Nummer ab. mTAN: Die Bank sendet die „mobile TAN“ passend zu einer Überweisung aufs Handy. Für den Dienst müssen Sie sich zuvor anmelden.

PC-Welt 7/2011, S. 37

 

Verfasser: Andreas
Letzte Änderung: 2011-06-05 13:39


TAN-Generator

TAN-Generator, auch sm@rtTAN oder chipTAN genannt: Aktuelle Geräte empfangen per Fotosensoren die Transaktionsdaten als Lichtcode von der Internetseite der Bank. Zusammen mit einer ins Gerät eingesteckten EC-Karte errechnen sie eine TAN.

 PC-Welt 7/2011, S. 37

 

Verfasser: Andreas
Letzte Änderung: 2011-06-05 13:40


HBCI

Das Kürzel steht für „Homebanking Computer Interface“. Dieses Gerät arbeitet mit einer passwortgeschützten Chipkarte.

Verfasser: Andreas
Letzte Änderung: 2011-06-05 13:41


Fin-TS

Fin-TS steht für „Financial Transaction Services“. Dabei handelt es sich um eine Weiterentwicklung des in die Jahre gekommenen HBCI. Einige Banken haben
aber auch nach der Umstellung die Bezeichnung HBCI behalten. Fin-TS unterstützt gleichzeitig das PIN/TAN-System über Internetseiten.

PC-Welt 7/2011, S. 37

 

Verfasser: Andreas
Letzte Änderung: 2011-06-05 13:42


WMV-Format

WMV-Format (Windows Media Video): Das Format stammt von Microsoft und ist bei einigen Videosendern im Internet sehr beliebt. So liefert etwa die Online-Videothek Maxdome (www.maxdome.de) alle Filme in diesem Format. Der Grund: WMV-Dateien lassen sich mit einen Rechtemanagement schützen. Nur wer eine passende Lizenz hat, kann die Datei abspielen. Die Überprüfung erfolgt im Wiedergabeprogramm. Darum laufen auch entsprechend Videos zwar mit dem Windows Media Player, aber nicht mit dem VLC Media Player. Das Programm Audials One lädt geschützte WMV-Dateien herunter. Für die Wiedergabe benötigt man aber die Lizenz.

PC-Welt 7/2011, S. 50

 

Verfasser: Andreas
Letzte Änderung: 2011-06-05 13:44


DLP-Projektoren (Digital Light Processing)

Hier fällt das Licht der Lampe auf einen Chip. Von dort wird es von Mikrospiegeln reflektiert – einem pro Bildpunkt. Die angelegte Spannung regelt die Stellung der Spiegel, welche wiederum die Helligkeit des abgebildeten Bildpunkts beeinflusst. Um die Farben kümmert sich ein Farbrad zwischen der Lampe und den Spiegeln, das Segmente in Rot, Grün und Blau besitzt. Durch das Drehen des Rades wird abwechselnd ein rotes, grünes und blaues Bild projiziert. Durch die Trägheit
des Auges werden die Teilbilder als Gesamtbild wahrgenommen.

PC-Welt 7/2011

 

Verfasser: Andreas
Letzte Änderung: 2011-06-05 14:07


CI (Common Interface)

 nennt man den Einschubschacht von TVEmpfängern und Fernsehern, der die Entschlüsselungsmodule von Bezahlfernsehen aufnimmt. Für den (legalen)
Empfang der privaten HD-Sender ist derzeit jedoch CI+ nötig. Bei dieser neuen Technik sind Einschränkungen bei der Wiedergabe vorgesehen, um etwa Aufnahmen zu verhindern.

PC-Welt 7/2011

 

Verfasser: Andreas
Letzte Änderung: 2011-06-05 14:08


Header

Die Kopfzeile eines Artikels in einer Newsgroup. Diese beinhaltet wichtige Informationen wie bespielsweise das Subject, die Newsgroups, in denen der Artikel gepostet wurde sowie den Absender der Nachricht.
 
 PC Magazin SPEZIAL, Nr. 3/98, S. 51

Verfasser: Andreas
Letzte Änderung: 2012-03-08 17:37


Host

Ein Host ist ein Rechner in einem Netzwerk. Dies kann sowohl ein Server als auch ein Client sein. Sobald Sie sich zum Beispiel mit Ihrem Internet-Provider verbunden haben, ist Ihr PC ein Host im Internet.
 
 PC Magazin, Nr. 3/2000, S. 230

Verfasser: Andreas
Letzte Änderung: 2012-03-08 17:37


HOSTS

Statische Textdatei zur Auflösung von FQDN in IP-Adressen. Wird nur in sehr kleinen Netzen verwendet, da die Verwaltung per Hand durchgeführt werden muß. Außerdem können sich Hosts nicht dynamisch registrieren. Ersetzt oder ergänzt DNS-Server.
 
 PC Magazin, Nr. 3/2000, S. 230

Verfasser: Andreas
Letzte Änderung: 2012-03-08 17:38


HSTR

High Speed Token Ring; Initiative von Herstellern für Token-Ring-Produkte, welche die maximale Transferrate in Token-Ring-Netzen in den Bereich von GBit/s heben möchte.
 
 PC Magazin, Nr. 12/97, S. 308

Verfasser: Andreas
Letzte Änderung: 2012-03-08 17:38


HTTP

Abk. für Hypertext Transfer Protocol; regelt die Client- Server-Kommunikation.
 
 PC Magazin, Nr. 2/99, S. 201

Verfasser: Andreas
Letzte Änderung: 2012-03-08 17:39


Hub

Ein aktives (vgl. Switch) oder passives Gerät, das die Netzwerkleitungen mehrerer Stationen auf einer Leitung zusammenführt.
 
 PC Magazin, Nr. 4/2000, S. 100

Verfasser: Andreas
Letzte Änderung: 2012-03-08 17:39


ICMP

Das Internet Control Message Protocol ist ein Protokoll aus der TCP/IP-Gruppe, das es zwei Knoten auf einem IP- Netzwerk erlaubt, IP-Statusinformationen auszutauschen. Dieses Protokoll wird zum Beispiel von Ping verwendet.
 
 PC Magazin, Nr. 4/99, S. 225

Verfasser: Andreas
Letzte Änderung: 2012-03-08 17:39


ICS

Abk. für Internet Connection Sharing. So nennt Microsoft den gemeinsamen Zugriff auf Ressourcen vernetzter PCs mit Windows-98-SE-Bordmitteln.
 
 PC Magazin, Nr. 4/2000, S. 100

Verfasser: Andreas
Letzte Änderung: 2012-03-08 17:40


IDS

Abk. für Intrusion-Detection-System. Erkennt Einbruchsversuche. Es gibt einfache Systeme, die der Nutzer selbst mit ein paar Skripts zusammenbauen kann. Mittlerweile gibt es auch teure kommerzielle für viele bekannte Netzwerksysteme.
 
 PC Magazin, Nr. 5/2000, S. 166

Verfasser: Andreas
Letzte Änderung: 2012-03-08 17:40


IEEE 302.3

Der Ethernet-Standard ist bekannt unter dieser Bezeichnung. IEEE ist ein Komitee zur Definition von Standards. Eine Erweiterung ist zum Beispiel IEEE 302.3u (beschreibt den Fast-Ethernet-Standard).
 
 PC Magazin, Nr. 12/2000, S. 155

Verfasser: Andreas
Letzte Änderung: 2012-03-08 17:41


IGMP

Abk. für Internet Group Management Protocol. Mit diesem Protokoll verwalten Sie Gruppen von Adressen im Netzwerk, an die bestimmte Datenpakete geschickt werden. Es ist vergleichbar mit dem Verschicken eines Serienbriefs und einer E-Mail an eine Verteilerliste. Das gezielte Verschicken von Videodaten an eine Gruppe heißt Multicast.
 
 PC Magazin, Nr. 11/2000, S. 72

Verfasser: Andreas
Letzte Änderung: 2012-03-08 17:42


IMAP4

Internet Message Access Protocol 4. Neues Protokoll zum Übertragen von E-Mails vom Mail-Server des Providers auf den PC.
 
 PC Magazin, Nr. 10/98, S. 80

Verfasser: Andreas
Letzte Änderung: 2012-03-08 17:42


Inkrementelles Schreiben

Dieser Schreibmodus eignet sich für das Schreiben von kleinen Datenpaketen. Für kleine Backups und Sicherheitskopien wichtiger Daten wie Treiber, Software- Pakete u.ä. ist dieses Datenblock-Aufzeichnungsverfahren (Packet Writing) geeignet. Hierzu ist jedoch Unterstützung durch Software erforderlich.
 
 PC Magazin, Nr. 11/97, S. 94

Verfasser: Andreas
Letzte Änderung: 2012-03-08 17:43


Internet

Einst als "heimliches Nervensystem der internationalen Wissenschaft" erfunden, wurde das Internet Anfang der 90er Jahre vor allem durch die einfach Darstellungsform des WWW per Hypertext Markup Language (MTML) zum Massenphänomen. Die zentrale Idee hinter HTML war die Vermeidung von Redundanzen. Für den Benutzer sehen Daten gleich welcher Form, in WWW-Seiten eingebettet, gleich aus.
 
 PC Magazin, Nr. 5/97, S. 66

Verfasser: Andreas
Letzte Änderung: 2012-03-08 17:43


Internet-Provider

Für den Anschluß Ihres Computers mit dem Internet brauchen Sie eine physikalische Verbindung. Firmen benutzen dafür Standleitungen, als Privatmann bleibt nur die Telefonverbindung übrig. Ein Provider ist dabei die Firma, die man über ein Modem anruft, die die Verbindung zum Internet herstellt und dafür bezahlt sein will.
 
 PCgo!, Nr. 1/99, S. 214

Verfasser: Andreas
Letzte Änderung: 2012-03-08 17:43


Intranet

Inhalte des Internet und firmeninterne Daten werden per Internet-Technologie wie HTML aufbereitet und auf Servern eines Unternehmens abgelegt. Von dort greifen die Anwender über einfach Software wie Browser, Newsreader oder Mail-Clients darauf zu. Die Vorteile: reduzierte Kommunikationskosten, preiswerte Front-Ends und kontrollierte Zugriffe, entsprechend den Rechten eines Benutzers im eigenen Netzwerk.
 
 PC Magazin, Nr. 5/97, S. 66

Verfasser: Andreas
Letzte Änderung: 2012-03-08 17:44


IP

Abk. für Internet Protocol; von der Internet Engineering Task Force (IETF) verabschiedeter, firmenunabhängiger Netzstandard, der den Datenaustausch im Internet und in Intranets regelt.
 
 PC Magazin, Nr. 12/97, S. 308
 PC Magazin, Nr. 4/99, S. 225

Verfasser: Andreas
Letzte Änderung: 2012-03-08 17:44


IP-Adresse

Jedes System besitzt eine einmalige IP-Adresse, die zur Identifikation im Netzwerk dient.
 
 PC Magazin, Nr. 5/99, S. 114

Verfasser: Andreas
Letzte Änderung: 2012-03-08 17:45


IP-Masquerading

Marketing-Name für NAT (siehe dort).
 
 PC Magazin, Nr. 4/2000, S. 100

Verfasser: Andreas
Letzte Änderung: 2012-03-08 17:45


IP-Spoofing

Verändern (Fälschen) der eigenen IP-Adresse, um dem Empfänger gegenüber die wahre Identität zu verschleiern. Am einfachsten fälscht man seine IP, indem man über einen anonymen Proxy-Server surft. Dieser muss in den Eigenschaften der DFÜ-Verbindung eingetragen sein. Listen von solchen Servern finden Sie zum Beispiel über www.multiproxy.net.
 
 PC Magazin, Nr. 7/2001, S. 139

Verfasser: Andreas
Letzte Änderung: 2012-03-08 17:46


IPSEC

Standards der Internet Engineering Task Force (IETF). Um die durch proprietäre Systeme auftretenden Probleme zu beheben, beschäftigt sich die IETF mit der Standardisierung:
  • Manual IPSEC: Vollständige manuelle Schlüsselverwaltung, die Administratoren müssen einen Schlüssel offline austauschen.
  • IKE bzw. ISAKMP/Oakley (Internet Key Exchange): Automatische Schlüsselverwaltung unter Verwendung von Trust Centers, um sicherzustellen, daß der öffentliche Schlüssel wirklich vom Partner ist. Der Wechsel des DES- oder 3DES-Schlüssel erfolgt automatisch.
 
 PC Magazin, Nr. 12/99, S. 96

Verfasser: Andreas
Letzte Änderung: 2012-03-08 17:47


IPX

Internetwork Packet Exchange; ein von Novell entwickeltes Protokoll für LANs.
 
 PC Magazin, Nr. 12/97, S. 308

Verfasser: Andreas
Letzte Änderung: 2012-03-08 17:47


IPX/SPX

Netzwerkprotokoll für den Zugriff auf Novell-NetWare- Server.
 
 PC Magazin, Nr. 5/99, S. 114
 

Verfasser: Andreas
Letzte Änderung: 2012-03-08 17:47


IRC

Internet Relay Chat. Nach Themen sortierte Chat-Kanäle.
 
 PC Magazin, Nr. 10/98, S. 80

Verfasser: Andreas
Letzte Änderung: 2012-03-08 17:48


ISP

Abk. für Internet Service Provider. Eine Firma, die einen Internet-Zugang ermöglicht.
 
 PC Magazin, Nr. 4/2000, S. 100

Verfasser: Andreas
Letzte Änderung: 2012-03-08 17:48


Jitter

Zeitliche Unregelmäßigkeiten in der Signalform, verursacht durch Störungen oder unausgewogene Ringe in FDDI und Token-Ring-Umgebungen.
 
 PC Magazin, Nr. 12/2003, S. 189
 

Verfasser: Andreas
Letzte Änderung: 2012-03-08 17:49


Junk-Mail

Übersetzt heißt das Mist-Briefe - massenhaft verschickte Werbebriefe, die niemand haben will.
  • Regel 1: Nie antworten, selbst wenn Sie noch so ägerlich sind. Sonst weiß der Absender, dass Sie erreichbar sind. Deaktivieren Sie auch die Nachverfolgung.
  • Regel 2: Wenn Mail von einem Absender überhand nimmt, melden Sie es dem Server, der die Post verschickt hat.
  •  Regel 3: Setzen Sie geschickte Filter ein. Das Stichwort Money im Betreff bedeutet meist Junk.
 
 PC Magazin, Nr. 6/2000, S. 162

Verfasser: Andreas
Letzte Änderung: 2012-03-08 17:49


Kicking

Bei Nutzern, die unerwünschte Daten hochladen, wird die Verbindung getrennt. Weitere Verstöße gegen Netiquette (Verhaltensregeln im Netz) werden mit Banning bestraft.
 
 PC Magazin, Nr. 11/98, S. 259

Verfasser: Andreas
Letzte Änderung: 2012-03-08 17:50


Koaxialkabel

Dieses Kabel hat einen runden Querschnitt, in dessen Mitte sich ein Draht (massiv oder flexibel) befindet. Der Draht ist von einem Material umgeben, das eine gute elektrische Isolation besitzt. Um diese Isolation ist ein Drahtgeflecht, das die Masseverbindungen herstellt. Je besser das Material, desto schnellere Datenübertragungsraten sind im Netzwerk möglich. Damit steigt aber auch der Preis des Kabels.
 
 PCgo!, Nr. 3/99, S. 48

Verfasser: Andreas
Letzte Änderung: 2012-03-08 17:50


Kollisionen

Wenn zwei Stationen im Netzwerk gleichzeitig Pakete senden, kollidieren diese auf dem Kabel, das heißt, keines der Pakete kann zugestellt werden. Die Stationen warten dann eine zufällige Zeitspanne ab und senden erneut. Senden zu viele Stationen gleichzeitig, bricht das Netzwerk zusammen.
 
 PC Magazin, Nr. 12/2000, S. 155

Verfasser: Andreas
Letzte Änderung: 2012-03-08 17:51


Lamer

Englischer Begriff für Langweiler/Versager. Das ist ein Nutzer, der am Thema vorbeiredet, geringes Wissen vorweist und jedes Fettnäpfchen findet. Er wird in der Regel verbannt (Banning).
 
 PC Magazin, Nr. 11/98, S. 259

Verfasser: Andreas
Letzte Änderung: 2012-03-08 17:51


LAN

Local Area Network. Rechnerverbund, der nicht über eine Leitung an die Außenwelt gekoppelt ist.
 
 PC Magazin, Nr. 5/99, S. 114

Verfasser: Andreas
Letzte Änderung: 2012-03-08 17:52


LDAP

Das ist die Abkürzung für "Lightweight Directory Access Protocol", dem Protokoll für den Zugriff auf Verzeichnisdienste. Mit den Verzeichnisdiensten können Sie Personen auf der ganzen Welt finden, vorausgesetzt, sie haben sich bei diesem Dienst registriert oder wurden registriert.
 
 PCgo!, Nr. 4/99, S. 138

Verfasser: Andreas
Letzte Änderung: 2012-03-08 17:52


LDCM

Akronym für LANDesk Client Manager. Ein Software-Paket von Intel, mit dem sich die installierte Hardware der PCs in einem Netzwerk einfach überwachen und kontrollieren läßt. Auch für den Einzelplatz-PC ist LDCM interessant, weil das Programm detaillierte Hardware auflistet. In Verbindung mit der System-Monitoring-Funktion einiger Mainboards werden auch gleich kritische Betriebswerte gemeldet. Voraussetzung für den Einsatz des LDCM ist, daß der zu überwachende PC über ein DMI-kompatibles BIOS verfügt.
 
 PC Magazin, Nr. 12/97, S. 156

Verfasser: Andreas
Letzte Änderung: 2012-03-08 17:52


Leecher

Nutzer von Newsgroups, die ausschließlich Dateien herunterladen und niemals posten.
 
 PC Magazin, Nr. 10/2002, S. 47

Verfasser: Andreas
Letzte Änderung: 2012-03-08 17:53


Link

LED an der Netzwerkkarte oder am Hub, die die Aktivität der Karte anzeigt. Leuchtet die Link-LED in unregelmäßigen Abständen auf, besteht eine Netzwerkverbindung. Leuchtet sie überhaupt nicht, besteht wahrscheinlich keine Verbindung. Leuchtet sie ständig, ist die Karte vermutlich defekt.
 
 PC Magazin, Nr. 12/2000, S. 155

Verfasser: Andreas
Letzte Änderung: 2012-03-08 17:53


LMHOSTS

Statische Textdatei zur Auflösung von NetBIOS-Namen in IP-Adressen. Kann in kleinen Netzen anstelle eines WINS-Servers eingesetzt werden. Wie HOSTS-Dateien muß auch die LMHOSTS-Datei von Hand gepflegt werden.
 
 PC Magazin, Nr. 3/2000, S. 230

Verfasser: Andreas
Letzte Änderung: 2012-03-08 17:54


Logon

Logon ist der Anmeldevorgang beim Computer mit Namen und Paßwort. Das Abmelden heißt "Logoff". Das System hat damit die Möglichkeit festzustellen, ob Sie berechtigt sind, mit ihm zu arbeiten, und wie lange Sie "eingeloggt" waren.
 
 PCgo!, Nr. 1/99, S. 98

Verfasser: Andreas
Letzte Änderung: 2012-03-08 17:54


LWL

Lichtwellenleiter. Ein anderes Wort für Glasfaserkabel.
 
 PC Magazin, Nr. 12/2003, S. 189

Verfasser: Andreas
Letzte Änderung: 2012-03-08 17:55


Mail-Dienst

Er ermöglicht E-Mails - mit einer Anbindung an einen ISP sogar weltweit.
 
 PC Magazin, Nr. 8/97, S. 207

Verfasser: Andreas
Letzte Änderung: 2012-03-08 17:55


Mailinglisten

Mailinglisten sind auch eine Art Diskussionsforum. Man kann sich in diese Listen eintragen und bekommt dann alle Mails, die von anderen eingetragenen Nutzern an diese Liste geschrieben werden. Selbst kann man sich natürlich auch an der Liste beteiligen. Der Brief geht dann an alle angemeldeten Teilnehmer.
 
 PCgo!, Nr. 7/99, S. 177

Verfasser: Andreas
Letzte Änderung: 2012-03-08 17:55


MIME

Multi-Purpose Internet Mail Extensions (siehe Attachment). Dateianhang für E-Mails mit umgewandeltem Textformat, gängige Verfahren: UUEncode, UUDecode, Binhex und MIME als Standard.
 
 PC Magazin, Nr. 10/98, S. 80

Verfasser: Andreas
Letzte Änderung: 2012-03-08 17:56


MPOA

Multi-Protocol-Over-ATM; integriert alle gängigen Netzwerkprotokolle unter ATM; also bespielsweise Eternet, Token Ring und FDDI.
 
 PC Magazin, Nr. 12/97, S. 308

Verfasser: Andreas
Letzte Änderung: 2012-03-08 17:56


MPPE

Abk. für Microsoft Point-to-Point-Encryption; in Windows integriertes Verschlüsselungsprotokoll, das etwa bei VPN zum Einsatz kommt. Über das Internet verbindet es mehrere LANs miteinander.
 
 PC Magazin, Nr. 4/2000, S. 100

Verfasser: Andreas
Letzte Änderung: 2012-03-08 17:57


MPSL

Multi-Protocol-Label-Switching; WAN-Protokoll, das sie Skalierbarkeit von Switches gewährleisten soll
 
 PC Magazin, Nr. 12/97, S. 308

Verfasser: Andreas
Letzte Änderung: 2012-03-08 17:57


Multipart-Posting

Große Binärdateien werden normalerweise in kleinen Häppchen upgeloaded. Dies hängt mit der teilweise schlechten Übertragungsqualität zusammen. Um bei einem eventuellen Time-out nicht die ganze Datei zu verlieren, werden die Binaries getrennt.
 
 PC Magazin SPEZIAL, Nr. 3/98, S. 51

Verfasser: Andreas
Letzte Änderung: 2012-03-08 17:57


Nachverfolgung

Sie haben im Mail-Protokoll zwei Möglichkeiten, die Herkunft von Briefen festzustellen: Sie bekommen eine Nachricht, wenn dem Empfänger die Mail zugestellt worden ist und wenn er sie gelesen hat. Allerdings kann jeder Empfänger dies unterbinden. Das ist anzuraten, insbesondere im Hinblick auf Junk-Mail.
 
 PC Magazin, Nr. 6/2000, S. 162

Verfasser: Andreas
Letzte Änderung: 2012-03-08 17:58


Namensauflösung

Die Namensauflösung beschreibt den Vorgang des Findens einer IP-Adresse anhand eines Namens. In Windows-Netzen gibt es zwei Typen von Namen: NetBIOS- und Host-Namen.
 
 PC Magazin, Nr. 3/2000, S. 230

Verfasser: Andreas
Letzte Änderung: 2012-03-08 17:58


NAT

Abk. für Network Address Translation. NAT ermöglicht den PCs im LAN, die IP-Adresse des Internet-Access-Routers für den Internet-Zugang zu nutzen, und versteckt andererseits das LAN hinter der im Internet registrierten IP-Adresse des Routers. NAT erübrigt separate Providerverträge für jeden Anwender. So funktioniert es: Schickt eine Station im LAN ein IP- Paket an den Router, wandelt NAT die Adresse des Absenders in eine gültige IP-Adresse um (die ihm etwa der Provider zugeteilt hat), bevor er es ins Internet schickt. Kommt von der entfernten Station eine Antwort auf dieses Paket zurück, wandelt NAT die Empfängeradresse in die ursprüngliche IP-Adresse der lokalen Station um und stellt das Paket ordnungsgemäß zu. Theoretisch kann NlAT LANs mit beliebig vielen Clients verwalten.
 
 PC Magazin, Nr. 4/2000, S. 100

Verfasser: Andreas
Letzte Änderung: 2012-03-08 17:59


NDIS

Network Device Interface Specification. Standard für die Anbindung von Netzwerkkarten (Hardware) an Netzwerkprotokolle (Software). NDIS WAN ist eine Microsoft-Erweiterung dieses Standards in bezug auf Wide Area Networking (WAN).
 
 PC Magazin, Nr. 10/98, S. 80

Verfasser: Andreas
Letzte Änderung: 2012-03-08 17:59


NetBEUI

Die Bezeichnung steht für Net-BIOS Extended User Interface und bezeichnet eine erweiterte Anwenderschnittstelle für Net-BIOS. Dabei handelt es sich um ein einfaches, aber nützliches Protokoll, das ab Windows und Windows NT ins Betriebssystem integriert ist. Vor allem für kleine Netzwerke bietet sich dieses Protokoll an. Es erlaubt allerdings keine weitere Konfiguration.
 
 PCgo!, Nr. 3/99, S. 49

Verfasser: Andreas
Letzte Änderung: 2012-03-08 18:00


NetBIOS

Einfache Programmierschnittstelle zur Kommunikation zwischen Anwendungen in einem Windows-Netzwerk. Wichtig sind die NetBIOS-Namen, wie zum Beispiel der Rechnername. NetBIOS-Namen dürfen maximal 15 Zeichen lang sein. Dies ist für größere und komplexe Netze oft zu wenig, weswegen man besser DNS-Namen verwendet. Diese sind auch besser strukturierbar.
 
 PC Magazin, Nr. 3/2000, S. 230

Verfasser: Andreas
Letzte Änderung: 2012-03-08 18:00


NetBIOS-Proxy

Dient der Kopplung von Peer-to-Peer-Netzwerken mit dem Microsoft-Protokoll NetBIOS. Vermeidet unnötigen Verbindungsaufbau, da Anfragen nach bekannten PCs lokal beantwortet werden.
 
 PC Magazin, Nr. 4/2000, S. 100

Verfasser: Andreas
Letzte Änderung: 2012-03-08 18:00


Netiquette

Das Wort Netiquette setzt sich aus Net und Etiquette zusammen und enthält als eine Art Online-Knigge die wichtigsten Grundregeln für den verantwortungsvollen Umgang mit anderen Teilnehmern im Netz.
 
 PCgo!, Nr. 7/99, S. 176

Verfasser: Andreas
Letzte Änderung: 2012-03-08 18:01


Netzwerk-Dienste

Noch immer ist es die Hauptaufgabe jedes Netzwerk- Servers, Dateien zu speichern und zu verwalten. An zweiter Stelle folgen die Druckdienste, bei denen der Server die Druckjobs der Arbeitsstationen entgegennimmt und auf einen Netzwerkdrucker weiterleitet. Dieser ist am Server angeschlossen oder über eine integrierte Schnittstelle an einer beliebigen Stelle im Netz. Zudem machen folgende Dienste Ihr Netzwerk effizient: Fax-Dienst, Web-/FTP-Dienst, Mail-Dienst, Remote-Dienst, Telefonie-Dienst, Backup-Dienst, CD-ROM-Dienst, Security- Dienst, Automations-Dienst)
 
 PC Magazin, Nr. 8/97, S. 207

Verfasser: Andreas
Letzte Änderung: 2012-03-08 18:02


Netzwerk-Topologie

Physikalische Architektur eines Netzwerks (Ring-, Bus-, und Stern-Topologie). Kabeltyp und Kabellänge sind nicht nur von der Topologie abhänig; auch die Netzwerk-Technologie (Ethernet, Token- Ring) etc. spielt eine Rolle. Die beiden in Deutschland am meisten verbreiteten sind 10Base2 und 10BaseT.
 
 PC Magazin, Nr. 8/97, S. 207

Verfasser: Andreas
Letzte Änderung: 2012-03-08 18:02


Netzwerkprotokoll

Ein Netzwerkprotokoll hat die Aufgabe, für den reibungslosen Datenaustausch in einem Netzwerk zu sorgen. In der Praxis existieren verschiedene Netzwerkprotokolle für verschiedene Anwendungsgebiete.
 
 PCgo!, Nr. 3/99, S. 50

Verfasser: Andreas
Letzte Änderung: 2012-03-08 18:02


NFO

Info-Dateien in Newsgroups mit Angaben zum Inhalt des Postings.
 
 PC Magazin, Nr. 10/2002, S. 47

Verfasser: Andreas
Letzte Änderung: 2012-03-08 18:03


NIC

Abk. für Network Interface Card. Bezeichnung für eine Netzwerkkarte.
 
 PC Magazin, Nr. 12/2000, S. 155

Verfasser: Andreas
Letzte Änderung: 2012-03-08 18:03


Nick

Bezeichnung für Nickname, Spitzname.
 
 PC Magazin, Nr. 10/2002, S. 47

Verfasser: Andreas
Letzte Änderung: 2012-03-08 18:04


NNTP

Das "Network News Transfer Protocol", das bei der Übertragung von Usenet-Artikeln eingesetzt wird, ist in der RFC (Abk. für Request for Comments) 977 aus dem Jahre 1986 folgendermaßen definiert: "NNTP spezifiziert ein Protokoll, das Verbreitung, Anfrage, Empfang und Veröffentlichung von Newsartikeln regelt, die auf Basis einer verläßlichen, kontinuierlichen Datenübertragung [..] stattfindet. NNTP ist so aufgebaut, daß Newsartikel in einer zentralen Datenbank gespeichert werden, die es dem Benutzer erlaubt, die gewünschten Artikel explizit auszuwählen. Die Aufnahme in ein Verzeichnis, die Angabe von Querverweisen sowie das Ablaufdatum älterer Nachrichten sind ebenfalls vorgesehen." Das komplette Dokument finden Sie unter "http://nswt.tuwien.ac.at/Connected/RFC/977/index.html". Die eigentliche Kommunikation zwischen Newsclient und Server erfolgt durch gesendete Requests, die von der Gegenstelle mit einem Zahlen-Code beantwortet werden. Rufen Sie bespielsweise die komplette Liste aller Newsgroups ab, sendet der Reader "LIST" und erhält als Anwort den Code "215" - die Liste der Newsgroups folgt.
 
 PC Magazin SPEZIAL, Nr. 3/98, S. 50

Verfasser: Andreas
Letzte Änderung: 2012-03-08 18:04


OSI

Open-Systems-Interconnection-Referenzmodell; Standard, der die Netzdienste gliedert (siehe OSI-Modell).
 
 PC Magazin, Nr. 12/97, S. 308

Verfasser: Andreas
Letzte Änderung: 2012-03-08 18:18


OSI-Modell

OSI steht für Open Systems Interconnection und teilt die Kommunikation im Netzwerk in unterfschiedliche Hierarchiestufen ein. Ziel des Modells ist es, den Datenaustausch in bestimmte Dienste einzuteilen. Besonders in heterogenen Netzwerken kann das Modell hilfreich sein. OSI geht von der Anwendungsschicht immer mehr in die technischen Details bis zur Bitübertragungsschicht. Die obersten drei Schichten sind anwendungsorientiert, die unteren vier transportorientiert. Jede Schicht beauftragt die darunterliegende. Die kann ihrerseits die nächsttiefere Schicht mit einer Aufgabe betrauen. Die unterste, die Bitübertragungsschicht, legt fest, wie die Daten übertragen werden sollen, welchem Spannungspegel eine logische 1 entspricht und welche Kabel zum Einsatz kommen. Kurz: alles was nötig ist, um ein Bit von A nach B zu schicken. Die Sicherheitsschicht faßt Bits zu sogenannten Rahmen oder Frames zusammen und versieht sie mit Prüfsummen. So ist sichergestellt, daß die Daten den Empfänger ordnungsgemäß erreichen. Die Vermittlungsschicht legte den Weg eines Datenblocks fest. Diese Schicht ist die Verkehrsleitzentrale: Bei einem Datenstau leitet sie die Daten um. In der Transportschicht werden Übertragungsfehler korrigiert, und in der Sitzungsschicht die Kommunikation zwischen mehreren Partnern synchronisiert. Die Darstellungsschicht sorgt dafür, daß Daten gegebenenfalls umgewandelt werden. Beispielsweise sind hier die Codierung von Zeichensätzen, die Verschlüsselung und die Komprimierung angesiedelt. In der Anwendungsschicht liegen schließlich die Dienstprogramme, die über eine Netzwerk-Verbindung ausgeführt werden.
 
 PC Magazin, Nr. 2/98, S. 78

Verfasser: Andreas
Letzte Änderung: 2012-03-08 18:18


Paket-Filter

Entscheidet anhand der im Header von IP-Paketen enthaltenen Adressen, was mit dem Paket zu geschehen hat (verwerfen, witerleiten, zurückweisen etc.). Ein Paket-Filter bietet einen Basisschutz gegen Hackerangriffe und verhindert, daß bestimmte Websites aufgerufen werden.
 
 PC Magazin, Nr. 4/2000, S. 100

Verfasser: Andreas
Letzte Änderung: 2012-03-08 18:19


PAR

Ergänzungsdateien auf Newsservern, mit denen sich fehlende Teile eines Postings rekonstruieren lassen.
 
 PC Magazin, Nr. 10/2002, S. 47

Verfasser: Andreas
Letzte Änderung: 2012-03-08 18:19


Peer-To-Peer

Dieser Begriff bezeichnet ein Netzwerk, in dem alle Rechner den gleichen Rang haben. Kein Rechner ist einem anderen übergeordnet. Ihr Vorteil ist der einfache Aufbau und es müssen keine besonderen Kenntnisse im Bereich Netzwerk vorhanden sein. Der Nachteil ist vor allem in der relativ geringen Sicherheit vor unbefugten Datenzugriffen zu sehen.
 
 PCgo!, Nr. 3/99, S. 49
 
 Anders als beim Client-Server-Konzept, in dem viele Clients mit einem zentralen Server kommunizieren, sind Peer-to-Peer-Netzwerke (P2P) dezentral aufgebaut. Jeder Client ist also auch gleichzeitig ein kleiner Server. Obwohl jeder "Peer" im Vergleich zu einem großen Server nur sehr begrenzte Resourcen besitzt, ergibt die Summe der Peers ein leistungsfähiges Netzwerk, das sich z.B. sehr gur für große Downloads eignet. Weniger leistungsfähig sind P2P-Netze, wenn es darum geht herauszufinden, bei welchem Peer sich bestimmte Dateien befinden. Deswegen setzen viele Programme (z.B. Napster oder Soulseek) zu diesem Zweck einen zentralen Index Server ein.
 
 Quelle: Linux User 4/2003

Verfasser: Andreas
Letzte Änderung: 2012-03-08 18:20


Personalisieren

Viele Shops erkennen Kunden wieder und bieten ihnen spezielle Dienste an. Das funktioniert über Cookies.
 
 PC Magazin, Nr. 12/99, S. 79

Verfasser: Andreas
Letzte Änderung: 2012-03-08 18:20


Ping

Wie ein Echolot kann der Befehl Ping eine beliebige Internet-Adresse anklingeln und erhält eine Antwort, wenn ein Rechner mit der IP-Adresse existiert.
 
 PC Magazin, Nr. 4/2000, S. 100

Verfasser: Andreas
Letzte Änderung: 2012-03-08 18:20


POP vor SMTP

SMTP-Server fordern meist kein Passwort für den Versand von Mails. Das öffnet Junk-Mailern alle elektronischen Türen, um ihre lästigen Massenmails zu verschicken. Freie Server wie GMX verlangen, dass sich Benutzer mit Kennung und Passwort identifizieren. Für Mail-Programme, die das nicht unterstützen, gibt es auf der Homepage von GMX ein spezielles Tool, das die Authentifizierung erledigt.
 
 PC Magazin, Nr. 6/2000, S. 162

Verfasser: Andreas
Letzte Änderung: 2012-03-08 18:21


POP3

Abk. für Post Office Protocol 3. Verbreitetes Protokoll, über das ein E-Mail-Programm beim Anwender bei einer bestehenden Internet-Verbindung neue Nachrichten vom Mail-Server des Providers abholt.
 
 PC Magazin, Nr. 10/98, S. 80

Verfasser: Andreas
Letzte Änderung: 2012-03-08 18:21


Port-Scanner

Software, um in Netzwerken festzustellen, welche Ports auf welchen Servern aktiv sind. In kleinen Netzwerken lassen sich damit aller Server-Aktivitäten finden, ab einer bestimmten Netz-Größe ist die Rechenzeit jedoch noch zu lang.
 
 PC Magazin, Nr. 11/98, S. 259

Verfasser: Andreas
Letzte Änderung: 2012-03-08 18:21


Ports

Ihr PC kommuniziert mit einem beliebigen Internet-Rechner über Ports. Wenn Sie eine Webseite laden, benutzt Ihr Browser Port 80, beim Laden von Dateien von einer FTP- Site die Ports 20 und 21. Jedem Dienst und jeder Anwendung sind ein oder mehrere Ports zugeordnet. Die unteren Ports von 0 bis 1023 sind für die Systemdienste des PC reserviert, die oberen von 1024 bis 65535 werden für Anwendungen gebraucht.
 Die Systemports sind häufiger offen und können leichter geknackt werden als die Anwendungsports, die nur so lange geöffnet sind, wie eine Anwendung läuft. Jeder Port ist entweder vom Typ UDP oder vom Typ TCP. Beides sind Protokolle zum Transport von Daten. UDP verfügt nicht über ein Fehlerkorrekturverfahren wie TCP, deswegen wird es eingesetzt, wenn verlorene Pakete akzeptabel sind, zum Beispiel bei Streaming-Anwendungen wie Real-Audio. Zusammen mit der IP-Adresse bildet ein Port ein Socket, das zum Herstellen einer Verbindung dient.
 Bei Angriffen aus dem Internet wird meistens zuerst festgestellt, welche Ports geöffnet sind (Portscanner). Der Hacker weiß dann, welche Anwendungen oder Dienste auf dem Zielsystem laufen und kann versuchen, bekannte Schwächen auszunutzen.
 
 PC Magazin, Nr. 11/2000, S. 70

Verfasser: Andreas
Letzte Änderung: 2012-03-08 18:22


Portscanner

Sie scannen die Ports (es gibt 65536 = 216) eines Rechners im Internet. Über die Ports werden Verbindungen zwischen Rechnern im Internet hergestellt. Ports sind geschlossen oder offen. Damit eine Verbindung hergestellt werden kann, muss der Port geöffnet sein. Zweck der Portscanner ist es, herauszufinden, welche Ports offen sind, also für eine Verbindungsaufnahme zur Verfügung stehen. Über offene Ports kann ein Einbruchsversuch erfolgen.
 
 PC Magazin, Nr. 11/2000, S. 72

Verfasser: Andreas
Letzte Änderung: 2012-03-08 18:22


Posting

Das Abschicken eines Artikels in eine Newsgroup.
 
 PC Magazin SPEZIAL, Nr. 3/98, S. 51

Verfasser: Andreas
Letzte Änderung: 2012-03-08 18:23


PPP

Point to Point Protocol wird verwendet, um die Konfigurationsparameter mehrerer Schichten zwischen zwei Netzknoten auszutauschen. Es dient dem Netzzugang für entfernte Rechner.
 
 PC Magazin, Nr. 4/99, S. 225

Verfasser: Andreas
Letzte Änderung: 2012-03-08 18:23


PPTP

Point to Point Tunneling Protocol wird für virtuelle private Netzwerke (VPN) verwendet. Das VPN verwendet das öffentliche Internet als Transportmedium - der private Teil entsteht durch die in PPTP eingebaute Verschlüsselung.
 
 PC Magazin, Nr. 4/99, S. 225

Verfasser: Andreas
Letzte Änderung: 2012-03-08 18:23


Proxy

Einem Festplatten-Cache vergleichbar. Wenn Sie eine Web- Site laden wollen, prüft der Proxy-Server Ihres Providers, ob die Daten auf seiner lokalen Festplatte zwischengespeichert sind. Wenn ja, erhalten Sie die Site von diesem Server.
 
 PC Magazin, Nr. 10/98, S. 80

Verfasser: Andreas
Letzte Änderung: 2012-03-08 18:24


Quad

Eine Internet-Adresse besteht aus vier Quads, die mit einem Punkt voneinander getrennt sind (etwa 194.111.111.123).
 
 PC Magazin, Nr. 4/2000, S. 100

Verfasser: Andreas
Letzte Änderung: 2012-03-08 18:24


RAS

Der Remote Access Service verbindet Computer über das DFÜ- Netzwerk. Betriebssysteme, die nicht über ein DFÜ- Netzwerk verfügen - wie OS/2 und Windows 3.11 - brauchen einen RAS-Treiber, um Rechner per Telefonleitung zu verbinden.
 
 PC Magazin, Nr. 10/98, S. 80

Verfasser: Andreas
Letzte Änderung: 2012-03-08 18:25


RE

Markiert in der Subject-Zeile eine Antwort auf die folgende Frage in einem Newsgroupartikel.
 
 PC Magazin SPEZIAL, Nr. 3/98, S. 51

Verfasser: Andreas
Letzte Änderung: 2012-03-08 18:25


Remote-Dienst

Mitarbeiter zu Hause, im Außendienst oder in kleinen Filialen arbeiten per Remote-Verbindung auf dem firmeneigenen Server. Sie vermeidet doppelte Datenhaltung und sorgt für aktuelle Daten.
 
 PC Magazin, Nr. 8/97, S. 207

Verfasser: Andreas
Letzte Änderung: 2012-03-08 18:25


Replikation

Replikation bezeichnet die Verwaltung mehrerer Kopien einer Datenbank. Die verschiedenen Kopien können unabhängig voneinander bearbeitet werden, werden dann aber repliziert, das heißt miteinander verglichen und damit auf den neuesten Stand gebracht.
 
 PCgo!, Nr. 4/99, S. 138

Verfasser: Andreas
Letzte Änderung: 2012-03-08 18:26


REQ

Markiert in der Subject-Zeile eine Anfrage in einem Newsgroupartikel.
 
 PC Magazin SPEZIAL, Nr. 3/98, S. 51

Verfasser: Andreas
Letzte Änderung: 2012-03-08 18:26


Ring-Topologie

Hier ist jedes Netzwerkgerät sowohl mit dem rechten als auch mit dem linken Nachbarn verbunden. Der Nachbar des "letzten" Geräts ist gleichzeitig der Nachbar des "ersten".
 
 PC Magazin, Nr. 8/97, S. 207

Verfasser: Andreas
Letzte Änderung: 2012-03-08 18:27


Router

Hard- oder Software, die eine Verbindung zwischen verschiedenen Netzen herstellt. Meistens passiert ein Datenpaket im Internet eine ganze Serie von Routern.
 
 PC Magazin, Nr. 10/98, S. 80

Verfasser: Andreas
Letzte Änderung: 2012-03-08 18:27


S/MIME

Unabhängig davon, ob eine Mail sensible Informationen enthält oder nicht, wollen die meisten Anwender sichergehen, daß Nachrichten nicht abgefangen und von unberechtigten Personen gelesen werden. Als bislang sicherste Methode gilt die Verschlüsselung mit PGP. In der Praxis kommt PGP aber eher selten zum Einsatz, denn dieser Verschlüsselungsmethode haftet immer noch der Ruf einer wenig benutzerfreundlichen Technik an - auch wenn dem längst nicht mehr so ist. Ein relativ neues Protokoll soll nun den Weg zum sicheren E-Mail-Austausch ebnen: S/MIME (Secure Multipurpose Internet Massage Extensions). Die Chancen stehen gut, da zwei wichtige Anbieter von E-Mail-Lösungen S/MIME in bereits verfügbaren Anwendungen implementiert haben, insbesondere Microsoft in Outlook Express und Netscape in seinem Messanger. Zwei wichtige Markmale kennzeichen S/MIME: Privacy - nur der richtige Empfänger kann die Nachricht lesen - und Authentizität, das heißt, der Empfänger kann sicher sein, daß die Nachricht auch vom notierten Absender stammt. Die Verschlüsselungstechnik verwendet digitale IDs und nutzt MIME für die Strukturierung von Nachrichten. Eine digitale ID besteht aus einem öffentlichen und einem privaten Schlüssel sowie einer digitalen Signatur. Bevor verschlüsselte oder digital signierte Nachrichten versendet werden können, benötigt man zunächst eine digitale ID. Die gibt es beispielsweise von Veri Sign unter www.versign.com.
 
 PC Magazin, Nr. 8/99, S. 92

Verfasser: Andreas
Letzte Änderung: 2012-03-08 18:27


SATAN

Programmpaket zum Aufspüren von Sicherheitslöchern in Netzwerken.
 
 PC Magazin, Nr. 10/98, S. 80

Verfasser: Andreas
Letzte Änderung: 2012-03-08 18:28


Security-Dienst

Auf dem Server arbeiten Antiviren-Scanner, die pausenlos ein- und ausgehende Dateien prüfen. Zusätzlich werden die Arbeitsstationen beim Anmelden gescannt. Das zentrale (Server-)Update sorgt für aktuelle Viren- Signatur-Dateien.
 
 PC Magazin, Nr. 8/97, S. 207

Verfasser: Andreas
Letzte Änderung: 2012-03-08 18:28


Server

Zentraler Rechner, der anderen Rechnern (Clients) Daten zugänglich macht. Im Internet gibt es Server für WWW- Seiten, E-Mail, IRC, FTP, Newsgroups und Domain-Namen. Fast alle Dienste des Internet basieren auf diesem Client/Server-Prinzip.
 
 PC Magazin, Nr. 10/98, S. 80
 

Verfasser: Andreas
Letzte Änderung: 2012-03-08 18:29


Share

Freigegebene Verzeichnisse heißen Shares (Freigegeben). Ebenso gibt es die Drucker- und Modem-Shares.
 
 PC Magazin, Nr. 5/99, S. 114

Verfasser: Andreas
Letzte Änderung: 2012-03-08 18:29


Shares

Auf Deutsch: Ordnerfreigaben; Ordner, die für den Zugriff über ein Netzwerk freigegeben werden. Bei Windows- Freigaben in einem LAN sollte der NetBIOS-Port 139 für den Zugriff über das Internet beobachtet werden. Die meisten Firewalls bieten Optionen ür diesen Schutz.
 
 PC Magazin, Nr. 7/2001, S. 139

Verfasser: Andreas
Letzte Änderung: 2012-03-08 18:29


SLIP

Das Serial Line Internet Protocol ist ein veraltetes Protokoll, das Netzzugänge für entfernte Rechner gestattet.
 
 PC Magazin, Nr. 4/99, S. 225

Verfasser: Andreas
Letzte Änderung: 2012-03-08 18:30


SMNP

Simple Network Management Protocol; Router, die CMIP oder SMNP unterstützen, erfüllen eine der Voraussetzungen für ein zentrales Netzwerk-Management.
 
 PC Magazin, Nr. 12/97, S. 308

Verfasser: Andreas
Letzte Änderung: 2012-03-08 18:30


SMTP

Mit dem Simple Mail Transfer Protocol übertragen E-Mail- Programme Daten an den Mail-Server des Providers. Dieser leitet die E-Mail - über Zwischenstationen - an den Mail- Server des Empfängers weiter.
 
 PC Magazin, Nr. 10/98, S. 80

Verfasser: Andreas
Letzte Änderung: 2012-03-08 18:30


Sniffing

Ausspionieren von Daten, meistens von IP-Paketen. Manche Paket-Sniffer können Adressen in IP-Paketen ändern und damit diese Daten umleiten.
 
 PC Magazin, Nr. 10/98, S. 80

Verfasser: Andreas
Letzte Änderung: 2012-03-08 18:31


SNMP

Mit dem Simple Network Management Protocol (SNMP) werden Fehlermeldungen, so genannte Traps, von Netzwerkgeräten an eine zentrale Instanz gesendet - den SNMP-Manager. Auf den zu überwachenden Geräten laufen so genannte Agenten: Software, die bestimmte Eigenschaften des Geräts überwacht. Bei Printservern ist das zum Beispiel Papierstau am Drucker oder Tonermangel. Was genau überwacht wird, steht in der IB (Management Information Base), einer standardisierten Datenbank, die der Hersteller des zu überwachenden Geräts liefert.
 
 PC Magazin, Nr. 2/2001, S. 140

Verfasser: Andreas
Letzte Änderung: 2012-03-08 18:31


Sockets

Sockets stammen ursprünglich aus dem BSD-UNIX (Berkley Software Distribution) und wurden später von Microsoft in einer adaptierten Form als Windows-Sockets 1.1 übernommen. Bei der Adaption blieb allerdings die volle Kompatibilität auf der Strecke. Seit Windows NT 4 gibt es die Sockets in einer mit BSD kompatibleren Version 2, die außerdem einige andere Probleme der Sockets 1.1 behebt. Sockets dienen als Interface zu einem Netzwerkprotokoll, nicht als Protokoll selbst. Im Fall der Windows-Sockets 1.1 können die Sockets ausschließlich als Interface zu TCP/IP verwendet werden., Sockets 2 sind protokollunabhängig. Der Sinn dieses Interface ist in erster Linie darin zu finden, daß der Programmierer sich nicht mit den Details der Netzwerkkommunikation auseinandersetzen muß, sondern einen Satz an Funktionen und Datentypen zur Verfügung hat, die das darunterliegende Protokoll nahezu unsichtbar machen. Im Klartext: ein Socket ist der Endpunkt einer Kommunikationsleitung und dient als Objekt, das dazu verwendet werden kann, mit anderen Socket-Anwendungen im Netzwerk zu kommunizieren, ohne daß man sich um das Protokoll zu kümmern braucht. Konsequenterweise können BSD-Socket-Handles immer als File-Handles betrachtet werden, aus denen gelesen beziehungsweise in die geschrieben werden kann. Bei Windows-Sockets ist dies zwar nicht möglich (auch bei Sockets 2 nur zum Teil), trotzdem ist die Verwendung von Sockets oder Socket-Handles zum Lesen und Schreiben von Daten analog zum Lesen und Schreiben von Daten aus Dateien. Im Kern wird dabei ein Socket unter Angabe einer IP-Adresse und einer Port-Nummer erzeugt. Die IP-Adresse bestimmt dabei den Rechner, auf dem der Socket angelegt wird, die Port-Nummer bestimmt den logischen Namen des Socket (analog: den Dateinamen). Der erzeugte Socket dient dann als Handle, an das verschiedene Funktionen zum Lesen und Schreiben von Daten gesendet werden können (analog: Read-File(aFile- Handle, &dest, sizeof(dest)). Zusätzlich stehen verschiedene Socket-Modi zur Verfügung. Ein Socket kann zum Beispiel darauf warten, daß mit ihm Kontakt aufgenommen wird. Diese Socket-Typen werden typischerweise für die Server-Seite der Socketverbindung verwendet.
 
 PC Magazin, Nr. 7/97, S. 282

Verfasser: Andreas
Letzte Änderung: 2012-03-08 18:32


Spam

Spam ist Datenmüller wie beispielsweise Werbung. "Gute" Server lassen Anti-Spam-Software laufen, um sich davor zu schützen.
 
 PC Magazin, Nr. 10/98, S. 80

Verfasser: Andreas
Letzte Änderung: 2012-03-08 18:32


Spyware

Programme, die auf dem PC des Anwenders laufen und immer dann, wenn der Rechner online ist, beliebige Informationen versenden (im Jargon auch "nach Hause telefonieren" genannt). Es gibt immer wieder hitzige Debatten darüber, was an wen versendet wird und ob eine Verletzung der Privatsphäre vorliegt. Nachweise sind aber bisher nur selten erbracht worden.
 
 PC Magazin, Nr. 11/2000, S. 72

Verfasser: Andreas
Letzte Änderung: 2012-03-08 18:33


SSL

Secure Socket Layer (vgl. Weis, Rüdiger: Sichere Datenübertragung mit Secure Socket Layer, in: PC Magazin, Nr. 4/97, S. 232). Von Netscape entwickeltes Protokoll zur Sicherung von Internet-Verbindungen. Es sorgt für Vertraulichkeit, Integrität und Authentizität der Verbindung. Bei diesem Satz an Client-Server-Protokollen wird während des Verbindungsaufbaus der öffentliche Schlüssel des Servers überprüft. Heutige Browser unterstützen SSL, die Schlüssellänge beträgt meist 40 Bit. Als sicher gilt unter Experten allerdings erst 128 Bits.
 
 PC Magazin, Nr. 4/97, S. 262
 PC Magazin, Nr. 12/99, S. 96

Verfasser: Andreas
Letzte Änderung: 2012-03-08 18:33


Stealth Mode

Anfragen aus dem Internet an die eigenen Ports müssen normalerweise beantwortet werden, egal ob eine Verbindung hergestellt werden kann oder nicht. Ports im Stealth-Mode ignorieren diese Anfragen und "verstecken" das System. Von außen sieht es so aus, als ob das System gar nicht vorhanden wäre.
 
 PC Magazin, Nr. 11/2000, S. 72

Verfasser: Andreas
Letzte Änderung: 2012-03-08 18:33


Stealth Scan

Portscan, der vom Opfer nicht entdeckt wird.
 
 PC Magazin, Nr. 5/2000, S. 166

Verfasser: Andreas
Letzte Änderung: 2012-03-08 18:34


Stern-Topologie

Sie benötigt von jedem Netzwerkgerät eine Leitung zu einem Knotenpunkt. Am Knotenpunkt verbinden aktive Verkabelungskomponenten die Leitungen.
 
 PC Magazin, Nr. 8/97, S. 207

Verfasser: Andreas
Letzte Änderung: 2012-03-08 18:34


STP

Abk. für Shielded Twisted Pair. Abgeschirmtes TP-Kabel.
 
 PC Magazin, Nr. 12/2000, S. 155

Verfasser: Andreas
Letzte Änderung: 2012-03-08 18:35


Subnet-Mask

Adressiert Subnetze durch Maskieren von IP-Adressbits. Sie gibt die Größe des Subnetzes an. Innerhalb eines Subnetzes können Daten direkt von Rechner zu Rechner übertragen werden, ohne eine Verbindung über einen Router bzw. ein Gateway herstellen zu müssen. Die Subnet- Mask besteht wie eine IP-Adresse aus vier Quads.
 
 PC Magazin, Nr. 4/2000, S. 100

Verfasser: Andreas
Letzte Änderung: 2012-03-08 18:35


Switch

Ein Switch (Schalter) scheint auf den ersten Blick wie ein Hub zu funktionieren. An ihm lassen sich mehrere mit Netzwerkkarten ausgerüstete Rechner oder andere Netzwerkgeräte anschließen. Die Daten werden dann entsprechend verteilt. Während ein Hub aber die Daten an alle angeschlossenen Geräte gleichzeitig weitergibt, ist ein Switch in der Lage, für einen kurzen Moment eine exklusive Verbindung zwischen zwei am Switch angeschlossenen Netzgeräten herzustellen. Die Übertragungsleistung wird dadurch wesentlich höher, als das bei einem Hub der Fall ist. Das erfordert aber auch eine wesentlich aufwendigere Elektronik, was einen Switch gegenüber einem Hub auch wesentlich teurer macht.
 
 PCgo!, Nr. 7/99, S. 137

Verfasser: Andreas
Letzte Änderung: 2012-03-08 18:35


Switch

Ein aktiver Hub, der wie eine Telefonvermittlungsstelle den Netzwerkverkehr zwischen Clients und Server(n) regelt, in dem er selbsttätig die Zieladressen der IP- Pakete auswertet und den entsprechenden Adressaten zustellt.
 
 PC Magazin, Nr. 4/2000, S. 100

Verfasser: Andreas
Letzte Änderung: 2012-03-08 18:36


SYN-Attacks

Bei der Verbindungsaufnahme zwischen zwei Computern (TCP- Handshakes) werden drei Datenpakete gesendet: Im ersten setzt der Client das SYN-Bit. Er signalisiert damit, dass er eine Verbindung wünscht. Der Server antwortet mit einem gesetzten SYNACK-Bit. Falls nicht, bleibt die Verbindung halb offen (illegal). Erzeugt man viele solcher halboffenen Verbindungen, stürzen manche Systeme ab (SAN-Flooding).
 
 PC Magazin, Nr. 7/2001, S. 139

Verfasser: Andreas
Letzte Änderung: 2012-03-08 18:36


TAPI

Abk. für Telephone Application Programming Interface. Dies bezeichnet die Standard-Software-Schnittstelle für computergestützte Telefonie (s. CTI). Die Hardware und Software der verschiedenen Hersteller ist auf diese Standard-Schnittstelle abgestimmt. So lassen sich verschiedene Geräte und Programme miteinander betreiben.
 
 PCgo!, Nr. 11/2000, S. 192

Verfasser: Andreas
Letzte Änderung: 2012-03-08 18:37


TCP-Handshake

Der Aufbau einer Verbindung mit dem Transmission Control Protocol (TCP-Handshake genannt) erfolgt in drei Schritten:
  • zuerst schickt der Host, der eine Verbindung wünscht, ein TCP-Paket an das Zielsystem, in dem das SYN-Bit (Synchronize-Bit) angeschaltet ist. Dieses signalisiert dem Zielsystem, dass ein Verbindungsaufbau erwünscht ist.
  •  Das Zielsystem sendet eine Antwort, bei der ebenfalls das SYN-Bit und zusätzlich das ACK-Bit (Acknowledge-Bit) gesetzt ist und signalisiert damit seine Bereitschaft.
  •  Der initiierte Host bestätigt mit einem ACK-Bit. Damit steht die Verbindung.
 Eine Verbindung beenden Sie auf ähnliche Weise: Statt des SYN- wird das FIN-Bit (Finalize-Bit) gesetzt.
 
 PC Magazin, Nr. 5/2000, S. 166

Verfasser: Andreas
Letzte Änderung: 2012-03-08 18:38


TCP/IP

Das TCP/IP-System (Transmission Controll Protocol/Internet Protocol) hat sich im Internet als Netzwerkstandard etabliert, der von reinen Netzwerk- Betriebssystemen wie Novell Netware als auch von Windows 95/NT und Unix von Haus aus unterstützt wird. TCP spielt die Rolle des Verbindungs-Managers, IP sorgt für den eigentlichen Datentransport. Das TCP (RFC793) kontrolliert die Verbindung, überwacht die ein- und ausgehenden Daten und überprüft, ob alle Daten vollständig übertragen wurden. Falls nicht, werden fehlende Daten noch einmal gesendet. Um über Ihren Internet-Provider einen Zugang zum Internet zu bekommen, müssen Sie das TCP/IP-Protokoll auf Ihrem Rechner installiert haben, das Sie im Netzwerkdialog finden. Um das TCP/IP-Protokoll aus Windows-Programmen heraus nutzen zu können, ist eine besondere Schnittstelle erforderlich. Diese Funktion erfüllt die Windows- Systemdatei winsock.dll, die quasi als Dolmetscher zwischen der Internet-Applikation und dem TCP/IP-Stack fungiert.
 
 PC Magazin, Nr. 10/98, S. 79
 PC Magazin, Nr. 4/99, S. 225

Verfasser: Andreas
Letzte Änderung: 2012-03-08 18:38


TCP/IP-Adressierung

Um die TCP/IP-Adressierung zu verstehen, muß man wissen, wie das Internet organisiert ist: Es besteht aus Subnetzen, die alle zusammen das Internet ergeben. Wenn Sie mit einem einzelnen Rechner ins Internet gehen, gehören Sie zu einem Subnetz, das dem Provider gehört. Schließen Sie Ihr LAN so ans Netz an, wie in diesem Beitrag beschrieben, gehören Sie ebenfalls zu einem Subnetz des Providers - Sie benötigen nur eine einzige IP, um bis zu 254 Rechner ans Internet zu binden. Beantragen Sie dagegen bei Ihrem Provider einen Pool an IPs, ist Ihr Netz ein eigenes Subnetz. Subnetze werden über die IP identifiziert.
 IP-Adressen haben immer die Form x.x.x.x, wobei x eine Zahl zwischen 0 und 255 ist. Jede IP ist zweigeteilt: Der erste Teil beschreibt das Netz, der Rest den Rechner im Netz. Wenn n das Netz und r der Rechner ist, kann die IP zum Beispiel so aussehen: n.r.r.r oder n.n.r.r oder auch n.n.n.r. Anhand dieser drei Beispiele läßt sich die Klasse des Netzes feststellen: n.r.r.r ist ein Klasse-A- Netz. In dieser Adresse gibt es nur ein Byte für die Anzahl der Netze, also kann es nur maximal 256 Klasse-A- Netze geben. Die werte 0 und 255 sind Spezialfälle und können nicht verwendet werden - also bleiben 254 Möglichkeiten. Daraus folgt: Es gibt weltweit nur 254 Klasse-A-Netze. Jedes dieser Netze kann aber sehr viele Rechner enthalten, die durch die verbleibenden drei Bytes gekennzeichnet werden: Die Anzahl der Rechner in einem Klasse-A-Netz berechnet sich so: 256*256*256 (minus der Spezialfälle). Solche großen Netze bekommen nur sehr große Firmen zugeteilt (sie sind auch ziemlich teuer). Das nächst kleinere Netz ist das Klasse-B-Netz: Hier werden die ersten beiden Bytes zum Adressieren des Subnetzes verwendet. Das kleinste ist schließlich das Klasse-C-Netz, bei dem die ersten drei Bytes das Subnetz kennzeichnen und ein Byte für die Rechnerkennungen verbleibt. An der Subnetmask erkennen Sie ebenfalls die Klasse: 255.0.0.0 steht für ein Klasse-A-Netz, 255.255.0.0 für ein B- und 255.255.255.0 für ein C-Netz.
 
 PC Magazin, Nr. 10/98, S. 218

Verfasser: Andreas
Letzte Änderung: 2012-03-08 18:38


Teilnetze

Wenn das Datenaufkommen in einem Netzwerk zu groß wird, wird es in Teilnetze (Subnetze, Segmente) aufgeteilt, die ihrerseits mit Verbindungsgeräten wie Routern verbunden sind.
 
 PC Magazin, Nr. 3/2000, S. 230

Verfasser: Andreas
Letzte Änderung: 2012-03-08 18:39


Telefonie-Dienst

Der Server ist mit der Telefonanlage verbunden oder wird mit entsprechenden Steckkarten selbst dazu. Eine Kopplung zwischen eingehender Telefonnummer (ISDN) und der Telefon-Datenbank erlaubt den schnellen Zugriff auf alle Anruferdaten. Ausgehende Telefonate werden ebenfalls per PC verwaltet. Dieser Dienst vereinfacht die personenbezogene Abrechnung der Telefongebühren.
 
 PC Magazin, Nr. 8/97, S. 207

Verfasser: Andreas
Letzte Änderung: 2012-03-08 18:39


Telnet

IP-Protokoll. Es baut ein virtuelles Terminal auf, das vom eigenen Computer aus ein anderes System im Netzwerk steuern kann. Telnet wird immer dann benutzt, wenn sich auf einem anderen System eine oder mehrere Anwendungen befinden, die lokal nicht zur Verfügung stehen.
 
 PC Magazin, Nr. 4/2000, S. 100

Verfasser: Andreas
Letzte Änderung: 2012-03-08 18:40


Ticker

Das ist eine Art Laufband, das aktuelle Informationen zeigt. Ein Ticker ist ein Active-Desktop-Element, das Sie auf den Desktop legen und aktualisieren können. Es gibt zum Beispiel einen ZDF-Nachrichten-Ticker oder diverse Börsenticker, in denen aktuelle Informationen gezeigt werden.
 
 PCgo!, Nr. 10/98, S. 147

Verfasser: Andreas
Letzte Änderung: 2012-03-08 18:40


TLD

Abk. für Top Level Domains. Oberste Hierarchie-Ebene (nach dem Root) des DNS. Wird an den Endungen der FQDNs erkannt, etwa .de, .com oder .org. TLD-Server werden von großen Organisationen gepflegt, die man für diese Dienste bezahlen muß (machen die Provider).
 
 PC Magazin, Nr. 3/2000, S. 230

Verfasser: Andreas
Letzte Änderung: 2012-03-08 18:41


Token

Bitmuster, das ständig ein Ring-Netz durchläuft.
 
 PC Magazin, Nr. 12/97, S. 308

Verfasser: Andreas
Letzte Änderung: 2012-03-08 18:41


TP

Abk. für Twisted Pair. Vieradriges Kabel, dessen Leitungen paarweise verdreht sind. Es enthält pro Meter etwa zwei bis drei Drehungen ("gedrehtes Kabel").
 
 PC Magazin, Nr. 12/2000, S. 155

Verfasser: Andreas
Letzte Änderung: 2012-03-08 18:41


Transceiver

Das Wort stammt aus dem Englischen und bezeichnet ein Gerät, in dem sich sowohl Sender als auch Empfänger befinden. RadioLAN benötigt für die kabellose Datenübertragung ebenfalls einen Transceiver. Die Daten werden damit empfangen. Gleichzeitig ist es aber auch möglich, Daten an andere Transeiver zu senden.
 
 PCgo!, Nr. 7/99, S. 140

Verfasser: Andreas
Letzte Änderung: 2012-03-08 18:42


Tread

Alle Followups, die auf einen Artikel in einer Newsgroup antworten.
 
 PC Magazin SPEZIAL, Nr. 3/98, S. 51

Verfasser: Andreas
Letzte Änderung: 2012-03-08 18:42


Twisted-Pair-Kabel

Diese Kabel garantieren hohe Übertragungsraten. Sie ähneln mit ihren Steckern normalen Telefonleitungen. Ein Twisted-Pair-Kabel besteht aus mehreren Drähten, die miteinander verdrillt sind.
 
 PCgo!, Nr. 3/99, S. 49

Verfasser: Andreas
Letzte Änderung: 2012-03-08 18:42


Übersprechen

Unerwünschte Signaleinwirkungen zwischen benachbarten Adern aufgrund induktiver oder kapazitiver Kopplung. Gegen Übersprechen helfen Abschirmungen und vergrößerte Abstände.
 
 PC Magazin, Nr. 12/2003, S. 189

Verfasser: Andreas
Letzte Änderung: 2012-03-08 18:43


UDP

User Datagram Protocol ist ein verbindungsloses Protokoll zum Versenden von Datagrammen (Paketen). UDP garantiert weder die Zustellung der Pakete, noch ist eine bestimmte Reihenfolge des Eintreffens von Paketen gewährleistet.
 
 PC Magazin, Nr. 4/99, S. 225

Verfasser: Andreas
Letzte Änderung: 2012-03-08 18:43


UNC-Pfad

Universal Naming Convention. Pfadangabe, die auf einen anderen PC im Netz verweist. Ein UNC-Pfad, der auf ein Verzeichnis Texte auf dem PC Ganymed verweist, sieht so aus: \\ganymed\texte. Groß- und Kleinschreibung spielt dabei keine Rolle. Den UNC-Pfad stellen Sie zum Beispiel ein, wenn Sie im Explorer Netzlaufwerk verbinden wählen.
 
 PC Magazin, Nr. 5/99, S. 114

Verfasser: Andreas
Letzte Änderung: 2012-03-08 18:44


Uplink-Port

Port am Hub oder Switch, an dem ein weiterer Hub oder Switch angeschlossen werden kann.
 
 PC Magazin, Nr. 12/2000, S. 155

Verfasser: Andreas
Letzte Änderung: 2012-03-08 18:44


URL

Abk. für Universal Resource Locator. Die Methode, mit der im Internet Ressourcen identifiziert werden: Typischerweise sind dies WWW-Seiten. So identifiziert die URL: www.sol8.com\index.htm beispielsweise die Homepage von Sol8.
 
 PC Magazin, Nr. 8/98, S. 201

Verfasser: Andreas
Letzte Änderung: 2012-03-08 18:45


Usenet

Die Bezeichnung der weltweit zusammengefaßten Newsgroups. Der Zugriff erfolgt über ein Client-Programm, den sogenannten Newsreader. Doch nicht alle Newsgroups müssen für Sie zugänglich sein. Ihr Provider bestimmt, welche Sie empfangen dürfen. Diese Ablehnung beruht sich auf Platzgründen oder auch auf den Inhalten diverser Groups. Im Gegensatz zu den kommerziellen Online-Diensten wird hier nicht überwacht, das heißt, die Leser bestimmen den Inhalt der Groups. Daher ist der Inhalt manches Mal recht chaotisch.
 
 PCgo!, Nr. 12/98, S. 187

Verfasser: Andreas
Letzte Änderung: 2012-03-08 18:45


Verbindungsgeräte

Verbindungsgeräte (Brücken, Router, Switches) stellen Verbindungen zwischen Teilnetzen her. Es sind meistens ziemlich teure mehr oder weniger intelligente Geräte, die Datenpakete von einer Quelle über mehrere Teilnetze hinweg zum Ziel leiten.
 
 PC Magazin, Nr. 3/2000, S. 230

Verfasser: Andreas
Letzte Änderung: 2012-03-08 18:45


VPN

Abk. für Virtual Private Network. Verbindung von Intranets an verteilten Standorten über das Internet. Sämtliche Daten sind während der Übertragung auf der Internet-Strecke verschlüsselt (Datentunnel). Dadurch entsteht ein geschlossenes Netzwerk. Für den Anwender erscheint das Netz wie ein herkömmliches LAN, die Funktionalität ist dieselbe.
 
 PC Magazin PLUS, Nr. 2/2001, S. 7

Verfasser: Andreas
Letzte Änderung: 2012-03-08 18:46


Wake on LAN

Wird diese Funktion von der Netzwerkkarte und dem PC unterstützt, kann mit einem speziellen Netzwerksignal, der PC ferngesteuert gestartet werden.
 
 PC Magazin, Nr. 12/2000, S. 155

Verfasser: Andreas
Letzte Änderung: 2012-03-08 18:46


WAN

Abk. für Wide Area Network; ein Netzwerk, das sich über mehrere Standorte einer Firma oder eines Instituts verteilt und über langsamere Leitungen verbunden ist.
 
 PC Magazin, Nr. 4/2000, S. 100

Verfasser: Andreas
Letzte Änderung: 2012-03-08 18:46


Warenkorb

Im virtuellen Warenkorb sammelt der Kunde Artikel, die er kaufen möchte. Am Ende bestätigt er den Warenkorb und bekommt eine Rechnung präsentiert. Dann bestätigt er die Bestellung.
 
 PC Magazin, Nr. 12/99, S. 79

Verfasser: Andreas
Letzte Änderung: 2012-03-08 18:47


Web-/FTP-Dienst

Eine Standleitung zum ISP (Internet Service Provider) bindet den Server ins Internet ein.
 
 PC Magazin, Nr. 8/97, S. 207

Verfasser: Andreas
Letzte Änderung: 2012-03-08 18:47


WINS

Der WINS-Dienst (Windows Internet Name Service), der unter NT das Auflösen von Computernamen zu IP-Adressen übernimmt, ist die Microsoft-Spielart von DNS.
 
 PC Magazin, Nr. 4/99, S. 225

Verfasser: Andreas
Letzte Änderung: 2012-03-08 18:48


Workflow

Auch ein neues Modewort, das im Umkreis von Groupware entstanden ist. Workflow bezeichnet den Arbeitsfluß in einem Unternehmen, der natürlich möglichst problemlos verlaufen soll. Damit das so ist, werden die verschiedenen Möglichkeiten einer Groupware eingesetzt, also e-mail, Terminplanung in einem Netzwerk etc. Wichtig ist auch ein Instrument, mit dem genau absehbar ist, in welchem Bearbeitungsstadium sich ein bestimmter Vorgang befindet.
 
 PCgo!, Nr. 4/99, S. 136

Verfasser: Andreas
Letzte Änderung: 2012-03-08 18:48


WWW

WWW steht für World Wide Web, das weltweite Netz von Informationsseiten, die sich mit einem speziellen Programm, dem WWW-Browser, anschauen lassen. Jede Seite kann dabei Text und Verweise enthalten. Klickt man auf einen Verweis, wird die zugehörige Seite geladen. Der Clou: Eine Seite kann irgendwo auf der Welt liegen und die Verweise auf irgendwelche Seiten im WWW zeigen. Damit ist das WWW eine riesige Sammlung von Informationsseiten mit Verweisen auf ähnliche Seiten. Sie können sich vorstellen, daß man Stunden nur mit Klicken und Schauen zubringen kann - wie bei einem Lexikon, nur daß Sie selbst nicht mehr nach verwandten Begriffen suchen müssen sondern suchen lassen.
 
 PCgo!, Nr. 1/99, S. 220

Verfasser: Andreas
Letzte Änderung: 2012-03-08 18:48


X-Post

Crosspost; Nachricht, die gleichzeitig in mehrere Newsgroups gestellt wird.
 
 PC Magazin, Nr. 10/2002, S. 47

Verfasser: Andreas
Letzte Änderung: 2012-03-08 18:49


Zombies

Rechner im Internet, von dem aus Angriffe durchgeführt werden, der aber nichts davon weiß. Wird gern im Zusammenhang mit DoS-Attacken (Denial of Service) eingesetzt, um das Opfer mit möglichst vielen unterschiedlichen Absender-Adressen zu bombadieren. Der Hacker bleibt dadurch länger unentdeckt.
 
 PC Magazin, Nr. 11/2000, S. 72

Verfasser: Andreas
Letzte Änderung: 2012-03-08 18:49


Cabinet-Datei

Damit eine Datei möglichst wenig physikalischen Speicherplatz benötigt, kann man sie in ein spezielles Format verkleinern. Sie erhält dann beispielsweise die Endung ".ZIP" oder ".ARJ". Der Vorgang wird als "packen" bezeichnet. Die Dateien von Microsoft-Programmen sind meist im "Cabinet"-Format (.CAB) gepackt auf den Installationsmedien vorhanden. Sie können bei Microsoft automatisch nach neueren Treibern für Ihre Hardware suchen lassen.
 
 PCgo!, Nr. 12/98, S. 129

Verfasser: Andreas
Letzte Änderung: 2012-03-08 19:08


CAPI

Common Application Programming Interface. Normierte Software-Schnittstelle für die Kommunikation zwischen Soft- und Hardware.
 
 PC Magazin, Nr. 10/98, S. 80

Verfasser: Andreas
Letzte Änderung: 2012-03-08 19:09


Cascading Style Sheets (CSS)

Die Intention von SGML (siehe dort) und damit auch von HTML liegt darin, den Inhalt eines Dokuments von dessen Darstellung zu trennen. Allerdings wurden bisher die Tags wie <B> oder <FONT> in HTML oft nur dazu verwendet, das Dokument zu formatieren, statt es zu strukturieren. Mit anderen Worten: Das Aussehen, also die Art der Präsentation des Dokuments, war im Dokument selbst eingebettet. Mit CSS wird die Formatierung des Dokuments von seiner Struktur (dem Inhalt) getrennt. CSS erlauben eine statische Formatierung des Dokuments, und darüber hinaus können die Formatierungen zusammen mit dem unter HTML möglichen Zugriff auf das zugrundeliegende Objektmodell des Dokuments auch dynamisch verändert werden. Bei CSS handelt es sich um eine Sprache mit einem Satz an Eigenschafen, die das Aussehen eines Dokuments bestimmen. Mit der momentanen Sprachdefinition (CSS) weisen Sie Elementen Eigenschaften zu. Die aktuellste Informationen über CSS finden Sie auf dem Server des W3C: www.w3c.org.
 
 PC Magazin, Nr. 8/98, S. 197

Verfasser: Andreas
Letzte Änderung: 2012-03-08 19:09


CSS

Cascadin Style Sheets sind eine HTML-Erweiterung, die echte Formatvorlagen für Webseiten ermöglicht. CSS sind ideal für die Entwicklung einheitlicher Layouts für große Webseiten.
 
 PC Magazin, Nr. 12/99, S. 200

Verfasser: Andreas
Letzte Änderung: 2012-03-08 19:10


CDF

Abk. für Channel Definition Format.
 
 PC Magazin, Nr. 10/98, S. 212

Verfasser: Andreas
Letzte Änderung: 2012-03-08 19:10


CGI

Abk. für Common Gateway Interface
 (allgemeine Vermittlungs- Rechnerschnittstelle); Programme auf Server-Rechnern, die bei ihrem Aufruf Daten auf dem Server verarbeiten, etwa Mails.
 
 PC Magazin, Nr. 2/99, S. 201
 PC Magazin, Nr. 12/98, S. 216

Verfasser: Andreas
Letzte Änderung: 2012-03-08 19:11


Chain Loader

Reihen- oder Ketten-Lader. Falls ein Bootloader ein Betriebssystem nicht direkt laden und starten kann (kein Zugriff auf das Dateisystem etc.) wird der eigentliche Loader dieses Systems dazu verwendet. Typischerweise werden MS-DOS und Windows (in allen Varianten) auf diese Weise gestartet.
 
 PC Magazin, Nr. 12/2000, S. 227

Verfasser: Andreas
Letzte Änderung: 2012-03-08 19:11


Code Insight

Diese Technik von Borland erleichtert das Eintippen von Quelltext. Schreiben Sie nach einem Element wie panel1 einen Punkt, erscheint ein Fenster mit allen Methoden dieses Objekts. Diese wählen sie leicht aus, ohne sie eintippen zu müssen. Erscheint es nicht, drücken Sie [Strg-Leertaste].
 
 PC Magazin, Nr. 2/2001, S. 208

Verfasser: Andreas
Letzte Änderung: 2012-03-08 19:11


Codecs

Jedes Dateiformat braucht ein "Übersetzungsprogramm", damit Ihr PC, bzw. ein Programm es lesen kann. Diese Bindeglieder zwischen Programmen wie dem MediaPlayer und einem Betriebssystem wie Windows 98 werden Codecs genannt. Das sind bestimmte Komprimierungs- und Dekomprimierungsverfahren, die auf komplizierten Rechnungen beruhen und dafür sorgen, daß Multimedia-Dateien nicht zu groß, aber trotzdem qualitativ gut sind.
 
 PCgo!, Nr. 3/99, S. 41
 

Verfasser: Andreas
Letzte Änderung: 2012-03-08 19:12


Compiler

Ein Compiler ist eine Anwendung, die Sourcecode liest, analysiert und daraus automatisch ein eigenständiges Programm erzeugt (bei Windows-PCs an der Endung .exe zu erkennen.). Die Umsetzung wird als "Kompilieren" bezeichnet und kann Sekunden oder Minuten dauern.
 
 PC Magazin, Nr. 4/2000, S. 126

Verfasser: Andreas
Letzte Änderung: 2012-03-08 19:12


Constraints

Constraints sind logische Regeln, die Sie in einer Datenbank hinterlegen. Sie überprüfen bereits auf Tabellenebene bestimmte Bedingungen, beisielsweise das Einhalten spezieller Wertebereiche bei Zahlenfeldern.
 
 PC Magazin, Nr. 7/98, S. 161

Verfasser: Andreas
Letzte Änderung: 2012-03-08 19:13


CSV

Abk. für Comma Seperated Values = Komma-separierte Werte.
 
 PC Magazin, Nr. 3/99, S. 220

Verfasser: Andreas
Letzte Änderung: 2012-03-08 19:13


Data Dictionary

Das Data Dictionary ist ein zentraler Speicherort, der alle Informationen einer Datenbank oder optional der dazugehörigen Anwendungen speichert und verwaltet. Dazu gehören Angaben über Tabellen, Trigger, Constraints, Relationen und Indizes. Das Data Dictionary sorgt also für Ordnung und Einhaltung von Programmierregeln.
 
 PC Magazin, Nr. 7/98, S. 161

Verfasser: Andreas
Letzte Änderung: 2012-03-08 19:14


Datenbank

Der Begriff Datenbank hat mehrere Bedeutungen. Oft wird das Datenbank-Verwaltungsprogramm (DBMS: Database Management System) verkürzt Datenbank genannt. Aber auch die Datei, die die Kundenadressen und sonstige Daten enthält, wird häufig als Datenbank bezeichnet. Dabei kann eine Datenbank durchaus mehrere Tabellen in einer Datei zusammenfassen. Bei PC-Datenbanken ist in der Regel aber nur eine Tabelle pro Datenbankdatei erlaubt. Es lassen sich dann aber Tabellen aus verschiedenen Dateien verknüpfen (siehe referenzielle Integrität).
 
 PC Magazin, Nr. 7/98, S. 161

Verfasser: Andreas
Letzte Änderung: 2012-03-08 19:14


Datensatz

Der Datensatz faßt alle zu einem Tabelleneintrag gehörigen Angaben logisch zusammen. Analog zum Zettelkasten wäre der Datensatz eine Karteikarte.
 
 PC Magazin, Nr. 7/98, S. 161

Verfasser: Andreas
Letzte Änderung: 2012-03-08 19:15


DEA

Data Encryption Algorithm. Symmetrisches Block- Chiffrierverfahren, definiert im Data Encryption Standard (vgl. DES)
 
 PC Magazin, Nr. 4/97, S. 262

Verfasser: Andreas
Letzte Änderung: 2012-03-08 19:16


Debugger

Ein Debugger erlaubt und unterstützt die Fehlersuche in kompilierten Programmen. Ohne Debugger lassen sich größere Programme kaum von Fehlern befreien.
 
 PC Magazin, Nr. 4/2000, S. 126

Verfasser: Andreas
Letzte Änderung: 2012-03-08 19:16


Deinstallieren

Der Begriff bezeichnet das Löschen von Programmen. Da die meisten Programme nicht nur eigene Verzeichnisse erstellen, sondern auch Einträge in den Systemdateien des Betriebssystems hinterlassen, dürfen nicht einfach die betreffenden Programmordner gelöscht werden. Nur wenn die Software über den Windows-Uninstaller oder ein spezielles Deinstallationsprogramm entfernt wird, werden auch die Systemeinträge gelöscht.
 
 PCgo!, Nr. 5/99, S. 34

Verfasser: Andreas
Letzte Änderung: 2012-03-08 19:17


DES

Abk. für Data Encryption Standard. Den in den 70er Jahren entwickelten symmetrischen Verschlüsselungsalgorithmus sehen Experten auch heute noch als sicher an. Das Problem bei DES ist die für heutige Anwendungen zu kurze Schlüssellänge von 56 Bit. Die Sicherheit wird durch eine dreifache Anwendung von Schlüsseln erhöht. Das verringert allerdings die Geschwindigkeit, so daß er für Echtzeitanwendungen im Web zu langsam ist..
 
 PC Magazin, Nr. 4/97, S. 262
 PC Magazin, Nr. 12/99, S. 96
 

Verfasser: Andreas
Letzte Änderung: 2012-03-08 19:18


Desktop

Als Desktop bezeichnet man im allgemeinen die Arbeitsoberfläche eines Betriebssystems. Sie sehen sie zum Beispiel direkt nach dem Start von Windows 95. Auf ihr finden sie verschiedene Programmsymbole. Sie können auf dem Desktop eigene Verknüpfungen zu Ihren Programmen ablegen. Einige Anwenderprogramme erstellen nach ihrer Installation auch automatisch ein Symbol. Die Arbeitsoberfläche läßt sich auch mit einem Schreibtisch vergleichen. Auf ihr können Sie alle anfallenden Arbeiten erledigen.
 
 PCgo!, Nr. 7/98, S. 46

Verfasser: Andreas
Letzte Änderung: 2012-03-08 19:18


Diagramme

Das sind Schaubilder, mit denen Tabellen grafisch umgesetzt werden. Es gibt verschiedene Arten Diagramme: Balkendiagramme, Kreisdiagramme, Liniendiagramme und viele mehr. Jede Art eignet sich für eine bestimmte Tabelle. Bei einer Hochrechnung zur Wahl wird meist ein Kreisdiagramm verwendet. Wenn es mehrere Variablen gibt, bieten sich Balken- oder Liniendiagramme an. Eine große Auswahl bereits vordefinierter Diagramme sind in Excel schon integriert. Die Beschriftung ist sehr einfach.
 
 PCgo!, Nr. 4/99, S. 123

Verfasser: Andreas
Letzte Änderung: 2012-03-08 19:19


Digitale Postkarte

Dies ist ein Service, der von einigen Anbietern kostenlos zur Verfügung gestellt wird. Dabei wird vom Absender eine Mail gestaltet, die mit Motiv und Text versehen wird. Wahlweise kann auch, je nach Anbieter, digitale Hintergrundmusik unterlegt werden. Dieses Objekt verbleibt auf dem Server des Anbieters. Der Empfänger bekommt eine e-mail, in der ihm mitgeteilt wird, daß er eine Postkarte erhalten hat. Die Adresse, unter der er die Karte betrachten kann, ist als Hyperlink eingefügt.
 
 PCgo!, Nr. 3/99, S. 173

Verfasser: Andreas
Letzte Änderung: 2012-03-08 19:19


Digitale Signatur

Eine elektrische Unterschrift ist mehr als eine handschriftliche, da sie sowohl den Inhalt einer Nachricht als auch die Identität des Benutzers bestätigt. Solange eine sichere Hash-Funktion (siehe dort) verwendet wird, gibt es eine Möglichkeit, eine Unterschrift von einem Dokument auf ein anderes zu übertragen oder das Dokument zu verändern. Die kleinste Änderung bewirkt, daß der Überprüfungsvorgang scheitert.
 
 PC Magazin, Nr. 4/97, S. 262

Verfasser: Andreas
Letzte Änderung: 2012-03-08 19:19


DirectX

Das ist die Spiele-Schnittstelle von Microsoft, mit der die Leistungsfähigkeit der Hardware besser ausgenutzt wird. Direct 3D sorgt für die Kommunikation zwischen Grafikkarte, Prozessor und Software, Direct Sound für den richtigen (falls vom Spiel unterstützt) auch 3D-Klang.
 
 PCgo!, Nr. 3/99, S. 41
 
 Die Zeiten, in denen Programmierer die Grafikhardware direkt programmiert haben, sind längst vorbei. Inzwischen werden "nur" noch Programmier-Schnittstellen verwendet, die mit standardisierten Befehlen programmiert werden können. Das von MS stammende DirektX ist inzwischen am Meisten verwendet und weist aktuell Versionsnummer 9.0c auf. Dies sagt aus, welche erweiterten Funktionen von Grafikkarten unterstützt werden. Wurde bei DirektX 8.1 noch maximal mit dem sogenannten Shader-Model 2.0 gearbeitet, ist bei DX9 nun Shader Model 3.0 das Maximum.
 
 siehe auch OpenGL
 
 Quelle: WCM 242, Seite 75

Verfasser: Andreas
Letzte Änderung: 2012-03-08 19:20


Document Object Modul (DOM)

Moderne Browser wie Netscaße Navigator oder MicrosoftsInternet Explorer verfügen über das sogenannte Document Object Modul (DOM), das sich hinter einer Web- Seite verbirgt. Bei DOM sind alle Elemente einer Seite wie Formulare, Bilder oder Stylesheets in Objekten verpackt. Sie verfügen damit über Eigenschaften und Methoden, können Ereignisse auslösen und mit Skriptsprachen bearbeitet werden. Die Objekte des DOM sind hierarchisch gegliedert: an der Spitze befindet sich im allgemeinen das Window-Objekt, das das Browser- Fenster darstellt. Es gibt immer nur ein Window-Objekt; das wichtigste Objekt in der nächsttieferen Ebene ist das Document-Objekt, das das angezeigte Dokument enthält. Auch dieses Objekt existiert normalerweise nur einmal; auch das Frames-Objekt gehört hierher, das alle Frames des Dokuments enthält; die nächsttiefere Ebene enthält mehrere Objekte wie Verweise, Bilder, Formulare, Applets und Skripts. Diese können mehrfach vorhanden sein, so daß sie sie am besten in Arrays ablegen. DOMs sind Browser-spezifisch. Die Modelle des Explorer und des Communicator heben zwar einen kleinsten gemeinsamen Nenner, in Details unterscheiden sie sich jedoch gewaltig. Ob Sie das Document Object Model im Internet verwenden können, müssen Sie daher sehr genau untersuchen. In Intranets, wo im allgemeinen nur ein Browser zum Einsatz kommet, spielt dieser Umstand eine untergeordnete Rolle - hier können Sie alle Register ziehen. Der beste Weg, Inkompatibilitäten aus dem Weg zu gehen: Studieren Sie die Dokumentation der (kostenlosen) Skriptsprachen JScript, VBScript und JavaScript im Internet: http://microsoft.com/jscript und http://microsoft.com/vbscript sowie http://developer.netscape.com/index_home.html.
 
 PC Magazin, Nr. 4/98, S. 300

Verfasser: Andreas
Letzte Änderung: 2012-03-08 19:20


Document Type Desciption (DTD)

Eine DTD beschreibt den Satz an unterstützten Elementen, ihre Attribute sowie die Elemente eines Dokuments, die innerhalb anderer Elemente auftreten dürfen. Innerhalb einer DTD wird ein Element mit dem Schlüsselwort Element definiert. Die Elementdefinition legt fest, ob das Element andere Dokumente enthält und ob die Begin- und End-Tags optional sind oder nicht. Eine Sammlung von DTDs für alle Versionen von HTML befinden sich auf www.w3c.org. Die DTD des Internet Explorer 4 erhalten Sie von Microsoft unter www.microsoft.com.
 
 PC Magazin, Nr. 8/98, S. 197

Verfasser: Andreas
Letzte Änderung: 2012-03-08 19:21


Dokumentvorlagen

Diese erlauben es, die einzelnen Formatvorlagen aus beliebigen Dokumenten zu nutzen. Eine Dokumentvorlage ist ein gewöhnliches Dokument, das Formatvorlagen enthält, jedoch im Unterschied zu einem Dokument in einem besonderen Dateiformat gespeichert ist. Dokumentvorlagen können Texte und Grafiken enthalten. Das ist dann sinnvoll, wenn mehrere Dokumente über gleiche Textbausteine und Grafiken verfügen sollen, etwa Briefpapier. Derartige Vorlagen werden nicht unter ".doc", sondern unter ".dot" abgelegt.
 
 PCgo!, Nr. 4/99, S. 105

Verfasser: Andreas
Letzte Änderung: 2012-03-08 19:21


Drag&Drop

Genau übersetzt heißt "Drag&Drop" Ziehen und Fallenlassen. Es bezeichnet den Vorgang, ein Symbol mit der Maus anzuklicken, an einen anderen Ort zu ziehen und dort die Maustaste loszulassen. Dadurch wird eine Aktion ausgelöst (wie das Anlegen einer Verknüpfung oder das Erstellen einer Kopie). Drag&Drop ist die bequemste Art, mit Daten zu arbeiten.
 
 PCgo!, Nr. 3/99, S. 19

Verfasser: Andreas
Letzte Änderung: 2012-03-08 19:21


Drop-Down-Liste

Eine Drop-Down-Liste ist eine herunterklappbare Auswahlliste, in der sich verschiedene Menüeinträge befinden, die Sie einzeln anwählen können. Sie erkennen sie am kleinen schwarzen Pfeil, den Sie mit der Maus anklicken können. Daraufhin klappt ein neues Menü mit Einträgen auf.
 
 PCgo!, Nr. 11/98, S. 132

Verfasser: Andreas
Letzte Änderung: 2012-03-08 19:22


DSA

Der Digital Signature Algorithm (DSA) wurde vom National Institute of Standards and Technology (NIST) veröffentlicht. Dieser Standard wurde am 19. Mai 1994 veröffentlicht. DSA basiert auf dem diskreten Logarithmus-Problem und benutzt die Kryptosysteme von Schnorr und ElGamal. Es taugt nur zur Authentifikation.
 
 PC Magazin, Nr. 4/97, S. 262

Verfasser: Andreas
Letzte Änderung: 2012-03-08 19:22


Dynamisches HTML (DHTML)

Diese HTML-Variante dient dazu, den Inhalt einer Seite dynamisch zu ändern. So können Sie mit DHTML beispielsweise eine Seite mit interaktiven Elementen ausstatten: Per Druck auf einen in eine Seite eingebetteten Button verändern Sie etwa eine Farbe oder Schriftgröße oder öffnen eine Dialogbox. Die About-Box des Internet Explorer 4 verwendet DHTML beispielsweise für die Animation.
 
 PC Magazin, Nr. 10/98, S. 214

Verfasser: Andreas
Letzte Änderung: 2012-03-08 19:23


ECMA262

ECMA262 ist ein Standard, der unter anderem von Microsoft und Netscape geschaffen wurde. Der Standard formalisiert die Sprachkonstrukte von JavaScript und JScript, so daß sich übergreifende und miteinander kompatible Implementierungen verwirklichen lassen. Dieser Standard definiert nur die Sprachkonstrukte, nicht aber das Objektmodell, auf das Sie mit Hilfe der Sprachkonstrukte zugreifen. Dies ist auch der Hauptgrund dafür, daß JavaScipt und JScript nicht kompatibel sind.
 
 PC Magazin, Nr. 8/98, S. 197

Verfasser: Andreas
Letzte Änderung: 2012-03-08 19:23


ECML

Die Electronic Commerce Modeling Language ist eine Erweiterung zu HTML und erleichtert es, Daten wie Namen und Adresse in ein Web-Formular einzugeben.
 
 PC Magazin, Nr. 12/99, S. 79

Verfasser: Andreas
Letzte Änderung: 2012-03-08 19:24


Editor

Ein Editor besitzt alle Funktionen für die Eingabe und schnelle Manipulation von (Programm-)Texten. Dafür fehlen Funktionen für die optische Gestaltung von Dokumenten. Notepad und Wordpad sind Editoren.
 
 PC Magazin, Nr. 4/2000, S. 126

Verfasser: Andreas
Letzte Änderung: 2012-03-08 19:24


Eingabeaufforderung

Der Ausdruck Eingabeaufforderung stammt noch aus Zeiten des Betriebssystems MS-DOS und bedeutet, daß der Computer bereit ist, neue Befehle entgegenzunehmen. Im Stammverzeichnis auf der Festplatte erscheint die im Englischen als "Prompt" bezeichnete Zeichenfolge "c:\". Befinden Sie sich in einem Unterverzeichnis, ist dieses an das Prompt angehängt. Nun können Sie dem Computer über die Tastatur entsprechende DOS-Anweisungen geben.
 
 PCgo!, Nr. 5/99, S. 41

Verfasser: Andreas
Letzte Änderung: 2012-03-08 19:24


Einwegfunktion

Eine mathematische Funktion, die deutlich leichter zu berechnen ist (vorwärts) als die zugehörige Umkehrfunktion (rückwärts). Möglicherweise braucht ein Rechner einige Sekunden, um diese Funktion für einen Wert zu berechnen, für die Umkehrung jedoch Monate oder Jahre. Eine Einwegfunktion, bei der die Umkehrfunktion leicht mittels einer zusätzlichen Information (die Hintertür) berechnet werden kann, ohne sie jedoch nur sehr schwer.
 
 PC Magazin, Nr. 4/97, S. 262

Verfasser: Andreas
Letzte Änderung: 2012-03-08 19:25


Entwicklungsumgebung

Als Entwicklungsumgebung bezeichnet man ein Programmpaket aus Projektverwaltung, Compiler, Debugger, Editor, Oberflächendesigner und anderen Programmen, die alle unter einer einheitlichen Oberfläche laufen.
 
 PC Magazin, Nr. 4/2000, S. 126

Verfasser: Andreas
Letzte Änderung: 2012-03-08 19:25


ERU

Abk. für Emergency Recovery Utility. Dieses Hilfsprogramm ist versteckt auf der Windows-95-CD-ROM enthalten. Mit ihm können Sie Sicherheitskopien der wichtigsten Systemdateien anlegen. Sollte Ihr System abstürzen, haben Sie gute Chancen, es dank der Sicherheitskopien wieder zum Laufen zu bringen. ERU hilft sogar in manchen Fällen, wo eine Startdiskette nichts mehr bringt. Das Programm finden Sie auf der CD im Verzeichnis "other/misc/eru".
 
 PCgo!, Nr. 7/98, S. 33

Verfasser: Andreas
Letzte Änderung: 2012-03-08 19:26


Exchange

Exchange ist die Kommunikationszentrale von Windows 95. Mit Exchange können e-mails im Netzwerk oder im Internet verschickt und empfangen werden. Auch Faxe können versandt und Dokumente und Dateien verwaltet werden. Exchange gibt es auch als Programm zum Lesen von e-mails. Diesen für den Nutzer sichtbare Teil des Exchange-Systems von Windows übernimmt heutzutage Outlook.
 
 PCgo!, Nr. 1/99, S. 158
 

Verfasser: Andreas
Letzte Änderung: 2012-03-08 19:26


exe-Dateien

exe steht für executable, zu dt. ausführbare Datei. Das sind Dateien, mit denen Programme gestartet werden. Bei fast allen Programmen gibt es zumindest zwei exe- Dateien: Die Datei, mit der die Installation des Programms gestartet wird ("setup.exe" oder "install.exe") und die Programmdatei selbst.
 
 PCgo! Nr. 4/99, S. 64

Verfasser: Andreas
Letzte Änderung: 2012-03-08 19:26


Explorer

Der Explorer ist das zentrale Programm, um unter Windows 95 Dateien zu verwalten. In ihm haben Sie einen Überblick über alle Dateien, die sich auf Ihrer Festplatte oder einem anderen Laufwerk befinden. Sie können Dateien verschieben, kopieren, umbenennen oder löschen, legen neue Verzeichnisse an und lassen sich die Eigenschaften der einzelnen Objekte anzeigen. Wenn Sie den Internet Explorer 4.0 installiert haben, ersetzt dieser den Windows Explorer. Sie haben künftig eine Oberfläche, um mit Dateien im Internet und unter Windows zu arbeiten.
 
 PCgo!, Nr. 7/98, S. 47

Verfasser: Andreas
Letzte Änderung: 2012-03-08 19:27


Extension

Diese werden auch Dateiendungen genannt. Jede Anwendung hat eine eigene Kennung. Microsoft Word verwendet zum Beispiel ".doc" als Dateiendung. Im Explorer können Sie so ganz leicht alle Word-Dokumente erkennen.
 
 PCgo!, Nr. 1/99, S. 158

Verfasser: Andreas
Letzte Änderung: 2012-03-08 19:27


Faktorisierung

Darunter versteht man das Zerlegen einer ganzen Zahl in kleinere ganze Zahlen (Faktoren), die miteinander multipliziert das Original ergeben. Beispiel: 15 ist vorgegeben, die Faktoren 3 und 5 sind herauszufinden.
 
 PC Magazin, Nr. 4/97, S. 262

Verfasser: Andreas
Letzte Änderung: 2012-03-08 19:28


Favoriten

Die Favoriten im Sinne von Windows sind Ordner, Dateien und Internetseiten, die man häufig braucht. Windows hat dafür ein eigenes Verzeichnis, das Sie als Benutzer beliebig ergänzen können. Im Dateirequester kann man dann auf den Schalter "Favoriten" klicken, um schnell zu häufig benutzten Verzeichnissen zu gelangen.
 
 PCgo!, Nr. 1/99, S. 103

Verfasser: Andreas
Letzte Änderung: 2012-03-08 19:28


Feld

Ein Feld ist die kleisnte Einheit in einem Datensatz. Das Feld Vorname nimmt beispielsweise den Vornamen des Kunden auf, das Feld PLZ die Postleitzahl des Wohnorts. Für eine effektive Datenbank müssen die benötigten Felder sorgfältig zusammengestellt werden. Jedes Feld hat einen Datentyp, kann also eine bestimmte Sorte Information aufnehmen: Text, Jahreszahlen, Währungsbeträge etc.
 
 PC Magazin, Nr. 7/98, S. 161

Verfasser: Andreas
Letzte Änderung: 2012-03-08 19:28


Flash

Diese auf Vektoren basierende, daher auflösungsabhängige, streamingfähige Technologie stammt von Macromedia. Browser benötigen eine spezielle Erweiterung (Plugin), um Flash-Dateien anzuzeigen. Das aktuelle Browser-Plugin ist aber, abhängig von der Browservariante, nur knapp 200 KByte groß.
 
 PC Magazin, Nr. 12/99, S. 200

Verfasser: Andreas
Letzte Änderung: 2012-03-08 19:29


Formatvorlage

Zur Gestaltung eines Textes können Formatvorlagen verwendet werden. Hier sind bereits bestimmte Überschriften, Fließtexte und Absätze vordefiniert. Das heißt, die Schriftart, die Größe und der Textfluß sind programmiert. Um sie anzuwenden, muß nur der entsprechende Textabschnitt markiert werden und im Roll- up-Menü die richtige Formatvorlage ausgesucht werden. Wenn Sie Word starten und dann einen Text schreiben, beruht der auf der Standardformatvorlage. Die können Sie aber über den Befehl "Format", "Formatvorlage" ändern.
 
 PCgo!, Nr. 4/99, S. 105

Verfasser: Andreas
Letzte Änderung: 2012-03-08 19:29


Frames

Das ist eine Technik im Internet, mit der eine Seite in verschiedene Unterseiten, die separat geladen werden, unterteilt wird. Jeder "Frame" (engl. Rahmen) hat eine eigene Adresse. Wenn Sie nun einen Link auf der Seite anklicken, wird nur ein Frame neu geladen, der andere (meist der, auf dem sich die Links befinden) bleibt bestehen. Frames eignen sich besonders für eine Art Inhaltsverzeichnis der Web-Site. Bei der neuen Version des Internet Explorer können Sie auch einzelne Frames ausdrucken. Damit sparen Sie Platz und haben wirklich nur die Informationen, die Sie benötigen.
 
 PCgo!, Nr. 5/99, S. 149

Verfasser: Andreas
Letzte Änderung: 2012-03-08 19:29


Front-End

Als Front-End bezeichnet man den Teil einer Anwendung, welche der Benutzer für den Zugriff auf die Datenbank verwendet. Es ist das Gegenstück zum Back-End.
 
 PC Magazin, Nr. 7/98, S. 161

Verfasser: Andreas
Letzte Änderung: 2012-03-08 19:30


Fuzzy-Suche

Das Programm kann mit Begriffen umgehen, die fuzzy, das heisst unscharf sind. Sie geben zum Beispiel einen Suchbegriff ein, und die jeweilige Software findet alle ähnlich geschriebenen bzw. sinnverwandten Begriffe. Das ist praktisch, wenn Sie sich mit der in den Dokumenten verwandten Terminologie nicht gut auskennen oder sich bei der Eingabe des Suchworts vertippt haben.
 
 PC Magazin, Nr. 4/2000, S. 239

Verfasser: Andreas
Letzte Änderung: 2012-03-08 19:30


Hash-Funktion

Eine Hash-Funktion nimmt einen Datenstring und gibt ein Ergebnis mit fester Größe aus: den Hash-Wert. H- Funktionen werden in verschiedenen Informatikbereichen verwandt, in der Kryptographie dienen sie meist als Prüfsumme einer Nachricht.
 
 PC Magazin, Nr. 4/97, S. 262

Verfasser: Andreas
Letzte Änderung: 2012-03-08 19:30


HBCI

Seit dem 1. Oktober 1998 ist HBCI (Homebanking Computer Interface) 2.0.1 als Internet-Schnittstellen-Standard für fast alle deutschen Banken verbindlich. Er regelt unter anderem terminierte Überweisungen, Daueraufträge, Festgelder und Auslandsüberweisungen. HBCI soll höchstmögliche Sicherheit durch modernste Verschlüsserlungsverfahren garantieren: Der Kunde erhält ein lokales Sicherheitsmedium mit einem privaten Schlüssel in Form einer Diskette oder Chipkarte. Damit identifiziert sich der Konto-Inhaber am heimischen PC. Die Chipkarten-Lösung gilt als sicherer. Eingesetzt werden derzeit zwei Sicherheitsverfahren: DDV arbeitet mit einem "abgeleiteten" Schlüssel, RDH hingegen mit zwei Schlüsselpaaren je Kommunikationspartner, die immer aus einem privaten und einem öffentlichen Schlüssel bestehen.
 
 PC Magazin, Nr. 11/98, Seite 44

Verfasser: Andreas
Letzte Änderung: 2012-03-08 19:31


Hotkey

Viele Programme bieten dem Anwender die Möglichkeit, häufig benötigte Aktionen auf eine bestimmte Taste oder Tastenkombination festzulegen. Diese Tasten nennt man auch "Hotkeys".
 
 PCgo!, Nr. 12/98, S. 132

Verfasser: Andreas
Letzte Änderung: 2012-03-08 19:31


HTML

Abk. für Hypertext Markup Language. Die für die Formatierung von Web-Seiten verwendete Sprache. Wenn Sie einen HTML-Editor verwenden, bekommen Sie davon normalerweise nichts mit: Der Editor erzeugt den HTML-Quelltext für Sie. Allderdings nutzen die wenigsten HTML-Editoren alle Möglichkeiten von HTML. Daher ist es manchmal notwendig, Code von Hand einzugeben.
 
 PC Magazin, Nr. 8/98, S. 201

Verfasser: Andreas
Letzte Änderung: 2012-03-08 19:32


HTML-Mails

HTML ist die Programmiersprache des Internets. Die Hauptaufgabe von HTML ist die Anordnung von Texten, Tabellen und Grafiken. Es setzt sich aber auch als Standardformat für das Verschicken von E-Mails durch. Der Vorteil: Nachrichten können genauso wie eine Web-Site aufgebaut sein, Grafiken und Tabellen können eingefügt, verschiedene Schriftarten und -farben verwendet werden. So fallen E-Mails optisch mehr auf und werden übersichtlicher. Eines der wenigen Programme, die HTML-Mails nicht unterstützen, ist Outlook 97. Outlook 98 und Express, AK-Mail, Pegasus und Eudora dagegen unterstützen diesen Standard.
 
 PCgo!, Nr. 12/98, S. 104

Verfasser: Andreas
Letzte Änderung: 2012-03-08 19:32


Hyperlinks

Hyperlinks stammen ursprünglich aus dem Internet. Man versteht darunter einfache Verknüpfungen, mit deren Hilfe man schnell durch verschiedene Internetseiten manövrieren kann. Doch auch Programme wie Word haben sich diese Technik zunutze gemacht. Durch die Verwendung von Hyperlinks können Sie ein strukturiertes Dokument aufbauen, in dem Sie dann schnell und bequem navigieren können.
 
 PCgo!, Nr. 11/98, S. 103

Verfasser: Andreas
Letzte Änderung: 2012-03-08 19:32


Hypertext

Eine seit den 60er Jahren bekannte Methode, um zusammengehörende Dokumente zu verbinden. Ein Hyperlink führt Sie per Mausklick von Seite zu Seite. Es kann sich aber auch eine Datenquelle hinter einem Hyperlink verbergen. Hiermit laden Sie sich dann zum Beispiel eine Grafik herunter.
 
 PCgo!, Nr. 12/98, S. 187

Verfasser: Andreas
Letzte Änderung: 2012-03-08 19:33


IDE

In der IDE (Integrated Development Environment: integrierte Entwicklungsumgebung) sind alle Werkzeuge für die Anwendungserstellung unter einer gemeinsamen Benutzeroberfläche zusammengefaßt.
 
 PC Magazin, Nr. 7/98, S. 161

Verfasser: Andreas
Letzte Änderung: 2012-03-08 19:33


IDEA

International Data Encryption Algorithm, die zweite Version eines Blockchiffrierers, entwickelt von Lai und Massey. IDEA ist ein 64-Bit-iterativer Blockchiffrierer mit 128-Bit-Schlüssel.
 
 PC Magazin, Nr. 4/97, S. 262

Verfasser: Andreas
Letzte Änderung: 2012-03-08 19:33


Implementierung

Es gibt auch Angriffe, die nicht auf den Verschlüsselungsalgorithmus, sondern auf seine unsicheren oder fehlerhaften Implementierungen abzielen; jedoch zählt dies nicht als ein "Brechen" des Verfahrens. Die meisten erfolgreichen Angriffe in der Praxis zielen auf unsichere Implementierung oder bespielsweise auf die Schlüsselverwaltung eines RSA- Systems.
 
 PC Magazin, Nr. 4/97, S. 262

Verfasser: Andreas
Letzte Änderung: 2012-03-08 19:34


inf-Datei

Windows 95 und 98 erkennen automatisch Dateien, die Programme und Daten installieren, an der typischen Endung ".inf". Eine solche Datei können Sie jedoch nicht wie eine ausführbare Datei (zum Beispiel ".exe") per Doppelklick starten. Sie müssen Sie mit der rechten Maustaste anklicken und aus dem Kontextmenü den Menüpunkt "Installieren" auswählen, um die Installation zu beginnen. Diese Installationsmethode ist aber nur für einfache Programme geeignet, da der Benutzer an keiner Stelle in die Installation eingreifen kann.
 
 PCgo!, Nr. 3/99, S. 44

Verfasser: Andreas
Letzte Änderung: 2012-03-08 19:34


Inspektor

Mit diesem Borland-Tool stellen Sie die Eigenschaften eines Objekts ein.
 
 PC Magazin, Nr. 2/2001, S. 208

Verfasser: Andreas
Letzte Änderung: 2012-03-08 19:35


Interpreter

Ein Programm, das Programmtext liest, Zeile für Zeile analysiert und die zugehörigen Anweisungen sofort ausführt. Im Unterschied zum Compiler erzeugt ein Interpreter kein eigenständig lauffähiges Programm. Interpreter-Sprachen sind für Einsteiger die bessere Wahl.
 
 PC Magazin, Nr. 4/2000, S. 126

Verfasser: Andreas
Letzte Änderung: 2012-03-08 19:35


ISAPI

Internt Server API ist eine Programmierschnittstelle für Internet-Server-Anwendungen, die den Microsoft Internet Information Server (MIIS) unter Windows NT benutzen.
 
 PC Magazin, Nr. 7/98, S. 161

Verfasser: Andreas
Letzte Änderung: 2012-03-08 19:35


Java

Java ist eine Programmiersprache von Sun, die geschaffen wurde, um Anwendungen auf den verschiedensten Computern laufen zu lassen. Das funktioniert so: Der Computer, auf dem Java laufen soll, braucht ein spezielles Programm, das die Fähigkeiten des Computers in einen virtuellen Java-Computer übersetzt. Das heißt, auf der Hardware- Plattform läuft ein Programm, das diesen speziellen Computer zu einem standardisierten Computer macht (Java virtual Machine). Auf diesem Standard funktionieren dann alle Programme, die für die JVM programmiert wurden. (Suns Java 1.1.4 entspricht dem WORA-Prinzip: "write once, run anywhere", und das entspricht Symbians Java) Anwendungen müssen deshalb nur noch ein einziges Mal programmiert werden. Sie können also ein einziges Programm gleichzeitig auf einem PC, einem Handheld oder einem Großcomputer laufen lassen ohne es umprogrammieren zu müssen.
 
 PCgo!, Nr. 5/99, S. 199

Verfasser: Andreas
Letzte Änderung: 2012-03-08 19:36


Java-Applets

Das sind in der Programmiersprache Java geschriebene Programme, die der Web-Browser aus dem Internet auf die Festplatte lädt. Die Applets erlauben mehr Interaktion mit dem Benutzer als reine HTML-Seiten. Die Sicherheitsmechanismen von Java sind etwas besser als bei ActiveX, trotzdem gibt es die Möglichkeit Viren oder "bösartige Programme" einzuschleusen.
 
 PCgo!, Nr. 5/99, S. 52

Verfasser: Andreas
Letzte Änderung: 2012-03-08 19:36


JavaScript

Eine Skriptsprache, die sowohl der Microsoft-Browser als auch der Netscape-Browser verstehen, allerdings in unterschiedlichen Dialekten. Mit dieser Skriptsprache bauen Sie beispielsweise Animationseffekte in Ihr Hilfesystem ein.
 
 PC Magazin, Nr. 8/98, S. 201

Verfasser: Andreas
Letzte Änderung: 2012-03-08 19:36


JDK

Abk. für Java Development Kit von Sun. Essentielle Entwicklungs-Tools und Bibliotheken für die Java- Programmierung.
 
 PC Magazin, Nr. 2/2001, S. 208

Verfasser: Andreas
Letzte Änderung: 2012-03-08 19:37


JScript

Die Microsoft-eigene Sprache enthält spezielle Befehle für den MS Internet Explorer.
 
 PC Magazin, Nr. 12/99, S. 200

Verfasser: Andreas
Letzte Änderung: 2012-03-08 19:37


Klasse

Enthält Methoden und Eigenschaften. Aus Klassen werden die Objekte abgeleitet.
 
 PC Magazin, Nr. 2/2001, S. 208

Verfasser: Andreas
Letzte Änderung: 2012-03-08 19:38


Kontextmenü

Ein Kontextmenü ist eine Liste von Auswahlmöglichkeiten. Es öffnet sich, wenn Sie auf Ihrem Bildschirm etwas mit der rechten Maustaste anklicken. Abhängig von der aktiven Oberfläche können Sie dann Aktionen auswählen. Normalerweise würden Sie zum Erreichen der gewünschten Aktion mehrere Schritte benötigen. Sie können das Kontextmenü als Abkürzung sehen, die ein schnelleres Arbeiten erlaubt.
 
 PCgo! Nr. 4/99, S. 100

Verfasser: Andreas
Letzte Änderung: 2012-03-08 19:38


Kryptoanalyse

Methoden und Techniken zum Knacken kryptographisch geschützter Daten.
 
 PC Magazin, Nr. 4/97, S. 262
 

Verfasser: Andreas
Letzte Änderung: 2012-03-08 19:38


Kryptologie

Wissenschaft der Geheimschriften; umfaßt die Kryptographie und die Kryptoanalyse.
 
 PC Magazin, Nr. 4/97, S. 262
 

Verfasser: Andreas
Letzte Änderung: 2012-03-08 19:39


Linkadressen

Unter einer Linkadresse versteht man eine Internetadresse, die über Verknüpfungen zu weiteren Internetseiten entsteht. Links sind speziell eingerichtete Bereiche auf Internetseiten, die durch Anklicken mittels Maus Funktionen zur Verfügung stellen, weitere Seiten öffnen, oder sogar externe Programme aufrufen und starten. Der Link ("Verbindung") enthält eine Verknüpfung auf das in ihm eingebettete Objekt oder auf die entsprechende Datei.
 
 PCgo!, Nr. 11/98, S. 128

Verfasser: Andreas
Letzte Änderung: 2012-03-08 19:39


Makro

Makros automatisieren häufig wiederkehrende manuelle Bedienungsschritte in einer Anwendung. Mit dem Makrorekorder zeichnet das Programm Ihre Arbeitsschritte mit der Maus oder Tastatur auf. Daraus entsteht eine Folge von Textbefehlen, die sich anschließend speichern und in einem Editor ändern lassen.
 
 PC Magazin, Nr. 7/98, S. 161

Verfasser: Andreas
Letzte Änderung: 2012-03-08 19:40


MAPI

Abk. für Messaging Application Program Interface. Von Microsoft definierte Schnittstelle, mit der Sie von jeder Windows-Software aus E-Mails verschicken können. Das Dokument, an dem Sie gerade arbeiten, wird als Attachment angehängt.
 
 PC Magazin, Nr. 4/2000, S. 239

Verfasser: Andreas
Letzte Änderung: 2012-03-08 19:40


Meta-Tags

Meta-Daten im programmierten (HTML-)Text einer Homepage beschreiben deren Eigenschaften. Sie tauchen aber nicht als Text im Browserfenster auf. Mit Hilfe dieser Schlüsselwörter und Beschreibungen finden Internet- Suchmaschinen die Seite beziehungsweise ordnen sie ein. Setzt ein Betreiber in den Meta-Tags auf seiner Internet- Seite den Namen eines Konkurrenten ein, gelangen dadurch die Suchmaschinen und auch einige Websurfer zu seiner Seite, obwohl sie ursprünglich zum Angebot der Konkurrenz wollten (unlauterer Wettbewerb).
 
 PCgo!, Nr. 7/99, S. 177

Verfasser: Andreas
Letzte Änderung: 2012-03-08 19:40


Metadaten

Metadaten sind Informationen, die im Startbereich von HTML-Dokumenten stehen. Mit der Hilfe von Meta-Daten werden bestimmte Eigenschaften von Internet-Seiten beschrieben, ohne daß ein Browser sie darstellt. Suchmaschinen können diese Daten interpretieren und speichern die Web-Seiten nach diesen Vorgaben in Ihrer Datenbank. Beispiel: Per "Description-Meta" wird festgelegt, mit welcher Beschreibung eine Internetseite in der Fundliste einer Suchmaschine erscheint.
 
 PCgo!, Nr. 4/99, S. 194

Verfasser: Andreas
Letzte Änderung: 2012-03-08 19:41


Metasprachen

Metasprachen (meta, griechisch, bedeutet über) beschreiben andere Sprachen. So beschreibt zum Beispiel EBNF (erweiterte Backus Naur Form) die Syntax von Programmiersprachen wie C, Pascal oder Java. Der Vorteil von Metasprachen besteht darin, daß sie den Aufwand für die Entwicklung von Parsern (Übersetzern) verringern. Denn durch den Einsatz von sogenannten Meta-Compilern (Compiler-Compiler) läßt sich diese Aufgabe weitestgehend automatisieren. Die bekanntesten Meta- Compiler für Programmiersprachen sind lex und yacc.
 
 PC Magazin, Nr. 10/98, S. 212

Verfasser: Andreas
Letzte Änderung: 2012-03-08 19:41


Methode

Java-Funktion, vergleichbar mit einem Unterprogramm.
 
 PC Magazin, Nr. 2/2001, S. 208

Verfasser: Andreas
Letzte Änderung: 2012-03-08 19:41


MS-DOS-Modus

Der MS-DOS-Modus bietet die Möglichkeit, alte MS-DOS-Programme laufen zu lassen, die nicht zusammen mit Windows 98 funktionieren. Dazu wird Windows 98 temporär verlassen, indem Sie auf "Start", "Beenden" und dann "im MS-DOS-Modus neu starten" anwählen. Wenn Sie in diesen Modus wechseln, vergessen Sie nicht, alle noch nicht gesicherten Daten zu speichern.
 
 PCgo!, Nr. 1/99, S. 100

Verfasser: Andreas
Letzte Änderung: 2012-03-08 19:42


objektorientiert

Eine moderne Programmiermethode, die nicht einfach zu verstehen ist, aber sich als sehr nützlich bei großen Programmen und Projektteams erweist. Für Einsteiger ist sie nicht von Bedeutung.
 
 PC Magazin, Nr. 4/2000, S. 126

Verfasser: Andreas
Letzte Änderung: 2012-03-08 19:42


OCR

Die Abkürzung heißt optical character recognition und bedeutet nichts anderes als Texterkennung. Diese Programme sind nötig, um aus Scans wieder richtigen Text zu machen.
 
 PCgo!, Nr. 1/99, S. 40

Verfasser: Andreas
Letzte Änderung: 2012-03-08 19:43


ODBC

Von Microsoft definierte Standardschnittstelle für Datenbanksysteme. Über einen ODBC-Treiber (Open Database Connectivity) greifen Sie aus einer Datenbank heraus auf beliebige Datenbankformate wie dBase, Paradox oder Access zu. Es muß nur der zum Format passende ODBC- Treiber auf dem PC installiert sein.
 
 PC Magazin, Nr. 7/98, S. 161

Verfasser: Andreas
Letzte Änderung: 2012-03-08 19:43


Offline-Lesen

Wenn Sie Internet-Seiten besuchen, werden die Dateien der Seiten in einem bestimmten Verzeichnis der Festplatte gespeichert. Wenn Sie nun in einem Browser die "History- Liste" (Netscape) oder "Verlauf" (Microsoft) öffnen, können Sie diese Seiten aufrufen, auch wenn Sie nicht mehr online sind.
 
 PCgo!, Nr. 3/99, S. 177
 

Verfasser: Andreas
Letzte Änderung: 2012-03-08 19:43


OOP

Abkürzung für objektorientierte Programmierung. Diese Programmierphilosophie ist vor allem von Smalltalk und C++ bekannt.
 
 PC Magazin, Nr. 7/98, S. 161

Verfasser: Andreas
Letzte Änderung: 2012-03-08 19:44


OpenGL

Grafikbibliothek von Silicon Graphics, die 3D-Funktionen zur Darstellung hochwertiger 3D-Objekte enthält.
 
 PC Magazin, Nr. 4/98, S. 80
 
 Das schon länger existierende Gegenstück zu DirectX ist OpenGL. Dieses kommt eigentlich aus dem professionellen Bereich und liegt aktuell in Version 2.0 vor. Für OpenGL programmierte 3D-Anwendungen geben die Befehle and den Grafikkartentreiber weiter, der dies für die Hardware verständlich umsetzt. Waren fürher fast alle Spiele OpenGL Spiele, setzt sich zunehmend aber DirectX durch. Nur noch Quake und Doom3 setzten als Hauptvertreter immer noch auf OpenGL.
 
 
 Quelle: WCM 242, Seite 75

Verfasser: Andreas
Letzte Änderung: 2012-03-08 19:44


Package

Sammlung von Klassen, die miteinander funktionieren.
 
 PC Magazin, Nr. 2/2001, S. 208

Verfasser: Andreas
Letzte Änderung: 2012-03-08 19:45


Parameter

Ein Parameter ist eine zusätzliche Angabe beim Start eines Programms. Üblicherweise kommen Parameter oft bei DOS-Programmen vor. Wenn Sie etwa "DIR Temp" eingeben, dann ist "Temp" ein Parameter. Es gibt auch Windows-Programme, die sich mit Parametern starten lassen. Dazu muß man aber erst eine Verknüpfung anlegen und anschließend unter Eigenschaften beim Aufruf des Programms die Parameter anfügen.
 
 PCgo!, Nr. 1/99, S. 98

Verfasser: Andreas
Letzte Änderung: 2012-03-08 19:45


Perl

Skriptsprache für Programme, die "auf Web-Sites Laufen". Die Skripts werden von einem Interpreter ausgeführt und sind daher nicht besonders schnell. Sie befinden sich in einem Verzeichnis des Web-Servers, das mit Ausführen- Rechten gesegnet ist.
 
 PC Magazin Plus, Nr. 7/2001, S. 25

Verfasser: Andreas
Letzte Änderung: 2012-03-08 19:45


PGP

Pretty Good Privacy, das meistgenutzte Codierungsprogramm der Welt. Die sogenannte "starke Verschlüsselung", wie PGP sie benutzt, fällt unter das Exportverbot der Vereinigten Staaten. Deshalb ermittelten die US-Behörden drei Jahre gegen den Autor Phil Zimmermann. Inzwischen wurde das Verfahren ohne Angabe von Gründen eingestellt.
 
 PC Magazin, Nr. 4/97, S. 262

Verfasser: Andreas
Letzte Änderung: 2012-03-08 19:46


PIM

PIM ist die englische Abkürzung für "Personal Information Manager", eine etwas hochtrabende Bezeichnung für einen Adreß- und Terminverwalter. Bei manchen PIMs (etwa Outlook) ist ebenfalls ein e-mail-Programm integriert. Ziel eines PIMs ist es die verschiedenen Informationen miteinander zu kombinieren, also Adressen mit Terminen, Aufgabenlisten, Notizen und e-mails zu verbinden.
 
 PCgo!, Nr. 11/98, S. 80

Verfasser: Andreas
Letzte Änderung: 2012-03-08 19:46


Plug-Ins

Plug-Ins sind Erweiterungen zu bestehenden Programmen, in diesem Fall den Internet-Browsern. Sie sorgen dafür, daß ein bestimmtes Dateiformat innerhalb des Browser abgespielt werden kann. So gibt es etwa Plug-Ins für verschiedene Video- und Musikformate. Im Internet gibt es etliche Plug-Ins, nur wenige sind in den Browser integriert. Sie müssen sich die Plug-Ins erst aus dem Internet besorgen, um sie dann in den Browser einzufügen.
 
 PCgo!, Nr. 3/99, S. 177

Verfasser: Andreas
Letzte Änderung: 2012-03-08 19:47


Popup-Menü

Ein sogenanntes "Popup"-Menü ist ein Menü, das genau dort plötzlich sichtbar wird, wo man mit der rechten Maustaste geklickt hat. Außerdem variiert der Inhalt der Auswahl, je nachdem auf was man mit der rechten Maustaste geklickt hat. Sie erhalten zum Beispiel ein Popup-Menü, wenn Sie mit der rechten Maustaste auf das Symbol "Arbeitsplatz" klicken.
 
 PCgo!, Nr. 3/99, S. 19

Verfasser: Andreas
Letzte Änderung: 2012-03-08 19:47


Popup-Menü

Ein sogenanntes "Popup"-Menü ist ein Menü, das genau dort plötzlich sichtbar wird, wo man mit der rechten Maustaste geklickt hat. Außerdem variiert der Inhalt der Auswahl, je nachdem auf was man mit der rechten Maustaste geklickt hat. Sie erhalten zum Beispiel ein Popup-Menü, wenn Sie mit der rechten Maustaste auf das Symbol "Arbeitsplatz" klicken.
 
 PCgo!, Nr. 3/99, S. 19

Verfasser: Andreas
Letzte Änderung: 2012-03-08 19:47


Positionierungsrahmen

Mit Hilfe von Positionsrahmen lassen sicht Texte, Grafiken und Objekte frei auf der Seite plazieren. Einen Positionsrahmen kann man sich als Behälter vorstellen, der die Ausmaße und die Position des darin befindlichen Inhalts definiert. Positionsrahmen werden vor allem für komplexe Seiten benötigt. Auf Wunsch wird der Inhalt des Rahmens vom umliegenden Text umflossen. Auch Seitenränder stehen zur Verfügung, so daß sich z.B. Bildunterschriften auf den Seitenrand setzen lassen.
 
 PCgo!, Nr. 1/99, S. 138

Verfasser: Andreas
Letzte Änderung: 2012-03-08 19:48


PostScript

Druckerbeschreibungssprache, entwickelt von der Software- Firma Adobe
 
 PC Magazin, Nr. 11/98, S. 152

Verfasser: Andreas
Letzte Änderung: 2012-03-08 19:48


Projektverwaltung

Alle Dateien sind in einem Projekt zusammengefasst, das in einer Projektdatei mit der Endung jpr oder jpx gespeichert wird. Dort befinden sich auch alle projektspezifischen Einstellungen wie Pfade zu Bibliotheken, Verzeichnisse, JDK-Versionen und anderes. Die Projektdatei wird automatisch gepflegt.
 
 PC Magazin, Nr. 2/2001, S. 208

Verfasser: Andreas
Letzte Änderung: 2012-03-08 19:49


Proprietäre Lösung

Software, die durch eine starke Herstellerabhängigkeit gekennzeichnet ist.
 
 PC Magazin PLUS, Nr. 2/2001, S. 10

Verfasser: Andreas
Letzte Änderung: 2012-03-08 19:49


Protokolldatei

Bei der Arbeit mit Windows 98 kann es notwendig sein, bestimmte Vorgänge oder Programmabläufe mitzuschreiben. Jeder Einzelschritt des ablaufenden Vorgangs wird dabei als Klartext in einer Protokolldatei erfaßt und kann als "Schnappschuß" von anderen Programmen ausgewertet werden. Die Protokolldateien haben meist die Endung ".LOG" oder ".txt" und können mit jedem Texteditor eingesehen werden.
 
 PCgo!, Nr. 12/98, S. 130

Verfasser: Andreas
Letzte Änderung: 2012-03-08 19:49


Public Key

Vor knapp 20 Jahren entwarfen Rivest, Shamir und Adleman (RSA) das erste Krypto-Verfahren, bei dem der Absender einen Text mit einem öffentlich bekannten Schlüssel chiffriert und der Empfänger die Nachricht mit einem geheimen Schlüssel wiederherstellt. PGP benutzt diesen Algorithmus sowohl für die digitale Signatur als auch zum Transfer symmetrischer Schlüssel. RSA ist möglich, weil es schwierig ist, eine große Zahl in ihre Primteiler zu zerlegen. Leicht ist es dagegen, zwei Primzahlen zu multiplizieren und so eine große Zahl zu erhalten. Offentlich bekannt ist die große Zahl. Geheim dagegen sind die beiden Primteiler. Es ist nicht ausgeschlossen, wenn auch unwahrscheinlich, daß jemand eine allgemeine Zerlegungsvorschrift für große Zahlen entdeckt. RSA hätte dann ausgedient! Gleiches gilt für Ajtais Verfahren. Mathematisch ist nicht zu beweisen, daß das zugrundeliegende "unique shortest vector problem" (Problem des alleinigen kürzesten Vektors) in einem hochdimensionalen Raum unlösbar ist. Es zeigt nur, daß bisher bekannte Lösungsansätze nahezug "ewig" rechnen, um diesen Vektor zu finden. Die große Mange des zu übertragenden Chiffretextes ergibt sich daraus, daß die Bits pro Vektorkomponente der Dimension des Raums entsprechen sollten. Jedem Bit des Ausgangstextes wird ein Vektor zugeordnet. In einem n-dimensionalen Raum müssen also pro Bit Klartext n x n Bit Chiffretext übertragen werden.
 
 PC Magazin, Nr. 9/97, S. 66

Verfasser: Andreas
Letzte Änderung: 2012-03-08 19:50


Quellcode

Das sind die Programmbefehle, die hinter einem Programm stehen. Normalerweise ist der Quellcode eines Programmes ein großes Geheimnis. Denn wenn man ihn kennt, lassen sich Teile des Programmes in andere übernehmen. Netscape veröffentlichte aber den Quellcode, damit viele Programmierer ihre eigenen Anwendungen um den Navigator herum basteln können.
 
 PCgo!, Nr. 3/99, S. 176

Verfasser: Andreas
Letzte Änderung: 2012-03-08 19:50


RC4

Abk. für Rivest Cypher 4. Heute sehr verbreiteter und schneller Verschlüsselungsalgorithmus, der u.a. bei SSL angewandt wird. Die Schlüssellänge beträgt meist 40 Bit. Sicher ist sie erst mit 128 Bit.
 
 PC Magazin, Nr. 12/99, S. 96

Verfasser: Andreas
Letzte Änderung: 2012-03-08 19:50


Referentielle Integrität

Referenzielle Integrität bedeutet bei Datenbanken im einfachsten Fall, daß beim Löschen eines Hauptdatensatzes alle verknüpften Tochterdatensätze ebenfalls automatisch gelöscht werden. Beispiel: In einer Tabelle sind die Kunden mit einer eindeutigen Kundennummer gespeichert. Die Rechnungen stehen wieder in einer eigenen Tabelle und verweisen auf die Kundennummer. Löschen Sie nun einen Kundeneintrag, für den Rechnungen gespeichert sind, und es verbleiben Rechnungseinträge mit verwaister Kundennummer, dann ist die referentielle Integrität zerstört.
 
 PC Magazin, Nr. 7/98, S. 161

Verfasser: Andreas
Letzte Änderung: 2012-03-08 19:51


Registerkarte

Sie finden Registerkarten bei fast allen Einstell-Dialogen. Die Registerkarte enthält unter einem Oberbegriff verschiedene Einstellungen, die inhaltlich zusammengehören - ganz analog einer Karteikarte, die weitere Details enthält. Klicken Sie die Registerkarte an, können Sie die einzelnen Punkte anwählen und gegebenfalls ändern.
 
 PCgo! Nr. 4/99, S. 99

Verfasser: Andreas
Letzte Änderung: 2012-03-08 19:51


Registrierungseditor

Das ist ein Editor, mit dem sich die Konfigurationsdatenbank von Windows 95/98 bearbeiten läßt. Unter Windows 95 werden Programme bereits während der Programmeinrichtung OLE-fähig (Daten werden direkt mit dem Programm verbunden). Die Registrierung erfolgt in der sogenannten Registrierungsdatenbank. Um Änderungen an der Registrierung von Anwendungsprogrammen oder Windows 95/98 vorzunehmen, muß diese mit dem Registrier-Editor "REGEDIT.EXE" bearbeitet werden. Damit die Änderungen in Kraft treten, müssen Sie Ihren Rechner neu starten.
 
 PCgo!, Nr. 1/99, S. 134

Verfasser: Andreas
Letzte Änderung: 2012-03-08 19:52


Registry

Die Registry besteht aus mehreren Dateien, die alle auf ".dat" enden und im Windows-Verzeichnis zu finden sind. Die Dateien enthalten alle wichtigen Einstellungen von Windows und installierten Anwendungsprogrammen. Verändert wird die Registry über die Systemsteuerung, beim Installieren und Deinstallieren sowie per Hand mit dem Editor "RegEdit".
 
 PCgo!, Nr. 1/99, S. 98

Verfasser: Andreas
Letzte Änderung: 2012-03-08 19:52


Relationale Datenbank

Eine Datenbank, bei der es keine vorher festgelegte Verknüpfungsstruktur gibt. So lassen sich während des laufenden Betriebs neue Verknüpfungen zwischen Tabellen (etwa Kunden und Rechnungen über die Kundennummer) festlegen.
 
 PC Magazin, Nr. 7/98, S. 161

Verfasser: Andreas
Letzte Änderung: 2012-03-08 19:52


RSA

1977 erfanden Ron Rivest, Adi Shamir und Leonhard Adleman dieses asymmetrische Kryptosystem (Public-Key- Verfahren), das sich zum Verschlüsseln und zur Authentifikation eignet (vgl. Haass, Michael, Mathematische Grundlagen, in: PC Magazin, Nr. 4/97, S. 248). Die Länge der Schlüssel ist variabel, mindestens 512 Bit. Diese Länge wurde erst einmal geknackt. Die Verschlüsselungs-Software PGP setzt RSA ein, meist mit einer Schlüssellänge von 1024 oder 2048 Bit.
 
 PC Magazin, Nr. 4/97, S. 262
 PC Magazin, Nr. 12/99, S. 96

Verfasser: Andreas
Letzte Änderung: 2012-03-08 19:53


Runtime-Modul

Ein Runtime-Modul erlaubt die Ausführung einer Datenbankanwendung auch ohne das komplette Entwicklungssystem. Für die kostengünstige Verteilung von Anwendungen ist ein Runtime-Modul unumgänglich.
 
 PC Magazin, Nr. 7/98, S. 161

Verfasser: Andreas
Letzte Änderung: 2012-03-08 19:53


Schlüssel

Der kryptographische Schlüssel, ein in kryptographischen Algorithmen verwendeter Parameter, ist das Werkzeug, um den Klartext aus einem Kryptogramm wieder zurückzugewinnen.
 
 PC Magazin, Nr. 4/97, S. 262

Verfasser: Andreas
Letzte Änderung: 2012-03-08 19:53


Scriptsprache

Eine einfache Interpreter-Sprache, die weniger für komplexe Programme, sondern mehr für einfache Erweiterungen von großen Anwendungen gedacht ist.
 
 PC Magazin, Nr. 4/2000, S. 126

Verfasser: Andreas
Letzte Änderung: 2012-03-08 19:54


Scrollbar

Auf deutsch "Rollbalken". Dieser Befindet sich immer rechts am Bildschirmrand. Bewegen Sie den Mauspfeil auf ihn und klicken ihn mit der linken Maustaste an, dann können Sie die gerade geöffneten Datei nach oben oder unten verschieben, und so den gesamten Text nach und nach lesen.
 
 PCgo!, Nr. 11/98, S. 110

Verfasser: Andreas
Letzte Änderung: 2012-03-08 19:55


SET

Secure Electronic Transaction ist ein Protokoll für die sichere Bezahlung per Kreditkarte.
 
 PC Magazin, Nr. 12/99, S. 79

Verfasser: Andreas
Letzte Änderung: 2012-03-08 19:55


Shockwave

Mit dieser Browser-Erweiterung von Macromedia können Sie die Director-Files abspielen.
 
 PC Magazin, Nr. 12/99, S. 200

Verfasser: Andreas
Letzte Änderung: 2012-03-08 19:55


Shortcut

Shortcut bedeutet soviel wie "Tastenkombination". Das heißt, Sie können Befehle aufrufen, wenn Sie eine oder mehrere Tasten drücken. Das geht schneller, als eine Funktion über einen Menüpunkt anzuwählen. In Menüs wird der Shortcut zu einem Menüpunkt häufig mit einem unterstrichenen Buchstaben angezeigt. Oder er wird neben dem entsprechenden Befehl vermerkt. Haben Sie sich einmal die wichtigsten Kombinationen gemerkt, werden Sie wesentlich schneller arbeiten.
 
 PCgo!, Nr. 1/99, S. 138

Verfasser: Andreas
Letzte Änderung: 2012-03-08 19:56


SHTML

Eine sichere Verbindung besteht über den Secure Socket Layer (SSL), wenn der Kunde sich auf einer SHTML-Seite befindet und vom Browser keine Fehlermeldung bekommen hat. Der Händler hat dann ein gültiges Zertifikat.
 
 PC Magazin, Nr. 12/99, S. 79

Verfasser: Andreas
Letzte Änderung: 2012-03-08 19:56


SID

Abk. für Security Identifier
 
 PC Magazin, Nr. 8/99, S. 135

Verfasser: Andreas
Letzte Änderung: 2012-03-08 19:56


Signatur

Eine Signatur ist ein kurzer Text, den das E-Mail-Programm an jeden Brief automatisch anhängt. Meist findet sich darin die Absenderadresse, ein mehr oder wenig witziger Spruch oder der PGP-Fingerprint des öffentlichen Schlüssels.
 
 PC Magazin, Nr. 6/2000, S. 162

Verfasser: Andreas
Letzte Änderung: 2012-03-08 19:57


SKIP

Abk. für Simple Key IP Management Protocol. Protokoll, bei dem ein Zeitstempel und die Verschlüsselungsinformation im Paket-Header transportiert werden. Der Wechsel von Schlüsseln erfolgt automatisch.
 
 PC Magazin, Nr. 12/99, S. 96

Verfasser: Andreas
Letzte Änderung: 2012-03-08 19:57


Slideshow

Englisch, bedeutet wörtlich: "Diaschau". Der Begriff wird auf dem Computer für jede Art von manuell oder automatisch gesteuerter "Bilderfolge" verwendet.
 
 PCgo!, Nr. 10/98, S. 160

Verfasser: Andreas
Letzte Änderung: 2012-03-08 19:57


Sourcecode

Eine andere Bezeichnung für Programmtext, der von einem Compiler oder Interpreter verarbeitet wird.
 
 PC Magazin, Nr. 4/2000, S. 126

Verfasser: Andreas
Letzte Änderung: 2012-03-08 19:58


SQL

SQL (Structured Query Language) ist eine universelle Abfragesprache für Datenbanken, die vor allem bei Großanwendungen in Banken oder ähnlichen Mehrbenutzersystemen zum Einsatz kommen.
 
 PC Magazin, Nr. 7/98, S. 161

Verfasser: Andreas
Letzte Änderung: 2012-03-08 19:58


SSC

Abk. für Security Support Component.
 
 PC Magazin, Nr. 10/2002, S. 44

Verfasser: Andreas
Letzte Änderung: 2012-03-08 19:59


Standard Generalized Markup Language (SGML)

Bei SGML handelt es sich um eine Sprache zur Beschreibung der Struktur von Dokumenten. Diese Beschreibung erfolgt mit Hilfe sogenannter Tags, mit denen Elemente des Dokuments identifiziert werden. HTML ist eine Anwendung von SGML. Allerdings ist der usprüngliche Zweck von SGML in HTML meist verwaschen, denn die Tags werden in aktuellen HTML-Dokumenten eher zur Formatierung des Dokuments statt zu dessen Strukturierung verwendet. Ein klassisches SGML-Dokument hat drei Aspekte: seine Struktur, sein Stil (Formatierung) und seinen Inhalt. Bei DHTML kommt der Aspekt des "Benehmens" hinzu, da das Dokument auf Benutzeraktionen reagieren kann. Die Struktur des Dokuments wird durch die Art und Weise der Anordnung von Elementen definiert. Der Stil des Dokuments entsteht durch die Anwendung von Style Sheets auf diese Elemente. Der Inhalt definiert sich die Elemente selbst.
 
 PC Magazin, Nr. 8/98, S. 197

Verfasser: Andreas
Letzte Änderung: 2012-03-08 19:59


Startbutton

Einrichtung in der Task-Leiste von windows zum schnellen Starten von Programmen und Dokumenten. Über den Start-Button erreichen Sie alle Programme, Dokumente oder Systemeinstellungen unter Windows 95 oder 98. In der Windows-98-Version sind einige neue Funktionen und Einträge in den Startbereich übernommen worden. Sie erreichen von hier aus direkt Ihre "Favoriten" im Internet, womit Einträge für die Startseiten von Internet-Angeboten gemeint sind. Sie können nun aber auch Ihre Anwendungs-Software aktualisieren, indem Sie mit der Maus auf Einträge klicken und dann per Datenübertragung neue Versionen oder Versionserneuerungen erhalten.
 
 PCgo!, Nr. 11/98, S. 126

Verfasser: Andreas
Letzte Änderung: 2012-03-08 20:00


Steganographie

Verfahren zum Verstecken von Nachrichten in anderen Dateien (vgl. Creutzig, Christopher, Ein Bild sagt mehr als tausend Worte, in: PC Magazin, Nr. 4/97, S. 260).
 
 PC Magazin, Nr. 4/97, S. 262

Verfasser: Andreas
Letzte Änderung: 2012-03-08 20:00


Stromchiffrierer

Hierbei handelt es sich um einen symmetrischen Verschlüsselungsalgorithmus. Das Design ist gegenüber dem von Blockchiffrierern auf erhöhte Geschwindigkeit ausgelegt. Meist arbeiten Stromchriffrierer auf Bit- Ebene.
 
 PC Magazin, Nr. 4/97, S. 262

Verfasser: Andreas
Letzte Änderung: 2012-03-08 20:00


Suchmaschinen

Suchmaschinen sind Datenbanken, in denen eine große Zahl von Internetseiten mit Adresse und weiteren Informationen verzeichnet sind. Häufig verwaltet eine dieser Datenbanken mehrere Millionen von Dokumenten. Da im Inernet kein übergreifendes Inhaltsverzeichnis existiert, haben Suchmaschinen große Bedeutung für die schnelle und effektive Datenrecherche im World Wide Web. Nachdem Sie einen Suchbegriff eingegeben haben, erhalten Sie eine Liste mit Web-Seiten, die diese Suchbedingungen erfüllen. Die Liste wird in Form von Links angezeigt. Per Klick auf einen Link, werden Sie mit der gewünschten Seite verbunden. Mit Verknüpfungen mehrerer Suchbegriffe verfeinern Sie die Suche.
 
 PCgo!, Nr. 4/99, S. 192

Verfasser: Andreas
Letzte Änderung: 2012-03-08 20:01


Symbolleiste

Eine Symbolleiste ist ein grauer Bereich (normalerweise am unteren Bildschirmrand zu finden), auf dem allerhand Symbole zu finden sind. Direkt nach der Installation von Windows 98 sind auf der Symbolleiste der Startschalter, die aktiven Programme, die Schnellstartleiste und rechts die Symbole von einigen Hilfsprogrammen sowie die Uhr.
 
 PCgo!, Nr. 3/99, S. 19

Verfasser: Andreas
Letzte Änderung: 2012-03-08 20:01


Symmetrische Verschlüsselung

Herkömmliche Kryptographie basiert darauf, daß Sender und Empfänger einer Nachricht denselben geheimen Schlüssel (Secret Key) kennen und benutzen: Der Sender verwendet ihn zum Chiffrieren, der Empfänger zum Entschlüsseln. Das Hauptproblem: Sender und Empfänger einigen sich auf denselben geheimen Schlüssel, ohne daß ihn jemand anders zu Gesicht bekommt. Wenn sie sich an verschiedenen Orten befinden, müssen sie einem Kurier, einer Telefonverbindung oder einem anderen Kommunikationsmedium trauen, um die Offenlegung des geheimen Schlüssel zu verhindern. Jeder, der den Schlüssel während der Übertragung abfängt oder mithört, kann danach alle verschlüsselten Nachrichten lesen, ändern, fälschen oder unterschreiben, indem er diesen Schlüssel verwendet. Da alle Schlüssel eines symmetrischen Kryptosystems geheim bleiben müssen, haben diese Systeme oft Schwierigkeiten mit einem sicheren Schlüsselmanagement: speziell in offenen Umgebungen mit vielen Nutzern.
 
 PC Magazin, Nr. 4/97, S. 262
 

Verfasser: Andreas
Letzte Änderung: 2012-03-08 20:01


System Tray

In der rechten unteren Bildschirmecke von Windows 95 und 98 befindet sich der System Tray oder Systray. Damit werden bestimmte aktive Programme angezeigt., die gerade aktiv sind. Oft werden Programme aus dem Systray automatisch beim Windows-Start geladen, ansonsten werden sie manuell aktiviert. Deaktiviert werden die Programme meist mit einem Rechts- oder Doppelklick.
 
 PCgo!, Nr. 1/99, S. 112

Verfasser: Andreas
Letzte Änderung: 2012-03-08 20:02


Systemkonfiguration

Mit Hilfe des Systemkonfigurationsprogramms können Sie unter Windows 98 komfortabel die Startoptionen einstellen, ohne die entsprechenden Dateien über einen Editor zu laden und dort im Textmodus zu bearbeiten. Beschleunigen können Sie Ihr System insbesondere über die Registerkarte "Autostart". Denn hier werden im Gegensatz zum Autostart-Ordner in der Startleiste wirklich sämtliche Einträge aufgelistet, die Windows beim Starten ausführt. Es sollte nur das aktiviert sein, was man wirklich stets benötigt.
 
 PCgo!, Nr. 5/99, S. 41

Verfasser: Andreas
Letzte Änderung: 2012-03-08 20:02


Tabelle

Eine Tabelle faßt gleichartige Datensätze zusammen. Sie hat Spalten (die Felder) und Zeilen (die Datensätze).
 
 PC Magazin, Nr. 7/98, S. 161
 

Verfasser: Andreas
Letzte Änderung: 2012-03-08 20:03


Tabulator

Tabulatoren ermöglichen es, den Text immer gleichmäßig einzuziehen. Befindet sich innerhalb eines langen Textes eine Aufzählung, so können die einzelnen Unterpunkte sauber untereinander aufgereiht werden. Das mühsame menuelle Verschieben kann man sich damit sparen. Denn das Plazieren funktioniert nie ganz genau, was sich besonders beim Ausdruck bemerkbar macht.
 
 PCgo!, Nr. 3/99, S. 102

Verfasser: Andreas
Letzte Änderung: 2012-03-08 20:03


Tag

HTML-Steuerbefehl; alle HTML-Befehle stehen in Tags, die das Verhalten steuern.
 
 PC Magazin, Nr. 2/99, S. 201

Verfasser: Andreas
Letzte Änderung: 2012-03-08 20:03


Taskleiste

Die Taskleiste ist eine spezielle Symbolleiste, die unter anderem für jedes gestartete Programm einen Eintrag enthält. Sie finden sie immer auf der Symbolleiste, die auch den Start-Schalter enthält. Klickt man auf ein Symbol in der Taskleiste, kommt das Fenster des zugehörigen Programms nach vorn und ist aktiviert.
 
 PCgo!, Nr. 3/99, S. 19 ]

Verfasser: Andreas
Letzte Änderung: 2012-03-08 20:04


Texterkennung

Das ist ein Programm, das gescannte Schrift erkennt und in ein für den PC als Schrift verständliches Format umwandelt. Mit der als Bild eingelesenen Schrift kann der PC nichts anfangen. Für ihn ist es das selbe wie eine Landschaftsaufnahme. Erst die Texterkennung macht aus den Buchstabenbildern wieder Text.
 
 PCgo!, Nr. 1/99, S. 58

Verfasser: Andreas
Letzte Änderung: 2012-03-08 20:04


Thumbnail

Der Begriff "Thumbnail" kommt aus dem Englischen und heißt übersetzt "Daumennagel". Als "Thumbnail" bezeichnet man eine Miniaturansicht einer Grafik. Diese Ansicht ist allerdings so klein, daß sie nur als Vorschau zu verwenden ist. Es sind nicht mehr als die Umrisse zu sehen. "Thumbnails" werden hauptsächlich von Grafikprogrammen verwendet, um den Benutzer die Dateiauswahl zu erleichtern.
 
 PCgo!, Nr. 7/98, S. 50

Verfasser: Andreas
Letzte Änderung: 2012-03-08 20:04


Topic

Ein Hilfe-Topic ist ein Text,der einen bestimmten, klar definierten Teil Ihrer Hilfe enthält. Bei HTML Help entspricht ein Topic jeweils einer HTML-Datei. Jedes Topic kann innerhalb von HTML Help so angewählt werden, als wäre es ein normaler Verweis.
 
 PC Magazin, Nr. 8/98, S. 201

Verfasser: Andreas
Letzte Änderung: 2012-03-08 20:05


Transaktion

Eine Transaktion stellt sicher, daß eine Änderung an der Datenbank immer vollständig oder gar nicht ausgeführt wird. Das Programm merkt sich den Zustand vor der Änderung und beginnt dann mit den Arbeiten am Datensatz. Erst wenn die Änderung komplett abgeschlossen ist, wird der Merker entfernt. Schlägt etwas fehl oder stürzt gar das Programm oder der Rechner ab, wird ein sogenannter Rollback zum vorherigen gemerkten Zustand durchgeführt.
 
 PC Magazin, Nr. 7/98, S. 161
 

Verfasser: Andreas
Letzte Änderung: 2012-03-08 20:05


Treiber

Treiber sind spezielle Programme, die für die notwendige Kommunikation zwischen Betriebssystem und Hardwarekomponenten, beispielsweise Sound- oder Grafikkarte, sorgen. Der Treiber "übersetzt" dabei allgemeine Windows-Befehle in solche Kommandos, die die einzelne Hardware versteht. Wird für eine betreffende Komponente ein falscher oder fehlerhafter Treiber geladen, kann sich dies auf die Geschwindigkeit des gesamten Systems auswirken.
 
 PCgo!, Nr. 5/99, S. 41

Verfasser: Andreas
Letzte Änderung: 2012-03-08 20:06


Trigger

Ändert sich ein Datensatz (oder wird er eingefügt oder gelöscht), lösen manche Datenbanken einen Alarm aus, einen sogenannten Trigger. Ähnlich wie ein Shortcut ruft der Trigger eine bestimmte Programmfunktion auf oder ein von Ihnen definiertes Makro oder Programm. So können Sie bei einem Löschvorgang beispielsweise vorher prüfen, ob dadurch die referentielle Integrität verletzt wird.
 
 PC Magazin, Nr. 7/98, S. 161

Verfasser: Andreas
Letzte Änderung: 2012-03-08 20:06


Trust Center

Zentrum des Vertrauens, eine Datenbank für elektronische Schlüssel aus Public-Key-Verfahren. Deren Betreiber bestätigt, daß zu einem öffentlichen Schlüssel eine genau bestimmte natürliche oder juristische Person gehört.
 
 PC Magazin, Nr. 4/97, S. 262

Verfasser: Andreas
Letzte Änderung: 2012-03-08 20:06


TWAIN-Treiber

Zu jedem Scanner finden Sie einen Treiber, der den Scanner in Windows 95/98 einbindet und allen Programmen zur Verfügung stellt, die von Scannern Bilder lesen können. Diese Scanner-Treiber sind genormt und werden TWAIN-Treiber genannt. Ist ein Scanner-Treiber 100 % TWAIN-kompatibel, kann er von jeder OCR-Software genutzt werden.
 
 PCgo!, Nr. 7/98, S. 74

Verfasser: Andreas
Letzte Änderung: 2012-03-08 20:07


Update

Das Wort kommt aus dem Englischen und bedeutet soviel wie "auf den neuesten Stand bringen". Und genau das ist die Aufgabe eines Updates. Eine vorhandene Software, ob in Form des Betriebssystems oder Anwendungsprogramms, ist mit der Zeit nicht mehr auf dem aktuellen Stand. Um nicht das gesamte Programm austauschen zu müssen, bedient man sich eines Updates. Der Vorteil: Updates sind meist kostenlos und frei verfügbar.
 
 PCgo!, Nr. 7/98, S. 32

Verfasser: Andreas
Letzte Änderung: 2012-03-08 20:07


VB Script

Eine Skriptsprache, die nur der Internet Explorer unterstützt. Auch mit dieser Schriftsprache erweitern Sie HTML-Seiten um kleine Programme.
 
 PC Magazin, Nr. 8/98, S. 201

Verfasser: Andreas
Letzte Änderung: 2012-03-08 20:07


vCard, vCalendar

Das sind neue Standards, die sich für Adreß- und Terminverwaltung im Internet durchsetzen. Ziel ist der problemlose Austausch von Terminen und Kontakten über das Internet. So können Sie eine "vCard" aus Ihrem Adreßbuch in eine e-mail einfügen und der Empfänger liest sie in sein eigenes Adreßbuch ein, auch wenn es zwei verschiedene Programme (etwa der Organizer 5.0 und Outlook 98) sind.
 
 PCgo!, Nr. 11/98, S. 80

Verfasser: Andreas
Letzte Änderung: 2012-03-08 20:08


Verknüpfung

Verknüpfungen sind der schnellste Weg, um häufig verwendete Dateien oder Programme aufzurufen. Zum Beispiel sind alle Symbole auf Ihrem Desktop (mit wenigen Ausnahmen) Verknüpfungen. Die eigentlichen Anwendungen liegen in einem Verzeichnis auf Ihrer Festplatte. Um jedoch nicht jedesmal den umständlichen Weg über den Explorer oder das Startmenü gehen zu müssen, verwendet Windows Verknüpfungen. In diesen ist vermerkt, aus welchem Verzeichnis ein Programm beim Aufruf gestartet werden soll.
 
 PCgo! Nr. 4/99, S. 100

Verfasser: Andreas
Letzte Änderung: 2012-03-08 20:08


Verschlüsselung

Viele Programme bieten Verschlüsselung, leider nur zwei eine Schnittstelle zu Pretty Good Privacy: Eudora und Outlook. Mails laufen über viele Stationen und können mitgelesen werden. Schicken Sie nie unverschlüsselt Ihre Kreditkartennummer.
 
 PC Magazin, Nr. 6/2000, S. 162

Verfasser: Andreas
Letzte Änderung: 2012-03-08 20:08


Versionen

Moderne Computersoftware wird ständig weiterentwickelt. Dateien, die von mehreren Programmen genutzt werden, können deshalb einen unterschiedlichen Entwicklungsstand aufweisen. Wenn eine Datei weiterentwickelt wurde, ist sie mit einer höheren Versionsnummer versehen und kann teilweise nicht von allen Programmen verwendet werden, die mit der älteren Dateiversion funktioniert haben.
 
 PCgo!, Nr. 12/98, S. 132

Verfasser: Andreas
Letzte Änderung: 2012-03-08 20:09


VRML

Abk. für Virtual Reality Modeling Language; fürs WWW standardisierte Beschreibungssprache, sorgt für die 3D-Darstellung.
 
 PC Magazin, Nr. 2/99, S. 201

Verfasser: Andreas
Letzte Änderung: 2012-03-08 20:10


VxD

Das ist ein virtueller Gerätetreiber, der die Dateiendung ".vxd" hat. Dieser Gerätetreiber verwaltet die Systemressourcen wie Hardwarekomponenten oder installierte Software. So können mehrere Anwendungen auf die selbe Ressource zugreifen. Das "x" in "vxd" gibt dabei an, um was für eine Art von Gerät es sich handelt: "d" steht etwa für "display", also Anzeigegeräte.
 
 PCgo!, Nr. 3/99, S. 56

Verfasser: Andreas
Letzte Änderung: 2012-03-08 20:10


Wallet

Die elektronische Geldbörse ist ein kleines Programm, das im Internet gültige Geldmittel verwaltet.
 
 PC Magazin, Nr. 12/99, S. 79

Verfasser: Andreas
Letzte Änderung: 2012-03-08 20:11


Wartungs-Assistent

Der Wartungs-Assistent ist ein in Windows 98 integriertes Programm, mit dem Sie Aufgaben automatisieren können. So legen Sie etwa fest, daß zu einer bestimmten Uhrzeit das Defragmentierungsprogramm geladen wird oder mit einem E-Mail-Programm nach neuen Nachrichten geschaut wird. Der Wartungs-Assistent wird standardmäßig automatisch beim Windows-Start gestartet.
 
 PCgo!, Nr. 5/99, S. 56

Verfasser: Andreas
Letzte Änderung: 2012-03-08 20:11


Web-Manager

Das ist die Schaltzentrale des Personal Web-Servers von Windows 95/98. Sie starten ihn über das Windows-Startmenü, über "Programme", "Internet Explorer", "Personal WebServer". Über den Personal Web-Manager können Sie Ihre Intranet-Site verwalten. Dabei sehen Sie wie oft und wann auf Ihre Homepage zugegriffen wurde. Auf der linken Seite des Managers finden Sie eine Leiste, in der Sie Ihre Homapage bearbeiten, Dokumente im Intranet veröffentlichen und die Einstellungen der Intranet-Verzeichnisse verändern können.
 
 PCgo!, Nr. 3/99, S. 114

Verfasser: Andreas
Letzte Änderung: 2012-03-08 20:11


Windows CE

Windows CE ist eine Version von Windows, die für portable Geräte geschaffen wurde. Rein äußerlich unterscheidet sich Windows CE nur wenig vom herkömmlichen Windows. Dafür ist es in Festspeichern untergebracht und muß nicht gelesen werden. Allerdings ist Windows selbst nie für den portablen Betrieb konstruiert worden. Deshalb hat Windows CE auch sehr hohe Ansprüche an den verwendeten Rechner bezüglich Speicher und Rechengeschwindigkeit. Das bedeutet aber, daß Windows CE-Geräte oft nur kurze Akku-Laufzeiten haben. Der Vorteil liegt in einem dem Desktop ähnlichen Bedienkonzept. Allerdings benötigen viele mobile Anwendungen gar nicht die komplexen Anwendungen, wie sie auf einem Desktop laufen. Bisher konnte sich Windows CE nicht durchsetzen.
 
 PCgo!, Nr. 5/99, S. 199

Verfasser: Andreas
Letzte Änderung: 2012-03-08 20:12


WWW Consortium (W3C)

Das W3C ist die offizielle übergeordnete Instanz, die die Web-Standards definiert. Beim W3C kommen zum Beispiel Vorschläge für neue HTML-Elemente zur Vorlage. Das W3C kümmert sich momentan um die offizielle Definition von HTML 4 und um die Standardisierung von Cascading Style Sheets.
 
 PC Magazin, Nr. 8/98, S. 197
 

Verfasser: Andreas
Letzte Änderung: 2012-03-08 20:13


XML

Mit der Extensible Markup Language lassen sich eigene, neue Sprachen definieren. Die Channels des Internet Explorer sind beispielsweise damit entwickelt worden.
 
 PC Magazin, Nr. 12/99, S. 200
 
 
 Diese beschreibt eine Klasse von Datenobjekten, genannt XML-Dokumente, und teilweise das Verhalten von Computer-Programmen, die solche Dokumente verarbeiten. XML ist ein Anwendungsprofil (application profile) oder anders gesagt eine eingeschränkte bzw. vereinfachte Form von SGML, der Standard Generalized Markup Language (ISO 8879). So wie HTML über SGML definiert ist, kann man mit XML eigene Markup-Sprachen wie etwa HTML (siehe XHTML) definieren, die ihre eigenen Tags mit bestimmten logischen Bedeutungen haben.
 
 WCM 183 / Jänner 2003

Verfasser: Andreas
Letzte Änderung: 2012-03-08 20:13


XUL

Abk. für XML-based User Interface Language. Es ist eine Sprache, die nach den vorschriften von XML definiert wurde.
 
 PC Magazin, Nr. 11/2000, S. 164

Verfasser: Andreas
Letzte Änderung: 2012-03-08 20:13


zippen

Spezieller Pack-Algorithmus, der das Volumen einer oder mehrerer Dateien verringert.
 
 PC Magazin, Nr. 6/2000, S. 210

Verfasser: Andreas
Letzte Änderung: 2012-03-08 20:14


Zwischenablage

Oder auch Clipboard genannt, ist ein temporärer Speicher von Windows in einem Betriebssystem oder Anwendungsprogramm, der für den Austausch von Daten reserviert ist. Dort legt beispielsweise die Funktion "Kopieren" eines Anwendungsprogrammes den zuvor markierten Text- oder Bildbereich ab, um ihn später per "Einfügen" an einer anderen Stelle oder in einem anderen Programm wieder zu nutzen.
 
 PCgo!, Nr. 11/98, S. 108

Verfasser: Andreas
Letzte Änderung: 2012-03-08 20:14


VRR

Die Abkürzung für "Variable Refresh Rate" also eine variable Wiederholrate. Idealerweise werden z.B. auf einem 60 Hz Display Spiele mit 60fps wiedergegeben. Sinkt die Bildrate des Spiels auf 53 fps, während der TV stur auf 60 Hz weiterläuft. leidet die Qualität. Der Standard VRR sorgt nun dafür, dass sich die Wiederholrate des Fernsehers automatisch an jene der Spielkonsole anpasst.

Quelle: PCtipp 01/2021

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-01-26 13:25


Dolby Vision

Dolby Vision wird immer mehr von Streaminganbietern geschätzt und gilt derzeit als das Nonplusultra. Denn mit Dolby Vision kann bei Bedarf nicht nur jede Szene, sondern sogar jedes Bild optimiert werden, sodass die bestmögliche Qualität erreicht wird. Dieser Standard wird von Netflix, Apple TV+ und Disney+ bei ausgwählten Produktionen  unterstützt. Bei den UHD-Blu-rays ist Dolby Vision ebenfalls möglich; jedoch ist HDR10 noch weiter verbreitet, weil dafür keine Lizenzgebühren anfallen.

Quelle: PCtipp 01/2021

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-01-26 13:32


HDR10+

HDR10+ wurde von Samsung entwickelt und steht allen Anbietern offen. Es bietet dynamische Metadaten und befindet sich damit in Konkurenz zu Dolby Vision - auch deshalb, weil Samsung auf Lizenzgebühren verzichtet. Dessen ungeachtet will die Branche mit HDR10+ nicht so recht warm werden, sodass die Zukunft ungewiss ist. Die Situation erinnert ein wenig an den Kampf der Blu-ray-Disc gegen die glücklose HD-DVD, die wegen nachlassendem Interesse in die Bedeutungslosigkeit kippte und dann ganz verschwand. Zurzeit bietet Samsung als einziger namhafter Hersteller keinen Fernseher mit Dolby Vision an, obwohl alle Anzeichen darauf hindeuten, dass HDR10+ das Rennen verlieren wird. Unterdessen schießt sich sogar die Spiele Industrie auf Dolby Vison ein.

Quelle: PCtipp 01/2021

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-01-26 13:39


AndroidTV

AndroidTV orientiert sich an Google Smartphone-System und wird z.B. von Sony-Geräten eingesetzt. Die Oberfläche mag nicht die schönste sein, doch Geräte mit dieser Android-Variante können auf eine große Auswahl an Apps zurückgreifen, bis hin zu Mediacenter-Anwendungen, Spielen etc...

Quelle: PCtipp 01/2021

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-01-26 13:43


MEZ

Mitteleuropäische Zeit (Normalzeit) = UTC + 1 Std.

Im Englischen auch als CET abgekürzt.

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-27 19:41


MESZ

Mitteleuropäische Sommerzeit = UTC + 2 Std.

Im Englischen als CEST abgekürzt.

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-27 19:42


0 bis 9

801.11

WLAN Basisstandard, MAC Protocoll, PHY für 1/2MBit/s, WEP-Verschlüsselung

Quelle: Ct 2005, Heft 21, Seite 162

Verfasser: Andreas
Letzte Änderung: 2010-09-25 20:16


802.11n

PHY und MAC Erweiterungen für Nettodurchsatz über 100 MBit/s

Quelle: Ct 2005, Heft 21, Seite 162


ist ein Technischer Standard für WLAN-Funkübertragungen. Er wird ständig weiterentwickelt. Die zukünftige Variante "n" ist für ein maximales WLAN-Tempo von 300 Mbps ausgelegt.

Quelle: Computer Bild 10/2006, Seite 20

 genauer IEEE-802.11n, ist die derzeit schnellste Übertragungstechnik in Funknetzwerken. Sie Funkt im Frequenzbereich 2,4 bis 2,4835 GHz sowie 5,15 bis 5,725 GHz. Theoretisch lassen sich mit WLAN-n bis zu 600 Mbit/s übertragen. In der Praxis beträgt die Datenrate jedoch eher 100 bis 120 MBit/s. Die Vorgängerversion IEEE-802.11g überträgt laut Spezifikation maximal 54 MBit/s.

Quelle: PC-Welt 9/2010 Seite 10

Verfasser: Andreas
Letzte Änderung: 2010-10-26 09:55


802.11a

OFDM-PHY mit 6.....54MBit/s für 5 GHz

Quelle: Ct 2005, Heft 21, Seite 162

Verfasser: Andreas
Letzte Änderung: 2010-09-25 20:21


802.11b

Highrate-PHY für 5,5.....11MBit/s bei 2,4 GHz

Quelle: Ct 2005, Heft 21, Seite 162

Verfasser: Andreas
Letzte Änderung: 2010-09-25 20:22


802.11e

MAC-Erweiterung für Quality-of-Service

Quelle: Ct 2005, Heft 21, Seite 162

Verfasser: Andreas
Letzte Änderung: 2010-09-25 20:22


802.11g

OFDM-PHY mit 6....54MBit/s für 2,4 GHz

Quelle: Ct 2005, Heft 21, Seite 162

Verfasser: Andreas
Letzte Änderung: 2010-09-25 20:23


802.11h

Erweiterungen zur Störungsvermeidung (DFS, TPC)

Quelle: Ct 2005, Heft 21, Seite 162

Verfasser: Andreas
Letzte Änderung: 2010-09-25 20:23


802.11i

MAC-Erweiterung für verbesserte Verschlüsselung (TKIP, AES)

Quelle: Ct 2005, Heft 21, Seite 162

Verfasser: Andreas
Letzte Änderung: 2010-09-25 20:24


1 TR6

Ursprünglich mit der ISDN-Einführung in Deutschland vertriebenes Protokoll. Vorläufer von Euro-ISDN.

PC Magazin, Nr. 7/2000, S. 85

Verfasser: Andreas
Letzte Änderung: 2010-09-26 15:08


16:9 Unterstützung

16:9 entspricht ungefähr dem Seitenverhältnis einer Kinoleinwand. Diese Funktion ist nur interessant, wenn sowohl Kamera als auch Schnittsystem des Produzenten durchgehende 16:9-Bearbeitung zulassen.

PC Magazin, Nr. 12/2001, S. 85

Verfasser: Andreas
Letzte Änderung: 2010-09-26 17:58


10Base2

Sie basiert auf der Bus-Topologie. Die maximale Kabellänge beträgt 185 Meter, dazwischen lassen sich maximal 30 Geräte in einem Mindestabstand von 50 Zentimeter anschließen. Wenn Sie mehr Geräte oder längere Kabel benötigen, schließen Sie mehrere Segmente zusammen. Als Kabel kommt geschirmtes Coaxial-Kabel (Typ RG58) mit einem 50-Ohm-Abschlußwiderstand zum Einsatz. Die maximale Übertragungsrate ist 10 MBit/s. Diese Verkabelungsart benötigt keine aktiven Komponenten und ist hinsichtlich Kabel und Stecker sehr preiswert. Nachteilig ist die hohe Störanfälligkeit (Segment- Unterbrechung, Störstrahlung) und die mangelnde Flexibilität: Das Kabel läßt sich nur für einen Dienst nutzen.

PC Magazin, Nr. 8/97, S. 207

Verfasser: Andreas
Letzte Änderung: 2011-02-05 22:43


10BaseT

Hierbei kommt die Stern-Topologie zum Zug. Bei der Wahl der Kabel ist STP (geschirmtes Twisted Pair) im Gegensatz zum UST (ungeschirmtes Twisted Pair) vorzuziehen. Der Abschlußwiderstand beträgt immer 100 Ohm. Die maximale Länge jedes Kabels vom Netzwerkgerät zum Knotenpunkt beträgt 100 Meter; bei größeren Entfernungen kommen (Etagen-) Verteiler zum Einsatz. Die maximale Übertragungsrate ist von der Güte und Dämpfung des STP-Kabels abhängig. Diese wird in "Kategorien" angegeben: Bei Kategorie-3-Kabel sind maximal 10 MBit/s möglich, Kategorie-5-Kabel erlauben bis zu 100 MBit/s. Aktive Komponenten (Hubs) am Knotenpunkt sowie die sternförmige Verkabelung machen die Installation von 10BaseT teuer. Dafür ist die Technik nicht störanfällig - eine defekte Leitung legt nicht wie bei 10Base2 das ganze Netz lahm - und die 100-Ohm-Verkabelung läßt sich auch für andere Aufgaben nutzen (Telefon, Video).

PC Magazin, Nr. 8/97, S. 207

Verfasser: Andreas
Letzte Änderung: 2011-02-05 22:44


1000Base-T

Ethernet mit 1000MBit/s. Verbindung über Twisted-
Pair (Cat.5e)

PC Magazin, Nr. 12/2003, S. 189

Verfasser: Andreas
Letzte Änderung: 2011-02-05 22:44


1000BaseSX

Ethernet mit 1000MBit/s. Verbindung über eine
Multimode-Glasfaser.

PC Magazin, Nr. 12/2003, S. 189

Verfasser: Andreas
Letzte Änderung: 2011-02-05 22:45


100BaseFx

Ethernet mit 100MBit/s (Fast Ethernet). Verbindung
über eine sternförmige LWL-Verkabelung.

PC Magazin, Nr. 12/2003, S. 189

Verfasser: Andreas
Letzte Änderung: 2011-02-05 22:46


100BaseTx

Ethernet mit 100MBit/s (Fast Ethernet). Verbindung
über eine sternförmige Twisted-Pair-Verkabelung.

PC Magazin, Nr. 12/2003, S. 189

Verfasser: Andreas
Letzte Änderung: 2011-02-05 22:46


192.168.x.x:

Die IP-Adressen 192.168.0.0 bis 192.168.255.255 (und damit auch das Netz 192.168.1.0 mit der Netzwerkmaske 255.255.255.0) sind für private Netze reserviert, deren Datenverkehr nicht ins Internet geroutet werden darf. (Da viel LANs diese Adressen verwenden, wäre nicht mehr klar, zu welchem privaten Netz die Pakete gehören.) Sollen solche Nezte Zugang zum Internet bekommen, geht das nur über IP-Masquerading.

Verfasser: Andreas
Letzte Änderung: 2011-02-05 22:47


2D-Projektion

Interpretation einer räumlichen, dreidimensionalen Szene auf dem zweidimensionalen Bildschirm, um die verschiedenen Ansichten darzustellen, etwa von links oder von unten.

PC Magazin, Nr. 7/99, S. 203

Verfasser: Andreas
Letzte Änderung: 2011-04-25 14:24


3D-Transformation

Alle räumlichen Veränderungen eines Objekts in einer 3D- Szene. Die gängigen Transformationen sind unter anderem Verschieben, Rotieren und Skalieren.

PC Magazin, Nr. 12/98, S. 160

Verfasser: Andreas
Letzte Änderung: 2011-04-25 14:24


3DMF

bedeutet 3D Metafile; Dateiformat von Apple zum Austausch von 3D-Daten zwischen Programmen.

PC Magazin, Nr. 12/98, S. 160

Verfasser: Andreas
Letzte Änderung: 2011-04-25 14:25


3ds

Dateiformat von 3D Studio der Firma Autodesk. Wird von vielen 3D-Programmen erkannt.

PC Magazin, Nr. 12/98, S. 160

Verfasser: Andreas
Letzte Änderung: 2011-04-25 14:25


0-Day-Exploit

Ein 0-Day-Exploit ist schädlicher Programm-Code, der eine noch nicht geschlossene Sicherheitslücke ausnutzt. Die Bezeichnung „0-Day-Exploit“ bezieht sich auf die Zeitspanne, die dem Software-Hersteller bleibt, um die Schwachstelle zu beheben, bevor Dritte sie für Angriffe ausnutzen. Es sind null Tage.

Quelle: PC-Welt 7/2011 Ein 0-Day-Exploit ist schädlicher Programm-Code, der eine noch
nicht geschlossene Sicherheitslücke ausnutzt. Die Bezeichnung
„0-Day-Exploit“ bezieht sich auf die Zeitspanne, die dem Software-
Hersteller bleibt, um die Schwachstelle zu beheben, bevor Dritte sie
für Angriffe ausnutzen. Es sind null Tage.

Verfasser: Andreas
Letzte Änderung: 2011-06-05 11:37


Computer » Hacking » Bluetooth

Handy-Hacker zapfen Hotspots an

Für große Unsicherheit bei Handy-Nutzern mit Bluetooth-fähigen Telefonen sorgt derzeit die Meldung, dass ihre Geräte gehackt werden können. Doch damit nicht genug. Wer bei Vodafone (www.vodafone.de) oder T-Mobil (www.t-mobil.de) unter Vertrag ist und darüber auch die WLAN-Hotspots der jeweiligen Unternehmen in Anspruch nimmt, für den kommt es zumindest theoretisch noch viel dicker.

Hacker können bei einigen Handys - eine Geräteliste finden Sie bei Integralis (www.integralis.de) - mit aktivierter Bluetooth-Schnittstelle Kurzmitteilungen an die Mobilfunk-Provider verschicken und darüber die Zugangsdaten für einen Hotspot anfordern. Dazu muss keine Kopplung erfolgen. Der Besitzer des Telefons merkt daher in der Regel nichts und erlebt erst bei der nächsten Abrechnung eine unangenehme Überraschung. Schließlich laufen alle Kosten für die WLAN-Nutzung auf seiner SIM-Karte auf.

Möglich ist das Ganze durch eine Lücke im Object Exchange Protocol (OBEX), das für den Austausch elektronischer Visitenkarten gedacht ist. Trotzdem besteht momentan noch kein Grund zu großer Panik, denn der Missbrauch der Handys ist derzeit nur unter Linux möglich. Dennoch sollten Sie in jedem Fall darauf achten, dass bei Nichtgebrauch Bluetooth deaktiviert bleibt.


Quelle: PC Praxis 08/2004

Verfasser: Andreas
Letzte Änderung: 2010-09-26 17:40


Computer » Hacking » Mail

Header-Analyse: Versteckte Infos in Mails

Jede Mail trägt einige Informationen in sich, die man auf den ersten Blick nicht sieht. Um an die Daten zu kommen, betrachten Sie die Mail im Quelltext. In Outlook Express klicken Sie dazu auf „Datei, Eigenschaften, Details, Quelltext". Remailer entfernen alle personenbezogenen Daten aus dem Header.

Hier die Erklärungen zu den einzelnen Header-Feldern:

List-Unsubscribe
Die Mail kommt von einer Mailingliste. Um sich abzumelden, schreiben Sie eine leere Mail an die Adresse, die hier aufgelistet ist.

Received
Diese Zeilen geben Aufschluss darüber, welchen Weg die Mail genommen hat. jeder am
Transport beteiligte Server fügt eine „Received"-Zeile hinzu. Die unterste „Received"-Zeile ist die interessanteste. Hier steht hinter „From:", von wem der erste Mailserver die Nachricht erhalten hat, also die IP-Adresse des Absenders.
Auch der Zeitpunkt in Form der Uhrzeit des Servers ist angegeben. Oft ist auch der selbst gewählte Rechnername des Absenders vermerkt. Hier kann man schon mal auf Bezeichnungen wie „Schrottkiste" oder „Lahme Gurke" stoßen.

Reply-To
Wenn hier eine Adresse steht, soll eine Antwortmail dorthin anstatt zur Absenderadresse geschickt werden. Die meisten Mailprogramme erkennen das Feld und setzen diese Adresse beim Antworten automatisch ein.

X-Mailer
Hier steht der Name des Mailprogramms, das der Absender verwendet hat. Fehlt die Angabe, hat er wahrscheinlich einen Webmail-Dienst genutzt.

X-Priority
Dieses Feld gibt die Dringlichkeit der Mail von eins („eilt") bis fünf („niedrige Priorität") an. Der Absender kann festlegen, für wie dringend er die Nachricht hält. In Outlook Express zum Beispiel klickt er dazu auf „Nachricht, Priorität festlegen". Das Mailprogramm des Empfängers wertet die Angabe aus und setzt in der Mailauflistung zum Beispiel ein rotes Ausrufezeichen neben die Mail. Auf die Zustellgeschwindigkeit einer Mail hat die Angabe keinen Einfluss.

Quelle: PC-Welt 8/2004, Seite 85

Verfasser: Andreas
Letzte Änderung: 2010-09-26 17:42


Mails ohne Absender

Mails, die Sie auf herkömmlichem Weg verschicken, lassen sich zurückverfolgen - selbst wenn Ihre Mailadresse nicht Ihren Namen enthält. Es gibt aber Wege, Mails wirklich anonym zu versenden.

Es gibt Situationen, da möchte man unerkannt per Mail jemandem etwas mitteilen. Man schreibt etwa einen Leserbrief, möchte aber verhindern, dass die eigene Mailadresse weitergegeben oder auf einen Verteiler gesetzt wird. Manche Anwender melden sich zu diesem Zweck unter einem Fantasienamen bei einem kostenlosen Maildienst an. Echte Anonymität ist damit aber nur gegeben, wenn man einige wichtige Punkte beachtet. Besser ist es, sicherere Dienste zu nutzen.

Unsichtbare Infos
Eine Mail enthält mehr Informationen, als Mailprogramme standardmäßig anzeigen. Im Kopf der Nachricht (Mail-Header) sind zum Beispiel die Adressen aller Internet-Rechner aufgelistet, über die sie transpor-
tiert wurde. Jeder Mailserver trägt in den Header ein, wann und von welcher IP-Adresse er die Mail erhalten hat. Somit ist auch die IP-Adresse Ihres PCs enthalten -auch wenn Sie die Nachricht über einen Webmail-Dienst verschickt haben. Diese weltweit eindeutige Nummer wird Ihrem Rechner bei jeder Internet-Einwahl vom Provider neu zugewiesen.
Im ersten Moment gibt die Adresse nur Auskunft darüber, welchen Internet-Anbieter Sie nutzen, in welchem Land und in welcher Stadt Sie leben. Der Provider aber weiß, welcher Anwender wann mit welcher IP-Adresse eingewählt war - denn er speichert diese Daten. Momentan dürfen Provider die Kundendaten nur an die Staatsanwaltschaft herausgeben. Allerdings kann niemand hundertprozentig si-
cher sein, dass nicht auch andere über Umwege an die Daten gelangen.

Gratis-Maildienste anonym nutzen
Um Nachrichten über einen kostenlosen Maildienst wie www.gmx.de anonym zu versenden, müssen Sie Ihre IP-Adresse verschleiern. Dazu eignen sich Tools zum anonymen Surfen, die wir in Ausgabe 7/2004, getestet haben. Testsieger war das kostenlose Programm JAP, weil es ein Höchstmaß an Datenschutz bietet (http://anon.inf.tu-dresden.de, 11,4 MB inklusive Java). Es genügt aber nicht, JAP nur für das Absenden der Mail einzusetzen. Denn Mailanbieter protokollieren die IP-Adresse bei jedem Ihrer Zugriffe. Sie müssen also JAP schon einschalten, wenn Sie sich das erste Mal bei dem Dienst registrieren - und jedes weitere Mal, wenn Sie sich mit den Benutzerdaten Ihres anonymen Mailkontos dort anmelden. Sollten Sie auch nur einmal vergessen, JAP zu aktivieren, bevor Sie sich einloggen, hat der Mailanbieter eine echte IP-Adresse von Ihnen.
Wenn Sie ein anonymes Mailkonto einrichten, versteht es sich fast von selbst, dass Sie weder Ihren echten Namen noch Ihre echte Adresse angeben. Bei den meisten Anbietern verstoßen Sie damit allerdings gegen die Nutzungsbedingungen.

Die einfache Lösung: Web-Remailer
Wenn Sie anonyme Mails sicher und ohne Verstoß gegen Nutzungsbedingungen verschicken möchten, nutzen Sie speziell für diesen Zweck geschaffene Remailer. Sie nehmen die Mail in Empfang und leiten sie in ihrem eigenen Namen mit eigenem Absender an den Empfänger weiter. Zur zusätzlichen Sicherheit sollten Sie die Mail mehrere Remailer hintereinander durchlaufen lassen. Am einfachsten nutzen Sie Remailer über Web-Dienste wie https:// mixmaster.autistici.org/cgi-bin/mixemail-user.cgi. Sie geben Empfänger, Betreffzeile und Mailtext ein und wählen, wie viele Remailer die Nachricht durchlaufen soll. Der voreingestellte Wert „3" ist ein guter Kompromiss zwischen Sicherheit und Geschwindigkeit. Ihre Mails werden zwischen den einzelnen Remailern verschlüsselt ausgetauscht.
In das Feld „From:" könnten Sie theoretisch eine Fantasie-Adresse als Absender angeben. Die meisten Remailer erlauben das je doch nicht, schreiben Sie also am besten gar nichts hinein. Über die Drop-down-Fel-der wählen Sie jeweils einen Remailer aus - so viele, wie Sie zuvor angegeben haben. Die obersten Server in der Liste sind meist die zuverlässigsten. In der dritten Spalte der Drop-down-Felder ist angegeben, wie lange der jeweilige Remailer die Mail verzögert, bis er sie weiterleitet. Die künstliche Verzögerung soll die Sicherheit weiter erhöhen. Mit einem Klick auf „Send Anony-mous Mail" schicken Sie die Post auf ihre Reise. Nach ein paar Sekunden sehen Sie eine Bestätigungsseite

Die Profi-Lösung: Remailer-Server
Besonders versierte Anwender gehen einen anderen Weg. Sie nutzen keine Web-Dienste, sondern schicken Nachrichten über ein Mailprogramm direkt an die Remailer. Dieses Verfahren ist relativ komplex. Wir zeigen an einem Beispiel, wie der Nachrichtentransport vonstatten geht.
Es gibt zwei Typen von Remailern: Cypherpunk- und Mixmaster-Remailer. Die schon etwas in die Jahre gekommenen Cypherpunk-Remailer sind noch immer beliebt, da sie sich auch mit normalen Mail-programmen nutzen lassen. Der Anwender braucht eine PGP-kompatible Verschlüsse-lungs-Software, weil die meisten Remailer keine unverschlüsselten Mails annehmen.
In unserem Beispiel benutzen wir die englischsprachige Freeware-Version von PGP 8.0.3 (für private Nutzung kostenlos, für Windows 98/ME, NT 4, 2000 und XP, www.pgp.com/products/freeware.html, 7,9 MB).
PGP arbeitet mit einem sehr sicheren Verschlüsselungsverfahren. Jeder PGP-Nutzer besitzt zwei Schlüsseldateien. Eine Datei, den öffentlichen Schlüssel, gibt er an andere Nutzer weiter. Damit lassen sich Nachrichten, die an ihn gerichtet sind, verschlüsseln. Mit der zweiten Datei, dem privaten Schlüssel, macht der Empfänger die Mails wieder lesbar. Das Verfahren hat den Vorteil, dass Sender und Empfänger kein gemeinsames Passwort brauchen.
Um eine anonyme Mail über einen oder mehrere Cypherpunk-Remailer zu senden, benötigen Sie deren Mailadressen. Eine täglich aktualisierte Liste erhalten Sie zum Beispiel unter www.tahina.priv.at/~cm/stats/rlist.txt. Scrollen Sie auf der Seite nach unten, bis eine Tabelle erscheint, die mit dem aktuellen Datum überschrieben ist. Suchen Sie sich aus der zweiten Spalte eine Adresse heraus - möglichst aus dem oberen Drittel der Tabelle, denn die zuverlässigsten Server stehen am Anfang. Der Spalte „Latency" können Sie entnehmen, nach welcher Wartezeit der Remailer Ihre Nachricht weiterleitet.
Außerdem benötigen Sie den öffentlichen Schlüssel des Servers, den Sie nutzen möchten. Unter http://frogadmin.yi.org/Keys/dsskeys.asc erhalten Sie ein Paket mit den öffentlichen Schlüsseln vieler Remailer, das sich einfach in PGP importieren lässt.

Das richtige Format: So geht's
Eine Nachricht, die Sie an einen Remailer schicken, muss ein bestimmtes Format haben. Als Empfänger geben Sie seine Mailadresse an. Die Betreffzeile lassen Sie leer. Die Nachricht muss wie folgt aussehen:

::
Encrypted: PGP

::
Anon-To: <Mailadresse des Empfängers>

##
Subject: <Betreff der Mail>

<Text der anonymen Mail>

Zur Erldärung: In die erste Zeile des Nachrichtenfensters geben Sie zwei Doppelpunkte ein. In die zweite Zeile schreiben Sie „Encrypted: PGP", danach kommt eine Leerzeile. Dann setzen Sie wieder zwei Doppelpunkte in eine Zeile und schreiben in die nächste Zeile „Anon-To:", gefolgt von einem Leerzeichen und der Mailadresse des Empfängers. Dann folgt erneut eine Leerzeile. Möchten Sie, dass die Mail beim Empfänger mit Betreffzeile ankommt, schreiben Sie in die nächste Zeile zwei Rautezeichen (#) und in die übernächste „Subject: <Ihr Text>". Nach einer weiteren Leerzeile tippen Sie die eigentliche Nachricht.

Verschlüsseln nicht vergessen
Jetzt geht's ans Verschlüsseln. Markieren Sie den Text ab den zweiten doppelten Doppelpunkten, und schneiden sie ihn aus. Er landet dadurch in der Windows-Zwischenablage. Klicken Sie mit der rechten Maustaste auf das PGP-Symbol im Systray, und wählen Sie „Clipboard, Encrypt". Daraufhin erscheint ein Fenster, das anzeigt, zu welchen Mailadressen PGP passende öffentliche Schlüssel gespeichert hat. Klicken Sie die Adresse des Remailers, den Sie nutzen wollen, doppelt an, und bestätigen Sie mit „OK". Der Inhalt der Zwischenablage wird dadurch verschlüsselt. Wechseln Sie zurück in Ihr Mailprogramm, und fügen Sie die verschlüsselte Mail ein. Wenn das Endresultat wie folgt aussieht, können Sie die Mail abschicken:

::
Encrypted: PGP

----BEGIN PGP MESSAGE----
Version: PGP 8.0.3

<Mehrere Zeilen Buchstaben- und Zahlensalat>
----END PGP MESSAGE----

Der Remailer erfährt zwangsläufig Ihre Mailadresse aus dem Absender. Er leitet sie zwar nicht an den Empfänger weiter und wird sie auch aller Wahrscheinlichkeit nach nicht speichern. Wenn Sie fürchten, dass er dies doch tun könnte, sollten Sie die Mail so präparieren, dass sie über mindestens einen weiteren Remailer geleitet wird. Der zweite Remailer erfährt nicht Ihre Mailadresse, sondern nur die Absenderadresse des ersten Remailers. Dazu fügen Sie vor dem Verschlüsseln über dem Nachrichtentext das Kommando „Rand-Hop: 2" ein. Darüber und darunter gehört eine Leerzeile. Die meisten Remailer unterstützen den Befehl und leiten die Mail an einen zufällig ausgewählten Remailer weiter.
Wenn Sie selbst bestimmen wollen, über welche weiteren Remailer Ihre Nachricht läuft, wird es schwieriger. Sie erhalten aber auf der Seite www.anon.gildemax.de viele Tipps und Hinweise zu dem Thema.

Mixmaster macht's kompliziert
Neben Cypherpunk- gibt es Mixmaster-Re-mailer. Das Mixmaster-Verfahren ist etwas sicherer, aber auch komplexer. Der Nutzer benötigt ein spezielles Mailprogramm und die Mixmaster-Software. Sie sorgt zum einen dafür, dass Mails verschlüsselt werden. Zum anderen teilt sie Nachrichten in mehrere gleich große Päckchen. Dadurch kann jemand, der Sie oder den Server bespitzelt, nicht sehen, ob Sie eine lange oder mehrere kurze Nachrichten versenden.
Als Mixmaster-kompatibles Mailprogramm nutzen Sie etwa die Freeware Private Idaho 5.3.7 (für Windows 95/98/ME, NT 4, 2000 und XP, unter www.itech.net.au/pi/, 6,9 MB). Die Mixmaster-Software 2.0.4b46, ein Kommandozeilen-Tool, erhalten Sie kostenlos unter http://sourceforge.net/projects/mixmaster/ (für Windows 95/98/ME, NT 4, 2000 und XP, 244 KB). Für das Zusammenspiel mit Private Idaho dürfen Sie nicht die neuere 3er-Version nehmen.
Die Bedienung von Private Idaho ist ziemlich komplex. Wir können das Programm nur äußerst versierten Anwendern empfehlen. Eine Anleitung erhalten Sie unter http://kai.iks-jena.de/bigb/remailer.html.

Risiken und Nebenwirkungen
Remailer werden von Internet-Freaks ohne kommerzielle Absicht betrieben. Es kann passieren, dass Server zeitweilig ausfallen oder endgültig abgeschaltet werden. Mails, die gerade unterwegs sind, verschwinden dann ohne Warnung auf Nimmerwiedersehen. Daher sollten Sie sich immer die oben genannte Liste der aktuell verfügbaren Remailer anschauen, bevor Sie eine Mail versenden. Eine Garantie dafür, dass die Nachricht beim Empfänger ankommt, gibt es nicht. Es kann außerdem vorkommen, dass Ihre Mails länger als vorher berechnet brauchen.

Quelle: PC-Welt 8/2004, Seite 85 bis 86

Verfasser: Andreas
Letzte Änderung: 2010-09-26 17:44


Web-Seiten

Animationen verkleinern

Animierte gif-Bilder bestehen aus mehreren Einzelbildern, die hintereinander abgespielt werden. Sie lassen sich durch spezielle Pro- gramme automatisch verkleinern.
Einige Animationsprogramme wie GIF Movie Gear bieten praktische Funktionen, mit denen sie die Datenmenge reduzieren. Sie verkleinern beispielsweise die Farbpalette, die für alle Einzelbilder einheitlich sein sollte, oder beschneiden die Animation so, daß überflüssige Ränder entfallen. GIF Movie Gear finden Sie unter
www.gamani.com/gmgdown.htm
Verwenden Sie möglichst animierte gif-Bilder statt Videoclips, denn erstere beanspruchen meist nur einen Bruchteil des Speicherplatzes.

Verfasser: Andreas
Letzte Änderung: 2012-09-12 21:08


Audio-Kompression: Welche Qualität genügt?

Verwenden Sie für Sound MIDI statt das wav-Format. MIDI-Dateien sind viel kleiner und beanspruchen oft weniger als 30 Prozent der Datenmenge der entsprechenden wav-Datei. MIDI-Dateien klingen auf jedem PC etwas anders. Doch dieser Nachteil spielt für Web-Seiten keine Rolle. Ebensowenig ist CD-Qualität mit 44.1 kHz und Stereo notwendig. Durchaus akzeptabel ist eine Aufzeichnung mit 22.05 kHz in Mono, das Datenaufkommen wird dabei bereits um fast zwei Drittel geringer. Alternativ dazu genügen 11.025 kHz in Stereo. Mono ist für Stimmen vorzuziehen, weil der Mensch ohnehin ein "Mono-phon" ist er kann nur einen Ton gleichzeitig hervorbringen. Für Musik und Hintergrundgeräusche wirkt Stereo realistischer und "breiter". Streaming ist für Audiodateien Pflicht: Durch dieses Verfahren müssen Sie nicht warten, bis die Datei komplett geladen ist, sondern hören den Sound sofort. Einen kostenlosen Player erhalten Sie bei RealNetworks unter www.real.com

Verfasser: Andreas
Letzte Änderung: 2012-09-12 21:09


Bereichsabhängige Kompressionen

Mit Programmen wie dem Web-Charger es möglich, Bildbereiche wie den Himmel und eine Person davor unterschiedlich stark zu verdichten. Damit bekommen Sie kleinere Dateien in guter Qualität. Farbähnliche Bereiche, etwa der Himmel, lassen sich meist sehr viel stärker komprimieren als Personen. Der Web-Charger von Emblaze macht sich dies zunutze. Die Bezugsquelle: www.emblaze.com Bei dieser Komprimierung nach Bereichen ist der Qualitätsverlust bei maxi-maler Komprimierung des Himmels auch noch für die Person akzeptabel. Je nach Motiv ergibt sich so ein Einsparpotential von rund 20 Prozent.

Verfasser: Andreas
Letzte Änderung: 2012-09-12 21:09


Bildbereiche unterschiedlich komprimieren

Für die Komprimierung eines Bilds sind je nach Bildteil oft verschiedene Methoden ideal. Einige Grafikprogramme können Bilder aufteilen und gesondert speichern. Besonders für Imagemaps ist beispielsweise die Option von Painter 5.5 praktisch, die Bilder in unterschiedliche Bereiche aufzuteilen und sogar in unterschiedlichen Dateiformaten wie gif oder jpg zu speichern. Imagemaps sind Bilder, die mit Befehlen verknüpft sind: Wenn Sie etwa darauf klicken, gelangen Sie auf eine bestimmte Seite. Die Aufteilung der Imagemaps ist höchst praktisch, wenn ein Bild sowohl feine Übergänge (ein Fall für jpg) als auch Schrift (klarer Fall für gif) aufweist. Gerade auf Fotos sind scheinbar ein-farbige Flächen wie eine weiße Wand nur auf den ersten Blick einfarbig. Sie unterstützen den Kompressions-Algorithmus kräftig, indem Sie die einfarbig wirkenden Flächen selektieren und einfarbig ausfüllen.

Verfasser: Andreas
Letzte Änderung: 2012-09-12 21:10


Bilder in Tabellen

Mit Tabellen positionieren Sie Text und Grafik. Die Größe der Bilder geben Sie stets exakt an: Sonst dauert es zu lange, bis der Text erscheint. Mit dem Tag <img src=>  geben Sie den (relativen) Pfad der eingebundenen Bilder an, die Sie entweder im Verzeichnis der HTML-Seite oder in einem eigenen Verzeichnis sammeln. Vergessen Sie nicht, mit <HEIGHT> (Höhe) und <WIDTH>  (Breite) die dargestellte Größe der Bilder sie entspricht nicht der Pixelzahl des Originalbilds anzugeben. Diese Angaben benötigt der Browser, um die Seite aufzuteilen, bevor das Bild geladen ist. Wenn Sie auch nur bei einem einzigen Bild die Größenangabe versäumen, passiert folgendes: Der Browser berechnet erst den gesamten Platz in der Tabelle, den die Bilder einnehmen dürfen, bevor er die Tabelle anzeigt. Dies kann mehrere Sekunden in Anspruch nehmen. Wenn Sie dagegen die Bilder durchgän-gig mit exakten Größenangaben versehen haben, wird erst die Tabelle ohne die Bilder geladen, die dann der Reihe nach erscheinen. Der wesentliche Vorteil: Der Surfer sieht sofort den Text in der Tabelle, den er sonst erst zum Schluß sehen würde.

Verfasser: Andreas
Letzte Änderung: 2012-09-12 21:12


Bilder zerlegen

Viele kleine Bilder bauen sich subjektiv schneller auf als ein großes. Bei großen Bildern ist es ratsam, diese in mehrere kleine zu zerlegen: Die Ladezeiten nehmen beim erneuten Laden drastisch ab, denn die kleineren Bilder befinden sich noch im Cache des Browsers, während große Grafiken erst nachgeladen werden. Beispielsweise besteht die abgebildete Landkarte mit den Bundesstaaten der USA aus mehreren Einzelbildern, die Sie binnen Sekunden angezeigt bekommen. Ein einziges großes Bild hätte beim ersten Laden merklich mehr Ladezeit benötigt.

Verfasser: Andreas
Letzte Änderung: 2012-09-12 21:13


Die Qual der Bildbearbeitungswahl

Der Wirkungsgrad der Komprimierung hängt auch vom verwendeten Programm ab. Die Software-Hersteller verwenden unterschiedliche Algorithmen für die Komprimierung von Bildern. Wenn Sie beispielsweise ein jpg-Bild in Photoshop 4.0 komprimieren, erhalten Sie mit der entsprechenden Einstellung eine etwa zehn bis 20 Prozent größere Datei als mit Paint Shop Pro 5.0. Allerdings ist die Qualität der Photoshop-Bilder meist höher. Das ideale Bildbearbeitungsprogramm zur Komprimierung unterscheidet sich somit von Motiv zu Motiv, Experimentieren lohnt sich.

Verfasser: Andreas
Letzte Änderung: 2012-09-12 21:14


Farben reduzieren

Je weniger Farben Sie verwenden, desto kleiner wird die Grafikdatei. Abhängig von der Farbtiefe wird Ihre Bilddatei riesig oder winzig klein: Das Beispiel mit 256 Farben (= 8 Bit Farbtie-fe) beansprucht 41 KByte, das 16-Far-ben- Bild (= 4 Bit Farbtiefe) nur noch 33 KByte also etwas mehr als die Hälfte. Ein jpg-Bild würde bei maximaler Komprimierung mit 12,8 KByte auskommen.

Verfasser: Andreas
Letzte Änderung: 2012-09-12 21:14


Homesite: Kleines Spiel gefällig?

Mit dem Editor können Sie nicht nur HTML-Code programmieren, sondern auch spielen. Falls Sie beim Spiel neue Kräfte sammeln möchten, können Sie dies auch innerhalb der gewohnten Arbeitsumgebun tun. Der Homesite-Hersteller hat in seinem Editor ein so genanntes Osterei untergebracht, das ein nettes Spiel beinhaltet: In Tagmatcher geht es darum, möglichst viele HTML-Tags mit dem Homesite-Symbol zu fangen. Achten Sie dabei auf Hindernisse, die Ihnen Ihr Vorhaben erschweren. Zum Aktivieren gehen Sie folgendermaßen vor: Öffnen Sie das Dialogfeld Customize im Menüpunkt Options. Alternativ erreichen Sie die gleiche Aktion mit der Tastenkombination [Shift-F8]. Wählen Sie unter Toolbuttons die Einstellung All (voreingestellt). Scrollen Sie im dazugehörigen Feld bis zum Ende. Es erscheint ein kleines Ei-Symbol mit dem Titel Easter Egg. Fügen Sie diesen Button per Drag& Drop Ihrer Toolbar zu, und schließen Sie das Dialogfeld. Sie können das Spiel jetzt per Klick auf das Eier-Symbol starten. Diese Erklärung gilt für die englische Version des Editors. Für die deutsche Version müssen Sie die entsprechenden Punkte wählen. Das Spiel beenden Sie mit der [Esc]-Taste.

Verfasser: Andreas
Letzte Änderung: 2012-09-12 21:14


Java-Wahl

Verwenden Sie als Voreinstellung JavaScript statt Java, um das zeitraubende Laden der Applets zu umgehen. JavaScript (von Netscape) und Java, die Programmiersprache von Sun, werden oft verwechselt, sind aber zwei Paar Stiefel. Nachdem jeder aktuelle Browser von vornherein JavaScripts unterstützt, sollten Sie Anwendern das zeitraubende Laden der Applets ersparen. Bieten Sie daher entweder eine Auswahloption für Java und JavaScript, oder stellen Sie in der Voreinstellung JavaScript ein.

Verfasser: Andreas
Letzte Änderung: 2012-09-12 21:15


Plugins unplugged

Wer mit Dateiformaten arbeitet, die besondere Plugins benötigen, bietet dem Surfer eine Plugin-freie Alternative an. Viele schöne Optionen erfordern Zusatzprogramme. Beispielsweise ist das Dateiformat pdf hervorragend geeignet, um gelayoutete Dokumente einschließ-lich Grafik wiederzugeben. Das Flash-Format von Macromedia wiederum sorgt für besonders kleine Dateigrößen. Es ist ein für das Web konzipiertes Vek-torformat. Der Nachteil: Wer zum Beispiel nicht das entsprechende Plugin, hier: für Flash-Files, installiert hat, kann diese nicht ansehen. Wenn Sie trotzdem solche Extras anbieten, sollten Sie zumindest Anwender ohne diese Plugins auf die Notwendigkeit verweisen, diese Plugins zu installieren. Eine sehr gute Alternative: Lassen Sie dem Surfer auf der Eingangsseite die Wahl, ob er eine beschränkte, schnelle Variante der Site wählen will oder für eine gute Optik längere Ladezeiten und Zusatzprogramme in Kauf nimmt. Wenn schon Plugins nötig sind, führen Sie Surfer direkt per Link zur Download-Adresse für diese Plugins Ihre Besucher werden sich über diesen Service freuen.

Verfasser: Andreas
Letzte Änderung: 2012-09-12 21:15


Positionieren mit unsicht- baren Bildern

Mit kleinen unsichtbaren gif- oder jpg-Bildern erreichen Sie ohne große Dateien genaue Zeilenabstände und Einzüge. Erzeugen Sie in einer Bildbearbeitung transparente gif- oder jpg-Bilder mit 1 Pixel. Fügen Sie beispielsweise diese Bilder mit dem Attribut in den HTML-Code ein, um einen Zeilenabstand von 8 Punkt zu erreichen. Mit dieser Größenangabe vermeiden Sie unnötigen Datenballast: Das Bild (1 Pi-xel) wird nur einmal geladen. Vergessen Sie beim Plazieren des Platzhalters den Tag
vor dem Text nicht, sonst rücken Sie die Zeile um ein Leerzeichen ein. Mit diesen Platzhaltern erhalten Sie auch Einzüge: Positionieren Sie bei-spielsweise in die einzurückende Zeile das Bild, und wählen Sie .

Verfasser: Andreas
Letzte Änderung: 2012-09-12 21:15


Rauschen vermeiden

Wer Videos komprimiert, sollte auf gutes Ausgangsmaterial achten. Je besser das Ursprungsvideo ist, de-sto stärker können Sie es in akzeptabler Qualität komprimieren. Es sollte so wenig Video-Rauschen ("Schneegestöber") wie möglich enthalten. Verwenden Sie das beste zur Verfügung stehende Videoformat, etwa S-VHS statt VHS. Achten Sie besonders bei Innenaufnahmen auf gute Beleuchtung, denn bei schlechtem Licht ist starkes Rauschen unvermeidlich.

Verfasser: Andreas
Letzte Änderung: 2012-09-12 21:16


Schmerzgrenze: 50 KByte

Die Übertragungszeit einer Internet-Seite sollte 20 Sekunden nicht überschreiten. Dies ist in Deutschland bei maximal 50 KByte für die Internet-Seite gewährleistet, wenn die Verbindung mitspielt. Wie groß eine Seite der Code einschließlich Grafik, Sound und Videoclips werden darf, hängt von der Übertragungsgeschwindigkeit ab, die den Besuchern Ihrer Web-Seite zur Verfügung steht. Inzwischen besitzen mehr als 80 Prozent der deutschen Surfer Modems oder ISDN-Karten, die mindestens so schnell sind wie Modems nach V.34-Standard. Die in der Praxis erreichten Werte für Modems und die ISDN-Raten schwanken bereits unter Laborbedingungen stark je nachdem, welche Art von Daten sie übertragen (siehe PC Magazin 10/98, S. 97). Sie sollten daher von den Übertragungsraten eines 28.8-Modems als kleinstem gemeinsamen Nenner aus-gehen, das unter normalen Übertragungsbedingungen rund 50 KByte in knapp 20 Sekunden erreicht. Sehr viel größer sollte eine Internet-Seite nicht sein, die ideale Obergrenze wären also rund 20 KByte. Ein V.34-Modem benötigt im Schnitt für 50 KByte etwa 15 Sekunden, ein V.90-Modem zwölf Sekunden. Eine übliche ISDN-Leitung überträgt diese Datenmenge in ungefähr acht Sekunden. Einige HTML-Editoren, zum Beispiel Allaire HomeSite, bieten eine prakti-sche Option, die die ungefähre Download-Zeit des HTML-Dokuments vorab anzeigt.

Verfasser: Andreas
Letzte Änderung: 2012-09-12 21:16


Seiten aufteilen

Überladen Sie Ihre Seiten nicht mit platzraubenden Multimedia-Elementen. Das gilt besonders für die Startseite. Erfahrungsgemäß akzeptieren Surfer längere Ladezeiten auf nachgeordneten Seiten eher als auf der Startseite, die deshalb sofort erscheinen sollte. Faustregel: Die Startseite sollte maximal 25 KByte umfassen. Unterteilen Sie daher Ihr Angebot thematisch, und geben Sie jedem Thema nochmals eine eigene Anlaufseite, auf die Sie von der Startseite verzweigen. Beispielsweise könnte die Startseite eines Kunstmalers auf eine Anlaufseite mit mehreren Kategorien wie Stilleben oder Landschaften verweisen, diese wiederum auf die einzelnen Bilder. Wenn Sie mehrere größere Bilder, Sounddateien oder gar Videoclips präsentieren, bieten sich Thumbnails auf einer Anlaufseite an, über die Sie diese Dateien aufrufen.

Verfasser: Andreas
Letzte Änderung: 2012-09-12 21:17


Suchmaschine: Zugriff verhindern

Mit einem Meta-Tag steuern Sie, ob und wie Suchmaschinen Ihre Webseiten indexieren. Internet-Suchmaschinen sind auf möglichst aktuelle Datenbestände über Webseiten angewiesen. Deshalb durchforsten spezielle Programme, so genannte Robots (oder Spiders, Crawlers) ständig das World Wide Web. Mit einigen Meta-Tags steuern Sie, ob und wie diese Robots Ihre Webseiten durchsuchen und für die Suchmaschine indexieren. Bedenken Sie aber, dass Sie mit diesen Steuerkommandos der Suchmaschine nur einen Vorschlag machen. Nichts kann eine Suchmaschine daran hindern, Ihre Webseiten trotzdem zu indexieren. Denn die HTML-Datei kann der Robot wie jeder Browser abrufen. Ein Beispiel dafür ist: Die erste Meta-Angabe erlaubt den Robots, die Webseite zu indexieren (index). Gleichzeitig sollen die Suchmaschinen die Hyperlinks auf dieser Webseite ignorieren (nofollow = nicht folgen). Wenn es sich beispielsweise um die Homepage einer Site handelt, wird der Robot die Unterseiten nicht indexieren. Die Tabelle unten listet die Steuerbefehle der Suchmaschinen auf. Beachten Sie bitte: Nicht alle Robots unterstützen alle Kommandos.

Verfasser: Andreas
Letzte Änderung: 2012-09-12 21:17


Transparente Platzsparer

Mit transparenten Bereichen in Bildern reduzieren Sie die Datenmenge. Wenn Sie freigestellte Bilder verwenden, etwa eine Person ohne Hinter- grund, sollten Sie mit transparenten gif-Bildern arbeiten. Dies ist beispielsweise für Bilder mit weißen Flächen sinnvoll, wenn Sie ohnehin vor einem weißen Bildhintergrund arbeiten. Der Unterschied macht sich bemerk-bar: Während das Ausgangsbild, das die gesamte Fläche einnimmt, auf eine Größe von 41 KByte kommt, genügen dem Bild ohne Hintergrund 25 KByte.

Verfasser: Andreas
Letzte Änderung: 2012-09-12 21:17


Unsauberen Code feintunen

HTML-Editoren erzeugen häufig aufgeblähten HTML-Code. Es lohnt sich fast immer, nachträglich Hand anzulegen. Zu den Musterbeispielen für eigenwillige HTML-Befehle bzw. eine nicht durchgehend saubere Interpretation der W3C-Richtlinien zählen beispielsweise Adobe PageMill und Microsoft Front-Page 97. Durchforsten Sie hier unbedingt den Code, und passen Sie eigenwillige Tags an. Vorsicht: In beiden Fällen schreiben die HTML-Editoren einige Befehle ungefragt um, FrontPage etwa Imagemaps. Nehmen Sie deshalb die Korrekturen in einem anderen Editor vor, damit Front-Page nicht erneut die Korrekturen wi-derruft. Der Code, den FrontPage 98 schreibt, hängt von den Voreinstellungen ab: Teilweise erzeugten wir mit FrontPage sogar kleinere Testdateien als mit HomeSite 4.0, der den anerkannt saubersten Code aller uns bekannten HTML-Editoren liefert. Generell können Sie die -Tags über den benutzten Editor, Einrückungen, Leerzeichen und notfalls auch Kommentare gefahrlos streichen. Einige HTML-Editoren wie Home-Site und HoTMetaL Pro bieten eine sehr gute integrierte Überprüfung der HTML-Tags an. Daneben finden Sie im Internet kostenlose HTML-Prüfprogramme. Beachten Sie: Nicht jede der angemahnten Kodierungen führt dazu, daß Ihre Seite fehlerbehaftet in den Browsern erscheint. Denn Browser sind ziemlich fehlertolerant und nehmen kleine Sünden nicht unbedingt krumm: Wenn Sie etwa einen Abschluß-Tag vergessen, kümmert das den Browser wenig. Dennoch sollten Sie sich an die Konventionen des W3C-Konsortiums halten, die Sie unter www.w3c.org finden. Damit steigt nämlich die Wahrscheinlichkeit, daß auch künftige Browser-Generationen Ihre Seiten einwandfrei interpretieren werden. Wer seine Dokumente überprüfen will, ob Sie den W3C-Richtlinien entsprechen, sollte die Seite www.w3.org/TR/REC-html40 besuchen. Hier finden Sie zudem viele praktische Beispiele und ausgezeichnete Erklärungen. Das Prüf-Tool Doctor HTML, mit dem Sie Web-Sites nach genauen Vorgaben analysieren, bekommen Sie unter http://imagiware.com/RxHTML Lohnenswert ist auch der WebTechs Validation Service: www.webtechs.com/html-val-svc Mit der Nacharbeit erreichen Sie nicht nur eine Verschlankung des Codes, sondern sorgen auch dafür, daß die damit erzeugten Seiten in allen gängigen Browsern erscheinen.

Verfasser: Andreas
Letzte Änderung: 2012-09-12 21:18


Video-Einstellungen ausprobieren

Die richtige Komprimierungseinstellung für Videos ist selten die voreingestellte: Hier hilft nur Ausprobieren. In jedem Videoschnittprogramm wählen Sie beim Speichern unter ver-schiedenen Software-Komprimierungsarten, mit denen Sie deutlich unter-schiedliche Ergebnisse erhalten. Generell lohnen sich mehrere Versuche mit unterschiedlichen Komprimierungsarten und -einstellungen. Im Zweifel ent-scheiden Sie sich für die bewährte Methode Cinepak, die die meisten Profis verwenden. Die Komprimierung selbst dauert zwar oft länger als mit anderen Verfahren, die Ergebnisse können sich aber trotz starker Verdichtung sehen lassen.

Verfasser: Andreas
Letzte Änderung: 2012-09-12 21:18


Vorschau auf größere Bilder

Wenn Sie Bilder mit der Option interlacedspeichern, erhält der Surfer sofort einen groben Eindruck des Bilds. Es wird dann in mehreren Durchgängen immer feiner aufgebaut. gif-Bilder können Sie in den meisten Bildbearbeitungsprogrammen mit der Option interlaced speichern. Dies empfiehlt sich insbesondere bei größeren Bildern, weil der Surfer sofort einen ersten groben Eindruck des endgültigen Bilds erhält, das in mehreren Durchgängen zum Bild in voller Auflösung wird. Nachteil dabei: Die Bilddateien werden gegenüber dem Verfahren non interlaced um ungefähr zehn Prozent größer. Bei kleinen Bilder bis 10 KByte verwenden Sie daher non interlaced.

Verfasser: Andreas
Letzte Änderung: 2012-09-12 21:19


Vorsicht mit Negativschrift

Vermeiden Sie Negativschrift: Helle (weiße) Schrift auf dunklem (schwarzen) Hintergrund benötigt optisch mehr Raum.
Wegen der unterschiedlichen Wirkung von Negativschrift sollten Sie sie als Grundschrift möglichst vermeiden. Wollen Sie dennoch nicht darauf ver-zichten, wenden Sie einen Trick an: Um zu eng laufende Schrift etwas zu spatio-nieren (den Abstand zwischen den Buchstaben vergrößern), verwenden Sie transparente 1-Pixel-Bilder.

Verfasser: Andreas
Letzte Änderung: 2012-09-12 21:19


Zeitraubende Verläufe

Verläufe sind klassische Ressourcenkiller und möglichst zu vermeiden. Beispielsweise nimmt eine Testseite im Format 800 x 600 Pixel unkompri-miert 1,37 MByte in Anspruch. Ein einfarbiger Hintergrund belegt bei maxi-maler jpg-Kompression in Photoshop 4.01 nur 7 KByte. Ein Verlauf dagegen kostet mehr als den doppelten Speicherplatz. Vermeiden Sie daher Verläufe, wo immer es geht. Eine Notlösung: Beschränken Sie sich für Verläufe auf wenige Farben. Der lineare Verlauf in der Mitte beansprucht nur 8 KByte deutlich weniger als der radiale Verlauf (rechts) mit 14,4 KByte.

Verfasser: Andreas
Letzte Änderung: 2012-09-12 21:20


Computer » Hardware

Andere Netzteile

Außer ATX gibt es noch diverse andere Netzteil-Formfaktoren wie CFX, SFX, LFX und TFX, die aber meist nur bei speziellen Small-Formfaktor Gehäusen zum Einsatz kommen und in der Regel schon im Gehäuse geliefert werden. Für den BTX-Formfaktor ist kein spezielles Netzteilformat vorgeschrieben, es muss lediglich die aktuellen ATX12V Stecker mitbringen.


Quelle WCM 244, Seite 56

Verfasser: Andreas
Letzte Änderung: 2012-09-18 20:02


ATX-Gehäuse Formfaktor

Der ATX-Formfaktor hat sich aus dem Baby-AT Gehäuseformfaktor entwickelt, da dieser eine Reihe von Nachteilen hatte. So gab es bei AT-Gehäusen nur genormte Positionen für den Tastaturstecker sowie für die ISA/PCI etc. Steckplätze und deren Brackets. Serielle und parallele Stecker wurden entweder mit einem Bracket realisiert oder an diversen Ausnehmungen im Gehäuse montiert. Das AT-Netzteil wurde zudem mit einem „echten" Stromschalter Ein- und Ausgeschaltet.
Mit dem ATX-Formfaktor zog dann eine genormte Position für die Backpanel ein, das PS/2 Tastatur, Maus, serielle und parallele Anschlüsse sowie die restlichen onboard Komponenten umfasst. Auch wurden die Positionen von Speicher und CPU auf dem Mainboard verbindlicher festgelegt. Das ATX-Netzteil wird nun nicht mehr „hart" zum Ein- und Ausschalten des Rechners verwendet, sondern der Einschalter ist nur noch ein Niederstrom Taster, der am Mainboard hängt, das dann wiederum dem Netzteil das Signal zum Start gibt. Daher verbraucht ein ATX-Netzteil, solange es an der Steckdose hängt, immer geringfügig Strom, da es eine 5V Standby Spannung bereithalten muss. Damit ist aber auch ein Einschalten des Rechners aus der Ferne (Wake on Ring / LAN) oder diverse instant on Modi wie „Suspend to RAM", möglich.
Weiter Dinge, die mit ATX Einzug hielten, waren ein verpolungssicherer Netzteilanschluss sowie standardisierte Positionen der Befestigungslöcher für Mainboards. Der myATX oder micro ATX Standard ist im Grunde nur eine Version von ATX, bei der das Mainboard längsseitig kleiner ist, um Platz zu sparen. Es ermöglicht allerdings auch weniger Erweiterungssteckplätze. EATX dagegen wird vorwiegend bei Servern verwendet und ist auf der Breitseite des Boards etwas länger.
Inzwischen stößt aber der ATX-Formfaktor zusehends an seine Grenzen das im Rechner immer mehr Hitze produziert wird, für die der Standard nie ausgelegt war und es somit Probleme gibt, diese geräuscharm abzuführen. Hier soll nun der neue, von Intel propagierte Standard BTX Abhilfe schaffen, doch dieser setzt sich nur sehr schleppend durch.

Quelle: WCM 244, Seite 54

Verfasser: Andreas
Letzte Änderung: 2012-09-18 20:02


ATX-Netzteile

Von ATX Netzteilen gibt es unterschiedliche Spezifikationen, die mit der Zeit gekommen sind. So reichte, mit der Einführung des Pentium 4, der normale 20 Polige ATX Stromstecker nicht mehr aus, und es wurde ein 4-Poliger Stecker eingeführt, der +12V enthält, um die Spannungsregler des Prozessors besser zu versorgen. Derartige Netzteile werden üblicherweise als ATX12V-Typen bezeichnet.
Mit dem ATX Spezifikationsupdate 2.0 wurde der 20-Pol ATX Stromstecker um 4 Pole auf 24 PIN erweitert, um den gesteigerten Strombedarf Herr zu werden. Zudem fiel der kaum benutzte „AUX" Stecker weg. Spec 2.01 kostete der unnötig gewordenen -5 V Spannung den Kopf. Inzwischen haben die meisten Netzteile zwei unabhängige 12V Leitungen, so genannte Rails, die jeweils mehr als 15 Ampere liefern können, um moderne Prozessoren ausreichend zu versorgen.
Aktueller Stand der Technik sind Serial ATA Stromanschlüsse, ein 24 Poliger ATX Stromstecker, ein 4 Pol 12V Stecker und wie üblich die diversen Molex-Stecker für Floppy und Harddisc.
Bei den aktuellen Dual Core Pentium 4 Prozessoren reicht aber selbst diese Spezification scheinbar noch nicht immer aus, sodass auf einigen neuen Pentium 4 Boards ein 8 Poliger 12V Stecker mit zwei unabhängigen 12V Leitungen benötigt wird. Entsprechende Netzteile unterliegen dem EPS Formfaktor, der eigentlich für Server gedacht ist. Die meisten Netzteilhersteller legen bei ihren stärkeren ATX12V Netzteilen inzwischen aber entsprechende Adapter bei, mit denen auch ein Betrieb derartiger Mainboards möglich ist.

Quelle: WCM 244, Seite 54

Verfasser: Andreas
Letzte Änderung: 2012-09-18 20:03


BTX

Der Nachfolger von ATX wurde vor allem in Hinblick auf optimale Wärmeabfuhr im Gehäuse kreiert. So ist der Größenspielraum für den CPU-Kühler deutlich gewachsen und dieser holt sich nun die Kühlluft direkt von „außen". Darüber hinaus sind der Chipsatz und die Erweiterungssteckplätze Steckplätze nun so angeordnet, dass die Abluft des Prozessorkühlers auch diese auf ihrem Weg zum Netzteil, dass die Abluft wieder nach draußen geleitet, gleich mitkühlt.
Die Position von Steckplätzen und Backpanel wurden bei BTX getauscht, sodass das Backpanel nun rechts ist und die Steckplätze auf der linken Seite, wenn man das Gehäuse von hinten betrachtet.
Abgesehen vom vollen BTX-Format gibt es auch kleinere Ableger namens Micro und Pico BTX.
Momentan gibt es noch relativ wenige BTX-Gehäuse und noch weniger entsprechende Mainboards. Allerdings gibt es, leider meist recht teure, Gehäuse, die mit wenigen Handgriffen von ATX auf BTX umbauen kann, damit man für die Zukunft gerüstet ist.


Quelle WCM 244, Seite 56

Verfasser: Andreas
Letzte Änderung: 2012-09-18 20:04


Flex ATX

Im normalen Retail Handel findet man kaum Komponenten / Mainboards etc. im Flex ATX Formfaktor. Dieser zeichnet sich vor allem durch kleine Abmessungen des Mainboards und Gehäuses aus und wird gerne von PC-Herstellern für ihre eigenen schlanken Designer-PCs genutzt, wo Aufrüstbarkeit nebensächlich ist.


Quelle WCM 244, Seite 56

Verfasser: Andreas
Letzte Änderung: 2012-09-18 20:04


Frontanschlüsse

Viele Gehäuse haben vorne Anschlüsse für USB, FireWire oder Audio. Diese sind im Grunde nur Kabelpeitschen, die an der Hauptplatine angeschlossen werden müssen. Daher ist nicht garantiert, dass immer alle Anschlüsse auch tatsächlich funktionieren. USB Anschlüsse am Mainboard sind inzwischen nahezu einheitlich und problemlos anzuschließen. Bei FireWire und Audio gibt es zwar auch Spezifikationen, doch meist verwenden die Gehäusehersteller einzelne Pins, statt verbundener Stecker, die etwas mühsamer anzuschließen sind und falsch angeschlossen auch die Schnittstelle zerstören können.


Quelle WCM 244, Seite 56

Verfasser: Andreas
Letzte Änderung: 2012-09-18 20:05


Gehäuse-Einschübe

Grundsätzlich haben aktuelle Gehäuse zwei verscheiden Typen von Einbauplätzen. Die großen 5,25" (13,3cm) breiten Einbauplätze finden inzwischen ausschließlich bei optischen Laufwerken, Bandlaufwerken oder speziellen Einschübe für Kartenleser, Wechselfestplatten und High-End Soundkarten Verwendung. Festplatten in diesem Format gibt es keine mehr, jedoch kann man mit einem Einbaurahmen auch 3,5" Festplatten in einem derartigen Einschub montieren.
Externe, also von außen zugängliche 3,5" (8,9cm) Einschübe werden hauptsächlich von Floppy-Laufwerken und Cardreadern genutzt, weswegen heutzutage selten mehr als zwei entsprechende Einschübe vorhanden sind. Interne, also nur durch Öffnen des Gehäuse zugängliche 3,5" Einschübe werden ausschließlich für Festplatten verwendet. Die meisten Gehäuse haben vier bis sechs derartige Einschübe, wobei man Festplatten nie zu eng einbauen sollte, um einen Wärmestau zu verhindern.


Quelle: WCM 244, Seite 54

Verfasser: Andreas
Letzte Änderung: 2012-09-18 20:05


Leistung

Die Leistung in Watt, die bei Netzteilen angegeben wird, ist oft nicht mehr als ein Wunschtraum. Besonders bei günstigen NoName Netzteilen haben die angegebene und tatsächliche Leistungsabgabe oft nicht viel gemeinsam. So kann ein 400 W Billignetzteil durchaus nur 250 W leisten. Daher sollte man, wenn es ein Billiges werden soll, lieber zu den „Leistungsstärkeren" greifen. Markengeräte von Chieftec, HEC, CWT , Targan etc. können die angegebene Leistung normalerweise problemlos abgeben. Wichtig ist auch nicht nur die Gesamtleistungsabgabe, sondern auch auf die kombinierte 3,3 und 5V Leistungsabgabe, die bei etwas unter der Hälfte der Gesamtleistungsabgabe liegen sollte, da diese manchmal im Vergleich zu 12V Leistung etwas vernachlässigt wird.

Quelle WCM 244, Seite 56

Verfasser: Andreas
Letzte Änderung: 2012-09-18 20:06


Mini-ITX

Mini-ITX und ihr kleinerer Formfaktor Ableger Nano-ITX wurde von VIA für die winzigen EPIA Mainboards mit VIAs eigenen Prozessoren entwickelt und sind noch ein gutes Stück kleiner als Flex ATX Mainboards und Gehäuse. Mini-ITX Mainboards messen 17cm Kantenlänge, während Nano-ITX Boards nur noch mit 12cm auskommen. Besonders platzsparende Designs können den kompletten Rechner auf in der Größe eines 5,25" CD-Laufwerks unterbringen.

Quelle: WCM 244, Seite 54

Verfasser: Andreas
Letzte Änderung: 2012-09-18 20:06


Power Fraction Correction (PFC)

Muss im EU-Raum zwingend in jedem neuen Netzteil drinnen sein. Im Grunde genommen dient es dazu, dass der Strom, den das Netzteil zieht auch tatsächlich über den Hausstromzähler abgerechnet wird und kein Blindleistungsverbraucher ist. Es gibt passive und aktive PFC, wobei letztere den besseren Wirkungsgrad hat und deshalb zu bevorzugen ist. Eigentlich ist die PFC für den Endverbraucher völlig unerheblich, der er selbst nichts davon hat. Trotzdem wird aber oft damit geworben.

Quelle WCM 244, Seite 56

Verfasser: Andreas
Letzte Änderung: 2012-09-18 20:07


Computer » Hardware » Optische Laufwerke

Adaptec wartet auf CD-Recorder

So beschleunigen Sie den Bootvorgang beim Adaptec AHA 2940.
Wenn Sie einen Adaptec AHA 2940 und den Yamaha-CD-Recorder CDR-100 einsetzen, kommt es vor, daß der Controller ungebührlich lange hochfährt. Wechseln Sie ins BIOS des Adaptec-Controllers mit [Strg-A], und schalten Sie die Option
support removable disks under BIOS as fixed disks
ab sowie die Funktion
boot from CD-ROM
mj

Verfasser: Andreas
Letzte Änderung: 2012-09-18 20:11


Audio-CDs digital abspielen

Sie möchten Audio-CDs über den Computer ohne Audiokabel abspielen? Wir zeigen, wie es geht.
Normalerweise benötigt man ein Kabel, das CD-ROM-Laufwerk und Soundkarte verbindet, um Audio-CDs abspielen zu können. Ist das nicht vorhanden, oder befindet sich mehr als ein CD-Laufwerk im Rechner, lässt sich Musik oft auch digital abspielen. In Systemsteuerung müssen Sie dazu Multimedia aufrufen. Wenn Sie dort den Reiter Musik CD anklicken, finden Sie eine Option Digitales CD-Audio für dieses Gerät aktivieren. Wählen Sie diese Option, sofern das möglich ist. s

Verfasser: Andreas
Letzte Änderung: 2012-09-18 20:11


Beschleunigung unter Windows NT

Auch CD-ROM- und Wechselplatten-Laufwerke mit ATAPI-Schnittstelle profitieren unter Windows NT von einem installierten Busmaster-Treiber.
Wenn Sie in Ihrem PC SCSI-Festplatten im Einsatz haben und zusätzliche Peripheriegeräte wie CD-ROM- und Wechselplatten-Laufwerke mit ATAPI-Schnittstelle anschließen, holen Sie für diese Geräte mit einem Busmaster-Treiber die maximale Performance aus dem System. Standardmäßig installiert Windows NT für solche Peripheriegeräte lediglich einen Standard-IDE-Treiber. Bei modernen Chipsätzen sorgt ein Busmaster-Treiber - ähnlich wie bei einem SCSI-System - für eine geringere CPU-Belastung beim Datentransfer. Für Intel- und Nicht-Intel-Chipsätze sollten Sie auf einer mitgelieferten Treiber-Diskette/CD oder auf der Homepage Ihres Mainboard-Herstellers einen entsprechenden Treiber finden.
Die Installation erfolgt über die Systemsteuerung per Doppelklick auf das Icon SCSI-Adapter. Im Unterpunkt Treiber finden Sie die bereits installierten Treiber. Beachten Sie, daß Sie den alten Treiber zum jetzigen Zeitpunkt noch nicht löschen dürfen. Wählen Sie Hinzufügen. Dann gehen Sie in das Verzeichnis, in dem Sie den Treiber gespeichert haben. Wählen Sie den Treiber, und bestätigen Sie die Auswahl.
Der Rest geht automatisch. Nach einem Neustart ist der Treiber im System eingebunden, und Sie können den alten Treiber löschen.
fkh

Verfasser: Andreas
Letzte Änderung: 2012-09-18 20:12


CD per Software

Sie täuschen vor, dass ein beliebiges Laufwerk das CD-ROM-Drive sei. So überlisten Sie die Programme, die nur mit CD starten wollen.
FakeCD (Listing in Databox 4/98) macht Programmen weis, irgendein Laufwerk arbeite als CD-ROM. Besonders nützlich ist das für Programme, die ohne die Original-CD nicht starten wollen. Sie kopieren einfach die benötigten Dateien in ein Verzeichnis und schreiben eine Batchdatei, die diesem Verzeichnis mit subst.exe einen Laufwerksbuchstaben zuweist und dann das Programm mit FakeCD startet.
Sie kompilieren FakeCD.c mit Microsoft C/C++ 7.0, wobei Sie das Kompilat auch mit Vorversionen sowie anderen Compilern erhalten. Als Speichermodell wählen Sie Small.
Nach dem Start wertet main() (ab Zeile 44) die Kommandozeile aus. Dort sucht es nach den beiden Schaltern /p für das ausführbare Programm und /l für das Laufwerk, das Sie als zusätzliches CD-ROM-Laufwerk verwenden wollen. Danach fragt es beim MSCDEX nach, wie viele CD-ROM-Laufwerke schon installiert sind. Die Funktionen von MSCDEX lassen sich über den Multiplex-Interrupt 0x2f mit 0x15 im Register AH erreichen. Danach biegt das Programm genau diesen Interrupt auf einen eigenen Handler um und fängt so die MSCDEX-Funktionsaufrufe des auszuführenden Programms ab. Wichtig sind hier drei Funktionen der MSCDEX-API, die abgefangen werden:
- 0x0 (Installations-Check) liefert im Register BX die Anzahl der CD-ROM-Laufwerke und im Register CX die Nummer des ersten CD-ROM-Laufwerks (A:=0,B:=1) zurück. Die Anzahl der Laufwerke in BX wird vom neuen Handler inkrementiert (Zeilen 14 bis 21).
- 0xb (Laufwerk-Check) überprüft die im Register CX übergebene Laufwerksnummer darauf, ob es sich um ein CD-ROM handelt und das Ergebnis durch 0xadad in Register BX einen Booleschen Wert in AX zurückliefert. Wird das falsche CD-ROM-Laufwerk abgefragt, liefert der Handler den Wert true zurück (Zeilen 24 bis 30).
- 0xd (Liste der CD-ROM-Laufwerke) zeigt in einen Puffer auf den Bereich ES:BX und liefert die Nummern aller CD-ROM-Laufwerke zurück. Das falsche CD-ROM-Laufwerk wird an die Liste angefügt (Zeilen 33 bis 35).
Nachteil: Bei der Ausführung des anderen Programms bleibt das gesamte C-Programm im Speicher - immerhin 70 KByte. Trotzdem müßte der verbleibende Speicher für die meisten Programme ausreichen. Wenn nicht, suchen Sie nach dem Ersatz SPAWNO von Ralf Brown (bekannt von seiner Interrupt-Liste).
Stefan Harwarth/et

Verfasser: Andreas
Letzte Änderung: 2012-09-18 20:12


CD-Brenner als Abspielgerät

Nutzen Sie den Philips CDD2000 als CD-ROM-Laufwerk.
Meldet sich Ihr CD-Recorder beim Bootvorgang als "Philips CDD2000" oder mit einer ähnlichen Bezeichnung? Dann sollten Sie ihn mit Hilfe eines Firmware-Upgrades aufrüsten, wenn Sie ihn auch als CD-ROM-Laufwerk unter Windows 95 nutzen wollen. Doch das funktioniert nur beim CDD2000 mit Flash-EPROM. Einen entsprechenden Hinweis finden Sie im Benutzerhandbuch des CD-Recorders. Als Faustregel gilt: Alle ab Anfang 1995 von Philips hergestellten Geräte sollten einen Flash-EPROM-Baustein besitzen.
Wenn der CDD2000-Recorder ordnungsgemäß am SCSI-Controller angeschlossen ist, notieren Sie beim Bootvorgang dessen SCSI-ID/Gerätenum- mer. Achten Sie darauf, daß keine CD im Laufwerk steckt, und führen Sie gegebenenfalls einen erneuten Reset aus.
Das Firmware-Upgrade beziehen Sie übers Internet:
http://www.philips.com/sv/pcaddon/cdr
Halten Sie hier nach der Datei "cdd2_125.exe" Ausschau. Die Zahl 125 bezeichnet die aktuelle Firmware-Version 1.25. Sie starten das Flash-EPROM-Upgrade-Programm, indem Sie in einem DOS-Fenster unter Windows 95
Laufwerksbezeichnung:\newflash.exe X flash125.cvt
eingeben. Statt "Laufwerksbezeichnung" setzen Sie den Buchstaben des Datenträgers und den Pfad ein, auf dem sich die Datei befindet. Das X entspricht der Gerätenummer (= ID) des CD-Recorders, die sich über Jumper einstellen läßt (in der Regel gilt ID = 2). Ihre Befehlszeile sollte also etwa so aussehen:
c:\newflash.exe 2 flash125.cvt
Anschließend bestätigen Sie mit [Enter]. Brechen Sie den Upgrade-Vorgang nicht ab, und lassen Sie den Recorder in Ruhe (Schublade nicht öffnen, keine Software starten). Schließen Sie außerdem vorher alle Anwendungen.
Die Flash-EPROM-Upgrade-Prozedur führt der Recorder selbständig durch. Der Vorgang ist beendet, wenn die Meldung
Firmware flashed ok
erscheint und beim Recorder die orangefarbene WRITING-Diode aufleuchtet und dauert etwa zwei bis drei Minuten. Anschließend leuchtet die rote ERROR-Diode respektive die grüne READING-LED auf. Schließen Sie jetzt alle Anwendungen, und booten Sie den Rechner neu.    lip

Verfasser: Andreas
Letzte Änderung: 2012-09-18 20:13


CD-Brenner: Automatischer Start

So legen Sie fest, daß ein Rohling beim Einlegen in das CD-ROM-Laufwerk automatisch gestartet wird.
Wenn die selbst entworfene CD automatisch starten soll, müssen Sie das vor dem Brennen festlegen. Mit wenigen Handgriffen erledigen Sie das. Unter Windows gehen Sie folgendermaßen vor: Starten Sie einen Texteditor, und schreiben Sie folgende Zeilen:
[autorun]
icon=start.ico
open=start.exe
Die Zeile icon=... läßt ein selbstgebasteltes Icon im Explorer erscheinen, das das herkömmliche Laufwerks-Icon ersetzt. Dieses Icon hinterle-gen Sie im Stammverzeichnis Ihres Rohlings. Die Zeile Open=... ist für das automatische Starten der CD verantwortlich. Dabei legen Sie fest, ob eine Anwendung (wie start.exe) oder eine HTML-Datei (etwa start.html) gestartet werden soll. Danach speichern Sie die Textdatei mit der En-dung .inf. Binden Sie die Datei in das Stammverzeichnis der CD ein. Für das Erstellen von Icons finden Sie beispielsweise auf unserer Heft-CD 2/99 das Tool Icon Snatcher. NH

Verfasser: Andreas
Letzte Änderung: 2012-09-18 20:13


CD-Brenner: Buffer Underrun verhindern

Der neue CD-Brenner kopiert keine Audio-CD on the fly - obwohl das CD-ROM-Laufwerk schnell genug zu sein scheint.
Was ist zu tun, wenn der neue CD-Brenner Audio-CDs nicht on the fly brennt? Auch wenn die Hersteller die Geschwindigkeit des CD-ROM-Lauf-werks mit 12X oder 52X angeben, dieser Wert bezieht sich auf die maximale Geschwindigkeit am äußersten Rand der Scheibe. In der Mitte läuft das Laufwerk meist nur mit halber Kraft. Beim Auslesen von Musik-CDs spielt zudem nur die digitale Audioextraktionsrate (DAE) eine Rolle. Dabei schickt das Laufwerk die einzelnen Titel über den Bus. Die DAE-Geschwindigkeit liegt bei den meisten Laufwerken deutlich tiefer als das maximale Lesetempo: bei aktuellen Geräten ungefähr bei 5,5- bis 6fach. Neueste CD-Brenner arbeiten aber bereits mit 8x und 12x deutlich schneller, als die Audiodaten zum Brennen aufbereitet werden können. Ein Buffer Underrun (der konstante Datenstrom wird unterbrochen) ist bei maximaler Brenngeschwindigkeit unvermeidlich. Abhilfe schafft das Herabsetzen der Brenngeschwindigkeit oder das Kopieren der Daten auf Festplatte vor dem Schreiben.

Verfasser: Andreas
Letzte Änderung: 2012-09-18 20:14


Daten- oder Audio-CD?

So gehen Sie vor, wenn gebrannte Daten-CDs von Windows fälschlicherweise als Audio-CDs erkannt werden.
Wenn der Brenner Daten-CDs als Audio-CDs interpretiert, kann das diverse Ursachen haben. Hier ein paar Lösungen: Wenn Sie einen Philips CDD3610 / HP 7200 / HP 7100 oder ein dazu kompatibles Gerät einsetzen, so hilft meist ein Update auf Nero 4.0.3.4 oder eine höhere Version. Das Problem tritt auch bei einigen PacketCD-Versionen auf. In diesem Fall sollten Sie PacketCD deinstallieren und dafür sorgen, dass alle PacketCD-Treiber entfernt sind. Bei Yamaha-Brennern kann auch die Option DMA, wenn sie während des Brennens eingeschaltet ist, dazu führen, dass die gebrannten CDs als Audio-CDs angesehen werden. Deaktivieren Sie die Option DMA im Gerätemanager. Bei Adaptec-SCSI-Host-Adaptern genügt oft ein Update auf die neuesten Treiber. Das dürfte auch für die meisten anderen Host-Adapter gelten.

Verfasser: Andreas
Letzte Änderung: 2012-09-18 20:14


CD-Recorder: Schreiben ja - lesen nein

Wenn Ihr CD-Recorder beim Einlesen von CD-RWs streikt, hilft ein kleines Programm aus dem Internet weiter.
Durch fehlerhafte Installationsroutinen kommt es immer wieder mal zu sonderbaren Konstellationen. So schreibt der CD-Recorder brav auf die Rohlinge, aber beim Lesen von CD-RWs verweigert das Laufwerk den Dienst. Das kann unter Umständen daran liegen, dass kein UDF-Reader (UDF Universal Disk Format) installiert ist. Findet sich dieser nicht auf der Treiber-CD, laden Sie ihn aus dem Internet:
ftp.adaptec.digisle.net/cd_recording_software/windows/udfread_v103_install.exe

Verfasser: Andreas
Letzte Änderung: 2012-09-18 20:14


CD-ROM-Laufwerk und CD-Brenner gemeinsam nutzen

An einer Soundkarte lassen sich zusätzlich verschiedene CD-ROM-Laufwerke oder -Brenner anschliessen.
Wenn Sie verschiedene CD-ROM-Laufwerke an die CD-In-Stecker einer Soundkarte anschließen wollen, funktioniert das nicht, da es sich dabei nur um Stecker mit einer Parallelverbindung handelt. Es ist immer nur der Anschluß von einem Gerät möglich. Viele Soundkarten haben jedoch zusätzlich noch einen Line-In-Eingang, der intern über Stiftleisten herausgeführt ist. Hier können Sie das zweite CD-ROM-Laufwerk anschließen. Sie steuern das Laufwerk dann ohne Probleme über den Line-In-Regler von Windows 95/98 oder NT aus. Der externe Line-InAnschluß funktioniert dann jedoch nicht mehr.

Verfasser: Andreas
Letzte Änderung: 2012-09-18 20:15


CD-ROM-Laufwerks unter Windows NT beschleunigen

Auch CD-ROM-und Wechselplatten-Laufwerke mit ATAPI- Schnittstelle profitieren unter Windows NT von einem installierten Busmaster-Treiber.
Wenn Sie in Ihrem Rechner SCSI-Festplatten im Einsatz haben und zusätzliche Peripheriegeräte wie CD-ROM-und Wechselplatten-Laufwerke mit ATAPI-Schnittstelle anschließen, holen Sie für diese Geräte mit einem Busmaster-Treiber die maximale Leistung aus dem System. Standard-mäßig installiert Windows NT für solche Peripheriegeräte lediglich einen IDE-Treiber, was Ihr System erheblich ausbremst. Bei modernen Chipsätzen sorgt ein Busmaster-Treiber ähnlich wie bei einem SCSI-System für eine geringere Prozessor-Belastung beim Datentransfer. Auf der mitgelieferten Treiberdiskette bzw. -CD-ROM oder auf der Supportseite der Internet-Site Ihres Motherboard- Herstellers sollten Sie einen entsprechenden Treiber finden. Die Installation erfolgt über die Systemsteuerung per Doppelklick auf das Icon SCSI-Adapter. Im Unterpunkt Treiber finden Sie die bereits installierten Treiber. Beachten Sie, daß Sie den alten Treiber zum jetzigen Zeitpunkt unter keinen Umständen löschen dürfen. Wählen Sie Hinzufügen. Gehen Sie in das Verzeichnis, in dem Sie den Treiber gespeichert haben. Wählen Sie den neuen Treiber, und bestätigen Sie die Auswahl. Die anschließende Installation erfolgt automatisch. Nach einem Neustart Ihres Rechners ist der Treiber im System eingebunden, und Sie können den alten Treiber bedenkenlos löschen. MJH

Verfasser: Andreas
Letzte Änderung: 2012-09-18 20:15


CDs brennen unter NT 4.0

So arbeiten Sie problemlos mit der Brenner-Software Gear 3.3 unter Windows NT 4.0.
Es kostet Zeit, Nerven und vor allem viel Geld, bis man unter Windows NT 4.0 ein Brennerprogramm vernünftig zum Laufen gebracht hat. Die Software Gear 3.3 von Elektroson ist solch ein Fall. Zwar können Sie mit der Version 4.0 unter NT arbeiten, aber nicht jeder will Geld für ein Update ausgeben. Außerdem läuft Gear 4.0 nicht stabil mit diesem Betriebssystem, weshalb Sie mit der Vorgängerversion zur Zeit noch besser fahren.
Diese läßt sich jedoch nicht ohne Treiber-"Starthilfe" unter NT betreiben. Sie müssen manuell nachhelfen: - Führen Sie eine Standardinstallation der Brenner-Software durch.
Im Windows-Systemverzeichnis (\WINNT\SYSTEM) suchen Sie die Datei "winaspi32.dll", kopieren sie und benennen die Kopie in "winaspi.dll" um. Anschließend starten Sie einen beliebigen Editor und aktualisieren "gear.ini" (befindet sich im Verzeichnis von Gear 3.3) entsprechend. Nun dürfte dem ungetrübten Brennvorgang unter Windows NT 4.0 nichts mehr im Wege stehen.

Verfasser: Andreas
Letzte Änderung: 2012-09-18 20:16


CDs fehlerfrei brennen

So konfigurieren Sie den EIDE-CD-Recorder von Mitsumi richtig.
Der Mitsumi CR-2600TE läuft in den meisten PCs nicht auf Anhieb. Handbuch und Mitsumi-Hotline empfehlen jedoch, den CD-Recorder möglichst getrennt von der Festplatte als Master-Device an einem eigenen IDE-Port zu betreiben. Doch auch dann kommt es regelmäßig zu Schreibfehlern. Wer streßfrei brennen will, muß leider erheblich an seiner Windows-Konfiguration drehen. Gehen Sie wie folgt vor:
Starten Sie in der Systemsteuerung das Programm "System". Im Geräte-Manager klicken Sie doppelt auf den Eintrag "Festplattenlaufwerk-Controller". Wenn dort ein Bus-Master-IDE-Controller (beispielsweise Intel 82371SB PCI-Bus Master IDE Controller) installiert ist, markieren Sie diesen und starten mit Mausklick auf die Schaltfläche [Eigenschaften] den zugehörigen Dialog. Hier starten Sie in der Kartei "Treiber" über den Knopf [Treiber aktualisieren] den "Assistent für Gerätetreiber-Updates". Aktivieren Sie dort die Auswahl "Nein, Treiber auswählen", und bestätigen Sie mit [Weiter].
Im nächsten Dialog wählen Sie als Hersteller einen "Standard-Festplattentreiber" und unter Modelle einen "Standard-Dual-PCI-IDE-Controller". Abhängig von Ihrer Hardware kann es auch ein "Standard IDE/ESDI Festplattenlaufwerk-Controller" oder ähnliches sein. Wichtig ist, daß es sich um keinen Busmaster-Controller handelt. Mit Klick auf den Knopf [Weiter] wird der Treiber installiert. Nach einem Windows-Neustart sollte der Busmaster-Controller verschwunden und der Standardtreiber aktiv sein - das kontrollieren Sie in
Systemsysterung - System - Geräte-Manager
Negativer Effekt dieses Tricks: Der Standardtreiber ist langsamer als die Busmaster-Version. Wer den Recorder unter DOS als CD-ROM-Laufwerk nutzt, muß zusätzlich auch diesen Treiber entfernen.
Bei der Arbeit mit Audio-CDs gibt es noch eine unangenehme Überraschung: Die Image-Datei muß sich auf einer Festplatte mit FAT32 (nur mit neueren OEM-Windows-Versionen möglich) befinden, sonst schlägt jeder Versuch fehl. Hat man sein PC-System so auf den CR-2600TE zusammengestutzt, liest und schreibt der Recorder Audio-CDs mit doppelter Geschwindigkeit.
Die Funktion "Automatische Benachrichtigung beim Wechsel" für das CD-ROM-Laufwerk und den Recorder sollten Sie deaktivieren: Das erledigt die mitgelieferte Brenn-Software ToGo! 4.0 automatisch (Abfrage beim Start). Das angepaßte Programm von CeQuadrat findet den Recorder auf Anhieb - eine andere Software, die das leistet, gibt es zur Zeit nicht.

Verfasser: Andreas
Letzte Änderung: 2012-09-18 20:17


Fehler in der CD-ROM-Produktion

Sofern Ihre selbst angefertigten CDROMs fehlerhafte Informationen enthalten, kann dieser Tipp helfen.
Für Datenfehler auf CDROMs sind meistens die verwendeten Rohlinge verantwortlich. Schalten Sie daher bei der Brenn-Software die Verify-Funktion ein, die die auf den CD-Rohling zu schreibenden Daten mit den Informationen der Festplatte vergleicht. Meldet die Verify-Funktion öfters Vergleichsfehler, sollten Sie die Herstellerangaben für die minimale und maximale Schreibgeschwindigkeit bei den Rohlingen sowie die eingestellte Geschwindigkeit des Brenners überprüfen. Die Schreibgeschwindigkeit bei den Rohlingen sollte möglichst weder unter- noch überschritten werden, denn das für die Beschichtung verwendete Material ist nur für den ausgewiesenen Geschwindigkeitsbereich ausgelegt. Kommt es dennoch zu Vergleichsfehlern, wechseln Sie die Rohling- Marke. Ältere CD-ROMLaufwerke scheitern gelegentlich an Rohlingen mit grüner oder blauer Beschichtung. In diesem Fall sollten Sie besser Rohlinge mit silberner oder goldener Beschichtung verwenden, auch wenn diese etwas teurer sind. Enthalten die CD-ROMs bei korrektem Verify-Lauf Datenfehler, kann auch ein zum Anfertigen von Image-Dateien verwendetes CD-ROM-Laufwerk die Fehlerursache sein. In diesem Fall wären die Daten korrekt auf den CD-Rohling geschrieben worden, die Fehler allerdings schon beim Einlesen aufgetreten. Legen Sie die Image-Dateien mit dem CD-Brennerlaufwerk, nicht mit dem zusätzlichen CD-ROM-Laufwerk an.

Verfasser: Andreas
Letzte Änderung: 2012-09-18 20:17


Gebrannte Audio-CD mit Störgeräuschen

Sie finden Knackser und Knistern auf ihrer mühselig zusammengestellten Audio-CD nicht komisch? Dann hilft dieser Tip weiter. Ein Knistern und Rauschen auf der selbstgebrannten Audio-CD vermeiden Sie schon im Vorfeld, wenn Sie die auf Ihrer Festplatte abgelegten wav-Dateien anhören und kontrollieren. Wurden die Sounddateien von einem CD-ROM-Laufwerk gelesen und nicht vom Brenner, kann es leicht vorkommen, daß sie viele Aussetzer und ein unangenehmes Kratzen enthalten. Dieses läßt sich beim CD-ROM-Laufwerk leider nicht abschalten und hängt vom Fabrikat ab. Hier hilft nur der Kauf eines anderen CD-ROM-Laufwerks, dessen interne Logik ausgereifter ist und unter anderem eine bessere Fehlerkorrektur und DAE-Fähigkeiten (Digital Audio Extraction) bietet. Oder Sie lesen die wav-Dateien direkt über den Brenner von der Original-Audio-CD. Hier sollten sich die Audiodateien einwandfrei anhören. Der Plextor PX-R 412 Ci (4-/12fach) gilt bezüglich der DAE-Eigenschaften als relativ sicher und schnell. Eine weitere Fehlerquelle ist die sogenannte Automatische Benachrichtigung beim Wechsel von CDs in CD-ROM-Laufwerken. Diese sollten Sie unbedingt abschalten. Die neuen Brennprogramme erledigen dies in der Regel automatisch, oder die Software blockiert diese Funktion einfach. Unterstützt Ihr Programm dieses Feature nicht, öffnen Sie Einstellungen/ Systemsteuerung und klicken auf System und dann Geräte-Manager. Wählen Sie das CD-ROM-Laufwerk aus, und gehen Sie dann auf Eigenschaften/ Einstellungen. Den Punkt Automatische Benachrichtigung beim Wechsel deaktivieren Sie.

Verfasser: Andreas
Letzte Änderung: 2012-09-18 20:18


Gefahr erkannt, Gefahr gebannt

Beim CD-Brennen gefürchtet ist der sogenannte Buffer Underrun. Mit einfachen Mittel können Sie vorbeugen.
Ein CD-Brennvorgang ist unfreiwillig beendet, wenn das System einen Buffer Underrun meldet. So gehen Sie vor, damit das nicht passiert:
Schließen Sie alle Anwendungen, und trennen Sie den Rechner gegebenenfalls vom Netzwerk, da eingehende Mails den Brennvorgang blockieren können. Deaktivieren Sie alle zeitlich gesteuerten Befehle sowie den Bildschirmschoner, und defragmentieren Sie vor dem Brennvorgang die Festplatte. Legen Sie auf Ihrer Festplatte gegebenenfalls eine neue Partition mit ausreichend Speicherplatz zum Erstellen einer Master-CD an.
Hilfreich ist es auch, vor dem Brennvorgang die Leistung des Systems zu ermitteln. Dazu dienen etwa die Programme Easy CD Creator von Adaptec und Nero Burning ROM 3.0.5. Viele Programme bieten zudem eine Simulation des Brennvorgangs an, um eventuelle Flaschenhälse aufzuspüren.

Verfasser: Andreas
Letzte Änderung: 2012-09-18 20:18


Highspeed mit dem CD-ROM-Drive

In vielen Computern laufen die CD-ROM-Laufwerke nur mit halber Fahrt. Grund: Fehlende Busmaster-Unterstützung bremst die Magnet-Plattenspieler aus. Mit alten oder defekten Geräten helfen Sie ihm wieder auf die Sprünge.
Hängt in einem Computer als einziges IDE-Gerät ein CD-ROM-Drive am Controller, und das restliche System läuft auf SCSI-Basis, bremst der Rechner das CD-Laufwerk aus. Grund dafür ist der fehlende Busmaster-Treiber für den IDE-Controller. Dieser Treiber läßt sich weder manuell starten noch von Hand konfigurieren. Ein kleiner Trick hilft. Klemmt man eine alte Festplatte mit noch funktionierender IDE-Elektronik an den Rechner, wird der Busmaster-Treiber geladen. Das CD-ROM-Laufwerk arbeitet dann mit voller Kraft. Aufpassen müssen Sie nur bei den BIOS-Einstellungen. Das Booten von IDE-Festplatten sollten Sie ausschalten. Es spielt keine Rolle, wenn Windows das Laufwerk nicht erkennt. Wichtig ist nur die Initialisierung des Controllers beim Systemstart.kaum.

Verfasser: Andreas
Letzte Änderung: 2012-09-18 20:19


Mehr als 650 MByte auf eine CD?

Es gibt einen Weg, wie Sie mehr Daten auf einer CD unterbringen.
Mit WinOnCD 3.5 lassen sich die Audiotracks "abschneiden". So können auch Sicherheitskopien von CDs gebrannt werden, deren Kapazität 650 MByte überschreitet. CD-Rohlinge mit zirka 700 MByte existieren zwar, sind aber weltweit nur vereinzelt erhältlich. Diese werden von den wenigsten Brennern und Programmen unterstützt.

Verfasser: Andreas
Letzte Änderung: 2012-09-18 20:19


Mitsumi-Update

Ein Firmware-Update ermöglicht es dem CR-4801 TE von Mitsumi, CDs im Disc-At-Once-Modus zu beschreiben.
Dem Mitsumi-Recorder CR-4801 TE fehlte bislang eine entscheidende Eigenschaft: Er unterstützt kein Disc-At-Once. Eine neue Firmware schafft Abhilfe. Das Update fw201_48.zip erhalten Sie auf der Mitsumi-Homepage unter
www.mitsumi.de
Nachdem Sie die Datei geladen haben, entpacken sie diese, kopieren Sie in ein beliebiges Verzeichnis und fahren Ihren Rechner im MS-DOS-Modus hoch. Starten Sie das entpackte Programm dicdr.exe, und die neue Firmware wird installiert.

Verfasser: Andreas
Letzte Änderung: 2012-09-18 20:20


Notfall-CD

Der Kluge baut vor: Fertigen Sie eine eigene CD für Notfälle an.
Selten belassen Anwender ihr installiertes Betriebssystem unverändert. So kommen mit neuer Hardware geänderte Treiber hinzu. Auch passen Sie beispielsweise ActiveX-Treiber der aktuellen Version an. Oder Sie brauchen bessere Grafiktreiber, damit ein neues Spiel starten kann. Des Weiteren verändern Updates fürs Betriebssystem (Service Packs/Releases) sowie für Software den Anfangszustand von PCs. Kommt es zum Systemcrash, wird die Neuinstallation zur Sisyphusarbeit. Anwender finden oft die Treiber nicht wieder, vergessen Updates oder suchen diese vergebens im Datenarchiv. Besitzer eines CD-Brenners helfen sich, indem sie eine Notfall-CD brennen, auf der sie alle wichtigen Treiber, Updates und alles weitere Notwendige speichern. Auf dieser CD sollten Sie auch BIOS- Einstellungen, die Registry und weitere wichtige Informationen sichern. Perfektionisten können auf eine solche Notfall-CD zusätzlich Informationen über die verwendeten Festplatten wie Jumper-Einstellungen oder Ähnliches aufnehmen. Diese Informationen beziehen Sie aus dem Internet vom Hersteller der Festplatten. Nach solcher Vorarbeit sind Sie für den Ernstfall gerüstet.

Verfasser: Andreas
Letzte Änderung: 2012-09-18 20:20


Papierkorb fürs CD-Brennen optimieren

Wird die Festplatte mit der Zeitlangsamer, sorgt Defragmentieren für Ordnung auf der Platte. Der Papierkorb bleibt ein Sorgenkind.
Wenn Sie zum CD-Brennen eine eigene Datenpartition verwenden, solltenSie den Papierkorb von Windows optimieren.Standardmäßig verwaltet Windows den Papierkorb selbst und teilt ihm eine Größe von 10 Prozent der Partitionsgrößezu. Der Vorteil: Einmal gelöschte Daten können schnell wieder rekonstruiert werden.Diesen ganzen Verwaltungsaufwand können Sie sich sparen. Ein Papierkorb macht nur bei kleinen Dokumenten und Daten, nicht aber bei CD-Kopien,großen Image-Dateien etc. Sinn: Denn durch die vielen Löschvorgänge fragmentiert die Festplatte schneller, und die Festplatte wird langsamer. Deshalb sollten Sie bei den Quelllaufwerken, die zum CD-Brennen benötigt werden, die Größe des Papierkorbs auf 0 MByte setzen. Aktivieren Sie das Häckchen Dateien sofort löschen dann brauchen Sie den Schieberegler nicht zu verwenden.

Verfasser: Andreas
Letzte Änderung: 2012-09-18 20:21


Problematischer ATAPI-Treiber

Obwohl Ihr ATAPI-CD-ROM-Laufwerk den direkten Speicherzugriff unterstützt, läßt sich der DMA-Modus nirgends einstellen.
Sie verwenden ein ATAPI-CD-ROM-Laufwerk mit einen Busmaster-fähigen Controller und möchten den DMA-Modus (Direct Memory Access) aktivieren. Doch im Menüpunkt Eigenschaften Ihres Laufwerks fehlt das Kontrollfeld DMA.
Dieses Problem kann unter Windows 95 auftreten, wenn Sie den ATAPI-Treiber esdi_506.pdr von Microsoft verwenden. Erst ab der Version 4.00.951 (vom 12.6.95) unterstützt dieser Treiber den DMA-Modus für ATAPI-CD-Laufwerke. Darüber hinaus können Sie mit dieser oder späteren Versionen auch ATAPI-Bandlaufwerke einsetzen.
Unter http://support.microsoft.com/download/support/mslfiles/remideup.exe
finden Sie ein Update zum Download. Nach einem Doppelklick auf remideup.exe werden die beiden Dateien esdi_506.pdr (Version 4.00.1116) und voltrack.vxd (Version 4.00.954) in das Verzeichnis
c:\windows\system\iosubsys
kopiert. Damit steht Ihnen auch das DMA-Kontrollfeld zur Verfügung.
Die Datei voltrack.vxd brauchen Sie nur, wenn Sie noch nicht mit Windows 95 OSR2 oder höher arbeiten. Nach der Installation können Sie diese aus dem angegebenen Unterverzeichnis wieder löschen.

Verfasser: Andreas
Letzte Änderung: 2012-09-18 20:21


Probleme mit UDF

Der Plextor Plexwriter PX-R412 Ci hat teilweise mit Packet-CD seine Schwierigkeiten.
Beim aktuellen Plextor CD-Brenner vom Typ PX-R412 Ci kann es mit der Software Packet-CD zu Problemen beim inkrementellen Schreiben kommen. Wenn die Schwierigkeiten trotz beigelegtem Treiber auftreten, sollten Sie das Schreiben im UDF-Format mit Adaptecs Direct-CD versuchen. Die aktuelle Version 2.5a für Windows 95 erhalten Sie unter:
www.adaptec.com/support/files/Adcd.html#20x

Verfasser: Andreas
Letzte Änderung: 2012-09-18 20:22


SCSI-Brenner: Startprobleme

Der Adaptec-Controller erkennt den SCSI-Brenner CRW 4416S nicht. Folglich bootet das System nicht. Das können Sie dagegen tun.
Mit der Firmware 1.0f wird der Yamaha-CD-RW-Brenner nicht vom SCSI-Controller Adaptec AHA-2940-UW erkannt. Um das Problem zu lösen, stellen Sie im BIOS des Controllers die Einstellung Initiate Wide Negotation auf No. Speichern Sie Ihre Einstellungen, und verlassen Sie das BIOS. Nach dem Neustart wird der CRW 4416S am SCSI-Strang erkannt, und der Rechner fährt wie gewohnt hoch. Seit dem 22. April bietet Yamaha eine neue Firmware 1.0g an, mit der die Startschwierigkeiten beseitigt sind. Sie finden die Software unter:
http://cd-recording.yamaha.de/ service/doc/index.htm

Verfasser: Andreas
Letzte Änderung: 2012-09-18 20:23


Verschwundenes CD-ROM-Laufwerk

So stöbern Sie CD-ROM-Laufwerke auf, die Windows nicht mehr findet.
Hin und wieder kommt es vor, dass Windows ein CD-ROM-Laufwerk nicht mehr findet, das am zweiten IDEKanal angeschlossen ist. Um es wieder ansprechen zu können, müssen beide IDE-Kanäle aktiviert werden. Die entsprechende Einstellung findet sich im Gerätemanager. Klicken Sie dort den Eintrag Festplattenlaufwerk-Controller an, damit die einzelnen Geräte sichtbar werden. Aktivieren Sie den Haupt-Controller, also weder den primary noch den secondary, gelangen Sie ins Kontextmenü. Unter dem Reiter Einstellungen findet sich ein Auswahlfeld mit der Bezeichnung Dual-IDEKanaleinstellungen. Dort muss Beide IDE-Kanäle aktiviert ausgewählt werden. Nach einem Neustart findet Windows das verlorene Laufwerk wieder.

Verfasser: Andreas
Letzte Änderung: 2012-09-18 20:23


Video-CDs und IDE-CD-ROMs

Probleme beim Abspielen von Video-CDs auf einem IDE-CD-ROM-Laufwerk? Hier die Lösung. Installieren Sie die "alten" DOS-Treiber des Laufwerks. Deaktivieren Sie testweise den 32-Bit-Festplattenzugriff für die Festplatte, und betreiben Sie das Laufwerk als Master am zweiten EIDE-Kanal. Wenn Sie eine ältere Version von Windows 95 einsetzen, hilft ein Update der Datei "ios.vxd". Microsoft bietet auf dem FTP-Server ftp.microsoft.com das entsprechende Update an.

Verfasser: Andreas
Letzte Änderung: 2012-09-18 20:24


Wiederbelebungsversuche

Trotz einer Fehlermeldung beim Brennvorgang können Sie den Rohling vielleicht noch retten.
Wenn Sie die Fehlermeldung Schreibvorgang fehlgeschlagen erhalten, bedeutet das nicht unweigerlich, daß Sie den Rohling wegschmeißen müssen. Öffnen Sie die Schublade des Brenners, nehmen Sie den Rohling heraus, und legen Sie ihn wieder hinein. Danach schließen Sie die Sitzung. Verläuft dieser Vorgang erfolgreich, sollten Sie auf die bereits geschriebenen Daten zugreifen können. Auch den freien Speicherplatz können Sie noch nutzen. War das Schließen der Sitzung nicht erfolgreich, versuchen Sie, die ganze CD zu schließen (Close Disc). Dadurch ist es möglich, wenigstens auf die geschriebenen Informationen zurückzugreifen. Hilft keine der beiden Aktionen, können Sie den Rohling zumindest als Testmedium zum Labeling verwenden.

Verfasser: Andreas
Letzte Änderung: 2012-09-18 20:24


Zip contra CD-ROM

Nach der Installation besetzt das Zip-Laufwerk den Buchstaben des CD-ROM-Laufwerks. Mit einem Trick bekommt Ihr CD-ROM-Laufwerk seinen Buchstaben zurück.
Sie haben ein Zip-Laufwerk in Ihr System eingebunden, und nun ist Ihr CD-ROM-Laufwerk nicht mehr ansprechbar. Das läßt sich mit wenigen Handgriffen rückgängig machen. Gehen Sie über die Systemsteuerung in den Geräte-Manager, und aktivieren Sie das Icon des CD-ROM-Laufwerks mir einem Doppelklick. Klicken Sie auf den Menupunkt Einstellungen. Bei den reservierten Laufwerksbuchstaben geben Sie den gewünschten Laufwerksbuchstaben im Feld Erster Buchstabe und in Letzter Buchstabe ein. Bestätigen Sie mit OK, und starten Sie Ihr System neu. Beim nächsten Hochfahren wiederholen Sie die Prozedur für das Zip-Laufwerk. Nach einem weiteren Neustart erscheinen Ihre Laufwerksbuchstaben in der gewünschten Reihenfolge.

Verfasser: Andreas
Letzte Änderung: 2012-09-18 20:25


Zugriffsprobleme

Das können Sie tun, wenn bei einem neu installierten CD-ROM-Laufwerk der Zugriff verweigert wird.
Kennen Sie das? Das neue Laufwerk ist eingebaut, und Sie möchten sich mit Hilfe des Datei-Managers das Inhaltsverzeichnis einer CD-ROM anzeigen lassen. Doch wenn Sie jetzt gespeicherte Bilder mit Hilfe eines Bildbearbeitungsprogramms laden, erscheint ein Systemfenster mit der Meldung "Datei oder der Datenträger nicht gefunden".
Dieser Fehler kann bei einem PCI-Board mit AMI-BIOS auftreten, wenn im erweiterten Setup die IRQs auf PNP bzw. PCI gestellt sind - das gilt für CD-ROMs mit und ohne Controller-Karte. Die Ursache könnte ein IRQ-Konflikt sein: Als Standardkonfiguration ist bei den meisten CD-ROM-Laufwerken der IRQ 10 eingestellt. Da IRQ 10 und IRQ 11 im Setup den ersten PCI-Steckplätzen zugeordnet werden, sollte die Einstellung bei allen PCI-Slots auf "AUTO" stehen. Für den IRQ 10 empfiehlt sich die Einstellung "ISA".
Nach dieser Umstellung müßte das CD-ROM-Laufwerk wieder einwandfrei funktionieren. Lesen Sie zu diesem Problem auch Tip 2 der Ausgabe 7'96, Seite 122/123.

Verfasser: Andreas
Letzte Änderung: 2012-09-18 20:25


Zwei CD-Laufwerke unter DOS

Beim Versuch, zwei CD-ROMLaufwerke unter DOS zu betreiben, erscheint die Meldung MSCDEX wurde bereits gestartetund es ist nur ein Laufwerk ansprechbar.
Der MSCDEX-Treiber kann nur einmal gestartet werden, ist aber für beide CD-ROM-Laufwerke nötig. Daher müssen beide Laufwerke in einem Zug angemeldet werden. Das erfordert eine Anpassung der autoexec.bat und config. sys. In der config.sys müssen folgende Einträge stehen:
DEVICEHIGH=C:\Verzeichnis der SYS-Datei\Datei1.SYS /D:MSCD000/DMA
DEVICEHIGH=C:\Verzeichnis der SYS-Datei\Datei2.SYS /D:CDROM0
Als Namen (hinter /D:) können auch andere Bezeichnungen angegeben werden. Wichtig ist, dass diese in der autoexec.bat auch dem MSCDEX übergeben werden. In der autoexec.bat muss in diesem Beispiel stehen:
C:\MSCDEX /D:MSCD000 /D:CDROM0
Damit wird der Treiber nur einmal aufgerufen.

Verfasser: Andreas
Letzte Änderung: 2012-09-18 20:26


Bildqualität einer DVD Kopie ist nur mäßig

Problem: Sie möchten von einer nicht geschützten DVD eine Sicherheitskopie in möglichst hoher Bildqualität erstellen. Film-DVDs sind allerdings in Double-Layer-Technik beschrieben und fassen deshalb fast doppelt so viele Daten. Damit unter anderem höhere Bit-Raten für Bild und Ton möglich sind, müssten Sie das Filmmaterial auf zwei DVD-Rohlinge splitten.

Lösung: Das Tool Clone DVD 2 (30-Tage-Test-version auf     Heft-CD) bietet eine geeignete Schnittfunktion. Legen Sie dazu die DVD ein, und wählen Sie „DVD-Titel kopieren". Markieren Sie im nächsten Fenster den Titel mit der längsten Laufzeit - dabei handelt es sich um den Hauptfilm. Klicken Sie auf das Scherensymbol unter dem Vorschaufenster: Mit Hilfe der blauen Dreiecke wählen Sie nun die Kapitel für die erste DVD aus. Auf der rechten Seite machen Sie noch einen Haken bei „Menü überneh-
men". Der Balken „Qualität" zeigt Ihnen, welche Videoqualität Sie auf der geteilten DVD erwarten können.
Brennen Sie nun die DVD. Danach beenden Sie Clone DVD 2 nicht, sondern gehen über die „Zurück"-Tasten wieder zum Menü „Titelauswahl". Führen Sie einen Rechts
klick auf den gerade kopierten Titel aus, und wählen Sie aus dem Kontextmenü .Auswahl zum Splitten umkehren". Clone DVD 2 über nimmt jetzt die restlichen Kapitel für die
zweite DVD. Nicht wundern: Im Hauptmenü beider DVDs können Sie zwar jeweils alle Kapitel anwählen, abspielen lassen sich aber nur die, die auf der DVD
sind.

Quelle: PC Welt 8/2004

Verfasser: Andreas
Letzte Änderung: 2012-11-29 18:26


Digitale TV Aufnahmen auf DVD brennen

Digitales Fernsehen bietet nicht nur mehr Kanäle, sondern auch bessere Bild- und Tonqualität als der analoge Empfang. Was liegt näher, als digitale TV-Aufnahmen auf DVD zu archivieren?
Wer digitales Fernsehen am PC aufzeichnet, kommt um einige Bearbeitungsschritte nicht herum. Obwohl Digitalfernsehen und DVD beide MPEG 2 nutzen, gibt es Unterschiede:
Meist arbeiten die Fernsehsender mit anderen MPEG-2-Paketgrößen als eine Video-DVD. Auch kommt es durch Übertragungsfehler zu versetzter Bild- und Tonwiedergabe bei der TV-Aufnahme. Wir zeigen Ihnen, wie Sie Qualitätsprobleme beheben und mit Freeware zu einer Player-kompatiblen DVD kommen.

Schritt 1: Das Fernsehmaterial liegt je nach Aufnahme-Software als MPG-, PVA- oder TS-Datei vor. Mit der englischsprachigen Freeware PVA Strumento extrahieren Sie daraus jeweils eine Videodatei (Endung MPV) und eine Audiodatei (Endung MPA). Laden Sie Ihre Aufnahme per "input stream", und wählen Sie „demux". Unter „basename" geben Sie einen Dateinamen an - PVAStrumento hängt automatisch die Endung MPV für den Video- und MPA für den Audioteil an. Das Tool korrigiert auch den Versatz zwischen Bild und Ton.

Schritt 2: Um etwa Werbung aus der TV-Aufnahme zu entfernen, bietet sich die Freeware MPEG2Schnitt an. Unter „Datei, Video/Audio öffnen" wählen Sie die vorher erstellte MPV-Datei. MPEG2Schnitt lädt dazu automatisch die passende Audiodatei. Bewegen Sie den Schieberegler unter dem Vorschaufenster auf den Anfang des Films. Mit den Buttons „<IN" und „>IN" nehmen Sie die Feinabstimmung vor, so dass Sie unter dem Vorschaufenster „Bildtyp: I" sehen. Setzen Sie den Schnittpunkt mit dem Button „In" unten rechts. Mit dem Schieberegler bewegen Sie das Video jetzt bis kurz vor den Werbeblock - die Feinjustierung erfolgt mit den Buttons „<OUT" und „>OUT", unter „Bildtyp" muss entweder „I" oder „P" stehen.

Den Schnittpunkt bestätigen Sie mit „Out" und anschließend mit „Neu". MPEG2Schnitt lädt nun den Filmteil bis zur Werbung in die Schnittliste. Wenn Sie bei allen Werbeblöcken Marken gesetzt haben, starten Sie den eigentlichen Schnitt mit der Taste „schneiden".

Schritt 3: Mit Ifoedit (siehe: Fernseher gibt 16:9 Videomaterial nur gestaucht wieder) erstellen Sie die für eine DVD notwendigen IFO- und VOB-Dateien. Ändern Sie zunächst die Endung der in Schritt 2 erstellten Videodatei von MPV in M2V. Öffnen Sie in Ifoedit über „DVD Author, Author "new DVD" unter „Video" beziehungsweise „Audio" die Dateien, und geben Sie unter „Output Stream, Destination" ein Zielverzeichnis an. Mit einem Klick auf „OK" startet Ifoedit den Vorgang

Schritt 4: Brennen Sie die von Ifoedit erstellten IFO-, BUP- und VOB-Dateien wie gewohnt als Video-DVD.


Quelle: PC Welt 8/2004, Seite 78

Verfasser: Andreas
Letzte Änderung: 2012-11-29 18:27


DVD Player liest keine DVD Medien ein

Problem: Da Sie am PC aufgezeichnete Filme nur einmal ansehen wollen, arbeiten Sie mit DVD+RWs. Doch mit denen kommt Ihr Player nicht zurecht.

Lösung: Jede DVD enthält ein Lead-in. Hier stehen unter anderem Informationen zu den gespeicherten Daten und zum Medientyp (Book Type) - etwa dazu, ob es sich um eine DVD-ROM oder DVD+RW handelt. Diesen Bereich lesen DVD-Player aus und
erfahren so, ob sie für diesen Rohling spezifiziert sind. Manche DVD-Brenner lassen sich per Brennprogramm oder Spezial-Soft-ware dazu bringen, dass sie als Book Type einer DVD+RW „DVD-ROM" hinterlegen. Da jeder DVD-Player dieses Format beherrscht, spielt Ihr Player unter Umständen die DVD+RW ab.
Bei Ricoh-Brennern und baugleichen Modellen beispielsweise aktivieren Sie den Book Type „DVD-ROM" per Brenn-Software: Creator ab Version 7 erledigt das bei Video-DVDs automatisch für Sie. Bei Nero (Burning ROM) ab Version 5.5 und einem entsprechenden Brenner finden Sie die Option „Book Type DVD-ROM" im Brenndialog. Und in Win on CD ab Version 6.0 müssen Sie im Schreibeinstellungs-Fenster die entsprechende Checkbox aktivieren. Nero Vision Express 2 setzt den Book Type bei entsprechenden Brennern automatisch auf DVD-ROM.
Bei einigen anderen Brennern können Sie sich mit Spezial-Software behelfen: Auf der Website

www.dvdplusrw.org/Artcle.asp?mid=14& sid=18&aid=77

finden Sie die Book-Type-Software für einige Modelle aufgelistet.

Verfahren Sie dann wie folgt: Installieren und starten Sie die gewöhnlich englischsprachige Book-TypeSoftware. Suchen Sie bei den Optionen nach dem Eintrag „Book Type" oder „New Settings". Bei dem Tool DVD Bitsetter etwa aktivieren Sie im Startbildschirm „DVD-ROM Spezification",
DVD Info Pro führt die Option im Icon,,+RW" unter „Choose a book type". Lässt es das Programm zu, sollten Sie den Book-Type-Modus nicht in der Firmware fixieren, sondern für jede Aktion neu wählen. Denn Firmware kann nur rund 100 Mal neu geschrieben werden.

Quelle: PC Welt 8/2004, Seite 68

Verfasser: Andreas
Letzte Änderung: 2012-11-29 18:27


DVD-Player liest keine DVD+RWs mit wenigen Daten

Problem: Sie haben rund 300 MB Filmmaterial auf eine DVD+RW gebrannt, die Sie im DVD-Player abspielen wollen. Doch der Player reagiert nur mit der Fehlermeldung „Disc Error". Auch bei anderen Rohlingsmarken mag er die Daten nicht lesen.

Lösung: Um die Daten korrekt zu lesen, muss jedes DVD-Laufwerk seinen Laser richtig fokussieren. Dazu greift es auf einige Bereiche der DVD zu, um anhand ihrer Beschaffenheit den Laser einzustellen. Enthält eine DVD+RW weniger als l GB, schlägt diese Kalibrierung eventuell fehl, weil sich der Laser an den unbeschriebenen Bereichen des Mediums ausrichtet.
Wenn Sie mit Nero arbeiten, lässt sich das Problem mit dem DVD-Hochkompati-bilitätsmodus beheben, den Nero seit Version 5.5.8.0 unterstützt. Sie finden die Option unter „Rekorder, Rekorderauswahl, Optionen". Das Brennprogramm füllt dann den Abschnitt der DVD zwischen den geschriebenen Daten und l GB mit Nullen auf, damit der Laser eine ausreichend beschriebene DVD+RW vorfindet.

Quelle: PC Welt 8/2004, Seite 70

Verfasser: Andreas
Letzte Änderung: 2012-11-29 18:28


DVD und ALi-Chipsatz

Boards mit ALi-Chipsatz erkennen unter Windows 95/98 kein DVD-Laufwerk.
Nach dem Aktivieren der DMA-Unterstützung für ein DVD-Laufwerk auf einem Mainboard mit ALi-Chipsatz, etwa auf einem Asus P5A/P5A-B, wird das Laufwerk unter Windows 95/98 nicht mehr erkannt. Ursache hierfür ist ein veralteter Busmaster-Treiber. Um das Problem zu lösen, benötigen Sie den neuen Busmaster-Treiber v3.40 für den ALi M1541. Sie erhalten Ihn unter
www.ali.com.tw/eframes.htm
Bevor Sie den neuen Treiber jedoch aufspielen, müssen Sie den alten deinstallieren. Dazu rufen Sie das Busmaster-Installationsprogramm auf und aktivieren die Option Deinstallieren. HAL

Verfasser: Andreas
Letzte Änderung: 2012-11-29 18:29


Nero 6.3.1.15 DVDs überbrennen

Seit Version 6.3.1.15 kann Nero DVDs überbrennen. Aktivieren Sie die Funktion über „Datei, Einstellungen, Experteneinstellungen", indem Sie Häkchen vor die Klickboxen „Disc-at-Once-Überbrennen" und „Aktivieren des Überbrennens für DVDs" setzen. Dann müssen Sie noch auf der Registerkarte „Allgemein" die „Überprüfung des Medientyps vor dem Brennen" deaktivieren. Achten Sie beim Brennen darauf, dass „Disc-at-Once" und „Kein Multisession" aktiviert sind. Um wie viel sich eine bestimmte DVD überbrennen lässt, muss man ausprobieren.

Quelle: PC-Welt 10/2004, Seite 247

Verfasser: Andreas
Letzte Änderung: 2012-11-29 18:29


Erste Schritte beim Einbau eines DVD-Brenners

Problem: Sie haben einen internen DVD-Brenner erworben und wollen das Gerät nun einbauen. Worauf müssen Sie achten?

Lösung: Wenn es sich um ein besonders preisgünstiges Gerät handelt, haben Sie vielleicht eine Bulk-Version gekauft - Ihnen fehlen also noch Kabel und Software.
Per IDE-Kabel verbinden Sie den Brenner mit dem IDE-Anschluss auf der Hauptplati-ne. Am besten richten Sie den Brenner dabei als Master ein. Setzen Sie dazu die Jumper an der Anschlussleiste des Brenners -die nötigen Infos finden Sie im Handbuch
oder auf einem Aufkleber auf dem Brenner. Schließen Sie das Gerät an den zweiten IDE-Kanal (Secondary IDE) an. Dazu reicht ein 40-adriges IDE-Standardkabel, da DVD-Brenner maximal das Ultra-DMA-SS-Protokoll unterstützen. Wenn an beiden IDE-Anschlüssen bereits Festplatten als Master arbeiten, müssen Sie den Brenner als Slave anschließen.
Weitere Tipps zum Brennereinbau erhalten Sie im Artikel „DVD-Brenner problemlos installieren" in der PC-WELT 11/2003, ab Seite 268.
Um DVDs brennen zu können, benötigen Sie zudem ein Brennprogramm wie Nero 6 von Ahead oder Creator 7 von Roxio. Wenn Ihr PC unter
Windows XP läuft, stehen Ihnen bereits rudimentäre Funktionen zum Beschreiben von CDs zur Verfügung.

Quelle: PC Welt 8/2004, Seite 67

Verfasser: Andreas
Letzte Änderung: 2012-11-29 18:30


Im DVD-Recorder erstellte DVD+R lässt sich nicht kopieren

Problem: Freunde haben für Sie eine TV-Serie mit einem DVD-Recorder auf einem +R-Rohling aufgenommen. Sie wollen sich die Folgen nun am PC anschauen. Doch Player-Software und Windows-Explorer behaupten, dass auf der DVD+R keine Daten sind.

Lösung: Die DVD+R muss wohl erst noch im Ursprungs-DVD-Recorder finalisiert werden (Handbuch!), sonst liest sie nur der DVD-Recorder. Beim Tevion DRW 1000 etwa, den Aldi Ende 2003 verkaufte, gehen Sie dazu per Setup ins Menü „Disk bearbeiten". Dort finden Sie den Menüpunkt „Disk finalisieren". Beim Finalisieren schreibt der
Recorder die Inhaltsstruktur der DVD, die TOC (Table of Content), auf das Medium. Dadurch finden sich andere Abspielprogramme auf der DVD zurecht und können
die gebrannten Daten wiedergeben. DVD+RW-Medien müssen Sie übrigens nicht extra finalisieren.

Quelle: PC Welt 8/2004,Seite 77 f.

Verfasser: Andreas
Letzte Änderung: 2012-11-29 18:30


Klarsicht

Beim Abspielen von DVDs zeigen sich immer wieder störende Linien oder auch Framedrops. Die Ursache findet sich im Hardware-MPEG-Decoder.
Wenn sich DVDs nur fehlerhaft abspielen lassen, kann die Decoder-Karte ursächlich sein. Sie sollte einen eigenen Interrupt (IRQ) zugewiesen bekommen. Dies überprüfen Sie mit einem Doppelklick auf den Computer im Geräte-Manager der Systemsteuerung. Dort darf die Decoderkarte den IRQ nur mit dem IRQ Holder für PCISteuerung teilen. Den IRQ ändern Sie Sie entweder im BIOS oder durch Versetzen der Karte in einen anderen PCISlot. Liegt es nicht an der IRQ-Vergabe, kann es sich um einen Konflikt der Speicherzuordnung handeln. Im Ressourcen-Karteireiter der Decoderkarte (Geräte-Manager der Systemsteuerung) deaktivieren Sie die automatische Zu-ordnung. Als Adresse für den Speicherraum hat sich bei Karten vom Typ Real Magic Hollywood (auch bei Dxr2 und Dxr3 von Creative) D1000000-D10fffff bewährt.

Verfasser: Andreas
Letzte Änderung: 2012-11-29 18:31


Ländercode ändern

Der Ländercode für DVD-Laufwerke läßt sich nur einige Male ändern. Für das Creative Labs Dxr2 gibt es jetzt eine dauerhafte Lösung.
DVD-Filme sind mit einem Ländercode ausgestattet - Amerika hat die Kennung 1, Europa die 2. Beim Einlegen der DVD erkennt das Laufwerk den Ländercode und nimmt denselben Wert an. Jedoch ist es dem Kunden nur fünfmal gestattet, den Ländercode umzustellen, und weitere fünfmal, wenn er es beim jeweiligen Support beantragt. Somit soll es unmöglich sein, die neusten Hits aus Hollywood vor dem deutschen Kinostart anzuschauen. Nur, was machen Sie, wenn Sie nach zehnmaligem Umstellen den Ländercode ändern möchten?
Noch halten sich die meisten Firmen bedeckt. Bislang existiert nur eine Applikation für das DVD-Kit von Creative Labs. Damit ist es möglich, DVDs mit verschiedenen Ländercodes abzuspielen - sooft Sie wollen.
Das Codefree-Programm finden Sie im Internet unter:
www.codefree.com/
nh



Der Ländercode der DVD-Laufwerke läßt sich nicht beliebig oft ändern. Für viele Laufwerke gibt es dennoch dauerhafte Lösungen.
Die Filmindustrie teilt die Welt in verschiedene DVD-Regionen auf. Filme mit der Kennung 2 können nur auf DVD-Laufwerken mit Region-Code 2 abgespielt werden. Für das DVD-Laufwerk Creative Labs Encore Dxr2 (2x und 5x) gibt es jedoch den bekannten Patch Remote Sector, mit dem Sie den Region-Code beliebig oft ändern können. Somit lassen sich auch DVD-Videos aus Amerika (Region 1) auf einem Region-Code-2-Laufwerk anschauen. Das Programm erhalten Sie unter
www.visualdomain.net
Für DVD-Kits, die mit der MPEG-2-Decoder-Karte von Hollywood Plus oder VideoLogic gebundlet werden, existiert der Zone Selector:
www.multimania.com/hollywood plus/uk.htm.
Wenn Sie wissen wollen, welche DVD-Laufwerke oder Player sich mit einem Patch freischalten lassen, finden Sie Informationen auf der Homepage
http://www2.datatestlab.com/ regionhacks/
NH

Verfasser: Andreas
Letzte Änderung: 2012-11-29 18:34


Lite-On

Falls Ihr DVD-Player oder -ROM-Laufwerk Ihre selbst gebrannten DVD+R(W)s nicht abspielt, schafft eine neue Firmware für Lite-On-Brenner

Abhilfe: Sie ändert beim Brennen die Medienkennung von „+R(W)" auf „ROM". Entsprechende Firmware-Updates gibt's für die DVD-Brenner LDW-401S (Versionsnummer DR4ESoK). LDW-411S/SX(DR4FSoJ), LDW-451S (DR4GSB7), LDW-811S (DR4FSol) und SOHW-812S/SX (DR8USoJ) von Lite-On (Download unter www.liteonit.com, 718 bis 738 KB).

Quelle: PC-Welt 8/2004, Seite 222

Verfasser: Andreas
Letzte Änderung: 2012-11-29 18:32


Raumklang mit zwei Lautsprechern

Sie wollen bei der Wiedergabe von DVDs in den Genuss von Raumklang kommen, aber Ihre beiden Lautsprecher nicht durch ein 4.1- oder 5.1-Lautsprechersystem ersetzen.
Die Audioquellen auf der DVD sind meistens in Dolby Digital oder Dolby Pro Logic Format gespeichert. Doch damit bei der Wiedergabe die Klangeffekte richtig wirken, sind mindestens vier Lautsprecher, die räumlich um den Hörer angeordnet sind, und ein Subwoofer erforderlich. Doch es funktioniert auch mit zwei Lautsprechern. Diese sollten dann links und rechts von Ihrer Hörposition in gleicher Entfernung und gleicher Höhe aufgestellt sein. Wenn Sie jetzt mit einem Software-DVD-Player eine DVD abspielen, stellen Sie das Audio-Ausgabeformat auf Dolby Headphones. Dadurch werden die wiedergegebenen Klänge durch bestimmte Algorithmen so verändert, dass der Klang an Tiefe gewinnt und sich räumlich abbildet. Diese Wiedergabequalität reicht zwar nicht an die eines Mehrlautsprechersystems heran, bildet aber räumliche Details wesentlich besser ab als die Stereowiedergabe.

Verfasser: Andreas
Letzte Änderung: 2012-11-29 18:35


RPC-Level anpassen

Manche Besitzer älterer DVD-Laufwerke erhalten von diversen Diagnoseprogrammen die Meldung, dass ihr Drive den RPC-Level 1 nicht unterstützt, obwohl das Handbuch des Laufwerks dies garantiert.
Seit Januar dürfen nur noch DVD-Laufwerke mit RPC-Level 2 verkauft werden. In dieser Sicherheitsstufe befindet sich die Prüfeinrichtung für den Ländercode direkt im Laufwerk. Auch Käufer eines älteren Laufwerks könnten mit RPC-Level 2 überrascht werden. Die Ursache findet sich bei manchen Herstellern auf der Rückseite des DVD-Laufwerks. Bei älteren Geräten von Pioneer und AOpen sitzt neben den Master-/Slave- oder SCSI-ID-Jumperstiften eine Brücke namens RPC, die den RPC-Level festlegt. Fehlt der Jumper, ist das Laufwerk auf RPC-Level 2 gesetzt. Die Ländercode-Abfrage läuft dann direkt im Laufwerk ab. Der Ländercode kann nur fünfmal umgestellt werden und ist dann fix. Sitzt auf der Steckbrücke ein Jumper, ist Level 1 gewählt: Die DVD-Software überprüft den Ländercode. In diesem Fall ist der Ländercode manipulierbar. Mit der Software DVD-Genie können Sie den Region-Code zum Beispiel frei wählen. Auf der Website
www.inmatrix.com/files/dvdgenie_download.html
finden Sie das Download-File für DVD-Genie.

Verfasser: Andreas
Letzte Änderung: 2012-11-29 18:35


Unterschiedliche Funktionen beim gleichen Brennermodell

Problem: Ein Bekannter besitzt den gleichen Brenner wie Sie. Doch sein Brenner schreibt schneller und beherrscht mehr DVD-Formate als Ihrer.

Lösung: Wahrscheinlich besitzt der schnellere Brenner eine aktuellere Firmware. Wenn Sie ein Update vornehmen wollen, ist es wichtig zu wissen, aus welcher Quelle die neue Firmware stammt: vom Hersteller des Brenners oder von einem unabhängigen Anbieter.
Updates, die Sie auf der Website des Laufwerksherstellers finden, lohnen in jedem Fall. Denn bisweilen sind Brenner bereits auf mehr Formate oder für eine höhere Leistung ausgelegt. Nur gibt die Firmware diese Fähigkeiten noch nicht frei, weil es etwa zur Markteinführung des Brenners noch keine geeigneten Rohlinge gab.
Firmware von unabhängigen Sites wurde meist ohne den Segen des Laufwerksherstellers modifiziert. Diese Versionen sollen meist für mehr Brenntempo sorgen. Das Update kann funktionieren, muss aber nicht. Schlimmstenfalls beschädigt es den Brenner.

Quelle: PC Welt 8/2004, Seite 70

Verfasser: Andreas
Letzte Änderung: 2012-11-29 18:36


Aufnahmeprogramm schneidet Film nur ohne Ton mit

Problem: Um Ihre analogen Filme auf die PC-Festplatte zu kopieren, haben Sie eine Aufnahme-Software, beispielsweise die verbreitete Freeware Virtual Dub, installiert. Virtual Dub findet das Aufnahmegerät - also die TV- oder Grafikkarte beziehungsweise die externe USB-Box - nicht, obwohl es laut Geräte-Manager betriebsbereit ist. Oder es nimmt die Filme nur ohne Ton beziehungsweise in geringer Auflösung auf.

Lösung: Virtual Dub kommt mit vielen aktuellen Aufnahmegeräten nicht zurecht, da es noch mit dem veralteten VfW-Treibermodell (Video for Windows) arbeitet, während Hardware-Treiber mittlerweile auf Microsofts WDM-Standard (Windows Driver Model) basieren. Das Kompatibilitätsproblem lässt sich aber lösen, wenn Ihre TV-Karte mit dem Tuner-Baustein BT 848, BT 878 oder BT 879 arbeitet - sehen Sie im Handbuch nach.
Ersetzen Sie in diesem Fall den mitgelieferten Treiber durch den Universal-WDM-Video-Capture-Treiber - mit dem kommt Virtual Dub in der Regel gut zurecht. Vor allem für ältere Aufnahmegeräte bieten Hardware-Hersteller oft auf ihren Websites noch VfW-Treiber.
Bleibt die Suche nach einem Virtual-Dub-tauglichen Treiber erfolglos, haben Sie zwei weitere Möglichkeiten: Versuchen Sie es mit der Installation von DirectX. Ab Version 8 enthält Direct X einen „Wrapper", der den Treiber in eine kompatible Hülle packt und so als Vermittler zwischen der Hardware und VirtualDub agiert. Jedoch lassen sich die Filme nur in begrenzter Auflösung aufnehmen.

Alternative: Verwenden Sie eine andere Software. Programme wie Uleads Filmbrennerei 2 (siehe: SVCDs lassen sich nicht auf DVD brennen) und Filme auf CD & DVD 3.5 von Magix bekommen Sie bereits für rund 40 Euro.


Quelle: PC Welt 8/2004, Seite 81

Verfasser: Andreas
Letzte Änderung: 2012-11-29 18:38


Brenn-Software kann nicht auf DVD-oder CD-Brenner zugreifen

Problem: Ihr neuer Brenner taucht zwar im Windows-Explorer als Laufwerk auf. Doch das Brennprogramm, das Sie bisher nutzten, findet ihn nicht.

Lösung: Dafür kann es zwei Gründe geben. Entweder kennt Ihre Software diesen aktuellen Brenner noch nicht - oder bei Ihrem bisher genutzten Programm handelt es sich um eine spezielle Version, die Sie mit Ihrem letzten Brenner bekommen haben. Solche Tools sind oft eingeschränkt und laufen nur mit dem Gerät, für das sie vorgesehen sind. Meist sind sie auf der CD oder im Hilfe-Menü als Bündle oder OEM-Version gekennzeichnet, oder der Name wurde um den Namen des Brennerherstellers ergänzt. Wenn Sie nichts finden, erkundigen Sie sich beim Hersteller Ihres alten Brenners, ob die Software eingeschränkt ist. Abhilfe schafft in diesem Fall eine Vollversion. Das Upgrade von einer Nero-OEM- auf eine Vollversion kostet rund 35 Euro.
Falls Sie dagegen mit einer älteren Vollversion gearbeitet haben, sollten Sie das neueste Update installieren. Die Software Hersteller erweitern nämlich die Brenner-Unterstützung ihrer Programme laufend. Details dazu und Tricks, wie Sie auch ohne ein Update zurechtkommen, haben wir im
Artikel „Treibertipps" in der PC-WELT 7/2004, Seite 101, behandelt.

Verfasser: Andreas
Letzte Änderung: 2012-11-29 18:38


CDs analog kopieren: Legale Kopien für Auto- und mobile CD-Player

Problem: Sie wollen von Ihrer aktuellen Lieblings-CD eine Kopie erstellen, damit Sie sie auch im Auto und auf Ihrem tragbaren CD-Playcr genießen können. Doch der Tonträger lässt sich nicht im PC-Laufwerk abspielen.

Lösung: Die CD enthält einen Kopierschutz, der das Abspielen in einem PC-üiufwerk verhindert. Das ist zum Bespiel bei CDs der Fall, die mit dem Kopierschutz Key2audio von Sony geschützt sind - erkennbar an der Aufschrift „will not play on pc/mac" auf der Hülle. Einen Kopierschut/. dürfen Sie laut Urheberrechtsgesetz 95a nicht unigehen. Nach Meinung vieler Juristen ist aber eine analoge Kopie der CD für den privaten Gebrauch zulässig. Dazu müssen Sie ein Abspielgerät, auf dem sich die kopiergeschützte CD abspielen lässt, zum Beispiel Ihren Hi-Fi-CD-Player, an den PC anschließen. Über den Audio-Eingang der Sound-karte nehmen Sie die CD auf.

Schritt 1: CD-Player anschließen.
Verbinden Sie den Audio-Ausgang des CD-Players oder des daran angeschlossenen Verstärkers - meist mit Line-out oder Tape-out bezeichnet -mit dem Audio-Eingang Ihrer Soundkarte. Diese Buchse ist bei den meisten Karten blau. In vielen Fällen besitzt der CD-Player Ausgänge für einen Cinch-Stecker und die Soundkarte einen Eingang im Mini-Klinken-Format. Das Kabel mit den passenden Steckern auf beiden Seiten liegt Ihrer Soundkarte bei, oder Sie bekommen es für rund 5 Euro im Fachhandel.
Bessere Qualität bietet der Anschluss über digitale Aus- und Eingänge. Viele aktuelle CD-Player und Soundkarten können damit aufwarten - entweder in optischer oder in koaxialer Ausführung, manchmal sogar mit beiden. Beim Verkabeln sollten übrigens CD-Player und PC ausgeschaltet sein.

Schritt 2: Aufnahme vorbereiten.
Sie benötigen eine Aufnahme-Software, die das Signal am Audio-Eingang der Soundkarte abgreift und als WAV-Datei auf der Festplatte speichert. Wir zeigen das Vorgehen am Beispiel der Shareware Feurio 1.67. Es gibt aber vielfältige Alternativen, etwa das in Nero 6 enthaltene Nero Soundtrax oder die Shareware Total Recorder (alle unter www.pcwelt.de).
Wenn Sie einen tragbaren MP3-Player mit Audio-Eingang besitzen, können Sie auch direkt auf dieses Gerät aufnehmen. Für viele MP3-Player mit Festplatte trifft das zu, allerdings wandeln diese Geräte die Aufnahme meist sofort ins MP3-Format um. Im WAV-Format nimmt beispielsweise der I-River IHP-120 für rund 350 Euro auf (www.iriver.de).
Starten Sie den Feurio CD-Manager, und geben Sie in „Projekt, Neues Projekt anlegen" Interpret und Titel der CD ein. Gehen Sie über „Projekt-Inhalt, Auclio-Daten aufnehmen" zum Aufnahmemenü.
Als Aufnahmequelle wählen Sie die Soundkarte aus, an deren Eingang der CD-Player angeschlossen ist. Im Menü darunter können Sie entscheiden, ob Sie die Aufnahme über den Standard-Mixer von Windows, den Sie über das Lautsprecher-Symbol im Systray erreichen, oder über Feurio steuern wollen. Bei Feurio müssen Sie als Eingang „Line-In" aktivieren. Beim Windows-Mixer gehen Sie auf „Optionen" und wählen „Lautstärke regeln für Aufnahme". Im Fenster darunter muss „Line-In" markiert sein.
Mit dem Lautstärkeregler passen Sie den Pegel der Aufnahme an - er sollte im grünen Bereich bleiben, sonst wird die Auf1 nähme verzerrt.

Schritt 3: CD aufnehmen.
Starten Sie nun den CD-Player sowie die Aufnahme bei Feurio über „Aufnahme starten". Sie können die CD - sofern ausreichend Platz auf der Festplatte vorhanden ist - in einem Rutsch aufnehmen. Um für jedes Lied eine eigene WAV-Datei zu erhalten, klicken Sie vor jedem neuen Song auf „Track splitten". Dabei können Sie wählen, ob Feurio eine Pause zwischen den Tracks einfügen soll -„Tracks splitten (nicht gelinkt)" oder nicht („gelinkt"). Letzteres ist vor allem für Live-Aufnahmen zu empfehlen, bei denen die einzelnen Songs ohne Pause ineinander übergehen.
Nachdem Sie alle Songs aufgenommen haben, klicken Sie auf „Aufnahme beenden" und speichern die Datei. Nun öffnet sich das Fenster des TrackT-ditors. Hier können Sie die Aufnahme noch bearbeiten-zum Beispiel lässt sie sich über „Aktion" auch nachträglich in einzelne Songs aufteilen.

Übrigens: Das Verfahren für eine analoge Kopie, das wir etwa anhand des Tools Waverecorder in der PC-WELT 9/2003 auf Seite 18 beschrieben haben, funktioniert nicht, wenn das PC-Laufwerk wie in diesem Fall die Musik-CD nicht erkennt.
Allerdings können Sie auf diese Weise Musikdateien aufnehmen, die bereits auf der Festplatte liegen - zum Beispiel per DRM (Digital Rights Management) geschützte Musikdateien aus einem Online Shop, etwa die M4P-Dateien von Apples I-Tunes Musicstore (>Beitrag auf Seite
99). Die Musikstücke liegen nach der analogen Aufnahme mit Waverecorder als Standard-WAV-Dateien vor und lassen sich somit beliebig weiterverarbeitcn, etwa als Musik-CD brennen oder in MP3-Dateien umwandeln.

Quelle: PC-Welt 10/2004, Seite 126

Verfasser: Andreas
Letzte Änderung: 2012-11-29 18:39


Digicam-Fotos brennen: Effektvolle Foto-Shows auf CD oder DVD

Problem: Sie haben mit Ihrer Digitalkamera jede Menge Fotos geschossen, die Sie Freunden /.eigen wollen. Das Ausdrucken ist Ihnen aber zu teuer, das Bestellen von Abzügen zu umständlich.

Lösung: Brennen Sie die Fotos auf eine CD oder DVD. die sich per DVD-Player am Fernseher oder über das Laufwerk am PC abspielen lässt. So können Sie die Fotos als Diashow präsentieren oder Ihren Freunden mitgeben.

Am einfachsten brennen Sie die Bilder als Daten-CD oder -DVD. Allerdings kommt es auf den DVD-Player an, ob er dieses Medium abspielt, da die Bilder dann als einfache JPEC-Dateien vorliegen. Ob Ihr Player damit zurechtkommt, erfahren Sie unter www.videohelp.com/dvdplayers. Markieren Sie als Suchoption „JPG Images".
Eine interessantere Diashow, die mit Musik, Text und Effekten unterlegt ist, erstellen Sie beispielsweise mit speziellen Programmen wie Fotos auf CD & DVD 3.5 von Magix, Pinnacles Instant Photo Album, dem in Nero 6 von Aheacl enthaltenen Vision Express 2 (alle unter www.pcwelt.de) oder Davideo 4 für Fotos von G-Data. Diese Programme encodieren die Bilder als MPEG-Datenstrom, wie er auch auf (S)VCDs und Video-DVDs zu finden ist. Damit sollten die meisten DVD-Player zurecht kommen.
Wir erläutern die wichtigsten Schritte für eine perfekte Diashow am Beispiel von Magix Fotos auf CD & DVD 3.5 und Pin-nacle Instant Photo Album.

Schritt 1: Fotos für die Diashow auswählen.
Erstellen Sie ein neues Projekt („Datei, Neues Projekt"). Importieren Sie dann die gewünschten Fotos in die Diashow - entweder von Festplatte oder direkt von der Kamera. Sie können auch Fotoabzüge ein-scannen und in die Diashow übernehmen. Neben Fotos und Videosequenzen lassen sich auch Musikdateien hinzufügen: Sie dürfen als WAV- oder MP3-Datei vorliegen, bei Fotos auf CD & DVD 3.5 auch im Ogg-Vorbis-Format. Dabei können Sie per Menüoption die Länge der Diashow an die Länge des Musikstücks anpassen oder umgekehrt. Fotos auf CD & DVD 3.5 erlaubt per „Audio-Aufnahme" auch, per Mikrofon und Soundkarte einen gesprochenen Kommentar zur Diashow oder einem bestimmten Bild aufzunehmen.

Schritt 2: Fotos bearbeiten.
Per Drag & Drop bringen Sie die Bilder in die richtige Reihenfolge. Bei Instant Photo Album stellen Sie unter „Dauer" ein, wie lange ein Bild gezeigt wird oder ob Sie die Bilder selbst weiterschalten - beispielweise mit der Fernbedienung des Fernsehers.
Die Programme bieten auch Funktionen zum nachträglichen Bearbeiten der Fotos - zum Beispiel, um die Helligkeit zu verändern oder den Rote-Augen-Effekt zu mindern. Bei Bildmotiven mit horizontalen oder vertikalen Strukturen oder Bildern mit hohen Kontrasten neigt die TV-Darstellung zum Flimmern, da die meisten Fernseher im Halbbildverfahren mit einer Wiederholfrequenz von 50 Hz arbeiten: Mit Filtern lässt sich das Flimmern reduzieren. Die entsprechenden Optionen finden Sie bei Instant Photo Album unter „Foto & Video, Editieren, Filter, Kantenglättung für TV-Ausgabe" und bei Fotos auf CD & DVD 3.5 im Menü „Bearbeiten, Foto Cleaning, TV Bild, Anti-Flimmer-Filter". Reicht das für Ihre Bilder nicht aus, müssen Sie die Fotos in einer Bildbearbeitung weichzeichnen.

Schritt3: Darstellung anpassen.
Oft beschneidet der Fernseher bei der Fotodarstellung die Bilder seitlich. Um das zu vermeiden, brennen Sie bei Fotos auf CD & DVD 3.5 die Testdateien auf CD, die im Ordner „Meine Projekte, .Sichtbares TV Bild" liegen. Spielen Sie diese CD mit dem DVD-Player an Ihrem Fernseher ab, und notieren Sie, bei welcher Prozentzahl der Fernseher die Seiten des Testbildes abschneidet. Diese Werte tragen Sie anschließend.unter „Aufgaben, Optimieren, Darstellung für TV optimieren, Master-Effekte für Fotoshow" ein, um sie auf Ihre Bilder anzuwenden.

Schritt 4: Effekte hinzufügen.
Mit „Überblendung" oder „Effekte" bestimmen Sie, wie die einzelnen Bilder aufeinander folgen. Legen Sie hier aber nur sparsam Hand an -ähnlich wie bei der Videobearbeitung wirken zu viele Effekte ermüdend.
Jedes Bild lässt sich außerdem um einige Zeilen Text ergänzen - bei Instant Photo Album geht das über „Foto & Video, Erweiterte Photobearbeitung", bei Fotos auf CD & DVD 3.5 über das Menü „Text". Wo und wie der Text im Bild auftaucht, können Sie dabei frei festlegen.

Schritt 5: Fotoshow brennen. Prüfen Sie die fertig gestellte Diashow per Vorschaufunktion, bevor Sie sie brennen. Wählen Sie dann das Medium: SVCD oder - für die beste Bildqualität - DVD. Bei Fotos auf CD & DVD ist auch Mini-DVD möglich. Hier brennen Sie die Fotoshow in DVD-Qualität auf eine CD. Die Programme bringen dafür eine eigene Brennfunklion mit - bei Pinnacles Instant Photo Album finden Sie sie unter dem dritten Icon im Hauptfenster, bei Magix Fotos auf CD & DVD 3.5 heißt die entsprechende Option „Make Disc, Disc brennen".

Quelle: PC-Welt 10/2004, Seite 122

Verfasser: Andreas
Letzte Änderung: 2012-11-29 18:39


Digitalisieren von Videokassettten: Das brauchen Sie

Problem: Sie möchten Ihre Filme von VHS-Kassette auf DVD kopieren. Sie wissen nicht, welche Voraussetzungen Ihr PC bieten muss.

Lösung: Zum Digitalisieren von VHS-Kasset-ten sollte Ihr PC mindestens eine 1,5-GHz-CPU und 256 MB RAM besitzen. Zum An-schluss eines Videorecorders braucht der Rechner einen Video- und einen Audio-Ein-gang. Während nahezu jeder PC über On-board-Audio beziehungsweise eine Soundkarte - und damit über einen Audio-Ein-gang - verfügt, ist der Video-Eingang nicht Standard: Nur bei TV-Karten und manchen Grafikkarten steht er zur Verfügung.
Zu einem Video-Eingang kommen Sie am bequemsten mit einer externen USB-Box - erhältlich ab rund 70 Euro inklusive Schnitt-Software (zum Beispiel Avermedia EZ-Maker, Anbieter etwa: Avitos, www.avi tos.de|. Allerdings setzen diese Geräte eine USB-2.0-Schnittstelle voraus - USB 1.1 ist zu langsam für ruckelfreie Aufnahmen. Wenn Ihr PC nur USB 1.1 bietet, fahren Sie am besten mit einer internen TV-Karte, beispielsweise der Win TV Express von Hauppauge für rund 50 Euro (www.hauppauge.de).
Auch einige Grafikkarten haben einen Video-Eingang: Die Sapphire Radeon 9800SE Highspeed Gold Edition AiW etwa kostet rund 180 Euro (www.sapphire.de). Schließlich benötigen Sie noch ausreichend freien Festplattenplatz - eine Minute Film in passabler Qualität belegt gut 70 MB.    
DVD/CD Laufwerk sind im Explorer nicht mehr zu sehen

DVD-/CD-Laufwerke sind im Explorer nicht mehr zu sehen

Problem: Nach der (De-)Installation eines Brennprogramms sind alle CD- und DVD-Laufwerke verschwunden. Sie tauchen weder im Windows-Explorer auf, noch erkennt sie ein Brennprogramm.

Lösung: Viele Brennprogramme installieren Filtertreiber, die sich in die vorhandene Treiberarchitektur einklinken, um auf CD-und DVD-Laufwerke zuzugreifen. Unsauber programmierte (De-)Installationsroutinen können diese Treiberkette unterbrechen. Die Folge: Windows kann nicht mehr auf die Laufwerke zugreifen, der Geräte-Manager zeigt für alle CD- und DVD-Laufwerke eine Fehlermeldung an, meist mit dem Code 19, 31, 32 oder 39.
Wenn Sie in der Registry den problematischen Eintrag löschen, sollte alles wieder funktionieren - bis eventuell auf das Programm, das diesen Filtertreiber braucht. So finden Sie den richtigen Eintrag:

Möglichkeit 1: Unter Win 2000 und XP kann Ihnen Nerocheck meist die Arbeit abnehmen.
Es wird seit Version 5.5 mit Nero installiert und prüft bei jedem Windows-Start die Filtertreiber-Einträge in der Registry. Eigentlich ist das Tool nicht einzeln erhältlich, aber Ahead hat uns freundlicherweise erlaubt, es auf $} Heft-CD zu packen. Es lässt sich auch einzeln einsetzen. Passiert nach einem Doppelklick auf Nerocheck.EXE nichts, ist meist alles o.k. - andernfalls meldet das Tool, dass es die Registry korrigiert hat.

Möglichkeit 2: Profis überprüfen die Registry manuell.
Im Zweig „Hkey_Local_Ma chine\System\CurrentCon trolSet\Control\Class\{4D36 E965-E325-11CE-BFC1-08002BE10318)" stehen unter „UpperFilters" und „Lower-Filters" die Einträge der Filtertreiber für die CD- und DVD-Laufwerke.
Jedem hier aufgeführten Treiber muss ein Schlüssel mit demselben Namen im Registry-Zweig
„Hkey_Local_Machine\System\CurrentControlSetX Services" entsprechen. Dort muss sich ein Eintrag „Start" mit einem Wert von 0 bis 3 befinden. Der Eintrag „ImagePath" muss auf die existierende Treiberdatei verweisen. Ist eine dieser Bedingungen nicht erfüllt, löschen Sie den betreffenden Treibereintrag bei „UpperFilters" oder „LowerFilters".

Möglichkeit 3: Löschen Sie alle Einträge der Art „UpperFilters" und „LowerFilters" im Zweig
"Hkey_Local_Machine\System\CurrentControlSet\Control\Class\{4D36E965 E325-11CE-BFC1-08002BE10318}", und starten Sie den PC neu. Tauchen die Laufwerke immer noch nicht im Explorer auf, durchsuchen Sie alle Unterschlüssel („0000", „0001" und so weiter) in diesem Zweig und löschen die Einträge. Verweigert danach ein installiertes Brennprogramm den Dienst, hilft eine NeuTnstallation.

Quelle PC-Welt 8/2004, Seite 71

Verfasser: Andreas
Letzte Änderung: 2012-11-29 18:40


Fernseher gibt 16:9 Videomaterial nur gestaucht wieder

Problem: Sie haben Videos im 16:9-Format aufgenommen und mit einem Schnittprogramm bearbeitet. Nachdem Sie den Film auf DVD gebrannt haben, wollen Sie ihn am Widescreen-Fernseher ansehen: Doch statt eines Vollbilds sehen Sie eine gestauchte Wiedergabe mit schwarzen Balken an den Seiten. Sie haben Ihren Fernseher für 16:9-Filme richtig eingestellt.

Lösung: Offenbar sind die Einstellungen für das 16:9-Format beim Bearbeiten des Materials verloren gegangen - fügen Sie sie wieder ein.
Dazu prüfen Sie zunächst, ob Ihr Bearbeitungsprogramm eine Option bietet, das Material im 16:9-Format auszugeben. Haben Sie keinen Erfolg, helfen die Tools Ifo-edit und DVD Patcher weiter.
Mit Ifoedit öffnen Sie über „Open" die IFO-Dateien auf der Festplatte. Klicken Sie doppelt auf die Zeilen mit dem Text „Video: MPEG-2 (720x576)". Im Fenster „Video Atributes" markieren Sie unter „Aspect Ratio" die Option „16:9" und unter „Static" .Automatic Letterboxed". Speichern Sie die vorgenommenen Änderungen mit „Save". Wiederholen Sie die genannten Schritte für alle IFO-Dateien.

Achtung: Ifoedit enthält Funktionen, die nicht im Einklang mit dem neuen Urheberrechtsgesetz stehen. Mit DVD Patcher ändern Sie die „Aspect Ratio" - also das Seitenverhältnis in allen VOB-Dateien: Öffnen Sie die Datei über „Browse", und markieren Sie unter .Aspect Ratio" die Option „16:9".

Quelle: PC Welt 8/2004, Seite 80

Verfasser: Andreas
Letzte Änderung: 2012-11-29 18:40


Film Image lässt sich nicht mit DVD Player Software abspielen

Problem: Sie haben einen Film als Image Datei im BIN-Format erhalten. Bevor Sie das Image auf DVD brennen, wollen Sie die Bildqualität des Films prüfen.

Lösung: Die englischsprachige Shareware Daemon Tools richtet ein virtuelles Laufwerk ein, in dem Sie das Image wie in einem echten Laufwerk laden. Klicken Sie dazu mit der rechten Maustaste auf das Dae-mon-Tools-Icon im Systray. Wählen Sie „Virtual CD/DVD-ROM", dann den Buchstaben des virtuellen Laufwerks und „Mount Image". Öffnen Sie die CUE-Datei, die mit der BIN-Datei vorliegt.

Achtung: Die Daemon Tools enthalten Funktionen, die nicht im Einklang mit dem neuen Urheberrechtsgesetz stehen.
Mit einer Abspiel-Software wie dem funktionsstarken BS Player (für private Nutzung gratis) können Sie nun den Film betrachten. Anschließend holen Sie das Image mit „Unmount all drives" aus dem virtuellen Laufwerk und brennen es, etwa mit Nero 6, über „Rekorder, Image brennen".

Quelle: PC Welt 8/2004, Seite 78

Verfasser: Andreas
Letzte Änderung: 2012-11-29 18:41


Film Dateien lassen sich nicht von DVD auf Festplatte kopieren

Problem: Sie haben Aufnahmen vom DV-Camcorder bearbeitet und dann gebrannt. Nun möchten Sie diese erneut bearbeiten, doch sie liegen nur noch auf DVD vor - Sie haben die DV-Kassette überspielt und auch die Dateien von Festplatte gelöscht.

Lösung: Bearbeiten Sie die Aufnahmen mit einer Software, die Videomaterial direkt von DVD importiert. Das geht etwa mit Ulead Filmbrennerei 2 (siehe: SVCDs lassen sich nicht auf DVD brennen). Hier wählen Sie im Menü „Medien hinzufügen" das DVD-Icon und dann die Szene aus. Unter „Medien bearbeiten" schneiden Sie das Material oder fügen Kapitel hinzu.
Sie wollen unbedingt Ihr Schnittprogramm verwenden - doch das kann das Material nicht direkt von der DVD importieren. Über einen Umweg ist es auch mit Nero Vision Express 2 (siehe: SVCDs lassen sich nicht auf DVD brennen) möglich, die VOB-Dateien, in denen das Filmmaterial auf der DVD vorliegt, in MPG-Dateien umzuwandeln, mit der das Videoschnittprogramm zurechtkommt: Wählen Sie dazu „DVD erstellen, DVD-Video, Videodateien hinzufügen". Nun suchen Sie die VOB-Datei aus und lassen sie von Vision Express 2 einlesen. Zum Schluss gehen Sie auf „Exportieren": Die Software legt das Filmmaterialals MPEG-2-Datei auf Festplatte ab.
Spielt der Ton keine Rolle und geht es Ihnen nur um das Videomaterial, reicht es manchmal schon, die VOB-Datei auf Fest platte zu kopieren. Dann ändern Sie die Datei-Endung von VOB in MPG.

Quelle: PC Welt 8/2004, Seite 78 ff

Verfasser: Andreas
Letzte Änderung: 2012-11-29 18:41


Filmkopie mit Hypercam zeigt nur schwarzes Bild

Problem: Sie haben mit Hypercam einen Film kopiert wie in "Geschützter DVD Film lässt sich nicht kopieren" beschrieben. Als Sie die Kopie abspielen, sehen Sie aber nur ein schwarzes Bild.

Lösung: Hypercam hat ein schwarzes Bild aufgenommen, weil es die Videodaten im Abspielfenster des DVD-Players nicht „sah". Das Problem kann bei aktuellen Grafikkarten auftreten, die beim Abspielen von Filmen Hardware-Beschleunigung unterstützen. Dann stehen die Filmbilder nicht im Grafikspeicher für den Windows-Desktop, sondern nur im Puffer der Grafikkarte. Im Player werden sie als „Overlay" eingeblendet. Um das zu unterbinden, deaktivieren Sie die Hardware-Beschleunigung.
Bei Win XP verfahren Sie dabei wie folgt: Nach einem Rechtsklick auf den Desktop wählen Sie „Eigenschaften, Einstellungen, Erweitert, Problembehandlung." Schieben Sie den Regler hinter „Hardwarebeschleunigung" auf die dritte Position von links. Die Erläuterung darunter sollte lauten: „Alle DirectDraw-, DirectSD-, Cursor- und Zeichnungsbeschleunigungen deaktivieren ...". Speichern Sie die Änderung. Jetzt sollte Ihre Aufzeichnung mit Hypercam klappen. Übrigens: Die Maßnahme kann dazu führen, dass Ihr Player den Film ruckelnd abspielt -und dadurch die Aufnahme ebenfalls ruckelt. Denn jetzt muss die CPU die Filmdaten allein aufbereiten, während vorher der Grafikchip sie dabei unterstützte.

Quelle: PC Welt 8/2004, Seite 75

Verfasser: Andreas
Letzte Änderung: 2012-11-29 18:42


Geschützter DVD Film lässt sich nicht kopieren

Problem: Sie wollen ein Backup Ihrer Film-DVD erstellen. Doch der Film ist kopiergeschützt, und das Programm verweigert daher die Sicherung.

Lösung: Auch von einer geschützten Film-DVD lässt sich für den privaten Gebrauch ein legales Backup erstellen, indem Sie den Film während des Abspielens mitschneiden. Anschließend brennen Sie das Resultat auf DVD. Der Kopierschutz bleibt dabei unangetastet. Allerdings brauchen Sie für diesen Zweck einen äußerst schnellen PC: Da die CPU den Film nicht nur abspielen, sondern gleichzeitig aufzeichnen muss, erhalten Sie erst mit einer 3-GHz-CPU eine gute Kopie. Gefordert ist zudem viel freier Platz auf der Festplatte. Außerdem benötigen Sie eine DVD-Player-Software wie die englischsprachige Freeware Media Player Classic. Aufnehmen können Sie mit der englischsprachigen Shareware Hypercam.

So gehen Sie vor: Starten Sie den Film im DVD-Player, und aktivieren Sie Hypercam. Definieren Sie nun auf der Registerkarte „Screen Area" über „Select Region"
das Fenster, in dem der Film läuft. Legen Sie auf der Registerkarte „Avi File" die Aufnahmequalität fest: Für „Rate in Framesper Second, Record" ist ein Wert zwischen
20 und 25 empfehlenswert, die „Frame Compression Quality" sollte bei 75 Prozent liegen. Unter „Avi File Name" legen Sie Pfad und Dateinamen der Aufzeichnung fest.
Die Klangqualität definieren Sie über „Sound". Belassen Sie die Standardeinstellung. Aktivieren Sie noch „Record Sound", sonst fehlt der Ton. Die Aufzeichnung star
tet und stoppt mit <F2>.

Quelle: PC Welt 8/2004, Seite 74 f.

Verfasser: Andreas
Letzte Änderung: 2012-11-29 18:42


Große AVI Datei lässt sich nicht auf DVD brennen

Problem: Sie wollen eine knapp 4 GB große AVI-Datei auf DVD brennen. Dazu wählen Sie in Ihrem Brennprogramm, etwa Nero 6, wie gewohnt als Format „DVD-ROM (ISO)". Doch die Datei lässt sich nicht ins Zielverzeichnis ziehen: Nero mäkelt, dass sie größer als 2 GB sei und deshalb nicht in diesem Format gebrannt werden könne.

Lösung: Nehmen Sie das Format „DVD-ROM (UDF)". Das ISO-Dateiformat beziehungsweise das darauf basierende CDFS (Compact Disc File System) kann nicht mit Dateien umgehen, die größer als 2 GB sind. UDF lässt dagegen praktisch unbegrenzte Dateigrößen zu. Unter „UDF, Dateisystemversion" legen Sie bei Nero die UDF-Version der Zusammenstellung fest. Für Windows 2000 und XP wählen Sie am besten Version 1.50, für Windows 9x/ME Version 1.02.

Quelle: PC Welt 8/2004, Seite 70

Verfasser: Andreas
Letzte Änderung: 2012-11-29 18:43


Knacker-Tools

Eigentlich seltsam: DVD-Brenner verkaufen sich prächtig. Und in den meisten Fällen kopieren die Anwender damit Filme, die kopiergeschützt sind. Andererseits kann kein in Deutschland verkauftes DVD-Brennpro-gramm DVDs vervielfältigen, die perCSS (Content Scrambling System) geschützt sind. Wie passt das zusammen?
Es ist ein offenes Geheimnis, dass es im Internet zahlreiche Tools gibt, die den Kopierschutz aushebeln. Allerdings ist der Einsatz dieser Programme verboten (> Kasten auf Seite 75).

Das Allround-Tool Any DVD entfernt nicht nur den CSS-Schutz, sondern deaktiviert auch den Regionalcode und Macrovision, das das Kopieren einer DVD auf Videokassette verhindert. Der Hersteller verspricht auf seiner Internet-Seite, dass Any DVD selbst den Kopierschutz von Musik-CDs knackt. Ein ähnliches Tool ist DVD43. In den einschlägigen Internet-Foren stehen auch die Programme DVD Decrypter und Smartripper hoch im Kurs:
Sie entfernen ebenfalls den Kopierschutz bei DVDs.

Auch DVD Shrink dient vor allem zum Umgehen des Kopierschutzes von DVDs - es ist daher illegal.

Seit einigen Jahren sind viele Musik-CDs kopiergeschützt. Schutzmechanismen wie Cactus Data Shield, Key2audio und Mediacloq arbeiten mit falschen TOC-Einträgen und tricksen mit mehreren Sessions auf der CD. Das bringt nicht nur PC-Laufwerke durcheinander, auch mancher Hi-Fi- oder Auto-CD-Player hat mit kopiergeschützten CDs Probleme. Kein Wunder, denn diese Musik-CDs entsprechen nicht dem Standard fürAudio-CDs.

Vor allem Clone-CD wird in Internet-Foren immer wieder erwähnt, wenn es um Musik-CDs geht. Noch häufiger als über Software diskutieren die Profi-Knacker allerdings darüber, welches Leselaufwerk am besten milden Macken zurechtkommt, die eine geschützte Musik-CD aufweist: Wenn das Leselaufwerk keine Probleme mit einer solchen CD hat, merkt der Anwender eigentlich gar nicht, dass er es mit einem kopiergeschützten Tonträger zu tun hat.
Außer er betrachtet die CD-Verpackung genauer - denn kopiergeschützte Audio-CDs müssen laut Urhebergesetz deutlich gekennzeichnet sein.

Programme wie Exact Audio Copy oder Feurio besitzen - neben vielen anderen Funktionen - Optionen, die Laufwerken helfen, mit verfälschten TOCs oder Multisessions zurecht zu kommen.

In vielen Foren wird übrigens empfohlen, Musik-CDs bei ausländischen Online-Versendern zu kaufen, da dort angeblich oft Titel ohne Kopierschutz erhältlich sind. Auch das Stöbern im Plattenladen wird manchmal belohnt: Von Top-Titeln gibt es limitierte Auflagen, zum Beispiel mit Bonusmaterial, dieohne Kopierschutz verkauft werden.

Verfasser: Andreas
Letzte Änderung: 2012-11-29 18:44


Multisession lässt Dateien verschwinden

Problem: Sie wollen einer Multisession-CD oder -DVD weitere Daten hinzufügen. Obwohl bereits Daten auf der Scheibe sein sollten, können Sie mit dem Windows-Explorer nicht darauf zugreifen.

Lösung: Damit man im Windows-Explorer alle Daten aus allen Sessions sieht, muss man beim Hinzufügen einer neuen das Inhaltsverzeichnis der letzten Brenn-Session übernehmen. Bei Nero beispielsweise wählen Sie dazu im Fenster „Neue Zusammenstellung" die Einstellung „Multisession, Multisession Daten-Disk fortsetzen". Nachdem Sie auf „Neu" geklickt haben, erscheint das Fenster „Track auswählen", in dem Sie die zuletzt geschriebene Session aktivieren. Ist das nicht geschehen, sieht der Windows-Explorer nach dem Brennen nur die soeben fertig gestellte Session. Die früheren Sessions sind für ihn unsichtbar, obwohl die Daten auf dem Medium sind.

Diese Daten retten Sie am besten mit dem vielseitigen Tool Isobuster. Die deutschsprachige Bedienerführung aktivieren Sie unter „Options, GUI, Language". In der Explorer-ähnlichen Ansicht sehen Sie links eine Liste aller Sessions. Um Dateien oder Verzeichnisse auf die Festplatte zu kopieren, klicken Sie mit der rechten Maustaste darauf und wählen „Extrahieren".

Quelle: PC-Welt 7/2004, Seite 72

Verfasser: Andreas
Letzte Änderung: 2012-11-29 18:44


Musik DVD lässt sich nicht von CD-Player wiedergeben

Problem: Sie haben eine nicht kopiergeschützte DVD von einem Konzert erworben. Sie würden die Songs gerne im porta-blen CD-Player oder im CD-Player im Auto hören. Doch von diesem Konzert gibt es keine Audio-CD zu kaufen.

Lösung: Holen Sie die Tonspur von der DVD, und wandeln Sie sie ins WAV-Format um. Damit brennen Sie eine Audio-CD, die sich fast überall abspielen lässt. Zunächst müssen Sie dazu mit einem Tool wie DVD Decrypter (> Punkt 16) den AC3-Audio-stream von der DVD extrahieren. Achten Sie darauf, dass für die Audiospur „Stream Processing" und „Demuxen" eingestellt sind. „Demuxen" steht für De-Multiplexen und bedeutet, dass aus einer Datei, die Bild und Ton enthält, der Ton extrahiert wird. Nun brauchen Sie die englischsprachige Audiobearbeitung Goldwave. Laden Sie die AC3-Datei über „File, Open" mit der Einstellung „Dateityp: AU". Damit Goldwave die AC3-Datei verarbeitet, muss der Soundfilter AC3 Riter installiert sein. Nach dem Entpacken speichern Sie die Datei mit „Save äs" im WAV-Format. Teilen Sie die WAV-Datei in Lieder auf - das geht über „Tool, Cue Points". Automatisch erledigt Goldwave die Aufgabe über „Auto Cue". Je nach Pausenlänge zwischen den Stücken kann es dabei aber zu Fehlern kommen. Über „New" setzen Sie die Cue Points selbst. Goldwave teilt mit „Split File" die Datei an den Cue Points
in einzelne WAV-Dateien, die Sie etwa mit Nero 6 als Audio-CD brennen.

Quelle: PC Welt 8/2004, Seite 80

Verfasser: Andreas
Letzte Änderung: 2012-11-29 18:45


Nach Brenner Einbau startet der PC nicht mehr

Problem: Seit Sie Ihren neuen Brenner in den PC eingebaut haben, startet der Rechner nicht mehr.

Lösung: Die Startverweigerung kann mehrere Gründe haben. Beispielsweise könnte die Master/Slave-Konfiguration fehlerhaft sein (> Punkt 1). Pro IDE-Controller darf es nur ein Master- und ein Slave-Laufwerk geben, ein einzelnes Laufwerk sollte als Master arbeiten. Wenn Sie den Brenner und die Festplatte am selben IDE-Kabel betreiben, sollte die Festplatte immer als Master füngieren.
Manche Laufwerke kommen sich aber trotz korrekter Konfiguration in die Quere: Betreiben Sie zur Diagnose den Brenner einmal allein als Master. Wenn das funktioniert, müssen Sie die anderen Laufwerke umstecken, um auszuprobieren, ob es in einer anderen Konfiguration klappt.
Eventuell ist das IDE-Kabel beschädigt - probieren Sie es mit einem anderen. Ein Bios-Update für die Hauptplatine hilft, wenn
der IDE-Controller das Laufwerk nicht er kennt - Sie bekommen es vom Hersteller Ihrer Hauptplatine. Schließlich kann der Brenner oder der IDE-Controller defekt sein: Testen Sie den Brenner an einem an deren PC, oder schliefsen Sie einen anderen Brenner an.

Quelle: PC Welt 8/2004, Seite 67 f.

Verfasser: Andreas
Letzte Änderung: 2012-11-29 18:45


Nero brennt eine Image Datei nicht

Problem: Sie möchten eine Image-Datei brennen. Nero 6 liefert aber nur eine Fehlermeldung: Die BIN-Datei könne nicht geöffnet werden. Ganz offensichtlich ist hier das Image beschädigt.

Lösung: Extrahieren Sie die Filmdateien aus dem Image mit der Shareware Isobuster. Dann liegen die Daten wieder im Originalzustand vor - also so, wie vor Erstellen des Images. Wählen Sie „Datei, Image Datei öffnen". Markieren Sie die Dateien, die Sie extrahieren wollen: Bei einem DVD-Image sind das alle IFO- und VOB-Dateien, bei einem SVCD-Image genügt es, die MPG-Datei im Ordner „MPEG2" aus dem Image zu lösen. Klicken Sie im Kontextmenü auf „Extrahieren". Meldet Isobuster einen Fehler, versuchen Sie die Option „Roh extrahieren und in Benutzerdaten umwandeln". Die extrahierten Filmdateien liegen nun auf Festplatte vor und lassen sich etwa mit Nero 6 wie gewohnt unter „Neue Zusammenstellung" als Video-DVD oder als SVCD brennen.

Quelle: PC Welt 8/2004, Seite 78

Verfasser: Andreas
Letzte Änderung: 2012-11-29 18:46


Nero bleibt kurz nach dem Start ohne Fehlermeldung hängen

Problem: Beim Start von Nero erscheint die Meldung „SCSI/IDE-Bus wird durchsucht". Danach friert Nero ein und lässt sich nur per Task-Manager beenden.

Lösung: Meist hängt der Fehler mit dem DMA-Modus für den Brenner zusammen. Zur Fehlerdiagnose und als Notlösung sollten Sie den DMA-Modus für den Brenner deaktivieren. Bei Windows XP klicken Sie dazu beispielsweise im Geräte-Manager unter „IDE ATA/ATAPI-Controller" doppelt auf den IDE-Kanal, an dem der Brenner angeschlossen ist. Auf der Registerkarte „Erweiterte Einstellungen" wählen Sie bei „Übertragungsmodus" die Einstellung „Nur PIO" (dabei ist Gerät 0 der Master und Gerät l der Slave). Danach sollte Nero starten. Aber nun verschlingt jede Brenneraktion zusätzlich Prozessorleistung, da der Zugriff auf den Speicher nicht mehr direkt, sondern über die CPU erfolgt.
Wenn Nero jetzt läuft, besorgen Sie sich einen aktuellen Busmaster-Treiber für die IDE-Schnittstelle. Für Hauptplatinen mit VIA-Chipsatz ist das der VIA Hyperion 4 in l Version 4.51.
Für die meisten Platinen mit Intel-Chipsatz von 810 bis 860 (Liste unter http://support.intel.com/support/chipsets/iaa/sb/CS-009312.htm) passt der Intel Application Accelerator.

Quelle: PC-Welt 7/2004, Seite 72

Verfasser: Andreas
Letzte Änderung: 2012-11-29 18:46


Packet-Writing: So wird die DVD zur großen Diskette

Eigentlich erstaunlich: Obwohl es DVD- und erst recht CD-Brenner schon lange gibt, kann man auf diese Laufwerke noch nicht so einfach zugreifen wie auf eine Festplatte oder eine Diskette.

Longhorn bringt's:
Diesen Komfort will Microsoft erst in den Windows-XP-Nachfolger mit Codenamen „Longhorn" vollständig integrieren. Geplanter Erscheinungstermin: 2006. Zwar besitzt bereits Windows XP rudimentäre Brennfunktionen, aber damit lassen sich nur einfache Audio- und Daten-CDs brennen, die das Dateisystem joliet oder ISO 9660 nutzen.
Longhorn wird zusätzlich ein Packet-Writ-ing-Verfahren unterstützen - damit lassen sich auch kleine Datenmengen effizient schreiben. Zusammen mit dem dafür optimierten UDF-Dateisystem kann eine CD oder DVD nach und nach gefüllt werden, bei wiederbeschreibbaren Medien lassen sich Daten auch löschen. Sie können dann im Windows-Explorer mit CDs und DVDs hantieren, wie Sie es von Disketten und Festplatten gewohnt sind.

Die Technik ist nicht neu:
Software, die Brenner per Packet-Writing und UDF in den Windows-Explorer einbindet, gibt's bereits seit 1996. Dass sich diese Technik trotzdem kaum durchsetzte, lag an Problemen bei der Handhabung: Mancher PC wollte nach Installation der Packet-Writing-Software nicht mehr booten, und falls doch, ließen sich damit beschriebene Medien oft nur lesen, wenn auf dem Zielrechner genau dieselbe Packet-Writing-Software installiert war.

Der aktuelle Stand:
Heute kommt beinahe jedes Brennprogramm mit Packet-Writing-Software -manches ist besser geworden, manches nicht. Beispiel: Roxios Creator 7 enthält die Software Drag-to-Disk (Version 7.0.1.41), die in der Standardeinstellung Medien mit einem UDF-1.02-
und einem ISO-9660-Dateisystem ausstattet. Diese Medien lassen sich so gut wie überall problemlos lesen.
Wenn man die Medien allerdings auf einem Rechner mit anderer Software weiterbeschreiben möchte, dann kann es schwierig werden: Mit In-CD von Ahead (Version 4.2.4.1) etwa geht es nicht. Das Programm kommt mit Nero und arbeitet mit UDF-Versionen ab 1.5. Aber auch mit manchen älteren Drag-to-Disk-Versionen, beispielsweise der, die in Easy CD & DVD Creator 6 enthalten ist, lassen sich diese Medien nicht weiter beschreiben.

Fazit:
Der große Durchbruch für Packet-Writing kommt wohl erst, wenn Microsoft das Verfahren in Longhorn integriert. Dann sind Kompatibilitätsprobleme Schnee von gestern, weil Sie direkt aus dem Betriebssystem auf den Brenner zugreifen. Bis dahin ist Packet-Writing-Software nur eingeschränkt zu empfehlen.


Quelle: PC-Welt 7/2004, Seite 72

Verfasser: Andreas
Letzte Änderung: 2012-11-29 18:47


Player-Software spielt Filme ohne Hardware-Beschleunigung nicht ab

Problem: Sie haben die Hardware-Beschleunigung im Menü der Grafikkarte reduziert oder abgeschaltet, um mit Hypercam einen Film aufzuzeichnen (> Punkte 13 und 14). Nun verweigert die DVD-Player-Software den Dienst.

Lösung: Bei der Wiedergabe von Filmen greift DVD-Player-Software wie Win DVD, Cyberlink Power DVD 5.0 und Media Player Classic meist auf den Video-Overlay zu und setzt deshalb die aktivierte Hardware-Beschleunigung voraus. Andernfalls bricht sie ab oder liefert eine Fehlermeldung wie „Erstellen der Überlagerung fehlgeschlagen". Da hilft es in den meisten Fällen nicht, wenn Sie sich an die Programmempfehlung halten und „Bildschirmauflösung" sowie „Farbtiefe" reduzieren. Sie brauchen stattdessen einen anderen Player: Gute Erfahrungen haben wir mit der englischsprachigen Freeware Media Player Classic gemacht. Sie lieferte selbst bei einem PC mit 2-GHz-Celeron eine Aufzeichnung in akzeptabler Qualität.
Auch Power DVD kam ohne Hardware-Beschleunigung zurecht. Für die Kopie brauchen Sie hier aber einen PC mit 3-GHz-CPU. Ein Film, den wir mit Power DVD auf einem 2-GHz-Celeron-System aufzeichneten, zeigte dagegen so viele Pixelfehler, dass die Szenen kaum zu erkennen waren

Quelle: PC Welt 8/2004, Seite 76

Verfasser: Andreas
Letzte Änderung: 2012-11-29 18:47


Super 8 Filme auf DVD Medien speichern

Problem: Sie möchten einige Super-8-Filme digitalisieren, restaurieren, mit Effekten aufpeppen und auf DVD brennen. Doch ein Super-8-Projektor lässt sich natürlich nicht zum Überspielen an den PC anschließen.

Lösung: Wer für das Digitalisieren möglichst wenig Geld ausgeben möchte und einen Camcorder besitzt, filmt die alten Streifen ab. Vom Camcorder aus transferieren Sie das Material dann auf die PC-Festplatte. Beim Abfilmen sollte der Camcorder möglichst nah an der Projektionsfläche stehen und so platziert sein, dass das Bild nicht verzerrt wird.
Unter Umständen lohnt sich der Kauf einer Glasscreen-Vorrichtung, die - vor die Leinwand gestellt - körnige Darstellung und andere Bildfehler verhindern soll. Bei
www.video-optik.de/glasscreen kostet ein komplettes Glasscreen-Set etwa rund 110 Euro. Eine bessere Bild- und Tonqualität holen meist professionelle Unternehmen heraus, die auf Filmabtastung spezialisiert sind. Allerdings liegen die Preise bei rund l bis 3 Euro pro Minute. Angebote finden Sie bei www.google.de etwa über den Suchbegriff „Filmabtastung".

Quelle: PC Welt 8/2004, Seite 81

Verfasser: Andreas
Letzte Änderung: 2012-11-29 18:48


SVCD2DVD mit Nero, DVD-Patcher 1.06 und CloneDVD 2

Aufgenommene Datei liegt im SVCD Format vor.

Nero Visio Express 2 öffnen
Inhalt
Videodatei hinzufügen
Menü erzeugen
Vorschau
Brennoptionen

Projekt speicher und anschließend schließen. Bevor Sie patchen notieren Sie sich unbedingt die Originaltdaten die Ihnen DVD-Patcher unter
MPEG Info
anzeigt, zumindest jene Werte die Sie nun anschließend patchen um DVD konforme Dateien zu bekommen.

Die Dateien die auf die DVD sollen müssen nun gepacht werden:

Öffne DVD-Patcher
ziehe nun per Drag and Drop die erste Datei auf das Programm
Nun werden die Dateiinformationen unter MPEG Info angezeigt. Diese sollten Sie sich unbedingt notieren.

Ändern Sie die Dateiinfos wie folgt z.B:
720 x 576
PAL
8 000 000 bit/s
25 Frame per second
First header only

Achtung: führen Sie das bei jeder Datei durch die nicht DVD konform ist.

Nach dem Patchen öffnen Sie nun wieder Ihr zuvor gespeichertes Projekt unter Nero Visio Express 2. Es erscheint nun ein Hinweis, dass sich die Datei geäncert haben und sich die davon betroffenen Element des Dokuments auf die geänderte Datei beziehen.

Fehlermeldung lautet wie folgt und sie erscheint für jede Datei die in Ihrem Projekt inkludiert ist und die sie gepacht haben.

Die Datei K:\Pfad zu Datei\Dateiname.mpg wurde seit der letzten Speicherung des Dokuments geändert. Die davon betroffenen Elemente des Dokuments beziehen sich nun auf die geänderte Datei.

Dies Meldung quittieren Sie mit OK.

Im Menüpunkt Inhalt erhält man nun die gepachten Daten welche natürlich Darstellungsfeheler aufweisen. (Format passt nicht zusammen)

Nun gehen Sie weiter bis zu den Brennoptionen und öffnen den Menüpunkt

Mehr>>

und anschließend

Videooptionen

Im Karteikastenreiter "DVD-Video" stellen Sie nun unter Trancodierqualitätn die selben Parameter ein die zuvor mit DVD Patcher die Dateien gepacht haben.

z.B: 8000 kbit/s für 8 000 000 Bit/s
720 x 576
Encodiermodus High Qualität (2 Durchgänge VBR)

Es erscheint nun die neue Videooption unter der Projektzusammenfassung
Aktuelle Videooptionen
Seitenverhältnis 4:3
Videonorm PAL
Qualität Benutzerspezifisch 8000 kbps

Bestimmen der Brennparameter
In Festplattenordner schreiben

und geben den Speicherort an. Achten Sie dabei darauf, dass genügen Platz vorhanden ist.

Brennen Sie nun die Film DVD auf die Festplatte.

Nach erfolgreichem Brennvorgang speichern sie die Protokolldatei ab und schließen anschließend Nero Visio Express 2.

Öffnen Sie nun den DVD Patcher 1.06
patchen Sie nun die VTS-Dteien zurück auf die originalwerte die Sie sich zuvor hoffentlich notiert haben.
z.B.: VTS_01_1, VTS_02_1,.....

Nicht die Datei Video_TS patchen denn in ihr wird das Menü gespeichert für die DVD.

Nun kannst Du die Datein auf DVD brennen.
z.B. Clone DVD 2

Verfasser: Andreas
Letzte Änderung: 2012-11-29 18:48


SVCDx lassen sich nicht brennen

Problem: Sie besitzen viele SVCDs mit MPG-Filmdateien und haben deren Inhalte zusammen auf eine DVD gebrannt, und zwar - wie vom CD-Brennen gewohnt - im Daten-DVD-Format. Der DVD-Player spielte die Scheibe allerdings nicht ab. Als Sie nun versuchen, die MPG-Dateien mit Nero 6 als DVD-Video zu brennen, verlangt das Programm nach IFO-und VOB-Dateien.

Lösung: Um SVCD-Filme im richtigen Format als Video-DVD zu brennen, benötigen Sie ein DVD-Authoring-Programm wie Ulead Filmbrennerei 2, Nero Vision Express 2 (in Nero 6 enthalten), oder die englischsprachige Shareware SVCD2DVD 1.5. Am schnellsten arbeitet SVCD2DVD, da es das Videomaterial nicht erneut encodiert. Stellen Sie - falls Sie das zuvor noch nicht getan haben - alle MPG-Dateien in ein Verzeichnis auf Festplatte. Dieses geben Sie unter „Folders, Source" an. Markieren Sie „Author DVD Folders", das Zielverzeichnis tragen Sie unter „Folders, DVD fldr" ein. Entfernen Sie anschließend die Haken vor „Rip BIN Images" und „Burn". Nach einem Klick auf „Start" beginnt SVCD2DVD zu arbeiten. Das Tool erstellt ein Verzeichnis VIDEO_TS. Dessen Inhalt können Sie zum Beispiel mit Nero 6 als Video-DVD brennen.
SVCD2DVD benötigt das Microsoft .NET-Framework (gratis, Download unter www.microsoft.com/downloads/de tails.aspx?displaylang=de&FamilylD=262D25E3-F589-4842-8157-034DlE7CF3A3,23,7 MB),

Quelle: PC Welt 8/2004

Verfasser: Andreas
Letzte Änderung: 2012-11-29 18:49


TV Aufnahme nur unvollständig

Problem: Mit einem DVD-Re-corder haben Sie eine Fernsehsendung auf DVD+RW aufgezeichnet. Nun wollen Sie am PC die Werbung herausschneiden. Doch obwohl die DVD+RW voll beschrieben ist, zeigt der Windows-Explorer nur eine rund l GB große VOB-Datei an. Und die DVD-Player-Software stoppt nach etwa 25 Minuten mit
IFO-Mode" das „File-Splitting" auf „None".
Legen Sie im Hauptmenü Quelle und Ziel für die Datei fest, und wählen Sie im rechten Fenster unter „Input" die PGC(ProgramChain)-Datei, die Sie auf Festplatte haben
wollen. Mit einem Klick auf das Logo links unten starten Sie den Vorgang.

Achtung: Das Tool DVD Decrypter enthält Funktionen, die nicht im Einklang mit dem neuen Urheberrechtsgesetz stehen. Wenn es bereits auf Ihrer Festplatte ist, dürfen Sie damit nur Videomaterial bearbeiten, das nicht kopiergeschützt ist - etwa Ihre TV-Aufzeichnung.

Lösung: Der Explorer erkennt nur die erste VOB-Datei, da er nicht auf die IFO-Datei zurückgreift, die die Da-teistruktur der DVD festhält. Gemäß DVD-Standard dürfen VOB-Dateien höchstens l GB groß sein - deshalb sind auf DVDs immer mehrere VOB-Dateien zu finden. Die IFO-Datei beschreibt, wie diese zusammenhängen. Um das Problem zu beheben, müssen Sie die Aufnahme von DVD+RW auf Platte überspielen. Dazu eignet sich DVD Decrypter.
Das Tool orientiert sich beim Überspielen an der IFO-Datei. Wählen Sie „Mode, IFO" aus, und setzen Sie in „Tools, Settings,


Quelle: PC Welt 8/2004, Seite 76

Verfasser: Andreas
Letzte Änderung: 2012-11-29 18:49


Videodateien ins Divx-Format konvertieren

Problem: Sie haben mit Ihrer Digitalkamera Videoclips im Quicktime-Format aufgenommen. Sie wollen die Clips anschließend ins Format Divx umwandeln, um sie platzsparend zu archivieren.

Lösung: Für diesen Zweck empfehlen wir Ihnen EO Video 1.36. Die englischsprachige Shareware wandelt alle gängigen Formate in ein anderes Format um - vorausgesetzt, der zugehörige Codec oder das ihn enthaltende Abspielprogramm ist auf dem PC installiert. Bei Videos mit der Datei-Endung AVI muss zudem der Codec installiert sein, mit dem die Datei komprimiert wurde.

Und so wandeln Sie Ihre Videoclips vom Quicktime- ins Divx-Format um:
Installieren Sie gegebenenfalls auf Ihrem Rechner die beiden Codecs, die Sie unter www.apple.com/quicktime und www.divx.com/divx herunterladen können (zwischen 2 und 20 MB).


Quelle: PC-Welt 8/2004, Seite 222

Verfasser: Andreas
Letzte Änderung: 2012-11-29 18:50


Computer » Hardware » BIOS

32-bit Transfer Mode

Einstellmöglichkeiten: On, Off Diese Option befiehlt dem IDE Controller zwei 16bit Blök-ke, die von der Festplatte gelesen werden, in einen 32bit Block zusammenzufassen und erst dann an den Prozessor zu senden. Dies steigert die Leistung des IDE Controllers und entlastet den PCI Bus im Falle, dass der Controller über diesen angebunden ist. Ist der 32bit Transfer Mode deaktiviert er folgt die Datenübertragung vom DIE Controller zum Prozessor nur in 16bit Blöcke. Es ist daher am besten diesen Modus zu aktiveren.

Quelle: WCM 215, Seite 97

Verfasser: Andreas
Letzte Änderung: 2012-11-29 18:51


AMI-BIOS - teilweise gesperrt

Immer weniger Parameter im BIOS sind für den Anwender zugänglich. Abhilfe schafft das Tool AMISetup.
Sie möchten Ihr System modernisieren, nachrüsten oder optimieren. Doch die Einstellmöglichkeiten im BIOS beschränken sich auf die Wahl des Bootlaufwerks, das Stellen der Systemuhr oder das Ändern eines Passworts. Dann muss ein Spezialprogramm her, das die BIOS-Paramter auslesen und sie verändert wieder an ihren Speicherort zurückschreiben kann. Verwenden Sie AMISetup von Robert Muchsel. In der Version 2.99 können Sie es kostenlos von der Website
www.sysopt.com/biosmod.html
herunterladen. Es eignet sich zum Editieren von AMIs HighFlex BIOS und WinBIOS, sichert vorhandene BIOS-Einstellungen auf Diskette und stellt BIOS-Einstellungen von Diskette wieder her. AMISetup kann ferner Messungen am DMA (Direct Memory Access) vornehmen und CMOS-Fehlermeldungen anzeigen.

Verfasser: Andreas
Letzte Änderung: 2012-11-29 18:51


APM

Abk. für Advanced Power Management. Komplett über das BIOS gesteuerte Stromsparfunktion. Komponenten wie Festplatten, Bildschirm oder Prozessor werden nach einer eingestellten Zeit der Inaktivität abgeschaltet bzw. gedrosselt.

PC Magazin, Nr. 6/99, S. 129

Verfasser: Andreas
Letzte Änderung: 2012-11-29 18:52


BIOS im Betrieb wechseln

So sieht die Hardware-Lösungaus, wenn das BIOS defekt ist.
Wenn bei älteren Bords das BIOS abgeschossen wird, brauchen Sie zur Rettung ein zweites Board mit gleichem BIOS-Baustein. Dieses starten Sie und setzen im BIOS die Option SystemBIOS cacheable auf enabled. Wenn dasBoard startet von Diskette, mit dem gesichertem BIOS des defekten Boards und zugehörigem Flash-Programm können Sie im laufenden Betrieb den BIOS-Baustein abziehen (vorher schon lockern!) und durch den fehlerhaften ersetzen. Anschließend spielen Sie ihr altes BIOS wieder von Diskette auf diesen Baustein zurück. Fahren Sie den Rechner herunter, und setzen Sie die Flash-RAMs wieder in ihre zugehörigen Boards.

Verfasser: Andreas
Letzte Änderung: 2012-11-29 18:53


BIOS-Chip retten

Der Rechner ist tot, nichts geht mehr: das Ergebnis eines fehlgeschlagenen Versuchs, das BIOS upzudaten. Mit einem waghalsigen Manöver hauchen Sie dem alten Mainboard noch einmal Leben ein.
Manchmal wird ein BIOS-Chip durch einen fehlerhaften Eingriff unbrauchbar, zum Beispiel bei einem vergeblichen Versuch das Bios zu flashen. Es gibt eine (nicht ganz ungefährliche) Methode, den Chip zu retten: Dazu benötigen Sie ein zweites Mainboard vom gleichen Typ. Mit dem funktionierenden Board fahren Sie das entsprechende Flash-Programm hoch und speichern das alte BIOS auf Diskette. Anschließend kommt der gefährliche Teil der Aktion: Wechseln Sie während des Betriebs den funktionierenden BIOS-Chip gegen den unbrauchbaren aus, und übertragen Sie das alte BIOS von der Diskette auf den fehlerhaften BIOS-Chip.
ACHTUNG! Diese Aktion kann Bauteile zerstören. Die Redaktion übernimmt für die Richtigkeit dieser Information für alle Mainboard- und Chip-Typen keine Gewähr und haftet nicht für etwaige Schäden, die aus dem Befolgen des Tips entstehen könnten.

Verfasser: Andreas
Letzte Änderung: 2012-11-29 18:53


Compaq-PC mit Spezial-BIOS

Beim Nachrüsten von Festplatten kann es bei einigen Compaq-PCs zu Problemen kommen.
Wenn Sie in Compaq-PCs, speziell der DeskPro-Serie, eine E-IDE-Festplatte als Master-Laufwerk nachrüsten wollen, kann dies zu Problemen führen. Der Grund: Diese Compaq-Modelle speichern einige BIOS-Informationen auf einer speziellen Partition der Master-Festplatte. In diesem Fall kopieren Sie diese Partition auf die neue Festplatte, um wie gewohnt Einstellungen im BIOS vornehmen zu können. Dafür eignet sich beispielsweise das Tool EZ Drive ab der Version 9.06, das sie unter
www.wdc.com
erhalten. FKH

Verfasser: Andreas
Letzte Änderung: 2012-11-29 18:54


Eingriff ins BIOS

Der Boot-Block rettet Boardsmit zerschossenem BIOS.
Davor hat jeder Angst: Das BIOS-Update, das mehr Stabilität oder Tempo oder neue Funktionen bringen soll, schlägt fehl. Entweder beendet ein Stromausfall den Vorgang oder ein Fehler in der Update-Routine. Der Neustart nach dem Update findet nicht mehr statt. Der Monitor bleibt dunkel. Jetzt kann man entweder das Board entsorgen oder sich vom Hersteller ein neues BIOS im passenden Flash-Baustein schicken lassen. Das kostet Zeit und Geld. Wenn das BIOS einen Boot-Block besitzt, ist dort ein 4KByte großer geschützter Bereich vorhanden. Damit lässt sich das Board dazubringen, auf das Floppy-Laufwerk zuzugreifen. Das geht beim AMI-BIOS so: Benennen Sie das alte BIOS-Datei in amiboot.rom um. Während des Bootens drücken Sie [Strg-Pos1], um das BIOS mit der Sicherung upzudaten. Wenn die LED des Diskettenlaufwerks erlischt, starten Sie den Rechner neu. Beim Award-BIOS legen Sie eine Boot-Diskette mit dem Flash-Programm, der alten BIOS-Datei und einer autoexec.bat mit folgendem Inhalt an:
Name.EXE NAME.BIN /py /sn.
name.exe steht für den Namen des Flashprogramms, name.bin für den Namen der alten BIOS-Datei; /py: steht für das Programm BIOS yes, /sn: für securitycopy no. Nachdem das Update automatisch ausgeführt wurde und die LED des Diskettenlaufwerks erloschen ist, starten Sie den Rechner neu.

Verfasser: Andreas
Letzte Änderung: 2012-11-29 18:54


Grafisches AMIBIOS nicht darstellbar

Mit dem folgenden Trick stellen Sie das AMIBIOS doch grafisch dar.
Das grafische AMIBIOS ist in Verbindung mit einer Grafikkarte basierend auf dem Permedia 2 bzw. dem älteren Riva 128 nicht darstellbar. Grund dafür ist der verwendete Grafikmodus, der von diesen Chips nicht unterstützt wird. Abhilfe schafft ein auf Text basierendes AMIBIOS, welches die meisten Mainboard-Hersteller zusätzlich anbieten. Außerdem besteht oft die Möglichkeit, das Board auf das textbezogne AWARDBIOS umzuflashen. Doch Vorsicht! Prüfen Sie vor jedem BIOS-Update, ob das BIOS für Ihr Mainboard zugelassen ist, und verwenden sie das empfohlene Flash-Utility. Diamond, Elsa und Hercules bieten außerdem ein Firmware-Update der Grafikkarten an, dasdas Problem beseitigen soll.
hal

Verfasser: Andreas
Letzte Änderung: 2012-11-29 18:54


IDE HDD Block Mode

Einstellmöglichkeiten: Enabled, Disabled

Diese Einstellung ist legt fest, ob bei der Datenübertragung von der Festplatte zum Controller pro Übertragung nur ein in Sektor oder mehrere Sektoren gleichzeitig übertragen werden. Der Modus mehrere Sektoren auf einmal zu Übertragen wird auch als Block Transfer bezeichnet.
Wird diese Option aktiviert, versucht das BIOS automatisch zu erkennen ob die angeschlossenen Festplatten Block Transfer unterstützen und legt die entsprechenden Einstellungen dafür fest.
Abhängig vom IDE Controller können bis zu 64kB Daten pro Interrupt übertragen werden, wenn der Block Mode ein-
gestellt ist.
Nachdem halbwegs aktuelle Festplatten diesen Modus unterstützen gibt es im Normalfall keinen Grund warum diese Option deaktiviert werden sollte. Nur bei frühen Windows NT 4.0 Versionen kann durch diesen Modus ein Datenverlust passieren, jedoch gibt es für dieses Problem einen Patch der die Sache behebt.
Da bei deaktiviertem HDD Block Mode lediglich 512bytes pro Interrupt übertragen werden, liegt auf der Hand, dass dieser Modus, sofern nicht irgendwelche Probleme damit bekannt sind, immer aktiviert sein sollte um die maximale Leistung der Festplatte verfügbar zu haben.

Quelle: WCM 215, Seite 97

Verfasser: Andreas
Letzte Änderung: 2012-11-29 18:55


Interrupt-Blockade

Ein unbemerkter Ressourcenkonflikt führt dazu, daß Ihr Computer beim Neustart nicht mehr reagiert. Eine Interrupt-Manipulation schafft Abhilfe.
Ihr PC reagiert nicht mehr, nachdem Sie ihn mit Computer neu starten im Dialogfeld Windows beenden zum Re-boot bewegen wollten? Dieses Problem kann bei Systemen mit einem Mainboard-BIOS auftreten, das darauf eingestellt ist, daß ein PS/2- Mausanschluß IRQ 12 verwendet; dieser IRQ ist aber von einer über die Software konfigurierbaren Hardware-Komponente belegt (von einer Plug&Play-Karte). Um dieses Problem zu umgehen, reservieren Sie IRQ 12 im Geräte-Manager oder ändern den Interrupt für die über die Software konfigurierbare Komponente im Geräte-Manager. Gegebenenfalls hilft ein BIOS-Update Ihres Systems weiter. MJ

Verfasser: Andreas
Letzte Änderung: 2012-11-29 18:55


Parameter, leicht verständlich aufgeschlüsselt

Problem: Sie sind kein PC-Profi und haben sich daher bislang nicht an die englischsprachigen Bios-Parameter
herangewagt. Nun wollen Sie sich in diese Thematik einarbeiten und suchen nach geeigneten Hilfsmitteln.

Lösung: Empfehlenswert ist das kostenlose, Betriebssystem-unabhängige Bios-Kompendium 5.6, das Sie unter www.
bios-info.de online nutzen oder in verschiedenen Dateiformaten (700 KB bis 1,9 MB) herunterladen können. Das Kom
pendium erläutert anschaulich alle gängigen Optionen zum AMI-, Award- und Phoenix-Bios. Sie finden es auch
auf Heft-CD.

Quelle 3/2003, seite 234

Verfasser: Andreas
Letzte Änderung: 2012-11-29 18:56


PC wiederbeleben

Was tun, wenn der PC nach Veränderungen im BIOS nicht mehr bootet? Ein einfacher Trick hilft, ohne daß Sie den PC öffnen müssen.
Jumperlose Mainboards bieten sehr einfache Möglichkeiten zum Übertakten (Overclocking) von CPU und Platine. So sind der Taktmultiplikator für den Prozessor und der Bustakt schnell verstellt. Auch andere Manöver wie Manipulationen am Speicher- und Cache-Timing sind verführerisch. Wer bei zu gewagten Einstellungen nach dem Reboot vor einem schwarzen Bildschirm sitzt, kann durch einen einfachen Trick das Board wieder mit BIOS-Default-Einstellungen starten. So genügt es bei Platinen mit Award-BIOS, die [Einfg-]Taste gedrückt zu halten und dann den PC einzuschalten. Bei Mainboards mit AMI-BIOS muß entsprechend die [F10]-Taste gedrückt bleiben. Diese Recovery-Funktion funktioniert bei fast allen jumperlosen Mainboards für Slot-1-Prozessoren. Somit erspart man sich das Öffnen des Gehäuses, um das BIOS durch Setzen des CMOS-Clear Jumpers auf Default-Werte zurückzustellen. ME

Verfasser: Andreas
Letzte Änderung: 2012-11-29 18:56


PCI IDE Busmaster

Einstellmöglichkeiten: Enabled, Disabled

Eigentlich ist der Name dieser Option nicht richtig, denn es geht dabei nicht um die Busmaster Fähigkeit des OnBoard IDE Controllers, wie man fälschlicherweise meinen könnte. Tatsächlich dient diese Einstellung dazu den integrierten Treiber für den IDE Controller zu aktivieren, der DMA (Direct Memory Access) Übertragungen ermöglicht.
Ist diese Funktion aktiviert lädt das BIOS einen 16bit bus-mastertreiber für den OnBoard IDE Controller, wodurch dieser seine Daten im DMA Modus übertragen kann. Dies resultiert einerseits in einer deutlich geringeren CPU Auslastung, andererseits auch in deutlich gesteigerter Leistung und Transferraten während des Bootvorgang des Betriebssystems und im DOS Real Mode. Eine weitere Anwendung die davon stark betroffen ist, z.B. Norton Ghost, das in bestimmten Versionen ebenfalls im DOS Modus läuft.
Ist diese Funktion deaktiviert wird der Treiber nicht geladen und der IDE Controller kann seine Daten nur im PIO Modus, bei dem der Prozessor die Arbeit verrichtet, übertra
gen. Daher empfiehlt es sich diese Option immer zu aktivieren um die optimale Leistung zu erzielen.

Quelle: WCM 215, Seite 97

Verfasser: Andreas
Letzte Änderung: 2012-11-29 18:57


Schneller, alter Rechner!

Als Schreibmaschine oder zum Erfassen von Meßwerten reicht Ihr alter 286er-PC, den Sie sogar noch tunen können.
Computer sind immer zu langsam - insbesondere die PCs, an denen Sie sich schon jahrelang eingearbeitet haben. Solche Systeme lassen sich meist mit einfachen Eingriffen in das BIOS erheblich beschleunigen. Das bedeutet Chancen, aber auch Risiken. Ändern Sie deshalb immer nur einen Wert gleichzeitig, damit Sie bei Fehlern die problematische Einstellung erkennen und zurücknehmen können. Die Einstellungen hängen von BIOS-Variante und -Hersteller ab. Doch fünf Vorschläge können Sie in fast jedem PC anwenden:
1. Shadow-RAM aktivieren
Setzen Sie alle Optionen auf enabled, die mit dem Shadowing zu tun haben. Das Verfahren lagert Teile des Systems in den schnellen Arbeitsspeicher aus. Das beschleunigt besonders den Grafikaufbau.
2. Wartezyklen minimieren
Die Option Waitstates sagt aus, wie viele Taktzyklen der Rechner auf den langsamen Arbeitsspeicher warten soll. Die Fabrikeinstellungen sind hier sehr großzügig bemessen. Sie können versuchen, die Wartezyklen schrittweise herunterzusetzen. Bleibt der Rechner im laufenden Betrieb hängen, müssen Sie den Wert wieder erhöhen.
3. ISA-Bustakt erhöhen
Diese BIOS-Option wird oft unterschiedlich bezeichnet. Standardmäßig sind 8 bis 8,33 MHz vereinbart. Die meisten ISA-Karten lassen jedoch höhere Einstellungen zu. Der Wert wird meist als Teiler des CPU-Taktes angegeben. Bei einem alten Rechner mit 40 MHz können Sie den Divisor zur Probe von 5 auf 4 (das entspricht dann 10 MHz ISA-Takt) umstellen.
4. Speichertest abschalten
Das Hochzählen des Speichers bei jedem Bootvorgang ist auf Dauer zeitraubend. Die meisten BIOS-Varianten verfügen über eine Option wie Above 1 MB Memory Test, die Sie auf disabled stellen. Dadurch startet der Rechner schneller. Sie bemerken die Zeitersparnis, wenn Sie den Speichertest mit [Esc] abbrechen.
5. Bootreihenfolge ändern
Gibt es in Ihrem BIOS eine Option namens BootUp Sequence, können Sie hier die Reihenfolge ändern, nach welcher der PC auf die Laufwerke zugreift. Ändern Sie diese von A:, C: auf C:, A:, versucht die Maschine erst gar nicht, von Diskette zu starten. So gewinnen Sie wiederum Zeit. Außerdem vermindern Sie die Infektionsgefahr durch Boosektor-Viren.
AndrI Moritz/et

Verfasser: Andreas
Letzte Änderung: 2012-11-29 18:57


System- und Video Bios Cacheable

Selbst bei den aktuellsten Mainboards findet man im BIOS unter Advanced Chipset Setup noch Optionen wie „System Bios Cacheable" und „Video BIOS Cacheable", die eigentlich kaum noch gebraucht werden. Trotzdem wollen wir Ihnen diesmal erklären was es damit auf sich hat.
System Bios Cacheable erlaubt das Cachen des Bios Rom an der Adresse F0000h bis FFFFFh durch den L2 Cache des Prozessors, wodurch der Zugriff auf das Bios deutlich beschleunigt wird.
Nachdem aber mittlerweile kaum noch ein Betriebssystem über das BIOS mit der Hardware kommuniziert sondern direkt über die Treiber, bringt das ganze auch keine Leistungssteigerung mit sich. Schreibt ein Programm irrtümlich in den Bereich in dem das Bios geca-ched ist, führt dies zu einem Absturz.
Da diese Option also so gut wie keinen praktischen Nutzen hat, deaktiviert man sie am besten und spart den L2 Cache für wichtigere Daten auf. Falls man sie aus irgend einem Grund trotzdem benötigt, sollte man vor einem Bios Update diese Option sicherheitshalber deaktivieren.
Ähnlich verhält es sich bei Video Bios Cacheable, das jedoch nur in Verbindung mit „Video Bios Shadowing" möglich ist. Beim Shadowing wird eine Kopie des Video Bios' in den Hauptspeicher gespeichert. An sich eine gute Sache, wird doch der Zugriff auf das Video Bios schneller und der Verlust an Arbeitsspeicher fällt nicht ins Gewicht.
Wie schon das System Bios wird auch das Video Bios heute kaum mehr wirklich benötigt, da die Kommunikation in aktuellen Betriebssystemen durch den Treiber erfolgt, wodurch diese Maßnahme kein spürbaren Nutzen bringt.
Probleme können auch hier dadurch entstehen, wenn ein Programm in jenen Bereich schreiben will, in dem das Bios abgelegt ist, was sich in einem Absturz äußern kann. Weiters legen viele Mainboard Biose nur einen 32kB Block, der auf C0000h-C7FFFh liegt, im Speicher ab, auch wenn das Video Bios größer ist, wodurch nicht das gesamte Bios im Speicher liegt, was ebenfalls zu Problemen führen kann.
Wie schon bei System Cacheable wird bei Aktivierung dieser Option ein 32kB Block des Video Bios (C0000h-C7FFFh) in den L2 Cache des Prozessors gespeichert, was vor allem ständig hintereinander auftretende Zugriffe wesentlich beschleunigt.
Der Haken an der Sache liegt am Teil des ohnehin nicht gerade großen L2 Caches, der dadurch verloren geht. Beim Arbeitsspeicher fallen ein32kB und mehr nicht wirklich ins Gewicht, beim Prozessor hingegen schon.
Wenn man das Video Bios Shadowing getrennt von Video Bios Cacheable einstellen kann und viel mit alten Spielen die auf DOS basieren oder mit anderer Software die direkt mit dem Bios kommuniziert, kann man Shadowing ruhig aktivieren, während das Caching deaktiviert werden sollte.
Wichtig in diesem Zusammenhang ist noch, dass man bevor man sein Grafikkarten Bios flasht, diese Einstellung deaktiviert wird, um Probleme zu vermeiden.

Quelle: WCM 214, Seite 103

Verfasser: Andreas
Letzte Änderung: 2012-11-29 18:57


Undokumentierte BIOS-Funktionen

Viele Mainboard-Hersteller beschränken die Funktionen des BIOS, damit das System möglichst stabil läuft. Dabei handelt es sich meist um den kleinsten gemeinsamen Nenner. Mit einem kleinen Tool ist diese Sperre zumindest für das AMI-BIOS zu umgehen.
Verschiedene Bereiche des BIOS haben die Hersteller der Hauptplatinen funktional eingeschränkt. Dadurch laufen die Systeme zwar mit fast jeder Kon-figuration, aber sie werden teilweise unnötig gebremst. Das ist ärgerlich, wenn Sie auf die Speichertimings zugrei-fen oder die Boot-Einstellungen genauer verifizieren möchten. Das AMISETUP-Tool hebt diese Sperre für das verbreitete AMI- BIOS auf. Die Datei können Sie von folgender Site aus dem Internet herunterladen:
ftp://ftp.cdrom.com/pub/simtelnet/msdos/sysutl/amis2990.zip

Verfasser: Andreas
Letzte Änderung: 2012-11-29 18:58


Verifying DMI pool data

DMI steht für Desktop Management Interface. Ein DMI-taugliches BIOS verwaltet eine Liste mit Hardware Informationen, die sich per Software sowohl lokal als auch über Netz ausläsen lässt. Die BIOS Meldung "Verifying DMI pool data" ist meist die letzte Meldung, die das BIOS ausgibt, bevor es das Betriebssystem von der Festplatte lädt. Wenn der Rechner an dieser Stelle hängen bleibt, ist das deshalb leider kein Fingerzeig auf einen bestimmten Fehler.

Vielmehr sind zahlreiche Ursachen denkbar:
Möglicherweise ist die Festplatte nicht ansprechbar, weil beispielsweise ein Problem mit der automatischen Erkennung vorliegt oder ein falsches Kabel für den Ultra-ATA/66-Modus verwendet wurde. Auf ein fehlerhafter Master Boot Record (MBR) kann daran schuld sein, der etwa durch einen Virus beschädigt wurde. Das kann man durch Booten von einer DOS-Diskette und den Befehl "fdisk /mbr" oft reparieren.

Helfen diese Tips nicht, kommt man nur mit einer systematischen Fehlersuche weiter, indem man der Reihe nach Hardware-Komponenten entfernt beziehungsweise austauscht.


Quelle: ct 2004 Heft 18, Seite 173

Verfasser: Andreas
Letzte Änderung: 2012-11-29 18:58


Wenn der PC Laufwerke nicht findet...

Beim Hochfahren findet schon das BIOS die Festplatte nicht, im Setup wird sie aber korrekt eingetragen.
Ein Fehler, der einen zum Wahnsinn treiben kann: Im Setup erkennt der Computer alle angeschlossenen Laufwerke einwandfrei. Sobald Sie es verlassen und den Rechner neu starten, werden ein oder mehrere IDE-Laufwerke nicht erkannt. In diesem Fall ist das Kabel entweder defekt oder für die Übertragungsmodi einzelner Laufwerke nicht geeignet. Das kann auch der Fall sein, wenn das Kabel für die höhere Geschwindigkeit ausgelegt ist. Häufig ist entweder der Stecker des Kabels zu sehr in Mitleidenschaft gezogen worden oder das Kabel selbst. Die Folge: Zwar können die Laufwerksinformationen inklusive der maximalen Übertragungsrate vom Setup ausgelesen werden, es ist aber keine Verbindung mehr möglich, wenn die volle Übertragungsrate eingestellt wird. Haben Sie ein zweites Kabel zur Hand, probieren Sie es aus. Wenn nicht, setzen Sie den Übertragungsmodus manuell im BIOS herunter. Funktioniert es dann, muss ein neues Kabel her.

Verfasser: Andreas
Letzte Änderung: 2012-11-29 18:59


Computer » Hardware » Disketten-Laufwerk

Disketten automatisch starten

Das AutoPlay spielt eine CD ab, sobald sie ins Laufwerk fährt. AutoDisk simuliert die Methode für Disketten.
Jede CD-ROM mit dem Windows-95-Logo muß die AutoPlay-Funktion haben, die eine bestimmte Applikation sofort nach dem Einlegen der CD startet. Die meisten Hersteller verwenden dieses Feature dazu, ein Programm von CD zu installieren.
Wer jedoch glaubt, AutoPlay hätte nur etwas mit CD-ROMs zu tun, ist auf dem Holzweg. Jedes Speichermedium - ob Festplatte, Netz- oder Diskettenlaufwerk - läßt sich mit AutoPlay-Funktionalität ausstatten. Besonders bei Disketten bietet sich dies an.
Damit das Betriebssystem einen AutoPlay-Datenträger als solchen erkennt, müssen folgende Grundvoraussetzungen vorliegen:
- Die Hardware oder der Device Driver (Gerätetreiber) des entsprechenden Laufwerktyps muß in der Lage sein, einen Medienwechsel festzustellen.
- Im Hauptverzeichnis des Datenträgers muß sich eine autorun.inf-Datei befinden. Daraus ermittelt das System, welches Programm ausgeführt werden soll.
- Die AutoPlay-Fähigkeit muß systemweit freigeschaltet sein. Das erreichen Sie über den Registry-Eintrag NoDriveTypeAutoRun.
Im folgenden geht es um eine AutoPlay-Funktion bei Diskettenlaufwerken. Dabei fällt auf, daß die "gewöhnliche" Floppy-Hardware keinen Medienwechsel bemerkt und somit die erste Voraussetzung nicht erfüllt. Ein automatischer Programmstart nach dem Einlegen einer Diskette fällt somit aus. Liegen die beiden anderen Voraussetzungen vor, können Sie immerhin mit einem Doppelklick auf das Laufwerkssymbol oder über sein Kontextmenü die AutoPlay-Applikation starten.
Eine sinnvolle Anwendung einer AutoDisk wäre also das automatische Sichern wichtiger Dateien. So könnte ein Doppelklick die Backup-Applikation starten. Von Vorteil dabei ist, daß Sie die Sicherungsdiskette nicht verwechseln können. Aber auch eine MidiDisk ist denkbar, die über ein Programm alle auf ihr gespeicherten MIDI-Dateien abspielt. autodisk.cpp (Listing in Databox 4/98) gestattet nun jedem Anwender, seine eigenen AutoPlay-Disketten zu gestalten.
Wichtig ist, daß Sie das Programm über eine Verknüpfung starten und ihm in der Aufrufzeile die Diskettenlaufwerks-Kennung übergeben:
c:\autodisk.exe a:\autorun.inf
Das Argument a:\autorun.inf in obiger Kommandozeile bewirkt, daß das Programm auf Laufwerk A zugreift, um dort die Datei autorun.inf anzulegen. Die Angabe des Dateinamens ist leider zwingend erforderlich, da sich diese Information nicht mehr in den 1024-Byte-Sourcecode "quetschen" ließ.
Nach dem Programmstart erscheint ein Dialogfenster, in das Sie per Drag&Drop Ihre gewünschte AutoPlay-Applikation ziehen. Das entsprechende Programm-Icon wird daraufhin in der Titelzeile angezeigt und der komplette Programmpfad in die autorun.inf-Datei geschrieben. Das erwähnte Icon sehen Sie später im Explorer als Laufwerkssymbol, womit es sich als AutoDisk zu erkennen gibt.
autodisk.exe akzeptiert also nur Programmdateien mit eigener Icon-Ressource. Wollen Sie aber alle Variationen ausschöpfen, müssen Sie die autorun.inf-Datei manuell editieren. Klicken Sie dazu doppelt auf die Titelzeile des Dialogfensters, um die Datei in den Windows-ASCII-Editor zu laden.
Zu guter Letzt können Sie die AutoPlay-Fähigkeit über den AutoRun-Button de- oder aktivieren.
autorun.inf ist eine normale ini-Datei. Sie enthält meist nur die folgenden drei Einträge: [autorun]
open=path\filename.exe
icon=path\filename.ico
Der Sektionsname [autorun] ist kategorisch. Die Schlüsssel open und icon bestimmen die zu startende Applikation wie zum Beispiel den AutoPlay-Icon. Die Dateien können sich auf der Diskette oder an einer anderen Stelle des Dateisystems befinden.
Als Open-Dateien sind exe, bat und com-Dateien erlaubt. Als Icon-Dateien können Sie ico-, exe- und dll-Dateien angeben. Per Indexangabe greifen Sie auf ein bestimmtes Icon innerhalb einer Datei zu:
icon=shell32.dll,1
Diese Anweisung zeigt auf das zweite Icon der angegebenen Datei, weil die Zählung bei 0 beginnt. Dem Startprogramm können Sie natürlich auch Parameter übergeben. So öffnet die folgende Anweisung eine Texdatei:
open=notepad.exe abc.txt
Im Kontextmenü eines AutoPlay-Datenträgers befindet sich der Befehl AutoPlay, mit dem Sie eine Startapplikation manuell ausführen. Diesem Kontextmenü können Sie weitere Einträge hinzufügen:
shell\verb\command=path\filename.exe
shell\verb=name
Die erste Zeile bestimmt die Anwendung, die Sie ausführen, wenn Sie den im Kontextmenü erscheinenden Befehl name anklicken. verb ist ein Platzhalter für eine eigene Bezeichnung, die den Befehlsnamen mit der Applikation verbindet. Ein Beispiel verdeutlicht dies:
shell\help\command=winhelp.exe abc.hlp
shell\help=&Hilfe
Im Kontextmenü finden Sie nun den Befehl Hilfe, der die Datei abc.hlp öffnet. Das Ampersand-Zeichen & gestattet die Ausführung des Befehls über die Shortcut-Taste H.
Wie bereits erwähnt, bestimmt der Registry-Eintrag NoDriveTypeAutoRun, ob die AutoPlay-Funktion für die jeweilige Hardware aktiviert ist. Es handelt sich um einen 4-Byte-Wert, den Sie im Registry-Editor unter
HKEY_CURRENT_USER\software\microsoft\windows\currentversion\policies\explorer
betrachten können. In der Regel enthält das erste Byte den Wert 0x95. Jedes gesetzte Bit entspricht dabei einem Laufwerkstyp, der von der AutoPlay-Eigenschaft ausgeschlossen wird.
Das zweite Bit DRIVE_REMOVEABLE ist für unser Diskettenlaufwerk verantwortlich. Die Angabe von 0x91 schaltet also AutoPlay für Disketten frei.
Der Ressourcen-Compiler arbeitet mit der Quelldatei auodisk.rc (Listing in Databox 4/98) zufriedenstellend.
Starten Sie Ihre AutoPlay-Disketten über den Arbeitsplatzordner, und aktualisieren Sie den Verzeichnispfad vorher via [F5].
Markus Rath/et

Verfasser: Andreas
Letzte Änderung: 2012-11-29 19:00


Disketten sanieren

Nicht mehr lesbare Disketten müssen Sie, sofern keine mechanische Beschädigung oder Verschmutzung vorliegt, nicht mehr entsorgen.
Manchmal verweigern Disketten mit Fehlermeldungen wie etwa "Spur 0 fehlerhaft, Datenträger unbrauchbar" ihren Dienst. Nach den folgenden Sanierungsmaßnahmen lassen sie sich wieder formatieren:
Stecken Sie die Diskette zur Vermeidung von Arbeitsspuren in einen Briefumschlag oder in ein gefaltetes Blatt Papier. Bestreichen Sie sie durch das Papier hindurch flächendeckend von beiden Seiten mit einem Magneten. Wenn die Diskette eine Metallschiebeplatte hat, drehen Sie die Magnetscheibe in der Diskettenhülle anschließend um etwa 180 Grad und wiederholen die ganze Prozedur. Fertig.
Falls eine Diskette fehlerhafte Blöcke aufweist und dadurch nicht die volle Speicherkapazität hat, läßt sie sich meist auf die gleiche Weise reparieren, wenn die Magnetschicht nicht beschädigt oder verschmutzt ist. Solche Fehler treten oft auf, wenn man den Aufkleber abgezogen und die Klebstoffreste abradiert hat. Durch die beim Radieren entstehende Reibungselektrizität wird die Magnetisierung verändert, so daß die bekannten Fehler auftreten.
Mit obigen Fehlermeldungen müssen Sie auch rechnen, wenn Sie eine 720-KByte-Diskette für 1,44 MByte formatieren wollen oder umgekehrt. Geben Sie also das richtige Format an.
Otto Praxl/lip

Verfasser: Andreas
Letzte Änderung: 2012-11-29 19:01


Flppy LED als Dauerlicht

Nach der Aufrüstung meines Rechners durch ein neues Mainboard leuchtet die LED des Floppy-Laufwerks ständig?

Wahrscheinlich haben Sie den Stecker des Floppy-Kabels um 180 verdreht angeschlossen.

Vorsicht: Solange die LED Dauerlicht zeigt, löscht das Laufwerk jede eingelegte Diskette.

Verfasser: Andreas
Letzte Änderung: 2012-11-29 19:01


Geisterdiskette

Zuweilen greift Windows 95 in regelmäßigen Intervallen auf das Diskettenlaufwerk zu, obwohl keine Diskette eingelegt ist.
Wenn das leere Diskettenlaufwerk angesprochen wird, denkt man zunächst an einen Hardware-Fehler. Tatsächlich ist aber nicht das Laufwerk defekt, der eigentliche Übeltäter ist Windows 95.
Unter Start/Dokumente finden Sie stets eine Liste der 15 zuletzt geöffneten Dateien. Ist darunter eine Datei, die Windows von Diskette gelesen hat oder die auf Diskette gespeichert wurde, können solche ungewollten Laufwerkszugriffe auftreten. Diese Liste an Dokumenten ist schnell bereinigt. Dazu klicken Sie mit der rechten Maustaste auf einen leeren Platz in der Task-Leiste, wählen Eigenschaften und das Register Programme im Menü Start. Nun brauchen Sie nur noch im Abschnitt Dokumente den Button Löschen zu betätigen.
Anschließend ist der entsprechende Ordner Recent im Verzeichnis Windows geleert. Die ungewollten Zugriffe auf nicht vorhandene Disketten haben damit ein Ende.
mp

Verfasser: Andreas
Letzte Änderung: 2012-11-29 19:02


Computer » Hardware » Drucker

Ausdrucke schützen

Verhindern Sie, daß die Ausdrucke Ihres Tintenstrahlers durch äußere Einflüsse beschädigt werden.
Im professionellen Bereich gibt es spezielle Drucknachstufen, bei denen Ausdrucke durch Laminierung (Folienbeschichtung) geschützt werden. Dabei wird insbesondere auf Lichtechtheit und Feuchtigkeitsschutz geachtet.
Zum Beschichten ohne Laminiergerät verwenden Sie einfach klaren Acryllack in Spraydosen. Haarspray wäre zwar auch geeignet, könnte aber je nach Sorte zu einer schnelleren Vergilbung führen. Alternativ können Sie mit Klarlack und Airbrush arbeiten. Und sogar mit einem breiten Pinsel und Lack sind auf einigen Druckmedien gute Ergebnisse möglich. Achten Sie darauf, daß der Lack saugfähige Druckmedien nicht durchtränkt, sonst werden sie durchsichtig.
Bei der Auswahl des Lacks sind Sie auf Fabrikate beschränkt, die die Tinten nicht anlösen. Davon gibt es im Handel eine ganze Anzahl. Lassen Sie sich im guten Fachhandelsgeschäft beraten.
Kai Hamann/lip

Verfasser: Andreas
Letzte Änderung: 2012-11-29 19:04


Brother WL-660: Verschwommener Ausdruck

Gibt der Drucker Text verschmiert und unleserlich aus, ändern Sie die Einstellungen.
Wenn Ihnen bei einem Ausdruck des Brother WL-660 der Text verschwommen erscheint, liegt dies nicht unbedingt an einem übermäßigem Alkoholgenuß. Dieses Symptom zeigt sich vielmehr, wenn Sie Texte mit der APT-Funktion (Advanced Photoscale Technology) des WL-660 ausgeben.
Die APT-Funktion ist nur zum Drucken von Fotos vorgesehen. Wählen Sie über Einstellungen/Drucker das Kontextmenü des WL-660 an. Über das Register Druckqualität finden Sie die Einstellung für Druckoptimierung. Wählen Sie dort manuell. Klicken Sie auf Einstellung, und aktivieren Sie unter Grafikqualität die Option Fotos. Der nächste ausgedruckte Text dürfte dann wieder gut lesbar sein.
mj

Verfasser: Andreas
Letzte Änderung: 2012-11-29 19:04


Canon BJC 620: Probleme mit ZIP-Drives

Der gleichzeitige Betrieb eines Canon Tintendruckers und eines Iomega ZIP-Laufwerks bringt Probleme.
Der gleichzeitige Betrieb des Iomega-ZIP-100-Laufwerks an demselben Interface ist mit dem BJC 620 nicht möglich. Allerdings hat Canon einen dahingehend modifizierten Treiber entwickelt, den Sie kostenlos im Internet unter
www.ccsi.canon.com
erhalten.
ib

Verfasser: Andreas
Letzte Änderung: 2012-11-29 19:04


Compaq Deskpro: Nur halbe Ausdrucke

Erhalten Sie bei Ihrem Compaq Deskpro unter Windows 95 nur einen zerstückelten Ausdruck, so liegt es am Schnittstellentreiber.
Verwenden Sie mit Ihrem Compaq Deskpro 2000, 4000 oder 6000 einen Laserdrucker, der ECP unterstützt, so erhalten Sie immer nur abgeschnittene Ausdrucke. Grund dafür ist der vorinstallierte Schnittstellentreiber lpt.vbx. Das einfachste Workaround zu diesem Problem: Deaktivieren Sie den ECP-Modus im Druckertreiber. Compaq bietet in ihrem Service-Pack SP2345 eine Lösung an. Sie finden es auf dem amerikanischen WWW-Server unter
www.compaq.com/support/files/
ib

Verfasser: Andreas
Letzte Änderung: 2012-11-29 19:05


DOS-Box - Kein Problem

Ohne Optionen druckt es sich leichter aus der DOS-Box.
Wenn Sie mit Ihrem Drucker unter Windows 95 Probleme beim Drucken aus der DOS-Box haben, sollten Sie die Einstellungen für den Anschluß überprüfen. Wechseln Sie dazu in die Eigenschaften und dort auf die Anschlußeinstellungen. Standardmäßig sind dort die beiden Checkboxen DOS-Auftrag zwischenspeichern und Anschluß vor dem Druck überprüfen aktiviert. Deaktivieren Sie beide Einstellungen.
mj

Verfasser: Andreas
Letzte Änderung: 2012-11-29 19:05


Drucker bricht ab

Manche ältere Druckermodelle, die an moderne Rechner angeschlossen sind, brechen den Druck bereits bei der ersten Seite ab. Das kann an den BIOS-Einstellungen liegen.
Aktuelle BIOS-Versionen können die parallele Schnittstelle in drei verschiedenen Modi betreiben:
SPP (Standard Parallel Port),
EPP (Enhanced Parallel Port)
und ECP (Extended Parallel Port).
In der Regel empfiehlt sich, ECP zu verwenden, da dieser Port den Druckvorgang durch einen 16 KByte großen FIFO-Puffer (First In First Out) und DMA (Direct Memory Access) beschleunigt und den Rechner entlastet vorausgesetzt, der Drucker beherrscht ebenfalls ECP. Ältere Nadel- oder Tintenstrahldrucker kennen diesen Modus nicht, und es kommt zum Abbruch des Druckvorgangs. Stellen Sie in diesem Fall im Setup des PC-BIOS im Menü Integrated Peripherals den Eintrag Parallel Port Mode auf SPP oder EPP. Dann dürfte auch der alte Drucker wieder laufen.

Verfasser: Andreas
Letzte Änderung: 2012-11-29 19:06


Drucker mit gestauter Ausgabe

Auf Ihrem Canon BJC-4300 wird der Text auf der linken Seite des Papiers zwar vollständig, aber stark zusammengestaucht ausgegeben.
Ihr Canon-Drucker beschert Ihnen einen verkleinerten Ausdruck, obwohl das Original 1:1 gedruckt werden soll? Dieses Phänomen tritt dann auf, wenn Sie im Druckertreiber eine falsche Pa-trone eingestellt haben. Achten Sie deshalb darauf, daß die installierte Fotopatrone im Treiber auch explizit angewählt ist, bzw. wenn Sie eine übliche Farbpatrone verwenden, daß diese aktiviert ist. MJ

Verfasser: Andreas
Letzte Änderung: 2012-11-29 19:06


Drucker mögen's nicht heiß

Verklebte Druckerköpfe vermindern die Qualität der Ausdrucke. Manchmal ist die Heizung schuld.
Dass die feinen Düsen eines Tintenstrahldruckers bei langen Standzeiten durch eingetrocknete Tinte verkleben können, ist bekannt. Was die meisten nicht wissen: Auch der Standort trägt dazu bei, wie gut sich die Tinte hält. Steht der Drucker in der Nähe einer Wärmequelle oder ist er oft direkten Sonnenlicht ausgesetzt, trocknet die Tinte erheblich schneller ein. Besonders nachgefüllte Tintenpatronen neigen zum Verkleben. Am besten stellen Sie das Gerät daher schattig und nicht gerade neben einer Heizung auf. Ob die Patrone verstopft ist, sieht man, wenn im Ausdruck horizontale Streifen zu sehen sind, die nicht oder nur wenig bedruckt sind. Druckt der Tintenstrahler nur noch weiße Seiten, kann ebenfalls die Tinte eines Fremdherstellers verantwortlich sein. Bei Originaltinte sind die Farbstoffe vollkommen gelöst, bei wieder befüllten Patronen kann je nach Hersteller pigmentierte Tinte zum Einsatz kommen. Die Farbpigmente können einen Düseninfarkt auslösen. Der Kopf muss dann meist ausgetauscht werden, und das schlägt gleich mit 150 bis 200 Mark zu Buche. Beim Einsatz von Fremdtinte sollten Sie darauf achten, dass sie nicht pigmentiert ist.

Verfasser: Andreas
Letzte Änderung: 2012-11-29 19:06


Drucker zieht Papier falsch ein

Bei älteren Druckern kann es passieren, dass Seiten nicht mehr richtig eingezogen werden. So stellen Sie den Mangel ab.
Oft zieht ein älterer Drucker Seiten nicht nur schräg ein, sondern gleich mehrere auf einmal ein. Das führt zum Papierstau, mindestens aber zu verkorksten Ausdrücken. Eine einfache Methode, den Einzug zu verbessern, besteht darin, die Gummirollen mit Alkohol zu reinigen, um den Griff zu verbessern. Hilft auch das nicht, gibt es ein drastisches und riskantes Verfahren: Mit feinem Schmirgelpapier können Sie die Rollen vorsichtig bearbeiten, um sie etwas rauer zu machen. Werden vom Drucker mehrere Blätter gleichzeitig eingezogen, sollten Sie darauf achten, dass sämtliche Rollen behandelt werden auch die unteren Rollen, die überzählige Blätter vom zu bedruckenden Blatt lösen.

Verfasser: Andreas
Letzte Änderung: 2012-11-29 19:07


Druckerspeicher reicht nicht

Mein Laserdrucker meldet "zu wenig Arbeitsspeicher" und gibt eine unvollständige Seite aus, obwohl der Druckjob nur 120KB groß ist und das Gerät 2 MB internen Speicher hat.

Neben der Job Datei muss der Drucker in seinem Speicher ein vollständiges Abbild der auszugebenden Seite aus einzelnen Pixeln interbringen. Eine A4 Seite beansprucht schon bei 300 dpi im Monochrom-Druck gut ein Megabyte Pufferkapazität; bei 600 dpi vervierfacht sich das auf 4 MB. Durch Komprimierungstricks spart der Drucker zwar Speicher, jedoch reicht das bei komplexen Seiten oft nicht. Für eine Auflösung von 600 dpi liegt man daher erst mit 6 MB Druckerspeicher auf der sicheren Seite.


Quelle: ct 2003, Heft 4, Seite 188

Verfasser: Andreas
Letzte Änderung: 2012-11-29 19:08


Druckmedien selbst beschichten

Manche Medien müssen Sie zuerst beschichten, bevor Tintenstrahler auf ihnen drucken.
Wer nicht auf Papier drucken möchte, sollte folgendes beachten: Metallisierte Folie nimmt keine Tinte auf, und auf dünnem Stoff verläuft sie zu stark. Erst nach dem Auftragen einer speziellen Lösung bedruckt ein Tintenstrahler solche Materialien problemlos.
Für die Basislösung brauchen Sie 50 ccm Wasser, 100 ccm 70prozentiges Isopropanol, 10 Gramm Gelatine und etwas Kalialaun (in jeder Apotheke erhältlich). Lassen Sie die Gelatine im Wasser fünf Minuten quellen, und schmelzen Sie sie anschließend in einem Wasserbad. Wenn die Lösung klümpchenfrei ist, nehmen Sie sie aus dem Wasserbad und lösen eine Messerspitze Alaun
darin auf. Geben Sie zuletzt unter ständigem Rühren das Isopropanol hinzu. Die fertige Lösung streichen oder tupfen Sie mit einem Pinsel auf das Druckmedium.
Jetzt verfahren Sie wie mit herkömmlichen Druckmedien. Dabei sorgt das Isopropanol auf wasserabweisenden Materialien für eine bessere Benetzung. Das Alaun wirkt als Festiger für die Gelatine. Wie dick diese Mixtur aufzutragen ist, hängt vom Material ab (Oberflächenbeschaffenheit). Auch die Anteile der Stoffe können je nach Einsatz variieren. Um die optimale Zusammensetzung zu finden, brauchen Sie etwas Geduld.
Auch andere Stoffe als Gelatine eignen sich zum Beschichten von Druckmedien. Kartoffelstärke zum Beispiel hat auch im technischen Bereich ihre Bedeutung: Die ersten Farbfilme waren mit eingefärbter Kartoffelstärke beschichtet.    Kai Hamann/lip

Verfasser: Andreas
Letzte Änderung: 2012-11-29 19:08


Epson meldet kein Papier

Trotz erfolgreicher Installation und eingelegtem Papier meldet der Epson Stylus noch Mängel.
Sie haben den Druckertreiber Windows-95-gemäß über die Systemsteuerung und Neuer Drucker installiert. Das genügt nicht: Sie müssen den Epson-Treiber über die setup.exe von der Treiber-Disk ausführen.
mj

Verfasser: Andreas
Letzte Änderung: 2012-11-29 19:09


Epson-Tintenpatronen wieder befallen

Problem: Die Patronen Ihres Epson-Tinten-strahlers werden beim Fotodruck schnell leer. Sie suchen deshalb nach einer kostengünstigen Alternative zu den recht teuren Originalpatronen.

Lösung: Den Einsatz von Nachfülltinte und Patronen von Fremdanbietern hat Epson erschwert. Seit 2001 nutzen Epsons Tintenstrahler eine Technik namens Intellidge. Ihr Kernstück ist ein Mikrochip auf den Epson-Patronen, der dem Drucker permanent den Füllstand des Tanks übermittelt. Sobald der Chip eine leere Patrone meldet, verweigert der Tintenstrahler weitere Druckaufträge - auch wenn Sie die Patrone wieder auffüllen. Der Chip lässt sich aber austricksen. Bequem geht das mit dem SSC Service Utility 3.61. Mit der englischsprachigen Freeware programmieren Sie den Chip neu. Das Tool unterstützt fast alle alten und viele neue Epson-Modelle. Eine Übersicht finden Sie unter www.ssclg.com/epsone.shtml. Falls Ihr Drucker fehlt, versuchen Sie es mit einem Resetter. Sie müssen nur dessen Kontakte ein paar Sekunden gegen den Chip drücken, um ihn neu zu programmieren. Resetter gibl's für fast alle neuen und viele ältere Epson-Modelle (Anbieter etwa: www.druckertinte.de).

Quelle: PC-Welt 8/2004, Seite 222

Verfasser: Andreas
Letzte Änderung: 2012-11-29 19:09


Falschmeldung des Druckers

Die Drucker Epson Stylus 820, 1500, Color, Color IIs und Color II täuschen über ihren Papiervorrat.
Stellen Sie sich vor: Sie haben in Ihren Drucker genug Papier eingelegt, und trotzdem erscheint die Meldung
Kein Papier im Drucker
Das kann bei den Druckern Epson Stylus 820, 1500, Color, Color IIs und Color II vorkommen. In diesem Fall haben Sie den Druckertreiber Windows-gemäß über die Systemsteuerung/ Drucker hinzufügen installiert.
Um das Problem zu beheben, sollten Sie den Treiber aus dem Wincol-Verzeichnis der Treiber-CD/-Diskette mit setup.exe installieren. Nur so ist sichergestellt, daß allle Optionen des Epson-Treibers funktionieren. Entfernen Sie vorher den über die Systemsteuerung installierten Treiber. Danach dürfte die Meldung nicht mehr erscheinen, solange Papier im Drucker ist.
mj

Verfasser: Andreas
Letzte Änderung: 2012-11-29 19:10


Farben stimmen nicht überein

Was tun, wenn sich die Farbausgabe des Epson Stylus Color nicht mit der Darstellung auf dem Monitor deckt?
Technologisch bedingt, kann es zu Unterschieden zwischen der Farbdarstellung auf dem Monitor und der Ausgabe beim Druck des Epson Stylus Color kommen. Wechseln Sie im Epson-Druckertreiber auf das Register Dokumentenart, und deaktivieren Sie hier die Voreinstellung automatisch. Über das Register Halbton können Sie nun eine Halbton-Diffused-Methode wählen, die das Druckergebnis der Monitordarstellung annähert.
mj

Verfasser: Andreas
Letzte Änderung: 2012-11-29 19:10


Farblaserfolien mit schlechter Qualität

Manche Präsentationsfolie macht auf dem Overhead-Projekter keinen guten Eindruck. Grund dafür kann der Farblaserdrucker sein.
Farblaser eignen sich hervorragend für Overhead-Folien. Frisch aus dem Drucker kommen sie mit leuchtenden Farben, legt man sie auf den Projektor, erscheinen nur noch dunkle und trübe Farben. Der Grund: Durch die Farbtoner- Partikel wird das Licht abgelenkt. Die Folie wirkt wie eine Streuscheibe. Manche Drucker bieten in ihrem Treiber eine Option für Foliendruck, die den Tonerauftrag sehr veringert. Gibt es diese Option nicht, hilft ein kleiner Trick: Bedrucken Sie die Folie spiegelverkehrt, und legen Sie sie mit der bedruckten Seite nach unten auf den Projektor. Nun wird das Licht immer noch durch die Partikel gestreut, aber die Schicht der Folie bündelt das Licht wieder ein wenig, so dass die Farben leuchtender erscheinen. Der zweite Vorteil: Sie können mit einem Folienstift auf der Folie arbeiten und das Geschriebene wieder abwischen, ohne den Aufdruck zu gefährden.

Verfasser: Andreas
Letzte Änderung: 2012-11-29 19:10


Farbwelten

Obwohl die Farblaserdrucker CMYK-Toner verwenden, sollten Sie dem Printer für eine bessere Druckqualität RGB-Daten schicken.
Die meisten Desktop-Laserfarbdrucker produzieren die beste Ausgabe, wenn sie RGB-Daten erhalten. CMYK (Cyan, Magenta, Gelb, Schwarz) wird hauptsächlich in der kommerziellen Druckbranche verwendet. Bevor beispielsweise Photoshop zu einem kommerziellen Drucker druckt, muß es von einem Grafiker konfiguriert werden. Falls Ihr Photoshop nicht ordnungsgemäß konfiguriert wurde, wechseln Sie nicht zu CMYK. Der Konfigurationsvorgang ist komplex, und hierfür wird normalerweise ein Farbmeßinstrument wie z.B. ein Spektrofometer benötigt. Vergessen Sie außerdem nicht, daß das Wechseln von Farbmodellen einen Datenverlust zur Folge haben kann. Die Farbskalen sind für jedes Modell unterschiedlich, und wenn Sie zu einem kleineren Modell wechseln, können die Daten nicht wiederhergestellt werden. Da CMYK eines der kleinsten Farbmodelle ist, sollten Sie erst unmittelbar vor dem Drucken in diesen Modus wechseln. Einige Drucker benutzen zu dieser Umwandlung spezielle Software, etwa die ColorSmart Software bei HP.
lip

Verfasser: Andreas
Letzte Änderung: 2012-11-29 19:11


Haltbare Druckköpfe

Bei vielen Druckern trocknen die Köpfe nach einiger Zeit ein. Ein Frühjahrsputz beugt vor.
Bei einigen Druckern schützen die Konstrukteure den Druckkopf mit einer luftdicht abschließenden Gummikappe vor dem Austrocknen. Deshalb sollte man den Rechner nicht einfach vom Netz trennen, sondern ordnungsgemäß ausschalten. Dabei fährt der Kopf in die Parkposition vor der Gummimuschel. Da beim Ein- und Ausparken der Kopf Tinte mal trocken und mal feucht ab-schmiert, schließt die Kappe durch den Dreck nicht mehr sauber ab. Die Folge: Der Kopf trocknet schneller ein. Dem Druckkopf geht es besser, wenn Sie die Gummidichtung ab und zu mit einem Wattestäbchen und Isopropanol (gibt's in der Apotheke) reinigen und Tintenklumpen entfernen. Waschbenzin sollten Sie nicht verwenden, da es das Gummi angreift.

Verfasser: Andreas
Letzte Änderung: 2012-11-29 19:11


HP Color LaserJet - Keine Muster in Office 97

Druckt Ihr HP-Farblaser aus Office 97 heraus keine Muster, brauchen Sie einen neuen Druckertreiber.
Wer gefüllte Objekte aus Office 97 auf seinem HP LaserJet Color nur als Umrisse erhält, der benötigt einen neuen, an Microsofts Bürolösung angepaßten Druckertreiber. Dieser sollte mindestens die Version 1.3 haben. Sie finden ihn zum kostenlosen Download im Internet unter
www.hp.com
ib

Verfasser: Andreas
Letzte Änderung: 2012-11-29 19:12


HP DeskJet und das Web

Beim Versuch, Seiten direkt aus Ihrem Web-Browser auszudrucken, stellt sich der HP Deskjet stur. Was tun?
Folgende Effekte können auftreten, wenn Sie HTML-Seiten direkt aus dem Browser auf den HP DeskJet ausgeben wollen: Der Ausdruck stimmt nicht mit der Bildschirmanzeige überein, der Drucker gibt leere Seiten aus, oder er reagiert erst gar nicht auf den Druckauftrag.
Es gibt zwei Lösungswege:
- Speichern Sie die HTML-Datei, und öffnen Sie sie für den Ausdruck in einer anderen Anwendung, etwa in Ihrem Office-Paket.
- Verwenden Sie statt der HP- die Standardtreiber von Windows 95 (siehe Tabelle, PC Magazin 10/97, Seite 169).
mj

Verfasser: Andreas
Letzte Änderung: 2012-11-29 19:12


HP-DeskJet-Drucker mit Speicherproblemen

Die Zusammenarbeit zwischen Microsoft Office 95 und 97 und zahlreichen DeskJet-Modellen kann zu Speicherengpässen führen.
Arbeiten Sie mit einem der Office-Pakete von Microsoft und verwenden gleichzeitig einen der unten aufgeführten Drucker von Hewlett-Packard, können Ihnen Fehlermeldungen, die auf unzureichende Speicherressourcen deuten, Probleme bereiten.
Insbesondere wenn Sie Microsoft Word als Editor für Ihre E-Mails einsetzen, treten gehäuft Fehlermeldungen wie
Ihr Dokument konnte nicht gedruckt werden wegen eines Fehlers am...
auf. Die Speicherknappheit tritt mit folgenden Hewlett-Packard-DeskJet-Modellen auf: 660C, 672c, 680C, 694C, 820, 820C, 820CE, 870Cse, 870Cxi, 890c und dem LaserJet 6P. Da derzeit weder von Microsoft noch von Hewlett-Packard abschließend geklärt wurde, wo die Ursache des Problems liegt, können Sie lediglich verschiedene Vorsichtsmaßnahmen treffen.
Den wirksamsten Schutz vor Fehlermeldungen erreichen Sie, wenn Sie einen anderen Drucker, als die genannten, als Standarddrucker festlegen. Darüber hinaus sollten Sie in den Office-Programmen möglichst auf die Druckvorschau verzichten.
Unter Umständen beseitigt ein älterer oder der neueste Treiber für Ihr Druckermodell das Problem. Im Internet finden Sie die Treiber unter
www.hp.com
zum Download. Dort lesen Sie auch Seiten in deutscher Sprache.
mp

Verfasser: Andreas
Letzte Änderung: 2012-11-29 19:13


HP: Druckt nicht unter NT 4.0

Bei Druckern der LaserJet-4000-Serie kommt es zu Druckproblemen unter Windows NT 4.0.
Haben Sie einen HP LaserJet 4000 im Einsatz, kann es vorkommen, daß NT den Zugriff auf LPT1 verweigert. Abhilfe schaffen Sie, indem Sie in der Systemsteuerung das Dienste-Modul starten. Halten Sie den Spooler-Dienst an. Suchen Sie nun auf Ihrer Festplatte nach der Datei hpdcmon.dll, und löschen Sie alle Dateien dieses Namens.
mj

Verfasser: Andreas
Letzte Änderung: 2012-11-29 19:13


Kein Druck unter MS-DOS

Der Canon BJC-7000 druckt nicht von Haus aus an der MS-DOS-Eingabeaufforderung unter Windows 95/98.
Um den Drucker Canon BJC-7000 unter MS-DOS betreiben zu können, benötigen Sie die LQ-Emulations-Software der Treiber-CD. Diese Software muß, falls Windows 95/98 als Betriebssystem eingesetzt wird, im MS-DOS Modus (nicht MS-DOS-Eingabeaufforderung) installiert werden. Nach erfolgreicher Installation und Konfiguration der LQ-Emulations-Software sollte die Meldung
The TSR driver for Real Mode Printing/Batch Print was embedded in memory
erscheinen.
Dann können auch pure DOS-Anwendungen auf den Drucker zugreifen. In der Anwendung muß ein LQ-Drucker - üblicherweise ein Epson LQ-Modell - installiert sein.
mj

Verfasser: Andreas
Letzte Änderung: 2012-11-29 19:14


Kein Drucken aus der DOS-Box

Ihr Drucker arbeitet einwandfrei, wenn Sie DOS hochfahren. Sobald Sie jedoch aus der DOS-Box von Windows drucken, bekommen Sie die Fehlermeldung, daß der Drucker belegt ist.
Zahlreiche Drucker besitzen mittlerweile sogenannte Status-Monitore, die per Autostart-Gruppe stets aktiv sind und über den Status des Druckers berichten. Diese Utilities halten über die bidirektionale Druckerschnittstelle ständig Kontakt zum Drucker und fragen den Status ab. Deshalb bekommt die DOS-Box die Meldung, daß der Drucker bereits von einem anderen Programm benutzt wird. Drucken Sie häufig aus DOS, sollten Sie das Programm aus Autostart entfernen. Um aus der DOS-Box zu drucken, müssen Sie das Monitorprogramm beenden.
mj

Verfasser: Andreas
Letzte Änderung: 2012-11-29 19:14


Fehlermeldung "Keine Tintenpatrone vorhanden" beheben

Sie wollen nach einigen Tagen Pause wieder mal eine Seite auf ihrem Drucker zu Papier bringen. Obwohl sich noch fast neue Patronen im Schacht befinden, kommt nur die Fehlermeldung: Im "Halter befinden sich keine Tintenpatronen".

Meist handelt es sich hierbei um Kontaktprobleme. Nehmen Sie die Patrone aus dem Drucker und reinigen Sie deren Kontakte und die der Patronenhalterung vorsichtig mit einem Tuch. Bleibt das Problem weiter bestehen, kann zusätzlich aufgebrachtes Kontaktspray den gewünschten Erfolg bringen.


Quelle: Chip Juli 2003, Seite 198

Verfasser: Andreas
Letzte Änderung: 2012-11-29 19:15


Laserdrucker: Toner für den Notfall

Problem: Weiße Streifen verunzieren seit neuestem Ihre Ausdrucke und zeigen Ihnen unmissverständlich an,
dass der Toner Ihres Laserdruckers zur Neige geht. Ärgerlicherweise haben Sie aber gerade keinen Ersatz zur
Hand, andererseits müssen Sie aber noch dringend sofort und auf der Stelle ein paar Seiten ordentlich zu Papier
bringen.

Lösung: Tonerkartuschen werden nie gleichmäßig geleert. An manchen Stellen befindet sich immer noch genügend
Toner, während er an anderen fehlt (weiße Streifen im Ausdruck). Sie müssen nur den Resttoner gleichmäßig im
Behälter verteilen, in der Regel können Sie dann noch einige Seiten fehlerfrei drucken. Nehmen Sie die Kartusche
vorsichtig aus der Halterung. Haben Sie eine Tonerkartusche, die von der Belichtereinheit getrennt ist, müssen
Sie zuvor die Kartusche per Riegel schließen (siehe Handbuch).
Halten Sie die Kartusche waagerecht, und schwenken Sie sie leicht hin und her. Beachten Sie aber, dass dabei
Toner aus treten kann! Legen Sie deshalb eine Zeitung unter. Der Resttoner verteilt sich nun gleichmäßig und
reicht in der Regel für einige fehlerfreie Seiten. Achten Sie beim Einbau darauf, dass Sie die Kartusche nicht
kippen. Der Toner würde sonst auf eine Seite rutschen, und die Aktion wäre umsonst gewesen.

Quelle: PCW 3/2003,Seite 234

Verfasser: Andreas
Letzte Änderung: 2012-11-29 19:15


Laserdrucker: Flecke entfernen

In regelmäßigen Abständen ist auf dem Laser-Ausdruck ein Fleck zu sehen. So entfernen Sie Flecken.
Was tun bei hässlichen Flecken auf dem Ausdruck? Für gewöhnlich entspricht der Abstand zwischen diesen Flecken genau dem Umfang der Halbleitertrommel. Ist diese verschmutzt, führt dies dazu, dass sich an dieser Stelle Toner ansammelt. Der wird auf den Ausdruck übertragen. Bauen Sie die Belichtereinheit aus und überprüfen Sie, ob sich an der Trommel Schmutz befindet. Allerdings dürfen Sie diese nie mit bloßen Fingern berühren oder zu lange dem Licht aussetzen. Wenn Sie einen Fleck gefunden haben, versuchen Sie, ihn mit einem trockenen, fusselfreien Tuch vorsichtig zu entfernen. Erscheint der Fleck nach einiger Zeit erneut, kann ein Wischer defekt sein. Auch diesen können Sie erneuern. Dieser Prozedur sollte man nur ältere Drucker unterziehen.

Verfasser: Andreas
Letzte Änderung: 2012-11-29 19:16


Laserdrucker: Nicht wirklich grau

Falls Ihr Laserdrucker Graustufen nicht korrekt wiedergibt, muß das nicht unbedingt ein Problem des Druckwerks sein.
Was tun, wenn Ihr Laserdrucker die Graustufen des Originals nicht entsprechend umsetzt? Wechseln Sie in das Kontextmenü des Druckers, und wählen Sie unter Einstellungen die Option Grafik/fein. Hat der Drucker dann immer noch Probleme mit der Ausgabe heller Grauwerte (beispielsweise 10 Prozent), hilft ein Herunterfahren der Druckdichte - etwa auf 60 Prozent.
mj

Verfasser: Andreas
Letzte Änderung: 2012-11-29 19:16


Zu wenig Speicher

Laserdrucker mit wenig Speicher kommen bereits bei Excel-Sheets ins Schleudern. Verringern Sie die Auflösung.
Ganzseitige Excel-Spreadsheets bringen so manchen schwach bestückten Laserdrucker schnell ins Schwitzen, vor allem wenn grafische Elemente wie Rahmen oder Zellenmuster enthalten sind. Im Gegensatz zu Tintenstrahldruckern müssen Laserdrucker die Seite als Raster komplett in ihrem Speicher aufbauen. Reicht der Speicher nicht einmal für das Drucken aus Excel, setzen Sie die Druckauflösung herunter. Nehmen Sie statt 600 dpi nur 300 dpi, reduzieren Sie damit den Speicheraufwand auf ein Viertel. Dazu öffnen Sie die Eigenschaften des Druckers im Menü Start/Einstellungen/ Drucker mit einem Klick der rechten Maustaste auf das Drucker-Icon. Je nach Druckertreiber finden sich die Einstellungen in einem Menüpunkt wie Einrichten oder Setup. Hier stellen sie die Auflösung niedriger ein und probieren den Ausdruck erneut. Falls der Speicher trotz der niedrigen Auflösung noch immer nicht ausreicht, entfernen Sie die grafischen Elemente aus dem Spreadsheet. Dadurch geht die Übersichtlichkeit etwas verloren, aber Sie haben Ihre Daten zumindest auf Papier.

Verfasser: Andreas
Letzte Änderung: 2012-11-29 19:17


Mehrere Generationen

Bevor Sie Windows 95 mit sämtlichen Anwendungen neu installieren, versuchen Sie einen leichteren Weg.
Eine defekte Registrierdatenbank kann unter Windows 95 bekanntlich das Aus für ein bislang funktionsfähiges System bedeuten. Nur mit erheblichem Aufwand läßt sich ein solches System wiederbeleben - im Extremfall müssen Sie Windows 95 sogar von Grund auf neu installieren. Wer unter Windows 95 häufig Software aufspielt und wieder deinstalliert, wer übernommene oder eigene reg-Dateien durch Doppelklick in die Registrierdatenbank integriert oder wer die Registrierdatenbank manuell ändert, der sollte zuvor system.dat und user.dat sichern.
Sie können hierfür den Inhalt der gesamten Registrierdatenbank in eine ASCII-Datei (etwa name.reg) exportieren. Diese Datei läßt sich dann aus Windows 95 oder auch von der DOS-Ebene aus wieder importieren und damit die alte Registrierdatenbank restaurieren. Dazu müssen Sie allerdings die gesamte Registrierdatenbank und nicht nur einen ihrer Zweige exportieren; andernfalls würde der Schaden durch den Import nur noch größer.
Am einfachsten sichern Sie system.dat und user.dat, indem Sie die Dateien in ein spezielles Verzeichnis kopieren. Im Schadensfall - nach dem Rechnerstart im DOS-Modus - kopieren Sie diese dann wieder in das Windows-Verzeichnis zurück. Damit sollte Windows 95 wieder korrekt starten.
Bei häufigen Aktionen der eingangs genannten Art kann es sogar nützlich, ja wünschenswert sein, Kopien aufeinanderfolgender Generationen der Dateien system.dat und user.dat zu besitzen. 5gensich.bat (Listing in Databox 11/97) löst diese Aufgabe für maximal fünf Generationen, wobei Sie zusätzlich system.ini und win.ini sichern. Die Kopien der jeweils aktuellen Version der vier Dateien sollen im weiteren die Kennung 5 erhalten.
Die Zeilen 3 und 4 wechseln in das Verzeichnis mit den künftigen Sicherungskopien. Zeile 8 prüft dann, ob dort bereits Dateien mit der Kennung 5 vorhanden sind; wenn ja, wird nach Zeile 18 verzweigt, wenn nein, wird mit Zeile 9 fortgesetzt. Gibt es noch keine fünf Generationen an Kopien, so werden die bereits vorhandenen Kopien durch einfaches Umbenennen verschoben (Zeilen 20 bis 23); andernfalls wird zuvor die älteste Generation gelöscht (Zeile 19). Zeile 24 bewirkt dann den Sprung zur Kopieraktion.
Nun wird die aktuelle Version der vier Dateien in das gewählte Verzeichnis kopiert (Zeilen 11 und 14). Damit der copy-Befehl hierbei system.dat und user.dat erkennt, sind ihre Attribute RSH vorher zu löschen (Zeile 10). Danach setzt Zeile 15 sie zur Sicherheit wieder zurück. Zeile 17 verhindert eine erneute Durchführung der Lösch- und Schiebeaktion. Die Zeilen 1, 2, 5 bis 7 und 16 dienen lediglich der Nutzerfreundlichkeit. In den Zeilen 4 und 10 bis 15 sind Laufwerk und Pfad Ihren Bedingungen anzupassen.
Prof. Dr. O. Becker/et

Verfasser: Andreas
Letzte Änderung: 2012-11-29 19:17


Nicht genug freier Speicher

Hohe Auflösungen und Farbtiefen erfordern reichlich Speicherplatz.
Wundern Sie sich nicht, wenn Sie beim Ausdruck einer A4-Seite mit 24 Bit Farbtiefe und einer Auflösung von 720 dpi die Fehlermeldung Nicht genügend Speicher
bekommen. Einige Programme benötigen für den Ausdruck einer derart komplexen Datei leicht mal 150 MByte freien Festplattenplatz. Stellen Sie sicher, daß dies gewährleistet ist. Überprüfen Sie gegebenenfalls die Festplatte auf die Ihr Spoolverzeichnis verweist.
mj

Verfasser: Andreas
Letzte Änderung: 2012-11-29 19:17


Papierstaus vermeiden

Sorgen Sie immer für einen einwandfreien Papiereinzug, damit Ihnen kostenträchtige Druckerreparaturen erspart bleiben.
Schnell ist ein Papierstau entstanden. Besonders bei Laserdruckern bereitet es mitunter Schwierigkeiten, entstandene Schäden zu beheben. Bleibt dann noch ein Papierschnipsel hängen, ist ein Defekt an der Druckeinheit vorprogrammiert.
Dabei lassen sich die meisten Papierstaus vermeiden, wenn Sie folgende Punkte berücksichtigen:
- Lassen Sie das Papierfach nicht zu voll werden. Lockern Sie bei jedem Nachfüllen die Papierzuführung, um eventuell aneinander hängende Blätter zu lösen.
- Passen Sie die Schienen der Papierzuführung bei der Einzelblattzuführung der Papiergröße entsprechend an. Stellen Sie auch die Größe der Papierkassette richtig ein.
- Zu schweres oder zu leichtes Papier beziehungsweise nicht für den Drucker geeignete Papiergrößen können neben einem Papierstau folgenschwere Schäden an Papierwalzen und Druck-Engine verursachen.
- Nur für Laserdrucker geeignete Papiersorten sorgen für einen fehlerfreien Durchlauf. Zu glattes Papier bietet keine ausreichende Reibung. Papier mit zu vielen Stoffanteilen verschmutzt nicht nur die Belichtungseinheit, sondern erschwert auch den Papiertransport.
Insbesondere bei Druckern mit höherer Geschwindigkeit kommt es auf das richtige Lagern des Papiers an. Zu feuchtes oder zu trockenes Papier wirkt sich nachteilig auf die Zuführung aus und führt zu schlechter Druckqualität.    lip

Verfasser: Andreas
Letzte Änderung: 2012-11-29 19:18


PCL5-Laserdrucker: Schneller drucken

Mit nur wenigen Mausklicks erzielen Sie problemlos schnellere Druckzeiten.
Ihre Texte werden schneller ausgedruckt, wenn Sie eine im Treiber vor-handene Option aktivieren. Diese finden Sie zum Beispiel bei folgenden PCL5-Laserdruckern von Brother: HL-660, HL-760, HL-1050, HL-1060, HL-1070, HL-1260, HL-1260e, HL-1660, HL-1660e, HL-2060 und HL-2400C. Diese Modelle sind serienmäßig mit bis zu 75 skalierbaren Proportionalschriften ausgestattet. Diese Schriften ersetzen nach einer Treiberoptimierung die in Windows vorhandenen TrueType-Schriften. Das führt zu einer kürzeren Druckzeit, da die betroffene Datei ohne die sonst üblichen Schrifteninformationen recht klein ist. Sie können das ganz leicht überprü-fen: Drucken Sie nur einen Buchstaben in eine Datei, verändern Sie die Treibereinstellung in Drucker TrueType Schriften benutzen, und drucken Sie jetzt den gleichen Buchstaben in eine zweite Datei. Wenn Sie die Größe beider Dateien vergleichen, werden Sie feststellen, daß diejenige, in der Sie die Druckerschriften benutzt haben, um ein Vielfaches kleiner ist. Wo finden Sie besagte Treibereinstellung? Unter Windows 95/98 gehen Sie ins Menü Start/Einstellungen/Drucker. Über dem Icon des Druckers genügt ein Klick mit der rechten Maustaste, um in das Register Eigenschaften/Optionen des Geräts zu gelangen. Dort wählen Sie die Schaltfläche Manuell und den Menüpunkt True Type Modus. Bei einigen älteren Treibern heißt das Register allerdings nicht Op-tionen, sondern Druckqualität. Das Ganze funktioniert natürlich auch unter Windows NT 4.0. Hier wählen Sie folgende Menüfolge: Start/Einstellungen/Drucker/Standard-Dokumenteneinstellungen/ Optionen für Dokument. EH

Verfasser: Andreas
Letzte Änderung: 2012-11-29 19:18


Preiswerte Filmbelichtung

Mit einem Tintenstrahldrucker können Sie mit etwas Aufwand Ihre eigenen Filme für Diavorführungen oder für Papierabzüge anfertigen.
Wenn Sie Fotos direkt vom Bildschirm machen wollen, haben Sie mit Schwierigkeiten zu kämpfen, die Sie nur mit viel Übung in den Griff bekommen: Bildschirmwölbung, die Belichtungszeit, ein Farbstich (speziell bei Weiß) und eine zu grobe Lochmaske sind nur einige davon. Lästig ist es auch, eine zu große Grafik so skalieren zu müssen, daß sie auf dem Bildschirm darstellbar ist, weil dabei Bildinformationen verlorengehen.
Mit einem Farbtintenstrahldrucker läßt sich die Filmbelichtung ersetzen: Machen Sie einen Ausdruck Ihrer Grafik auf Hinterdruckfolie, und fixieren Sie diese mit der matten Seite als Sichtseite auf einer Glasplatte. Dazu verwenden Sie handelsübliche Klebestreifen. Die Ränder des Drucks decken Sie mit schwarzen Kartonstreifen ab, um ein Überstrahlen zu verhindern und dem Foto einen scharfen Rand zu geben. Die Glasplatte stellen Sie senkrecht auf einen Tisch. Dahinter befestigen Sie in etwa 30 Zentimeter Entfernung ein großes Pergamentpapier als Diffusor und ein zweites nochmals 30 Zentimeter dahinter. Das Papier lassen Sie von hinten mit einem Blitzgerät anblitzen. Das Licht durchleuchtet die Hinterdruckfolie dann sehr regelmäßig, wenn es zweimal zerstreut die Druckfläche ausleuchtet. Vor der Hinterdruckfolie positionieren Sie die Kamera (wegen der Festlegung des Ausschnitts eine einäugige Spiegelreflexkamera) auf einem Stativ. Weil die matte Seite der Hinterdruckfolie zur Kamera gewandt ist, haben Sie keine Probleme mit Reflexen. Vermeiden Sie Fremdlicht (Fenster und Türen). Die Fotos belichten Sie am besten in einer Blendenreihe, wenn Sie keine Möglichkeit haben, die Helligkeit des durchleuchteten Drucks direkt zu messen (Belichtungsmesser).
Noch einfacher können Sie es sich machen, wenn Sie den Ausdruck auf einer Milchglasscheibe fixiert (schwarze Kartonstreifen zur Maskierung des Randes nicht vergessen) direkt an ein Fenster stellen. Dann kommen Sie ohne Blitzgerät und Diffusoren aus. Auch die Probleme der Blitzbelichtungsmessung fallen weg. Reicht Ihnen die Qualität nicht, können Sie eine zusätzliche Overhead-Folie mit derselben Grafik bedrucken. Diese wird deckungsgleich positioniert. Das verbessert die Bildqualität und verhindert, daß sich kleinste unbedeckte Stellen in vollfarbigen Flächen als verräterische Lichtpünktchen zeigen.
Kai Hamann/lip

Verfasser: Andreas
Letzte Änderung: 2012-11-29 19:18


PRN mit Doppelklick aktivieren

Sie brauchen PRN-Dateien im Explorer nur noch doppelt anzuklicken, um sie an den Drucker zu schicken.
Leider ist der Dateityp PRN bei Windows standardmäßig nicht registriert. Das läßt sich nachholen:
Rufen Sie dazu den Explorer mit dem Menü Ansicht/Ordneroptionen auf. Hinter dem Register Dateitypen gibt es eine Liste aller registrierten Dateierweiterungen; mit einem Klick auf die Schaltfläche Neuer Typ melden Sie PRN an. Als Beschreibung geben Sie Druckdatei ein, unter Zugeordnete Erweiterung die Endung PRN, unter Inhaltstyp (Mime) beispielsweise Druckdatei drucken. Mit einem Klick auf die Schaltfläche Neu legen Sie einen neuen Vorgang an. Unter Vorgang geben Sie Druckdatei drucken ein und als Anwendung für diesen Vorgang die Befehlszeile
command.com /c type %1 >lpt1
Nach einem Klick auf OK können Sie nun noch über die Schaltfläche Anderes Symbol ein Standard-Icon für PRN-Dateien festlegen. Ab sofort lassen sich Druckdateien mit der Endung PRN auf Doppelklick ausdrucken. Dies geschieht zwar immer noch über die DOS-Ebene, aber immerhin vollautomatisch.
AndrI Moritz/lip

Verfasser: Andreas
Letzte Änderung: 2012-11-29 19:19


Schneller drucken

Ihre Ausdrucke aus Grafikananwendungen wie beispielsweise Corel Draw dauern quälend lange? Hierfür ist in den meisten Fällen eine fehlgeschlagene Treiberautomatik verantwortlich.
Wenn es um die Ausgabe von Grafikdateien geht, versuchen aktuelle Druckertreiber automatisch, die richtige Einstellung für den Grafikmodus zu finden, sprich sich zwischen Raster und Vektor zu entscheiden. In vielen Anwendungen wie Adobes Photoshop funktioniert dies klaglos, leider nicht in allen. Ein beliebter Kandidat für solche Fehlschläge ist Corel Draw. Insbesondere wenn in der Datei Schattierungen bzw. Farbverläufe vorhanden sind, wird dies von Corel Draw nicht korrekt an den Druckertreiber übermittelt. In solchen Fällen entscheidet sich der Druckertreiber fälschlicherweise für den Vektorgrafikmodus mit fatalen Folgen: Die Größe der Spool-Datei ist um ein Vielfaches höher als im Rastermodus, und die Druckzeit ist dementsprechend lang: in einem Fall satte 30 statt zwei Minuten. Zum Vergleich: Bei unseren Tests mit einem 8-Seiten-Laserdrucker dauerte der Ausdruck der komplexen Testseite mit dem Vektormodus rund eine halbe Stunde, während das Ergebnis im Rastermodus nach eineinhalb Minuten vorlag. Enthält Ihre Datei die oben erwähnten Bestandteile, wählen Sie deshalb manuell den Rastermodus. Wechseln Sie in die Eigenschaften des Druckers, und ändern Sie dort die Einstellung für den Grafikmodus auf Raster. MJ

Verfasser: Andreas
Letzte Änderung: 2012-11-29 19:19


Schwarz statt Farbe

Werden dunkle Farben schwarz gedruckt, schafft die ICM-Option Abhilfe.
Grafiken in einem Dokument (etwa Word für Windows), die Dunkelgrün oder sehr dunkles Magenta enthalten, werden schwarz ausgegeben. Das liegt daran, daß einige Tintendrucker Schwarz als Bestandteil einer Farbe verwenden. So erscheint eine sehr dunkle Farbe schwarz.
Aktuelle Druckertreiber enthalten eine sogenannte ICM-Option (Image Color Matching). Ist diese nicht richtig eingestellt, werden dunkle Farben schwarz gedruckt. Wechseln Sie in die Eigenschaften Ihres Tintendruckers, und aktivieren Sie die ICM-Funktion.
mj

Verfasser: Andreas
Letzte Änderung: 2012-11-29 19:20


Streifenbildung beim Epson

Der Ausdruck Ihrer Grafikdatei weist waagerechte, in gleichen Abständen auftretende Streifen auf.
Kommt es beim Epson-Drucker zu Streifenbildung, wechseln Sie in die Druckereinstellungen des Epson-Treibers. Aktivieren Sie über die Registerkarte Druckmodus/Optionen die Option MicroWeave. In der Regel sollte das Problem damit behoben sein. Bleibt der Effekt jedoch bestehen, deaktivieren Sie versuchsweise die Option Schnell.
mj

Verfasser: Andreas
Letzte Änderung: 2012-11-29 19:20


Streifenbildung beim Epson

Der Ausdruck Ihrer Grafikdatei weist waagerechte, in gleichen Abständen auftretende Streifen auf.
Kommt es beim Epson-Drucker zu Streifenbildung, wechseln Sie in die Druckereinstellungen des Epson-Treibers. Aktivieren Sie über die Registerkarte Druckmodus/Optionen die Option MicroWeave. In der Regel sollte das Problem damit behoben sein. Bleibt der Effekt jedoch bestehen, deaktivieren Sie versuchsweise die Option Schnell.
mj

Verfasser: Andreas
Letzte Änderung: 2012-11-29 19:21


Tiefenwirkung

So gelingen bei einem Tintenstrahldrucker Tiefenwirkung und Brillanz.
Drucken Sie eine Grafik einmal auf ein undurchsichtiges Druckmedium und einmal auf Overhead-Folie (Overlay-Technik). Wenn Sie die Folie deckungsgleich auf den anderen Druck legen, wirken die Farben kräftiger. Die Grafik bekommt eine interessante Tiefe, wenn die Drucke um die Dicke der Overhead-Folie voneinander abstehen.
Eine weitere Verbesserung erreichen Sie, wenn Sie zwei verschiedene Dither-Algorithmen zum Drucken verwenden. Beim Experimentieren mit der Overlay-Technik werden Sie schnell feststellen, daß es sich um eine relativ einfache, aber wirkungsvolle Methode handelt, die Ausdrucksqualität zu steigern.
Kai Hamann/lip

Verfasser: Andreas
Letzte Änderung: 2012-11-29 19:22


Tinte nachgefüllt: So akzeptiert Ihr Drucker die Kartusche

Problem: Sie haben die leeren Tanks Ihres Epson- oder HP-Druckers befüllt. Doch das Menü meldet weiter eine leere Patrone.

Lösung: Einige der HP-Kartuschen und alle der Epson-Drucker seit 2001 nutzen einen Chip, der dem Druckertreiber den aktuellen Tintenfüllstand übermittelt. Epson und HP haben ihre Patronen für den Einmalgebrauch konzipiert. Der Chip geht davon aus, dass eine geleerte Kartusche auch leer bleibt. Deshalb meldet die Tintenstandsan-zeige auch nach dem Refill leere Tanks. Sie müssen also dem Chip eine neue, volle Patrone vorgaukeln.

Epson-Tintenstrahler.
Die Füllstandsanzeige ändern Sie mit einer Resetter-Software. Zu empfehlen ist etwa die englischsprachige Freeware SSC Service Utility. Klappt's damit bei Ihrem Drucker nicht, können Sie beim Anbieter der Refill-Lösung ein entsprechendes Tool kaufen. Oder Sie erwerben eine Resetter-Box (www.druckertinte.de, 11 Euro), die den Chip zurücksetzt.

Möglichkeit 1: Beschummeln Sie den Chip.
Wir beschreiben den Weg mit dem SSC Service Utility. Wählen Sie unter „Configuration" Ihr Druckermodell. Beenden Sie das Tool -es taucht als Icon im Systray auf. Klicken Sie mit der rechten Maustaste darauf, dann auf „Reset counters". Im Menü setzen Sie die Füllstandsanzeige aller Tanks oder einzelner Farben zurück. Allerdings versagt die Methode bei etlichen neueren Druckern wie dem Stylus C62 von Epson.

Möglichkeit 2: Frieren Sie den Tintenstandswert ein.
Diese Methode kann auch bei aktuellen Epson-Modellen helfen. Zunächst müssen Sie Ihrem Tintenstrahler statt der wieder-befüllten eine neue, volle Kartusche unterschieben, deren Zählerstand die wiederbe-füllte übernehmen soll. Klicken Sie mit der rechten Maustaste auf das Icon von SSC Service Utility, dann auf „Cartridge exchange, Move head to exchange position". Die Tanks fahren nun in die Wechselposition -ohne dass die Epson-Wartungs-Software davon Notiz nimmt. Setzen Sie die neue Patrone ein, drucken Sie einige Zeilen, und speichern Sie den Tintenstandswert über „Ink freezer, Store counters values". Setzen Sie den wiederbefüllten Tank ein. Verfahren Sie dabei wie mit dem Originaltank.
Initialisieren Sie nun den Chip über „Ink freezer, Restore values back" mit dem Wert der neuen Patrone. Erscheint „Ink counters value restored", hat es geklappt. Wenn Sie allerdings „Wrong stored data" lesen, hat der Drucker den Kartuschenwechsel bemerkt und verhindert, dass der Füllstandswert geändert wird. Sie müssen deshalb von vorn beginnen. Installieren Sie wieder die Originalkartusche, und speichern Sie noch einmal den Füllstand. Falls Sie mit der Kartusche mehr ausdrucken, achten Sie darauf, rechtzeitig zu speichern.

HP-Tintenstrahler.
Bei diesen Druckern haben Sie zwei Möglichkeiten, die Tinten-standsanzeige auf „voll" zurückzusetzen:

Möglichkeit 1: Mittels Ersatzkartuschen.
HP-Drucker speichern die Seriennummern von zwei (bei der 800- und 900-Serie von drei) Patronen - inklusive der Füllmengen. Wenn Sie also die wiederbefüllte Patrone in den Drucker stecken, erkennt er sie und rechnet mit dem alten Füllstand weiter.
So tricksen Sie den Chip aus: Setzen Sie zwei (drei) andere Originalpatronen nacheinander in den Drucker, und richten Sie die Druckköpfe aus. Der HP-Drucker speichert nun Seriennummern und Füllstandsanzeigen dieser Tanks. Wenn Sie Ihre wiederbefüllte Kartusche als dritte (vierte) in den Drucker geben, sieht er diese dann als neue, volle Kartusche an.

Möglichkeit 2: Abkleben von Kontakten. Ihnen fehlen volle Reservekartuschen? Dann sorgen Sie dafür, dass dieselbe Patrone verschiedene Seriennummern meldet. Wir zeigen Ihnen die Vorgehensweise anhand der gängigen Kartuschen Nummer 27, 28, 56, 57 und 58. Wenn Sie andere einsetzen, finden Sie auf der Site des Refill-Anbieters Compedo unter www.compedo.net im Punkt „Anleitungen" Hilfen zu zahlreichen HP-Druckermodellen und deren Patronen. Legen Sie die befüllte Patrone wie in der Abbildung gezeigt hin. Isolieren Sie den obersten Kontakt in der zweiten Reihe von links (im Bild mit „A" gekennzeichnet), in dem Sie ihn mit Klebeband abdecken. Setzen Sie den Tank in den Drucker. Er sollte automatisch den Druckkopf ausrichten und eine Testseite auswerfen. Wenn nicht, aktivieren Sie das manuell im Treiber. Durch den abgedeckten Pin übermittelt der Chip dem Drucker eine andere Seriennummer. Bauen Sie die Kartusche aus, isolieren Sie zusätzlich den untersten Pin in
der dritten Reihe von links („B"), und setzen Sie die Patrone wieder ein. Der Chip über gibt dem Tintenstrahler eine weitere Seriennummer. Entfernen Sie abschließend die Klebestreifen. Sie sollten nun in der Anzeige volle Tintentanks sehen.

Quelle: PC-Welt 10/2004, Seite 120

Verfasser: Andreas
Letzte Änderung: 2012-11-29 19:23


Tinte nachfüllen bei HP 890C

Beim Nachfüllen von Tinte beim HP 890C ist unbedingt darauf zu achten, dass man die richtige Kammer befüllt.

Bei manchen Etiketten auf der Farbpatrone sind die Farben waagerecht aufgedruckt. Dies ist jedoch noch keine Garantie, dass die entsprechenden Farbkammern auch diese Reihenfolge haben. Einen sicheren Weg beschreitet man wenn man folgende Tips beherzigt.

    Die Tintenpatrone nie ganz leer machen, sondern wenn man merkt, dass die Farbe schwächer wird so sollte hier schon das Auffüllen nachgeolt werden.
    Grundsätzlich sollte man die Beschreibung des Herstellers der Nachfülltinte beachten.
    Um nun die richtige Farbe in die richtige Kammer nachzufüllen sollte man sich den Druckkopf ansehen und sich die Farbe ansehen die schon schwächer wird. z.B. Gelb ist soch schwach -- nun sieht man sich den Druckkopf an und sieht nach wo die gelbe Seite ist. Auf der Seite wo die gelbe Farbe auf dem Druckkopf ist auch die entsprechende Farbkammer.
    Nun wenn man weiß wo die Kammer ist die nachgefüllt werden muss ist entsprechend der Bedienungsanleitung des Herstellers des Nachfüllpacks zu handeln.
    
Um sich vor zukünftigen verwechslungen abzusichern sollte man sich die Kammern beschriften!

Verfasser: Andreas
Letzte Änderung: 2012-11-29 19:24


Tinte sparen

Mit einigen kleinen Tricks können Sie den Tintenverbrauch senken.
Wer häufig und viel druckt, kennt das: Ständig sind die Druckerpatronen leer. Dabei sind viele Ausdrucke nur für den eigenen Bedarf gedacht: Sie können etwas nicht am Bildschirm lesen oder möchten sich erst einmal einen groben Überblick über einen Text verschaffen. Hier ein paar Tricks, wie Sie in solchen Fällen Tinte sparen.
Vor allem Grafiken und Bilder verbrauchen sehr viel Tinte. Im sogenannten Konzeptdruck können Sie sie durch einen Platzhalter ersetzen. Das ist ein einfacher Rahmen in der Größe des tatsächlichen Objekts. Da keine Füllfarbe erforderlich ist, müssen anstatt des gesamten Originalbilds nur die Rahmenlinien gedruckt werden. Die relevante Funktion findet sich in Word unter Extras/Optionen im Register Drucken; andere Textverarbeitungen bieten diese Funktion unter ähnlichen Bezeichnungen. Die Option Konzeptausdruck aktivieren Sie, indem Sie vor dem Drucken ein Häkchen setzen.
Zum zweiten empfiehlt es sich, die Druckauflösung zu reduzieren. Auch wenn moderne Drucker Auflösungen von bis zu 1440 dpi (dots per inch) zu Papier bringen, reicht für normalen Text eine Auflösung von beispielsweise 180 dpi oder 360 dpi (Schnelldruck) völlig aus. Die Schrift wird ein wenig gröber, doch bei bürointerner oder privater Verwendung stört das nicht. Die entsprechende Funktion finden Sie unter Datei/Drucken, dort klicken Sie die Schaltfläche Eigenschaften an.
Je nach Drucker und Druckertreiber gibt es hier weitere Einstell- und damit Tintensparmöglichkeiten: Setzen Sie beispielsweise die Farbmischung auf Grob, und ändern Sie unter Druckdichte den Schieberegler von Dunkel oder Mittel auf Hell.
Zusätzlich bieten einige Treiber die Möglichkeit, die Farbintensität manuell einzustellen.

AndrI Moritz/lip


 

Ein weiters Problem könnte sein, dass Sie Ihren Tintenstrahldrucker nicht über das Gerät selbst, sondern über eine Steckerleiste ausschalten. Der Druckkopf befindet sich in diesem Fall oft nicht in der Ruheposition. Viele Drucker säubern aber, wenn sie vom Netz getrennt waren, bei einem Neustart erst einmal ihre Patronen - und das kostet Tinte.

Quelle: Chip Julie 2003, Seite 198

Verfasser: Andreas
Letzte Änderung: 2012-11-29 19:25


Tinte sparen: Mit diesen Tricks hält die Kartusche länger

Problem: Sie drucken viel. Selbst Tinte alternativer Hersteller geht da ins Geld. Außerdem brauchen Sie oft nur Entwurfsversionen Ihrer Dokumente.

Lösung: Mit Drucker-Tools und speziellen Software-Einstellungen sparen Sie Tinte.

Möglichkeit 1: Schalten Sie den Drucker nicht mit dem PC ein. Während des Startvorgangs säubern die meisten Tintenstrahler ihre Düsen. Diese Tinte ist vergeudet, wenn Sie den Drucker nicht gleich brauchen.

Möglichkeit 2: Tool spart Tinte. Die englischsprachige Shareware Inksaver (unter www. pcwelt.de) unterstützt alle gängigen Tintenstrahler. Sie klinkt sich automatisch zwischen Treiber und Anwendung ein, analysiert Ihre Druckdaten und ermittelt so, an welchen Stellen auch weniger Tinte ausreicht. Da Inksaver sehr feine Abstufungen ermöglicht, arbeitet das Tool effektiver, als wenn Sie etwa in Word den Tintenspar-modus des Treibers aktivieren („Datei, Drucken, Optionen, Konzeptausdruck"). Wer will, kann in Inksaver auch per Regler eigene Einstellungen wählen.

Möglichkeit 3: Blenden Sie Grafiken aus. Ihre Word-Datei enthält Bilder, die Sie zum Korrekturlesen nicht brauchen. Aktivieren Sie in Word den „Konzeptausdruck" (> Möglichkeit 2). Nun spart der Drucker Grafiken als weiße Fläche aus, ohne die Textzeilen zu verschieben.

Möglichkeit 4: Drucken Sie Entwürfe in Schwarz. Sind bei Ihrem Tintenstrahler die Schwarz- und die Farbkartuschen getrennt? Die Schwarzpatrone ist wesentlich günstiger als die anderen. Möglichkeit 5: Mehrere Seiten auf ein Blatt. Bei umfangreichen Dokumenten können Sie zum Korrekturlesen zwei, zum Kontrollie ren des Drucks acht Seiten auf einem Blatt ausgeben. Doch nicht alle Tintenstrahler unterstützen diese Option im Treiber. Fehlt sie, hilft die Shareware Rneprint weiter (unter www. pcwelt.de). Fineprint installiert sich als zusätzlicher Druckertreiber und integriert den Originaltreiber. Wählen Sie als Drucker „Fineprint", und klicken Sie im nächsten Menü unter „Vorschau" auf die Anzahl der Seiten, die Sie auf ein Blattbannen wollen. Bestätigen Sie mit „OK", und fahren Sie wie gewohnt mit dem Druckjob fort.

Quelle: PC-Welt 10/2004, Seite 121

Verfasser: Andreas
Letzte Änderung: 2012-11-29 19:25


Tintendrucker: Freigabe und Fehler

Ohne den richtigen Namen gibt es Probleme mit der Freigabe von DeskJet-Druckern.
Sie haben einen HP-DeskJet-Drucker in einem Microsoft-Netzwerk freigegeben. Beim Versuch, den freigegebenen Drucker einzusetzen, erhalten Sie die Fehlermeldung
SPOOL32 verursachte eine allgemeine Schutzverletzung in Modul HPRWIN01.DLL bei ...
Ursächlich ist die Länge des Freigabenamens, in diesem Fall HP_DESKJET. Verwenden Sie einen Freigabenamen mit einer maximalen Länge von sieben Zeichen, also etwa HPDJ600 - damit ist das Problem behoben.
mj

Verfasser: Andreas
Letzte Änderung: 2012-11-29 19:26


Tintenpatronen befüllen: Sparen Sie sich die teuren Originalkartuschen

Problem: Kaum haben Sie Ihrem Tintenstrahler eine neue Patrone spendiert, ist diese schon wieder leer. Genauso geht es Ihrem Geldbeutel. Denn für eine Kartusche müssen Sie, je nach Druckermodell, zwischen 20 und 50 Euro auf den Tisch legen.

Lösung: Kaufen Sie Tinte von namhaften Alternativanbietern wie Pelikan oder KMP. Unserer Erfahrung nach bieten diese in der Regel eine ähnlich gute Tintenqualität wie der Druckerhersteller. Sie können meist zwischen kompletten Kartuschen und Spritzensystemen wählen.
Die Fremdkartuschen sind wie das Original in ein bis zwei Minuten ausgetauscht. Sie sparen aber je nach Modell bis zu 60 Prozent. Bei Spritzensystemen reduzieren Sie die Kosten gar um bis zu 80 Prozent. Das Wiederbefüllen ist recht aufwendig -knapp 40 Minuten sollten Sie für die Aktion einplanen. Außerdem birgt sie ein jedoch gewisses Risiko für den Drucker. Wenn Sie sich aber an die folgenden Regeln halten, sollte alles problemlos klappen.

Schritt 1: Drucken Sie die Patronen nicht leer. Starten Sie die Nachfüllaktion rechtzeitig. Nämlich dann, wenn die Tintenstands-anzcige im Menü des Druckertreibers anzeigt, dass der Kartuscheninhalt: bald zur Neige geht. Denn fast alle Tanks enthalten einen Schwamm. Ist der einmal ausgetrocknet, ist der Kapillareffekt gestört: Der Tintenfluss ist dann zu stark oder bricht ab, die Patrone ist unbrauchbar.

Schritt 2: Halten Sie sich unbedingt an den Beipackzettel. Der Anbieter teilt hier wichtige Informationen zum Refill mit. Sie erfahren etwa, welche Patronen-Öffnungen Sie mit welcher Tintenfarbe befüllen müssen. Andernfalls können Sie die Kartusche ruinieren. Wenn Sie sich beispielsweise bei der HP-Patrone Nr. 78 am Originalaufkleber mit den Farben Magenta, Cyan und Gelb orientieren, füllen Sie die Farben falsch nach - so spritzen Sie etwa gelbe Tinte in den Tank für Cyan.

Schritt 3: Gehen Sie vorsichtig vor. Ziehen Sie nur etwa 75 Prozent der vom Refill-Anbie-ter empfohlenen Tintenmenge in die Spritze. Der Anbieter orientiert sich am leeren Tank, doch dieser sollte ja noch Resttinte enthalten (> Schritt 1). Stecken Sie die Sprilzennadel vorsichtig durch die in der Beschreibung angegebene Öffnung mittig in den jeweiligen Farbtank. Drücken Sie die Tinte in kleinen Schüben in die Patrone, und warten Sie jedesmal, bis diese die Flüssigkeit restlos aufgesogen hat. Füllen Sie nämlich zu viel Tinte ein, läuft sie nicht nur unten aus, sondern fließt bei Kartuschen, die mehrere Farben enthalten, auch in den Nachbartank. Die Patrone ist dann unbrauchbar.
Tipp: Sollten Sie doch einmal zu viel Tinte in eine Kammer gefüllt haben, dann ziehen Sie diese rasch mit der Spritze wieder heraus.

Schritt 4: Die Patrone muss sich regenerieren. Setzen Sie die befüllte Patrone erst nach etwa 15 Minuten in den Drucker. Zum einen
benötigt der Schwamm die Zeit, um die Tinte gleichmäßig aufzusaugen. Zum anderen darf keine Tinte mehr aus der Kartusche laufen. Diese könnte sonst die Düsensteuerung und damit den Drucker ruinieren. Tupfen Sie deshalb die Patrone an der Tintenaustrittsöffnung oder dem Druck
kopf regelmäßig mit einem Küchentuchab. Die einzelnen Farben dürfen sich dabei nicht vermischen. Nur wenn der Tintenfleck kaum größer als die Tintenaustrittsöffnung oder die Düsenreihen des Druckkopfs ist, dürfen Sie die Kartusche in den Drucker einsetzen.

Schritt 5: Installieren Sie die selbst befüllte Patrone. Nach spätestens 30 Minuten sollte die Kartusche wieder im Drucker sein, an
dernfalls können die Düsen des Druckkopfes verkleben. Führen Sie nun im Druckertreiber drei bis vier Mal hintereinander die Düsenreinigung durch. Das stellt den erforderlichen Unterdruck in den Kartuschen wieder her und sorgt für einen durchgängigen Tintenfluss. Übrigens: Kartuschen mit Druckkopf sollten Sie nur etwa fünf bis zehn Mal wieder befüllen. Dann ist der Druckkopf verschlissen. Sie sehen Streifen im Ausdruck und brauchen eine neue Kartusche.

Quelle: PC Welt 10/2004, Seite 119

Verfasser: Andreas
Letzte Änderung: 2012-11-29 19:26


Tintensparende Zweitkonfiguration

Eine clevere Alternative zum ständigen Wechsel zwischen den Druckeinstellungen (Spar- und Schönschreibmodus) ist das zweimalige Einrichten des gleichen Druckers mit unterschiedlichen Einstellungen.
Tinte sparen können Sie auch, indem Sie Ihren Drucker ein zweites Mal in das System einfügen. Dazu klicken Sie in der Systemsteuerung unter Drucker doppelt auf das Icon Neuer Drucker. Ein Assistent führt Sie durch die Installation, in der Sie zur besseren Unterscheidung bei der Vergabe des Druckernamens etwa den Vermerk Sparmodus anfügen sollten.
Ist der zweite Drucker installiert, können Sie per Klick mit der rechten Maustaste auf sein Icon und den Befehl Eigenschaften alle Sparmaßnahmen realisieren. Künftig können Sie dann in jedem beliebigen Windows-Programm im Drucken-Dialog zwischen den beiden Druckern Normal und Sparmodus umschalten, ohne jedesmal alle Einstellungen von Hand verändern zu müssen.
Eine Zweitkonfiguration lohnt sich auch, wenn Sie mit verschiedenen Papiermedien arbeiten.
AndrI Moritz/lip

Verfasser: Andreas
Letzte Änderung: 2012-11-29 19:27


Tintenstrahldrucker: Lästige Streifen

Wer Tintenstrahldrucker übermäßiger Wärme aussetzt, muss mit Streifenbildung rechnen.
Wenn der Tintenstrahldrucker nach langer Pause wieder in Betrieb genommen wird, erscheint entweder gar kein oder nur ein streifiger Ausdruck. Nicht alle Marken und Bauformen sind gleich empfindlich. Aber die Ursache ist jedes Mal die gleiche: In den feinen Düsen des Printheads trocknet die Tinte ein und verstopft die Öffnungen. Dieses Problem ist um so gravierender, je feiner diese Düsen sind. Als Abhilfe bieten alle Drucker eine Reinigung des Kopfes an. Oft hilft aber nur der Austausch der Patrone oder eine extrem vorsichtige Reinigung des Kopfes (außen) mit Wattebausch und Wasser. Am besten stellt man Drucker abseits von Sonnenlicht und Heizungen auf.

Verfasser: Andreas
Letzte Änderung: 2012-11-29 19:27


Tintenstrahler säubern

Ein farbiges Bild kann Druckerdüsen reinigen, wenn der Inkjet unsauber druckt.
Wenn der Drucker lange nicht gelaufen ist, kann es Streifen beim Ausdruck geben und unsaubere Bilder. Dann empfiehlt es sich, den Kopf zu reinigen: Das kostet zwar ein wenig Tinte, wirkt aber meistens. Ein weiterer Trick, die Köpfe zu reinigen: Der Anwender erstellt mit einem beliebigen Zeichenprogramm eine Grafik, die ganzseitig schwarz oder cyan, magenta oder gelb ist. Beim Ausdruck werden kleine Verunreinigungen normalerweise aus den Düsen gespült. Das kostet zwar auch Tinte, beschränkt sich aber auf die eine fehlerhafte Farbe.

Verfasser: Andreas
Letzte Änderung: 2012-11-29 19:27


Umschalten unerwünscht

So verhindern Sie, daß Fujitsu-Drucker automatisch auf den Einzelblatteinzug umschalten.
Bei leerem Papierschacht schalten die Drucker Fujitsu Printpartner 10/14 automatisch auf den Einzelblatteinzug um. Um das zu verhindern, wechseln Sie in die Druckereinstellungen über Start/ Einstellungen/Drucker. Wählen Sie den Drucker aus, und wechseln Sie über Datei/Eigenschaften in die Druckereigenschaften. Im Menüpunkt Papier stellen Sie die Medien-Auswahl auf die Option Nicht die automatische.
Nun müßte bei leerem Papierfach die Anzeige Paper/Cover leuchten, und der Drucker sollte nicht mehr auf den anderen Schacht wechseln.
mj

Verfasser: Andreas
Letzte Änderung: 2012-11-29 19:28


Umschlagdruck

Drucker älterer Generationen bereiten Probleme beim Einzug von kleineren Druckmedien.
Häufig erfährt man aus dem Handbuch, daß der Drucker die benötigten zu kleinen Papierformate weder längs noch quer transportieren kann. Wer trotzdem etwa DIN-C6-Briefumschläge bedrucken möchte, öffnet einfach die Lasche des Umschlags und steckt diesen "auf dem Kopf stehend" in den Einzelblatteinzug des Druckers. Mit einem Text- oder Zeichenprogramm geben Sie die Adresse des Empfängers um 180 Grad gedreht ein.
Bernhard Schwall/lip

Verfasser: Andreas
Letzte Änderung: 2012-11-29 19:28


Urlaubsfotos gestalten

So geben Sie Ihren Urlaubsfotos einen besonderen Touch.
Manche nicht besonders schön belichtete Urlaubsbilder lassen sich durch Grafiken, Bilder oder Texte aufwerten. Ein Tintenstrahldrucker bietet hier die entsprechenden Voraussetzungen. Laserdrucker scheiden dagegen wegen ihrer hohen Temperaturentwicklung beim Druckprozeß aus; zudem benötigen sie für diesen Zweck eine besondere Papierdicke.
Besonders der Druck auf Schwarzweiß-Abzügen bietet viele Möglichkeiten, da hier vor allem Farbtintenstrahldrucker ihre volle Farbenpracht zur Geltung bringen können. Wenn Sie paßgenau arbeiten wollen, scannen Sie das Foto zuerst in einer geeigneten Größe (Druckauflösung!) und verwenden diese Grafik als Maske. Drucken Sie die Farbgrafik einmal auf Papier, und kleben Sie das Foto in der richtigen Position darauf. Wenn Ihr Drucker das Papier genau genug einzieht, können Sie auch kleine Details pixelgenau einfärben. Anderenfalls ziehen Sie einfach ein Overlay auf eine Overhead-Folie. Das Bild positionieren Sie einfach dahinter und fixieren es, und schon ist das kolorierte Foto fertig. Als Unterlage eignen sich etwa auch Postkarten und Briefumschläge.
Kai Hamann/lip

Verfasser: Andreas
Letzte Änderung: 2012-11-29 19:29


Verlängertes Leben

Drucker, die über keinen Ein-/Ausschalter verfügen, verschleißen bei falscher Benutzung schneller.
Häufig hängen Drucker ohne Netzschalter an einer Stromsteckerleiste mit zentralem Ein-/Ausschalter. Bei jedem Einschalten dreht sich die Trommel des Druckers mehrmals. Gleiches gilt bei einigen Modellen für das Aufwachen aus dem Schlafmodus.
Jede Umdrehung sorgt jedoch für einen frühzeitigen Verschleiß der Trommeleinheit und verursacht damit zu hohe Kosten. Im Schnitt dreht die Trommel zwischen drei- und fünfmal. Schalten Sie daher Ihren Drucker nur dann ein, wenn mehrere Seiten gedruckt werden sollen. Wir empfehlen auch, Druckjobs zu sammeln und in einem Schub zu drucken.
lip

Verfasser: Andreas
Letzte Änderung: 2012-11-29 19:29


Wenn der Drucker nicht drucken will

Wenn Soundkarte und LPT sich im Weg sind, kann das zu Druckproblemen führen. Dieser Tipp hilft ab.
Obwohl Sie den Druckauftrag korrekt gestartet haben und der Druckmanager ihn auch richtig abarbeitet, erscheint kein Ausdruck. Nicht einmal zu arbeiten fängt der Drucker an. Und was noch rätselhafter ist: Keine Fehlermeldung erscheint. Der Schuldige: Oftmals belegen PCISoundkarten für die Legacy-Emulation der Karte denselben Interrupt wie der LPT. Viele Soundkarten benutzen ein so genanntes Interrupt-Sharing. Das führt mitunter zu Problemen bei der bidirektionalen Kommunikation. Die Lösung: Sie deaktivieren in der Systemsteuerung bei der Soundkarte den Menüpunkt "Interrupt-Sharing". Dann wird die Soundkarte freie Systemressourcen verwenden, sofern vorhanden. Oft handelt man sich dabei aber besonders bei vollen Systemen weiteren Ärger ein: Die Soundkarte klingt überhaupt nicht mehr oder die Klangwiedergabe hängt in einem Loop. Die bessere Lösung: Wenn möglich, deaktivieren Sie die Legacy Emulation. Dann hat man bei DOS-Programmen allerdings keinen Sound mehr. Dafür kann man anschließend wieder drucken. Dieses Problem entfällt, wenn man den USB-Anschluss des Druckers benutzt. Wenn der LPT1 anschließend nicht mehr genutzt wird, kann man ihn im BIOS ausschalten, um weitere Ressourcen freizugeben.

Verfasser: Andreas
Letzte Änderung: 2012-11-29 19:30


Zeichensalat aus dem Drucker

Sie betreiben einen Drucker an mehreren Rechnern und erhalten beim Ausdruck immer nur unlesbare Zeichenkolonnen. Kontrollieren Sie die Umschaltbox.
Ihr Drucker, den Sie mit zwei oder mehr PCs verbunden haben, liefert ständig Zeichenwirrwarr? Ursache dafür kann eine Umschaltbox mit mechanischem Schalter sein. Dieser wird durch häufiges Umschalten stark beansprucht. Das kann zu einem Defekt an einem oder mehreren Schaltelementen führen, so daß die Informationen nicht mehr problemlos vom Rechner zum Drucker fließen. Dieses Problem kann auch bei den mechanischen Umschaltgeräten auftreten, die Sie für Ihre Maus und Tastatur benutzen.
Abhilfe schafft eine neue Schalterbox. Setzen Sie beim Neukauf besser auf eine elektronische Variante. Diese ist etwas teurer, aber dafür ist ihre Lebensdauer wesentlich höher. HAL

Verfasser: Andreas
Letzte Änderung: 2012-11-29 19:30


Computer » Programme » Corel Draw

Getracte Bilder nutzen

So machen Sie mit CorelTrace vektorisierte Bilder in allen Anwendungen verfügbar.
Geeignete Bilder lassen sich mit dem Zusatzprogramm CorelTrace vektorisieren, um ein verlustfreies Skalieren der Grafik zu ermöglichen. Leider kann CorelTrace Dateien nur im eps-Format speichern. Damit sich die vektorisierten Grafiken in jeder Windows-Anwendung verarbeiten lassen, wandeln Sie die erzeugte eps-Datei mit Corel Draw in ein anderes Vektorformat um.
Benutzen Sie dazu in Corel Draw den Befehl Datei/Importieren, und laden Sie die neue eps-Datei. Gehen Sie auf den Befehl Datei/Exportieren. Im Exportdialog wechseln Sie in den Zielordner, beispielsweise in das Clipart-Verzeichnis Ihrer Textverarbeitung.
Im Feld Aufzulistender Dateityp stellen Sie das gewünschte Vektorformat ein, beispielsweise Windows-Metafile, *.wmf, und geben nochmals den Dateinamen ein. Mit zweimal OK schließen Sie ab.

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-01-26 19:27


Maus- und Tastenkniffe

Viele von Corel Draws Funktionen erreichen Sie mit der richtigen Kombination von Maus und Tastatur.
Die Lineale der Oberfläche lassen sich ganz leicht an jede beliebige Stelle Ihrer Grafik verschieben. Dazu müssen Sie nur die [Umschalt]-Taste drücken und wahlweise das horizontale oder vertikale Lineal per Drag&Drop an die gewünschte Stelle plazieren. Noch schneller geht es, wenn Sie - wieder bei gedrückter [Umschalt]-Taste - einen Doppelklick ausführen. Dann nämlich wird das Lineal auf Ihrem Bildschirm zentriert. Mit Hilfe des kleines Symbolbilds am linken respektive oberen Rand versetzen Sie den Nullpunkt der Skala. Dazu klicken Sie auf das Icon und ziehen es in Ihrer Grafik an die Stelle, die den horizontalen und vertikalen Nullpunkt darstellt.
Besonders in sich hat es der Doppelklick in Corel Draw. Auf dem Lineal ausgeführt, öffnet er den Dialog, mit dem Sie die Skalierung sowie das Hintergrundraster einstellen. Auf dem Rand der Grafik hingegen öffnet er den Dialog Seite einrichten. Und auch die Werkzeuge der Tool-Leiste haben eine Zusatzfunktion, wenn Sie statt des einfachen den doppelten Mausklick verwenden.
So markieren Sie auf diese Weise mit dem Pfeilwerkzeug alle Objekte. Ein Doppelklick auf das Rechteck erzeugt ein entsprechendes Objekt und paßt es genau an die Dimensionen der Seite an. Da es von der Ebene her ganz hinten liegt, eignet es sich hervorragend zur Darstellung eines Hintergrundmusters oder einer -farbe. Dieselbe Mausaktion auf dem Knoten- oder Text-Tool öffnet das jeweils passende Rollup-Fenster.
Eine ganz neue Form der Auswahl bietet Corel Draw mit einem Doppelklick der rechten Maustaste. Diese ungewöhnliche Aktion öffnet die kontextsensitive Hilfe zu den Werkzeugen der Symbol- und der Tool-Leiste. Aber auch in einem anderen Bereich entspricht die rechte Maustaste nicht ganz den Konventionen und erleichtert dennoch die Arbeit. Klicken Sie einmal auf eine der Farben der Palette am unteren Bildschirmrand, und färben Sie damit die Fläche des Objekts. Verwenden Sie hingegen die rechte Maustaste, ändern Sie die Umrißfarbe.

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-01-26 19:28


Kasten statt Grafik

Druckt Corel Draw statt Bitmaps nur Kästen, so liegt das vielleicht an einem einfachen INI-Eintrag.
Wenn Sie Corel Draw 6 verwenden, um eine Grafik mit Bitmap-Elementen auf einem Hewlett-Packard-Drucker auszugeben und statt der Pixelgrafik nur ein graues Rechteck erhalten, müssen Sie einen INI-Eintrag ändern. Öffnen Sie je nach Druckertyp die Datei "hp.ini" oder "deskjet.ini". Suchen Sie dort nach einem Eintrag namens
JumboTechnology=0100
und ändern Sie dessen Wert in 0000. Damit sollte das Problem behoben sein.

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-01-26 19:30


Kasten statt Grafik

Druckt Corel Draw statt Bitmaps nur Kästen, so liegt das vielleicht an einem einfachen INI-Eintrag.
Wenn Sie Corel Draw 6 verwenden, um eine Grafik mit Bitmap-Elementen auf einem Hewlett-Packard-Drucker auszugeben und statt der Pixelgrafik nur ein graues Rechteck erhalten, müssen Sie einen INI-Eintrag ändern. Öffnen Sie je nach Druckertyp die Datei "hp.ini" oder "deskjet.ini". Suchen Sie dort nach einem Eintrag namens
JumboTechnology=0100
und ändern Sie dessen Wert in 0000. Damit sollte das Problem behoben sein.

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-01-26 19:30


Keine Vierfarbseparation in der Zukunft

Wird eine Allgemeine Schutzverletzung bei der Vierfarbseparation mit Corel gemeldet, liegt dies vielleicht an Ihrer Uhr.
Zeit ist für Corels Grafikboliden eine wichtige Angelegenheit. Erhalten Sie nämlich bei der Ausgabe einer Grafik als Vierfarbseparation eine Allgemeine Schutzverletzung, so kann das mit Ihrer Systemzeit zusammenhängen: Ist versehentlich das 21. Jahrhundert eingestellt, so steigt die Farbtrennung aus. Stellen Sie einfach Ihre Uhr zurück, indem Sie doppelt auf das Icon in der Task-Leiste klicken und die Zeit im Dialog anpassen.

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-01-26 19:31


Weiße Schrift auf schwarzem Grund

In Kombination mit manchen Druckertreibern verweigert Corel Draw 6 den korrekten Ausdruck.
Versuchen Sie in Corel Draw 6 weißen Text auf schwarzem Grund auszugeben, erhalten aber nur einen schwarzen Balken? Dann liegt das möglicherweise an einer Unverträglichkeit zwischen Ihrer Corel-Version und Ihrem Druckertreiber. Ein kleines Workaround hilft jedoch. Markieren Sie den Text, wählen Sie eine ganz dünne Linienstärke, und färben Sie diese weiß ein. Wandeln Sie dann über Anordnen/In Kurven umwandeln den Text in ein Zeichenobjekt um. Nun funktioniert der Druck auf allen Druckern.

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-01-26 19:32


Objekte anordnen

Mit nur einem Tastendruck richten Sie mehrere Objekte in Corel Draw bündig aus.
Um einen sauberen Bildaufbau zu erhalten, lassen sich Objekte in CorelDraw entlang einer gedachten Linie ausrichten. Besonders schnell und zeitsparend geht dies mit Hilfe der Tas-tatur. Beispielsweise zentrieren Sie meh-rere ausgewählte Objekte mit nur einem Tastendruck blitzschnell in der horizontalen Achse der Seite. Wählen Sie alle Objekte aus, die Sie zentrieren möchten. Dazu aktivieren Sie das Hilfsmittel Auswahl und ziehen einen Rahmen um alle Objekte, die Sie einbeziehen möchten. Alternativ halten Sie die [Umschalten]- Taste gedrückt und klicken alle Objekte nacheinander an, die Sie aus-wählen möchten. Drücken Sie nun die Taste E auf der Tastatur. Corel Draw zentriert nun alle markierten Objekte horizontal auf der Seite. Entsprechend zentrieren Sie die Objekte vertikal, indem Sie die C-Taste drücken. Mit der P-Taste platzieren sie alle Objekt im Mittelpunkt der Seite.

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-01-26 19:42


Objekte spiegeln

Mit Hilfe der Maus lassen sich Objekte spiegeln und um ein Vielfaches vergrößern.
Sie möchten symmetrisch angeordnete Formen anlegen, um spezielle Bild-wirkungen zu erzielen. Dazu spiegeln Sie ein vorhandenes Objekt in Corel Draw. Zunächst erstellen Sie ein Objekt, etwa eine Ellipse. Gestalten Sie es, indem Sie ihr beispielsweise eine Verlaufsfüllung zuweisen. Markieren Sie es und erstellen mit Kopieren und Einfügen eine identische Kopie, die deckungsgleich über dem Originalobjekt liegt. Um jetzt das Objekt etwa an der vertikalen Ach-se nach links zu spiegeln, zeigen Sie auf den mittleren Markierungspunkt am rechten Objektrand. Nun halten Sie die [Strg]-Taste gedrückt und ziehen den Markierungspunkt über den linken Ob-jektrand hinaus nach links, bis hier der Umriss des neuen Objekts erscheint. Wenn Sie die Maustaste loslassen, erhalten Sie ein exakt gespiegeltes Objekt. Dieses Verfahren funktioniert in alle Richtungen. Um etwa ein Objekt an der horizontalen Achse nach oben zu spiegeln, ziehen Sie den mittleren Markierungspunkt an der unteren Objektseite bei gedrückter [Strg]-Taste nach oben über das Objekt hinaus. Das Ziehen mit der [Strg]-Taste bietet eine weitere Möglichkeit: Indem Sie einen Eckmarkierungs-punkt mit gedrückter [Strg]-Taste vom Objekt wegziehen, vergrößern Sie das Objekt schrittweise um ein ganzzahliges Vielfaches. Sie erhalten al-so Objekte, die exakt doppelt, drei- oder viermal so groß sind wie das ursprüngliche Objekt.

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-01-26 19:41


Unterschrift vektorisieren

Benutzen Sie Corel Trace, um Pixelgrafiken in Vektorbilder umzuwandeln.
Sie möchten Ihre Unterschrift in digitale Dokumente einbinden. Mit Photo Paint oder einem anderen Bildbearbeitungsprogramm scannen Sie Ihre Signatur und speichern sie als Bitmap-Datei. Im Pixelformat treten beim Verkleinern und Vergrößern des Objekts Qualitätsverluste auf. Um dies zu vermeiden, vektorisieren Sie die gescannte Unterschrift mit Corel Trace und laden die Grafikdatei mit der Unterschrift mit Datei/Öffnen. Die Originalunterschrift erscheint im linken Fenster der Arbeitsoberfläche. Benutzen Sie den Befehl Vektorisieren/ Nach Umriß. Im rechten Fenster zeigt Trace die vektorisierte Unterschrift an. Diese soll möglichst genau so aussehen wie die Originalunterschrift links. Ist dies nicht der Fall, wenden Sie nacheinander die einzelnen Befehle im Menü Vektorisierung an. Abschließend wählen Sie Datei/ Vektorisierungsergebnis speichern. Im Dialog Vektor speichern stellen Sie den gewünschten Dateityp ein, beispielsweise WMF Windows MetaDatei. Vergeben Sie einen Dateinamen, und klicken Sie auf Speichern. Sie erhalten eine Vektordatei, die Sie in beliebige Dokumente einfügen.

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-01-26 19:44


Kinderleichtes Kopieren

Mit einer einfachen Mauskombination kopieren Sie in Corel Draw beliebige Objekte ohne die Tastatur.
Für das Kopieren eines Objekts benötigen Sie lediglich die Maus. Klicken Sie die Vorlage an und ziehen Sie sie bei gedrückter linker Maustaste an die neue Position. Drücken Sie auch auf die rechte Taste, bevor Sie beide Tasten wieder loslassen. Corel Draw plaziert daraufhin eine Kopie des Quellobjekts an eben dieser Stelle. Wollen Sie das Objekt außerdem an einer horizontalen oder vertikalen Ortslinie ausrichten, drücken Sie beim Ziehen zusätzlich noch auf [Strg].

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-01-26 19:45


Schnelle Formulargestaltung

Mit den richtigen Einstellungen gelingen Ihnen Formulare im Handumdrehen.
Erstellen Sie auch häufiger Formulare mit Corel Draw? Dann kennen Sie das mühsame Plazieren und Justieren kopierter Objekte, bis diese bündig und im richtigen Abstand zueinander stehen. Hilfslinien sind hier bereits eine Erleichterung, da verschobene Objekte an diesen Linien einrasten. Aber es geht noch leichter.
Wollen Sie beispielsweise ein Blatt mit Linien im Abstand von einem Zentimeter füllen, dann gehen Sie wie folgt vor: Zeichnen Sie eine dünne Linie über die gesamte Blattbreite mit einem Abstand von zirka 2 Zentimetern vom oberen Blattrand. Öffnen Sie über Optionen - Grundeinstellungen
oder die Tastenkombination [Strg-J] den Einstellungsdialog. Geben Sie dort unter "Abstand für Duplikate und Klone" den Wert "0.0 mm" für den horizontalen und "10.0 mm" für den vertikalen Abstand ein. Speichern Sie dann die Einstellungen mit [OK].
Markieren Sie nun die Linie und duplizieren Sie sie mit [Strg-D]. Dadurch wird eine Kopie genau einen Zentimeter unter dem Original angelegt. Da dieses Objekt auch gleich markiert ist, brauchen Sie nur so lange [Strg-D] zu drücken, bis das ganze Blatt gefüllt ist.
Diese Vorgehensweise am Beispiel einer einfachen Linie funktioniert auch bei komplexen Objekten wie beispielsweise einem Formularfeld oder einer ganzen Tabellenzeile.

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-01-26 19:47


3D-Objekte durch Extrudieren

Das Extrudieren (ab Draw 5) ist in Corel 8 zusätzlich als interaktives Werkzeug integriert. Damit können Sie etwa Buchstaben dreidimensional darstellen.
Beim Extrudieren weisen Sie einem Objekt eine dreidimensionale Perspektive zu. Wir wählen als Objekt den Buchstaben C.
Zuerst entwickeln Sie ein C aus Quadraten. Ein Quadrat ziehen Sie auf, indem Sie auf das Rechteck-Tool in der Werkzeugpalette klicken und dabei die [Strg]-Taste gedrückt halten. Duplizieren Sie es mit [Strg-D]. Mit der Eigenschaftsleiste von Draw 8, die Sie mit der rechten Maustaste erhalten, positionieren Sie die Quadrate. Tippen Sie einen Drehwinkel von 45 Grad ein. In Draw 8 drehen Sie die Duplikate über die Eigenschaftsleiste, über Anordnen/Ändern/Drehen oder mit [Alt-F8]. In den Versionen 4 bis 7 wählen Sie dazu Effekte/Umformen-Rollout/ Auf Duplikat anwenden. Die zusätzlichen Kopien legen Sie jeweils an die untere rechte Eckkante an, bis ein Kreis aus Quadraten entstanden ist. In Draw 4 und 5 fällt die Positionierung leichter, wenn Sie mit Hilfslinien arbeiten. Löschen Sie das rechte, allein stehende Quadrat. Markieren Sie alle Objekte. Mit [Strg-L] kombinieren Sie das C zu einem Objekt.
Mit der interaktiven Extrusion erstellen Sie schnell und komfortabel einen 3D-Körper. Dazu wählen Sie im Klappmenü der Werkzeugpalette (drittes Tool von unten) das betreffende Hilfsmittel. In Draw 4 bis 7 aktivieren Sie das Rollout Effekte/Extrudieren. Klicken Sie auf das C, und ziehen Sie bei gehaltener Maustaste die Extrusion vom Objekt weg. In der Eigenschaftenpalette geben Sie die unterschiedlichsten Parameter für Beleuchtung, Tiefe, Lage und Abschrägung sowie die Flächenfüllung ein.
Der Steinstruktur, die Sie dem C zuweisen, geben Sie auf der Frontseite mehr Helligkeit in der Palette Spezialfüllung/Füllmuster/Bearbeiten, um den 3D-Effekt mit Beleuchtung zu unterstützen. Alternativ können Sie ab Draw 8 mit der Beleuchtung bei der Extrusion arbeiten - dies funktioniert in früheren Draw-Versionen nicht.
Für den Schatten duplizieren Sie das C inklusive der 3D-Flächen mit [Strg-D]. Schieben Sie das C an die gewünschte Position des Schattens, und verschmelzen Sie es mit Anordnen/Verschmelzen. Dem Schatten ordnen Sie eine schwarze Füllung und etwa 40 Prozent Transparenz zu. Verwenden Sie dazu die vierte Schaltfläche der Werkzeugpalette von unten und die Eigenschaftsleiste.
Auf dieser Ebene kopieren Sie das Rechteck über die Zwischenablage (mit [Strg-C]/[Strg-V]) noch einmal mit einem konischen (kegelförmigen) Blau-Schwarz-Verlauf. Weisen Sie ihm einen dunkelgrauen Rahmen mit größerer Breite zu. Löschen Sie die Füllung. Duplizieren Sie mit [Strg-D] ohne Verschiebung den Rahmen, geben Sie diesem eine geringere Breite und eine blaue Rahmenfarbe. Duplizieren Sie erneut den Rahmen, und geben Sie ihm nun eine weiße Farbe und Haarlinienbreite.
Von allen drei Rahmen entfernen Sie durch Anordnen/Zuschneiden mit einem Rechteck das rechte obere Eck - und zwar so, daß die oberen beiden Rahmen etwas weiter ausgeschnitten sind. Diese drei Rahmen überblenden Sie mit dem Überblendenwerkzeug ([Strg-B] oder Effekte/Überblenden), um den Rohreffekt zu erzielen. Diese Rahmenkonstruktion legen Sie mit [Umschalt-Bild-ab] innerhalb der Ebene nach hinten bzw. das C mit [Umschalt-Bild auf] nach vorne.

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-01-26 19:49


Bildvorschau im Windows-Explorer deaktivieren

Bildvorschau im Windows-Explorer deaktivieren

Ihre CDR-Dateien haben im Windows-Explorer als Dateisymbol eine winzige und wenig hilfreiche Bildvorschau. Ihnen gefällt diese Darstellung nicht und Sie möchten lieber das kleine Corel-Symbol als Platzhalter ihrer Grafiken sehen.

Systemsteuerung | Software | Installieren/Deinstallieren

Markieren Sie in der Liste den Eintrag "Corel Applications" klicken Sie danach auf die Schaltfläche

Hizufügen/Entfernen | Weiter

Klicken Sie auf die Pluszeichen vor "CorelDraw 9 Premium Color Edition", "Applications" und "Grafik-Dienstprogramme". Aktivieren Sie das Kontrollkästchen vor "Skizzenanzeige (CDR/CMX)" und klicken Sie auf "Weiter". Übernehmen Sie die Änderungen durch Drücken der Schaltfläche "Next" und "Finish".

Für die geänderten Dateisymbole ist die Skizzenvorschau von Corel Draw verantwortlich. Zumindest im Dateidialog das Programms ist die etwas größere Vorschau hilfreich. Wenn Sie die Funktion deaktivieren wollen, müssen Sie die Skizzenanzeige deinstallieren.

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-01-26 19:50


Dynamik durch Verzerren

Mit dem neuen Verzerrungswerkzeug von Draw 8 erzielen Sie blitzschnell spektakuläre Tempo-Effekte. In den älteren Versionen lassen sich nur einzelne Objekte verzerren.
Durch Verzerren verschaffen Sie Ihrer Grafik Dynamik. So gehen Sie vor: Wählen Sie zunächst das gewünschte Objekt. In Draw 8 können Sie auch Objektgruppen bearbeiten, nicht nur einzelne Objekte. In Draw 8 klicken Sie auf das Hilfsmittel Interaktive Verzerrung aus der Werkzeugleiste im Klappmenü der dritten Werkzeugkategorie von unten. In den Vorversionen verwenden Sie zum Verzerren das Werkzeug Hülle, das leider nicht alle Verzerrungsformen bietet. Beispielsweise ist es mit in sich gedrehten Spiralen überfordert.
Beim Verzerrungswerkzeug kommt es darauf an, wo Sie mit dem Cursor zum ersten Mal auf die Arbeitsfläche klicken, sobald Sie das zu verzerrende Objekt aktiviert haben. Je weiter das außerhalb des eigentlichen Objekts geschieht, desto stärker wird die Ausfransung. Wie stark genau, hängt vom rechten Bearbeitungsrahmen an der verschiebbaren Pfeilspitze ab, die beim Absetzen des Cursors in der Arbeitsfläche entsteht. Am einfachsten gelingt das Positionieren, wenn Sie den Cursor in der Bewegungsrichtung des Objekts absetzen und einen Abstand wählen, der etwa ein Drittel der Objektbreite beträgt.
Draw 8 kennt drei Verzerrungsmodi, die Sie nach dem Aufruf des Werkzeugs in der Eigenschaftsleiste aus dem Menü Ansicht wählen:
- Für die Motorradbeschleunigung eignet sich am besten der Typ Ein- und Ausbuchtungs-Verzerrung.
- Beim Zackenschnitt sieht es eher so aus, als hätte jemand das Moped in die Büsche gesetzt,
- während sich die Wirbelverzerrung durchaus auch für ein Motorrad in Schräglage beim Kurvenfahren eignet. Das Verzerrungsergebnis läßt kaum die ursprünglichen Konturen erkennen. Daher legen Sie eine Kopie des ursprünglichen Objekts in den Vordergrund und bleichen über Effekte/Farbanpassung/ Farbton-Sättigung-Helligkeit die Farben aus. Noch homogener wirken die Bewegungsstreifen, wenn Sie dem unveränderten Objekt einen Schatten zuweisen, den Sie in der Eigenschaftsleiste vom Vorgabewert Schwarz auf Weiß ändern. Knapp hinter dem Objekt positioniert, verwischt er insbesondere die Bewegungsstreifen unmittelbar um das Objekt. Noch sauberer wird das Ergebnis, wenn Sie die Kantenschärfe des Schattens von 15 auf 30 erhöhen.

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-01-26 19:51


EPS-Export in Gefahr

Der professionellste Weg, um Corel-Draw-Grafiken in Satzprogrammen für den (Offset-)Druck einzusetzen, ist der Export im Encapsulated Postscript Format (EPS). Nur dieses Format ist in der Lage, alle Features, wie Füllmuster und die neuen Transparenzeffekte, zu übermitteln und gleichzeitig eine Druckqualität zu gewährleisten, die dem direkten Druck aus Corel Draw in nichts nachsteht. Der Nachteil dieser Methode ist allerdings, daß entweder ein Postscript-Drucker oder ein
Software-Postscript-Interpreter notwendig ist. Auf allen anderen Druckern wird nur ein gering auflösendes Vorschaubild ausgegeben. ACHTUNG: Beim Export von Grafiken in das EPS-Format haben Draw 5 und 6 ein Ressourcenproblem. Werden viele Grafiken nacheinander exportiert oder sind viele andere Programme geöffnet, geht der EPS-Export blitzschnell vonstatten, aber die erzeugte Datei kann von keinem Programm eingelesen werden.
Ein sicheres Kennzeichen für dieses Fehlverhalten ist, daß beim Export das Fenster mit den Speicheroptionen nicht erscheint. In diesem Fall helfen nur ein Warmstart des Rechners und ein Neuexport der Grafik.
In Draw 7 ist dieses Problem behoben, dafür arbeitet hier die Option
Automat. Überdrucken
nicht korrekt. Sie soll eigentlich bewirken, daß beim Offsetdruck an den Rändern von Farbflächen keine Blitzer durch Paßungenauigkeiten entstehen. Sie führt in der Praxis aber dazu, daß Draw um alle Flächen in geringem Abstand eine zweite Außenlinie legt, die wie ein Schatten aussieht. Kleinere Schriften werden dadurch im Druck nahezu unleserlich.

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-01-26 19:52


Farbverläufe besser exportieren

Bei den Versionen 4 bis 6 hängt die Qualität eines Farbverlaufs im exportierten Bitmap-Bild von der Zahl der Stufen in der Bildschirmvorschau ab. Diese wird im Optionen-Menü eingestellt. Bei 255 Stufen entstehen keine sichtbaren Treppchen mehr. Corel 7 hat dieses Vorgehen entkoppelt: Beim Export arbeitet das Programm immer mit so vielen Stufen, daß keine Treppchen auftreten.
Dafür müssen Sie nun bei jedem Ausdruck in
Druckoptionen - Optionen
die Zahl der Farbverlaufsstreifen einstellen, damit im Druck keine Treppchen zu sehen sind.

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-01-26 19:53


Fläche nutzen

Erst seit Draw 8 funktioniert die Bemaßung von Zeichnungen (Größenangaben, etwa bei Bauplänen) auch bei großformatigen Zeichnungen absturzfrei. In Version 7 umgehen Sie mit einem Skalierungsfaktor die Programmlimits, 1:1-Vorlagen für 3D-Programme sind aber nicht möglich.
Bilder mit Abmessungen über 4800 x 4800 Pixel konnte Draw früher nicht exportieren. Bei Draw 7 umgehen Sie dieses Limit mit einem Trick, der wenigstens maßstabsgetreue Zeichnungen erlaubt: Stellen Sie in Optionen/Einstellungen/ Verhältnis eingeben einen Skalierungsfaktor ein, zum Beispiel 1 cm = 1 m. Die Zeichnung können Sie allerdings nicht in der richtigen Größe in einem 3D-Programm wie Corel Dream 3D weiterbearbeiten.
Anders als in der Vorgängerversion arbeitet ab Draw 8 die Bemaßungsfunktion auch bei großformatigen Zeichnungen ohne Programmab- q stürze. Daher bietet es sich an, Zeichnungen wie einen Gebäudegrundriß im Originalmaßstab anzufertigen. Allerdings lassen sich derart große Zeichnungen nicht mehr per Zwischenablage zum Beispiel in WinWord oder per EPS-Export in PageMaker übernehmen, um sie verkleinert in Textseiten einzubinden: Diese Programme streiken ab Breiten von 10 Metern.
Zwar können Sie mit Draw 8 eine einmal erstellte Bemaßung über Anordnen/Trennen vom bemaßten Objekt trennen, allerdings ist dies bei mehreren hundert Maßangaben in komplexeren Modellen zu aufwendig und fehlerträchtig.
Sicherer und schnellerer gehen Sie vor, wenn Sie die Grafik - so wie sie ist - aus Corel Draw 8 im Format Adobe Illustrator 8.8 exportieren und dabei die Option Text exportieren als Text anwählen. Nach dem Reimport in eine leere Arbeitsfläche von Corel Draw sind die Bemaßungen gekappt, so daß sich die Grafik ohne Änderung der Werte beliebig verkleinern läßt. Der integrierte Textexport stellt dabei sicher, daß der Text seine Sondereigenschaften nicht verliert und damit auch bei extremen Verkleinerungen der Grafik noch sicher lesbar bleibt.

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-01-26 19:54


Interaktive Füllungen

Bei perspektivisch korrekten Füllmustern für dreidimensionale Objekte mußten Sie in Draw bis Version 7 die Füllungen erst noch langwierig anpassen. Erst Draw 8 bietet einen akzeptablen Weg über das Werkzeug Interaktive Füllungen.
Bisher wirkten Flächen auf räumlichen Körpern in Corel Draw ohne erhebliche Nacharbeit unnatürlich, weil die Füllmuster nicht an den Raum angepaßt waren. Um den Füllmustern dennoch die richtige Perspektive zu zeigen, öffnen Sie in Draw 4 bis 7 die Texturen im mitgelieferten Retusche- und Montageprogramm Photo-Paint. Bearbeiten Sie die Texturen mit Effekte/Transformationen/3D-Rotation, laden Sie die Texturen in Draw, und passen Sie sie dort mit dem Knotenwerkzeug in die Form des dreidimensionalen Objekts ein.
Mit dem neuen Werkzeug Interaktive Füllung aus Draw 8 läßt sich dieses Problem zwar nicht perfekt, aber ein ganzes Stück eleganter lösen. Wählen Sie in der Werkzeugleiste von Draw 8 Hilfsmittel Füllung/Dialogfeld Füllmuster/Füllmuster. Ausgerechnet hinter dem Füllmuster-Schalter Kacheln versteckt sich eine besonders wichtige, per Programmvorgabe bereits aktive Option: Füllung mit Objekt ändern. Wenn diese Option ausgeschaltet sein sollte, aktivieren Sie sie für die Zuweisung von Musterfüllungen und Füllmustern.
Eine so eingestellte Füllung paßt sich allen Änderungen des
jeweiligen Objekts an. Eine Holzmaserung zum Beispiel macht die Drehung einer gezeichneten Tischplatte mit. Über das Werkzeug Interaktive Füllung lassen sich die Strukturen sogar nachträglich an die räumlichen Gegebenheiten anpassen. Unabhängig von Größe und Lage des Objektes verändern Sie das Füllmuster durch den automatisch aufspringenden Rahmen. Aber Vorsicht: Wenn Sie den Rahmen kleiner einstellen als die Objektfläche, wiederholt das Programm das Muster; es kann dadurch zu unschönen Übergängen kommen. Achten Sie daher insbesondere beim Drehen des Musters darauf, das Muster so groß zu ziehen, daß in den Bildecken keine unschönen Musterwiederholungen auftreten.
In der Landschaftsszene mit dem nächtlichen Zebra (PC Magazin 6/98, Seite 194) sehen Sie die transparente Variante der interaktiven Musterfüllung. Zuerst erstellen Sie dazu ein Rechteck. Weisen Sie ihm über das Hilfsmittel Füllung einen Farbverlauf zu. Definieren Sie über Anpassen im aufspringenden Farbbalken an der linken Seite einen Braun- und an der anderen Seite einen Blauton. Drehen Sie den Verlauf mit einem Winkel von 90 Grad: So entsteht die Basislandschaft. Für den Horizont legen Sie einen weißen Farbstreifen zwischen Himmel und Erde. Ziehen Sie über der oberen Himmelshälfte ein Rechteck auf, das Sie weiß einfärben und dem Sie anschließend über Hilfsmittel Interaktive Transparenz/Füllmuster und die Eigenschaftsleiste ein Füllmuster zuweisen. Für das Zebrabild im Beispiel wählen Sie das Muster Horizont aus der Gruppe q Beispiele 8. In der Eigenschaftsleiste nehmen Sie nach einem Klick auf Füllung bearbeiten die Feineinstellungen vor. Schieben Sie den Bearbeitungsrahmen des Füllmusters mit der Maus zusammen, bis die Wolkenberge eine angemessene Staffelung ergeben. Ziehen Sie den Rahmen nach unten bis knapp über die Horizontlinie. Die Rahmenbreite behalten Sie bei, um eine seitliche Kachelung der Wolkendecke zu verhindern. Entsprechend verfahren Sie beim hügeligen Sandboden, nur daß Sie hier das Füllmuster Gletscher (ebenfalls aus der Gruppe Beispiele 8) einsetzen.
Für die übergreifenden Mondstrahlen erstellen Sie ein weiteres Rechteck, das die gesamte Fläche abdeckt. Färben Sie es gelb ein, indem Sie zum Beispiel mit der Maus von der Farbpalette die Füllung auf das Rechteck ziehen, und rufen Sie das Hilfsmittel Interaktive Transparenz auf. Weisen Sie dem Rechteck darüber in der Eigenschaftsleiste neben Transparenz bearbeiten statt der Voreinstellung Keine einen Farbverlauf zu.
Nach dieser Auswahl klicken Sie auf das Symbol für den radialen Verlauf. Dadurch erscheint der weiße Bereich innen und der gelbe außen - umgekehrt ist es richtig. Die richtige Wahl nehmen Sie folgendermaßen vor: Über Transparenz bearbeiten erhalten Sie das Fenster Farbverlaufs-Transparenz. Hier klicken Sie unter Farbüberblendung auf Anpassen. Damit tauschen Sie mit einem Mausklick auf das kleine weiße Kästchen das Schwarz und Weiß für den Anfangs- und Endpunkt des Verlaufs aus. Abschließend stellen Sie über den runden Hilfsrahmen die Position des Mondes und seinen Leuchtradius ein.  Die Leuchtintensität bestimmen Sie über den kleinen Schieberegler zwischen den beiden Karos, die Hilfsrahmen markieren. Diesmal verringern Sie die Intensität durch Annäherung an das mittlere weiße Karo.

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-01-26 19:56


Kleine Umlaute

Corel Draw 7 korrigiert eigenmächtig Ihre Texte, wenn es Grafiken im WMF-Format importiert, die Sie ursprünglich mit Draw 6 erstellt haben. Die großgeschriebenen Umlaute (Ä, Ö, Ü) verwandelt Draw 7 kommentarlos in Kleinbuchstaben. Sie sind in Draw 7 nachträglich zu ändern.

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-01-26 19:57


Konsequente Mausunterstützung

Die Maus bietet mehr Funktionen, als Sie auf den ersten Blick bemerken.
Corel Draw nutzt in der neuen Version 7.0 nicht nur konsequent die rechte Maustaste für kontextsensitive Menüs, sondern bietet in Kombination mit entsprechenden Tasten noch einige weitere Arbeitserleichterungen an. Wenn Sie ein Objekt mit der Maus verschieben, skalieren oder rotieren, reicht während der Aktion ein kurzer Klick mit der rechten Maustaste, um das Original unverändert beizubehalten und die Veränderung der Kopie zuzuweisen.
Ziehen Sie in Corel Draw ein Objekt bei gedrückter rechter Maustaste auf ein anderes, so erscheint ein Menü. Dieses erlaubt Ihnen, die Attribute des Quell- auf das Zielobjekt zu übertragen. Drücken Sie zusätzlich zur rechten Maustaste auf [Umschalt], übernimmt das Programm automatisch die Füllung des Quellobjekts. Gleiches gilt auch für die Umrißattribute, nur müssen Sie dann zusätzlich [Alt] drücken.
Vielen bekannt ist, daß bei gedrückter [Umschalt]-Taste mehrere Objekte nacheinander markieren werden. Ein Klick mit der rechten Maustaste ruft ein Kontextmenü auf, mit dem Sie diese Objekte kombinieren oder gruppieren lassen. Aber auch hier gibt es eine schnellere Alternative. Drücken Sie nämlich bei Anwahl eines neuen Objekts zusätzlich zur Taste [Umschalt] die rechte Maustaste, so erscheint das Menü sofort.

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-01-26 19:58


Mit Bitmaps belichten

Eingebundene Pixelgrafik-Bilder können Sie aus Draw 4 nur in einer bestimmten Konstellation belichten.
In vielen Fällen - etwa für Poster - ist es unerläßlich, Bilder einzubinden. Wenn Sie mit Draw 4 eingebundene Bitmaps belichten wollen, sind Sie gezwungen, die Bilder erst als *.eps-Dateien in Photo-Paint 4 (nicht in einem anderen Pixelgrafik-Programm) zu speichern. Zudem müssen Sie Draw 4 in der Revision C einsetzen: Die Revisionsnummer ist auf der CD-ROM aufgedruckt. Besitzer älterer Draw-Versionen sollten die Revision C zum Versandkostenpreis bei Corel anfordern.

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-01-26 19:59


Pixelfilter für Zeichnungen

Um Effektfilter wie beispielsweise Mosaik auf Zeichnungen anzuwenden, mußten Sie die Zeichnung in älteren Draw-Versionen exportieren und in einer Pixelgrafik öffnen. Seit Draw 7 stehen Ihnen mit Bitmap/In Bitmap konvertieren die Pixelgrafikfilter bereits in der Vektorgrafik selbst zur Verfügung.
Bevor Sie in Draw Pixelgrafikfilter einsetzen können, markieren Sie die in Draw erzeugte Zeichnung und wandeln sie mit Bitmap/In Bitmap konvertieren um. Dabei sollten Sie folgende Optionen bei der Umwandlung verwenden:
- Die Option gerastert verbessert den Übergang zwischen Farben. - Transparenter Hintergrund ist äußerst praktisch, wenn die umgewandelte Bitmap-Grafik später über weitere Objekte gelegt werden soll, ohne ein weißes Rechteck zu verdecken.
- Wenn Sie Transparenz gewählt haben, machen Sie das Eck etwa mit dem Pixelfilter Seite aufrollen von Kai's Power Tools automatisch transparent. Der Filter ist in Draw 8 integriert und läßt sich in Draw 7 als Plugin nachträglich einbinden. Somit wird ein dahinter gelegter Hintergrund sichtbar.
Mit der seit Draw 7 enthaltenen Option Anti-Alias (= Kantenglättung) verhindern Sie den Treppeneffekt bei Pixelbildern. Im Normalfall reicht die Einstellung Standard aus, da Super-Sampling erheblich länger braucht und im günstigsten Fall eine geringe Verbesserung erzielt.

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-01-26 20:00


Streifenfreie Verläufe

Für häßliche Streifen in exportierten Verläufen sind die Voreinstellungen der älteren Draw-Versionen verantwortlich. Sie vermeiden diesen "Streifeneffekt", indem Sie ab Corel Draw 4 die Zahl der Verlaufsstreifen steigern.
Verläufe dürfen nicht als nebeneinanderliegende, farblich voneinander abweichende Streifen erscheinen: Die Farben müssen weich ineinander übergehen. Falsche Voreinstellungen zogen beim Bitmap-Export von Zeichnungen bis einschließlich Draw 6 unschöne Farbverlaufsstreifen nach sich. Sie vermeiden diese Verlaufsstreifen, indem Sie unter Optionen die Zahl der Individuellen Farbverlaufsstreifen auf mindestens 256 erhöhen. Ab Draw 7 ist dieser Wert für den Bitmap-Export ohnehin voreingestellt.

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-01-26 20:01


Weiche Schatten werfen

3D-Objekte wirken räumlicher, wenn Sie sie mit einem Schatten versehen. Wirklich realistische Schatten sollten durchsichtig sein und an den Kanten weich fallen.
Corel Draw 4 ist für weiche Schattenwürfe nicht die erste Wahl, weil es keine Transparenz kennt. Diese simulieren Sie, indem Sie die Kontur kopieren, sie mit grauer Farbe füllen und verzerren. Wer ein überzeugendes Ergebnis erzielen will, muß die Kontur anschließend in ein Bildbearbeitungsprogramm exportieren und dort transparent stellen, die Ecken markieren und mit dem Gauß'schen Weichzeichner filtern. Draw 5 kennt zwar eine Transparenz-Option, die Sie über die Werkzeugpalette aufrufen. Diese Option führt aber immer wieder zu Abstürzen. Erst ab Draw 6 erhalten Sie über Effekte/Linse ein Rollout-Fenster, über das Sie auch umfangreichere Objekte sicher und effektiv bearbeiten. Corel Draw 8 bietet für durchsichtige und an den Kanten weiche Schatten sogar ein eigenes Schattenwerkzeug: Es erscheint als dunkles Rechteck.
Die Vorgehensweise ist einfach. Wählen Sie zuerst das schattenwerfende Element. Klicken Sie auf das dritte Werkzeug von unten in der Werkzeugleiste. Dadurch springt ein Klappmenü mit dem Schattenwerkzeug auf. Nach dem Aufruf dieses Werkzeugs ist der Schatten bereits erstellt, oftmals aber nicht sichtbar, da er direkt hinter dem Objekt liegt. Ziehen Sie den Mauszeiger etwas vom ausgewählten Objekt weg, wandert der Schatten mit. Auf der Verbindungslinie zwischen Objekt und Schatten befindet sich eine kleine verschiebbare Marke, mit der Sie die Helligkeit des Schattens regeln: Je näher Sie die Marke zum Schatten ziehen, desto dunkler wird er.
Wie weich die Schattenkanten fallen, stellen Sie im Menü Eigenschaften ein. Der Vorgabewert von 15 ist, wie der Schriftzug Mexico Airlines (PC Magazin 6/98, Seite 193 oben) zeigt, nicht immer geeignet. Um Texte lesbarer zu machen, genügt ein Verlaufswert von 5, der wie im unteren Bildabschnitt die Buchstabenkonturen auch noch im Schatten erkennen läßt und sie dadurch besser herausarbeitet.
Das Flugzeug im Bildabschnitt oben zeigt noch ein anderes Problem: Der automatische Schatten wird immer auf eine hinter dem Objekt stehende Fläche geworfen. Überall dort, wo der Blick auf einen endlosen Horizont schweift, ist dieser Schattentyp allerdings fehl am Platz. Das obere Flugzeug wirkt aufgeklebt.
Realistischer ist der Schattenwurf des unteren Airlines-Plakats. Dieser Effekt entsteht, indem Sie zunächst einen Schatten mit der Automatik-Funktion erstellen. Über Anordnen/Trennen lösen Sie ihn vom Grundobjekt, das den Schatten wirft, und spiegeln, verkleinern und drehen ihn, bis er nur auf Flächen fällt, die - wie die Wasseroberfläche - auch Schatten abbilden können.
Der Automatikschatten von Draw 8 läßt sich nicht nur auf Einzelelemente werfen, sondern auch auf Gruppen. Wenn Sie allerdings nach dem Schattenwurf einzelne Elemente der Gruppe bearbeiten wollen, müssen Sie zuerst den Befehl Anordnen/Trennen ausführen, bevor Sie die Gruppierung lösen können.
Wenn das schattenwerfende Objekt viele kleine abstehende Details zeigt, erzeugt die Schattenoption Mitte/Linear einen filigraneren Schattenverlauf.

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-01-26 20:02


Computer » Programme » Photoshop

Stimmungsvolle Sepia Farben

 

Problem:
Bei einem Schnappschuss gefällt Ihnen das Motiv sehr. Die Farben der Aufnahme wirken aber nicht gut oder sind
wegen eines unpassenden Films völlig verfälscht. Sie möchten das Foto deshalb in Photoshop zu einem farbreduzierten
Bild in stimmungsvollen Sepia-Farbtönen ändern.

Lösung:
Sepia-Farben, die ein Bild wie ein Foto aus dem 19. Jahrhundert wirken lassen, können das Motiv besser zur Geltung bringen.
Wenig nützlich ist aber der Modus "Graustufen", denn damit gehen auch sämtliche RGB-Farbinformationen verloren, die
Sie für den gewünschten Sepia-Farbstich noch brauchen.

Ändern Sie also nicht den Modus, sondern wählen Sie "Bild, Einstellen, Farbton/Sättigung".
Schieben Sie den Regler für die Farbsättigung ganz nach links. Bestätigen Sie die neue Farbeinstellung,
gehen Sie zurück zum vorherigen Menü "Einstellen" und hier auf "Farbbalance".
Mit den Reglern für Rot, Grün und Gelb können Sie dem Bild die Tönung verpassen, für Sepia genügt eine
Verschiebung der Balance nach Rot und etwas weniger stark nach Gelb. Wenn das Bild danach zu kontrastarm
erscheint, bessern Sie mit "Helligkeit/Kontrast" unter "Einstellen" nach.

Verfasser: Andreas
Letzte Änderung: 2019-12-24 11:26


Miniaturen in Bild-Browsern

Problem:
Sie erstellen in Photoshop Bilder, die mehrere Ebenen enthalten. Diese Fotomontagen im Photoshop-Dateiformat PSD
erscheinen nicht als Miniaturen im Explorer von Windows XP oder in Bilddatenbanken. Stattdessen sehen Sie nur das
Standardsymbol für Photoshop-Dateien.

Lösung:
Damit die Photoshop-Montagen als Miniaturen im XP-Explorer oder in anderen Bilddatenbanken erscheinen, müssen Sie
die Voraussetzungen in Photoshop schaffen.
Wenn Sie im Windows-Explorer den Befehl "Ansicht, Miniaturansicht" verwenden, sehen Sie zwar die meisten Fotos des
Verzeichnisses als Bildminiatur. Für Photoshop-Montagen gilt das jedoch nur unter einer Bedingung: Sie haben zuvor
innerhalb der PSD-Datei eine kleine Vorschaudatei gespeichert - die "Bildübersicht". Die eingebaute Mini-Vorschau
kostet etwa 4 Kilobyte Speicherplatz zusätzlich pro Bild.
Wählen Sie in Photoshop "Bearbeiten, Voreinstellungen, Dateien verarbeiten".
Im Auswahlmenü neben "Bildübersichten speichern:"
geben Sie an, dass die Übersichten "Immer" gespeichert werden sollen.
Die Alternative heißt "Beim Speichern wählen". Damit
erhalten Sie im Dialogfeld "Speichern unter" stets die
Option "Miniatur".
Bilddatenbanken wie Thumbs Plus 2002 greifen nicht auf diese Bildübersicht zurück. Sie benötigen stattdessen in der
Montage eine Zusatzebene, die das komplette Montageergebnis in voller Größe zeigt. Nur so kann die Datei als Miniatur in
der Datenbank erscheinen.
Damit Photoshop die erforderliche zusätzliche Gesamtansicht innerhalb der Montage anlegt, aktivieren Sie im Dialog
"Dateien verarbeiten" die Option "Kompatibilität für Photoshop PSD-Dateien immer maximieren". Diese für Sie unsichtbare
Zusatzebene kostet bei großen Dateien allerdings viel Speicherplatz und Rechenzeit. Wenn Sie die Option im Dialog
"Dateien verarbeiten" jedoch deaktiviert lassen, dann blendet Photoshop automatisch bei jedem Speichern einer Montagedatei
die Frage ein, ob Sie die Kompatibilität maximieren wollen.

Verfasser: Andreas
Letzte Änderung: 2019-12-24 11:30


Perspektivischer Schatten

Problem:
Sie wollen ein Montage-Objekt mit einem Schatten unterlegen, der perspektivisch verzerrt erscheint, sich
also nach hinten verjüngt. Photoshop bietet jedoch nur Schatten an, die die Umrisse des Hauptmotivs exakt
nachbilden.

Lösung:
Wenn Sie den Schlagschatten in eine eigene Ebene umwandeln, sind anschließend beliebige Verzerrungen
möglich. Benutzen Sie zuerst den "Schlagschatten?-Effekt aus dem Menü "Ebene, Ebenenstil?. Anschließend
gehen Sie im selben Menü auf "Ebene erstellen?. Jetzt erzeugt Photoshop eine neue Montage-Ebene, die nur
den Schatten zeigt.
Öffnen Sie die Ebenenpalette mit <F7>. Sie sehen nun eine neue Ebene mit einer Bezeichnung wie
"Schlagschatten von Ebene 1?.
Aktivieren Sie die "Schlagschatten?-Ebene in der Palette. Sie können den Schatten wie jedes
Montage-Objekt bearbeiten. Verwenden Sie zum Beispiel aus dem Menü "Bearbeiten, Transformieren?
Befehle wie "Verzerren? oder "Perspektivisch verzerren?, um den schrägen Lichteinfall einer tief
stehenden Lichtquelle zu simulieren.
Wirkt der Schatten zu hell oder zu dunkel, korrigieren Sie die Deckkraft in der Ebenen-Palette.
Auch die Kantenschärfe des Schattens lässt sich anpassen. Um die Ränder abzusoften, gehen Sie im
Menü auf "Filter, Weichzeichnungsfilter, Gaußscher Weichzeichner?. Wollen Sie den Schatten einfarbig
tönen, verwenden Sie den Menüpunkt "Bild, Einstellungen, Farbton/Sättigung?. Schalten Sie die
"Färben?-Option ein, und heben Sie die "Lab-Helligkeit? deutlich an, zum Beispiel auf "+ 40?. Anschließend
experimentieren Sie mit dem "Farbton?-Regler, bis die gewünschte Einfärbung erreicht ist.

Verfasser: Andreas
Letzte Änderung: 2019-12-24 11:32


Photoshop Tunen

Photoshop läuft erst dann zur Hochform auf, wenn Sie zwei Festplatten oder zumindest zwei oder mehr Partitionen besitzen. Ist diese Voraussetzung bei Ihnen gegeben, dann empfehlen wir Ihnen folgende Schritte:

Wählen Sie "Bearbeiten / Voreinstellungen /Zusatzmodule & Virtueller Speicher"

Stellen Sie das erste Arbeitsvolume in jeden Fall so ein, dass es NICHT auf der Festplatte bze. Partition belegt, auf dem Photoshop liegt. Haben Sie beispielsweise unter: "C:\Programme\Adobe\Photoshop\" installiert, wählen Sie einen anderen Laufwerksbuchstaben wie D:\.
Als weiteres Volumes können Sie (je nach Anzahl der Festplatten und/oder Partitionen) weitere Laufwerke setzen. Ab dem zweiten Volume kann beruhigt auch das Laufwerk gewählt werden, das Photoshop enthält.
Wechseln Sie zur Einstellung, Arbeitsspeicher und Bildcache.

Standardmäßig belegt Photoshop maximal 50% des verfügbaren Arbeitsspeichers. Auch hier gibt es keine eiserne Regel:
Experimentieren Sie mit höheren, in Einzelfällen auch niedrigeren Werten. Sollten Sie in der Regel so mit Photoshop arbeiten, dass keine weiteren Programme gleichzeitig geöffnet sind, können sie ruhig einen großzügigeren Wert versuchen - Photoshop wird an Speed zulegen. Müssen Sie dagegen andere Anwendungen im Hintergrund laufen lassen, dann sollten Sie den Wert absenken.

Verfasser: Andreas
Letzte Änderung: 2019-12-24 11:35


Keine Variationen

Das Deinstallationsprogramm Cleansweep blockiert wichtige Funktionen von Photoshop.
Photoshop und Cleansweep vertragen sich nicht. Sind beide Programme parallel installiert, kann dies dazu führen, dass wichtige Photoshop-Zusatzmodule wie die Variationen oder die Scan-Funktion nicht mehr zur Verfügung stehen. Ein Bug in Cleansweep sorgt dafür, dass dieses Programm die entsprechenden Modul- Dateien von Pho-toshop als gerade verwendet klassifiziert und dadurch deren Ausführung verhindert. Der Fehler trat bei der Verwendung von Cleansweep 3.07 zu-sammen mit den Pho-toshop- Versionen 3.04 Englisch sowie 4.0 und 5.0 (jeweils in Deutsch) auf. Dabei ist es unerheblich, ob Photoshop unter Cleansweep installiert wird oder ob das Überwachungs-programm erst nach der Installation von Photoshop hinzukommt. Welche Dateien von Cleansweep blockiert werden, hängt von der verwendeten Photoshop-Version ab. Betroffen unter Photoshop 3.0x sind beispielsweise die Dateien VARIAT8B. 8BF und Twain8b.8BA im Verzeichnis Zsmodule. Unter Photoshop 5.x trifft es Variations.8bf und twain_32.8ba im Plugins-Verzeichniszweig der Photos-hop- Installation. Infolge der falschen Klassifizierung durch Cleansweep lassen sich die betroffenen Zusatzmodule nicht mehr ausführen. Damit verlieren Sie wichtige Programmfunktionen. Um das Problem zu beheben, müssen Sie Cleansweep vollständig deinstallieren. Anschließend funktionieren die blockierten Zusatzmodule in Photo-shop wieder einwandfrei. Eine Deinstallation von Photoshop unter der Überwachung von Cleansweep schafft keine Abhilfe. Sie müssen Cleansweep in jedem Fall entfernen. Auch ein manuelles Entfernen der verbliebenen Photoshop-Einträge in der Windows Registry nach der Deinstallation löst das Problem nicht, solange Cleansweep installiert ist.

Verfasser: Andreas
Letzte Änderung: 2019-12-24 11:58


Blockierte Textfunktion

Das Textwerkzeug von Photoshop verursacht Abstürze, wenn zu viele Schriften installiert sind.
Sie arbeiten mit Photoshop und fügen Texte in Ihre Grafiken ein. Sobald Sie dazu das Textwerkzeug aktivieren und in ein Bild klicken, um Textobjekte anzulegen, erhalten Sie die Fehlermeldung Nicht genügend Arbeitsspeicher. Dieses Problem tritt ab Windows 95 auf, wenn sehr viele Schriften im System installiert sind. Die Leistungsfähigkeit des Computers spielt dabei keine Rolle. Die Fehlermeldung erscheint auch auf Pentium-III-Computern mit 128 MByte Arbeitsspeicher (oder mehr) und freiem Festplattenspeicher im Überfluss. Zur Behebung reduzieren Sie die Anzahl der installierten Fonts unter Windows. Dazu wählen Sie Start/Einstellungen/ Systemsteuerung. Im Ordner Systemsteuerung klicken Sie doppelt auf das Symbol Schriftarten, um den Ordner Fonts zu öffnen. Per Doppelklick auf ein Schrift-Symbol erhalten Sie eine Vorschau des Schriftbildes. Auf diese Weise ermitteln Sie Schriften, die Sie nicht mehr benötigen. Um diese zu löschen, halten Sie die [Strg]-Taste fest und wählen per Mausklick alle überflüssigen Schriften nacheinander aus. Wählen Sie Datei/Löschen, und bestätigen Sie die folgende Abfrage mit Ja. Dadurch entfernen Sie alle markierten Fonts. Prüfen Sie in Photoshop, ob das Problem behoben ist. Andernfalls entfernen Sie weitere Schriften, bis die Fehlermeldung nicht mehr erscheint.

Verfasser: Andreas
Letzte Änderung: 2019-12-24 12:00


Einzelne Farben hinzufügen

Erhöhen Sie selektiv die Anzahl der Farbtöne in gif-Dateien, ohne den Farbmodus zu ändern.
Sie bearbeiten gif-Dateien, die wenige Farben enthalten, beispielsweise Icons. Möchten Sie zusätzliche Farbtöne hinzufügen, müssen Sie nicht den Farbumfang des Bildes über das Menü Bild/Modus komplett verändern, etwa mit dem Befehl RGB-Farbe. Statt dessen fügen Sie die benötigten Farbtöne der gif-Grafik einzeln hinzu. Laden Sie die gif-Grafik. Benutzen Sie den Befehl Bild/Modus/Farbtabelle. Im Dialog erscheinen die Farbtöne, die das Bild enthält. Klicken Sie das erste freie Feld der Farbtabelle an. Im Dialog Farbwähler stellen Sie den gewünschten Farbton ein. Klicken Sie ins Farbwählfeld, definieren Sie die Werte des Farbtons für das gewünschte Farbmodell, oder geben Sie den hexadezimalen Code der gewünschten Farbe ein. Mit OK übernehmen Sie den neuen Farbton in die Palette des Dialogs Farbtabelle. Fügen Sie entsprechend weitere Farbtöne hinzu, die Sie benötigen. Mit OK schließen Sie ab. Die zusätzlichen Farbtöne stehen nun zur Verfügung und lassen sich als Vorderoder Hintergrundfarbe auswählen. Nehmen Sie die gewünschten Änderungen im Bild vor, die Sie mit der Schaltfläche Speichern dauerhaft übernehmen.

Verfasser: Andreas
Letzte Änderung: 2019-12-24 12:01


Image-Browser einsetzen

Mit der Vorschaufunktion des Image-Browsers finden Sie Bilder schnell.
Bei der Suche nach der richtigen Grafik hilft der integrierte Image-Browser von Paint Shop Pro. Er legt automatisch Vorschaubilder an, so dass Sie ein gewünschtes Bild schneller laden können. Um diese automatische Vorschau zu erhalten, benutzen Sie in Paint Shop Pro den Befehl Datei/Browser oder die Tastenkombination [Strg-B]. Im Browser-Fenster machen Sie links den gewünschten Ordner sichtbar und wählen ihn aus. Enthält das ausgewählte Verzeichnis Grafiken, erzeugt der Browser entsprechende Vorschaubilder. Per Doppelklick auf ein Dia laden Sie das gewünschte Bild in Paint Shop Pro. Das Browser-Fenster bleibt geöffnet, so dass Sie bei Bedarf weitere Bilder laden. Beim nächsten Aufruf zeigt der Image-Browser automatisch das zuletzt geöffnete Verzeichnis an. Standardmäßig behält der Browser dabei die vorher erzeugten Vorschaubilder, die er in der Datei pspbrwse.jbf im gleichen Verzeichnis speichert. Um das zu verhindern, wählen Sie Datei/Einstellungen/ Allgemeine Programmeinstellungen. Im Register Browser des Dialogs Paint Shop Pro Einstellungen schalten Sie die Option Browserdateien auf Festplatte speichern aus. Mit OK schließen Sie ab.

Verfasser: Andreas
Letzte Änderung: 2019-12-24 12:02


Markierungen verschieben

Mit einem Trick ändern Sie die Position von Auswahlrahmen, ohne den Inhalt zu verschieben.
Sie benutzen Auswahlrahmen, um Bildbereiche separat zu bearbeiten. Oft ist es dabei nötig, einen vorhandenen Auswahlrahmen nachträglich zu verschieben, um ihn exakt zu platzieren. Daher bietet Paint Shop Pro Ihnen an, nur den Auswahlrahmen zu bewegen, ohne den markierten Bildbereich mit zu verschieben. Laden Sie ein Bild. Um einen Markierungsrahmen anzulegen, klicken Sie auf das Werkzeug Auswahl in der Werkzeugleiste links. Im Dialog Stil/Palette/Auswahl stellen Sie den Auswahltyp ein, beispielsweise Rechteck. Unter Paint Shop Pro 5 heißt dieser Dialog Kontrollen. Ziehen Sie den Auswahlrahmen mit gedrückter linker Maustaste im Bild auf. Um ihn neu zu platzieren, aktivieren Sie das Werkzeug Verschieben in der Werkzeugleiste. Anschließend führen Sie einen Rechtsklick in den Auswahlrahmen durch und halten die rechte Maustaste fest. Der Auswahlrahmen lässt sich nun durch Ziehen mit der Maus frei platzieren, ohne dass der Rahmeninhalt mitwandert. Um einen Auswahlrahmen zu erweitern, benutzen Sie den Befehl Auswahl/Modifizieren/Vergrößern. Im Dialog geben Sie im Feld Anzahl der Pixel etwa 3 ein. Per Klick vergrößert Paint Shop die Auswahl um diesen Wert. Entsprechend verringern Sie die Größe einer Auswahl mit dem Befehl Verkleinern im Menü Auswahl/Modifizieren.

Verfasser: Andreas
Letzte Änderung: 2019-12-24 12:04


Markierungsgröße festlegen

Mit PhotoShop bestimmen Sie die Größe von Markierungsrahmen exakt im voraus.
Aufwendig gestaltete Bilder setzen sich meist aus mehreren Objekten zu-sammen, die aus anderen Grafiken kopiert und eingefügt werden. Damit sich die Einzelteile nahtlos zusammenfügen, muß die Größe der eingefügten Bildelemente genau stimmen. Dabei ist es schwierig, durch manuelle Veränderung des Auswahlrahmens die gewünschten Dimensionen einzustellen. Hier hilft Ih-nen eine nützliche Funktion von PhotoShop: Sie legen die Größe des Markierungsrahmens fest, bevor Sie eine Aus-wahl erzeugen. Dazu benötigen Sie das Navigator-Fenster, welches Sie bei Bedarf mit dem Befehl Fenster/Navigator einblenden sichtbar machen. Um die Größe einer Markierung zu bestimmen, aktivieren Sie das Auswahl-werkzeug und wählen die gewünschte Form aus, beispielsweise Auswahlrechteck. Im Navigator-Fenster klicken Sie das Register Optionen an, das daraufhin seine Bezeichnung in Auswahloptionen ändert. Schalten Sie im Listenfeld Art die Option Feste Größe ein. Hier tragen Sie in die Felder Breite und Höhe die gewünschten Werte in der Einheit Pixel ein, um die Größe des Rahmens festzulegen. Nun genügt ein Klick in die Grafik, um einen Auswahlrahmen in der definierten Größe anzulegen. Den Rahmen brauchen Sie nur noch mit der Maus an die gewünschte Position verschieben.

Verfasser: Andreas
Letzte Änderung: 2019-12-24 12:06


Störende Fenster ausblenden

Bei Bedarf blenden Sie die Werkzeugfenster per Tastendruck blitzschnell ein und aus.
Auf der Arbeitsoberfläche von Paint Shop Pro befinden sich mehrere freischwebende Fenster, deren Funktionen Sie jedoch häufig brauchen: So stören beispielsweise der Kontrollen-Dialog oder das Ebenen-Fenster. Diese Elemente machen die Arbeitsfläche unübersichtlich. Mit einem Druck auf die [Tab]-Taste blenden Sie alle nicht verankerten Fenster auf einmal aus und auf gleiche Weise wieder ein, wenn Sie die Dialoge wieder benötigen.

Verfasser: Andreas
Letzte Änderung: 2019-12-24 12:07


Web-Grafiken optimieren

Mit einem Assistenten erzielen Sie optimale Ergebnisse beim Speichern von jpg-Grafiken.
Sie setzen fotorealistische Bilder auf Ihrer Internet-Seite ein. Damit diese Fotos schnell geladen werden, müssen die entsprechenden Dateien möglichst klein sein. Das im Internet verwendete Grafikformat JPEG (jpg) erlaubt es, die Bildgröße stufenlos zu verringern. Allerdings gehen dabei hohe Kompressionsraten zu Lasten der Darstellungsqualität. Um die optimale Balance zwischen Dateigröße und Bildqualität zu erhalten, stellt Ihnen Photoshop einen Assistenten zu Verfügung. Hier sehen Sie im direkten Bild-zu-Bild-Vergleich, wie sich die Reduzierung der Dateigröße qualitativ auswirkt. Laden Sie das gewünschte Bild, und wählen Sie Datei/Für Web speichern. Im folgenden Dialog wählen Sie zunächst im Listenfeld Optimierungsformat das gewünschte Format aus, hier jpeg. Um einen direkten Vergleich zwischen verschiedenen Qualitätsstufen zu er-halten, aktivieren Sie das Register 4fach. Sie sehen vier Vorschaubilder: die Originalgrafik (links oben) sowie drei verschiedene Qualitätsstufen. Unter jedem Bild zeigt Photoshop die Qualitätsstufe sowie die entsprechende Dateigröße an. Verändern Sie den Wert im Feld Qualität, indem Sie ihn per Regler auf 30 setzen. Die Änderung wirkt sich direkt auf das zweite Vorschaubild rechts vom Original aus. Den beiden anderen Grafiken weist Photoshop 50 beziehungsweise 25 Prozent dieses Werts zu. Um den gewünschten Bildausschnitt einzustellen, bewegen Sie ein beliebiges Vorschaubild mit gedrückter linker Maustaste. Auf Wunsch ändern Sie die Größe des Bildes direkt im Assistenten. Dazu aktivieren Sie das Register Bildgröße. Hier geben Sie einen neuen Wert in eines der Felder Breite oder Höhe ein. Photoshop passt den zweiten Wert automatisch an. Alternativ geben Sie einen Prozentwert an, um die Bildgröße zu verändern. Mit Anwenden übernehmen Sie die neuen Abmessungen. Um die Bildqualität besser einschätzen zu können, nutzen Sie die Vorschau direkt im Browser. Dazu wählen Sie ein Vorschaubild aus und klicken unten im Dialog auf das Symbol des auf Ihrem PC installierten Browsers. Zum Schluss wählen Sie im Dialog Für Web speichern das Vorschaubild aus, das ein optimales Verhältnis von Dateigröße und Qualität bietet. Mit OK speichern Sie das Resultat unter einem neuem Namen.

Verfasser: Andreas
Letzte Änderung: 2019-12-24 12:08


Zoom und Zack

Mit schnellen Tastenkombinationen vergrößern und verkleinern Sie die Grafikansicht.
Bei der Arbeit mit PhotoShop 5.5.nutzen Sie Tastenkombinationen, um die Anzeige eines Bildes zu vergrößern oder zu verkleinern. So arbeiten Sie erheblich schneller als mit der Zoom-Schaltfläche der Tool-Palette, da das aktuell genutzte Werkzeug während der Maßstabsänderung aktiviert bleibt. Um die Anzeige eines Bildes zu vergrößern, ohne dabei die Fenstergröße zu ändern, drücken Sie gleichzeitig die [Strg]- und die [+]-Taste. Soll das Fenster automatisch angepasst werden, benutzen Sie die Tastenkombination [Strg- Alt-+]. Entsprechend verringern Sie die Anzeigegröße mit [Strg- -] bzw. [Strg- Alt- -]. Um die Originalgröße des Bildes als Ansicht wiederherzustellen, steht Ihnen außerdem die Tastenkombination [Alt-Strg-0] zur Verfügung.

Verfasser: Andreas
Letzte Änderung: 2019-12-24 12:10


Arbeitsoberfläche optimal einrichten

Bildbearbeitungsprogramme dienen vielen Zwecken: Fotos retuschieren, Grafiken entwerfen, 3D-Schrift erstellen. Für jede Aufgabe gibt es Paletten und Symbolleisten. Wenn Sie in der Regel nur ein paar Befehle vom Funktionsspektrum benutzen, sollten Sie dafür sorgen, dass nur diese auf der Oberfläche sichtbar sind. Hier können Sie die Befehle mit einem Klick aufrufen.

Photoshop CS: Mit einem Druck auf die Taste [F] können Sie zwischen Standardansicht, Vollbildmodus mit Menüleiste und Vollbildmodus ohne störende Menüleiste wechseln.

Verfasser: Andreas
Letzte Änderung: 2019-12-24 12:12


Bilder am PC korrekt Belichten

Die Belichtungsautomatik will sich partout nur auf den Hintergrund einstellen? Kein Problem: Im Bildverarbeitungsprogramm können Sie Bereiche, die etwas zu kurz gekommen sind, automatisch aufhellen. Diese Methode bietet sich umgekehrt auf für geblitzte Aufnahmen an, auf denen Personen mit käsig-weißer Haut zu sehen sind, der Hintergrund aber im Dunklen verschwindet.

Photoshop CS: Mit einer cleveren Funktion verbessert die Software schlecht belichtete Bilder- mit erstaunlich guten Resultaten. Klicken Sie auf

Bil | Anpassen | Tiefen/Lichter.

In der einfachen Darstellung des Fensters können Sie mit zwei Kontroll-Reglern die Stärke bestimmen, mit der Sie "Tiefen" aufhellen und "Lichter" abdunkeln. Lassen Sie sich durch Anklicken des Buttons für mehr Optionen, unten links, die weiteren Regler anzeigen, er erweitern sich ihre Eingriffsmöglichkeiten erheblich: Neben der Stärke des Effekts kommen "Tonbreite" und "Radius" hinzu.

"Tonbreite" legt fest, wie viele Helligkeitsstufen in die Aufhellung oder Abdunklung einbezogen werden sollen. Wird dieser Wert zu hoch, beeinflussen Sie auch solche Farbtöne, die nicht mehr im Bereich der "Tiefen" oder "Lichter" liegen.

"Radius" definiert das Weichzeichnen der Maske. Kontrollieren Sie das Bild, weil manche Radius-Werte dazu tendieren, neben Kontrastkanten unerwünschte Säume zu bilden. Weitere Einstellungen betreffen "Farbkorrektur" und "Mittelton-Kontrast"; und Sie können den Bereich von "Tiefen/Lichter" eingrenzen.

Verfasser: Andreas
Letzte Änderung: 2019-12-24 12:13


Bilder automatisch für den E-Mail Versand optimieren

Beim E-Mail-Versand kostet jedes zusätzliche Byte Zeit. Deshalb sollten die Bild-Dateien speziell vorbereitet werden: Eine Bildschirmauflösung von 600x450 Pixel reicht völlig aus, und die JPEGs können bis zu einem gewissen Grad komprimiert werden, ohne dass die Qualität darunter leidet. Wie viel das ist, hängt vom Motiv ab. Statt das Komprimieren und Verkleinern zeitraubend per Hand zu erledigen, können Sie diese Arbeit Ihrem Programm überlassen.

Zum Komprimieren eines Bildes ist die Funktion Für Web speichern... genau das Richtige. Drücken Sie [Alt] + [Umschalt] + [Strg] + [S]. Im Dialogfenster können Sie die Bildqualität regulieren. Wählen Sie bei Voreinstellungen JPEG mittel oder, um eine stärkere Komprimierung zu erhalten, JPEG niedrig. Im Register Bildgröße können Sie zusätzlich die Auflösung verkleinern. Prüfen Sie im Vorschaufenster, wie stark die Bildqualität beeinträchtigt wird. Speichern Sie die Datei unter einem neuen Namen ab.

Verfasser: Andreas
Letzte Änderung: 2019-12-24 12:15


Bildmotiv genau in der richtigen Größe ausschneiden

Anvisieren, abdrücken, fertig. Nach dieser Methode verfahren die meisten Digitalfotografen. Mit Erfolg, denn spontane Fotos wirken besonders authentisch. Und am PC kann man den richtigen Bildausschnitt immer noch festlegen. Das muss nicht zeitaufwendig sein: Mit dem entsprechenden Kniff schneidet Ihr Programm das Foto in den 4:3-Maßen für digitale Entwicklungsdienste aus.

Photoshop CS: Das Beschneiden von Fotos in einem bestimmten Verhältnis ist in Photoshop ganz einfach: Aktivieren Sie das Freistellungs-Werkzeug durch Drücken der Taste [C] und geben Sie in den Höhe- und Breite-Feldern der Werkzeug-Optionsleiste die Werte ?4" und ?3" ein. Wenn Sie nun mit dem Freistellungs-Werkzeug einen Rahmen aufziehen, behält dieser immer das Verhältnis 4:3 bei. Selbstverständlich können Sie Ihre digitalen Bilder hier auch an das analoge Format mit dem Seitenverhältnis 3:2 anpassen, indem Sie die entsprechenden Werte eingeben.

Verfasser: Andreas
Letzte Änderung: 2019-12-24 12:18


Eigene Tastaturkürzel belegen

Es wäre purer Zufall, wenn es bereits für jeden Befehl, den Sie benutzen, ein Tastaturkürzel gäbe. Helfen Sie sich einfach selbst und definieren Sie eigene Tastaturkürzel für wichtige Befehle oder sogar für eigene Aktionen und Skripte. Damit sparen Sie bei jedem Befehlsaufruf einige Sekunden.

Photoshop CS: Über Bearbeiten | Tastaturbefehle rufen Sie das Dialogfeld auf, in dem Sie sämtliche Tastaturbefehle nach Ihren Wünschen bestimmen können. Klicken Sie auf die Funktion, die Sie durch ein Tastaturkürzel belegen wollen und geben Sie dieses ein.

Verfasser: Andreas
Letzte Änderung: 2019-12-24 12:19


Fotos in einem Rutsch umbenennen

Digikams benennen Fotos nach einer fortlaufenen Nummer. Die wenig aussagekräftigen Dateinamen sorgen bei der Retusche für Verwirrung, wenn die Fotos einmal nicht im Original-Ordner gespeichert werden. Geben sie also allen Bildern eines Fotoshootings einen einheitlichen Namen. Benutzen sie einfach die Sapelverarbeitung.

Mit Photoshop können Sie einfach die Dateien nach einer Art Baukastensystem benennen. Öffnen Sie zunächst den Datei Browser über

Fenster / Dateibrowser

oder durch Klick auf das Dateibrowser-Symbol rechts oben in der Optionsleiste. Markieren Sie die Bilder, die Sie umbenennen möchten. Das Dialogfeld

Stapel umbenennen

finden Sie unter

Automatisieren

Folgende Benennungen bieten sich an:
JJJMMTT (Datum) + Dokumentname + Dreistellige Seriennummer + Erweiterung

Das ergibt z.B. ein Datei

20040907Sommerfest001.jpg

Photoshop verwendet allerdings den aktuellen Tag und nicht das Erstellungsdatum weshalb Sie das Datum von Hand eingeben sollten, also zum Beispiel: 2004-08-26_ + Sommerfest_ + Dreistellige Seriennummer + Erweiterung.
Die Datei heißt nun
"2004-08-26_Sommerfest_001.jpg"

Verfasser: Andreas
Letzte Änderung: 2019-12-24 12:20


Korrektur-Reihen automatisch ablaufen lassen

Wer Korrekturen an einer ganzen Bilderreihe vornimmt, sollte die Befehlsfolge aufzeichnen. Dann reicht später ein Knopfdruck, um zum Beispiel die Bildgröße zu vereinheitlichen.

Photoshop CS: Öffnen Sie ein Foto und blenden Sie die Aktionenpalette ein [F9], Über das Dreieck am rechten Rand der Palette können Sie eine neue Aktion anlegen. Der Aufnahmebutton am unteren Rand der Palette ist nun aktiviert. Von nun an wird jede Handlung aufgezeichnet, die Sie am Bild vornehmen. Mit dem kleinen Quadrat links vom Aufnahme-Button stoppen Sie die Aufnahme. Sie können nun noch ein Tastenkürzel für die Aktion anlegen, wenn Sie über das Dreieck Aktions-Optionen eine Taste eingeben, zum Beispiel F2. Ganze Ordner können Sie mit dieser Aktion bearbeiten, indem Sie mit

Datei | Automatiesieren | Stapelverarbeitung

die Aktion und den zu bearbeitenden Ordner auswählen. Bereits fertige Aktionen gibt es übrigens gratis im Internet unter www.pixelplow.de.

Verfasser: Andreas
Letzte Änderung: 2019-12-24 12:23


Rote Augen retuschieren

Selbst mit votgeschaltetem Blitz oder Diffusor lässt sich das Rote-Augen-Phänomen nicht sicher vermeiden. Glücklicherweise lassen sich die Vampier Augen recht schnell retuschieren. Wir zeigen im Detail, wie das Funktioniert:

In Photoshop gibt es einen speziellen Pinsel, der rote Farbe aus einem Foto eliminiert.

Öffnen Sie ihr Foto und wählen Sie das "Farbe-ersetzen-Werkzeug" in der Werkzeugpalette aus. Es befindet sich in einer Gruppe mit dem Reparatur-Pinsel und dem Ausbessern-Werkzeug. Passen sie die Größe der Pinselspitze an: Sie sollten etwas kleiner sein als das zu korrigierende Auge. Kontrollieren Sie auch die Werkzeug-Einstellung:

Unter "Modus" sollte als Option "Farbe" eingestellt sein, unter "Sampling" die Option "Einmal" und unter "Grenzen" dann "Nicht aufeinander folgend"

Der Popup Regler für die Toleranz sollte auf zirka 30% stehen. Durch [D] definieren Sie Schwarz als Vordergrundfarbe. Nun malen Sie mit dem Werkzeug einfach über das rote Auge, um das Bild zu reparieren. Sollte das Rot nicht vollständig verschwinden, erhöhen Sie die Toleranzgrenze.

Verfasser: Andreas
Letzte Änderung: 2019-12-24 12:25


Schiefen Horizont gerade richten

Im Eifer des Gefechts passiert es schon einmal, dass die Kamera beim Abdrücken etwas schief in den Händen liegt. Damit die Fotoshow später nicht so wirkt, als wären alle Bilder bei starkem Seegang geschossen worden, muss der Horizont nachträglich gerade gerückt werden. Mit den richtigen Befehlen ist das keine aufwendige Sache.

Photoshop CS: Das Vorzeige Programm von Adobe ist hier etwas umständlich: Sie müssen zunächst mit der Taste [I] das Messwerkzeug aufrufen. Sollte daraufhin nur die Pipette erscheinen, holen Sie in der Werkzeugleiste das darunter liegende Messwerkzeug hervor. Ziehen Sie jetzt von den beiden äußersten Punkten des Horizonts eine Linie. Öffnen Sie das Dialogfenster

Arbeitsfläche drehen unter Bild | Arbeitsfläche drehen | Per Eingabe....

Der Wert, um den die Linie von der Horizontalen abweicht, wird automatisch in das Eingabefeld übernommen - Sie brauchen ihn nicht mehr durch Ausprobieren zu ermitteln. Bestätigen Sie mit OK, und schon rückt Photoshop das Bild gerade. Zum Schluss beschneiden Sie mit dem Freistellungs-Werkzeug [C] die Ränder

Verfasser: Andreas
Letzte Änderung: 2019-12-24 12:27


Stürzende Linien gerade richten

Alte Fotografenregel: Ein Gebäude immer aus der Ferne mit Zoom fotografieren, so bleiben die Proportionen erhalten. In der digitalen Welt kann man von der Regel schon mal abweichen, denn die so genannten stürzenden Linien lassen sich auch noch am PC entfernen. Und das mit wenigen Klicks!

Als Erstes lösen Sie das Bild von der Hintergrundebene, indem Sie in der Ebenenpalette doppelt auf dei Hintergrundebene klicken. Ziehen Sie vertikale Hilfslinien an die Stellen des Bildes, die Sie gerade richten wollen. Mit STRG + T transformieren Sie das Bild. Ziehen Sie die Greifer an den Ecken des Transformations-Rahmens bei gedrückter STRG-Taste so nach außen oder innen, dass Sie mit den Hilfslinien übereinstimmen. Bestätigen Sie nun mit der Return-Taste und reduzieren Sie das Bild wieder auf die Hintergrundebene.

Verfasser: Andreas
Letzte Änderung: 2019-12-24 12:29


Verschwommene Bilder im Eilverfahren nachschärfen

Ein schlecht fokussiertes Motiv ist einer der häufigsten Bildfehler. Glücklicherweise lässt sich so manches unscharfe Foto noch per Bildbearbeitung retten. Es gibt nur ein Problem: Es dauert relativ lange, um die drei Parameter richtig einzustellen.

Photoshop CS: Wenn Profis das letzte Quäntchen Schärfe herausholen wollen, benutzen sie den Filter Unscharf maskieren. Sie finden ihn unter Filter | Scharfzeichnungsfilter. Drei Parameter bestimmen, wie der Filter wirkt. In den meisten Fällen können Sie sich das Ausprobieren sparen: Belassen Sie den Schwellenwert bei Stufe 0 und den Radius bei 1,0 Pixel. Beim Parameter Stärke erhalten Sie mit Werten von 50 bis 200 Prozent die besten Ergebnisse.

Verfasser: Andreas
Letzte Änderung: 2019-12-24 12:31


Weißabgleich am PC nachholen

Der automatische Weißabgleich der Kamera funktioniert nicht immer gleich gut. Gerade Aufnahmen bei künstlichem Licht zeigen einen leichten Farbstich. Außerdem werden Personen vor einer weißen Wand gerne zu kurz belichtet. Kein Problem: Die Farbe Weiß lässt sich nachträglich am PC justieren. Schnell und trotzdem zuferlässig geht das mit der Pipette.

Mit STRG + L öffnen Sie die Tonwertkorrektur. Wählen Sie im Dialogfenster die rechte der drei Pipetten, um den Weißpunkt zu setzen. Klicken Sie mit dieser Pipette in die hellste Stelle ihres Bildes.

Verfasser: Andreas
Letzte Änderung: 2019-12-24 12:34


Antike Fotos erstellen

Um neue Bilder einen alten Touch zu verpassen, gibt es veschiedenste Möglichkeiten - so unter anderem folgende Variation.

  1.  Nach dem Öffnen des Fotos wird das Bild in ein Graustufen-Bild mit der Funktion
    Bild/Modus/Graustufen umgewandelt.
  2. Als nächstes werden dem Bild einfache Störungen hinzugefügt. Dazu ruft man die Funktion Filter/Störungsfilter/Störungen hinzufügen auf, und probiert hier verschiedenste Einstellungen.
  3. Ist dies erfolgt, wird der Bildmodus wieder auf RGB mittels Bild/Modus/RGB-Farbe geändert, und das schwarzweisse Bild eingefärbt.
  4. Nun betrachtet man den Kontrast des Bildes. Ist der Kontrast stärker, sollte dieser angepasst werden. Dazu ändert man die Werte unter der FunktionBild/Einstellen/Helligkeit/Kontrast
  5. Somit ist man bereits mit der Trimmung des Fotos auf Alt fertig.

Quelle: WCM 231, Seite 92

Verfasser: Andreas
Letzte Änderung: 2019-12-24 12:37


Arbeiten mit Ebenen

Um eine bereits vorhandene Ebene in Adobe Photoshop zu duplizieren, muss man nur einfach die Tastenkombination STRG + SHIFT + ALT gedrückt werden. Währenddessen kann die Ebene mit der Maus verschoben und somit die vorhandene Ebene dupliziert werden.

Sind viele Ebenen vorhanden und der Anwender möchte alle bis auf eine ausblenden, klickt er bei gedrückter ALT Taste auf das Auge der Ebene, die nicht ausgeblendet werden soll. Alle anderen Ebenen verschwinden so. Mit einem weiteren Klick werden wieder alle anderen Ebenen eingeblendet.

Um Ebenen zusammenzufügen, ohne dabei die einzelnen Ebenen zu verlieren, kann man unter Photoshop 7 wie folgt vorgehen:

zuerst wird eine neue Ebene erzeugt und diese über alle anderen bereits vorhandenen Ebenen plaziert.
Im Anschluss werden alle Ebenen, die zusammengefügt werden sollen, mit dieser neuen Ebene verbunden. Diese leere Ebene wird ausgewählt und mit STRG + ALT + E befinden sich alle ausgewählten Ebenen auf einer Ebene, sind allerdings trotzdem noch einzeln vorhanden.
Soll eine Ebene in der Hierarchie der Ebenenplatte verschoben werden, müsste man diese normalerweise manuell verschieben. Aber auch hierfür gibt es ein Tastenkürzel: mit STRG + . (Punkt) oder , (Komma) lässt sich die aktive Ebene jeweils nach oben bzw. nach unten verschieben.

Sind viele Ebenen vorhanden, muss nicht unbedingt im Ebenen Fenster herumgeklickt werden, um eine bestimmte Ebene zu finden.
Besser (und schneller) klickt man mit der Maus auf das zu bearbeitende Objekt und drückt gleichzeitig die
STRG Taste. Somit ist die Ebene des Objektes ausgewählt.

Quelle: WCM 220, Seite 125

Verfasser: Andreas
Letzte Änderung: 2019-12-24 12:40


Automatische Umwandlung in SW Bild

Die automatische Umwandlung des Farbfotos durch den Photoshop-Befehl Bild | Modus | Graustufen führt meist zu ganz ordentlichen Resultaten. Wer jedoch höhere Ansprüche stellt, sollte sich mit Kanalmixer und Einstellungsebenen beschäftigen. Dieser Workshop erklärt am Beispiel von Photoshop 7 wie das funktioniert.

Ein Vorteil der Digitalfotografie ist, dass mit jedem Bild de facto drei Graustufenbilder entstehen, so als wären drei verschiedene Filter vor das Objektiv geschraubt.

In der Bildbearbeitung entspricht jeder Kanal einem Graustufenbild das mit dem jeweiligen Farbfilter aufgenommen wurde.

Kanäle-Palette von Photoshop

Jeder der drei Kanäle Rot, Grün und Blau entspricht in seinem Aufbau einem Graustufenbild. Sehen Sie sich jedes Bild einzeln an, indem Sie in der Palette mit einem Klick auf das Auge-Symbol die anderen Kanäle deaktivieren. Analysieren Sie das aktuelle Bild, erkennen Sie, dass durch die verschiedenen Filterungen ganz unterschiedliche Resultate entstehen.

Beispiele:
Der blaue Himmel wird im Rotkanal sehr dunkel abgebildet - im Blaukanal dagegen eher hell.

Beim roten Fels verhält es sich genau umgekehrt. Dieser ist im Rotkanal hell - im Blaukanal dagegen fast schwarz. Sie können sich diese unterschiedlichen Graustufen-Versionen zunutze machen.

Siehe auch:
1.) Kanalmixer: Die optimale Mischung aus verschiedenen Bildern
2.) Abwedeln und Nachbelichten: So wird das Bild Heller oder Dunkler
3.) Gradationskurven
4.) Einstellungsebenen
5.) Masken der Einstellungsebene
6.) In der Maske malen
7.) Ebenen Stapeln

Verfasser: Andreas
Letzte Änderung: 2019-12-24 12:43


Bild Heller oder Dunkler

Wenn Sie das Bild prüfen, erkennen Sie, dass die Schatten keine Zeichnung mehr haben. Die Lichter im Himmel und im Stein reißen schon fast aus, der Vordergrund könnte einen höheren Kontrast zwischen Sträuchern und Boden vertragen. Mit dem Abwedler und Nachbelichter gibt es zwar in Photoshop spezielle Werkzeuge, die für diese Aufgaben konzipiert wurden. Wirklich proffessionelle Ergebnisse erreichen Sie aber nur mit Hilfe von Gradationskurven und Einstellungsebenen.

Verfasser: Andreas
Letzte Änderung: 2019-12-24 12:46


Ebenen stapeln

Mit dieser Technik können Sie nahezu alle Aufgaben erledigen. In der Ebenenpalette erkennen Sie ganz unten eine Einstellungsebene, die für mehr Kontrast im Bild sorgt. Die Maske ist nur im unteren Bereich hell, und daher wirkt diese Korrektur nur auf den Vordergrund. Darüber liegt eine Kurven-Ebene, die die Lichter abdunkelt. Anhand der weißen Flecken in der Maske kann man erkennen, auf welche Bereiche sie wirkt. Ganz oben finden Sie schließlich die Ebene, die die Tiefen aufhellt.

Beispiel:
Diese Aufhellung wird auf die Felsen beschränkt, die im Schatten liegen.

Verfasser: Andreas
Letzte Änderung: 2019-12-24 12:47


Einstellungsebenen

Neben den Kurven benötigen Sie die Einstellungsebenen, um unsere digitale Dunkelkammer perfekt auszustatten.

Stellen Sie sich diese Einstellungsebenen wie Folien vor, die über das Bild gelegt werden. Eine Folie hellt das Bild auf, eine andere Folie sorgt für mehr Kontrast.
Sie legen eine Einstellungsebene an, indem Sie in das Kontrast-Symbol in der unteren Leiste der Ebenenpalette klicken und die gewünschte Funktion auswählen. In diesem Fall rufen Sie die Gradationskurven auf und hellen das Bild stark auf. Es entsteht eine neue Ebene, die in der Ebenenpalette über dem Bild sichtbar wird. Indem Sie das Auge in der Palette wegklicken, können Sie die Wirkung der Einstellungsebene ausblenden. Durch eine Doppelklick auf das Symbol der Ebene können Sie die Gradationskurve jederzeit wieder anpassen und verändern.

Verfasser: Andreas
Letzte Änderung: 2019-12-24 12:49


Farben einzeln ändern Farbton/Sättigung

Nicht immer ist eine globale Farb-Korrektur angebracht, die das gesamte Bild verändert. Ist das Foto insgesamt stimmig und dnut die Hauttöne verbesserungswürdig, dann würden Sie sich mit den Gradationskurven einen unerwünschten Farbstich ind Bild holen.

In diesem Fall hilft das Farbkreis-Modell weiter. Der Farbkreis teilt das Spektrum des sichtbaren Lichts indie Lichtfarben Rot, Grün, Blau und die Druckfarben Cyan, Magenta, Yelllow auf. Das dazugehörige Werkzeug in Photoshop finden Sie unter:

Bild | Einstellungen | Farbton/Sättigung

Hier verändern Sie den Farbton über Winkelangaben:
Bei plus 180 und minus 180 (jeweils eine halbe Umdrehung) erhalten Sie identische Resultate. Der Sättigungsregler bestimmt, wie bunt das Motiv wird. Der so genannte Lab-Helligkeitsregler verändert die Helligkeitskomponente der Farben.
Sie können die Änderungen für das gesamte Bild vornehmen oder auch einzelne Farben wählen. Zur Korrektur von Hauttönen werden Sie in den meisten Fällen Rot, in seltenen Fällen auch Gelb auswählen. Ist das Menü Farbton / Sättigung aktiv, können Sie ganz exakt bestimmen, welche Rottöne Sie ändern wollen. Dazu gehen Sie mit dem Mauszeiger in das Bild. Es erscheint eine Pipette, mit der Sie in dei Hauttöne klicken, die Sei verändern wollen. In diesem Fall ist unser Hautton zu Magenta - lastig. Wir verschieben daher den Farbtonregler für Rot um 15  nach rechts. Da das Bild zudem noch zu faul ist, wird der Sättigungsregler um den Wert 20 erhöht. So werden die Hauttöne im Motiv gelber und bunter.

Verfasser: Andreas
Letzte Änderung: 2019-12-24 12:51


Farben einzeln ändern - selektive Farbkorrektur

Es ist nicht jedermanns Sache, die Farben des Bildes in einem Kreis zu verschieben. Alternativ dazu bietet sich die selektive Farbkorrektur an, die ebenfalls unter Bild | Einstellungen zu finden ist.
Dieses Menü basiert auf den Druckfarben CMYK, funktioniert aber auch im RGB-Modus einwandfrei. Wieder können Sie die sechs Grundfarben auswählen und nun die Anteile von Cyan, Magenta, Gelb und Schwarz regeln.

Im Beispiel heißt das:
Die Rottöne auswählen und dann Magenta leicht und Gelb stark erhöhen. Im Gegensatz zum Menü Farbton/Sättigung können Sie bei der selektiven Korrektur aber nicht definieren, welche Rottöne Sie genau meinen. Stattdessen müssen Sie sich darauf verlassen, dass die Voreinstellung von Photoshop Ihrer Auffassung von Rot entspricht. Auch sind mit diesem Werkzeug nur kleine Veränderungen möglich. Die Hauttöne z.B. in Blau umzufärben, wird mit der selektiven Farbkorrektur nicht gelingen. Oft nutzt man dieses Menü, um den letzten Feinschliff am Bild vorzunehmen.
Ist die Option "relativ" aktiviert, wird die jeweilige Farbe in Relation zu ihrem Anteil im Bild erhöht oder verringert. Bei Hauttönen ist z.B. Cyan meist relativ gering vertreten. Eine relative Erhöhung des Cyan-Anteils wird daher nur zu einer geringeren Steigerung führen. Die Einstellung "absolut" erhöht die Cyan-Werte dagegen deutlich.

Verfasser: Andreas
Letzte Änderung: 2019-12-24 12:53


Formatierung in mehreren Text-Ebenen ändern

Problem: Photoshop legt für jeden Text, den Sie in einer Grafik unterbringen, eine eigene Ebene an. Wenn Sie nachträglich Schriftart, -größe oder Ausrichtung verändern wollen, müssen Sie das umständlich für jede Ebene einzeln vornehmen.

Lösung: Mit einem Trick ändern Sie die Formatierung mehrerer Text-Ebenen auf einmal. Wählen Sie eine Text-Ebene aus, und verbinden Sie diese mit den anderen, die sie ebenfalls neu formatieren möchten. Klicken Sie dazu im Fenster "Ebenen" bei jeder Ebene auf das Kästchen neben dem Auge. Danach wählen Sie das Text-Werkzeug, halten die <Shift>-Taste gedrückt und ändern im Fernster "Optionen" beispielsweise die Schriftart oder die Schriftgröße. Die neuen Einstellungen wirken sich auf alle verbundenen Text-Ebenen aus. Zuletzt lösen Sie die Verbindung der Ebenen durch einen Klick auf das Kästchen neben dem Auge im Fenster "Ebenen".

Quelle: PC-Welt 10/2004, Seite 246 f

Verfasser: Andreas
Letzte Änderung: 2019-12-24 12:56


Gradationskurven

Das perfekte Werkzeug, um die Helligkeitswerte in einem Bild exakt zu steuern, sind die Gradationskurven.

Einstellungen | Gradationskurven

Sie sehen unten auf der horizontalen Achse einen Verlauf von Weiß nach Schwarz. Dies sind die Vorher-Werte unseres Bildes. Links, auf der vertikalen Achse, werden die Nachher-Werte abgebildet. Sie können einen neuen Punkt hinzufügen, indem Sie einfach auf die diagonale Linie klicken.

Beispiel:
In unserem Fall wird ein Punkt im oberen Drittel der Kurve angelegt und nach oben verschoben. Die dunklen Bereiche des Bildes werden dadurch noch dunkler.
Im Gegensatz dazu führt ein Punkt im unteren Drittel der Kurve dazu, dass die hellen Elemente des Originals noch etwas heller werden.

Sie können die Änderungen überprüfen, wenn Sie den gestrichelten Linien folgen und den Unterschied zwischen dem Helligkeitswert auf der horizontalen und vertikalen Achse vergleichen. Die abgebildete Kurve führt zu einem kontrastreichen Resultat. Die Punkte auf der Gradationskurve können Sie übrigens löschen, indem Sie sie einfach mit der Maus herausziehen.

Verfasser: Andreas
Letzte Änderung: 2019-12-24 13:01


Gradationskurven - Mehr oder weniger Kontrast ins Bild

Weiche Gradation lässt Landschaftsaufnahmen häufig zu flau erscheinen.
Starker Kontrast dagegen kann bewirken, dass klassische Porträts unnatürlich aussehen. Sie können die Gradation aber nachträglich anpassen. Das professionelle Werkzeug dafür heißt Gradationskurven.

Bild | Einstellungen | Gradationskurven

Um einen neuen Punkt zu setzen, klicken Sie auf die diagonale Linie.
Wenn Sie die hellen Elemente nocht etwas heller und die dunklen noch dunkler machen, verstätrken Sie den Kontrast. Umgekehrt können Sie die Lichter ein bisschen abdunkeln und die Tiefen aufhellen, dadurch wird das Bild weicher.

Wird der Kontrast verstärkt, dann treten die dominanten Farben in den Vordergrund. Umgekehrt führt eine weiche Gradation zu dezenteren Farben.

Verfasser: Andreas
Letzte Änderung: 2019-12-24 13:00


Größe übernehmen

Beim Öffnen eines neuen Bildes mit "Datei/Neu" unter Adobes Photoshop kann es vorkommen, dass für die Größe des neuen Bildes automatisch die Ausmaße der letzten Grafik, welche sich in der Zwischenablage befunden hat, verwendet wird.

Dieses Verhalten ist etwas lästig, doch kann es leicht korrigiert werden.
Dazu drückt man einfach auf die ALT-Taste während man im Datei-Menü auf die Funktion
"NEU" klickt.
Nun werden für das Bild die Maße des zuletzt bearbeitenden Bildes aus der Zwischenablage übernommen, sodass das neue Bild in der richtigen Größe angezeigt wird.

Quelle: WCM 231, Seite 92

Verfasser: Andreas
Letzte Änderung: 2019-12-24 13:04


In der Maske malen

Mit dem Pinsel und der Vordergrundfarbe Weiß können Sie jetzt Teilbereiche der Maske wieder "freimalen". Die Maske wird weiß, und unsere Korrektur,d ie das Bild stark aufhellt, wirkt nur an diesen Stellen auf das darunter liegende Bild. So können Sie sehr exakt stueren, welche von der Korrektur verschont bleiben. Im Bild rechts ist die Maske zur Verdeutlichung rot dargestellt.
Haben Sie zu weit gemalt, decken Sie mit der Vordergrundfarbe Schwarz die Bereiche wieder ab. Die Gradationsänderung wird dadurch unsichtbar.
Es empfiehlt sich übrigens, eine große, wieche Werkzeugspitze zu verwenden, um abrupte Übergänge zwischen korrigierten Bereichen zu vermeiden.

Verfasser: Andreas
Letzte Änderung: 2019-12-24 13:05


Kanalmixer

Unter "Bild | Einstellung | Kanalmixer" finden Sie ein Menü, das nicht nur Arnold "MixIt" Schwarzenegger gefällt. Wenn Sie links unten das Kästchen "Monochrom" aktivieren, legen Sie damit ein Bild ohne Farbinformationen aus den bestehenden Kanälen an.

In unserem Beispiel soll der Rotkanal die tragende Rolle spielen, da hier die Zeichnung am besten ausgebrägt ist. Damit der Fels nicht zu hell wird, reduzieren Sie aber den Anteil auf 88%. Der Grünkanal steuert 8% zum Resultat bei. Der Blaukanal findet im Beispiel keine Berücksichtigung und steht daher auf 0%.

Über den Kanalmixer bestimmen Sie sehr genau, welche Stimmung im Bild herrschen soll. Sie können mit einem Regler sogar in den Minusbereich gehen und damit die Informationen dieses Kanals vom Gesamtergebnis abziehen. In der Regel wird die Prozentzahl aller Kanäle in der Addition ungefähr 100% betragen. Allerdings müssen Sie diesen Wert nicht exakt erreichen. Beim Beispiel ist der stark vertretene Rotkanal sehr hell. Deswegen erreichen Sie in der Addition nur 96%.

Obwohl das Bild jetzt grau aussieht, handelt es sich immer noch um ein RGB-Bild. Um ein richtiges Graustufenbild zu erhalten, müssen Sie es noch unter "Bild | Modus | Graustufen" umwandeln.

Verfasser: Andreas
Letzte Änderung: 2019-12-24 13:07


Masken der Einstellungsebenen

Die Einstellungsebene wirkt erst einmal auf das gesamte Bild. Das Ziel, Teilbereiche des Bildes zu bearbeiten, haben Sie also noch nicht erreicht. Hier helfen die Masken weiter, die automatisch jeder Einstellungsebene zugeordnet werden. In der Ebenenpalette sehen Sie diese direkt neben dem Kurven-Symbol.
Mit dem Befehl "Bearbeiten | Fläche" können Sie die gesamte Einstellungsebene mit Schwarz füllen. Nun ist die Änderung durch die Gradationskurven komplett ausgeblendet. Damit haben Sie die Voraussetzung geschaffen, um gezielt Bereiche des Bildes zu modifizieren.

Verfasser: Andreas
Letzte Änderung: 2019-12-24 13:10


Tonwerte angleichen - Farben richtig mischen

Im Infodisplay des Farbaufnahmewerkzeugs können Sie dei Werte für Cyan, Magenta und Yellow ablesen.

Die gewünschten Einstellungen erreichen Sie durch: "Bild | Einstellungen | Gradationskurven"

Klicken Sie auf die diagonale Linie, um einen Punkt zu setzen.

Die Cyan-Werte verringern Sie durch die Erhöhung der Rot-Anteile.

Magenta verstärken Sie durch Absenkung der Gradationskurve für Grün.

Die Yellow-Anteile und damit die blaue Gradationskurve lassen Sie in diesem Fall unberührt.

Behalten Sie immer die Informations-Palette im Auge und überprüfen Sie die Auswirkungen.

Der Vorteil der Gradationskurven:
Die Farbkorrektur ist global, Sie modifizieren damit nicht nur die Hauttöne, auch der Hintergrund wird deutlich neutraler.

Verfasser: Andreas
Letzte Änderung: 2019-12-24 13:12


Tonwertkorrektur - Vorsicht bei Automatik-Funktion

Die wichtigste Regel der Bilbearbeitung lautet: Was im Ausgangsbild fehlt, kann die beste Software nicht mehr hineinzaubern.

Achten Sie deshalb darauf, dass genügend Bildinformationen zur Verfügung stehen. Es ist gefährlich, auf die Automatiken der Scan- und Bildbearbeitungsprogramme zu vertrauen. Diese suchen nach dem hellsten Punkt im Motiv, dem so genannten Weißpunkt, und sorgen dafür, dass diese Stelle komplett weiß wird. Liegt der hellste Punkt im Hintergrund, bleibt der Hautton weitgehend erhalten. Befindet sich der Weißpunkt dagegen im Hautbereich, etwa im Gesicht, dann wird das Bild sehr viel härter. ein guter Teil der Informationen geht so unwiederruflich verloren. Bei einer klassischen Reproduktion von Hauttönen sollte dies nicht der Fall win, aber sie können es als Stilmittel einsetzen. Behalten Sie die automatischen Funktionen, etwa die Auto-Tonwertkorrektur von Photoshop, kritisch im Auge. Wer im Display der Kamera eine Histogramm zur Verfügung hat, sollte darauf achten, dass sich die Pixelberge nicht am Rand drängen.

Die Histogramm-Funktion im Menüpunkt manuelle Tonwertkorrektur zeigt die Intensität der verschiedenen Farbtöne, von Dunkel (links) bis Hell (rechts), auf der Skala wo die stärksten Ausschläge konzentriert sind herrschen die entsprechenden Töne vor.

Verfasser: Andreas
Letzte Änderung: 2019-12-24 13:14


Zielwerte: Annäherung an den richtigen Hautton

Eine alte Lithografen-Regel lautet:

1 Teil Cyan, 3 Teile Magenta und 3 - 4 Teile Gelb ergeben mitteleuropäischen Hautton. Konkrete Prozentangaben nützen hier nichts, denn es gibt immer hellere und dunklere Hautbereiche im Motiv. Für Fotografen, die im RGB-Farbraum arbeiten, scheinen diese Aufgaben, die sich auf die Druckfarben CMYK beziehen, zunächst wenig hilfreich zu sein. Sie können sich diese aber nutzbar machen: Die Inforamtions-Palette von Photoshop zeigt die Werte frei an. Wollen Sie etwa die Magenta-Werte entsprechen der Regel anpassen, bleiben Sie einfach in der Inforamtions-Palette auf der gleichen Höhe und ändern dort die Grün-Werte Ihres RGB-Bildes. Der Magenta-Wert darf nicht über Gelb, dass die abgebildete Person so wirkt, als hätte sie zu lange in der Sonne gelegen oder übermäßig alkoholischen Getränken zugesprochen. Gelb sollte allerdings auch nicht mehr als 10% über Magenta liegen. Auch dies kann zu Sorgen um den Gesundheitszustand der abgebildeten Person führen. Zu viel Cyan erzeugt dagegen eine ungesunde graue Hautfarbe. Andererseits darf Grau auch nicht föllig fehlen, da sonst die Konturen verschwinden.

Setzen Sie mit dem Farbaufnahmewerkzeug Proben ins Bild, um wichtige Elemente dauerhaft im Blick zu behalten. Die Farbwerte werden in der Info-Palette abgebildet. Wenn Sie auf die kleine Pipette in der Palette klicken, können Sie das Farbsystem frei wählen und sich etwa die CMYK-Werte anzeigen lassen.

Verfasser: Andreas
Letzte Änderung: 2019-12-24 13:16


Tastatur Kurzbefehle

Auswahl in den Zwischenspeicher kopieren [STRG] + [C]
Als neue Ebene in das Bild einfügen [STRG] + [V]
Auswahl aufheben [STRG] + [D]
Vergrößern-Lupe [STRG] + [LEER]
Verkleinern-Lupe [STRG] + [ALT] + [LEER]
Abbildungsmaßstab vergrößern [STRG] + [+]
Abbildungsmaßstab verkleinern [STRG] + [-]
Bildanzeige auf Fenster vergrößern [STRG] + [0]
Weiche Auswahlkante [STRG] + [D] + [UMSCHALT]
Transformieren [STRG] + [T]
Werkzeugspitze größer [.]
Werkzeugspitze kleiner [,]

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-01-26 19:22


Computer » Programme » Paint Shop Pro

3D-Verläufe

Mit der Wahl des richtigen Verlaufs erzielen Sie dreidimensionale Wirkungen.
Paint Shop Pro 4 bietet keine Werkzeuge, um dreidimensionale Objekte di-rekt anzulegen. Mit ein paar Handgriffen lassen sich jedoch einfache 3D-Ef-fekte auch mit diesem Programm erzeugen. Legen Sie dazu mit der Schaltfläche Neweine neue Grafik an. Im Dialog stellen Sie eine Größe von 200 x 200 Pixeln ein und wählen White als Background Color. Aktivieren Sie das Werkzeug Shapes, stellen Sie als Form Circle ein, und zeichnen Sie einen Kreis im leeren Dateifenster. Mit Hilfe eines Füllverlaufs weisen Sie nun den gewünschten 3D-Effekt zu. Entscheidend ist, daß Sie eine möglichst helle Vordergrundfarbe wie Weiß oder Gelb sowie eine kräftige Hinter-grundfarbe verwenden, beispielsweise Dunkelblau. Zur Einstellung benutzen Sie die Schaltflächen unterhalb der Farbpalette rechts Anschließend aktivieren Sie das Werkzeug Flood Fill, stellen im Listenfeld Tolerance den Wert 10 ein und weisen als Fill Style die Option Sunburst Gradient zu. Klicken Sie auf die Schaltfläche Options, und stellen Sie im Dialog jeweils 25 Prozent für die vertikale und horizontale Achse ein. Mit OK übernehmen Sie die Änderung. Wenn Sie jetzt in den Kreis klicken, sorgt der Verlauf für den gewünschten Kugeleffekt.

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-01-26 20:47


Bilder montieren

Gestalten Sie eigene Bildkompositionen, die aus mehreren Objekten bestehen.
Nutzen Sie die Ebenentechnik, um mit Paint Shop Pro realistische Bildmontagen zu gestalten. Dazu entnehmen Sie die gewünschten Bildbestandteile aus beliebigen Grafikdateien und fügen sie in die Hauptgrafik ein. Legen Sie dabei jedes Objekt auf einer eigenen Ebene an. Der Vorteil: Die einzelnen Elemente lassen sich nachträglich frei verschieben und separat retuschieren. Öffnen Sie die Grafik, aus der Sie ein Bildelement entnehmen. Aktivieren Sie das Werkzeug Auswahl, und markieren Sie den gewünschten Bildbereich. Mit der Schaltfläche Kopieren übernehmen Sie die Auswahl in die Zwischenablage. Öffnen Sie das Hauptbild, in dem Sie die einzelnen Objekte zusammenführen. Benutzen Sie den Befehl Bearbeiten/Einfügen/Als neue Ebene oder die Tastenkombination [Strg-L]. Aktivieren Sie das Werkzeug Verschieben, und ziehen Sie das eingefügte Bildelement an die gewünschte Position. Machen Sie das Fenster zur Ebenen-Verwaltung sichtbar. Benutzen Sie die Schaltfläche Ein-/Ausblenden der Ebenen-Palette. Integrieren Sie das neue Objekt in das Gesamtbild. Klicken Sie im Dialog Ebenen-Palette in das Listenfeld mit der Beschriftung Normal, das sich in der Zeile der aktuellen Ebene (hier: Ebene1) befindet. Im Menü stellen Sie den Anpassungsmodus der Ebene ein, beispielsweise Weiches Licht. Experimentieren Sie mit mehreren Optionen, bis Sie den passenden Modus gefunden haben. Um die Wirkung zu optimieren, ziehen Sie den Regler Deckfähigkeit der Ebene nach links, bis der gewünschte Verschmelzungseffekt entsteht. Um die einzelnen Objekte ein- und auszublenden, klicken Sie mit der Maus in der Ebenen-Palette auf die Schaltfläche Ein-/Ausschalten der Ebenensichtbarkeit der entsprechenden Ebene. Speichern Sie die fertige Grafik im Format Paint Shop Pro Image (*.psp), das die Ebenen beibehält. Mit Datei/Kopie speichern unter sichern Sie das fertige Bild im gewünschten Grafikformat.

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-01-26 20:48


Bilder tönen

Kolorieren Sie alte Schwarz-Weiß-Fotos, um diese Bilder optisch aufzuwerten.
Sie scannen Ihre Familienfotos ein, darunter alte Schwarz-Weiß-Bilder. Damit die farblosen Bilder attraktiver wirken, tönen Sie diese einfarbig. Beispielsweise überziehen Sie die Fotos mit einem nostalgischen Braunton, um das Alter der Bilder hervorzuheben. Umgekehrt lässt ein kühler Blauton die Bilder moderner und abstrakter aussehen. Laden Sie dazu das gescannte Bild in Paint Shop Pro. Enthält das Bild 256 Farben oder weniger, benutzen Sie zunächst den Befehl Farben/Farbtiefe erhöhen/16 Millionen Farben (24 Bit). Wählen Sie Farben/Kolorieren oder benutzen Sie [Umschalt-L]. Im Dialog Kolorieren ziehen Sie den Regler Sättigung auf einen Wert zwischen 20 und 80. Bewegen Sie den Regler Farbton, bis Sie mit Hilfe der Vorschau den gewünschten Farbton ermittelt haben. Alternativ geben Sie den Indexwert der Farbe direkt in das Feld neben dem Farbton-Regler ein. Mit Werten zwischen 10 und 30 erhalten Sie verschiedene Brauntöne. Geben Sie 160 ein, erscheint ein kühles Blau. Abschließend passen Sie den Regler Sättigung exakt an, um den gewünschten Effekt zu erzielen. Mit Hilfe der Schaltfläche Überprüfen sehen Sie, wie sich die Änderung in der Originalgrafik auswirkt. Klicken Sie OK, um das Bild endgültig einzufärben. Der Kolorieren-Befehl funktioniert mit Graustufen-und Farbbildern. Wenn Sie ein Graustufenbild bearbeiten, wird es nach dem Einfärben als Farbbild gespeichert. Dadurch kann die Dateigröße steigen. Möchten Sie nur einen Teil eines Bildes einfärben, definieren Sie vorher eine entsprechende Auswahl.

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-01-26 20:49


Bildrand gleichmäßig entfernen

Problem:
Sie haben eine Serie von Fotos derselben Größe und mit ähnlichem Motiv aufgenommen und
wollen den Bildrand überall gleichmäßig entfernen. Dabei möchten Sie den gewünschten
Bildbereich nicht jedes Mal neu von Hand auswählen.

Lösung:
Paint Shop Pro kann mehrere Bilddateien auf eine einheitliche Bildpunktzahl zurechtschneiden.
Öffnen Sie zunächst die gewünschten Motive. Dann klicken Sie das "Beschneiden"-Werkzeug an und
ziehen auf dem ersten Bild einen Auswahlrahmen auf. Wenn Sie den Bereich noch korrigieren möchten,
ziehen Sie an einzelnen Seiten oder in der Mitte der Auswahl. Anschließend klicken Sie doppelt in das
Bild, um den überflüssigen Rand zu entfernen. Dieses Foto können Sie speichern und schließen.
Nun blenden Sie mit der <O>-Taste die Stil-Palette ein, über die Sie das Beschneiden-Werkzeug konfigurieren.
Klicken Sie auf die Schaltfläche "Schnitteinstellungen". Im folgenden Dialog "Bereich beschneiden" bietet
Paint Shop Pro die Maße an, die Sie beim letzten Beschneiden verwendet haben. Ändern Sie nichts, klicken Sie
einfach auf "OK".

Danach zeigt Paint Shop Pro einen Beschnittrahmen mit den gewünschten Maßen im aktuellen Bild an.
Jetzt wählen Sie nur noch "Beschneiden" in der Stil-Palette, um den Rand zu entfernen. Weitere Fotos aus
Ihrer Serie behandeln Sie genauso.

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-01-26 20:50


Dynamisch justieren

Bearbeiten Sie gezielt helle oder dunkle Bildbereiche, um perfekte Ergebnisse zu erhalten.
Änderungen in Paint Shop Pro wirken sich auf das gesamte Bild aus. Dies ist jedoch nicht immer erwünscht. Möchten Sie nur die dunklen Bildbereiche aufhellen, ohne das übrige Bild zu verändern, nutzen Sie zur Bildkorrektur die dynamische Justierung von Paint Shop Pro 6, bei der sich die Änderungen selektiv auf den gewünschten Bereich auswirken. Benutzen Sie den Befehl Farben/ Farbeinstellungen/Ausleuchtung/Mitteltöne/ Schatten. Schalten Sie im Dialog Ausleuchtung/Mitteltöne/Schatten die Option Dynamische Justierungsmethode ein. Um selektiv die dunklen Farbtöne aufzuhellen, verringern Sie den Wert des Reglers Schatten, bis das gewünschte Ergebnis vorliegt. Entsprechend korrigieren Sie mit dem Regler Mitteltöne die mittleren Farbbereiche. Änderungen am Regler Ausleuchtung wirken sich nur auf die hellen Bildtöne aus. Für eine präzise Justierung geben Sie den gewünschten Wert direkt in das Feld neben dem gewünschten Regler ein. Die Änderung zeigt Ihnen der Dialog im rechten Vorschau-Fenster an. Um eine bessere Kontrolle zu erhalten, klicken Sie auf die Schaltfläche Überprüfen. Paint Shop Pro wendet den Effekt dadurch auf das Original-Bild an. Mit OK weisen Sie die Änderung zu.

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-01-26 20:51


Filter einbinden

Nutzen Sie zusätzliche Effektfilter aus diversen Programmen zur Bildbearbeitung in Paint Shop Pro.
Die Funktionalität von Paint Shop Pro 4 läßt sich durch externe Effektfilter erweitern, die als Plugins eingebunden werden. Verwenden Sie zum Adobe-Standard kompatible Filter. Um neue Filter hinzuzufügen, wählen Sie in Paint Shop Pro den Befehl File/Preferences/General Program Preferences und im Dialog das Register Plugin Filters aus. Hier schalten Sie die Option Enable Plugin Filters - Allow the Use of External Image Processing Filters ein. Tragen Sie den Pfad des Verzeichnisses, das die Filter enthält, in das Feld Folder ein. Alternativ benutzen Sie die Browse-Schaltfläche, öffnen das gewünschte Verzeichnis und klicken auf Select. Mit OKim Dialog Paint Shop Pro Preferences schließen Sie ab. Kompatible Filter aktiviert Paint Shop ab jetzt sofort und bindet die Plugins bei jedem Start automatisch ein. Sobald eine Grafik geladen ist, stehen die neuen Filter im Menüpunkt Image/Plug-in-Filters zur Verfügung.

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-01-26 20:51


Gefüllte Zeichen

Gestalten Sie effektvolle Schriftzüge, die Sie aus einer Grafik entnehmen.
Sie benötigen einen auffallenden Schriftzug für eine Präsentation oder ein Logo? Textobjekte wirken besonders attraktiv, wenn Sie die Schriftfüllung aus einem Foto oder einer Textur übernehmen. In Paint Shop Pro laden Sie die Grafikdatei, in der Sie Bildbereiche als Füllung des Schriftzugs verwenden möchten. Benutzen Sie den Befehl Ebenen/Neue Raster-Ebene. Klicken Sie im Dialog Ebenen-Eigenschaften auf OK, um die neue Ebene anzulegen. Aktivieren Sie das Werkzeug Text, und klicken Sie ins Bild. Im Dialog Text einfügen geben Sie den Text ein und legen die gewünschte Schriftart fest. Wählen Sie im Feld Schriftgrad einen Wert zwischen 20 und 72 Punkten, um ein großes Schriftobjekt zu erhalten. Damit sich die Schriftfüllung aus dem Bild übernehmen lässt, schalten Sie im Bereich Erstellen als die Option Standard-Auswahl ein. Mit OK legen Sie das Schriftobjekt an. Aktivieren Sie das Werkzeug Verschieben. Mit gedrückter rechter Maustaste ziehen Sie den Auswahlrahmen des Schriftobjekts auf einen Bildbereich in der Grafik, den Sie als Füllung verwenden möchten. Klicken Sie auf das Werkzeug Zeiger. Führen Sie einen Rechtsklick auf das transparente Textobjekt aus. Im Kontextmenü wählen Sie Kopieren/Verbinden. Über Bearbeiten/ Einfügen/Als neues Bild erhalten Sie ein Textobjekt, dessen Buchstaben mit dem Bildbereich gefüllt sind, der vor dem Kopiervorgang unter dem Schriftzug lag.

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-01-26 20:52


Mehrere Bilder auf ein Druckblatt

Problem:
Sie wollen mehrere Fotos auf einem Papierbogen drucken, ohne dafür vorher erst mühsam eine Montage zu erstellen.

Lösung:
Mit Paint Shop Pro 7 bringen Sie mehrere Motive bequem auf einem Druckblatt unter. Zunächst sammeln Sie die
gewünschten Bilder. Dazu gibt es verschiedene Wege: Öffnen Sie alle betroffenen Bilddateien, und wählen Sie
"Datei, Mehrere Bilder drucken".
Als Alternative: Sie starten in Paint Shop Pro per <Strg>-<B> den Browser und markieren die Fotos bei
gedrückter <Strg>-Taste. Danach wählen Sie im Kontextmenü einer beliebigen Bildminiatur "Mehrere Bilder drucken".
Nun erscheint das Programm im Modus "Layoutdruck". Die Leiste links bietet die zuvor gewählten Fotos an.
Bewegen Sie die Vorlagen gezielt durch Ziehen oder einfach per Doppelklick in die Druckbild-Vorschau.
Nun können Sie Ihre Fotos frei platzieren und mit den Anfassern nach Belieben verkleinern oder vergrößern.
Allerdings ist es gar nicht nötig, die Fotos von Hand zu arrangieren. Über den Befehl
"Einstellungen, Automatische Anordnung" sorgt Paint Shop Pro automatisch für eine gleichmäßige
Verteilung und Größenanpassung der Bilder.
Wenn Sie "Einstellungen, Optionen" wählen, erhalten Sie einen Dialog, in dem Sie den Bildabstand festlegen können,
und über das Bild-Menü lassen sich einzelne Schnappschüsse in 90-Grad-Schritten drehen oder gezielt in einzelne
Ecken der Druckseite bewegen. Mit der <Entf>-Taste löschen Sie einzelne Bilder wieder aus der Layout-Ansicht.

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-01-26 20:53


Randschärfe verringern

Schwächen Sie die Kanten von Bildern ab, um sie gut in den Gesamthintergrund einzupassen.
Sie möchten Grafiken besser in den Hintergrund Ihrer Internet-Seite integrieren, um ein harmonisches Gesamt-bild zu erhalten. Dazu verringern Sie die Randschärfe der verwendeten Grafiken. Sie erhalten dadurch fließende Übergänge, wodurch sich die Bilder nicht mehr so scharf vom Hintergrund absetzen. Aktivieren Sie das Werkzeug Aus-wahl. Im Konfigurationsfenster Stil-Pa-lette wählen Sie den gewünschten Aus-wahltyp, beispielsweise Rechteck. Außerdem schalten Sie die Option Anti-Aliasing ein und setzen den Wert im Feld Randschärfe auf 25. Markieren Sie den gewünschten Bildbereich in der Grafik. Dabei berücksichtigen Sie die Randschärfe, indem Sie den Rahmen etwas größer anlegen als den Bildbereich, der sichtbar bleiben soll. Anschließend kopieren Sie die Auswahl mit [Strg-C] in die Zwischenablage. Wählen Sie Datei/Neu. Im Dialog Neues Bild tragen Sie in den Feldern Breite und Höhe Werte ein, die um ca. 25 Prozent größer sind als die Abmessungen des kopierten Bildbereichs. Falls gewünscht, weisen Sie dem neuen Bild die Hintergrundfarbe zu, die Sie auf Ihrer Webseite verwenden. Mit OK erzeugen Sie das leere Bild. Benutzen Sie den Be-fehl Bearbeiten/Einfügen/Als neue Aus-wahl. Im neuen Bild platzieren Sie das Objekt per Mausklick an der gewünschten Position.

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-01-26 20:55


Rote Augen entfernen

Mit wenigen Handgriffen korrigieren Sie rotgefärbte Augen in Blitzlicht-Portraits.
Bei Portraitfotos, die mit Blitzlicht aufgenommen werden, erscheinen die fotografierten Person häufig mit roten Augen. Paint Shop Pro bietet kein fertiges Filter, um diesen Fehler automatisch zu korrigieren. Mit etwas Handarbeit lassen sich die roten Augen dennoch leicht entfernen. Laden Sie die fehlerhafte Grafik. Mit dem Hilfsmittel Zoom der Werkzeugleiste vergrößern Sie das Bild, indem Sie mehrmals in die Grafik klicken. Wählen Sie den Ausschnitt so, dass beide Augen möglichst groß im Bildfenster erscheinen. Aktivieren Sie das Werkzeug Auswahl. Im Dialog Stil/Palette/Auswahl stellen Sie Kreis als Auswahltyp ein. Ausgehend vom Mittelpunkt des ersten Auges ziehen Sie mit gedrückter linker Maustaste einen kreisrunde Maske auf, die exakt den rotgefärbten Augenbereich umschließt. Falls nötig, aktivieren Sie das Werkzeug Verschieben und ziehen die Maske mit der rechten Maustaste an die korrekte Position. Müssen Sie die Größe der Markierung anpassen, benutzen Sie im Untermenü Auswahl/Modifizieren den Befehl Vergrößern oder Verkleinern. Zur Größenänderung geben Sie jeweils im Dialog in das Feld Anzahl der Pixel einen Wert ein, beispielsweise 2. Mit OK übernehmen Sie die Änderung. Um die Farbkorrektur durchzuführen, benutzen Sie den Befehl Farben/ Farbeinstellungen/Rot/Grün/Blau. Im Dialog Rot/Grün/Blau schalten Sie die Option Automatische Aktualisierung ein, damit Sie die Änderungen sofort im Originalbild sehen. Ziehen Sie den Regler % Rot nach links auf einen negativen Wert, bis die Rotfärbung des Auges verschwindet. Mit OK übernehmen Sie die Änderung. Markieren Sie anschließend das zweite Auge und gehen Sie entsprechend vor. Zum Schluss heben Sie mit [Strg-D] die Markierung auf und speichern das geänderte Bild. Alternativ benutzen Sie den Befehl Farbton/Sättigung/Helligkeit im Menü Farben/Farbeinstellungen. Hier gleichen Sie den Rotstich mit dem Regler % Farbton aus. Um eine möglichst natürliche Darstellung des Auges zu erhalten, passen Sie zusätzlich die Regler % Sättigung und % Helligkeit an.

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-01-26 20:56


Saubere Kontrastkorrektur

Problem:
Sie möchten in einem Foto ganz bestimmte Elemente bearbeiten, ohne Helligkeit und Kontrast des
ganzen Bildes zu verändern. Wenn Sie zum Beispiel in einem Pflanzenfoto nur die Blüten aufhellen wollen,
kommen Sie mit dem Regler für die "Helligkeit" nicht ans Ziel. Denn damit wird auch das dunkle Laubwerk heller,
und das Bild verliert an Tiefe und Kontrast.

Lösung:
Viel besser lässt sich die Korrektur steuern, wenn Sie den Befehl "Kurven" verwenden, den Paint Shop Pro 7
im Menü "Farben, Farbeinstellungen" anbietet. Hier heben Sie zunächst die hellen Bildpunkte weiter an. Dazu
klicken Sie weit rechts auf die Kurve und ziehen diese behutsam nach oben. Die Datenfelder rechts melden
zum Beispiel einen "Input" von 170 und einen "Output" von 220. Das heißt: Der helle Tonwert 170 wird auf den
helleren Tonwert 220 angehoben; benachbarte Helligkeitsstufen ändern sich in geringerem Umfang mit.
Das Manöver liftet zunächst auch dunkle Tonwerte. Sie erkennen das daran, dass die Kurve auch im linken Teil,
der die dunkleren Bildpunkte repräsentiert, etwas angehoben wurde. Klicken Sie dort auf die Linie, und ziehen
Sie diese zurück in die ursprüngliche Position - damit holen Sie die dunkleren Partien Ihrer Vorlage wieder
auf die ursprünglichen, tieferen Werte zurück.
Die Programmierer haben in das Dialogfeld nützliche Zusatzfunktionen integriert: So sollten Sie die
"Automatische Aktualisierung" einschalten, damit sich das Bild im Programmfenster immer sofort allen
Änderungen anpasst. Unten rechts findet sich die Schaltfläche "Zurück" - sie setzt alle Änderungen wieder
zurück, ohne dass Sie erst "Abbrechen" und dann neu ansetzen müssen. Allerdings fehlt die Möglichkeit,
nützliche Korrekturen zu speichern und so auf andere Bilder zu übertragen.

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-01-26 20:57


Schwarzweiß-Grafiken nach Maß

Problem:
Sie wollen Farbbilder in Schwarzweiß-Grafiken ohne Graustufen umwandeln. Doch übliche Befehle wie
"Poster" bieten keine ausreichenden Steuerungsmöglichkeiten.
Lösung:
In zwei Schritten stellen Sie Schwarzweiß-Grafiken nach Maß her. Zunächst bringen Sie das Farbbild in den
Graustufenmodus. Dazu öffnen Sie das "Farben"-Menü und klicken auf "Graustufenbild". Anschließend öffnen Sie
im "Farben"-Menü das Untermenü "Farbeinstellungen" und klicken auf "Helligkeit/Kontrast". In diesem Dialogfeld
schalten Sie die "automatische Aktualisierung" ein, so dass sich das Bild im Programmfenster sofort allen
Änderungen anpasst.
Anschließend setzen Sie den Wert für den "Kontrast" auf etwa 97 Prozent. Damit entsteht bereits eine fast
reine Schwarzweiß-Grafik. Allerdings bleiben einige wenige Zwischentöne erhalten, die einen geglätteten
Übergang zwischen Schwarz und Weiß bewirken. Nun experimentieren Sie mit dem Regler für die "Helligkeit".
Werte über 0 erzeugen einen hohen Weißanteil, während Sie mit Werten unter 0 mehr und mehr Bildpartien
schwarz einfärben.
Wenn Sie sich beim Experimentieren stufenweise an die von Ihnen gewünschten Helligkeits- und Kontrastwerte
annähern, ziehen Sie eventuell die Arbeit mit der Tastatur der Maus vor - mit Tastenanschlägen haben Sie
genauere Kontrolle als beim Ziehen des Reglers mit der Maus.

Und so geht's:
Sie erreichen im aufgerufenen Dialog "Helligkeit/Kontrast" die Steuerungselemente mit Hotkeys:
Mit <Alt>-<H> lässt sich die Helligkeit steuern, mit <Alt>-<K> wechseln Sie zur Kontraststeuerung.
In Paint Shop Pro 7 regeln Sie die Werte mit den Tasten <Cursor oben> und <Cursor unten>, bei früheren
Versionen mit <Cursor links> und <Cursor rechts>.

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-01-26 20:59


Selbstgemachte Backgrounds

Tragen Sie Texturen mit der Sprühdose auf, um individuelle Hintergrundbilder zu erzeugen.
Ausgefallene Hintergrundgrafik für Internet-Seite gelingen mit Paint Shop Pro schnell. Verwenden Sie fertige Texturen, die Sie mit der Sprühdose im Bild verteilen. Über Datei/Neu gelangen Sie in den Dialog Neues Bild und stellen für Breite und Höhe jeweils 100 Pixel ein. Wählen Sie Weiß als Hintergrundfarbe sowie 16,7 Millionen Farben (24 Bit) als Bildtyp. Mit OK legen Sie die neue Bilddatei an. Wählen Sie in der Farbpaletten-Leiste rechts den gewünschten Farbton als Vordergrundfarbe aus. Aktivieren Sie das Werkzeug Spühdose. Im Dialog Stil/Palette/Spühdose passen Sie im Register Sprühdose die Größe der Sprühfläche an. Dazu stellen Sie den gewünschten Wert im Feld Größe ein, beispielsweise 60. Dann öffnen Sie das Register Spühdose/ Optionen. Im Listenfeld Papiertextur wählen Sie einen Oberflächenstil aus, etwa Gras. Sie wenden die Sprühdose an, indem Sie beliebig oft in das leere Bild klicken, bis die Fläche gefüllt ist. Es lohnt sich, mit verschiedenen Papiertexturen zu experimentieren, die Sie nach Belieben über- oder nebeneinander anbringen. Besonders schöne Effekte erzielen Sie mit den Optionen Buchstaben und Orangenschale. Sind Sie mit dem Ergebnis zufrieden, speichern Sie das Hintergrundbild im JPG-Format.

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-01-26 21:00


Selbstgemachte Schatten

Wenige Mausklicks genügen, um ausgewählte Bildbereiche mit einem Schatten auszustatten.
Um besondere Bildwirkungen zu erzielen, heben Sie Teile einer Grafik durch einen unterlegten Schatten hervor. Dies gelingt mit einem Effektdialog von Paint Shop Pro. Aktivieren Sie das Werkzeug Auswahl, und markieren Sieden gewünschten Bildbereich. Benutzen Sie den Befehl Bild/Effekte/Schatten. Im Dialog Schatten legen Sie die Eigenschaften des Effekts fest. Um die Farbe des Schattens zu ändern, klicken Sie auf das Feld Farbe. Wählen Sie den gewünschten Farbton im Dialog aus, und übernehmen Sie ihn mit OK. Um die Dichte des Schattens zu erhöhen, ziehen Sie den Regler Deckfähigkeit nach rechts oder geben einen größeren Wert ins Feld daneben ein. Niedrigere Werte erzeugen blassere Schatten, deren Farbverlauf der zweite Regler anpaßt. Die Position und Ausdehnung des Schattens legen Sie im Bereich Perspektivische Ausrichtung mit den Reglern Vertikal und Horizontal fest. Wie sich die Änderungen auswirken, sehen Sie sofort im Vorschau-Fenster des Dialogs. Mit OKschließen Sie die Arbeit ab.

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-01-26 21:00


Störende Bildobjekte entfernen

Problem:
Ihr Urlaubsfoto wäre bezaubernd, wenn Sie etwa eine Person vom Strand beseitigen könnten - oder die
Raffinerie am Horizont der Landschaftsaufnahme. Die übliche Methode mit dem Kopierpinsel ist aber für
größere Objekte meist zu umständlich.

Lösung:
Mit dem folgenden Verfahren lässt sich ein isolierter Bestandteil sehr gut aus einer Strand- oder
Landschaftsaufnahme entfernen. Es eignet sich jedoch nicht, etwa aus einer Gruppe eine einzelne Person zu tilgen.

Und so geht's:
Blenden Sie über "Ansicht, Leisten und Paletten" die "Werkzeugleiste" sowie die
"Stil-Palette" ein. Klicken Sie in der Werkzeugleiste je nach den Konturen des zu löschenden Objekts auf
das Auswahlrechteck oder das Lasso. In der Stil-Palette erhöhen Sie den Wert für "Randschärfe",
zum Beispiel auf "20" - in Paint Shop Pro 5 ist das zugleich der Maximalwert.
Mit einer hohen Randschärfe erzielen Sie einen sehr weichen Auswahlrand und vermeiden somit unschöne,
harte Kanten. Nun markieren Sie mit der Maus einen Bereich neben dem zu löschenden Objekt, der in Größe und Form dem störenden Objekt entspricht. Paint Shop umgibt den Bereich mit einer schwarz-weißen Linie. Drücken Sie die <Alt>-Taste: Damit erhalten
Sie ein Duplikat der Auswahl und können dieses über das störende Motiv ziehen.

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-01-26 21:02


Störende Details entfernen

Problem:
Auf einem sonst gelungenen Porträtfoto stört eine Schramme, ein Pickel oder eine sonstige
Kleinigkeit die Bildwirkung.
Lösung:
Überschminken Sie das störende Detail. Schalten Sie dazu den Kopierpinsel in der Werkzeugleiste ein.
Blenden Sie mit der Taste <O> die Stil-Palette ein - nun zeigt Paint Shop Pro die Optionen für den Kopierpinsel.
Bleiben Sie zunächst in der ersten Registerkarte, die wie das Werkzeug"Kopierpinsel" heißt. Als Form sollten
Sie meist die"Rundung" verwenden, die Größe hängt stark von Ihrem Motiv ab. Wichtig ist vor allem die"Härte":
Stellen Sie hier den niedrigsten Wert 0 ein, so dass der Kopierpinsel die Bildpunkte mit weichem Übergang zum
Hintergrund aufträgt. Damit vermeiden Sie harte, auffällige Kanten.
Dann wechseln Sie in der Stil-Palette zur Registerkarte"Mauszeiger/Grafiktablett". Aktivieren Sie hier die
Option"Werkzeugumriß anzeigen". Danach sehen Sie statt des Zeigers für den Kopierpinsel einen Umriss, der
genau erkennen lässt, auf welcher Fläche sich der nächste Klick auswirken wird.
Jetzt wechseln Sie zum Bild. Zunächst suchen Sie möglichst nah bei der störenden Stelle einen Bereich mit
geeignetem Inhalt, um diese zu überdecken. Dies ist der Quellbereich. Klicken Sie diese Zone mit der rechten
Maustaste an. Nun bewegen Sie die Maus über die zu korrigierende Stelle und klicken mit links. Paint Shop Pro
dupliziert nun Bildpunkte aus dem Quellbereich auf den Zielbereich, der Zug um Zug verschwindet. Während der
Aktion kennzeichnet das Programm den Quellbereich durch ein liegendes Kreuz.

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-01-26 21:02


Text im Bildmittelpunkt

Mit einem Trick zentrieren Sie Schriftzüge horizontal und vertikal im Bilddokument.
Mit dem Textwerkzeug von Paint Shop Pro lassen sich Textobjekte nur horizontal im Bild zentrieren. Mit einem Trick gelingt es, Textobjekte horizontal und vertikal in der Bildmitte zu platzieren. Laden Sie eine Bilddatei. Benutzen Sie den Befehl Neue Raster-Ebene im Menü Ebenen. Mit OK fügen Sie die neue Ebene ein. Aktivieren Sie das Werkzeug Text, und klicken Sie ins Bild. Im Dialog Text einfügen geben Sie den Text ein und legen die Formatierung fest. Im Bereich Erstellen als schalten Sie die Option Freie Auswahl ein. Mit OK fügen Sie das Textobjekt ein. Benutzen Sie die Tastenkombination [Strg-A], um die gesamte Ebene zu markieren. Mit der Schaltfläche Ausschneiden übernehmen Sie die Ebene in die Zwischenablage und entfernen das Textobjekt. Benutzen Sie den Befehl Einfügen/Als neue Ebene im Bearbeiten-Menü. Paint Shop Pro fügt die neue Ebene ein und platziert dabei das Textobjekt exakt in der Bildmitte. Abschließend entfernen Sie die überflüssige leere Ebene. Klicken Sie dazu im Fenster Ebenen-Palette die Schaltfläche Ebene1 mit der rechten Maustaste an. Im Kontextmenü benutzen Sie den Befehl Löschen. Dieses Verfahren funktioniert nicht nur mit Textelementen, sondern mit allen Objekten.

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-01-26 21:03


Text nachträglich verschieben

Nutzen Sie die Ebenentechnik, um Textobjekte jederzeit frei im Bild zu platzieren.
Sie fügen mit Paint Shop Schriftzüge in Grafikdateien ein. Leider lassen sich die Textobjekte nachträglich nicht mehr frei platzieren. Sobald Sie die Auswahl aufheben, ist der Schriftzug fest ins Bild integriert. Diese Einschränkung umgehen Sie, indem Sie Vektortextobjekte erzeugen. Diese legt Paint Shop Pro automatisch auf einer eigenen Ebene an, die wie eine unsichtbare Folie über dem Bild liegt. Laden Sie das Bild, in das Sie den Text einfügen möchten. Stellen Sie die gewünschte Textfarbe mit der Farbpalette ein. Aktivieren Sie das Werkzeug Text. Ziehen Sie einen Rahmen im Bilddokument auf. Im Dialog Text einfügen aktivieren Sie im Bereich Erstellen als die Einstellung Vektor. Tippen Sie den Text ins Feld Eingabe, und weisen Sie Schriftart und -größe zu. Mit OK fügen Sie das Vektortextobjekt ein. Dieses liegt auf einer eigenen Vektorebene und lässt sich jederzeit neu platzieren. Möchten Sie ein Rastertextobjekt frei verschieben, fügen Sie manuell eine Ebene ein, bevor Sie das Textobjekt erzeugen. Benutzen Sie dazu den Befehl Ebene/ Neue Raster-Ebene. Übernehmen Sie die Einstellungen im Dialog Ebenen- Eigenschaften mit OK. Im Dialog Ebenen- Palette erscheint die neue Schaltfläche Ebene1, die automatisch aktiviert ist. Diesen Dialog blenden Sie mit der Taste L ein und aus. Mit dem Werkzeug Text fügen Sie das Rastertextobjekt ein. Aktivieren Sie dazu die Einstellung Freie Auswahl im Dialog Text einfügen. Das neue Textobjekt lässt sich auf der Ebene beliebig platzieren, auch wenn die Auswahl bereits aufgehoben ist. Aktivieren Sie dazu das Werkzeug Verschieben, und ziehen Sie das Textobjekt mit gedrückter linker Maustaste an eine neue Position. Damit die Ebenen erhalten bleiben, speichern Sie die Grafik im psp-Format. Benutzen Sie den Befehl Datei/Speichern unter. Im Dialog stellen Sie im Listenfeld Dateityp die Option Paint Shop Pro Image (*.psp) ein. Sichern Sie die Grafik unter dem gewünschten Namen.

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-01-26 21:04


Transparente Grafiken

Mit etwas Handarbeit erzeugen Sie gif-Grafiken mit transparentem Hintergrund.
Bei der Gestaltung von Web-Seiten ist es oft nötig, den Hintergrund eines Bildes transparent zu setzen. Nur dann paßt sich die Grafik perfekt in den Seitenhintergrund ein. Leider bietet Paint-Shop 4 kein Werkzeug, um die Transparenz auf Knopfdruck zuzuweisen. Mit etwas Handarbeit gelingt dies trotzdem. Damit die Umwandlung gelingt, muß der Hintergrund der entsprechenden Grafik möglichst einfarbig sein. Verringern Sie zunächst die Farbtiefe des Bildes auf 256 Farben mit Colors/Decrease Color Depth/256 Colors (8 bit). Im Dialog wählen Sie die Optionen Standard und Nearest Colors aus und klicken auf OK. Aktivieren Sie das Dropper-Werkzeug in der unteren Symbolleiste, und zeigen Sie auf den Hintergrundbereich des Bildes. Rechts in der Farbleiste erscheinen die RGB-Werte des ausgewählten Farbtons. Darunter finden Sie hinter dem I den Indexwert dieser Farbe, den Sie für das Setzen der Transparenz benötigen. Merken Sie sich diesen Wert, und benutzen Sie den Befehl File/Save as. Im sichtbar werdenden Dialog stellen Sie als Dateityp GIF/Compuserve und als Sub type die Option Version 89a/Non-interlaced ein. Klicken Sie auf die Schaltfläche Options. Im erscheinenden Dialog aktivieren Sie die Option Set the transparency value to palette entry und geben in das Feld den Indexwert der Hintergrundfarbe ein, den Sie soeben ermittelt haben. Klicken Sie auf OK, und speichern Sie die Grafik unter dem gewünschten Namen.

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-01-26 21:06


Vorschau effektiv nutzen

Optimieren Sie die Vorschau, um bessere Ergebnisse bei der Bildkorrektur zu erzielen.
Alle Bildkorrektur-Dialoge von Paint Shop Pro integrieren eine Vorschau. Hier sehen Sie bereits vor der Anwendung, wie sich die aktuelle Änderung auswirkt. Leider ist der Vorschaubereich sehr klein und zeigt - je nach Bildgröße - nur einen winzigen Ausschnitt der Originalgrafik. Mit ein paar Handgriffen passen Sie die Vorschau an, um mehr überblicken und kontrollieren zu können. Rufen Sie die gewünschte Funktion zur Bildkorrektur über Farben/Farbeinstellungen/ Helligkeit/Kontrast auf. Oben im Dialog erscheint links ein Ausschnitt des Originalbildes. Rechts daneben sehen Sie in der Vorschau, wie sich die aktuellen Einstellungen auswirken. Um den Bildausschnitt zu ändern, ziehen Sie ein Vorschaubild mit gedrückter linker Maustaste in die gewünschte Richtung. Alternativ zeigen Sie auf die Schaltfläche mit dem Kreuz, die sich in der Mitte zwischen den beiden Vorschaubildern befindet. Halten Sie die linke Maustaste gedrückt. Das verkleinerte Originalbild erscheint in einem Fenster. Ziehen Sie hier den Auswahlrahmen an die gewünschte Position, um den Ausschnitt festzulegen. Ist der Bildausschnitt zu klein, klicken Sie mehrfach auf das Lupensymbol mit der Minus-Schaltfläche. Dadurch verringern Sie stufenweise den Zoomfaktor und sehen jeweils einen größeren Bildausschnitt in der Vorschau. Entsprechend holen Sie Details näher heran, indem Sie mehrmals auf die Lupe mit dem Pluszeichen klicken, um den Zoomfaktor stufenweise zu erhöhen. Möchten Sie die Änderungen direkt im Originalbild kontrollieren, benutzen Sie die Schaltfläche Überprüfen. Diese Änderung ist nur temporär wirksam. Wenn Sie Abbrechen wählen, erscheint die Originalgrafik automatisch wieder in der ursprünglichen Form.

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-01-26 21:08


Wo ist der Farbverlauf?

Problem:
Sie sind von Paint Shop Pro 6 auf Version 7 umgestiegen. Jetzt vermissen Sie die Option, Flächen mit einem
Farbverlauf zu füllen. Aus der Stil-Palette für die Farbfüllung ist sie verschwunden.

Lösung:
Ab Paint Shop Pro 7 steht der Farbverlauf nicht mehr nur für Farbfüllungen zur Verfügung, sondern für
alle Zeichenwerkzeuge. Sie können beim Zeichnen mit einem Werkzeug jetzt immer zwischen einer einfachen Farbe,
einem Farbverlauf oder einem Muster wählen. Die entsprechende Auswahl ist deshalb in der neuen Version rechts
unter der Farb-Palette unter "Stil? zu finden.
Klicken Sie dort auf ein Farbfeld, und halten Sie die Maustaste gedrückt. Seitlich erscheint nun ein kleines
Menü, aus dem Sie wählen können, womit Sie zeichnen möchten. Das erste Symbol von links aus gesehen ist die
normale Vollfarbe; den "Farbübergang? finden Sie als zweites Symbol. Wenn Sie den Mauszeiger bei weiterhin
gedrückter Maustaste über dieses Symbol führen und dort loslassen, ist der Farbverlauf aktiv. Durch einen
Einfachklick auf das "Stil?-Feld können Sie ihn nun bearbeiten.
Sie sehen zunächst eine Auswahl aus Stilen, die in Paint Shop Pro voreingestellt sind. Darüber hinaus
können Sie mit "Bearbeiten? auch den altbekannten Farbverlaufs-Dialog aufrufen, wie Sie ihn aus Version 6
kennen. Hier lassen sich die beteiligten Farben ändern und Marker definieren. Wie gewohnt, erlaubt der Dialog
das Speichern selbst erstellter Farbverläufe.
Wollen Sie wieder mit einfachen Farben arbeiten, klicken Sie erneut so lange auf das "Stil?-Feld, bis das
Menü erscheint, und führen den Mauszeiger zurück. Welche Farbe dann aktiv ist, können Sie jederzeit im
Farbfeld über dem "Stil?-Feld festlegen.

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-01-26 21:09


Kontrastkorrektur mit Ebenen durchführen

Problem:
Sie wollen ein unterbelichtetes Foto mit Paint Shop Pro aufhellen. Doch mit den Kontrastkorrektur-Funktionen gelingt das nicht überzeugend.

Lösung:
Probieren Sie es mit der Ebenentechnik und einem Anpassungsmodus - hier sind genauere Korrekturen möglich.
Wenn das Bild geöffnet ist, blenden Sie die Ebenen-Palette von Paint Shop Pro ein. Am
schnellsten geht das mit der Taste <L>.
Hier zeigt das Programm zunächst nur eine "Hintergrund"-Ebene an. Klicken Sie mit der rechten Maustaste auf
"Hintergrund" in der Ebenen-Palette, und wählen Sie im Kontextmenü den Befehl "Duplizieren". Damit entsteht
eine weitere Bildebene mit der Bezeichnung "Kopie von Hintergrund".
Das Bild ändert sich dadurch zunächst nicht. Jetzt schalten Sie rechts in der Ebenen-Palette auf den
"Anpassungsmodus" um - ein Verfahren, mit dem Paint Shop Pro die übereinander liegenden Bildpunkte zum
sichtbaren Gesamtbild verrechnet. Der Anpassungsmodus für die "Kopie"-Ebene steht bisher auf "Normal".
Folglich setzt sich nur die obere Bildebene sichtbar durch - also das Original. Wählen Sie aus der Liste
"Abblenden" aus. Paint Shop Pro verrechnet in diesem Modus übereinander liegende Bildpunkte zu einem
helleren Ergebnis.
Zu dunkle Bildteile werden dadurch deutlich aufgehellt. Diese Korrektur verbessert Bilder oft effektiver
als langes und umständliches Probieren mit Kontrastkorrekturbefehlen unter
"Farben, Farbeinstellungen, Ausleuchtung/Mitteltöne/Schatten".
Sollte die Aufhellung zu stark ausfallen, schwächen Sie die Wirkung mit dem Regler für die
"Deckfähigkeit" der "Kopie"-Ebene ab.
Wenn Sie ein Bild bearbeiten, das zu hell wirkt, können Sie den Anpassungsmodus "Multiplikation" verwenden.
Auch in diesem Fall lässt sich die Feineinstellung über den Regler "Deckfähigkeit" in der Ebenen-Palette vornehmen.
Über die Anpassungsverfahren "Hartes Licht" und "Weiches Licht" lässt sich das Bild weiter verändern.

Übrigens:
Dieses Verfahren funktioniert ähnlich mit vielen anderen Programmen, etwa mit Photoshop, Photoline, Photo Impact,
Photopaint oder Picture Publisher. Der Modus "Abblenden" heißt dann beispielsweise "Negativ multiplizieren".

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-01-26 21:14


Texte an beliebiger Form ausrichten

Problem: Sie benötigen für eine Grafik einen Schriftzug, der an einer geometrischen Form ausgerichtet ist, beispielsweise einem Kreis oder einer Ellipse.

Lösung: Seit Version 7 bietet Paint Shop Pro eine Funktion, mit der Sie Text am Pfad von Vektorobjekten (Formen oder Linien) ausrichten können.
Und so geht's:
1. Erstellen Sie ein neues Bild, und klicken Sie in der Werkzeugleiste auf "Formenwerkzeug". In der Palette ?Werkzeugoptionen" (Paint Shop Pro 7: " Stil-Palette") wählen Sie die gewünschte Form aus, beispielsweise "Ellipse". Ziehen Sie die Form mit der Maus auf.

2. Wählen Sie in der Farbpalette die Farben für den Text aus, und stellen Sie in der Palette "Werkzeugoptionen" die Schriftart und Schriftgröße ein. Klicken Sie in der "Werkzeugleiste" auf "Textwerkzeug". Fahren Sie mit der Maus auf den Rand des Formobjekts. Wenn der Mauszeiger sich in ein "A" mit einer Bogenli-nie darunter verwandelt hat, klicken Sie mit der linken Maustaste.

3. Geben Sie den Text ein, und klicken Sie auf "Übernehmen". Über die Anlässpunkte können Sie die Position und Größe der Schrift ändern. In der Ebenenpalette blenden Sie anschließend das Formobjekt durch einen Klick auf das Augensymbol aus.
Wenn Sie den ausgerichteten Text nicht mehr bearbeiten müssen, klicken Sie mit der rechten Maustaste in der Ebenen-Palette auf die Vektorebene und wählen im Kontextmenü "In Rasierebene umwandeln" (Paint Shop Pro 7: "Umwandeln in eine Raster-Ebene"). Paint Shop Pro löscht dabei das Formobjekt aus dem Bild.

Quelle: PC-Welt 8/2004

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-01-26 21:20


Gezielte Bewegungsunschärfe

Problem: Dynamik kann in Fotos auch durch richtig eingesetzte Unscharfe entstehen. Sie wollen beispielsweise in einer Sportaufnahme die Hauptperson hervorheben und durch einen unscharfen Hintergrund die Geschwindigkeit deutlich machen. Der Menüpunkt "Bewegungsunschärfe" scheint sich dazu nicht zu eignen, da er das komplette Bild verfälscht.
Lösung: Es gibt einen Trick. Wenden Sie die "Bewegungsunschärfe" einfach auf eine Duplikat-Ebene an, die Sie teilweise durchsichtig machen - in diesen Bereichen scheint dann das unveränderte Original durch. Und so gehen Sie dabei vor:

1. Blenden Sie zunächst mit der <L>-Taste die Ebenen-Palette ein, und wählen Sie aus dem Kontextmenü von "Hintergrund" den Befehl "Duplizieren". In der Ebenen-Palette erscheint die neue Ebene "Kopie von Hintergrund".

2. Aktivieren Sie diese Ebene, und gehen Sie auf "Effekte, Bildunschärfe, Bewegungsunschärfe". Verschieben Sie den Regler unter "Intensität", bis der gewünschte Unschärfegrad erreicht ist. Nach einem Klick auf "OK" erscheint das Bild verschwommen. Allerdings haben Sie in diesem Arbeitsschritt nur die obere Bildebene verändert, das unverfälschte Original steht darunter weiterhin zur Verfügung.

3. Richten Sie nun eine Maske für die obere Ebene ein. Gehen Sie dazu auf "Masken, Neu, Alles sichtbar". Das Bild ändert sich dadurch noch nicht. Paint Shop Pro tauft die Ebene "Kopie von Hintergrund" aber automatisch in "Ebenel" oder ähnlich um.

4. Um die Maske zu korrigieren, klicken Sie auf "Masken, Bearbeiten". Anschließend erscheint zur Kontrolle der Hinweis "*Maske*" in der Titelleiste des Bildes und oben in der Ebenen-Palette.

5. Aktivieren Sie den "Standardpinsel", und blenden Sie über die <O>-Taste die Stil-Palette ein.  Stellen Sie eine Pinselgröße von beispielsweise 70 Pixeln ein. Starten Sie mit einer "Härte" von "0" für weiche Kanten, und belassen Sie die "Deckfähigkeit" bei "100". Falls Sie den Farbwähler noch nicht auf dem Bildschirm sehen, rufen Sie ihn mit der <C>-Taste auf. Weil Sie in der Maske arbeiten, werden im Farbwähler ausschließlich Graustufen angeboten. Sie verwenden "Schwarz", um hundertprozentige Transparenz zu erreichen.

6. Malen Sie nun über dem Hauptdarsteller, den Sie hervorheben möchten. Durch schwarze Farbe in der Maske verbergen Sie die verfremdete Bildfassung, das darunter liegende Original scheint hervor. Passen Sie eventuell die Pinselgröße an, um genauer arbeiten zu können. Haben Sie zu viel des verzerrten Bereichs ausgeblendet? Dann malen Sie mit "Weiß", um wieder mehr von der oberen, unscharfen Ebene zu zeigen.
Wählen Sie erneut "Masken, Bearbeiten", um zur normalen Bildkorrektur J zurückzukehren. Der Befehl "Ebenen, Verbinden, Alle verbinden" verschmilzt die zwei Ebenen zu einem einzigen Bild, das Sie speichern oder weiterbearbeiten können.

Quelle: PC-Welt 3/2003, Seite 232, 233

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-01-26 21:26


Computer » Programme » Corel Photo Paint

Maske anpassen

Drehen und stauchen Sie Masken in PhotoPaint, um die Auswahl exakt anzupassen.
Wenn Sie eine Markierung mit dem Maskenwerkzeug Reckteck-Auswahl anlegen, läßt sich die Maske in beliebigem Winkel mit der Maus drehen. Klicken Sie dazu einmal in den Markierungsrahmen. Nun werden an den Ecken Pfeilsymbole eingeblendet, über die Sie die komplette Maske um den als Kreis dargestellten Mittelpunkt drehen können. Dazu zeigen Sie mit dem Cursor auf einen Pfeil und ziehen ihn mit gedrückter linker Maustaste in die gewünschte Richtung. Zusätzlich läßt sich die Achse, um die gedreht wird, individuell verändern. Ziehen Sie dazu den Kreis in der Mitte der Markierung an eine andere Position. Ein weiterer Mausklick innerhalb der Maske macht Doppelpfeile an den Ecken der Maske sichtbar, mit denen Sie eine Maske stauchen oder seitlich verzerren können.

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-01-26 20:19


Unliebsame Winkel

Bei der 3D-Rotation in PhotoPaint ergeben manche Winkelkombinationen statt eines Resultats eine Fehlermeldung.
In PhotoPaint existiert ein Filter zur dreidimensionalen Rotation. Manche Winkelkombinationen führen jedoch statt zum gewünschten Resultat nur zu einer Fehlermeldung.
Um den Fehler selbst zu reproduzieren, öffnen Sie ein neues Bild der Größe 360 x 504 Pixel. Wenden Sie dann den 3D-Rotationsfilter an. Geben Sie als horizontale Rotation -70 Grad und als vertikale -43 Grad ein. Sobald Sie auf [Vorschau] klicken, erhalten Sie die Fehlermeldung. Dieser Fehler tritt bei unterschiedlichen Größen-Winkel-Kombinationen auf. Sollte also gerade bei der von Ihnen gewünschten Drehung dieser Bug auftreten, verändern Sie einfach die Werte minimal.

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-01-26 20:40


Farbbereiche schützen

Mit invertierten Farbmasken schützen Sie Bildbereiche gezielt vor Änderungen.
Wer Bilder bearbeitet, möchte Bereiche vor unerwünschter Veränderung schützen, ohne komplizierte Masken zu konstruieren. Diese Aufgabe lösen Sie, indem Sie Farbtöne maskieren und die Auswahl invertieren. Laden Sie ein Bild in Photo-Paint. Benutzen Sie den Befehl Maske/Farbmaske. Aktivieren Sie die Pipetten-Schaltfläche im Dialog Farbmaske. Mit der Pipette klicken Sie den ersten Farbton im Bild an, den Sie von der Bearbeitung ausschließen möchten. Aktivieren Sie oben im Dialog die Schaltfläche mit dem Pluszeichen. Dadurch wechseln Sie in den additiven Maskenmodus. Klicken Sie mehrmals mit der Pipette in das Bild, um weitere Farbtöne zu maskieren und dadurch die Maske zu erweitern. Jeder gewählte Farbton erscheint in der Spalte Farbe des Dialogs. Die Toleranz der Farberfassung legen Sie für jede Farbe individuell fest, indem Sie rechts daneben den Wert in der Spalte N anpassen. Der Wert 0 bewirkt, dass ausschließlich der gewählte Farbton maskiert wird. Entsprechend beziehen Sie durch eine Erhöhung des Wertes mehr ähnliche Farbtöne in die Auswahl ein, was die Maske erweitert. Sind alle Farbtöne erfasst, klicken Sie einmal auf die Schaltfläche rechts in der oberen Button-Reihe. Dies kehrt die Maske um, so dass aus den ausgewählten Bereichen geschützte Bereiche werden. Mit OK legen Sie die Maske an. Photo-Paint markiert nun alle Bereiche im Bild, die nicht den gewählten Farbtönen entsprechen. Dadurch sind die gewählten Farbbereiche vor Bearbeitung geschützt. Möchten Sie die Auswahl erneut umkehren, benutzen Sie den Befehl Maske/ Invertieren oder die Tastenkombination [Strg-Umschalten-I].

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-01-26 20:27


Computer » Programme » Dreamweaver

Dialogfeld fehlt

Dreamweaver fragt beim Beenden des Programms nicht, ob es geschlossen werden soll.
In Dreamweaver fehlt die Option, vor dem endgültigen Beenden noch einmal nachzufragen. Bei Computern mit Windows als Betriebssystem lässt sich diese Einstellung in der Registry vornehmen. Starten Sie den Registrierungseditor mit Start/Ausführen und geben Sie
regedit ein.

Gehen Sie zum Schlüssel:
HKEY_CURRENT_USER/Software/Macromedia/Dreamweaver 3 /Optional Dialog Windows Mit einem Doppelklick auf Dreamweaver beenden öffnet sich eine Dialogbox, bei der Sie den Wert TRUE in FALSE umwandeln.

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-01-26 20:40


Relativer URL-Bezug von Grafiken

Wenn Sie in Dreamweaver eine Grafik in ein Dokument einfügen und sich in der Vorschau ( [F12]) ansehen wollen, sehen Sie an der Stelle der Grafik ein rotes Kreuz. Es bedeutet: Objekt nicht vorhanden.
Damit Dreamweaver Grafiken korrekt darstellt, müssen zwei Voraussetzungen erfüllt sein: Sie müssen das Dokument gespeichert haben, bevor Sie es in der Browser-Vorschau ansehen können. Sie müssen beim Einfügen des Bildes in der Dialogbox Bildquelle einfügen unten die Option Relativ zu: Dokument auswählen, auf keinen Fall aber dürfen Sie die Option Relativ zu: Startordner angeben.

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-01-26 20:41


Vorlagen Definieren

Sie eigene Formatiervorlagen für Tabellen in Dreamweaver.
Das Webdesign-Programm Dreamweaver kann Tabellen mit einer Autoformatierung bearbeiten, ähnlich wie Word es mit Text ermöglicht: Schriftart, Ausrichtung und Farben werden beeinflusst. Leider erlaubt auch Dreamweaver 4 unter Befehle/Tabelle formatieren nur vorgefertigte Vorlagen, eigene lassen sich im Programm nicht anlegen. Mit einem Umweg geht es aber doch, wenn Sie nämlich die Vorlagendatei editieren. Wie viele andere Befehle von Dreamweaver ist die Formatierung von Tabellen als JavaScript-Code in einer js-Datei auf der Festplatte abgelegt. Wechseln Sie mit dem Windows Explorer ins Verzeichnis Programme\Macromedia\ Dreamweaver 4\Configuration\ Commands. Klicken Sie die Datei table-Format.js doppelt an oder wählen Sie im Kontextmenü Mit Dreamweaver öffnen. Das Dokumentfenster des Webdesign-Programms zeigt nun den JavaScript-Quellcode an. Wenn Sie im Umgang mit Textdateien nicht sicher sind, legen Sie zuvor eine Kopie der Originaldatei an, bevor sie damit herumspielen. Markieren Sie eine bestehende Formatdefinition. Eine Definition beginnt mit zwei Schrägstrichen und dem Namen der Vorlage und endet mit einer Leerzeile. Mit Bearbeiten/Kopieren und Bearbeiten/ Einfügen duplizieren Sie die Vorlage. Die Position der Vorlage in der JavaScript-Datei legt die Position in der Auswahlliste in Dreamweaver fest. Ändern Sie den Namen der Vorlage in der ersten Zeile bei
Formats[i].name= "Meine Vorlage"
Jetzt ändern Sie die einzelnen Werte, in jeder Zeile stehen zwei. Es müssen immer alle Angaben vorhanden sein, löschen Sie also keine Zeile. Welche Variablen für welchen Effekt zuständig sind, zeigt die Tabelle. Wenn Sie einer Variablen keinen Wert zuweisen wollen, setzen Sie zwei Anführungszeichen (""). Eine Ausnahme sind die Style-Variablen, hier tragen Sie NONEein. Sind Sie mit den Änderungen fertig, speichern Sie die Datei. Nach einem Neustart von Dreamweaver steht die Tabellenvorlage zur Verfügung.

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-01-26 20:41


Computer » Programme » Fireworks

Animierte GIFs

Animierte GIFs gelingen in Fireworks leicht. Dazu verwenden Sie auch Vorarbeiten aus anderen Programmen.
Wenn Sie bereits einzelne Abschnitte für ein animiertes GIF in einem Programm wie FreeHand, Corel Draw oder Photoshop in verschiedenen Ebenen oder Seiten vorgezeichnet haben, wandelt Fireworks diese beim Import direkt in Einzelbilder (Frames) um. Beim Import von Photoshop-, Corel-Draw-oder FreeHand-Dateien können Sie einzelne Dokumentseiten oder Ebenen (bei Photoshop) in Frames umwandeln. Jedes Frame können Sie in Fireworks be-liebig bearbeiten.

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-01-26 20:28


Animierte GIFs optimieren

Eine der großen Stärken von Fireworks ist das Export-Modul, mit dem Sie animierte GIFs vor- ab unter verschiedenen Kompressionsstufen begutachten können.
Im Vorschaufenster beurteilen Sie die Qualität der Animation. Wählen Sie als Format Animiertes GIF. Für die optimale Kompression gilt:
 Eine GIF-Datei enthält immer eine Farbpalette, in der die Farbwerte für das Bild gespeichert sind. Damit ein GIF klein wird, sollte auch die Zahl der Farben in der Palette gering sein. Dadurch lassen sich oft mehrere KByte einsparen.
 Die Dateigröße eines GIF-Bilds hängt von den Bildabmessungen ab. Beschnei-den Sie deshalb Ihre Grafiken so stark wie möglich, um eine kleinstmögliche Dateigröße zu erreichen.
 Das GIF-Format arbeitet mit einer Kompressionstechnik, die die Bilddaten zeilenweise zusammenfaßt. Das führt dazu, daß horizontale Linien in einer Farbe am besten komprimiert werden. Vermeiden Sie unterschiedliche Farbtö- ne oder Verläufe. Erstellen sie großflächige Bereiche in einer Farbe. Vermeiden Sie schräge oder diagonale Verläufe und Anti-Aliasing (Kantenglättung).
 Ein animiertes GIF besteht aus Einzelbildern, die hintereinander abgespielt werden. Jedes Einzelbild kann auch ein Differenzbild zum vorherigen sein. Nutzen Sie dies, indem Sie ein möglichst vollständiges Bild an den Anfang Ihrer Animation stellen und dann nur Partien verändern. Sie erreichen dies durch die geeignete Löschmethode im Reiter Animation des Export-Moduls sowie der Option Automatisch zuschneiden. Die Löschmethoden im einzelnen:
 Nicht angegeben versucht, für jedes Frame der Animation die geeignete Löschmethode zu finden.
 Keine: Das alte Frame wird nicht vor der Darstellung des neuen gelöscht. Damit bleibt das ursprüngliche Bild erhalten, und nur der neue Teil wird animiert.
 Hintergrund wiederherstellen löscht einen Frame nach seiner Darstellung, um den Hintergrund wieder sichtbar zu machen. Sie eignet sich für Animationen in transparenten animierten GIFs.
 Vorheriges wiederherstellen löscht einen Frame nach seiner Darstellung und stellt den Hintergrund des vorherigen Frames wieder her. Benutzen Sie diese Option beim Animieren eines Objekts über ein Hintergrundbild.

9 Schlanke Optionen
Vermeiden Sie für GIFs Optionen, die die Dateigröße aufblähen.
Verwaschenen Farbverläufen in einem GIF begegnen Sie mit der Option Rastern. Dies erhöht jedoch die Dateigröße. Vermeiden Sie diese Option da-her, und setzen Sie sie nur im Notfall ein.

10 Farben sparen
Arbeiten Sie mit möglichst wenigen Transparenzfarben in Ihrer Palette.
Da alle Transparenzfarben durchsichtig geschaltet werden, können Sie die Flächen in der Grafik mit einer Farbe einfärben und dann durchsichtig schalten. Dadurch verringern Sie die Dateigröße, weil die Palette kleiner ist.

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-01-26 20:30


Bewegungen über Tweening

Animationen können Sie auch über sogenannte Tween-Instanzen erzeugen.
Tweening ist ein Verfahren, das Zwischenschritte zwischen Ausgangs- und Zielbild automatisch berechnet. Markieren Sie dazu ein Objekt, das sie über eine Serie von Frames animieren wollen. Erstellen Sie daraus ein Symbol über Bearbeiten/ Symbole/Symbol erstellen. Ein Symbol ist das Ursprungsobjekt für Instanzen (= Kopien der Ursprungsgrafik). Wenn sich das Symbol ändert, ändern sich auch alle davon abgeleiteten Instanzen. Eine Grafikinstanz erzeugen Sie durch Kopieren und Einfügen oder Klonen eines Symbols. Eine Instanz ist transformierbar: Sie läßt sich frei verschieben, drehen und stauchen. Auch Effekte können Sie auf sie anwenden. Eine Tween-Animation stellen Sie her, indem Sie eine Ausgangsgrafik zu einem Symbol deklarieren, in Tween-Instanzen eine Instanz daraus erstellen und diese zum Schlußbild der Animation verändern. Anschließend markieren Sie das Symbol (Ausgangsbild) und die Instanz (Endbild) und lassen Fireworks daraus Animations-Zwischenschritte errechnen. Mit der Option Auf Frames verteilen werden die errechneten Zwischenschritte in einzelne Frames eingesetzt, und Sie erhalten eine fertige GIF-Animation.

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-01-26 20:30


Große Bilder segmentieren

Durch das Segmentieren großer Grafiken läßt sich jeder Teilbereich mit den besten Einstellungen komprimieren.
Beim Segmentieren wird eine Grafik zerschnitten und mit Hilfe einer Tabelle im Browser wieder zusammengesetzt. Beim Segmentieren gilt: Besser einige wenige große Dateien als zuviele kleine. Der Grund dafür ist, dasich zu den einzelnen Dateigräen auch noch der Protokoll- und Dateivorspann-Overhead addiert, der beim Anfordern mehrerer Dateien beträchtlich sein kann.

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-01-26 20:31


HTML-Code anpassen

Der von Fireworks erstellte HTML-Code für ein segmentiertes Bild ist oft nicht optimal, da der gesamte rechteckige Bereich eines Bilds exportiert wird. Hier hilft Nacharbeit.
Sollten im Bild viele einfarbige Flächen sein, können Sie diese Partien weglassen und so die Dateigröße verringern. Statt dessen benutzen Sie die Hintergundfarbe der HTML-Seite oder die Tabellenzellenfarbe, um die Grafik zu vervollständigen. Ein weiterer Trick: Wiederholen Sie grafische Elemente in einer Seite, oder setzen Sie die Grafiken auch auf Folgeseiten ein, da sie sich noch im Cache des Browsers befinden. Dadurch werden Sie nicht erneut zeitraubend geladen.

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-01-26 20:32


ImageMaps im Handumdrehen

ImageMaps sind oft eine mühsame Angelegenheit. So setzen Sie sie schnell und einfach um.
ImageMaps sind Bilder auf einer HTML-Seite, die mit unterschiedlichen Sprungadressen verknüpft sind. Wer etwa auf eine Landkarte klickt, die mehrere Regionen aufweist, bekommt beispielsweise Informationen zur ange-klickten Region angezeigt. In Fireworks stellen Sie ImageMaps mit den blauen URL-Werkzeugen unterhalb der oberen Werkzeugleiste her. Mit diesen einfachen Formwerkzeugen ziehen Sie Areale über eine Webgrafik auf, die später als Hotspots (Bereiche, die mit einer Aktion verbunden sind) dienen sollen. Sie fügen URLs hinzu, indem Sie auf das nach rechts zeigende Dreieck klicken und den Eintrag Neuer Link im dort erscheinenden Kontext-menü wählen.
Wenn Sie in einer Vektorgrafik ein Segment wählen und anschließend [Strg-Umschalt-U] drücken, können Sie auch komplexe Segmente in einen Hotspot-Bereich umwandeln. Dies entspricht Auswahl/In URL kopieren. So sparen Sie sich eine Menge Arbeit bei der Auswahl von Hotspots in Ihrer Grafik.

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-01-26 20:33


ImageMaps speichern

Das Speichern von ImageMaps führt über das Export-Modul von Fireworks.
Im Export-Modul (Datei/Exportieren) erhalten Sie bis zu vier Ansichten der Grafik. Klicken Sie dazu auf die einschlägigen unteren Buttons, die rechts von der Prozentzahl liegen. Nachdem Sie die Kompression gewählt haben, läßt sich das Bild mit dem HTML-Code für die ImageMap speichern.

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-01-26 20:34


Map-Typ für ImageMaps wählen

Im Kontextmenü des nach rechts zeigenden Dreiecks bei den ImageMap-Optionen erscheint auch der Eintrag zu den Image-Map-Optionen. Hier bestimmen Sie den Map-Typ.
Die ImageMap-Optionen unterscheiden zwischen client-, serverseitig und beides. Clientseitige ImageMaps sind heute Standard. Sie werden als Bestandteil einer HTML-Seite übertragen und tragen bereits alle URLs mit sich, so daß ein Mausklick vom Benutzer direkt durch den Browser ausgewertet wird. Wählen Sie unter ImageMap-Optionen den Map-Typ clientseitig, damit der Browser des Benutzers sofort auf Ihre Aktion reagieren kann.

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-01-26 20:34


Photoshop-Plugins in Fireworks nutzen

Fireworks unterstützt die Plug-in-Schnittstelle von Adobe. Damit können Sie tausende kostenloser Filter in Fireworks verwenden.
Unter Datei/Voreinstellungen... können Sie einen Ordner mit Photoshop-kompatiblen Filtern anlegen. Die Filter erscheinen in Fireworks unter Xtras. Viele dieser Filter funktionieren auch in Fireworks. Einziger Wermutstropfen: Vektorformen werden beim Anwenden der Filter in Fireworks zu Pixelbildern umgewandelt, so daß Sie sie danach nicht mehr frei bearbeiten können.

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-01-26 20:35


Rollover-Effekte mit Java-Script

Fireworks hilft bei Rollover-Ef- fekten in HTML-Seiten. Das Programm kann für Ihre Schaltfläche bis zu vier verschiedene Frames anlegen.
Fireworks bietet je einen Frame für den normalen Zustand, einen für das Rollover sowie einen für den Down-Zustand (bei gedrückter Schaltfläche) und einen für den onClick-Zustand (beim Klicken auf die Schaltfläche). Unbedingt nötig für einen Rollover-Effekt sind nur die Frames für den normalen und den Rollover-Zustand. Die übrigen Optionen bieten sich für Sonderfälle an:
 Der Down-Zustand ist nur für die darauf folgende HTML-Seite interessant, er wird niemals in der aktuellen Seite dargestellt. Beim Mausklick auf die Rollover-Grafik setzen Sie über ein Java-Script ein Cookie im Browser. Diesen kann dieselbe Grafik in der angesurften Zielseite auswerten. Über das Cookie kann nun die Grafik reagieren. So lassen sich gedrückte Schaltflächen in Navigationsleisten realisieren, die dem Benutzer ein optisches Feedback über seinen Aufenthaltsort in der Website vermitteln.
 Der onClick-Zustand ist ein Bild, das nach einem Klick auf die Schaltfläche auf dem Bildschirm erscheint. In der Regel wird dieses Bild nur kurz gezeigt (beim Laden der nächsten HTML-Seite) und deshalb in vielen Fällen nicht gebraucht. Für einen normalen Rollover-Effekt reicht es aus, wenn Sie nur die beiden ersten Grafiken erstellen.

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-01-26 20:36


Statische Hintergründe in animierten GIFs

Über eine Ebene setzen Sie einen statischen Hintergrund für animierte GIFs ein.
Sie wollen eine GIF-Animation vor einem statischen Hintergrund ablaufen lassen, etwa einer Bergkulisse? Diesen Hintergrund legen Sie in Fireworks als einzelne Ebene an. Sie können die Ebene in eine Auswahl von Frames kopieren. Markieren Sie dazu Ihre Hintergrundgrafik, und wählen Sie Ebenen/In Frames kopieren....

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-01-26 20:36


Voreinstellungen für Bildbereiche

Für segmentierte Bilder wählen Sie das beste Format: Wann eignet sich GIF, wann JPG?
Komprimieren Sie Schrift oder ein einfarbiges Logo, ist GIF das geeignete Dateiformat, weil die Schrift scharf bleibt. Für Fotos oder Verläufe ist JPG die bessere Wahl: Die Bilder werden kleiner, und Sie erhalten Farbabstufungen in besserer Qualität. Bei Bildern mit Text und Fotos sollten Sie auch für jedes Segment ein eigenes Format angeben.

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-01-26 20:37


Funk

adios

Schlussgruß nach einem Funkgespräch.

aufwiederhören

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-27 18:58


Alpenrepublik

Damit ist Österreich gemeint.

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-27 19:00


AM

Bei der Amplitudenmodulation wird die Sprache des Funkers auf die Funkwelle des Senders aufmoduliert (draufgepackt).
Somit schwankt die Amplitude (Stärke der Welle) ständig im Rhythmus der Sprache und erzeugt so beim Sender ein schwankendes Signal, welches abhängig von der Lautstärke der Sprache des Senders ist.
Ein AM-Signal ist sehr störanfällig, jedoch wegen geringer Bandbreite sehr gut für Weitverkehrs-Funk (DX) geeignet.

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-29 17:26


anbreaken

anrufen

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-27 19:02


aufdrehen

Nachbrenner voll schalten (nicht zu empfehlen)

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-27 19:03


ANL

Abkürzung für: Automatic Nois Limiter = automatischer Störbegrenzer

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-27 19:04


Base

Feststation oder Basisstation

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-27 19:04


Beam

Richtantenne

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-27 19:05


Blackout

Funkunterbrechung

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-27 19:06


Blaulicht

Polizei- oder Rettungsfahrzeug

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-27 19:06


Break

Unterbrechung, unterbrechen

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-27 19:07


Breaker

Unterbrecher

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-27 19:07


Brummi

Lastkraftwagen

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-27 19:08


CB-Baby

CB-Funk Anfänger

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-27 19:08


CBer

CB-Funker

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-27 19:09


CB-Land

Gegend mit vielen CB-Funkern

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-27 19:09


Cherio

Abschiedsgruß

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-27 19:10


Clarifier

Feinabstimmungsknopf

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-27 19:10


Contest

Wettbewerb

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-27 19:10


CQ

Allgemeiner Anruf aus der Q-Gruppe

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-27 19:11


CQ-DX

Allgemeiner Anruf für Fern-Funkverbindungen

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-27 19:12


CW

unmodulierter Träger (Morse Telegrafie)

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-27 19:12


Dampf

Gas oder HF-Leistung

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-27 19:13


DX

Fern-Funkverbindung

Auch wenn der CB-Funk als mobiler Nahbereichsfunk deklariert wurde, kann man doch unter guten Bedingungenn durchaus sehr weite Funkverbindungen herstellen (DX).
Abhängig von der Sonnenaktivität und den daraus resultierenden Ausbreitungsbedingungen sind europaweite und auch transatlantische Verbindungen keine Seltenheit und heben die Attraktivität von CB-Funk enorm.

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-29 17:32


erster Offizier

Ehefrau (Kosename)

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-27 19:14


ERP

äquivalente abgestrahlte Leistung

Siehe auch FAQ: EIRP / ERP

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-29 21:00


ERS

Abkürzung für: Emergency Radioa Service = Notruf

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-27 19:15


Fading

Schwankungen des empfangenen Signals

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-27 19:15


Feldwebel

Eherfrau (Kosename)

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-27 19:16


Finale

Endfunksprechrunde

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-27 19:16


FM - Frequenzmodulation

Bei der Frequenzmodulation bleibt die Stärke des Signals immer gleich, weil die Sprache (Information) in die Frequenz des Signales gepackt wird.
Man spricht von einem Frequenz-Hub.
Dies ist der Bereich (z.B. 3 kHz) in welchem das Sendesignal schwankt.
Zum Beispiel: ein FM-Sender sendet auf 27,125 MHz. Somit schwankt das tatsächliche Signal von 27,122 bis 27,128 MHz, ist also insgesamt 6 kHz breit.
FM eignet sich besonders gut für lokale Verbindungen, da die Sprachqualität wesentlich besser ist, als bei AM.

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-29 17:42


Fotograf

Polizeiradar 

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-27 19:17


Gilb

Messwagen der Post (Funküberwachung)

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-27 19:18


Glatteis

Radarkontrolle

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-27 19:18


Greenhorn

CB-Anfänger

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-27 19:18


Gurke

Handsprechfunkgerät (Handgurke)

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-27 19:19


HAM

Lizensierter Funkamateur

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-27 19:19


Handgurke

Handsprechfunkgerät

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-27 19:20


Hausdrachen

Eherfrau (Kosename)

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-27 19:20


HF

Hochfrequenz

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-27 19:20


Hauskanal

Kanal, der von einem CB-Club oder von einer Gruppe von CB-Funkern bevorzugt verwendet wird.

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-27 19:21


Horizontale

schlafen

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-27 19:22


Input

Eingang

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-27 19:22


Kamera

Radaranlage

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-27 19:22


Kartell

Eine Gruppe von CB-Funkern, die ständig einen Kanal blockieren.

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-27 19:23


Kino

Polizeiradar

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-27 19:23


Kojak

Polizeibeamter

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-27 19:24


KW

Kurzwelle

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-27 19:24


LSB

Lower Sideband = unteres Seitenband in der Betriebsart SSB

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-27 19:25


Luftspion

Polizeihelikopter

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-27 19:25


Marmelade

Störung

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-27 19:25


Mayday

Notruf

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-27 19:26


MHz

Megahertz (10⁶ Hz)

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-27 19:26


Mike

Mikrofon

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-27 19:27


Mobil

Mobilstation

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-27 19:27


Mod

Modulation

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-27 19:27


Monopo

Monopolantenne = Stabantenne

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-27 19:28


Nachbrenner

Nachverstärker (nicht erlaubt)

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-27 19:28


negativ

Nicht verstanden

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-27 19:28


NF

Nierderfrequenz

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-27 19:29


Oberwelle

Ehefrau oder Feundin

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-27 19:29


Old Lady

Ehefrau

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-27 19:30


OM

Ehemann oder Funkkamerad

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-27 19:30


Output

Ausgang, Ausgangsleistung

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-27 19:30


OW

Ehefrau

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-27 19:31


PA - Power Amplifier

Sender- bzw. Verstärker Endstufe oder umgangssprachlich auch einfach als Leistungsverstärker bezeichnet.

Verbotenes Zubehör! Ein PowerAmplifier (PA), Linearverstärter, Brenner oder wie immer man das den nun nennen mag, verstärkt die vom Funkgerät abgegebene Sendeengergie (HF), um somit weiter weg senden zu können oder die Qualität des Signales bei entfernten Stationen zu verbessern. Es gibt 2 Arten, von denen es unzählige Typen im Handel gibt:

  • Röhrenendstufen und
  • Transistorendstufen

Die Variante mit einer, zwei oder noch mehr Verstärkerröhren gibs nur für 230V, also für die Feststation zu Hause. Transistorbestückte PA's dagegen fast nur für 12V oder 24V. Sie sind haupsächlich für den Mobilfunker und werden in Fahrzeugen eingebaut. Beide Varianten können Störungen verursachen, transitorenbestücke PA's stören meist mehr. Üblich werden Ausgangsleistung angegeben, die weit übertrieben sind, bzw. nur in SSB erreicht werden. So erreicht eine 120W Röhrenentstufe bei 4Watt vom Funkgerät nur etwa 80Watt. Der Erfolg ist meist nicht so groß wie erhofft - außer beim "bösen" Nachbarn, der noch ARD, ZDF über eine terrestrische Antenne guckt.

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-29 21:05


Peterwagen

Polizei Streifenwagen

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-27 19:32


positiv

verstanden

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-27 19:32


Radio

CB-Gerät; R-Wert (Verständlichtkeit)

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-27 19:32


Reine Luft

Keine Polizeikontrolle

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-27 19:33


Roger

verstanden

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-27 19:33


Runde

Funkgespräch zwischen mehreren Teilnehmern

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-27 19:34


Rx

Empfänger

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-27 19:34


Saft

Benzin; HF-Leistung

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-27 19:34


Santiago

S-Wert (Signalstärke)

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-27 19:35


Spargel

Stabantenne

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-27 19:35


SSB

Single Side Band = Einseitenband (Betriebsart) ist eine Weiterentwicklung von AM.

Bei AM wird unabhängig von der Modulation ständig ein konstanter Träger gesendet, also Leistung vergeudet.
Bei vorhandener Modulation erscheinen zwei Seitenbänder, welche die gleiche Information tragen.
Bei SSB wird der unmodulierter Träger und ein Seitenband unterdrückt, so hat man einen optimalen Wirkungsgrad.
Um das SSB-Signal im Empfänger wieder hörbar zu machen muss die Trägerfrequenz wieder hinzugefügt und die Empfangsfrequenz mit dem Clarifier-Regler sehr präzise eingestellt werden (Finetuning).

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-29 17:28


Standby

Auf Empfang (Empfangsbereit)

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-27 19:36


TVI

Fernsehströrung

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-27 19:36


Tx

Sender

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-27 19:37


Xtal

Quarzkristall

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-27 19:38


XYL

Ehefrau

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-27 19:38


Zentrale

Feststation, Zentralstation

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-27 19:38


Digitaler CB-Funk

Durch die entsprechenden Verfügungen in Deutschland durch die RegTP wurden digitale die Betriebsarten für den CB-Funk zur Benutzung auf den CB-Kanälen 6, 7, 24, 25, 52, 53, 76, 77 freigegeben. 
Es dürfen jedoch nur Geräte verwendet werden, die für den Anschluss beliebiger Zusatzmikrofone zugelassen sind.
CB-Datenfunk darf betrieben werden in den Betriebsarten F1D, F2D und G2D (Frequenz- und Phasenmodulation, FSK bzw. AFSK).
Damit ist es möglich, zum Beispiel Schmalband-Fernsehen (SSTV) oder Morsetelegraphie (CW) anzuwenden.
Am häufigsten kommt jedoch Packet Radio zum Einsatz.

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-29 17:37


PR - Packet Radio

Packet Radio ist eine Form der digitalen Funkübertragung.

Zur Verwendung von Packet Radio benötigt man ein Modem, welches zum Beispiel am COM-Port eines PC's angesteckt und mit dem Funkgerät verbunden wird.
Zum Einsatz kommen auch sogenannte TNCs (Terminal Node Controller), sozusagen ein intelligentes Modem, welches auch ohne PC funktioniert.

Es werden dabei meist Chat's (Textgespräche) geführt. Hervorstechende Merkmale sind dabei, dass sich mehrere User einen Kanal teilen können und das ein 'Fernverkehr' über beliebig viele Nodes stattfinden kann.
Mailboxbetrieb ist natürlich auch möglich.

Siehe auch dazu die FAQ "digitaler CB-Funk".

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-29 19:38


Abstimmstab

Verschiebbarer letzter Teil der Antenne, damit wird auf bestes SWR eingestellt.

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-29 18:34


Aircom

Sehr hochwertiges Koaxialkabel, für Amateurfunkzwecke, im CB-Funk nicht sinnvoll.

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-29 18:35


Backlight

Hintergrundbeleuchtung, auch der Regler, sehr gut für Nachtbetrieb.

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-29 18:36


Bodenwelle

Ausbreitung der Funkwellen im Normalfall, etwa bis 50 Kilometer.

Bezeichnet die allgegenwärtige Ausbreitungsform der Funkwellen, die für die direkten Funkverkehr mit nahen Stationen von Bedeutung ist. Der Grund für die Benennung ist einfach: 'immer in Bodennähe' lautet das Motto dieser Wellen - leider mit dem Nachteil, das der Boden das Signal dämft. Somit ist die Umgebung ein entscheidener Faktor für die Reichweite.

Siehe auch FAQ: Raumwelle.

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-29 19:42


BRT

Schaltet die Beleuchtung des Gerätes heller.

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-29 18:37


CAL

Eichung des Stehwellenmessgerätes (CAL-Markierung in Stellung FWD).

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-29 18:38


CB

"Citizen Band", CB-Funk oder Jedermannfunk

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-29 18:39


Coarse

Grobabstimmung des Gerätes bei SSB.

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-29 18:40


Co-Phaser

Zum gleichzeitigen Anschluss von 2 Antennen an ein Funkgerät (Trucker-Antennen).

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-29 18:40


DIM

schaltet die Beleuchtung des Gerätes dunkler.

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-29 18:41


Dummy-Load

künstliche Antenne, zum Messen und Abgleichen, strahlt kaum etwas ab

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-29 18:42


DW (Dual-Watch)

Dual-Watch, damit kann ein zweiter Kanal überwacht werden.

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-29 18:43


EMG

Kanal-9-Taste, der übliche Notrufkanal. Mit dieser Tast kann von einem anderen Betriebskanal (z.B. 23) sofort auf Kanal 9 gestellt werden. Ein erneutes drücken der Taste schaltet bei einigen Geräten auf Kanal 19 (Ebenfalls ein Notrufkanal). Beim dritten mal drücken schaltet das Gerät für gewöhnlich wieder auf den Ausgangskanal, in unserem Beispiel Kanal 23 zurück.

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-29 18:46


Filter

Damit kann die Klangfarbe der Sprachwiedergabe verändert werden, meist nur beim Empfang.

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-29 18:47


Fine

Feinabstimmung des Empfängers bei SSB.

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-29 18:47


FMQ

unterdrückt Störungen bei FM

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-29 18:48


FM-Select

Zusatzgerät gegen starkes Empfängerrauschen und Störungen.

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-29 18:48


FWD

Anzeige der vorlaufenden Leistung beim Messen des Stehwellenverhältnisses.

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-29 18:49


Gegengewicht

die Radiale einer Antenne, auch Erdung.

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-29 18:49


Gewinn

Gewinn einer Antenne gegen über einer Referenzantenne, angegeben in dB. Sie ist auch die Güteangabe bei Antennen.

Er gibt (in db) an, in wie fern sich die Funkwellen in bestimmten Raumbereichen konzentrieren im Vergleich zu einer Referenz. Je höher, umso besser - suggerieren die Hersteller und werben meist mit überzogenen und nicht gemessenen Daten. Dabei gibt es zwei gebräuchliche Angaben:

  • dbi : Gewinn über Isotrop-Antenne
  • dbd: Gewinn über Halbwellendipol

Wobei: dbd = dbi + 2,15dB. Meist wird jedoch das klärende "i" oder "d" weggelassen - der Käufer kann dann rätseln.

Siehe auch FAQ: dbi, dBd

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-29 20:29


H100

hochwertiges Koaxialkabel, für Amateurfunkzwecke, ca. 11mm dick im Durchmesser.

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-29 18:50


H2000flex

sehr hochwertiges Koaxialkabel, für Amateurfunkzwecke, ca. 11mm dick im Durchmesser

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-29 18:51


HI

Bezeichnung am Funkgerät für eine hohe Sendeleistung

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-29 18:51


Hi-cut

dämpft die hohen Töne beim Empfang

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-29 18:52


Light

Umschaltung der Helligkeit der Anzeige usw.

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-29 18:53


LO

geringe Empfängerempfindlichkeit, siehe LO/DX, kann auch niedrige Leistung bedeuten (HI/LO)

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-29 18:54


LO/DX

Umschalter am Funkgerät für die Empfängerempfindlichkeit, LO steht für Lokal, DX für Weitempfang.

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-29 18:54


Lock

Taste oder Funktion am Funkgerät. Sperrt Tastenfunktionen gegen ungewollte Bedienung.

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-29 18:55


Matchbox / Matcher

Antennenanpassgerät, dient dazu, dem Funkgerät eine gute Antenne vorzutäuschen.

Ein Matcher ist bei gekaufen CB-Funk-Antennen nie nötig!!! Er dient legentlich bei Selbstbauantennen zur Anpassung des Kabels (Wellenwiderstandes), sofern es von den 50Ohm abweicht, bei selbstgebauten Antennen mit Speisekabeln, die nicht RG58 / RG213 konform sind.

Ein oft für den falschen Zweck eingesetztes Gerät.

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-29 21:08


Mike-Gain

regelt die Mikrofonverstärkung.

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-29 18:57


Mode

Eine Taste oder Funktion am Funkgerät zur Umschaltung der Betriebsart, z.B. AM, FM oder SSB, usw.

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-29 18:58


Modem

= Modulator + Demodulator. Gerät zur Dekodierung von Packet-Radio-Signalen.

Erzeugt und entschlüsselt (digitale) Signale durch Modulation. Es ist eine Einheit aus diesen zwei Anfangs genannten Baugruppen. Fälschlicherweise bezeichnet mach Computer"modem" auch so, obwohl neben dem Modem noch ein (oder mehrere) Prozessor eingebaut ist. Ein Minimodem dagegen ist das, was der Begriff auch meint.

Siehe auch FAQ: Minimodem, Digitaler CB-Funk

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-29 21:11


Multichannel

Geräte die je nach Land in Europa einstellbar sind.

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-29 19:00


NB

Störunterdrückung

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-29 19:01


PWR

Leistungseinsteller am Funkgerät.

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-29 19:02


Q-Down

schneller Kanalwechsel nach unten, meist 10 Kanäle auf einmal.

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-29 19:02


Q-Up

schneller Kanalwechsel nach oben, meist 10 Kanäle auf einmal

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-29 19:03


Radial

Dabei handelt es sich um waagrechte oder schräg angeordnete Stäbe am Fußpunkt einer Antenne.

Teil einer Hochantenne. Man findet 3-16 dieser Radiale an den meisten 5/8 λ Hochantennen. Augenscheinlich nichts weiter als eine Anordnung, um Vögeln das Sitzen auf der Antenne zu erleichtern, spielen sie jedoch eine wichtige Rolle. Sie bilden ein elektromag. Gegengewicht ("HF-Erde") der Antenne und sorgt dafür, dass die Abstrahlung möglichst flach erfolgt.

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-29 21:18


Raumwelle

Ausbreitung der Funkwellen über die Ionosphäre, tausende Kilometer Reichweite. 

Dabei geschieht die Wellenausbreitung über die Reflektion an stark ionisierten Schichten der Ionosphäre (F-Schicht oder Sporadic-E in der E-Schicht).
Durch die Sonnenflecken (Aktivität der Sonne) oder durch bestimmte Wetterlagen kann es zur zeitweiligen Reflektion der Funkwellen in den o.g. Schichten kommen. Dadurch sind Funkverbindungen mit Stationen möglich die mehrere hundert (selten) bzw. einige tausend (öfter) Kilometer entfernt sind. Typische "Zielländer eines solchen "Raumsprunges" sind: Italien, Ukraine, Spanien, Frankreich, England uvm. Siehe auch Bodenwelle.

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-29 19:40


REF

Anzeige der rücklaufenden Leistung beim Messen des Stehwellenverhältnisses

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-29 19:04


RF-Gain

Regler am Funkgereät. Mit ihm regelt man die Empfindlichkeit des Empfängers.

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-29 19:05


RG174

dünnes Koaxkabel, nur für kurze Verbindungen empfehlenswert.

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-29 19:05


RG213

Koaxkabel, ca. 11mm dick, geringe Dämpfung und hohe Belastbarkeit.

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-29 19:06


RG58

Standard-Koaxkabel, 6mm dick im Durchmesser, reicht so bis 20 m Kabellänge und bis 100 Watt aus. 

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-29 19:07


Richtantenne

Sie ist eine Antenneform mit mehreren Elementen und Richtwirkung, relativ groß.

Sie Sendet und empfängt in einer bevorzugten Richtung. Wird auch als "Beam" oder "Yagi" bezeichnet. Durch die Art der Montage kann die Polarisationsebene gewählt werden. Richtantennen sind im CB-Funk erst eine relativ kurze Zeit erlaubt und wenig verbreitet. Sie werden dort eingesetzt, wo es um große Reichweiten geht.

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-29 20:46


Roger Beep

Piepton am Ende der Aussendung, sollte man wirklich nur bei schwierigen Verbindungen nutzen.

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-29 19:08


Scan

Taste oder Funktion am Funkgerät. Damit sucht das Funkgerät automatisch Kanäle ab.

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-29 19:09


Selektivruf

Stummschaltung, nur der richtige Tonruf öffnet den Lautsprecherausgang.

Besonderes Ausstattungsmerkmal 'gehobener' CB-Funkgeräte. Durch einen Selektivruf kann ein Funkpartner (der dasselbe Selektivrufsystem benutzen muss) gezielt gerufen werden. Andere Funker oder Störungen bleiben außen vor! Ist im CB-Funk wenig verbreitet, da jeder Gerätehersteller ein anderes (inkompatibles) Rufsystem benutzt. Es gibt den Selektiv aber auch zum nachrüsten (DTMF-Geber, DTMF-Auswerter).

Siehe auch FAQ: Squelch

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-29 21:29


SIG

Anzeige der Signalstärke beim Empfang, S-Meter

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-29 19:10


S-Meter

zeigt an, wie stark eine Station gehört wird, in S-Stufen 1 - 9

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-29 19:11


SQ - Squelch

Eine Taste (Regler) am Funkgerät zur Einstellung der Rauschsperre

Siehe auch FAQ: Rauschsperre

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-29 19:46


SSTV

Slow Scan Television, Standbildübertragung, im CB-Funk auf bestimmten Kanälen erlaubt

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-29 19:12


Strahler

der senkrechte Stab einer Antenne (bei Vertikalantennen)

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-29 19:13


SWR-Meter

Stehwellenmessgerät

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-29 19:14


TNC

Gerät zum Verarbeiten von Packet-Radio-Signalen, kann ohne Rechner arbeiten.

Ein solches Gerät dient zur Übertragung digitaler Daten im Funk. Es besteht logisch aus den gleichen Baugruppen wie ein Modem für's Telefon. Es beinhaltet daher ein oder mehrere Minimodem und einen Controller (meist z80-CPU), der das im Funk übliche AX.25-Protokoll abwickelt.

Siehe auch FAQ: Digitaler CB-Funk

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-29 19:58


Überreichweiten

Zu Zeiten des Sonnenfleckenmaximums, weit entfernte Stationen sind überstark zu hören

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-29 19:15


VOL

Regler am Funkgerät zur Einstellung der Lautstärke. Er dient zumeist auch noch als Ein-/Ausschalter der Funkgerätes.

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-29 19:16


VV-Mike

Vorverstärker-Mikrofon

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-29 19:17


ANL

Taste oder Funktion am Funkgerät zur Störunterdrückung

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-29 19:18


ASC

Taste oder Funktion am Funkgerät zur Unterdrückung von Störungen bei FM.

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-29 19:19


dBi

Gewinn einer Antenne gegenüber einem Isotropstrahler.

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-29 19:20


dBd

Gewinn einer Antenne gegenüber einem Dipol.

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-29 19:21


dB - Dezibel

Dezibel gibt das Leistungs- oder Spannungsverhältnis an. Das Dezibel ist eine physikalische Maßeinheit für Verstärkung oder Dämpfung

Eine negative (-) Verstärkung ist eine Dämpfung. Umgekehrt bei einer positiven (+) spricht man von einer Verstärkung.

Es wird verwendet, damit man Leistungen, Dämfungen (Faktoren) nicht mehr zu multiplizieren, sonder nur noch zu addieren braucht.

Dabei gilt:

Verstärkung db = lg Verstärkungsfaktor (10er Logarithmus)

Man muss nun nicht mehr die einzelnen Verstärkungsfaktoren multiplizieren, sondern kann nach die Logarithmen addieren:

P1*P2*P3 [W] = P1 + P2 + P3 [dB]

Damit vereinfachen sich viele Rechnungen.

Siehe auch FAQ: Dämpfung, dBi, dBd

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-29 20:51


Bandöffnung

Phänomen, bei dem eine Schicht der Ionosphäre unsere CB-Funkwellen wie ein Spiegel reflektiert, und so Verbindungen mit weit entfernten Stationen ermöglicht. Sie auch dazu Raumwelle. 

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-29 19:25


Doppeln

Negativer Effekt, häufig anzutreffen bei mangelder Funkdisziplin oder Überreichweiten.

Zwei oder mehrere CB-Stationen senden zur gleichen Zeit auf dem selben Kanal. Das "Ergebnis" kommt meist akustischer Folter gleich!

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-29 19:26


Node

Ein elektronischer 'Knoten'. Im Packed Radio meint der Begriff eine PR-Station, die Informationen gezielt nach Anforderung eines PR'lers (Packed-Radio-Benutzers) weiterversendet.

Es gibt inzwischen unzählige dieser Knoten in Deuschland, so daß fast von jedem Punkt ein Verbindung zu mindestens einem mit einer schwachen Antenne gelingt.

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-29 19:29


PTT - Push to Talk

Tastenbezeichnung für die wichtigste Taste am Mikrofon oder Handfunkgerätes. Sie schaltet vom Empfang auf Senden. Nur mit dieser Taste kann man "on the air" gehen. Siehe auch Simplex.

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-29 19:31


Simplex-Betrieb

So nennt man die einzigeste Funkbetriebsart, die mit CB-Funkgeräten möglich ist. Denn anders als beim Telefon (Duplexbetrieb) kann ein CB-Funkgerät  nur Senden oder Empfangen, beides zur gleichen Zeit ist ausgeschlossen und auch nicht erlaubt! Daher kann man seinem Funkpartner niemals "dazwischenquatschen". Versucht man das doch, so bekommen Dritte meist keinen mehr mit - man sagt umgangssprachlich: doppeln oder bügeln.

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-29 19:33


Rundstrahler

Antennenform. Im CB-Funk fast ausschießlich eingesetzt, da die Antenne in jede Himmelsrichtung gleichmäßig abstrahlt, und so jede Station im Empfangsradius erreicht werden kann. Diese Antennen strahlen ausschließlich vertikal ab.

Siehe auch FAQ: Vertikalantenne.

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-29 19:49


Vertikalantenne

Vertikalantennen sind zumeist Rundstrahler mit senkrechter Ausrichtung. Diese Antennenform ist am verbreitetsten. 

Es gibt diese Antennen mit oder ohne Radiale.

Siehr auch FAQ: Rundstrahler

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-29 19:51


PSK - Phase Shift Keying

PSK (Phase Shift Keying) oder zu deutsch Phasenmodulation ist eine mit der Frequenzmodulation verwandte Modulationsart. Es wird sprunghaft die Phase des zu übertragenen Tons umgeschaltet. Diese Modulationsart ist besonders für die digitale Übertragung (z.B. PacketRadio) geeignet.

Siehe auch FAQ: Digitaler CB-Funk

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-29 19:56


Minimodem

Ein Minimodem ist ein einfaches Gerät, um über Funk digitale Daten auszutauschen. Es besteht nur aus dem Nötigsten und kann auch selbst gebaut werden.

Typischerweise wird es für 1200baud AFSK und 9600baud AFSK eingesetzt.

Siehe auch FAQ: Modem

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-29 20:11


Polarisation

Ausrichtung der Wellenfront.

Im CB-Funk unterscheidet man zwischen horizontal (liegend) und vertikal (stehend) polarisierten Wellen. Die Art der Polarisation wird durch die Antenne oder ihre Aufstellung bestimmt: Befestigt man eine eigentlich vertikal polarisierende Hochantenne liegend, so entstehen folglich auch horizontal polarisierte Wellen.

Für den Funkverkehr ist wichtig: Verwende immer die gleiche Polarisationsebene wie deine Funkpartner, da sonst die Signale viel schwächer empfangen werden als nötig.

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-29 20:13


NF-Verstärker

Er sorgt dafür, das kleine (hörbare) Frequenzen (NF) verstärkt werden. Das geschieht durch Bauelemente wie Transistoren, Röhren oder Operationsverstärker die mit einer kleinen Steuerspannung (-strom) | ursprüngliches Signal | eine höhere Spannung (-stom) gesteuert wird. Die Spannungs (strom-)amplitude wird dadurch größer.

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-29 20:15


Selektor

Der Baustein ist zuständig eine bestimmte Frequenz "herauszusuchen" und diese stark zu verstärken.

In einfachen Detektorempfängern besteht er, wie im Symbol angedeutet wirklich nur aus einem veränderbaren Schwingkreis, der Signale außerhalb der Resonanz dämpft (Geradeausempfänger). Diese Methode ist sehr ineffektiv, da nur äußerst starke Signale "gehört" werden können und die Trennschärfe mieserabel ist. Eine Signalverstärkung findet nicht statt!

Frühere einfache Empfänger (Röhrenzeitalter) verwendeten ein s.g. Audion (Rückkopplungsempfänger, ebenfalls ein Geradeausempfänger), der das HF-Signal phasengleich dem Eingang zuführte und es so verstärkte.

Moderne Empfänger sind fast außschließlich Überlagerungsempfänger ("Super"). Bei diesem Typ wird das hochfrequente Signal durch die Mischung mit einer variablen zweiten Hochfrequenz in eine konstante Zwischenfrequenz umgesetzt. Diese wird dann verstärtkt und demoduliert.

Eine weitere Variante des Überlagerungsempfängers ist der s.g. "Doppelsuper". Hier wird das Signal gleich zweimal umgesetzt. Dadurch wird die Trennschärfe des Empfängers nochmal verbessert. Die erste ZF (Zwischenfrequenz) ist dabei noch relativ hoch, die Zweite dagegen niedrig.

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-29 20:17


Träger

Bezeichnet die (unmodulierte) Sendefrequenz. Da die Sendefrequenz -anschaulich- das NF-Nutzsignal "huckepack" trägt, wird sie auch so als Träger oder Trägerfrequenz bezeichnet.

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-29 20:19


TRX - Transceiver

Englischer Ausdruck für "Sendeempfänger". Damit meint der Begriff nichts anderes als ein Funkgerät, das ja bekanntlich senden und empfangen kann.

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-29 20:19


Verkürzungsspule

Sie ist ein Teil der Antenne. Durch diese Bauteil ist es möglich Antennen zu bauen, die statt λ/2 (5,5m für das 11m-Band) nur noch zwischen 30cm und ein paar Metern lang sind. Sie ist bei allen Mobilantennen in unterschiedlichen Ausführungen enthalten. Der Hacken der Technik: Der Wirkungsgrad der so verkürzen Antenne ist geringer als der einer Hochantenne (meist "ungekürzt").

Nicht mit der Ladespule verwechseln!

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-29 20:21


Wellenwiderstand

Scheinwiderstand, den ein Leiter bei einer bestimmten Frequenz (Welle) aufweist. In unserem Fall ist der Wellenwiderstand zwischen Innen- und Außenleiter des Antennenanschlusses wichtig. Nur dieser ist veränderbar (abstimmbar). Funkgerät, Stecker und Kabel weisen der Norm entsprechend 50 Ohm auf.

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-29 20:23


Ladespule

Sie passt den Wellenwiderstand der 1/2λ-Hochantenne an. Dieser wäre ohne sie um Größenordnungen zu hoch, so das die Antenne niemals angepasst werden könnte.

Nicht verwechseln mit der Verkürzungsspule!

Siehe auch FAQ; Verkürzungsspule

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-29 20:24


HUB

Kenngröße des FM-Senders eines Funkgerätes. Er gibt die maximal erreichbare Frequenzänderung zur unmodulierten Sendefrequenz an. Um die Nachbarkanäle nicht zu stören, ist der HUB im CB-Funk auf 2kHz begrenzt. Er ist bestimmend für die Lautstärke, die der Empfänger hört - großer HUB = große Lautstärke, nochgrößerer HUB = Verzerrungen! Bsp: Ein stimmengewaltiger Funker brüllt auf Kanal 4 ein "X" ins Mike (Mikrofon), so dass in diesem Augenblick der HUB seines Funkgerätes 2kHz erreicht. Dadurch schwingt jetzt seine Sendefrequenz mit seiner Tonhöhe von 27,003 bis 27,007 MHz hin und her, wärend ein Funker der (vieleicht unter Schock) kein Wort mehr herausbringt nur einen "Träger" mit 27,005 MHz erzeugt.

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-29 20:26


FSK - frequency shift keying

Bezeichnet eine Übertragunsmöglichkeit mit der man digitale Information übermitteln kann. Es wird dabei direkt die Sendefrequenz zwischen zwei dicht nebeneinanderliegenden Frequenzen hin- und hergeschaltet. Diese zwei Zustände werden für Mark und Space benutzt.

Im CB-Funk nicht üblich. Dazu verwandtes Verfahren: AFSK.

Siehe auch FAQ: AFSK

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-29 20:32


AFSK - audio frequency shift keying

Bezeichnet die einfachste Übertragunsmöglichkeit mit der man digitale Information übermitteln kann. Dazu schaltet man einfach zwischen zwei Tönen (im 1200baud PackedRadio: 1200Hz und 2200Hz) hin und her. Diese Töne werden je für Mark und Space benutzt, aus dem sich die digitale Nachricht zusammen setzt. Diese Töne werden dann, anstatt Sprache über den Mikrofoneingang des Funkgerätes eingespeist. Das Verfahren kann max. soviele baud übertragen, wie die untere Frequenz ist. verwandtes Verfahren: FSK.

Siehe auch FAQ: FSK, Digitaler CB-Funk

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-29 20:34


Anpassung

Eine Antenne muss nach oder während der Montage an den Wellenausgangswiderstand des Funkgerätes angepasst werden. Dieser ist am Funkgerät standardtisiert und beträgt bei der Betriebsfrequenz 50Ohm (nicht mit dem ohmischen Widerstand verwechseln!). Nun muss, damit das Funkgerät effektiv arbeiten kann, die Antenne ebenfalls diesen Wert aufweisen. Tut sie das nicht, so muss dazu bei fast allen Antennen die Strahlerlänge verändert werden. Um die Anpassung zu messen ist das Stehwellenmessgerät ein Muss für den Funker.

P.S.: So genannte SWR-freie Antennen sind nicht empfehlenswert!

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-29 20:37


Bandbreite

Eigenschaft der Antenne. Fähigkeit der Antenne in einem möglichst großen Frequenzbereich im Resonaz zu Sendefrequenz zu sein. Die Bandbreite bezeichnet den Frequenzbereich, in dem die Antenne ein bestimmtes SWR nicht überschreitet -oder- Frequenzbreite eines Funkkanals.

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-29 20:39


Dämpfung

Die Dämpfung ist ein Maß für die Abschwächung einer physikalischen Größe durch einen Widerstand. Im funktechnischen Fall speziell für Abschwächung der Leistung elektromagnetischer Strahlung. Die Einheit ist üblicherweise dB (Dezibel), kann aber auch in Prozent von ... (Leistung, Spannung etc.) angegeben werden. Dann spricht man vom Dämpfungsfaktor. Die Größe der Dämfung ist gerade bei der Auswahl des richtigen Antennenkabels wichtig.

Siehe auch FAQ: db, dBi, dBd

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-29 20:42


Repeater

Ein "Wiederholer" ist ein Gerät, das an einem Funkgerät angeschlossen wird, und alles, was er empfängt wieder aussendet (Wiederholung). Damit kann ein unterkünftig stehender Funker über seinen oberkünftig stehenden "Papagei" doch noch weit funken. Auch im Packed Radio gibt es Repeater, deren Funktionsweise ist ähnlich.

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-29 20:44


Demodulator

Der Demodulator spaltet das Nutzsignal, das im Sender "aufmoduliert" wurde, wieder von der Hochfrequenz ab. Die Demodulation muss mit dem gleichen Verfahren erfolgen, wie die Modulation, ansonsten kommt kein "vernünftiges" Ergebnis heraus.

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-29 20:53


Endstufe

Teil eines Funkgerätes. Verstärkt die Hochfrequenz von der Treiberstufe und erzeugt so das eigentliche Funksignal. Hauptbestandteil sind meist ein oder zwei Leistungstransistoren. Bei einigen Funkgeräten wird erst in der Endstufe das NF-Nutzsignal dazugemischt.

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-29 20:55


Hochfrequenz-Erzeuger

Dieser Baustein erzeugt die Trägerschwingung, die sich nachher, von der Antenne abgestrahlt, durch die Luft ausbreiten soll. Im einfachsten Fall wird es sich bei diesem Oszillator um einen quarzstabilisierten Schwingkreis handeln, der auf der Sendefrequenz schwingt.

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-29 20:57


EIRP / ERP

EIRP ist die Abkürzung von effective isotopic radiated power (äquivalente isotopische Strahlungsleistung). ERP für effective radiated power. Beides sind Maßeinheiten für die von der Antenne abgegebenen Leistung.

EIRP steht für die Leistung, die man bräuchte, um mit einer "isotopische" (ideales Modell) Antenne dieselbe Leistung zu erreichen, wie mit der realen Antenne in ihrer Hauptstrahlrichtung (oder Ebene bei Vertikalantennen) erreicht wird. Folgende Formel gibt den Sachverhalt wieder:

PEIRP = PEIN * GAntenne , bezogen auf einen isotopen Kugelstrahler

ERP ist das gleiche, nur der Gewinn GAntenne bezieht sich auf einen Halbwellendipol:

PERP = PEIRP - 2,16dB

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-29 20:59


Brenner

Slangbezeichnung für einer Power Amplifier oder auch Leistungsverstärker.

Siehe auch FAQ: PA - Power Amplifier

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-29 21:06


Modulator

Der Modulator prägt ein niederfrequentes Signal auf das hochfrequente Signal auf. Er "moduliert" damit die HF. Es gibt verschiedene Modulationsverfahren:

  • FM
  • AM
  • SSB
  • PSK

Sie unterscheiden sich in der physikalischen Größe, die durch das Modulationsverfahren beeinflußt wird, um die Information zu übertragen.
Die Modulationsverfahren sind in der Regel zueinander inkompatibel. D.h. mit einem z.B. FM-Empfänger kann ein AM-Signal zwar emfangen, jedoch nicht verstanden werden. Das Modulationsverfahren bestimmt auch mit die Bandbreite der modulierten Hochfrequenz und die Eigenschaften des übertragenen Signals. Bei der Modulationsart "AM" z.B. ist die Lautstärke abhängig von der Signalstärke des Trägers. Auch der Klang ist etwas "dunkler". Bei FM dagegen ist die Lautstärke unabhängig. Hier ist dafür der Rauschanteil abhängig von der Signalstärke.

Siehe auch FAQ: FM, AM, SSB, PSK, Digitaler CB-Funk

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-29 21:14


Modulation

Beim Modulieren wird ein zu übermitteldes Signal (z.B. Sprache) auf einen Träger aufgelegt. Es wird ein vorher konstantes Trägersignal (z.B. die Funkwelle) damit verändert, so das der Empfänger des Trägers diese Veränderung "erkennt" und so wieder das Signal erhält.
Das Signal ähnelt damit dem Baron Münchhauchen, der auf einer Kanonenkugel (Träger) reitend durch die Lüfte fliegt.
Die wichtigsten Verfahren (Art der Beeiflussung desTrägers) sind: AM, FM und  SSB.

Siehe auch FAQ: FM, AM, SSB

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-29 21:16


SWR - Stehwellenverhältnis

Einheit zur Beurteilung der Güte der Antennenanpassung. Damit die vom Funkgerät erzeugte HF-Energie möglichst ohne Verluste über die Antenne an die Umgebung abgestrahlt werden kann, muss u.a. die Antenne in Resonanz mit der Sendefrequenz stehen. Um diese Anpassung zu messen gib es das SWR-Meter. Angegeben wird das SWR immer in folgender Form: 1 zu x, wobei x Werte zwischen 1 und unendlich annehmen kann. Eine 1 ist der Idealfall und bedeutet, das 100% der Sendeenergie auch abgestahlt wird. Unendlich liegt bei völliger Fehlanpassung vor (Kurzschluss oder durchtrenntes Kabel). Bei zu großem SWR besteht außerdem die Gefahr, das Funkgerät, oder den Brenner zu beschädigen (ab ca. 1 zu 3).
Zur Dimension hier noch eine Formel und ihre Bedeutung:

Prück= [(s-1)/(s+1)]2

Wobei Prück die zum Sender zurücklaufende Leistung in % (0 bis 1) ist und s das SWR (1 bis unendlich). Beispiel: Hat man einen SWR von 3 gemessen, so fließen 25% der Sendeleistung (ein ganzes Watt bei 4Watt Ausgangsleistung) zurück und müssen von der Endstufe in Wärme umgesetzt werden. Das kann zur Überhitzung und damit zur Zerstörung der Endstufe (teuer!) führen.

Siehe auch FAQ: SWR-Meter, Anpassung

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-29 21:24


Skip / Rufname

...ist ein frei gewählter Fantasiename eines CB-Funkers, es gibt keinerlei Regelungen dafür.

Verfasser: Andreas (Admin)
Letzte Änderung: 2021-11-29 21:26