Thinkai's Blog

Autohotkey|Python|php|aardio|VOIP|IT 爱好者

售后定时提醒源码 Autohotkey 11350

作者为 发表

Autohotkey

下载 http://pan.baidu.com/s/1temcU

IfNotExist, config.ini
	{
	IniWrite, 0, config.ini, setting, disautorun
	IniWrite, 20130101, config.ini, setting, lastuse
	}
IfNotExist, rules.ini
	{
	FileAppend, +2`n+9`n+19, rules.ini
	}
IfNotExist, %A_Scriptdir%\data\
	FileCreateDir, %A_Scriptdir%\data\
IniRead, disauto, config.ini, setting, disautorun
IniRead, lastuse, config.ini, setting, lastuse
menu, Tray, NoStandard
Menu, tray, add, 查看今日提醒
Menu, tray, add, 销售信息录入
Menu, tray, add, 提醒规则管理
Menu, tray, add, 退出
menu, tray, Default, 查看今日提醒
date = %A_YYYY%%A_MM%%A_DD%
m01 = 0
m02 = 31
m03 = 59
m04 = 90
m05 = 120
m06 = 151
m07 = 181
m08 = 212
m09 = 243
m10 = 273
m11 = 304
m12 = 334
noask = 1
if lastuse < %date%
	{
	sleep, 2000
	goto, 查看今日提醒
	}
Return

查看今日提醒:
if noask = 0
	{
	MsgBox, 36, 询问, 您今天已经查看过全部提醒,是否强制刷新规则及提醒?
	IfMsgBox, No
		goto, show
	IfMsgBox, Yes
		FileDelete, %A_Scriptdir%\data\%date%.csv
	}
jump:
b = %date%
StringLeft, by, b, 4
StringTrimLeft, b, b, 4
StringLeft, bm, b, 2
StringTrimLeft, b, b, 2
StringLeft, bd, b, 2
dy := by-2000
br := dy/4
StringSplit, dr, br, .
dr = %dr1%
bmd = %bm%%bd%
IfInString, br, .000000
	{
	if bmd > 0229
		dr += 1
	}
dm = % m%bm%
dd := bd-1
btmp := dy*365+dm+dr+dd
FileRead, rules, rules.ini
StringSplit, tmp, rules, `n
IfExist, 信息.csv
	{
	FileRead, data, 信息.csv
	StringSplit, line, data, `n,
	}
Else
	{
	MsgBox, 16, 错误, 信息.csv 不存在!`n请右键桌面右下角程序图标来录入信息!
	Return
	}
idx = 0
Loop
{
idx += 1
if idx > %line0%
	Break
content = % line%idx%
if content <>
	{
	StringSplit, var, content, `,
	if var6 <>
		{
		Loop
		{
		if A_Index > %tmp0%
			Break
		temp = % tmp%A_Index%
		if temp <>
				{
				IfInString, temp, +
					{
					StringReplace, tp, temp, +, , All
					if tp is Number
						{
						tempdate := date - tp
						if tempdate = var6
							FileAppend, %temp%`,%var1%`,%var2%`,%var3%`,%var4%`,%var5%`,%var6%`,%var7%`,%var8%`,%var9%`n, %A_Scriptdir%\data\%date%.csv
						}
					}
				Else
					{
					StringReplace, tp, temp, E, , All
					a = %var6%
					StringLeft, ay, a, 4
					StringTrimLeft, a, a, 4
					StringLeft, am, a, 2
					StringTrimLeft, a, a, 2
					StringLeft, ad, a, 2
					cy := ay-2000
					ar := cy/4
					StringSplit, cr, ar, .
					cr = %cr1%
					amd = %am%%ad%
					IfInString, ar, .000000
						{
						if amd > 0229
							cr += 1
						}
					cm = % m%am%
					cd := ad-1
					atmp := cy*365+cm+cr+cd
					x := btmp-atmp
					if x < 1
						Continue
					if tp is Number
						{
						e = %tp%
						xe := x/e
						IfInString, xe, .000000
							FileAppend, %temp%`,%var1%`,%var2%`,%var3%`,%var4%`,%var5%`,%var6%`,%var7%`,%var8%`,%var9%`n, %A_Scriptdir%\data\%date%.csv
						}
					if tp = W
						{
						e = 7
						xe := x/e
						IfInString, xe, .000000
							FileAppend, %temp%`,%var1%`,%var2%`,%var3%`,%var4%`,%var5%`,%var6%`,%var7%`,%var8%`,%var9%`n, %A_Scriptdir%\data\%date%.csv
						}
					if tp = M
						{
						if ad = %bd%
							FileAppend, %temp%`,%var1%`,%var2%`,%var3%`,%var4%`,%var5%`,%var6%`,%var7%`,%var8%`,%var9%`n, %A_Scriptdir%\data\%date%.csv
						}
					if tp = Y
						{
						amd = %am%%ad%
						if amd = %bmd%
							FileAppend, %temp%`,%var1%`,%var2%`,%var3%`,%var4%`,%var5%`,%var6%`,%var7%`,%var8%`,%var9%`n, %A_Scriptdir%\data\%date%.csv
						}
					}
				}
		}
		}
	}
noask = 0
}
show:
IfWinNotExist, 销售信息日常关怀提醒 双击查看/标记
	{
	Gui, 3:Add, Text, x0 y10 w40 h20 , 姓名
	Gui, 3:Add, Edit, x40 y10 w200 h20 v3name
	Gui, 3:Add, Text, x0 y50 w40 h20 , 手机
	Gui, 3:Add, Edit, x40 y50 w200 h20 v3cell
	Gui, 3:Add, Text, x0 y190 w40 h20 , 电话
	Gui, 3:Add, Edit, x40 y190 w200 h20 v3phone
	Gui, 3:Add, Text, x0 y70 w40 h20 , 产品
	Gui, 3:Add, Edit, x40 y70 w200 h20 v3product
	Gui, 3:Add, Text, x0 y90 w40 h40 , 产品信息
	Gui, 3:Add, Edit, x40 y90 w200 h100 v3info
	Gui, 3:Add, MonthCal, x250 y80 w270 h180 v3pdate,
	Gui, 3:Add, Button, x250 y260 w270 h20 gcdate, 查看此日提醒
	Gui, 3:Add, Text, x250 y60 w270 h20 vgdate, 购买时间
	Gui, 3:Add, Text, x0 y30 w40 h20 , QQ
	Gui, 3:Add, Edit, x40 y30 w200 h20 v3qq
	Gui, 3:Add, Text, x0 y210 w40 h50 , 住址
	Gui, 3:Add, Edit, x40 y210 w200 h80 v3site
	Gui, 3:Add, Text, x250 y10 w30 h50 , 备注
	Gui, 3:Add, Edit, x280 y10 w240 h50 v3note
	Gui, 3:Add, ListView, x6 y300 w520 h200 glist, ID|标记|触发规则|姓名|电话|手机|产品型号|产品信息|日期|QQ|地址|备注
	Gui, 3:Show, , 销售信息日常关怀提醒 双击查看/标记
	Gui, 3:Default
	}
