Eigene Schriftart auf Homepage einbinden

Im folgenden Beispiel möchte ich zeigen wie eine eigene Schriftart in einer HTML-Datei eingebunden werden kann. Verwendet habe ich hierzu die Schriftart Waltograph. Das Resultat kann hier angesehen werden: Beispiel HTML-Datei mit eigenem Fonts.
Funktion wurde unter folgende Browsern getestet .

Browser: Ergebnis:
Firefox 3.6.12 funktionsfähig
Internet Explorer 8 Nicht funktionsfähig
Opera 10.10 funktionsfähig
Google Chrome 7.0.517.44 funktionsfähig

Code der CSS-Datei:

/* CSS Document */
@font-face {
  	font-family: "Waltograph";
  	src: url(waltograph42.otf) format("opentype");
}
body {
   padding:0;
   margin:0;
   text-align:center;
   font-family:Verdana, Arial, Helvetica;
   color:#666666;
   font-size:15px;
}
.meinFonts {
   padding:0;
   margin:0;
   text-align:center;
   font-family:'Waltograph',Verdana, Arial, Helvetica;
   color:#FF0000;
   font-size:30px;
}

Code der HTML-Datei:

<html>
  <head>
    <title>Hello HTML</title>
    <link rel="stylesheet" type="text/css" href="eigener_font.css">
  </head>
  <body>
    <div class="meinFonts">Da steh ich nun, ich armer Tor! und bin so klug als wie zuvor;</div>
    <p>heiße Magister, heiße Doktor gar, und ziehe schon an die zehen Jahr herauf,</p>
 
    <p>herab und quer und krumm meine Schüler an der Nase herum – </p>
    <p>und sehe, dass wir nichts wissen können!</p>
    <div class="meinFonts">Das will mir schier das Herz verbrennen!“</div>
  </body>
</html>

Hier noch die einzelnen Dateien zum Download:
Der verwendete Fonts: Waltograph
Lizenz des Fonts: Waltograph License
CSS-Datei: CSS
HTML-Seite: Beispiel HTML-Datei

Domain transfer Netbeat

Hier mein kleiner Erfahrungbericht zu meinem Domain transfer von Netbeat zu inwx.de. Transferiert habe ich eine .de Domain.

29.11.2010
Anfrage zum Umzug an Netbeat gefaxt (0941/5865192), mit Anforderung des Auth Code. Verwendetes Formular: http://www.netbeat.de/pdf/AuthCode.pdf

3.12.2010
Email von Vautron RZ AG - Domainsupport erhalten mit dem Authcode.

3.12.2010
Authcode bei inwx eingegeben und Domain war ein paar Minuten später zu inwx transferiert.

Alles in allem hat der Domaintransfer sehr gut geklappt. Es gab keinerlei Problem und die 5 Tage finde ich absolut akzeptabel. Ich war ein bisschen verwundert, dass die email mit dem Authcode nicht von Netbeat, sondern von Vautron RZ AG kam, aber seis drum.
Das es Probleme beim Umzug einer Domain von Netbeat (wie auf einigen Internetseiten steht) gibt, kann ich absolut nicht bestätigen. Einfach ein Fax an die richtige Nummer schicken und fertig. Einfacher gehts eigentlich nicht!

Update:
Da ich mir nicht ganz sicher war ob damit auch meine Vertrag gekündigt ist oder nur meine Domain umgezogen ist habe ich diesbezüglich noch ein email an den support von netbeat geschrieben. Email hab ich am 4. Dezember geschrieben. Antwort kam von Netbeat am 6.Dezember:

Sehr geehrter XXX,
mit dem Umzug ist auch der Vertrag gekündigt, Sie müssen nichts mehr uns
zusenden.
.....

Ich muss echt sagen, dass alles super geklappt hat. Lob an Netbeat 😉

„Zellen einfügen“ und „Zellen löschen“ aus Kontextmenü entfernen

Folgende VBA Funktion entfernt in Excel die Anzeige der „Zellen einfügen“ und „Zellen löschen“ Option aus dem Kontextmenü. Getestet in Excel 2007 und Excel 2003.

Sub entfernen()
   '"Zelle Einfügen" im Zellen-Bereich entfernen
   Application.CommandBars("Cell").Controls(5).Visible = False
   '"Zelle Löschen" im Zellen-Bereich entfernen
   Application.CommandBars("Cell").Controls(6).Visible = False
   '"Zelle Einfügen" im Heading-Bereich entfernen
   Application.CommandBars("Row").Controls(5).Visible = False
   '"Zelle Löschen" im Heading-Bereich entfernen
   Application.CommandBars("Row").Controls(6).Visible = False
End Sub

Der Eintrag wird hierbei nicht gelöscht, sondern nur auf invisible gesetzt. Zum Löschen kann der Befehl nach folgendem Schema umgeschrieben werden:

Application.CommandBars("Cell").Controls(6).Delete

Zum Widerherstellen der Kontextmenüs kann folgende vba-Funktion verwendet werden:

Sub reset_commandbars()
   Application.CommandBars("Row").Reset
   Application.CommandBars("Cell").Reset
End Sub

vorher: nachher:

Remote Shutdown unter Windows 7 / Vista mit UAC

Folgende Anleitung beschreibt wie unter Windows 7 / Vista ein PC per Remote heruntergefahren werden kann. Verwendet wird hierzu shutdown.exe und net use.

Einrichten des Remote PC
Bei aktiviertem UAC muss unter Windows7/Vista in der Registry unter HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\system folgender Eintrag hinzugefügt werden:

Durch diesen Eintrag werden die Rechte des lokalen Admins auf das Netzwerk „durchgereicht“.
Der Eintrag kann auch in einer Eingabeaufforderung (mit Administratorrechten) durch folgenden Befehl hinzugefügt werden:

reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\system /v LocalAccountTokenFilterPolicy /t REG_DWORD /d 1 /f

Verbindung zum Remote PC mit net use herstellen
Verbindung wird zum Remote PC über net use hergestellt. Der Benutzer sollte Adminrechte auf dem Remote PC besitzen.

net use \\Rechnername /user:Michael

Shutdown des Remote PC
Folgender Befehl fährt den Remote PC herunter:

shutdown /s /m \\Rechnername

Falls beim Ausführen dieses Befehls die Meldung Remote Zugriff verweigert(5) kommen sollte, fehlt der nötige Eintrag in der Registry. Dann bitte nochmal den Eintrag wie oben beschrieben in der Registry überpüfen…

shutdown.bat
Mit folgender Batchdatei kann der PC dann automatisch heruntergefahren werden (shutdown.bat):

net use \\Rechnername "/user:Michael Knight"
shutdown.exe /s /m  \\Rechnername /t 60 /c "Rechner wird durch einen Remote-Befehl heruntergefahren"

Full Screen Black

Das Javaprogramm “ Full Screen Black“ erzeugt einen schwarzen Bildschirm im Vollbildmodus. Durch Doppelklicken der „FullScreenBlack_v1.0.jar“-Datei kann es ausgeführt werden, vorrausgesetzt eine JRE ist installiert.

Das Programm kann hier heruntergeladen werden:
FullScreenBlack_v1.0 (executable .jar file)

Funktion (“ Full Screen Black“ ):
Das Programm erzeugt einen JFrame in der Größe der akuellen Bilschirmauflösung. Der Frame wird in den Vordergrund gesetzt. Durch Drücken der Esc-Taste kann das Programm wieder beendet werden.

Javacode des Programms:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
import java.awt.Color;
import java.awt.Toolkit;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import javax.swing.JFrame;
 
public class BlackScreen {
	public static void main(String[] args) {
		JFrame frame = new JFrame();
		//Set JFrame size to full screen size follow current screen size
		frame.setSize(Toolkit.getDefaultToolkit().getScreenSize().width,Toolkit.getDefaultToolkit().getScreenSize().height);
		frame.getContentPane().setBackground(Color.BLACK);
		frame.setUndecorated(true);
		frame.setAlwaysOnTop(true);
 
		KeyListener kl=new KeyAdapter(){
		  public void keyPressed(KeyEvent evt){
		   //If someone click Esc key, this program will exit
			  if(evt.getKeyCode()==KeyEvent.VK_ESCAPE){
				  System.exit(0);
			  }
		  }
		};
		//add Key Listener to JFrame
		frame.addKeyListener(kl);		
		frame.setVisible(true);
	}
}

Javascript onEnter() – Function

Folgendes Beispiel zeigt wie eine Javascript Function zum submitten eines Forms durch Drücken der Entertaste verwendet werden kann:
onenter

Beschreibung:
Da es in Javascript keine Event-Handler für onEnter()-events gibt möchte ich hier eine einfache Möglichkeit mittels einer Javascript Function vorstellen.
Zunächst muss die Function im Header-Bereich erstellt werden, „code==13“ steht hier für das Drücken der Entertaste. „myform“ ist der Name des Forms das abgeschickt werden soll.

<script type="text/javascript">
   function onEnter(event)
   {     
      var code = 0;
      code = event.keyCode;
      if (code==13)
         document.myform.submit();
    }
</script>

Mittels folgendem Befehl kann die Funktion über ein input Feld aufgerufen werden. Sobald der Benutzer Enter drückt, wird die onEnter-Function aufgerufen und das Form abgeschickt.

