当前位置: 首页 > wzjs >正文

虚拟主机如何做多个网站谷歌seo营销

虚拟主机如何做多个网站,谷歌seo营销,网站建设窗口框架,网站建设销售岗位职责参考资料 秀丸マクロ.net秀丸マクロ 入門秀丸エディタ マクロ言語ヘルプ目次 目录 一. 简介1.1 宏的语法1.2 宏的运行1.3 基本语法 二. 案例2.1 案例12.2 案例22.3 案例32.4 案例4 三. 调用自定义的.dll库 一. 简介 1.1 宏的语法 ⏹秀丸的宏文件以.mac结尾,秀丸的…

参考资料

  1. 秀丸マクロ.net
  2. 秀丸マクロ 入門
  3. 秀丸エディタ マクロ言語ヘルプ目次

目录

  • 一. 简介
    • 1.1 宏的语法
    • 1.2 宏的运行
    • 1.3 基本语法
  • 二. 案例
    • 2.1 案例1
    • 2.2 案例2
    • 2.3 案例3
    • 2.4 案例4
  • 三. 调用自定义的`.dll`库


一. 简介

1.1 宏的语法

⏹秀丸的宏文件以.mac结尾,秀丸的宏共有两种语法,具体语法细节官网都有介绍。

  • 秀丸提供的特有语法
  • javascript语法,支持ES6语法👍
  • 支持调用外部的脚本(如.dat.ps1)
  • 支持加载.dll

1.2 宏的运行

⏹如下图所示,可在【マクロ】菜单中,登录宏和执行宏

在这里插入图片描述

⏹宏登录完成之后,可如下图所示给对应的宏分配快捷键

在这里插入图片描述

⏹还可以将宏添加到【テンプレート】模板所在的文件夹,通过设置模板的快捷键快速调用

在这里插入图片描述

⏹然后就可以通过【テンプレート】模板的快捷键调用宏了,好处就是会显示宏的名称一览。

在这里插入图片描述

1.3 基本语法

⏹以下是一个基本的宏,用于将指定的信息插入到当前的文本中

  • insert:用于将内容插入到文本中
  • insertreturn:插入一个换行符
  • endmacro:结束宏
insert "你好\n";
insert "今天的日期是: " + date + " " + time;
insertreturn;
endmacro;

😪一般来说,除了重度使用用户之外,专门为了一个文本编辑器去学习专门的宏语言很划不来。。。
好在秀丸的宏支持javascript宏,本文将通过几个小案例的方式介绍javascript宏的基本用法。


二. 案例

2.1 案例1

  • hidemaruversion
    • 当宏中使用了非同期函数的使用,如果不通过hidemaruversion来指定版本的话,会弹出一个提示框
    • 非必须,不使用的话,宏也可正常运行
  • jsmode "WebView2"
    • 指定jsmodeWebView2,可以开启ES6的javascript语法
    • 在底层上相同于调用了Chromium版的Microsoft Edge
    • jsmode可省略,省略的情况下只能使用ES6之前的旧语法
  • js{ ... }
    • 用于书写js代码的区域
    • js代码块内部可通过秀丸的函数来读取外部定义的变量
  • hidemaruGlobal
    • 秀丸的全局变量,可省略
    • 为了区别js原生函数和秀丸函数,感觉带着更好一些
  • insert:将指定内容插入到当前的文本中
hidemaruversion "9.25.13";
jsmode "WebView2";// JS代码块
js{const name = "枫叶红";const url = 'https://api.github.com/users/fengyehong123';const info = `こんにちは ${name}今日の天気がいいです。\n`.replaceAll("\t", "");// 将变量插入到文本中hidemaruGlobal.insert(info);// 在js脚本中直接调用非同期函数,发送fetch请求(async (url) => {let response = await fetch(url, {method: 'get'});// 将获取到的内容添加到文本中const text = await response.text();// 将访问api获取到的内容添加到页面上hidemaruGlobal.insert(text);})(url);
}

2.2 案例2

  • debuginfo(2):用来将console.log()打印的内容显示在【アウトプット】框中,方便调试
  • hidemaru.getVar( ):在js代码块内部获取js代码块外部定义的变量
  • hidemaru.setVar( ):在js代码块内部修改js代码块外部定义的变量
  • message():将指定的内容通过弹窗的方式显示在文本上
debuginfo(2);
jsmode "WebView2";// js代码块外定义的变量
$name = "贾飞天";// JS代码块
js{// 获取js代码块之外的定义的变量const name = hidemaru.getVar( "$name" );const info = `你好,我的名字是: ${name}`;// 弹窗框函数hidemaruGlobal.message(info);// 将内容打印到【アウトプット】框中,方便调试console.log(info);// 在js代码块内部, 修改在js代码块之外定义的变量hidemaru.setVar("$name", info);
}// 弹出框显示
message $name;

2.3 案例3

  • browsefile:打开指定的文件夹
    • 参数1:初期文件夹的路径,若不指定的话,默认使用当前宏所在的文件夹
    • 参数2:文件的后缀
  • loadTextFile():读取指定的文本文件
  • saveTextFile():保存文件到本地的指定路径
  • input():弹出输入框
  • menu:菜单效果
    • \x01后面跟着的菜单名,会自动变为子菜单
    • 单独使用 x01 的话,会被解释为分割线
debuginfo(2);
jsmode "WebView2";js{const filePath = hidemaruGlobal.browsefile("","*.txt");console.log(filePath);// 加载指定路径下的文,并按照换行符分隔为数组const lineList = hidemaru.loadTextFile("C:\\Users\\Admin\\Desktop\\用户凭据.txt").split("\n");for (const line of lineList) {console.log(line);}// 将指定的内容保存到桌面上hidemaru.saveTextFile("C:\\Users\\Admin\\Desktop\\测试内容.txt", "テキスト内容", "utf8" );// 输入函数const address = hidemaruGlobal.input("请输入地址", "默认地址");hidemaruGlobal.message(address);// 如果想要使用子菜单的话,\x01后面跟着的菜单名,会自动变为子菜单const result = hidemaruGlobal.menu("\x01サブメニューA","項目A-1","項目A-2",// 单独使用 "" 表示子菜单的结束"","\x01サブメニューB","項目B-1","項目B-2","",// 单独使用 "\x01" 的话,会被解释为分割线"\x01","項目C","項目D");hidemaruGlobal.message(result);
}

2.4 案例4

  • runProcess:开启新的进程执行外部程序
    • .stdOut:获取输出对象
    • onReadAll:通过非同期的方式获取执行结果,代码不会被阻塞,要获取结果的话,只能在回调函数中来获取
  • runsync:同期的方式执行外部程序,程序执行到此处的话会阻塞
    • 无法获取执行的返回值
    • 返回值是false的话表示执行调用失败;false之外的话表示程序调用成功
debuginfo(2);
jsmode "WebView2";js{// 在秀丸的宏中调用其他程序const processInfo = hidemaru.runProcess("powershell C:\\Users\\Admin\\Desktop\\新建文件夹\\05-获取本机已保存的所有wifi密码.ps1", ".", "stdio", "utf8" );// 获取标准输出对象const stdOut = processInfo.stdOut;// 通过非同期的方式获取执行结果stdOut.onReadAll(function(out) {console.log(out);});// 同期执行powershellconst result = hidemaruGlobal.runsync("powershell.exe -NoProfile -ExecutionPolicy RemoteSigned -WindowStyle Hidden -File C:\\Users\\Admin\\Desktop\\新建文件夹\\05-获取本机已保存的所有wifi密码.ps1");console.log("------------------------");console.log(result);console.log("------------------------");
}

三. 调用自定义的.dll

⏹通过Visual Studio创建一个类库的工程

在这里插入图片描述

⏹准备编译为.dll依赖库的源码

  • 外部使用的方法需要写在接口里,然后用类来实现接口
  • 该代码需要编译为.dll文件之后,才能供秀丸使用
using System;
using System.Runtime.InteropServices;namespace MarcoTest
{// 定义外部使用的接口public interface IInfo{String GetInfo(string param);}// 下面这两项是必须的[ComVisible(true)][ClassInterface(ClassInterfaceType.None)]public class InfoUtil : IInfo{public String GetInfo(string param){return "Hello world! " + param + " 你好, 世界!";}}
}

⏹注意:不能使用 WebView2 的JS,否则 createobject 无法正常使用

  • createobject( ):用来创建对象
  • currentmacrodirectory():表示当前宏脚本所在的文件夹
  • @"\ClassLibrary2.dll", "MarcoTest.InfoUtil":指定.dll依赖库,依赖库里面的命名空间和类名

💥更加详细的解释,请参考 ⇒ 秀丸マクロ.net

debuginfo(2);js{// 通过.dll库创建对象var obj = createobject(currentmacrodirectory() + @"\ClassLibrary2.dll", "MarcoTest.InfoUtil");// dll库里面的方法var result = obj.GetInfo("uiuiui");message(result);
}

⏹执行效果如下所示

在这里插入图片描述

http://www.dtcms.com/wzjs/127479.html

相关文章:

  • wordpress的x站模板云盘搜索引擎入口
  • 网站图标怎么做的百度关键词优化点击 教程
  • 网站建设过程论文今日热点新闻事件摘抄
  • 有网站做淘宝客百度推广软件
  • 南宁网站开发招聘朝阳网站建设
  • 给企业做网站收入百度指数入口
  • 网站建设需求什么功能百度首页清爽版
  • 德国的网站后缀企业如何做网络推广
  • 英国网站后缀电商培训班一般多少钱一个月
  • 深圳网站建设啊google seo实战教程
  • 嘉兴网站开发短视频营销
  • 网站建设需要技术google入口
  • 南昌网站建设设计数字化营销怎么做
  • 济南个人网站建设互联网营销方式有哪些
  • 电子商务网站建设的盈利模式今天的热搜榜
  • 网站建设及报价格方案sem百度竞价推广
  • 网站后台ftp网络营销平台有哪些?
  • 网站班级文化建设视频太原优化排名推广
  • 怎么在华为防火墙做网站映射广告代运营公司
  • 东山网站制作太原seo管理
  • 网站服务器租用价格如何写营销软文
  • 网站开发推广招聘广告推销网站
  • 网站设计的分辨率电商数据网站
  • 网站运营难做吗一键生成网页
  • 有一个网站自己做链接获取朋友位置百度新版本更新下载
  • wordpress 文章功能河北百度竞价优化
  • 北京微信网站制作河南网站优化公司
  • 网站建设几层结构百度网页pc版登录
  • 西安网站建设制作价格低搜索引擎优化人员优化
  • 深圳网站设计实力乐云seo韩国日本比分