import javax.swing.*;

import java.awt.event.*;

// Stand: 19.10.2010

// Die folgende Klasse zur Kapselung einiger statischer Methoden
/*
  String s;
  int erg;
  s = "1234";
    // Abfrage
  if ( basis.IVal(s) ) {
     erg = basis.getIValResult();   // Ergebnis holen
  }
*/

/*  METHODEN:

// DIALOGFENSTER
    public static void Error( String sTitle, String sMessage) {
    public static void Message( String sTitle, String sMessage) {
    public static boolean YesNo( String sTitle, StringsMessage) {
    public static int YesNoEsc( String sTitle, String sMessage) {
    public static int FreeButtons( String sTitle, String sMessage, Buttons []);

    public static boolean OkEsc( String sTitle, String sMessage) {
        // gibt einen Klartext für die Konvertierung aus
    public static String getErrorCode() {
    public static String getInput( String sTitle, String sMessage) {
    public static String getInput( String sTitle, String sMessage, String sInput) {

      // Welche Maustaste wurde gedrückt ?
    public static int getButton(MouseEvent e) {


// UMWANDLUNG STRING ->  int, long, double
    public static boolean IVal(String szText) {
    public static int getIValResult() {
    public static boolean LVal(String szText) {
    public static long getLValResult() {
    public static boolean DVal(String szText) {
    public static double getDValResult() {


// AUSGABE EINER FORMATIERTEN ZAHL
      Parameter nk beschreibt die Nachkommastelle
    public static String DStr(double d, int nk) {
    public static String IStr2(int iZahl) {
    public static String LStr2(long lZahl) {
    public static String Komma2Point(String szZ) {
    public static String Point2Komma(String szZ) {

// MATHEMATIK
    public static double log10(double x) {

// DATEI FUNKTIONEN
    public static String changeFileExt(String szDateiname, String szExt) {
    public static String getFileExt(String szDateiname) {
    public static String getFileNameExt(String szDateiname) {

     // Schneidet die Extension ab
    public static String getFileName(String szDateiname) {
    public static boolean FileExists(String szDateiname) {

    public static void centerScreen(java.awt.Window frame, java.awt.Dimension preset) {

*/

public class CBasis {

    // liefert  /  oder \
    public static String getfileSeparator() {
        java.util.Properties pHash = System.getProperties();
        String sErg = (String) pHash.get("file.separator");  
        return sErg;
    }  // getfileSeparator

    // liefert  :
    public static String getpathSeparator() {
        java.util.Properties pHash = System.getProperties();
        String sErg = (String) pHash.get("path.separator");
        return sErg;
    }  // getpathSeparator

    
    // liefert  \n  bzw. \r\n
    public static String getlineSeparator() {
        java.util.Properties pHash = System.getProperties();
        String sErg = (String) pHash.get("line.separator");
        return sErg;
    }  // getlineSeparator


  	        
    // c:\einstellungen  oder /home
    public static String getuserHome() {
        java.util.Properties pHash = System.getProperties();
        String sErg = (String) pHash.get("user.home");
        return sErg;
    }  // getuserHome
                

    
    public static String getuserName() {
        java.util.Properties pHash = System.getProperties();
        String sErg = (String) pHash.get("user.name");
        return sErg;
    }  // getpathSeparator
                

     // aktuelle Verzeichnis
    public static String getuserDir() {
        java.util.Properties pHash = System.getProperties();
        String sErg = (String) pHash.get("user.dir");
        return sErg;
    }  // getpathSeparator


	public static String IBin8(int i) {
		String s = Integer.toBinaryString(i);
		while (s.length() < 8)
			s = "0" + s;
		return s;
	}

	public static String IDez3(int i) {
		String s = Integer.toString(i);
		while (s.length() < 3)
			s = "0" + s;
		return s;
	}


        public static String getNumber(String sValue) {
          int posi = sValue.indexOf(' ');
          if (posi != -1 )
              return sValue.substring(0,posi);
          else
              return sValue;
        }


        static public int getButton(MouseEvent e) {
        int mode = e.getModifiers();
        if ((mode & e.BUTTON2_MASK) > 0) {
            return 2;
        }
        if ((mode & e.BUTTON3_MASK) > 0) {
            return 3;
        }
        return 1;
    } // getButton


      public static void ErrorBox( String sTitle, String sMessage) {
        JOptionPane.showConfirmDialog(null,sMessage,sTitle,
          JOptionPane.DEFAULT_OPTION,
          JOptionPane.ERROR_MESSAGE);  // Symbol
        /*  Optionen der Schalter:
             DEFAULT_OPTION    Ok
             YES_NO_OPTION
             YES_NO_CANCEL_OPTION
             OK_CANCEL_OPTION
         */
         /*  Symbole:
          ERROR_MESSAGE
          INFORMATION_MESSAGE
          WARNING_MESSAGE
          QUESTION_MESSAGE
          PLAIN_MESSAGE
         */

      } // ErrorBox

        // centerScreen(this, null);
	/**
	 * centerScreen description: Zentriert das Fenster
	 *
	 * @return none
	 * @param java.awt.Window
	 *            frame, java.awt.Dimension preset
	 * @exception none
	 * @version 1.1, 31.01.2006
	 * @author Michael Wilhelm HS Harz, FB AI
	 */
	static public void centerScreen(java.awt.Window frame, java.awt.Dimension preset) {
		java.awt.Dimension screenSize = java.awt.Toolkit.getDefaultToolkit()
				.getScreenSize();
		if (preset == null)
			preset = frame.getSize();
		if (preset.height > screenSize.height)
			preset.height = screenSize.height;
		if (preset.width > screenSize.width)
			preset.width = screenSize.width;
		// set new pos:
		frame.setBounds((screenSize.width - preset.width) >> 1,
				(screenSize.height - preset.height) >> 1, preset.width,
				preset.height);
	} // centerScreen

}
