Thursday, May 23, 2013

Menghilangkan Service UI0Detect atau Internet Service Detection

UI0Detect merupakan service atau program yang ada di Windows 7, untuk apanya saya juga kurang tahu, yang pasti program ini sangan mengganggu saya pada saat itu. Entah apa yang sudah saya lakukan sama laptop saya, tiba2 program ini muncul terus menerus setiap menitnya. Dan pada akhirnya program ini berhasil saya ambil gambarnya saat dia muncul. Berikut gambarnya:

Program ini muncul setiap menit, dan sangat mengganggu, kenapa, karena dia mengalihkan fokus kursos pada proses yang sedang saya lakukan. Misalnya, saat saya sedang maen game Football Manager 2011 yang menggunakan layar full, maka aplikasi ini akan me-minimize-nya.

Setelah beberapa hari yang cukup lama saya belum menemukan apa sebenarnya program ini, akhirnya saya mendapatkan juga. Ya, program ini merupakan Internet Service Detection atau UI0Detect.

Dari beberapa sumber yang saya baca program ini bukan merupakan virus atau malware, programm ini merupakan sudah ada dalam instalan Windows 7. Dan ketika ingin menhapusnya, maka tidak akan ada masalah dengan proses windows 7.

Berikut adalah cara untuk menhilangkan aplikasinya:
1. Buka 'Control Panel'
2. Double click "Administrative Services"
3. Double-click "services"
4. Cari 'Internet Service Detection' pada kolom 'Name'
5. Pilih 'Stop'
6. Pilih lagi 'Internet Service Detection'  lalu klik kanan -> Properties
7. Pada 'Startup type', pilih ‘Disable’
8. Click “OK”
Selesai.

Wednesday, May 15, 2013

Custom Password Field Blackberry

Berikut adalah code Custom Password Field Blackberry.
public class PasswordFieldCustom extends Manager {
 
    private final static int DEFAULT_LEFT_MARGIN = 1;
    private final static int DEFAULT_RIGHT_MARGIN = 1;
    private final static int DEFAULT_TOP_MARGIN = 3;
    private final static int DEFAULT_BOTTOM_MARGIN = 1;
       
    private final static int DEFAULT_LEFT_PADDING = 5;
    private final static int DEFAULT_RIGHT_PADDING = 5;
    private final static int DEFAULT_TOP_PADDING = 3;
    private final static int DEFAULT_BOTTOM_PADDING = 3;
       
    private int topMargin = DEFAULT_TOP_MARGIN;
    private int bottomMargin = DEFAULT_BOTTOM_MARGIN;
    private int leftMargin = DEFAULT_LEFT_MARGIN;
    private int rightMargin = DEFAULT_RIGHT_MARGIN;
       
    private int topPadding = DEFAULT_TOP_PADDING;
    private int bottomPadding = DEFAULT_BOTTOM_PADDING;
    private int leftPadding = DEFAULT_LEFT_PADDING;
    private int rightPadding = DEFAULT_RIGHT_PADDING;
       
    private int totalHorizontalEmptySpace = leftMargin + leftPadding + rightPadding + rightMargin;
    private int totalVerticalEmptySpace = topMargin + topPadding + bottomPadding + bottomMargin;
       
    private int minHeight = 21 + totalVerticalEmptySpace;
    private int width;
    private int height = minHeight;
    private int text_colour = 0xFF0000;
    private int border_color = 0x000066;
    private int background_color = 0xFFFF99;
    private String label = "";
    private Font headingFont = getFont().derive(Font.PLAIN, 20);
    private PasswordEditField editField;
      
    public PasswordFieldCustom(){
        super(0);
        this.label = "";
        this.width = Display.getWidth()/2;
        editField = new PasswordEditField();
        add(editField);
    }
      
    public PasswordFieldCustom(int panjang){
        super(0);
        this.label = "";
        this.width = panjang;
        editField = new PasswordEditField();
        add(editField);
    }
    
    public PasswordFieldCustom(long style){
     super(0);
     this.label = "";
     this.width = Display.getWidth()/2;
     editField = new PasswordEditField("", "", 200, style);
        add(editField);
    }
       
    protected void sublayout(int width, int height)
    {
        Field field = getField(0);
        layoutChild(field, this.width - totalHorizontalEmptySpace , this.height - totalVerticalEmptySpace);
        setPositionChild(field, leftMargin+leftPadding, topMargin+topPadding);
        setExtent(this.width, this.height);
    }   
       
