@@ -408,7 +408,7 @@ echo trim(toStn(array("data": data, "result": result)));
|
||||
// ("code":"B","value":9)),"result":0)
|
||||
```
|
||||
|
||||
## `reIndex(data, index_info1, index_info2, index_info_n)`
|
||||
## `reIndex(data, index_info_1, ...)`
|
||||
|
||||
声明:function
|
||||
|
||||
@@ -416,12 +416,11 @@ echo trim(toStn(array("data": data, "result": result)));
|
||||
|
||||
<!-- tags: 数组 列表 array list -->
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| -------------- | ---------- | ------------------------------------------------------------------------------------------- |
|
||||
| `data` | array | 需要重构的数组 |
|
||||
| `index_info1` | nil\|array | 第一维的重构信息,如果为NIL则表示该维度不重构,数组以需要重构的下标为下标新下标为值的模式。 |
|
||||
| `index_info2` | nil\|array | 第二维的重构信息,可省略 |
|
||||
| `index_info_n` | nil\|array | 第N维的重构信息,可省略 |
|
||||
| 参数 | 类型 | 说明 |
|
||||
| -------------- | ---------- | ------------------------------------------------------------------------- |
|
||||
| `data` | array | 需要重构的数组 |
|
||||
| `index_info_1` | nil\|array | 第一维的重构信息,传入 nil 表示该维不重构,数组以下标为原下标、值为新下标 |
|
||||
| `...` | nil\|array | 可选。第二维及后续各维的重构信息,每个参数对应一个维度 |
|
||||
|
||||
返回:any
|
||||
|
||||
|
||||
@@ -578,7 +578,7 @@ echo captured;
|
||||
// 输出:captured
|
||||
```
|
||||
|
||||
## `write(p1, pn)`
|
||||
## `write(p_1, ...)`
|
||||
|
||||
声明:function
|
||||
|
||||
@@ -586,10 +586,10 @@ echo captured;
|
||||
|
||||
<!-- tags: 打印 输出 output print write writeln CGI 网络 HTTP 请求 network -->
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ---- | ------ | -------------- |
|
||||
| `p1` | string | string 字符串1 |
|
||||
| `pn` | string | string 字符串n |
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ----- | ---- | -------------------- |
|
||||
| `p_1` | any | 第一个要输出的值 |
|
||||
| `...` | any | 可选。更多要输出的值 |
|
||||
|
||||
返回:any
|
||||
|
||||
@@ -601,7 +601,7 @@ write("A", "B");
|
||||
// 输出:AB
|
||||
```
|
||||
|
||||
## `writeln(p1, pn)`
|
||||
## `writeln(p_1, ...)`
|
||||
|
||||
声明:function
|
||||
|
||||
@@ -609,22 +609,23 @@ write("A", "B");
|
||||
|
||||
<!-- tags: 打印 输出 output print write writeln CGI 写入 保存 网络 HTTP 请求 -->
|
||||
|
||||
支持任意多个参数,按传入顺序逐个输出其内容。
|
||||
支持任意多个参数,按传入顺序逐个输出其内容
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ---- | ------ | -------------- |
|
||||
| `p1` | string | string 字符串1 |
|
||||
| `pn` | string | string 字符串n |
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ----- | ---- | -------------------- |
|
||||
| `p_1` | any | 第一个要输出的值 |
|
||||
| `...` | any | 可选。更多要输出的值 |
|
||||
|
||||
返回:any
|
||||
|
||||
### 示例
|
||||
|
||||
以下示例先输出 `111222`,再换行输出 `333`。
|
||||
以下示例先输出 `111222`,再换行输出 `333`
|
||||
|
||||
```tsl
|
||||
// 需 CGI 宿主环境
|
||||
echo "111", "222", "\n", "333";
|
||||
writeln("111", "222");
|
||||
writeln("333");
|
||||
// 输出:
|
||||
// 111222
|
||||
// 333
|
||||
|
||||
@@ -31,6 +31,36 @@ echo cached_data[0], ",", cached_data[1], ",", cached_data[2], "\n";
|
||||
// 1,2,3
|
||||
```
|
||||
|
||||
## `checkGlobalCacheExpired(value, expire_time)`
|
||||
|
||||
声明:function
|
||||
|
||||
检查全局缓存引用是否因同名缓存被重置而过期
|
||||
|
||||
<!-- tags: 全局缓存 过期 重置 引用 状态 检查 cache expired -->
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ------------- | ---------- | ---------------------------- |
|
||||
| `value` | object | 要检查的全局缓存引用 |
|
||||
| `expire_time` | t_datetime | 可选。输出缓存引用的过期时间 |
|
||||
|
||||
返回:boolean
|
||||
|
||||
### 示例
|
||||
|
||||
范例01:检查重置前后的缓存引用
|
||||
|
||||
```tsl
|
||||
key := "PB_DOC_GLOBAL_CACHE_EXPIRED";
|
||||
setGlobalCache(key, array(1));
|
||||
getGlobalCache(key, cache_ref);
|
||||
before := checkGlobalCacheExpired(cache_ref, expire_time);
|
||||
setGlobalCache(key, array(2));
|
||||
after := checkGlobalCacheExpired(cache_ref);
|
||||
echo before, ",", after, "\n";
|
||||
// 输出:0,1
|
||||
```
|
||||
|
||||
## `GetGlobalCacheInfo(value)`
|
||||
|
||||
声明:function
|
||||
|
||||
@@ -500,7 +500,7 @@ echo length(graph_array), ",", length(graph_group_prop);
|
||||
|
||||
返回:string
|
||||
|
||||
## `graph(_type, graph_name, data, prop1, prop1_value, prop2, prop2_value, ..., prop_n, prop_n_value)`
|
||||
## `graph(_type, graph_name, data, ...)`
|
||||
|
||||
声明:function
|
||||
|
||||
@@ -508,18 +508,12 @@ echo length(graph_array), ",", length(graph_group_prop);
|
||||
|
||||
<!-- tags: 图形对象 图形 图表 graph 对象 实例 object -->
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| -------------- | ---------- | ---- |
|
||||
| `_type` | integer | |
|
||||
| `graph_name` | string | |
|
||||
| `data` | tablearray | |
|
||||
| `prop1` | string | |
|
||||
| `prop1_value` | any | |
|
||||
| `prop2` | string | |
|
||||
| `prop2_value` | any | |
|
||||
| `...` | | |
|
||||
| `prop_n` | string | |
|
||||
| `prop_n_value` | any | |
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ------------ | ---------- | -------------------------------------------- |
|
||||
| `_type` | integer | 图形类型 |
|
||||
| `graph_name` | string | 图形名称 |
|
||||
| `data` | tablearray | 作图数据 |
|
||||
| `...` | any | 可选。按“属性名称、属性值”成对传入的图形属性 |
|
||||
|
||||
返回:tgraph
|
||||
|
||||
@@ -584,7 +578,7 @@ g3 := graph(gtLine(), 'MA20', g_data3, gfColor(), clRed());
|
||||
return graphGroup(g1, g2, g3);
|
||||
```
|
||||
|
||||
## `graphGroup(graph1, graph_n, prop_m, value_m)`
|
||||
## `graphGroup(graph_1, ...)`
|
||||
|
||||
声明:function
|
||||
|
||||
@@ -592,12 +586,10 @@ return graphGroup(g1, g2, g3);
|
||||
|
||||
<!-- tags: 图形对象 图形 图表 graph 对象 实例 object -->
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --------- | ------ | -------------------------- |
|
||||
| `graph1` | tgraph | TGraph 图形1 |
|
||||
| `graph_n` | tgraph | TGraph 图形N |
|
||||
| `prop_m` | string | 可选。TGraphGroup 属性名称 |
|
||||
| `value_m` | any | 可选。TGraphGroup 属性值 |
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --------- | ----------- | -------------------------------------------------------------- |
|
||||
| `graph_1` | tgraph | 第一个图形 |
|
||||
| `...` | tgraph\|any | 可选。后续图形,以及按“属性名称、属性值”成对传入的图形组合属性 |
|
||||
|
||||
返回:tgraphgroup
|
||||
|
||||
|
||||
@@ -869,18 +869,18 @@ writeLn(toStn(determinant));
|
||||
// 1.0
|
||||
```
|
||||
|
||||
## `nils(size_or_rows[, cols_or_fields])`
|
||||
## `nils(n_1, ...)`
|
||||
|
||||
声明:function
|
||||
|
||||
创建元素为 `nil` 的一维或二维数组。传入一个参数时创建一维数组;传入两个参数时创建二维数组。第二个参数可以是列数或列名数组
|
||||
创建元素为 `nil` 的多维数组,每个维度可以使用长度或下标数组定义
|
||||
|
||||
<!-- tags: 矩阵 创建 生成 matrix -->
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ---------------- | -------------- | -------------------------------------------- |
|
||||
| `size_or_rows` | integer\|array | 一维长度、二维行数或行标数组 |
|
||||
| `cols_or_fields` | integer\|array | 可选。二维列数或列名数组,省略时创建一维数组 |
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ----- | -------------- | ---------------------------- |
|
||||
| `n_1` | integer\|array | 第一维长度或下标数组 |
|
||||
| `...` | integer\|array | 可选。后续各维长度或下标数组 |
|
||||
|
||||
返回:array
|
||||
|
||||
@@ -902,18 +902,26 @@ echo mRows(value), ",", mCols(value), ",", value[1, 2] = nil;
|
||||
// 输出:2,3,1
|
||||
```
|
||||
|
||||
## `ones(size_or_rows[, cols_or_fields])`
|
||||
范例03:创建三维空值数组
|
||||
|
||||
```tsl
|
||||
value := nils(2, 3, 4);
|
||||
echo mRows(value), ",", mCols(value), ",", length(value[0, 0]), ",", value[1, 2, 3] = nil;
|
||||
// 输出:2,3,4,1
|
||||
```
|
||||
|
||||
## `ones(n_1, ...)`
|
||||
|
||||
声明:function
|
||||
|
||||
创建元素为 `1` 的一维或二维数组。传入一个参数时创建一维数组;传入两个参数时创建二维数组。第二个参数可以是列数或列名数组
|
||||
创建元素为 `1` 的多维数组,每个维度由对应参数指定
|
||||
|
||||
<!-- tags: 矩阵 创建 生成 matrix -->
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ---------------- | -------------- | -------------------------------------------- |
|
||||
| `size_or_rows` | integer\|array | 一维长度、二维行数或行标数组 |
|
||||
| `cols_or_fields` | integer\|array | 可选。二维列数或列名数组,省略时创建一维数组 |
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ----- | -------------- | -------------------------------------------- |
|
||||
| `n_1` | integer\|array | 第一维长度或行标数组 |
|
||||
| `...` | integer\|array | 可选。后续各维长度,第二维也可以使用列名数组 |
|
||||
|
||||
返回:array
|
||||
|
||||
@@ -935,18 +943,28 @@ echo mRows(value), ",", mCols(value), ",", value[1, 2];
|
||||
// 输出:2,3,1
|
||||
```
|
||||
|
||||
## `rand(size_or_rows[, cols_or_fields])`
|
||||
范例03:创建三维全一数组
|
||||
|
||||
```tsl
|
||||
value := ones(2, 3, 4);
|
||||
echo length(value), ",", length(value[0]), ",", length(value[0][0]);
|
||||
// 输出:2,3,4
|
||||
```
|
||||
|
||||
## `rand(n_1, n_2, rand_info, ...)`
|
||||
|
||||
声明:function
|
||||
|
||||
创建元素为随机数的一维或二维数组。传入一个参数时创建一维数组;传入两个参数时创建二维数组。随机数默认位于 `0` 到 `1` 之间。第二个参数可以是列数或列名数组
|
||||
创建随机数多维数组,默认生成 `0` 到 `1` 之间的均匀分布随机数,也可以通过 `rand_info` 指定分布
|
||||
|
||||
<!-- tags: 矩阵 创建 生成 matrix -->
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ---------------- | -------------- | -------------------------------------------- |
|
||||
| `size_or_rows` | integer\|array | 一维长度、二维行数或行标数组 |
|
||||
| `cols_or_fields` | integer\|array | 可选。二维列数或列名数组,省略时创建一维数组 |
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ----------- | -------------- | -------------------------- |
|
||||
| `n_1` | integer\|array | 第一维长度或行标数组 |
|
||||
| `n_2` | integer\|array | 可选。第二维长度或列名数组 |
|
||||
| `rand_info` | array | 可选。随机分布名称及其参数 |
|
||||
| `...` | integer | 可选。第三维及后续各维长度 |
|
||||
|
||||
返回:array
|
||||
|
||||
@@ -960,18 +978,26 @@ echo mRows(value), ",", mCols(value), ",", value[0, 0] >= 0, ",", value[0, 0] <=
|
||||
// 输出:2,3,1,1
|
||||
```
|
||||
|
||||
## `zeros(size_or_rows[, cols_or_fields])`
|
||||
范例02:创建三维正态分布随机数组
|
||||
|
||||
```tsl
|
||||
value := rand(2, 3, array("normal", 0, 1), 4);
|
||||
echo length(value), ",", length(value[0]), ",", length(value[0][0]);
|
||||
// 输出:2,3,4
|
||||
```
|
||||
|
||||
## `zeros(n_1, ...)`
|
||||
|
||||
声明:function
|
||||
|
||||
创建元素为 `0` 的一维或二维数组。传入一个参数时创建一维数组;传入两个参数时创建二维数组。第二个参数可以是列数或列名数组;第一个参数也可以使用行标数组
|
||||
创建元素为 `0` 的多维数组,每个维度由对应参数指定
|
||||
|
||||
<!-- tags: 矩阵 创建 生成 matrix -->
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ---------------- | -------------- | -------------------------------------------- |
|
||||
| `size_or_rows` | integer\|array | 一维长度、二维行数或行标数组 |
|
||||
| `cols_or_fields` | integer\|array | 可选。二维列数或列名数组,省略时创建一维数组 |
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ----- | -------------- | -------------------------------------------- |
|
||||
| `n_1` | integer\|array | 第一维长度或行标数组 |
|
||||
| `...` | integer\|array | 可选。后续各维长度,第二维也可以使用列名数组 |
|
||||
|
||||
返回:array
|
||||
|
||||
@@ -1000,3 +1026,11 @@ value := zeros(array("L1", "L2"), array("F1", "F2"));
|
||||
echo value["L1"]["F1"];
|
||||
// 输出:0
|
||||
```
|
||||
|
||||
范例04:创建三维全零数组
|
||||
|
||||
```tsl
|
||||
value := zeros(2, 3, 4);
|
||||
echo length(value), ",", length(value[0]), ",", length(value[0][0]);
|
||||
// 输出:2,3,4
|
||||
```
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
# Builtin - 网络
|
||||
|
||||
分类:资源访问函数 / 网络访问以及相关函数。
|
||||
|
||||
## `appendHttpHeader(session, header)`
|
||||
|
||||
声明:function
|
||||
@@ -337,6 +339,58 @@ echo ok and code > 0, "\n";
|
||||
destroyHttpSession(session);
|
||||
```
|
||||
|
||||
## `setHttpAcceptencoding(session, acceptencodingstr)`
|
||||
|
||||
声明:function
|
||||
|
||||
设置 HTTP 会话的 `Accept-Encoding` 请求头
|
||||
|
||||
<!-- tags: 网络 设置 修改 HTTP 请求 network 压缩 gzip -->
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ------------------- | ------- | ------------------------------------- |
|
||||
| `session` | integer | HTTP 会话 ID |
|
||||
| `acceptencodingstr` | string | `Accept-Encoding` 的值,例如 `"gzip"` |
|
||||
|
||||
返回:void
|
||||
|
||||
### 示例
|
||||
|
||||
范例01:允许服务器返回 gzip 压缩内容
|
||||
|
||||
```tsl
|
||||
session := createHttpSession();
|
||||
setHttpAcceptencoding(session, "gzip");
|
||||
echo destroyHttpSession(session), "\n";
|
||||
// 输出:1
|
||||
```
|
||||
|
||||
## `setHttpAcceptencodingon(session, is_zip)`
|
||||
|
||||
声明:function
|
||||
|
||||
设置 HTTP 会话是否支持压缩传输
|
||||
|
||||
<!-- tags: 网络 设置 修改 HTTP 请求 network 压缩 gzip -->
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --------- | ------- | ---------------- |
|
||||
| `session` | integer | HTTP 会话 ID |
|
||||
| `is_zip` | bool | 是否支持压缩传输 |
|
||||
|
||||
返回:void
|
||||
|
||||
### 示例
|
||||
|
||||
范例01:禁用压缩传输
|
||||
|
||||
```tsl
|
||||
session := createHttpSession();
|
||||
setHttpAcceptencodingon(session, false);
|
||||
echo destroyHttpSession(session), "\n";
|
||||
// 输出:1
|
||||
```
|
||||
|
||||
## `setHttpAuth(session, user_name, password[, auth_type])`
|
||||
|
||||
声明:function
|
||||
|
||||
@@ -166,3 +166,268 @@ end;
|
||||
// 输出:1
|
||||
// 输出:3
|
||||
```
|
||||
|
||||
## `makeWeakRef(obj)`
|
||||
|
||||
声明:function
|
||||
|
||||
为对象或函数创建弱引用,不支持的类型会抛出异常
|
||||
|
||||
<!-- tags: 对象 弱引用 引用计数 生命周期 weak reference -->
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ----- | ---------------- | ---------------------- |
|
||||
| `obj` | object\|function | 支持弱引用的对象或函数 |
|
||||
|
||||
返回:weak_object
|
||||
|
||||
### 示例
|
||||
|
||||
范例01:创建对象的弱引用
|
||||
|
||||
```tsl
|
||||
source := new TStringList();
|
||||
source.append("A");
|
||||
weak := makeWeakRef(source);
|
||||
echo checkWeakRef(weak), "\n";
|
||||
// 输出:1
|
||||
```
|
||||
|
||||
## `makeWeakRef(obj, result)`
|
||||
|
||||
声明:function
|
||||
|
||||
尝试为对象或函数创建弱引用,并通过输出参数报告是否成功
|
||||
|
||||
<!-- tags: 对象 弱引用 安全创建 输出参数 weak reference try -->
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| -------- | ---------------- | -------------------------- |
|
||||
| `obj` | object\|function | 要创建弱引用的对象或函数 |
|
||||
| `result` | boolean | 输出变量,创建成功时为真值 |
|
||||
|
||||
返回:weak_object
|
||||
|
||||
### 示例
|
||||
|
||||
范例01:处理不支持弱引用的值
|
||||
|
||||
```tsl
|
||||
weak := makeWeakRef(10, result);
|
||||
echo result, "\n";
|
||||
// 输出:0
|
||||
```
|
||||
|
||||
## `weakRef(obj)`
|
||||
|
||||
声明:function
|
||||
|
||||
为对象或函数创建弱引用,是 `makeWeakRef` 的别名
|
||||
|
||||
<!-- tags: 对象 弱引用 引用计数 生命周期 weak reference alias -->
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ----- | ---------------- | ---------------------- |
|
||||
| `obj` | object\|function | 支持弱引用的对象或函数 |
|
||||
|
||||
返回:weak_object
|
||||
|
||||
### 示例
|
||||
|
||||
范例01:通过弱引用访问对象
|
||||
|
||||
```tsl
|
||||
source := new TStringList();
|
||||
source.append("A");
|
||||
weak := weakRef(source);
|
||||
weak.append("B");
|
||||
echo weak.commaText, "\n";
|
||||
// 输出:A,B
|
||||
```
|
||||
|
||||
## `weakRef(obj, result)`
|
||||
|
||||
声明:function
|
||||
|
||||
尝试为对象或函数创建弱引用,并通过输出参数报告是否成功
|
||||
|
||||
<!-- tags: 对象 弱引用 安全创建 输出参数 weak reference try alias -->
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| -------- | ---------------- | -------------------------- |
|
||||
| `obj` | object\|function | 要创建弱引用的对象或函数 |
|
||||
| `result` | boolean | 输出变量,创建成功时为真值 |
|
||||
|
||||
返回:weak_object
|
||||
|
||||
### 示例
|
||||
|
||||
范例01:处理不支持弱引用的值
|
||||
|
||||
```tsl
|
||||
weak := weakRef(10, result);
|
||||
echo result, "\n";
|
||||
// 输出:0
|
||||
```
|
||||
|
||||
## `makeStrongRef(weak_obj)`
|
||||
|
||||
声明:function
|
||||
|
||||
从有效弱引用取得强引用,弱引用已经失效时会抛出异常
|
||||
|
||||
<!-- tags: 对象 强引用 弱引用 恢复 获取 weak strong reference -->
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ---------- | ----------- | ---------- |
|
||||
| `weak_obj` | weak_object | 有效弱引用 |
|
||||
|
||||
返回:object
|
||||
|
||||
### 示例
|
||||
|
||||
范例01:从弱引用取得强引用
|
||||
|
||||
```tsl
|
||||
source := new TStringList();
|
||||
source.append("A");
|
||||
weak := weakRef(source);
|
||||
strong := makeStrongRef(weak);
|
||||
strong.append("B");
|
||||
echo strong.commaText, "\n";
|
||||
// 输出:A,B
|
||||
```
|
||||
|
||||
## `makeStrongRef(weak_obj, result)`
|
||||
|
||||
声明:function
|
||||
|
||||
尝试从弱引用取得强引用,并通过输出参数报告是否成功
|
||||
|
||||
<!-- tags: 对象 强引用 弱引用 安全获取 输出参数 weak strong reference try -->
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ---------- | ----------- | -------------------------- |
|
||||
| `weak_obj` | weak_object | 要转换的弱引用 |
|
||||
| `result` | boolean | 输出变量,转换成功时为真值 |
|
||||
|
||||
返回:object
|
||||
|
||||
### 示例
|
||||
|
||||
范例01:安全取得强引用
|
||||
|
||||
```tsl
|
||||
source := new TStringList();
|
||||
source.append("A");
|
||||
weak := weakRef(source);
|
||||
strong := makeStrongRef(weak, result);
|
||||
echo result, ",", strong.commaText, "\n";
|
||||
// 输出:1,A
|
||||
```
|
||||
|
||||
## `weakref_get(weak_obj)`
|
||||
|
||||
声明:function
|
||||
|
||||
从有效弱引用取得强引用,是 `makeStrongRef` 的别名
|
||||
|
||||
<!-- tags: 对象 强引用 弱引用 恢复 获取 weak strong reference alias -->
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ---------- | ----------- | ---------- |
|
||||
| `weak_obj` | weak_object | 有效弱引用 |
|
||||
|
||||
返回:object
|
||||
|
||||
### 示例
|
||||
|
||||
范例01:从弱引用取得强引用
|
||||
|
||||
```tsl
|
||||
source := new TStringList();
|
||||
source.append("A");
|
||||
weak := weakRef(source);
|
||||
strong := weakref_get(weak);
|
||||
strong.append("B");
|
||||
echo strong.commaText, "\n";
|
||||
// 输出:A,B
|
||||
```
|
||||
|
||||
## `weakref_get(weak_obj, result)`
|
||||
|
||||
声明:function
|
||||
|
||||
尝试从弱引用取得强引用,并通过输出参数报告是否成功
|
||||
|
||||
<!-- tags: 对象 强引用 弱引用 安全获取 输出参数 weak strong reference try alias -->
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ---------- | ----------- | -------------------------- |
|
||||
| `weak_obj` | weak_object | 要转换的弱引用 |
|
||||
| `result` | boolean | 输出变量,转换成功时为真值 |
|
||||
|
||||
返回:object
|
||||
|
||||
### 示例
|
||||
|
||||
范例01:安全取得强引用
|
||||
|
||||
```tsl
|
||||
source := new TStringList();
|
||||
source.append("A");
|
||||
weak := weakRef(source);
|
||||
strong := weakref_get(weak, result);
|
||||
echo result, ",", strong.commaText, "\n";
|
||||
// 输出:1,A
|
||||
```
|
||||
|
||||
## `checkWeakRef(weak_obj)`
|
||||
|
||||
声明:function
|
||||
|
||||
返回弱引用的引用计数,有效对象已释放时返回 `-1`,参数不是弱引用时返回 `-2`
|
||||
|
||||
<!-- tags: 对象 弱引用 检查 判断 引用计数 状态 weak reference -->
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ---------- | ----------- | -------------- |
|
||||
| `weak_obj` | weak_object | 要检查的弱引用 |
|
||||
|
||||
返回:integer
|
||||
|
||||
### 示例
|
||||
|
||||
范例01:检查有效弱引用
|
||||
|
||||
```tsl
|
||||
source := new TStringList();
|
||||
weak := weakRef(source);
|
||||
echo checkWeakRef(weak), "\n";
|
||||
// 输出:1
|
||||
```
|
||||
|
||||
## `weakref_check(weak_obj)`
|
||||
|
||||
声明:function
|
||||
|
||||
返回弱引用的引用计数,是 `checkWeakRef` 的别名
|
||||
|
||||
<!-- tags: 对象 弱引用 检查 判断 引用计数 状态 weak reference alias -->
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ---------- | ----------- | -------------- |
|
||||
| `weak_obj` | weak_object | 要检查的弱引用 |
|
||||
|
||||
返回:integer
|
||||
|
||||
### 示例
|
||||
|
||||
范例01:检查有效弱引用
|
||||
|
||||
```tsl
|
||||
source := new TStringList();
|
||||
weak := weakRef(source);
|
||||
echo weakref_check(weak), "\n";
|
||||
// 输出:1
|
||||
```
|
||||
|
||||
@@ -6,21 +6,35 @@
|
||||
|
||||
用于连接和登录 FTP 服务器,并管理远程目录、传输文件及发送服务器命令
|
||||
|
||||
<!-- tags: Object FTP 文件传输 文件 目录 路径 file 对象 实例 -->
|
||||
<!-- tags: Object FTP 文件传输 文件 目录 路径 file 对象 实例 创建 生成 构造函数 实例化 new 列表 通配符 -->
|
||||
|
||||
### `create(host)`
|
||||
下列范例使用本机 `127.0.0.1:42121` 的临时 FTP 测试服务
|
||||
|
||||
测试账号为 `tsl_user` 和 `tsl_pass`,测试结束后应清空服务根目录
|
||||
|
||||
### `create()`
|
||||
|
||||
声明:function
|
||||
|
||||
创建 FTP 实例
|
||||
无参数构造函数。创建 FTP 实例,连接参数由实例属性设置
|
||||
|
||||
<!-- tags: Object FTP 文件传输 创建 生成 文件 目录 路径 file 对象 实例 -->
|
||||
|
||||
可见性:public
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| `host` | string | 可选。字符串类型。如果指定了Host参数,会自动从配置文件中获取对应设置,自动连接并登录服务器 |
|
||||
### `create(host)`
|
||||
|
||||
声明:function
|
||||
|
||||
构造函数。按 host 配置名称读取连接参数并自动连接和登录服务器
|
||||
|
||||
<!-- tags: Object FTP 文件传输 创建 生成 文件 目录 路径 file 对象 实例 -->
|
||||
|
||||
可见性:public
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ------ | ------ | ---------------------------------------------------------------- |
|
||||
| `host` | string | FTP 配置名称。指定后从配置文件读取连接参数并自动连接和登录服务器 |
|
||||
|
||||
### `abort()`
|
||||
|
||||
@@ -37,15 +51,16 @@
|
||||
#### 示例
|
||||
|
||||
```tsl
|
||||
obj := CreateObject("FTP");
|
||||
obj.host := "ftp.tinysoft.com.cn";
|
||||
obj.port := 20;
|
||||
obj.username := username;
|
||||
obj.password := password;
|
||||
obj.connect();//连接服务器
|
||||
obj.login();//登录服务器
|
||||
return obj.Abort();
|
||||
//终止连接成功,返回0
|
||||
obj := new FTP();
|
||||
obj.host := "127.0.0.1";
|
||||
obj.port := 42121;
|
||||
obj.username := "tsl_user";
|
||||
obj.password := "tsl_pass";
|
||||
obj.passive := true;
|
||||
obj.connect();
|
||||
obj.login();
|
||||
echo obj.abort(), "\n";
|
||||
// 输出:0
|
||||
```
|
||||
|
||||
### `changeDir(a_dir_name)`
|
||||
@@ -58,8 +73,8 @@ return obj.Abort();
|
||||
|
||||
可见性:public
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ------------ | ------ | ---------------------------------- |
|
||||
| `a_dir_name` | string | string,字符串类型,要切换到的目录 |
|
||||
|
||||
返回:any
|
||||
@@ -67,16 +82,23 @@ return obj.Abort();
|
||||
#### 示例
|
||||
|
||||
```tsl
|
||||
obj := CreateObject("FTP");
|
||||
obj.host := "ftp.tinysoft.com.cn";
|
||||
obj.port := 20;
|
||||
obj.username := username;
|
||||
obj.password := password;
|
||||
obj.connect();//连接
|
||||
obj.login();//登录
|
||||
obj.changedir('/test');//将FTP服务器上的当前目录更改为"/test"
|
||||
return obj.RetrieveCurrentDir();
|
||||
//修改成功,当前目录应为"/test"
|
||||
obj := new FTP();
|
||||
obj.host := "127.0.0.1";
|
||||
obj.port := 42121;
|
||||
obj.username := "tsl_user";
|
||||
obj.password := "tsl_pass";
|
||||
obj.passive := true;
|
||||
obj.connect();
|
||||
obj.login();
|
||||
obj.makeDir("tsl-change-dir");
|
||||
echo obj.changeDir("tsl-change-dir"), "\n";
|
||||
echo obj.retrieveCurrentDir, "\n";
|
||||
obj.changeDirUp();
|
||||
obj.removeDir("tsl-change-dir");
|
||||
obj.abort();
|
||||
// 输出:
|
||||
// 0
|
||||
// /tsl-change-dir/
|
||||
```
|
||||
|
||||
### `changeDirUp()`
|
||||
@@ -94,17 +116,23 @@ return obj.RetrieveCurrentDir();
|
||||
#### 示例
|
||||
|
||||
```tsl
|
||||
obj := CreateObject("FTP");
|
||||
obj.host := "ftp.tinysoft.com.cn";
|
||||
obj.port := 20;
|
||||
obj.username := username;
|
||||
obj.password := password;
|
||||
obj.connect();//连接
|
||||
obj.login();//登录
|
||||
obj.changedir('/test');//将FTP服务器上的当前目录更改为"/test"
|
||||
obj.changeDirUp();//跳转到当前目录的上一级目录"/"
|
||||
return obj.RetrieveCurrentDir();
|
||||
//跳转成功,当前目录应为"/"
|
||||
obj := new FTP();
|
||||
obj.host := "127.0.0.1";
|
||||
obj.port := 42121;
|
||||
obj.username := "tsl_user";
|
||||
obj.password := "tsl_pass";
|
||||
obj.passive := true;
|
||||
obj.connect();
|
||||
obj.login();
|
||||
obj.makeDir("tsl-change-dir-up");
|
||||
obj.changeDir("tsl-change-dir-up");
|
||||
echo obj.changeDirUp(), "\n";
|
||||
echo obj.retrieveCurrentDir, "\n";
|
||||
obj.removeDir("tsl-change-dir-up");
|
||||
obj.abort();
|
||||
// 输出:
|
||||
// 0
|
||||
// /
|
||||
```
|
||||
|
||||
### `connect()`
|
||||
@@ -122,13 +150,15 @@ return obj.RetrieveCurrentDir();
|
||||
#### 示例
|
||||
|
||||
```tsl
|
||||
obj := CreateObject("FTP");
|
||||
obj.host := "ftp.tinysoft.com.cn";
|
||||
obj.port := 20;
|
||||
obj.username := username;
|
||||
obj.password := password;
|
||||
return obj.connect();
|
||||
//连接成功,返回0
|
||||
obj := new FTP();
|
||||
obj.host := "127.0.0.1";
|
||||
obj.port := 42121;
|
||||
obj.username := "tsl_user";
|
||||
obj.password := "tsl_pass";
|
||||
obj.passive := true;
|
||||
echo obj.connect(), "\n";
|
||||
obj.abort();
|
||||
// 输出:0
|
||||
```
|
||||
|
||||
### `crc(file_name, start_point, end_point)`
|
||||
@@ -141,11 +171,11 @@ return obj.connect();
|
||||
|
||||
可见性:public
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| `file_name` | string | 字符串类型,指定的文件名 |
|
||||
| `start_point` | int64 | 整数类型,计算CRC值的文件其实位置,默认为0 |
|
||||
| `end_point` | int64 | 整数类型,计算CRC值的文件末尾位置,默认为0,当指定为0时,EndPoint认为是文件长度 |
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ------------- | ------ | ------------------------------------------------------------------------------- |
|
||||
| `file_name` | string | 字符串类型,指定的文件名 |
|
||||
| `start_point` | int64 | 整数类型,计算CRC值的文件其实位置,默认为0 |
|
||||
| `end_point` | int64 | 整数类型,计算CRC值的文件末尾位置,默认为0,当指定为0时,EndPoint认为是文件长度 |
|
||||
|
||||
返回:int64
|
||||
|
||||
@@ -159,8 +189,8 @@ return obj.connect();
|
||||
|
||||
可见性:public
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ----------- | ------ | ---------------------------------- |
|
||||
| `file_name` | string | 字符串类型,指定要删除的文件的名称 |
|
||||
|
||||
返回:any
|
||||
@@ -168,20 +198,25 @@ return obj.connect();
|
||||
#### 示例
|
||||
|
||||
```tsl
|
||||
obj := CreateObject("FTP");
|
||||
obj.host := "ftp.tinysoft.com.cn";
|
||||
obj.port := 20;
|
||||
obj.username := username;
|
||||
obj.password := password;
|
||||
//连接FTP服务器
|
||||
filename := "/data/workspace/tmp/tsl-ftp-delete.txt";
|
||||
pos := 0;
|
||||
writeFile(rwRaw(), "", filename, pos, 5, "hello");
|
||||
source := new TMemoryStream();
|
||||
source.loadFromFile("", filename);
|
||||
source.position := 0;
|
||||
obj := new FTP();
|
||||
obj.host := "127.0.0.1";
|
||||
obj.port := 42121;
|
||||
obj.username := "tsl_user";
|
||||
obj.password := "tsl_pass";
|
||||
obj.passive := true;
|
||||
obj.connect();
|
||||
//登录
|
||||
obj.Login();
|
||||
//删除Test.txt文件
|
||||
obj.delete("Test.txt");
|
||||
//验证文件是否被删除
|
||||
return obj.FileDate("Test.txt",0);
|
||||
//获取文件时间,若无该文件,返回0
|
||||
obj.login();
|
||||
obj.put(source, "tsl-ftp-delete.txt", false);
|
||||
echo obj.delete("tsl-ftp-delete.txt"), "\n";
|
||||
obj.abort();
|
||||
fileDelete("", filename);
|
||||
// 输出:0
|
||||
```
|
||||
|
||||
### `disconnectNotifyPeer()`
|
||||
@@ -206,28 +241,36 @@ return obj.FileDate("Test.txt",0);
|
||||
|
||||
可见性:public
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| `file_name` | string | 字符串类型,指定要获得修改时间的文件的名称 |
|
||||
| `s_gmt` | boolean | 布尔类型,指定返回的时间是否为格林尼治时间标准时间 |
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ----------- | ------- | -------------------------------------------------- |
|
||||
| `file_name` | string | 字符串类型,指定要获得修改时间的文件的名称 |
|
||||
| `s_gmt` | boolean | 布尔类型,指定返回的时间是否为格林尼治时间标准时间 |
|
||||
|
||||
返回:datetime
|
||||
|
||||
#### 示例
|
||||
|
||||
```tsl
|
||||
obj := CreateObject("FTP");
|
||||
obj.host := "ftp.tinysoft.com.cn";
|
||||
obj.port := 20;
|
||||
obj.username := username;
|
||||
obj.password := password;
|
||||
//连接FTP服务器
|
||||
filename := "/data/workspace/tmp/tsl-ftp-date.txt";
|
||||
pos := 0;
|
||||
writeFile(rwRaw(), "", filename, pos, 5, "hello");
|
||||
source := new TMemoryStream();
|
||||
source.loadFromFile("", filename);
|
||||
source.position := 0;
|
||||
obj := new FTP();
|
||||
obj.host := "127.0.0.1";
|
||||
obj.port := 42121;
|
||||
obj.username := "tsl_user";
|
||||
obj.password := "tsl_pass";
|
||||
obj.passive := true;
|
||||
obj.connect();
|
||||
//登录
|
||||
obj.Login();
|
||||
ret:= obj.FileDate("Test.txt",0);
|
||||
return DateTimeToStr(ret);
|
||||
//"2024-07-31 14:28:00"
|
||||
obj.login();
|
||||
obj.put(source, "tsl-ftp-date.txt", false);
|
||||
echo obj.fileDate("tsl-ftp-date.txt", false) > 0, "\n";
|
||||
obj.delete("tsl-ftp-date.txt");
|
||||
obj.abort();
|
||||
fileDelete("", filename);
|
||||
// 输出:1
|
||||
```
|
||||
|
||||
### `get(source_file, dest, resume)`
|
||||
@@ -240,31 +283,45 @@ return DateTimeToStr(ret);
|
||||
|
||||
可见性:public
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| `source_file` | string | 执行FTP上要下载的源文件名称 |
|
||||
| `dest` | TSLObj | TStream类型,下载文件的目标流对象。参考 TFileStream对象 |
|
||||
| `resume` | boolean | 当设置为真实支持断点续传,否则重新下载文件 |
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ------------- | ------- | ------------------------------------------------------- |
|
||||
| `source_file` | string | 执行FTP上要下载的源文件名称 |
|
||||
| `dest` | TSLObj | TStream类型,下载文件的目标流对象。参考 TFileStream对象 |
|
||||
| `resume` | boolean | 当设置为真实支持断点续传,否则重新下载文件 |
|
||||
|
||||
返回:any
|
||||
|
||||
#### 示例
|
||||
|
||||
```tsl
|
||||
obj := CreateObject("FTP");
|
||||
obj.host := "ftp.tinysoft.com.cn";
|
||||
obj.port := 20;
|
||||
obj.username := username;
|
||||
obj.password := password;
|
||||
//连接FTP服务器
|
||||
source_file := "/data/workspace/tmp/tsl-ftp-get-source.txt";
|
||||
dest_file := "/data/workspace/tmp/tsl-ftp-get-dest.txt";
|
||||
pos := 0;
|
||||
writeFile(rwRaw(), "", source_file, pos, 5, "hello");
|
||||
source := new TMemoryStream();
|
||||
source.loadFromFile("", source_file);
|
||||
source.position := 0;
|
||||
obj := new FTP();
|
||||
obj.host := "127.0.0.1";
|
||||
obj.port := 42121;
|
||||
obj.username := "tsl_user";
|
||||
obj.password := "tsl_pass";
|
||||
obj.passive := true;
|
||||
obj.connect();
|
||||
//登录
|
||||
obj.Login();
|
||||
obj.TryNATFastTrack := 1;
|
||||
//下载文件
|
||||
st := new TFileStream("","D:\\test\\1.txt",65535);
|
||||
obj.get("FtpTest.txt",st,0);
|
||||
//若下载成功,可在本机对应位置查看文件
|
||||
obj.login();
|
||||
obj.put(source, "tsl-ftp-get.txt", false);
|
||||
dest := new TMemoryStream();
|
||||
echo obj.get("tsl-ftp-get.txt", dest, false), "\n";
|
||||
dest.position := 0;
|
||||
dest.saveToFile("", dest_file);
|
||||
obj.delete("tsl-ftp-get.txt");
|
||||
obj.abort();
|
||||
echo fileExists("", dest_file), "\n";
|
||||
fileDelete("", source_file);
|
||||
fileDelete("", dest_file);
|
||||
// 输出:
|
||||
// 0
|
||||
// 1
|
||||
```
|
||||
|
||||
### `help(help_contents, command)`
|
||||
@@ -277,10 +334,10 @@ obj.get("FtpTest.txt",st,0);
|
||||
|
||||
可见性:public
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| `help_contents` | TStringList | 字符串类型,用于返回服务器的执行状态信息 |
|
||||
| `command` | string | 可选。字符串类型,用于请求具体的命令的帮助信息,如HELP SITE |
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --------------- | ----------- | ----------------------------------------------------------- |
|
||||
| `help_contents` | TStringList | 字符串类型,用于返回服务器的执行状态信息 |
|
||||
| `command` | string | 可选。字符串类型,用于请求具体的命令的帮助信息,如HELP SITE |
|
||||
|
||||
返回:any
|
||||
|
||||
@@ -300,40 +357,45 @@ obj.get("FtpTest.txt",st,0);
|
||||
|
||||
声明:function
|
||||
|
||||
列出从FTP服务器上下载文件
|
||||
列出 FTP 服务器当前目录中匹配 specifier 的文件或目录
|
||||
|
||||
<!-- tags: Object FTP 文件传输 列出 列表 文件 目录 路径 file 对象 实例 -->
|
||||
|
||||
可见性:public
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| `dest` | TStringList | 字符串列表类型,当前目录的文件和目录列表 |
|
||||
| `specifier` | string | 字符串类型,当前目录下的目录名称或要列出的文件通配符(如’*.*’,’A.txt’等) |
|
||||
| `details` | boolean | 布尔类型,是否返回详细的列表信息,包括文件大小,修改日期和文件所有者权限,组等 |
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ----------- | ----------- | -------------------------------------------------- |
|
||||
| `dest` | TStringList | 接收文件或目录列表的字符串列表 |
|
||||
| `specifier` | string | 当前目录下的目录名称、文件名或通配符,例如 `*.txt` |
|
||||
| `details` | boolean | 是否返回包含大小、修改时间和权限等信息的详细列表 |
|
||||
|
||||
返回:any
|
||||
|
||||
#### 示例
|
||||
|
||||
```tsl
|
||||
obj := CreateObject("FTP");
|
||||
obj.host := "ftp.tinysoft.com.cn";
|
||||
obj.port := 20;
|
||||
obj.username := username;
|
||||
obj.password := password;
|
||||
//连接FTP服务器
|
||||
filename := "/data/workspace/tmp/tsl-ftp-list.txt";
|
||||
pos := 0;
|
||||
writeFile(rwRaw(), "", filename, pos, 5, "hello");
|
||||
source := new TMemoryStream();
|
||||
source.loadFromFile("", filename);
|
||||
source.position := 0;
|
||||
obj := new FTP();
|
||||
obj.host := "127.0.0.1";
|
||||
obj.port := 42121;
|
||||
obj.username := "tsl_user";
|
||||
obj.password := "tsl_pass";
|
||||
obj.passive := true;
|
||||
obj.connect();
|
||||
//登录
|
||||
obj.Login();
|
||||
AFiles := new TStringList();
|
||||
//获取当前目录所有.txt文件信息
|
||||
obj.List(AFiles,'*.txt',true);
|
||||
return AFiles.GetText();
|
||||
//字符串:
|
||||
"-rw-r--r-- 1 1001 1001 17 Apr 09 16:07 test01.txt
|
||||
-rw-r--r-- 1 1001 1001 0 Sep 16 2023 test02.txt
|
||||
-rw-r--r-- 1 1001 1001 38 Jul 25 17:26 test03.txt"
|
||||
obj.login();
|
||||
obj.put(source, "tsl-ftp-list.txt", false);
|
||||
files := new TStringList();
|
||||
obj.list(files, "*.txt", true);
|
||||
echo files.count > 0, "\n";
|
||||
obj.delete("tsl-ftp-list.txt");
|
||||
obj.abort();
|
||||
fileDelete("", filename);
|
||||
// 输出:1
|
||||
```
|
||||
|
||||
### `login()`
|
||||
@@ -351,17 +413,19 @@ return AFiles.GetText();
|
||||
#### 示例
|
||||
|
||||
```tsl
|
||||
obj := CreateObject("FTP");
|
||||
obj.host := "ftp.tinysoft.com.cn";
|
||||
obj.port := 20;
|
||||
obj.username := username;
|
||||
obj.password := password;
|
||||
//连接FTP服务器
|
||||
obj := new FTP();
|
||||
obj.host := "127.0.0.1";
|
||||
obj.port := 42121;
|
||||
obj.username := "tsl_user";
|
||||
obj.password := "tsl_pass";
|
||||
obj.passive := true;
|
||||
obj.connect();
|
||||
//登录
|
||||
obj.Login();
|
||||
return obj.RetrieveCurrentDir();
|
||||
//获取当前所在目录,若登录成功,则返回"/"
|
||||
echo obj.login(), "\n";
|
||||
echo obj.retrieveCurrentDir, "\n";
|
||||
obj.abort();
|
||||
// 输出:
|
||||
// 0
|
||||
// /
|
||||
```
|
||||
|
||||
### `makeDir(dir_name)`
|
||||
@@ -374,8 +438,8 @@ return obj.RetrieveCurrentDir();
|
||||
|
||||
可见性:public
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ---------- | ------ | ---------------------------- |
|
||||
| `dir_name` | string | 字符串类型,要创建的目录名称 |
|
||||
|
||||
返回:any
|
||||
@@ -383,17 +447,18 @@ return obj.RetrieveCurrentDir();
|
||||
#### 示例
|
||||
|
||||
```tsl
|
||||
obj := CreateObject("FTP");
|
||||
obj.host := "ftp.tinysoft.com.cn";
|
||||
obj.port := 20;
|
||||
obj.username := username;
|
||||
obj.password := password;
|
||||
//连接FTP服务器
|
||||
obj := new FTP();
|
||||
obj.host := "127.0.0.1";
|
||||
obj.port := 42121;
|
||||
obj.username := "tsl_user";
|
||||
obj.password := "tsl_pass";
|
||||
obj.passive := true;
|
||||
obj.connect();
|
||||
//登录
|
||||
obj.Login();
|
||||
obj.MakeDir("newDir");
|
||||
//若创建成功,可在服务器中查看或使用FAQ:List 查看
|
||||
obj.login();
|
||||
echo obj.makeDir("tsl-make-dir"), "\n";
|
||||
obj.removeDir("tsl-make-dir");
|
||||
obj.abort();
|
||||
// 输出:0
|
||||
```
|
||||
|
||||
### `noop()`
|
||||
@@ -418,32 +483,36 @@ obj.MakeDir("newDir");
|
||||
|
||||
可见性:public
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| `source` | TStream | 流对象类型,包含要上传的数据 |
|
||||
| `dest_file` | string | 字符串类型,远程服务器的目标文件名 |
|
||||
| `append` | boolean | 布尔类型,为真时,服务器将上传到数据从已存在的文件末尾写入 |
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ----------- | ------- | ---------------------------------------------------------- |
|
||||
| `source` | TStream | 流对象类型,包含要上传的数据 |
|
||||
| `dest_file` | string | 字符串类型,远程服务器的目标文件名 |
|
||||
| `append` | boolean | 布尔类型,为真时,服务器将上传到数据从已存在的文件末尾写入 |
|
||||
|
||||
返回:any
|
||||
|
||||
#### 示例
|
||||
|
||||
```tsl
|
||||
obj := CreateObject("FTP");
|
||||
obj.host := "ftp.tinysoft.com.cn";
|
||||
obj.port := 20;
|
||||
obj.username := username;
|
||||
obj.password := password;
|
||||
//连接FTP服务器
|
||||
filename := "/data/workspace/tmp/tsl-ftp-put.txt";
|
||||
pos := 0;
|
||||
writeFile(rwRaw(), "", filename, pos, 5, "hello");
|
||||
source := new TMemoryStream();
|
||||
source.loadFromFile("", filename);
|
||||
source.position := 0;
|
||||
obj := new FTP();
|
||||
obj.host := "127.0.0.1";
|
||||
obj.port := 42121;
|
||||
obj.username := "tsl_user";
|
||||
obj.password := "tsl_pass";
|
||||
obj.passive := true;
|
||||
obj.connect();
|
||||
//登录
|
||||
obj.Login();
|
||||
//构造TStream对象
|
||||
filepath := "D:\\test\\Test.txt";
|
||||
st := new TMemoryStream();
|
||||
st.LoadFromFile("",filepath);
|
||||
obj.Put(st,"put.txt",false);
|
||||
//若上传成功,可在服务器中查看或使用FAQ:Get 下载后在本机查看
|
||||
obj.login();
|
||||
echo obj.put(source, "tsl-ftp-put.txt", false), "\n";
|
||||
obj.delete("tsl-ftp-put.txt");
|
||||
obj.abort();
|
||||
fileDelete("", filename);
|
||||
// 输出:0
|
||||
```
|
||||
|
||||
### `quit()`
|
||||
@@ -468,8 +537,8 @@ obj.Put(st,"put.txt",false);
|
||||
|
||||
可见性:public
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --------- | ------ | --------------------------- |
|
||||
| `command` | string | 字符串类型,要执行的FTP命令 |
|
||||
|
||||
返回:integer
|
||||
@@ -484,8 +553,8 @@ obj.Put(st,"put.txt",false);
|
||||
|
||||
可见性:public
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ------- | ------- | ------------------ |
|
||||
| `delay` | integer | 整数类型,延后时间 |
|
||||
|
||||
返回:integer
|
||||
@@ -500,8 +569,8 @@ obj.Put(st,"put.txt",false);
|
||||
|
||||
可见性:public
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ---------- | ------ | --------------------------------------- |
|
||||
| `dir_name` | string | 字符串类型,FTP服务器上要移除的目录名称 |
|
||||
|
||||
返回:any
|
||||
@@ -509,17 +578,18 @@ obj.Put(st,"put.txt",false);
|
||||
#### 示例
|
||||
|
||||
```tsl
|
||||
obj := CreateObject("FTP");
|
||||
obj.host := "ftp.tinysoft.com.cn";
|
||||
obj.port := 20;
|
||||
obj.username := username;
|
||||
obj.password := password;
|
||||
//连接FTP服务器
|
||||
obj := new FTP();
|
||||
obj.host := "127.0.0.1";
|
||||
obj.port := 42121;
|
||||
obj.username := "tsl_user";
|
||||
obj.password := "tsl_pass";
|
||||
obj.passive := true;
|
||||
obj.connect();
|
||||
//登录
|
||||
obj.Login();
|
||||
obj.Remove("testDir");
|
||||
//若删除成功,可在服务器中查看或使用FAQ:List 查看
|
||||
obj.login();
|
||||
obj.makeDir("tsl-remove-dir");
|
||||
echo obj.removeDir("tsl-remove-dir"), "\n";
|
||||
obj.abort();
|
||||
// 输出:0
|
||||
```
|
||||
|
||||
### `rename(source_file, dest_file)`
|
||||
@@ -532,27 +602,36 @@ obj.Remove("testDir");
|
||||
|
||||
可见性:public
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ------------- | ------ | -------------------- |
|
||||
| `source_file` | string | 字符串类型,源文件名 |
|
||||
| `dest_file` | string | 字符串类型,新文件名 |
|
||||
| `dest_file` | string | 字符串类型,新文件名 |
|
||||
|
||||
返回:any
|
||||
|
||||
#### 示例
|
||||
|
||||
```tsl
|
||||
obj := CreateObject("FTP");
|
||||
obj.host := "ftp.tinysoft.com.cn";
|
||||
obj.port := 20;
|
||||
obj.username := username;
|
||||
obj.password := password;
|
||||
//连接FTP服务器
|
||||
filename := "/data/workspace/tmp/tsl-ftp-rename.txt";
|
||||
pos := 0;
|
||||
writeFile(rwRaw(), "", filename, pos, 5, "hello");
|
||||
source := new TMemoryStream();
|
||||
source.loadFromFile("", filename);
|
||||
source.position := 0;
|
||||
obj := new FTP();
|
||||
obj.host := "127.0.0.1";
|
||||
obj.port := 42121;
|
||||
obj.username := "tsl_user";
|
||||
obj.password := "tsl_pass";
|
||||
obj.passive := true;
|
||||
obj.connect();
|
||||
//登录
|
||||
obj.Login();
|
||||
obj.rename("testDir","newDir");
|
||||
//若重命名成功,可在服务器中查看或使用FAQ:List 查看
|
||||
obj.login();
|
||||
obj.put(source, "tsl-ftp-old.txt", false);
|
||||
echo obj.rename("tsl-ftp-old.txt", "tsl-ftp-new.txt"), "\n";
|
||||
obj.delete("tsl-ftp-new.txt");
|
||||
obj.abort();
|
||||
fileDelete("", filename);
|
||||
// 输出:0
|
||||
```
|
||||
|
||||
### `resumeSupported()`
|
||||
@@ -577,10 +656,10 @@ obj.rename("testDir","newDir");
|
||||
|
||||
可见性:public
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| `cmd` | string | 字符串类型,受到Options影响的命令 |
|
||||
| `options` | string | 字符串类型,应用于FTP 会话的选项 |
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --------- | ------ | --------------------------------- |
|
||||
| `cmd` | string | 字符串类型,受到Options影响的命令 |
|
||||
| `options` | string | 字符串类型,应用于FTP 会话的选项 |
|
||||
|
||||
返回:any
|
||||
|
||||
@@ -594,8 +673,8 @@ obj.rename("testDir","newDir");
|
||||
|
||||
可见性:public
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ---------- | ------ | ------------------------------- |
|
||||
| `lang_tag` | string | 字符串类型,FTP客户端的语言标记 |
|
||||
|
||||
返回:any
|
||||
@@ -610,10 +689,10 @@ obj.rename("testDir","newDir");
|
||||
|
||||
可见性:public
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| `file_name` | string | 字符串类型,服务器上更新的文件名 |
|
||||
| `local_time` | datetime | 时间类型,指定文件修改的时间值 |
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ------------ | -------- | -------------------------------- |
|
||||
| `file_name` | string | 字符串类型,服务器上更新的文件名 |
|
||||
| `local_time` | datetime | 时间类型,指定文件修改的时间值 |
|
||||
|
||||
返回:any
|
||||
|
||||
@@ -627,10 +706,10 @@ obj.rename("testDir","newDir");
|
||||
|
||||
可见性:public
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| `file_name` | string | 字符串类型,服务器上更新的文件名 |
|
||||
| `gmt_time` | datetime | 时间类型,指定文件修改的时间值 |
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ----------- | -------- | -------------------------------- |
|
||||
| `file_name` | string | 字符串类型,服务器上更新的文件名 |
|
||||
| `gmt_time` | datetime | 时间类型,指定文件修改的时间值 |
|
||||
|
||||
返回:any
|
||||
|
||||
@@ -644,8 +723,8 @@ obj.rename("testDir","newDir");
|
||||
|
||||
可见性:public
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --------- | ------ | -------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `command` | string | 字符串类型,FTP服务器端命令名称。常常用来发发送没有包含在FTP协议中的服务器端命令。可以用HELP SITE命令查找指定FTP服务器的命令和语法信息 |
|
||||
|
||||
返回:any
|
||||
@@ -660,26 +739,35 @@ obj.rename("testDir","newDir");
|
||||
|
||||
可见性:public
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| `file_name` | any | file_name |
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ----------- | ---- | --------- |
|
||||
| `file_name` | any | file_name |
|
||||
|
||||
返回:int64
|
||||
|
||||
#### 示例
|
||||
|
||||
```tsl
|
||||
obj := CreateObject("FTP");
|
||||
obj.host := "ftp.tinysoft.com.cn";
|
||||
obj.port := 20;
|
||||
obj.username := username;
|
||||
obj.password := password;
|
||||
//连接FTP服务器
|
||||
filename := "/data/workspace/tmp/tsl-ftp-size.txt";
|
||||
pos := 0;
|
||||
writeFile(rwRaw(), "", filename, pos, 5, "hello");
|
||||
source := new TMemoryStream();
|
||||
source.loadFromFile("", filename);
|
||||
source.position := 0;
|
||||
obj := new FTP();
|
||||
obj.host := "127.0.0.1";
|
||||
obj.port := 42121;
|
||||
obj.username := "tsl_user";
|
||||
obj.password := "tsl_pass";
|
||||
obj.passive := true;
|
||||
obj.connect();
|
||||
//登录
|
||||
obj.Login();
|
||||
return obj.Size("test.txt");
|
||||
//整数,18
|
||||
obj.login();
|
||||
obj.put(source, "tsl-ftp-size.txt", false);
|
||||
echo obj.size("tsl-ftp-size.txt"), "\n";
|
||||
obj.delete("tsl-ftp-size.txt");
|
||||
obj.abort();
|
||||
fileDelete("", filename);
|
||||
// 输出:5
|
||||
```
|
||||
|
||||
### `status(status_list)`
|
||||
@@ -692,8 +780,8 @@ return obj.Size("test.txt");
|
||||
|
||||
可见性:public
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ------------- | ----------- | ------------------------------------------------ |
|
||||
| `status_list` | TStringList | 字符串列表类型,服务器响应的连接、传输参数等状态 |
|
||||
|
||||
返回:any
|
||||
|
||||
@@ -6,25 +6,35 @@
|
||||
|
||||
用于连接 IMAP 服务器、管理邮箱并读取邮件的内置对象
|
||||
|
||||
<!-- tags: Object IMAP 邮件收取 对象 实例 邮件 SMTP POP3 -->
|
||||
<!-- tags: Object IMAP 邮件收取 对象 实例 邮件 SMTP POP3 创建 生成 构造函数 实例化 new -->
|
||||
|
||||
### `create(host, user_name, password)`
|
||||
### `create()`
|
||||
|
||||
声明:function
|
||||
|
||||
创建 IMAP 实例
|
||||
无参数构造函数。创建 IMAP 实例,连接和认证参数由实例属性设置
|
||||
|
||||
<!-- tags: Object IMAP 邮件收取 创建 生成 对象 实例 邮件 SMTP POP3 -->
|
||||
|
||||
可见性:public
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| `host` | string | 可选。字符串类型。如果指定了Host参数,会自动从IMAP配置文件里获取其他相应参数 |
|
||||
| `user_name` | string | 可选。字符串类型,用户名 |
|
||||
| `password` | string | 可选。字符串类型,密码。如果该参数不指定,而指定了HOST,USERNAME参数,则在POP3配置文件里获取密码 |
|
||||
### `create(host, user_name, password)`
|
||||
|
||||
### `appendMessage(folder_name)`
|
||||
声明:function
|
||||
|
||||
构造函数。按 host、user_name 和 password 初始化 IMAP 实例
|
||||
|
||||
<!-- tags: Object IMAP 邮件收取 创建 生成 对象 实例 邮件 SMTP POP3 -->
|
||||
|
||||
可见性:public
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ----------- | ------ | --------------------------------------------- |
|
||||
| `host` | string | IMAP 配置名称。指定后从配置文件读取服务器参数 |
|
||||
| `user_name` | string | 登录用户名 |
|
||||
| `password` | string | 登录密码 |
|
||||
|
||||
### `appendMessage(folder_name, msg)`
|
||||
|
||||
声明:function
|
||||
|
||||
@@ -34,9 +44,10 @@
|
||||
|
||||
可见性:public
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| `folder_name` | string | 目标文件夹名称 |
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ------------- | ------- | -------------------- |
|
||||
| `folder_name` | string | 目标文件夹名称 |
|
||||
| `msg` | MailMsg | 要添加的邮件消息对象 |
|
||||
|
||||
返回:boolean
|
||||
|
||||
@@ -73,13 +84,13 @@ return ret;
|
||||
|
||||
可见性:public
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ------------- | ------ | ---------------------------------------------------------- |
|
||||
| `folder_name` | string | 可选。邮箱文件夹名称;若未指定,默认获取收件箱中的邮件数量 |
|
||||
|
||||
返回:integer
|
||||
|
||||
### `copyMessage(folder_name)`
|
||||
### `copyMessage(folder_name, msg_id, dest_folder_name)`
|
||||
|
||||
声明:function
|
||||
|
||||
@@ -89,9 +100,11 @@ return ret;
|
||||
|
||||
可见性:public
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| `folder_name` | string | 源文件夹名称 |
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ------------------ | ------- | -------------- |
|
||||
| `folder_name` | string | 源文件夹名称 |
|
||||
| `msg_id` | integer | 邮件编号 |
|
||||
| `dest_folder_name` | string | 目标文件夹名称 |
|
||||
|
||||
返回:boolean
|
||||
|
||||
@@ -105,8 +118,8 @@ return ret;
|
||||
|
||||
可见性:public
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ------------- | ------ | ---------- |
|
||||
| `folder_name` | string | 文件夹名称 |
|
||||
|
||||
返回:boolean
|
||||
@@ -132,8 +145,8 @@ return ret;//创建成功,返回1
|
||||
|
||||
可见性:public
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ------------- | ------ | ---------------------- |
|
||||
| `folder_name` | string | 要删除的邮箱文件夹名称 |
|
||||
|
||||
返回:boolean
|
||||
@@ -160,10 +173,10 @@ return ret;//创建成功,返回1
|
||||
|
||||
可见性:public
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| `reference` | string | 查询参考,即邮箱前缀,如"mybox/"、"mybox"等 |
|
||||
| `mail_box` | string | 邮箱名称,可带*或%通配符,如"*"、"sub*"等,默认"*" |
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ----------- | ------ | -------------------------------------------------- |
|
||||
| `reference` | string | 查询参考,即邮箱前缀,如"mybox/"、"mybox"等 |
|
||||
| `mail_box` | string | 邮箱名称,可带*或%通配符,如"*"、"sub*"等,默认"*" |
|
||||
|
||||
返回:array
|
||||
|
||||
@@ -212,9 +225,9 @@ return ret;
|
||||
|
||||
可见性:public
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| `folder_name` | string | 原邮箱文件夹名称 |
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ----------------- | ------ | ---------------- |
|
||||
| `folder_name` | string | 原邮箱文件夹名称 |
|
||||
| `new_folder_name` | string | 新邮箱文件夹名称 |
|
||||
|
||||
返回:boolean
|
||||
@@ -229,9 +242,9 @@ RetrieveMailBoxSize
|
||||
|
||||
可见性:public
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| `folder_name` | any | folder_name |
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ------------- | ---- | ----------- |
|
||||
| `folder_name` | any | folder_name |
|
||||
|
||||
返回:integer
|
||||
|
||||
|
||||
@@ -6,13 +6,13 @@
|
||||
|
||||
用于创建、解析、保存和发送邮件消息的内置对象
|
||||
|
||||
<!-- tags: Object MailMsg 邮件消息 写入 保存 对象 实例 邮件 SMTP POP3 IMAP -->
|
||||
<!-- tags: Object MailMsg 邮件消息 写入 保存 对象 实例 邮件 SMTP POP3 IMAP 创建 生成 构造函数 实例化 new -->
|
||||
|
||||
### `create()`
|
||||
|
||||
声明:function
|
||||
|
||||
创建 MailMsg 实例
|
||||
无参数构造函数。创建空的 MailMsg 实例,用于组装邮件消息
|
||||
|
||||
<!-- tags: Object MailMsg 邮件消息 创建 生成 对象 实例 邮件 SMTP POP3 IMAP -->
|
||||
|
||||
@@ -52,8 +52,8 @@
|
||||
|
||||
可见性:public
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| 参数 | 类型 | 说明 |
|
||||
| -------------- | ------- | ------------------------------ |
|
||||
| `headers_only` | boolean | 真假型,是否仅仅只要头部的内容 |
|
||||
|
||||
返回:binary
|
||||
@@ -68,11 +68,11 @@
|
||||
|
||||
可见性:public
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| `alias` | string | 可选。字符串类型,目录别名。可省略 |
|
||||
| `file_name` | string | 字符串类型,文件名 |
|
||||
| `headers_only` | boolean | 可选。是否仅需要头部内容 |
|
||||
| 参数 | 类型 | 说明 |
|
||||
| -------------- | ------- | ---------------------------------- |
|
||||
| `alias` | string | 可选。字符串类型,目录别名。可省略 |
|
||||
| `file_name` | string | 字符串类型,文件名 |
|
||||
| `headers_only` | boolean | 可选。是否仅需要头部内容 |
|
||||
|
||||
返回:any
|
||||
|
||||
@@ -86,9 +86,9 @@
|
||||
|
||||
可见性:public
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| `stream` | comobj | 流类型对象 |
|
||||
| 参数 | 类型 | 说明 |
|
||||
| -------------- | ------- | ------------------------ |
|
||||
| `stream` | comobj | 流类型对象 |
|
||||
| `headers_only` | boolean | 可选。是否仅需要头部内容 |
|
||||
|
||||
返回:any
|
||||
@@ -103,9 +103,9 @@
|
||||
|
||||
可见性:public
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| `index` | any | index |
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ------- | ---- | ----- |
|
||||
| `index` | any | index |
|
||||
|
||||
返回:messagepart
|
||||
|
||||
@@ -119,11 +119,11 @@
|
||||
|
||||
可见性:public
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| `alias` | string | 可选。字符串类型,目录别名。可省略 |
|
||||
| `file_name` | string | 字符串类型,文件名 |
|
||||
| `headers_only` | boolean | 可选。是否仅保存头部内容 |
|
||||
| 参数 | 类型 | 说明 |
|
||||
| -------------- | ------- | ---------------------------------- |
|
||||
| `alias` | string | 可选。字符串类型,目录别名。可省略 |
|
||||
| `file_name` | string | 字符串类型,文件名 |
|
||||
| `headers_only` | boolean | 可选。是否仅保存头部内容 |
|
||||
|
||||
返回:any
|
||||
|
||||
@@ -137,9 +137,9 @@
|
||||
|
||||
可见性:public
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| `stream` | comobj | 流类型对象 |
|
||||
| 参数 | 类型 | 说明 |
|
||||
| -------------- | ------- | ------------------------ |
|
||||
| `stream` | comobj | 流类型对象 |
|
||||
| `headers_only` | boolean | 可选。是否仅保存头部内容 |
|
||||
|
||||
返回:any
|
||||
@@ -154,11 +154,11 @@
|
||||
|
||||
可见性:public
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| `cmd` | string | 字符串类型,发送的命令 |
|
||||
| `cmd_result` | string | 可选。返回的结果串 |
|
||||
| `ret_code` | string | 可选。返回的代码串 |
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ------------ | ------ | ---------------------- |
|
||||
| `cmd` | string | 字符串类型,发送的命令 |
|
||||
| `cmd_result` | string | 可选。返回的结果串 |
|
||||
| `ret_code` | string | 可选。返回的代码串 |
|
||||
|
||||
返回:boolean
|
||||
|
||||
|
||||
@@ -6,13 +6,13 @@
|
||||
|
||||
表示邮件正文、附件等消息分段的内置对象
|
||||
|
||||
<!-- tags: Object MessagePart 邮件分段 对象 实例 邮件 SMTP POP3 IMAP -->
|
||||
<!-- tags: Object MessagePart 邮件分段 对象 实例 邮件 SMTP POP3 IMAP 创建 生成 构造函数 实例化 new -->
|
||||
|
||||
### `create()`
|
||||
|
||||
声明:function
|
||||
|
||||
创建 MessagePart 实例
|
||||
无参数构造函数。创建空的 MessagePart 实例,用于表示邮件正文或附件分段
|
||||
|
||||
<!-- tags: Object MessagePart 邮件分段 创建 生成 对象 实例 邮件 SMTP POP3 IMAP -->
|
||||
|
||||
@@ -28,10 +28,10 @@
|
||||
|
||||
可见性:public
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| `alias` | string | 可选。字符串类型,目录别名。可省略 |
|
||||
| `file_name` | string | 字符串类型,文件名 |
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ----------- | ------ | ---------------------------------- |
|
||||
| `alias` | string | 可选。字符串类型,目录别名。可省略 |
|
||||
| `file_name` | string | 字符串类型,文件名 |
|
||||
|
||||
返回:any
|
||||
|
||||
@@ -45,8 +45,8 @@
|
||||
|
||||
可见性:public
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| 参数 | 类型 | 说明 |
|
||||
| -------- | ------- | ---------- |
|
||||
| `stream` | TStream | 流对象类型 |
|
||||
|
||||
返回:any
|
||||
@@ -61,10 +61,10 @@
|
||||
|
||||
可见性:public
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| `alias` | string | 可选。字符串类型,目录别名。可省略 |
|
||||
| `file_name` | string | 字符串类型,文件名 |
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ----------- | ------ | ---------------------------------- |
|
||||
| `alias` | string | 可选。字符串类型,目录别名。可省略 |
|
||||
| `file_name` | string | 字符串类型,文件名 |
|
||||
|
||||
返回:any
|
||||
|
||||
@@ -78,8 +78,8 @@
|
||||
|
||||
可见性:public
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| 参数 | 类型 | 说明 |
|
||||
| -------- | ------- | ---------- |
|
||||
| `stream` | TStream | 流对象类型 |
|
||||
|
||||
返回:any
|
||||
|
||||
@@ -6,23 +6,37 @@
|
||||
|
||||
用于连接 POP3 服务器并读取或删除邮件的内置对象
|
||||
|
||||
<!-- tags: Object Pop3 邮件接收 读取 获取 对象 实例 邮件 SMTP IMAP -->
|
||||
<!-- tags: Object Pop3 邮件接收 读取 获取 对象 实例 邮件 SMTP IMAP 创建 生成 构造函数 实例化 new -->
|
||||
|
||||
### `create(host, user_name, password)`
|
||||
下列范例使用本机 `127.0.0.1:42110` 的临时 POP3 测试服务
|
||||
|
||||
测试账号为 `tsl_user` 和 `tsl_pass`,服务器需支持 APOP 认证
|
||||
|
||||
### `create()`
|
||||
|
||||
声明:function
|
||||
|
||||
创建 Pop3 实例
|
||||
无参数构造函数。创建 Pop3 实例,连接和认证参数由实例属性设置
|
||||
|
||||
<!-- tags: Object Pop3 邮件接收 创建 生成 对象 实例 邮件 SMTP IMAP -->
|
||||
|
||||
可见性:public
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| `host` | string | 可选。字符串类型。如果指定了Host参数,会自动从Pop3配置文件里获取其他相应参数,并自动连接 |
|
||||
| `user_name` | string | 可选。字符串类型,用户名 |
|
||||
| `password` | string | 可选。字符串类型,密码。如果该参数不指定,而指定了HOST,USERNAME参数,则在POP3配置文件里获取密码 |
|
||||
### `create(host, user_name, password)`
|
||||
|
||||
声明:function
|
||||
|
||||
构造函数。按 host、user_name 和 password 初始化 Pop3 实例
|
||||
|
||||
<!-- tags: Object Pop3 邮件接收 创建 生成 对象 实例 邮件 SMTP IMAP -->
|
||||
|
||||
可见性:public
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ----------- | ------ | ------------------------------------------------------- |
|
||||
| `host` | string | Pop3 配置名称。指定后从配置文件读取服务器参数并自动连接 |
|
||||
| `user_name` | string | 登录用户名 |
|
||||
| `password` | string | 登录密码 |
|
||||
|
||||
### `capa()`
|
||||
|
||||
@@ -39,9 +53,21 @@
|
||||
#### 示例
|
||||
|
||||
```tsl
|
||||
//创建pop3对象
|
||||
pop3Obj := new pop3("pop3.tinysoft.com.cn","username","password");
|
||||
return pop3Obj.CAPA();
|
||||
obj := new Pop3();
|
||||
obj.host := "127.0.0.1";
|
||||
obj.port := 42110;
|
||||
obj.username := "tsl_user";
|
||||
obj.password := "tsl_pass";
|
||||
obj.useTLS := false;
|
||||
obj.authType := 1;
|
||||
obj.connect();
|
||||
echo obj.capa();
|
||||
obj.disconnect();
|
||||
// 输出:
|
||||
// USER
|
||||
// TOP
|
||||
// UIDL
|
||||
// IMPLEMENTATION TSL test
|
||||
```
|
||||
|
||||
### `checkMessages()`
|
||||
@@ -59,9 +85,17 @@ return pop3Obj.CAPA();
|
||||
#### 示例
|
||||
|
||||
```tsl
|
||||
//登陆并返回邮箱中邮件数量
|
||||
ret:=CreateObject('PoP3','POP3.TINYSOFT.COM.CN',uname,password);
|
||||
return ret.CheckMessages();//返回整数
|
||||
obj := new Pop3();
|
||||
obj.host := "127.0.0.1";
|
||||
obj.port := 42110;
|
||||
obj.username := "tsl_user";
|
||||
obj.password := "tsl_pass";
|
||||
obj.useTLS := false;
|
||||
obj.authType := 1;
|
||||
obj.connect();
|
||||
echo obj.checkMessages();
|
||||
obj.disconnect();
|
||||
// 输出:1
|
||||
```
|
||||
|
||||
### `connect()`
|
||||
@@ -79,15 +113,19 @@ return ret.CheckMessages();//返回整数
|
||||
#### 示例
|
||||
|
||||
```tsl
|
||||
ret:=CreateObject('Pop3');
|
||||
//通过属性设置后再连接
|
||||
ret.Username:=uName;
|
||||
ret.Password:=passWord;
|
||||
ret.Host:='POP3.TINYSOFT.COM.CN';
|
||||
ret.Port:=110;
|
||||
ret.UseTLS:=0;
|
||||
ret.Connect(); //连接邮箱服务器
|
||||
return ret.CheckMessages();
|
||||
obj := new Pop3();
|
||||
obj.host := "127.0.0.1";
|
||||
obj.port := 42110;
|
||||
obj.username := "tsl_user";
|
||||
obj.password := "tsl_pass";
|
||||
obj.useTLS := false;
|
||||
obj.authType := 1;
|
||||
echo obj.connect(), "\n";
|
||||
echo obj.checkMessages(), "\n";
|
||||
obj.disconnect();
|
||||
// 输出:
|
||||
// 0
|
||||
// 1
|
||||
```
|
||||
|
||||
### `delete(msg_id)`
|
||||
@@ -100,9 +138,9 @@ return ret.CheckMessages();
|
||||
|
||||
可见性:public
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| `msg_id` | any | msg_id |
|
||||
| 参数 | 类型 | 说明 |
|
||||
| -------- | ---- | ------ |
|
||||
| `msg_id` | any | msg_id |
|
||||
|
||||
返回:boolean
|
||||
|
||||
@@ -176,10 +214,10 @@ return ret.CheckMessages();
|
||||
|
||||
可见性:public
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| `msg_id` | integer | 邮件ID |
|
||||
| `msg` | TSLObj | 获取成功时返回的邮件内容,具体类型可参考FAQ: MailMsg对象 |
|
||||
| 参数 | 类型 | 说明 |
|
||||
| -------- | ------- | --------------------------------------------------------- |
|
||||
| `msg_id` | integer | 邮件ID |
|
||||
| `msg` | TSLObj | 获取成功时返回的邮件内容,具体类型可参考FAQ: MailMsg对象 |
|
||||
|
||||
返回:boolean
|
||||
|
||||
@@ -193,10 +231,10 @@ return ret.CheckMessages();
|
||||
|
||||
可见性:public
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| `msg_id` | integer | 邮件ID |
|
||||
| `msg` | TSLObj | 获取成功时返回的邮件头部信息,具体类型可参考FAQ: MailMsg对象 |
|
||||
| 参数 | 类型 | 说明 |
|
||||
| -------- | ------- | ------------------------------------------------------------- |
|
||||
| `msg_id` | integer | 邮件ID |
|
||||
| `msg` | TSLObj | 获取成功时返回的邮件头部信息,具体类型可参考FAQ: MailMsg对象 |
|
||||
|
||||
返回:boolean
|
||||
|
||||
@@ -215,9 +253,17 @@ return ret.CheckMessages();
|
||||
#### 示例
|
||||
|
||||
```tsl
|
||||
//创建pop3对象
|
||||
pop3Obj := new pop3("pop3.tinysoft.com.cn","username","password");
|
||||
return pop3Obj.RetrieveMailBoxSize();
|
||||
obj := new Pop3();
|
||||
obj.host := "127.0.0.1";
|
||||
obj.port := 42110;
|
||||
obj.username := "tsl_user";
|
||||
obj.password := "tsl_pass";
|
||||
obj.useTLS := false;
|
||||
obj.authType := 1;
|
||||
obj.connect();
|
||||
echo obj.retrieveMailBoxSize();
|
||||
obj.disconnect();
|
||||
// 输出:138
|
||||
```
|
||||
|
||||
### `retrieveMsgSize(msg_id)`
|
||||
@@ -230,8 +276,8 @@ return pop3Obj.RetrieveMailBoxSize();
|
||||
|
||||
可见性:public
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| 参数 | 类型 | 说明 |
|
||||
| -------- | ------- | ------------ |
|
||||
| `msg_id` | integer | 指定邮件序号 |
|
||||
|
||||
返回:integer
|
||||
@@ -239,9 +285,17 @@ return pop3Obj.RetrieveMailBoxSize();
|
||||
#### 示例
|
||||
|
||||
```tsl
|
||||
//创建pop3对象
|
||||
pop3Obj := new pop3("pop3.tinysoft.com.cn","username","password");
|
||||
return pop3Obj.RetrieveMsgSize(1);
|
||||
obj := new Pop3();
|
||||
obj.host := "127.0.0.1";
|
||||
obj.port := 42110;
|
||||
obj.username := "tsl_user";
|
||||
obj.password := "tsl_pass";
|
||||
obj.useTLS := false;
|
||||
obj.authType := 1;
|
||||
obj.connect();
|
||||
echo obj.retrieveMsgSize(1);
|
||||
obj.disconnect();
|
||||
// 输出:138
|
||||
```
|
||||
|
||||
### `retrieveRaw(msg_id, msg_content)`
|
||||
@@ -254,10 +308,10 @@ return pop3Obj.RetrieveMsgSize(1);
|
||||
|
||||
可见性:public
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| `msg_id` | integer | 邮件ID |
|
||||
| `msg_content` | string | 获取成功时返回的原始邮件内容 |
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ------------- | ------- | ---------------------------- |
|
||||
| `msg_id` | integer | 邮件ID |
|
||||
| `msg_content` | string | 获取成功时返回的原始邮件内容 |
|
||||
|
||||
返回:boolean
|
||||
|
||||
@@ -271,20 +325,28 @@ return pop3Obj.RetrieveMsgSize(1);
|
||||
|
||||
可见性:public
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| `cmd` | string | 字符串类型,发送的命令 |
|
||||
| `cmd_result` | string | 可选。返回的结果串 |
|
||||
| `ret_code` | string | 可选。返回的代码串 |
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ------------ | ------ | ---------------------- |
|
||||
| `cmd` | string | 字符串类型,发送的命令 |
|
||||
| `cmd_result` | string | 可选。返回的结果串 |
|
||||
| `ret_code` | string | 可选。返回的代码串 |
|
||||
|
||||
返回:integer
|
||||
|
||||
#### 示例
|
||||
|
||||
```tsl
|
||||
ret:=CreateObject('PoP3','POP3.TINYSOFT.COM.CN',uName,password);
|
||||
r:=ret.SendCmd('UIDL 1',cr,rc);//获取指定邮件的唯一标识
|
||||
return array(r,cr,rc);
|
||||
obj := new Pop3();
|
||||
obj.host := "127.0.0.1";
|
||||
obj.port := 42110;
|
||||
obj.username := "tsl_user";
|
||||
obj.password := "tsl_pass";
|
||||
obj.useTLS := false;
|
||||
obj.authType := 1;
|
||||
obj.connect();
|
||||
echo obj.sendCmd("UIDL 1", cmd_result, ret_code);
|
||||
obj.disconnect();
|
||||
// 输出:0
|
||||
```
|
||||
|
||||
### `top(msg_id, result, max_lines)`
|
||||
@@ -297,10 +359,10 @@ return array(r,cr,rc);
|
||||
|
||||
可见性:public
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| `msg_id` | integer | 指定邮件序号 |
|
||||
| `result` | string | 指定邮件内容返回值 |
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ----------- | ------- | ------------------------------ |
|
||||
| `msg_id` | integer | 指定邮件序号 |
|
||||
| `result` | string | 指定邮件内容返回值 |
|
||||
| `max_lines` | integer | 获取指定邮件前MaxLines行的内容 |
|
||||
|
||||
返回:boolean
|
||||
@@ -308,11 +370,25 @@ return array(r,cr,rc);
|
||||
#### 示例
|
||||
|
||||
```tsl
|
||||
//创建pop3对象
|
||||
pop3Obj := new pop3("pop3.tinysoft.com.cn","username","password");
|
||||
ret := pop3Obj.Top(1,msg,3);
|
||||
if ret then return msg;
|
||||
else return "获取指定邮件前3行内容失败!";
|
||||
obj := new Pop3();
|
||||
obj.host := "127.0.0.1";
|
||||
obj.port := 42110;
|
||||
obj.username := "tsl_user";
|
||||
obj.password := "tsl_pass";
|
||||
obj.useTLS := false;
|
||||
obj.authType := 1;
|
||||
obj.connect();
|
||||
obj.top(1, msg, 3);
|
||||
echo msg;
|
||||
obj.disconnect();
|
||||
// 输出:
|
||||
// From: sender@example.test
|
||||
// To: recipient@example.test
|
||||
// Subject: TSL POP3 test
|
||||
// Message-ID: <tsl-pop3@example.test>
|
||||
//
|
||||
// line one
|
||||
// line two
|
||||
```
|
||||
|
||||
### `uidl(ids)`
|
||||
@@ -325,8 +401,8 @@ else return "获取指定邮件前3行内容失败!";
|
||||
|
||||
可见性:public
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ----- | ------ | ---------------------------- |
|
||||
| `ids` | string | 字符串,存放获取到的标示列表 |
|
||||
|
||||
返回:boolean
|
||||
@@ -334,9 +410,18 @@ else return "获取指定邮件前3行内容失败!";
|
||||
#### 示例
|
||||
|
||||
```tsl
|
||||
ret:=CreateObject('PoP3','POP3.TINYSOFT.COM.CN',uname,password);
|
||||
ret.UIDL(ids); //取服务器的邮件唯一标示列表存放在ids中
|
||||
return ids;
|
||||
obj := new Pop3();
|
||||
obj.host := "127.0.0.1";
|
||||
obj.port := 42110;
|
||||
obj.username := "tsl_user";
|
||||
obj.password := "tsl_pass";
|
||||
obj.useTLS := false;
|
||||
obj.authType := 1;
|
||||
obj.connect();
|
||||
obj.uidl(ids);
|
||||
echo ids;
|
||||
obj.disconnect();
|
||||
// 输出:1 tsl-message-1
|
||||
```
|
||||
|
||||
### `AuthType`
|
||||
|
||||
@@ -6,21 +6,35 @@
|
||||
|
||||
用于连接 SMTP 服务器并发送邮件的内置对象
|
||||
|
||||
<!-- tags: Object SMTP 邮件发送 对象 实例 邮件 POP3 IMAP -->
|
||||
<!-- tags: Object SMTP 邮件发送 对象 实例 邮件 POP3 IMAP 创建 生成 构造函数 实例化 new -->
|
||||
|
||||
### `create(host)`
|
||||
下列范例使用本机 `127.0.0.1:42125` 的无认证临时 SMTP 测试服务
|
||||
|
||||
邮件地址使用保留的 `.test` 域名,不会投递到公网邮箱
|
||||
|
||||
### `create()`
|
||||
|
||||
声明:function
|
||||
|
||||
创建 SMTP 实例
|
||||
无参数构造函数。创建 SMTP 实例,连接参数由实例属性设置
|
||||
|
||||
<!-- tags: Object SMTP 邮件发送 创建 生成 对象 实例 邮件 POP3 IMAP -->
|
||||
|
||||
可见性:public
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| `host` | string | 可选。字符串类型。如果指定了Host参数,会自动从SMTP配置文件里获取其他相应参数,并自动连接 |
|
||||
### `create(host)`
|
||||
|
||||
声明:function
|
||||
|
||||
构造函数。按 host 配置名称读取连接参数并自动连接服务器
|
||||
|
||||
<!-- tags: Object SMTP 邮件发送 创建 生成 对象 实例 邮件 POP3 IMAP -->
|
||||
|
||||
可见性:public
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ------ | ------ | ------------------------------------------------------- |
|
||||
| `host` | string | SMTP 配置名称。指定后从配置文件读取服务器参数并自动连接 |
|
||||
|
||||
### `connect()`
|
||||
|
||||
@@ -37,10 +51,14 @@
|
||||
#### 示例
|
||||
|
||||
```tsl
|
||||
obj:= CreateObject("smtp") ;
|
||||
obj.Host := 'smtp.tinysoft.com.cn' ;
|
||||
obj := new SMTP();
|
||||
obj.host := "127.0.0.1";
|
||||
obj.port := 42125;
|
||||
obj.useTLS := false;
|
||||
obj.connect();
|
||||
return 1;
|
||||
echo 1;
|
||||
obj.disconnect();
|
||||
// 输出:1
|
||||
```
|
||||
|
||||
### `disconnect()`
|
||||
@@ -58,11 +76,14 @@ return 1;
|
||||
#### 示例
|
||||
|
||||
```tsl
|
||||
obj:= CreateObject("smtp") ;
|
||||
obj.Host := 'smtp.tinysoft.com.cn' ;
|
||||
obj := new SMTP();
|
||||
obj.host := "127.0.0.1";
|
||||
obj.port := 42125;
|
||||
obj.useTLS := false;
|
||||
obj.connect();
|
||||
obj.disconnect();
|
||||
return 1;
|
||||
echo 1;
|
||||
// 输出:1
|
||||
```
|
||||
|
||||
### `disconnectNotifyPeer()`
|
||||
@@ -80,11 +101,14 @@ return 1;
|
||||
#### 示例
|
||||
|
||||
```tsl
|
||||
obj:= CreateObject("smtp") ;
|
||||
obj.Host := 'smtp.tinysoft.com.cn' ;
|
||||
obj := new SMTP();
|
||||
obj.host := "127.0.0.1";
|
||||
obj.port := 42125;
|
||||
obj.useTLS := false;
|
||||
obj.connect();
|
||||
obj.DisconnectNotifyPeer();
|
||||
return 1;
|
||||
obj.disconnectNotifyPeer();
|
||||
echo 1;
|
||||
// 输出:1
|
||||
```
|
||||
|
||||
### `expand(username)`
|
||||
@@ -97,8 +121,8 @@ return 1;
|
||||
|
||||
可见性:public
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ---------- | ------ | ------------------------ |
|
||||
| `username` | string | 字符串类型,展开的用户名 |
|
||||
|
||||
返回:string
|
||||
@@ -119,43 +143,36 @@ return 1;
|
||||
|
||||
声明:function
|
||||
|
||||
发送邮件。暂时不支持
|
||||
创建并发送一封纯文本邮件
|
||||
|
||||
<!-- tags: Object SMTP 邮件发送 发送 提交 对象 实例 邮件 POP3 IMAP -->
|
||||
|
||||
可见性:public
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| `a_host` | string | 字符串类型,服务器主机名或者地址 |
|
||||
| `a_subject` | string | 字符串类型,标题 |
|
||||
| `a_to` | string | 接受者邮件地址 |
|
||||
| `a_from` | string | 来源邮件地址 |
|
||||
| `a_text` | string | 发送的邮件的内容 |
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ----------- | ------ | -------------------------------- |
|
||||
| `a_host` | string | 字符串类型,服务器主机名或者地址 |
|
||||
| `a_subject` | string | 字符串类型,标题 |
|
||||
| `a_to` | string | 接受者邮件地址 |
|
||||
| `a_from` | string | 来源邮件地址 |
|
||||
| `a_text` | string | 发送的邮件的内容 |
|
||||
|
||||
返回:any
|
||||
|
||||
#### 示例
|
||||
|
||||
```tsl
|
||||
obj := CreateObject("smtp");
|
||||
obj.UserName := 'username'; //邮箱账号
|
||||
obj.Password := 'password'; //邮箱密码
|
||||
obj.Host := 'smtp.tinysoft.com.cn'; //smtp地址
|
||||
obj.port := 25; //端口
|
||||
obj.connect();
|
||||
try
|
||||
mailHost:='smtp.tinysoft.com.cn'; //邮件服务器地址
|
||||
mailSubject:="SendMailTest"; //邮件标题
|
||||
mailBody := "test"; //邮件内容
|
||||
mailSender := "username@tinysoft.com.cn"; //邮件发送人邮箱
|
||||
mailRecipients := " Recipients@qq.com"; //邮件接收人邮箱
|
||||
obj.QuickSend(mailHost,mailSubject,mailRecipients,mailSender,mailBody);
|
||||
except
|
||||
echo '\r\n邮件错误信息',obj.LastCmdResult();
|
||||
return echo '\r\n邮件发送失败:',ExceptObject.errinfo;
|
||||
end;
|
||||
return 1;
|
||||
obj := new SMTP();
|
||||
obj.port := 42125;
|
||||
obj.useTLS := false;
|
||||
echo obj.quickSend(
|
||||
"127.0.0.1",
|
||||
"TSL quick test",
|
||||
"recipient@example.test",
|
||||
"sender@example.test",
|
||||
"test body"
|
||||
), "\n";
|
||||
// 输出:1
|
||||
```
|
||||
|
||||
### `send(message)`
|
||||
@@ -168,8 +185,8 @@ return 1;
|
||||
|
||||
可见性:public
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --------- | ------- | ------------------------------- |
|
||||
| `message` | mailmsg | MailMsg对象,需要发送的邮件内容 |
|
||||
|
||||
返回:any
|
||||
@@ -177,25 +194,19 @@ return 1;
|
||||
#### 示例
|
||||
|
||||
```tsl
|
||||
obj:= CreateObject("smtp") ;
|
||||
obj.UserName := 'username' ; //邮箱账号
|
||||
obj.Password := 'password'; //邮箱密码
|
||||
obj.Host := 'smtp.tinysoft.com.cn' ; //smtp地址
|
||||
obj.port:=25; //端口
|
||||
obj := new SMTP();
|
||||
obj.host := "127.0.0.1";
|
||||
obj.port := 42125;
|
||||
obj.useTLS := false;
|
||||
obj.connect();
|
||||
//设置mailmsg对象
|
||||
msg := CreateObject("MailMsg");
|
||||
msg.subject := "SendMailTest"; //邮件标题
|
||||
msg.body := "test"; //邮件内容
|
||||
msg.Sender := "username@tinysoft.com.cn"; //邮件发送人邮箱
|
||||
msg.Recipients :=" Recipients @qq.com";//邮件接收人邮箱
|
||||
try
|
||||
obj.send(msg);
|
||||
except
|
||||
echo '\r\n邮件错误信息',obj.LastCmdResult();
|
||||
return echo '\r\n邮件发送失败:',ExceptObject.errinfo;
|
||||
end;
|
||||
return 1;
|
||||
msg := new MailMsg();
|
||||
msg.subject := "TSL send test";
|
||||
msg.body := "test body";
|
||||
msg.sender := "sender@example.test";
|
||||
msg.recipients := "recipient@example.test";
|
||||
echo obj.send(msg), "\n";
|
||||
obj.disconnect();
|
||||
// 输出:0
|
||||
```
|
||||
|
||||
### `sendCmd(cmd, cmd_result, ret_code)`
|
||||
@@ -208,38 +219,40 @@ return 1;
|
||||
|
||||
可见性:public
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| `cmd` | string | 字符串类型,发送的命令 |
|
||||
| `cmd_result` | string | 可选。返回的结果串 |
|
||||
| `ret_code` | string | 可选。返回的代码串 |
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ------------ | ------ | ---------------------- |
|
||||
| `cmd` | string | 字符串类型,发送的命令 |
|
||||
| `cmd_result` | string | 可选。返回的结果串 |
|
||||
| `ret_code` | string | 可选。返回的代码串 |
|
||||
|
||||
返回:boolean
|
||||
|
||||
#### 示例
|
||||
|
||||
```tsl
|
||||
//发送HELO命令。
|
||||
obj:= CreateObject("smtp") ;
|
||||
obj.Host := 'smtp.tinysoft.com.cn' ;
|
||||
obj := new SMTP();
|
||||
obj.host := "127.0.0.1";
|
||||
obj.port := 42125;
|
||||
obj.useTLS := false;
|
||||
obj.connect();
|
||||
obj.sendcmd("HELO smtp.tinysoft.com.cn\r\n",r,c);
|
||||
return r;
|
||||
//结果:665518 Hello smtp.tinysoft.com.cn [ip], pleased to meet you.
|
||||
obj.sendCmd("HELO 127.0.0.1\r\n", cmd_result, ret_code);
|
||||
echo cmd_result;
|
||||
obj.disconnect();
|
||||
// 输出:localhost
|
||||
```
|
||||
|
||||
### `verify(username)`
|
||||
|
||||
声明:function
|
||||
|
||||
验证用户名。验证用户名。用户名是否存在当前服务器中,注:smtp服务器可禁止此功能
|
||||
向 SMTP 服务器查询指定邮件地址是否可接收邮件,服务器可以禁用该功能
|
||||
|
||||
<!-- tags: Object SMTP 邮件发送 对象 实例 邮件 POP3 IMAP -->
|
||||
|
||||
可见性:public
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ---------- | ------ | ------------------------ |
|
||||
| `username` | string | 字符串类型,验证的用户名 |
|
||||
|
||||
返回:string
|
||||
@@ -247,16 +260,14 @@ return r;
|
||||
#### 示例
|
||||
|
||||
```tsl
|
||||
obj:= CreateObject("smtp","test") ;
|
||||
obj.Host := 'smtp.tinysoft.com.cn' ;
|
||||
obj.port:=25;
|
||||
try
|
||||
username:="username@tinysoft.com.cn";
|
||||
return obj.verify(username);
|
||||
except
|
||||
return echo ExceptObject.errinfo;
|
||||
end;
|
||||
//结果:username < username@tinysoft.com.cn>
|
||||
obj := new SMTP();
|
||||
obj.host := "127.0.0.1";
|
||||
obj.port := 42125;
|
||||
obj.useTLS := false;
|
||||
obj.connect();
|
||||
echo obj.verify("recipient@example.test");
|
||||
obj.disconnect();
|
||||
// 输出:recipient@example.test <recipient@example.test>
|
||||
```
|
||||
|
||||
### `Authenticate`
|
||||
|
||||
@@ -6,21 +6,21 @@
|
||||
|
||||
提供对称加密和解密能力的内置对象
|
||||
|
||||
<!-- tags: Object TCipher 对称加密 对象 实例 -->
|
||||
<!-- tags: Object TCipher 对称加密 对象 实例 创建 生成 构造函数 实例化 new -->
|
||||
|
||||
### `create(mode)`
|
||||
|
||||
声明:function
|
||||
|
||||
创建 TCipher 实例
|
||||
构造函数。按 mode 选择加密算法并创建 TCipher 实例
|
||||
|
||||
<!-- tags: Object TCipher 对称加密 创建 生成 对象 实例 -->
|
||||
|
||||
可见性:public
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ------ | ------- | -------------- |
|
||||
| `mode` | integer | mode,取值见下 |
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ------ | ------- | ---------------------- |
|
||||
| `mode` | integer | 加密算法编号,取值见下 |
|
||||
|
||||
#### `mode` 取值
|
||||
|
||||
|
||||
@@ -18,9 +18,9 @@
|
||||
|
||||
可见性:public
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| `src` | any | src |
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ----- | ---- | ---- |
|
||||
| `src` | any | src |
|
||||
|
||||
返回:any
|
||||
|
||||
@@ -34,9 +34,9 @@
|
||||
|
||||
可见性:public
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| `des` | any | des |
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ----- | ---- | ---- |
|
||||
| `des` | any | des |
|
||||
|
||||
返回:any
|
||||
|
||||
|
||||
@@ -42,9 +42,9 @@
|
||||
|
||||
可见性:public
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| `index` | any | index |
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ------- | ---- | ----- |
|
||||
| `index` | any | index |
|
||||
|
||||
返回:TCookie
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
|
||||
以文件为存储后端并提供流式读写能力的内置对象
|
||||
|
||||
<!-- tags: Object TFileStream 文件流 文件 目录 路径 file 对象 实例 -->
|
||||
<!-- tags: Object TFileStream 文件流 文件 目录 路径 file 对象 实例 创建 生成 构造函数 实例化 new -->
|
||||
|
||||
父类:`TStream`
|
||||
|
||||
@@ -14,26 +14,28 @@
|
||||
|
||||
声明:function
|
||||
|
||||
创建 TFileStream 实例
|
||||
构造函数。按目录别名、文件名和打开模式创建文件流并打开对应文件
|
||||
|
||||
<!-- tags: Object TFileStream 文件流 创建 生成 文件 目录 路径 file 对象 实例 -->
|
||||
|
||||
可见性:public
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ----------- | ------- | ---------------------------------------------- |
|
||||
| `alias` | string | 字符串类型,目录别名 |
|
||||
| `file_name` | string | 字符串类型,文件名 |
|
||||
| `file_mode` | integer | 整数类型。为打开模式和共享模式的组合值(相加) |
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ----------- | ------- | ------------------------------------ |
|
||||
| `alias` | string | 目录别名 |
|
||||
| `file_name` | string | 文件名 |
|
||||
| `file_mode` | integer | 打开模式和共享模式的组合值,两者相加 |
|
||||
|
||||
#### `file_mode` 取值
|
||||
|
||||
打开模式:
|
||||
|
||||
- `65535` — 创建
|
||||
- `0` — 只读
|
||||
- `1` — 只写
|
||||
- `2` — 读写
|
||||
|
||||
#### `file_mode` 取值
|
||||
共享模式:
|
||||
|
||||
- `0` — FCBs打开模式共享
|
||||
- `16` — 禁止共享打开
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
|
||||
封装系统句柄并提供流式读写能力的内置对象
|
||||
|
||||
<!-- tags: Object THandleStream 句柄流 对象 实例 -->
|
||||
<!-- tags: Object THandleStream 句柄流 对象 实例 创建 生成 构造函数 实例化 new -->
|
||||
|
||||
父类:`TStream`
|
||||
|
||||
@@ -14,12 +14,12 @@
|
||||
|
||||
声明:function
|
||||
|
||||
创建 THandleStream 实例
|
||||
构造函数。使用系统句柄创建 THandleStream 实例
|
||||
|
||||
<!-- tags: Object THandleStream 句柄流 创建 生成 对象 实例 -->
|
||||
|
||||
可见性:public
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| `handle` | integer | 整数类型,句柄 |
|
||||
| 参数 | 类型 | 说明 |
|
||||
| -------- | ------- | -------- |
|
||||
| `handle` | integer | 系统句柄 |
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
|
||||
使用哈希索引加速查找的字符串列表内置对象
|
||||
|
||||
<!-- tags: Object 哈希索引 哈希表 hash 查找 搜索 lookup 数组 列表 array list 字符串 -->
|
||||
<!-- tags: Object 哈希索引 哈希表 hash 查找 搜索 lookup 数组 列表 array list 字符串 创建 生成 构造函数 实例化 new -->
|
||||
|
||||
父类:`TStringList`
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
|
||||
声明:function
|
||||
|
||||
创建 THashedStringList 实例
|
||||
无参数构造函数。创建带哈希索引的字符串列表实例
|
||||
|
||||
<!-- tags: Object 创建 生成 数组 列表 array list 字符串 文本 string text 对象 -->
|
||||
|
||||
|
||||
@@ -6,22 +6,22 @@
|
||||
|
||||
用于读取和写入 INI 配置文件的内置对象
|
||||
|
||||
<!-- tags: Object TIniFile INI 文件 读取 获取 目录 路径 file 数据库 SQL database -->
|
||||
<!-- tags: Object TIniFile INI 文件 读取 获取 目录 路径 file 数据库 SQL database 创建 生成 构造函数 实例化 new -->
|
||||
|
||||
### `create(alias, file_name)`
|
||||
|
||||
声明:function
|
||||
|
||||
创建 TIniFile 实例
|
||||
构造函数。打开指定目录别名和文件名对应的 INI 配置
|
||||
|
||||
<!-- tags: Object TIniFile INI 文件 创建 生成 目录 路径 file 数据库 SQL database -->
|
||||
|
||||
可见性:public
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| `alias` | string | 目录别名 |
|
||||
| `file_name` | string | INI文件名 |
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ----------- | ------ | ---------- |
|
||||
| `alias` | string | 目录别名 |
|
||||
| `file_name` | string | INI 文件名 |
|
||||
|
||||
### `deleteKey(section, ident)`
|
||||
|
||||
@@ -33,10 +33,10 @@
|
||||
|
||||
可见性:public
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --------- | ------ | -------------------------------- |
|
||||
| `section` | string | 字符串类型,要删除的键所在章节名 |
|
||||
| `ident` | string | 字符串类型,要删除的键名 |
|
||||
| `ident` | string | 字符串类型,要删除的键名 |
|
||||
|
||||
返回:any
|
||||
|
||||
@@ -50,8 +50,8 @@
|
||||
|
||||
可见性:public
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --------- | ------ | -------------------------- |
|
||||
| `section` | string | 字符串类型,要删除的章节名 |
|
||||
|
||||
返回:any
|
||||
@@ -66,15 +66,15 @@
|
||||
|
||||
可见性:public
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| `section` | string | 字符串类型,节名 |
|
||||
| `ident` | string | 字符串类型,键值名 |
|
||||
| `value` | TStream | TStream类型,存贮读取的内容 |
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --------- | ------- | --------------------------- |
|
||||
| `section` | string | 字符串类型,节名 |
|
||||
| `ident` | string | 字符串类型,键值名 |
|
||||
| `value` | TStream | TStream类型,存贮读取的内容 |
|
||||
|
||||
返回:integer
|
||||
|
||||
### `readBoolean(section, ident, default)`
|
||||
### `readBool(section, ident, default)`
|
||||
|
||||
声明:function
|
||||
|
||||
@@ -84,10 +84,10 @@
|
||||
|
||||
可见性:public
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| `section` | string | 字符串类型,节名 |
|
||||
| `ident` | string | 字符串类型,键值名 |
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --------- | ------- | ----------------------------------- |
|
||||
| `section` | string | 字符串类型,节名 |
|
||||
| `ident` | string | 字符串类型,键值名 |
|
||||
| `default` | boolean | Boolean类型,当不存在的时候的默认值 |
|
||||
|
||||
返回:boolean
|
||||
@@ -102,11 +102,11 @@
|
||||
|
||||
可见性:public
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| `section` | string | 字符串类型,节名 |
|
||||
| `ident` | string | 字符串类型,键值名 |
|
||||
| `default` | TDate | 日期类型,当不存在的时候的默认值 |
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --------- | ------ | -------------------------------- |
|
||||
| `section` | string | 字符串类型,节名 |
|
||||
| `ident` | string | 字符串类型,键值名 |
|
||||
| `default` | TDate | 日期类型,当不存在的时候的默认值 |
|
||||
|
||||
返回:TDate
|
||||
|
||||
@@ -120,10 +120,10 @@
|
||||
|
||||
可见性:public
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| `section` | string | 字符串类型,节名 |
|
||||
| `ident` | string | 字符串类型,键值名 |
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --------- | -------- | ------------------------------------ |
|
||||
| `section` | string | 字符串类型,节名 |
|
||||
| `ident` | string | 字符串类型,键值名 |
|
||||
| `default` | datetime | 日期时间类型,当不存在的时候的默认值 |
|
||||
|
||||
返回:datetime
|
||||
@@ -138,11 +138,11 @@
|
||||
|
||||
可见性:public
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| `section` | string | 字符串类型,节名 |
|
||||
| `ident` | string | 字符串类型,键值名 |
|
||||
| `default` | float | 实数类型,当不存在的时候的默认值 |
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --------- | ------ | -------------------------------- |
|
||||
| `section` | string | 字符串类型,节名 |
|
||||
| `ident` | string | 字符串类型,键值名 |
|
||||
| `default` | float | 实数类型,当不存在的时候的默认值 |
|
||||
|
||||
返回:float
|
||||
|
||||
@@ -156,10 +156,10 @@
|
||||
|
||||
可见性:public
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| `section` | string | 字符串类型,节名 |
|
||||
| `ident` | string | 字符串类型,键值名 |
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --------- | ------- | -------------------------------- |
|
||||
| `section` | string | 字符串类型,节名 |
|
||||
| `ident` | string | 字符串类型,键值名 |
|
||||
| `default` | integer | 整数类型,当不存在的时候的默认值 |
|
||||
|
||||
返回:integer
|
||||
@@ -174,9 +174,9 @@
|
||||
|
||||
可见性:public
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| `section` | string | 字符串类型,节名 |
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --------- | ----------- | ------------------------------------- |
|
||||
| `section` | string | 字符串类型,节名 |
|
||||
| `strings` | TStringList | TStringList类型,用于存贮章节里的键名 |
|
||||
|
||||
返回:any
|
||||
@@ -191,8 +191,8 @@
|
||||
|
||||
可见性:public
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --------- | ----------- | ----------------------------- |
|
||||
| `strings` | TStringList | TStringList类型,用于存贮章名 |
|
||||
|
||||
返回:any
|
||||
@@ -207,9 +207,9 @@
|
||||
|
||||
可见性:public
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| `section` | string | 字符串类型,节名 |
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --------- | ----------- | ------------------------------------- |
|
||||
| `section` | string | 字符串类型,节名 |
|
||||
| `strings` | TStringList | TStringList类型,用于存贮章节里的内容 |
|
||||
|
||||
返回:any
|
||||
@@ -224,10 +224,10 @@
|
||||
|
||||
可见性:public
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| `section` | string | 字符串类型,节名 |
|
||||
| `ident` | string | 字符串类型,键值名 |
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --------- | ------ | ---------------------------------- |
|
||||
| `section` | string | 字符串类型,节名 |
|
||||
| `ident` | string | 字符串类型,键值名 |
|
||||
| `default` | string | 字符串类型,当不存在的时候的默认值 |
|
||||
|
||||
返回:string
|
||||
@@ -242,8 +242,8 @@
|
||||
|
||||
可见性:public
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --------- | ------ | ---------------- |
|
||||
| `section` | string | 字符串类型,节名 |
|
||||
|
||||
返回:boolean
|
||||
@@ -258,10 +258,10 @@
|
||||
|
||||
可见性:public
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --------- | ------ | -------------------------------- |
|
||||
| `section` | string | 字符串类型,要查找的键所在章节名 |
|
||||
| `ident` | string | 字符串类型,要查找的键名 |
|
||||
| `ident` | string | 字符串类型,要查找的键名 |
|
||||
|
||||
返回:boolean
|
||||
|
||||
@@ -275,15 +275,15 @@
|
||||
|
||||
可见性:public
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| `section` | string | 字符串类型,节名 |
|
||||
| `ident` | string | 字符串类型,键值名 |
|
||||
| `value` | TStream | TStream类型,值内容 |
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --------- | ------- | ------------------- |
|
||||
| `section` | string | 字符串类型,节名 |
|
||||
| `ident` | string | 字符串类型,键值名 |
|
||||
| `value` | TStream | TStream类型,值内容 |
|
||||
|
||||
返回:any
|
||||
|
||||
### `writeBoolean(section, ident, value)`
|
||||
### `writeBool(section, ident, value)`
|
||||
|
||||
声明:function
|
||||
|
||||
@@ -293,11 +293,11 @@
|
||||
|
||||
可见性:public
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| `section` | string | 字符串类型,节名 |
|
||||
| `ident` | string | 字符串类型,键值名 |
|
||||
| `value` | boolean | Boolean类型,值内容 |
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --------- | ------- | ------------------- |
|
||||
| `section` | string | 字符串类型,节名 |
|
||||
| `ident` | string | 字符串类型,键值名 |
|
||||
| `value` | boolean | Boolean类型,值内容 |
|
||||
|
||||
返回:any
|
||||
|
||||
@@ -311,11 +311,11 @@
|
||||
|
||||
可见性:public
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| `section` | string | 字符串类型,节名 |
|
||||
| `ident` | string | 字符串类型,键值名 |
|
||||
| `value` | TDate | 日期类型,值内容 |
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --------- | ------ | ------------------ |
|
||||
| `section` | string | 字符串类型,节名 |
|
||||
| `ident` | string | 字符串类型,键值名 |
|
||||
| `value` | TDate | 日期类型,值内容 |
|
||||
|
||||
返回:any
|
||||
|
||||
@@ -329,11 +329,11 @@
|
||||
|
||||
可见性:public
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| `section` | string | 字符串类型,节名 |
|
||||
| `ident` | string | 字符串类型,键值名 |
|
||||
| `value` | datetime | 日期时间类型,值内容 |
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --------- | -------- | -------------------- |
|
||||
| `section` | string | 字符串类型,节名 |
|
||||
| `ident` | string | 字符串类型,键值名 |
|
||||
| `value` | datetime | 日期时间类型,值内容 |
|
||||
|
||||
返回:any
|
||||
|
||||
@@ -347,11 +347,11 @@
|
||||
|
||||
可见性:public
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| `section` | string | 字符串类型,节名 |
|
||||
| `ident` | string | 字符串类型,键值名 |
|
||||
| `value` | float | 实数类型,值内容 |
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --------- | ------ | ------------------ |
|
||||
| `section` | string | 字符串类型,节名 |
|
||||
| `ident` | string | 字符串类型,键值名 |
|
||||
| `value` | float | 实数类型,值内容 |
|
||||
|
||||
返回:any
|
||||
|
||||
@@ -365,11 +365,11 @@
|
||||
|
||||
可见性:public
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| `section` | string | 字符串类型,节名 |
|
||||
| `ident` | string | 字符串类型,键值名 |
|
||||
| `value` | integer | 整数类型,值内容 |
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --------- | ------- | ------------------ |
|
||||
| `section` | string | 字符串类型,节名 |
|
||||
| `ident` | string | 字符串类型,键值名 |
|
||||
| `value` | integer | 整数类型,值内容 |
|
||||
|
||||
返回:any
|
||||
|
||||
@@ -383,10 +383,10 @@
|
||||
|
||||
可见性:public
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| `section` | string | 字符串类型,节名 |
|
||||
| `ident` | string | 字符串类型,键值名 |
|
||||
| `value` | string | 字符串类型,值内容 |
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --------- | ------ | ------------------ |
|
||||
| `section` | string | 字符串类型,节名 |
|
||||
| `ident` | string | 字符串类型,键值名 |
|
||||
| `value` | string | 字符串类型,值内容 |
|
||||
|
||||
返回:any
|
||||
|
||||
@@ -6,13 +6,13 @@
|
||||
|
||||
在内存中读取、修改和保存 INI 配置的内置对象
|
||||
|
||||
<!-- tags: Object 读取 获取 文件 目录 路径 file 数据库 SQL database 对象 实例 -->
|
||||
<!-- tags: Object 读取 获取 文件 目录 路径 file 数据库 SQL database 对象 实例 创建 生成 构造函数 实例化 new -->
|
||||
|
||||
### `create()`
|
||||
|
||||
声明:function
|
||||
|
||||
创建 TMemIniFile 实例
|
||||
无参数构造函数。创建内存中的 INI 配置实例
|
||||
|
||||
<!-- tags: Object 创建 生成 文件 目录 路径 file 数据库 SQL database 对象 实例 -->
|
||||
|
||||
@@ -57,8 +57,8 @@ return getObj.GetText();
|
||||
|
||||
可见性:public
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --------- | ----------- | ------------------------------------------ |
|
||||
| `strings` | TStringList | TStringList类型,用于存贮TMemIniFile的内容 |
|
||||
|
||||
返回:any
|
||||
@@ -88,8 +88,8 @@ return getObj.GetText();
|
||||
|
||||
可见性:public
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --------- | ----------- | ------------------------------------------ |
|
||||
| `strings` | TStringList | TStringList类型,用于设置TMemIniFile的内容 |
|
||||
|
||||
返回:any
|
||||
|
||||
@@ -6,13 +6,13 @@
|
||||
|
||||
以内存缓冲区保存和操作流数据的内置对象
|
||||
|
||||
<!-- tags: Object TMemoryStream 内存流 写入 保存 对象 实例 -->
|
||||
<!-- tags: Object TMemoryStream 内存流 写入 保存 对象 实例 创建 生成 构造函数 实例化 new -->
|
||||
|
||||
### `create()`
|
||||
|
||||
声明:function
|
||||
|
||||
创建 TMemoryStream 实例
|
||||
无参数构造函数。创建空的内存流实例
|
||||
|
||||
<!-- tags: Object TMemoryStream 内存流 创建 生成 对象 实例 -->
|
||||
|
||||
@@ -40,9 +40,9 @@
|
||||
|
||||
可见性:public
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| `alias` | string | 字符串类型,目录别名。如果有系统权限,可以为空字符串 |
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ----------- | ------ | ------------------------------------------------------- |
|
||||
| `alias` | string | 字符串类型,目录别名。如果有系统权限,可以为空字符串 |
|
||||
| `file_name` | string | 字符串类型,文件名,如果Alias为空,则为带全路径的文件名 |
|
||||
|
||||
返回:any
|
||||
@@ -57,8 +57,8 @@
|
||||
|
||||
可见性:public
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| 参数 | 类型 | 说明 |
|
||||
| -------- | ------- | -------------------------- |
|
||||
| `stream` | TStream | 流类型,如文件流,内存流等 |
|
||||
|
||||
返回:any
|
||||
@@ -73,9 +73,9 @@
|
||||
|
||||
可见性:public
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| `alias` | string | 字符串类型,目录别名。如果有系统权限,可以为空字符串 |
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ----------- | ------ | ------------------------------------------------------- |
|
||||
| `alias` | string | 字符串类型,目录别名。如果有系统权限,可以为空字符串 |
|
||||
| `file_name` | string | 字符串类型,文件名,如果Alias为空,则为带全路径的文件名 |
|
||||
|
||||
返回:any
|
||||
@@ -90,8 +90,8 @@
|
||||
|
||||
可见性:public
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| 参数 | 类型 | 说明 |
|
||||
| -------- | ------- | -------------------------- |
|
||||
| `stream` | TStream | 流类型,如文件流,内存流等 |
|
||||
|
||||
返回:any
|
||||
|
||||
@@ -6,20 +6,20 @@
|
||||
|
||||
以系统注册表为存储后端的 INI 配置内置对象
|
||||
|
||||
<!-- tags: Object 文件 目录 路径 file 数据库 SQL database 对象 实例 INI -->
|
||||
<!-- tags: Object 文件 目录 路径 file 数据库 SQL database 对象 实例 INI 创建 生成 构造函数 实例化 new -->
|
||||
|
||||
父类:`TIniFile`
|
||||
|
||||
### `create(regsitry_path)`
|
||||
### `create(registry_path)`
|
||||
|
||||
声明:function
|
||||
|
||||
创建 TRegistryIniFile 实例
|
||||
构造函数。打开指定注册表路径对应的注册表 INI 实例
|
||||
|
||||
<!-- tags: Object 创建 生成 文件 目录 路径 file 数据库 SQL database 对象 实例 -->
|
||||
|
||||
可见性:public
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| `regsitry_path` | string | 注册表路径 |
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --------------- | ------ | ---------- |
|
||||
| `registry_path` | string | 注册表路径 |
|
||||
|
||||
@@ -6,13 +6,13 @@
|
||||
|
||||
提供 RSA 非对称加密、解密和签名能力的内置对象
|
||||
|
||||
<!-- tags: Object TRSA 非对称加密 对象 实例 RSA -->
|
||||
<!-- tags: Object TRSA 非对称加密 对象 实例 RSA 创建 生成 构造函数 实例化 new -->
|
||||
|
||||
### `create()`
|
||||
|
||||
声明:function
|
||||
|
||||
创建 TRSA 实例
|
||||
无参数构造函数。创建 TRSA 实例
|
||||
|
||||
<!-- tags: Object TRSA 非对称加密 创建 生成 对象 实例 -->
|
||||
|
||||
@@ -29,8 +29,8 @@
|
||||
可见性:public
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| `s` | any | s |
|
||||
| ---- | ---- | ---- |
|
||||
| `s` | any | s |
|
||||
|
||||
返回:string
|
||||
|
||||
@@ -45,8 +45,8 @@
|
||||
可见性:public
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| `s` | any | s |
|
||||
| ---- | ---- | ---- |
|
||||
| `s` | any | s |
|
||||
|
||||
返回:string
|
||||
|
||||
@@ -61,8 +61,8 @@
|
||||
可见性:public
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| `s` | any | s |
|
||||
| ---- | ---- | ---- |
|
||||
| `s` | any | s |
|
||||
|
||||
返回:string
|
||||
|
||||
@@ -77,14 +77,14 @@
|
||||
可见性:public
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| `s` | any | s |
|
||||
| ---- | ---- | ---- |
|
||||
| `s` | any | s |
|
||||
|
||||
返回:string
|
||||
|
||||
### `GenerateKey`
|
||||
### `generateKey(bits)`
|
||||
|
||||
声明:property
|
||||
声明:function
|
||||
|
||||
生成指定位数的公钥和私钥,位数必须是256的正整数倍,最大4096
|
||||
|
||||
@@ -92,9 +92,20 @@
|
||||
|
||||
可见性:public
|
||||
|
||||
类型:any
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ------ | ------- | -------------------------------------------- |
|
||||
| `bits` | integer | 密钥位数,必须是 256 的正整数倍且不超过 4096 |
|
||||
|
||||
访问:read/write
|
||||
#### 示例
|
||||
|
||||
范例01:生成 1024 位密钥
|
||||
|
||||
```tsl
|
||||
obj := new TRSA();
|
||||
obj.generateKey(1024);
|
||||
return length(obj.publicKey) > 0;
|
||||
// 输出:1
|
||||
```
|
||||
|
||||
### `PrivateKey`
|
||||
|
||||
|
||||
@@ -6,13 +6,13 @@
|
||||
|
||||
用于创建、查找、维护和删除服务端会话的内置对象
|
||||
|
||||
<!-- tags: Object TSessionMan 会话管理 查找 搜索 lookup 对象 实例 -->
|
||||
<!-- tags: Object TSessionMan 会话管理 查找 搜索 lookup 对象 实例 创建 生成 构造函数 实例化 new -->
|
||||
|
||||
### `create()`
|
||||
|
||||
声明:function
|
||||
|
||||
创建 TSessionMan 实例
|
||||
无参数构造函数。创建会话管理实例
|
||||
|
||||
<!-- tags: Object TSessionMan 会话管理 创建 生成 对象 实例 -->
|
||||
|
||||
@@ -28,9 +28,9 @@
|
||||
|
||||
可见性:public
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| `id` | string | 字符串类型,用来进行唯一标示的串。开发中,大多情况下使用用户名 |
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ------------ | ------ | ----------------------------------------------------------------- |
|
||||
| `id` | string | 字符串类型,用来进行唯一标示的串。开发中,大多情况下使用用户名 |
|
||||
| `session_id` | string | 可选。字符串类型,会话标识,如果会话ID不设置,则可为任何SessionId |
|
||||
|
||||
返回:any
|
||||
@@ -45,9 +45,9 @@
|
||||
|
||||
可见性:public
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| `id` | string | 字符串类型,用来进行唯一标示的串。开发中,大多情况下使用用户名 |
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ------------ | ------ | ----------------------------------------------------------------- |
|
||||
| `id` | string | 字符串类型,用来进行唯一标示的串。开发中,大多情况下使用用户名 |
|
||||
| `session_id` | string | 可选。字符串类型,会话标识,如果会话ID不设置,则可为任何SessionId |
|
||||
|
||||
返回:TSession
|
||||
@@ -62,9 +62,9 @@
|
||||
|
||||
可见性:public
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| `id` | string | 字符串类型,用来进行唯一标示的串。开发中,大多情况下使用用户名 |
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ------------- | ------- | -------------------------------------------------------------------------------------------------------------------- |
|
||||
| `id` | string | 字符串类型,用来进行唯一标示的串。开发中,大多情况下使用用户名 |
|
||||
| `max_session` | integer | 可选。整数类型,指定的Id最多允许的会话个数。开发中,大多数情况下采用允许的登录次数。如果省略,则表示不限制会话的个数 |
|
||||
|
||||
返回:TSession
|
||||
@@ -79,10 +79,10 @@
|
||||
|
||||
可见性:public
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| `id` | string | 字符串类型,用来进行唯一标示的串。开发中,大多情况下使用用户名 |
|
||||
| `strings` | TStringList | TStrings类型,用来存贮用户(ID)列表 |
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --------- | ----------- | -------------------------------------------------------------- |
|
||||
| `id` | string | 字符串类型,用来进行唯一标示的串。开发中,大多情况下使用用户名 |
|
||||
| `strings` | TStringList | TStrings类型,用来存贮用户(ID)列表 |
|
||||
|
||||
返回:any
|
||||
|
||||
@@ -96,8 +96,8 @@
|
||||
|
||||
可见性:public
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --------- | ----------- | ------------------------------------ |
|
||||
| `strings` | TStringList | TStrings类型,用来存贮用户(ID)列表 |
|
||||
|
||||
返回:any
|
||||
|
||||
@@ -18,9 +18,9 @@
|
||||
|
||||
可见性:public
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| `src` | TStream | 流类型,复制的来源 |
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ------- | ------- | -------------------- |
|
||||
| `src` | TStream | 流类型,复制的来源 |
|
||||
| `count` | integer | 整数类型,复制的个数 |
|
||||
|
||||
返回:integer
|
||||
@@ -35,10 +35,10 @@
|
||||
|
||||
可见性:public
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| `buffer` | integer | 任意类型,读取存贮到的缓冲区 |
|
||||
| `count` | integer | 整数类型,读取的字节数,和Buffer的类型有关,如整数最多只可以四个字节 |
|
||||
| 参数 | 类型 | 说明 |
|
||||
| -------- | ------- | -------------------------------------------------------------------- |
|
||||
| `buffer` | integer | 任意类型,读取存贮到的缓冲区 |
|
||||
| `count` | integer | 整数类型,读取的字节数,和Buffer的类型有关,如整数最多只可以四个字节 |
|
||||
|
||||
返回:integer
|
||||
|
||||
@@ -52,10 +52,10 @@
|
||||
|
||||
可见性:public
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| `position` | integer | 整数,移动的位置 |
|
||||
| `origin` | integer | 可选。整数类型,移动的方法。0:从头开始移,1:从当前位置,2:从尾部。省略参数的默认值为从头开始移 |
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ---------- | ------- | ---------------------------------------------------------------------------------------------- |
|
||||
| `position` | integer | 整数,移动的位置 |
|
||||
| `origin` | integer | 可选。整数类型,移动的方法。0:从头开始移,1:从当前位置,2:从尾部。省略参数的默认值为从头开始移 |
|
||||
|
||||
返回:integer
|
||||
|
||||
@@ -69,8 +69,8 @@
|
||||
|
||||
可见性:public
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ------ | ------- | -------------------------- |
|
||||
| `size` | integer | 整数类型。要设置的新的大小 |
|
||||
|
||||
返回:any
|
||||
@@ -85,10 +85,10 @@
|
||||
|
||||
可见性:public
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| `buffer` | integer | 任意类型,写入的缓冲区 |
|
||||
| `count` | integer | 整数类型,写入的字节数,和Buffer的类型有关,如整数最多只可以四个字节 |
|
||||
| 参数 | 类型 | 说明 |
|
||||
| -------- | ------- | -------------------------------------------------------------------- |
|
||||
| `buffer` | integer | 任意类型,写入的缓冲区 |
|
||||
| `count` | integer | 整数类型,写入的字节数,和Buffer的类型有关,如整数最多只可以四个字节 |
|
||||
|
||||
返回:integer
|
||||
|
||||
|
||||
@@ -6,13 +6,13 @@
|
||||
|
||||
提供字符串集合存储、查找、排序和名称值管理能力的内置对象
|
||||
|
||||
<!-- tags: Object TStringList 字符串列表 排序 sort 查找 搜索 lookup 数组 列表 array list -->
|
||||
<!-- tags: Object TStringList 字符串列表 排序 sort 查找 搜索 lookup 数组 列表 array list 创建 生成 构造函数 实例化 new -->
|
||||
|
||||
### `create()`
|
||||
|
||||
声明:function
|
||||
|
||||
创建 TStringList 实例
|
||||
无参数构造函数。创建空的 TStringList 实例
|
||||
|
||||
<!-- tags: Object TStringList 字符串列表 创建 生成 数组 列表 array list 字符串 文本 string -->
|
||||
|
||||
@@ -28,9 +28,9 @@
|
||||
|
||||
可见性:public
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| `s` | string | 字符串类型,添加的字符串 |
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ---- | ------ | ------------------------ |
|
||||
| `s` | string | 字符串类型,添加的字符串 |
|
||||
|
||||
返回:integer
|
||||
|
||||
@@ -61,8 +61,8 @@ return r;
|
||||
|
||||
可见性:public
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --------- | ----------- | ----------------------------------- |
|
||||
| `strings` | TStringList | TStringList或者其他TStrings派生类型 |
|
||||
|
||||
返回:any
|
||||
@@ -70,12 +70,13 @@ return r;
|
||||
#### 示例
|
||||
|
||||
```tsl
|
||||
bj:=CreateObject('TStringList');
|
||||
obj.CommaText:='A=ABC,B=123,C=abc';
|
||||
obj2:=CreateObject('TStringList');
|
||||
obj2.CommaText:='A=DDD,G=666';
|
||||
obj := CreateObject("TStringList");
|
||||
obj.CommaText := "A=ABC,B=123,C=abc";
|
||||
obj2 := CreateObject("TStringList");
|
||||
obj2.CommaText := "A=DDD,G=666";
|
||||
obj.AddStrings(obj2);
|
||||
return obj.CommaText;
|
||||
// 输出:A=ABC,B=123,C=abc,A=DDD,G=666
|
||||
```
|
||||
|
||||
### `append(s)`
|
||||
@@ -88,9 +89,9 @@ return obj.CommaText;
|
||||
|
||||
可见性:public
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| `s` | string | 字符串类型,添加的字符串 |
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ---- | ------ | ------------------------ |
|
||||
| `s` | string | 字符串类型,添加的字符串 |
|
||||
|
||||
返回:any
|
||||
|
||||
@@ -104,8 +105,8 @@ return obj.CommaText;
|
||||
|
||||
可见性:public
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ----- | ----------- | --------------------------------------------- |
|
||||
| `src` | TStringList | TStringList或者其他TStrings派生类型,复制的源 |
|
||||
|
||||
返回:any
|
||||
@@ -144,8 +145,8 @@ return array(obj2.Delimiter,obj2.DelimitedText);
|
||||
|
||||
可见性:public
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ------- | ------- | ---------------------- |
|
||||
| `index` | integer | 整数类型,删除的索引号 |
|
||||
|
||||
返回:any
|
||||
@@ -160,8 +161,8 @@ return array(obj2.Delimiter,obj2.DelimitedText);
|
||||
|
||||
可见性:public
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ----- | ----------- | ----------------------------------------------- |
|
||||
| `src` | TStringList | TStringList或者其他TStrings派生类型,比较的对象 |
|
||||
|
||||
返回:any
|
||||
@@ -176,8 +177,8 @@ return array(obj2.Delimiter,obj2.DelimitedText);
|
||||
|
||||
可见性:public
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| 参数 | 类型 | 说明 |
|
||||
| -------- | ------- | --------------------- |
|
||||
| `index1` | integer | 整数类型,互换的位置1 |
|
||||
| `index2` | integer | 整数类型,互换的位置2 |
|
||||
|
||||
@@ -202,9 +203,9 @@ return obj.CommaText;
|
||||
|
||||
可见性:public
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| `s` | string | 字符串类型,查找的字符串 |
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ------- | ------- | ---------------------------- |
|
||||
| `s` | string | 字符串类型,查找的字符串 |
|
||||
| `index` | integer | 整数类型。返回查找到的索引号 |
|
||||
|
||||
返回:boolean
|
||||
@@ -230,9 +231,9 @@ else return '查找失败';
|
||||
|
||||
可见性:public
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| `s` | string | 字符串类型,查找的字符串 |
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ---- | ------ | ------------------------ |
|
||||
| `s` | string | 字符串类型,查找的字符串 |
|
||||
|
||||
返回:integer
|
||||
|
||||
@@ -246,8 +247,8 @@ else return '查找失败';
|
||||
|
||||
可见性:public
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ------ | ------ | ------------------------------------------------ |
|
||||
| `name` | string | 字符串类型,查找的Name=Value中的Name所在的索引号 |
|
||||
|
||||
返回:integer
|
||||
@@ -262,10 +263,10 @@ else return '查找失败';
|
||||
|
||||
可见性:public
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| `index` | integer | 整数类型,插入的位置 |
|
||||
| `s` | string | 字符串类型,插入的字符串 |
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ------- | ------- | ------------------------ |
|
||||
| `index` | integer | 整数类型,插入的位置 |
|
||||
| `s` | string | 字符串类型,插入的字符串 |
|
||||
|
||||
返回:any
|
||||
|
||||
@@ -279,9 +280,9 @@ else return '查找失败';
|
||||
|
||||
可见性:public
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| `alias` | string | 字符串类型,目录别名。如果有系统权限,可以为空字符串 |
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ----------- | ------ | ------------------------------------------------------- |
|
||||
| `alias` | string | 字符串类型,目录别名。如果有系统权限,可以为空字符串 |
|
||||
| `file_name` | string | 字符串类型,文件名,如果Alias为空,则为带全路径的文件名 |
|
||||
|
||||
返回:any
|
||||
@@ -305,8 +306,8 @@ return obj.CommaText;
|
||||
|
||||
可见性:public
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| 参数 | 类型 | 说明 |
|
||||
| -------- | ------- | -------------------------- |
|
||||
| `stream` | TStream | 流类型,如文件流,内存流等 |
|
||||
|
||||
返回:any
|
||||
@@ -332,10 +333,10 @@ return obj.CommaText;
|
||||
|
||||
可见性:public
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ----------- | ------- | ---------------------------------- |
|
||||
| `cur_index` | integer | 整数类型,需要移动的内容的原始位置 |
|
||||
| `new_index` | integer | 整数类型,移动到的新位置索引 |
|
||||
| `new_index` | integer | 整数类型,移动到的新位置索引 |
|
||||
|
||||
返回:any
|
||||
|
||||
@@ -349,9 +350,9 @@ return obj.CommaText;
|
||||
|
||||
可见性:public
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| `index` | any | index |
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ------- | ---- | ----- |
|
||||
| `index` | any | index |
|
||||
|
||||
返回:string
|
||||
|
||||
@@ -365,9 +366,9 @@ return obj.CommaText;
|
||||
|
||||
可见性:public
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| `alias` | string | 字符串类型,目录别名。如果有系统权限,可以为空字符串 |
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ----------- | ------ | ------------------------------------------------------- |
|
||||
| `alias` | string | 字符串类型,目录别名。如果有系统权限,可以为空字符串 |
|
||||
| `file_name` | string | 字符串类型,文件名,如果Alias为空,则为带全路径的文件名 |
|
||||
|
||||
返回:any
|
||||
@@ -375,10 +376,15 @@ return obj.CommaText;
|
||||
#### 示例
|
||||
|
||||
```tsl
|
||||
pathname:= "E:\\Test\\Case-save.txt";
|
||||
obj:=CreateObject('TStringList');
|
||||
obj.Text:=TestStr1();
|
||||
obj.SaveToFile('',pathName);
|
||||
path_name := "tstringlist-save-example.txt";
|
||||
obj := CreateObject("TStringList");
|
||||
obj.Text := %%text
|
||||
first line
|
||||
second line%%text;
|
||||
obj.SaveToFile("", path_name);
|
||||
echo fileExists("", path_name), "\n";
|
||||
fileDelete("", path_name);
|
||||
// 输出:1
|
||||
```
|
||||
|
||||
### `saveToStream(stream)`
|
||||
@@ -391,8 +397,8 @@ obj.SaveToFile('',pathName);
|
||||
|
||||
可见性:public
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| 参数 | 类型 | 说明 |
|
||||
| -------- | ------- | -------------------------- |
|
||||
| `stream` | TStream | 流类型,如文件流,内存流等 |
|
||||
|
||||
返回:any
|
||||
@@ -421,8 +427,8 @@ return ws.size; //返回20
|
||||
|
||||
可见性:public
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ------ | ------ | ---------------------- |
|
||||
| `text` | string | 字符串类型,设置的内容 |
|
||||
|
||||
返回:any
|
||||
@@ -449,9 +455,9 @@ return ws.size; //返回20
|
||||
|
||||
可见性:public
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| `index` | any | index |
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ------- | ---- | ----- |
|
||||
| `index` | any | index |
|
||||
|
||||
返回:string
|
||||
|
||||
@@ -474,9 +480,9 @@ return obj.strings(1); //读
|
||||
|
||||
可见性:public
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| `index` | any | index |
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ------- | ---- | ----- |
|
||||
| `index` | any | index |
|
||||
|
||||
返回:string
|
||||
|
||||
@@ -490,9 +496,9 @@ return obj.strings(1); //读
|
||||
|
||||
可见性:public
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| `index` | any | index |
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ------- | ---- | ----- |
|
||||
| `index` | any | index |
|
||||
|
||||
返回:string
|
||||
|
||||
@@ -517,9 +523,9 @@ return array(s0,obj.DelimitedText);
|
||||
|
||||
可见性:public
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| `name` | any | name |
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ------ | ---- | ---- |
|
||||
| `name` | any | name |
|
||||
|
||||
返回:string
|
||||
|
||||
|
||||
@@ -6,13 +6,13 @@
|
||||
|
||||
封装 HTTP 请求头、请求参数、Cookie 和请求正文的内置对象
|
||||
|
||||
<!-- tags: Object TWebRequest Web 请求 对象 实例 HTTP -->
|
||||
<!-- tags: Object TWebRequest Web 请求 对象 实例 HTTP 创建 生成 构造函数 实例化 new -->
|
||||
|
||||
### `create()`
|
||||
|
||||
声明:function
|
||||
|
||||
创建 TWebRequest 实例
|
||||
无参数构造函数。创建 TWebRequest 实例
|
||||
|
||||
<!-- tags: Object TWebRequest Web 请求 创建 生成 对象 实例 -->
|
||||
|
||||
@@ -28,8 +28,8 @@
|
||||
|
||||
可见性:public
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --------- | ----------- | ----------------------------------------------------------- |
|
||||
| `strings` | TStringList | TStrings类型,用来存贮展开的内容,假定发送的内容是以&分割的 |
|
||||
|
||||
返回:any
|
||||
@@ -44,8 +44,8 @@
|
||||
|
||||
可见性:public
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --------- | ----------- | ------------------------------------------------------------- |
|
||||
| `strings` | TStringList | TStrings类型,用来存贮展开的内容,假定Cookie的内容是以;分割的 |
|
||||
|
||||
返回:any
|
||||
@@ -60,8 +60,8 @@
|
||||
|
||||
可见性:public
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --------- | ----------- | ------------------------------------------------------------ |
|
||||
| `strings` | TStringList | TStrings类型,用来存贮展开的内容,假定Query的内容是以&分割的 |
|
||||
|
||||
返回:any
|
||||
@@ -76,8 +76,8 @@
|
||||
|
||||
可见性:public
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ------ | ------ | ---------------- |
|
||||
| `name` | string | 要取的内容的名字 |
|
||||
|
||||
返回:string
|
||||
@@ -92,10 +92,10 @@
|
||||
|
||||
可见性:public
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| `buffer` | string/binary | 字符串或者二进制流,用来存贮读出的内容 |
|
||||
| `count` | integer | 整数类型,读取的长度,不可超过Buffer的长度 |
|
||||
| 参数 | 类型 | 说明 |
|
||||
| -------- | ------------- | ------------------------------------------ |
|
||||
| `buffer` | string/binary | 字符串或者二进制流,用来存贮读出的内容 |
|
||||
| `count` | integer | 整数类型,读取的长度,不可超过Buffer的长度 |
|
||||
|
||||
返回:integer
|
||||
|
||||
@@ -109,8 +109,8 @@
|
||||
|
||||
可见性:public
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ------- | ------- | -------------------- |
|
||||
| `count` | integer | 整数类型,读取的长度 |
|
||||
|
||||
返回:string
|
||||
@@ -125,8 +125,8 @@
|
||||
|
||||
可见性:public
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ----- | ------ | ---------- |
|
||||
| `uri` | string | 要转换的串 |
|
||||
|
||||
返回:string
|
||||
@@ -141,10 +141,10 @@
|
||||
|
||||
可见性:public
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| `buffer` | string/binary | 字符串或者二进制流,要发送的内容 |
|
||||
| `count` | integer | 整数类型,写入的长度,不可超过Buffer的长度 |
|
||||
| 参数 | 类型 | 说明 |
|
||||
| -------- | ------------- | ------------------------------------------ |
|
||||
| `buffer` | string/binary | 字符串或者二进制流,要发送的内容 |
|
||||
| `count` | integer | 整数类型,写入的长度,不可超过Buffer的长度 |
|
||||
|
||||
返回:integer
|
||||
|
||||
@@ -158,11 +158,11 @@
|
||||
|
||||
可见性:public
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| `status_code` | integer | 整数类型,状态码,如200为正确。 ReasonString:字符串类型,理由串,例如返回了一个错误,需要有个显示的理由 |
|
||||
| `reson_string` | any | reson_string |
|
||||
| `headers` | string | 字符串类型,头部信息串 |
|
||||
| 参数 | 类型 | 说明 |
|
||||
| -------------- | ------- | ------------------------------------------------------------------------------------------------------- |
|
||||
| `status_code` | integer | 整数类型,状态码,如200为正确。 ReasonString:字符串类型,理由串,例如返回了一个错误,需要有个显示的理由 |
|
||||
| `reson_string` | any | reson_string |
|
||||
| `headers` | string | 字符串类型,头部信息串 |
|
||||
|
||||
返回:boolean
|
||||
|
||||
@@ -176,9 +176,9 @@
|
||||
|
||||
可见性:public
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| `s` | string/binary | 字符串,要发送的内容 |
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ---- | ------------- | -------------------- |
|
||||
| `s` | string/binary | 字符串,要发送的内容 |
|
||||
|
||||
返回:boolean
|
||||
|
||||
|
||||
@@ -6,13 +6,13 @@
|
||||
|
||||
用于设置 HTTP 状态、响应头、Cookie 和响应正文的内置对象
|
||||
|
||||
<!-- tags: Object 对象 实例 HTTP -->
|
||||
<!-- tags: Object 对象 实例 HTTP 创建 生成 构造函数 实例化 new -->
|
||||
|
||||
### `create()`
|
||||
|
||||
声明:function
|
||||
|
||||
创建 TWebResponse 实例
|
||||
无参数构造函数。创建 TWebResponse 实例
|
||||
|
||||
<!-- tags: Object 创建 生成 对象 实例 -->
|
||||
|
||||
@@ -28,8 +28,8 @@
|
||||
|
||||
可见性:public
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ------ | ------ | ---------- |
|
||||
| `name` | string | 要取的名字 |
|
||||
|
||||
返回:string
|
||||
@@ -44,8 +44,8 @@
|
||||
|
||||
可见性:public
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ----- | ------ | ------------ |
|
||||
| `uri` | string | 重定向的路径 |
|
||||
|
||||
返回:any
|
||||
@@ -72,8 +72,8 @@
|
||||
|
||||
可见性:public
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| 参数 | 类型 | 说明 |
|
||||
| -------- | ------- | ------------ |
|
||||
| `stream` | TStream | 要发送的内容 |
|
||||
|
||||
返回:any
|
||||
@@ -100,13 +100,13 @@
|
||||
|
||||
可见性:public
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| `values` | TStringList | TStrings类型,Cookie的内容,可为多个 |
|
||||
| `domain` | string | 字符串类型,Cookie的有效域 |
|
||||
| `path` | string | 字符串类型,有效Path |
|
||||
| `expires` | datetime | 时间类型,过期时间 |
|
||||
| `secure` | boolean | Boolean类型,是否安全Cookie,如果是则仅当HTTPS链接被支持 |
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --------- | ----------- | -------------------------------------------------------- |
|
||||
| `values` | TStringList | TStrings类型,Cookie的内容,可为多个 |
|
||||
| `domain` | string | 字符串类型,Cookie的有效域 |
|
||||
| `path` | string | 字符串类型,有效Path |
|
||||
| `expires` | datetime | 时间类型,过期时间 |
|
||||
| `secure` | boolean | Boolean类型,是否安全Cookie,如果是则仅当HTTPS链接被支持 |
|
||||
|
||||
返回:any
|
||||
|
||||
@@ -120,10 +120,10 @@
|
||||
|
||||
可见性:public
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| `name` | string | Header里的键名 |
|
||||
| `value` | string | Header里的值 |
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ------- | ------ | -------------- |
|
||||
| `name` | string | Header里的键名 |
|
||||
| `value` | string | Header里的值 |
|
||||
|
||||
返回:any
|
||||
|
||||
|
||||
@@ -958,3 +958,96 @@ echo r, ':', toStn(s1), '\r\n';
|
||||
// 0:
|
||||
// array()
|
||||
```
|
||||
|
||||
## `sf_SinX(x, v)`
|
||||
|
||||
声明:function
|
||||
|
||||
正弦积分的定义为
|
||||
|
||||
<!-- tags: 数值方法 数值微积分 计算 求解 优化 optimization 数学 数值 numeric -->
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ---- | ----- | -------------------- |
|
||||
| `x` | float | 实型变量。自变量 |
|
||||
| `v` | float | 实型变量,返回的结果 |
|
||||
|
||||
返回:integer
|
||||
|
||||
## `sf_CosX(x, v)`
|
||||
|
||||
声明:function
|
||||
|
||||
余弦积分的定义为
|
||||
|
||||
<!-- tags: 数值方法 数值微积分 计算 求解 优化 optimization 数学 数值 numeric -->
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ---- | ----- | -------------------- |
|
||||
| `x` | float | 实型变量。自变量 |
|
||||
| `v` | float | 实型变量,返回的结果 |
|
||||
|
||||
返回:integer
|
||||
|
||||
## `sf_eX(x, v)`
|
||||
|
||||
声明:function
|
||||
|
||||
指数积分的定义为
|
||||
|
||||
<!-- tags: 数值方法 数值微积分 计算 求解 优化 optimization 数学 数值 numeric -->
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ---- | ----- | -------------------- |
|
||||
| `x` | float | 实型变量。自变量 |
|
||||
| `v` | float | 实型变量,返回的结果 |
|
||||
|
||||
返回:integer
|
||||
|
||||
## `sf_EllipseX_1(k, f, v)`
|
||||
|
||||
声明:function
|
||||
|
||||
计算第一类不完全椭圆积分
|
||||
|
||||
<!-- tags: 数值方法 数值微积分 计算 求解 优化 optimization 数学 数值 numeric -->
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ---- | ----- | ----------------------- |
|
||||
| `k` | float | 模数,取值范围为 0 到 1 |
|
||||
| `f` | float | 振幅参数 |
|
||||
| `v` | float | 写回计算结果 |
|
||||
|
||||
返回:integer
|
||||
|
||||
### 示例
|
||||
|
||||
```tsl
|
||||
sf_EllipseX_1(0.5, 1.5707963267948966, value);
|
||||
echo value;
|
||||
// 输出:1.6857503548126
|
||||
```
|
||||
|
||||
## `sf_EllipseX_2(k, f, v)`
|
||||
|
||||
声明:function
|
||||
|
||||
计算第二类不完全椭圆积分
|
||||
|
||||
<!-- tags: 数值方法 数值微积分 计算 求解 优化 optimization 数学 数值 numeric -->
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ---- | ----- | ----------------------- |
|
||||
| `k` | float | 模数,取值范围为 0 到 1 |
|
||||
| `f` | float | 振幅参数 |
|
||||
| `v` | float | 写回计算结果 |
|
||||
|
||||
返回:integer
|
||||
|
||||
### 示例
|
||||
|
||||
```tsl
|
||||
sf_EllipseX_2(0.5, 0.5235987755982988, value);
|
||||
echo value;
|
||||
// 输出:0.517881935018448
|
||||
```
|
||||
|
||||
@@ -171,7 +171,7 @@ echo selected = 10 or selected = 20 or selected = 30, "\n";
|
||||
echo toStn(getSysParams()), "\n";
|
||||
```
|
||||
|
||||
## `call(func_name, p1, pn)`
|
||||
## `call(func_name, p_1, ...)`
|
||||
|
||||
声明:function
|
||||
|
||||
@@ -179,11 +179,11 @@ echo toStn(getSysParams()), "\n";
|
||||
|
||||
<!-- tags: 运行时 -->
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ----------- | ----------------- | ------------------------------------------------ |
|
||||
| `func_name` | string\|tfunction | 如果是字符串,表示函数的名称,也可以是函数类型。 |
|
||||
| `p1` | any | 整数,参数1 |
|
||||
| `pn` | any | 整数,参数N。 |
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ----------- | ----------------- | ------------------------------------------ |
|
||||
| `func_name` | string\|tfunction | 函数名称或函数指针 |
|
||||
| `p_1` | any | 第一个调用参数 |
|
||||
| `...` | any | 可选。按目标函数声明顺序传入的其余调用参数 |
|
||||
|
||||
返回:any
|
||||
|
||||
@@ -268,7 +268,7 @@ echo eval(@(a + b)), "\n";
|
||||
// 输出:3
|
||||
```
|
||||
|
||||
## `invoke(obj, member_name, member_value, p1, ..., pn)`
|
||||
## `invoke(obj, member_name, member_value, ...)`
|
||||
|
||||
声明:function
|
||||
|
||||
@@ -276,17 +276,16 @@ echo eval(@(a + b)), "\n";
|
||||
|
||||
<!-- tags: 运行时 -->
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| -------------- | --------- | -------------------------------------------- |
|
||||
| `obj` | tslobject | 实例对象。 |
|
||||
| `member_name` | string | 成员方法或属性名称。 |
|
||||
| `member_value` | boolean | 成员类型:0 表示方法,1 表示属性。 |
|
||||
| `p1` | any | 设置属性时为属性值;调用方法时为第一个参数。 |
|
||||
| `pn` | any | 可选。成员方法的后续参数。 |
|
||||
| 参数 | 类型 | 说明 |
|
||||
| -------------- | --------- | -------------------------------------------------------- |
|
||||
| `obj` | tslobject | 实例对象 |
|
||||
| `member_name` | string | 成员方法或属性名称 |
|
||||
| `member_value` | boolean | 成员类型,0 表示方法,1 表示属性 |
|
||||
| `...` | any | 可选。设置属性时传入属性值,调用方法时按顺序传入方法参数 |
|
||||
|
||||
返回:any
|
||||
|
||||
设置属性时返回 0;调用方法时返回方法的执行结果。
|
||||
设置属性时返回 0;调用方法时返回方法的执行结果
|
||||
|
||||
### 示例
|
||||
|
||||
@@ -600,6 +599,32 @@ echo tslfilename(), "\n";
|
||||
echo sysgettsllibpath(), "\n";
|
||||
```
|
||||
|
||||
## `syssettsllibpath(path)`
|
||||
|
||||
声明:function
|
||||
|
||||
临时设置当前进程的函数库查找路径,并返回设置前的路径
|
||||
|
||||
<!-- tags: 运行时 函数库 查找路径 设置 路径 libpath search path -->
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ------ | ------ | ----------------------------------- |
|
||||
| `path` | string | 函数库查找路径,多个路径用 `;` 分隔 |
|
||||
|
||||
返回:string
|
||||
|
||||
### 示例
|
||||
|
||||
范例01:设置并恢复函数库查找路径
|
||||
|
||||
```tsl
|
||||
original_path := sysgettsllibpath();
|
||||
previous_path := syssettsllibpath("./");
|
||||
echo previous_path = original_path, "\n";
|
||||
syssettsllibpath(original_path);
|
||||
// 输出:1
|
||||
```
|
||||
|
||||
## 错误与断言函数
|
||||
|
||||
## `getProfilerInfo(clear)`
|
||||
|
||||
@@ -1214,69 +1214,6 @@ return rsq(data1, data2);
|
||||
|
||||
返回:any
|
||||
|
||||
## `sf_CosX(x, v)`
|
||||
|
||||
声明:function
|
||||
|
||||
余弦积分的定义为
|
||||
|
||||
<!-- tags: 统计与分布 统计 概率 statistics -->
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ---- | ----- | -------------------- |
|
||||
| `x` | float | 实型变量。自变量 |
|
||||
| `v` | float | 实型变量,返回的结果 |
|
||||
|
||||
返回:integer
|
||||
|
||||
## `sf_EllipseX_1(k, f, v)`
|
||||
|
||||
声明:function
|
||||
|
||||
计算第一类不完全椭圆积分
|
||||
|
||||
<!-- tags: 统计与分布 计算 求解 统计 概率 statistics -->
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ---- | ----- | ----------------------- |
|
||||
| `k` | float | 模数,取值范围为 0 到 1 |
|
||||
| `f` | float | 振幅参数 |
|
||||
| `v` | float | 写回计算结果 |
|
||||
|
||||
返回:integer
|
||||
|
||||
### 示例
|
||||
|
||||
```tsl
|
||||
sf_EllipseX_1(0.5, 1.5707963267948966, value);
|
||||
echo value;
|
||||
// 输出:1.6857503548126
|
||||
```
|
||||
|
||||
## `sf_EllipseX_2(k, f, v)`
|
||||
|
||||
声明:function
|
||||
|
||||
计算第二类不完全椭圆积分
|
||||
|
||||
<!-- tags: 统计与分布 计算 求解 统计 概率 statistics -->
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ---- | ----- | ----------------------- |
|
||||
| `k` | float | 模数,取值范围为 0 到 1 |
|
||||
| `f` | float | 振幅参数 |
|
||||
| `v` | float | 写回计算结果 |
|
||||
|
||||
返回:integer
|
||||
|
||||
### 示例
|
||||
|
||||
```tsl
|
||||
sf_EllipseX_2(0.5, 0.5235987755982988, value);
|
||||
echo value;
|
||||
// 输出:0.517881935018448
|
||||
```
|
||||
|
||||
## `sf_Error(x, v)`
|
||||
|
||||
声明:function
|
||||
@@ -1292,21 +1229,6 @@ echo value;
|
||||
|
||||
返回:integer
|
||||
|
||||
## `sf_eX(x, v)`
|
||||
|
||||
声明:function
|
||||
|
||||
指数积分的定义为
|
||||
|
||||
<!-- tags: 统计与分布 统计 概率 statistics -->
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ---- | ----- | -------------------- |
|
||||
| `x` | float | 实型变量。自变量 |
|
||||
| `v` | float | 实型变量,返回的结果 |
|
||||
|
||||
返回:integer
|
||||
|
||||
## `sf_F(f, n1, n2, v)`
|
||||
|
||||
声明:function
|
||||
@@ -1574,21 +1496,6 @@ echo value;
|
||||
// 输出:0.00954567723649459
|
||||
```
|
||||
|
||||
## `sf_SinX(x, v)`
|
||||
|
||||
声明:function
|
||||
|
||||
正弦积分的定义为
|
||||
|
||||
<!-- tags: 统计与分布 统计 概率 statistics -->
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ---- | ----- | -------------------- |
|
||||
| `x` | float | 实型变量。自变量 |
|
||||
| `v` | float | 实型变量,返回的结果 |
|
||||
|
||||
返回:integer
|
||||
|
||||
## `sf_t(t, n, v)`
|
||||
|
||||
声明:function
|
||||
|
||||
@@ -178,7 +178,7 @@ echo ansiEndsText('Efg', text);
|
||||
// 输出:1
|
||||
```
|
||||
|
||||
## `ansiFormat(formatstr, v1, v2, ...)`
|
||||
## `ansiFormat(formatstr, v_1, ...)`
|
||||
|
||||
声明:function
|
||||
|
||||
@@ -188,9 +188,8 @@ echo ansiEndsText('Efg', text);
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ----------- | ------ | ------------------------------------- |
|
||||
| `formatstr` | string | 格式串,指明后面的参数的输出格式。 |
|
||||
| `v1` | any | 第一个格式参数 |
|
||||
| `v2` | any | 可选。第二个格式参数 |
|
||||
| `formatstr` | string | 格式串,指明后续参数的输出格式 |
|
||||
| `v_1` | any | 第一个格式参数 |
|
||||
| `...` | any | 可选。更多与 formatstr 对应的格式参数 |
|
||||
|
||||
返回:string
|
||||
@@ -988,7 +987,7 @@ echo result > 0;
|
||||
// 输出:1,表示左侧字符串大于右侧字符串
|
||||
```
|
||||
|
||||
## `concat(s_n)`
|
||||
## `concat(s_1, s_2, ...)`
|
||||
|
||||
声明:function
|
||||
|
||||
@@ -996,9 +995,11 @@ echo result > 0;
|
||||
|
||||
<!-- tags: 字符串 返回 获取 文本 string text -->
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ----- | ------ | ------ |
|
||||
| `s_n` | string | 字符串 |
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ----- | ------ | -------------------------- |
|
||||
| `s_1` | string | 第一个字符串 |
|
||||
| `s_2` | string | 第二个字符串 |
|
||||
| `...` | string | 可选。需要继续合并的字符串 |
|
||||
|
||||
返回:string
|
||||
|
||||
@@ -1266,6 +1267,231 @@ echo decodeUriComponent("a+b%2Fc%3Fd%3De%26f");
|
||||
// 输出:a b/c?d=e&f
|
||||
```
|
||||
|
||||
## `decToInt(s)`
|
||||
|
||||
声明:function
|
||||
|
||||
将十进制字符串转换为整数;不接受十六进制等带进制前缀的格式
|
||||
|
||||
<!-- tags: 字符串 转换 编码 文本 string text 十进制 -->
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ---- | ------ | ------------------ |
|
||||
| `s` | string | 要转换的十进制文本 |
|
||||
|
||||
返回:integer
|
||||
|
||||
### 示例
|
||||
|
||||
范例01:转换十进制字符串
|
||||
|
||||
```tsl
|
||||
return decToInt("12");
|
||||
// 输出:12
|
||||
```
|
||||
|
||||
范例02:需要解析十六进制时改用 `strToInt`
|
||||
|
||||
```tsl
|
||||
return strToInt("0x12");
|
||||
// 输出:18
|
||||
```
|
||||
|
||||
## `decToInt32(s)`
|
||||
|
||||
声明:function
|
||||
|
||||
将十进制字符串转换为 32 位整数;不接受十六进制等带进制前缀的格式
|
||||
|
||||
<!-- tags: 字符串 转换 编码 文本 string text 十进制 32位 -->
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ---- | ------ | ------------------ |
|
||||
| `s` | string | 要转换的十进制文本 |
|
||||
|
||||
返回:integer
|
||||
|
||||
### 示例
|
||||
|
||||
范例01:转换十进制字符串
|
||||
|
||||
```tsl
|
||||
return decToInt32("12");
|
||||
// 输出:12
|
||||
```
|
||||
|
||||
范例02:需要解析十六进制时改用 `strToInt32`
|
||||
|
||||
```tsl
|
||||
return strToInt32("0x12");
|
||||
// 输出:18
|
||||
```
|
||||
|
||||
## `decToInt32Def(s, default)`
|
||||
|
||||
声明:function
|
||||
|
||||
将十进制字符串转换为 32 位整数;转换失败时返回指定默认值
|
||||
|
||||
<!-- tags: 字符串 转换 编码 文本 string text 十进制 32位 默认值 -->
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --------- | ------- | ---------------------- |
|
||||
| `s` | string | 要转换的十进制文本 |
|
||||
| `default` | integer | 转换失败时返回的默认值 |
|
||||
|
||||
返回:integer
|
||||
|
||||
### 示例
|
||||
|
||||
范例01:转换十进制字符串
|
||||
|
||||
```tsl
|
||||
return decToInt32Def("12", 1);
|
||||
// 输出:12
|
||||
```
|
||||
|
||||
范例02:转换失败时返回默认值
|
||||
|
||||
```tsl
|
||||
return decToInt32Def("test", 1);
|
||||
// 输出:1
|
||||
```
|
||||
|
||||
范例03:十六进制文本不是十进制格式
|
||||
|
||||
```tsl
|
||||
return decToInt32Def("0x12", 1);
|
||||
// 输出:1
|
||||
```
|
||||
|
||||
范例04:需要解析十六进制时改用 `strToInt32Def`
|
||||
|
||||
```tsl
|
||||
return strToInt32Def("0x12", 1);
|
||||
// 输出:18
|
||||
```
|
||||
|
||||
## `decToInt64(s)`
|
||||
|
||||
声明:function
|
||||
|
||||
将十进制字符串转换为 64 位整数;不接受十六进制等带进制前缀的格式
|
||||
|
||||
<!-- tags: 字符串 转换 编码 文本 string text 十进制 64位 -->
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ---- | ------ | ------------------ |
|
||||
| `s` | string | 要转换的十进制文本 |
|
||||
|
||||
返回:int64
|
||||
|
||||
### 示例
|
||||
|
||||
范例01:转换十进制字符串
|
||||
|
||||
```tsl
|
||||
return decToInt64("12");
|
||||
// 输出:12L
|
||||
```
|
||||
|
||||
范例02:需要解析十六进制时改用 `strToInt64`
|
||||
|
||||
```tsl
|
||||
return strToInt64("0x12");
|
||||
// 输出:18L
|
||||
```
|
||||
|
||||
## `decToInt64Def(s, default)`
|
||||
|
||||
声明:function
|
||||
|
||||
将十进制字符串转换为 64 位整数;转换失败时返回指定默认值
|
||||
|
||||
<!-- tags: 字符串 转换 编码 文本 string text 十进制 64位 默认值 -->
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --------- | ------ | ---------------------- |
|
||||
| `s` | string | 要转换的十进制文本 |
|
||||
| `default` | int64 | 转换失败时返回的默认值 |
|
||||
|
||||
返回:int64
|
||||
|
||||
### 示例
|
||||
|
||||
范例01:转换十进制字符串
|
||||
|
||||
```tsl
|
||||
return decToInt64Def("12", 1);
|
||||
// 输出:12L
|
||||
```
|
||||
|
||||
范例02:转换失败时返回默认值
|
||||
|
||||
```tsl
|
||||
return decToInt64Def("test", 1);
|
||||
// 输出:1L
|
||||
```
|
||||
|
||||
范例03:十六进制文本不是十进制格式
|
||||
|
||||
```tsl
|
||||
return decToInt64Def("0x12", 1);
|
||||
// 输出:1L
|
||||
```
|
||||
|
||||
范例04:需要解析十六进制时改用 `strToInt64Def`
|
||||
|
||||
```tsl
|
||||
return strToInt64Def("0x12", 1);
|
||||
// 输出:18L
|
||||
```
|
||||
|
||||
## `decToIntDef(s, default)`
|
||||
|
||||
声明:function
|
||||
|
||||
将十进制字符串转换为整数;转换失败时返回指定默认值
|
||||
|
||||
<!-- tags: 字符串 转换 编码 文本 string text 十进制 默认值 -->
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --------- | ------- | ---------------------- |
|
||||
| `s` | string | 要转换的十进制文本 |
|
||||
| `default` | integer | 转换失败时返回的默认值 |
|
||||
|
||||
返回:integer
|
||||
|
||||
### 示例
|
||||
|
||||
范例01:转换十进制字符串
|
||||
|
||||
```tsl
|
||||
return decToIntDef("12", 1);
|
||||
// 输出:12
|
||||
```
|
||||
|
||||
范例02:转换失败时返回默认值
|
||||
|
||||
```tsl
|
||||
return decToIntDef("test", 1);
|
||||
// 输出:1
|
||||
```
|
||||
|
||||
范例03:十六进制文本不是十进制格式
|
||||
|
||||
```tsl
|
||||
return decToIntDef("0x12", 1);
|
||||
// 输出:1
|
||||
```
|
||||
|
||||
范例04:需要解析十六进制时改用 `strToIntDef`
|
||||
|
||||
```tsl
|
||||
return strToIntDef("0x12", 1);
|
||||
// 输出:18
|
||||
```
|
||||
|
||||
## `dupeString(a_text, a_count)`
|
||||
|
||||
声明:function
|
||||
@@ -1780,7 +2006,7 @@ echo floattoStrw(1E15);
|
||||
// 大数量级数据,输出:L"1E15"
|
||||
```
|
||||
|
||||
## `format(formatstr, v1, v2, v3)`
|
||||
## `format(formatstr, v_1, ...)`
|
||||
|
||||
声明:function
|
||||
|
||||
@@ -1790,10 +2016,11 @@ echo floattoStrw(1E15);
|
||||
|
||||
在占位计算时,Format 把一个汉字当作**一个**位置;如需把一个汉字当作**两个**位置,请用 `AnsiFormat`(参数定义与 Format 完全一致)。
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ------------ | ------ | ----------------------------------------------- |
|
||||
| `formatstr` | string | 格式串,由基本文本与 `%` 占位符组成,写法见下文 |
|
||||
| `v1, v2, v3` | any | 依次对应各占位符的值,个数不限 |
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ----------- | ------ | ----------------------------------------------- |
|
||||
| `formatstr` | string | 格式串,由基本文本与 `%` 占位符组成,写法见下文 |
|
||||
| `v_1` | any | 第一个与占位符对应的值 |
|
||||
| `...` | any | 可选。更多依次与占位符对应的值 |
|
||||
|
||||
格式串由基本文本字符和占位符组成:基本文字按原样显示,占位符(由 `%` 标出)依次对应 v1,v2,v3,… 各参数。单个占位符的完整写法(各段紧挨、顺序固定、中间不能有空格):
|
||||
|
||||
@@ -2095,11 +2322,11 @@ echo trim(toStn(digests));
|
||||
|
||||
### 示例
|
||||
|
||||
以下示例假定当前目录存在内容为 `hello` 的 `digest-example.txt`。
|
||||
|
||||
```tsl
|
||||
filename := "digest-example.txt";
|
||||
filename := "/data/workspace/tmp/tsl-digest-example.txt";
|
||||
alias := "";
|
||||
pos := 0;
|
||||
writeFile(rwRaw(), alias, filename, pos, 5, "hello");
|
||||
digests := array(
|
||||
"CRC32": getMsgDigest(alias, filename, 0),
|
||||
"MD5": getMsgDigest(alias, filename, 1),
|
||||
@@ -2107,10 +2334,10 @@ digests := array(
|
||||
"SHA224": getMsgDigest(alias, filename, 3),
|
||||
"SHA256": getMsgDigest(alias, filename, 4),
|
||||
"SHA384": getMsgDigest(alias, filename, 5),
|
||||
"SHA512": getMsgDigest(alias, filename, 6),
|
||||
"SM3": getMsgDigest(alias, filename, 256)
|
||||
"SHA512": getMsgDigest(alias, filename, 6)
|
||||
);
|
||||
echo trim(toStn(digests));
|
||||
fileDelete(alias, filename);
|
||||
// 输出:
|
||||
// CRC32=3610A686
|
||||
// MD5=5D41402ABC4B2A76B9719D911017C592
|
||||
@@ -2119,8 +2346,6 @@ echo trim(toStn(digests));
|
||||
// SHA256=2CF24DBA5FB0A30E26E83B2AC5B9E29E1B161E5C1FA7425E73043362938B9824
|
||||
// SHA384=59E1748777448C69DE6B800D7A33BBFB9FF1B463E44354C3553BCDB9C666FA90125A3C79F90397BDF5F6A13DE828684F
|
||||
// SHA512=9B71D224BD62F3785D96D46AD3EA3D73319BFBC2890CAADAE2DFF72519673CA72323C3D99BA5C11D7C7ACC6E14B8C5DA0C4663475C2E5C3ADEF46F73BCDEC043
|
||||
// SM3=1AB21D8355CFA17F8E61194831E81A8F22BEC8C728FEFB747ED035EB5082AA2B
|
||||
// 当前固定 Linux 解释器的文件重载在 mode=256 时返回空输入的 SM3 摘要。
|
||||
```
|
||||
|
||||
## `importjsonstring(json)`
|
||||
@@ -2365,30 +2590,6 @@ echo lastDelimiter('\\', "D:\\Tinysoft\\tslweb\\web\\test.tsl");
|
||||
// 输出:23
|
||||
```
|
||||
|
||||
## `lcMapString(s, lcid, flag)`
|
||||
|
||||
声明:function
|
||||
|
||||
编码转化函数,参考WINDOWS API LCMapString
|
||||
|
||||
<!-- tags: 字符串 文本 string text WINDOWS API -->
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ------ | ------- | ------------ |
|
||||
| `s` | string | 字符串。 |
|
||||
| `lcid` | integer | 标识ID。 |
|
||||
| `flag` | integer | 转换的参数。 |
|
||||
|
||||
返回:string
|
||||
|
||||
### 示例
|
||||
|
||||
```tsl
|
||||
echo lcMapString("亞洲", 0x0804, 0x2000000); // 繁体转简体字符集
|
||||
// 输出: 亚洲
|
||||
// 差异说明:基于 Windows API,Linux 不支持。
|
||||
```
|
||||
|
||||
## `leftBStr(a_text, a_count)`
|
||||
|
||||
声明:function
|
||||
@@ -3865,6 +4066,153 @@ echo trimRight("Hello! \r\n Tinysoft ");
|
||||
// Tinysoft "
|
||||
```
|
||||
|
||||
## `tryDecToInt(s, value)`
|
||||
|
||||
声明:function
|
||||
|
||||
尝试将十进制字符串转换为整数;成功时返回真并通过 `value` 输出结果,失败时返回假并将 `value` 置为 `nil`
|
||||
|
||||
<!-- tags: 字符串 转换 编码 文本 string text 十进制 尝试 -->
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ------- | ------------ | ------------------------------------ |
|
||||
| `s` | string | 要转换的十进制文本 |
|
||||
| `value` | integer\|nil | 变参。接收转换结果,失败时接收 `nil` |
|
||||
|
||||
返回:bool
|
||||
|
||||
### 示例
|
||||
|
||||
范例01:转换成功
|
||||
|
||||
```tsl
|
||||
ret := tryDecToInt("12", value);
|
||||
return array(ret, value);
|
||||
// 输出:array(1,12)
|
||||
```
|
||||
|
||||
范例02:转换失败
|
||||
|
||||
```tsl
|
||||
ret := tryDecToInt("test", value);
|
||||
return array(ret, value);
|
||||
// 输出:array(0,NIL)
|
||||
```
|
||||
|
||||
范例03:十六进制文本不是十进制格式
|
||||
|
||||
```tsl
|
||||
ret := tryDecToInt("0x12", value);
|
||||
return array(ret, value);
|
||||
// 输出:array(0,NIL)
|
||||
```
|
||||
|
||||
范例04:需要解析十六进制时改用 `tryStrToInt`
|
||||
|
||||
```tsl
|
||||
ret := tryStrToInt("0x12", value);
|
||||
return array(ret, value);
|
||||
// 输出:array(1,18)
|
||||
```
|
||||
|
||||
## `tryDecToInt32(s, value)`
|
||||
|
||||
声明:function
|
||||
|
||||
尝试将十进制字符串转换为 32 位整数;成功时返回真并通过 `value` 输出结果,失败时返回假并将 `value` 置为 `nil`
|
||||
|
||||
<!-- tags: 字符串 转换 编码 文本 string text 十进制 32位 尝试 -->
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ------- | ------------ | ------------------------------------ |
|
||||
| `s` | string | 要转换的十进制文本 |
|
||||
| `value` | integer\|nil | 变参。接收转换结果,失败时接收 `nil` |
|
||||
|
||||
返回:bool
|
||||
|
||||
### 示例
|
||||
|
||||
范例01:转换成功
|
||||
|
||||
```tsl
|
||||
ret := tryDecToInt32("12", value);
|
||||
return array(ret, value);
|
||||
// 输出:array(1,12)
|
||||
```
|
||||
|
||||
范例02:转换失败
|
||||
|
||||
```tsl
|
||||
ret := tryDecToInt32("test", value);
|
||||
return array(ret, value);
|
||||
// 输出:array(0,NIL)
|
||||
```
|
||||
|
||||
范例03:十六进制文本不是十进制格式
|
||||
|
||||
```tsl
|
||||
ret := tryDecToInt32("0x12", value);
|
||||
return array(ret, value);
|
||||
// 输出:array(0,NIL)
|
||||
```
|
||||
|
||||
范例04:需要解析十六进制时改用 `tryStrToInt32`
|
||||
|
||||
```tsl
|
||||
ret := tryStrToInt32("0x12", value);
|
||||
return array(ret, value);
|
||||
// 输出:array(1,18)
|
||||
```
|
||||
|
||||
## `tryDecToInt64(s, value)`
|
||||
|
||||
声明:function
|
||||
|
||||
尝试将十进制字符串转换为 64 位整数;成功时返回真并通过 `value` 输出结果,失败时返回假并将 `value` 置为 `nil`
|
||||
|
||||
<!-- tags: 字符串 转换 编码 文本 string text 十进制 64位 尝试 -->
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ------- | ---------- | ------------------------------------ |
|
||||
| `s` | string | 要转换的十进制文本 |
|
||||
| `value` | int64\|nil | 变参。接收转换结果,失败时接收 `nil` |
|
||||
|
||||
返回:bool
|
||||
|
||||
### 示例
|
||||
|
||||
范例01:转换成功
|
||||
|
||||
```tsl
|
||||
ret := tryDecToInt64("12", value);
|
||||
return array(ret, value);
|
||||
// 输出:array(1,12L)
|
||||
```
|
||||
|
||||
范例02:转换失败
|
||||
|
||||
```tsl
|
||||
ret := tryDecToInt64("test", value);
|
||||
return array(ret, value);
|
||||
// 输出:array(0,NIL)
|
||||
```
|
||||
|
||||
范例03:十六进制文本不是十进制格式
|
||||
|
||||
```tsl
|
||||
ret := tryDecToInt64("0x12", value);
|
||||
return array(ret, value);
|
||||
// 输出:array(0,NIL)
|
||||
```
|
||||
|
||||
范例04:需要解析十六进制时改用 `tryStrToInt64`
|
||||
|
||||
```tsl
|
||||
ret := tryStrToInt64("0x12", value);
|
||||
return array(ret, value);
|
||||
// 输出:array(1,18L)
|
||||
```
|
||||
|
||||
## `tryStrToBool(s, value)`
|
||||
|
||||
声明:function
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user