VB2008でブラウザを作成中なのですが…

タグの編集
投稿者 天才  (中学生) 投稿日時 2009/7/10 04:01:14
VB2008ExpressEditionでブラウザ(もどき)を製作中です。
そこで、いわゆる「ブックマーク機能」を追加したいなと思っているのですが…
…………
わからない…。

どなたか方法を教えていただけませんか?
投稿者 るしぇ  (社会人) 投稿日時 2009/7/10 04:11:18
[Itmedia News ブラウザのブックマーク、使ってますか?]
http://www.itmedia.co.jp/news/articles/0607/18/news094.html
こんな記事もありますが。。。

URLを覚えるだけでは???
ブラウザを作ってるということは、URLの制御は自分で
やっているのでしょうから、分からないことが存在する
ように思えないのですが。
投稿者 天才  (中学生) 投稿日時 2009/7/10 05:32:57
るしぇさんありがとうございます。

確かにURL覚えるだけでもいいのですが、どうしてもつけたい機能なんです。

あと、僕はVisual Basicのヘルプにあった作り方通りに作っただけなので、
つける方法がわからないんです。

↓ここに来てください。
http://genius-blog.seesaa.net/
ここの「GENIUSBROWSER-0.2」(まあ実際はIEに乗っかって動いているだけですが。)
に、「ブックマーク機能」をつけたいんです。

回答よろしくお願いします。
投稿者 太郎冠者  (社会人) 投稿日時 2009/7/10 06:59:22
>確かにURL覚えるだけでもいいのですが、どうしてもつけたい機能なんです。
天才さんの言う「ブックマーク機能」とは具体的に何をする機能なのか
出来るだけ詳細に説明してみて下さい。



投稿者 天才  (中学生) 投稿日時 2009/7/10 07:22:41
IEやFireFoxのように、あらかじめページを登録しておけば、いちいちURLを打たなくても
「ブックマーク」ボタンを押せばそこへのリンクがある…

いわゆる、「お気に入り」です。
投稿者 魔界の仮面弁士  (社会人) 投稿日時 2009/7/10 08:00:58
URL をアプリに覚えさせるにあたり、分からない点は何でしょうか?


(1) URL をどこに保存すべきか分からない。

→一般的には、外部ファイル(TXT, XML, データベース等)または
 レジストリに保存する事になるかと思います。
 あるいは、App.Config に保存させるという手もありますね。

 また最近では、パソコン上では無くインターネット上に保存して、
 外出先からでも同じブックマークを使えるというソフトもあります。


(2) どんなデータを保存すべきか分からない。

→最低限必要なのは、勿論 URL でしょうね。それから必要に応じて、
 タイトル・登録日時・前回訪問時刻・Favicon などが記録できれば
 より便利かと思います。


(3) 保存場所は決まっているが、具体的にどのようなコードを書けば良いのか分からない

→URL の情報をどこにどんな形式で保存したいのかによりますので、
 先にそうした仕様を決めておかない事には、先に進めません。
 たとえば TXT ファイルへ書き出すなら、System.IO 名前空間のクラスを使いますし、
 XML ファイルを扱うなら、さらに System.Xml 名前空間のクラスも使うでしょう。
 データベースへの保存なら、System.Data 名前空間のクラスが必要になりますし、
 レジストリへの保存なら、Microsoft.Win32.RegistryKey クラスなどが必要でしょうね。


(4) ある程度プログラミングは書いてみたが、思うような結果にならない

→どのようなコードを書いて、それがどのように動作する事を期待していて、
 それが実際にはどうなってしまうのでしょうか? もしもエラーが出る場合は、
 なんというエラーになったのかも記載してみてください。


(5) どこから手をつけて良いのか分からない

→「何がわからないのか」が分からない事には、こちらも答える事ができません。
 自分にとって分からない部分が何であるか分析してみてください。もしくは、
 自分はどこまでなら作る事ができるのかを、分かる範囲で提示してみてください。
投稿者 トマト  (小学生) 投稿日時 2009/7/11 04:12:00
ぼくもブラウザを作っています。
いつもこんな感じに書いています。
'テキストに保存します。 
'WebBrowser1があるとします。 
Const SaveFolder As String = 保存先
Friend Sub BookmarkSave()
   My.Computer.FileSystem.WriteAllText(SaveFolder & WebBrowser1.DocumentTitle & ".txt", WebBrowser1.Url.ToString, False)
End Sub
投稿者 本名は入力しないようにしましょう。  (中学生) 投稿日時 2009/7/25 00:06:22
やられた!
投稿者 wii  (社会人) 投稿日時 2009/9/9 04:42:19
ListBoxで…
Imports System.IO
Public Class Form2

    Private Sub Form2_Load(ByVal sender As System.ObjectByVal e As System.EventArgs) Handles MyBase.Load
        Dim sr As New StreamReader("BookMark.txt", System.Text.Encoding.Default)
        While (sr.EndOfStream = False)
            Dim line As String
            line = sr.ReadLine
            ListBox1.Items.Add(line)
        End While

        sr.Close()
    End Sub

    
    
   

    Private Sub ListBox1_DoubleClick(ByVal sender As System.ObjectByVal e As System.EventArgs) Handles ListBox1.DoubleClick
        Form1.WebBrowser1.Navigate(ListBox1.SelectedItem)
    End Sub

    Private Sub ButtonAdd_Click(ByVal sender As System.ObjectByVal e As System.EventArgs) Handles ButtonAdd.Click
        With ListBox1

            'リストボックスに追加 
            .Items.Add(TextBox1.Text)
            .Items.Add(Form1.WebBrowser1.Url)

            'お気に入りの数を取得 
            Dim src As New StreamReader("BMCount.txt", System.Text.Encoding.Default)
            Dim count As Integer = Integer.Parse(src.ReadLine)
            src.Close()
            count += 1 'お気に入りの数-1+2でListBoxの数を求める 

            .SelectedIndex = 0 '選択の初期化 

            '書き込み 
            Dim sw As New StreamWriter("BookMark.txt"False, System.Text. _
                                       Encoding.Default)

            Do Until .SelectedIndex = count
                sw.WriteLine(.SelectedItem)
                .SelectedIndex += 1
            Loop

            sw.WriteLine(.SelectedItem)

            sw.Close()


            'カウンタを増やす 
            count += 1

            Dim swc As New StreamWriter("BMCount.txt"False, System.Text. _
                                        Encoding.Default)

            swc.WriteLine(count.ToString)

            swc.Close()


        End With
    End Sub
End Class

こうやってます。