Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > AutoIt
You last visited: Today at 15:55

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Eine .ini für mehrere Scripts.

Discussion on Eine .ini für mehrere Scripts. within the AutoIt forum part of the Coders Den category.

Reply
 
Old 12/28/2013, 15:16   #16
 
mo.tennis's Avatar
 
elite*gold: 0
Join Date: Feb 2010
Posts: 178
Received Thanks: 4
nochmal zu meiner Frage. Warum frunktioniert das. Was ist da anders?
mo.tennis is offline  
Old 12/28/2013, 15:21   #17
 
alpines's Avatar
 
elite*gold: 60
Join Date: Aug 2009
Posts: 2,256
Received Thanks: 815
Kannst du nochmal das posten was nicht ging (also die entscheidende Teile) und das was geht, ich möchte mir das jetzt ungern zusammensuchen.
alpines is offline  
Old 12/28/2013, 15:33   #18
 
mo.tennis's Avatar
 
elite*gold: 0
Join Date: Feb 2010
Posts: 178
Received Thanks: 4
ich habe 2 scripts und eine .ini.
Der erste script liegt alleine in einem ordner. und der Zweite mit der .ini in einem unterordner von diesem. Ich kann mit dem ersten script in die .ini schreiben. Und wenn ich den zweiten script per hand starte auch die ini lesen.
Wenn ich jedoch mit in script1 den script2 starte kann die .ini von script 2 nicht mehr gelesen werden.
Nun hab ich alles in einen ordner gepackt und es geht.
mo.tennis is offline  
Old 12/28/2013, 17:35   #19
 
elite*gold: 0
Join Date: Mar 2009
Posts: 7,260
Received Thanks: 33,147
Hier mal die Erklärung:
Es ist wieder einmal ein exemplarisches Beispiel dafür, dass man nach Möglichkeit (und die besteht hier) immer "absolute" Pfade verwenden sollte. Wie ich schon so oft geschrieben habe wird bei relativen Pfadangaben nicht das tatsächliche Scriptverzeichnis verwendet, sondern das Arbeitsverzeichnis. Das erste Script befindet sich im Ordner
Code:
C:\Users\Moritz\Desktop\test123\teswt
Das Zweite Script befindet sich im Ordner
Code:
C:\Users\Moritz\Desktop\test123\teswt\testordner
Wo besteht jetzt aber das Problem? Ganz einfach!
Du startest das zweite Script mittels ShellExecute(), verwendest aber nur den 1. Parameter:
Code:
ShellExecute(@SCriptDir & "\testordner\script2.au3")
Was heißt das nun? Die relative Pfadangabe bezieht sich wie schon geschrieben auf das Arbeitsverzeichnis und nicht auf den tatsächlichen Scriptpfad. Da du den dritten Parameter von ShellExecute() nicht verwendest wird das Arbeitsverzeichnis vom ersten Script verwendet. Unter diesem Pfad befindet sich nun mal nicht die .ini, deshalb kann es nicht funktionieren.
Das Problem kannst du ganz einfach lösen, indem du "absolute" Pfade verwendest.
Hier mal eine angepasste Version deiner zwei Scripts:
Code:
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>

#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 297, 161, 192, 124)
$Input1 = GUICtrlCreateInput("", 80, 40, 129, 21)
$Button1 = GUICtrlCreateButton(".ini schreiben", 104, 64, 75, 25)
$Button2 = GUICtrlCreateButton("script2 starten", 104, 96, 75, 25)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

Global Const $iniFile = @ScriptDir & "\testordner\Passwort.ini"

While 1
	$nMsg = GUIGetMsg()
	Switch $nMsg
		Case $GUI_EVENT_CLOSE
			Exit
		Case $Button1
			IniWrite($iniFile, "Passwort", "PW", GUICtrlRead($Input1))
		Case $Button2
			ShellExecute(@SCriptDir & "\testordner\script2.au3")
	EndSwitch
WEnd
Das zweite Script habe ich etwas mehr anpassen müssen:
Code:
#NoTrayIcon
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>

