Probiers mal so:
[autoit]run("C:\Program Files\Elaborate Bytes\VirtualCloneDrive\vcdmount.exe" & " /d=0 " & '"\\Server\Freigabe\test, mit Sonderzeichen !t!\test!.iso"')
[/autoit]Probiers mal so:
[autoit]run("C:\Program Files\Elaborate Bytes\VirtualCloneDrive\vcdmount.exe" & " /d=0 " & '"\\Server\Freigabe\test, mit Sonderzeichen !t!\test!.iso"')
[/autoit]DFPWare, das mit dem IRC liegt glaube ich an dem Server. Ich bin täglich im QuakeNet, aber da das ganze ja auf dem Afterwork Chat läuft, kann ich da nicht rein.
Du übergibst "ASinh(9)".
[autoit]$sReplace = StringReplace($sString, "Sinh(", "_Sinh(")
$sReplace = StringReplace($sReplace, "ASinh(", "_ASinh(")
Der erste Replace greift schon, er replaced ASinh(9) zu A_Sinh(9). Jetzt replaced der zweite natürlich nicht mehr.
Du kannst aber doch auch einfach ein _ vorne ranhängen, wäre doch das gleiche Ergebnis?
Klar darfst du Fragen, kein Problem :).
1. Warscheinlich ja, bei einer Mio Einträgen leg ich mich allerdings nicht fest.
2. Keine zusätzliche Software.
Und dein Gedanke ist schon richtig. Alles erstmal umwandeln in eine Datenbank und diese dann verwenden. Du kannst auch mal die Ini + Code posten, dann kann ich dir da auch ewas helfen, wenn du magst.
Grüße
Hm, wenn du "nur" 170 Datensätze brauchst, müsste das doch auch mit IniRead ganz schnell gehen. Der vordere Wert ist dir ja bekannt, also musste nicht die komplette File einlesen. Ansonsten ist SQLite nichts besonderes. eine lokale Datenbankdatei die mann mit den normalen SQL Befehlen ansteuern kann (Select, Insert into).
Beispiel ist z. B. unter dem Befehl zu sehen (Anmerkung: bei _SQLite_Open in dem Bsp. ist kein Parameter angegeben, also keine Datenkbankdatei. D.h. die Datenbank wird nur temporär gespeichert und ist nach dem Programmdurchlauf weg.):
[autoit]_SQLite_Query
[/autoit]Ich nutze Truecrypt seit 2-3 Jahren und lösche nie was. Bin so faul Mein Desktop ist komplett voll, wenn ich meinen TV via Hdmi als 2ten Bildschirm anschließe, ist sogar noch der fast halb voll. Muss immer Arbeitsplatz -> Desktop und dann die Dateien suchen wenn ich sie nicht finde *g*.
Naja der wichtigste Punkt ist halt, wofür man es eigentlich braucht. Hast du ständige eine neue Textfile oder bleibt die gleich? Weil dann kannste dir ja ne Datenbank mit SQLite schaffen.
Wieso hat man so eine Datenmenge in Textfiles und nicht in einer Datenbank? *g*
GUISetIcon gibts auch noch für die GUI halt. Aber wie Matthias schon sagt, es ist in der exe mit drin. Änderbar ist es bestimmt, denke aber nicht während der Laufzeit.
Ja, mit TraySetIcon. Du brauchst nur die ico-File in einem Verzeichnis.
Joa geht auch, nur bei manchen Freehostern geht der Autoit Agent nicht. Also einfach noch
[autoit]HttpSetUserAgent("Firefox")
[/autoit]
dann läufts.
InetGet, und dann beim Programm mit FileRead einlesen.
Hey, darf man das komplette Script sehen ?
Und bei der Combo kannst du noch $CBS_DROPDOWNLIST mit #include <ComboConstants.au3> setzen, dann kann man den Eintrag nicht manuell ändern.
Kenne nur diese CMD Möglichkeit:
#include <GUIConstantsEx.au3>
#include <array.au3>
$Form1 = GUICreate("Sperrung / Freigabe", 417, 315, 287, 147)
$Label1 = GUICtrlCreateLabel("Benutzername", 10, 72, 109, 24)
$List1 = GUICtrlCreateList("", 120, 72, 289, 24)
GUICtrlSetData(-1, _ReturnUser())
$Label2 = GUICtrlCreateLabel("Montag", 29, 122, 49, 17)
$Label3 = GUICtrlCreateLabel("Dienstag", 23, 150, 55, 20)
$Label4 = GUICtrlCreateLabel("Mittwoch", 27, 176, 51, 19)
$Label5 = GUICtrlCreateLabel("Donnerstag", 8, 204, 70, 18)
$Label6 = GUICtrlCreateLabel("Freitag", 36, 231, 42, 20)
$Label7 = GUICtrlCreateLabel("Samstag", 25, 258, 53, 19)
$Label8 = GUICtrlCreateLabel("Sonntag", 29, 285, 49, 19)
$Label9 = GUICtrlCreateLabel("von", 89, 104, 24, 16)
$Label10 = GUICtrlCreateLabel("bis", 122, 105, 20, 14)
$Input1 = GUICtrlCreateInput("0", 88, 120, 25, 24)
$Input2 = GUICtrlCreateInput("23", 120, 120, 25, 24)
$Input3 = GUICtrlCreateInput("0", 88, 147, 25, 24)
$Input4 = GUICtrlCreateInput("23", 120, 147, 25, 24)
$Input5 = GUICtrlCreateInput("0", 88, 174, 25, 24)
$Input6 = GUICtrlCreateInput("23", 120, 174, 25, 24)
$Input7 = GUICtrlCreateInput("0", 88, 201, 25, 24)
$Input8 = GUICtrlCreateInput("23", 120, 201, 25, 24)
$Input9 = GUICtrlCreateInput("0", 88, 228, 25, 24)
$Input10 = GUICtrlCreateInput("23", 120, 228, 25, 24)
$Input11 = GUICtrlCreateInput("0", 88, 255, 25, 24)
$Input12 = GUICtrlCreateInput("23", 120, 255, 25, 24)
$Input13 = GUICtrlCreateInput("0", 88, 282, 25, 24)
$Input14 = GUICtrlCreateInput("23", 120, 282, 25, 24)
GUISetState(@SW_SHOW)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEnd
Func _ReturnUser()
Local $CMDRead, $sUser
$CMD = Run(@ComSpec & " /c net user", @SystemDir, @SW_HIDE, 0x2)
While 1
$CMDRead &= StdoutRead($CMD)
If @error Then ExitLoop
WEnd
$CMDRead = StringRegExp($CMDRead, "(.+?) ", 3)
For $i = 0 To UBound($CMDRead) - 1
If StringStripWS($CMDRead[$i], <> '' Then $sUser &= StringStripWS($CMDRead[$i], & "|"
Next
Return StringTrimRight($sUser, 1)
EndFunc ;==>_ReturnUser
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <array.au3>
#include <WindowsConstants.au3>
$GUI = GUICreate("Kal Online Money Changer", 390, 113, 281, 206)
$VALUE = GUICtrlCreateInput("", 96, 56, 105, 21)
$PLUS = GUICtrlCreateButton("+", 208, 56, 25, 25, $WS_GROUP)
$MINUS = GUICtrlCreateButton("-", 240, 56, 25, 25, $WS_GROUP)
$DIV = GUICtrlCreateButton("/", 304, 56, 25, 25, $WS_GROUP)
$MULTI = GUICtrlCreateButton("*", 272, 56, 25, 25, $WS_GROUP)
$FILE = GUICtrlCreateInput("", 72, 16, 217, 21)
$OPEN = GUICtrlCreateButton("Open", 296, 16, 57, 25, $WS_GROUP)
$FILE_LAB = GUICtrlCreateLabel("File:", 40, 16, 23, 17)
$VALUE_LAB = GUICtrlCreateLabel("Change by:", 32, 56, 58, 17)
DllCall('uxtheme.dll', 'none', 'SetThemeAppProperties', 'int', 0)
$PROG = GUICtrlCreateProgress(16, 96, 353, 9)
GUICtrlSetBkColor(-1, 0x000000)
GUICtrlSetColor(-1, 0x99FF99)
DllCall('uxtheme.dll', 'none', 'SetThemeAppProperties', 'int', 7)
GUISetState(@SW_SHOW)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $OPEN
$sFile = FileOpenDialog("Search for initmonster.txt", @ScriptDir & "\", "(initmonster.txt)", 1 + 4)
If @error Then ContinueLoop
GUICtrlSetData($FILE, $sFile)
Case $PLUS, $MINUS, $MULTI, $DIV
If GUICtrlRead($VALUE) = '' Then ContinueLoop MsgBox(262144, "Error", "Invalid value.")
$sSign = "+"
If $nMsg = $MINUS Then $sSign = "-"
If $nMsg = $MULTI Then $sSign = "*"
If $nMsg = $DIV Then $sSign = "/"
$sFile = GUICtrlRead($FILE)
$sRead = FileRead($sFile)
$aVal = StringRegExp($sRead, "\(money \((.+?) (.+?)\)\)", 3)
For $i = 0 To UBound($aVal) - 1 Step +2
GUICtrlSetData($PROG, (100 / UBound($aVal)) * ($i + 2))
$sRead = StringReplace($sRead, "(money (" & $aVal[$i] & " " & $aVal[$i + 1] & ")", _
"(money (" & $aVal[$i] & " " & Execute($aVal[$i + 1] & $sSign & GUICtrlRead($VALUE)) & "--)")
Sleep(20)
Next
$sRead = StringReplace($sRead, "--)", ")")
FileDelete($sFile)
FileWrite($sFile, $sRead)
MsgBox(262144, "Successfully", "The money was successfully changed.")
EndSwitch
WEnd
Hier noch fürs Geld. Vllt. auch beide male nochn Round reinsetzen, weil wenn du teilst kann es manchmal nen paar Nachkommastellen geben ;).
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <array.au3>
#include <WindowsConstants.au3>
$GUI = GUICreate("Kal Online EXP Changer", 390, 113, 281, 206)
$VALUE = GUICtrlCreateInput("", 96, 56, 105, 21)
$PLUS = GUICtrlCreateButton("+", 208, 56, 25, 25, $WS_GROUP)
$MINUS = GUICtrlCreateButton("-", 240, 56, 25, 25, $WS_GROUP)
$DIV = GUICtrlCreateButton("/", 304, 56, 25, 25, $WS_GROUP)
$MULTI = GUICtrlCreateButton("*", 272, 56, 25, 25, $WS_GROUP)
$FILE = GUICtrlCreateInput("", 72, 16, 217, 21)
$OPEN = GUICtrlCreateButton("Open", 296, 16, 57, 25, $WS_GROUP)
$FILE_LAB = GUICtrlCreateLabel("File:", 40, 16, 23, 17)
$VALUE_LAB = GUICtrlCreateLabel("Change by:", 32, 56, 58, 17)
DllCall('uxtheme.dll', 'none', 'SetThemeAppProperties', 'int', 0); BugFix
$PROG = GUICtrlCreateProgress(16, 96, 353, 9)
GUICtrlSetBkColor(-1, 0x000000)
GUICtrlSetColor(-1, 0x99FF99)
DllCall('uxtheme.dll', 'none', 'SetThemeAppProperties', 'int', 7)
GUISetState(@SW_SHOW)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $OPEN
$sFile = FileOpenDialog("Search for initmonster.txt", @ScriptDir & "\", "(initmonster.txt)", 1 + 4)
If @error Then ContinueLoop
GUICtrlSetData($FILE, $sFile)
Case $PLUS, $MINUS, $MULTI, $DIV
If GUICtrlRead($VALUE) = '' Then ContinueLoop MsgBox(262144, "Error", "Invalid value.")
$sSign = "+"
If $nMsg = $MINUS Then $sSign = "-"
If $nMsg = $MULTI Then $sSign = "*"
If $nMsg = $DIV Then $sSign = "/"
$sFile = GUICtrlRead($FILE)
$sRead = FileRead($sFile)
$aVal = StringRegExp($sRead, "\(exp (.+?)\)", 3)
For $i = 0 To UBound($aVal) - 1
GUICtrlSetData($PROG, (100 / UBound($aVal)) * ($i + 1))
$sRead = StringReplace($sRead, "(exp " & $aVal[$i] & ")", "(exp " & Execute($aVal[$i] & $sSign & GUICtrlRead($VALUE)) & "--)")
Sleep(20); Je nachdem wie viele Einträge so ne File hat kannste den anpassen. Ohne Sleep ist es halt sofort fertig und sieht demensprechend schlecht aus.
Next
$sRead = StringReplace($sRead, "--)", ")")
FileDelete($sFile)
FileWrite($sFile, $sRead)
MsgBox(262144, "Successfully", "The Experience was successfully changed.")
EndSwitch
WEnd
Hier noch mit Progressbar. Für das die money value brauchst du vorher ne andere GUI :). Hab den Oldstyle vom Progressbar gewählt, da der Vista immer so nachhängt mit dem animieren und nicht instant springt. Das sieht nicht gut aus, wenn der Progressbar bei 20% hängt und das Script fertig is Allerdings kannst du dadurch Farben setzen.
Hier mal ein Beispiel:
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <array.au3>
#include <WindowsConstants.au3>
#region ### START Koda GUI section ### Form=c:\users\kazu\desktop\gui.kxf
$GUI = GUICreate("Kal Online EXP Changer", 390, 90, 281, 206)
$VALUE = GUICtrlCreateInput("", 96, 56, 105, 21)
$PLUS = GUICtrlCreateButton("+", 208, 56, 25, 25, $WS_GROUP)
$MINUS = GUICtrlCreateButton("-", 240, 56, 25, 25, $WS_GROUP)
$DIV = GUICtrlCreateButton("/", 304, 56, 25, 25, $WS_GROUP)
$MULTI = GUICtrlCreateButton("*", 272, 56, 25, 25, $WS_GROUP)
$FILE = GUICtrlCreateInput("", 72, 16, 217, 21)
$OPEN = GUICtrlCreateButton("Open", 296, 16, 57, 25, $WS_GROUP)
$FILE_LAB = GUICtrlCreateLabel("File:", 40, 16, 23, 17)
$VALUE_LAB = GUICtrlCreateLabel("Change by:", 32, 56, 58, 17)
GUISetState(@SW_SHOW)
#endregion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $OPEN
$sFile = FileOpenDialog("Search for initmonster.txt", @ScriptDir & "\", "(initmonster.txt)", 1 + 4)
If @error Then ContinueLoop
GUICtrlSetData($FILE, $sFile)
Case $PLUS, $MINUS, $MULTI, $DIV
$sSign = "+"
If $nMsg = $MINUS Then $sSign = "-"
If $nMsg = $MULTI Then $sSign = "*"
If $nMsg = $DIV Then $sSign = "/"
$sRead = FileRead(GUICtrlRead($FILE))
$aVal = StringRegExp($sRead, "\(exp (\d*)\)", 3)
For $i = 0 To UBound($aVal) - 1
$sRead = StringReplace($sRead, "(exp " & $aVal[$i] & ")", "(exp " & Execute($aVal[$i] & $sSign & GUICtrlRead($VALUE)) & "--)")
Next
$sRead = StringReplace($sRead, "--) ", ") ")
FileDelete($sFile)
FileWrite($sFile, $sRead)
MsgBox(262144, "blubb", "geändert :)")
EndSwitch
WEnd
Jo. Und jetzt erstmal beinem Dialog die File einlesen mit FileRead und die exp Werte holen mit StringRegExp zum Beispiel.
Und bei den Case kannst du dann ja reagieren.
Ja, ist es. Aber erstmal die GUI bauen
Grüße