人気ブログランキング | 話題のタグを見る
excitemusic

テスト用、メモ用
by fgtmp
ICELANDia
S M T W T F S
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
カテゴリ
以前の記事
検索
その他のジャンル
ファン
記事ランキング
ブログジャンル
画像一覧


tcl/tk 64bit版をmsys64でbuildする

msysの64bitを入れる。
pacman -Sでいろいろ入れる。特にgccとmake。
スタートメニューからmsys2 MinGW 64-bitを起動する。
tclとtkの最新版を持ってきて展開する。

cd win
sh configure --enable-64bit
make
make install
これで/mningw64/bin/tclsh86やwish86がインストールされる。


# by fgtmp | 2020-03-17 18:59

sshへのログインエラー

2つのネットワーク(netA、netBとする)につながっているサーバで、それぞれについてsshd_config等を用意してそれぞれsshdを起動した。localhostではつながるが、他PCからsshすると、netA側のアドレスではログインできるがnetB側のアドレスでは以下のエラーが出てログインできなかった。

ssh_exchange_identification: read: Connection reset by peer

ググるとhosts.allowが云々というやり取りなどが見つかったが今回の件とは該当しない。
結局、つながるようになって原因を考えると、sshクライアントはnetA側にいるPCであり、そこからnetB側にパケットを送るとサーバはnetA側からパケットを返していたのではないか…などと考えている。この辺りの設定方法(届いた側の口から返す設定)がiptablesか何かにあったと思うがすぐに思い出せない。

とりあえずつながったので私はOK。

# by fgtmp | 2017-12-31 09:34 | comp

C#でExcelファイル(xlsx)を読み込む

C#でExcelファイル(xlsx)を読み込む方法の一つとしてClosedXMLというものがあった。

単純なコードは割と楽に書けた。

C#でプロジェクトを作成 → ツール → NuGetパッケージマネージャー → パッケージマネージャーコンソール
PM> Install-Package ClosedXML

あとはusing ClosedXML.Excel;してググりながらコードを書いた。
変わっているなと感じたのはシートの番号などが1から始まること。
それよりも困ったのは関数countif()の入ったセルのvalueを使おうとすると例外終了すること。万事うまくはいかないもので。。

# by fgtmp | 2017-03-29 19:28 | comp

PerlのSpreadsheet::ParseXLSX利用時にフリガナを除去する

PerlでExcelをいじる際にSpreadsheet::XLSXやSpreadsheet::ParseXLSXを使ってセルの値を取得すると元の文字列に加えフリガナもくっついてきてしまう。

ググると、フリガナはrPhというタグに囲まれているのでそのタグを除去すれば良いようだ。

Spreadsheet::XLSXを使う場合は以下の要領で直接モジュールを改造する。
vi /usr/lib/perl5/site_perl/5.22/Spreadsheet/XLSX.pm
 $mstr =~ s/<t\/>/<t><\/t>/gsm; # this handles an empty t tag in the xml <t/>
 $mstr =~ s%<rPh.*?>(.*?)</rPh>%%gsm; #←この一行を追加する
 foreach my $si ($mstr =~ /<si.*?>(.*?)<\/si/gsm) {

Spreadsheet::ParseXLSXを使う場合は以下の要領で直接モジュールを改造する。
vi /usr/lib/perl5/site_perl/5.22/Spreadsheet/ParseXLSX.pm
(関数sub _parse_workbook内のコード)
if ($files->{strings}) {
 $files->{strings} =~ s%<rPh.*?>(.*?)</rPh>%%gsm; #←この一行を追加する
 my %string_parse_data = $self->_parse_shared_strings(
  $files->{strings},
  $themes->{Color}
 );

バージョン番号(上記では5.22)は環境によって異なる。

# by fgtmp | 2017-03-29 11:19 | comp

Tktable2.10のインストール(msys2)

Tktable2.10のインストールメモ。

mv /c/Tcl /c/Tcl-tmp

./configure

vim Makefileして以下の様に変更する。

 (変更前)SHLIB_LD = gcc -shared
 (変更後)SHLIB_LD = gcc -shared -static-libgc

make
make install

mv /c/Tcl-tmp /c/Tcl

これで/usr/local/lib/Tktable2.10以下に一式インストールされる。

# by fgtmp | 2017-03-14 03:47 | comp