ATTENTION: You are viewing a page formatted for mobile devices; to view the full web page, click HERE.

DonationCoder.com Software > Post New Requests Here

Insert future or past date as text

(1/2) > >>

willwilliams:
Hi

My request follows on from the previous one.

I have adapted some programming (I think Kartal put it forward) so that I can put today's date in yymmdd format as the first part of name of a new file.

:*:yz::
FormatTime, CurrentDateTime,, yyMMdd
SendInput %CurrentDateTime%
return

It sits as part of my universal autocorrect file, so is there for me to us, by pressing "yz"


In Word, I have used a great macro that lets you enter future or past dates, by entering the number of days ahead, or past you want to have a date for - "7" or "-7", for example - in a dialog box that comes up when you call up the macro

********************************
Sub InsertFutureDate()
' Written by Graham Mayor and posted on the word.docmanagement newsgroup in
' March 2000
' Inserts a future date in a document - note that this is not a field
' Some style revisions and error handler by Charles Kenyon
'
Dim Message As String
Dim Mask As String
Dim Title As String
Dim Default As String
Dim Date1 As String
Dim MyValue As Variant
Dim MyText As String
Dim Var1 As String
Dim Var2 As String
Dim Var3 As String
Dim Var4 As String
Dim Var5 As String
Dim Var6 As String
Dim Var7 As String
Dim Var8 As String
'

'Date mask below includes non-breaking spaces (Chr(160))
Mask = "d" & Chr(160) & "MMMM" & Chr(160) & "yyyy" ' Set Date format
Default = "14" ' Set default.
Title = "Plus or minus date starting with " & Format(Date, Mask)
Date1 = Format(Date, Mask)
Var1 = "Enter number of days by which to vary above date. " _
& "The number entered will be added to "
Var2 = Format(Date + Default, Mask) ' Today plus default (14)
Var3 = Format(Date - Default, Mask) ' Today minus default (14)
Var4 = ". The default ("
Var5 = ") will produce the date "
Var6 = ". Minus (-"
Var7 = ". Entering '0' (zero) will insert "
Var8 = " (today). Click cancel to quit."
MyText = Var1 & Date1 & Var4 & Default & Var5 & Var2 & Var6 _
& Default & Var5 & Var3 & Var7 & Date1 & Var8
'
' Display InputBox and get number of days
GetInput:
MyValue = InputBox(MyText, Title, Default)
'
If MyValue = "" Then
    End 'quit subroutine
End If
'
On Error GoTo Oops 'just in case
Selection.InsertBefore Format((Date + MyValue), Mask)
Selection.Collapse (wdCollapseEnd)
End 'End subroutine
'
Oops: ' error handler in case user types something other than a number
'
MsgBox Prompt:="Sorry, only a number will work, please try again.", _
Buttons:=vbExclamation, _
Title:="A number is needed here."
GoTo GetInput
End Sub
*******************************

It would be great if there could be something like it in AHK

Will

skrommel:
 :) Try OneDay!

It shows the date x days from a given date.

Skrommel



--- ---;OneDay.ahk
; Shows the date x days from a given date
;Skrommel @ 2008

#NoEnv
#SingleInstance,Force
SendMode,Input

format=dddd dd. MMMM yyyy

applicationname=OneDay

activeid:=WinExist("A")
WinGetTitle,activetitle,ahk_id %activeid%

Gui,Add,Edit,xm w200 R1 -Wrap Vahead GCALC,0
Gui,Add,UpDown,Range-2147483648-2147483647
Gui,Add,Text,x+10 yp+3,days from
Gui,Add,DateTime,xm w200 Vfrom GCALC,%format%
Gui,Add,Text,x+10 yp+3,is
Gui,Add,Edit,xm w200 Vto
Gui,Add,Button,x+10 W60 GCOPY,&Copy
Gui,Add,Button,x+10 W60 GSEND Default,&Send to
Gui,Add,Statusbar,G1HOURSOFTWARE,www.1HourSoftware.com
Gui,Show,,%applicationname%
Gui,+LastFound
guiid:=WinExist()
hCurs:=DllCall("LoadCursor","UInt",NULL,"Int",32649,"UInt") ;IDC_HAND
OnMessage(0x200,"WM_MOUSEMOVE")
OnExit,EXIT
Return


CALC:
Gui,Submit,NoHide
EnvAdd,from,%ahead%,Days
FormatTime,to,%from%,%format%
GuiControl,,to,%to%
Return


COPY:
Clipboard=%to%
TOOLTIP(to)
Return


SEND:
Gui,Submit
IfWinExist,ahk_id %activeid%
{
  WinActivate,ahk_id %activeid%
  WinWaitActive,ahk_id %activeid%,,5
}
Send,%to%
Gosub,EXIT


TOOLTIP(tip)
{
  SetTimer,TOOLTIPOFF,Off
  ToolTip,%tip%
  SetTimer,TOOLTIPOFF,3000
}


TOOLTIPOFF:
SetTimer,TOOLTIPOFF,Off
ToolTip,
Return


1HOURSOFTWARE:
Run,www.1HourSoftware.com
Return


WM_MOUSEMOVE(wParam,lParam)
{
  Global hCurs
  Global guiid
  Global activetitle

  MouseGetPos,,,mwin,mctrl
  If mwin Not in %guiid%
    Return
  If mctrl In msctls_statusbar321
    DllCall("SetCursor","UInt",hCurs)
  If mctrl In Button2
    TOOLTIP(activetitle)
  Return
}


GuiEscape:
GuiClose:
EXIT:
OnMessage(0x200,"")
DllCall("DestroyCursor","Uint",hCurs)
ExitApp

Perry Mowbray:
Also, FARR has a new Clock Plugin, which was pretty easy to add the ability to use some past or future time. Clock is not my plugin though, but I presume we can change our own copies?

Anyway, it's a nice FARR Plugin which means it's quite versatile.

willwilliams:
Thanks!

Can OneDay be modfied so that the result of the input asking what the day and date will be in X days' time can be pasted into the app I was in before i called OneDay?

skrommel:
 :) I've added a "Copy" and "Send to" button to the code above.

Skrommel

Navigation

[0] Message Index

[#] Next page

Go to full version