C++ Builder XE4 > String > 공통 Postfix 문자열 가져오기 > getCommonPostfixString()
5751 단어 cppBuilderstringOperation
C++ Builder XE4
처리 개요
code
Unit1.cpp
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
static String getCommonPostfixString(String strA, String strB)
{
for (int idx=0; idx < strA.Length(); idx++) {
String wrkStr = strA.SubString(idx, MAXINT); // MAXINT: 最後まで
if (strB.Pos(wrkStr) > 0) {
return wrkStr;
}
}
return L"";
}
void __fastcall TForm1::Button1Click(TObject *Sender)
{
ShowMessage( getCommonPostfixString(L"1 倍速", L"2 倍速") );
ShowMessage( getCommonPostfixString(L"30 小人", L"25 小人") );
ShowMessage( getCommonPostfixString(L"1024 バイト", L"20M バイト") );
}
//---------------------------------------------------------------------------
실행 예
용도
TComboBox의 Items로 정의한 문자열 중, 단위만을 제거하고 싶다.
단위는 getCommonPostfixString()로 취득한다.
이러한 소프트 구현으로 해 두면, 폼상의 디자인(TComboBox의 Items의 정의)을 변경한 후에도 소프트가 망가지지 않는다.
디자인의 변경과 코드의 변경, 양쪽 모두를 실시하지 않으면 안되는 상황의 회피안.
(수정 개소가 늘어나면 실패하고, 디버그 시간이 길어진다).
성실한 구현 (공통 문자열 얻기)
공통 문자열의 취득의 진지한 구현을 하면, 아래의 링크의 링크처에 있는 Delphi 코드를 C++ Builder용으로 다시 구현하면 좋을 것이다.
동기부여 7of9.
Reference
이 문제에 관하여(C++ Builder XE4 > String > 공통 Postfix 문자열 가져오기 > getCommonPostfixString()), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/7of9/items/328cf06e20023497a35b텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)