検索窓をつくる
投稿者 るきお  (社会人)
投稿日時
2011/8/27 00:51:30
Googleの場合、
①たとえば、「vb」と入力すると、「vba」、「vbs」、「vb.net」などがTextBoxからびろーんと伸びて表示されますが、これを実現したいということでしょうか?
②それとも、「vb」と入力すると、「vb」について書いてあるWebサイトの一覧が検索結果として表示されますが、これを実現したいということでしょうか?
①であれば、TextBoxのオートコンプリート機能(AutoCompleteSourceプロパティなど)で実現できます。
②であれば、自分で検索対象から結果を抽出するプログラムを書いて実現します。検索対象はWebサイトでしょうか?
①たとえば、「vb」と入力すると、「vba」、「vbs」、「vb.net」などがTextBoxからびろーんと伸びて表示されますが、これを実現したいということでしょうか?
②それとも、「vb」と入力すると、「vb」について書いてあるWebサイトの一覧が検索結果として表示されますが、これを実現したいということでしょうか?
①であれば、TextBoxのオートコンプリート機能(AutoCompleteSourceプロパティなど)で実現できます。
②であれば、自分で検索対象から結果を抽出するプログラムを書いて実現します。検索対象はWebサイトでしょうか?
投稿者 xvmmtnk  (高校生)
投稿日時
2011/8/27 13:13:33
①です。
文字が入力されたときに、自動的にインターネットから候補を取得して、・・・。
IE7とIE8(IE9も?)の右上にある検索ボックスみないなものを作りたいのです。
↓のようなものです。
文字が入力されたときに、自動的にインターネットから候補を取得して、・・・。
IE7とIE8(IE9も?)の右上にある検索ボックスみないなものを作りたいのです。
↓のようなものです。
投稿者 (削除されました)  ()
投稿日時
2011/8/27 13:13:34
(削除されました)
投稿者 xvmmtnk  (中学生)
投稿日時
2011/8/27 19:46:39
申し訳ありません。
前の返信に、「高校生」と書いてあるのですが、実は中学生です。
選択ミスです。すいません。
前の返信に、「高校生」と書いてあるのですが、実は中学生です。
選択ミスです。すいません。
投稿者 ぺぺたろう  (中学生)
投稿日時
2011/8/28 01:58:22
Google Suggest APIというのがあるそうですよ
投稿者 るきお  (社会人)
投稿日時
2011/8/29 13:11:23
候補を表示する機能は、
前に書いたようにTextBoxのオートコンプリート機能(AutoCompleteSourceプロパティなど)で実現できます。
詳細は、クラスライブラリ詳解のTextBox の「6.オートコンプリート」で説明しています。
http://homepage1.nifty.com/rucio/main/dotnet/ClassLibrary/L006_System.Windows.Forms.TextBox.htm
で、その候補をどこから持ってくるかはこれとは別に自分で考える必要があります。
ぺぺたろうさん紹介のGoogle Suggest APIは私は使ったことはありませんが、その手段の1つとして使えそうです。
前に書いたようにTextBoxのオートコンプリート機能(AutoCompleteSourceプロパティなど)で実現できます。
詳細は、クラスライブラリ詳解のTextBox の「6.オートコンプリート」で説明しています。
http://homepage1.nifty.com/rucio/main/dotnet/ClassLibrary/L006_System.Windows.Forms.TextBox.htm
で、その候補をどこから持ってくるかはこれとは別に自分で考える必要があります。
ぺぺたろうさん紹介のGoogle Suggest APIは私は使ったことはありませんが、その手段の1つとして使えそうです。
投稿者 xvmmtnk  (中学生)
投稿日時
2011/9/5 19:26:35
GoogleのAPIは、検索するときに使おうと思います。
候補は、自分で作ってみようと思います。
解決次第、ご報告させて頂きます。
候補は、自分で作ってみようと思います。
解決次第、ご報告させて頂きます。
投稿者 ぺぺたろう  (中学生)
投稿日時
2011/9/5 21:28:18
僕が紹介したのは候補のAPIなのですが・・・
投稿者 xvmmtnk  (中学生)
投稿日時
2011/9/7 19:13:40
ぺぺたろうさん、すいません。
少ししか調べてなかったので、検索用のAPIだと思っていました。
使ってみます。
少ししか調べてなかったので、検索用のAPIだと思っていました。
使ってみます。
投稿者 xvmmtnk  (中学生)
投稿日時
2011/9/18 19:59:31
一応作れたのですが、候補が更新されません。
Private Sub TextBox1_ModifiedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.ModifiedChanged
AddSource(SuggestGoogle(TextBox1.Text))
End Sub
Public Function SuggestGoogle(ByVal text As String)
Dim client As System.Net.WebClient = _
New System.Net.WebClient()
Dim url As String
url = "http://www.google.com/complete/search?hl=en&q=" & text & "&output=toolbar"
Dim wkStream As System.IO.Stream = _
client.OpenRead(url)
Dim sr As StreamReader = _
New StreamReader(wkStream, _
System.Text.Encoding.GetEncoding("euc-jp"))
Dim html As String = sr.ReadToEnd()
sr.Close()
wkStream.Close()
Return html
End Function
Public Sub AddSource(ByVal source As String)
Dim data As XDocument = XDocument.Parse(source)
For Each SData In data.Root.<CompleteSuggestion>.<toplevel>
TextBox1.AutoCompleteCustomSource.Add(SData.@CompleteSuggestion)
Next
End Sub
Googleの検索窓を作ろうとおもっているのですが、例えば、「123」と入力されたら、ListBoxなどにその候補を出す方法などはありませんか?
わかりにくくてすいません。
お願いします。