2014年12月27日土曜日

Microsoft Office 互換ソフトの難

Microsoft Office互換ソフトを使用すると、一般的に、レイアウト崩れを起こす事が分かっています。

Word
  • 契約書。1ページ物が、2ページになってしまう。
Excel
  • グラフの上に乗せた矢印が、ずれて表示されてしまう。

注意点
  • 純正ソフトと互換ソフトでは、設計思想が異なる
  • レイアウト崩れは、開発が進んでも解決されない問題に分類される。

話の持って行き方
  • 会社にて、同じ情報を共有したい、という観点から考えると、同じソフトを使う事が必要。
  • 違うソフトでは、違う情報を共有することになる。
  • 理由は、レイアウト崩れ
  • 原因は、純正と互換との設計思想の違い

2014年12月22日月曜日

BPGファイルのサンプル

BPGのサンプルファイルにつきまして、自作してGoogle Driveにアップしました。動作チェック用に自分でも使いたいという思惑も有り。。。

https://drive.google.com/folderview?id=0Bygl-em20CSKTFFMM0NfVEFoQ00&usp=sharing

ご自由にお使いください。

次のサイトのbpg-0.9.4-win32.zipを使い、PNG→BPGにエンコードしました。BPGとPNGは、Alpha channel付きです。

http://bellard.org/bpg/

PNG→BPGへの変換に約36秒かかりました。
BPG→PNGへの変換は1秒未満でしたが。。。

ーーー
追記: 最新版のThumbGensPackが、BPG形式のサムネイル生成に対応しました。


