かずばん
勤続約37年、CAM関連の業務に携わりCAMデータ供給や、社内のNC工作機械新規設備の導入検討立上げなどにも携わる。
CAMは、昔の自動プロから始まり20年ほど前に3Dに移行後、GRADE、Space-E、HyperMILLを使用。
社内での立上げなどで携わったNC工作機械は、国内製では、マキノ、オークマ、OKK、安田、ソディック、ナガセ、ワイダなどで、海外製では、Hauser、Moore、Hermle など。
3D CAD
3D CAM
3Dプリンター
CNC
3次元測定器
IoT・AI(人工知能)
更新日:2017.06.23
覚書:C++Builder Memoコンポーネントで文字列検索
マシニングマスター「かずばん」のインダストリー4.0への挑戦
C++Builder のMemo コンポーネントで、文字列を検索し、その場所へ
カーソルを移動するには、どうしたらいいだろう?
EMBARCADERO や他のサイトにも情報があったけど、よくわからないな~
C++Builder Tips – メモコンポーネントとメッセージ
とりあえず、いろいろやってみたら、動いたの、残しておきます
//前方へ検索
int iMemoRow_ = Memo1->Perform(EM_LINEFROMCHAR,-1,0);
UnicodeString Key = Edit1->Text;
if(Key == “”) return;
int c = Memo1->Lines->Count;
UnicodeString Line;
int pos;
for(int i=iMemoRow_+1;i
pos = Line.Pos(Key);
if(pos){
iMemoRow_ = i;
break;
}else{
iMemoRow_ = 0;
}
}
Memo1->SelStart = Memo1->Perform(EM_LINEINDEX,iMemoRow_,0);
Memo1->Perform(EM_SCROLLCARET,0,0);
Memo1->SetFocus();
//後方へ検索
int iMemoRow_ = Memo1->Perform(EM_LINEFROMCHAR,-1,0);
UnicodeString Key = Edit1->Text;
if(Key == “”) return;
int c = Memo1->Lines->Count;
UnicodeString Line;
int pos;
for(int i=iMemoRow_-1;i>0;i–){
Line = Memo1->Lines->Strings[i];
pos = Line.Pos(Key);
if(pos){
iMemoRow_ = i;
break;
}else{
iMemoRow_ = c;
}
}
Memo1->SelStart = Memo1->Perform(EM_LINEINDEX,iMemoRow_,0);
Memo1->Perform(EM_SCROLLCARET,0,0);
Memo1->SetFocus();
高機能なCAD「Fusion 360」が学べるセミナー