gccでcygwin1.dllに依存しないようコンパイル
2006-11-17-1 / カテゴリ: [win][cygwin][c] / [permlink]

-mno-cygwin を付加する
$ gcc -mno-cygwin foobar.c
これでBCC要らない…のか?
$ cygcheck ./a
.\a.exe
  C:\WINDOWS\system32\msvcrt.dll
    C:\WINDOWS\system32\KERNEL32.dll
      C:\WINDOWS\system32\ntdll.dll

ショートネーム・ロングネーム変換
2006-11-15-1 / カテゴリ: [win][perl] / [permlink]

Win32モジュール使用

use Win32;
use Cwd;

$pwd = cwd();
print $pwd, "\n";
$pwd = Win32::GetShortPathName($pwd); # ショートネーム(8.3形式)に変換
print $pwd, "\n";
$pwd = Win32::GetLongPathName($pwd);  # ロングネームに変換
print $pwd, "\n";
結果
C:/Documents and Settings/hmiyazaki/My Documents/prog/perl
C:/DOCUME~1/HMIYAZ~1/MYDOCU~1/prog/perl
C:/Documents and Settings/hmiyazaki/My Documents/prog/perl

あまり高速ではないみたいなので、一度に大量(フォルダ内の数千のファイルとか)を変換するときは、"dir /x"の結果を一度ハッシュに取得して、それを変換テーブルとして変換したほうがはるかに速い。

ただし、cygwin がインストール済み、coreutil パッケージがインストール済み、cygwin に$PATHを通している場合は、/bin/dir.exe を実行してしまってwindowsネイティブの"dir /x"が実行できないので、リネームするなどして実行できないようにしておく必要あり。

ひょっとしたら"あまり高速ではない"のは、数千のファイルがあるフォルダで実行したからかもしんない…が、時間がないので未検証…

特定条件のセル数をカウント
2006-11-14-2 / カテゴリ: [win][office][excel] / [permlink]

=COUNTIF(B2:B55, "c")
セルB2〜B55の間の、セルが"c"になっているセルをカウント

=COUNTA(B2:B55)
セルB2〜B55の間の、空以外のセルをカウント

=COUNTBLANK(B2:B55)
セルB2〜B55の間の、空のセルをカウント

文字列比較
2006-11-14-1 / カテゴリ: [win][office][excel] / [permlink]

=EXACT(A2,"文字列")
一致すればTRUE 不一致ならFALSE

条件付書式の設定で、「数式が」「=EXCACT(A2,"有り")」の書式を選択すれば、セルの値が"有り"の箇所の書式のみ変更できる。

取り消し線のショートカット
2006-11-01-1 / カテゴリ: [win][office][excel] / [permlink]

[2006-08-01-2]
あった
  • Ctrl-1: セルの書式設定
  • Ctrl-2: 太字(^bと同じ)
  • Ctrl-3: 斜体(^iと同じ)
  • Ctrl-4: 下線(^uと同じ)
  • Ctrl-5: 取り消し線(ない)
Ctrl-[a-z]は試したけど、数字は試してなかったか。
でも、数字キーってタイプしにくいんだよな^^;


OfficeXP Office2003 で確認

iniファイルの読み書き
2006-09-13-1 / カテゴリ: [win][programming][c] / [permlink]

お手軽簡単。設定ファイルの読込み。
int n;

n = GetPrivateProfileInt("Option", "foo", 100, "config.ini");

[Option]
foo=1024
bar=c:\winnt
なconfig.iniを読み込む。n は 1024 になる。(fooがなければ100)

文字列の場合は
char str[BUF];

GetPrivateProfileString("Option", "bar", "c:\\windows", str, sizeof(str), "config.ini");
で、str に "c:\winnt" が入る(barがなければ c:\windows)
戻り値はstrに入った文字列長。

iniファイルへの書き込みは
WritePrivateProfileString("Option", "baz", "qux", "config.ini");
config.iniのセクション"Option"に"baz=qux"を書く。セクション・キーがなければ新規に作成される。成功すれば0以外、失敗は0が返る。キー名をNULLにすればセクションが、値をNULLにすればキーが削除される。
数値を直接書くAPIはないので、sprintfあたりで文字列を生成して書き込む。

BCCで文字コード変換
2006-09-08-1 / カテゴリ: [win][programming][c] / [permlink]

とゆーアレで。
普段ならPerlでJcodeなり使ってとっとこやるとこだけど、妹さん(winユーザ)からアプリ(数千通のメールの集計処理)のリクエストなのでPerlインタプリタは候補からはずれる。
BCC(Borland C++ Compiler)で文字コードを変更する必要が。
ざっと検索した感じでは、iconvのWindows用DLLが使えそう。
続きを読む

録画予約待機中のサスペンド
2006-06-23-1 / カテゴリ: [win] / [permlink]

クロサギ最終回(つっても、6〜7話くらいから見てるので話ついて行ってないけど…orz)をDellマシンで録画予約してみた。サスペンド中に録画時間になると自動で復帰するけど、録画終了後も復帰しっぱななのは…しかたないのかなぁ。
テレビの表示はイマイチだと思ってたけど、一度DVDにコピーしテレビで見ると、割と綺麗になった。

Sylpheedへ乗り換え
2006-04-22-1 / カテゴリ: [win][メール][アプリ] / [permlink]

結局乗り換えた。
会社で使うには Sylpheed の方が添付ファイルの扱いが簡単だから…。

あとは検索で複数フォルダにまたがって検索できれば完璧なんだけどなぁ。
TODO見ると、現在作業中で破線になってるから近いうちに使えるようになると期待してるけど。

リバースポイント
2006-04-14-1 / カテゴリ: [win] / [permlink]

ネットワークドライブはマウントできないっぽい。

ネットの至る所でで「Unixのシンボリックリンクのように」って説明…おかしくないか?

ネットワークを使用中のプログラム一覧
2006-03-14-2 / カテゴリ: [win][command] / [permlink]

-b 付きで netstat 実行
> netstat -b

Active Connections

  Proto  Local Address          Foreign Address        State           PID
  TCP    MOZZARELLA:2542        localhost:2543         ESTABLISHED     4076
  [firefox.exe]

  TCP    MOZZARELLA:2543        localhost:2542         ESTABLISHED     4076
  [firefox.exe]

  TCP    MOZZARELLA:2869        localhost:3920         ESTABLISHED     1288
  C:\WINDOWS\System32\httpapi.dll
  c:\windows\system32\upnphost.dll
  C:\WINDOWS\system32\RPCRT4.dll
  C:\WINDOWS\system32\ole32.dll
  [svchost.exe]

クリップボード操作
2006-03-08-3 / カテゴリ: [win][perl] / [permlink]

Win32モジュール使用

テキストをセット
use Win32::Clipboard;
Win32::Clipboard("foo\nbar");
または
$clip = Win32::Clipboard();
$clip->Set("foo\nbar");

テキストのゲット
$getstring = $clip->GetText();

テキスト以外でもとにかくクリップボードの中をゲット
$buffer = $clip->Get();

クリップボードの内容の消去
$clip->Empty();

ターミナルへの表示をマウスでコピペするのが嫌で STDIN をクリップボードにセットするスクリプトを書いたが、cygwin 環境のためか割りと重い…
というか、悲しいくらいデリファレンスの書き方を忘れてる orz
Referrer (Inside): [2010-01-31-1]

ルーティングの表示・変更
2006-03-02-1 / カテゴリ: [win][command][network] / [permlink]

