-
Notifications
You must be signed in to change notification settings - Fork 0
/
NMemoPad.sb
101 lines (92 loc) · 4.13 KB
/
NMemoPad.sb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
BUILDNUMBER=182
Version="Ver 1.2.8-20210320-" + BUILDNUMBER
ConfVersion=2
VS="confパス変更"
'V1.2 2021/06/22 Confのパス変更
'V1.1 2021/04/06 標準機能だけに変更
'V1.00 2021/03/20 簡易メモ帳として実装
'V0.11 2019/05/27 バックアップをわかるようにした
'V0.11 2019/05/13 バックアップ機能
'V0.10 2019/04/25 ほかの人用のカスタマイズ版
sbCr = Text.GetCharacter(13)
sbLf = Text.GetCharacter(10)
sbCrLf = sbCr + sbLf
sbCrLf2 = sbCrLf + sbCrLf
sbDq = Text.GetCharacter(34)
'init
InitLoad()
InitCommon()
Controls.TextTyped = TextChanged
Controls.ButtonClicked = BUTTONCLICK
Timer.Interval = 60000
Timer.Tick = UPDATEINTERVAL
'-------------------------
Sub InitLoad
ConfFile1 = Program.Directory + "\Conf\NMemoPad\NMemoPad.settings-conf"
ConfFile2 = Program.Directory + "\Conf\NMemoPad\NMemoPad.settings-init"
confVer = File.ReadLine(ConfFile1,1)
If confVer <> ConfVersion Then
GraphicsWindow.ShowMessage("設定ファイルの定義バージョンが一致しませんので終了します","エラー")
Program.End()
EndIf
userName= File.ReadLine(ConfFile1,2)
confWidth = File.ReadLine(ConfFile1,3)
confHeight =File.ReadLine(ConfFile1,4)
confFontName = File.ReadLine(ConfFile1,5)
confFontSize = File.ReadLine(ConfFile1,6)
confBrushColor = File.ReadLine(ConfFile1,7)
confBackgroundColor= File.ReadLine(ConfFile1,8)
initTemplate=File.ReadContents(ConfFile2)
inittext = "# " + userName + " (" + Clock.Date +")" + sbCrLf2 + InitTemplate
SaveFileName = "#" + username + "#"
Endsub
Sub InitCommon
SaveButton = Controls.AddButton("完了してファイルを保存する", 10, 1)
Controls.SetSize(SaveButton, 300, 30)
GraphicsWindow.Title = "Version " + Version + " 開始時刻: " + Clock.Time
GraphicsWindow.Width = confWidth
GraphicsWindow.Height = confHeight
GraphicsWindow.FontName = confFontName
GraphicsWindow.FontSize = confFontSize
GraphicsWindow.BrushColor = confBrushColor
GraphicsWindow.BackgroundColor = confBackgroundColor
memo = Controls.AddMultiLineTextBox(1, 50)
Controls.SetSize(memo, GraphicsWindow.Width-2, GraphicsWindow.Height-55)
GraphicsWindow.Title = Version + " 開始時刻: " + Clock.Time + " file: " + SaveFileName
Controls.SetTextBoxText(memo, inittext)
tstart=Clock.ElapsedMilliseconds
InitTextLength=Text.GetLength( inittext)
TextUnsaved = 0
EndSub
Sub textChanged
tmiddle= Clock.ElapsedMilliseconds
GraphicsWindow.Title = " * 執筆の経過時間 約" + Math.Ceiling((tmiddle-tstart)/1000/60) + "分" + " file: " + SaveFileName
TextUnsaved = 1
EndSub
Sub UPDATEINTERVAL
tmiddle= Clock.ElapsedMilliseconds
If TextUnsaved = 1 then
SaveTmpFile()
TextUnsaved=0
EndIf
GraphicsWindow.Title = "執筆の経過時間 約" + Math.Ceiling((tmiddle-tstart)/1000/60) + "分" + " file: " + SaveFileName
EndSub
Sub BUTTONCLICK
tmiddle= Clock.ElapsedMilliseconds
If Controls.LastClickedButton = SaveButton Then
SaveLocalFile()
GraphicsWindow.ShowMessage( getfilename + sbCrLf + "執筆の経過時間 " + Math.Ceiling((tmiddle-tstart)/1000/60) + "分 合計" + len + " 文字です。" ,("テキスト保存しました。") )
EndIf
EndSub
Sub SaveLocalFile
len = Text.GetLength(Controls.GetTextBoxText(memo) ) - InitTextLength
hozontext = Controls.GetTextBoxText(memo) + sbCrLf2 + "この文章を書くのに要した時間は:約" + Math.Ceiling(((tmiddle-tstart)/1000/60)) + "分です。 合計" + len + " 文字です。"
getfilename = Program.Directory + "\" + SaveFileName +"-"+ Clock.Year +"/"+ Clock.Month +"/"+ Clock.Day +"-"+ Clock.Hour + Clock.Minute + Clock.Second + "-nm.txt"
File.WriteContents(getfilename, hozontext)
EndSub
Sub SaveTmpFile
len = Text.GetLength(Controls.GetTextBoxText(memo) ) - InitTextLength
hozontext = Controls.GetTextBoxText(memo) + sbCrLf2 + "一時的に保存しています:約" + Math.Ceiling(((tmiddle-tstart)/1000/60)) + "分です。 合計" + len + " 文字です。"
getfilename = Program.Directory + "\" + SaveFileName +"-"+ Clock.Year +"/"+ Clock.Month +"/"+ Clock.Day + "-nm.tmp"
File.WriteContents(getfilename, hozontext)
EndSub