IfExist, %A_Scriptdir%\data\%date%.csv
	{
	Loop
	{
	FileReadLine, line, %A_Scriptdir%\data\%date%.csv, %A_Index%
	if errorlevel
		Break
	StringSplit, var, line, `,,
	IniRead, chk, config.ini, %date%, %A_Index%
	if chk = 1
		LV_Add("", A_Index,"√",var1,var2,var3,var4,var5,var6,var7,var8,var9,var10)
	Else
		LV_Add("", A_Index,"",var1,var2,var3,var4,var5,var6,var7,var8,var9,var10)
	}
	LV_ModifyCol()
	}
Return

list:
FocusedRowNumber := LV_GetNext(0, "F")
if FocusedRowNumber
	{
	LV_GetText(id, FocusedRowNumber, 1)
	LV_GetText(mark, FocusedRowNumber, 2)
	if mark <> √
		{
		LV_Modify(FocusedRowNumber, Col, id, "√")
		IniWrite, 1, config.ini, %date%, %id%
		}
	Else
		{
		LV_Modify(FocusedRowNumber, Col, id, "")
		IniDelete, config.ini, %date%, %id%
		}
	FileReadLine, line, %A_Scriptdir%\data\%date%.csv, %id%
	StringSplit, var, line, `,
	name = %var2%
	phone = %var3%
	cell = %var4%
	product = %var5%
	info = %var6%
	pdate = %var7%
	qq = %var8%
	site = %var9%
	note = %var10%
	StringLeft, py, pdate, 4
	StringTrimLeft, p, pdate, 4
	StringLeft, pm, p, 2
	StringTrimLeft, p, p, 2
	StringLeft, pd, p, 2
	pdate = %py%-%pm%-%pd%
	StringReplace, info, info, \n, `n, All
	StringReplace, site, site, \n, `n, All
	StringReplace, note, note, \n, `n, All
	GuiControl, 3:, 3name, %name%
	GuiControl, 3:, 3phone, %phone%
	GuiControl, 3:, 3cell, %cell%
	GuiControl, 3:, 3product, %product%
	GuiControl, 3:, 3info, %info%
	GuiControl, 3:, gdate, 购买时间:%pdate%
	GuiControl, 3:, 3qq, %qq%
	GuiControl, 3:, 3site, %site%
	GuiControl, 3:, 3note, %note%
	}
LV_ModifyCol()
Return

cdate:
GuiControlGet, 3pdate
StringReplace, 3pdate, 3pdate, -, , All
date = %3pdate%
LV_Delete()
FileDelete, %A_Scriptdir%\data\%date%.csv
noask = 1
goto, 查看今日提醒
Return

3GuiClose:
gui 3:Destroy
Return

销售信息录入:
bk = 0
IfWinNotExist, 销售信息录入
	{
	Gui, Add, Text, x0 y10 w40 h20 , 姓名
	Gui, Add, Edit, x40 y10 w200 h20 vname
	Gui, Add, Text, x0 y50 w40 h20 , 手机
	Gui, Add, Edit, x40 y50 w200 h20 vcell
	Gui, Add, Text, x0 y190 w40 h20 , 电话
	Gui, Add, Edit, x40 y190 w200 h20 vphone
	Gui, Add, Text, x0 y70 w40 h20 , 产品
	Gui, Add, Edit, x40 y70 w200 h20 vproduct
	Gui, Add, Text, x0 y90 w40 h40 , 产品信息
	Gui, Add, Edit, x40 y90 w200 h100 vinfo
	Gui, Add, MonthCal, x250 y80 w270 h180 vpdate,
	Gui, Add, Text, x250 y60 w270 h20, 购买时间
	Gui, Add, Button, x250 y260 w270 h30 gsubmit, 提交
	Gui, Add, Text, x0 y30 w40 h20 , QQ
	Gui, Add, Edit, x40 y30 w200 h20 vqq
	Gui, Add, Text, x0 y210 w40 h50 , 住址
	Gui, Add, Edit, x40 y210 w200 h80 vsite
	Gui, Add, Text, x250 y10 w30 h50 , 备注
	Gui, Add, Edit, x280 y10 w240 h50 vnote
	Gui, Show, , 销售信息录入
	}
Else
	WinActivate, 销售信息录入
Return

submit:
GuiControlGet, name
GuiControlGet, phone
GuiControlGet, cell
GuiControlGet, product
GuiControlGet, info
GuiControlGet, pdate
GuiControlGet, qq
GuiControlGet, site
GuiControlGet, note
if name =
	{
	MsgBox, 姓名不能为空!
	Return
	}
if cell =
	{
	MsgBox, 手机不能为空!
	Return
	}
GuiControl, , name,
GuiControl, , phone,
GuiControl, , cell,
GuiControl, , product,
GuiControl, , info,
GuiControl, , qq,
GuiControl, , site,
GuiControl, , note,
StringReplace, info, info, `,, ,, All
StringReplace, info, info, `n, \n, All
StringReplace, site, site, `,, ,, All
StringReplace, site, site, `n, \n, All
StringReplace, note, note, `,, ,, All
StringReplace, note, note, `n, \n, All
StringReplace, note, note, `,, ,, All
StringReplace, pdate, pdate, -, , All
FileAppend, %name%`,%phone%`,%cell%`,%product%`,%info%`,%pdate%`,%qq%`,%site%`,%note%`n, 信息.csv
if bk = 1
	gui, Destroy
Return

提醒规则管理:
FileRead, rules, rules.ini
Gui, 2:add, text, x0 y0 w200 h80, 请输入规则,示例:`n+6则延后6天提醒`nE7则每隔7天`nEW每周`nEM每月`nEY每年,每排一个
gui, 2:add, edit, x0 y80 w200 h200 vrules,
gui, 2:add, button, x0 y280 w200 h20 gsave, 保存
gui, 2:show, , 规则管理
GuiControl, 2:, rules, %rules%
Return

2GuiClose:
MsgBox, 36, 询问, 是否保存修改?
IfMsgBox, Yes
	{
	GuiControlGet, rules
	FileDelete, rules.ini
	FileAppend, %rules%, rules.ini
	}
gui 2:Destroy
Return

save:
GuiControlGet, rules
FileDelete, rules.ini
FileAppend, %rules%, rules.ini
MsgBox, 64, 提示, 已保存完毕!
Return

退出:
IniWrite, %date%, config.ini, setting, lastuse
RegRead, reg, HKCU, Software\Microsoft\Windows\CurrentVersion\Run, attention
if Errorlevel
	goto, addautorun
if reg <> %A_ScriptFullPath%
	goto, addautorun
ExitApp

GuiClose:
MsgBox, 36, 询问, 是否提交当前录入信息?
IfMsgBox, Yes
	{
	bk = 1
	goto, submit
	}
Gui, Destroy
noask = 0
Return

addautorun:
if disauto <> 1
	{
	MsgBox, 67, 提醒, 程序没有加入开机启动,是否加入?`n程序仅在开机加载完成后工作,不影响启动时间。`n取消则不再询问。
	IfMsgBox, Yes
		{
		RegWrite, REG_SZ, HKCU, Software\Microsoft\Windows\CurrentVersion\Run, attention, %A_ScriptFullPath%
		If Errorlevel
			MsgBox, 16, 错误, 没有权限或者被安全软件拦截了,请下次再试!
		}
	IfMsgBox, Cancel
		{
		IniWrite, 1, config.ini, setting, disautorun
		}
	}
ExitApp



来了就留个评论吧! 3个评论




友情链接:Autohotkey中文帮助Autohotkey官网Autohotkey中文网联系作者免GooglePlay APK下载

 主题设计 • skyfrit.com  Thinkai's Blog | 保留所有权利

60 queries in 2.097 seconds |