mirror of
https://github.com/fleschutz/PowerShell.git
synced 2024-11-27 10:23:17 +01:00
1.6 KiB
1.6 KiB
The write-chart.ps1 Script
write-chart.ps1
Parameters
[<CommonParameters>]
This script supports the common parameters: Verbose, Debug, ErrorAction, ErrorVariable, WarningAction,
WarningVariable, OutBuffer, PipelineVariable, and OutVariable.
Script Content
<#
.SYNOPSIS
Writes a chart
.DESCRIPTION
This PowerShell script writes an horizontal chart to the console.
.EXAMPLE
PS> ./write-chart.ps1
BOWLING RESULTS 2024
████████████████▏ 40.5% Joe
████████████▎ 30.9% Tom
.LINK
https://github.com/fleschutz/PowerShell
.NOTES
Author: Markus Fleschutz | License: CC0
#>
function WriteChartLine { param([string]$Text, [float]$Value, [float]$Max)
$Num = ($Value * 40.0) / $Max
while ($Num -ge 1.0) {
Write-Host -noNewLine "█"
$Num -= 1.0
}
if ($Num -ge 0.875) {
Write-Host -noNewLine "▉"
} elseif ($Num -ge 0.75) {
Write-Host -noNewLine "▊"
} elseif ($Num -ge 0.625) {
Write-Host -noNewLine "▋"
} elseif ($Num -ge 0.5) {
Write-Host -noNewLine "▌"
} elseif ($Num -ge 0.375) {
Write-Host -noNewLine "▍"
} elseif ($Num -ge 0.25) {
Write-Host -noNewLine "▎"
} elseif ($Num -ge 0.125) {
Write-Host -noNewLine "▏"
}
if ($Max -eq 100.0) {
Write-Host " $($Value)% $Text"
} else {
Write-Host " $Value / $Max $Text"
}
}
Write-Host "`nBOWLING RESULTS 2024" -foregroundColor green
WriteChartLine "Joe" 40.5 100.0
WriteChartLine "Tom" 30.9 100.0
exit 0 # success
(generated by convert-ps2md.ps1 as of 11/20/2024 11:52:02)