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

Beiträge von Yjuq

  • ObjT

    • Yjuq
    • 19. Juli 2013 um 12:32

    Hey!
    Genau genommen arbeitest du da an einem Konverter und keinen Interpreter...
    Wenn du dass noch nicht mit der Maschinensprache hinbekommst, versuch doch einfach mal deine Syntax tatsächlich zu interpretieren und nicht zu konvertieren.

    Falls dir der Unterschied nicht klar ist:
    Ein Konverter konvertiert eine Datei in eine andere. Bei dir ist dies von ObjT nach AutoIt.
    Ein Interpreter interpretiert die Datei zur Laufzeit und führt die Befehle des Codes aus.


    Beispiel:
    var xyz = 12 // Erstellt eine Variable
    out xyz // Gibt die Variable aus


    Dein Konverter würde nun (wenn er die Syntax so erkennen würde) folgendes machen:
    Suche Schlüsselwörter wie "var" oder "out" und konvertiere sie in AutoIt Befehle.
    Danach suche Variablen und setze ein $ Zeichen davor.
    Zuletzt ändere die Zeichen die auf ein Kommentar hindeuten in ein Semikolon um.

    Global $xyz = 12 ; Erstellt eine Variable
    ConsoleWrite($xyz) ; Gibt die Variable aus


    Ein Interpreter würde folgendermaßen arbeiten:
    Gehe den Code Zeile für Zeile durch und suche nach Schlüsselwörtern, Funktionen etc...
    Zeile 1: var xyz = 12 // Erstellt eine Variable
    >> var als Schlüsselwort erkannt >> xyz ist demnach der Variablenname >> 12 der zugewiesene Wert
    >> Speicher die Variable in dem vorgesehenen Array für die Variablennamen + Werte ab >> $avVariablen[0][0] = 'xyz' >> $avVariablen[0][1] = '12'
    >> Kommentar wird ignoriert | Nächste Zeile
    Zeile 2: out xyz // Gibt die Variable aus
    >> out als Schlüsselwort erkannt >> xyz weder String noch ein Ausdruck, es wird in der Variablenliste geschaut ob dies ggf. Eine Variable sein könnte
    >> $avVariablen wird durchgegangen und xyz wurde in $avVariablen[0][0] gefunden. Der Wert steht in $avVariablen[0][1] und ist demnach 12.
    >> 12 wird ausgegeben.
    >> Kommentar wird ignoriert | Nächste Zeile
    Code Ende wurde erreicht


    Ich hoffe du siehst wie ich das meine...
    Versuch dich direkt an den Interpreter anstatt dem Konverter...
    Dann kannst du auch tatsächlich eine unabhängige Skriptsprache mit eigenen Funktionen etc. entwickeln.

    Ich schreibe gerade auch (wegen dem Thread hier) einen kleinen Interpreter der als Beispiel dienen soll.
    Oder suche mal nach "AutoFuck". minx hat da auch einen kleinen Interpreter gebastelt wenn ich mich richtig erinnere.

    LG. Make :)

  • Bewegungsmelder

    • Yjuq
    • 18. Juli 2013 um 12:10

    Am besten nimmst du immer alle Pixel auf.
    Wenn eine rasante Farbänderung in einem einzelnen "Gebiet" erscheint,
    dann kannst du die SMS senden.

    Wenn es dunkler wird, verändern sich ja ALLE Pixel zwangsweise...
    Deswegen nur, wenn sich ein bestimmtes Gebiet rasant ändert!

    Zudem solltest du Pixelfarbaweichungen von 15-25 zulassen.
    Ansonsten kann es schnell passieren, dass du haufenweise SMS für nichts erhälst.
    Am besten da selber mal ein wenig testen.

    LG. Make

  • STDOUT umleiten

    • Yjuq
    • 16. Juli 2013 um 21:19

    Ja, die Konsole verwendet eine andere Zeichentabelle

    z.B. hat das Zeichen "ü" den Zahlenwert 129 in der Konsole.
    Jedoch nicht in der ASCII Tabelle. Das Zeichen wird auch so nicht in dem Output Fenster der SciTE angezeigt.

    Kleiner Test: ConsoleWrite(Chr(129) & @CRLF)

    Am besten liest du die Daten als Binärdaten ein und veränderst die entsprechenden Bytes der Umlaute.

    LG. Make :)

  • Shoutbox-Knigge

    • Yjuq
    • 16. Juli 2013 um 13:28

    Vielen dank dass du Textsmilies besonders hervorgehoben hast! :D
    Ich versuche es ja schon einzudemmen... Aber leider wandern meine Finger schon unbewusst auf die entsprechenden Tasten.
    Ist nicht so einfach da unbedingt drauf zu achten. *löl*

    Aber es ist gut dass du das Thread hier erstellt hast!

  • Problem mit If $case Abfrage

    • Yjuq
    • 15. Juli 2013 um 13:26

    Sowas in der Art?

    Spoiler anzeigen
    [autoit]

    Global $sDB = 'Firma 1|Firma 2|Firma 3'
    Global $asDB = StringSplit($sDB, '|')
    Global $idItem[$asDB[0]]

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

    Global $hGUI, $idTreeView, $iMSG

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

    $hGUI = GUICreate('', 800, 600)
    $idTreeView = GUICtrlCreateTreeView(0, 0, 800, 600)

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

    For $i = 1 To $asDB[0]
    $idItem[$i -1] = GUICtrlCreateTreeViewItem($asDB[$i], $idTreeView)
    Next

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

    GUISetState()

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

    While True
    $iMSG = GUIGetMsg()

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

    Switch $iMSG
    Case $idItem[0] To $idItem[$asDB[0] -1]
    MsgBox(0, 'Firma', $asDB[$iMSG -$asDB[0]], Default, $hGUI)
    Case -3
    Exit
    EndSwitch

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

    WEnd

    [/autoit]
  • Make-Grafik's Encryption Tool

    • Yjuq
    • 15. Juli 2013 um 05:53

    ô.Ô - Ja, die beiden Verfahren ähneln sich wirklich sehr...

    Zu dem BinaryToString...
    Bin gerade etwas unsicher was du meinst.
    Die verschlüsselnden Daten werden in Binärer Form unten ausgegeben.
    Die entschlüsselnden Daten werden in einer Zeichenkette ausgegeben.

    Beispiel 1: (verschlüsseln)
    Eingabe = Beispieltext
    Passwort = MG
    Ausgabe: 0x8FACB6BABDB0B2B3C1ACC5BB

    Beispiel 2: (entschlüsseln)
    Eingabe = 0xAED4D6D9
    Passwort = asdf
    Ausgabe: Mars

    Beides funktioniert so wie es soll...

  • Make-Grafik's Encryption Tool

    • Yjuq
    • 15. Juli 2013 um 02:37

    Hallo Community!
    Ich hatte vor längerer Zeit eine wichtige Datei verschlüsselt. Diese Datei enthielt sämtliche Benutzernamen + Passwörter von diversen Seiten wo ich mich irgendwann einmal registriert habe. Leider ist das Skript dazu bei einem kleinen PC „Problem“ abhandengekommen. Daher hatte ich den ganzen Tag überlegt wie nun dieser Algorithmus war, womit ich diese Datei damals verschlüsselt habe. Nach langem Testen und probieren habe ich es dann doch tatsächlich hinbekommen den Algorithmus nochmal neu zu programmieren. Als meine Datei dann endlich wieder entschlüsselt war, habe ich angefangen einen Echtzeit Verschlüsselung Tool zu schreiben, welches meinen Algorithmus verwendet. Diesen wollte ich hier gerne einmal hochladen.

    Das erste Edit Control ist für die Eingabe des zu ver- bzw. entschlüsselnden Textes verantwortlich. Es erkennt automatisch ob es sich um zu entschlüsselnde Binärdaten oder zu verschlüsselnde Texte handelt.

    Das Input Control nimmt das Passwort entgegen. Wird kein Passwort eingetragen, so wird der String einfach nur in Binärdaten umgewandelt und kann mit BinaryToString() wieder in den Originaltext verwandelt werden.

    Das zweite Edit Control gibt die verschlüsselten Binärdaten oder der entschlüsselte Text aus.


    Vorteil des Algorithmus:
    Man kann den Text nicht durch die Häufigkeit der Buchstaben erschließen. Die einzig sinnvolle Methode um den Text zu entschlüsseln ist nach meiner Überlegung nur mit Bruteforce möglich.

    Nachteil des Algorithmus:
    Sind bestimmte Zeichen des Passwortes an ihren „richtigen“ Platz, so werden Teilstrings des Originaltextes entschlüsselt. So kann bei einem nicht vollständigen Passwortes trotzdem der Text noch erschließt werden.


    Vielleicht kann ja der eine oder andere das Tool bzw. den Algorithmus gebrauchen. Hier das Skript:

    Spoiler anzeigen
    [autoit]

    #include <EditConstants.au3>
    #include <GUIConstants.au3>
    #include <GUIEdit.au3>
    #include <WindowsConstants.au3>

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

    Opt('GUIOnEventMode', 1)
    Opt('MustDeclareVars', 1)

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

    Global $hGUI, $idInput, $idPassword, $idOutput, $idDummy, $avAccelertors[1][2], $sReadText, $sReadPassword, $sSaveText, $sSavePassword, $sSet

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

    ; ++++++++++ +++++++++ ++++++++ +++++++ ++++++ +++++ ++++ +++ ++ +

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

    $hGUI = GUICreate("Make-Grafik's Encryption Tool", 800, 600)
    $idInput = GUICtrlCreateEdit('', 0, 0, 800, 290, $ES_AUTOVSCROLL + $ES_MULTILINE + $ES_WANTRETURN + $WS_VSCROLL)
    $idPassword = GUICtrlCreateInput('', 0, 290, 800, 20)
    $idOutput = GUICtrlCreateEdit('', 0, 310, 800, 290, $ES_AUTOVSCROLL + $ES_READONLY + $WS_VSCROLL)
    $idDummy = GUICtrlCreateDummy()

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

    $avAccelertors[0][0] = '^a'
    $avAccelertors[0][1] = $idDummy

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

    GUISetAccelerators($avAccelertors)
    GUICtrlSetOnEvent($idDummy, '_SelAll')
    GUISetOnEvent($GUI_EVENT_CLOSE, 'GUI_EVENT_CLOSE')
    GUISetState()

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

    ; ++++++++++ +++++++++ ++++++++ +++++++ ++++++ +++++ ++++ +++ ++ +

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

    While Sleep(10)
    $sReadText = GUICtrlRead($idInput)
    $sReadPassword = GUICtrlRead($idPassword)

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

    If $sReadText <> $sSaveText Or $sReadPassword <> $sSavePassword Then
    $sSet = _MG_Encryption($sReadText, $sReadPassword, _IsBinaryString($sReadText))
    If _IsBinaryString($sReadText) Then $sSet = BinaryToString($sSet)
    GUICtrlSetData($idOutput, $sSet)
    EndIf

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

    $sSaveText = $sReadText
    $sSavePassword = $sReadPassword
    WEnd

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

    ; ++++++++++ +++++++++ ++++++++ +++++++ ++++++ +++++ ++++ +++ ++ +

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

    Func _SelAll()
    Local $hFocus = ControlGetHandle($hGUI, '', ControlGetFocus($hGUI))
    Local $hInput = ControlGetHandle($hGUI, '', $idInput)
    Local $hPassword = ControlGetHandle($hGUI, '', $idPassword)
    Local $hOutput = ControlGetHandle($hGUI, '', $idOutput)

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

    If $hFocus = $hInput Or $hFocus = $hPassword Or $hFocus = $hOutput Then _GUICtrlEdit_SetSel($hFocus, 0, -1)
    EndFunc

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

    Func GUI_EVENT_CLOSE()
    Exit
    EndFunc

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

    Func _MG_Encryption($vData, $sPassword, $bMode)
    If _IsBinaryString($vData) Then $vData = BinaryToString($vData)
    If Not $vData Then $vData = Chr(0)
    If Not $sPassword Then $sPassword = Chr(0)

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

    Local $sTemp = $sPassword
    Local $iLen = StringLen($vData)
    Local $i, $iX, $iY

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

    While $iLen > StringLen($sPassword)
    $sPassword &= $sTemp
    WEnd
    $sPassword = StringLeft($sPassword, $iLen)

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

    $sTemp = ''
    For $i = 1 To $iLen
    $iX = Asc(StringLeft($vData, 1))
    $iY = Asc(StringLeft($sPassword, 1))

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

    If $bMode Then
    If $iX < $iY Then $iX += 255
    $iX -= $iY
    Else
    $iX += $iY
    If $iX > 255 Then $iX -= 255
    EndIf

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

    $sTemp &= Chr($iX)
    $vData = StringTrimLeft($vData, 1)
    $sPassword = StringTrimLeft($sPassword, 1)
    Next

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

    Return StringToBinary($sTemp)
    EndFunc

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

    Func _IsBinaryString($sString)
    Local $sLeft = StringLeft($sString, 2)
    Local $sRight = StringTrimLeft($sString, 2)

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

    If $sLeft <> '0x' Or Not $sRight Then Return False

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

    StringRegExpReplace($sRight, '[^0-9a-fA-F]', '')
    Return Not @extended
    EndFunc

    [/autoit]
  • Zugriffe auf Datei loggen und/oder blocken?

    • Yjuq
    • 13. Juli 2013 um 22:38

    Ich würde da (wie Haldi sagte) eine Software vorziehen welche sämtliche Dateien auf dem USB Stick mit einem Passwort verschlüsselt.
    Ich selber nutze dafür "MyWinLocker". Diese Software verschlüsselt die Daten und erstellt daraus eine *.exe File.
    Die *.exe Datei kann dann von jedem PC aus (welcher die obere genannte Software nicht enthält) mit dem richtigen Passwort entschlüsselt werden.
    Ist ne sichere Methode um die Daten von jedem PC aus abzurufen und auch mit einem Passwort zu sichern.

    LG. Make =)

  • Sound so lange abspielen bis MSGBox bestätigt

    • Yjuq
    • 13. Juli 2013 um 20:08

    Es wird lediglich ein Dll Call ausgeführt.
    Alle Informationen zu der Funktion "PlaySound" findest du hier: http://msdn.microsoft.com/en-us/library/…v=vs.85%29.aspx

  • Sound so lange abspielen bis MSGBox bestätigt

    • Yjuq
    • 10. Juli 2013 um 21:13

    Hmm...
    Dann würde ich dir die Variante empfehlen wo du dir selber eine Message Box bastelst.
    So schwer ist das nicht und du kannst dein Vorhaben leicht umsetzen.

  • Sound so lange abspielen bis MSGBox bestätigt

    • Yjuq
    • 10. Juli 2013 um 20:34

    Du brauchst überhaupt keine Endlosschleife weil die Message Box das ganze intern selber regelt.
    Du brauchst nur nach dem aufploppen der Message Box den Sound zu stoppen.

    [autoit]

    SoundPlay("Windows Exclamation.wav")
    MsgBox(64, "Neues Fenster", "blablabla")
    SoundPlay("")

    [/autoit]

    So wird der Sound solange abgespielt wie die Message Box zu sehen ist.

  • Sound so lange abspielen bis MSGBox bestätigt

    • Yjuq
    • 10. Juli 2013 um 20:05

    Hast du mal versucht ERST den Sound zu starten und dann die Message Box aufploppen zu lassen?
    Zudem stoppt die Message Box die Ausführung des Skriptes solange bis sie geschlossen wird.
    Es ist durchaus möglich dass so auch der Sound gestoppt wird.

    Wenn der Sound tatsächlich gestoppt wird, dann musst du dir wohl selber eine Message Box basteln.
    Notfalls such mal im Forum hier. Hier hatte jemand mal eine erweiterte Message Box gepostet die du verwenden könnetst.

    LG. Make

  • Eine Neue hier!

    • Yjuq
    • 10. Juli 2013 um 20:02

    Uhh :D
    Ich freue mich wieder einen neuen User kennen zu lernen!
    Dann möchte ich dir ein herzlichen Willkommen schenken Nadine! ^^
    Du wirst dich hier sicherlich schnell "einleben".

    LG. Make ;P

  • Wenn Fenster inaktiv wird, dann - Error: Subscript used with non-Array variable.

    • Yjuq
    • 8. Juli 2013 um 22:41

    Ganz einfach: Der Fehler liegt in Zeile 73 und 74.
    Sobald das Fenster minimiert wird, kann sich die angegebene ID nicht mehr zuordnen bzw. Würde sich auf das neue aktive Fenster beziehen :x
    Demnach wird entweder KEIN Array ausgegeben (Was den Fehler erzeugt) oder es werden falsche Werte zurück gegeben (Welches in einen anderen Fall erst eintritt)

    Am besten schreibst du das wenn schon so um:
    $aPos = ControlGetPos($mainwindow, "", $Paddel1)

    Sieh doch einfach mal in die Hilfe :x
    Da steht das auch drin auf welches Fenster sich das ganze bezieht wenn kein Fensterame angegeben ist...
    >> Nämlich auf das derzeitig aktive Fenster ^^


    €dit:
    Statt Controls kannst du ja beispielsweise GDI+ nutzen...
    Oder zeichne mithilfe eines Graphic Controls...

  • Puzzle - Control Docking

    • Yjuq
    • 8. Juli 2013 um 21:06

    BinDannMalWeg:
    Nach TheLuBu’s Frage zu urteilen, scheint es mir so als hätte er keine Idee wie man das mathematisch lösen könnte.


    TheLuBu:
    Es ist eigentlich ganz einfach. Stellen wir uns einmal ein Raster von 5x5 Quadraten je 10x10px vor. In diesen Raster ziehen wir nun irgendein Element an die Position [27, 9]. Diese Koordinate befindet sich im dritten Quadrat der oberen Reihe. Technisch wollen wir nun das Element an der linken oberen Ecke des Quadrates ausrichten. Der Trick dabei ist einfach, die linkeren oberen Ecke des Quadrates im Raster zu ermitteln. Und dazu können wir folgendes Rechenverfahren anwenden:

    Als erstes müssen wir feststellen an welcher Position sich unser Element befindet. Im Beispiel ist dies die Koordinate [27, 9] (relativ zum Raster).

    Nun verarbeiten wir die x-Koordinate folgendermaßen:
    Die x-Koordinate wird durch die Breite des Rasters (10px) geteilt. | 27 / 10 = 2,7
    Nun wird die x-Koordinate einfach abgerundet. | 2,7 = 2
    Zum Schluss wird die x-Koordinate wieder mit der Breite des Rasters multipliziert. | 2 * 10 = 20
    Nun haben wir die x-Koordinate des Quadrates im Raster erhalten, in welches sich unser Element befindet.

    Das gleiche Verfahren können wir 1 zu 1 auf die y-Koordinate anwenden und erhalten somit die Koordinaten des Quadrates im Raster, an welches sich unser Element ausrichten soll. Es entsteht dieser andocken Effekt.

    Unsere Beispielkoordinate [27, 9] dockt sich also an die Koordinate [20, 0] an.

    Hier eine kleine AutoIt Funktion zu dem Rechenverfahren:

    Spoiler anzeigen
    [autoit]

    $x = 27
    $y = 9

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

    $Pos = _dock($x, $y, 10, 10)

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

    ConsoleWrite('x-Koordinate: ' & $Pos[0] & @CRLF & _
    'y-Koordinate: ' & $Pos[1] & @CRLF)

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

    ; $x >> x-Koordinate des Elements
    ; $y >> y-Koordinate des Elements
    ; $w >> Breite des Rasters
    ; $h >> Höhe des Rasters

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

    Func _dock($x, $y, $w, $h)
    Local $aPos[2]

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

    $aPos[0] = Int($x / $w) * $w
    $aPos[1] = Int($y / $h) * $h

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

    Return $aPos
    EndFunc

    [/autoit]

    Nun sollte es dir nicht mehr schwer fallen diesen Effekt mit Controls oder GDI+ umzusetzen. Leider habe ich keine Zeit dir ein Skript dazu zu schreiben der diesen Effekt direkt vor Augen führt...

    Kleiner Tipp: Wenn du das Element in Echtzeit andocken willst (also während man das Element mit der Maus über das Raster zieht), dann verwende unbedingt die Mauskoordinaten!

    Ich hoffe ich konnte helfen!
    LG. Make ;P

  • Mit Snap ein Fenster auswählen

    • Yjuq
    • 7. Juli 2013 um 12:59

    Hey!
    Dafür brauchst du die "WindowFromPoint" Funktion aus der User32.dll. Zum Glück ist diese schon bereits bei AutoIt in der WinAPI.au3 mitgeliefert. Die Funktion dazu heißt: _WinAPI_WindowFromPoint()

    LG. Make :)

  • Dafür verwendet man "Dim"!

    • Yjuq
    • 7. Juli 2013 um 12:26
    Zitat

    Das Problem bei Dim ist, dass man nicht weiß, ob man eine neue Variable anlegt oder eine alte ändert.


    Stimmt nicht so ganz.... Mit IsDeclared() kann man das durchaus überprüfen... :D

    Zitat

    Man soll Dim nicht mehr verwenden, weil es als "deprecated" (überholt) markiert ist und irgendwann aus AutoIt verschwindet.


    *hust* Die sollten lieber das Schlüsselwort "Global" raus nehmen, dann kann man wenigstens keine Global Variablen in Funktionen deklarieren! *hust*

    Spoiler anzeigen
    [autoit]

    ; IsDeclared: 1 => Variable ist Global deklariert
    ; 0 => Variable ist nicht deklariert
    ; -1 => Variable ist Lokal deklariert

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

    $gVar = 0 ; Globale Variable

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

    _Func()

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

    ConsoleWrite('Script: ' & @CRLF & _
    ' $gVar => ' & IsDeclared('gVar') & @CRLF & _
    ' $lVar => ' & IsDeclared('lVar') & @CRLF & _
    ' $lToo => ' & IsDeclared('lToo') & @CRLF)

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

    Func _Func()
    If Not IsDeclared('gVar') Then $gVar = 0 ; Wenn nicht Global dann Lokal
    Dim $lVar = 0 ; Lokale Variable
    $lToo = 0 ; Ebenfalls Lokal

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

    ConsoleWrite('Function: ' & @CRLF & _
    ' $gVar => ' & IsDeclared('gVar') & @CRLF & _
    ' $lVar => ' & IsDeclared('lVar') & @CRLF & _
    ' $lToo => ' & IsDeclared('lToo') & @CRLF & @CRLF)
    EndFunc

    [/autoit]
  • und wieder ein neuer

    • Yjuq
    • 19. Juni 2013 um 19:12

    Einer unserer User (derBrot) arbeitet an einem Antivierer...
    Am besten schreibst du ihn mal ne PN oder wartest bist er sich hier eventuell meldet.
    Kannst ihn ja mal fragen wie aufwendig so ein Antivierer ist.

    Wenn du starthilfe brauchst, schau mal hier vorbei: https://autoit.de/www.autoit.de/…p;postID=278717
    Ansonsten steht dir ja das Forum hier zur Verfügung.

    LG. Make :)

  • Information ausgeben wenn neue Datei erstellt wird.

    • Yjuq
    • 19. Juni 2013 um 18:57

    Beispielsweise könntest du die Windows Fenster erkennen und dementsprechend das Programm darauf achten lassen ob der User die Datei speichert.
    Oder direkt einfach jede Aktion des Users überwachen und darauf achten ob irgendwas mit Dateien geschieht.

    Oder du erstellst eine gesamte Liste von allen Datein auf dem Rechner und lässt diese immer wieder überprüfen und reagierst auf änderungen.
    Ist aber ziemelich Zeitaufwendig. Je nachdem ob du alle Ordner durchsuchen willst...

    Spontan fällt mir nichts weiteres ein.

  • und wieder ein neuer

    • Yjuq
    • 19. Juni 2013 um 17:11

    So meinte ich dass ja auch gar nicht. ^^
    Ich selber möchte im Grunde nur davon abraten 2 extrem unterschiedliche Programmiersprachen anzufangen.
    Das gilt aber nur wenn man schon weiß in welche Richtungen die Anwendungen gehen sollen.

    Um zu entdecken oder einfach nur aus interesse, da stimme ich vollkommen zu sich einfach mal viele Sprachen anzueignen.
    Ich selber hatte ja früher einfach nur "Bots" als Ziel gehabt. Dementsprechend kam ich durch mein gehüppe aber nie ans Ziel.
    Erst als ich mich intensiv mit einer Sprache beschäftigt habe (AutoIt) konnte ich wirklich meinen ersten Bot umsetzen.

    Inzwischen habe ich aber viel mehr als Bots in der Programmierung entdeckt und springe jetzt wider zwischen Sprachen hin und her.
    Einfach aus neugier und interesse.

    Ich habe versucht meine Beiträge in 2 Abschnitte zu teilen: Festes Ziel und kein bestimmtes Ziel.
    Ist das so nicht deutlich geworden?

    Ich habe versucht jeweils je nach Situation dazu zu raten oder auch abzuraten.
    Es sollte nicht wirklich verallgemeintert gemeint sein.

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™