    protected void paint(Graphics graphics){   
        graphics.setColor(border_color);
        graphics.drawRoundRect(leftMargin, topMargin, width - (leftMargin+rightMargin), height - (topMargin+bottomMargin), 7, 7);
        graphics.setColor(background_color);
        graphics.fillRoundRect(leftMargin+1, topMargin+1, (width - (leftMargin+rightMargin))-2, (height- (topMargin+bottomMargin))-2, 7, 7);
          
        graphics.setColor(Color.BLACK);
        if(headingFont!=null){
            setFont(headingFont);
            graphics.drawText(label, 2, 10);
        }else{
            graphics.drawText(label, 2, 7);
        }
          
        graphics.setColor(text_colour);
        PasswordEditField ef = (PasswordEditField)getField(0);
        String entireText = ef.getText();
          
        boolean longText = false;
        String textToDraw = "";
        Font font = headingFont;
        int availableWidth = width - totalHorizontalEmptySpace;
        if (font.getAdvance(entireText) <= availableWidth)
        {
            textToDraw = entireText;
        }
        else
        {
            int endIndex = entireText.length();
            for (int beginIndex = 1; beginIndex < endIndex; beginIndex++)
            {
                textToDraw = entireText.substring(beginIndex);
                if (font.getAdvance(textToDraw) <= availableWidth)
                {
                    longText = true;
                    break;
                }
            }
        }
          
        if (longText == true)
        {      
            ef.setText(textToDraw);        
            super.paint(graphics);
            ef.setText(entireText);
        }
        else
        {
            super.paint(graphics);
        }
           
    }
       
    public int getPreferredWidth(){
        return width;
    }
       
    public int getPreferredHeight(){
        return height;
    }
       
    protected boolean keyChar(char ch, int status, int time){      
       if (ch == Characters.ENTER)
       {
            return true;
       }   
       else
       {
            return super.keyChar(ch, status, time);
       }
    }
     
    protected void onUnfocus() {
       super.onUnfocus();
    }
     
    protected void onFocus(int direction) {
       super.onFocus(direction);
    }
    
    protected void drawFocus(Graphics graphics, boolean on) {
       super.drawFocus(graphics, on);
    }
  
    public String getText(){
       return ((PasswordEditField) getField(0)).getText();
    }
           
    public void setText(final String text){
       ((PasswordEditField) getField(0)).setText(text);
    }
}

Sunday, May 12, 2013

Validasi Email di Blackberry

Berikut adalah method untuk mengecek apakah email tersebut valid atau tidak, jika nilainya true maka valid dan sebaliknya.
public boolean isValidEmailAddress(String email) {
   if (email == null || email.length() == 0 || email.indexOf("@") == -1 || email.indexOf(" ") != -1) {
      return false;
   }
   int emailLenght = email.length();
   int atPosition = email.indexOf("@");

   String beforeAt = email.substring(0, atPosition);
   String afterAt = email.substring(atPosition + 1, emailLenght);

   if (beforeAt.length() == 0 || afterAt.length() == 0) {
      return false;
   }
   if (email.charAt(atPosition - 1) == '.') {
      return false;
   }
   if (email.charAt(atPosition + 1) == '.') {
      return false;
   }
   if (afterAt.indexOf(".") == -1) {
      return false;
   }
   char dotCh = 0;
   for (int i = 0; i < afterAt.length(); i++) {
      char ch = afterAt.charAt(i);
      if ((ch == 0x2e) && (ch == dotCh)) {
         return false;
      }
      dotCh = ch;
   }
   if (afterAt.indexOf("@") != -1) {
      return false;
   }

   for (int i = 0; i < afterAt.length(); i++) {
      char ch = afterAt.charAt(i);
      if (!((ch >= 0x30 && ch <= 0x39) || (ch >= 0x41 && ch <= 0x5a) || (ch >= 0x61 && ch <= 0x7a) || (ch == 0x2e) || (ch == 0x2d) || (ch == 0x5f))) {
         return false;
      }
      if ((ch == 0x2e) && (ch == dotCh)) {
         return false;
      }
      dotCh = ch;
   }

   dotCh = 0;
   for (int i = 0; i < beforeAt.length(); i++) {
      char ch = beforeAt.charAt(i);
      if (!((ch >= 0x30 && ch <= 0x39) || (ch >= 0x41 && ch <= 0x5a) || (ch >= 0x61 && ch <= 0x7a) || (ch == 0x2e) || (ch == 0x2d) || (ch == 0x5f))) {
         return false;
      }
      if ((ch == 0x2e) && (ch == dotCh)) {
         return false;
      }
      dotCh = ch;
   }
  
   if(email.startsWith(".")){
      return false;
   }
  
   int lastIndex = email.lastIndexOf('.');
   String lastToken = email.substring(lastIndex + 1);
   if (lastToken.length() >= 2) {
      if (lastToken.length() <= 3){
          //return true;
      }else{
          return false;
      }
   }else{
      return false;
   }
        
   return true;
}

Friday, May 10, 2013

Custom Email Field Blackberry

Custom Email Field ini tidak jauh berbeda dengan Custom Edit Field maupun Custom Number Field yang dah pernah saya tulis, untuk lebih jelasnya saya tuliskan code-nya.

