1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Mitglieder
  3. XovoxKingdom

Beiträge von XovoxKingdom

  • String filtern

    • XovoxKingdom
    • 1. Februar 2013 um 13:57

    Hi,
    das pattern '/d{4}' würde nur bei einem Teststring wie diesem z.B. :
    .../dddd...
    treffen. Du meintest (sehr) wahrscheinlich '\d' um numerische Literale zu filtern:

    [autoit]

    ;Mein Ansatz mit StringRegExpReplace
    $sBefore = "abcdefghijk78lmn1234opqrstuvwxyz"
    $sAfter = StringRegExpReplace($sBefore,"([^\d]+)(\d{4})([^\d]+)","$1($2)$3")
    MsgBox(0,"Result",$sBefore&@CRLF&"=>"&@CRLF&$sAfter)

    [/autoit][autoit][/autoit][autoit]

    ; Dein Ansatz mit der Ersetzung von '/d{4}' durch '\d{4}'
    $aRes = StringRegExp($sBefore,"\d{4}", 3)
    If IsArray($aRes) And @error = 0 Then MsgBox(0,"StringRegExp - Ausgabe",$aRes[0])

    [/autoit]
  • Zufällig Farben Generieren lassen?

    • XovoxKingdom
    • 15. Oktober 2012 um 21:05

    Hier ist das von hauke96 in Code gegossen:

    [autoit]

    Func RandomColor()
    $r = Hex(Random(0, 255, 1), 2) ;red
    $g = Hex(Random(0, 255, 1), 2) ;green
    $b = Hex(Random(0, 255, 1), 2) ;blue
    Return "0x" & $r & $g & $b
    EndFunc ;==>RandomColor

    [/autoit][autoit][/autoit][autoit]

    Const $hGUI_EXIT = -3
    Const $hGUI = GUICreate("RandomColor", 200, 100)
    Const $hButtonSetColor = GUICtrlCreateButton("set random backgroundcolor", 25, 25, 150, 50)

    [/autoit][autoit][/autoit][autoit]

    GUISetState(@SW_SHOW)

    [/autoit][autoit][/autoit][autoit]

    While True
    $msg = GUIGetMsg()
    If ($hGUI_EXIT == $msg) Then
    Exit
    ElseIf ($msg == $hButtonSetColor) Then
    $sColor = RandomColor()
    ConsoleWrite($sColor & @CRLF)
    GUISetBkColor($sColor)
    EndIf
    WEnd

    [/autoit]
  • Desktop icons

    • XovoxKingdom
    • 1. Juni 2012 um 12:24

    Das Problem liegt vermutlich an dem nicht-existierenden Pfad C:\Temp\ .
    (war bei mir der Fall, als ich das testen wollte)
    Nach der Anpassung lief das Script prima! (Win7 x64)

    PS: Das Script wollte ich mir in kürze sehr umständlich via Snapshotvergleich nachbauen und per Maus...
    Dann dachte ich mir 'Da muss es was besseres für geben' und dann kommt dieses Script :thumbup:

  • Neue AutoIt STABLE!! v3.3.8.0

    • XovoxKingdom
    • 10. Januar 2012 um 22:20

    Vielen Dank!!! :thumbup:

    Ich frage mich zwar wie man auf sowas kommt,
    dass man die au3.properties (und nicht irgendeine x-beliebige andere Datei) anpasst,
    aber solange es funktioniert würde ich auch einen Kopfstand probieren ;)

    Endlich kann ich wieder klar sehen/coden/arbeiten :)

  • Neue AutoIt STABLE!! v3.3.8.0

    • XovoxKingdom
    • 9. Januar 2012 um 22:58

    Ich will jetzt nicht extra nen neuen Thread aufmachen,
    da mein Problem mit der neuen Version zusammenhängt.
    Seitdem ich die neuste Version von Scite (samt AutoIt) installiert habe,
    ist die Codedarstellung 'anders'...
    Seht selbst:
    Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist.
    Auf mich wirkt es trist und es fördert nicht gerade meine Kreativität,
    da sich mein Auge an solch kleinen Dingen stört :(

    Vielleicht habt ihr ja die Lösung für das Problemchen
    (ich habe bereits gesucht, aber Google gab mir nur alte Versionen und
    nicht die neue mit der alten Syntaxhighlight-Einstellung)
    Warum etwas ändern, wenn es funktioniert und in der neuen Version (subjektiv betrachtet)
    nicht besser ist?
    Sonst muss ich wohl mit einer alten Version von Scite leben :S

    Vielen Dank schonmal im voraus!

    Dateien

    highlight.jpg 44,25 kB – 0 Downloads
  • Flexible Potenzmenge

    • XovoxKingdom
    • 13. November 2011 um 15:02

    AARGH... ich wusste nur von der Funktion _ArrayPermute() die mir in diesem Fall
    nicht wirklich nützlich wäre. X(
    Vielen Dank AspirinJunkie für die Lösung :thumbup:
    Beim nächsten Mal werde ich intensiver in der Hilfe suchen *auspeitsch* (...) .

  • Flexible Potenzmenge

    • XovoxKingdom
    • 13. November 2011 um 10:00

    Hallo zusammen,
    ich habe ein (möglicherweise logisches) Problem mit der Potenzmenge,
    die ich mir gerne aus einer n-elementigen Menge generieren lassen würde.
    Hier ist ein Beispiel für n=4:

    Spoiler anzeigen
    [autoit]

    $iSize = 4
    If $iSize = 4 Then
    Dim $aElem[4] = ["Gold", "Silber", "Kupfer", "Eisen"]
    ElseIf $iSize = 5 Then
    Dim $aElem[5] = ["Gold", "Silber", "Kupfer", "Eisen", "Holz"]
    Else
    Exit
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    $c=2
    $out = "{[leere Menge],"
    For $i=0 To $iSize-1
    $out &= "{"&$aElem[$i]&"}, "
    $c += 1
    Next

    [/autoit] [autoit][/autoit] [autoit]

    For $n=0 To $iSize-1
    For $i=$n+1 To $iSize-1
    $out &= "{"&$aElem[$n]&", "& $aElem[$i]&"}, "
    $c += 1
    Next
    Next

    [/autoit] [autoit][/autoit] [autoit]

    For $n=0 To $iSize-1
    For $i=$n+1 To $iSize-1
    For $k=$i+1 To $iSize-1
    $out &= "{"&$aElem[$n]&", "& $aElem[$i]&","& $aElem[$k]&"}, "
    $c += 1
    Next
    Next
    Next

    [/autoit] [autoit][/autoit] [autoit]

    ; Dieser Teil ist nur für n bzw. $iSize >= 5 relevant! :
    ;~ For $n=0 To $iSize-1
    ;~ For $i=$n+1 To $iSize-1
    ;~ For $k=$i+1 To $iSize-1
    ;~ For $p=$k+1 To $iSize-1
    ;~ $out &= "{"&$aElem[$n]&", "& $aElem[$i]&","& $aElem[$k]&","& $aElem[$p]&"}, "
    ;~ $c += 1
    ;~ Next
    ;~ Next
    ;~ Next
    ;~ Next

    [/autoit] [autoit][/autoit] [autoit]

    $out &= "{"
    For $i=0 To $iSize-1
    $out &= $aElem[$i]&", "
    Next
    $out = StringTrimRight($out,2)&"}}"

    [/autoit] [autoit][/autoit] [autoit]

    MsgBox(0,"Ist: "&$c&" = "&2^$iSize&" : Soll",$out)

    [/autoit]


    Wenn man jetzt n=5 setzen will, so muss der auskommentierte Teil wieder 'scharf' gemacht werden,
    und $iSize auf 5 gesetzt werden...
    Leider kann ich das nicht allgemein fassen,
    da z.B. bei n=6 noch eine weitere innere Schleife - zusätzlich zu dem Konstrukt,
    das mir die letzte n=5 Forschleife liefert, hinzukäme!
    ich weiß, dass die Rechenzeit enorm zulegt, da wir ja 2^n Elemente erwarten,
    aber das sei an dieser Stelle nicht wichtig.
    Hat einer vllt. eine Idee, wie man dynamisch mehrere Forschleifen erzeugen kann,
    die (nach derzeitigem stand) ineinander verschachtelt sind? :whistling:
    Mir ist auch eine 'große' Forschleife in den Sinn gekommen,
    die über 2^n Elemente geht, jedoch wird die Formatierung dementsprechend
    komplex... :S
    Weitere Ideen sind natürlich gerne willkommen! :)

    Vorhaben in kurz:
    Eine Potenzmenge mit <= 5 Elemente ist kein Problem,
    jedoch würde ich das gerne mit einer variablen Größe
    generieren lassen - OHNE dass ich per hand kurz vor der Laufzeit
    die entsprechenden Forschleifenkonstrukte einfügen muss!
    [Sollte der Sachverhalt unklar sein, dann kann ich gerne für Klarheit sorgen]
    PS: Eine spätere Umsetzung via OpenCL wäre nicht schlecht, da bei steigender Mächtigkeit der Ursprungsmenge
    die Zeit exponentiell zunimmt und parallelisierbar ist ! ;) - Falls jemand daran Interesse hat dies umzusetzen...

  • Javascript Funktion zu AutoIt

    • XovoxKingdom
    • 20. Oktober 2011 um 17:58

    Die Ursache oder ein Workaround kann ich dafür nicht geben,
    aber der Fehler ist laut Hilfedatei bekannt (implizit - aber manchmal gehts .. komisch).
    Der Fehler taucht selbst dann auf, wenn zwischen den aufrufen mehr Zeit liegt...
    ABER: bei -0.99 tauchte der Fehler bei mir nicht auf...
    Es steht in der Hilfedatei kein -1 <= x <= 1.

    Quelle : Hilfedatei - 'ACos'

    Zitat

    Remarks

    ACos(x) is mathematically defined only for -1 < x < 1, so ACos tends to return -1.#IND for other values of x.

  • Javascript Funktion zu AutoIt

    • XovoxKingdom
    • 20. Oktober 2011 um 11:11

    Offensichtlich gibts Probleme bei der korrekten Portierung des Zuweisungsoperators '=',
    da AutoIt in Fallunterscheidungen immer den Vergleichsoperator anwendet.
    Via Getter&Setter sollte es auf diese Weise möglich sein (call by reference!).
    Andernfalls musst du es in eine seperate Zeile auslagern:

    [autoit]

    Func _easeInOutQuart( $t, $b, $c, $d)
    $t /= $d/2
    if $t < 1 Then
    return (($c-1)/2*$t*$t*$t*$t + $b)
    Else
    $t -= 2
    Return -1*($c-1)/2 * ($t*$t*$t*$t-2)+ $b
    EndIf
    EndFunc

    [/autoit][autoit][/autoit][autoit]

    MsgBox(0,0,_easeInOutQuart(125,1,400,200))

    [/autoit]
  • Binomialkoeffizient

    • XovoxKingdom
    • 16. Oktober 2011 um 18:38

    Da bin ich mal gespannt :D

    Hier ein Update meines (selbst entwickelt *stolz sei*) Algorithmus:

    Spoiler anzeigen
    [autoit]

    Func nueberk($n,$k) ; Mein Algorithmus
    $c=0 ; schrittanzahl
    $a=1
    If ($k >= $n/2) Then
    For $i=1 To ($n-$k)
    $a *= ($n-$i+1)/$i
    $c+=1
    Next
    Else
    For $i=$n To ($n-$k+1) Step -1
    $a *= $i/($n-$i+1)
    $c+=1
    Next
    EndIf
    ConsoleWrite("Anzahl Schritte: "&$c&@CRLF)
    Return $a
    EndFunc

    [/autoit]


    Kann man den noch toppen (=optimieren)?
    hier: optimieren = schneller machen - nicht: fehlerbehandlung. :P
    EDIT: wenn ich mich nicht irre, dann braucht er O(k) im schlechtesten Fall [k = n/2] :)
    im besten natürlich O(~1) = konst.

  • Binomialkoeffizient

    • XovoxKingdom
    • 16. Oktober 2011 um 16:27

    Irgendwie schaffe ich es nicht einen Javacode (der funzt tadellos)
    nach AutoIt zu portieren...
    - Mir gehts um einen Performancetest, ob die rekursive Methode schneller
    als meine ist, da meine Funktion die Fakultät nicht vollständig ausrechnet und somit
    auch höhere Berechnungen schafft, im Gegensatz zu fak(n)/(fak(k) * fak(n-k))-
    Vielleicht übersehe ich ja etwas :S

    Quelle des Javaalgorithmus.

    Code
    public class Ueb3_Aufg6 {
    	public static void main(String[] args) {
    
    
    	System.out.println("(49 über 6) = " + binom(49, 6));
    	}
    /*** Rekursive Berechnung des Binomialkoeffizienten (n über k)*/
    public static int binom(int n, int k){
    	// 1.Rekursionsanker
    	if(k == 0 || k == n) return 1;
    	// 2.Rekursionsanker
    	else if(k == 1) return n;
    	// Rekursionsschritt
    	else return binom(n-1,k) + binom(n-1,k-1);
    	}
    }
    Alles anzeigen

    Meine Umsetzung:

    Spoiler anzeigen
    [autoit]

    Func nueberk($n,$k) ; Mein Algorithmus
    $a=1
    For $i=$n To ($n-$k+1) Step -1
    $a *= $i/(Abs($i-$n)+1)
    Next
    Return $a
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func binom($n,$k) ; Rekursion - scheint endlos zu laufen
    If($k=0 Or $k=$n) Then
    Return 1
    ElseIf $k=1 Then
    Return $n
    Else
    Return binom($n-1,$k)+binom($n-1,$k-1)
    EndIf
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Local $a,$b,$c
    $a = TimerInit()
    nueberk(49,6)
    $b = TimerDiff($a)
    $a = TimerInit()
    binom(49,6)
    $c = TimerDiff($a)

    [/autoit] [autoit][/autoit] [autoit]

    MsgBox(0,"Diff","Mein Algorithmus: "&$b&@CRLF&"Rekursion: "&$c)

    [/autoit] [autoit][/autoit] [autoit]

    $a = TimerInit()
    nueberk(5000,2313)
    $b = TimerDiff($a)
    $a = TimerInit()
    binom(5000,2313)
    $c = TimerDiff($a)

    [/autoit] [autoit][/autoit] [autoit]

    MsgBox(0,"Diff","Mein Algorithmus: "&$b&@CRLF&"Rekursion: "&$c)

    [/autoit]


    Edit1: Nach einer halben Ewigkeit kam die Rekursion (49,6) zu einer Lösung,
    doch warum ist die Zeitmessung bei meinem Algorithmus so seltsam? (viel zu hohe Angabe)
    Java gibt mir die Lösung 'sofort', wohingegen AutoIt endlos zu Rechnen scheint...
    SO langsam ist AutoIt doch nicht, oder?

  • Verschiedene Textdateien lesen und richtig in einem neuen Textdatei einbinden

    • XovoxKingdom
    • 16. Oktober 2011 um 14:23

    Kein Problem :)
    Folgendes für die Zukunft:
    Wenn du Hilfe (<=> kein fertig geschriebenes Script) brauchst,
    dann solltest du einen Ansatz (im AutoIt Tag + ggf. Spoiler :P ) posten.
    Solltest du allerdings (warum auch immer) ein
    Problem - komplett gelöst - bekommen wollen, dann solltest du es nicht
    unter 'Hilfe und Unterstützung', sondern unter 'Programmieranfragen'
    veröffentlichen. ;)

  • Verschiedene Textdateien lesen und richtig in einem neuen Textdatei einbinden

    • XovoxKingdom
    • 16. Oktober 2011 um 14:12

    Schreib statt:
    'MsgBox(0, "Ergebnis:", $sAusgabe)' [Zeile 25]
    Filewrite("Dateiname.txt",$sAusgabe)

  • Verschiedene Textdateien lesen und richtig in einem neuen Textdatei einbinden

    • XovoxKingdom
    • 16. Oktober 2011 um 12:24

    Ich nehme mal an, dass die Datensätze bereits existieren (andernfalls: arbeite mit SQL oder Ini-Dateien).

    Hier ist ein getesteter Code [main.txt, Nr1.txt - Nr6.txt müssen im selben Ordner liegen]:

    Spoiler anzeigen
    [autoit]

    #include <File.au3>

    [/autoit] [autoit][/autoit] [autoit]

    ;Annahme: Datei main.txt, Nr1.txt - Nr6.txt existieren und sind mit Datensätzen gefüllt

    [/autoit] [autoit][/autoit] [autoit]

    $aBezeichner = StringSplit(StringStripCR(FileRead("main.txt")), @LF) ; Speichert die 6 Bezeichner (ID, Name, ...)

    [/autoit] [autoit][/autoit] [autoit]

    If Not IsArray($aBezeichner) Then
    MsgBox(0, "Error main.txt", "Offensichtlich ist die main.txt im falschen Format!")
    Exit
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    $sAusgabe = "" ; Speicher für die Ausgabe

    [/autoit] [autoit][/autoit] [autoit]

    $iAnzahlEintraege = _FileCountLines("Nr1.txt")
    ; Annahme hier: Jede Datei enthält die selbe Anzahl an Einträgen!

    [/autoit] [autoit][/autoit] [autoit]

    For $i = 1 To $iAnzahlEintraege ; über alle Datensätze (= Einträge in der NrX.txt)
    For $k = 1 To $aBezeichner[0] ; über alle Bezeichner (= ID, Name, ...)
    $sAusgabe &= $aBezeichner[$k] & FileReadLine("Nr" & $k & ".txt", $i) & @CRLF
    Next
    If $i < $iAnzahlEintraege Then $sAusgabe &= @CRLF
    ; hängt den Zeilenumbruch beim letzten Eintrag nicht dran
    Next

    [/autoit] [autoit][/autoit] [autoit]

    MsgBox(0, "Ergebnis:", $sAusgabe)

    [/autoit]


    PS: Mögliche Fehlerquellen musst du selber beheben (z.B. Nr1.txt enthält 10 Zeilen, Nr2.txt aber nur 9).
    Das komplette Packet als .zip:

    Dateien

    Demo.zip 1,6 kB – 306 Downloads
  • Text in Label vertikal zentrieren

    • XovoxKingdom
    • 7. Oktober 2011 um 11:44

    Beispiel:

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>

    [/autoit] [autoit][/autoit] [autoit]

    $hGui = GUICreate("CenterLabel", 311, 172)
    $Label = GUICtrlCreateLabel("Text", 0, 0, 311, 172, BitOR($SS_CENTER,$SS_CENTERIMAGE))
    GUIRegisterMsg(0x0005,"resize")
    GUISetState(@SW_SHOW)

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Label
    WinMove($hGui,"",@DesktopWidth/2-400,@DesktopHeight/2-200,800,400)
    EndSwitch
    WEnd

    [/autoit] [autoit][/autoit] [autoit]

    Func resize()
    $pos = WinGetPos($hGui)
    If IsArray($pos) Then
    GUICtrlSetPos($Label,0,0,$pos[2],$pos[3])
    EndIf
    EndFunc

    [/autoit]

    Weiterführende Frage:
    Warum ist das Label nicht mehr genau zentriert, wenn man die SizeBox für die GUI aktiviert?

  • [praktisch] Beschreibbares Kästchenpapier in eigener GUI - Beispiel

    • XovoxKingdom
    • 18. September 2011 um 14:42

    Ich finde die Idee des Scripts gut :)
    Vielleicht hilft dir mein Ansatz bei deiner Realisierung weiter:

    Spoiler anzeigen
    [autoit]

    #include <WindowsConstants.au3>
    #include <GUIConstants.au3>
    #include <StaticConstants.au3>
    #include <GDIPlus.au3>
    #include <array.au3>

    [/autoit] [autoit][/autoit] [autoit]

    $width = 200
    $height = 200
    $hWnd = GUICreate("7 + 3 = 10", $width, $height)
    GUISetBkColor(0x000000)
    GUISetState()
    _GDIPlus_Startup()
    $hGraphic = _GDIPlus_GraphicsCreateFromHWND($hWnd) ;create graphic
    $ParticleBitmap = _GDIPlus_BitmapCreateFromGraphics($width, $height, $hGraphic) ;create bitmap
    $ParticleBuffer = _GDIPlus_ImageGetGraphicsContext($ParticleBitmap) ;create buffer
    $size = 20

    [/autoit] [autoit][/autoit] [autoit]

    Dim $rect[7][2] ; Kästchenpositionen
    $rect[0][1] = 3 ; 7
    $rect[1][1] = 4 ; +
    $rect[2][1] = 4 ; 3
    $rect[3][1] = 5 ; =
    $rect[4][1] = 5 ; 1
    $rect[5][1] = 5 ; 0
    $rect[6][1] = 5 ; Strich über dem Ergebnis

    [/autoit] [autoit][/autoit] [autoit]

    $rect[0][0] = 6 ; wie oben
    $rect[1][0] = 4
    $rect[2][0] = 6
    $rect[3][0] = 4
    $rect[4][0] = 5
    $rect[5][0] = 6
    $rect[6][0] = 4

    [/autoit] [autoit][/autoit] [autoit]

    For $i = 0 To 6 ; Kästchen bestimmen
    getSquare($rect[$i][0], $rect[$i][1])
    Next

    [/autoit] [autoit][/autoit] [autoit]

    Do

    [/autoit] [autoit][/autoit] [autoit]

    _GDIPlus_GraphicsClear($ParticleBuffer, 0xFFFFFFFF)
    For $i = 1 To ($height / $size) ; Horizontale Linien
    _GDIPlus_GraphicsDrawLine($ParticleBuffer, 0, $size * $i, $width, $size * $i)
    Next
    For $i = 1 To ($width / $size) ; Vertikale Linien
    _GDIPlus_GraphicsDrawLine($ParticleBuffer, $size * $i, 0, $size * $i, $height)
    Next

    [/autoit] [autoit][/autoit] [autoit]

    _GDIPlus_GraphicsDrawString($ParticleBuffer, "7", $rect[0][0], $rect[0][1] - 2, "Arial", 15) ; Matheaufgabe: 7 + 3 = 10
    _GDIPlus_GraphicsDrawString($ParticleBuffer, "+", $rect[1][0], $rect[1][1] - 2, "Arial", 15)
    _GDIPlus_GraphicsDrawString($ParticleBuffer, "3", $rect[2][0], $rect[2][1] - 2, "Arial", 15)
    _GDIPlus_GraphicsDrawString($ParticleBuffer, "=", $rect[3][0], $rect[3][1] - 2, "Arial", 15)
    _GDIPlus_GraphicsDrawString($ParticleBuffer, "1", $rect[4][0], $rect[4][1] - 2, "Arial", 15)
    _GDIPlus_GraphicsDrawString($ParticleBuffer, "0", $rect[5][0], $rect[5][1] - 2, "Arial", 15)

    [/autoit] [autoit][/autoit] [autoit]

    _GDIPlus_GraphicsDrawLine($ParticleBuffer, $rect[6][0], $rect[6][1], $rect[6][0] + $size * 3 - 1, $rect[6][1]) ; Strich über dem Ergebnis

    [/autoit] [autoit][/autoit] [autoit]

    _GDIPlus_GraphicsDrawImageRect($hGraphic, $ParticleBitmap, 0, 0, $width, $height)

    [/autoit] [autoit][/autoit] [autoit]

    Until Sleep(10) And GUIGetMsg() = -3

    [/autoit] [autoit][/autoit] [autoit]

    _GDIPlus_GraphicsDispose($hGraphic)
    _GDIPlus_BitmapDispose($ParticleBitmap)
    _GDIPlus_GraphicsDispose($ParticleBuffer)
    _GDIPlus_Shutdown()
    Exit

    [/autoit] [autoit][/autoit] [autoit]

    Func getSquare(ByRef $xpos, ByRef $ypos) ; Funktion zur Bestimmung des gewünschten Feldes (Kästenchens)
    $xpos = ($xpos - 1) * $size + 1
    $ypos = ($ypos - 1) * $size + 1
    EndFunc ;==>getSquare

    [/autoit]

    Ich würde mich freuen, wenn man auch etwas komplexere Rechnungen (nicht vom Rechnen her 'schwierig',
    sondern vom Aufschreiben - z.B. schriftliches Multiplizieren/Dividieren) angezeigt bekommen könnte ;).

  • Daten via TCP versenden / empfangen

    • XovoxKingdom
    • 18. August 2011 um 09:15
    Zitat

    ok, nächste frage: wie les ich die Datei dann ein, FileInstall?


    [Sarcasm]Höchstwahrscheinlich[/Sarcasm] gibt es eine Funktion die FileRead() heißt und
    Files lesen kann.

    Zitat

    und wie geb ich sie dann aus? also wie schreib ich die Datei dann zb in @ScriptDir?


    [Sarcasm]Äquivalent müssten sich die Entwickler doch auch eine Schreibfunktion überlegt haben[/Sarcasm]
    Wie wärs mit FileWrite() ? :rolleyes:

    Manchmal ist es hilfreich einen Blick in die Hilfedatei (kostenlos, und sogar auf Deutsch wenn man drauf besteht) und auch
    in vergangene Threads zu werfen! :whistling:
    PS: In der Hilfedatei sind zu den meisten Funktionen kurze Beispiele gegeben ;)

  • batch starten beenden nach uhrzeit

    • XovoxKingdom
    • 17. August 2011 um 13:53

    Wenn ich das richtig sehe, dann startet er die batch 2x!
    Durch Zeile 4 startet er es sofort und dann noch im Fall, dass die Zeit erreicht wurde
    => lösche Zeile 4 und alles sollte klappen.
    Nen Sleep von ~10(0) ms würde ich empfehlen => wieder einkommentieren :)

  • batch starten beenden nach uhrzeit

    • XovoxKingdom
    • 17. August 2011 um 12:06
    Zitat

    Denn er trifft dann ja nicht mehr genau die Sekunde, wo es passieren soll.


    Das würde ja heißen, dass der Ablauf nach dem Sleep 900ms oder mehr dauern würde.

    Die Ursache liegt in der Verschachtelung des IF-Teils:

    Code
    Wenn die Startzeit erreicht ist tue:
          Starte das Programm();
          Wenn die Stoppzeit erreicht ist tue //zu diesem zeitpunkt ist das startkriterium noch erfüllt => wenn stopp <> start ist wirds nie ausgeführt
               beende das Programm();
          Stoppzeit If ist hier zu Ende
    Startzeit If ist hier zu Ende
  • processList + Regexp

    • XovoxKingdom
    • 16. August 2011 um 10:53

    Probier mal folgendes:

    [autoit]

    $all_proc= ProcessList()

    [/autoit][autoit][/autoit][autoit]

    for $i=0 to UBound($all_proc) -1
    MsgBox(0,"titel", "array:" & StringRegExp($all_proc[$i][0],"ose\d{5}\.exe",1))
    Next

    [/autoit]


    //Ungetestet

Spenden

Jeder Euro hilft uns, Euch zu helfen.

Download

AutoIt Tutorial
AutoIt Buch
Onlinehilfe
AutoIt Entwickler
  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™