#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오류가 나네요 어떻게 해결 해야 되죠? 그리고 지금 버블정렬 하는 거 하고 있는데 저런식으로 하는 거 맞나요? 실행은 되는데...