public class EmailFieldCustom extends Manager {
 
    private final static int DEFAULT_LEFT_MARGIN = 1;
    private final static int DEFAULT_RIGHT_MARGIN = 1;
    private final static int DEFAULT_TOP_MARGIN = 3;
    private final static int DEFAULT_BOTTOM_MARGIN = 1;
       
    private final static int DEFAULT_LEFT_PADDING = 5;
    private final static int DEFAULT_RIGHT_PADDING = 5;
    private final static int DEFAULT_TOP_PADDING = 3;
    private final static int DEFAULT_BOTTOM_PADDING = 3;
       
    private int topMargin = DEFAULT_TOP_MARGIN;
    private int bottomMargin = DEFAULT_BOTTOM_MARGIN;
    private int leftMargin = DEFAULT_LEFT_MARGIN;
    private int rightMargin = DEFAULT_RIGHT_MARGIN;
       
    private int topPadding = DEFAULT_TOP_PADDING;
    private int bottomPadding = DEFAULT_BOTTOM_PADDING;
    private int leftPadding = DEFAULT_LEFT_PADDING;
    private int rightPadding = DEFAULT_RIGHT_PADDING;
       
    private int totalHorizontalEmptySpace = leftMargin + leftPadding + rightPadding + rightMargin;
    private int totalVerticalEmptySpace = topMargin + topPadding + bottomPadding + bottomMargin;
       
    private int minHeight = 21 + totalVerticalEmptySpace;
    private int width;
    private int height = minHeight;
    private int text_colour = 0xFF0000;
    private int border_color = 0x000066;
    private int background_color = 0xFFFF99;
    private String label = "";
    private Font headingFont = getFont().derive(Font.PLAIN, 20);
    private EmailAddressEditField editField;
      
    public EmailFieldCustom(){
        super(0);
        this.label = "";
        String initialValue = "";
        this.width = Display.getWidth()/2;
        editField = new EmailAddressEditField(label, initialValue);
        add(editField);
    }
      
    public EmailFieldCustom(int panjang){
        super(0);
        this.label = "";
        String initialValue = "";
        this.width = panjang;
        editField = new EmailAddressEditField(label, initialValue);
        add(editField);
    }

    public EmailFieldCustom(int panjang, long style){
        super(0);
        this.label = "";
        String initialValue = "";
        this.width = panjang;
        editField = new EmailAddressEditField(label, initialValue, 10000, style);
        add(editField);
    }
       
    protected void sublayout(int width, int height)
    {
        Field field = getField(0);
        layoutChild(field, this.width - totalHorizontalEmptySpace , this.height - totalVerticalEmptySpace);
        setPositionChild(field, leftMargin+leftPadding, topMargin+topPadding);
        setExtent(this.width, this.height);
    }   
       
    protected void paint(Graphics graphics){   
        graphics.setColor(border_color);
        graphics.drawRoundRect(leftMargin, topMargin, width - (leftMargin+rightMargin), height - (topMargin+bottomMargin), 7, 7);
        graphics.setColor(background_color);
        graphics.fillRoundRect(leftMargin+1, topMargin+1, (width - (leftMargin+rightMargin))-2, (height- (topMargin+bottomMargin))-2, 7, 7);
          
        graphics.setColor(Color.BLACK);
        if(headingFont!=null){
            setFont(headingFont);
            graphics.drawText(label, 2, 10);
        }else{
            graphics.drawText(label, 2, 7);
        }
          
        graphics.setColor(text_colour);
        EmailAddressEditField ef = (EmailAddressEditField)getField(0);
        String entireText = ef.getText();
          
        boolean longText = false;
        String textToDraw = "";
        Font font = headingFont;
        int availableWidth = width - totalHorizontalEmptySpace;
        if (font.getAdvance(entireText) <= availableWidth)
        {
            textToDraw = entireText;
        }
        else
        {
            int endIndex = entireText.length();
            for (int beginIndex = 1; beginIndex < endIndex; beginIndex++)
            {
                textToDraw = entireText.substring(beginIndex);
                if (font.getAdvance(textToDraw) <= availableWidth)
                {
                    longText = true;
                    break;
                }
            }
        }
          
        if (longText == true)
        {      
            ef.setText(textToDraw);        
            super.paint(graphics);
            ef.setText(entireText);
        }
        else
        {
            super.paint(graphics);
        }
           
    }
       
    public int getPreferredWidth(){
        return width;
    }
       
    public int getPreferredHeight(){
        return height;
    }
       
    protected boolean keyChar(char ch, int status, int time){      
       if (ch == Characters.ENTER)
       {
            return true;
       }   
       else
       {
            return super.keyChar(ch, status, time);
       }
    }
     
    protected void onUnfocus() {
       super.onUnfocus();
    }
     
    protected void onFocus(int direction) {
       super.onFocus(direction);
    }
    
    protected void drawFocus(Graphics graphics, boolean on) {
       super.drawFocus(graphics, on);
    }
  
    public String getText(){
       return ((EmailAddressEditField) getField(0)).getText();
    }
           
    public void setText(final String text){
       ((EmailAddressEditField) getField(0)).setText(text);
    }
}

Custom Number Field Blackberry

Number Field yang di maksud disini adalah field yang hanya menerima inputan berupa angka (0-9). Code-nya sebenarnya hampir sama dengan Custom EditField yang pernah saya tulis, tapi ada beberapa perbedaan.

Berikut code-nya:
import net.rim.device.api.system.Characters;
import net.rim.device.api.system.Display;
import net.rim.device.api.ui.Color;
import net.rim.device.api.ui.Field;
import net.rim.device.api.ui.Font;
import net.rim.device.api.ui.Graphics;
import net.rim.device.api.ui.Manager;
import net.rim.device.api.ui.component.BasicEditField;
  
public class NumberFieldCustom extends Manager {
      
    private final static int DEFAULT_LEFT_MARGIN = 1;
    private final static int DEFAULT_RIGHT_MARGIN = 1;
    private final static int DEFAULT_TOP_MARGIN = 3;
    private final static int DEFAULT_BOTTOM_MARGIN = 1;
       
    private final static int DEFAULT_LEFT_PADDING = 5;
    private final static int DEFAULT_RIGHT_PADDING = 5;
    private final static int DEFAULT_TOP_PADDING = 3;
    private final static int DEFAULT_BOTTOM_PADDING = 3;
       
    private int topMargin = DEFAULT_TOP_MARGIN;
    private int bottomMargin = DEFAULT_BOTTOM_MARGIN;
    private int leftMargin = DEFAULT_LEFT_MARGIN;
    private int rightMargin = DEFAULT_RIGHT_MARGIN;
       
    private int topPadding = DEFAULT_TOP_PADDING;
    private int bottomPadding = DEFAULT_BOTTOM_PADDING;
    private int leftPadding = DEFAULT_LEFT_PADDING;
    private int rightPadding = DEFAULT_RIGHT_PADDING;
       
    private int totalHorizontalEmptySpace = leftMargin + leftPadding + rightPadding + rightMargin;
    private int totalVerticalEmptySpace = topMargin + topPadding + bottomPadding + bottomMargin;
       
    private int minHeight = 21 + totalVerticalEmptySpace;
    private int width;
    private int height = minHeight;
    private int text_colour = 0xFF0000;
    private int border_color = 0x000066;
    private int background_color = 0xFFFF99;
    private String label = "";
    private Font headingFont = getFont().derive(Font.PLAIN, 20);
    private BasicEditField editField;
      
    public NumberFieldCustom (){
        super(0);
        this.label = "";
        this.width = Display.getWidth()/2;
        editField = new BasicEditField(BasicEditField.FILTER_NUMERIC);
        add(editField);
    }
      
    public NumberFieldCustom (int panjang){
        super(0);
        this.label = "";
        this.width = panjang;
        editField = new BasicEditField(BasicEditField.FILTER_NUMERIC);
        add(editField);
    }
       
    protected void sublayout(int width, int height)
    {
        Field field = getField(0);
        layoutChild(field, this.width - totalHorizontalEmptySpace , this.height - totalVerticalEmptySpace);
        setPositionChild(field, leftMargin+leftPadding, topMargin+topPadding);
        setExtent(this.width, this.height);
    }   
       
    protected void paint(Graphics graphics){   
        graphics.setColor(border_color);
        graphics.drawRoundRect(leftMargin, topMargin, width - (leftMargin+rightMargin), height - (topMargin+bottomMargin), 7, 7);
        graphics.setColor(background_color);
        graphics.fillRoundRect(leftMargin+1, topMargin+1, (width - (leftMargin+rightMargin))-2, (height- (topMargin+bottomMargin))-2, 7, 7);
          
        graphics.setColor(Color.BLACK);
        if(headingFont!=null){
            setFont(headingFont);
            graphics.drawText(label, 2, 10);
        }else{
            graphics.drawText(label, 2, 7);
        }
          
        graphics.setColor(text_colour);
        BasicEditField ef = (BasicEditField)getField(0);
        String entireText = ef.getText();
          
        boolean longText = false;
        String textToDraw = "";
        Font font = headingFont;
        int availableWidth = width - totalHorizontalEmptySpace;
        if (font.getAdvance(entireText) <= availableWidth)
        {
            textToDraw = entireText;
        }
        else
        {
            int endIndex = entireText.length();
            for (int beginIndex = 1; beginIndex < endIndex; beginIndex++)
            {
                textToDraw = entireText.substring(beginIndex);
                if (font.getAdvance(textToDraw) <= availableWidth)
                {
                    longText = true;
                    break;
                }
            }
        }
          
        if (longText == true)
        {      
            ef.setText(textToDraw);        
            super.paint(graphics);
            ef.setText(entireText);
        }
        else
        {
            super.paint(graphics);
        }
           
    }
       
