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. BugFix

Beiträge von BugFix

  • Link Detector (Zwischenablage) - Fehler

    • BugFix
    • 30. Dezember 2008 um 21:18
    [autoit]

    If Not $clip = $clip_old Then

    [/autoit]


    Entweder schreibst du:

    [autoit]

    If Not ($clip = $clip_old) Then

    [/autoit]


    oder gleich

    [autoit]

    If $clip <> $clip_old Then

    [/autoit]
  • Pic nicht doppelt

    • BugFix
    • 29. Dezember 2008 um 18:25
    Zitat von Jam00

    Das ist ganz schön Kompliziert! :(


    Ist doch jetzt nicht mehr kompliziert für dich. Für jedes Bild ein Array mit den Positionsdaten erstellen und die Funktion mit den Arrays aufrufen. Gibt es Überschneidungen, wird TRUE zurückgegeben, sonst FALSE.

  • Pic nicht doppelt

    • BugFix
    • 29. Dezember 2008 um 18:14

    Hier, kannst auch diese Funktion nutzen:

    [autoit]

    Local $pic1[4] = [0,0,100,50] ; x,y,Breite,Höhe
    Local $pic2[4] = [101,51,50,70]

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

    ConsoleWrite(_PosCompare($pic1,$pic2) & @CRLF)

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

    Func _PosCompare(ByRef $a1, ByRef $a2) ; by BugFix
    Local $oComp = ObjCreate("System.Collections.ArrayList")
    For $i = $a1[0] To $a1[0] + $a1[2]
    $oComp.Add($i)
    Next
    For $i = $a2[0] To $a2[0] + $a2[2]
    If $oComp.Contains($i) Then Return True
    Next
    $oComp.Clear
    For $i = $a1[1] To $a1[1] + $a1[3]
    $oComp.Add($i)
    Next
    For $i = $a2[1] To $a2[1] + $a2[3]
    If $oComp.Contains($i) Then Return True
    Next
    Return False
    EndFunc ;==>_PosCompare

    [/autoit]
  • Icon ändern

    • BugFix
    • 29. Dezember 2008 um 17:08

    Beim Kompilieren in SciTE kannst du doch den Pfad für ein eigenes Icon angeben.
    Oder du schreibst die Direktive selbst an den Skriptanfang:

    [autoit]

    #AutoIt3Wrapper_icon=..\..\Eigene Bilder\ICONS\MeinIcon.ico

    [/autoit]
  • Pic nicht doppelt

    • BugFix
    • 29. Dezember 2008 um 17:03

    Ist doch reines Rechnen, hier mit Tweakys Bsp.:
    belegter Bereich Bild 1:
    X >>> 20 - 120 (x1Start=20, x1Ende=120)
    Y >>> 50 - 120

    belegter Bereich Bild 2:
    X >>> 0 - 100 (x2Start=0, x2Ende=100)
    Y >>> 0 - 70

    Für X-Koordinaten
    Wenn (x2Start >= x1Start UND x2Start <= x1Ende) ODER (x2Ende >= x1Start UND x2Ende <= x1Ende) DANN Kollision

  • Picture-Save

    • BugFix
    • 29. Dezember 2008 um 16:54
    Zitat von Deepred

    Sind Complierte Autoit Scripte nicht immernoch Scripte??? ?(


    Streng genommen ja, da sie nur zur Laufzeit interpretiert werden. Oscar wollte aber zum Ausdruck bringen, dass wir hier die Source unserer Skripte zeigen, damit wir alle unseren Horizont erweitern können. :rolleyes:
    Denn schließlich geht es uns doch darum (zumindest den meisten hoffe ich) eigene Projekte auch unter Einbeziehung bereits erstellter Module anderer User (wozu Fahrrad neu erfinden?) optimal umzusetzen. Dass fremde Skripte auch als solche kenntlich gemacht werden, ist ja wohl eine Selbstverständlichkeit.
    Wer seine Source nicht offenlegen möchte, braucht natürlich seine Skripte nicht zu posten. Dann fehlt ihm aber auch das Feedback zu seinem Werk, da außer zur Funktionalität niemand etwas sagen kann. Oder aber es reagiert niemand, da nur wenige Russisch Roulett spielen und fremde EXE-Files ausführen. 8)

  • Uhr

    • BugFix
    • 29. Dezember 2008 um 14:28

    Da kann man aber noch kürzen :D

    [autoit]

    #include <Inet.au3>
    $time = StringRegExp(_INetGetSource("http://www.uhrzeit.org/atomuhr.html"), '(?:\s*\<div id="anzeige"\>)(\d{2}:\d{2}:\d{2})', 3)
    MsgBox(0, 'Aktuelle Zeit', $time[0])

    [/autoit]
  • au3 Kommentar Remover

    • BugFix
    • 29. Dezember 2008 um 12:08

    Deine Funktion entfernt aber nicht nur Kommentare, sondern einfach alles was nach einem Semikolon kommt. ;(
    Wenn ich z.B. eine DLL-Struktur erstelle, ist das hinterher nur noch Schrott:

    [autoit]

    ; vorher:
    $struc = "int var1;ubyte var2;uint var3;char var4[128]"

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

    ; hinterher:
    $struc = "int var1

    [/autoit]
  • SQLiteMore.au3

    • BugFix
    • 29. Dezember 2008 um 11:53
    Zitat von Schnuffel

    Hallo BugFix,
    für die _SQLite_EXEC brauchst Du eigentlich keine @error-Abfrage.
    Die steht doch schon in der Funktion _SQLITE_EXEC selbst drin, oder?


    Ja, du hast recht. Ich könnte statt 'If $SQLITE_OK <> _SQLite_Exec...' direkt 'Return _SQLite_Exec...' verwenden.
    Da meist mehr als eine Fehlerabfrage in Funktionen stattfindet, habe ich mir angewöhnt Fehler+Fehlernummer zurückzugeben. Ist in diesem Fall tatsächlich nicht notwendig, da nur ein einziger Fehlerfall auftreten kann.
    Danke für's aufmerksame Lesen. :rolleyes:

  • Virtuelles (partielles) Laufwerk Erstellen/Löschen

    • BugFix
    • 29. Dezember 2008 um 11:18

    Noch eine Zusatzfunktion zum Ermitteln aller erstellten Laufwerke mit Lw-Buchstaben und zugehörigem Pfad. ==> s. Post 1

  • 2 While schleifen gleichzeitig durchlaufen

    • BugFix
    • 28. Dezember 2008 um 22:44

    An alle Streithähne: Ich bitte um Mäßigung :S - OK ?
    Zerstört nicht den Geist der Weihnacht, den wir mühevoll versucht haben einzufangen :D

  • Dumme frage

    • BugFix
    • 28. Dezember 2008 um 17:19
    [autoit]

    MsgBox(0, 'Antwort', InputBox('Frage', 'Sag was', 'blabla') )

    [/autoit]
  • Vierte Maustaste als Hotkey?

    • BugFix
    • 28. Dezember 2008 um 15:30

    Mit Standardaufrufen wird man vermutlich nicht weit kommen. Schau mal ob die Treiber-DLL zur Maus vom Hersteller dokumentiert ist. Dann kann man evtl. per DllCall darauf zugreifen.

  • Virtuelles (partielles) Laufwerk Erstellen/Löschen

    • BugFix
    • 28. Dezember 2008 um 14:01
    Zitat von Oscar

    BugFix, mir ist gerade noch aufgefallen, dass man zum Löschen auch den Zielpfad angeben muss.


    Danke für den Hinweis. Habe jetzt eine Erweiterung eingefügt, dass der zugehörige Pfad selbständig ermittelt wird. Es braucht also nur noch der Laufwerksbuchsstabe angegeben werden. (s. Post1)

  • Virtuelles (partielles) Laufwerk Erstellen/Löschen

    • BugFix
    • 28. Dezember 2008 um 10:52

    FirePanther:
    Danke für die Info, dadurch habe ich bemerkt, dass man mit FileExist('Drive:') keine LEEREN CD/DVD-Lw auf Existenz abfragen kann. deshalb wurde deines nicht erkannt.
    Ich habe die Abfrageroutine jetzt geändert, und somit sollte dein Problem gelöst sein. Korrektur s. 1. Post.

    Zitat von FirePanther

    gibts ne möglichkeit sowas dauerhaft zu erstellen? virtuelle laufwerke eben


    Der einfachste Weg: Du schreibst den Aufruf zum Erstellen des Lw in ein Autostart-Skript.

  • Informationen aus CMD auslesen

    • BugFix
    • 27. Dezember 2008 um 18:20

    Schau dir mal StdoutRead() an.

  • Funktion ControlSend maximiert Fenster

    • BugFix
    • 27. Dezember 2008 um 13:32
    Zitat von loli89

    da ich letztens in der schule rekursion behandelt habe, dacht ich mir ich bau es mal ein. funktioniert ja auch, aber wie ihr auf die 100% cpu auslastung kommt weiß ich nicht^^


    Nichts gegen Rekursion, aber sie muß auch beendet werden. Ich sehe hier keinen Endpunkt, daher gehe ich davon aus dass die Funktion totläuft und da die Anzahl der möglichen Rekursionen nicht unendlich ist, ist irgendwann dein Speicher vollgemüllt und die CPU-Last geht auf 100.
    Hier mal dein Programmablauf vom ersten geposteten Skript für die entsprechende Stelle als PseudoCode:

    Code
    ...
    wenn Msg=$Start dann
      Aufruf readini()
      Aufruf go()
        Aufruf sendini()
          mehrere CtrlSend
          erneuter Aufruf sendini() ==> gefangen in endlosem sendini()
        erneuter Aufruf go() ==> gar nicht mehr möglich wegen sendini()
          würde rekursiver Aufruf erfolgreich, würde wieder sendini() gestartet

    Erinnert mich an: Und täglich grüßt das Murmeltier ;) - oder liege ich falsch mit meiner Synthese?

  • Kleines Spiel - Kanonenschießen

    • BugFix
    • 27. Dezember 2008 um 11:31

    [OT]

    Zitat von jendrik

    aber, man kann auch wenn man tot ist weiterscheißen!?!

    [/OT] :rofl:

  • Funktion ControlSend maximiert Fenster

    • BugFix
    • 27. Dezember 2008 um 10:57

    Welchen Sinn hat diese Rekursion?

    [autoit]

    Func go()
    sendini()
    go()
    EndFunc

    [/autoit]


    So wie ich das sehe, löst du damit eine 100%-ige CPU-Last aus und schreibst pausenlos in die INI. Zumal du in der Func sendini wiederum eine Rekursion hast.

  • Virtuelles (partielles) Laufwerk Erstellen/Löschen

    • BugFix
    • 27. Dezember 2008 um 10:51

    Sowas ist ganz nützlich, wenn irgendein Programm 'darauf besteht' Daten von Laufwerk A: einzulesen. Solche Scherze gibt es nach wie vor, nur haben die meisten Laptops und PC inzwischen kein Disketten-Lw mehr ;)
    Das kann man auch dauerhaft mit dem DOS-Befehl SUBST [Lw:] [Pfad] erstellen. Allerdings ist das Löschen dieser Verknüpfung laut Syntaxbeschreibung mit SUBST [Lw:] /D möglich - in der Praxis hat mir aber bisher jeder PC gesagt, dass er den Schalter /D nicht kennt. :rofl:

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™