Kannst du dein Script vielleicht anfügen?
Der eine oder andere (zum denen ich mich auch mal zähle) würde
es sicherlich begrüßen, auch mal andere Scripte zu testen und daraus
zu lernen. ![]()
//EDIT : Danke trotzdem ![]()
Beiträge von XovoxKingdom
-
-
Die 80€ entstehen sicherlich größtenteils aus den Lizenzen die man für Blu-Ray braucht.
Sofern es nicht in den AGB verboten ist, kannst du die 30 tage weiter ausdehnen mit Dkill
(Altes Programm zum zurücksetzen des Datums beim Programmstart)
Du kannst es aber auch mit AutoIt selber basteln
PS: Ich habe leider keine Blu-Ray Discs / -Lesegeräte... ist das Format der dadrauf befindlichen
Dateien immer ".m2ts" oder vllt. auch ".mkv" (auch so ein Format das sehr selten ist was ich
in dem Bezug mal aufgegriffen habe) -
Hier ist ein Beispiel:
[autoit]#include <EditConstants.au3>
[/autoit][autoit][/autoit][autoit]
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
$Form1 = GUICreate("Beispiel zum Vergrößern/Verkleinern", 313, 193, -1, -1, BitOR($WS_MINIMIZEBOX, $WS_SIZEBOX, $WS_THICKFRAME, $WS_SYSMENU, $WS_CAPTION, $WS_POPUP, $WS_POPUPWINDOW, $WS_GROUP, $WS_BORDER, $WS_CLIPSIBLINGS))
GUISetState(@SW_SHOW)While 1
[/autoit][autoit][/autoit][autoit]
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
ExitEndSwitch
[/autoit]
WEnd
PS: Du kannst im KODA (Strg+M) eine gui erstellen und da auch die "RESIZING"-Optionen anpassen! -
Für eine Standard GUI musste das folgende als "style" Parameter anfügen [müsste der
[autoit]5.6.parameter sein]:BitOR($WS_MINIMIZEBOX,$WS_SIZEBOX,$WS_THICKFRAME,$WS_SYSMENU,$WS_CAPTION,$WS_POPUP,$WS_POPUPWINDOW,$WS_GROUP,$WS_BORDER,$WS_CLIPSIBLINGS)
[/autoit] -
Sonst kannste das hier probieren (funktioniert aber nur, wenn der Text geändert wurde):
[autoit]#include <EditConstants.au3>
[/autoit][autoit][/autoit][autoit]
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>$Form1 = GUICreate("Input + Enter", 178, 98, -1, -1)
[/autoit][autoit][/autoit][autoit]
$Input1 = GUICtrlCreateInput("", 8, 8, 161, 21)
$Input2 = GUICtrlCreateInput("", 8, 40, 161, 21)
$Input3 = GUICtrlCreateInput("", 8, 72, 161, 21)
GUISetState()While 1
[/autoit]
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Input1
GUICtrlSetState($Input1, 8192)
GUICtrlSetState($Input2, 256)
Case $Input2
GUICtrlSetState($Input2, 8192)
GUICtrlSetState($Input3, 256)
;~ Case $Input3
;~ GUICtrlSetState($Input3,8192)
;~ GUICtrlSetState($Input1,256)
EndSwitch
WEnd -
Ich muss sagen, dass ich auf Oscars Lösung warscheinlich nicht (so schnell) gekommen wäre.
[autoit]
Sie ist sehr kurz und knapp.. Ich hab mir mal gedacht, dass ich das mal (für Anfänger)
etwas verständlicher mache und deshalb hab ichs nochmal kommentiert:
(Vorraussetzung ist natürlich, dass man weiss was ein Array ist)#include <array.au3>
[/autoit][autoit][/autoit][autoit]Global $textdatei = "c:\mein.txt", $Textarray, $Ausgabe = ""
[/autoit][autoit][/autoit][autoit]$Dateihandle = FileOpen($textdatei, 0)
[/autoit][autoit][/autoit][autoit]
$Dateitext = FileRead($Dateihandle) ; Liest die Datei ausIf StringInStr($Dateitext, @CRLF) Then ; Prüft auf Zeilenumbrüche und Splittet falls Erfolg
[/autoit]
$Textarray = StringSplit(StringReplace($Dateitext, @LF, ""), @CR, 2)
ElseIf StringInStr($Dateitext, @CR) Then
$Textarray = StringSplit($Dateitext, @CR, 2)
ElseIf StringInStr($Dateitext, @LF) Then
$Textarray = StringSplit($Dateitext, @LF, 2)
Else
MsgBox(0, "ERROR!", "Entweder ist die Datei leer und/oder" & _
" sie enthält keine Zeilenumbrüche") ; Error bei Misserfolg
EndIf
If IsArray($Textarray) Then ; Prüft nochmal ob ein Array vorliegt
$Arrayausgabe = _ArrayUnique($Textarray) ; Fügt jedes Element max. 1mal hinzu
_ArrayDelete($Arrayausgabe, 0) ; Löscht die Anzahl aller Elemente aus dem Array
For $i = 0 To UBound($Arrayausgabe) - 1
$Ausgabe &= $Arrayausgabe[$i] & @CRLF ; Speichert die Elemente mit Zeilenumbrüchen als String
Next
$Ausgabe = StringTrimRight($Ausgabe, 2); Der letzte Zeilenumbruch wird gelöscht (@cr & @lf)
_ArrayDisplay($Arrayausgabe) ; Array wird angezeigt
MsgBox(0, "Einzigartige Namen", $Ausgabe); String wird angezeigt
EndIf -
Ich würde es an deiner Stelle mit Pixelchecksum machen,
obwohl es sicher auch mit einem Imagesearch gehen würde
(ist in diesem Fall aber bestimmt komplizierter). -
Du bekommst mit:
[autoit]$aAdressen=Stringregexp(Fileread(DATEI),'<td class="pthtd"><a target="_blank" href="(.+)">')
[/autoit]
einen Array mit den Adressen. Ein Port war nicht angegeben sonst musste nochmal schauen,
ob der immer gleich ist oder der irgendwo auf der Seite angegeben ist.mit:
[autoit]For $i=0 to Ubound($aAdressen)-1;Falls der erste Eintrag (0) nur die Anzahl ausgibt muss $i am Anfang=1 sein
[/autoit]
Filewrite(DateifuerProxies,$aAdressen[$i])
next
schreibst du alle Proxies in eine Datei.
Alles ist ungetestet, sollte aber dennoch funktionieren
. -
Zitat
hat von euch schon jemand die Microsoft Office 2007 installation automatisiert?
Jop, funktioniert tadellos

