Computer-Tips:

JavaScript:

- Umrechnung von Zahlensystemen:

Mit den beiden folgenden (in SelfHTML nicht dokumentierten) Javascript-Befehlen kann man komfortabel ins Dezimalsystem bzw. von dort in beliebige Zahlensysteme umrechnen:

parseInt(Ausdruck,Basis)

Dezimalzahl.toString(Basis)
Bei 'parseInt' ist die Angabe der Basis optional. Außerdem wird der Ausdruck nur bis zum ersten nicht mehr interpretierbaren Zeichen abgearbeitet und wenn das erste Zeichen eine 0 ist, wird der Ausdruck als Oktalzahl gedeutet. Beispiele:
parseInt("2434z43")==2434
parseInt("010")==8
parseInt("010",16)==16
parseInt("ff",16)==255
dezimalzahl=15;dezimalzahl.toString(16)=="f"
dezimalzahl=256;dezimalzahl.toString(16)=="100"
dezimalzahl=14;dezimalzahl.toString(2)=="1110"

- Startseite festlegen (nur IE):

<a href="" target="_self" id="sethp" onclick="
document.all.sethp.style.behavior='url(#default#homepage)';
document.all.sethp.setHomePage('http://www.nikis.de');
return false;
">Hier kannst Du Niki's Homepage als Startseite festlegen</a>
- zu Favoriten hinzufügen (nur IE):
<a href="javascript:window.external.AddFavorite
('http://www.nikis.de', 'Niki\'s Homepage');">

- Fenstergröße bestimmen:

Internet Explorer (erst innerhalb von body gültig!):
Höhe: document.body.clientHeight
Breite: document.body.clientWidth

Netscape:
Höhe: window.innerHeight
Breite: window.innerWidth

- Scrollposition bestimmen:

Internet Explorer:
Höhe: document.body.scrollTop
Breite: document.body.scrollLeft

Netscape:
Y-Position: window.pageYOffset
X-Position: window.pageXOffset

- Passwortschutz

Die zu schützende Webseite ist zwar grundsätzlich für jeden abrufbar, allerdings muß der Dateiname, der das Passwort enthält (passwort.htm), bekannt sein.

location.href=prompt("Passwort: ","")+".htm";

Perl:

- lokalen CGI-Server einrichten (Windows)

Um eigene CGI-Skripte vor dem Hochladen auszuprobieren, bietet sich ein lokaler Server zum Testen an. Unter Links für Webmaster findest Du "ActivePerl" und "OmniHTTPd Professional". Einfach installieren, OmniHTTPd starten und den richtigen Perl-Pfad angeben. Anschließend hat man mit localhost Zugriff auf die eigene Festplatte und kann die .cgi- und .pl-Dateien ausprobieren.

- in Kleinbuchstaben verwandeln

$variable=~tr/[A-Z]/[a-z]/;
oder
lc $variable;

- Cookie lesen / erstellen / löschen

# Cookies sind getrennt mit Semikolon und Space.
sub get_cookies
{my @rawCookies = split (/; /,$ENV{'HTTP_COOKIE'});
my %COOKIES;
foreach (@rawCookies)
   {($key, $val) = split (/=/,$_);
    $COOKIES{$key} = $val;}
return %COOKIES;}

# Aufruf mit &set_cookie (Name, Wert, Verfallsdatum in GMT, Pfad, Domain, Secureflag (0/1))
sub set_cookie
{print "Set-Cookie: $_[0] =$_[1];";
if ($_[3]) {print " path=$_[3];";}
if ($_[2]) {print " expires=$_[2]";}
if ($_[4]) {print " domain=$_[4];";}
if ($_[5] == 1) {print " secure";}
print "\n";}

# Aufruf mit &delete_cookie (Name)
sub delete_cookie
{print "Set-Cookie: $_[0=NULL expires=Monday, 01-Jan-1996 00:00:00 GMT\n";}

- E-Mail versenden (sendmail)

Die E-Mail-Adressen können entweder vorher in einer Variablen gespeichert (siehe To: ) oder direkt angegeben (siehe From:) werden.
zu beachten: Sonderzeichen müssen hinter \ stehen, z.B. \@

$email="niki\@nikis.de";
open(MAIL, "|/usr/sbin/sendmail -t") || die ("Mail konnte nicht gesendet werden!");
print MAIL "To: $email\n";}
print MAIL "From: webmaster\@nikis.de\n";
print MAIL "Subject: Hier steht der Betreff\n\n";
print MAIL "Hier steht der E-Mail Text\n\n";
close (MAIL);

- HTML-E-Mail bzw. Mail mit Anhang (attachment) versenden

folgenden Variablen müssen vor dem Skript Werte zugewiesen werden:
$datei: Dateiname der anzuhängenden Datei
$dateiname: Dateiname der ankommenden Datei
$from: E-Mail-Adresse des Absenders
$fromname: Name des Absenders
$to: E-Mail-Adresse des Empfängers