    public int getPreferredWidth(){
        return width;
    }
       
    public int getPreferredHeight(){
        return height;
    }
       
    protected boolean keyChar(char ch, int status, int time){      
       if (ch == Characters.ENTER)
       {
            return true;
       }   
       else
       {
            return super.keyChar(ch, status, time);
       }
    }
     
    protected void onUnfocus() {
       super.onUnfocus();
    }
     
    protected void onFocus(int direction) {
       super.onFocus(direction);
    }
    
    protected void drawFocus(Graphics graphics, boolean on) {
       super.drawFocus(graphics, on);
    }
  
    public String getText(){
       return ((BasicEditField) getField(0)).getText();
    }
           
    public void setText(final String text){
       ((BasicEditField)getField(0)).setText(text);
    }
}

Wednesday, May 08, 2013

Custom EditField di Blackberry

EditField di Blackberry secara default di tampilkan dalam bentuk yang sangat kaku (mungkin ini pendapat pribadi saya), ia akan memakai semua width dari resolusi. Sehingga jika kita ingin menambah button di samping EditField maka button tersebut tidak akan tampil. Agar bisa tampil maka perlu untuk melakukan custom terhadap EditField tersebut.
Berikut code Custom EditField.


import net.rim.device.api.system.Characters;
import net.rim.device.api.system.Display;
import net.rim.device.api.ui.Color;
import net.rim.device.api.ui.Field;
import net.rim.device.api.ui.Font;
import net.rim.device.api.ui.Graphics;
import net.rim.device.api.ui.Manager;
import net.rim.device.api.ui.component.EditField;

public class TextFieldCustom extends Manager {
    
    private final static int DEFAULT_LEFT_MARGIN = 1;
    private final static int DEFAULT_RIGHT_MARGIN = 1;
    private final static int DEFAULT_TOP_MARGIN = 3;
    private final static int DEFAULT_BOTTOM_MARGIN = 1;
     
    private final static int DEFAULT_LEFT_PADDING = 5; 
    private final static int DEFAULT_RIGHT_PADDING = 5;
    private final static int DEFAULT_TOP_PADDING = 3; 
    private final static int DEFAULT_BOTTOM_PADDING = 3;
     
    private int topMargin = DEFAULT_TOP_MARGIN;
    private int bottomMargin = DEFAULT_BOTTOM_MARGIN;
    private int leftMargin = DEFAULT_LEFT_MARGIN;
    private int rightMargin = DEFAULT_RIGHT_MARGIN;
     
    private int topPadding = DEFAULT_TOP_PADDING;
    private int bottomPadding = DEFAULT_BOTTOM_PADDING;
    private int leftPadding = DEFAULT_LEFT_PADDING;
    private int rightPadding = DEFAULT_RIGHT_PADDING;
     
    private int totalHorizontalEmptySpace = leftMargin + leftPadding + rightPadding + rightMargin;
    private int totalVerticalEmptySpace = topMargin + topPadding + bottomPadding + bottomMargin;
     
    private int minHeight = 21 + totalVerticalEmptySpace;
    private int width;
    private int height = minHeight;
    private int text_colour = 0xFF0000;
    private int border_color = 0x000066;
    private int background_color = 0xFFFF99;
    private String label = "";
    private Font headingFont = getFont().derive(Font.PLAIN, 20);
    private EditField editField;
    
    public TextFieldCustom(){
        super(0);
        this.label = "";
        this.width = Display.getWidth()/2;
        editField = new EditField();
        add(editField);
    }

    public TextFieldCustom(long style){
        super(0);
        this.label = "";
        this.width = Display.getWidth()/2;
        editField = new EditField(style);
        add(editField);
    }
    
    public TextFieldCustom(int panjang){
        super(0);
        this.label = "";
        this.width = panjang;
        editField = new EditField();
        add(editField);
    }
    
    public TextFieldCustom(int panjang, long style){
        super(0);
        this.label = "";
        this.width = panjang;
        editField = new EditField(style);
        add(editField);
    }
     
    protected void sublayout(int width, int height)
    {
        Field field = getField(0);
        layoutChild(field, this.width - totalHorizontalEmptySpace , this.height - totalVerticalEmptySpace);
        setPositionChild(field, leftMargin+leftPadding, topMargin+topPadding);
        setExtent(this.width, this.height);
    }     
     