#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Test", 355, 223, 450, 360,$WS_POPUPWINDOW, $WS_EX_TOPMOST)
$input1 = GUICtrlCreateInput("", 56, 112, 233, 21,BitOR($ES_PASSWORD, $GUI_SS_DEFAULT_INPUT))
$unlock = GUICtrlCreateButton("Entsperren", 128, 160, 75, 33)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

Global Const $iniFile = @ScriptDir & "\Passwort.ini"

While 1
	$nMsg = GUIGetMsg()
	Switch $nMsg
;~ 		Case $GUI_EVENT_CLOSE
;~             Exit
		Case $unlock
			_prove()
	EndSwitch
WEnd

Func _prove()
	$pwread = GUICtrlRead($input1)
    $pw = IniRead($iniFile, "Passwort", "PW", "")
	If $pwread == $pw Then Exit
EndFunc
KDeluxe is offline  
Thanks
1 User
Old 12/28/2013, 23:37   #20
 
mo.tennis's Avatar
 
elite*gold: 0
Join Date: Feb 2010
Posts: 178
Received Thanks: 4
danke... auf sowas hab ich gewartet. danke für deine erklärung.

Und danke an alle für eure Hilfe!!!
mo.tennis is offline  
Reply


Similar Threads Similar Threads
Logging in eine oder mehrere Files?
12/26/2013 - General Coding - 3 Replies
Hallo, da ich einen Gameserver für ein Spiel schreibe, möchte ich dementsprechend auch alles protokollieren d.h. ob der Server reibungslos läuft, ein- / ausgehende Verbindungen, Anfragen am Server & Datenbank Querys. Als Logging Library habe ich mir dann pantheios besorgt, soll einer der schnellsten sein, was die Performance Diagramme auch bestätigen. Das Problem dabei ist, dass das Multi-File-Logging von verschiedenen Threads aus, problematisch wird. Somit dachte ich mir, logge ich...
[S] Php Scripts das eine Txtdatei Ausliest
02/10/2013 - Web Development - 5 Replies
Hallo ich suche ein Php script , das eine Txt von meinem FTP server ausliest und immer nur eine zeile ausliest und dann immer die nächste zeile ausgelesen wird. Also pro hit immer die nächste zeile. Habe bei google nichts gefunden und da ich nicht in php programmieren kann suche ich eure hilfe. Vtl gibts auch was schönes ;) mfg Waller66
Eine Kreditkarte für mehrere Paypal accounts?
02/16/2012 - Technical Support - 1 Replies
Hallo, ich weiss nicht ob ich hier richtig bin aber ich habe einige Fragen bezüglich Paypal. Ist es möglich die selbe Kreditkarte für zwei Paypal Accounts zu benutzen? Kann man die Karte von einem Paypal Account entfernen und auf einem anderen Account wieder verwenden? Auch nachdem man ein Konto mit seiner Karte verifiziert hat? MfG, nussiyo
Mehrere Router -> eine MAC-Adressen Liste?
04/12/2011 - Technical Support - 3 Replies
Hallo, ich habe verschiedenste Router / Acesspoints und möchte gerne, das alle auf eine MAC-Adressen Liste zugreifen und danach zugang zum W_lan gewähren oder eben nicht. Ich versuche dies, da ich keine Lust habe bei allen AP die Adressen manuell einzutippen. Ein Server wo die zentrale Liste liegen kann ist vorhanden Mit freundlichem Gruß
[Frage]Per Klick auf Button mehrere Scripts starten?
02/27/2011 - AutoIt - 11 Replies
Huhu EPVPler!!! Ich habe gestern und heute viele verschiedene Scripts geschrieben. Jedoch ist es sehr umständlich alle einzeln zu öffnen. Meine Frage: Kann ich einen Script schreiben, der ,wenn ich auf einen Button mit "Start" klicke, alle meine Scripts startet die ich bisher geschrieben habe? >>> Von mir aus kanns auch ohne Button sein. So ungefähr sollte es sein:



All times are GMT +2. The time now is 15:55.


Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2024 elitepvpers All Rights Reserved.