Timer

In this post I showed how to set a count down timer

http://msmvps.com/blogs/richardsiddaway/archive/2011/08/02/a-count-down-timer.aspx

but what if you want to go the other way i.e. see how long something takes

The count down function can be modified

Import-Module ShowUI                        
            
function timegone {            
 $ts = (Get-Date) - $start            
 $time = $ts.ToString() -split "\."            
 if ($ts.Hours -eq 0) {            
   $time[0].Substring(3,5)            
 }            
 else {            
   $time             
 }              
}            
            
            
$start = Get-Date            
            
$windowAttributes = @{            
    WindowStartupLocation = "CenterScreen"            
    SizeToContent = "WidthAndHeight"            
    WindowStyle = "None"            
    Background = "Transparent "                        
            
    On_MouseRightButtonDown = { Close-Control}            
    On_MouseLeftButtonDown  = { $_.Handled = $true;$window.DragMove() }            
    On_Loaded = {            
        Register-PowerShellCommand -ScriptBlock {            
            $window.Content.Content = timegone            
        } -Run -In "0:0:0.5"            
    }            
}                        
            
$labelAttributes = @{            
    Content = timegone            
    FontFamily = "Impact, Arial"            
    FontWeight = 800            
    FontSize = 30            
}                        
            
New-Window @windowAttributes -AllowsTransparency -Show  {            
    Label @labelAttributes -Name Clock -Foreground (            
        LinearGradientBrush $(            
            GradientStop -Color Red    -Offset 1            
            GradientStop -Color Orange -Offset 0.85            
            GradientStop -Color Yellow -Offset 0.7            
            GradientStop -Color Green  -Offset 0.55            
            GradientStop -Color Blue   -Offset 0.4            
            GradientStop -Color Indigo -Offset 0.2            
            GradientStop -Color Violet -Offset 0            
        )            
    )            
}

The main change is that our starting point is now. We then get the current time, subtract our starting point and we have the elapsed time.

Display as before

Published Mon, Sep 5 2011 21:11 by RichardSiddaway
Filed under: ,

Leave a Comment

(required) 
(required) 
(optional)
(required) 
If you can't read this number refresh your screen
Enter the numbers above: