2009年01月13日

フォームのリサイズ(resize)

フォームの大きさを変更したときのコード





そして


フォームを最小化したら


タスクトレイにアイコンを表示して


フォーム自身は表示しないようにする








Private Sub FormResize(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Resize


'FormResizeのときの動作





If Me.WindowState = FormWindowState.Minimized Then


Me.Visible = False


NotifyIcon1.Visible = True


Exit Sub


End If





SplitContainer3.Height = TabControl1.Height - 25


SplitContainer3.Width = TabControl1.Width - 8





TableLayoutPanel11.Height = SplitContainer3.Height - 60


TableLayoutPanel11.Width = SplitContainer3.Panel1.Width - 10





ListView1.Width = SplitContainer3.Panel1.Width - 10


ListView1.Height = (TableLayoutPanel11.Height - 70) / 2


ListView2.Width = SplitContainer3.Panel1.Width - 10


ListView2.Height = (TableLayoutPanel11.Height - 70) / 2





End Sub





そうとうはしょって書きましたが





タブコントロールを使っていて





フォームをリサイズしたときに


まず





タブコントロールのサイズを変更します








タブの中にSplitContainer3があって


それをまた変更します





その中のTableLayoutPanel11を変更





そして





TableLayoutPanel11の中の





Listview1


Listview2





のサイズも変更します

面倒ですが変更するものは


回りから内側に変更していけばエラーになりにくい

VB2008 resize

posted by kiyo at 21:34| フォーム | このブログの読者になる | 更新情報をチェックする

2009年01月08日

Livedoor にAtomでポスト

LivedoorにAtomで投稿するときのXML

カテゴリに前に書いたカテゴリを取得して
カテゴリの名前を入れれば
カテゴリを設定して投稿してくれます


Public Function AtomXML(ByVal Title As String, ByVal Body As String, ByVal Category As String)
        Dim XMLString As String

        XMLString = "<?xml version=""1.0"" encoding=""UTF-8""?>"
        XMLString &= "<entry xmlns=""http://purl.org/atom/ns#"" xmlns:dc=""http://purl.org/dc/elements/1.1/"">"
        XMLString &= "<title>" & Title & "</title>"
        XMLString &= "<dc:subject>" & Category & "</dc:subject>"
        XMLString &= "<content type=""text/html"" mode=""escaped"">"
        XMLString &= "<![CDATA[" & Body & "]]>"
        XMLString &= "</content>"
        XMLString &= "</entry>"

        Return XMLString
    End Function
ラベル:category ATOM Livedoor
posted by kiyo at 22:08| xml | このブログの読者になる | 更新情報をチェックする

2009年01月07日

Livedoor にカテゴリを設定して投稿する準備

Livedoor にカテゴリを設定して投稿する準備
LivedoorにVisual Basic2008からカテゴリを設定して投稿できるようにした。
投稿のURLと
設定してあるカテゴリを取得するURL
そしてアップロードするURL

エンドポイントっていうのかなあ
それを取得するには


http://cms.blog.livedoor.com/atom/

にAtomAPIで
こんな感じで
xml=atomget(username,password,endurl)
   Function atomget(ByVal username As String, ByVal password As String, ByVal endurl As String) As String

        'HTTP接続の作成
        Dim webreq As HttpWebRequest = CType(WebRequest.Create(endurl), HttpWebRequest)
        webreq.Method = "GET" 'GET指定
        webreq.UserAgent = "Blogposter" 'UA設定(ソフト名)

        'WSSE認証の作成
        Dim shasp As New System.Security.Cryptography.SHA1CryptoServiceProvider() 'SHA処理用
        Dim nowt As DateTime = DateTime.Now '現在の時間取得
        Dim tim As String = nowt.ToString("yyyy-MM-ddTHH:mm:ssZ") '文字列にする(2005-12-11T22:39:56Z)の形式
        Dim non As String = "inininininininininin" 'Nonce(WSSEに必須の20文字の文字列)
        Dim b64 As String = System.Convert.ToBase64String(shasp.ComputeHash(System.Text.Encoding.UTF8.GetBytes(non & tim & password))) 'NonceTimePasswordをSHA→Base64エンコード
        Dim ninsyou As String = "UsernameToken Username=""" & username & """, PasswordDigest=""" & b64 & """, Nonce=""" & System.Convert.ToBase64String(System.Text.Encoding.ASCII.GetBytes(non)) & """, Created=""" & tim & """" '認証文の完成
        webreq.Headers.Add("X-WSSE", ninsyou) 'HTTP接続に付ける

        'HTTP接続を実行
        Dim st As System.IO.Stream = webreq.GetResponse().GetResponseStream() '接続
        Dim sr As New System.IO.StreamReader(st, System.Text.Encoding.GetEncoding("UTF-8")) 'デコード
        Return sr.ReadToEnd() '応答を文字列化

    End Function


これで

以下のような
xmlが得られる

<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://purl.org/atom/ns#">
  <link xmlns="http://purl.org/atom/ns#" type="application/x.atom+xml" rel="service.post" href="http://cms.blog.livedoor.com/atom/blog_id=123" title="テニス"/>
  <link xmlns="http://purl.org/atom/ns#" type="application/x.atom+xml" rel="service.feed" href="http://cms.blog.livedoor.com/atom/blog_id=123" title="テニス"/>
  <link xmlns="http://purl.org/atom/ns#" type="application/x.atom+xml" rel="service.categories" href="http://cms.blog.livedoor.com/atom/blog_id=123/svc=categories" title="テニス" />
  <link xmlns="http://purl.org/atom/ns#" type="application/x.atom+xml" rel="service.upload" href="http://cms.blog.livedoor.com/atom/blog_id=123/svc=upload" title="テニス" />
</feed>

posted by kiyo at 21:56| xml | このブログの読者になる | 更新情報をチェックする
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。