カテゴリーアーカイブ 起業日記

著者:admin

飲食店向け売上管理アンドロイドアプリ

飲食店向けに日々の売上を管理するアンドロイドアプリを作ってみました。

まずはグーグルフォームでベースというかデータベース的なものを作成して、それをアプリの画面に埋め込んでアプリからスプレッドシートに送信されるようにしました。

つまり、グーグルフォームをデータベースとして利用しているため、日々の売上情報はアプリをダウンロードした全員が共有することになります。

グーグルフォームを使ってデータベース的にアプリに利用できないかなーと適当に作ったものなので結構ダサいです。

前にグーグルフォームをカスタマイズする方法なんか書きましたけど、その方法を応用してアプリに組み込んでいます。
アプリ上で送信したデータはグーグルフォームに格納されて、フォーム送信と同時にスプレッドシート上でプログラムを実行するトリガーを設定しています。
そのトリガーによって、数式を組み変えてグラフとして表示をさせています。

試してみてください。

https://play.google.com/store/apps/details?id=sales.admin.example

著者:admin

MACに入れたVirtualBox を全画面(フルスクリーン)で表示する方法

MACにVirtualBoxをインストールしてWindowsを使っていますが、全画面で表示する方法がわかりませんでした。

検索してもトップに出てくるのはこんなページ…
http://pc-karuma.net/mac-virtualbox-fullscreen-mode/

多分最初は私もこれを見て全画面設定したと思います。

しかし、私がやりたいのはこういうことじゃない!!
確かにこれで全画面表示にはできるがMAC上はこんな感じになります。

スクリーンショット 2015-08-14 午前11.11.44

左上の緑のボタンを押して全画面にしようとしてもこれが精一杯。

多少不便ながらもしょうがなく使用していたのですが、ショートカットキーをいじってると全画面表示になりました。

こんな感じです。
スクリーンショット 2015-08-14 午前11.11.05

これでかなり見やすくなった。

そのショートカットキー
command+F

著者:admin

何故プログラミングの最初は”Hello World”なのか?

最初にプログラミングを学ぶとき必ず”Hello World”で始まったような気がします。

WordPressも最初は必ず”Hello World”
VBA,Javascriptなどのポップアップのサンプルは大体”Hello World”

Wikipediaにはこんな回答があります。

大抵のプログラミング言語の入門書では、このプログラムを作ることを最初の例題としており、ほとんどの場合、新しくプログラミング言語を習得する際に最初に作るのがこのプログラムである。そのため、「世界一有名なプログラム」と呼ばれることもある。「Hello, world!」以外の文言でもよいはずなのだが、この文言を用いるのが伝統となっている。同様の意味で「Howdy, World!」が用いられることもあり、日本語プログラミング環境では「こんにちは世界」が用いられることもある。また、コンパイラ、開発環境、実行環境が正常にインストールされたことを確認するために、このプログラムを使用することもある。

んー。。。

日本語プログラミング環境で「こんにちは、世界」って・・・
なんか違う。

著者:admin

NYと日本の額面における手取り額の違いや実効税率を比べてみた!

最高税率自体は日本の方が高いけど、中間層に関しては圧倒的にNYの方が実効税率が高いです。
日本は税率をかけた後の控除があるのがでかい。

ホント中間層でも、もろもろ引かれて手取りが額面の半分になっても不思議ではない。

著者:admin

wordpressの予約プラグインに特定の値を入力してGoogleカレンダーに登録させる方法

前回からもう少し変更を加えて、グーグルカレンダーに名前、人数だけでなくemailや電話番号、問い合わせ詳細がある場合はそのデータもカレンダーに反映させます。

前回の記事はこちら

まずは登録データを受信するときに記載される内容を変更します。
プラグインのBookingsからSettings→Notificationsの【Admin Notification Email】の部分を下記の通りに変更しました。

スクリーンショット 2015-03-10 午後9.57.24

そして予約システムのスプレッドシートでメールを読み込んで…
機能のカレンダー登録をクリック!!

スクリーンショット 2015-03-10 午後9.59.58

無事登録されたかどうか確認します。

スクリーンショット 2015-03-10 午後10.00.21

対外的には予定ありにしてますが、きちんと14日の20時に登録されてます。

スクリーンショット 2015-03-10 午後10.01.58

アカウントにログインしてるとこんな感じで詳細が確認できます。

スクリーンショット 2015-03-10 午後10.02.27
変更したGoogle Apps Script

前回のやり方だと追加情報を加えた時に反映されないので、プラグインに追加情報を記載して当該情報の位置情報を取得します。
それに合わせて該当情報を抜き出します。

これで詳細情報や電話番号がなかったとしてもエラーなく正確な情報を取得できます。


function edit(){
var activeSheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();

for(var i=2; i< =activeSheet.getLastRow(); i++){ var currentValue = activeSheet.getRange('A'+i).getValue(); currentValue = currentValue.replace(/(^\s+)|(\s+$)/g, ""); currentValue = currentValue.replace(/[\n\r]/g,""); currentValue = currentValue.replace(/amp;/g,""); activeSheet.getRange('A'+i).setValue(currentValue); var string = activeSheet.getRange("A" + i).getValue(); var last = string.length; var name = string.indexOf("名前:") var people = string.indexOf("人数:") var data = string.indexOf("予約日:") var mail = string.indexOf("メール:") var tel = string.indexOf("電話番号:") var message = string.indexOf("メッセージ:") var pending = string.indexOf("View pending bookings") var confirm = string.indexOf("Confirm this booking") var reject = string.indexOf("Reject this booking") var length1 = string.slice(data+4,mail-4);//start activeSheet.getRange(i,2).setValue(length1); var length2 = string.slice(people+3,data-4);//people activeSheet.getRange(i,4).setValue(length2); var length3 = string.slice(name+3,people-4);//conpany activeSheet.getRange(i,5).setValue(length3); var length6 = string.slice(mail+4,tel-4);//mail activeSheet.getRange(i,7).setValue(length6); var length7 = string.slice(tel+5,message-4);//tel activeSheet.getRange(i,8).setValue(length7); var length8 = string.slice(message+6,pending-105);//message activeSheet.getRange(i,9).setValue(length8); var length9 = string.slice(pending+38,confirm-18); activeSheet.getRange(i,10).setValue(length9); var length10 = string.slice(confirm+37,reject-18); activeSheet.getRange(i,11).setValue(length10); activeSheet.getRange(i,3).setFormula("=B"+i+"+time(0,60,0)") } }

Googleカレンダーへの詳細情報登録

createEventで追加した詳細情報をカレンダーに追加します。
改行させるのに多少手こずりました。


function makeCalEvent(){

var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var row = sheet.getLastRow();

var cal = CalendarApp.getDefaultCalendar();

for(var i=2; i< =row; i++){ if(sheet.getRange(i,6).getValue() == ""){ sheet.getRange(i, 6).setValue("Confirmed"); var cname = sheet.getRange(i,5).getValue(); var d1 = sheet.getRange(i,2).getValue(); var d2 = sheet.getRange(i,3).getValue(); var d3 = sheet.getRange(i,4).getValue(); var d4 = sheet.getRange(i,7).getValue(); var d5 = sheet.getRange(i,8).getValue(); var d6 = sheet.getRange(i,9).getValue(); cal.createEvent(cname, d1, d2, {description: '人数:'+d3+'人\n' +'メール:'+d4 + String.fromCharCode(10) +'電話番号:'+d5 + String.fromCharCode(10) +'メッセージ:'+d6, location: '足立区新田3−36−21'}); } } }


これで無事googleカレンダーで予定を一元管理することが出来ました。