--------------------------Copied from my Website------------------------------
Organizer Plus v.04 Beta: Here is probably my most complete program I've made, and the one I am most proud of. But, I also see it is the most useless of all of my others, unless your a busy person. Anyway, its just an organizer that you can store little notes in. You also can have your own username so multiple people can use it without interfering with your notes. Unlike the previous versions, this one allows you to select a time (from 6:00 AM to 10:00 PM I think) and a General Notes area to store more notes. All information that is stored is also encrypted. If you use the .AHK version, you need a folder named "Infopages" and a folder named "Passwords". The .AHK version is found
HERE. The .EXE file (.ZIP) is found
HERE. Enjoy!
-------------------------------------------------------------------------------------
Code:
Gosub, LoginPage
return
;********************************************************************
MainGUI:
Gui, -Caption +Border
Gui, Font, S15 CRed Bold, CourrourNew
Gui, Add, Text, x346 y0 w25 h25 gExit +border, X
gui, Font, S8 CDefault Norm, Verdana
gui, add, button, x104 y239 w157 h30 gInfoPage, Continue
SetWorkingDir, %A_WorkingDir%\Infopages
Gui, Add, MonthCal, x89 y74 w185 h160 +Center vDate,
Gui, Font, S15 CDefault, Verdana
Gui, Add, Text, x44 y0 w270 h30 +Border gMove, Organizer Plus v.03 Alpha
Gui, Font, S6 CDefault, Verdana
Gui, Font, S8 CDefault, Verdana
Gui, Add, Text, x4 y75 w80 h160 , To use this program`, click a date on the calendar`, and a list of times will pop up`, with information stored in each based on what you
Gui, Add, Text, x275 y74 w80 h160 , put in at another time. By clicking on one of these times`, the information stored will show up. REMEMBER to save before selecting new time!
Gui, Font, S7 CDefault, Verdana
usernameDe := Rot47(username)
Gui, Add, Text, x1 y293 w357 h14 +border, Welcome, %username%
; Generated using SmartGUI Creator 4.0
Gui, Show, x395 y316 h310 w361, Select a Time
Return
InfoPage:
gui, submit
gui, destroy
stringmid,month,date,5,6
stringmid,month,month,1,2
stringmid,year,date,1,4
stringmid,day,date,7,8
date2=Date: %month%/%day%/%year%
Gui,2: add, button,x16 y305 w140 h30 gSave, Save
Gui,2: Font, S15, Verdana
Gui,2: Add, Text, x238 y20 w300 h30 ,%date2%
Gui,2: Font, S8, Verdana
Gui,2: Font, S8 Cdefault, Verdana
Gui,2: Add, ListBox, x16 y50 w140 h255 Choose1 gTimeSel vTime +Border,General Notes|6:00 AM|7:00 AM|8:00 AM|9:00 AM|10:00 AM|11:00 AM|12:00|1:00 PM|2:00 PM|3:00 PM|4:00 PM|5:00 PM|6:00 PM|7:00 PM|8:00 PM|9:00 PM|10:00 PM
Gui,2: Add, Edit, x166 y50 w460 h380 +Border vWrittenInfo,
; Generated using SmartGUI Creator 4.0
Gui,2: Show, x320 y295 h433 w638, Information
gui,2: submit, nohide
iniread,SavedInfoEn,StoredInfo.ini,%username%,Úte%%time%
controlsettext,Static1,Úte2%,Information
if SavedInfoEn=ERROR
{
ControlSetText,Edit1,,Information
}
else
{
SavedInfo := Rot47(SavedInfoEn)
ControlSetText,Edit1,%SavedInfo%,Information
}
Return
LoginPage:
SetWorkingDir, %A_WorkingDir%\Passwords
Gui,3: Add, Text, x26 y40 w50 h20 , Username
Gui,3: Add, Text, x26 y70 w50 h20 , Password
Gui,3: Add, Edit, x76 y40 w200 h20 limit vusername,
Gui,3: Add, Edit, x76 y70 w200 h20 limit Password vpassword,
Gui,3: Add, Button, x104 y100 w100 h30 gLogIn +Center, Log in
Gui,3: Add, GroupBox, x6 y10 w290 h130 , Log in
Gui,3: Add, GroupBox, x6 y140 w290 h180 , Register
Gui,3: Add, Button, x74 y280 w160 h30 gSubmitRegistration, Submit Registration
Gui,3: Add, Text, x26 y160 w90 h20 , Desired Username
Gui,3: Add, Edit, x116 y160 w160 h20 limit vdesireusername,
Gui,3: Add, Text, x26 y200 w90 h20 , Desired Password
Gui,3: Add, Edit, x116 y200 w160 h20 limit Password vdesirepassword,
; Generated using SmartGUI Creator 4.0
Gui,3: Show, x251 y163 h326 w311, Log in
Return
TimeSel:
if A_GuiControlEvent=DoubleClick
{
gui,2: submit, nohide
iniread,SavedInfoEn,StoredInfo.ini,%username%,Úte%%time%
if SavedInfoEn=ERROR
{
ControlSetText,Edit1,,Information
}
else
{
SavedInfo := Rot47(SavedInfoEn)
ControlSetText,Edit1,%SavedInfo%,Information
}
}
else
{
}
return
Save:
gui,2: submit, nohide
InfoEn := Rot47(WrittenInfo)
iniwrite,%InfoEn%,StoredInfo.ini,%username%,Úte%%Time%
return
Login:
gui,3: submit, nohide
usernameEn := Rot47(username)
passwordEn := Rot47(password)
username := Rot47(usernameEn)
ifexist,%username%.txt
{
filereadline,userfromfileEn,%A_WorkingDir%\%username%.txt,1
filereadline,passfromfileEn,%A_WorkingDir%\%username%.txt,2
if (usernameEn=userfromfileEn and passwordEn=passfromfileEn)
{
gui,3: destroy
gosub, MainGui
}
else
{
Msgbox, Incorrect password!
}
}
else
{
msgbox, That username is not is not stored in the records of users.
}
return
3guiclose:
gui,3: destroy
exitapp
2guiclose:
gui,2: submit
gui,2: destroy
gosub, MainGUI
return
SaveInfo:
return
SubmitRegistration:
gui,3: submit, nohide
desireusernameEn := Rot47(desireusername)
desirepasswordEn := Rot47(desirepassword)
ifexist,ÞsireusernameEn%.txt
{
msgbox, Sorry`, Þsireusername% is in existance`, please choose another.
}
else
{
fileappend,ÞsireusernameEn%`nÞsirepasswordEn%,%A_WorkingDir%\Þsireusername%.txt
msgbox, Your username has been created`, restart the application and you may now use it.`nAlso`, all passwords and usernames are encrypted`, so it is secure.
}
return
ROT47(Text_orig)
{
StringCaseSense, On
AutoTrim, Off
StringLen, length, Text_orig
source=!"#$`%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_``abcdefghijklmnopqrstuvwxyz{|}~
StringSplit, source, source
StringSplit, Text_orig, Text_orig
Loop, %length% ;process submitted string
{
char_pos=%A_INDEX%
Loop, 94
{
comp_char:=source%A_INDEX%
If Text_orig%char_pos% = %comp_char%
{
replace_no := A_Index+47
If replace_no > 94
replace_no -=94
Text_orig%char_pos% := source%replace_no%
break
}
}
}
;recombine string
Text_new=
Loop, %length%
{
new_char:=Text_orig%A_INDEX%
Text_new=%Text_New%%new_char%
}
return Text_new
}
Move:
PostMessage, 0xA1, 2,,, A
return
GuiClose:
gosub, exit
exitapp
exit:
exitapp
####################################
The code for v.05 will be displayed below with, hopefully, no issues. I will work on the small errors in the first, but you don't need that one with this code:
Code:
Gosub, LoginPage
return
;********************************************************************
MainGUI:
Gui, -Caption +Border
Gui, Font, S15 CRed Bold, CourierrNew
Gui, Add, Text, x346 y0 w25 h25 gExit +border, X
gui, Font, S8 CDefault Norm, Verdana
gui, add, button, x104 y239 w157 h30 gInfoPage, Continue
SetWorkingDir, %A_WorkingDir%\Infopages
Gui, Add, MonthCal, x89 y74 w185 h160 +Center vDate,
Gui, Font, S15 CDefault, Verdana
Gui, Add, Text, x44 y0 w270 h30 +Border gMove, Organizer Plus v.05 Beta
Gui, Font, S6 CDefault, Verdana
Gui, Font, S8 CDefault, Verdana
Gui, Add, Text, x4 y75 w80 h160 , To use this program`, click a date on the calendar`, and a list of times will pop up`, with information stored in each based on what you
Gui, Add, Text, x275 y74 w80 h160 , put in at another time. By clicking on one of these times`, the information stored will show up. REMEMBER to save before selecting new time!
Gui, Font, S7 CDefault, Verdana
usernameDe := Rot47(username)
Gui, Add, Text, x1 y293 w357 h14 +border, Welcome, %username%
; Generated using SmartGUI Creator 4.0
Gui, Show, x395 y316 h310 w361, Select a Time
Return
InfoPage:
gui, submit
gui, destroy
stringmid,month,date,5,6
stringmid,month,month,1,2
stringmid,year,date,1,4
stringmid,day,date,7,8
date2=Date: %month%/%day%/%year%
Gui,2: add, button,x16 y305 w140 h30 gSave, Save
Gui,2: Font, S15, Verdana
Gui,2: Add, Text, x238 y20 w300 h30 ,%date2%
Gui,2: Font, S8, Verdana
Gui,2: Font, S8 Cdefault, Verdana
Gui,2: Add, ListBox, x16 y50 w140 h255 Choose1 gTimeSel vTime +Border,General Notes|6:00 AM|7:00 AM|8:00 AM|9:00 AM|10:00 AM|11:00 AM|12:00|1:00 PM|2:00 PM|3:00 PM|4:00 PM|5:00 PM|6:00 PM|7:00 PM|8:00 PM|9:00 PM|10:00 PM
Gui,2: Add, Edit, x166 y50 w460 h360 +Border vWrittenInfo,
Gui,2: Add, Text, x166 y410 w460 h20 vDisplayTime,
; Generated using SmartGUI Creator 4.0
Gui,2: Show, x320 y295 h433 w638, Information
gui,2: submit, nohide
iniread,SavedInfoEn,StoredInfo.ini,%username%,%date%%time%
controlsettext,Static1,%date2%,Information
controlsettext,Static2,General Notes,Information
if SavedInfoEn=ERROR
{
ControlSetText,Edit1,,Information
}
else
{
SavedInfo := Rot47(SavedInfoEn)
ControlSetText,Edit1,%SavedInfo%,Information
}
Return
LoginPage:
SetWorkingDir, %A_WorkingDir%\Passwords
Gui,3: Add, Text, x26 y40 w50 h20 , Username
Gui,3: Add, Text, x26 y70 w50 h20 , Password
Gui,3: Add, Edit, x76 y40 w200 h20 limit vusername,
Gui,3: Add, Edit, x76 y70 w200 h20 limit Password vpassword,
Gui,3: Add, Button, x104 y100 w100 h30 gLogIn +Center, Log in
Gui,3: Add, GroupBox, x6 y10 w290 h130 , Log in
Gui,3: Add, GroupBox, x6 y140 w290 h180 , Register
Gui,3: Add, Button, x74 y280 w160 h30 gSubmitRegistration, Submit Registration
Gui,3: Add, Text, x26 y160 w90 h20 , Desired Username
Gui,3: Add, Edit, x116 y160 w160 h20 limit vdesireusername,
Gui,3: Add, Text, x26 y200 w90 h20 , Desired Password
Gui,3: Add, Edit, x116 y200 w160 h20 limit Password vdesirepassword,
; Generated using SmartGUI Creator 4.0
Gui,3: Show, x251 y163 h326 w311, Log in
Return
TimeSel:
if A_GuiControlEvent=DoubleClick
{
gui,2: submit, nohide
iniread,SavedInfoEn,StoredInfo.ini,%username%,%date%%time%
if SavedInfoEn=ERROR
{
ControlSetText,Edit1,,Information
}
else
{
SavedInfo := Rot47(SavedInfoEn)
ControlSetText,Edit1,%SavedInfo%,Information
}
controlsettext,Static2,----------Section Selected: %Time%----------,Information
loop, 4
{
sleep, 50
GuiControl,hide,DisplayTime
sleep, 50
GuiControl,Show,DisplayTime
}
loop, 2
{
sleep, 25
GuiControl,hide,DisplayTime
sleep, 25
GuiControl,Show,DisplayTime
}
}
else
{
}
return
Save:
gui,2: submit, nohide
InfoEn := Rot47(WrittenInfo)
iniwrite,%InfoEn%,StoredInfo.ini,%username%,%date%%Time%
return
Login:
gui,3: submit, nohide
usernameEn := Rot47(username)
passwordEn := Rot47(password)
username := Rot47(usernameEn)
ifexist,%username%.txt
{
filereadline,userfromfileEn,%A_WorkingDir%\%username%.txt,1
filereadline,passfromfileEn,%A_WorkingDir%\%username%.txt,2
if (usernameEn=userfromfileEn and passwordEn=passfromfileEn)
{
gui,3: destroy
gosub, MainGui
}
else
{
Msgbox, Incorrect password!
}
}
else
{
msgbox, That username is not is not stored in the records of users.
}
return
3guiclose:
gui,3: destroy
exitapp
2guiclose:
gui,2: submit
gui,2: destroy
gosub, MainGUI
return
SaveInfo:
return
SubmitRegistration:
gui,3: submit, nohide
desireusernameEn := Rot47(desireusername)
desirepasswordEn := Rot47(desirepassword)
ifexist,%desireusernameEn%.txt
{
msgbox, Sorry`, %desireusername% is in existance`, please choose another.
}
else
{
fileappend,%desireusernameEn%`n%desirepasswordEn%,%A_WorkingDir%\%desireusername%.txt
msgbox, Your username has been created`, restart the application and you may now use it.`nAlso`, all passwords and usernames are encrypted`, so it is secure.
}
return
ROT47(Text_orig)
{
StringCaseSense, On
AutoTrim, Off
StringLen, length, Text_orig
source=!"#$`%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_``abcdefghijklmnopqrstuvwxyz{|}~
StringSplit, source, source
StringSplit, Text_orig, Text_orig
Loop, %length% ;process submitted string
{
char_pos=%A_INDEX%
Loop, 94
{
comp_char:=source%A_INDEX%
If Text_orig%char_pos% = %comp_char%
{
replace_no := A_Index+47
If replace_no > 94
replace_no -=94
Text_orig%char_pos% := source%replace_no%
break
}
}
}
;recombine string
Text_new=
Loop, %length%
{
new_char:=Text_orig%A_INDEX%
Text_new=%Text_New%%new_char%
}
return Text_new
}
Move:
PostMessage, 0xA1, 2,,, A
return
GuiClose:
gosub, exit
exitapp
exit:
exitapp