|
You last visited: Today at 19:05
Advertisement
[Frage] Was meint ihr ?
Discussion on [Frage] Was meint ihr ? within the AutoIt forum part of the Coders Den category.
06/29/2012, 21:16
|
#1
|
elite*gold: 0
Join Date: Jun 2012
Posts: 53
Received Thanks: 1
|
[Frage] Was meint ihr ?
Also, ich habe letztens angefangen mich ein wenig mit AutoIT zu befassen.
da habe ich mich nach ein paar Videos an mein eigenes mini Projekt gewagt 
Also hab ich mir gedacht, schreib ich mir ein Game Starter ...
Code:
#RequireAdmin
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$Headline = GUICreate("Game Starter", 270, 360, 455, 185)
$Help = GUICtrlCreateMenu("&Help")
$Sound = GUICtrlCreateMenu("Sound"&@TAB&"", $Help)
$Sound_100 = GUICtrlCreateMenuItem("Sound ON"&@TAB&"Shift+Ctrl+5 (ZEHNERTASTATUR)", $Sound)
$Sound_0 = GUICtrlCreateMenuItem("Sound OFF", $Sound)
$Info = GUICtrlCreateMenuItem("Info"&@TAB&"", $Help)
$system = GUICtrlCreateMenu("&Systemstart")
$herunterfahren = GUICtrlCreateMenuItem("Herunterfahren"&@TAB&"Ctrl+Alt+D", $system)
$restart = GUICtrlCreateMenuItem("Restart"&@TAB&"", $system)
$abmelden = GUICtrlCreateMenuItem("Abmelden", $system)
GUISetBkColor(0x3399FF)
$Anno_1 = GUICtrlCreateButton("Start", 120, 40, 97, 25)
$Ann = GUICtrlCreateButton("Start", 120, 72, 97, 25)
$Residen = GUICtrlCreateButton("Start", 120, 104, 97, 25)
$Minecraf = GUICtrlCreateButton("Start", 120, 136, 97, 25)
$Anno = GUICtrlCreateLabel("Anno 2070", 16, 48, 56, 17)
$Anno_2 = GUICtrlCreateLabel("MW 2", 18, 78, 56, 17)
$LOCO = GUICtrlCreateLabel("SPMinecraft", 18, 180, 60, 17)
$Resident = GUICtrlCreateLabel("Resident Evil", 16, 115, 66, 17)
$Close = GUICtrlCreateButton("Close", 16, 280, 201, 41)
$SP_Minecraft = GUICtrlCreateButton("Start", 120, 168, 97, 25)
$Loc = GUICtrlCreateButton("Start", 120, 197, 97, 25)
$Lastchaos = GUICtrlCreateButton("Start", 121, 232, 97, 25)
$Minecraft = GUICtrlCreateLabel("Minecraft", 16, 144, 48, 17)
$LO = GUICtrlCreateLabel("LOCO", 24, 208, 33, 17)
$Last = GUICtrlCreateLabel("Generic name", 24, 240, 70, 17)
Dim $Headline_AccelTable[2][2] = [["^+{5 (ZEHNERTASTATUR)}", $Sound_100],["^!d", $herunterfahren]]
GUISetAccelerators($Headline_AccelTable)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
SoundPlay("C://xxx.mp3")
SoundSetWaveVolume(100)
$ini = @ScriptDir & "/testini.ini"
$MinecraftSP = Inputbox("Pfad","Pfad von MinecraftSP")
Sleep(5000)
$Resident_Evil = InputBox("Pfad","Pfad von Resident Evil")
Sleep(5000)
$Anno_2070 = Inputbox("Pfad","Pfad von Anno 2070")
Sleep(5000)
$Anno_1404 = InputBox("Pfad","Pfad von Anno 1404 ")
Sleep(5000)
$LastCHAOS1 = Inputbox("Pfad","Pfad von Last Chaos")
Sleep(5000)
$lOCOO= InputBox("Pfad","Pfad von LOCO ")
Sleep(5000)
$Minecraft = Inputbox("Pfad","Pfad von Minecraft")
Sleep(5000)
IniWrite($ini, "Section","SP_Minecraft",$MinecraftSP)
IniWrite($ini, "section","Resident Evil",$Resident_Evil)
IniWrite($ini, "Section","Anno 2070",$Anno_2070)
IniWrite($ini, "section","Anno 1401",$Anno_1404)
IniWrite($ini, "Section","LastChaos",$LastCHAOS1)
IniWrite($ini, "section","LOCO",$lOCOO)
IniWrite($ini, "Section","Minecraft",$Minecraft)
MsgBox(0,"Pfad von SP Minecraft", $MinecraftSP)
MsgBox(0,"Pfad von Resident Evil",$Resident_Evil)
MsgBox(0,"Pfad von Anno 2070", $Anno_2070)
MsgBox(0,"Pfad von Anno 1404",$Anno_1404)
MsgBox(0,"Pfad von Last Chaos", $LastCHAOS1)
MsgBox(0,"Pfad von LOCO",$lOCOO)
MsgBox(0,"Pfad von Minecraft", $Minecraft)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $herunterfahren
Shutdown(1)
Case $restart
Shutdown(2)
Case $abmelden
Shutdown(0)
Case $Minecraf
run($Minecraft)
Case $Loc
run($lOCOO)
case $Lastchaos
run($LastCHAOS1)
Case $Anno_1
run($Anno_2070)
Case $Ann
run($Anno_1404)
Case $Residen
run($Resident_Evil)
Case $SP_Minecraft
run($MinecraftSP)
Case $Close
Exit
Case $Info
MsgBox(0, "Info", "Version 1.0")
Case $Sound_0
SoundSetWaveVolume(100)
sleep(100)
SoundSetWaveVolume(80)
sleep(100)
SoundSetWaveVolume(60)
sleep(100)
SoundSetWaveVolume(40)
sleep(100)
SoundSetWaveVolume(20)
sleep(100)
SoundSetWaveVolume(0)
Case $Sound_100
SoundSetWaveVolume(0)
sleep(100)
SoundSetWaveVolume(20)
sleep(100)
SoundSetWaveVolume(40)
sleep(100)
SoundSetWaveVolume(60)
sleep(100)
SoundSetWaveVolume(80)
sleep(100)
SoundSetWaveVolume(100)
EndSwitch
WEnd
Ich wollte jetzt eigentlich nur Fragen, wie man es macht, dass man auf einem PC den Pfad nur einmal eingeben muss und danach es nicht mehr machen muss
und ob ihr noch irgendwelche Verbesserungsvorschläge habt ^^
LG xDeadess
|
|
|
06/29/2012, 21:39
|
#2
|
elite*gold: 0
Join Date: Mar 2009
Posts: 7,260
Received Thanks: 33,149
|
Du speicherst die Pfade ja breits in einer .ini ab. Du solltest lieber Eingabefelder verwenden und auf die Inputbox() Funktion verzichten. Beim Programmstart befüllst du dann einfach die Eingabefelder. Auf Sleeps solltest du weitgehend verzichten, diese sind bei hohen Wartezeiten nicht nur schlecht für das Script (da das ganze Script pausiert wird), sondern auch nervig für den Anweder.
Du kannst ja mal folgendes probieren:
Erstelle eine GUI, auf der Anfangs nur ein Button existiert. Bei einem Klick auf den Button forderst du den Benutzer auf eine .exe mittels FileOpenDialog() auszusuchen. Anschließend soll ein neuer Button erstellt werden (dynamisch). Optimal wäre es, wenn du das Icon der .exe in der GUI (im Button) anzeigen würdest. Alternativ kannst du darauf einfach verzichten oder den Benutzer dazu auffordern selber ein Bild auszuwählen.
Die Benutzereinstellungen kannst du dann wieder einfach in einer .ini speichern. Beim nächsten Programmstart werden die Daten ausgelesen und die Buttons wieder erstellt.
Das ganze ist einfacher als man es am Anfang vielleicht denkt.
|
|
|
06/29/2012, 22:10
|
#3
|
elite*gold: 0
Join Date: Jun 2012
Posts: 53
Received Thanks: 1
|
ok ty, werde morgen oder so es mal probieren
ok, ich habe schon mal angefagen ;D
Ich hab es "schon" geschafft, das wenn ich mit dem Button1 eine exe auswähle, ein zweiter Button erstellt wird.
Aber ich weiß grad net weiter, was ich machen muss damit er die Daten aus der *.ini ausließt ....
und wie ich das Icon von der exe bekomme ...
|
|
|
07/02/2012, 14:27
|
#4
|
elite*gold: 0
Join Date: Jun 2012
Posts: 53
Received Thanks: 1
|
I need help ...
|
|
|
07/02/2012, 20:07
|
#5
|
elite*gold: 2
Join Date: Jul 2009
Posts: 14,456
Received Thanks: 4,685
|
Du kannst mit IniRead die Ini wieder auslesen
Mit FileExist kannst du checken, ob diese bereits erstellt wurde.
|
|
|
07/02/2012, 20:07
|
#6
|
elite*gold: 280
Join Date: May 2007
Posts: 2,818
Received Thanks: 3,483
|
icons aus files auslesen, ist ohne tieferes verständnis über den aufbau von pe-files nicht möglich...
darum sollte es hier aber auch garnicht gehen. dich sollte zunächst einmal interessieren, wie ich in autoit richtig mit guis arbeite.
für den anfang sollte ein einfaches kleines test-gui genügen. damit unser script nich sofort nach dem erstellen beendet wird, fügen wir eine kleine endlosschleife hinzu und haben schonmal mehr als die hälfte geschaft:
Code:
GUICreate('Test', 300, 40, Default ,Default, 0x10CA0000)
While True
Switch GUIGetMsg()
Case -3
ExitLoop
EndSwitch
WEnd
jetzt noch ein input und einen button dazu, dem button die funktion geben per fileopendialog den pfad einer datei zu bestimmen, das ganze per guictrlsetdata in das input schreiben und wir sind schon fertig:
Code:
GUICreate('Test', 300, 40, Default ,Default, 0x10CA0000)
$input = GUICtrlCreateInput('', 10, 10, 250, 20)
$button = GUICtrlCreateButton('...', 265, 10, 30, 20)
While True
Switch GUIGetMsg()
Case -3
ExitLoop
Case $button
GUICtrlSetData($input, FileOpenDialog('Suche deine Datei', @ScriptDir, 'Alle Dateien (*.*)'))
EndSwitch
WEnd
man hätte natürlich auch den pfad für den späteren gebrauch in einer variable speichern können, jedoch denke ich das solltest du wirklich ohne weiteres selbst hinbekommen.
wichtig ist nur das du deinen main part immer in EINER endlosschleife abarbeitest.
|
|
|
07/02/2012, 20:15
|
#7
|
elite*gold: 2
Join Date: Jul 2009
Posts: 14,456
Received Thanks: 4,685
|
Du hast aber GuiSetState(@SW_Show), zwischen dem Code zur GUI und der Schleife, vergessen
|
|
|
07/02/2012, 21:00
|
#8
|
elite*gold: 280
Join Date: May 2007
Posts: 2,818
Received Thanks: 3,483
|
Quote:
Originally Posted by Lawliet!
Du hast aber GuiSetState(@SW_Show), zwischen dem Code zur GUI und der Schleife, vergessen 
|
der style 0x10CA0000 beinhaltet: - 0x10000000 ($WS_VISIBLE)
- 0x00C00000 ($WS_CAPTION)
- 0x00080000 ($WS_SYSMENU)
- 0x00020000 ($WS_MINIMIZEBOX)
womit das ganze von vornherein sichtbar ist, was die nutzung des befehls nutzlos machen würde.
Edit:
Das gui unsichtbar erstellen, und erst nach der erstellung sichtbar machen macht nur dann sinn, wenn die menge der controls so hoch ist, das die erstellung vom user wahrgenommen werden kann, bzw wenn das gui aus welchen gründen auch immer vorerst nich sichtbar sein sollte.
keiner der beiden punkte trifft hier zu, also ist es effizienter das ganze sofort sichtbar zu erstellen =)
|
|
|
07/05/2012, 09:51
|
#9
|
elite*gold: 0
Join Date: Jun 2012
Posts: 53
Received Thanks: 1
|
man oh man bin ich blöd...
So weit wie lolkop geschrieben hat, war ich auch schon.
Da habe ich auch schon.
Aber wenn ich das Programm dann neustarte muss ich immer und immer wieder den Pfad neu mit FileOpenDialog reinhauen. Ich habe schon mit IniWritte den Pfad in die ini geschrieben, aber das Programm ließt den Pfad net aus, sondern will den Pfad von neuen schreiben...
|
|
|
07/05/2012, 10:50
|
#10
|
elite*gold: 2
Join Date: Jul 2009
Posts: 14,456
Received Thanks: 4,685
|
If not iniread(...xyz) then
$MinecraftSP = Inputbox("Pfad","Pfad von MinecraftSP")
Sleep(5000)
$Resident_Evil = InputBox("Pfad","Pfad von Resident Evil")
Sleep(5000)
$Anno_2070 = Inputbox("Pfad","Pfad von Anno 2070")
Sleep(5000)
$Anno_1404 = InputBox("Pfad","Pfad von Anno 1404 ")
Sleep(5000)
$LastCHAOS1 = Inputbox("Pfad","Pfad von Last Chaos")
Sleep(5000)
$lOCOO= InputBox("Pfad","Pfad von LOCO ")
Sleep(5000)
$Minecraft = Inputbox("Pfad","Pfad von Minecraft")
Sleep(5000)
IniWrite($ini, "Section","SP_Minecraft",$MinecraftSP)
IniWrite($ini, "section","Resident Evil",$Resident_Evil)
IniWrite($ini, "Section","Anno 2070",$Anno_2070)
IniWrite($ini, "section","Anno 1401",$Anno_1404)
IniWrite($ini, "Section","LastChaos",$LastCHAOS1)
IniWrite($ini, "section","LOCO",$lOCOO)
IniWrite($ini, "Section","Minecraft",$Minecraft)
else
;Pfad auslesen und einsetzten
endif
|
|
|
07/05/2012, 11:04
|
#11
|
elite*gold: 280
Join Date: May 2007
Posts: 2,818
Received Thanks: 3,483
|
ich denke dein problem liegt darinn, das @WorkingDir mit dem FileOpenDialog neu gesetzt wird. speicherst du entwas in "*.ini", so landet es in @WorkingDir&"*.ini".
willst du deine ini in @ScriptDir speichern, kannst du also entweder den vollen pfad der ini angeben, oder du setzt @WorkingDir = @ScriptDir
beispiel (@WorkingDir = @ScriptDir Methode):
Code:
GUICreate('Test', 300, 40, Default ,Default, 0x10CA0000)
$input = GUICtrlCreateInput(IniRead('save.ini', 'saves', 'path', ''), 10, 10, 250, 20)
$button = GUICtrlCreateButton('...', 265, 10, 30, 20)
While True
Switch GUIGetMsg()
Case -3
ExitLoop
Case $button
GUICtrlSetData($input, FileOpenDialog('Suche deine Datei', @ScriptDir, 'Alle Dateien (*.*)'))
EndSwitch
WEnd
FileChangeDir (@ScriptDir)
IniWrite('save.ini', 'saves', 'path', GUICtrlRead($input))
|
|
|
07/05/2012, 11:53
|
#12
|
elite*gold: 0
Join Date: Jun 2012
Posts: 53
Received Thanks: 1
|
danke
|
|
|
07/05/2012, 11:59
|
#13
|
elite*gold: 464
Join Date: Dec 2010
Posts: 3,998
Received Thanks: 3,909
|
naja da du neu bist reporte ich dich mal nicht
Danke drücken nicht sagen
|
|
|
07/05/2012, 13:17
|
#14
|
elite*gold: 0
Join Date: Jun 2012
Posts: 53
Received Thanks: 1
|
ok, dann mache ich mal nur noch eine Sache und nicht beide
|
|
|
 |
Similar Threads
|
[FRAGE] Meint ihr , man wird gebannt ? (Prestige Token Glitch?
02/05/2012 - Call of Duty - 116 Replies
Hallo, ich wollt euch fragen , ob ihr denkt , dass man gebannt wird , wenn man den Glitch gemacht habt. Hab aus Fun den Glitch gemacht. Hab Prestige 3 fair erkämpft, Doch jetzt hab ich Schiss das ich wegen -100 Prestige Tokens banned werde... . Ja wahrscheinlich sagt ihr:
Pech gehabt!!!, Dein problem... Du scheiß Hacker/Cheater/Glitcher. Doch ich war mir nicht sicher dass ich deswegen gebannt werden könne. Bin mal gespannt was das wird.
Robert Bowling kündigte an, dass man Stats Reset, 2...
|
[FRAGE] Meint ihr es kommt noch ein 26. Server raus?
03/28/2011 - Metin2 - 29 Replies
^This.
|
[Frage] Gute investition? Was meint ihr?
01/12/2011 - WarRock - 4 Replies
30 Tage Gold Prem.
1600 G1C Holen.
2Slot D.Baretta 80
3Slot G36 200
5Slot Tmp9 400
6Slot Medic Box 80
8Slot MP7A1 Gold 800
Dann sind wegen Nachlass 1216 G1C Verbaucht. 384G1C bleiben Ürbig.
Meine Frage Gute Investition und könnt ihr mir sagen was ich für restlichen G1C Kaufen soll, Was zum schnell lvl'n oder Engineer?
|
[FRAGE] Was meint ihr ist der schnellste Weg zum lvln
11/28/2010 - WarRock - 14 Replies
HI,
ich will gern lvln aber das soll alles autom. gehn, während ich afk bin.
Also ich will auch kein Geld ausgeben (sprich FastPlant/Defuse VIP hacks...usw). Und Teleport to plant und tel to defuse auto F geht ja ziemlich langsam glaube ich(wenig exp).
zombi mode durchspieln während ich afk bin? dazu hab ich keine idee...
Fällt sonst noch jmd. ne gute Variante ein?
|
[Frage] Vladimir, was meint ihr zu diesem Spielstil/Build/whatever?
08/21/2010 - League of Legends - 20 Replies
Also ich wollte euch mal mal fragen was ihr zu meinem Vladimir Spielstil meint und was ich daran verbessern kann.
Bitte nur konstruktive Vorschläge und nich sowas wie "RTFM noob, totale scheiße die du machst omg"
Masteries
Vlad Masteries
Hierbei find ich geskilltes Entzünden und Erschöpfen, den Mpen und die CDR gut
Runen
Ich bevorzuge gelb auf AP und den Rest auf mpen
|
All times are GMT +1. The time now is 19:07.
|
|