30/09/2018, 16:26

Tìm kiếm find trong winform C++

Em có đoạn code như sau:

private: System::Void btnStart_Click(System::Object^  sender, System::EventArgs^  e)
{
    int index =0;
    String^ kod("CIRC");
    String^ temp=richTextBox1->Text;
    richTextBox1->Text = "";
    richTextBox1->Text = temp;
    while (index < richTextBox1->Text->LastIndexOf(kod))
    {
        richTextBox1->Find(kod, index, richTextBox1->TextLength, RichTextBoxFinds::None);
        index = richTextBox1->Text->IndexOf(kod, index) +1;
    }
}

Đoạn này sẽ tìm kiếm. Nếu em để vòng while chạy thì nó sẽ tìm kiếm từ đầu đên cuối. Nếu em k dùng while và k cho index +1 thì nó tìm từ đầu tiên. Nhưng em muốn cả từ cuối cùng. Mọi người giúp em với!

Nguyễn Minh Dũng viết 18:29 ngày 30/09/2018

Nhưng em muốn cả từ cuối cùng

Nghĩa là sao @Thanh_Chu anh chưa hiểu lắm. Em có thể cho một ví được không?

Thành Chu viết 18:39 ngày 30/09/2018

có thể cho

Tức là em cần tìm từ xuất hiện đầu tiên và cuối cùng ấy anh

Thành Chu viết 18:29 ngày 30/09/2018

Em làm xong rùi, up code lên cho mọi người tham khảo (chú ý đến hàm LastIndexOf()):

            int index2 =0;

           String^ kod("CIRC");

           String^ temp=richTextBox1->Text;

           //richTextBox1->Text ="";

           //richTextBox1->Text = temp;
           index2 =richTextBox1->Text->LastIndexOf(kod);
           {
richTextBox1->Find(kod,index2, richTextBox1->TextLength, RichTextBoxFinds::None);
                          {
richTextBox1->Text=richTextBox1->Text->Insert(richTextBox1->SelectionStart,txtapp->Text);
                           }}
           richTextBox1->SelectionBackColor =Color::Yellow;
           MessageBox::Show("Done!");
           }
     }
Nguyễn Minh Dũng viết 18:34 ngày 30/09/2018

Cảm ơn @Thanh_Chu đã update solution sau khi làm xong nhé. Nhưng anh có một góp ý là em không sử dụng markdown để format code nên code trông rất xấu.

Nó trông thế này:

Nếu anh dùng markdown sẽ lại nó sẽ trông như bây giờ. Anh đã sửa lại bài của em.

Thành Chu viết 18:31 ngày 30/09/2018

Em ms tham gia diễn đàn, nên em có biết mấy cái anh nói đâu :(. EM cư up lên xong lại thấy có người sửa lại chứ em cũng không biết mấy cái đó.

Nguyễn Minh Dũng viết 18:36 ngày 30/09/2018

Markdown là cái này:

Làm sao để có thể hiển thị syntax highlighting bằng markdown? Các bạn phải đánh dấu ``` như ví dụ dưới đây Chú ý, dấu ``` được tạo ra bởi nút nằm bên trái số 1 trên bàn phím, nút này sẽ là ~ khi bấm giữ Shift Ví dụ cho C Nội dung: ``` void main() { } ``` Và đừng quên ``` ở cuối Kết quả void main() { } Ví dụ cho Pascal Nội dung: ``` Program HelloWorld; Begin WriteLn('Hello world!') {no ";" is required after the last statement of a block - adding one adds a "null stateme…

Rất dễ sử dụng

Bài liên quan
0