スポンサード リンク
2009年06月02日
NVelocity
テンプレートエンジンがあるみたい
PHPだと
Smarty
とかが有名だし
Perlだと
数か数の
moduleがあるから
それ入れればいいんだけど
しかし
それらは
if
とか
foreach
とか
使うだけだと
重い
単に置換するだけなら
replaceで
いけるけど
問題は
if
と
foreach
をどうやって
実現するかなんだけど
ちょっと
考えて
簡易テンプレートエンジンを
作ってみたいなあ
そうしたら
PCで
Movable type
みたいなのを
FTP
使って
できるような
気がする
そうすると
サーバーに
重いって
文句いわれない
(数々文句いわれ続けてます)
NVelocity NVelocity テンプレート テンプレート
2009年04月24日
IE(internet explorer)を開く
こんな感じで
いつも使っている
リダイレクトするURLだと
ちゃんと読み込みを確認してはくれないこともある
Public Sub OpenIE(ByVal objIE As Object, ByVal URL As String)
objIE.Navigate(URL)
Do While objIE.Busy
DoEvents()
Loop
Do While (objIE.document.readyState <> "complete")
DoEvents()
Loop
Do While objIE.readyState <> "4"
DoEvents()
Loop
Sleep(1000)
End Sub
でもつかえているんで
いいかな
IE internet explorer
2009年04月23日
Movable typeのインポートファイル
Movable typeや他のブログでも
インポートするときに
ItemのDictionaryにそれぞれの値を入力して
MTImportItem(Item)
とすると
インポートのフォーットで1記事分を返してくれます。
Public Function MTImportItem(ByVal Item As Dictionary(Of String, String)) As String
Dim Import As String
Dim LF As String = Chr(10)
Import = "AUTHOR: " & Item("Author") & LF
Import &= "TITLE: " & Item("Title") & LF
'Import &= "BASENAME: " & "post" & Item("No") & ".html" & LF
Import &= "STATUS: " & Item("Status") & LF
Import &= "CONVERT BREAKS: " & Item("Breaks") & LF
Import &= "PRIMARY CATEGORY: " & Item("Category") & LF
Import &= "DATE: " & Item("Date") & LF
If Item("Tags").Length > 0 Then
Import &= "TAGS: " & Item("Tags") & LF
End If
Import &= "-----" & LF
Import &= "BODY:" & LF
Import &= Item("Body") & LF
Import &= "-----" & LF
If Item("Extended").Length > 0 Then
Import &= "EXTENDED BODY:" & LF
Import &= Item("Extended") & LF
Import &= "-----" & LF
End If
If Item("Excerpt").Length > 0 Then
Import &= "EXCERPT:" & LF
Import &= Item("Excerpt") & LF
Import &= "-----" & LF
End If
If Item("Keywords").Length > 0 Then
Import &= "KEYWORDS:" & LF
Import &= Item("Keywords") & LF
Import &= "-----" & LF
End If
If Item("Comment").Length > 0 Then
Import &= "COMMENT:" & LF
Import &= Item("Comment") & LF
Import &= "-----" & LF
End If
Import &= "--------" & LF
Return Import
End Function
2009年04月07日
ブログ投稿ツール
今でも使っている、アフィリ用のブログ投稿ツールを
公開しました
URLは
http://www.affiliate-tool.com/
です。
これは
Yahooニュースからアクセスを引っ張ってくるために
無料ブログを使って
かんたんに複数のブログに投稿できるようにしたツールです。
公開から2週間くらいたったけど
なんと
予想を上回る現在約600人くらいのダウンロード
うれしいんだけど
ちゃんと動いているのかなあとかってとっても心配。
まだ、使っているツールはあるので
そのうち公開しようと思う。
やっぱり
使ってくれるひとがいると
うれしいなあ。
アフィリエイト
2009年01月13日
フォームのリサイズ(resize)
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>"
End Function
2009年01月07日
Livedoor にカテゴリを設定して投稿する準備
LivedoorにVisual Basic2008からカテゴリを設定して投稿できるようにした。
投稿のURLと
設定してあるカテゴリを取得するURL
そしてアップロードするURL
エンドポイントっていうのかなあ
それを取得するには
http://cms.blog.livedoor.com/atom/
こんな感じで
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() '応答を文字列化
これで
以下のような
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>
2008年11月21日
ファイル名に使えない文字を見つける
テキストボックスからなど文字を入力してもらい
それを(フォルダ)ディレクトリ名とかファイル名に用いる場合がある
ファイル名やフォルダ名には使えない文字がある
たとえば
: // ? | などはファイル名に使えない
これらはいちいちチェックすることは大変に面倒くさいことである
あるんだなあそんな関数が!
Path.GetInvalidFileNameChars()
に配列で、ファイル名に使えない文字が入っている
凄い
ということで
テキストを入力すると
使えない文字を返すというべたなFunction
最初に見つかった使えない文字を返します
Public FunctionNotFileName(ByVal InputText As String) As String
Dim invalidch As Char() = Path.GetInvalidFileNameChars()
Dim ReturnText As String = ""
For Each c As Char In invalidch
If InStr(InputText, c) > 0 Then
ReturnText = c
Exit For
End If
Next
Return ReturnText
2008年11月14日
メールをBasp21で簡単に送信
http://www.hi-ho.ne.jp/babaq/basp21.html からダウンロードできるDLLがあります
これをパソコンにインストールすると
メールを送ったり、FTPのアップロードなんかも
以下は、Sendmail before pop に対応して
一度
それから、いまどきのプロバイダのメールように、587のポートで送信しています。
Dim objBsp As Object
objBsp = CreateObject("Basp21")
Dim Err As String
'MailServerにログイン
objBsp.RcvMail(MailServer, MailUser, MailPass, "STAT", Dirname)
'メールを送ってエラーがあると、ERRに番号を入れます
'これは587でメール送信しています
Err = objBsp.SendMail(MailServer & ":587", MailTo, MailFrom, MailTitle, MailBody, FileName)
Return Err
2008年11月13日
文字列を変換してみる
たとえば
今日は晴れでした。気分がよかった
という文章を
ホームページに使うために
<p>今日は晴れでした。</p>
<p>気分がよかった</p>
というようにVB2008で置換するための関数です。
PTag("今日は晴れでした。気分がよかった")
と使うと、上記のように変換してくれます
Public Function PTag(ByVal Desc As String) As String
Dim OUT As String
OUT = Replace(Desc, "。", "。
")
OUT = "
"
OUT = Replace(OUT, "
", "")
Return OUT
End Function
簡単で応用がいろいろ利くと思いますので
もっと上手な方法もあるかと思うのですが
簡単で、あとから見ても分かりやすいと。。。
難しいのはわからないだけですが。
ではまた


