Compare commits

..

No commits in common. "master" and "2.8" have entirely different histories.
master ... 2.8

9 changed files with 343 additions and 408 deletions

View File

@ -1,4 +1,4 @@
#Include, func.ahk #Include, func.ahk
SetTitleMatchMode, 2 SetTitleMatchMode, 2
@ -6,9 +6,7 @@ SetTitleMatchMode, 2
Gui,+AlwaysOnTop Gui,+AlwaysOnTop
Gui, +ToolWindow Gui, +ToolWindow
docfile := ini_get(ini, "USpec", "DocFile") docfile := ini_getValue(ini, "USpec", "DocFile")
cfmail := ini_get(ini, "Main", "CFmail")
Contact := 2
CurrTimeEN := GetDateTime("en") CurrTimeEN := GetDateTime("en")
CurrTimeDE := GetDateTime("de") CurrTimeDE := GetDateTime("de")
@ -18,24 +16,22 @@ CurrTimeDE := GetDateTime("de")
;------------------------------------------------------------------------------ ;------------------------------------------------------------------------------
; The & in front of the letters lets you hold alt and press the first letter instead of having to click on it. That is why its "Mail", not "E-Mail" ; The & in front of the letters lets you hold alt and press the first letter instead of having to click on it. That is why its "Mail", not "E-Mail"
Gui, Add, Text, x75 y46 w150 h20 gTime, %CurrTimeEN%
Gui, Add, Radio, x12 y3 w60 h20 Group vLang Checked, &English ; First group of Radio buttons Gui, Add, Radio, x12 y3 w60 h20 Group vLang Checked, &English ; First group of Radio buttons
Gui, Add, Radio, x12 y23 w60 h20, &German Gui, Add, Radio, x12 y23 w60 h20, &German
Gui, Add, Radio, x82 y3 w60 h20 Group vAct, &Warrant Gui, Add, Radio, x82 y3 w60 h20 Group vContact Checked, E-&Mail ; Second group of Radio buttons
Gui, Add, Radio, x82 y23 w60 h20, &Demo Gui, Add, Radio, x82 y23 w60 h20, &Call
Gui, Add, Radio, x142 y3 w80 h20 Group vAct, &Warrant
Gui, Add, Radio, x142 y23 w80 h20 , &Demo
Gui, Add, Button, x12 y43 w55 h20 Default vHidden, Go ; That way you don't have to have an actual button, it just happens when you press enter. Gui, Add, Button, x12 y43 w55 h20 Default vHidden, Go ; That way you don't have to have an actual button, it just happens when you press enter.
Gui, Show, h70 w210, Contact
if (cfmail) ;GuiControl, Hide, Hidden ; Hide the button to be hidden
{
Gui, Add, Radio, x142 y3 w80 h20 Group vContact Checked, E-&Mail ; Second group of Radio buttons
Gui, Add, Radio, x142 y23 w80 h20 , &Call
Gui, Add, Text, x75 y46 w150 h20 gTime, %CurrTimeEN%
Gui, Show, h70 w210, Contact
} Else {
Gui, Show, h70 w145, Contact
}
Return Return
Time: Time:
@ -158,12 +154,12 @@ Write:
Else If (Act = "1") ; Warrant Else If (Act = "1") ; Warrant
{ {
FileAppend,Händler rief an für eine Garantieübertragung`nAlte SN: `nNeue SN: `nAuthentisierungscode: `n`n, %docfile% FileAppend,Händler rief an für Garantieübertragung`nAlte SN: `nNeue SN: `nAuthentisierungscode: `n`n, %docfile%
} }
Else If (Act = "2") ; Demo Else If (Act = "2") ; Demo
{ {
FileAppend,Händler rief an für eine Demo`nSN: `nAuthentisierungscode: `n`n, %docfile% FileAppend,Händler rief an für Demo`nSN: `nAuthentisierungscode: `n`n, %docfile%
} }
} }
} }

283
D3K.ahk
View File

