jschneider
Goto Top

kixtart - Variable in Variable

Hallo,

mein Kixscript (Kixtart + kixforms) liest eine externe ini-datei aus und bastelt sich aus den Werten in dieser Textdatei Variablen zum setzen. Ziel ist es sämtliche KOnfiguration nur über INI-daten zu bewerkstelligen und nicht mehr den Code selbst anfassen zu müssen.


bsp ini-datei
Variable;EmpirumServer;Server1;
Variable;DefServer;Server2/Vol1:;


der Teil des KixScriptes, der das ganze verarbeitet:


Function VariableSettings()
	$VariableSettingsButton.Value=1
	Progress( "Setze variablen")  
		
	If Exist($FileLocation + "\variables\variables.ini")  
	DBGMessage ("Info","Setze Variablen:")  
	
		If Open(3,$FileLocation + "\variables\variables.ini") = 0  
 		 $VZeile = ReadLine(3)
		 WHILE @ERROR = 0
		  If Instr ($VZeile,"Variable")  
   			$VVariable = Split($VZeile, ";") [1]  
   			$VWert= Split($VZeile, ";") [2]  
   		  ENDIF
   	Gosub variablesSet
        $VZeile = ReadLine(3)
 LOOP
 CLOSE(3)
 ENDIF


goto EndeVariablesSet


:variablesSet
;DBGMessage ("Info","Setze variable $VVariable = $VWert")   
writevalue("HKEY_CURRENT_USER\Volatile Environment","$VVariable","$VWert","REG_SZ")  

;  SET "$VVariable=$VWert"  
	SELECT
	CASE @ERROR = 0
          DBGMessage ("Info","Variable $VVariable = $VWert ")  
	CASE @ERROR = 2
	  DBGMessage ("Fehler","Variable $VVariable fuer $VWert konnte nicht gesetzt werden")  
	  $Errorflag=TRUE 
	CASE 1
	DBGMessage ("Fehler","Unbekannter Fehler [@Error] beim Setzen der Variable von $VVariable zu $VWert")  
	$Errorflag=TRUE
	ENDSELECT	
Return

:EndeVariablesSet

$VariableSettingsButton.Value=0
$VariableSettingsButton.Enabled =0	
sleep 8
EndFunction


das klappt auch soweit ganz gut


wenn ich jedoch Variablen verarbeiten möchte, die sich auf bestehende Variablen beruhen (z.B. @userid, @wksta, %Username% etc.)
und diese Werte unnerhalb der Variables.ini setze, so liest kixtart diese nicht als Variable, sondern als fixen wert aus

bsp ini-datei

Variable;EmpirumServer;Server1;
Variable;DefServer;Server2/Vol1:;
Variable;EmpirumUser;@@USERID


Die Schreibweisen @@USERID oder %%Username%% innerhalb der variables.ini bringen auch nichts.

hat jemand eine Idee ?

Content-Key: 83892

Url: https://administrator.de/contentid/83892

Printed on: April 23, 2024 at 14:04 o'clock

Mitglied: 60730
60730 Apr 11, 2008 at 09:27:59 (UTC)
Goto Top
Die Schreibweisen @@USERID oder %%Username%%
innerhalb der variables.ini bringen auch
nichts.

hat jemand eine Idee ?


Hi,

leider blicke ich nicht ganz durch - aber einen (unschönen) Tipp hätte ich vielleicht...

echo %username% > %username%.ini
copy /b deine ini + %username%.ini login.ini

Kix laufen lassen

del /q login.ini

Bei vielen gleichzeitigen Anmeldungen, könnte das aber ein Problem werden.
Außer du startest das Kix gleich mit einem temporären variablen .ini File - wie z.B %username%.ini