AtenaEditor
なぜ作ったか
選択
- Selectionメニューに去年喪中かはがきもらった人を選択できるようになっている
- その選択の後に選択マークをつける
- 選択マークのみ表示し、それを CSV に書き出せます
今年はカメラのキタムラがデザインがいいということで、そのフォーマットで書き出すことになりましたパチパチパチ
- SJISしか使えないとか時代遅れ〜
- いまどきCRLFとか時代遅れ〜
- 書き出せるのはいまんとこキタムラ形式:ヘッダ+データだけ
- いまどき自宅で宛名印刷とかするわけないじゃん?
以下たわごと
- いまどき ViewControllerに糞ほど詰め込むとか汚すぎ〜
- 動けばいいのだよ..
- GRDB.swift を github から Swift Packageとして追加
- Xcode> File> Add Packages.. > github を選ぶ
- URL https://github.com/groue/GRDB.swift を入れる
- 左リストしたに Package Dependencies: GRDB masterと出る
- 同様に SwiftCSV packageも追加
- mac App Sandboxを解除しないと 当然ながら DBへの書き込みはできないよ
- CSVからSQLiteへの変換 (CSV読み込みを作成したので不要)
- TablePlusの Import CSV Wizardを使う
- atxBaseYear を int それ以外を varchar として読み込みをする
- 最後の列は空列なので do not import
- 表を自動作成し、2行目以降をデータとして取り込んでくれる
Rename SQLite struct name
- swift struct name に X- は使わないので変更
ALTER TABLE "AddrList" RENAME COLUMN "X-Suffix1" TO "Suffix1";
ALTER TABLE "AddrList" RENAME COLUMN "X-Suffix2" TO "Suffix2";
ALTER TABLE "AddrList" RENAME COLUMN "X-Suffix3" TO "Suffix3";
ALTER TABLE "AddrList" RENAME COLUMN "X-NYCardHistory" TO "NYCardHistory";
rownum が SQLiteの場合ないので、idフィールドを追加
- 順番に idフィールドを追加していくのは perlを使った
use DBI; $database = "./Atena.sqlite"; $dbi = DBI->connect("dbi:SQLite:dbname=$database"); $statement = $dbi->prepare('SELECT * FROM AddrList'); $statement->execute(); $i = 0; while ($row = $statement->fetch()) { $i++; print ($row->[0] . "\n"); $u = "update AddrList set id=? where LastName=? AND FirstName=?"; $s2 = $dbi->prepare($u); $s2->execute( ($i, $row->[0], $row->[1]) ); } $dbi->disconnect;