(ich geh mal davon aus du meinst mit den Funktionen _word... etc. ne?)
viel Spaß
PS: zu dem Backup: Falls du aus irgendwelchen Gründen kein Backup auf die interne Festplatte
speichern darfst/kannst/möchtest o.ä., dann kannste ja ganz bequem per Usbstick (oder ext. Festplatte)
deine Daten - wie BugFix gesagt hat - inkementell erweitern. -
ohne das Script getestet zu haben würde ich mal behaupten:
Es liegt am Auslesen!
Im Moment erstellst du die GUI mit leeren Inputs und weist den Variablen
sofort den Wert der (immernoch leeren) Inputs zu. Dieser Wert ändert sich
nicht und führt warscheinlich für Firefox zum Error.
Du solltest das Auslesen der Inputs in die Case-Bedingung einfügen,
in der auch Firefox gestartet wird.Spoiler anzeigen
[autoit][/autoit] [autoit][/autoit] [autoit]$server = GUICTRLRead($server_i) ; <--- Dieser Wert is leer und muss erst auf die Buttonfunktion gelegt werden
[/autoit] [autoit][/autoit] [autoit][/autoit]
$username = GUICTRLRead($username_i); <--- Hier genauso
$password = GUICTRLRead($password_i); <-- Das gleiche ist auch hier
$open = _FTPOpen("FastTransfer")
$connection = _FTPConnect($open,$server,$username,$password); Diese Funktion muss später ausgeführt werden, NACH Case $connect z.b. und NACH den Variablen (oben)
$filelist = _FTPFilesListTo2DArray ($connection)
ich hoffe es ist nicht so unverständlich, es is ja auch schon wieder spät *gähn*
-
du kannst dir mal in Zeile 58 die Zwischenergebnisse angucken:
[autoit]MsgBox(0,0,$rechtsexe&@CRLF&$linksexe)
[/autoit]
[autoit]
beide Ergebnisse sind = 0.. warum? weil du mit den beiden Zeilen:$linksexe=Execute(GUICtrlRead($linksreplace))
[/autoit]
$rechtsexe=Execute(GUICtrlRead($rechtsreplace))
eine Guicontrol ausliest die es nicht gibt (return = 0).. du solltest also
Guictrlread() weglassen, dann könnte es klappen!
Die weiteren Veränderungen der Inputwerte solltest du auch sein lassen.
Ich würde an deiner stelle den String einlesen, als konstante speichern und
bei jedem schleifendurchlauf den x-Wert erhöhen und dann ersetzen.
Sollte das Ergebnis dann gleich sein, dann funktioniert es.
(Etwas schwerer ist es sicherlich mithilfe eines Programms nach X aufzulösen,
aber das kannste dir dann ja als nächstes Ziel setzen - ohne viele Spielereien wie:
Wurzeln, E-Funktionen, Logarithmen etc.
)Ich hoffe ich konnte dir helfen und dir einen neuen Denkanstoß geben, um das "Projekt"
weiterzuführen. Bei weiteren Fragen versuche ich weiter mitzuhelfen.
-
in dem array sind einige elemente leer oder?
Das liegt dadran, dass du zuerst einen Array deklariert hast, aber durch _Arrayinsert jeweils ein Element hinzufügst.
Wenn du einzelne Elemente des Arrays initialisieren willst, kannst du sie mit der Zuweisung:
$sort[INDEX] = "Wert"
belegen. -
Ohne deinen Code gesehen zu haben, würde ich mal behaupten, dass man den Code noch optimieren kann...
Es wäre also nett, wenn du deinen Code posten würdest, damit ein schnellerer Algorithmus gefunden werden kann.
PS: Ich hoffe das "Projekt" ist mit den Forenregeln vereinbar
- wobei mich persönlich eher die Auslagerung des Codes / Optimierung interessieren würde 
-
ich würde es mit pixelgetcolor statt des sleeps zu nutzen, da der PC je nach auslastung möglicherweise etwas länger braucht, um das Bild zu laden.
[autoit]
z.b. Soetwas:$x=100
[/autoit]
$y=100
;Ich habe leider kein Photoshop wodurch ich den Bereich nicht angeben kann, in dem das Bild geladen wird
$standardfarbe = 123456
;Die Farbe stimmt natürlich auch nicht
While Pixelgetcolor($x, $y) = $standardfarbe
sleep(10) ; wegen der Prozessorauslastung
Wend
sleep(2000); damit Photoshop die Ressource laden kann und sich auf den Hotkey "vorbereiten" kann -
guck dir in der Hilfe die folgenden Funktionen an:
[autoit]
Mousegetpos()
und Pixelgetcolor()
beispiel (ungetestet):$x = Mousegetpos(0)
[/autoit]
$y = Mousegetpos(1)
$Color = Pixelgetcolor($x,$y)
Msgbox(0,0,$Color)
[autoit]
//EDIT: Sry falsche Klammer benutzt
ich würds als Tippfehler zählen 
sonst teste das hier mal:While 1
[/autoit]
$x = Mousegetpos(0)
$y = Mousegetpos(1)
$Color = Pixelgetcolor($x,$y)
ToolTip($Color&@CRLF&"X: "&$x&" Y: "&$y,0,0)
Sleep(10)
WEnd -
Meine Funktion gewinnt vielleicht keinen Schönheitspreis, ist aber schneller als Andy's Funktion.
(spielt vielleicht eine Rolle bei größeren Listen)
PS: Ja, in meiner Funktion werden Fehler noch nicht abgefangen und man könnte StringLen auch als konstante speichern wodurch nochmal etwas Zeit gewonnen wird
Spoiler anzeigen
[autoit]$string = "N14 T59 M6 (INFRA-Taster!)"
[/autoit] [autoit][/autoit] [autoit]Func Ausloesen()
[/autoit] [autoit][/autoit] [autoit]
For $i=1 To StringLen($string)
If StringMid($string,$i,1) = "T" Then
ExitLoop
EndIf
Next
$x=$i
For $n=$i To StringLen($string)
If StringMid($string,$n,1) = " " Then
ExitLoop
EndIf
Next
$y=$n
For $m = $n To StringLen($string)
If StringMid($string,$m,1) = "(" Then
ExitLoop
EndIf
Next
$z = $m
Return StringMid($string,$x,$y-$x)&" "&StringMid($string,$z,StringLen($string)-$z+1)
EndFuncMsgBox(0,"Output",$string&@CRLF&Ausloesen())
[/autoit] -
Moin,
[autoit]
also diese Lösung sollte die richtige sein
#include <Array.au3>
[/autoit][autoit][/autoit][autoit]$text = "Dies ist " & @CRLF & "ein Test." & @CRLF & @CRLF & @LF & "Mal sehen, was passiert" & Chr(10) & @CRLF & "So, das war's."
[/autoit][autoit][/autoit][autoit]
MsgBox(0, "Test", $text)$array = StringSplit(StringStripWS($text, 7), @CRLF)
[/autoit][autoit][/autoit][autoit]
; _arraydelete($array, 0) ; Sorgt dafür, dass das Element [0] gelöscht wird - falls du es nicht brauchst
While True
$iIndex = _ArraySearch($array, "")
If $iIndex <> -1 Then
_ArrayDelete($array, $iIndex)
Else
ExitLoop
EndIf
WEnd_ArrayDisplay($array)
[/autoit] -
Hallo,
ich habe einen kostenlosen Server bei funpic.de und würde gerne dadrauf ein Script laufen lassen, das ohne Client laufen kann.
(damit mein PC zuhause aus seien kann, während der Server irgendwas macht)ein simples Beispiel wäre die Berechnung von Pi:
je länger man das Script ausführt, desto genauer wird der Wert.
nun zu meiner Frage:
Mit welcher Sprache kann ich auf einem Server ein Script erstellen, das "von alleine" arbeiten,
und wo ich dann "wenn mir grade so danach ist" die textdatei mit dem aktuellen wert auslesen kann?
Bisher habe ich es nur geschafft, dass er arbeitet, während mein pc an ist und die Seite geladen hat
-
Was du falsch gemacht hast weiss ich nicht - Es ist immer besser den Code zu schicken (und den in einem AutoIT Tag)
also mein Vorschlag ist der folgende:
Spoiler anzeigen
[autoit]#include <GUIConstantsEx.au3>
[/autoit] [autoit][/autoit] [autoit]
#include <ListViewConstants.au3>
#include <StaticConstants.au3>
#include <TabConstants.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 371, 275, 192, 124)
$Tab1 = GUICtrlCreateTab(8, 8, 353, 257)
GUICtrlSetResizing(-1, $GUI_DOCKWIDTH+$GUI_DOCKHEIGHT)
$TabSheet1 = GUICtrlCreateTabItem("Registerkarte1")
$Label1 = GUICtrlCreateLabel("Liste1", 16, 40, 32, 17)
$ListView1 = GUICtrlCreateListView("|||", 16, 64, 337, 193)
GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 0, 50)
GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 1, 50)
GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 2, 50)
GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 3, 50)
$ListView1_0 = GUICtrlCreateListViewItem("1|2|3|4", $ListView1)
$TabSheet2 = GUICtrlCreateTabItem("Registerkarte2")
$Label2 = GUICtrlCreateLabel("Liste2", 16, 40, 32, 17)
$ListView2 = GUICtrlCreateListView("||", 16, 64, 337, 97)
GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 0, 50)
GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 1, 50)
GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 2, 50)
$ListView2_0 = GUICtrlCreateListViewItem("1", $ListView2)
$ListView2_1 = GUICtrlCreateListViewItem("2", $ListView2)
$ListView2_2 = GUICtrlCreateListViewItem("3", $ListView2)
$ListView2_3 = GUICtrlCreateListViewItem("4", $ListView2)
$ListView2_4 = GUICtrlCreateListViewItem("5", $ListView2)
$ListView2_5 = GUICtrlCreateListViewItem("6", $ListView2)
$ListView2_6 = GUICtrlCreateListViewItem("7", $ListView2)
$TabSheet3 = GUICtrlCreateTabItem("Registerkarte3")
$Label3 = GUICtrlCreateLabel("Liste3", 16, 40, 32, 17)
$ListView3 = GUICtrlCreateListView("||||", 16, 72, 257, 185)
GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 0, 50)
GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 1, 50)
GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 2, 50)
GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 3, 50)
GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 4, 50)
GUICtrlCreateTabItem("")
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###While 1
[/autoit] [autoit][/autoit] [autoit]
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
ExitEndSwitch
[/autoit]
WEnd
viel spaß beim rumexperimentieren
-
Ich habe ein Problem
:
Ich möchte ein Bild (Format ist egal) einlesen, entschlüsseln (damit nur ICH das Bild angucken kann) und anzeigen lassen.
Ist es überhaupt möglich?
Bedingungen:
Das Bild liegt in verschlüsselter Form vor, und darf nicht verändert werden (damit das Originalbild nicht sichtbar ist) und nicht temporär entschlüsselt gespeichert werden. NUR eingelesen werden.Ich habe es bisher nur hinbekommen, indem ich es temporär zwischengespeichert habe... bin mit der Lösung aber nicht zufrieden - Es muss doch eine Lösung geben mit der man Bilder einlesen kann, OHNE den Pfad angeben zu müssen, sondern z.b. im Binärmodus die Bilder zu öffnen
