沖の雑記帳

基本的には趣味に絡んで雑多な内容を色々と

Python2.7でBinaryファイルを書き込みたい

読み込んだファイルのバウンダリを調整して別のファイルに書き出したいという状況でそのまま書こうとすると文字列じゃねーよって怒られた。
なので、どう書くんだろうと調べてたりして以下の様なコードを作成

なんか、えらく非効率なことをやっている気がするのですが…
一部省略して処理部分のみ

# -*- coding: utf-8 -*-
with open(rdfile, 'rb') as rfp:
    buf = rfp.read()
rdlen = len(buf)
wtlen = ((rdlen + (boundary - 1)) // boundary) * boundary
wtbuf = [0] * wtlen

for i in xrange(rdlen)
    wtbuf[i] = buf[i]
wtdata = bytearray(wtbuf)

with open(wtfile, 'wb') as wfp:
    wfp.write(wtdata)

大体こんな感じ。
もっと効率的な書き方ってないものかな?

Vimxlsというものを入れてみた

はてなをうろついてたらVimxlsというものがあるのを知った*1
Vimmerとしては使ってみたい。

ということで早速入れてみたんだけおキーバインドがいくつか微妙な気がしていじりたいと思ったけど.vimrcのようなものがある感じはしない…
で、色々と探してみた結果最終的には他に変更の仕方が見当たらなかったのでやや強引だが

リボンから開発→Visual Basicを選択
プロジェクトエクスプローラから"VBAProject (VimExcel_1.0.0.xla)*2を開く
標準モジュールの"VimExcel"を開く
Sub changeVim()以下の変更したいKeyAssignを探す
変更したい内容に書き換える
という手段を取ってみた。

画像がアップできないのでとりあえず文章だけ。
さらに、これだけだとVim modeから抜けた際に元から定義してあるキーじゃないと元に戻らない

今度は標準モジュールから"AllKeyAssign"を開いて

Function AllKeyAssign_dummy()を編集
追加したキーを他の記法にならって追加

同様に
Function AllKeyAssign_reset()を編集
上記と同様に追加

今回編集したのは下記

Sheetの切替のv/Vがいまいちピンと来なかったので適当に切り替えてみた。

VimExcel

Sub changeVim()
  '(略)
  'Application.OnKey "v", "activateNext"          'Activate Next sheet
  'Application.OnKey "+v", "activatePrevious"     'Activate Previous sheet
  Application.OnKey " ", "activateNext"          'Activate Next sheet
  Application.OnKey "+ ", "activatePrevious"     'Activate Previous sheet
  '(略)
End Sub

AllKeyAssign

Function AllKeyAssign_dummy()
    Application.OnKey "a", "dummy"
    Application.OnKey "b", "dummy"
    '(略)
    Application.OnKey " ", "dummy"
    Application.OnKey "+ ", "dummy"
End Function

Function AllKeyAssign_reset()
    Application.OnKey "a"
    Application.OnKey "b"
    '(略)
    Application.OnKey " "
    Application.OnKey "+ "
    
End Function

Sheetの切替をspace/Shift+spaceに切り替えてみただけです。
でも、これだと'?'で表示されるダイアログは変わらないんだよなぁ
と思ったらこれフォームにベタ書きしてるじゃないのよ。
うーん…もっと良い方法知ってる方いません?

あとすこし追記
KeyAssignに追加する場合

文字やキー(Spaceは' 'だけど他はわかってない)そのものは" "とかそのまま書けば良い。
Shift+文字にしたい場合は、"+(文字)"のように'+'をつけてやるとShift+(文字)になる。
Ctrl+文字にしたい場合は、"^(文字)"のように'^'をつけてやるとCtrl+(文字)になる。

*1:<Vim, Excel> Vimxlsを入れてみた。 - ねこゆきのメモ

*2:1.0.0の部分はバージョンによって異なる

ファンタシースター感謝祭福岡に行ってきました

2泊3日で福岡の観光(食べ歩き?)とファンタシースター感謝祭福岡に参加してきました。
本来の目的はアークスグランプリ福岡予選
『コトシロの屍を越えてゆけ』というチーム名でPC部門に参加

初日は、翌日の感謝祭に参加するメンバーとキャナルシティ一蘭にラーメンを食べに行ったり、天神駅パルコのスイーツパラダイスのアークスカフェ期間限定の出張店に行ってきました。
ラーメンを食べた1時間後にはスイーツパラダイスでスイーツを食べる。
正直食べ過ぎですよね。

続きを読む

ファンタシースター感謝祭2016&アークスグランプリ2016福岡予選参加決定

昨年から今年にかけてはアークスフェスティバル、ファンタシースター感謝祭2016と続いたため今回の感謝祭は初参加になります。
昨年から参加可能な日程でかつアークスグランプリ参加メンバーが集められそうなエリアでの参加を絞って計画を立てていました。
メンバーが確定したのもつい2週間ほど前ですし、メンバー練習のタイムも芳しくありませんが、先日リーダーから福岡予選の当選連絡が来ました。
これまでのアークスグランプリは全て予選敗退。公式絡みだとサービスイン初年度のアークスパーティーのみ入賞

今回も参加できることになったので今度こそは地区予選突破を目指したいところです。
あと、念願(?)だった参加記念ステッカーとピンズが貰えるのが嬉しかったりもします。

続きを読む

まずは自己紹介

大昔にはてなダイアリーを使用してたこともあったのだけども色々あって削除しちゃったので数年ぶりにはてなに復帰してみたので自己紹介からでも

どうも初めまして、沖 滉均です。
普段は大体、Twitter(ID:@h_oki)で適当にその時々色々なことをツイートしています。

続きを読む