aber es funktionierte bisher ?
Richtigen Port eingestellt und MozRepl auch gestartet ?
Beiträge von Alcros
-
-
Spoiler anzeigen
oder noch einfacher :
[autoit]$sText = 'HYPERLINK "https://www.noch-eine-domain.com/xyz/bla.html"weitere Informationen.'
[/autoit]
$sNewText = StringRegExpReplace($sText, 'HYPERLINK "(.+?)"(.+)', "$1 $2")
MsgBox(0, "Ergebnis:", $sNewText)
lg
Edit : dein Text kam, wo ich schon geschrieben habeSpoiler anzeigen
[autoit]$sText = 'rtzrtz trzrtz "sedrtae rtwertert" HYPERLINK "https://www.noch-eine-domain.com/xyz/bla.html"weitere Informationen. werwerwerganz'
[/autoit]
$sNewText = StringRegExpReplace($sText, '(.+) HYPERLINK "(.+?)"(.+)', "$1 $2 $3")
ConsoleWrite($sNewText & @CRLF)
MsgBox(0, "Ergebnis:", $sNewText)
lg -
hast du meinen letzten Beitrag nicht gelesen ?
ich vermute du hattest irgendwo leerzeilen, ich hab ja auch das neue Skript gepostet -
funktionieren tut mein Skript deswegen immer noch, du musst bei FileRead den Dateinamen natürlich anpassen
sonst kommen außer die genannten ja keine Kommas vor ?
Es könnte sein dass du Leerzeilen hast, hab mein Skript mal diesbezüglich angepasstSpoiler anzeigen
[autoit]#include <Array.au3>
[/autoit] [autoit][/autoit] [autoit]Global $sFile = FileRead("z3.txt") ; Datei einlesen
[/autoit] [autoit][/autoit] [autoit]
$sFile = StringReplace($sFile,@CRLF,@LF) ; Alle Zeilenumbrücje in @LF ändern
$sFile = StringReplace($sFile,@CR,@LF) ; Alle Zeilenumbrücje in @LF ändern
$sFile = StringRegExpReplace($sFile,"\n+","\n")
Global $aSplit = StringSplit($sFile,@LF&",") ; Bei Komma und Zeilenumbruch splitenGlobal $aNamen[$aSplit[0]/2+1][2] ; Array erstellen
[/autoit]
$aNamen[0][0] = UBound($aNamen)-1 ; Anzahl in Array schreiben
Global $i
FOr $i=1 To UBound($aSplit)-1 Step 2 ; Werte in Array schreiben
$aNamen[($i+1)/2][0] = $aSplit[$i]
$aNamen[($i+1)/2][1] = $aSplit[$i+1]
Next
_ArrayDisplay($aNamen) -
oder am Anfang mit
[autoit]$sFile = StringReplace($sFile,", ",",")
[/autoit]poste doch mal die Testfile und bau evtl. Error-Abfragen ein
-
geht doch
Spoiler anzeigen
[autoit]#include <Array.au3>
[/autoit] [autoit][/autoit] [autoit]Global $sFile = FileRead("blabla.txt") ; Datei einlesen
[/autoit] [autoit][/autoit] [autoit]
$sFile = StringReplace($sFile,@CRLF,@LF) ; Alle Zeilenumbrücje in @LF ändern
$sFile = StringReplace($sFile,@CR,@LF) ; Alle Zeilenumbrücje in @LF ändern
Global $aSplit = StringSplit($sFile,@LF&",") ; Bei Komma und Zeilenumbruch splitenGlobal $aNamen[$aSplit[0]/2+1][2] ; Array erstellen
[/autoit]
$aNamen[0][0] = UBound($aNamen)-1 ; Anzahl in Array schreiben
Global $i
FOr $i=1 To UBound($aSplit)-1 Step 2 ; Werte in Array schreiben
$aNamen[($i+1)/2][0] = $aSplit[$i]
$aNamen[($i+1)/2][1] = $aSplit[$i+1]
Next
_ArrayDisplay($aNamen)
Edit : Die Leerzeichen nach dem Komma musst du noch selbst einbauen, dass die entfernt werden -
unm sowas zu verhindern, kannst du einfach am Anfag der Adlib-Funktion ein AdlibUnRegister und am Ende wieder ein AdlibRegister machen.
-
wenn es klappt, bitte den Thread auf [gelöst] setzen.
(Dazu den 1sten Beitrag bearbeiten und das Präfix ändern) -
ein GUISwitch wirkt da manchmal Wunder :
Spoiler anzeigen
[autoit]#include <ButtonConstants.au3>
[/autoit] [autoit][/autoit] [autoit]
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>Opt("GUIOnEventMode", 1)
[/autoit] [autoit][/autoit] [autoit]$MainGUI = GUICreate("GUI1", 213, 85, -1, -1, -1, $WS_EX_TOPMOST)
[/autoit] [autoit][/autoit] [autoit]
$ButtonSettings = GUICtrlCreateButton("Settings", 112, 10, 91, 25)
GUICtrlSetOnEvent(-1, "_SettingsWin")$SubGUI = GUICreate("Settings", 184, 239, -1, -1, -1, $WS_EX_TOPMOST)
[/autoit] [autoit][/autoit] [autoit]
$Button1Sub = GUICtrlCreateButton("&OK", 9, 203, 75, 25)
GUICtrlSetOnEvent(-1, "_SettingsWin")
GUISetState(@SW_SHOW, $MainGUI)GUISetOnEvent($GUI_EVENT_CLOSE, "_Close")
[/autoit] [autoit][/autoit] [autoit]While 1
[/autoit] [autoit][/autoit] [autoit]
Sleep(1000)
WEndFunc _SettingsWin()
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
$aCurInfo = GUIGetCursorInfo()
If IsArray($aCurInfo) Then
Switch $aCurInfo[4]
Case $ButtonSettings
ConsoleWrite("zeigen")
GUISetState(@SW_SHOW, $SubGUI)
Case $Button1Sub
GUISetState(@SW_HIDE, $SubGUI)
GUISwitch($MainGUI)
EndSwitch
EndIf
EndFuncFunc _Close()
[/autoit]
Exit
EndFunc ;==>hGUIClose
[autoit]
Aber warum denn so umständlich, guck dir mal das Makro an :@GUI_CtrlID
[/autoit] -
ist vllt nicht ganz deine Lösung, aber du könntest auch den OnEvent-Modus verwenden.
Damit hast du diese Lästigen Probleme erst gar nicht. -
Warum benutzt du ControlGetText ? Würde da nicht ein GUICtrlRead reichen ?
Denn die Controls in $abMarkt gehören ja zu deiner eigenen GUI anscheinend.Poste doch bitte mal ein lauffähiges Beispiel.
Außerdem ist es so evtl. besser :Spoiler anzeigen
[autoit]Global $iMsg,$i,$abMarkt[10]
[/autoit] [autoit][/autoit] [autoit]$iMsg = GUIGetMsg()
[/autoit] [autoit][/autoit] [autoit]
Switch $iMsg
; Case xyz hier werden andere Controls abgefragt
Case Else
For $i = 0 To 9 Step 1
If $abMarkt[$i] = $iMsg Then
Switch GUICtrlRead($abMarkt[$i])
Case _GetLang(12)Case _GetLang(13)
[/autoit] [autoit][/autoit] [autoit]Case _GetLang(14)
[/autoit] [autoit][/autoit] [autoit]Case _GetLang(15)
[/autoit] [autoit][/autoit] [autoit]Case _GetLang(16)
[/autoit] [autoit][/autoit] [autoit]Case _GetLang(17)
[/autoit] [autoit][/autoit] [autoit]Case _GetLang(18)
[/autoit]
__f_Inventar_Open()
EndSwitch
EndIf
Next
EndSwitch -
guck dir mal Zeile 23 an.
Soll wohl nicht $Form1 heißen, sondern $List1 -
Spoiler anzeigen
[autoit]#Include <File.au3>
[/autoit]
#include <Array.au3>
Global $aFileList = _FileListToArray(@ScriptDir ,"*.txt",1) ; Txt-Dateien auslesen
_ArrayDisplay($aFileList)
Global $i
For $i=1 To UBound($aFileList)-1 ; Ausgelesene Txt-Dateien nacheinander verarbeiten
; mache irgendwas
Next -
ganz einfach
[autoit]msgbox(0,"","YOLO0")
[/autoit]
for $i=1 To $votes ; Hier war der Fehler, erklärt sich selbst, wenn nicht --> Hilfe
msgbox(0,"","YOLO1")
_vote($proxys[$i])
Next
msgbox(0,"","YOLO2") -
als erstes solltest du AutoIt-Quellcode so posten :
Ich würde den Status + die ControlID in einem Array speichernIn etwa so :
Spoiler anzeigen
[autoit]#include <GUIConstantsEx.au3>
[/autoit] [autoit][/autoit] [autoit]
#include <GuiButton.au3>
#include <WindowsConstants.au3>
Global $aButtons[4][3]GUICreate('')
[/autoit] [autoit][/autoit] [autoit]
$aButtons[0][0] = GUICtrlCreateButton("", 112, 64, 25, 25)
$aButtons[0][2] = "0101"
$aButtons[1][0] = GUICtrlCreateButton("", 212, 64, 25, 25)
$aButtons[1][2] = "0100"
$aButtons[2][0] = GUICtrlCreateButton("", 112, 128, 25, 25)
$aButtons[2][2] = "0110"
$aButtons[3][0] = GUICtrlCreateButton("", 212, 128, 25, 25)
$aButtons[3][2] = "1100"GUISetState()
[/autoit] [autoit][/autoit] [autoit]While True
[/autoit] [autoit][/autoit] [autoit]
Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE
Exit
Case $aButtons[0][0]
_SwitchColor(0)
Case $aButtons[1][0]
_SwitchColor(1)
Case $aButtons[2][0]
_SwitchColor(2)
Case $aButtons[3][0]
_SwitchColor(3)
EndSwitch
WEndFunc _SwitchColor ($iIndex)
[/autoit]
$aButtons[$iIndex][1] = Not $aButtons[$iIndex][1]
If $aButtons[$iIndex][1] Then
GUICtrlSetBkColor($aButtons[$iIndex][0],0x990000)
Else
GUICtrlSetBkColor($aButtons[$iIndex][0],0x059122)
EndIf
MsgBox(0, "Test", $aButtons[$iIndex][2])
EndFuncEdit : Eine For-Schleife ist natürlich noch komfortabler, danke Make-Grafik ...
-
warum überschreibst du nicht einfach mit IniWrite die Daten, sollte doch nichts ausmachen, oder ?
-
sollte so gehen :
Spoiler anzeigen
[autoit]#include <Date.au3>
[/autoit] [autoit][/autoit] [autoit]Global $iSecondsAdd = 90090
[/autoit] [autoit][/autoit] [autoit]
Global $sDateTime = _DateAdd("s",$iSecondsAdd,"2013/01/01 00:00:00")
Global $iHours = _DateDiff("h","2013/01/01 00:00:00",$sDateTime)
Global $sTime = StringRegExpReplace($sDateTime,".+ (.+)","$1")
if $iHours > 23 Then $sTime = StringRegExpReplace($sTime,"^\d+?:",$iHours&":")MsgBox(0,"",$sTime)
[/autoit]
Edit : da war wohl jmd schneller -
ist eigentlich ganz einfach :
Spoiler anzeigen
[autoit]#include <Date.au3>
[/autoit] [autoit][/autoit] [autoit]Global $iSecondsAdd = 3690
[/autoit]
Global $sTime = StringRegExpReplace(_DateAdd("s",$iSecondsAdd,"2013/01/01 00:00:00"),".+ (.+)","$1")
MsgBox(0,"",$sTime)
Edit : Muss es auch mit Sekunden >= 86400 funktionieren ? Also mehr als 1 Tag . Dann müsste ich mein Skript leicht abändern -
und poste AutoIt-Code bitte so :
[ spoiler][ autoit]; Hier der Code[ /autoit][ /spoiler]
natürlich ohne die Leerzeichen -
so wird das aber viel ungenauer...
Spoiler anzeigen
[autoit]Global $iCount
[/autoit]
Global $hGUI = GUICreate("For-Schleife")
GUISetState()
For $iCount = 1 To 100
if GUIGetMsg()=-3 Then ; -3 entspricht $GUI_EVENT_CLOSE
MsgBox(0,"","Panik-Abbruch durchgeführt")
ExitLoop
EndIf
; mache irgendwas
ConsoleWrite($iCount & @CRLF)
Sleep(100)
Next