    protected void paint(Graphics graphics){     
        graphics.setColor(border_color);
        graphics.drawRoundRect(leftMargin, topMargin, width - (leftMargin+rightMargin), height - (topMargin+bottomMargin), 7, 7);
        graphics.setColor(background_color);
        graphics.fillRoundRect(leftMargin+1, topMargin+1, (width - (leftMargin+rightMargin))-2, (height- (topMargin+bottomMargin))-2, 7, 7);
        
        graphics.setColor(Color.BLACK);
        if(headingFont!=null){
            setFont(headingFont);
            graphics.drawText(label, 2, 10);
        }else{
            graphics.drawText(label, 2, 7);
        }
        
        graphics.setColor(text_colour);
        EditField ef = (EditField)getField(0);
        String entireText = ef.getText();
        
        boolean longText = false;
        String textToDraw = "";
        Font font = headingFont;
        int availableWidth = width - totalHorizontalEmptySpace;
        if (font.getAdvance(entireText) <= availableWidth)
        {
            textToDraw = entireText;
        }
        else
        {
            int endIndex = entireText.length();
            for (int beginIndex = 1; beginIndex < endIndex; beginIndex++)
            {
                textToDraw = entireText.substring(beginIndex);
                if (font.getAdvance(textToDraw) <= availableWidth)
                {
                    longText = true;
                    break;
                }
            }
        }
        
        if (longText == true)
        {        
            ef.setText(textToDraw);          
            super.paint(graphics); 
            ef.setText(entireText);
        }
        else
        {
            super.paint(graphics);
        }
         
    }
     
    public int getPreferredWidth(){
        return width;
    }
     
    public int getPreferredHeight(){
        return height;
    }
     
    protected boolean keyChar(char ch, int status, int time){        
       if (ch == Characters.ENTER)
       {
            return true;
       }     
       else
       {
            return super.keyChar(ch, status, time);
       }
    } 
   
    protected void onUnfocus() {
       super.onUnfocus();
    }
   
    protected void onFocus(int direction) {
       super.onFocus(direction);
    }
  
    protected void drawFocus(Graphics graphics, boolean on) {
       super.drawFocus(graphics, on);
    }

    public String getText(){
       return ((EditField) getField(0)).getText();
    }
         
    public void setText(final String text){
       ((EditField)getField(0)).setText(text);
    }  
}

Sekarang Tambahkan Code berikut di MainScreen untuk menampilkan TextFieldCustom.
   LabelField nama = new LabelField("Nama: ");        
   TextFieldCustom textField = new TextFieldCustom();
   ButtonField namaBtn = new ButtonField("OK");
        
   HorizontalFieldManager hfm = new HorizontalFieldManager();
   hfm.add(nama);
   hfm.add(textField);
   hfm.add(namaBtn);
   add(hfm); 

Outpunya:













Friday, May 03, 2013

Mewarnai Label Field di Blackberry

Berikut adalah beberapa contoh code untuk mewarnai LabelField, mengubah warna background LabelField, dan lain-lain yang di jabarkan di bawah ini.

1. Mengubah warna text









Outputnya:














2. Mengubah warna background dan text Label Field









outputnya:














3. Memberi warna fokus pada LabelField






































outputnya:

















Tuesday, April 30, 2013

Pertama, Membuat Aplikasi Blackberry dengan Java

Catatan ini merupakan yang pertama dari catatan yang akan saya buat tentang pengembangan aplikasi Blackberry.  Pengembangan aplikasi Blackberry yang saya gunakan mengguanakan Java untuk OS Blackberry 4.5, 5, 6, 7, dan 7.1. Catatan pengembangan aplikasi Blackberry sebenarnya di situs resminya, Blackberry Developer sudah sangat lengkap.

Oke, di sini saya akan memberi catatan secara umum, artinya bagaimana kebutuhan, instalasi, dll yang dibutuhkan untuk membangun aplikasi Blackberry akan saya jelaskan pada catatan selanjutnya.

Berikut langkah-langkahnya:

1. Buka Blackberry Java Plug-in for Eclipse.
Blackberry Java Plug-in for Eclipse merupakan aplikasi eclipse yang sudah otomatis terintegrasi dengan plugin blackberry dan sudah terinstal di komputer.
Tentukan folder worskpaces dan pilih.

2. Setelah eclipse terbuka, pastikan Perspective Blackberry Application Development sudah terbuka.


3. Dari menu File, klik New -> Blackbery Project.


4. Ketik Nama Project (HelloBlackberry) yang akan dibuat pada dialog Create a Blackberry Project.


5. Klik Next pada dialog Java Settings.

6. Pada dialog Templates, pilih aja Blackberry Application, lalu klik Next.

7. Pada dialog Application Details, ketik seperti gambar dibawah ini, lalu klik Finish.

8. Buka class MyScreen, lalu masukan kode berikut ini


















9. Jalankan project di simulator, dengan cara klik kanan pada folder project, arahkan ke Run As, lalu klik Blackberry Simulator.


10 Selesai. aplikasi akan nampak seperti gambar berikut.




Friday, July 13, 2012

