Herzlich willkommen und viel Spaß im Forum
Beiträge von Schnitzel
-
-
jup im_ArrayAdd
habs mal geändert:wieder ungetestet...
[autoit]#include <GUIConstantsEx.au3>
[/autoit] [autoit][/autoit] [autoit]
#include <Array.au3>
Opt("GuiOnEventMode", 1)Global $alist = _WinGetVis() ; Gibt alle sichtbaren fenster zurück (in dem fall wahrscheinlich besser als winlist)
[/autoit] [autoit][/autoit] [autoit]
Global $abutton[$alist[0]+1]
$abutton[0] = UBound($abutton) - 1GUICreate("Winlist Tool", 200, $alist[0] * 40, 0, 0)
[/autoit] [autoit][/autoit] [autoit]
For $i = 1 To $alist[0]
$abutton[$i] = GUICtrlCreateButton(Wingettitle($alist[$i]), 5, 5+$i*40, 180, 30); wingettitle damit der button nen vernünftigen namen hat
GUICtrlSetOnEvent(-1, "button")
Next
GUISetState(@SW_SHOW)GUISetOnEvent($GUI_EVENT_CLOSE,"quit")
[/autoit] [autoit][/autoit] [autoit]While Sleep(100)
[/autoit] [autoit][/autoit] [autoit]
WEndFunc button()
[/autoit] [autoit][/autoit] [autoit]
For $i = 0 To $abutton[0]
If @GUI_CtrlId = $abutton[$i] Then
WinActivate($alist[$i])
ExitLoop
EndIf
Next
EndFuncFunc quit()
[/autoit] [autoit][/autoit] [autoit]
Exit
EndFuncFunc _WinGetVis()
[/autoit]
Dim $Winvisible[1]
$Winlist = WinList()
For $i = 1 To $Winlist[0][0]
If StringStripCR($Winlist[$i][0]) <> "" And BitAND(WinGetState($Winlist[$i][1]), 2) Then
_ArrayAdd($Winvisible, $Winlist[$i][1]); hier ist die 1
$Winvisible[0] = UBound($Winvisible) - 1
EndIf
Next
Return $Winvisible
EndFunc -
Zitat von »Schnitzel«
in dem fall kannste iniread und iniwrite verwenden.Was trägst du da als Sectionname ein?
je nachdem wie die txt aussieht, siehste dann
-
wenn du das rad immer neu erfinden willst^^
ini funktionien sind aber hier wohl die beste lösung da:
schnell geschrieben
fehlerresistenter
schneller -
ich glaub ich hab nicht ganz verstanden was du da bastelst.
also du ließt den text eines fensters aus.
dann überprüfst du ob '(47)' enthalten ist.
und was soll er machen wenn es enthalten ist?wäre statt dem Regex vergleich nicht das wesentlich schöner:
[autoit]StringInStr($wintext, '(47)', 1)
[/autoit]und statt send wahrscheinlich eine der controlfunktionen. wahrscheinich
[autoit]Controlclick()
[/autoit] -
da haste aber glück.
in dem fall kannste iniread und iniwrite verwenden.
da wird das script ziemlich simpellad am besten mal die txt datei hoch und deine zugehörige gui, dann zeig ich dir wies am leichtesten geht
-
du brauchst nur einen case bauen der ausließt was in der combo steht
[autoit]
sowas in der artcase $combo1
[/autoit]
switch guictrlread($combo1)
case "item1"
msgbox(0,"","1")
case "item2"
msgbox(0,"","2")
case "item3"
msgbox(0,"","3")
endswitch -
Öffnen/Bearbeiten der datei
Fileopen
Filewrite
FilecloseWerte suchen und ersetzten
Stringsplit
_Stringbetween
StringRegexp
StringRegexpreplace
und viele andere string funktionen
je nachdem wie die datei aussieht -
Habs bis eben versucht aba iwi versteh ich es net...
dann erklär mal woran es scheitert
(ich geb zu mein script is wahrscheinlich recht verwirrend, war ja auch auf die schnelle mal gemacht...)
-
Wenn ich mich Recht erinnere, beruht AdlibRegister auf einem DLLCallBack (oder?!). MsgBoxen, InputBoxen und alles was sonst "blockt" kann zu unerwartetem Verhalten führen (Abstürze, Freeze).
jup genau das
also einfach keine sachen verwenden die das script länger anhalten
-
selbst ist der mann
(mein beispiel is übrigens nicht wirklich gut, wenn ein fenster geschlossen wird oder eins dazu kommt ist die ganze gui natürlich falsch^^ )
-
Sry bin legistiner ich habe rechtschreibr schwächen!!!
is ja kein problem, man konnte nur keine frage erkennen.
sry wenn es dich beleidigt hat.Zum Problem:
[autoit]
Ich würde die Internetseite auslesen mit :_INetGetSource
[/autoit]und dann auswerten mit
[autoit]_Stringbetween() ; oder mit
[/autoit]
StringRegExp() -
60 :D, ja ich weß. Liegt vielleicht daran, dass ich noch nicht richtig wach bin.
dann musste eher aufstehn
als tipp nebenbei:
das script dürfte ziemlich prozessorlastig sein.
schau dir lieber mal Adlibregister() an
(aber dadrin keine msgboxen verwenden, eher was wie tooltip was nach ner zeit verschwindet ) -
So und jetz bitte mal ganz ruhig, ausführlich und mit konkreter frage.
Was sollen wir mit so einem thread denn bitte anfangen?
irgendwas mit link und html, da gibts viele möglichkeiten ...
-
ok ich hab hier mal n quick n dirty beispiel gebastelt.
Spoiler anzeigen
[autoit]#include <GUIConstantsEx.au3>
[/autoit] [autoit][/autoit] [autoit]
#include <Array.au3>
Opt("GuiOnEventMode", 1)Global $alist = _WinGetVis() ; Gibt alle sichtbaren fenster zurück (in dem fall wahrscheinlich besser als winlist)
[/autoit] [autoit][/autoit] [autoit]
Global $abutton[$alist[0]+1]
$abutton[0] = UBound($abutton) - 1GUICreate("Winlist Tool", 200, $alist[0] * 40, 0, 0)
[/autoit] [autoit][/autoit] [autoit]
For $i = 1 To $alist[0]
$abutton[$i] = GUICtrlCreateButton($alist[$i], 5, 5+$i*40, 180, 30)
GUICtrlSetOnEvent(-1, "button")
Next
GUISetState(@SW_SHOW)GUISetOnEvent($GUI_EVENT_CLOSE,"quit")
[/autoit] [autoit][/autoit] [autoit]While Sleep(100)
[/autoit] [autoit][/autoit] [autoit]
WEndFunc button()
[/autoit] [autoit][/autoit] [autoit]
For $i = 0 To $abutton[0]
If @GUI_CtrlId = $abutton[$i] Then
WinActivate($alist[$i])
ExitLoop
EndIf
Next
EndFuncFunc quit()
[/autoit] [autoit][/autoit] [autoit]
Exit
EndFuncFunc _WinGetVis()
[/autoit]
Dim $Winvisible[1]
$Winlist = WinList()
For $i = 1 To $Winlist[0][0]
If StringStripCR($Winlist[$i][0]) <> "" And BitAND(WinGetState($Winlist[$i][1]), 2) Then
_ArrayAdd($Winvisible, $Winlist[$i][0])
$Winvisible[0] = UBound($Winvisible) - 1
EndIf
Next
Return $Winvisible
EndFunc -
das kapier ich jetzt nicht ganz.
Ich hatte es erst so verstanden:Für jedes fenster einen button erstellen mit dem man das Fenster aktivieren kann.
was meinst du genau mit deinem 2ten post?
-
@autoitinstallermaker:
posts sollen nicht gelöscht werden. du kannst ihn zwar löschen aber dann wird er von nem mod wiederhergestellt und der sagt dir dann du sollst es bitte nicht tun(der thread wird so eh nicht gelöscht)
-
wenn ich z.b in einem online game einen befehl damit eigben will wird die eingabe ignorirt ( SPAM Schutz oder so )
danke darauf hab ich gewartet
-
@AspririnJunkie:
Das ist das erste mal das ich das sage glaub ich: "Du hast zuviel in die hilfe gesehn"
wieso soll er ermitteln wie eine verknüpfung heißt wenn er sie doch selbst erstellt hat?
irgendwie sinnfrei oder?@autoitinstallermaker:
benötigst du denn die $Pid oder nicht? wenn ja dann sollte es so in etwa aussehen:
(sinngemäß mahagon)Spoiler anzeigen
[autoit]$Shortcut = FileCreateShortcut("C:\Novell\GroupWise\grpwise.exe",@DesktopDir & "\GPPWC",@TempDir,"\@u-?")
[/autoit]
If @error Then MsgBox(1,"Fehler", "Fehler beim erstellen der Verknüpfung" & @CRLF & "FileCreateShortcut errorcode " & @error)
$PID = Run("C:\Novell\GroupWise\grpwise.exe \@u-?")
If @error <> 0 Then MsgBox(1,"Fehler","Run errorcode: " & @error)
Exitansonsten bleib ich bei meinem ersten vorschlag
-
Anders gefragt:
Warum ist es dir zu schnell?
Für was benötigt man es langsamer?