Im Beispiel wurde der Content-type image/jpeg verwendet, es gibt aber noch viele andere, z.B.:
image/gif
image/bmp
image/png
application/zip
application/pdf (Adobe Acrobat)
application/octet-stream (binäre Dateien: .com, .exe)
application/excel (.xls)
application/word (.doc)
audio/x-wav
audio/x-midi
video/mpeg

Um mehrere Objekte mitzuschicken, muß jeweils eine andere Content-ID (cid:) verwendet werden und natürlich andere Datei-/Variablennamen.

#!/usr/bin/perl

use MIME::Base64;

open (F, "<$datei");
binmode F;
undef $/;
$encoded=encode_base64(<F>);
close F;
$from =~ s/@/\@/g;
$to =~ s/@/\@/g;
$zeit=time();
$text="<html><body>Hier steht der HTML-E-Mail-Text und z.B. ein JPG-Image: <img src=\"cid:$zeit$tmail\"></body></html>";
$Betreff = "E-Mail-Betreff";
$BOUNDARY = "--";
open(MAIL, "|/usr/sbin/sendmail") || die ("Could not send out email");
print MAIL "From: $fromname <$from>\n";
print MAIL "To: $to\n";
print MAIL "Subject: $Betreff\n";
print MAIL "X-CGIScript: Niki (http://www.nikis.de)\n";
print MAIL "MIME-Version: 1.0\n";
print MAIL "Content-type: multipart/related;\n\tboundary=$BOUNDARY\n";
print MAIL "\n";
print MAIL "\n--$BOUNDARY\n";
print MAIL "Content-type: text/html; charset=Windows-1252\n";
print MAIL "\n";
print MAIL "$text\n";
print MAIL "\n--$BOUNDARY\n";
print MAIL "Content-Disposition: attachment; filename=\"$dateiname\"\n";
print MAIL "Content-type: image/jpeg;\tname=\"$dateiname\"\n";
print MAIL "Content-Transfer-Encoding: base64\n";
print MAIL "Content-ID: <$zeit$to>\n";
print MAIL "\n";
print MAIL $encoded;
print MAIL "\n--$BOUNDARY--\n";
close (MAIL);

XHTML:

XHTML ist eine Variante von XML und unterstützt alle HTML 4.01 Spezifikationen
1. Kleinschreibung aller Tags
2. Alle Tags müssen geschlossen werden
3. Für sich stehende (leere Tags) müssen geschlossen werden (z.B. <br />)
4. Werte stehen in Anführungszeichen

Windows allgemein:

- Dualboot-System mit Windows 98 und 2000 einrichten

Auf der Festplatte mindestens zwei Partitionen einrichten. Die Windows 98-Partition muß mit Fat32 formatiert sein. Die Windows 2000-Partition kann entweder mit NTFS oder Fat32 formatiert werden, allerdings kann Windows 98 auf NTFS-Partitionen nicht zugreifen. Zuerst Windows 98 installieren, danach Windows 2000. Windows 2000 kann jederzeit neu drüberinstalliert werden. Wenn Windows 98 neu installiert werden muß, dann mit dem Aufruf "setup /ir". Das verhindert das Überschreiben des Master Boot Record auf der Festplatte und damit den Verlust des Bootmenüs.

- eigenes Logo\Text in Systemsteuerung, System, Allgemein

in '\windows\system' bzw. '\winnt\system' folgende Dateien anlegen:
'oemlogo.bmp' (beliebiges bmp-Bild)
'oeminfo.ini' mit folgendem Inhalt:
[general]
Manufacturer=My Company Corp.
Model=PC for Professional only!
[Support Information]
Line1=a
Line2=b
Line3=c
Line4=d
Line5=e
Line6=f

- Ausblenden der Warnhinweise beim Anzeigen eines Systemverzeichnisses

Bestimmte Ordner haben eine angepaßte Version der versteckten Datei 'folder.htt', so auch das Windows-Verzeichnis. Hier ist ein JavaScript eingebaut, welches die Warnung anzeigt. Um das Problem zu lösen, muß im entsprechenden Verzeichnis die (versteckte) folder.htt gelöscht, und durch die im '\windows\web' bzw. '\winnt\web' Verzeichnis enthaltene, gleichnamige Datei ersetzt werden.

- .bmp-Dateien als Icons verwenden

.bmp-Dateien (möglichst klein) können einfach in .ico-Dateien umbenannt und dann als Icon-Dateien verwendet werden

Windows 2000:

- Anzeige des Startlogos verhindern

In der versteckten Systemdatei "boot.ini" auf der primären Festplattenpartition im Bereich [operating systems] hinter die entprechende Zeile diesen Parameter einfügen: "/noguiboot", also z.B.
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINNT="Microsoft Windows 2000 Professional" /fastdetect /noguiboot

- Ruhezustand aktivieren

Dieses neue Feature läßt sich über Systemsteuerung, Energieoptionen, Ruhezustand aktivieren. Funktioniert bei mir einwandfrei; lediglich die Hauppauge WinTV funktioniert nur nach "normalem" Bootvorgang.

- Nero Burning Rom

Nero läuft ab der Version 4.0.8.3 auch unter Windows 2000. Sollte das Programm dennoch nicht starten, bitte die Datei "wnaspi32.dll" im Nero-Verzeichnis löschen.

- CD-ROM-Laufwerksbuchstaben ändern

Systemsteuerung, Verwaltung, Computerverwaltung, Datenträgerverwaltung, mit rechts auf das Laufwerk klicken und den Laufwerksbuchstaben ändern ...

- Teac CD-R55S (Lämpchen)

Der Fehler des dauernd brennenden Lämpchens beim Teac CD-R55S unter Windows 2000 läßt sich durch ein Firmwareupdate beheben:
Updater

Windows 98:

- msdos.sys

- zur Unterdrückung des Windows Startup Logos in "msdos.sys" unter [options] den Eintrag "Logo=0" einfügen
- zur Unterdrückung der 2 Sekunden Verzögerung (Windows 9x wird gestartet ..., F8) beim Bootvorgang in "msdos.sys" unter [options] "BootMenuDelay=0" eintragen
- zur sofortigen Ausführung von ScanDisk ohne Tastendruck beim Booten nach unvollständigem Herunterfahren in "msdos.sys" unter [options] "autoscan=1" einfügen
- Laden von Drivespace- bzw. Doublespacetreiberdateien verhindern mit "DRVSpace=0" bzw. "DBLSpace=0" in "msdos.sys" unter [options]
- keine Logdatei erstellen: "DisableLog=1" ebenfalls in "msdos.sys" unter [options]

- suhdlog.dat

Bei der Installation über eine alte Dos/Windows 3.x Version legt Windows 9x die Datei SUHDLOG.DAT ins Hauptverzeichnis. Diese Datei ist eine Sicherung des alten Bootsektors und Systemdateien ('config.sys', 'autoexec.bat'). Man benötigt sie wirklich nur, wenn man Windows 9x wieder deinstallieren will. Man kann sie also nach der Installation wieder löschen.

- winstart.bat

Falls nicht existent, 'winstart.bat' in 'c:\windows' mit Inhalt '@echo off' anlegen zum schnelleren Booten.

- Windows beenden über Desktopverknüpfung

Verknüpfung mit 'c:\windows\rundll32.exe user,ExitWindows Exec' und dem Namen 'Windows beenden ...' auf dem Desktop erstellen

- direkte Anwahl einer Systemsteuerungsoption über eine Desktopverknüpfung

Auf Desktop Verknüpfung erstellen mit: 'c:\windows\control.exe *.cpl,,n'; wobei *.cpl alle cpl-Dateien im '\windows\system'-Verzeichnis sein können und n die Nummer der zu öffnenden Karteikarte ist, also z.B. 'c:\windows\control.exe sysdm.cpl,System,1' für Gerätemanager.

- weitere Startoptionen einstellen mit 'msconfig'

Ausführen, 'msconfig'

Internet Explorer:

- Falsche Fenstergröße beim Öffnen korrigieren

Sollte der IE5 beim Öffnen eines neuen Fenster sich bei der Fenstergröße nicht an dem Standard orientieren (Vorgabe des letzten Fensters beim Schließen), kann man den Fehler beheben, indem man unter HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main den Eintrag Window_Placement löscht.

Outlook Express:

- Speicherordner für Outlook Express festlegen

Extras, Optionen, Wartung, Speicherordner
So kann z.B. gleichzeitig für Win98 und Win2000 die gleiche Datenbank genutzt werden.

ICQ 2000:

- "ICQ SMS"-Button entfernen

Den gesamten Inhalt der Datei "partner.xml" im "ICQ/Partner"-Ordner löschen und die leere Datei unter gleichem Namen speichern. Die Attribute dieser Datei und des "ICQ/Partner"-Ordners auf "schreibgeschützt" ändern und ICQ neu starten.

Sonstige Tips:

- gemeinsamer IRQ des AGP- und des ersten PCI-Slots

Der AGP-Slot und der erste (darunterliegende) PCI-Slot teilen sich immer einen IRQ, bei jedem Board. Wer also zum Beispiel das bekannte Problem hat, daß sich Grafikkarte und Netzwerkkarte denselben IRQ "schnappen", sollte erst einmal nachsehen ob die Netzwerkkarte nicht im ersten PCI Slot steckt. Diesen sollte man nach Möglichkeit sowieso nicht bestücken, vor allem wenn Grafikarten mit TV-Out eingesetzt werden.

- Modifikation des MS-DOS-'dir'-Befehls

In 'autoexec.bat' einen der folgenden Einträge hinzufügen:
"SET DIRCMD=/ogn" für alphabetisch sortierte Verzeichnislisten
"SET DIRCMD=/p" für seitenweise Anzeige
"SET DIRCMD=/p/ogn" für seitenweise Anzeige alphabetisch sortierter Verzeichnislisten