11
TEA 4 Tous / Re : Synopsys: Usage des bases for Miniville
« Dernier message par Arenas le avril 19, 2023, 23:27:33 pm »J'ai modifier le txt.
J'ai ajouter de la couleur
et les paramètre "if/else"
J'ai verras bien .....
Version ter
@
----------------------
cls
########################
#
# Synopsys:
#
# Creat
# 2023-02-10 00:33:07Z
# Modif
# 2023-02-25 10:25:47Z (last, ter)
#
# Copyright @renas alias (athome)
# France
#
# File Name :
# DownloadString-from-Mv-bases.ps1
#
# Us any Powershell version
# All Info are cumule
# Non restriction
#
# The convention is:
# 1 klick env for 2 pop
# 1 klick ind or *com for 3 pop
# 1 klick sec for 4 pop
# 1 klick tra for 5 pop
#
# * "com" is obsolete "Yстаревший, nicht verwenden, not tu use!
#
# Bases: pop/- us [math]::round(bases 1..4) = somme
#
# That's all to do. Great to hear from you.
#
########################
$Xt = [string] "#text"
# your Miniville city name
$Xminiville = "mv0" # also or: aldana-test, mv0, xenia, burschi, st-innsbruck, bangor, sandefri
$Xa = (Get-Host).UI.RawUI
$Xa.WindowTitle = "Sync Bases for $Xminiville"
$XmlUrl = "http://$Xminiville.miniville.fr/xml"
[xml]$Xml = (new-object System.Net.WebClient).DownloadString($XmlUrl)
$Xpop = $Xml.selectSingleNode('city/population').$Xt # $Xt = format txt
$Xcom = $Xml.selectSingleNode('city/bases/@com').$Xt
$Xenv = $Xml.selectSingleNode('city/bases/@env').$Xt
$Xind = $Xml.selectSingleNode('city/bases/@ind').$Xt
$Xsec = $Xml.selectSingleNode('city/bases/@sec').$Xt
$Xtra = $Xml.selectSingleNode('city/bases/@tra').$Xt
""
""" Last update Date/Time (yyyy-mm-dd hh:mm:ssz) """ # The Time is zulu
Get-Date -Format (Get-culture).DateTimeFormat.UniversalSortableDateTimePattern
""
"Bases: pop/- us [math]::round(bases 1..4) = somme"
""
# name f the City
Write-host "Ideal: 52 % for Pop and 48 % for Bases"
Write-host "The ' " -nonewline;
Write-host $Xminiville -ForegroundColor green -nonewline;
Write-host " ' MiniVille have :";
""
# the best is 52 %
$Xtot = [int]$Xpop
Write-host "Pop's <> 50 % = " -nonewline;
Write-host ("{0:## ### ###}" -f $Xtot) -ForegroundColor green;
$Xtot = [int]$Xenv + [int]$Xind + [int]$Xcom + [int]$Xsec + [int]$Xtra
$Xplus_minus = [int]$Xtot - [int]$Xpop
if ($Xplus_minus -lt -0){
Write-host "Somme bases <> 50 % = "" env,ind,com,sec,tra = +/- "" " -nonewline;
Write-host ("{0:## ### ###}" -f $Xtot) -ForegroundColor red -nonewline;
Write-host " [ klick: " -nonewline; $Xplus_minus_2 = "{0:## ### ###}" -f ($Xplus_minus)
Write-host $Xplus_minus_2 -ForegroundColor green -nonewline;
Write-host " ]""";
}
else {
Write-host "Somme bases <> 50 % = "" env,ind,com,sec,tra = +/- "" " -nonewline;
Write-host (" {0:## ### ###}" -f $Xtot) -ForegroundColor green -nonewline;
Write-host " ""[ klick: missing pop! " -nonewline; $Xplus_minus_2 = "{0:## ### ###}" -f ($Xplus_minus)
Write-host $Xplus_minus_2 -ForegroundColor red -nonewline;
Write-host " ]""";
}
""
""
# If 500 pop, env is on
# 1 env
if ($Xenv -lt 0){Write-host """ Env is off """ -ForegroundColor yellow}
else {Write-Host """ " -nonewline; Write-Host Env is on -ForegroundColor yellow -nonewline; " """}
if ($Xenv -gt 0){
$Xround_env = [math]::round($Xenv - ($Xpop/2))
if($Xround_env -gt 0){`
Write-Host " [ 1 ($Xenv - ($Xpop/2)) ] = " -nonewline;
Write-Host ("{0:## ### ###}" -f $Xround_env) -ForegroundColor green -nonewline;
Write-Host " [Env]";
}
else {
Write-Host " [ 1 ($Xenv - ($Xpop/2)) ] = " -nonewline;
Write-Host ("{0:## ### ###}" -f $Xround_env) -ForegroundColor Red
}
}
# Si 50 pop, ind is off
# 2a ind
if ($Xind -lt 1){Write-host """ Ind is off """ -ForegroundColor yellow}
else{Write-Host """ " -nonewline;
Write-Host Ind is on -ForegroundColor yellow -nonewline; " """
}
if ($Xind -gt 1){
$Xround_ind = [math]::round($Xind - ($Xpop/3))
if ($Xround_ind -gt 1){
Write-Host " [ 2a ($Xind - ($Xpop/3)) ] = " -nonewline;
Write-Host ("{0:## ### ###}" -f $Xround_ind) -ForegroundColor Green
}
else{
Write-Host " [ 2a ($Xind - ($Xpop/3)) ] = " -nonewline;
Write-Host ("{0:## ### ###}" -f $Xround_ind) -ForegroundColor Red
}
}
# us switsh (if/else/elseif)
# Si -1 000 pop, com is off
# 2b com is obsolete, Yстаревший, nicht verwenden, not tu use!
if ($Xcom -lt 1000){Write-host """ Com is off """ -ForegroundColor yellow}
else{Write-Host """ " -nonewline;
Write-Host Com is on -ForegroundColor yellow -nonewline; " """
}
if ($Xcom -gt 0){
$Xround_com = [math]::round($Xcom/3)
if ($Xround_com -gt 0){
Write-Host " [ 2b ($Xcom/3) ] = " -nonewline;
if ($Xround_com -eq 0){$Xround_com = "0"
Write-Host ("{0:## ### ###}" -f $Xround_com) -ForegroundColor Green}
else{Write-Host ("{0:## ### ###}" -f $Xcom) -ForegroundColor Green}
}
else{
Write-Host " [ 2b ($Xcom/3) ] = " -nonewline;
if ($Xround_com -eq 0){$Xround_com = "0"
Write-Host ("{0:## ### ###}" -f $Xround_com) -ForegroundColor Red}
else{Write-Host ("{0:## ### ###}" -f $Xcom) -ForegroundColor Red}
}
}
# Si 300 pop, sec is off
# 3 sec
if ($Xsec -lt 0){Write-host """ Sec is off """ -ForegroundColor yellow}
else{Write-Host """ " -nonewline;
Write-Host Sec is on -ForegroundColor yellow -nonewline; " """
}
if ($Xsec -gt 0){
$Xround_sec = [math]::round($Xsec - ($Xpop/4))
if($Xround_sec -gt 0){
Write-Host " [ 3 ($Xsec - ($Xpop/4)) ] = " -nonewline;
Write-Host ("{0:## ### ###}" -f $Xround_sec) -ForegroundColor Green
}
else{
Write-Host " [ 3 ($Xsec - ($Xpop/4)) ] = " -nonewline;
Write-Host ("{0:## ### ###}" -f $Xround_sec) -ForegroundColor Red
}
}
# Si 100 pop, tra is off
# 4 tra
if ($Xpop -lt 100){Write-host """ Tra is off """ -ForegroundColor yellow}
else{Write-Host """ " -nonewline;
Write-Host Tra is on -ForegroundColor yellow -nonewline; " """
}
if ($Xpop -gt 100){
$Xround_tra = [math]::round($Xtra - ($Xpop/5))
if($Xround_tra -gt 100){
Write-Host " [ 4 ($Xtra - ($Xpop/5)) ] = " -nonewline;
Write-Host ("{0:## ### ###}" -f $Xround_tra) -ForegroundColor Green
}
else{
Write-Host " [ 4 ($Xtra - ($Xpop/5)) ] = " -nonewline;
Write-Host ("{0:## ### ###}" -f $Xround_tra) -ForegroundColor Red
}
}
""
$Xobs = "I hope this helps your situation. If not, I'd be happy to revisite`n"
$Xobs += "------------------------------------------------------------------`n"
$Xobs
""
clear-variable X* -scope global -F
-------------------------------------
30 avril 2023 - 00:44:08z évolutive
J'ai ajouter de la couleur
et les paramètre "if/else"
J'ai verras bien .....
Version ter
@
----------------------
cls
########################
#
# Synopsys:
#
# Creat
# 2023-02-10 00:33:07Z
# Modif
# 2023-02-25 10:25:47Z (last, ter)
#
# Copyright @renas alias (athome)
# France
#
# File Name :
# DownloadString-from-Mv-bases.ps1
#
# Us any Powershell version
# All Info are cumule
# Non restriction
#
# The convention is:
# 1 klick env for 2 pop
# 1 klick ind or *com for 3 pop
# 1 klick sec for 4 pop
# 1 klick tra for 5 pop
#
# * "com" is obsolete "Yстаревший, nicht verwenden, not tu use!
#
# Bases: pop/- us [math]::round(bases 1..4) = somme
#
# That's all to do. Great to hear from you.
#
########################
$Xt = [string] "#text"
# your Miniville city name
$Xminiville = "mv0" # also or: aldana-test, mv0, xenia, burschi, st-innsbruck, bangor, sandefri
$Xa = (Get-Host).UI.RawUI
$Xa.WindowTitle = "Sync Bases for $Xminiville"
$XmlUrl = "http://$Xminiville.miniville.fr/xml"
[xml]$Xml = (new-object System.Net.WebClient).DownloadString($XmlUrl)
$Xpop = $Xml.selectSingleNode('city/population').$Xt # $Xt = format txt
$Xcom = $Xml.selectSingleNode('city/bases/@com').$Xt
$Xenv = $Xml.selectSingleNode('city/bases/@env').$Xt
$Xind = $Xml.selectSingleNode('city/bases/@ind').$Xt
$Xsec = $Xml.selectSingleNode('city/bases/@sec').$Xt
$Xtra = $Xml.selectSingleNode('city/bases/@tra').$Xt
""
""" Last update Date/Time (yyyy-mm-dd hh:mm:ssz) """ # The Time is zulu
Get-Date -Format (Get-culture).DateTimeFormat.UniversalSortableDateTimePattern
""
"Bases: pop/- us [math]::round(bases 1..4) = somme"
""
# name f the City
Write-host "Ideal: 52 % for Pop and 48 % for Bases"
Write-host "The ' " -nonewline;
Write-host $Xminiville -ForegroundColor green -nonewline;
Write-host " ' MiniVille have :";
""
# the best is 52 %
$Xtot = [int]$Xpop
Write-host "Pop's <> 50 % = " -nonewline;
Write-host ("{0:## ### ###}" -f $Xtot) -ForegroundColor green;
$Xtot = [int]$Xenv + [int]$Xind + [int]$Xcom + [int]$Xsec + [int]$Xtra
$Xplus_minus = [int]$Xtot - [int]$Xpop
if ($Xplus_minus -lt -0){
Write-host "Somme bases <> 50 % = "" env,ind,com,sec,tra = +/- "" " -nonewline;
Write-host ("{0:## ### ###}" -f $Xtot) -ForegroundColor red -nonewline;
Write-host " [ klick: " -nonewline; $Xplus_minus_2 = "{0:## ### ###}" -f ($Xplus_minus)
Write-host $Xplus_minus_2 -ForegroundColor green -nonewline;
Write-host " ]""";
}
else {
Write-host "Somme bases <> 50 % = "" env,ind,com,sec,tra = +/- "" " -nonewline;
Write-host (" {0:## ### ###}" -f $Xtot) -ForegroundColor green -nonewline;
Write-host " ""[ klick: missing pop! " -nonewline; $Xplus_minus_2 = "{0:## ### ###}" -f ($Xplus_minus)
Write-host $Xplus_minus_2 -ForegroundColor red -nonewline;
Write-host " ]""";
}
""
""
# If 500 pop, env is on
# 1 env
if ($Xenv -lt 0){Write-host """ Env is off """ -ForegroundColor yellow}
else {Write-Host """ " -nonewline; Write-Host Env is on -ForegroundColor yellow -nonewline; " """}
if ($Xenv -gt 0){
$Xround_env = [math]::round($Xenv - ($Xpop/2))
if($Xround_env -gt 0){`
Write-Host " [ 1 ($Xenv - ($Xpop/2)) ] = " -nonewline;
Write-Host ("{0:## ### ###}" -f $Xround_env) -ForegroundColor green -nonewline;
Write-Host " [Env]";
}
else {
Write-Host " [ 1 ($Xenv - ($Xpop/2)) ] = " -nonewline;
Write-Host ("{0:## ### ###}" -f $Xround_env) -ForegroundColor Red
}
}
# Si 50 pop, ind is off
# 2a ind
if ($Xind -lt 1){Write-host """ Ind is off """ -ForegroundColor yellow}
else{Write-Host """ " -nonewline;
Write-Host Ind is on -ForegroundColor yellow -nonewline; " """
}
if ($Xind -gt 1){
$Xround_ind = [math]::round($Xind - ($Xpop/3))
if ($Xround_ind -gt 1){
Write-Host " [ 2a ($Xind - ($Xpop/3)) ] = " -nonewline;
Write-Host ("{0:## ### ###}" -f $Xround_ind) -ForegroundColor Green
}
else{
Write-Host " [ 2a ($Xind - ($Xpop/3)) ] = " -nonewline;
Write-Host ("{0:## ### ###}" -f $Xround_ind) -ForegroundColor Red
}
}
# us switsh (if/else/elseif)
# Si -1 000 pop, com is off
# 2b com is obsolete, Yстаревший, nicht verwenden, not tu use!
if ($Xcom -lt 1000){Write-host """ Com is off """ -ForegroundColor yellow}
else{Write-Host """ " -nonewline;
Write-Host Com is on -ForegroundColor yellow -nonewline; " """
}
if ($Xcom -gt 0){
$Xround_com = [math]::round($Xcom/3)
if ($Xround_com -gt 0){
Write-Host " [ 2b ($Xcom/3) ] = " -nonewline;
if ($Xround_com -eq 0){$Xround_com = "0"
Write-Host ("{0:## ### ###}" -f $Xround_com) -ForegroundColor Green}
else{Write-Host ("{0:## ### ###}" -f $Xcom) -ForegroundColor Green}
}
else{
Write-Host " [ 2b ($Xcom/3) ] = " -nonewline;
if ($Xround_com -eq 0){$Xround_com = "0"
Write-Host ("{0:## ### ###}" -f $Xround_com) -ForegroundColor Red}
else{Write-Host ("{0:## ### ###}" -f $Xcom) -ForegroundColor Red}
}
}
# Si 300 pop, sec is off
# 3 sec
if ($Xsec -lt 0){Write-host """ Sec is off """ -ForegroundColor yellow}
else{Write-Host """ " -nonewline;
Write-Host Sec is on -ForegroundColor yellow -nonewline; " """
}
if ($Xsec -gt 0){
$Xround_sec = [math]::round($Xsec - ($Xpop/4))
if($Xround_sec -gt 0){
Write-Host " [ 3 ($Xsec - ($Xpop/4)) ] = " -nonewline;
Write-Host ("{0:## ### ###}" -f $Xround_sec) -ForegroundColor Green
}
else{
Write-Host " [ 3 ($Xsec - ($Xpop/4)) ] = " -nonewline;
Write-Host ("{0:## ### ###}" -f $Xround_sec) -ForegroundColor Red
}
}
# Si 100 pop, tra is off
# 4 tra
if ($Xpop -lt 100){Write-host """ Tra is off """ -ForegroundColor yellow}
else{Write-Host """ " -nonewline;
Write-Host Tra is on -ForegroundColor yellow -nonewline; " """
}
if ($Xpop -gt 100){
$Xround_tra = [math]::round($Xtra - ($Xpop/5))
if($Xround_tra -gt 100){
Write-Host " [ 4 ($Xtra - ($Xpop/5)) ] = " -nonewline;
Write-Host ("{0:## ### ###}" -f $Xround_tra) -ForegroundColor Green
}
else{
Write-Host " [ 4 ($Xtra - ($Xpop/5)) ] = " -nonewline;
Write-Host ("{0:## ### ###}" -f $Xround_tra) -ForegroundColor Red
}
}
""
$Xobs = "I hope this helps your situation. If not, I'd be happy to revisite`n"
$Xobs += "------------------------------------------------------------------`n"
$Xobs
""
clear-variable X* -scope global -F
-------------------------------------
30 avril 2023 - 00:44:08z évolutive