@ -1,7 +1,6 @@
#Include, func.ahk #Include, func.ahk
Menu, Tray, Icon, shell32.dll, 283 ; Set the tray icon to a keyboard Menu, Tray, Icon, shell32.dll, 283 ; Set the tray icon to a keyboard
Menu, Tray, Add, MouseMover ; Add item to tray icon right click for mouse mover
;------------------------------------------------------------------------------ ;------------------------------------------------------------------------------
; Make sure the settings file exists, if not, create it ; Make sure the settings file exists, if not, create it
@ -15,13 +14,11 @@ FileAppend,
[USpec] [USpec]
RACF=LF01234 RACF=LF01234
Email=LastnameFirstname@JohnDeere.com Email=LastnameFirstname@JohnDeere.com
Name=Firstname
DocFile=Select File DocFile=Select File
[Main] [Main]
Mansol=1 Mansol=1
MJDPaste=1 MJDPaste=1
CaseFormatter=1 CaseFormatter=1
CFmail=0
[Replacement] [Replacement]
JDProductNames=1 JDProductNames=1
GloVar=0 GloVar=0
@ -39,7 +36,6 @@ Run Settings.ahk ; Runs the GUI for changing the settings, also accessible with
; User Specific things: ; User Specific things:
racf := ini_get(ini, "USpec", "RACF") racf := ini_get(ini, "USpec", "RACF")
email := ini_get(ini, "USpec", "Email") email := ini_get(ini, "USpec", "Email")
name := ini_get(ini, "USpec", "Name")
docfile := ini_get(ini, "USpec", "DocFile") docfile := ini_get(ini, "USpec", "DocFile")
; General Settings ; General Settings
@ -62,17 +58,21 @@ ger := ini_get(ini, "Language", "German")
If (glovar = 1) If (glovar = 1)
{ {
glovarini := A_MyDocuments "\GloVar.ini" ; Location of the ini that the user modifies glovarini := A_MyDocuments "\GloVar.ini" ; Location of the ini that the user modifies
glovarstart := "#SingleInstance force`n`n:*:$dorg::`n:*:$dus::`n:*:$dnm::`n:*:$dem::`n:*:$xid::`n" glovarstart := "#SingleInstance force`n`n:*:$dorg::`n:*:$dus::`n:*:$dnm::`n:*:$dem::`n:*:$xid::`n"
SetTimer, GloVar, 2000 ; Check every 2 seconds SetTimer, GloVar, 2000 ; Check every 2 seconds
GloVar: GloVar:
WinWaitNotActive, GloVar.ini ; So that we don't get any problems with the file on disk being out of date. I use VSCode with the "Save on lose focus" option on, YMMV WinWaitNotActive, GloVar.ini ; So that we don't get any problems with the file on disk being out of date. I use VSCode with the "Save on lose focus" option on, YMMV
{
FileGetTime, gvModNew, %glovarini% FileGetTime, gvModNew, %glovarini%
if !(gvModNew = gvMod) ; Those two lines mean the rest of this only executes if there were changes to the ini. if !(gvModNew = gvMod) ; Those two lines mean the rest of this only executes if there were changes to the ini.
{ {
gvMod := gvModNew gvMod := gvModNew
FileDelete, glovar.ahk ; Start with a clean slate FileDelete, glovar.ahk ; Start with a clean slate
FileAppend, %glovarstart%, glovar.ahk ; makes sure we only have one instance of the script running at a time FileAppend, %glovarstart%, glovar.ahk ; makes sure we only have one instance of the script running at a time
RESection := "" ; Make sure that its clear RESection := "" ; Make sure that its clear
file := FileOpen(glovarini, "r") file := FileOpen(glovarini, "r")
Loop ; Read one line at a time Loop ; Read one line at a time
@ -81,33 +81,6 @@ If (glovar = 1)
RegExMatch(Line, "(?<=\[).*(?=\])", RESection) ; explained above RegExMatch(Line, "(?<=\[).*(?=\])", RESection) ; explained above
RegExMatch(Line, "^(?<Key>.*)=(?<Value>.*)", RE) ; Key = REKey, Value = REValue RegExMatch(Line, "^(?<Key>.*)=(?<Value>.*)", RE) ; Key = REKey, Value = REValue
If (RESection && InStr(StoredSection := RESection, "clear")) ; Found a clear section
{
; Will clear the ini and save its and the documentation file's contents to a log
FileRead, doctemp, %docfile% ; Read documentation file, set in settings
FileRead, initemp, %glovarini% ; Read the ini
initemp := RegExReplace(initemp, "(?<=\[)clear(?=\])", "Info") ; Replace the "clear" section we set with Info
CurrTime := GetDateTime("en") ; get the current date and time as "YYYY-MM-DD at HH:MM GMT"
writethis := "Case on " . CurrTime . "`n" . doctemp . "`n`n" . initemp ; Save the current time, what was in the doc file, and glovarini to a variable
FileAppend, % "`n`n`n`n" writethis "`n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~", %A_MyDocuments%/D3KLog.txt ; Write a few new lines , the content, and a line underneath
FileAppend,, temptemp
FileCopy, glovarsource, %glovarini%, 1 ; Copies and replaces any text in glovar.ini with the template
FileCopy, temptemp, %docfile%, 1 ; These two this close together makes it look like they get cleared at the same time
FileDelete, temptemp
fileread, gvMod, %glovarini% ; Make sure that this script knows what the ini was changed to so it doesn't constantly run through the above code
FileDelete, glovar.ahk ; THE CLEAN SLATE
FileAppend, %glovarstart%, glovar.ahk
Sleep, 500
FileGetTime, gvMod, %glovarini% ; Make sure that this script knows what the ini was changed to so it doesn't constantly run through the above code
If FileExist("glovar.ahk")
{
Run glovar.ahk
}
Return
} else if (RESection) { ; found a different section
StoredSection := RESection
continue
}
If !(RESection) ; If the RegEx doesn't find antything, its empty If !(RESection) ; If the RegEx doesn't find antything, its empty
{ {
If !(REValue) ; If there is no value for the key, skip it (Continue the loop at the next line) If !(REValue) ; If there is no value for the key, skip it (Continue the loop at the next line)
@ -118,9 +91,10 @@ If (glovar = 1)
{ {
StringUpper, REValue, REValue ; Makes it uppercase StringUpper, REValue, REValue ; Makes it uppercase
WinWaitNotActive, GloVar.ini ; Just to make sure WinWaitNotActive, GloVar.ini ; Just to make sure
{
ini_write(glovarini, REKey, REValue) ini_write(glovarini, REKey, REValue)
FileGetTime, gvMod, %glovarini% FileGetTime, gvMod, %glovarini%
MsgBox, test }
} }
If InStr(StoredSection, "Operations Center") ; If the section is "Operations Center" and the Key "un", make it uppercase If InStr(StoredSection, "Operations Center") ; If the section is "Operations Center" and the Key "un", make it uppercase
{ {
@ -128,10 +102,12 @@ If (glovar = 1)
{ {
StringUpper, REValue, REValue ; Makes it uppercase StringUpper, REValue, REValue ; Makes it uppercase
WinWaitNotActive, GloVar.ini WinWaitNotActive, GloVar.ini
{
ini_write(glovarini, REKey, REValue) ; Writes the properly formatted case number to glovar.ini ini_write(glovarini, REKey, REValue) ; Writes the properly formatted case number to glovar.ini
FileGetTime, gvMod, %glovarini% FileGetTime, gvMod, %glovarini%
} }
} }
}
If InStr(REKey, "case") ; If a key contains "case". Case numbers are all in the format "LETTERS-NUMBERS". If InStr(REKey, "case") ; If a key contains "case". Case numbers are all in the format "LETTERS-NUMBERS".
{ {
StringUpper, REValue, REValue ; Makes it uppercase StringUpper, REValue, REValue ; Makes it uppercase
@ -139,24 +115,30 @@ If (glovar = 1)
If (REMatch) ; If there's anything there If (REMatch) ; If there's anything there
{ {
WinWaitNotActive, GloVar.ini WinWaitNotActive, GloVar.ini
{
ini_write(glovarini, REKey, REMatch) ; Writes the properly formatted case number to glovar.ini ini_write(glovarini, REKey, REMatch) ; Writes the properly formatted case number to glovar.ini
FileGetTime, gvMod, %glovarini% FileGetTime, gvMod, %glovarini%
}
REValue := REMatch REValue := REMatch
} Else { } Else {
WinWaitNotActive, GloVar.ini WinWaitNotActive, GloVar.ini
{
ini_write(glovarini, REKey, REValue) ; Writes the properly formatted case number to glovar.ini ini_write(glovarini, REKey, REValue) ; Writes the properly formatted case number to glovar.ini
FileGetTime, gvMod, %glovarini% FileGetTime, gvMod, %glovarini%
} }
} }
}
If InStr(REKey, "xid") ; If an xID is entered. Unique identifier for people If InStr(REKey, "xid") ; If an xID is entered. Unique identifier for people
{ {
dealinfo := GetInfo(REValue) ; Gets information, see function for details dealinfo := GetInfo(REValue) ; Gets information, see function for details
StringUpper, REValue, REValue ; Makes xID uppercase StringUpper, REValue, REValue ; Makes xID uppercase
if !(REValue = dealinfo.xid) if !(REValue = dealinfo.xid)
{ {
run addemail.ahk run addemail.ahk
Continue Continue
} }
; Replace the data in glovar.ahk with the data from the ini ; Replace the data in glovar.ahk with the data from the ini
FileRead, tempglovar, glovar.ahk FileRead, tempglovar, glovar.ahk
tempglovar := RegExReplace(tempglovar, "(?<=\$xid::).*", dealinfo.xid) tempglovar := RegExReplace(tempglovar, "(?<=\$xid::).*", dealinfo.xid)
@ -167,12 +149,15 @@ If (glovar = 1)
FileAppend, %tempglovar%, tempglovar FileAppend, %tempglovar%, tempglovar
FileCopy, tempglovar, glovar.ahk,1 FileCopy, tempglovar, glovar.ahk,1
FileDelete, tempglovar FileDelete, tempglovar
WinWaitNotActive, GloVar.ini WinWaitNotActive, GloVar.ini
{
ini_write(glovarini, "xID", dealinfo.xid) ; Writes the xID ini_write(glovarini, "xID", dealinfo.xid) ; Writes the xID
ini_write(glovarini, "dem", dealinfo.email) ; Writes email address (incredibly useful) ini_write(glovarini, "dem", dealinfo.email) ; Writes email address (incredibly useful)
ini_write(glovarini, "dnm", dealinfo.name) ; Writes Name (useful for when referring to that person) ini_write(glovarini, "dnm", dealinfo.name) ; Writes Name (useful for when referring to that person)
ini_write(glovarini, "dus", dealinfo.user) ; Writes demo account name (somewhat useful) ini_write(glovarini, "dus", dealinfo.user) ; Writes demo account name (somewhat useful)
ini_write(glovarini, "dorg", dealinfo.org) ini_write(glovarini, "dorg", dealinfo.org)
}
FileGetTime, gvMod, %glovarini% ; Make sure that this script knows what the ini was changed to so it doesn't constantly run through the above code FileGetTime, gvMod, %glovarini% ; Make sure that this script knows what the ini was changed to so it doesn't constantly run through the above code
Continue Continue
} }
@ -184,6 +169,35 @@ If (glovar = 1)
writethis := ":*:$" REKey "::" REValue "`n" ; Save the hotstring to a variable writethis := ":*:$" REKey "::" REValue "`n" ; Save the hotstring to a variable
FileAppend, %writethis%, glovar.ahk ; Write the variable to glovar.ahk FileAppend, %writethis%, glovar.ahk ; Write the variable to glovar.ahk
} }
If (RESection) ; If we have a section
{
StoredSection := RESection
If InStr(RESection, "clear") ; Will clear the ini and save its and the documentation file's contents to a log
{
FileRead, doctemp, %docfile% ; Read documentation file, set in settings
FileRead, initemp, %glovarini% ; Read the ini
initemp := RegExReplace(initemp, "(?<=\[)clear(?=\])", "Info") ; Replace the "clear" section we set with Info
CurrTime := GetDateTime("en") ; get the current date and time as "YYYY-MM-DD at HH:MM GMT"
writethis := "Case on " . CurrTime . "`n" . doctemp . "`n`n" . initemp ; Save the current time, what was in the doc file, and glovarini to a variable
FileAppend, % "`n`n`n`n" writethis "`n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~", %A_MyDocuments%/D3KLog.txt ; Write a few new lines , the content, and a line underneath
FileAppend,, temptemp
FileCopy, glovarsource, %glovarini%, 1 ; Copies and replaces any text in glovar.ini with the template
FileCopy, temptemp, %docfile%, 1 ; These two this close together makes it look like they get cleared at the same time
FileDelete, temptemp
fileread, gvMod, %glovarini% ; Make sure that this script knows what the ini was changed to so it doesn't constantly run through the above code
FileDelete, glovar.ahk ; THE CLEAN SLATE
FileAppend, %glovarstart%, glovar.ahk
Sleep, 500
FileGetTime, gvMod, %glovarini% ; Make sure that this script knows what the ini was changed to so it doesn't constantly run through the above code
If FileExist("glovar.ahk")
{
Run glovar.ahk
}
Return
}
}
} Until (file.AtEOF) } Until (file.AtEOF)
file.Close() file.Close()
FileGetTime, gvMod, %glovarini% ; Make sure that this script knows what the ini was changed to so it doesn't constantly run through the above code FileGetTime, gvMod, %glovarini% ; Make sure that this script knows what the ini was changed to so it doesn't constantly run through the above code
@ -192,6 +206,7 @@ If (glovar = 1)
Run glovar.ahk Run glovar.ahk
} }
} }
}
Return Return
} }
@ -202,9 +217,6 @@ If (glovar = 1)
!+\::Run Settings.ahk ; Alt+Shift+\ !+\::Run Settings.ahk ; Alt+Shift+\
MouseMover:
Run, msmv.ahk
Return
;------------------------------------------------------------------------------ ;------------------------------------------------------------------------------
; DTAC Solution Opener ; DTAC Solution Opener
@ -408,28 +420,47 @@ SetTitleMatchMode, 2
; Regular ; Regular
:*:]email:: :*:]email::
Send Hello,{Enter 2}{Space 3} Send Hello,{Enter 2} {Shift down}{Enter}{Shift up}Please contact us if you have any questions.{Up}{End}
Return Return
; Cases ; DTAC Problem
:*:]97010::
Send Hello,{Enter 2} As this is a hardware/compatibility related inquiry, we here at the GSC cannot assist you properly. Please contact DTAC and they will be able to assist you further.
Return
; 2 Year old COMAR
:*:]2yc::
Send Hello,{Enter 2} You are unable to activate this product as the COMAR is over 2 years old. There is a form in the Dealer Corner that you can fill out to have it replaced as long as it falls within the criteria outlined in solution 108357.{Enter}Please contact your TCSM if you have any questions about this process.
Return
; CCMS
:*:]cms:: :*:]cms::
Send Hello,{Enter 2}{Space 3}{Enter}{Home down}{Shift up}{Home up}{Enter}Thank you,{Enter}%name%{Up 3}{End} Send Hello,{Enter 2} {Enter}{Home down}{Shift up}{Home up}Please contact us if you have any questions.{Enter 2}Thank you,{Enter}David{Up 4}{End}
Return Return
#If #If
; German ; German
#If, ger = "1" #If, ger = "1"
; Regular ; Regular
:*:[email:: :*:[email::
Send Hallo,{Enter 2}{Space 3} Send Hallo,{Enter 2} {Shift down}{Enter}{Shift up}Für Rückfragen stehen wir gerne zur Verfügung.{Up}{End}
Return Return
; Case ; DTAC Problem
:*:[97010::
Send Hallo,{Enter 2} Da dies eine Hardware/Kompatibilität-bezogene Anfrage ist, können wir hier im GSC leider ihre Frage nicht sehr gut beantworten. Bitte wenden Sie sich an DTAC, dort können Sie bessere unterstützung für diesen typ von fragen bekommen.
Return
; 2 Year old COMAR
:*:[2yc::
Send Hallo,{Enter 2} Sie können dieses Produkt nicht aktivieren weil die COMAR-Nummer über 2 Yahre alt ist. Es gibt in Vertriebspartnerinformation ein Formular das Sie ausfüllen können, und Ihre Aktivierungen werden ersetzt so lange es innerhalb der Regeln in DTAC Lösung 108357 ist.{Enter}Bitte melden Sie sich bei Ihrem Technischen Bezirksleiter wenn Sie Fragen über diesen Prozess haben.
Return
; CCMS case
:*:[cms:: :*:[cms::
Send Hallo,{Enter 2}{Space 3}{Enter}{Home down}{Shift down}{Home up}{Shift up}{Enter}Mit freundlichen Grüßen,{Enter}%name%{Up 3}{End} Send Hallo,{Enter 2} {Enter}{Home down}{Shift up}{Home up}Für Rückfragen stehen wir gerne zur Verfügung.{Enter 2}Mit freundlichen Grüßen,{Enter}David{Up 4}{End}
Return Return
#If #If
@ -480,107 +511,105 @@ SetTitleMatchMode, 2
; English ; English
:*:]at::AutoTrac :*:]at::AutoTrac
:*:]bin::Virtual Inventory :*:]sf::StarFire
:*:]cc::CommandCenter :*:]jdlw::JDLink Web
:*:]deg::{ASC 248} :*:]jdld::JDLink Dashboard
:*:]eq::{ASC 247} :*:]jdl2::JDLink Dashboard 2.0
:*:]fc::Field Connect :*:]jdlc::JDLink Connect
:*:]jdla::JDLink Access
:*:]jdls::JDLink Subscription
:*:]jdll::JDLink
:*:]jdp::JDParts
:*:]mjd::MyJohnDeere
:*:]opsc::Operations Center
:*:]seccon::Section Control
:*:]gs::GreenStar :*:]gs::GreenStar
:*:]gp::GSC-Prepared :*:]cc::CommandCenter
:*:]fc::Field Connect
:*:]rs::RowSense
:*:]sub::subscription
:*:]ss::Stellar Support
:*:]tman::Technical Manual
:*:]operm::Operator's Manual
:*:]hl3::HarvestLab 3000 :*:]hl3::HarvestLab 3000
:*:]hlo::Original HarvestLab :*:]hlo::Original HarvestLab
:*:]jddm::John Deere Data Manager :*:]bin::Virtual Inventory
:*:]jdl2::JDLink Dashboard 2.0
:*:]jdla::JDLink Access
:*:]jdlc::JDLink Connect
:*:]jdld::JDLink Dashboard
:*:]jdll::JDLink
:*:]jdls::JDLink Subscription
:*:]jdlw::JDLink Web
:*:]jdp::JDParts
:*:]jdsm::John Deere Software Manager
:*:]macrep::Machine Reports
:*:]mjd::MyJohnDeere
:*:]muc::Master Unlock Code
:*:]oman::Operator's Manual
:*:]opsc::Operations Center
:*:]rs::RowSense
:*:]seccon::Section Control
:*:]serva::Service Advisor
:*:]sf::StarFire
:*:]ss::Stellar Support
:*:]sub::subscription
:*:]tcsm::Territory Customer Support Manager
:*:]tman::Technical Manual
:*:]tp::TouchPoint
:*:]warrep::Warranty Reports :*:]warrep::Warranty Reports
:*:]tp::TouchPoint
:*:]tcsm::Territory Customer Support Manager
:*:]macrep::Machine Reports
:*:]jdsm::John Deere Software Manager
:*:]jddm::John Deere Data Manager
:*:]serva::Service Advisor
:*:]muc::Master Unlock Code
:*:]deg::{ASC 248}
:*:]eq::{ASC 247}
:*:mtg::MTG ::rowsense::RowSense
:*:racf::RACF ::comar::COMAR
:*:vin::VIN ::mrtk::mRTK
::atu::ATU ::rda::RDA
::rtk::RTK
::autotrac::AutoTrac ::autotrac::AutoTrac
::ccms::CCMS ::ccms::CCMS
::comar::COMAR
::dtac::DTAC ::dtac::DTAC
::tcsm::TCSM
::itec::iTEC Pro
::ssu::SSU
::atu::ATU
:*:mtg::MTG
::wdt::WDT
::itc::iTC
::vin::VIN
::gs2::GS2 ::gs2::GS2
::gs3::GS3 ::gs3::GS3
::igrade::iGrade
::itc::iTC
::itec::iTEC Pro
::mrtk::mRTK
::pmcalc::PMCalc
::rda::RDA
::rowsense::RowSense
::rtk::RTK
::sf1::SF1 ::sf1::SF1
::sf2::SF2 ::sf2::SF2
::sf3::SF3 ::sf3::SF3
::sf4::SF4 ::sf4::SF4
::ssu::SSU
::tcsm::TCSM
::vat::VAT
::wdt::WDT
::xid::xID ::xid::xID
::pmcalc::PMCalc
::vat::VAT
:*:racf::RACF
::igrade::iGrade
; German ; German
#If, ger = "1" #If, ger = "1"
:*:[at::AutoTrac :*:[at::AutoTrac
:*:[bin::Virtuellen Bestand :*:[sf::StarFire
:*:[cc::CommandCenter :*:[jdlw::JDLink Web
:*:[deg::{ASC 248} :*:[jdld::JDLink Dashboard
:*:[eq::{ASC 247} :*:[jdl2::JDLink Dashboard 2.0
:*:[fc::Field Connect :*:[jdlc::JDLink Connect
:*:[jdla::JDLink Access
:*:[jdls::JDLink Abonnement
:*:[jdll::JDLink
:*:[jdp::JDParts
:*:[mjd::MyJohnDeere
:*:[opsc::Einsatzzentrale
:*:[seccon::Teilbreitensteuerung
:*:[gs::GreenStar :*:[gs::GreenStar
:*:[gp::GSC-Prepared :*:[cc::CommandCenter
:*:[fc::Field Connect
:*:[rs::RowSense
:*:[sub::Abonnement
:*:[ss::Stellar Support
:*:[tman::Technische Betriebsanleitung
:*:[oman::Betriebsanleitung
:*:[hl3::HarvestLab 3000 :*:[hl3::HarvestLab 3000
:*:[hlo::Originales HarvestLab :*:[hlo::Originales HarvestLab
:*:[jddm::John Deere Data Manager :*:[bin::Virtuellen Bestand
:*:[jdl2::JDLink Dashboard 2.0
:*:[jdla::JDLink Access
:*:[jdlc::JDLink Connect
:*:[jdld::JDLink Dashboard
:*:[jdll::JDLink
:*:[jdls::JDLink Abonnement
:*:[jdlw::JDLink Web
:*:[jdp::JDParts
:*:[jdsm::John Deere Software Manager
:*:[macrep::Machine Reports
:*:[mjd::MyJohnDeere
:*:[muc::Master Unlock Code
:*:[oman::Betriebsanleitung
:*:[opsc::Einsatzzentrale
:*:[rs::RowSense
:*:[seccon::Teilbreitensteuerung
:*:[serva::Service Advisor
:*:[sf::StarFire
:*:[ss::Stellar Support
:*:[sub::Abonnement
:*:[tcsm::Technischer Bezirksleiter
:*:[tman::Technische Betriebsanleitung
:*:[tp::TouchPoint
:*:[warrep::Warranty Reports :*:[warrep::Warranty Reports
:*:[tp::TouchPoint
:*:[tcsm::Technischer Bezirksleiter
:*:[macrep::Machine Reports
:*:[jdsm::John Deere Software Manager
:*:[jddm::John Deere Data Manager
:*:[serva::Service Advisor
:*:[muc::Master Unlock Code
:*:[deg::{ASC 248}
:*:[eq::{ASC 247}
#If #If
@ -591,19 +620,21 @@ SetTitleMatchMode, 2
; QoL Improvements ; QoL Improvements
;------------------------------------------------------------------------------ ;------------------------------------------------------------------------------
#j:: ; Open the downloads folder on Win+J #j::
Run, C:\Users\%racf%\Downloads Run, C:\Users\%racf%\Downloads ; Open the downloads folder on Win+J
Return Return
/*
#w:: ; Open My Documents folder on Win+W This part only works for my folder structure
#w::
if WinActive("ahk_exe Explorer.EXE") ; If windows explorer is focused if WinActive("ahk_exe Explorer.EXE") ; If windows explorer is focused
{ {
Send !d ; Focus the address bar Send !d ; Focus the address bar
Send C:\Users\%racf%\Documents Send C:\Users\%racf%\Documents\Work_Docs\Cases\2020-01 - 06 ; current folder, would love to use a var instead, but Run doesn't like it
Send {Enter} Send {Enter}
Return Return
} }
Run, C:\Users\%racf%\Documents Run, C:\Users\%racf%\Documents\Work_Docs\Cases\2020-01 - 06 ; Open the documentation folder on Win+W
Return Return
*/

View File

@ -19,7 +19,7 @@ ButtonOk:
If RegExMatch(Number, "[[:alpha:]]+") If RegExMatch(Number, "[[:alpha:]]+")
run, % "http://serviceadvisor.deere.com/WebSA/manuals/" . Number run, % "http://serviceadvisor.deere.com/WebSA/manuals/" . Number
Else If RegExMatch(Number, "[[:digit:]]+") Else If RegExMatch(Number, "[[:digit:]]+")
run, % "https://serviceadvisor.deere.com/WebSA/solutions/en/" . Number run, % "https://ccms.deere.com/prweb/PRServletCustomAuth/ZDate_MgiNPn1ccL6O6pyBurDs0hjFQ8*/!STANDARD?pyActivity=SolutionsSnapStart&Action=showHarness&className=Deere-Int-Solr-Docs&Purpose=SolutionDescriptionNew&SolutionID=" . Number . "&Language=Default"
ExitApp ExitApp
Return Return

View File

@ -11,14 +11,12 @@ This is the part that reads the file to see what your settings are. Variables in
; User Specific things: ; User Specific things:
racf := ini_get(ini, "USpec", "RACF") racf := ini_get(ini, "USpec", "RACF")
email := ini_get(ini, "USpec", "Email") email := ini_get(ini, "USpec", "Email")
name := ini_get(ini, "USpec", "Name")
docfile := ini_get(ini, "USpec", "DocFile") docfile := ini_get(ini, "USpec", "DocFile")
; General Settings ; General Settings
mansol := ini_get(ini, "Main", "Mansol") mansol := ini_get(ini, "Main", "Mansol")
mjdpaste := ini_get(ini, "Main", "MJDPaste") mjdpaste := ini_get(ini, "Main", "MJDPaste")
caseformatter := ini_get(ini, "Main", "CaseFormatter") caseformatter := ini_get(ini, "Main", "CaseFormatter")
cfmail := ini_get(ini, "Main", "CFmail")
; Replacement ; Replacement
jdpn := ini_get(ini, "Replacement", "JDProductNames") jdpn := ini_get(ini, "Replacement", "JDProductNames")
@ -35,48 +33,41 @@ Gui, -MaximizeBox -MinimizeBox ; Remove the max+min buttons
Gui, Add, GroupBox, x8 y2 w67 h37, RACF Gui, Add, GroupBox, x8 y2 w67 h37, RACF
Gui, Add, Edit, x12 y15 w60 h20 vformRACF gRACF, %RACF% Gui, Add, Edit, x12 y15 w60 h20 vformRACF gRACF, %RACF%
Gui, Add, GroupBox, x85 y2 w200 h37, First Name
Gui, Add, Edit, x89 y15 w193 h20 vformName gName, %Name%
Gui, Add, GroupBox, x8 y40 w207 h37, Email Address Gui, Add, GroupBox, x8 y40 w207 h37, Email Address
Gui, Add, Edit, x12 y53 w200 h20 vformEmail gEmail, %Email% Gui, Add, Edit, x12 y53 w200 h20 vformEmail gEmail, %Email%
Gui, Add, GroupBox, x8 y83 w107 h130, Main Gui, Add, GroupBox, x77 y2 w207 h37, Documentation File
Gui, Add, Text, x81 y19 w200 h20 gDocFile, %docfile%
Gui, Add, GroupBox, x8 y83 w107 h105, Main
Gui, Add, CheckBox, x12 y95 w100 h30 vformMansol Checked%mansol% gMansol, ManSol Gui, Add, CheckBox, x12 y95 w100 h30 vformMansol Checked%mansol% gMansol, ManSol
Gui, Add, CheckBox, x12 y125 w100 h30 vformMJDPaste Checked%mjdpaste% gMJDPaste, MJDPaste Gui, Add, CheckBox, x12 y125 w100 h30 vformMJDPaste Checked%mjdpaste% gMJDPaste, MJDPaste
Gui, Add, CheckBox, x12 y155 w100 h30 vformCaseFormatter Checked%caseformatter% gCaseFormatter, Case Formatter Gui, Add, CheckBox, x12 y155 w100 h30 vformCaseFormatter Checked%caseformatter% gCaseFormatter, Case Formatter
Gui, Add, CheckBox, x25 y178 w75 h30 vformCFmail Checked%cfmail% gCFmail, Email option
GuiControl, show%caseformatter%, formCFmail ; only shows the check box for emails if the Case Formatter box is checked
Gui, Add, GroupBox, x8 y215 w277 h40 vformDocFile, Documentation File
Gui, Add, Text, x15 y231 w260 h20 vformDocFile2 gDocFile, %docfile%
GuiControl, show%caseformatter%, formDocFile ; only shows the documentation file field if the Case Formatter box is checked
GuiControl, show%caseformatter%, formDocFile2
Gui, Add, GroupBox, x128 y83 w157 h75, Text Replacement Gui, Add, GroupBox, x128 y83 w157 h75, Text Replacement
Gui, Add, CheckBox, x132 y95 w150 h30 vformJdpn Checked%jdpn% gJdpn, JD Product Names Gui, Add, CheckBox, x132 y95 w150 h30 vformJdpn Checked%jdpn% gJdpn, JD Product Names
Gui, Add, CheckBox, x132 y125 w150 h30 vformGlovar Checked%glovar% gGlovar, Global Variables Gui, Add, CheckBox, x132 y125 w150 h30 vformGlovar Checked%glovar% gGlovar, Global Variables
Gui, Add, CheckBox, x132 y155 w100 h30 vformGer Checked%ger% gGer, DE ([ as prefix)
Gui, Add, Link, x132 y190 w150 h23 gHelp, <a href="https://daviddaily.dev/david/d3k/wiki">Click here for help</a> (v%d3k_version%) Gui, Add, CheckBox, x12 y187 w100 h30 vformGer Checked%ger% gGer, DE ([ as prefix)
Gui, Add, Button, x132 y190 w150 h23 gHelp, Click here for help (v%d3k_version%)
Gui, Show, h263 w295, David 3000 Settings Gui, Show, h225 w295, David 3000 Settings
Return Return
;------------------------------------------------------------------------------ ;------------------------------------------------------------------------------
; Edit ini ; Edit ini
;------------------------------------------------------------------------------ ;------------------------------------------------------------------------------
/* /*
Default ini, sections are in []: (0 is off, 1 is on) Default ini, sections are in []:
[USpec] [USpec]
RACF=LF01234 RACF=LF01234
Email=LastnameFirstname@JohnDeere.com Email=LastnameFirstname@JohnDeere.com
Name=Firstname DocFile=
DocFile=Select File
[Main] [Main]
Mansol=1 Mansol=1
MJDPaste=1 MJDPaste=1
CaseFormatter=1 CaseFormatter=1
CFmail=0
[Replacement] [Replacement]
JDProductNames=1 JDProductNames=1
GloVar=0 GloVar=0
@ -84,9 +75,10 @@ GloVar=0
German=0 German=0
format for below: format for below:
Button G-label (executes when clicked): Button G-label (executes when clicked):
Submit the gui so that it can change and don't hide it Submit the gui so that it can change and don't hide it
write the state of the check box (a 0 for unchecked, 1 for checked), to the file at %ini%, section with this name, line with this name write the state of the check box (a 0 for unchecked, 1 for checked), to the file at %ini%, section with this name, line with this name
*/ */
RACF: RACF:
@ -94,11 +86,6 @@ RACF:
ini_write(ini, "RACF", formRACF) ini_write(ini, "RACF", formRACF)
Return Return
Name:
Gui, Submit, NoHide
ini_write(ini, "Name", formName)
Return
Email: Email:
Gui, Submit, NoHide Gui, Submit, NoHide
ini_write(ini, "Email", formEmail) ini_write(ini, "Email", formEmail)
@ -127,19 +114,9 @@ Return
CaseFormatter: CaseFormatter:
Gui, Submit, NoHide Gui, Submit, NoHide
GuiControl, show%formCaseFormatter%, formCFmail ; only shows the check box for emails if the Case Formatter box is checked
GuiControl, show%formCaseFormatter%, formDocFile
GuiControl, show%formCaseFormatter%, formDocFile2
GuiControl,, formCFmail, 0
ini_write(ini, "CaseFormatter", formCaseFormatter) ini_write(ini, "CaseFormatter", formCaseFormatter)
ini_write(ini, "CFmail", "0") ; if you're toggling this, its either on or off, doesn't hurt to set it here
Return Return
CFmail:
Gui, Submit, NoHide
ini_write(ini, "CFmail", formCFmail)
Return
Jdpn: Jdpn:
Gui, Submit, NoHide Gui, Submit, NoHide
ini_write(ini, "JDProductNames", formJdpn) ini_write(ini, "JDProductNames", formJdpn)
@ -157,6 +134,7 @@ Return
Help: Help:
Gui, Submit Gui, Submit
Run, https://daviddaily.dev/david/d3k/wiki
Return Return
GuiClose: GuiClose:

View File

@ -3,7 +3,7 @@ SendMode, Input
FileEncoding, UTF-8 ; Makes sure the special characters dont break stuff FileEncoding, UTF-8 ; Makes sure the special characters dont break stuff
SetWorkingDir, %A_MyDocuments%\D3K ; Make sure we can find the .ahks linked below SetWorkingDir, %A_MyDocuments%\D3K ; Make sure we can find the .ahks linked below
d3k_version = 2.9 ; The current version d3k_version = 2.8 ; The current version
ini = %A_MyDocuments%\D3Ksettings.ini ; Where the settings ini is ini = %A_MyDocuments%\D3Ksettings.ini ; Where the settings ini is

View File

@ -1,63 +0,0 @@
#SingleInstance, force
CoordMode, Mouse, Screen
waittime := 180000
Switch A_Args[1]
{
Case "on":
Menu, Tray, NoIcon
Goto, Start
Case "off":
ExitApp
}
Menu, Tray, Add, Hide GUI, GuiToggle ; Adds a button to toggle the gui
Menu, Tray, Add, Exit, GuiClose ; Exit button
Menu, Tray, NoStandard ; None of the standard tray buttons
Gui, +AlwaysOnTop +ToolWindow
Gui, Add, Button, x3 y3 w55 h20 gStart +Center, Start
Gui, Add, Button, x3 y3 w55 h20 gStop +Center, Stop
Gui, Show, h28 w60, msmv
GuiControl, Hide, Stop ; Since we want the Start button to show first
Return
Start:
GuiControl, Hide, Start
SetTimer, Msmv, %waittime% ; Checks if the has been input in the last 2 minutes every 30 secs, easier to stop a loop with SetTimer
GuiControl, Show, Stop
Return
Stop:
GuiControl, Hide, Stop
SetTimer, Msmv, off
GuiControl, Show, Start
Return
Msmv:
If (A_TimeIdle > waittime) ; https://www.autohotkey.com/docs/Variables.htm#User_Idle_Time
{
Random, x,, %A_ScreenWidth%
Random, y,, %A_ScreenHeight%
MouseMove %x%, %y%
}
Return
GuiToggle:
If !nogui
{
Gui, Hide
Menu, Tray, Check, Hide GUI
nogui := True
}
Else
{
Menu, Tray, uncheck, Hide GUI
nogui := False
Gui, Show
}
Return
GuiClose:
GuiEscape:
ExitApp ; Closes the app when escape or the exit button is pressed

Binary file not shown.

View File

@ -1,5 +1,4 @@
#SingleInstance force #SingleInstance force
Menu, Tray, Add, Open Manual/Solution, gui
; The exe this is compiled into has manual.ico set as its icon. ; The exe this is compiled into has manual.ico set as its icon.
@ -25,13 +24,13 @@ gui()
If RegExMatch(Number, "[[:alpha:]]+") If RegExMatch(Number, "[[:alpha:]]+")
run, % "http://serviceadvisor.deere.com/WebSA/manuals/" . Number run, % "http://serviceadvisor.deere.com/WebSA/manuals/" . Number
Else If RegExMatch(Number, "[[:digit:]]+") Else If RegExMatch(Number, "[[:digit:]]+")
run, % "https://serviceadvisor.deere.com/WebSA/solutions/en/" . Number run, % "https://ccms.deere.com/prweb/PRServletCustomAuth/ZDate_MgiNPn1ccL6O6pyBurDs0hjFQ8*/!STANDARD?pyActivity=SolutionsSnapStart&Action=showHarness&className=Deere-Int-Solr-Docs&Purpose=SolutionDescriptionNew&SolutionID=" . Number . "&Language=Default"
ExitApp ExitApp
Return Return
Help: Help:
Run, https://daviddaily.dev/david/d3k/wiki/ManSol-Opener-Standalone MsgBox, 262176, Manual & Solution opener, Press Alt+Shift+S to open the window.`nInput the TM/OM SKU (easily found on TechPubs) or the DTAC solution number to open it in your default browser.`nTMs & OMs open in Service Advisor.
Return Return
GuiClose: GuiClose:

View File

@ -1,6 +0,0 @@
# Standalone ManSol Opener
This is a standalone version, the help guide can be found [here](https://daviddaily.dev/david/d3k/wiki/ManSol)
## [Download the executable here](https://files.daviddaily.dev/.d3k/ManSol%20Opener.exe)
I would recommend putting it in your startup folder (`%appdata%\Microsoft\Windows\Start Menu\Programs\Startup`) so that it starts automagically when you start your computer.