the Problem:
My skin is using HWiNFO64 to display some system information on the desktop. My goal with Version 2.0 is to automate everything that can be automated regarding the necessary user input for Rainmeter.
Therefore I am trying to have Variables set by IfMatchActions, which is working fine untill we get to "IfMatch10" but only when using the !WriteKeyValue bang.
The activated Sensors:
-Effective Core Clock
-CPU Package
-CPU Package Power
-GPU Temperature
-GPU Power
-GPU Effective Clock
-GPU Core Load
-GPU Memory Usage
-GPU Memory Allocated
Code: Select all
[Rainmeter]
Update=1000
DynamicWindowSize=1
BackgroundMode=2
[Variables]
@Include=#@#Variables.inc
--- reg query HKEY_CURRENT_USER\SOFTWARE\HWiNFO64\VSB ---
[MeasureHWiNFO64RegistryLabel0]
Measure=Registry
RegHKey=HKEY_CURRENT_USER
RegKey=SOFTWARE\HWiNFO64\VSB
RegValue=Label0
IfMatch=(?i)core(?=.*clocks)
IfMatchAction=[!WriteKeyValue Variables CPUCoreClocks 0 "#@#Variables.inc"][!WriteKeyValue Variables CPUName 0 "#@#Variables.inc"]
IfMatch2=(?i)core(?=.*effective(?=.* clocks))
IfMatchAction2=[!WriteKeyValue Variables CPUFrequency 0 "#@#Variables.inc"]
IfMatch3=(?i)cpu(?=.*package(?!.*power))
IfMatchAction3=[!WriteKeyValue Variables CPUTemperature 0 "#@#Variables.inc"]
IfMatch4=(?i)cpu(?=.*package(?=.*power))
IfMatchAction4=[!WriteKeyValue Variables CPUPowerdraw 0 "#@#Variables.inc"]
IfMatch5=(?i)gpu(?=.*temperature)
IfMatchAction5=[!WriteKeyValue Variables GPUTemperature 0 "#@#Variables.inc"][!WriteKeyValue Variables GPUName 0 "#@#Variables.inc"]
IfMatch6=(?i)gpu(?=.*power)
IfMatchAction6=[!WriteKeyValue Variables GPUPowerdraw 0 "#@#Variables.inc"]
IfMatch7=(?i)gpu(?=.*core(?=.*load))
IfMatchAction7=[!WriteKeyValue Variables GPUUsage 0 "#@#Variables.inc"]
IfMatch8=(?i)gpu(?=.*memory(?=.*usage))
IfMatchAction8=[!WriteKeyValue Variables GPUVRAMUsage% 0 "#@#Variables.inc"]
IfMatch9=(?i)gpu(?=.*effective(?=.*clock))
IfMatchAction9=[!WriteKeyValue Variables GPUFrequency 0 "#@#Variables.inc"]
IfMatch10=(?i)gpu(?=.*memory(?=.*allocated))
IfMatchAction10=[!WriteKeyValue Variables GPUVRAMUsageMB 0 "#@#Variables.inc"]
[MeasureHWiNFO64RegistryLabel1]
Measure=Registry
RegHKey=HKEY_CURRENT_USER
RegKey=SOFTWARE\HWiNFO64\VSB
RegValue=Label1
IfMatch=(?i)Core(?=Clocks)
IfMatchAction=[!WriteKeyValue Variables CPUCoreClocks 1 "#@#Variables.inc"][!WriteKeyValue Variables CPUName 1 "#@#Variables.inc"]
IfMatch2=(?i)core(?=.*effective(?=.* clocks))
IfMatchAction2=[!WriteKeyValue Variables CPUFrequency 1 "#@#Variables.inc"]
IfMatch3=(?i)cpu(?=.*package(?!.*power))
IfMatchAction3=[!WriteKeyValue Variables CPUTemperature 1 "#@#Variables.inc"]
IfMatch4=(?i)cpu(?=.*package(?=.*power))
IfMatchAction4=[!WriteKeyValue Variables CPUPowerdraw 1 "#@#Variables.inc"]
IfMatch5=(?i)gpu(?=.*temperature)
IfMatchAction5=[!WriteKeyValue Variables GPUTemperature 1 "#@#Variables.inc"][!WriteKeyValue Variables GPUName 1 "#@#Variables.inc"]
IfMatch6=(?i)gpu(?=.*power)
IfMatchAction6=[!WriteKeyValue Variables GPUPowerdraw 1 "#@#Variables.inc"]
IfMatch7=(?i)gpu(?=.*core(?=.*load))
IfMatchAction7=[!WriteKeyValue Variables GPUUsage 1 "#@#Variables.inc"]
IfMatch8=(?i)gpu(?=.*memory(?=.*usage))
IfMatchAction8=[!WriteKeyValue Variables GPUVRAMUsage% 1 "#@#Variables.inc"]
IfMatch9=(?i)gpu(?=.*effective(?=.*clock))
IfMatchAction9=[!WriteKeyValue Variables GPUFrequency 1 "#@#Variables.inc"]
IfMatch10=(?i)gpu(?=.*memory(?=.*allocated))
IfMatchAction10=[!WriteKeyValue Variables GPUVRAMUsageMB 1 "#@#Variables.inc"]
[MeasureHWiNFO64RegistryLabel2]
Measure=Registry
RegHKey=HKEY_CURRENT_USER
RegKey=SOFTWARE\HWiNFO64\VSB
RegValue=Label2
IfMatch=(?i)Core(?=Clocks)
IfMatchAction=[!WriteKeyValue Variables CPUCoreClocks 2 "#@#Variables.inc"][!WriteKeyValue Variables CPUName 2 "#@#Variables.inc"]
IfMatch2=(?i)core(?=.*effective(?=.* clocks))
IfMatchAction2=[!WriteKeyValue Variables CPUFrequency 2 "#@#Variables.inc"]
IfMatch3=(?i)cpu(?=.*package(?!.*power))
IfMatchAction3=[!WriteKeyValue Variables CPUTemperature 2 "#@#Variables.inc"]
IfMatch4=(?i)cpu(?=.*package(?=.*power))
IfMatchAction4=[!WriteKeyValue Variables CPUPowerdraw 2 "#@#Variables.inc"]
IfMatch5=(?i)gpu(?=.*temperature)
IfMatchAction5=[!WriteKeyValue Variables GPUTemperature 2 "#@#Variables.inc"][!WriteKeyValue Variables GPUName 2 "#@#Variables.inc"]
IfMatch6=(?i)gpu(?=.*power)
IfMatchAction6=[!WriteKeyValue Variables GPUPowerdraw 2 "#@#Variables.inc"]
IfMatch7=(?i)gpu(?=.*core(?=.*load))
IfMatchAction7=[!WriteKeyValue Variables GPUUsage 2 "#@#Variables.inc"]
IfMatch8=(?i)gpu(?=.*memory(?=.*usage))
IfMatchAction8=[!WriteKeyValue Variables GPUVRAMUsage% 2 "#@#Variables.inc"]
IfMatch9=(?i)gpu(?=.*effective(?=.*clock))
IfMatchAction9=[!WriteKeyValue Variables GPUFrequency 2 "#@#Variables.inc"]
IfMatch10=(?i)gpu(?=.*memory(?=.*allocated))
IfMatchAction10=[!WriteKeyValue Variables GPUVRAMUsageMB 2 "#@#Variables.inc"]
[MeasureHWiNFO64RegistryLabel3]
Measure=Registry
RegHKey=HKEY_CURRENT_USER
RegKey=SOFTWARE\HWiNFO64\VSB
RegValue=Label3
IfMatch=(?i)Core(?=Clocks)
IfMatchAction=[!WriteKeyValue Variables CPUCoreClocks 3 "#@#Variables.inc"][!WriteKeyValue Variables CPUName 3 "#@#Variables.inc"]
IfMatch2=(?i)core(?=.*effective(?=.* clocks))
IfMatchAction2=[!WriteKeyValue Variables CPUFrequency 3 "#@#Variables.inc"]
IfMatch3=(?i)cpu(?=.*package(?!.*power))
IfMatchAction3=[!WriteKeyValue Variables CPUTemperature 3 "#@#Variables.inc"]
IfMatch4=(?i)cpu(?=.*package(?=.*power))
IfMatchAction4=[!WriteKeyValue Variables CPUPowerdraw 3 "#@#Variables.inc"]
IfMatch5=(?i)gpu(?=.*temperature)
IfMatchAction5=[!WriteKeyValue Variables GPUTemperature 3 "#@#Variables.inc"][!WriteKeyValue Variables GPUName 3 "#@#Variables.inc"]
IfMatch6=(?i)gpu(?=.*power)
IfMatchAction6=[!WriteKeyValue Variables GPUPowerdraw 3 "#@#Variables.inc"]
IfMatch7=(?i)gpu(?=.*core(?=.*load))
IfMatchAction7=[!WriteKeyValue Variables GPUUsage 3 "#@#Variables.inc"]
IfMatch8=(?i)gpu(?=.*memory(?=.*usage))
IfMatchAction8=[!WriteKeyValue Variables GPUVRAMUsage% 3 "#@#Variables.inc"]
IfMatch9=(?i)gpu(?=.*effective(?=.*clock))
IfMatchAction9=[!WriteKeyValue Variables GPUFrequency 3 "#@#Variables.inc"]
IfMatch10=(?i)gpu(?=.*memory(?=.*allocated))
IfMatchAction10=[!WriteKeyValue Variables GPUVRAMUsageMB 3 "#@#Variables.inc"]
[MeasureHWiNFO64RegistryLabel4]
Measure=Registry
RegHKey=HKEY_CURRENT_USER
RegKey=SOFTWARE\HWiNFO64\VSB
RegValue=Label4
IfMatch=(?i)Core(?=Clocks)
IfMatchAction=[!WriteKeyValue Variables CPUCoreClocks 4 "#@#Variables.inc"][!WriteKeyValue Variables CPUName 4 "#@#Variables.inc"]
IfMatch2=(?i)core(?=.*effective(?=.* clocks))
IfMatchAction2=[!WriteKeyValue Variables CPUFrequency 4 "#@#Variables.inc"]
IfMatch3=(?i)cpu(?=.*package(?!.*power))
IfMatchAction3=[!WriteKeyValue Variables CPUTemperature 4 "#@#Variables.inc"]
IfMatch4=(?i)cpu(?=.*package(?=.*power))
IfMatchAction4=[!WriteKeyValue Variables CPUPowerdraw 4 "#@#Variables.inc"]
IfMatch5=(?i)gpu(?=.*temperature)
IfMatchAction5=[!WriteKeyValue Variables GPUTemperature 4 "#@#Variables.inc"][!WriteKeyValue Variables GPUName 4 "#@#Variables.inc"]
IfMatch6=(?i)gpu(?=.*power)
IfMatchAction6=[!WriteKeyValue Variables GPUPowerdraw 4 "#@#Variables.inc"]
IfMatch7=(?i)gpu(?=.*core(?=.*load))
IfMatchAction7=[!WriteKeyValue Variables GPUUsage 4 "#@#Variables.inc"]
IfMatch8=(?i)gpu(?=.*memory(?=.*usage))
IfMatchAction8=[!WriteKeyValue Variables GPUVRAMUsage% 4 "#@#Variables.inc"]
IfMatch9=(?i)gpu(?=.*effective(?=.*clock))
IfMatchAction9=[!WriteKeyValue Variables GPUFrequency 4 "#@#Variables.inc"]
IfMatch10=(?i)gpu(?=.*memory(?=.*allocated))
IfMatchAction10=[!WriteKeyValue Variables GPUVRAMUsageMB 4 "#@#Variables.inc"]
[MeasureHWiNFO64RegistryLabel5]
Measure=Registry
RegHKey=HKEY_CURRENT_USER
RegKey=SOFTWARE\HWiNFO64\VSB
RegValue=Label5
IfMatch=(?i)Core(?=Clocks)
IfMatchAction=[!WriteKeyValue Variables CPUCoreClocks 5 "#@#Variables.inc"][!WriteKeyValue Variables CPUName 5 "#@#Variables.inc"]
IfMatch2=(?i)core(?=.*effective(?=.* clocks))
IfMatchAction2=[!WriteKeyValue Variables CPUFrequency 5 "#@#Variables.inc"]
IfMatch3=(?i)cpu(?=.*package(?!.*power))
IfMatchAction3=[!WriteKeyValue Variables CPUTemperature 5 "#@#Variables.inc"]
IfMatch4=(?i)cpu(?=.*package(?=.*power))
IfMatchAction4=[!WriteKeyValue Variables CPUPowerdraw 5 "#@#Variables.inc"]
IfMatch5=(?i)gpu(?=.*temperature)
IfMatchAction5=[!WriteKeyValue Variables GPUTemperature 5 "#@#Variables.inc"][!WriteKeyValue Variables GPUName 5 "#@#Variables.inc"]
IfMatch6=(?i)gpu(?=.*power)
IfMatchAction6=[!WriteKeyValue Variables GPUPowerdraw 5 "#@#Variables.inc"]
IfMatch7=(?i)gpu(?=.*core(?=.*load))
IfMatchAction7=[!WriteKeyValue Variables GPUUsage 5 "#@#Variables.inc"]
IfMatch8=(?i)gpu(?=.*memory(?=.*usage))
IfMatchAction8=[!WriteKeyValue Variables GPUVRAMUsage% 5 "#@#Variables.inc"]
IfMatch9=(?i)gpu(?=.*effective(?=.*clock))
IfMatchAction9=[!WriteKeyValue Variables GPUFrequency 5 "#@#Variables.inc"]
IfMatch10=(?i)gpu(?=.*memory(?=.*allocated))
IfMatchAction10=[!WriteKeyValue Variables GPUVRAMUsageMB 5 "#@#Variables.inc"]
[MeasureHWiNFO64RegistryLabel6]
Measure=Registry
RegHKey=HKEY_CURRENT_USER
RegKey=SOFTWARE\HWiNFO64\VSB
RegValue=Label6
IfMatch=(?i)Core(?=Clocks)
IfMatchAction=[!WriteKeyValue Variables CPUCoreClocks 6 "#@#Variables.inc"][!WriteKeyValue Variables CPUName 6 "#@#Variables.inc"]
IfMatch2=(?i)core(?=.*effective(?=.* clocks))
IfMatchAction2=[!WriteKeyValue Variables CPUFrequency 6 "#@#Variables.inc"]
IfMatch3=(?i)cpu(?=.*package(?!.*power))
IfMatchAction3=[!WriteKeyValue Variables CPUTemperature 6 "#@#Variables.inc"]
IfMatch4=(?i)cpu(?=.*package(?=.*power))
IfMatchAction4=[!WriteKeyValue Variables CPUPowerdraw 6 "#@#Variables.inc"]
IfMatch5=(?i)gpu(?=.*temperature)
IfMatchAction5=[!WriteKeyValue Variables GPUTemperature 6 "#@#Variables.inc"][!WriteKeyValue Variables GPUName 6 "#@#Variables.inc"]
IfMatch6=(?i)gpu(?=.*power)
IfMatchAction6=[!WriteKeyValue Variables GPUPowerdraw 6 "#@#Variables.inc"]
IfMatch7=(?i)gpu(?=.*core(?=.*load))
IfMatchAction7=[!WriteKeyValue Variables GPUUsage 6 "#@#Variables.inc"]
IfMatch8=(?i)gpu(?=.*memory(?=.*usage))
IfMatchAction8=[!WriteKeyValue Variables GPUVRAMUsage% 6 "#@#Variables.inc"]
IfMatch9=(?i)gpu(?=.*effective(?=.*clock))
IfMatchAction9=[!WriteKeyValue Variables GPUFrequency 6 "#@#Variables.inc"]
IfMatch10=(?i)gpu(?=.*memory(?=.*allocated))
IfMatchAction10=[!WriteKeyValue Variables GPUVRAMUsageMB 6 "#@#Variables.inc"]
[MeasureHWiNFO64RegistryLabel7]
Measure=Registry
RegHKey=HKEY_CURRENT_USER
RegKey=SOFTWARE\HWiNFO64\VSB
RegValue=Label7
IfMatch=(?i)Core(?=Clocks)
IfMatchAction=[!WriteKeyValue Variables CPUCoreClocks 7 "#@#Variables.inc"][!WriteKeyValue Variables CPUName 7 "#@#Variables.inc"]
IfMatch2=(?i)core(?=.*effective(?=.* clocks))
IfMatchAction2=[!WriteKeyValue Variables CPUFrequency 7 "#@#Variables.inc"]
IfMatch3=(?i)cpu(?=.*package(?!.*power))
IfMatchAction3=[!WriteKeyValue Variables CPUTemperature 7 "#@#Variables.inc"]
IfMatch4=(?i)cpu(?=.*package(?=.*power))
IfMatchAction4=[!WriteKeyValue Variables CPUPowerdraw 7 "#@#Variables.inc"]
IfMatch5=(?i)gpu(?=.*temperature)
IfMatchAction5=[!WriteKeyValue Variables GPUTemperature 7 "#@#Variables.inc"]
IfMatch6=(?i)gpu(?=.*power)
IfMatchAction6=[!WriteKeyValue Variables GPUPowerdraw 7 "#@#Variables.inc"]
IfMatch7=(?i)gpu(?=.*core(?=.*load))
IfMatchAction7=[!WriteKeyValue Variables GPUUsage 7 "#@#Variables.inc"]
IfMatch8=(?i)gpu(?=.*memory(?=.*usage))
IfMatchAction8=[!WriteKeyValue Variables GPUVRAMUsage% 7 "#@#Variables.inc"]
IfMatch9=(?i)gpu(?=.*effective(?=.*clock))
IfMatchAction9=[!WriteKeyValue Variables GPUFrequency 7 "#@#Variables.inc"]
IfMatch10=(?i)gpu(?=.*memory(?=.*allocated))
IfMatchAction10=[!WriteKeyValue Variables GPUVRAMUsageMB 7 "#@#Variables.inc"]
[MeasureHWiNFO64RegistryLabel8]
Measure=Registry
RegHKey=HKEY_CURRENT_USER
RegKey=SOFTWARE\HWiNFO64\VSB
RegValue=Label8
IfMatch=(?i)Core(?=Clocks)
IfMatchAction=[!WriteKeyValue Variables CPUCoreClocks 8 "#@#Variables.inc"][!WriteKeyValue Variables CPUName 8 "#@#Variables.inc"]
IfMatch2=(?i)core(?=.*effective(?=.* clocks))
IfMatchAction2=[!WriteKeyValue Variables CPUFrequency 8 "#@#Variables.inc"]
IfMatch3=(?i)cpu(?=.*package(?!.*power))
IfMatchAction3=[!WriteKeyValue Variables CPUTemperature 8 "#@#Variables.inc"]
IfMatch4=(?i)cpu(?=.*package(?=.*power))
IfMatchAction4=[!WriteKeyValue Variables CPUPowerdraw 8 "#@#Variables.inc"]
IfMatch5=(?i)gpu(?=.*temperature)
IfMatchAction5=[!WriteKeyValue Variables GPUTemperature 8 "#@#Variables.inc"][!WriteKeyValue Variables GPUName 8 "#@#Variables.inc"]
IfMatch6=(?i)gpu(?=.*power)
IfMatchAction6=[!WriteKeyValue Variables GPUPowerdraw 8 "#@#Variables.inc"]
IfMatch7=(?i)gpu(?=.*core(?=.*load))
IfMatchAction7=[!WriteKeyValue Variables GPUUsage 8 "#@#Variables.inc"]
IfMatch8=(?i)gpu(?=.*memory(?=.*usage))
IfMatchAction8=[!WriteKeyValue Variables GPUVRAMUsage% 8 "#@#Variables.inc"]
IfMatch9=(?i)gpu(?=.*effective(?=.*clock))
IfMatchAction9=[!WriteKeyValue Variables GPUFrequency 8 "#@#Variables.inc"]
IfMatch10=(?i)gpu(?=.*memory(?=.*allocated))
IfMatchAction10=[!WriteKeyValue Variables GPUVRAMUsageMB 8 "#@#Variables.inc"]
[MeasureHWiNFO64RegistryLabel9]
Measure=Registry
RegHKey=HKEY_CURRENT_USER
RegKey=SOFTWARE\HWiNFO64\VSB
RegValue=Label9
IfMatch=(?i)Core(?=Clocks)
IfMatchAction=[!WriteKeyValue Variables CPUCoreClocks 9 "#@#Variables.inc"][!WriteKeyValue Variables CPUName 9 "#@#Variables.inc"]
IfMatch=2(?i)core(?=.*effective(?=.* clocks))
IfMatchAction2=[!WriteKeyValue Variables CPUFrequency 9 "#@#Variables.inc"]
IfMatch3=(?i)cpu(?=.*package(?!.*power))
IfMatchAction3=[!WriteKeyValue Variables CPUTemperature 9 "#@#Variables.inc"]
IfMatch4=(?i)cpu(?=.*package(?=.*power))
IfMatchAction4=[!WriteKeyValue Variables CPUPowerdraw 9 "#@#Variables.inc"]
IfMatch5=(?i)gpu(?=.*temperature)
IfMatchAction5=[!WriteKeyValue Variables GPUTemperature 9 "#@#Variables.inc"][!WriteKeyValue Variables GPUName 8 "#@#Variables.inc"]
IfMatch6=(?i)gpu(?=.*power)
IfMatchAction6=[!WriteKeyValue Variables GPUPowerdraw 9 "#@#Variables.inc"]
IfMatch7=(?i)gpu(?=.*core(?=.*load))
IfMatchAction7=[!WriteKeyValue Variables GPUUsage 9 "#@#Variables.inc"]
IfMatch8=(?i)gpu(?=.*memory(?=.*usage))
IfMatchAction8=[!WriteKeyValue Variables GPUVRAMUsage% 9 "#@#Variables.inc"]
IfMatch9=(?i)gpu(?=.*effective(?=.*clock))
IfMatchAction9=[!WriteKeyValue Variables GPUFrequency 9 "#@#Variables.inc"]
IfMatch10=(?i)gpu(?=.*memory(?=.*allocated))
IfMatchAction10=[!WriteKeyValue Variables GPUVRAMUsageMB 9 "#@#Variables.inc"]
[MeasureTest]
Measure=Registry
RegHKey=HKEY_CURRENT_USER
RegKey=SOFTWARE\HWiNFO64\VSB
RegValue=Label9
IfMatch=(?i)gpu(?=.*memory(?=.*allocated))
IfMatchAction=[!SetOption MeterMatchTest Text "1"]
IfMatch2=(?i)gpu(?=.*memory(?=.*allocated))
IfMatchAction2=[!SetOption MeterMatchTest Text "2"]
IfMatch3=(?i)gpu(?=.*memory(?=.*allocated))
IfMatchAction3=[!SetOption MeterMatchTest Text "3"]
IfMatch4=(?i)gpu(?=.*memory(?=.*allocated))
IfMatchAction4=[!SetOption MeterMatchTest Text "4"]
IfMatch5=(?i)gpu(?=.*memory(?=.*allocated))
IfMatchAction5=[!SetOption MeterMatchTest Text "5"]
IfMatch6=(?i)gpu(?=.*memory(?=.*allocated))
IfMatchAction6=[!SetOption MeterMatchTest Text "6"]
IfMatch7=(?i)gpu(?=.*memory(?=.*allocated))
IfMatchAction7=[!SetOption MeterMatchTest Text "7"]
IfMatch8=(?i)gpu(?=.*memory(?=.*allocated))
IfMatchAction8=[!SetOption MeterMatchTest Text "8"]
IfMatch9=(?i)gpu(?=.*memory(?=.*allocated))
IfMatchAction9=[!SetOption MeterMatchTest Text "9"]
IfMatch10=(?i)gpu(?=.*memory(?=.*allocated))
IfMatchAction10=[!SetOption MeterMatchTest Text "10"]
[MeterMatchTest]
Meter=String
X=0
Y=0
W=250
H=250
ClipString=2
FontColor=255,255,255,255
Text=
Code: Select all
[Variables]
---CPU---
CPUName=0
CPUCoreClocks=0
CPUFrequency=1
CPUTemperature=2
CPUPowerdraw=3
CPUTemperatureMax=85
---GPU---
GPUName=4
GPUTemperature=4
GPUPowerdraw=5
GPUFrequency=6
GPUUsage=7
GPUVRAMUsage%=8
GPUVRAMUsageMB=
GPUTemperatureMax=85
As a Test I've created the [MeasureTest] and the corresponding meter, which outputs "10" as it is supposed to, so the problem only seems to occur with the !WriteKeyValue Bang.
The "Include=#@#Variables.inc" i will need for another measure to come, but removing it doesn't change anything.
I've tried setting DynamicVariables to 1 for all the measures, which shouldn't change anything and it unsurprisingly doesn't.
I've tried giving the Variable a different name. That didn't help either.
I've tried to write the Variable into other folders or even the same config as above, but with IfMatchAction10=[!WriteKeyValue ...] nothing works.
Any Ideas?
Thanks in advance