| 2017/09/06(Wed) 09:23:00 編集(投稿者)
> そうだったのですね、私は普段であればファイルの種別毎にフォルダ分けなどしないのですが、 > 今回「桐」というあまり慣れていないソフトを使うので、逆にきっちりフォルダに分けてしまっていました。 > レポートは各種レポートフォルダー、フォームは各種フォームフォルダーと行った具合です。 > きっちりしようと思ったのが裏目に出てしまいました。 > >>絶対パスをリテラルな文字列で記述していれば、当然手作業で直すしかないでしょうね。 > > やはりそうなのですね、ただリテラルが分からず調べてしまいました。
リテラルと表現したのは、値を直接書き入れたという意味です。
>>対策として#変数( )関数を使って変数でファイル名を指定していればなんとかなるか? > > 参考記事まで教えて頂きありがとうございます。まだ私にはハードルが高そうですが勉強してみます。
高等テクニックといえばそうですが、「策士策に溺れる」という危険性もあります。
あえて複雑な仕掛けを構築する必要はないと思いますよ。
>>現在の、表ファイル・フォームファイル・イベント処理を、 >>D:\オーナー\Documents\Kiri10\Data\社員管理システム にコピーする。 >>※元のファイルはバックアップになるので移動しないで複写すること。 >>※変更が終わってバックアップが不要になったら削除してもよい。 > > これは、\社員管理システムの更に下層フォルダーのファイルをそのフォルダーから出すと言う事で宜しいのですよね。
レポートは各種レポートフォルダー、フォームは各種フォームフォルダーというようにフォルダを分けていたとは、 私の想像の範囲外でした。 前提条件が違うのでこの部分は無視してください。
>>面倒ですが、絶対パスをリテラルな文字列で記述したのですから、当然手作業で直すしかないでしょうね。 > > 追加質問のようになってしまいますが、そのリテラルではない記述方法というのがあるのですか? > てっきり絶対パスで書くのが当たり前だと思っていました。
フォームの編集対象表・イベント処理ファイル 表の値集合:表引き表
を、すべて同じフォルダに存在するのですから、絶対パスは不要です。
> 変数を使うということなのでしょうか。
繰り返しになりますが、#変数( "variable" ) を使って指定できるケースは多いと思いますが、
「策士策に溺れる」という危険性もあり、あえて複雑な仕掛けを構築する必要はないと思いますよ。
>>#一括パス名 でパスを取得できますよ。 > > こちらも記述例まで教えて頂きありがとうございます。 > #一括パス名というコマンドがあるのですね。 > 該当するイベントファイル○○.kexのどこかに記述すると、パスが変数に格納されるのでしょうか。とにかくやってみます。
#一括パス名はコマンドではなく、関数です。
桐の関数は、プリフィックス(接頭辞)として" # "が付きます。
ちなみに、変数名にはプリフィックス(接頭辞)として" & "を付けますが、本当の変数名はプリフィックス:" & "を除いたものです。
従って、#変数( "variable" ) の "variable" はリテラル表記ですが、この場合には文字列にプリフィックス:" & "を付けません。 一方、#変数( &variable ) とした場合には、文字列型変数:&variable に格納されている値を変数名と認識します。 もちろん、文字列型変数:&variable に格納されている値には本当の変数名を使うので、値に" & "を含んではいけません。
<蛇足>
ちなみに、桐言語を初めて知った時、関数名に#、変数名に&の接頭辞が必要なことに驚愕しました。 そして「なんてダサイ仕様なんだろう!」と思いましたよ。 しかし、恐ろしいことに、住めば都で、今ではこの接頭辞に慣れてしまいましたよ。
|