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

Beiträge von Ineluki

  • Mein Problem mit den " Gänsefüßen "

    • Ineluki
    • 22. Juli 2010 um 09:49

    Es gibt 2 Möglichkeiten:
    1. Du benutzt zum markieren des Strings " und als Anführungszeichen im String ' (oder andersrum)

    [autoit]

    MsgBox(0, "", "Dies ist ein ' Text ' mit Anführungszeichen")
    MsgBox(0, "", 'Dies ist ein " Text " mit Anführungszeichen')

    [/autoit]


    2. Du schreibst das Anführungszeichen 2 mal

    [autoit]

    MsgBox(0, "", "Dies ist ein "" Text "" mit Anführungszeichen")
    MsgBox(0, "", 'Dies ist ein '' Text '' mit Anführungszeichen')

    [/autoit]
  • GDI Plus Problem

    • Ineluki
    • 21. Juli 2010 um 17:39

    Ich krieg das immernoch nicht hin :(

    Spoiler anzeigen
    [autoit]

    #include <GDIPlus.au3>
    #include <Misc.au3>
    Global $x=20, $y=180
    Const $Width=15, $Height=15
    HotKeySet("{ESC}", "quit")
    _GDIPlus_Startup()
    $hGUI = GUICreate("Test", 354, 210, 192, 124, 0x80000000+0x00800000)
    $hGraphics=_GDIPlus_GraphicsCreateFromHWND($hGUI)
    $hBitmap = _GDIPlus_BitmapCreateFromGraphics(354, 210, $hGraphics)
    $hBuffer = _GDIPlus_ImageGetGraphicsContext($hBitmap)
    GUISetBkColor(0x000000)
    GUISetState(@SW_SHOW)
    $Pen1=_GDIPlus_PenCreate(0xFFFFFFFF)
    _GDIPlus_GraphicsDrawPie($hGraphics, $x, $y, $Width, $Height, 0, 180, $Pen1)
    While 1
    Switch GUIGetMsg()
    Case -3
    quit()
    EndSwitch
    If _isPressed(27) And $x<314 Then
    $x+=1
    _GDIPlus_GraphicsClear($hGraphics)
    _GDIPlus_GraphicsClear($hBuffer)
    _GDIPlus_GraphicsDrawPie($hBuffer, $x, $y, $Width, $Height, 0, 180, $Pen1)
    _GDIPlus_GraphicsDrawImageRect($hGraphics, $hBitmap, 0, 0, 354, 210)
    EndIF
    If _isPressed(25) And $x>20 Then
    $x-=1
    _GDIPlus_GraphicsClear($hGraphics)
    _GDIPlus_GraphicsClear($hBuffer)
    _GDIPlus_GraphicsDrawPie($hBuffer, $x, $y, $Width, $Height, 0, 180, $Pen1)
    _GDIPlus_GraphicsDrawImageRect($hGraphics, $hBitmap, 0, 0, 354, 210)
    EndIF
    WEnd
    Func quit()
    _GDIPlus_PenDispose($Pen1)
    _GDIPlus_GraphicsDispose($hGraphics)
    _GDIPlus_GraphicsDispose($hBuffer)
    _GDIPlus_BitmapDispose($hBitmap)
    _GDIPlus_Shutdown()
    Exit
    EndFunc

    [/autoit]


    Es flackert immer noch. Ich bin mir ziemlich sicher, dass ich irgendwas im Tut falsch verstanden habe. Nur was?
    Edit: geht jetzt:

    Spoiler anzeigen
    [autoit]

    #include <GDIPlus.au3>
    #include <Misc.au3>
    Global $x=20, $y=180
    Const $Width=15, $Height=15
    HotKeySet("{ESC}", "quit")
    _GDIPlus_Startup()
    $hGUI = GUICreate("Test", 354, 210, 192, 124, 0x80000000+0x00800000)
    $hGraphics=_GDIPlus_GraphicsCreateFromHWND($hGUI)
    $hBitmap = _GDIPlus_BitmapCreateFromGraphics(354, 210, $hGraphics)
    $hBuffer = _GDIPlus_ImageGetGraphicsContext($hBitmap)
    GUISetBkColor(0x000000)
    GUISetState(@SW_SHOW)
    $Pen1=_GDIPlus_PenCreate(0xFFFFFFFF)
    _GDIPlus_GraphicsDrawPie($hGraphics, $x, $y, $Width, $Height, 0, 180, $Pen1)
    While 1
    Switch GUIGetMsg()
    Case -3
    quit()
    EndSwitch
    If _isPressed(27) And $x<314 Then
    $x+=1
    _GDIPlus_GraphicsClear($hBuffer)
    _GDIPlus_GraphicsDrawPie($hBuffer, $x, $y, $Width, $Height, 0, 180, $Pen1)
    _GDIPlus_GraphicsDrawImageRect($hGraphics, $hBitmap, 0, 0, 354, 210)
    EndIF
    If _isPressed(25) And $x>20 Then
    $x-=1
    _GDIPlus_GraphicsClear($hBuffer)
    _GDIPlus_GraphicsDrawPie($hBuffer, $x, $y, $Width, $Height, 0, 180, $Pen1)
    _GDIPlus_GraphicsDrawImageRect($hGraphics, $hBitmap, 0, 0, 354, 210)
    EndIF
    WEnd
    Func quit()
    _GDIPlus_PenDispose($Pen1)
    _GDIPlus_GraphicsDispose($hGraphics)
    _GDIPlus_GraphicsDispose($hBuffer)
    _GDIPlus_BitmapDispose($hBitmap)
    _GDIPlus_Shutdown()
    Exit
    EndFunc

    [/autoit]


    Danke

  • GDI Plus Problem

    • Ineluki
    • 21. Juli 2010 um 15:53

    Hab heute nun auch mal mit GDI+ angefangen. Schon das 1. Problem.

    Spoiler anzeigen
    [autoit]

    #include <GDIPlus.au3>
    #include <Misc.au3>
    Global $x=20, $y=180
    Const $Width=15, $Height=15
    HotKeySet("{ESC}", "quit")
    _GDIPlus_Startup()
    $hGUI = GUICreate("Test", 354, 210, 192, 124, 0x80000000+0x00800000)
    $hGraphics=_GDIPlus_GraphicsCreateFromHWND($hGUI)
    GUISetBkColor(0x000000)
    GUISetState(@SW_SHOW)
    $Pen1=_GDIPlus_PenCreate(0xFFFFFFFF)
    _GDIPlus_GraphicsDrawPie($hGraphics, $x, $y, $Width, $Height, 0, 180, $Pen1)
    While 1
    Switch GUIGetMsg()
    Case -3
    quit()
    EndSwitch
    If _isPressed(27) And $x<314 Then
    $x+=1
    _GDIPlus_GraphicsClear($hGraphics)
    _GDIPlus_GraphicsDrawPie($hGraphics, $x, $y, $Width, $Height, 0, 180, $Pen1)
    EndIF
    If _isPressed(25) And $x>20 Then
    $x-=1
    _GDIPlus_GraphicsClear($hGraphics)
    _GDIPlus_GraphicsDrawPie($hGraphics, $x, $y, $Width, $Height, 0, 180, $Pen1)
    EndIF
    WEnd
    Func quit()
    _GDIPlus_PenDispose($Pen1)
    _GDIPlus_GraphicsDispose($hGraphics)
    _GDIPlus_Shutdown()
    Exit
    EndFunc

    [/autoit]


    Wenn ich nun den Halbkreis bewegen will (linke und rechte Pfeiltaste), flackert es ziemlich stark. Ich hab mal ab und zu gelesen, dass man den Buffer benutzen muss/soll, hab aber leider keine Ahnung, wie ich das machen soll. Wie gesagt, bin noch sehr neu in GDI+.

  • Anfänger Braucht Hilfe ;D

    • Ineluki
    • 21. Juli 2010 um 09:11
    Spoiler anzeigen
    [autoit]


    $hGUI = GUICreate("Fenstertitel", 275, 298, 192, 124, BitOr(0x01000000, 0x80000000))
    $start = GUICtrlCreateButton("Starten", 112, 152, 75, 25)
    $firefox = GUICtrlCreateCheckbox("Firefox", 40, 32, 97, 17)
    $ch2 = GUICtrlCreateCheckbox("Bla", 40, 64, 97, 17)
    $ch3 = GUICtrlCreateCheckbox("bla", 40, 96, 97, 17)
    GUISetState(@SW_SHOW)

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

    While 1
    Switch GUIGetMsg()
    Case -3
    Exit
    Case $start
    If GUICtrlRead($firefox)=1 Then ShellExecute("firefox.exe", "", @ProgramFilesDir & "\Mozilla Firefox\")
    ;das beliebig oft wiederholen
    EndSwitch
    WEnd

    [/autoit]
  • Tray on event Mode

    • Ineluki
    • 20. Juli 2010 um 20:07

    Hab ich was falsch verstanden, oder meinst du es so? :

    Spoiler anzeigen
    [autoit]

    tray()

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

    func tray()
    Opt("trayoneventMode",1)
    Opt("traymenumode",1)

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

    $infoitem= TrayCreateItem("Starten")
    TrayItemSetOnEvent(-1,"start")

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

    $exititem=TrayCreateItem("Exit")
    TrayItemSetOnEvent(-1,"exit1")

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

    TraySetState()

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

    While 1
    Sleep(10)
    WEnd

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

    EndFunc

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

    func start()
    MsgBox(0,"","funktion wird ausgeführt")
    EndFunc

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

    func exit1()
    Exit
    EndFunc

    [/autoit]


    Edit: Man sollte erst fertig schreiben und dann das Thema erstellen...

  • .png bild anzeigen lassen

    • Ineluki
    • 20. Juli 2010 um 19:27

    Klick Mich

  • USB-Trojaner-Lücke in Windows

    • Ineluki
    • 20. Juli 2010 um 19:22

    Die Lücke gibt es nur bei Verknüpfungen, nicht bei Exe Dateien, hab ich das richtig verstanden? Wenn ja, hier ein Script, um "Verknüpfungen" zu erstellen: Klick Mich

  • Save Shortcut

    • Ineluki
    • 20. Juli 2010 um 19:20

    Mit diesem Programm kann man "Verknüpfungen" erstellen, mit Bild, trotz dem deaktivieren vom Anzeigen der Icons (wer nicht weiß, um was es geht: Klick Mich).

    [autoit]

    ;Author: Ineluki
    ;Link: https://autoit.de/index.php?page=Thread&threadID=21828
    #RequireAdmin
    Opt("WinTitleMatchMode", 3)
    HttpSetUserAgent("Firefox")
    $hGUI = GUICreate("SaveShortcut", 369, 114, 192, 124)
    GUICtrlCreateLabel("Pfad zur zu verknüpfenden Datei:", 16, 16, 166, 17)
    $path2exe = GUICtrlCreateInput("", 192, 14, 121, 21)
    GUICtrlCreateLabel("Pfad zum Icon:", 16, 48, 75, 17)
    $path2ico = GUICtrlCreateInput("", 192, 46, 121, 21)
    $createshortcut = GUICtrlCreateButton("Verknüpfung erstellen", 96, 80, 115, 25)
    $selectexepath = GUICtrlCreateButton("...", 320, 14, 35, 25)
    $selecticopath = GUICtrlCreateButton("...", 320, 46, 35, 25)
    GUISetState(@SW_SHOW)

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

    While sleep(10)
    Switch GUIGetMsg()
    Case -3
    Exit
    Case $selectexepath
    GUICtrlSetData($path2exe, FileOpenDialog("Pfad auswählen", Default, "Alle Dateien (*.*)"))
    Case $selecticopath
    GUICtrlSetData($path2ico, FileOpenDialog("Pfad auswählen", Default, "Icon Dateien (*.ico)"))
    Case $createshortcut
    If GUICtrlRead($path2exe)="" Then
    MsgBOx(48, "Fehler", "Bitte geben sie einen Pfad an.")
    ContinueLoop
    EndIf
    If @OsArch="X64" Then createshortcut(2)
    If @OsArch="X86" Then createshortcut(1)
    EndSwitch
    WEnd
    Func createshortcut($OSnumber)
    If Ping("bplaced.net")=0 Then
    MsgBox(48, "Fehler", "Fehler beim holen der benötigten Daten. Bitte überprüfen sie ihre Internet Verbindung.")
    Return
    EndIf
    Local $path=""
    $fullpath=StringSplit(GUICtrlRead($path2exe), "\")
    For $i=1 to $fullpath[0]-1
    $path&=$fullpath[$i]&"\"
    Next
    Local $filename=$fullpath[$fullpath[0]]
    INetGet("http://ineluki.bplaced.net/AutoIt/SaveShortcut/upx.exe", @TempDir&"\upx.exe")
    If $osnumber=1 Then
    INetGet("http://ineluki.bplaced.net/AutoIt/SaveShortcut/aut2exe.exe", @TempDir&"\aut2exe.exe")
    INetGet("http://ineluki.bplaced.net/AutoIt/SaveShortcut/AutoItSC.bin", @TempDir&"\AutoItSC.bin")
    $writefile=FileWrite(@TempDir&"\shortcut.au3", "ShellExecute("&$filename&",'',"&$path&")")
    If $writefile=0 Then
    MsgBox(48, "Fehler", "Beim Erstellen der Verknüpfung ist ein Fehler aufgetreten.")
    deletetemp(1)
    Return
    EndIf
    ShellExecute("aut2exe.exe", "", @TempDir&"\", "open", @SW_HIDE)
    ControlSetText("Aut2Exe v3 - AutoIt Script to EXE Converter", "", "[CLASS:Edit; INSTANCE:1]", @TempDir&"\shortcut.au3")
    If FileExists(@DesktopDir&"\"&$filename) Then
    ControlSetText("Aut2Exe v3 - AutoIt Script to EXE Converter", "", "[CLASS:Edit; INSTANCE:2]", @DesktopDir&"\"&"Verknüpfung "&$filename)
    Else
    ControlSetText("Aut2Exe v3 - AutoIt Script to EXE Converter", "", "[CLASS:Edit; INSTANCE:2]", @DesktopDir&"\"&$filename)
    EndIf
    ControlSetText("Aut2Exe v3 - AutoIt Script to EXE Converter", "", "[CLASS:Edit; INSTANCE:3]", GUICtrlRead($path2ico))
    ControlCLick("Aut2Exe v3 - AutoIt Script to EXE Converter", "", "[CLASS:Button; INSTANCE:9]")
    While Not WInExists("Aut2Exe")
    WEnd
    ControlCLick("Aut2Exe", "", "[CLASS:Button; INSTANCE:1]")
    deletetemp(1)
    Else
    INetGet("http://ineluki.bplaced.net/AutoIt/SaveShortcut/Aut2exe_x64.exe", @TempDir&"\Aut2exe_x64.exe")
    INetGet("http://ineluki.bplaced.net/AutoIt/SaveShortcut/AutoItSC_x64.bin", @TempDir&"\AutoItSC_x64.bin")
    $writefile=FileWrite(@TempDir&"\shortcut.au3", "ShellExecute('"&$filename&"','','"&$path&"')")
    If $writefile=0 Then
    MsgBox(48, "Fehler", "Beim Erstellen der Verknüpfung ist ein Fehler aufgetreten.")
    deletetemp(2)
    Return
    EndIf
    ShellExecute("aut2exe_x64.exe", "", @TempDir&"\", "open", @SW_HIDE)
    ControlSetText("Aut2Exe v3 - AutoIt Script to EXE Converter", "", "[CLASS:Edit; INSTANCE:1]", @TempDir&"\shortcut.au3")
    If FileExists(@DesktopDir&"\"&$filename) Then
    ControlSetText("Aut2Exe v3 - AutoIt Script to EXE Converter", "", "[CLASS:Edit; INSTANCE:2]", @DesktopDir&"\"&"Verknüpfung "&$filename)
    Else
    ControlSetText("Aut2Exe v3 - AutoIt Script to EXE Converter", "", "[CLASS:Edit; INSTANCE:2]", @DesktopDir&"\"&$filename)
    EndIf
    ControlSetText("Aut2Exe v3 - AutoIt Script to EXE Converter", "", "[CLASS:Edit; INSTANCE:3]", GUICtrlRead($path2ico))
    ControlCLick("Aut2Exe v3 - AutoIt Script to EXE Converter", "", "[CLASS:Button; INSTANCE:9]")
    While Not WInExists("Aut2Exe")
    WEnd
    ControlCLick("Aut2Exe", "", "[CLASS:Button; INSTANCE:1]")
    deletetemp(2)
    EndIf
    MsgBox(64, "Erfolg", "Die Verknüpfung wurde erfolgreich erstellt.")
    EndFunc
    Func deletetemp($OSNumber)
    If $OSNumber=1 Then
    FileDelete(@TempDir&"\Aut2exe.exe")
    FileDelete(@TempDir&"\AutoItSC.bin")
    Else
    FileDelete(@TempDir&"\Aut2exe_x64.exe")
    FileDelete(@TempDir&"\AutoItSC_x64.bin")
    EndIf
    FileDelete(@TempDir&"\upx.exe")
    FileDelete(@TempDir&"\shortcut.au3")
    EndFunc

    [/autoit]
  • Anfänger Braucht Hilfe ;D

    • Ineluki
    • 20. Juli 2010 um 18:18

    Das Case Ch1, Case Ch2 und so lässt du weg. wenn nun der Button starten gedrückt wurde, rufst du mich GUICtrlRead den Status ab und entscheidest mti einer IF Abfrage, ob das Programm gestartet werden soll. Dateien kopieren kannst du mit

    [autoit]

    FileCopy

    [/autoit]
  • besserer Kompiler

    • Ineluki
    • 20. Juli 2010 um 18:16

    Strg+F7

  • Wenn A, dann B

    • Ineluki
    • 19. Juli 2010 um 14:27
    [autoit]

    hotkeyset("{F2}","starten")

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

    While 1

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

    Wend

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

    func starten()
    send ("@mustermann.de")
    HotKeySet("{F2}")
    endfunc

    [/autoit]
  • Programm mit Zeitverzögerung ausführen / MsgBox OK/Cancel / Tray Menü Beenden

    • Ineluki
    • 15. Juli 2010 um 14:17
    Spoiler anzeigen
    [autoit]

    Opt("TrayAutoPause", 0)

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

    $msg1 = MsgBox(1, "Hinweis", "Automatisches Ausführen in 120 Minuten.")
    If $msg1 = 1 Then Sleep(3600000)

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

    If $msg1 = 2 Then Exit

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

    $msg2 = MsgBox(1, "Hinweis", "Automatisches Ausführen in 60 Minuten.", 60000)
    If $msg2 = 1 Then Sleep(1800000)

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

    If $msg2 = -1 Then Sleep(1740000)

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

    If $msg2 = 2 Then Exit

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

    $msg3 = MsgBox(1, "Hinweis", "Automatisches Ausführen in 30 Minuten.", 60000)
    If $msg3 = 1 Then Sleep(1500000)

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

    If $msg3 = -1 Then Sleep(1440000)

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

    If $msg3 = 2 Then Exit

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

    $msg4 = MsgBox(1, "Hinweis", "Automatisches Ausführen in 5 Minuten.", 60000)
    If $msg4 = 1 Then Sleep(300000)

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

    If $msg4 = -1 Then Sleep(240000)

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

    If $msg4 = 2 Then Exit

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

    ShellExecute("cmd.exe")

    [/autoit]
  • Just 4 Fun: BrainFuck-Text-Interpreter (BF2Ascii und Ascii2BF)

    • Ineluki
    • 15. Juli 2010 um 14:11

    Ich hab das hier zu Text zu BF gefunden:

    Spoiler anzeigen
    PHP
    <html>
      <head>
        <!--
          CryptoMX Tools
          Copyright (C) 2004 - 2006 Derek Buitenhuis
    
    
          This program is free software; you can redistribute it and/or
          modify it under the terms of the GNU General Public License
          as published by the Free Software Foundation; either version 2
          of the License, or (at your option) any later version.
    
    
          This program is distributed in the hope that it will be useful,
          but WITHOUT ANY WARRANTY; without even the implied warranty of
          MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
          GNU General Public License for more details.
    
    
          You should have received a copy of the GNU General Public License
          along with this program; if not, write to the Free Software
          Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
        -->
        <title>Brainfuck Converter/Interpreter</title>
    
        <!-- bf.js -->
        <script>
    BF_ARRAY_LEN = 4000;
    
    
    arr = new Array(BF_ARRAY_LEN);  
    
    
    function push(el, stack)
    {
      stack[stack.length] = el;
      return stack;
    }
    
    
    function peek(stack)
    {
      return stack[stack.length-1];
    }
    
    
    function pop(stack)
    {
      return stack.slice(0,stack.length-2);
    }
    
    
    function evalBF(codestr, outputField)
    {
      outputField.value = "";
      for (i=0; i<BF_ARRAY_LEN; i++) arr[i] = 0;
      ptr = 0;
      loopstack = Array();
      i = 0;
    
    
      while (i < codestr.length)
      {
      switch (codestr.charAt(i))
      {
      case "[":
        if (arr[ptr]!=0) loopstack = push(i,loopstack);
        else i = codestr.indexOf("]",i);
        i++;
        break;
      case "]":
        i = peek(loopstack);
        loopstack = pop(loopstack);
        break;
      case "+":
        arr[ptr]++;
        i++;
        break;
      case "-":
        arr[ptr]--;
        i++;
        break;
      case "<":
        ptr--;
        i++;
        break;
      case ">":
        ptr++;
        i++;
        break;
      case ".":
        outputField.value += String.fromCharCode(arr[ptr]);
        i++;
        break;
      case ",":
        input = prompt("BF program input:","");
        arr[ptr] = input.charCodeAt(0);
        i++;
        break;
      default:
        i++;
        break;
      }
      }
    }
    
    
    function strTimes(str,times)
    {
      endstr = "";
      for (var i=0; i<times; i++) endstr += str;
      return endstr;
    }
    
    
    function printDifference(diff,poschar,negchar)
    {
      str = "";
      if (diff>0)
      for (var b=0; b<diff; b++) str += poschar;
      else
      for (var b=0; b<-diff; b++) str += negchar;
      return str;
    }
    
    
    function writeBins(numBins,diff)
    {
      str = strTimes("+",diff) + "[";
    
    
      for (var i=1; i<numBins; i++)
      {
      str += ">" + strTimes("+",i+1);
      }
      str += strTimes("<",numBins-1) + "-]";
      str += strTimes("+",diff);
    
    
      return str;
    }
    
    
    function findClosestBin(val,bins,currbin)
    {
      var minBin = 0;
      for (var b=1; b<bins.length; b++)
      {
      if (Math.abs(val-bins[b]) < Math.abs(val-bins[minBin])) minBin = b;
      }
      if (Math.abs(val-bins[minBin]) > Math.abs(val-bins[currbin])) return currbin;
      return minBin;
    }
    
    
    function text2BF(textstr, numBins)
    {
      if (numBins<=0) return "error: too few bins";
      var bins = new Array(numBins);
      var diff = Math.floor(127/numBins);
      for (var i=0; i<numBins; i++) bins[i] = (i + 1) * diff;
      var codestr = writeBins(numBins,diff);
      var i = 0;
      var currbin = 0;
      var newbin = 0;
    
    
      while (i < textstr.length)
      {
      c = textstr.charCodeAt(i);
      newbin = findClosestBin(c,bins,currbin);
      codestr += printDifference(newbin-currbin,">","<");
      codestr += printDifference(c-bins[newbin],"+","-");
      codestr += ".";
      currbin = newbin;
      bins[newbin] = c;
      i++;
      }
      return codestr;
    }
    
    
    function smartText2BF(textstr, binField)
    {
       var bestbin = 1;
       var results = new Array(16);
       var beststr = "";
    
    
       var resultstr = "";
    
    
       for (var i=1; i<=16; i++)
       {
       var str = text2BF(textstr, i);
       results[i-1] = str.length;
    
       if (results[i-1] < results[bestbin-1])
       {
         beststr = str;
         bestbin = i;
       }
    
    
       resultstr += i + ": " + results[i-1] + "\n";
       }
    
    
       binField.value = bestbin;
       return beststr;
    }
    
    
        </script>
      </head>
      <body>
        <form>
          Input:<br>
          <textarea name="codestr" rows="4" cols="50" wrap="hard"></textarea><br><br>
          Bins (1-10): <input name="numBins" value="5" size="1" type="text">
          <input value="Text2BF" onclick="bfout.value = text2BF(codestr.value, numBins.value)" type="button">
          <input value="Smart Text2BF" onclick="bfout.value = smartText2BF(codestr.value, numBins)" type="button">
          <input value="Interpret" onclick="evalBF(codestr.value,bfout)" type="button"><br><br>
          Output:<br>
          <textarea name="bfout" rows="6" cols="50"></textarea><br>
        </form>
      </body>
    </html>
    Alles anzeigen

    Ist zwar Javascript, aber das könnte man ja auf AutoIt übertragen

  • Programm mit Zeitverzögerung ausführen / MsgBox OK/Cancel / Tray Menü Beenden

    • Ineluki
    • 15. Juli 2010 um 13:12

    Das Script wird zwar durch die MsgBox gestoppt, der Timer aber nicht.

  • Programm mit Zeitverzögerung ausführen / MsgBox OK/Cancel / Tray Menü Beenden

    • Ineluki
    • 15. Juli 2010 um 11:49

    Wenn du die Grundlagen noch nicht beherrschst, solltest du diese ersteinmal lernen ;) Hilfreich sind

    • die deustche Hilfe
    • Das Onlinebuch von AutoIt
    • Das Buch von peethebee


    Naja, so müsste es funktionieren:

    Spoiler anzeigen
    [autoit]

    #include <Date.au3> ; In der Date.au3 ist die Funktion _TicksToTime
    Opt("TrayMenuMode", 1) ; Eigenes Tray Menu
    $msg = MsgBox(1, "Hinweis", "Automatisches Ausführen in 120 Minuten") ; Der Variable $msg wird der Rückgabewert der MsgBox zugewiesen
    If $msg=1 Then ; Wenn der Rückgabewert der MsgBox 1 ist, dann...
    $timer=TimerInit() ; Erstelle einen Timestamp
    Timer() ; rufe die Funktion Timer auf
    ShellExecute("cmd.exe") ; Rufe das Programm auf
    EndIf ; Ende vom If
    If $msg=2 Then Exit ; Wenn der Rückgabewert der MsgBox 2 ist, dann Beende
    Func Timer() ; Funktion Timer
    Local $Hour, $Min, $Sec ; Lokale Variablen
    $time = TrayCreateItem("Verbleibende Zeit") ; Erstelle das TrayItem
    $exit = TrayCreateItem("Beenden") ; Erstelle noch ein TrayItem
    While TimerDiff($timer) < 120000 ; Solange die 2 Minuten nicht vorüber sind (ich hab lieber 2 Minuten statt 2 Stunden genommen, damit man es besser testen kann)
    Switch TrayGetMsg() ; Schalter TrayGetMsg
    Case $time ; Falls $time
    _TicksToTime(120000-TimerDiff($timer), $Hour, $Min, $Sec) ; Mache aus den Ticks (Millisekunden) Stunden, Minuten und Sekunden und
    ; speichere diese in $hour, $Min und $Sec
    MsgBox(0, "Verbleibende Zeit", $Hour&" : "&$Min&" : "&$Sec) ; Zeige die verbleibenden Stunden, Minuten und Sekunden an
    Case $exit ; Falls $exit
    Exit ; Beende
    EndSwitch ; Ende vom Schalter
    If 120000-TimerDiff($timer)=60000 Or 120000-TimerDiff($timer)=30000 Or 120000-TimerDIff($timer)= 15000 Then MsgBox(0, "Verbleibende Zeit", "Automatisches ausführen in "&120000-TimerDiff($timer)/1000&" Sekunden")
    WEnd ; Schleifenende
    EndFunc ;==>Timer ; Funktionsende

    [/autoit]
  • Programm mit Zeitverzögerung ausführen / MsgBox OK/Cancel / Tray Menü Beenden

    • Ineluki
    • 15. Juli 2010 um 10:11

    Bitte stelle in Zukunft lauffähige Skripte rein. Dieses Script sieht so aus, als würdest du die Grundlagen von AutoIt nichtmal richtig kennen.
    Edit: naja, hier eine Lösung:

    Spoiler anzeigen
    [autoit]

    #include <Date.au3> ; In der Date.au3 ist die Funktion _TicksToTime
    Opt("TrayMenuMode", 1) ; Eigenes Tray Menu
    $msg = MsgBox(1, "Hinweis", "Automatisches Ausführen in 120 Minuten") ; Der Variable $msg wird der Rückgabewert der MsgBox zugewiesen
    If $msg=1 Then ; Wenn der Rückgabewert der MsgBox 1 ist, dann...
    $timer=TimerInit() ; Erstelle einen Timestamp
    Timer() ; rufe die Funktion Timer auf
    ShellExecute("cmd.exe") ; Rufe das Programm auf
    EndIf ; Ende vom If
    If $msg=2 Then Exit ; Wenn der Rückgabewert der MsgBox 2 ist, dann Beende
    Func Timer() ; Funktion Timer
    Local $Hour, $Min, $Sec ; Lokale Variablen
    $time = TrayCreateItem("Verbleibende Zeit") ; Erstelle das TrayItem
    $exit = TrayCreateItem("Beenden") ; Erstelle noch ein TrayItem
    While TimerDiff($timer) < 120000 ; Solange die 2 Minuten nicht vorüber sind (ich hab lieber 2 Minuten statt 2 Stunden genommen, damit man es besser testen kann)
    Switch TrayGetMsg() ; Schalter TrayGetMsg
    Case $time ; Falls $time
    _TicksToTime(120000-TimerDiff($timer), $Hour, $Min, $Sec) ; Mache aus den Ticks (Millisekunden) Stunden, Minuten und Sekunden und
    ; speichere diese in $hour, $Min und $Sec
    MsgBox(0, "Verbleibende Zeit", $Hour&" : "&$Min&" : "&$Sec) ; Zeige die verbleibenden Stunden, Minuten und Sekunden an
    Case $exit ; Falls $exit
    Exit ; Beende
    EndSwitch ; Ende vom Schalter
    WEnd ; Schleifenende
    EndFunc ;==>Timer ; Funktionsende

    [/autoit]
  • Inputbox nur zahlen erlauben

    • Ineluki
    • 14. Juli 2010 um 10:20

    Das geht mit dem Stil $ES_NUMBER

  • Iniwrite Enable wenn Checkbox Aktiv/Haken ist.

    • Ineluki
    • 14. Juli 2010 um 09:59

    Du sollst dein gesamtes Script zeigen. Das ist nicht das gesamte.
    Außerdem hab ich noch eine kürzere Lösung gepostet:

    Zitat von Ineluki
    Spoiler anzeigen
    [autoit]

    $hGui = GUICreate("Gui", 200, 200)
    $hInput = GUICtrlCreateInput(IniRead("Test.ini", "Sektion", "Input", ""), 10, 10, 100, 20)
    $CheckBox = GUICtrlCreateCheckbox("Speichern", 100, 40)
    GUISetState()
    While 1
    Switch GUIGetMsg()
    Case -3
    If GUICtrlRead($CheckBox) = 1 Then IniWrite("Test.ini", "Sektion", "Input", GUICtrlRead($hInput)) ; soll er Iniwrite aktivieren und wenn nicht...
    Exit
    EndSwitch
    WEnd

    [/autoit]
    Alles anzeigen
  • Iniwrite Enable wenn Checkbox Aktiv/Haken ist.

    • Ineluki
    • 14. Juli 2010 um 09:57

    Zeig mal dein gesamtes Script

  • Iniwrite Enable wenn Checkbox Aktiv/Haken ist.

    • Ineluki
    • 14. Juli 2010 um 09:39

    Dann liegt dein Fehler woanders im Script, denn:
    1. Mein Script hat nur 11 Zeilen
    2. Mein Script funktioniert

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™