|
대략 아래와 같은 형태로 되겠지만 ... 문제가 있어 보이는 군요.
- heredity -
AnsiString S;
int StartPos = 0;
if (FSelPos == 0) {
FindDlg->Options = FindDlg->Options >> frFindNext;
}
if(FindDlg->Options.Contains( frFindNext ) ) {
StartPos = FSelPos + FindDlg->FindText.Length();
S = MemLog->Lines->Text.c_str() + StartPos;
}
else {
S = MemLog->Lines->Text;
StartPos =1;
}
FSelPos = S.Pos( FindDlg->FindText );
if(FSelPos > 0) {
FSelPos = FSelPos + StartPos - 1;
MemLog->SelStart = FSelPos -1;
MemLog->SelLength = FindDlg->FindText.Length();
MemLog->SetFocus();
}
else {
if (FindDlg->Options.Contains( frFindNext ) ) {
S.sprintf( "There are no further occurences of %s in Memo1.", FindDlg->FindText );
}
else {
S.sprintf( "Could not find %s in Memo1.", FindDlg->FindText );
}
MessageDlg(S, mtError, TMsgDlgButtons() << mbOK, 0);
}
공윤경 님이 쓰신 글 :
: int StartPos;
: AnsiString S;
: int startpos;
: if (FSelPos == 0) {
:
: FindDlg->Options = FindDlg->Options-[frFindNext];
:
: if(FindDlg->Options.Contains(frFindNext)) {
:
: StartPos = FSelPos + FindDlg->FindText.Length();
: S = MemLog->Lines->Text;
: }
: else {
: S = MemLog->Lines->Text;
: StartPos =1;
: }
: FSelPos = S.Pos(FindDlg->FindText);
: if(FSelPos > 0) {
: FSelPos = FSelPos + StartPos - 1;
: MemLog->SelStart = FSelPos -1;
: MemLog->SelLength = FindDlg->FindText.Length();
: MemLog->SetFocus();
: }
: else {
: if (FindDlg->Options.Contains(frFindNext)) {
: ShowMessage(AnsiString().sprintf("There are no further occurences of %s in LogFile",FindDlg->FindText));
: }
: else {
: ShowMessage(AnsiString().sprintf("Could not find %s in LogFile",FindDlg->FindText));
: }
: }
: }
:
: 다시 일케 바꿨거든요.
:
: FindDlg->Options = FindDlg->Options-[frFindNext];
:
: 이부분에서 구문에러가 나고 그 이상은 에러가 안나요.
:
:
: evergreen 님이 쓰신 글 :
: : if (FindDlg->Options.Contains( frFindNext ) ) {
: : ...
: : }
: : 로 바꿔 보세요.
: :
: :
: : 공윤경 님이 쓰신 글 :
: : : AnsiString S;
: : : int startpos;
: : : if (FSelPos == 0) {
: : : FindDlg->Opations = FindDlg->Options-[frFindNext];
: : : if(Options == frFindNext) {
: : : StartPos = FSelPos + FindDlg->Text.Length();
: : : S = CopyMemory(MemLog->Lines->Text,StartPos, MaxInt);
: : : }
: : : else {
: : : S = MemLog->Lines->Text;
: : : StartPos =1;
: : : }
: : : FSelPos = Pos(FindDlg->FindTExt,S);
: : : if(FSelPos > 0) {
: : : FSelPos = FSelPos + StartPos - 1;
: : : MemLog->SelStart = FSelPos -1;
: : : MemLog->SelLength = FindDlg->FindText.Length();
: : : MemLog->SetFocus;
: : : }
: : : else {
: : : if (FindDlg->Options==frFindNext) {
: : : S := Concat('There are no further occurences of "', FindText,
: : : '" in Memo1.')
: : : }
: : : else {
: : : S := Concat('Could not find "', FindText, '" in Memo1.');
: : : MessageDlg(S, mtError, [mbOK], 0);
: : : }
: : : }
: : : }
: : :
: : : 일단 링크된 화일을 보고 고쳐봤습니다. 다른건보다
: : :
: : : if (FindDlg->Options.Contains==frFindNext) {
: : : 옵션확인하는 부분을 어떻게 해야할지 모르겠어요 .저렇게 하면 에러가 나는데... 어떻게 해야하나요?
|