|
You last visited: Today at 22:22
Advertisement
AutoIt(GUI)Problem
Discussion on AutoIt(GUI)Problem within the AutoIt forum part of the Coders Den category.
07/27/2010, 12:49
|
#1
|
elite*gold: 17
Join Date: Dec 2008
Posts: 1,299
Received Thanks: 170
|
AutoIt(GUI)Problem
Hallo,
Ich will eine GUI programmieren für meinen P-Server.
Das Script sieht so aus:
Code:
#include <GUIConstants.au3>
GUICreate("Nakroma´s Privat Server Client", 500, 150)
GUICtrlCreateLabel("Bitte wähle eine Aktion aus!", 30, 10)
$ndjoin = GUICtrlCreateButton("Privat Server Join", 20, 50, 180)
$blizzjoin = GUICtrlCreateButton("Blizzard Join", 20, 100, 180)
$account = GUICtrlCreateButton("Account erstellen", 300, 50, 180)
$homepage = GUICtrlCreateButton("Zur Homepage", 300, 100, 180)
GUISetState(@SW_SHOW)
While 1
$msg = GUIGetMsg()
Select
Case $msg = $ndjoin
#include <File.au3>
_FileWriteToLine ( 'C:/Programme/World of Warcraft/Date/DeDE/realmlist.txt', 1, 'set realmlist ', 1 ); DEINEREALMLIST=Serverrealmlist einsetzen
_FileWriteToLine ( 'C:/Programme/World of Warcraft/Date/DeDE/realmlist.txt', 2, 'REALMLIST', 1 );
_FileWriteToLine ( 'C:/Programme/World of Warcraft/Date/deDE/realmlist.txt', 3, '', 1 );
_FileWriteToLine ( 'C:/Programme/World of Warcraft/Date/DeDE/realmlist.txt', 4, '', 1 );
Run ("C:/Programme/World of Warcraft/World of Warcraft.exe")
ExitLoop
Case $msg = $blizzjoin
#include <File.au3>
_FileWriteToLine ( 'C:/Programme/World of Warcraft/Date/DeDE/realmlist.txt', 1, 'set realmlist eu.logon.worldofwarcraft.com', 1 ); DEINEREALMLIST=Serverrealmlist einsetzen
_FileWriteToLine ( 'C:/Programme/World of Warcraft/Date/DeDE/realmlist.txt', 2, 'set patchlist eu.version.worldofwarcraft.com', 1 );
_FileWriteToLine ( 'C:/Programme/World of Warcraft/Date/DeDE/realmlist.txt', 3, 'set realmlistbn ""', 1 );
_FileWriteToLine ( 'C:/Programme/World of Warcraft/Date/DeDE/realmlist.txt', 4, 'set portal eu', 1 );
Run ("C:/Programme/World of Warcraft/World of Warcraft.exe")
ExitLoop
Case $msg = $account
ShellExecute('http://accountpage.de')
Case $msg = $homepage
ShellExecute('http://homepage.de')
Case $msg = $GUI_EVENT_CLOSE
MsgBox(0, "Client Message", "Client wird beendet!")
ExitLoop
EndSelect
WEnd
Und ich habe ein Einstellungsmenü gemacht.
Code:
#include <GUIConstants.au3>
GUICreate("Nakroma´s Einstellungsmenü", 500, 150)
$realmlistinput = GUICtrlCreateInput("P-Server Realmlist", 20, 20, 100)
$realmlistbutton = GUICtrlCreateButton("OK", 140, 20, 80)
$accountinput = GUICtrlCreateInput("Account-Page", 20, 100, 100)
$accountbutton = GUICtrlCreateButton("OK(Mit Http)", 140, 100, 80)
$homepageinput = GUICtrlCreateInput("Homepage", 200, 60, 100)
$homepagebutton = GUICtrlCreateButton("OK(Mit Http)", 320, 60, 80)
GUISetState(@SW_SHOW)
While 1
$msg = GUIGetMsg()
Select
Case $msg = $realmlistbutton
$realmlist = GUICtrlRead($realmlistinput)
send ($realmlist)
MsgBox(0, "Lol", $realmlist)
Case $msg = $accountbutton
$account = GUICtrlRead($accountinput)
send ($account)
MsgBox(0, "LOl", $account)
Case $msg = $homepagebutton
$homepage = GUICtrlRead($homepageinput)
Send ($homepage)
MsgBox(0, "Lol", $homepage)
Case $msg = $GUI_EVENT_CLOSE
MsgBox(0, "Message", "Programm wird beendet!")
ExitLoop
EndSelect
WEnd
Meine Frage: Wie kann ich mit dem Einsteller die Realmlist, Accountpage und die Homepage überschreiben.
Quasi:
Code:
_FileWriteToLine ( 'C:/Programme/World of Warcraft/Date/DeDE/realmlist.txt', 2, 'REALMLIST', 1 );
Und REALMLIST wird durch $realmlist im Einsteller ersetzt.
Vielen Dank für Alle Antworten im Voraus.
MfG
Nakroma[
|
|
|
07/27/2010, 16:41
|
#2
|
elite*gold: 99
Join Date: May 2009
Posts: 1,020
Received Thanks: 400
|
Das ist doch genau so leicht wie du es oben mit filewritetoline gemacht hast^^
Nur FileWriteToLine ist eher, wenn du unbedingt vorhandene Dateien bearbeiten willst.
Wenn du Einstellungen speichern willst, dann würde ich das mit Inis lösen!
Code:
#include <GUIConstants.au3>
GUICreate("Nakroma´s Einstellungsmenü", 500, 150)
$realmlistinput = GUICtrlCreateInput("P-Server Realmlist", 20, 20, 100)
$realmlistbutton = GUICtrlCreateButton("OK", 140, 20, 80)
$accountinput = GUICtrlCreateInput("Account-Page", 20, 100, 100)
$accountbutton = GUICtrlCreateButton("OK(Mit Http)", 140, 100, 80)
$homepageinput = GUICtrlCreateInput("Homepage", 200, 60, 100)
$homepagebutton = GUICtrlCreateButton("OK(Mit Http)", 320, 60, 80)
GUISetState(@SW_SHOW)
While 1
$msg = GUIGetMsg()
Select
Case $msg = $realmlistbutton
$realmlist = GUICtrlRead($realmlistinput)
send ($realmlist);Muss man das verstehen? xD Bau das send aus!
IniWrite("Einstellungen.ini","Einstellungen","Realmlist",$realmlist);Mit dem wird nun das was oben ausgelesen wird in die Einstellungen INI reingeschrieben!
MsgBox(0, "Lol", $realmlist)
Case $msg = $accountbutton
$account = GUICtrlRead($accountinput)
send ($account);Hier genau das selbe wie oben durchführen^^
MsgBox(0, "LOl", $account)
Case $msg = $homepagebutton
$homepage = GUICtrlRead($homepageinput)
Send ($homepage);Und hier noch einmal. Und das send wegmachen nicht vergessen
MsgBox(0, "Lol", $homepage)
Case $msg = $GUI_EVENT_CLOSE
MsgBox(0, "Message", "Programm wird beendet!",3);Hier hab ich mal 3 Sekunden anzeige Zeit eingebaut
ExitLoop
EndSelect
WEnd
So also du gibst es in deinem Programm dann so wieder:
$Realmlist = IniRead("Einstellungen.ini","Einstellungen","Realm list",1)
Dann halt das was du damit machen möchtest wenn es ne Website wäre:
ShellExecute($Realmlist)
Man hat dein Problem zwar wirklich NICHT verstanden weil du viel zu wenig dein Problem, sondern eher deinen Bot beschreibst, aber ich denke ich hab das getroffen was du wolltest
€dit: Aso du willst eine vorhandene Datei überschreiben? Du beantwortest dir doch die Frage selbst^^
Mit _FileWriteToLine und dann eben anstatt den Text der hineingeschrieben wird einfach $realmlist eintragen. DAS SEND MUSS ABER TROTZDEM WEG xD
Das was ich beschrieben habe, dient eher dazu wenn dein Bot eigene Einstellungen fällen muss, und nicht eine bereits vorhandene Datei ändert
|
|
|
07/29/2010, 09:16
|
#3
|
elite*gold: 17
Join Date: Dec 2008
Posts: 1,299
Received Thanks: 170
|
Okey, Mein Problem:
Klar kann ich $realmlist einsetzen, aber dann ist die Zeile die die realmlist.txt im WoW Ordner ersetzt, nicht mehr da. Das Programm muss folgendes können:
Wenn ich im Einstellungsmenü(Realmlist)eingebe: 127.0.0.1
Muss im Client statt
Code:
_FileWriteToLine ( 'C:/Programme/World of Warcraft/Date/DeDE/realmlist.txt', 1, 'set realmlist DEINEREALMLIST', 1 ); DEINEREALMLIST=Serverrealmlist einsetzen
DEINEREALMLIST, 127.0.0.1 stehen. Und das kriege ich nicht hin... Genauso mit Homepage und AccCreate.
|
|
|
All times are GMT +1. The time now is 22:23.
|
|