Hiển thị kết quả từ 1 đến 3 / 3
  1. #1
    Tham gia
    23-11-2007
    Bài viết
    37
    Like
    0
    Thanked 0 Times in 0 Posts

    Tham khảo Quản lý thư viện sách

    ////
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    import java.io.*;
    import java.util.*;

    public class nhom1 extends JFrame implements ActionListener
    {
    public static void main(String[] argv)
    {
    nhom1 mainApp = new nhom1();
    }

    public nhom1()
    {
    super("Books Manager Project Group I");
    setBounds(0, 0, 600, 500);
    getContentPane().setLayout(null);
    setDefaultCloseOperation(EXIT_ON_CLOSE);


    menuBar = new JMenuBar();
    menuBar.setBounds(0, 0, 1280, 25);

    ///////////////////////MENU Main//////////////////////////////////////
    // Tao cac menu chinh .....................................
    mainMenu = new JMenu("Thong tin chinh");
    mainMenu.setMnemonic('M');

    quitItem = new JMenuItem("Thoat");
    quitItem.addActionListener(this);

    aboutItem = new JMenuItem("Thanh vien");
    aboutItem.addActionListener(this);

    lhItem = new JMenuItem("Lien he");
    lhItem.addActionListener(this);

    // Menu phu cua menu Thong tin chung......................................
    mainMenu.add(aboutItem);
    mainMenu.addSeparator();
    mainMenu.add(lhItem);
    mainMenu.addSeparator();
    mainMenu.add(quitItem);
    //mainMenu.add(lienheItem);

    /////////////////////// MENU Nhap lieu //////////////////////////////////////////
    // Tao cac menu con cua Nhap lieu............................
    NhaplieuBarMenu = new JMenu("Nhap kho");
    NhaplieuBarMenu.setMnemonic('O');
    NhaplieuItem = new JMenuItem("Nhap du lieu");
    NhaplieuItem.addActionListener(this);


    /////////////////////// Menu sua Sach ///////////////////////////////////////
    ThemsachBarMenu = new JMenu("Sua Sach");
    ThemsachBarMenu.setMnemonic('A');
    SuasachItem = new JMenuItem("Sua du lieu");
    SuasachItem.addActionListener(this);




    /////////////////////// Menu Xem sach //////////////////////////////////////////

    XemsachBarMenu = new JMenu("Xem Sach");
    XemsachBarMenu.setMnemonic('S');

    XemsachItem = new JMenuItem("Xem Chi tiet");
    XemsachItem.addActionListener(this);
    // Menu Tim Sach..........................................
    TimsachBarMenu = new JMenu("Tim sach");
    TimsachBarMenu.setMnemonic('T');


    TimtheotenSub = new JMenuItem("Tim theo Ma sach");
    TimtheotenSub.addActionListener(this);

    TimtheomaSub = new JMenuItem("Tim theo Ten sach");
    TimtheomaSub.addActionListener(this);
    /// Menu The Loai //////////////////////////////////

    TheloaiBarMenu = new JMenu("The Loai");
    TheloaiBarMenu.setMnemonic('M');


    //Create the report Order-Sales, Import-Export and Inventory Stock
    TruyenSub = new JMenu("Truyen");
    TienganhSub = new JMenu("Tieng Anh");
    VanhocSub = new JMenu("Van Hoc");
    reportTinhocSub = new JMenu("Tin Hoc");


    // Create the Report Order submenuitem...
    TruyennganItem = new JMenuItem("Truyen ngan");
    TruyennganItem.addActionListener(this);

    TieuthuyetItem = new JMenuItem("Tieu thuyet");
    TieuthuyetItem.addActionListener(this);

    TienganhGTItem = new JMenuItem("Tieng anh giao tiep");
    TienganhGTItem.addActionListener(this);

    TienganhCNItem = new JMenuItem("Tieng anh chuyen nganh");
    TienganhCNItem.addActionListener(this);

    VanhocNNItem = new JMenuItem("Van Hoc nuoc ngoai");
    VanhocNNItem.addActionListener(this);

    reportvanhocItem = new JMenuItem("Van Hoc Viet Nam");
    reportvanhocItem.addActionListener(this);

    reportTinhoc1Item = new JMenuItem("Tin hoc can ban");
    reportTinhoc1Item.addActionListener(this);

    reportTinhoc2Item = new JMenuItem("Tin hoc nang cao");
    reportTinhoc2Item.addActionListener(this);

    ////////////////////Tieu de cua Form chinh//////////////////////////////////////////////////
    lblTitleInput= new JLabel("NHAP DU LIEU");
    lblTitleInput.setForeground(new Color(255, 0, 0));
    lblTitleInput.setLocation(225, 100);
    lblTitleInput.setSize(lblTitleInput.getPreferredSi ze());


    lblTitleSua= new JLabel("PHAN SUA DU LIEU");
    lblTitleSua.setForeground(new Color(255, 0, 0));
    lblTitleSua.setLocation(225, 100);
    lblTitleSua.setSize(lblTitleSua.getPreferredSize() );


    //////////////////////Tieu de cua Form Phu/////////////////////////////////

    lblTitleTim= new JLabel("PHAN TIM DU LIEU");
    lblTitleTim.setForeground(new Color(255, 0, 0));
    lblTitleTim.setLocation(250, 75);
    lblTitleTim.setSize(lblTitleTim.getPreferredSize() );



    lblTitleXem= new JLabel("PHAN XEM DU LIEU");
    lblTitleXem.setForeground(new Color(255, 0, 0));
    lblTitleXem.setLocation(250, 75);
    lblTitleXem.setSize(lblTitleXem.getPreferredSize() );
    //////////////
    lblNhapData= new JLabel("Ngay Nhap:");
    lblNhapData.setForeground(new Color(0, 0, 255));
    lblNhapData.setLocation(100, 175);
    lblNhapData.setSize(lblNhapData.getPreferredSize() );

    txtNhapData = new JTextField(15);
    txtNhapData.setLocation(200, 175);
    txtNhapData.setSize(txtNhapData.getPreferredSize() );


    ////////////////////////////label va Field cua Ma sach////////////////////
    lblMaSach= new JLabel("Ma sach:");
    lblMaSach.setForeground(new Color(0, 0, 255));
    lblMaSach.setLocation(100, 150);
    lblMaSach.setSize(lblNhapData.getPreferredSize());

    txtMaSach = new JTextField(15);
    txtMaSach.setLocation(200, 150);
    txtMaSach.setSize(txtMaSach.getPreferredSize());

    ////////////////////////////Label and Text Field of Ten sach ////////////////////
    lblTensach= new JLabel("Ten sach:");
    lblTensach.setForeground(new Color(0, 0, 255));
    lblTensach.setLocation(100, 200);
    lblTensach.setSize(lblTensach.getPreferredSize());

    txtTensach = new JTextField(15);
    txtTensach.setLocation(200, 200);
    txtTensach.setSize(txtTensach.getPreferredSize());

    ////////////////////////////Label and Text Field Don vi tinh ////////////////////
    lblDonvitinh= new JLabel("Don vi tinh:");
    lblDonvitinh.setForeground(new Color(0, 0, 255));
    lblDonvitinh.setLocation(100, 225);
    lblDonvitinh.setSize(lblDonvitinh.getPreferredSize ());

    txtDonvitinh = new JTextField(15);
    txtDonvitinh.setLocation(200, 225);
    txtDonvitinh.setSize(txtDonvitinh.getPreferredSize ());

    ////////////////////////////Label and Text Field so luong ////////////////////
    lblSoluong= new JLabel("So luong:");
    lblSoluong.setForeground(new Color(0, 0, 255));
    lblSoluong.setLocation(100, 250);
    lblSoluong.setSize(lblSoluong.getPreferredSize());

    txtSoluong = new JTextField(15);
    txtSoluong.setLocation(200, 250);
    txtSoluong.setSize(txtSoluong.getPreferredSize());

    ////////////////////////////Label and Text Field Don gia ////////////////////
    lblDongia= new JLabel("Don Gia:");
    lblDongia.setForeground(new Color(0, 0, 255));
    lblDongia.setLocation(100, 275);
    lblDongia.setSize(lblDongia.getPreferredSize());

    txtDongia = new JTextField(15);
    txtDongia.setLocation(200, 275);
    txtDongia.setSize(txtDongia.getPreferredSize());


    ///////////////////////Button Nhap du lieu ///////////////////////////////////

    buttonInput= new JButton("Nhap");
    buttonInput.addActionListener(this);

    buttonInput.setForeground(new Color(0, 0, 255));
    buttonInput.setLocation(150, 325);
    buttonInput.setSize(buttonInput.getPreferredSize() );
    buttonInput.setToolTipText("Nhap du lieu");

    ////////////////////////////Button Clear////////////////////
    buttonClear= new JButton("Xoa");
    buttonClear.addActionListener(this);

    buttonClear.setForeground(new Color(0, 0, 255));
    buttonClear.setLocation(225, 325);
    buttonClear.setSize(buttonClear.getPreferredSize() );
    buttonClear.setToolTipText("Nhap Lai");

    ////////////////////////////Button Cancel////////////////////
    buttonCancel= new JButton("Huy Bo");
    buttonCancel.addActionListener(this);

    buttonCancel.setForeground(new Color(0, 0, 255));
    buttonCancel.setLocation(300, 325);
    buttonCancel.setSize(buttonCancel.getPreferredSize ());
    buttonCancel.setToolTipText("Huy Bo");

    ////////////////////////////Button Tim sach ////////////////////

    buttonTim= new JButton("Tim");
    buttonTim.addActionListener(this);

    buttonTim.setForeground(new Color(0, 0, 255));
    buttonTim.setLocation(150, 325);
    buttonTim.setSize(buttonTim.getPreferredSize());
    buttonTim.setToolTipText("Tim du lieu");

    buttonXoa= new JButton("Xoa");
    buttonXoa.addActionListener(this);

    buttonXoa.setForeground(new Color(0, 0, 255));
    buttonXoa.setLocation(225, 325);
    buttonXoa.setSize(buttonXoa.getPreferredSize());
    buttonXoa.setToolTipText("Xoa");

    buttonHuy= new JButton("Huy Bo");
    buttonHuy.addActionListener(this);

    buttonHuy.setForeground(new Color(0, 0, 255));
    buttonHuy.setLocation(300, 325);
    buttonHuy.setSize(buttonHuy.getPreferredSize());
    buttonHuy.setToolTipText("Huy Bo");


    /////////////// Button Xem //////////////////////////////////////////////////

    buttonPrevious= new JButton("Prev");
    buttonPrevious.addActionListener(this);

    buttonPrevious.setForeground(new Color(0, 0, 255));
    buttonPrevious.setLocation(150, 325);
    buttonPrevious.setSize(buttonPrevious.getPreferred Size());
    buttonPrevious.setToolTipText("Xem du lieu");

    buttonNext= new JButton("Next");
    buttonNext.addActionListener(this);

    buttonNext.setForeground(new Color(0, 0, 255));
    buttonNext.setLocation(225, 325);
    buttonNext.setSize(buttonNext.getPreferredSize());
    buttonNext.setToolTipText("Xem tiep");

    buttonViewHuy= new JButton("Huy Bo");
    buttonViewHuy.addActionListener(this);

    buttonViewHuy.setForeground(new Color(0, 0, 255));
    buttonViewHuy.setLocation(300, 325);
    buttonViewHuy.setSize(buttonViewHuy.getPreferredSi ze());
    buttonViewHuy.setToolTipText("Huy Bo");

    /////////////// Button Sua //////////////////////////////////////////////////

    buttonSua= new JButton("Sua");
    buttonSua.addActionListener(this);

    buttonSua.setForeground(new Color(0, 0, 255));
    buttonSua.setLocation(150, 325);
    buttonSua.setSize(buttonSua.getPreferredSize());
    buttonSua.setToolTipText("sua du lieu");

    buttonSuaLuu= new JButton("Luu");
    buttonSuaLuu.addActionListener(this);

    buttonSuaLuu.setForeground(new Color(0, 0, 255));
    buttonSuaLuu.setLocation(225, 325);
    buttonSuaLuu.setSize(buttonSuaLuu.getPreferredSize ());
    buttonSuaLuu.setToolTipText("Luu du lieu");

    buttonSuaHuy= new JButton("Huy Bo");
    buttonSuaHuy.addActionListener(this);

    buttonSuaHuy.setForeground(new Color(0, 0, 255));
    buttonSuaHuy.setLocation(300, 325);
    buttonSuaHuy.setSize(buttonSuaHuy.getPreferredSize ());
    buttonSuaHuy.setToolTipText("Huy Bo");

    // Thanh phan tren thanh MENU BAR/////////////////////////////////////////////////
    menuBar.add(mainMenu);
    menuBar.add(NhaplieuBarMenu);

    menuBar.add(TheloaiBarMenu);
    menuBar.add(TimsachBarMenu);
    menuBar.add(XemsachBarMenu);
    menuBar.add(ThemsachBarMenu);

    // Add nhung muc con cua menu Bar/////////////////////////////////////
    NhaplieuBarMenu.add(NhaplieuItem);
    ThemsachBarMenu.add(SuasachItem);

    TimsachBarMenu.add(TimtheotenSub);

    TimsachBarMenu.add(TimtheomaSub);

    XemsachBarMenu.add(XemsachItem);


    // Add nhung menu con cua The Loai //////////////////////////////////////////////////.
    TheloaiBarMenu.add(TruyenSub);
    TheloaiBarMenu.add(TienganhSub);
    TheloaiBarMenu.add(VanhocSub);
    TheloaiBarMenu.add(reportTinhocSub);



    // Add nhung menu con cua Truyen /////////////////////////////
    TruyenSub.add(TruyennganItem);
    TruyenSub.add(TieuthuyetItem);

    // Add Thanh phan con cua Tieng anh ........................
    TienganhSub.add(TienganhGTItem);
    TienganhSub.add(TienganhCNItem);

    // Add thanh phan con cua Van hoc................................
    VanhocSub.add(VanhocNNItem);
    VanhocSub.add(reportvanhocItem);
    // Add thanh phan con cua Tin hoc.................................
    reportTinhocSub.add(reportTinhoc1Item);
    reportTinhocSub.add(reportTinhoc2Item);

    getContentPane().add(menuBar);

    setVisible(true);
    }

    public void actionPerformed(ActionEvent e)
    {
    if(e.getSource() == aboutItem)
    {
    JOptionPane.showMessageDialog(this, "Thanh Vien \n----- (^_^) ---------------------------------- (^_^) ----- \nDinh Thi Hoa \nNgo Nhu Huong \nNguyen Ngoc Bich \nNguyen Vu Trung \nNguyen Quang Nguyen \n----- (^_^) -------------------------------- (^_^) ----- \n Teacher: Nguyen Trong Anh","Thong Tin",JOptionPane.INFORMATION_MESSAGE);

    }

    else if(e.getSource() == lhItem)
    {
    JOptionPane.showMessageDialog(this, "http://flowers.itprovietnam.com","Lien He",JOptionPane.INFORMATION_MESSAGE);

    }

    else if(e.getSource() == quitItem)
    {
    int result = JOptionPane.showConfirmDialog(this, "Ban co chac chan thoat?");

    if(result == JOptionPane.YES_OPTION)
    {
    //getContentPane().setBackground(new Color(152, 168, 165));
    System.exit(1);
    }

    }


    else if(e.getSource() == NhaplieuItem)
    {
    //////////////////////Phan Giao dien cua Form chinh //////////////////////////////////////////////////////
    getContentPane().add(lblTitleInput);

    getContentPane().add(lblMaSach);
    getContentPane().add(txtMaSach);

    getContentPane().add(lblNhapData);
    getContentPane().add(txtNhapData);


    getContentPane().add(lblTensach);
    getContentPane().add(txtTensach);

    getContentPane().add(lblDonvitinh);
    getContentPane().add(txtDonvitinh);

    getContentPane().add(lblSoluong);
    getContentPane().add(txtSoluong);

    getContentPane().add(lblDongia);
    getContentPane().add(txtDongia);

    getContentPane().add(buttonInput);
    getContentPane().add(buttonClear);
    getContentPane().add(buttonCancel);

    getContentPane().setBackground(new Color(234, 222, 127));

    //////////////////// Chuc nang cua Nut Cancel //////////////////////////////////////////////////////
    lblTitleInput.setVisible(true);

    lblMaSach.setVisible(true);
    txtMaSach.setVisible(true);

    lblNhapData.setVisible(true);
    txtNhapData.setVisible(true);

    lblTensach.setVisible(true);
    txtTensach.setVisible(true);

    lblDonvitinh.setVisible(true);
    txtDonvitinh.setVisible(true);

    lblSoluong.setVisible(true);
    txtSoluong.setVisible(true);

    lblDongia.setVisible(true);
    txtDongia.setVisible(true);

    buttonInput.setVisible(true);
    buttonClear.setVisible(true);
    buttonCancel.setVisible(true);

    }
    else if(e.getSource() == buttonCancel)
    {

    ////////////////////// Chuc nang cua Nut Clear //////////////////////////////////////////////////////
    lblTitleInput.setVisible(false);

    lblMaSach.setVisible(false);
    txtMaSach.setVisible(false);

    lblNhapData.setVisible(false);
    txtNhapData.setVisible(false);

    lblTensach.setVisible(false);
    txtTensach.setVisible(false);

    lblDonvitinh.setVisible(false);
    txtDonvitinh.setVisible(false);

    lblSoluong.setVisible(false);
    txtSoluong.setVisible(false);

    lblDongia.setVisible(false);
    txtDongia.setVisible(false);

    buttonInput.setVisible(false);
    buttonClear.setVisible(false);
    buttonCancel.setVisible(false);

    getContentPane().setBackground(new Color(152, 168, 165));
    }
    else if(e.getSource() == buttonClear)
    {
    txtMaSach.setText("");

    txtNhapData.setText("");


    txtTensach.setText("");

    txtDonvitinh.setText("");

    txtSoluong.setText("");

    txtDongia.setText("");
    }
    /////////////////////// Phan Nhap du lieu .................................................. ......
    else if(e.getSource() == buttonInput)
    {

    if(txtMaSach.getText().compareTo("") == 0 ||txtNhapData.getText().compareTo("") == 0 || txtTensach.getText().compareTo("") == 0 || txtDonvitinh.getText().compareTo("") == 0 || txtSoluong.getText().compareTo("") == 0 || txtDongia.getText().compareTo("") == 0)
    {
    JOptionPane.showMessageDialog(this, "Ban phai nhap du thong tin! Yeu cau nhap lai!","thong bao loi",JOptionPane.INFORMATION_MESSAGE);
    }

    else
    {
    try
    {


    double MaSach1 = Double.parseDouble(txtMaSach.getText().trim());

    double Soluong1 = Double.parseDouble(txtSoluong.getText().trim());

    double Dongia1 = Double.parseDouble(txtDongia .getText().trim());

    String NhapData1= new String(txtNhapData.getText());

    String Tensach1= new String(txtTensach.getText());

    String Donvitinh1= new String(txtDonvitinh.getText());
    k=1;
    try
    {
    FileInputStream f = new FileInputStream("luusach.dat");
    int ch=0;
    while( (ch=f.read()) != -1)
    {

    }
    f.close();
    }
    catch(FileNotFoundException efnfe)
    {
    int resultFile = JOptionPane.showConfirmDialog(this, "File khong ton tai. Tao file moi khong?");

    Nhaplieu[] nhaplieuFile=new Nhaplieu[1];
    nhaplieuFile[0] = new Nhaplieu(MaSach1, NhapData1, Tensach1, Donvitinh1,Soluong1, Dongia1);

    if(resultFile == JOptionPane.YES_OPTION)
    {
    ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream("luusach.dat"));
    out.writeObject(nhaplieuFile);
    out.close();
    JOptionPane.showMessageDialog(this, "Nhap lieu thanh cong","Thong bao",JOptionPane.INFORMATION_MESSAGE);
    k=2;
    }
    if(resultFile == JOptionPane.NO_OPTION)
    {
    JOptionPane.showMessageDialog(this, "Du lieu chua duoc tao!!!","Thong bao",JOptionPane.INFORMATION_MESSAGE); }
    }
    catch(IOException eio)
    {
    System.out.println("Khong doc duoc file");
    }

    if(k!=2)
    {
    ObjectInputStream in = new ObjectInputStream(new FileInputStream("luusach.dat"));
    Nhaplieu[] nhap = (Nhaplieu[])in.readObject();
    in.close();

    Nhaplieu[] nhaplieu = new Nhaplieu[nhap.length + 1];
    for(int i=0;i<nhap.length;i++)
    {
    nhaplieu[i]=nhap[i];
    }

    int check=0;
    for(int i=0;i<nhap.length;i++)
    {
    if(nhap[i].getmaSach() == MaSach1)
    {

    check=1;
    }

    }

    nhaplieu[nhaplieu.length - 1] = new Nhaplieu( MaSach1, NhapData1,Tensach1, Donvitinh1,Soluong1, Dongia1);

    if(check != 1)
    {

    ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream("luusach.dat"));
    out.writeObject(nhaplieu);
    out.close();

    JOptionPane.showMessageDialog(this, "Ban da nhap thanh cong!","Thong bao loi",JOptionPane.INFORMATION_MESSAGE);
    }
    else
    {
    JOptionPane.showMessageDialog(this, "Ma may nay da ton tai, ban hay chon ma khac!","Co loi xay ra",JOptionPane.INFORMATION_MESSAGE);
    }
    }
    ObjectInputStream in = new ObjectInputStream(new FileInputStream("luusach.dat"));
    Nhaplieu[] nhaptest = (Nhaplieu[]) in.readObject();
    in.close();

    for(int j=0;j<nhaptest.length;j++)
    {
    nhaptest[j].InSach(j);

    System.out.println(nhaptest[j].getmaSach());

    System.out.println(nhaptest.length);
    }
    }
    catch (NumberFormatException enfe)
    {
    System.err.println("NumberFormatException");
    }
    catch (Exception ehdmh)
    {
    ehdmh.printStackTrace();
    }
    txtMaSach.setText("");
    txtNhapData.setText("");

    txtTensach.setText("");

    txtDonvitinh.setText("");

    txtSoluong.setText("");

    txtDongia.setText("");
    }
    }

    //////////////// Form cua phan Phan Sua /////////////////

    else if(e.getSource() == SuasachItem)
    {


    getContentPane().add(lblTitleSua);

    getContentPane().add(lblMaSach);
    getContentPane().add(txtMaSach);

    getContentPane().add(lblNhapData);
    getContentPane().add(txtNhapData);

    getContentPane().add(lblTensach);
    getContentPane().add(txtTensach);

    getContentPane().add(lblDonvitinh);
    getContentPane().add(txtDonvitinh);

    getContentPane().add(lblSoluong);
    getContentPane().add(txtSoluong);

    getContentPane().add(lblDongia);
    getContentPane().add(txtDongia);

    getContentPane().add(buttonSua);
    getContentPane().add(buttonSuaLuu);
    getContentPane().add(buttonSuaHuy);

    getContentPane().setBackground(new Color(174, 201, 163));

    //////////////////////Show the Label, TextField, Button//////////////////////////////////////////////////////
    lblTitleSua.setVisible(true);

    lblMaSach.setVisible(true);
    txtMaSach.setVisible(true);

    lblNhapData.setVisible(true);
    txtNhapData.setVisible(true);



    lblTensach.setVisible(true);
    txtTensach.setVisible(true);

    lblDonvitinh.setVisible(true);
    txtDonvitinh.setVisible(true);

    lblSoluong.setVisible(true);
    txtSoluong.setVisible(true);

    lblDongia.setVisible(true);
    txtDongia.setVisible(true);

    buttonSua.setVisible(true);
    buttonSuaLuu.setVisible(true);
    buttonSuaHuy.setVisible(true);

    }
    else if(e.getSource() == buttonSuaHuy)
    {

    //////////////////////Hide the Label, TextField, Button//////////////////////////////////////////////////////
    lblTitleSua.setVisible(false);

    lblMaSach.setVisible(false);
    txtMaSach.setVisible(false);

    lblNhapData.setVisible(false);
    txtNhapData.setVisible(false);



    lblTensach.setVisible(false);
    txtTensach.setVisible(false);

    lblDonvitinh.setVisible(false);
    txtDonvitinh.setVisible(false);

    lblSoluong.setVisible(false);
    txtSoluong.setVisible(false);

    lblDongia.setVisible(false);
    txtDongia.setVisible(false);

    buttonSua.setVisible(false);
    buttonSuaLuu.setVisible(false);
    buttonSuaHuy.setVisible(false);

    getContentPane().setBackground(new Color(152, 168, 165));
    }
    Quote Quote

  2. #2
    Tham gia
    29-10-2008
    Bài viết
    21
    Like
    0
    Thanked 0 Times in 0 Posts
    Theo tôi khi làm một phần mềm quản lý thì bạn nên kết hợp với cơ sở dữ liệu thì tốt hơn!

  3. #3
    Tham gia
    15-04-2010
    Bài viết
    1
    Like
    0
    Thanked 0 Times in 0 Posts
    Bài này hình như thiếu một file nữa hay sao ấy, tự nhiên ko hieu nhaplieu ở đâu ra

Bookmarks

Quy định

  • Bạn không thể tạo chủ đề mới
  • Bạn không thể trả lời bài viết
  • Bạn không thể gửi file đính kèm
  • Bạn không thể sửa bài viết của mình
  •