Skip to content

Commit

Permalink
フォルダ名とか変更。
Browse files Browse the repository at this point in the history
  • Loading branch information
hororo committed May 7, 2022
1 parent 9dd73b2 commit 457880c
Show file tree
Hide file tree
Showing 6 changed files with 341 additions and 434 deletions.
210 changes: 161 additions & 49 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,76 +1,188 @@
# ティラノスクリプト用「CSV読込プラグイン」

## 概要

csvファイルを任意のティラノ変数へ格納するプラグインです。
テスト版

※リリース時に色々変更の可能性があります。
※もし要望などあればIssues等ででもおしらせください。
CSVのデータを、配列または連想配列へ変更します。
任意の f、sf、tf 変数を指定できます。


## 使い方
1. `csv_test` フォルダを `data/other/pluin/` へ入れる。
2. csvファイルは `data/other/pluin/csv_test/` へ入れる。
3. first.ks 等でプラグインを読み込む。 `[plugin name="csv_test"]`
4. `[mc_loadcsv]`タグでcsvファイルを読み込む。
`[mc_loadcsv file=sample.csv varname="tf.s.test" format=ObjectO split="_EOF" br=""]`

1. 「mc_loadcsv」フォルダを、「data/other/plugin/」へ入れてください。
2. csvファイルは、「data/other/plugin/mc_loadcsv/」へ保存してください。
3. first.ks 等に下記コードを記述しプラグインを読み込みます。※パラメータはありません。
```
[plugin name="mc_loadcsv"]
```
4. `[mc_loadcsv]`タグでcsvファイルを読み込みます。
```
[mc_loadcsv file=sample.csv var="f.test" format=ObjectO split="_EOF" br="\<br\>"]
```

## パラメーター

| 属性名 | 必須 | 説明 |
----|----|----
| file || csvファイル名(拡張子必要) |
| varname || 保存先変数名(f.hofe など) exp の方が解りやすいのかな? |
| format | × | 配列パターンを指定します。(array/arrayA/arrayO/object/objectA/objectO) <br> ※指定が無ければ arrayA(多次元配列)になります。 |
|パラメータ | 必須 | 解説 |
|----|:----:|----|
| file || csvファイル名(拡張子必要)<br>※csvファイルは「mc_loadcsv」フォルダ内に保存してください。<br>※http~のURLでも指定できます。 |
| var || 保存先変数名(f.hoge など) f、sf、tf 対応。|
| format | × | 配列パターンを指定します(Array/ArrayA/ArrayO/Object/ObjectA/ObjectO) <br> ※指定が無ければ ArrayA(多次元配列)になります。<br>※formatは自分で作る事も可能です(後述) |
| split | × | 分割用文字列を指定します(文字列: \_eof など)<br> ※指定が無ければ改行コードで分割します |
| br | × | 改行コードを変換する(文字列:\<br\> など)<br> ※split指定必須 |
| join | × | csvを追記する場合は true。<br>※連想配列は同じkeyの値は上書きになります。 |
| wait | × | 完了を待つ場合は true。デフォルトは false |
| br | × | 改行コードを指定の文字列に置換します。(文字列:\<br\> など)<br> ※split指定必須 |
| join | × | csvを追記する場合は true。デフォルトは false。<br>※連想配列は同じkeyの値は上書きになります。 |
| wait | × | 完了を待つ場合は true。デフォルトは false。 |

## format パラメータについて

## 値について
配列内の値は、全て「文字列」になります。
プラグインで用意してあるパターンの場合は、大文字小文字は気にしなくても大丈夫です。
ご自分で用意した関数の場合は、大文字小文字は区別します。

<details open="false">
<summary>折り畳み</summary>

## format について
※プラグインで用意してあるパターンの場合は、大文字小文字は気にしなくても大丈夫です。
※自分で用意した関数の場合は、大文字小文字は区別します。
### Array
配列
行に関係なくだらだらと単純に配列にします。
```[A1,A2,A3,B1,B2,B3,C1,C2,C3,...]```

**配列**
行に関係なくだらだらと単純に配列にします。
```
f.hoge = [A1,A2,A3,...,B1,B2,B3,...,C1,C2,C3,...]
```

### ArrayA
配列-配列(多次元配列)
行ごとに配列になります。
※format を指定しない場合はこれになります。
```[[A1,B1,C1],[A2,B2,C3],...]```

**配列-配列(多次元配列)**
行ごとに配列になります。(デフォルト)
```
f.hoge = [
[A1,B1,C1],
[A2,B2,C3],
...
]
```

### ArrayO
配列-連想配列