<form name="myform" action="onenter.php" method="post"> 
   <input type="text" name="Inputwert" size="10" maxlength="100" onKeyPress="onEnter(event)" ></input>
</form>

Folgender Code zeigt das komplette Beispiel der onEnter Funktion in php:

<html>
  <head>
    <title>On Enter Beispiel</title>
 
    <script type="text/javascript">
	function onEnter(event)
	{     
	   var code = 0;
	   code = event.keyCode;
	   if (code==13)
	      document.myform.submit();
	}
    </script>	
  </head>
  <body>
	Welchen Wert möchstest du übergeben?? 
	<form name="myform" action="onenter.php" method="post"> 
		<input type="text" name="Inputwert" size="10" maxlength="100" onKeyPress="onEnter(event)" ></input>
	</form>
 
	(drücke enter)
	<br/>
	<br/>
	Du hast folgenden Wert übergeben: <?php echo $_POST["Inputwert"];?>
  </body>
</html>

Reconnect FritzBox – Java Programm mit Quellcode

Zum Thema Reconnect und Beziehen einer neuen IP gibt es im Internet eine relativ große Anzahl von Lösungen. Auf gulli gibt es bereits fertige Implentierung zum herunterladen. Was mich an diesen Implementierungen ein wenig stört gestört hat ist, dass der Quellcode bei diesen .exe Dateien meistens nicht zur Verfügung gestellt wird. Kleine .exe Dateien erwecken bei mir nicht gerade einen „seriösen“ Eindruckt.

Deshalb möchte ich hier nun meinen Beitrag zum Thema reconnect leisten. Meine Implentierung ist ein kleines Java Programm, das den reconnect bei einer Fritz!Box automatisch durchführt. Damit das Programm funktioniert muss auf der FritzBox UPNP aktiviert sein.
Wie in den meisten anderen Implementierungen sendet auch mein Programm eine sogenannte XML-SOAP message an die FritzBox.

<?xml version="1.0" encoding="utf-8"?>
<s:Envelope s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Body>
<u:ForceTermination xmlns:u="urn:schemas-upnp-org:service:WANIPConnection:1" />
</s:Body>
</s:Envelope>

Diese SOAP Message bewirkt, dass die Fritz!Box ihre Internetverbindung terminiert und einen reconnect durchführt. Der Router erhält somit eine neue IP-Adresse. Den Quellcode möchte ich hier nicht im Einzelnen erklären. Wer sich ein wenig mit Java auskennt sollte eigentlich keine größeren Verständnisprobleme haben. Um es ausführen zu können sollte auf dem Rechner natürlich eine JRE installiert sein.

Eine ausführbare .jar Datei (einfach doppelklicken), sowie die Quellcode Datei können hier heruntergeladen werden:

ReconnectFritz (executable .jar file)
ReconnectFritz (Java Source file)

Die Datei kann kann dann beispielsweise in JDownloader eingebunden werden:

Quellcode des Java-FritzBox-Reconnect Programms:

import java.net.*;
import java.io.*;
 
public class PostSOAP {
 
  public static void main(String[] args) {
 
    sendSOAP();
    System.exit(0);
 
  }
 
  public static void sendSOAP(){
	  try {
	      String xmldata = "<?xml version=\"1.0\" encoding=\"utf-8\"?>"+
	      "<s:Envelope s:encodingStyle=\"http://schemas.xmlsoap.org/soap/encoding/\" xmlns:s=\"http://schemas.xmlsoap.org/soap/envelope/\">"+
	      "<s:Body>"+
	      "<u:ForceTermination xmlns:u=\"urn:schemas-upnp-org:service:WANIPConnection:1\" />"+
	      "</s:Body>"+
	      "</s:Envelope>";
 
 
	      //Create socket
	      String hostname = "fritz.box";
	      int port = 49000;
	      InetAddress  addr = InetAddress.getByName(hostname);
	      Socket sock = new Socket(addr, port);
 
	      //Send header
	      BufferedWriter  wr = new BufferedWriter(new OutputStreamWriter(sock.getOutputStream(),"UTF-8"));
	      wr.write("POST /upnp/control/WANIPConn1 HTTP/1.1");
	      wr.write("Host: fritz.box:49000" + "\r\n");
	      wr.write("SOAPACTION: \"urn:schemas-upnp-org:service:WANIPConnection:1#ForceTermination\""+"\r\n");
	      wr.write("Content-Type: text/xml; charset=\"utf-8\""+"\r\n");
	      wr.write("Content-Length: " + xmldata.length() + "\r\n");
	      wr.write("\r\n");
 
	      //Send data
	      wr.write(xmldata);
	      wr.flush();
 
	    } catch (Exception e) {
	      e.printStackTrace();
	    }
  }
}