[[ハム活動記]]

*Mac バージョンあげたら [#gadd8fc5]
OSX10.15にバージョンアップしたら、自作のハムログソフト「Logdy」の中でクリップボードを利用している箇所がいくつかある

メモ記入の際、交信日や周波数を保存しておく、登録時に登録内容を保存しておく~
など

バージョンアップしたら、使えなくなってしまったので、仕方ないのでシェルコマンドで対応するようにした

 echo '保存する文字列' |  pbcopy   ←クリップにコピー
 $pstr = pbpaste  ←ペースト

こんな感じだ、%%しかも今まで文字コードがMacJapaniseだったのがUTF8に%%

そこで、エンコードとデコードも書き直した

まぁ、バージョンが上がれば、不具合も出る、チマチマと手直ししながら使うほかありまあせん

*以下にperlソースコード (クリップボードの読み書き)MacOSX10.15 [#h0f27ba0]
 #
 # クリップボードのテストプログラム
 # 2019/10/30  by jr1gdy
 #
 use utf8;
 use Encode qw/ from_to encode decode encode_utf8 decode_utf8 /;
 
 #以下テストプログラム
 my $str1="テスト 123abc次の行\n";
 my $str2="追加の 文字列追加の行\n";
 
 &pb_clear();
 
 my $pbstr = &pb_sum_copy($str1);
 print encode_utf8("一回目 = $pbstr\n");
 
 $pbstr = &pb_sum_copy($str2);
 print encode_utf8("二回目 = $pbstr\n");
 
 my $paste_str = &pb_paste();
 print encode_utf8("クリップのペースト: $paste_str\n");
 
 
 #&pb_clear();
 print("Tyin >");
 while(my $stdin = <STDIN>){   #キーボードからのテスト
     if($stdin eq "q"){exit;}
     $stdin = decode_utf8($stdin);
     &pb_sum_copy($stdin);
 }
 print encode_utf8(&pb_paste);
 
 #---サブルーチン-----------------------------------------------------------
 sub pb_clear{#クリップボードのクリア
     `echo '' | pbcopy`;
 }
 #ペースト
 sub pb_paste{
     my $str = `pbpaste`;
     $str =~ s/^\n//;#最初と最後に改行が入って来るので削除する
     chomp($str);
     $str = decode('utf8', $str);
     return $str;
 }
 #クリップへコピー
 sub pb_copy{
     my ($str)=@_;
     $str = encode('MacJapanese',$str);
     `echo '$str' | pbcopy`;
     return;
 }
 #クリップへ追加コピー
 sub pb_sum_copy{
     my ($str) = @_;
     my $sum_str = &pb_paste($str);
     $sum_str .= $str;
     &pb_copy($sum_str);
     return $sum_str;
 }

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS