<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[xiaox的专栏]]></title><description><![CDATA[powerbuilder&python&uniapp]]></description><link>https://blog.csdn.net/wosind</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; wosind]]></copyright><item><title><![CDATA[esp32 安装]]></title><link>https://blog.csdn.net/wosind/article/details/121342913</link><guid>https://blog.csdn.net/wosind/article/details/121342913</guid><author>wosind</author><pubDate>Mon, 15 Nov 2021 20:41:46 +0800</pubDate><description><![CDATA[E:\arduinolDE\arduino1.8.9\espressif 目录下拉取源码
git clone https://github.com/espressif/arduino-esp32.git
打开E:\arduinolDE\arduino1.8.9\espressif\arduino-esp32\tools 的 get.exe

]]></description><category></category></item><item><title><![CDATA[Arduino 常用函数说明]]></title><link>https://blog.csdn.net/wosind/article/details/114492883</link><guid>https://blog.csdn.net/wosind/article/details/114492883</guid><author>wosind</author><pubDate>Sun, 07 Mar 2021 19:00:23 +0800</pubDate><description><![CDATA[Arduino 常用函数说明01、pinMode:设置引脚的输入输出状态02、digitalWrite:设置输出引脚的高低电平状态03、digitalRead：读取引脚的状态，并返回HIGH 或LOW04、analogRead:读出模拟引脚上的电压，并以二进制数值返回(0-1023)对应为0~5v05、analogWrite:给PWM引脚输出电压值06、shiftOut:将一个字节的数据通过移位的方式逐位的输出07、mills：回传单片机从开始执行到现在目前的时间(单位：ms)08、delay:占用单片机.]]></description><category></category></item><item><title><![CDATA[electron-vue-element el-table组件无法显示]]></title><link>https://blog.csdn.net/wosind/article/details/113802023</link><guid>https://blog.csdn.net/wosind/article/details/113802023</guid><author>wosind</author><pubDate>Sat, 13 Feb 2021 17:03:35 +0800</pubDate><description><![CDATA[如题，electron-vue-element框架中，使用el-table组件无法工作。
将electron-vue 目录下的 webpack.renderer.config.js  文件打开
let whiteListedModules = ['vue']  修改为
let whiteListedModules = ['vue', 'element-ui']  
&lt;hr style=" border:solid; width:100px; height:1px;" color=#000000 siz]]></description><category></category></item><item><title><![CDATA[vc++ 2017 编写pb(powerbuilder)可以调用的dll库程序（含C语言字符串处理函数）]]></title><link>https://blog.csdn.net/wosind/article/details/107131439</link><guid>https://blog.csdn.net/wosind/article/details/107131439</guid><author>wosind</author><pubDate>Sun, 05 Jul 2020 02:30:14 +0800</pubDate><description><![CDATA[powerbuilder 程序开发过程，经常会调用一些外部函数（dll库函数），本文介绍 vc++如何编写，pb可以调用的dll库函数。


示例使用IDE：microsoft visual studio 2017
一、创建一个动态链接库(DLL)项目。


二、编写一个简单的函数，接收一个int值 arg1，返回arg1+1的结果。
#include "stdafx.h"

extern "C"
{
	_declspec(dllexport) int funcA(int arg1)
	{
		int r.]]></description><category></category></item><item><title><![CDATA[nginx根据不同请求头、URL定向到不同服务器]]></title><link>https://blog.csdn.net/wosind/article/details/102898948</link><guid>https://blog.csdn.net/wosind/article/details/102898948</guid><author>wosind</author><pubDate>Mon, 04 Nov 2019 19:06:55 +0800</pubDate><description><![CDATA[应用场景：
同一个请求地址，根据header的某个值，来确定定向的目标服务器。如图所示




配置方法：
在location 配置中，使用$http_XXX，来获取header指定的值，$http_为固定格式,XXX为自定义字段名。


nginx配置文件判断
server {
     location / {
         proxy_pass  $http_redirecthost;...]]></description><category></category></item><item><title><![CDATA[关于制表符tab]]></title><link>https://blog.csdn.net/wosind/article/details/100577477</link><guid>https://blog.csdn.net/wosind/article/details/100577477</guid><author>wosind</author><pubDate>Fri, 06 Sep 2019 13:58:48 +0800</pubDate><description><![CDATA[制表符也叫制表位、tab符，可以把它看做一个智能的空格，详细请继续阅读以下内容。


一、制表符的作用
制表符在如今的应用中已经用的很少，用到的也只是类似空格单纯分割、或者一些txt文本中。
在早期，Excel、数据库的应用还未广泛应用时，一些简单的表格通常会以文本的形式展示，而列与列之间如果使用空格来分割（如图），输入大量空格是很令人头疼的。

于是就出现了制表符，只要在列结尾添加一个制表符，...]]></description><category></category></item><item><title><![CDATA[python-tkinter 动态批量创建按钮并绑定带参事件]]></title><link>https://blog.csdn.net/wosind/article/details/100071232</link><guid>https://blog.csdn.net/wosind/article/details/100071232</guid><author>wosind</author><pubDate>Mon, 26 Aug 2019 10:26:51 +0800</pubDate><description><![CDATA[应用场景：程序动态创建按钮，按钮点击触发不同逻辑


动态创建按钮
import tkinter as tk
import tkinter.messagebox as msg

cb_list = ['cmd1', 'cmd2', 'cmd3']
win = tk.Tk()

for inx, cmd in enumerate(cb_list):
    tk.Button(win, width...]]></description><category></category></item><item><title><![CDATA[关于 python 的缩进]]></title><link>https://blog.csdn.net/wosind/article/details/100012180</link><guid>https://blog.csdn.net/wosind/article/details/100012180</guid><author>wosind</author><pubDate>Fri, 23 Aug 2019 13:12:46 +0800</pubDate><description><![CDATA[python使用缩进来区分不同的代码块，所以对缩进有严格要求，本文就python缩进规则，及常见的缩进问题做了一些整理。



]]></description><category></category></item><item><title><![CDATA[PB powerbuilder 电子邮件发送]]></title><link>https://blog.csdn.net/wosind/article/details/99410590</link><guid>https://blog.csdn.net/wosind/article/details/99410590</guid><author>wosind</author><pubDate>Tue, 13 Aug 2019 10:17:27 +0800</pubDate><description><![CDATA[本文详细介绍PB使用jmail.dll发送电子邮件的方法
用到的第三方库jmail 及完整示例下载
链接：https://pan.baidu.com/s/1gc_f07cx-saxSZeAdkvApw
提取码：4hix

1、jmail注册
integer li_flag
string  ls_value

li_flag = registryget('HKEY_CLASSES_ROOT\CLSI...]]></description><category></category></item><item><title><![CDATA[png图片合成gif动态图-python3]]></title><link>https://blog.csdn.net/wosind/article/details/97302521</link><guid>https://blog.csdn.net/wosind/article/details/97302521</guid><author>wosind</author><pubDate>Thu, 25 Jul 2019 21:23:51 +0800</pubDate><description><![CDATA[1、把图片按顺序命名，

2、代码逻辑比较简单，只是现成的模块使用，代码如下
# -*- coding: UTF-8 -*-
import imageio

def create_gif(image_list, gif_name):
    frames = []
    for image_name in image_list:
        frames.append(imageio.imr...]]></description><category></category></item><item><title><![CDATA[Python xpath 详解二]]></title><link>https://blog.csdn.net/wosind/article/details/96895488</link><guid>https://blog.csdn.net/wosind/article/details/96895488</guid><author>wosind</author><pubDate>Mon, 22 Jul 2019 21:02:08 +0800</pubDate><description><![CDATA[四、关于 nodename 的使用

有看过其他xpath文章的，一定都见过这个表格，而且基本上都是复制的，都不管里面写的什么。
这个说明不明确，还容易误导理解。
1、nodename 这个不是关键字， //div/nodename并不是匹配div 后辈的所有节点。
nodename 指的是支点名称，比如div 、ul、li、td…
2、那么selector.xpath('div')也不是匹配di...]]></description><category></category></item><item><title><![CDATA[Python xpath 详解一（非网络文章复制粘贴）]]></title><link>https://blog.csdn.net/wosind/article/details/96825571</link><guid>https://blog.csdn.net/wosind/article/details/96825571</guid><author>wosind</author><pubDate>Mon, 22 Jul 2019 17:00:23 +0800</pubDate><description><![CDATA[之前有看到好多关于xpath用法的文章，大多都是复制粘贴，一些生硬的表格，生硬的例句，对初学者非常不友好。整理这篇文章，旨在帮助更多的初学者能快速上手。


示例链接：http://db.auto.sohu.com/yiqiaudi/4414
一、xpath 路径
“选品牌” 下拉框，对应的代码片段，和路径关系如图：






那么要提取下拉框选项，

...]]></description><category></category></item><item><title><![CDATA[PB powerbuilder timing类]]></title><link>https://blog.csdn.net/wosind/article/details/95585873</link><guid>https://blog.csdn.net/wosind/article/details/95585873</guid><author>wosind</author><pubDate>Fri, 12 Jul 2019 09:12:06 +0800</pubDate><description><![CDATA[powerbuilder 如果需要周期性执行一个业务，第一个会想到的是timer事件。不过这个事件也是有局限性，很多情境是无法满足要求的。比如抽取程序，要显示多个随机的内容。
而timing类就可以很好的弥补timer事件的不足。


下面就做一个简单的例子，详细介绍一下timing类的用法
例子运行效果：


一、准备工作
要使用timing类首先要把它对象化
1、在new窗口通过 stand...]]></description><category></category></item><item><title><![CDATA[python scrapy 环境搭建]]></title><link>https://blog.csdn.net/wosind/article/details/95329888</link><guid>https://blog.csdn.net/wosind/article/details/95329888</guid><author>wosind</author><pubDate>Wed, 10 Jul 2019 14:35:47 +0800</pubDate><description><![CDATA[scrapy的安装算比较麻烦，如果实在怕麻烦就下载Anaconda，安装过程就简单很多，后面的内容也就不用看了。
这里介绍的是windows环境+python3的安装过程。


安装过程出的问题主要是依赖包的安装。
一、C++ 14 的支持

安装文件比较麻烦，有C币的话，CSDN有很多链接。这里给一个百度云链接：
二、Twisted 的支持
scrapy 是在Twisted 框架上开发的，自然...]]></description><category></category></item><item><title><![CDATA[pb powerbuilder 自定义datawindow滚动条]]></title><link>https://blog.csdn.net/wosind/article/details/93916090</link><guid>https://blog.csdn.net/wosind/article/details/93916090</guid><author>wosind</author><pubDate>Thu, 27 Jun 2019 22:52:33 +0800</pubDate><description><![CDATA[运行效果如图：


设计要点，难点介绍：
一、滚动条使用4个statictext控件组成。

二、滚动控制
通过dw的maxPOS ，滑块与滑槽相对的移动，来换算滚动的pos值
long  ll_pos
long  ll_maxpos

ll_maxpos = long(idw_parent.Describe("DataWindow.HorizontalScrollMaximum"))
ll_po...]]></description><category></category></item><item><title><![CDATA[mysql5.7+ubuntu 用户密码包含 ` 字符的一个小坑]]></title><link>https://blog.csdn.net/wosind/article/details/93481134</link><guid>https://blog.csdn.net/wosind/article/details/93481134</guid><author>wosind</author><pubDate>Mon, 24 Jun 2019 13:36:15 +0800</pubDate><description><![CDATA[今天给mysql一个用户修改密码，发现命令行模式登录后，不能做如何操作，如图

navicat显示登录，但无法打开如何对象，或者直接显示拒绝登录。


各种排查测试，终于发现，问题就出现在密码中的 ` 字符，就是tab上面，1左边那个符号


...]]></description><category></category></item><item><title><![CDATA[python leetcode 20. 有效的括号]]></title><link>https://blog.csdn.net/wosind/article/details/93376734</link><guid>https://blog.csdn.net/wosind/article/details/93376734</guid><author>wosind</author><pubDate>Sun, 23 Jun 2019 00:28:46 +0800</pubDate><description><![CDATA[给定一个只包括 ‘(’，’)’，’{’，’}’，’[’，’]’ 的字符串，判断字符串是否有效。
有效字符串需满足：
左括号必须用相同类型的右括号闭合。
左括号必须以正确的顺序闭合。
注意空字符串可被认为是有效字符串。
示例 1:
输入: "()"
输出: true

示例 2:
输入: "()[]{}"
输出: true

示例 3:
输入: "(]"
输出: false

示例 4:
输入: "...]]></description><category></category></item><item><title><![CDATA[python  leetcode 16. 最接近的三数之和]]></title><link>https://blog.csdn.net/wosind/article/details/93335598</link><guid>https://blog.csdn.net/wosind/article/details/93335598</guid><author>wosind</author><pubDate>Sat, 22 Jun 2019 17:06:52 +0800</pubDate><description><![CDATA[给定一个包括 n 个整数的数组 nums 和 一个目标值 target。找出 nums 中的三个整数，使得它们的和与 target 最接近。返回这三个数的和。假定每组输入只存在唯一答案。
例如，给定数组 nums = [-1，2，1，-4], 和 target = 1.
与 target 最接近的三个数的和为 2. (-1 + 2 + 1 = 2).

class Solution:
    de...]]></description><category></category></item><item><title><![CDATA[python  leetcode 12. 整数转罗马数字]]></title><link>https://blog.csdn.net/wosind/article/details/93330404</link><guid>https://blog.csdn.net/wosind/article/details/93330404</guid><author>wosind</author><pubDate>Sat, 22 Jun 2019 15:28:03 +0800</pubDate><description><![CDATA[罗马数字包含以下七种字符： I， V， X， L，C，D 和 M。
字符          数值
I             1
V             5
X             10
L             50
C             100
D             500
M             1000

例如， 罗马数字 2 写做 II ，即为两个并列的 1。1...]]></description><category></category></item><item><title><![CDATA[python leetcode 14. 最长公共前缀]]></title><link>https://blog.csdn.net/wosind/article/details/93311758</link><guid>https://blog.csdn.net/wosind/article/details/93311758</guid><author>wosind</author><pubDate>Sat, 22 Jun 2019 12:06:40 +0800</pubDate><description><![CDATA[编写一个函数来查找字符串数组中的最长公共前缀。
如果不存在公共前缀，返回空字符串 “”。
示例 1:
输入: ["flower","flow","flight"]
输出: "fl"

示例 2:
输入: ["dog","racecar","car"]
输出: ""
解释: 输入不存在公共前缀。
说明:
所有输入只包含小写字母 a-z 。


这是一道分类为简单的题目，所以常规的方法比较简单。这里介...]]></description><category></category></item></channel></rss>