表示
> route print
または
> netstat -r
:
===========================================================================
Active Routes:
Network Destination        Netmask          Gateway       Interface  Metric
          0.0.0.0          0.0.0.0      192.168.1.1   192.168.1.100       20
        127.0.0.0        255.0.0.0        127.0.0.1       127.0.0.1       1
      192.168.1.0    255.255.255.0    192.168.1.100   192.168.1.100       20
    192.168.1.100  255.255.255.255        127.0.0.1       127.0.0.1       20
    192.168.1.255  255.255.255.255    192.168.1.100   192.168.1.100       20
        224.0.0.0        240.0.0.0    192.168.1.100   192.168.1.100       20
  255.255.255.255  255.255.255.255    192.168.1.100   192.168.1.100       1
  255.255.255.255  255.255.255.255    192.168.1.100               3       1
Default Gateway:       192.168.1.1
===========================================================================
:

Destination: 172.26.0.0 / Netmask: 255.255.0.0 の Gateway を 192.168.1.1 として追加
> route add 172.26.0.0 mask 255.255.0.0 192.168.1.1

↑の Gateway を 10.0.0.1 に変更
> route change 172.26.0.0 mask 255.255.0.0 10.0.0.1

↑の設定を削除
> route delete 172.26.0.0

add と change は実際に経路がないと設定できないっぽい(XP SP2)

Win版sylpheed
2006-02-23-1 / カテゴリ: [win][メール][アプリ] / [permlink]

betaが取れたので入れてみた。相変わらず $HOME を見てないような気がするんだけど…。環境が悪いのかな??
C:/cygwin/home/user/Mail をローカルフォルダにするには、 C:/Documents and Settings/user/Application Data/Sylpheed/folderlist.xml の
:
<folderlist>
    <folder type="mh" name="メール箱" path="C:/cygwin/home/user/Mail">
:
とすれば見てくれる。
検索フォルダの設定はメニューの[編集(E)]->[メッセージを検索(S)]の検索ウインドウを出し、[検索フォルダとして保存(S)]すればOK
(ただし、Mail以下にキャッシュ用のフォルダが作成される)

外部コマンドで「メールの受信」を設定できないのはWin版の仕様なのかなぁ。fetchmail使いたいんだけどなぁ。

IEのHTTPヘッダを表示する
2006-02-01-1 / カテゴリ: [win][HTTP][アプリ] / [permlink]

blunck.info
IEのエクスプローラバーに、HTTPの通信内容(ヘッダ)を表示するようにする。Firefox の Live HTTP Headers と同等、かな。
Live HTTP Headers と同じく、HTTPS の通信内容も見れるのが良いな。
窓の杜

今更メモ。

バッチで環境変数を変更(part2)
2006-01-15-2 / カテゴリ: [win] / [permlink]

[[2005-11-15-1]]の追加情報
既存の環境変数に変数を「追加」するとき(bash だと export PATH="$PATH;~/bin"みたいな)

Set objShell = WScript.CreateObject("WScript.Shell")

' User環境変数の取得
Set colEnv = objShell.Environment("User")

' User環境変数の追加
colEnv.Item("path") = colEnv.Item("path") & ";C:\borland\bcc55\Bin"
colEnv.Item("include") = colEnv.Item("include") & ";C:\borland\bcc55\Include"
Borland C++ をインストールするときの環境変数変更バッチファイル、ということで。

文法がわからん… もっとスマートなやり方があるんだろうな。Perl ならどんな変更でも実装できるのになぁ。

wsh(?)のコメントは、行頭(?)にシングルクォートみたいだ。何なんだ、これは。

PC用QRコード作成・読み取りアプリ
2006-01-10-1 / カテゴリ: [win][携帯][アプリ] / [permlink]

携帯電話用 QRコードエディタ

シンボル作成については、個人・商用で使用制限なしでソースが公開されている(VC++6)

lookup で和英・英和辞書
2005-12-26-1 / カテゴリ: [win][meadow] / [permlink]

英辞郎のデータをFreePWING形式に変換
全部 cygwin 環境で実施.Jcode.pm がなければ入れておく.
Meadow は Netinstall で lookup をインストールする.

