ist des irgendwie ne geheime datei oder ist es einfach nur so schwer den kompletten link zu posten. man kann dir so einfach nicht helfen
![]()
ist des irgendwie ne geheime datei oder ist es einfach nur so schwer den kompletten link zu posten. man kann dir so einfach nicht helfen
![]()
bitte poste doch mal dein script. oder zumindest die inetget zeile mit deinen daten
Wow heftige idee. das wäre auf jeden fall mal was sehr nützliches, da ich mir oft überlegt ob ich funktionen auf geschwindigkeit optimieren sollte oder doch lieber die Lesbarkeit beibehalten. so wäre das problem ideal gelöst.
ich werds auf jeden fall versuchen.
ideal wäre dann aber noch eine liste mit bekannten geschwindigkeitsoptimierungen. damit jeder die gleichen vorraussetzungen hat.
ich kenn zum beispiel nur die:
- kurze variablennamen schneller als lange
- select case schneller als if
am einfachsten indem du statt:
[autoit]GUISetOnEvent($GUI_EVENT_CLOSE, "SpecialEvents")
[/autoit]einfach:
[autoit]GUISetOnEvent($GUI_EVENT_CLOSE, "")
[/autoit]schreibst
hab hier nochmal 6 kleine verbesserungsvorschläge:
1. ich würde absichern das man nicht aus versehn auf abmelden, herrunterfahren oder neustarten klickt. is ziemlich nervig wenn man grad viel offen hat und dann mal aus versehen draufkommt. entweder ne checkbox die die buttons disabled oder ne msgbox wo man gefragt wird ob man wirklich abmelden neustarten oder herrunterfahren will
2. cmd input mit enter bestätigen: ich als alter cmd fan finde es ziemlich störend wenn man einen befehl eingibt und dann nicht mit enter ausführen lassen kann sondern auf den button klicken muss. die änderung is ja kein problem. einfach nur ein style der inputbox
3. unter besonderheit --> menü: hier sollten sie sich genau überlegen was sie machen. so stehts da. aber es steht nicht wirklich da was denn gemacht wird wenn man auf ja klickt. man könnte vermuten aber sowas ist generell eher schlecht. (vor allem wenn dasteht man soll sichs gut überlegen ^^)
4. datum und time inputbox auf disables setzen: egtl schon ziemlich unwichtig aber ich würd die inputboxen auf disabled setzten. dann kann man sie nicht löschen oder iwas reinschreiben.
5. netzwerk --> menü --> netzwerk stueeren : da is n schreibfehler
6. im menü steht: 1. sperren 2. abmelden 3. neu start 4. ausschalten: is zwar null wichtig, aber ich finde neu start passt da nicht rein. (3 verben, ein substantiv). Entweder alles Tunwörter oder alles Namenwörter ![]()
achja und "OrganizeIncludes" sagt dass du die ListViewConstants.au3 brauchst. aber keine ahnung ob das stimmt
ansonsten (und des sind ja echt eher kleine verbesserungsvorschläge) finde ich das tool echt cool
mach weiter so ![]()
ich weiß nich warum man n array einer msgbox anzeigen will weil die formatierung einfach nur unschön ist aber hier n bsp:
[autoit]$2dimarray = winlist()
$text = ""
for $i = 1 To $2dimarray[0][0]
$text = $text & "Index [" & $i & "][0] " & $2dimarray[$i][0] & @TAB & "Index [" & $i & "][1] " & $2dimarray[$i][1] & @CRLF
Next
MsgBox(0,"", $text)
[/autoit]ja lmgtfy is so die übelst geile seite ![]()
hab mir a scho überlegt die zu posten. aber mir fiel der name ned ein.
werd ich aber ab jetz immer bei sowas tun glaub ich
erstes ergebnis bei google unter: "Bios version auslesen"
ZitatAlles anzeigen[*]Öffnen Sie den Registrierungseditor über "Start", "Ausführen" und die Eingabe von "regedit" <Enter>.[*]Wechseln Sie auf den Schlüssel HKEY_LOCAL_MACHINE\ HARDWARE\DESCRIPTION \System.[*]Hier finden Sie folgende Informationen:
so schwer is doch sowas nich
Im Zweifel für den angeklagten.
also ich bin für: Im Zweifel fragen für was ers braucht ![]()
achso wenn du die leeren rauslöschen willst dann so:
[autoit]#include <array.au3>
[/autoit][autoit][/autoit][autoit]Local $keys [1] [2], $startkey = "HKEY_LOCAL_MACHINE\SOFTWARE\", $string = "wert01"
[/autoit][autoit][/autoit][autoit]For $i= 1 to 100
$var = RegEnumKey($startkey, $i)
If @error <> 0 then ExitLoop
$keys [$i - 1] [0] = $var
ReDim $keys [$i + 1] [2]
Next
For $i = 0 To UBound ($keys) - 1
$regkey = RegRead ($startkey & "\" & $keys [$i] [0], "zeichenfolgetest")
If @error <> 0 then ExitLoop
If $regkey <> $string Then
$keys [$i] [1] = $regkey
EndIf
Next
For $i = ubound($keys) - 1 To 0 Step -1
If StringStripCR($keys[$i][1]) = "" Then _ArrayDelete($keys, $i)
Next
_ArrayDisplay ($keys)
[/autoit]bin zwar nich ganz im thema aber so könnts funktionieren:
[autoit]#include <array.au3>
[/autoit][autoit][/autoit][autoit]Local $keys [1] [2], $startkey = "HKEY_LOCAL_MACHINE\SOFTWARE\", $string = "wert01"
[/autoit][autoit][/autoit][autoit]For $i= 1 to 100
$var = RegEnumKey($startkey, $i)
If @error <> 0 then ExitLoop
$keys [$i - 1] [0] = $var
ReDim $keys [$i + 1] [2]
Next
For $i = 0 To UBound ($keys) - 1
$regkey = RegRead ($startkey & "\" & $keys [$i] [0], "zeichenfolgetest")
If @error <> 0 then ExitLoop
If $regkey <> $string Then
$keys [$i] [1] = $regkey
EndIf
Next
For $i = ubound($keys) - 1 To 0 Step -1
If $keys[$i][1] = 'wert01' Then _ArrayDelete($keys, $i)
Next
_ArrayDisplay ($keys)
[/autoit]Jup mit den msgboxen wollte ich dir nur helfen zu finden wo genau der fehler liegt. Consolewrite ist da manchmal die bessere lösung. aber meistens tun msgboxen das gleiche.
ich idiot hab vorher in aller eile was übersehn/verwechselt. und zwar benutzt du winwait.
der fehler dürfte sein das: winwait prüft ob ein fenster da ist. d.h. es wartet so lange bis das fenster existiert. und wenn es dann existiert kommt sofort der controlclick. das problem wahrscheinlich ist das das fenster schon existiert aber noch nicht activ angezeigt wird. d.h. der controlclick kann nicht richtig ausgeführt werden. --> es hängt
wenn du statt winwait, das winactive benützt müsste es funktionieren.
achja und mit den msgboxen ging es deshalb weil bis du die msgbox geklickt hast ist das fenster vollkommen fertig geladen und wird nachdem du die box bestätigt hast auf activ gesetzt.
Meine theorie muss aber auch nicht stimmen ![]()
lösung wäre aber dann:
[url='http://www.autoit.de/dokumentation_aktuell/functions/MsgBox.htm']
Run ("BlackBerrySetup.exe")
Winactive("Setup-Sprache auswählen", "Wählen Sie die Sprache dieser Installation aus der unten aufgeführten Auswahl aus")
ControlClick("Setup-Sprache auswählen","","Button1")
WinWaitActive("BlackBerry Desktop Software 5.0.1 - InstallShield Wizard","BlackBerry Desktop Software 5.0.1")
ControlClick("BlackBerry Desktop Software 5.0.1 - InstallShield Wizard","BlackBerry Desktop Software 5.0.1 - InstallShield Wizard","Button1")
wenn er die msgboxen garnicht erst anzeigt dann hängt er schon wo anders, wo kannst du ja ganz leicht überprüfen:
[autoit]
msgbox(0,"","start")
Run ("BlackBerrySetup.exe")
msgbox(0,"","blackberrysetup läuft")
WinWait("Setup-Sprache auswählen", "Wählen Sie die Sprache dieser Installation aus der unten aufgeführten Auswahl aus", 15)
msgbox(0,"","setup fenster aktiv")
ControlClick("Setup-Sprache auswählen","","Button1")
msgbox(0,"","controlclick1 ausgeführt")
WinWaitActive("BlackBerry Desktop Software 5.0.1 - InstallShield Wizard","BlackBerry Desktop Software 5.0.1")
msgbox(0,"","nächstes fenster aktiv")
ControlClick("BlackBerry Desktop Software 5.0.1 - InstallShield Wizard","BlackBerry Desktop Software 5.0.1 - InstallShield Wizard","Button1")
msgbox(0,"","contolclick2 ausgeführt")
ich check deine befehle da nicht so ganz, schreib mir am besten was ich einfügen muss und dann wie das ganz funktioniert
nein sowas kannst du nicht erwarten. das ist ein freiwilliges forum in dem welche die schon mehr mit autoit gemacht haben anderen helfen.
aber es ist kein wunschkonzert.
hilfe kriegst du dann wenn dus selbst nicht auf die reihe kriegst.
lad dir die deutsche hilfedatei hier und schau dir die einzelnen befehle an. zu jedem deiner befehle is da auch n beispiel drin mit dem du auf jeden fall auf den richtigen weg kommst.
wenn du nich weiterkommen solltest dann poste ein angefangenens script oder einen vernünftigen lösungsansatz mit ausführlicher erklärung dann wird dir auch geholfen
hmm naja ich könnte das ja eig. auch vorhher vergleichen
sowas ist ein beispiel für ein lösungsansatz der zwar genannt aber null beschrieben ist.
keiner weiß:
- wie du die textfiles bearbeitest
- welche art von textfiles du bearbeitst
- wie du dir vorstellst es umzusetzten. (mit gui, einfach nur ne exe oder buttons die du zum beispiel ins notepad integrierst)
- was genau du alles machen willst. nur doppelte wörter rauslöschen? und wann? wenn sie hintereinanderstehen oder wenn sie in der textdatei 2 oder mehrfach vorkommen
also bitte beschreib dein problem bisschen genauer...
Zitatwobei das relativ einfach ist
das finde ich machts erst intressant.
obwohl es so einfach ist wird jede lösung anders sein. machche werden besser funktionieren, andere werden auch funktionieren aber nich so gut ![]()
und man könnte viel tolle sachen miteinbauen
hallo ramboworld und willkommen im forum ![]()
hier paar kleine tipps:
- winactive ist meistens sicherer als winwaitactive
- controls lassen sich oft sicherer über die Advanced Class (siehe Window Info Tool) steuern
bei einem button sieht das zum beispiel so aus ControlClick("Druckerinstallations-Assistent", "Willkommen", "[CLASS:Button; INSTANCE:2]")
- statt run funktioniert oft shellexecute besser, (in deinem fall aber egal)
ich schätzte das problem bei dir ist das Winwaitactive. oft ist es sehr nützlich prüfende MsgBox'en einzubauen dann sieht man wo er hängt
in deinem fall etwa so:
Run ("BlackBerrySetup.exe")
WinWait("Setup-Sprache auswählen", "Wählen Sie die Sprache dieser Installation aus der unten aufgeführten Auswahl aus", 15)
ControlClick("Setup-Sprache auswählen","","Button1")
msgbox(0,"","Ich bin vor dem Winwaitactive")
WinWaitActive("BlackBerry Desktop Software 5.0.1 - InstallShield Wizard","BlackBerry Desktop Software 5.0.1")
msgbox(0,"","Ich bin nach dem Winwaitactive")
ControlClick("BlackBerry Desktop Software 5.0.1 - InstallShield Wizard","BlackBerry Desktop Software 5.0.1 - InstallShield Wizard","Button1")
wenn jetzt die 2te box garnicht erst angezeigt wird dann weißt du dass er nicht beim controlclick hängt sondern beim winwaitactive ![]()
also ich find die idee mit dem geburtstagsreminder schonmal nicht schlecht. da könnten bestimmt ein paar interessante scripte rauskommen.
bei spielen bin ich mir da nich so sicher. ja ich weiß ich hab selber spiele vorgeschlagen aber iwie glaub ich dass ein praktisches skript intressanter wäre.
wie auch immer. ich mach auf jeden fall mit, egal was am schluss rauskommt ![]()
ähm wie wärs mit filecopy?
[autoit]FileCopy ( "source", "dest" [, flag] )
[/autoit]wär echt toll wenn du nur einmal in die hilfe schaun würdest ![]()