Thông báo

Collapse
No announcement yet.

Lập trình giao tiếp Máy Tính Bằng Ngôn Ngữ JAVA

Collapse
X
 
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • Lập trình giao tiếp Máy Tính Bằng Ngôn Ngữ JAVA

    Chào các bác sau khi thử vài cái ngôn ngữ lập trình ghép nối.em kết luận trong số tất cả các ngôn ngữ lập trình thì chỉ có cái thằng JAVA này là thằng có nhiều Ưu điểm nhất.VB VC++ thua xa nó còn C++ và C thì chưa biết và chưa thử nên không kết luận được gì.

    --------thứ nhất JAVA nó chạy không phụ thuộc hệ điều hành (viết một lần chạy khắp nơi -- theo Phương Châm Write One Run Any Where của cái dự án green)

    ---------thứ 2 nó có thể có các hàm tạo trễ đến nS hơn hẳn thằng VB vì thằng VB chỉ tạo trễ đến mS trong việc gây trễ để tạo xung trễ

    --------- Thứ 3 nó được rất nhiều các đàn anh như SUN IBM Microsoft v..v.. cung cấp và support các thư viện để làm việc với phần cưng

    ---------ket luận JAVA có thể rất hữu hiệu để làm việc giao tiếp phần cứng bằng máy tính. nó là ngôn ngữ để lập trình cho Điện Thoại đi động , có thể hỗ trợ RS232 LPT ,USB ,bluetooth ,wireless v v.. rất nhiều thứ
    vậy nên sử dụng Java là đẳng cấp và nó thực sự có sức mạnh hơn những thằng khác để lập trình ghép nối phần cứng

    mai post tiếp hôm nay phải đi làm kiếm cơm đã
    giao tiếp RS232 các bác xem cái bài về java RS232 em viết trong cái luồng
    lập trình RS232 trên linux nhé
    http://dientuvietnam.net/forums/showthread.php?t=10921
    mai sẽ post cái bài về ghép nối USB ...
    Các bác ủng hộ em vụ này nhé Thanks
    Bác nào có kinh nghiệm rồi thì vào đây ủng hộ cho em nhé

  • #2
    Em chao các bác chắc lâu lắm em mới có thời gian để post tiếp tại bận đi làm quá.
    cái vấn đề giao tiep phần cứng USB của máy tính bằng ngôn ngữ java này không khó vì java đã được SUN xây dựng cho gói javax.usb cái này là một gói đặc biệt mà máy ảo không có vì vậy khi dùng nó các bác phải đi download nó về mà xài nhé. về đặc tả của cái gói này được nói rất rõ trong tài liệu JSR80 của SUN.Các bác coi trong cái file đính kèm em gửi nhé.
    các bác chỉ cầm cấu hình được cái gói này với JDK để cho chúng ta có thể biên dịch và chạy được cái thư viện này với JVM
    hiện tại ngoài SUN cung cấp thư viện JSR80 ra thì chúng ta còn một thư viện nữa của hãng thứ 3 cho phép lập trình JAVA với USB đó là thư viện JUSB cái này hình như được xây dựng từ C++ thì phải.
    các bác thích thì dùng vì nó cũng như là cái gói JAVAX.USB ấy mà.lát nữa em POST luôn 2 cái gói lên bác nào thích cái nào thì xài cái đó.
    nói qua về hai cái này nhé cái JUSB.jar là thư viện lập trình USB của nhà cung cấp thứ 3 nó bị em đóng gói cho thành cái file JAR để dẽ sử dụng
    cái này dùng kèm với Jusb.dll
    cài đặt gói Jusb jar: giai nen cai file ZIP download về vào một cái thư mục
    -Copy jusb.dll vào thư mục windows
    -copy Jusb,jar vào cái Jre\lib\ext của JDK
    đặt đường dẫn CLASSPATH chỉ đến cái file JUSB.JAR thế là xong các bác có thể tha hồ lập trình dùng JDk
    (nếu bác nào dùng Tool phát triển thì copy cái Jusb.jar vào Jre là OK nhớ cái gì thêm vào cũng phải có CLASSPATH thì nó mới hiểu chắc không nói ai xung biết) thực ra cái Jusb.jar là cái thư viện bị em đóng gói lại để các bác dùng cho dễ trong này có rất nhiều hàm và lớp để làm việc với cái USB.
    tiếp theo nếu các bác không thích thằng JUSB thì các bác dùng đặc tả JSR80 của SUN cũng được cái này do SUN xây dựng các bác thích cái nào thì dùng cái đấy tài liệu JSR80 trên mạng có rất nhiều vào Google seach mọt lúc có cả đống
    các bác tự tích hợp lấy JSR80 vào JDK để có cái thư viện JAVAX.USB mà dùng nhé đây là một đoạn code dể các bác thử khi đã tích hợp xong gói JUSB còn JSR80 em chưa thử các bác tự code lấy với jsr80 nhé đây là một ví dụ làm việc với gói JUSB các bác copy cái code này vào file jusbtest.java mà dich nhé còn dich và chạy như nào thì không phải hỏi ai cũng biết.nếu không được thì post lên em sẽ support. cái chương trình này sẽ SCAN hết các thiết bị USB cắm vào máy tính của bạn OK bye bye các bác em buồn ngủ quá mai còn phải đi làm. bác nào thấy hay thì giơ tay nhé lúc nào có thời gian tìm hiểu xong cách lập trình với Wireless và Bluetooth sẽ post lên cho các bác đọc sau thanks bye bye
    HTML Code:
    package jusbpack;
    /* 
     * jusbtest.java
     *
     * Created on 23. Juli 2003, 17:31
     */
    import usb.core.*;
    import usb.windows.*;
    import java.io.IOException;
    import usb.test.ControllerUSBListener;
    import usb.windows.DeviceImpl;
    /** 
     * @author Nguyen Tat Hung
     * @version Transaction USB 1.0
     * @serial 3056609A00-1982-2504-k6bk48b
     * @see Using check for usb port, when run this program then it check USB port and USB device connecting with PC
     * @category using with JUSB.jar pack and win32usb.dll files
     * 
     */
    public class jusbtest {
    
        private static final int OBSERVATION_TIME = 1;
    
        /** Creates a new instance of RunUSBControllerTest */
        public jusbtest() {
        }
    
        /**
         * @param args
         *            the command line arguments
         */
        public static void main(String[] args) {
            System.out.println(">>> RunUSBControllerTest: Observation Time = "
                    + OBSERVATION_TIME + "s <<<");
    
            try {
    
                Host host = HostFactory.getHost();
                if (host == null)
                    throw new Exception("USB is not available!");
    
                // add the ControllerUSBListener to the host
                host.addUSBListener(new ControllerUSBListener());
                // printUSBStack(host.getBusses()) ;
    
                long start = System.currentTimeMillis();
                long end = (OBSERVATION_TIME * 1000) + start;
                while (System.currentTimeMillis() <= end)
                    continue;
    
                System.out.println(">>> USB Device Stack at the End: <<<");
                printUSBStack(host.getBusses());
    
            } catch (SecurityException e) {
                System.err.println("USB permissions problem:");
                System.err.println(e.getMessage());
                System.exit(1);
            } catch (USBException e) {
                System.err.println(e.getMessage());
                e.printStackTrace();
            } catch (Exception e) {
                e.printStackTrace();
            }
    
        }
    
        /**
         * prints all devices on this bus inclusive the root hub
         */
        private static void printUSBStack(Bus[] busses) {
            try {
                DeviceImpl dev;
                for (int k = 0; k < busses.length; k++) {
                    System.out.println("\n\nBus[ " + ((USB) busses[k]).getBusNum()
                            + " ]  ");
                    for (int i = 0; i < 5; i++) {
                        dev = (DeviceImpl) busses[k].getDevice(i);
                        System.out.print(" [ " + i + " ] :  ");
                        if (dev != null) {
                            if (dev.getAddress() == 0)
                                System.out.println(" [ROOT]          numOfPort:"
                                        + dev.getNumPorts() + "  Address:"
                                        + dev.getAddress());
                            else {
                                if (dev.getNumPorts() > 0)
                                    System.out
                                            .println(" [EXTERNAL HUB]  numOfPort:"
                                                    + dev.getNumPorts()
                                                    + "  Address:"
                                                    + dev.getAddress());
                                else
                                    System.out.println(" [USB DEVICE]    on Port "
                                            + dev.getHubPortNum()
                                            + "  Address           : "
                                            + dev.getAddress());
                                System.out
                                        .println("                                      uniqueID          : "
                                                + dev.getUniqueDeviceID());
                                System.out
                                        .println("                                      driverKeyName     : "
                                                + dev.getDriverKeyName());
                                System.out
                                        .println("                                      friendlyDeviceName: "
                                                + dev.getFriendlyDeviceName());
                                if (dev instanceof Device)
                                    System.out
                                            .print("                                      Object Type       : Device");
                                if (dev instanceof DeviceImpl)
                                    System.out.print(", DeviceImpl");
                                if (dev instanceof JUSB)
                                    System.out.println(", JUSB");
                                if (dev instanceof NonJUSB)
                                    System.out.println(", NonJUSB");
    
                                if (dev instanceof NonJUSB)
                                    printDeviceDescriptor(dev);
                                System.out.println();
                                // printConfigurationDescriptor(dev);
                                // System.out.println();
                                // printInterfaceDescriptors(dev);
                                // System.out.println();
                                // printEndpointDescriptors(dev);
                                // System.out.println();
    
                                if (dev instanceof JUSB) {
                                    JUSB jdev = (JUSB) dev;
                                    // DeviceDescriptor dd =
                                    // jdev.getDeviceDescriptor();
                                    // String product = dd.getProduct(0);
                                    // for(byte bRequest = 0; bRequest < 15;
                                    // bRequest++){
                                    // byte bRequest = 0x06;
                                    try {
                                        // Get Device Descriptor though a Setup
                                        // Request according to USB spec. 9.4.3
                                        // byte [] buf =
                                        // jdev.readControl((byte)0x80,(byte)bRequest,(short)
                                        // 0x0100,(short) 0x0000,(short) 0x0012);
                                        // jdev.printByteArray(buf, "Read Control:
                                        // ServicePacket Get Device Descriptor: Byte
                                        // (Hex):", 16, 18);
                                        byte buf[];
                                        buf = ControlMessage.getStandardDescriptor(jdev, Descriptor.TYPE_DEVICE,(byte)0, 0, 18);
                                        //Descriptor descriptorJUSB = new DeviceDescriptor(jdev, buf);
                                        printDeviceDescriptorJUSB(jdev);
                                        System.out.println();
    
                                       /*
                                        *  int langid[]; langid =
                                        *  ControlMessage.getLanguages(jdev);
                                        *  for(int m = 0; m < langid.length; m++){
                                        *  System.out.println("Language ID: " +
                                        *  langid[m] + " Hex: " +
                                        *  Integer.toHexString(langid[m])); }
                                        */
    
                                        // buf = ControlMessage.getStatus(jdev,
                                        // ControlMessage.RECIPIENT_DEVICE |
                                        // ControlMessage.TYPE_STANDARD, 0, 0, 2);
                                        buf = ControlMessage
                                                .getStatus(
                                                        jdev,
                                                        ControlMessage.RECIPIENT_ENDPOINT
                                                                | ControlMessage.TYPE_STANDARD,
                                                        0, 0, 2);
                                        System.out.println("Status : [1]: "
                                                + buf[1] + " [0]: " + buf[0]);
                                        // buf = ControlMessage.getStatus(jdev,
                                        // ControlMessage.RECIPIENT_INTERFACE |
                                        // ControlMessage.TYPE_STANDARD, 0, 0, 2);
                                        // printConfigurationDescriptor2(jdev.getConfiguration(0));
                                        // printConfigurationDescriptor2(jdev.getConfiguration());
    
                                        // buf =
                                        // ControlMessage.getStandardDescriptor(jdev,
                                        // Descriptor.TYPE_CONFIGURATION,(byte)0,0,0);
                                        // Configuration configJUSB = new
                                        // Configuration (jdev, buf);
                                        // printConfigurationDescriptor2(configJUSB);
    
                                        printEndpointDescriptors(jdev);
    
                                        try {
                                            buf = jdev.readIntr(0x81, 8);
                                            printBuffer(buf);
                                            buf = jdev.readIntr(0x82, 32);
                                            printBuffer(buf);
                                            buf = jdev.readIntr(0x81, 8);
                                            printBuffer(buf);
                                            
                                            
                                            
                                            
                                        } catch (USBException e) {
                                            System.out
                                                    .println("readIntr ERROR !!!! "
                                                            + e.getMessage());
                                        }
    
                                    } catch (IOException e) {
                                        System.out.println(e.getMessage()
                                                + " ERROR !!!!!!!!!!!!!!!");
                                    }
    
                                    // }
    
                                }
    
                            }
    
                        } else
                            System.out.println(" [NULL] ");
    
                    }
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    
        public static void printSetupPacket(byte[] sp) {
            System.out.println("SetupPacket:");
            for (int i = 0; i < sp.length; i++) {
                String temp = Integer.toBinaryString((int) sp[i]);
                if (temp.length() > 8) {
                    temp = temp.substring(temp.length() - 8, temp.length());
                } else if (temp.length() < 8) {
                    for (int k = temp.length(); k < 8; k++)
                        temp = "0" + temp;
                }
    
                System.out.println("[" + i + "] : " + sp[i] + " Bits : " + temp);
            }
    
        }
    
        public static void printBuffer(byte[] buf) {
            System.out.println("Buffer contains " + buf.length + " bytes:");
            for (int i = 0; i < buf.length; i++) {
                System.out.println("[" + i + "] : " + buf[i] + "  (0x"
                        + Integer.toHexString(buf[i]) + ")");
            }
    
        }
    
        public static void printDeviceDescriptor(DeviceImpl dev) {
            DeviceDescriptor dd = dev.getDeviceDescriptor();
            if (dd == null)
                System.out.println("Device Descriptor: null!");
            else {
                System.out.println("Device Descriptor:");
    
                System.out.println("bcdUSB                   : "
                        + dd.getUSBVersion());
                System.out.println("Device Class             : "
                        + dd.getDeviceClass() + " ( " + dd.getDeviceClassName()
                        + " )");
                System.out.println("Device Subclass          : "
                        + dd.getDeviceSubClass());
                System.out.println("Device Protocol          : "
                        + dd.getDeviceProtocol());
                System.out.println("Max Packet Size          : "
                        + dd.getMaxPacketSize0());
                System.out.println("idVendor                 : " + dd.getVendorId()
                        + "      0x" + Integer.toHexString(dd.getVendorId()));
                System.out.println("idProduct                : "
                        + dd.getProductId() + "      0x"
                        + Integer.toHexString(dd.getProductId()));
                System.out
                        .println("bcdDevice release number : " + dd.getDeviceId());
                System.out.println("iManufacturer            : "
                        + dd.getManufacturerStringId());
                System.out.println("iProduct                 : "
                        + dd.getProductStringId());
                System.out.println("iSerialNumber            : "
                        + dd.getSerialStringId());
                System.out.println("NumConfiguration         : "
                        + dd.getNumConfigurations());
            }
    
        }
    
        public static void printDeviceDescriptorJUSB(JUSB dev) {
            DeviceDescriptor dd = dev.getDeviceDescriptor();
            if (dd == null)
                System.out.println("Device Descriptor: null!");
            else {
                System.out.println("Device Descriptor:");
    
                System.out.println("bcdUSB                   : "
                        + dd.getUSBVersion());
                System.out.println("Device Class             : "
                        + dd.getDeviceClass() + " ( " + dd.getDeviceClassName()
                        + " )");
                System.out.println("Device Subclass          : "
                        + dd.getDeviceSubClass());
                System.out.println("Device Protocol          : "
                        + dd.getDeviceProtocol());
                System.out.println("Max Packet Size          : "
                        + dd.getMaxPacketSize0());
                System.out.println("idVendor                 : " + dd.getVendorId()
                        + "      0x" + Integer.toHexString(dd.getVendorId()) + "  "
                        + dd.getManufacturer(0));
                System.out.println("idProduct                : "
                        + dd.getProductId() + "      0x"
                        + Integer.toHexString(dd.getProductId()) + "  "
                        + dd.getProduct(0));
                System.out
                        .println("bcdDevice release number : " + dd.getDeviceId());
                System.out.println("iManufacturer            : "
                        + dd.getManufacturerStringId());
                System.out.println("iProduct                 : "
                        + dd.getProductStringId());
                System.out.println("iSerialNumber            : "
                        + dd.getSerialStringId() + "  " + dd.getSerial(0));
                System.out.println("NumConfiguration         : "
                        + dd.getNumConfigurations());
            }
    
        }
    
        public static void printConfigurationDescriptor(DeviceImpl dev) {
            try {
                Configuration cd = dev.getConfiguration();
                if (cd == null)
                    System.out.println("Configuration Descriptor: null!");
                else {
                    System.out.println("Configuration Descriptor:");
                    System.out.println("wTotalLength                    : "
                            + cd.getTotalLength());
                    System.out.println("bNumInterfaces                  : "
                            + cd.getNumInterfaces());
                    System.out.println("bConfigurationValue             : "
                            + cd.getConfigurationValue());
                    System.out.print("bmAttributes                      : "
                            + cd.getAttributes());
                    if ((Configuration.ATTR_REMOTE_WAKEUP & cd.getAttributes()) == Configuration.ATTR_REMOTE_WAKEUP)
                        System.out.print("  Device supports Remote Wakeup!");
                    if ((Configuration.ATTR_SELF_POWERED & cd.getAttributes()) == Configuration.ATTR_SELF_POWERED)
                        System.out.print("  Device is Self Powered!!");
                    System.out.println();
                    System.out.print("bMaxPower                         : "
                            + cd.getMaxPower());
                    System.out.println("  ( " + (cd.getMaxPower() * 2) + "mA)");
                }
            } catch (IOException e) {
                System.out.println("ERROR ! Configuration Descriptor: null!");
            }
    
        }
    
        public static void printInterfaceDescriptors(DeviceImpl dev) {
            try {
                Configuration cd = dev.getConfiguration();
                if (cd == null)
                    System.out.println("Configuration Descriptor: null!");
                else {
                    for (int i = 0; i < cd.getNumInterfaces(); i++) {
                        Interface ifc = cd.getInterface(i, 0);
                        if (ifc == null)
                            System.out.println("Interface Descriptor: null!");
                        else {
    
                            System.out.println("Interface Descriptor[" + i + "]:");
                            System.out
                                    .println("bInterfaceNumber                    : "
                                            + ifc.getNumber());
                            System.out
                                    .println("bAlternateSetting                   : "
                                            + ifc.getAlternateSetting());
                            System.out
                                    .println("bNumEndpoints                       : "
                                            + ifc.getNumEndpoints());
                            System.out
                                    .println("bInterfaceClass                       : "
                                            + ifc.getInterfaceClass());
                            System.out
                                    .println("bInterfaceSubClass                    : "
                                            + ifc.getInterfaceSubClass());
                            System.out
                                    .println("bInterfaceProtocol                    : "
                                            + ifc.getInterfaceProtocol());
                            System.out
                                    .println("iInterface                            : "
                                            + ifc.getInterfaceStringId());
                        }
                    }
                }
            } catch (IOException e) {
                System.out
                        .println("ERROR ! Configuration Descriptor: null! or Interface Descriptor: null!");
            }
    
        }
    
        public static void printConfigurationDescriptor2(Configuration cd) {
            if (cd == null)
                System.out.println("Configuration Descriptor: null!");
            else {
                System.out.println("Configuration Descriptor:");
                System.out.println("wTotalLength                    : "
                        + cd.getTotalLength());
                System.out.println("bNumInterfaces                  : "
                        + cd.getNumInterfaces());
                System.out.println("bConfigurationValue             : "
                        + cd.getConfigurationValue());
                System.out.print("bmAttributes                      : "
                        + cd.getAttributes());
                if ((Configuration.ATTR_REMOTE_WAKEUP & cd.getAttributes()) == Configuration.ATTR_REMOTE_WAKEUP)
                    System.out.print("  Device supports Remote Wakeup!");
                if ((Configuration.ATTR_SELF_POWERED & cd.getAttributes()) == Configuration.ATTR_SELF_POWERED)
                    System.out.print("  Device is Self Powered!!");
                System.out.println();
                System.out.print("bMaxPower                         : "
                        + cd.getMaxPower());
                System.out.println("  ( " + (cd.getMaxPower() * 2) + "mA)");
            }
        }
    
        public static void printEndpointDescriptors(DeviceImpl dev) {
            try {
                Configuration cd = dev.getConfiguration();
                if (cd == null)
                    System.out.println("Configuration Descriptor: null!");
                else {
                    for (int i = 0; i < cd.getNumInterfaces(); i++) {
                        Interface ifc = cd.getInterface(i, 0);
                        if (ifc == null)
                            System.out.println("Interface Descriptor: null!");
                        else {
                            for (int k = 0; k < ifc.getNumEndpoints(); k++) {
    
                                Endpoint ep = ifc.getEndpoint(k);
                                if (ep == null)
                                    System.out
                                            .println("Endpoint Descriptor: null!");
                                else {
                                    System.out.println("Interface[" + i
                                            + "]  Endpoint Descriptor[" + k + "]:");
                                    System.out
                                            .print("bEndpointAdress                    : "
                                                    + ep.getEndpointAddress());
                                    if (ep.isInput())
                                        System.out
                                                .println("    IN Pipe Data flows from Device to Host");
                                    else
                                        System.out
                                                .println("    OUT Pipe Data flows from Host to Device");
                                    System.out
                                            .println("bmAttributes                       : "
                                                    + ep.getAttributes()
                                                    + "    Type: " + ep.getType());
                                    System.out
                                            .println("bMaxPacketSize                     : "
                                                    + ep.getMaxPacketSize());
                                    System.out
                                            .println("bInterval                          : "
                                                    + ep.getInterval());
                                    System.out
                                            .println("getEndpoint                        : "
                                                    + ep.getEndpoint()
                                                    + "  "
                                                    + Integer.toHexString(ep
                                                            .getEndpoint()));
                                }
                            }
                        }
                    }
                }
            } catch (IOException e) {
                System.out
                        .println("ERROR ! Configuration Descriptor: null! or Interface Descriptor: null!");
            }
    
        }
    
    }
    Attached Files
    Last edited by khoahung; 11-09-2008, 00:48.

    Comment


    • #3
      Đang hay mà.Tiếp tục đi.Cho em hỏi câu nữa là Java có mạnh về hệ thống nhúng không ?

      Comment


      • #4
        Nguyên văn bởi khoahung Xem bài viết
        đặt đường dẫn CLASSPATH chỉ đến cái file JUSB.JAR thế là xong các bác có thể tha hồ lập trình dùng JDk
        (nếu bác nào dùng Tool phát triển thì copy cái Jusb.jar vào Jre là OK nhớ cái gì thêm vào cũng phải có CLASSPATH thì nó mới hiểu chắc không nói ai xung biết)
        có ai có thể hướng dẫn dùm làm sao đặt đường dẫn CLASSPATH,mọi người thông cảm em moi tìm hiểu nên còn gà.

        Comment


        • #5
          Ai có sách về lập trình giao tiếp bằng Java ko? tIẾNG a CŨNG DC

          Comment


          • #6
            tôi nghĩ lập trình hệ thống thì C/C++ là số 1
            còn nếu để nhanh thì mấy cái khác nhanh hơn nhiều
            (về phát triển ứng dụng chứ không phải là tốc độ nhé)
            tôi có thể code được cả C/C++, ASM, JAVA, VB,C#,Delphi...
            nhưng cuối cùng chọn C++

            Comment


            • #7
              Nguyên văn bởi kidteam Xem bài viết
              tôi nghĩ lập trình hệ thống thì C/C++ là số 1
              còn nếu để nhanh thì mấy cái khác nhanh hơn nhiều
              (về phát triển ứng dụng chứ không phải là tốc độ nhé)
              tôi có thể code được cả C/C++, ASM, JAVA, VB,C#,Delphi...
              nhưng cuối cùng chọn C++
              C# vs Java cũng ko kém xa đâu bạn ạh. C# hiện nay đc rất nhìu ng xài vì nó là ngôn ngữ cấp cao hơn C++, dễ sử dụng, nên việc lập trình ứng dụng lẫn hệ thống vẫn lun đc thằng Microsoft wan tâm kỹ lưỡng. Còn JAVA lan ra càng ngày càng nhanh bởi vì ngày càng nhìu ng xài Linux mà (mà hem bik Microsoft sẽ chơi xấu sao đây, nghe nói là hệ thống BIOS mới chết dịch của nó). Mún lập trình hệ thống vs Java và C# thì cũng ko có gì khó khăn vì hiện nay cái gì cũg có sẵn hết òy. Bạn chỉ cần chọn 1 gói thư viện và đọc hết các hàm cần thiết là quất thoải mái, hem sợ cái gì hết.

              P/S: tôi thấy VB và C++ lập trình cũng khó hơn C# và JAVA (tuy C# và JAVA có nhìu định nghĩa khá phức tạp). Nhưng để lập trình hệ thống thì cả C++, C# và JAVA ko thằng nào ko thua kém thằng nào đâu ạh. Hiện nay tui đang xài C# để lập trình giao típ USB trên 1 gói thư viện có sẵn có trên mạng, tui mở ra thì đó là dịch y chang code của quyển USB Complete từ VB.NET ra C#.
              Computer Science major - Vietnamese-German University
              Sponsored by

              Comment


              • #8
                Nguyên văn bởi thanhth90 Xem bài viết
                có ai có thể hướng dẫn dùm làm sao đặt đường dẫn CLASSPATH,mọi người thông cảm em moi tìm hiểu nên còn gà.
                Bạn vào System setting (WIN XP thì chuột phải vào Computer, Win 7 thì mở Control Panel/System/Advance System Setting), wa tab Advance, Nhấn vào Environment Variable.
                Khung trên, nhấn New, variable name ghi là CLASSPATH, variable value nhập đường dẫn của các jar. Nhấn OK => Hết.
                Computer Science major - Vietnamese-German University
                Sponsored by

                Comment


                • #9
                  bác nào là xong rùi..gửi lên cho e xem cái nào?mình cũng đang làm về cái này...cần tham khảo quá

                  Comment

                  Về tác giả

                  Collapse

                  khoahung Tìm hiểu thêm về khoahung

                  Bài viết mới nhất

                  Collapse

                  Đang tải...
                  X