ZP、ZDで使える汎用性の高いコードスニペットです。
C#
変数セット
project.Variables["変数名"].Value = "変数に入れたい文字列";
logへ通知する
project.SendInfoToLog("logへ送信したい文字列", true);
日付の取得
return DateTime.Now.ToString("yyyy/MM/dd HH:mm"); ※本日の日付と時刻を取得 return DateTime.Today.ToString("yyyy/MM/dd"); ※本日の日付のみ取得 return DateTime.Today.AddDays(1).ToString("yyyy/MM/dd"); ※明日の日付のみ取得 return DateTime.Today.AddDays(n).ToString("yyyy/MM/dd"); ※n日後の日付のみ取得 return DateTime.Today.AddDays(-1).ToString("yyyy/MM/dd"); ※昨日の日付のみ取得 return DateTime.Today.AddMonths(1).ToString("yyyy/MM/dd"); ※1ヶ月後の日付のみ取得 return DateTime.Today.AddYears(1).ToString("yyyy/MM/dd"); ※1年後の日付のみ取得
Windowsのクリップボードコピーを使う方法
System.Windows.Forms.Clipboard.SetText(project.Variables["変数名"].Value);
ファイル数のカウント
string dir = @"フォルダパス";
int fileCount = Directory.GetFiles(dir, "*", SearchOption.TopDirectoryOnly).Length;
return fileCount;
リストの中身を全削除して新たに1つ追加する
var list1 = project.Lists["リスト名"]; list1.Clear(); var list = project.Lists["リスト名"]; string text = project.Variables["変数名"].Value; list.Add(text);
足し算または引き算
int value1 = Convert.ToInt32(project.Variables["変数名"].Value);
int value2 = Convert.ToInt32(project.Variables["変数名"].Value);
return (value1 + value2).ToString();
掛け算または割り算 ※小数点が出る場合の処理
int value1 = Convert.ToInt32(project.Variables["変数名"].Value);
int value2 = Convert.ToInt32(project.Variables["変数名"].Value);
return ((float)value2 / value1).ToString();
末尾〇文字抽出
String s = project.Variables["変数名"].Value;
int len = s.Length;
String result = s.Substring(len -1);
return result;
emoji入力 ※ゼノドロのみ
var droid = instance.DroidInstance;
string emoji1 = char.ConvertFromUtf32(0x1F638);
droid.Input.SendText(emoji1);
webhook送信
string WebHookUrl = "webhookURL"; System.Net.Http.HttpClient httpClient = new System.Net.Http.HttpClient(); Dictionary strs = new Dictionary() {{ "content", project.Variables["変数名"].Value },{ "username", "bot" }}; System.Runtime.CompilerServices.TaskAwaiter awaiter = httpClient.PostAsync(WebHookUrl, new System.Net.Http.FormUrlEncodedContent(strs)).GetAwaiter();
IPリセット
※usingが必要
using System.Net.Http; //GAC references追加
using System.Runtime.CompilerServices;
// リクエスト作成 System.Net.WebRequest request = System.Net.WebRequest.Create(project.Variables["変数名"].Value); // リクエストヘッダ作成 System.Net.WebHeaderCollection header = new System.Net.WebHeaderCollection(); header.Add("Authorization", "Token トークン情報"); // プロパティセット request.Method = "Get"; request.Headers = header; // 送信 System.Net.WebResponse response = request.GetResponse();
My SQL
DB接続
string db_host = "xx.xxx.xx.xx"; // ホスト string db_user = "user_name"; // MySQLに接続するためのユーザ名 string db_pswd = "user_password"; // MySQLに接続するためのパスワード string db_database = "DB_name"; // 対象となるデータベースの名前 string db_charset = "utf8"; // テーブルでのデータエンコーディング // MySQLに接続してセッションを開く DB db = new DB(db_host, db_user, db_pswd, db_database, db_charset); // 他のキューブで使用するためにオブジェクトをコンテキストで保存 project.Context["db"] = db; db.query("COMMIT"); // セッションを閉じる db.close();
変数に入っている日付をインサート(行の追加)
INSERT INTO `テーブル名` (time_date) VALUES ('"+ project.Variables["time_date"].Value +"')
対象の行数をカウント
SELECT COUNT(*) FROM `テーブル名`
対象の日付に対象の内容を変数を使って更新する
UPDATE `テーブル名` SET カラム名= '"+ project.Variables["変数名"].Value +"' WHERE date_format(time_date,'%Y/%m/%d') = DATE_FORMAT('"+ project.Variables["time_date"].Value +"', '%Y/%m/%d')
対象のカラムの数値をSUM関数を使って合計を出す
SELECT SUM(カラム名) FROM テーブル名
対象の行数をカウントするが、対象の文字列が含まれる場合は除外
SELECT COUNT(*) FROM テーブル名 WHERE NOT カラム名='対象の文字列'
if
3つとも当てはまる場合のみtureを返す
'{-Variable.search_s_ban-}' == 'No' && '{-Variable.search_ban-}' == 'No' && '{-Variable.ghost_ban-}' == 'No'
Android keyboard emulation
改行
{AndroidKeys.ENTER}