XML Parsing Error di FM

Saya mengalami maslah parsing error di game fm. kira-kira pesan di windows sperti gambar di bawah ini.



"not well-formed (invalid token) at line 1 of database_location.xml"

Dikira tadinya masalah VGA, ternyata bukan. cara memperbaiki yang udah saya lakukan yaitu.

1. Bukan window Folder Option, dengan cara buka windows explorer, lalu pilih menu Organize, lalu pilih Folder dan Search Option. setelah terbuka pilih tab View, lalu pilih 'Show hidden files and folders'.

2. Masuk ke Direktori ini...

C:\Users\(NamaUserKomputermu)\AppData\Roaming\Sports Interactive\Football Manager 2011

3. delete folder 'settings'

4. selesei.


OS yang saya gunakan: Windows 7.

Saturday, July 07, 2012

Membuat Karakter Secara Random dengan Java

Biasanya dibuat untuk password.... tapi mungkin bisa digunakan untuk hal lain.

Deklarasi Variabel.




Proses hasilnya.



Cara untuk membuat karakter atau password secara random sebenarnya banyak caranya, tidak hanya contoh di atas aja. Jadi, bisa di-explore cara yang lain karena mungkin ada yang lebih simple. Tanya google.. :)



Monday, July 02, 2012

Konfigurasi Java Environment di Windows 7

Komputer belum menginstal Java jika saat mengetik 'java' di command prompt masih seperti gambar di bawah ini. Dan tidak akan bisa menjalankan aplikasi java.


Agar java dikenal di command prompt atau bisa menjalankan aplikasi java di komputer, maka perlu melakukan konfigurasi. Berikut adalah langkah2nya.

1. Install JDK
Silahkan download jdk di link Oracle, Java SE Downloads berikut.Setelah men-download, install dengan mengikuti langkah2nya. Jika sudah berhasil maka folder Java sudah ada di Program Files seperti gambar berikut.


2. Masuk Ke Window Environment Variables.
Untuk masuk ke window tersebut,  klik Start Menu, Klik kanan Computer, Lalu pilih Properties
  

Klik Advanced system settings, 

Maka muncul window System Properties. Lalu klik Environment Variables
Maka muncul seperti gambar berikut




















3. Setting PATH
Setelah Window Environment Variables muncul, arahkan kursor ke baris Path seperti pada gambar. lalu klik button Edit. Pada field Variable value, masukkan direktori bin instalan java di Program Files.
Terlebih dahulu kita lihat direktorinya seperti gambar berikut.

















di dalam 2 folder tersebut, jdk1.7.0_21 dan jre7, terdapat folder bin. Buka folder bin di dalam 2 folder tersebut satu per satu lalu blok dan copy direktorinya seperti contoh gambar di bawah ini.






Lalu paste kedua direktori tersebut ke dalam field Variable value.
Contoh direktori punya saya, C:\Program Files\Java\jdk1.7.0_21\bin;C:\Program Files\Java\jre7\bin;










3. Selesei.
Coba ketik 'java' dan 'javac' (tanpa tanda kutip) pada Command Prompt. Jika responnya tidak seperti gambar paling atas, maka java telah jalan di komputer.


Friday, June 22, 2012

Masuk ke MySQL Menggunakan Command Prompt

1. Buka Command Prompt

2. Arahkan dulu ke drive MySQL di install

3. Arahkan lagi (terus) sampai ke folder bin

4. Tuliskan code ini mysql -u root -p

5. Maka nanti akan muncul Enter Password:, kalo gak pake password MySQL nya, tekan enter aja..

Proses dan hasilnya kira-kira seperti gambar di bawah..

Monday, June 18, 2012

Menghapus Saved Password di Firefox

Dulu, saya pernah coba-coba untuk klik Remember Password saat browser Mozilla memintanya untuk akun gmail saya.









Akhirnya setelah itu, setiap saya membuka akun gmail saya, maka field username dan password saat login sudah terisi dengan otomatis, jadi saya tinggal klik Masuk aja,,,,















Setelah lama kelamaan, saya ternyata merasa khawatir, dan akhirnya pengen saya hapus lagi remember password akun gmail ini, supaya saat saya login ke akun gmail saya, field username dan password tidak terisi secara otomatis lagi.

Berikut cara nya yang sudah saya coba:

1. Buka jendela Options,
caranya: Kalo Browser Mozilla nya ada Menu Bar, maka pilih menu Tools->Options. tapi kalo gak ada (masalah versi browser biasanya), klik Firefox (ada di pojok kiri atas), terus Options->OptionsM.


2. Setelah Options muncul, pilih Security, sperti gambar di bawah...



















3. Klik Button Save Password..., setelah itu akan muncul jendela Saved Password. di situ ada kolom Site dan Password, tinggal diklik aja mana yang ingin dihapus. setelah terpilih, klik button Remove, lalu Ok.


