Trang 1 trên tổng số 2 12 Cuối cùngCuối cùng
Từ 1 tới 10 trên tổng số 15 kết quả

Đề tài: tách kí tự số ra khỏi chuổi

  1. #1
    Ngày gia nhập
    07 2007
    Bài viết
    17

    Mặc định tách kí tự số ra khỏi chuổi

    mình có chuổi:"1tuoi" mình muốn tách "1" ra khỏi chuổi thì làm thế nào
    vấn đề tiếp theo,mình có một textbox và một listview.listview chứa danh sách giống như danh bạ điện thoại,mình muốn khi mình nhập số máy vào textbox thì vệt sáng xanh trong listview di chuyển đến item có text tương ứng với textbox thì làm thế nào,mình muốn xóa item có text tương ứng với textbox thì làm thế nào

  2. #2
    Ngày gia nhập
    10 2007
    Nơi ở
    HCMUNS
    Bài viết
    459

    - Sử dụng một số method của string như Remove, SubString ... hoặc nếu muôn ko thay đổi nội dung thì dùng indexer []

    - Bắt sự kiện TextChanged của textbox, duyệt qua từng ListViewItem của ListView, nếu trùng thì xóa. Còn cái vụ vệt sáng xanh, nhc nghĩ lúc đó textbox đang nhận focus thì làm sao set màu xanh cho cái listview được nhỉ ? Chắc phải set focus cho listview trước :-?
    Keep moving forward!

    ... Retired ...

  3. #3
    Ngày gia nhập
    07 2007
    Bài viết
    17

    vấn đề ở đây là mình không biết có bao nhiêu số trong chuổi mình nghĩ nên dùng cách lấy mã ascii của kí tự nhưng mình không biết dùng hàm nào để lấy mong chỉ giúp
    còn cái listview thì khi ấn phím hoặc button thì cái vệt xanh mới di chuyển
    ai biết chỉ giúp mình với

  4. #4
    Ngày gia nhập
    11 2007
    Bài viết
    294

    1 - Vấn đề về chuỗi thì cứ dùng index giống của nhc.Làm 1 cái vòng lặp,gặp ký tự ko phải là số thì cắt.Hàm thì hình như là isDigit thì phải .Ko nhớ rõ .

    2 - Chuyển sang dùng DataGridView đi.Dễ dùng hơn cái listview .
    Cách làm thì thế này .Bấm 1 cái thì search trên grid.Thấy dòng nào thì bôi dòng đó .
    Đùa vậy thôi!Nếu bạn cần thì dark sẽ thử làm cho bạn 1 cái demo với datagrid .
    Is the moon rising...

  5. #5
    Ngày gia nhập
    11 2007
    Bài viết
    79

    Trích dẫn Nguyên bản được gửi bởi thanhhai_al Xem bài viết
    vấn đề ở đây là mình không biết có bao nhiêu số trong chuổi mình nghĩ nên dùng cách lấy mã ascii của kí tự nhưng mình không biết dùng hàm nào để lấy mong chỉ giúp
    còn cái listview thì khi ấn phím hoặc button thì cái vệt xanh mới di chuyển
    ai biết chỉ giúp mình với
    Bạn thử cái này. Đoạn code dưới đây giả định bạn đã có một textBox1 và listView1 control (thuộc tính CheckBoxes đặt true để hiện ô checkbox cho các item). Bạn cũng có thể sửa lại một chút để dùng cho sự kiện textBox1_TextChanged nếu muốn làm giống Lạc Việt từ điển, nghĩa là cho các Item phù hợp trong listView xuất hiện tức thì mỗi khi text trong textBox1 thay đổi.

    PHP Code:
    private void textBox1_KeyPress(object senderKeyPressEventArgs e)
            {
                if ((
    char)Keys.Enter == e.KeyChar)
                {

                    
    string strLetter "";
                    
    string strDigit "";
                    
    String objStr textBox1.Text;
                    
    int intLength objStr.Length;

                    if (
    "" != objStr)
                    {
                        
    //MessageBox.Show(objStr.Length.ToString());
                        
    for (int i 0intLength i++)
                        {

                            if (!
    Char.IsDigit(objStr[i]))
                            {

                                
    strLetter += objStr[i];


                            }
                            else
                            {
                                
    strDigit += objStr[i];
                            }

                        }
                           
                    }

                    
    //Chuoi so sau khi filter
                    
    textBox1.Text strDigit;
                    if (
    "" != strLetter)
                    {
                        
    MessageBox.Show(objStr " = " strLetter " + " strDigit);
                    }

                    
    //Xu ly listView
                    
    int j 0;
                    for ( 
    0listView1.Items.Countj++ )
                    {
                        
    //MessageBox.Show(textBox1.Text.ToString() + " __ " + listView1.Items[j].Text.ToString());
                        
    if (textBox1.Text.ToString() == listView1.Items[j].Text.ToString())
                        {
                            
    listView1.Items[j].Selected true;
                            
    listView1.Items[j].Checked true;
                            
    listView1.Items[j].Focused true;
                            
    listView1.Items[j].EnsureVisible();
                            
    listView1.Focus();
                            break;
                        }


                    }

                    
    DialogResult dlResult = new DialogResult();
                    
    dlResult MessageBox.Show("Ban co muon xoa Item nay khong?""Info"MessageBoxButtons.YesNo);
                    if (
    DialogResult.Yes == dlResult)
                    {
                        
    listView1.Items.RemoveAt(j);
                        
    listView1.Refresh();

                    }
                }
            } 

  6. #6
    Ngày gia nhập
    07 2007
    Bài viết
    17

    Mặc định tách kí tự số ra khỏi chuổi

    mình search trên net và làm như sau
    Code:
     system.text.encodeding ascii= system.text.encodeding;
     byte[] a=ascii.getbyte("chuoi");
     char[] ch=ascii.getchar("chuoi");
    int i=0;
    string temp;
    foeach(byte b in a)
    if(b<38 || b>57)
    {
       break;
    }
       temp+=ch[i].tostring();
    i++;
    cac ban xem cai nao nhanh hon roi cho ý kiến nhé
    bạn dark co demo datagird cho minh xin nhe

  7. #7
    Ngày gia nhập
    11 2007
    Bài viết
    294

    Vấn đề về chuỗi của bạn đã xong rồi nhé,mặc dù theo dark thì cái code bạn tìm được cực chuối .Đoạn code của ccom trên kia là tương đối ổn .Mình nghĩ bạn nên làm theo cách đó .
    Còn về cái datagrid thì ok ,dark đã làm cho bạn 1 cái demo để bạn xem thử (cái này là dark thêm vài dòng vào 1 cái demo cũ ,nên có thừa 1 số chỗ ,nhưng mà tính lười nên chưa xóa đi .Bạn thông cảm nhé ).
    link : http://www.mediafire.com/?5n0gz1219nz
    Đã được chỉnh sửa lần cuối bởi darkan : 31-01-2008 lúc 09:03 PM. Lý do: reply xong rồi mới nhớ forum ko có attach file ^^!
    Is the moon rising...

  8. #8
    Ngày gia nhập
    06 2007
    Nơi ở
    TP.HCM
    Bài viết
    113

    Trích dẫn Nguyên bản được gửi bởi thanhhai_al Xem bài viết
    mình có chuổi:"1tuoi" mình muốn tách "1" ra khỏi chuổi thì làm thế nào
    vấn đề tiếp theo,mình có một textbox và một listview.listview chứa danh sách giống như danh bạ điện thoại,mình muốn khi mình nhập số máy vào textbox thì vệt sáng xanh trong listview di chuyển đến item có text tương ứng với textbox thì làm thế nào,mình muốn xóa item có text tương ứng với textbox thì làm thế nào
    Cái việc gán vệt sáng xanh cho dòng có text tương ứng với textbox thì nên chuyển sang cái listbox mà dùng. Chỉ cần 1 câu thôi là làm được việc đó
    PHP Code:
            private void textBox1_TextChanged(object senderEventArgs e)
            {
                
    listBox1.SelectedIndex listBox1.FindString(textBox1.Text);
            } 

    Gác Kiếm

  9. #9
    Ngày gia nhập
    11 2007
    Bài viết
    294

    Ờ nhỉ ,thế mà chả bao giờ nghĩ ra .
    Dark dùng datagrid nhiều nên đâm ra ko thèm để ý đến cái listview.
    Sơ suất thật .
    Is the moon rising...

  10. #10
    Ngày gia nhập
    10 2007
    Nơi ở
    HCMUNS
    Bài viết
    459

    Vấn đề ở đây là ListView mà, đâu phải ListBox đâu. Listbox thì nói làm gì nữa :(.

    ListView có một cái khó chịu nhất đó là nó bị mất focus thì mất luôn cái vệt sáng xanh (trong khi Listbox thì vẫn còn)
    Keep moving forward!

    ... Retired ...

Các đề tài tương tự

  1. Bài tập C++ Cách để so sánh 2 chuỗi kí tự giữa chuỗi nhập từ phím và chuỗi từ file xem có giống nhau không?
    Gửi bởi davilson18 trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 4
    Bài viết cuối: 09-06-2012, 09:47 AM
  2. Lập trình C Thay thế chuỗi s1 trong chuỗi s bằng chuỗi s
    Gửi bởi duytue trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 7
    Bài viết cuối: 23-09-2011, 04:16 PM
  3. thay thế chuỗi con thứ i trong chuỗi mẹ bằng 1 chuỗi khác
    Gửi bởi nhat1811 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 3
    Bài viết cuối: 06-08-2011, 08:25 AM
  4. Trả lời: 1
    Bài viết cuối: 29-06-2011, 12:02 AM
  5. xem một từ trong chuỗi là một chuỗi con, sắp xếp các chuỗi con theo thứ tự tăng dần
    Gửi bởi qpkdct1101 trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 0
    Bài viết cuối: 20-01-2011, 08:22 AM

Quyền hạn của bạn

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