このように、Windows 7のExplorerで、サムネイル表示ができます。但し、画像のプレビューは装備していないので、できません。(^^;

ThumbGensPack
https://github.com/kenjiuno/ThumbGensPack/releases

2014年12月21日日曜日

Syslinux と boot flag

USB フラッシュに syslinux を入れて、レスキュー機構を構築しています。

しかし作りたてのものは起動ができない…

Missing operating system.
FATAL: INT18: BOOT FAILURE


Linux ならば fdisk で a を実行すればブートフラグが立ちます。


Windows ならば diskpart でごにょごにょします。

list disk
select disk X
list part
select part 1
detail part
active
detail part



2014年12月17日水曜日

EPPlusでピボットテーブルを

EPPlusを使い、ピボットテーブルを出力したい。

バーコード入力したデータを、日付でグループ化したいのですが、うまくいかず。

グループ化をしないと、「年月日時分秒」で各データを表示します。

~~
2014/12/17 9:00 ~~
2014/12/17 9:02 ~~
2014/12/17 9:07 ~~
~~

これでは集計致しかねるので、「年」「月」でグループ化したりします。

~~
2014年 -- 10月 ~~
2014年 -- 11月 ~~
2014年 -- 12月 ~~
~~

OfficeOpenXml.Table.PivotTable.eDateGroupBy.Years

OfficeOpenXml.Table.PivotTable.eDateGroupBy.Months
を組み合わせたようなイメージです。

グループ化して、保存はできるのですが、Excel 2003+Office互換パックで開きますと、エラーが出ます。

CVTD0DC.tmpには読み取れない内容が含まれています。このブックの内容を回復しますか? ブックの発行元が信頼できる場合は、[はい] をクリックしてください。

CVTD0DC.tmpにエラーが検出されましたが、次の修復を行うことに
よってファイルを開くことができました。修復を保持するにはこのファイルを
保存してください。

ピボットテーブル レポート 'PerTool' / '[CVTD0Dc.tmp]工程別'を修復しました。
完全性に問題があるため、ピボットテーブル レポート全体の情報を修復しました。



・・・調査中です・・・

2014年12月12日金曜日

Windows Explorer サムネイルのキャッシュ

二か所確認しています。

%LOCALAPPDATA%\\Microsoft\Windows\Explorer

%LOCALAPPDATA%\Microsoft\Windows\Temporary Internet Files\Virtualized\C\Users\KU\AppData\Local\Microsoft\Windows\Explorer

thumbcache_idx.db
thumbcache_sr.db
thumbcache_32.db
thumbcache_96.db
thumbcache_256.db
thumbcache_1024.db

failed to load com32 file linux.c32

syslinuxで"failed to load com32 file linux.c32"と表示される理由がようやく判りました。

(1) -d 指定の誤り 

[Ok] syslinux64.exe -d /boot/syslinux  j:
[Ok] syslinux64.exe -d /boot/syslinux/ j:


{NG} syslinux64.exe -d boot/syslinux   j:
{NG} syslinux64.exe -d boot/syslinux/  j:
{NG} syslinux64.exe -d boot\syslinux   j:
{NG} syslinux64.exe -d \boot\syslinux  j:

-d オプションのパス形式は、「Unix形式」かつ「絶対パス」で指定

相対パスで指定すると WARNING: No configuration file found が表示されて、boot: プロンプトになりました。

syslinux 6.03 で -d の効果を確認しています。

(2) syslinux フォルダの名前を変更したり、移動した

場合によっては、 Boot error になり、syslinux の起動が失敗します。

その場合は、syslinux.exe を使ってもう一度、書き込みしましょう。

(3) バイナリ形式の不一致

バイナリの形式と、対応する syslinux が定まっている様子です。


形式 CPU 拡張子 syslinux 6.03 syslinux 5.11 syslinux 4.10 syslinux 3.86
COMBOOT 16-bit .com N N Y Y
COM32 32-bit .c32 N N N Y
COM32R 32-bit .c32 N N Y Y
ELF 32-bit .c32Y Y ? ?
ELF 64-bit .c32 YN N N

.c32 については、複数の形式が有るので注意が必要です。

バイナリエディタで見れば通常、判別できます。

ELF 形式とは

ELF という文字列が有ります。


COM32 形式とは

Syslinux 3.xx (3.00 ~ 3.86) で採用されている実行ファイル形式。

マジックナンバーは B8 FF 4C CD 21 です。doc/comboot.txt を参照。

COM32R との互換性はありません。
 
gPXE が認識できるのは COM32 だけのようです。

COM32R 形式とは

Syslinux 4.xx (4.00 ~ 4.07 ) で採用されている実行ファイル形式。

マジックナンバーは B8 FE 4C CD 21です。syslinux/doc/comboot.txt を参照。

COM32 との互換性はありません。



vesamenu.c32: not a COM32R image につきまして

COM32R は self-relocating な 32-bit プログラムで、syslinux 4.xx で動作します。

つまり、このエラーは syslinux 4.xx でしか起こらないエラーです。

対策

(A) kernel.org から syslinux-4.07.zip を拾ってきて、必要なファイルを抜き取る。
 例: syslinux-4.07\com32\menu\vesamenu.c32
 例: syslinux-4.07\com32\gfxboot\gfxboot.c32

(B) できるものなら syslinux 6.03 へ更新する。次の対策編を参照。


対策編

syslinux 6.03 をダウンロードして、インストール

Kernel.org より最新版 syslinux-6.03.zip が入手できます。
ソースコードと Windows 用 Linux 用のバイナリが提供されています。

Windows 用は bios/win32/syslinux.exe を使います。
c32 ファイルは、bios/com32 以下に入っています。

各モジュールのパスと説明依存関係

bios\com32\chain\chain.c32
bios\com32\cmenu\complex.c32
bios\com32\cmenu\display.c32
bios\com32\cmenu\libmenu\libmenu.c32
bios\com32\cmenu\simple.c32
bios\com32\cmenu\test.c32
bios\com32\cmenu\test2.c32
bios\com32\elflink\ldlinux\ldlinux.c32
bios\com32\gfxboot\gfxboot.c32
bios\com32\gpllib\libgpl.c32
bios\com32\hdt\hdt.c32
bios\com32\lib\libcom32.c32
bios\com32\libutil\libutil.c32
bios\com32\lua\src\cmenu.c32
bios\com32\lua\src\cpu.c32
bios\com32\lua\src\dhcp.c32
bios\com32\lua\src\dmi.c32
bios\com32\lua\src\lfs.c32
bios\com32\lua\src\liblua.c32
bios\com32\lua\src\lua.c32
bios\com32\lua\src\pci.c32
bios\com32\lua\src\syslinux.c32
bios\com32\lua\src\vesa.c32
bios\com32\mboot\mboot.c32
bios\com32\menu\menu.c32
bios\com32\menu\vesamenu.c32
bios\com32\modules\cat.c32
bios\com32\modules\cmd.c32
bios\com32\modules\config.c32
bios\com32\modules\cptime.c32
bios\com32\modules\cpuid.c32
bios\com32\modules\cpuidtest.c32
bios\com32\modules\debug.c32
bios\com32\modules\disk.c32
bios\com32\modules\dmitest.c32
bios\com32\modules\elf.c32
bios\com32\modules\ethersel.c32
bios\com32\modules\gpxecmd.c32
bios\com32\modules\hexdump.c32
bios\com32\modules\host.c32
bios\com32\modules\ifcpu.c32
bios\com32\modules\ifcpu64.c32
bios\com32\modules\ifmemdsk.c32
bios\com32\modules\ifplop.c32
bios\com32\modules\kbdmap.c32
bios\com32\modules\kontron_wdt.c32
bios\com32\modules\linux.c32
bios\com32\modules\ls.c32
bios\com32\modules\meminfo.c32
bios\com32\modules\pcitest.c32
bios\com32\modules\pmload.c32
bios\com32\modules\poweroff.c32
bios\com32\modules\prdhcp.c32
bios\com32\modules\pwd.c32
bios\com32\modules\pxechn.c32
bios\com32\modules\reboot.c32
bios\com32\modules\sanboot.c32
bios\com32\modules\sdi.c32
bios\com32\modules\vesainfo.c32
bios\com32\modules\vpdtest.c32
bios\com32\modules\whichsys.c32
bios\com32\modules\zzjson.c32
bios\com32\rosh\rosh.c32
bios\com32\samples\advdump.c32
bios\com32\samples\entrydump.c32
bios\com32\samples\fancyhello.c32
bios\com32\samples\hello.c32
bios\com32\samples\keytest.c32
bios\com32\samples\localboot.c32
bios\com32\samples\resolv.c32
bios\com32\samples\serialinfo.c32
bios\com32\sysdump\sysdump.c32


2014年12月8日月曜日

InternetExplorerで、Google 検索プロバイダー

Internet Explorerをスパイウェアから解放した後は、いつもGoogleの検索ページと、Googleの検索プロバイダーをセットして帰るのですが、どうも何か一つ足りない感じです。

Google ウェブ検索
http://www.iegallery.com/Addons/Details/10012

↑ Googleなのに、アイコンには「oog」の部分しか見えていないという。。。MSの企業姿勢として問題がないのかどうか、疑いたくなるような表示です。。。

ーーー

↓ しかし、こちらが真打の模様です。こちらをインストールしますと、アドレスバーに単語を打ち込んだ途端、Google Suggestionが働いてインライン検索が使えます。これだ! と思いました。

Google Search
http://www.iegallery.com/Addons/Details/813

(2015/7/2) URLを更新しました。