CURDIR$
---------------------------
[機能] システム・カレントフォルダ名を取得します。
[書式] CURDIR$(n)
[説明]
n=0
カレントフォルダ名 mnt/sdcard/and.bas/等
ここは機種により様々なフォルダ名になります。
末尾のand.bas/を除いたものがSDカードのフォルダ名になります。(例外あり)
SettingでInternalを選択すると内部ストレージと同じフォルダ名を返します。
n=1
内部ストレージのフォルダ名 data/data/and.bas/files/等
n=2
SQLのフォルダ名 data/data/and.bas/databases/等
[例]
kill
curdir$(0)+"man/dat1.txt"
ファイルシステム
---------------------------
ファイルを扱う基本カレントフォルダは次の2つがあります。
SDカード側を指定した場合。
/mnt/sdcard/
Android4.4
/storage/emulated/0/Android/data/and.bas/files/
Android10以降の場合
起動時のサブパス(カレントの後ろに続きます)
and.bas/
Android4.4
Android10以降の場合は末尾がfiles/なので初期状態でのサブパスはヌル(文字なし)です。
本体側を指定した場合。
/data/data/and.bas/
Android4.4
/data/user/0/and.bas/files/
Android10以降の場合
起動時のサブパス(カレントの後ろに続きます)
files/
Android4.4
Android10以降の場合は末尾がfiles/なので初期状態でのサブパスはヌル(文字なし)です。
SDカード側指定で起動した場合は通常ここで始まります。(and.bas/がサブパス)
/mnt/sdcard/and.bas/
Android4.4
/storage/emulated/0/Android/data/and.bas/files/
Android10以降の場合
(機種によってこれと異なる場合もありますが大半の機種はこの場所になります)
このサブパスの部分は'chdir'コマンドにより移動することはできます。
基本カレントフォルダより上位には上がれません。
新しいフォルダは'mkdir'コマンドにより作成できます。
キーアサインの状態は本体側に保存されます。
カレントフォルダ名は curdir$()
で取得できます。
コマンドでのセーブとロード。
save"file1.bas"
load"file1.bas"
先頭が"/"で始まる場合はフルパスを指定したことになります。
[例]
load"/mnt/sdcard/my/test/file1.bas" 記述されたままの場所。
"/"で始まらない場合は、現在のカレントフォルダに継続するパス&ファイル名と判断されます。
[例]
load"file1.bas" -> mnt/sdcard/and.bas/file1.bas と判断される。
また、上位の階層を参照するのにDOS同様に"../"が使用できます。(複数可)
[例]
load"../my/file1.bas" -> mnt/sdcard/my/file1.bas
と判断される。
(一度上へ上がってsdcard/に行き、my/に下がる)
*アクセス権限のないパスにはアクセスできません。
・ダイアログでのロード。(Menu>Load)
ファイルリストが表示されるのでタッチの選択でロードできます。
フォルダ(後ろに"/"付き)を選ぶとフォルダ移動になります。
上の階へのフォルダ移動は'..'を選びます。
ロードするとその場所へ自動で chdir
されたことになりカレントがその場所へ移ります。
*Backボタンでダイアログ終了するとロードは行われず chdir
のカレント移動だけが行われます。
'New
folder'を選ぶとフォルダ名テキスト入力になり
新しいフォルダを作成できます。
・ダイアログでのセーブ。(Menu>Save)
ファイル名入力してセーブできます。
カレントフォルダの位置にセーブされますが
冒頭でパス名を入力するこによりカレントに続くパスを指定できます。
上の階層のパスを指定する時は冒頭に"../"を付けます。(複数可)
ファイル削除管理プログラム'filedel.bas'によりカレントフォルダ内のファイル削除作業ができます。
選択したものが削除されます。(中身のあるフォルダは削除できません)
またRenameを選ぶことでファイル名変更もできます。
SDカードがデフォルトでアクセスできない機種について Android4.4
やUUIDの機種
---------------------------
Android4.4の機種は通常Root化しなければSDカードのアクセスはできません。
Android5.0~9.0の機種でSDカードのパスがxxxx-xxxxの形式(UUID)になっている機種ではSDカードがアクセスができない機種があります。
これらは次の操作でSDカードをカレントフォルダとしてアクセスできるようになります。
ファイルエクスプローラーアプリにて次のフォルダの下に
and.basf フォルダを作成します。
Android4.4の機種の場合
/sdcard/Android/data/
Android5.0~9.0の機種の場合
/storage/xxxx-xxxx/Android/data/
フォルダを作成した後でBasicアプリを起動させるとその場所でload,saveが可能となります。
アプリアンインストール時にこのフォルダは消滅するので注意して下さい。