その後の処理に問題があるのではないかと見ています。FindString.Chars="test"
検索終ったあとのINIへの書込み
返信@yu0627
こうするとうまくいきませんか?
[ここをクリックすると内容が表示されます]
コード: 全て選択
Sub FindStr_CommandButton1_Click()
Dim FindString As String '検索文字列
Dim buffer As String 'EditBox1の文字列
Dim nPos As Long
Dim Length As Long '
'検索文字列を取得
FindString=GetDlgItemTextStr(hFindStr,ComboBox1)
'EditBox1の文字列を取得
buffer=GetDlgItemTextStr(hMainWnd,EditBox1)
If InStr(1, FindStringHistory, FindString) = 0 Then
'検索履歴バッファに検索文字列が無かった時
Dim lpstrKeyName[255] As Byte '気にしなくて良い
'検索文字列をINIファイルに追加
WritePrivateProfileString("FindString", "NumOfFindString", Str$(NowFindStringNum), ".\findstr.ini")
wsprintf(lpstrKeyName, "FindString(%d)", NowFindStringNum)
WritePrivateProfileString("FindString", lpstrKeyName, StrPtr(FindString), ".\findstr.ini")
NowFindStringNum++
'検索履歴バッファに検索文字列を追加
FindStringHistory = FindStringHistory + Ex"\r\n" + FindString
End If
'検索文字列をEditBox1の内容から検索
nPos = InStr(Count+1, buffer, FindString)-1
If nPos < 0 Then
MessageBox(hFindStr, "指定された文字列はありません", NULL, MB_OK)
Count=0
Exit Sub
End If
'検索文字列を選択してその位置までスクロールさせる
Length=nPos + Len(FindString)
Count=Length
SendMessage(GetDlgItem(hMainWnd,EditBox1), EM_SETSEL, nPos,Length)
SendMessage(GetDlgItem(hMainWnd,EditBox1), EM_SCROLLCARET, 0, 0)
SetFocus(GetDlgItem(hMainWnd, EditBox1))
End Sub