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

Beiträge von Pennywise

  • ListView / TreeView UDF - Bug bei Tabs?

    • Pennywise
    • 26. Oktober 2010 um 11:23

    Hab das Problem umgangen, indem ich einfach keine Tabs mehr verwende. :D

    Die Tabs wahren schon ordentlich geschlossen - sonst würden ja auch andere Elemente bei den folgenden Tabs angezeigt werden.

    Wenn ich die Tage nochmal genug Zeit hab, poste ich mal ein genaueres Beispiel. ;)

  • ListView / TreeView UDF - Bug bei Tabs?

    • Pennywise
    • 22. Oktober 2010 um 06:17

    Hallo!

    Ich hab ein dummerweise sehr dringendes Problem - da ich den Prototyp von meinem Programm heute Mittag abgeben muss, und jetzt meine Oberfläche rumspinnt.

    Nachdem ich meine GUI auf die Tree- und Listview-UDFs umgestellt hab, muss ich ja einen "parent" angeben, bzw. den Handle (hWnd).
    Verwende ich die GUI selbst (GUICreate()) als Parent, wird der View auf jedem Tab angezeigt - verwende ich als Parent aber den Tab, so wird der Inhalt des Views nicht mehr angezeigt - bzw. der ganze Control bleibt weg.

    Es scheint mir, dass die TreeView-Funktion den GUICtrlCreateTabItem() einfach ignoriert.

    Gibt es ne schnelle alternative Lösung, abgesehen davon, keine Tabs zu verwenden?

  • Vertikaler List-View

    • Pennywise
    • 15. Mai 2010 um 00:14
    Zitat von m-obi

    Blende doch einfach den Header aus. Und schreibe deine Überschriften in die erste Spalte.

    Ist zwar eine Idee - aber sieht natürlich weniger professionell aus und wirkt dann auch nicht mehr so richtig! ;)
    Gibt es da keine Möglichkeit? ... sonst programmier ichs notfalls in Java oder C++. ^^

  • Dateien in sogenannten Containern verschlüsseln?!

    • Pennywise
    • 14. Mai 2010 um 23:47
    Zitat von name22

    Erstelle mit FileWrite eine neue Datei und schreibe da den mit z.B. _StringEncrypt verschlüsselten Text der zu packenden Datei rein ;).
    Aber wozu das Rad neu erfinden? Es gibt bereits zip, rar etc. :D

    Wer das Rad nicht neu erfindet, kann es auch nicht verbessern. ;)
    Ausserdem ist das schon nützlich, wenn man sich zum Beispiel ein Tagebuch coded, will man ja nicht jeden Eintrag mit ZIP kompressen müssen - dafür ist AutoIt doch da. ;)

  • Den width eines Objeks ändern

    • Pennywise
    • 14. Mai 2010 um 23:41

    Es heisst übrigens, nur so nebenbei, die Width und die Height. Wenn man schon mit Anglizismen rumspielt, und englische und deutsche Wörter mischt. ;)
    Du sagst ja hoffentlich auch nicht: den Breite und den Höhe. :rofl:

  • Vertikaler List-View

    • Pennywise
    • 14. Mai 2010 um 23:37

    Hallo!

    Ich wollte mal fragen, ob jemand zufällig schonmal ausprobiert hat, wie man nen vertikalen ListView hinkriegt, also die Labels auf der linken Seite, statt oben.
    Google doesn't knows it all - finde nur tausende Beiträge zu vertikalen Scrollbars!

    Ich betone nochmal, dass die Labels links sein sollen - keine Scrollbars!!! :rofl:

    Beispiel:

    Dateiname: Test.exe
    Dateigröße: 125kb
    Foo: Bar

  • AutoIt v3 - Makro-Bug

    • Pennywise
    • 28. März 2010 um 01:59

    Hallo!

    Ich habe heute einen Bug in den Makros festgestellt.

    [autoit]

    MsgBox(0, @UserName, @OSVersion)

    [/autoit]

    Das folgende gibt bei mir aus: Pennywise - WIN_VISTA.
    Alles soweit richtig, wenn ich das Script jedoch kompiliere, wird WIN_VISTA mitkompiliert, und bleibt als Text erhalten.
    Wenn ich also die kompilierte Version verschicke, steht dort, egal bei welchem Betriebssystem, die OS-Version der Kompilierers. ;)

    Gibt es einen alternativen Weg den Namen des Betriebssystems auszulesen?
    Any1 gotta snippet?

    Ich denke mal, es gibt einen entsprechenden Registry-Eintrag!

  • Spracherkennung again - SpeechRecognition über COM-Object

    • Pennywise
    • 25. März 2010 um 02:30
    Zitat von AutoBert

    anscheinend nicht,

    PS.: pushen wird in diesem Forum nicht gerne gesehen,

    mfg (Auto)Bert

    Sorry, war verzweifelt. :rofl:

    Aber ich habs jetzt endlich geschafft - endlich!!!

    [autoit]

    Run("SimpleDict.exe", @ScriptDir, @SW_HIDE)
    While 1
    $text = ControlGetText("Simple dictation application", "", "[CLASS:Edit; INSTANCE:1]")
    If ($text <> "") Then
    MsgBox(0, "Recognition", $text)
    ControlSetText("Simple dictation application", "", "[CLASS:Edit; INSTANCE:1]", "")
    EndIf
    WEnd

    [/autoit]

    Über ein SDK-Beispiel-Programm.
    Nicht die ideale Lösung die ich wollte, aber wenigstens etwas, womit ich an meinem super-geheimen-ultra-Projekt arbeiten kann. Nach Stunden von Arbeit und Forschung. Nach Tausend Source-Codes in VB, C++, C#, usw. usw. und Tage langer Suche im MSDN, geht wenigstens die eine Sache richtig! :thumbup:

  • Spracherkennung again - SpeechRecognition über COM-Object

    • Pennywise
    • 25. März 2010 um 01:25

    *********** PUSH! ************

    Hat keiner ne Ahnung, woran das liegt?


    *********** PUSH! ************

  • Spracherkennung again - SpeechRecognition über COM-Object

    • Pennywise
    • 24. März 2010 um 15:58

    Hallo!

    Ich habe momentan ein großes Problem mit der Windows-Spracherkennung.
    Auf meinem Computer läuft 32bit-Vista, natürlich inkl. der eingebauten Spracherkennung.

    Folgendes konnte ich ausfindig machen:
    http://msdn.microsoft.com/en-us/library/ms720590(VS.85).aspx

    Und bisher habe ich herausgefunden, dass es "Shared" und "InProc" Spracherkennung gibt - beim einen geht das über einen Prozess, beim anderen geht ein Fenster auf, von der normalen Win-Sprach-Erkennung.

    Natürlich gibt es schon zich Script-Beispiele zu dem Thema, und via ObjCreate usw. hab ich es auch tatsächlich geschafft, die Spracherkennung zu starten.
    Lediglich ObjEvent bringt keinerlei Effekt mit sich.

    [autoit]

    $rc = ObjCreate("SAPI.SpSharedRecoContext")
    $reco = $rc.Recognizer
    $gram = $rc.CreateGrammar
    $gram.DictationSetState(1)

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

    ObjEvent($rc, "RC_")

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

    While 1
    WEnd

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

    Func RC_Recognition($sn, $sp, $rt, $res)
    MsgBox(0, "Test", $res.PhraseInfo.Text)
    EndFunc

    [/autoit]

    Selbst in VisualBasic hab ich mir die Zähne ausgebissen, egal welcher Beispielcode von Microsoft, nichts funktioniert!

  • TCP/IP - Binary Daten senden

    • Pennywise
    • 14. März 2009 um 02:39

    Statt StringMid musste BinaryMid genommen werden.

    Solved. :rock: Der Thread war zwar ein einziges Selbstgespräch - scheinbar gehen meine Fragen über die Kompletenz der Forenmitglieder. :rofl:

  • TCP/IP - Binary Daten senden

    • Pennywise
    • 13. März 2009 um 23:52

    ??? Hilfe! ???

  • E-Mail Anzeige

    • Pennywise
    • 10. März 2009 um 20:08

    Dann musst du schon einen Mailserver programmieren oder einen installieren. ;)

  • Frage zu AutoIt

    • Pennywise
    • 10. März 2009 um 19:43

    Nicht einfach so.
    Man kann es höchstens "nachprogrammieren".

    Aber einen solchen Umwandler wirds wohl net geben, dafür ist CPP zu komplex und hat andere Anforderungen und Typen etc. ;)

    Wieso überhaupt? AutoIt kann schließlich auch .exe Dateien compilen. ;)

  • Problem

    • Pennywise
    • 10. März 2009 um 19:38

    Die Meldung krieg ich auch oft. Hab den Code zwar noch net gelesen, aber kleiner Tipp:

    UBound zählt die Elemente eines Arrays.

    a[0] = "bla"
    a[1] = "bla"
    a[2] = "bla"

    UBound(a) = 3

    Man beginnt in der Informatik aber bei 0 an zu zählen. ;)

    Also zB.
    For i = 0 To UBound(a)-1
    ; Code
    Next

    ;)

  • TCP/IP - Binary Daten senden

    • Pennywise
    • 10. März 2009 um 19:35


    Solved, siehe 3. Post...


    Server:

    [autoit]


    If (IsBinary($content)) Then
    If ($file_data = False) Then
    $file_data = $content
    Else
    $file_data &= $content
    EndIf
    EndIf
    sendResponse($sockID)

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

    Func sendResponse($rsockID)
    $rsock = _GUICtrlListView_GetItemText($gui_list, $rsockID-1)
    TCPSend($rsock, "nextdata")
    EndFunc

    [/autoit]


    Client:

    [autoit]

    Func sendFile($file)
    $filename = _StringSplit($file, "\")
    $filedata = FileRead($file)
    $i = 0
    $step = 1023 ; 1023 ; (1024 - 1 = 1023 * 2 = 2046 + 0x = 2048)
    While 1
    $data = StringMid($filedata, $i*$step+1, $step)
    $i += 1
    If ($data = "") Then
    ExitLoop
    EndIf
    TCPSend($tcp, StringToBinary($data))
    waitForResponse()
    WEnd
    TCPSend($tcp, "filewrite;;;"&$filename[UBound($filename)-1])
    EndFunc

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

    Func waitForResponse()
    Do
    $recv = TCPRecv($tcp, 8)
    Until $recv = "nextdata"
    EndFunc

    [/autoit]

    Es werden abwechselnd mal Binary Daten, mal normale Daten gesendet.
    Normale stellen auch kein Problem dar, aber die Binarys schon.
    Was mache ich falsch? ^^


    (Leider ist meine schöne Tab-Einrückung beim Einfügen in den Editor hier verloren gegangen... aber wenigstens poste ich nicht die vollen 500 Zeilen code. :D)

  • Pakete abfangen & auswerten

    • Pennywise
    • 10. März 2009 um 19:23

    Daten an serielle Schnittstelle senden und eine LCD-Board löten und anschließen. :D

  • Projekt-Idee: AutoIt for the win!

    • Pennywise
    • 10. März 2009 um 19:10

    Okay, war vielleicht wirklich schlecht formuliert.

    Mit gehts doch nicht um die KI oder so, das ist nun wirklich Geschnipsel und in glaub 30 min. ohne Planung programmiert.

    Das soll eher eine Kampagne sein, weil AutoIt einfach immer noch als "Task-Automation" Sprache oder sowas durchgeht, zumindest laut autoitscript.com und Wikipedia.

    Das ist sehr traurig, bei den Dingen die man damit machen kann.

    Mein bislang größtes Projekt - und das sollte an Galenda rankommen ;) - habe ich zu der Zeit entwickelt als ich als Praktikant (Versicherungsinformatiker) bei der Zurich gearbeitet hab, und dort einen "intelligenten Replikations- und Synchronisationsagenten" programmiert hab. ;)

    Satte 1500+ Zeilen Quellcode und das gesamte Pensum samt UDFs an Funktionen aufgebraucht. :D
    DLLs, TCP, Datenbank, Registry, usw...

    Ich finds halt doof, das eine so tolle Sprache so wenig gewürdigt wird. ;)

  • Projekt-Idee: AutoIt for the win!

    • Pennywise
    • 9. Februar 2009 um 03:08

    Hallo Forum!

    Mir ist vor kurzem folgende Idee gekommen:
    Für viele Leute ist AutoIt immernoch eine "Automatisierungssprache" oder sowas.
    Aber AutoIt kann viel mehr!

    Und das will ich / wollen wir, mit diesem Projekt beweisen.
    Galenda ist ein guter Anfang gewesen für die Au3 Welt, aber meine Idee geht darüber hinaus.

    Also habe ich eine winzige TicTacToe KI geschrieben. =)
    Nichts großes, und kein wirklich einwandfreier Code. Eben mal schnell hingeklatscht. :D

    *hust*, sie hat mich sauber 8:2 abgezogen...

    [autoit]


    #cs
    Tic-Tac-Toe v0.1
    programmiert von Daniel J.
    (c) Februar 2009
    #ce

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

    #include <GUIConstants.au3>

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

    Global $app_name = "Tic-Tac-Toe v1.0"
    Global $opp_points = 0
    Global $you_points = 0

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

    Global $all_turns = 1

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

    Dim $fields[10]
    For $i = 1 To 9
    $fields[$i] = " "
    Next

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

    Global $gui = GUICreate($app_name, 220, 220)
    Global $group_buttons = GUICtrlCreateGroup("Spielfeld", 10, 10, 200, 200)
    Dim $buttons[10], $y = 15
    For $i = 1 To 9
    If (Mod($i, 3) = 1) Then
    $x = 10
    $y += 40
    EndIf
    $x += 40
    $buttons[$i] = GUICtrlCreateButton(" ", $x, $y, 30, 30)
    GUICtrlSetFont(-1, -1, 1000)
    Next

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

    GUISetState(@SW_SHOW)

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

    Global $turn = 0
    While 1
    $msg = GUIGetMsg()
    If $msg = $GUI_EVENT_CLOSE Then
    Exit
    Else
    For $i = 1 To 9
    If ($msg = $buttons[$i]) Then
    If ($fields[$i] = " ") Then
    $fields[$i] = "x"
    GUICtrlSetBkColor($buttons[$i], 0x00FF00)
    GUICtrlSetData($buttons[$i], "x")
    If (notOver()) Then
    $all_turns += 1
    computerTurn()
    Else
    $you_points += 1
    MsgBox(0, $app_name, "You win! MY POINTS: "&$opp_points&" YOUR POINTS: "&$you_points)
    newGame()
    EndIf
    EndIf
    EndIf
    Next
    EndIf
    WEnd

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

    Func winChance($letter)
    $chance = 0
    For $i = 1 To 9
    If ($fields[$i] = " ") Then
    $fields[$i] = $letter
    If (notOver() = False) Then
    $chance = $i
    EndIf
    $fields[$i] = " "
    EndIf
    Next
    Return $chance
    EndFunc

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

    Func computerTurn()
    $wc = winChance("o")
    If ($wc = 0) Then
    $wc = winChance("x")
    EndIf
    If ($wc = 0) Then
    Do
    $r = Random(1, 9)
    If ($fields[$r] = " ") Then
    $fields[$r] = "o"
    GUICtrlSetBkColor($buttons[$r], 0xFF0000)
    GUICtrlSetData($buttons[$r], "o")
    $found = True
    Else
    $found = False
    EndIf
    Until $found = True
    Else
    $fields[$wc] = "o"
    GUICtrlSetBkColor($buttons[$wc], 0xFF0000)
    GUICtrlSetData($buttons[$wc], "o")
    EndIf
    If (notOver()) Then
    $turn = 0
    $all_turns += 1
    Else
    $opp_points += 1
    MsgBox(0, $app_name, "I win! MY POINTS: "&$opp_points&" YOUR POINTS: "&$you_points)
    newGame()
    EndIf
    EndFunc

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

    Func notOver()
    If ($all_turns = 9) Then
    newGame()
    EndIf
    If (winLine(1, 2, 3) or winLine(1, 4, 7) or winLine(1, 5, 9) or winLine(3, 5, 7) or winLine(3, 6, 9) or winLine(4, 5, 6) or winLine(7, 8, 9) or winLine(2, 5, 8)) Then
    Return False
    Else
    Return True
    EndIf
    EndFunc

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

    Func newGame()
    $all_turns = 1
    $turn = 0
    For $i = 0 To 9
    GUICtrlSetData($buttons[$i], " ")
    GUICtrlSetBkColor($buttons[$i], -1)
    $fields[$i] = " "
    Next
    EndFunc

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

    Func winLine($a, $b, $c)
    If ($fields[$a] <> " " and $fields[$b] <> " " and $fields[$c] <> " ") Then
    If ($fields[$a] = $fields[$b] and $fields[$b] = $fields[$c]) Then
    Return True
    Else
    Return False
    EndIf
    Else
    Return False
    EndIf
    EndFunc

    [/autoit]
  • Proxy und AutoIt

    • Pennywise
    • 18. November 2008 um 20:50

    Danke, sowas in der Richtung habe ich gesucht - beantwortet noch nicht ganz meine Frage warum die Funktion mit setProxy von Autoit nicht funktioniert, aber ist zumindest schonmal etwas, womit ich nen Protoyp für mein kleines Projekt coden kann. ^^
    Danke!

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™