Hey, das ist doch mal richtig hamma ![]()
mit dem Ergebnis (vista):
"Das wird uber ocR ausge_esen"
kann man leben ![]()
Vielen Dank für das Beispiel, ich werds sicherlich noch öfters benutzen ![]()
Beiträge von XovoxKingdom
-
-
Würde mich auch mal interessieren

Ich bin mir nicht sicher ob man mehrere "Ping-tools" zugleich laufen lassen kann.
Z.B. Script1 scannt die ersten 100, Script2 die folgenden 100 usw.
dann haste 20 Scripte zugleich laufen (große Auslastung ist sicherlich zu erwarten)
Diese Lösung ist vielleicht umsetzbar, aber bestimmt zu ressourcenlastig und ich weiss nicht ob die Scripte parallel laufen können.

dann bin ich mal auf "gute" Lösungen gespannt

-
ein kurzer Beispielcode:
Spoiler anzeigen
[autoit]#include <ButtonConstants.au3>
[/autoit] [autoit][/autoit] [autoit]
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>#Region ### START Koda GUI section ### Form=
[/autoit] [autoit][/autoit] [autoit]
$Form1 = GUICreate("Testform", 371, 179, 193, 125)
$Edit1 = GUICtrlCreateEdit("", 8, 16, 209, 153)
$Button1 = GUICtrlCreateButton("Neuen Wert Ändern", 232, 128, 129, 33, 0)
$Input1 = GUICtrlCreateInput("16000", 240, 88, 105, 21, BitOR($ES_CENTER,$ES_AUTOHSCROLL))
$Label1 = GUICtrlCreateLabel("Aktueller Stand:", 248, 16, 79, 17)
$Label2 = GUICtrlCreateLabel("15152", 272, 56, 34, 17)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###While 1
[/autoit] [autoit][/autoit] [autoit]
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
$NeuerWert=Execute(GUICtrlRead($Input1)-GUICtrlRead($Label2))
If $NeuerWert > 0 Then
$NeuerWert = "+"&$NeuerWert
EndIf
GUICtrlSetData($Edit1,GUICtrlRead($Edit1)&$NeuerWert&@CRLF)
GUICtrlSetData($Label2,GUICtrlRead($Input1))EndSwitch
[/autoit]
WEnd -
Irgendwie komme ich nicht so ganz dahinter was dein Programm machne soll (Brett vorm Kopf :S)
Vielleicht hilft dir trotzdem mein Vorschlag:
Du kannst den "alten" Wert immer in einer Temporären Variable Speichern
und per Execute() den Wert auf erhöhen/senken überprüfen.konkret:
NeuerWert( 16000 ) - AlterWert ( 15152 ) = ÄnderungsWert( 848 )
guictrlsetdata(EDITID,GUICTRLREAD(EDITID)&@CRLF&ÄnderungsWert(vielleicht ist es das was du brauchst - bin net sicher)
-
Du kannst dir das Script auch selber machen (btw. die Hilfedatei wird dir meistens bei der Lösung helfen)
[autoit]While 1
[/autoit]
$Pos=Mousegetpos()
Tooltip("X = "&$Pos[0]&@CRLF&"Y = "&$Pos[1])
Sleep(10)
Wend
sollte funzen
-
Ich kann mich leider nicht direkt mit dem Problem auseinandersetzen..
[autoit]
(nur mit dem Code)
Deinen Letzten Code könnte man noch vereinfachen (sofern du die ersten 2 "IP-Abschnitte" haben willst)
// Es kann ja mal sein, dass die IP anders ist z.b. 192. ... oder so
Mein Vorschlag:$Msg=0
[/autoit][autoit][/autoit][autoit]
$FaNet="10.49"
$IPteile1=stringsplit(@IPAddress1,".")
$IPteile2=stringsplit(@IPAddress2,".")
$IPteile3=stringsplit(@IPAddress3,".")
$IPteile4=stringsplit(@IPAddress4,".")
if $IPteile1[1]&"."&$IPteile1[2]&"."=$FaNet Then
$Msg=1
;...
endif
;Hier wurden der Teil VOR dem ersten Punkt, der Punkt selber und der Teil NACH dem 1. Punkt zur Überprüfung genommen
;Damit man bei unterschiedlicher IPlänge das besser anpassen kann (bei konstanter IP ist deine Lösung natürlich auch möglich)
if $IPteile2[1]&"."&$IPteile2[2]&"."=$FaNet Then
$Msg=1
;...
endif;...
[/autoit][autoit][/autoit][autoit]if $msg=1 then
[/autoit]
msgbox(0,"","Willkommen!")
endif
Sollte funzen
(nicht getestet) -
Falls es dir um die derzeitige Mausposition geht (und du das AutoIT Info Tool nicht verwenden möchtest...)
[autoit]
kannst du auch dieses Script vorher starten:While 1
[/autoit]
$P=MouseGetPos()
ToolTip("X: "&$P[0]&@CRLF&"Y: "&$P[1])
Sleep(10)
WEnd -
Also mit dem AutoIT Info Tool (im Autoit Verzeichnis) kannst du die Koordinaten auslesen (falls du das meintest)
[autoit]
und sonst kannst du von Bild die Größe mitFileGetSize
[/autoit]
herausbekommen
-
ich glaube du meinst das hier:
[autoit]_ScreenCapture_CaptureWnd
[/autoit]
in der Hilfe ist dazu ein Beispiel beschrieben. -
Hi,
ich hab das Programm gleich mal getestet (unter Vista, hol mir bald aber wieder XP ^^)Problem:
1.Wenn man bei der Combobox z.b. Autoit.de auswählt kommt ne FehlermeldungZitatBei der Weitergabe des Befehls an das Programm ist ein Fehler aufgetreten
2. wenn man im traymenü was anklickt (URLS bearbeiten) und das kleine fenster schließt, dann verschwindet die sidebar kurz
3. Beenden funzt auch nicht (about auch nicht)
"Verständnis Problem": was soll mir die 0 ms. sagen unter der lokalen netzwerk IP?

Ich habe die Datei nur runtergeladen + Installiert (mir fehlt die audio.au3 - und die runtergeladene funzt net so richtig)
Feedback: Ich muss sagen nicht schlecht
hat sicherlich ne ganze weile gedauert bis du die sidebar fertiggestellt hast!!Verbesserungsvorschläge: verschiedene themes z.b. Transparente Sidebar, Drag & Drop in der Editbox (wird das eigentlich gespeichert?)
PS: kann sein, dass du einiges bereits in der Codeversion anders hast (oder an vista liegt mit der Fehlermeldung)
-
du hast den style bestimmt schon geändert?!
wenn du diese Einstellung nimmst kannste die Uhrzeit auch mit anzeigen lassen
$style = "dd.MM.yyyy - hh:mm"die Überprüfung kannste ganz einfach machen:
[autoit]If guictrlread($date1)=@mday&"."&@mon&"."&@year&" - "&@hour&":"&@min then
[/autoit]
FUNKTION()
;SLEEP ODER SOWAS DARFSTE HIER NICHT VERGESSEN , sonst wird sie zu oft ausgeführt sleep(60000)= 1 min
endif
(nicht getestet.. sollte aber funzen)
-
Du könntest einfach mit einer Schleife die Datei durchsuchen
[autoit]#include <file.au3>
[/autoit]
for $i=1 to _Filecountlines("DATEINAME")
if stringleft(filereadline("DATEINAME",$i),STRINGLÄNGE DES GESUCHTEN ANFANGS)<>"SUCHSTRING" then
guictrlcreatelistviewitem(filereadline("DATEINAME",$i),LISTVIEWID)
endif
next
Sollte funktionieren (nicht getestet) -
Moin,
Ich weiss leider nicht ob deine Zeitsteuerung (wie es die Grafik erahnen lässt) nur für ein Datum gilt oder auch noch eine Uhrzeit.
(Nur so als Tipp: wenn du die Funktion in einer Schleife aufrufst, die zu Beginn das Datum POSITIV überprüft, dann wird sich die
Funktion (ungewollt) oft abspielen!!)
ich würde dir die _Datediff Funktion zur Überprüfung anbieten (guck am besten in der Hilfe nach, frei nach dem Motto: selber lernen macht klug)
[autoit]
und dann kannste dir auch guictrlcreatedate angucken (wegen der Ansicht des Datums)
ACHTUNG: wenn du das Datum nicht auf das _datediff format bringst, kann es damit nicht arbeiten.
Ich hoffe ich nehme nicht zuviel weg (solltest du in der hilfe nachschauen , dann prägt es sich ein
)Local $DTM_SETFORMAT_, $style
[/autoit][autoit][/autoit][autoit]
$DTM_SETFORMAT_ = 0x1032
$style = "dd.MM.yyyy"
$Date1 = GUICtrlCreateDate(@YEAR&"/"&@MON&"/"&@MDAY, 208, 120, 169, 21)
GUICtrlSendMsg($Date1, $DTM_SETFORMAT_, 0, $style)
;Das war die Änderung zum "deutschen" Datumsformat, kann man aber auch mit Uhrzeit machen glaub ichFunc Date2User($date,$status=1)
[/autoit][autoit][/autoit][autoit]If $status=1 Then
[/autoit]
$ts=StringSplit($date,"/")
_ArrayReverse($ts)
$output=$ts[0]&"."&$ts[1]&"."&$ts[2]
Return $output
Else
$ts=StringSplit($date,".")
_ArrayReverse($ts)
$output=$ts[0]&"/"&$ts[1]&"/"&$ts[2]
Return $output
EndIf
EndFunc
;Das ist meine Funktion zum Umwandeln zwischen dem "deutschen" und dem "englischen" Datum
;Wenn du ein deutsches Datum hast, gib es als Argument in die Funktion ein, wähle als status Irgendwas ungleich 1
;Die Rückgabe solltest du dann in einer neuen variable speichern
;Andersrum kannst du das englische datum entweder mit dem 2ten Argument 1 übergeben, oder nur 1 Argument nehmen (1 = default)
Ich hoffe du kannst damit was anfangen
-
[autoit]
#include <ButtonConstants.au3>
[/autoit][autoit][/autoit][autoit]
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>Dim $Verzoegerung = 1 ; in Sekunden vor dem Senden der ERSTEN Taste
[/autoit][autoit][/autoit][autoit]
Opt("sendkeydelay",100); Verzögerung nach JEDEM Tastendruck - Standard 5
$Form1 = GUICreate("SENDEN", 224, 78, 193, 125)
$Input1 = GUICtrlCreateInput("Hier kann ein gescheiter Satz stehen", 8, 8, 201, 21)
$Button1 = GUICtrlCreateButton("Senden", 32, 40, 129, 25, 0)
GUISetState(@SW_SHOW)While 1
[/autoit][autoit][/autoit][autoit]
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
Sleep(1000*$Verzoegerung)
Send(GUICtrlRead($Input1),1)EndSwitch
[/autoit]
WEnd -
Also das Problem liegt weiterhin in der fehlenden Variablen Deklarierung...
Du hast Variablen benutzt, die jedoch noch nicht "bekannt gemacht" wurden.
Du willst die verschiedenen Dateien sicherlich einbinden (oder hast es bereits gemacht).
Wenn du es bereits gemacht hast, kommt WARSCHEINLICH keine Fehlermeldung, da du bereits die
Variablen deklariert hast BEVOR du die Funktionen aufrufst.
Falls du sie einfach "nur so" geschrieben hast, dann klappt es ohne weiteres nicht.
Hier mal die Fehlermeldung aus der ersten Datei (writeini.au3):Spoiler anzeigen
C:\Users\USERNAME\Desktop\ftest.au3(5,39) : WARNING: $coll_key: possibly used before declaration.
$read_inpt = GUICtrlRead($coll_key[$i])
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
C:\Users\USERNAME\Desktop\ftest.au3(32,49) : WARNING: $cmb_key: possibly used before declaration.
GUICtrlSetData($coll_key[$i],"F-Key|" & $cmb_key,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
C:\Users\USERNAME\Desktop\ftest.au3(5,39) : ERROR: $coll_key: undeclared global variable.
$read_inpt = GUICtrlRead($coll_key[$i])
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
C:\Users\USERNAME\Desktop\ftest.au3 - 1 error(s), 2 warning(s)
2 Möglichkeiten gibt es nun:
1. Du schreibst ganz oben in die iniwrite.au3
"Global $coll_key=HIER DEN STANDARD WERT EINGEBEN, $cmb_key = HIER AUCH"
oder
2. Du schreibst die Fehlenden Variablen (in dem Fall: $coll_key,$cmb_key) in den "Funktionskopf"
(d.h. in die Klammer der Funktion)
und kannst per Aufruf den Wert bestimmen
(Beispiel: siehe meinen letzten Post) -
Ich bin mir nicht sicher (und sicherlich auch voreilig), aber was ist das denn für ein Spiel?
Zitat"Mein Spiel - Gegenstand aufgenommen"
Nur so zur Info Bots werden NICHT unterstützt KLICK MICH
(korrigiere mich bitte wenn ich mich irren sollte) -
Also ich finde die Idee gut
, vor allem wenn man auf Funktionen zurückgreifen kann die nicht in der Hilfe sind, aber trotzdem sehr gut sind.
Es ist ja *immer besser auf eine (nahezu) fehlerfreie Lösung zurückzugreifen, als sich selber mit fehlerhaften Umsetzungen zu quälen!*Dazu muss gesagt werden, dass der Lernprozess bei einfachem Copy&paste auf der Strecke bleibt
Das aktuell halten ist zwar ein kleines Problem, aber bei diesem Forum gibt es sicher den einen oder anderen der irgendwo UDFs ausgräbt

Ich würde in erster Linie auf die Übersicht zurückgreifen und dann (bei möglichem Misserfolg) die Hilfe zur Hand nehmen! -
Also ich muss sagen das Spiel ist SUPER
zu dem "Mp3-Problem":
Für Audacity muss man zum Speichern von MP3 dateien eine .dll Datei einbinden die "lame_enc.dll"
(kann man kostenfrei herunterladen)
ich weiss nicht ob man die damit auch abspielen kann oder nur konvertiert
Hier kann man sie runterladen LINK -
Danke für den Ansatz (muss ich mir im Detail nochmal angucken wodran es liegt)
Derzeit FAST nur reguläre eingaben möglich:
"03:5999999999999" ist auch möglich
(kann man bestimmt mit der begrenzung an zeichen fixen)
(das bekomme ich noch hin :P)
aber warum flackert die GUI so?
kann man das irgendwie verhindern?
wenn man z.b. "3" eingibt dann steht da "03:" (ist ja richtig)
aber der curser bewegt sich schnell und flackert..
bei einer vollständigen uhrzeit scheints zu funzen.PS: Diese GUI ist nur ein ausschnitt damits nicht zu unübersichtlich ist
kann man diese methode in punkto Performance noch verbessern? (die "richtige" GUI wird etwas umfangreicher) -
Ich würde mal davon ausgehen das der Array $split mit Stringsplit gebildet wurde...
Im ERSTEN Eintrag des Arrays wird die Anzahl an "Zerteilungen" angezeigt
$split[0]= Anzahl der "Zerteilungen"
$split[1]= Dein gesuchter erster Wert
(Ist nur eine Vermutung)und zu $aLVItem:
Du ordnest jedem Wert des Arrays die ID des (gerade neu erstellten) Listviewitems zu.
Da die ID jedoch NICHT bei 1 beginnt (0 ist glaub ich die GUI selber ($Form) -
1 wird dann warscheinlich das Listview sein und weitere buttons "klauen" sich dann die nächsten IDs)
wird deine Rückgabe von den Elementen die bereits erstellt wurden beeinflusst.
Um die Msgbox anzupassen musst du nur die derzeitige ID (die aufgerufen wird) - die anzahl der ERSTEN ID (der Listviewitems) machen
und ggf. noch +1 rechnen falls du nicht dir Rückgabe der ersten zeile "0" haben willst
ich hoffe ich konnte dir helfen, sonst wäre es vielleicht doch angebracht den ganzen code zu posten