□ 準備(FreePWINGのインストール)
辞書形式の変換に必ず必要というわけではないが,英辞郎の辞書データの変換には必要.しかもうまくいってない… orz
FreePWINGから最新版のソースをダウンロード.
$ tar zxvf freepwing-1.4.4.tar.gz
$ cd freepwing-1.4.4
$ ./configure
$ make
すると
:
:
rm -f catdump.tmp
make[1]: Leaving directory `/home/zaki/tmp/freepwing-1.4.4/catdump'
make[1]: Entering directory `/home/zaki/tmp/freepwing-1.4.4'
make[1]: `all-am' に対して行うべき事はありません。
make[1]: Leaving directory `/home/zaki/tmp/freepwing-1.4.4'
とかなんとかうまくいかん...
が,必要なファイルのビルドは終わっているっぽい(fpwutils以下)ので,
$ make install
を__無理矢理__実行する :p
/usr/local 以下の bin/fpwmake と libexec/freepwing, share/freepwing あと Perl のモジュール類かな,入るのは.

□ 英辞郎
なんかミョーに苦戦した.Makefile が悪い…のか? 英辞郎のEPWING化参照.
英辞郎の EIJIRO**.TXT を同じディレクトリにおいておく.空きディスクは1Gくらい必要かな.
$ cat > Makefile
INSTALLDIR=.
DIR=EIJIRO

FPWPARSER=eijiro-fpw.pl
FPWPARSERFLAGS=EIJIRO39.TXT

include fpwutils.mk
$ make -I /usr/local/share/freepwing
EIJIRO39.TXT は英辞郎データのファイル名.
-I は FreePWING でインストールされた fpwutils.mk があるディレクトリ.
超時間かかるので寝る前に仕掛けるのが良いかも.
makeが終わると,カレントに honmon ファイルが生成される.
んで
$ nkf -e catalogs.sjis > catalogs.txt
$ /usr/local/libexec/freepwing/catdump -u catalogs.txt catalogs
できた catalogs と honmon を
C:/Program Files/dict/EIJIRO/CATALOGS
C:/Program Files/dict/EIJIRO/EIJIRO/DATA/HONMON
という構成でコピー

□ 和英辞郎
割とすぐできた.
$ fpwmake
$ fpwmake catalogs
カレントにできた catalogs と honmon を
C:/Program Files/dict/WAEIJIRO/CATALOGS
C:/Program Files/dict/WAEIJIRO/WAEIJIRO/DATA/HONMON
とする.

□ eblook.exe
http://openlab.jp/edict/eblook/
これもビルド…しないといけないっぽいっつーか,ビルドのために別ソフトもビルドしてインストールしなければならん?? 辞書の変換で力尽きた… orz
と,Meadow/Emacs memo: Meadowで辞書を引こうから,eblook.lzh をダウンロードできるので,eb.dll と eblook.exe を $MEADOW/bin 以下にコピー

□ .emacs
これで最後
(autoload 'lookup "lookup" nil t)
(autoload 'lookup-region "lookup" nil t)
(autoload 'lookup-pattern "lookup" nil t)
(define-key global-map "\C-cl" 'lookup-pattern)
(setq lookup-search-agents
      '((ndeb "C:/Program Files/dict/EIJIRO/")
	(ndeb "C:/Program Files/dict/WAEIJIRO")
	))
(setq lookup-process-coding-system 'sjis-dos)
こんだけ追加.キーバインドは好みで.パスは CATALOGS ファイルがあるパス.

UTF なファイルを開く
2005-12-25-3 / カテゴリ: [win][meadow] / [permlink]

標準状態だと,UTF コードは読めない.ググるとすぐ見つかったけどメモ.
http://kawacho.don.am/win/meadow/mule-ucs/mule-ucs.html

1. Netinstall で mule-ucs をインストールする
2. .emacs に以下を (set-language-environment "Japanese") より手前に追加
;;; Mule-UCS の設定
(require 'un-define) ; Unicode
(require 'jisx0213)  ; JIS X 0213

wanderlust で UTF8 エンコードなメールも読めるようになった.
カテゴリ: win / 前ページ 1 2 3 4 5 6 7 8 9 次ページ

最終更新時間: 2013-05-02 16:12