**配列-連想配列**
行ごとに、連想配列を入れて行きます。
1行目がkeyになります(TIPプラグインと同じ)
```[{A1:A2,B1:B2,C1:C2},{A1:A3,B1:B3,C1:C3},...]```
1行目がkeyになります(TIPプラグインと同じ)
```
f.hoge = [
{A1:A2,B1:B2,C1:C2},
{A1:A3,B1:B3,C1:C3},
...
]
```

### Object
連想配列
1行目に key と value が必須になります。

**連想配列**
1行目に key と value が必須になります。
その他の項目は、あっても無視されます。
```{A2:B2,A3:B3,A4:B4,...}```
※A1=key、B1=value の場合
```
f.hoge = {
A2:B2,
A3:B3,
...
}
```

### ObjectA
連想配列-配列
1行目に key 必須です。
```{A2:[B2,C2,D2....],A3:[B3,C3,D3,...],...}```
※A1=key の場合
これ、どやって使うのかわからんです・・・

**連想配列-配列**
1行目に key 必須です。 ※A1=key の場合
```
f.hoge = {
A2:[B2,C2,D2....],
A3:[B3,C3,D3,...],
...
}
```
これ、どやって使うのかわからんです・・・

### ObjectO
連想配列-連想配列
1行目に key 必須です。
```{A2:{B1:B2,C1:C2,D1:D2,...},A3:{B1:B3,C1:C3,D1:D3,...},...}```
※A1=key の場合

## セル内で改行コードを使いたい場合
1. csvファイルの最後のセルに分割用のキー(何でもいいけど本文と被らないように)を入れる。
2. [mc_loadcsv] タグに split属性で、分割用キーを指定する。
**連想配列-連想配列**
1行目に key 必須です。※A1=key の場合
```
f.hoge = {
A2:{B1:B2,C1:C2,D1:D2,...},
A3:{B1:B3,C1:C3,D1:D3,...},
...
}
```
</details>

## CSVファイルについて

- 文字コードは UTF-8 にしてください。
- csvの値は、全て「文字列」になります。
- ゲームに組み込む時は「mc_loadcsv」フォルダ内に保存してください。
フォルダ管理する場合は「file=フォルダ名/ファイル名」のように記述してください。

## 改行コードについて

### セル内で改行コードを使いたい場合
1. csvファイルの最後のセルに分割用のキー(本文に含まない文字)を記入します。
2. `[mc_loadcsv]` タグに `split` パラメータで分割用のキーを指定します。

`format=Object` 以外の場合、分割用キーの後にあるデータは次の最初のデータとして扱われますのでご注意ください。

### 改行コードを一部置換、一部残したい場合
1. 残したい改行の前に改行コード `\n` を記述してください。
2. `[mc_loadcsv]` タグに `br` パラメータで置換文字を指定します。

## format を自作する方法
<details>
<summary>折り畳み</summary>

1. 関数名を `mc_loadcsv.hoge` と連想配列関数にします。(`hoge` 部分は任意)
引数1 は csvデータ、引数2 はjoin時の元データが入ります。
2. 変換後のデータを `return` で返します。
3. 適当な名前のjsファイルにして「data/others」に保存します。
4. `[plugin name=mc_loadcsv]` の後に `[loadjs]`タグで呼び出します。
5. `[mc_loadcsv]` タグの `format` パラメータに `hoge` を指定します。
※大文字小文字は正確に指定してください。

```js
mc_loadcsv.hoge = function(data,oridata){
let newArray;
(何らかの処理)
return newArray;
};
```
```
[plugin name=mc_loadcsv]
[loadjs file=hoge.js]
[mc_loadcsv 略 format=hoge]
```
</details>

## 動作確認

ティラノスクリプト v513c

## 免責

このプラグインを使用したことにより生じた損害・損失に対して制作者は一切責任を負いません。

## 利用規約

- 改造・再配布は自由です。ただし、有償での再配布は禁止します。
改造後データの配布も同様にお願いします。
- 利用報告・クレジット表記は任意です。
- このプラグインはドネーションウェア(カンパウェア)です。
もしよろしければ寄付をお願いいたします。(強制ではありません)

## 制作者

name : hororo
site : めも調 [https://memocho.no-tenki.me/](https://memocho.no-tenki.me/)
mail : ruru.amu@gmail.com
twitter : @hororo_memocho

## 更新履歴

## 改行コードを一部変更、一部残したい場合
残したい改行の前に改行コード `\n` を記述してください。
|更新日|Ver| 詳細 |
|--|--|-----|
|2022/5/8|v1.00| 配布開始。 |
10 changes: 0 additions & 10 deletions csv_test/init.ks

This file was deleted.

Loading

0 comments on commit 457880c

Please sign in to comment.