Selesei. Oia yang saya coba itu berlaku buat semua username dan password akun apapun bukan hanya gmail aja di mana saya menulis ini tentang akun gmail saya. Itu hanya satu contoh aja. :D





Wednesday, June 13, 2012

Membuat Status Musik di Yahoo Messenger

Ada temen di YM yang suka mengganti status YM-nya dengan cepat, dan status nya itu merupakan lagu, sepertinya lagu yang sedang dia dengarkan. Akhirnya saya cari-cari tentang itu.

Benar ternyata. dan di sini saya coba tuliskan apa yang sudah saya dapat. intinya tentang cara membuat status sebuah lagu yang sedang kita dengarkan di winamp ke Status Message Yahoo messenger.

Dan kira-kira akan seperti hasil akhirnya.




Dan berikut adalah caranya:

1. YM dan Winamp pastinya harus sudah terinstall dikomputer.

2. Harus sudah ada Plug-in FoxyTunes from Yahoo! Music,
cara lihatnya, pilih Menu Actions->Choose a Plugin. kalo udah ada maka akan terlihat seperti gambar dibawah ini.



















Kalo belum ada maka install dulu plugin nya dengan cara masuk ke situ ini http://messenger.yahoo.com/plugins/view/4001/, Klik aja Tombol Install Now, terus ikutin aja proses instalasi nya sampai FoxyTunes from Yahoo! Music ada di Plug-ins Manager-nya YM seperti gambar di atas.


3. Aktifkan Change My Status di Yahoo Music.
Pilih Menu Messenger->Preferences. lalu Pilih Category Yahoo! Music. dan terakhir pilih Artis name - Song title atau Artis name - Song title - My Song Rating, yang penting tidak memilih Do not change my status (judulnya kan membuat status) lalu OK


Udah deh... :D

Monday, June 11, 2012

Cara Memposting Kode HTML di Blogspot

Saya sedang mencoba memposting code-code html saya di blospot ini, awalnya dengan hanya copy paste doang dari komputer saya ke sini selesei dengan baik,, ternyata tidak. malah code-code itu bekerja layaknya sedang membuat aplikasi. akhir nya saya cari-cari di google, dan menemukan situs tentang itu (klik disini).

banyak cara yang dapatkan sebenarnya dari berbagai situs, tapi saya menggunakan cara yang cepat aja. dan caranya adalah masuk ke web ini, http://centricle.com/tools/html-entities/, lalu copy paste ka code-code html kamu ke dalam kolom Convert text yang ada pada web tadi, setelah itu klik button Encode, maka code-code tersebut akan berubah artinya code tersebut telah berhasil di encode dan siap untuk digunakan di postingan blogspot.



Hanya Angka pada Text Field HTML

Saya sedang mencoba membuat text field yang hanya bisa di input oleh angka (only numerics). berikut code nya...


<script type="text/javascript">
    function digitsOnly(obj){
      obj.value=obj.value.replace(/[^\d]/g,'');
    }
</script>


dan pada text field nya ditambahkan code seperti contoh berikut:


<input name="coba" type="text" onkeyup="digitsOnly(this)" onblur="digitsOnly(this)" >




Line Break pada cell di Excel

Sedang menggunakan excel dan menulis banyak teks di cell. Tiba-tiba saya ingin garis baru, yang biasanya kalo di Word tinggal tekan tombol "Enter" di keyboard. Ternyata gak bisa kalo seperti itu, si kursor bakal langsung ke cell bawah, dan caranya supaya bisa membuat garis baru (Line Break) di cell excel yaitu dengan cara tekan tombol "Alt+Enter".

Contohnya seperti gambar di samping pada kolom H..

Thursday, March 03, 2011

Tulisan Berkedip

Tulisan yang mau sobat buat berkedip

Untuk membuat tulisan berkedip seperti di atas, tinggal tambahin aja tag "blink". :D

berikut contoh code nya:

<blink>Tulisan yang mau sobat buat berkedip</blink>



Monday, February 21, 2011

Membuat Force Download

Please wait.... processing...

Saturday, November 20, 2010

Referensi Untuk Studi Sejenis

1. Pertama

http://lahas.wordpress.com/2010/05/21/daftar-judul-skripsi-informatika-sistem-informasi-teknik-elektro-manajemen-informatika-teknik-komputer-part-i/

result: Gak ada yang berkaitan pada part I, II, III.

Tapi pada part IV saya nemu, ada 2 judul, yaitu: nomor 1286. Sistem Informasi Pengeluaran Surat Online Berbasis Web, dan 1334. Aplikasi Pengarsipan Surat. 

juga pada part V, ada yaitu: 1840. Pembangunan Perangkat Lunak Pengelolaan Surat Masuk /Keluar di Sekertariat Kandatel Tasikmalaya Berbasis Web