C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[72761] Re:range check error
bugfree [] 4142 읽음    2015-06-13 17:53
레겍스 패턴 구문을 왜 소트를 해요
레겍스 사용방법 부터 배우셔야 할듯요

도르레 님이 쓰신 글 :
: #include <fmx.h>
: #include <System.RegularExpressions.hpp>
: #include <string>
: #include <cstring>
: #include <iostream>
:
: #include "Unit2.h"
: //---------------------------------------------------------------------------
: #pragma package(smart_init)
: #pragma resource "*.fmx"
: TForm2 *Form2;
: //---------------------------------------------------------------------------
: __fastcall TForm2::TForm2(TComponent* Owner)
:     : TForm(Owner)
: {
: }
: //---------------------------------------------------------------------------
: void __fastcall TForm2::SearchEditButton1Click(TObject *Sender)
: {
:     ChangeTabAction1->Tab=TabItem2;
:     ChangeTabAction1->ExecuteTarget(NULL);
:
:     UnicodeString Site1 = TIdURI :: URLEncode ("http://book.naver.com/search/search.nhn?sm=sta_hty.book&sug=&where=nexearch&query="+Edit1->Text, IndyTextEncoding_UTF8 ());
:     Memo1->Text=IdHTTP1->Get(Site1);
:
:     String name("strong[^>]*>([^<]+)</strong>");  //책 제목
:     String sale_price("]*>([^<]+)""); //할인가
:
:     TRegEx reg;
:      TMatch m;
:
:     String b;
:
:     char tmp;
:
:     int i,j;
:
:     for(i=0;i<9;i++){
:     for(j=i+1;j<10;j++){
:
:     if(sale_price[i]>sale_price[j]){
:     tmp=sale_price[i];
:     sale_price[i]=sale_price[j];
:     sale_price[j]=tmp;
:         }
:     }
: }
:
:     for(i=0;i<Memo1->Lines->Count;i++)
:     {
:      m=  reg.Match(Memo1->Lines->operator[](i),name);
:     if(m.Success){
:        DynamicArray<UnicodeString> e = reg.Split(Memo1->Lines->operator[](i),name);
:        Memo2->Lines->Add( e[1] + "\n");
:      }
:
:      m=  reg.Match(Memo1->Lines->operator[](i),sale_price);
:      if(m.Success){
:        DynamicArray<UnicodeString> e = reg.Split(Memo1->Lines->operator[](i),sale_price);
:        Memo3->Lines->Add( e[1] + "\n");
:      }
:    }
: }
: //---------------------------------------------------------------------------
: void __fastcall TForm2::Button1Click(TObject *Sender)
: {
:     ChangeTabAction2->Tab=TabItem1;
:     ChangeTabAction2->ExecuteTarget(NULL);
: }
:
:  여기서 range check error오류가 나네요 어떻게 해결 해야 되죠? 그리고 지금 버블정렬 하는 거 하고 있는데 저런식으로 하는 거 맞나요? 실행은 되는데...

+ -

관련 글 리스트
72759 range check error 도르레 4093 2015/06/13
72761     Re:range check error bugfree 4142 2015/06/13
72762         Re:Re:range check error 4295 2015/06/13
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.