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

Beiträge von James

  • [Wettbewerb] Zweielementige boolesche Algebra

    • James
    • 2. März 2012 um 19:38

    Nur mal so interessehalber, wer nimmt den an dem Wettbewerb teil?

  • Button soll Dateiwahlfenster öfnen , tuts aber net

    • James
    • 25. Februar 2012 um 20:25
    Zitat von name22


    Meinst du nicht eher (*.txt)?

    Stimmt, sorry.

  • Button soll Dateiwahlfenster öfnen , tuts aber net

    • James
    • 25. Februar 2012 um 20:21

    Naja.......... Ersetz', mal ".txt" durch "(*.txt)", dann geht das auch.

  • Programm / Script sicherheit -webzugriff -Dekompilier -Memory manipulationen etc

    • James
    • 24. Februar 2012 um 10:09

    Möglich ist alles, und je nach Obfuscator ist das gar nicht nötig, weil man auch bei vielen obfuscierten(?) Skripten noch die einzelnen Aktionen erkennt.

  • Bild bearbeiten

    • James
    • 24. Februar 2012 um 10:02

    chip Wenn das Bild in jede Richtung um 50% größer wird, hat es doch immernoch das gleiche Seitenverhältnis, oder etwa nicht?

  • Rechner

    • James
    • 24. Februar 2012 um 09:58

    Poste doch dein Skript am Besten gleich mit den AutoIt-Tags:

    Code
    [autoit]dein Skript[/autoit]
    Spoiler anzeigen

    Wer bietet weniger:

    [autoit]

    MsgBox(0, 'Ergebnis', Execute( InputBox('Zahl 1', 'Bitte die erste Zahl eingeben:') & InputBox('Rechenzeichen', 'Bitte das Rechenzeichen eingeben:'&@CRLF&'+ - * / ^') & InputBox('Zahl 2', 'Bitte die zweite Zahl eingeben:')))

    [/autoit]
  • Fenster zentrieren

    • James
    • 23. Februar 2012 um 20:58

    Wenn dann schon "[CLASS:IEFrame]".

  • Fenster zentrieren

    • James
    • 23. Februar 2012 um 20:40
    Code
    [CLASS:IEFrame]

    Müsste das sein, was du suchst.

  • Hallo Community :D

    • James
    • 23. Februar 2012 um 20:05

    Na dann auch von mir herzlich Willkommen im Forum!

  • Fenster zentrieren

    • James
    • 23. Februar 2012 um 19:32
    [autoit]

    $Breite = 400
    $Hoehe = 400
    $Links = (@DesktopWidth-$Breite)/2
    $Oben = (@DesktopHeight-$Hoehe)/2

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

    WinMove('[CLASS:Notepad]', '', $Links, $Oben, $Breite, $Hoehe)

    [/autoit]


    Müsste funktionieren, davor dann eben noch das Run und das SplashTextOn.

    MfG, James

    Edit: Xenobiologist war schneller.

  • [Wettbewerb] Zweielementige boolesche Algebra

    • James
    • 22. Februar 2012 um 09:07
    Zitat von Carsten8

    Ich bin trotzdem der Meinung, man sollte den ganzen Wettbewerb (wenn's schon um Elektronik bzw. Kabel geht) auf Not und Or beschänken. Alles andere hat (wie ich finde) kaum etwas mit dem Thema zu tun, sorry.

    Ich hab das gestern mal auf die schnelle geändert, siehe Post #1.

    Zitat von BugFix

    Ich finde es nach wie vor verwirrend, mit "Kabeln" zu arbeiten.

    Dabei war der Hintergedanke eigentlich, dass es dadurch leichter verständlich wird, naja, wie schon gesagt, ich hab das Prinzip mal überarbeitet.

    Zitat von chip

    Wollte schon länger mal einen Simulator bauen mit dem man Schaltungen mit Wiederständen ect. bauen und simulieren kann.

    Ich kanns kaum noch erwarten diesen Simulator hier im Forum zu sehen... :)

    MfG, James

  • [Wettbewerb] Zweielementige boolesche Algebra

    • James
    • 21. Februar 2012 um 14:10

    Ok, dann hast du mich falsch verstanden.
    Ein AND-Gate habe ich schon, ich meinte ein If-Ersatz, bei dem du kein If mehr verwenden musst.
    Sonst könnte ich das ja einfach so machen:

    [autoit]

    If $Wire1 Then ...

    [/autoit]

    PS: Ich bin der Meinung, dass du mit den momentan vorhandenen Funktionen (mal abgesehen von To und FromInteger) unmöglich dezimalen Input verarbeiten kannst. Außerdem würde das die Verwirrung bei allen noch erheblich steigern.

  • [Wettbewerb] Zweielementige boolesche Algebra

    • James
    • 21. Februar 2012 um 13:58

    Schön dich auch mal wieder im Forum zu "sehen", Carsten.

    Bei binärem Input hast du recht, aber für einen Rechner ist dezimaler Input vielleicht doch eher angebracht.
    Des weiteren würde es mich interessieren, wie du If mit NOT-Gates realisieren würdest.

    MfG, James C.

  • [Wettbewerb] Zweielementige boolesche Algebra

    • James
    • 21. Februar 2012 um 11:56
    Zitat von Jeahaha

    James ich kenne mich mit Redstone super aus =D , aber die Funktionen von autoit versteh ich noch niccht so ganz =D


    Um so besser:
    Also, bei Redstone hast du ja deine Kabel, die du wo auch immer verlegst.
    In meiner UDF erstellst du einfach ein Kabel mit

    [autoit]

    $Kabel = _Wire_Create()

    [/autoit]

    (Da wir hier nicht graphisch arbeiten, musst du dir um Sachen wie Platz, Repeater und ähnliches keine Sorgen machen.

    Wenn in Minecraft 2 (oder mehrere) Kabel nebeneinander liegen, sind sie automatisch verbunden. In diesem Fall brauchst du dafür _Wire_Attach. Z.B.:

    [autoit]

    $Kabel1 = _Wire_Create()
    $Kabel2 = _Wire_Create()
    _Wire_Power($Kabel2, 'On')
    _Wire_Attach($Kabel1, $Kabel2, $Kabel)

    [/autoit]

    $Kabel hat dadurch Strom, weil $Kabel1 oder $Kabel2 Strom hatte.
    Bei den meisten Gates wird nur das erste Kabel verändert, das zweite wird dann auf "Off" gesetzt. Falls du aber ein Kabel mehrmals verwenden willst/musst, spaltest du es vorher mit _Wire_Detach($Kabel1, $Kabel2) in $Kabel1 und $Kabel2 auf (welche dann beide den gleichen Wert haben).

    Bei Redstone ist eine Fackel ein NOT-Gate, in AutoIt machst du dafür einfach

    [autoit]

    _Wire_NOT($Kabel1, $Ausgabe)

    [/autoit]

    Jetzt brauchst du nur noch die anderen Gates, die machst du dann einfach so:

    [autoit]

    Func _Wire_AND(ByRef $Input1, ByRef $Input2, ByRef $Output)
    ; hier dann die Ganzen NOT-Gates und Verbindungen
    EndFunc

    [/autoit]

    MfG, James

  • [Wettbewerb] Zweielementige boolesche Algebra

    • James
    • 21. Februar 2012 um 10:29

    BugFix Ich versteh' dich immer noch nicht so ganz, nach Attach ist auf Kabel2 immer kein Strom, da es ja sozusagen nicht mehr existiert. Wenn du es trotzdem weiterverwenden willst, musst du davor eben Detach benutzen.

    chip Ich habe auch nicht wirklich Ahnung von dem Ganzen, deshalb habe ich ja auch so viel Zeit gegeben.
    Und da ja jeder abstimmen soll, ist das auch völlig unnötig...

  • Happy Birthday chip

    • James
    • 20. Februar 2012 um 09:40

    Auch von mir noch nachträglich alles Gute zum Geburtstag chip!

  • [Wettbewerb] Zweielementige boolesche Algebra

    • James
    • 20. Februar 2012 um 09:34

    BugFix : Ich verstehe jetzt nicht so ganz was du meinst.
    Also ja, der Sinn von Attach ist, zwei Kabel zu einem zusammenzuführen und ja, es ist ein OR-Gatter.
    Aber wieso ist das jetzt nicht der Fall?
    Die Werte lassen sich unabhängig ändern, aber auch nur, bis die zwei Kabel verbunden sind.

    Könntest du bitte nochmal erklären, was der Fehler in der Funktion ist?


    MfG, James

  • [Wettbewerb] Zweielementige boolesche Algebra

    • James
    • 18. Februar 2012 um 20:54
    Zitat von tkausl

    Interessante Idee...

    Kennst du Minecraft?
    Dort bauen auch Freaks mit Redstone Taschenrechner, CPU's, Ram, ...
    Ist im prinzip das gleiche.
    Hast ein Kabel (Redstone), und "NOT"-Gates. Mehr nicht.


    Dann kannst du dir garantiert auch denken, wodurch Carsten8 mich auf diese Idee gebracht hat. :D
    Aber ich selbst spiele kein Minecraft.

  • [Wettbewerb] Zweielementige boolesche Algebra

    • James
    • 18. Februar 2012 um 20:51
    Zitat von General Kaboom

    Also du schlägst einen Taschenrechner vor aber es darf auch was anderes sein richtig?

    Natürlich, ich hab' das nur erwähnt, falls jemandem spontan nichts sinnvolles einfällt.

    Zitat von General Kaboom

    Aber ich fänds jetzt unfair, wenn du bereits ein Programm geschrieben hättest hoffe fas hast du nicht (nur um die Schummelmöglichkeit auszuschliessen)?

    Ich habe heute mal angefangen, bin aber noch sehr weit von einem funktionierenden Taschenrechner entfernt.
    (Nur weil ich dieses Thema gewählt habe, heißt das ja nicht, dass ich Ahnung davon habe.)

    Ich persönlich bin bis jetzt mal so vorgegangen:
    Als erstes braucht man natürlich außer dem NOT-Gate noch Andere (z.B. AND, XOR), die kann man sich aber relativ leicht durch logisches Denken basteln (ich habs ohne Internet geschafft, aber mit Google findet man sowas garantiert leichter heraus).
    So, und weiter bin ich bis jetzt auch noch nicht gekommen...

    MfG, James

  • [Wettbewerb] Zweielementige boolesche Algebra

    • James
    • 17. Februar 2012 um 23:42

    Carsten8 hat mich neulich daran erinnert, was man mit NOT- und OR-Gates alles bauen kann.
    Deshalb habe ich diesen Wettbewerb gestartet, um zu sehen, was ihr aus diesen sehr begrenzten Möglichkeiten alles machen könnt.

    !!! Achtung! Ich habe alles hier nochmal überarbeitet, was aber zur Folge hat, dass die Funktionen leichter verständlich sind und der Code der anderen Gates (AND, XOR, ...) kürzer wird. !!!
    Die Hauptänderung besteht darin, das die Funktionen nicht mehr die Inputs ändern, sondern eigene Outputs benutzen.

    Das Ziel
    Ein funktionierendes, möglichst sinnvolles Skript (z.B. einen Rechner) zu schreiben.

    Die Regeln
    Wie schon oben erwähnt, dreht sich bei diesem Wettbewerb alles um NOT- und OR-Gates.
    Ihr habt jetzt zwei Möglichkeiten:
    1) Ihr definiert eure Variablen und arbeitet dann nurnoch mit NOT und OR; z.B.:

    [autoit]

    $A = True
    $B = False
    $C = (Not ((Not $A) Or (Not $B)))

    [/autoit]


    2) Ihr könnt natürlich auch folgende sinnlose UDF benutzen, die aber im Grunde genau das Gleiche macht:

    Wire.au3
    [autoit]

    #include-once

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

    Func _Wire_Create()
    Return False
    EndFunc

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

    Func _Wire_Power(ByRef $Wire, $Power='On')
    Switch $Power
    Case 'On', 1
    $Wire = True
    Case 'Off', 0
    $Wire = False
    Case Else
    SetError(1)
    $Wire = False
    EndSwitch
    EndFunc
    Func _Wire_Value(ByRef $Wire)
    Return Int($Wire)
    EndFunc

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

    Func _Wire_NOT(ByRef $Input, ByRef $Output)
    $Output = (Not $Input)
    EndFunc

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

    Func _Wire_Connect(ByRef $Input1, ByRef $Input2, ByRef $Output)
    $Output = ($Input1 Or $Input2)
    EndFunc

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

    Func _Wire_FromInteger($Integer, ByRef $Wires, $Length = 32)
    $Integer = Int(Abs($Integer))
    Local $Binary, $i
    Do
    $Binary = Mod($Integer, 2) & $Binary
    $Integer = Int($Integer / 2)
    Until $Integer = 0
    For $i = StringLen($Binary)+1 To $Length Step 1
    $Binary = '0' & $Binary
    Next
    $Binary = StringRight($Binary, $Length)
    $Binary = StringSplit($Binary, '', 2)
    Dim $Wires[$Length]
    For $i = 1 To $Length Step 1
    $Wires[$i-1] = ($Binary[$Length-$i]==1)
    Next
    EndFunc
    Func _Wire_ToInteger($Wires)
    If (Not IsArray($Wires)) Then
    $Wires = StringSplit($Wires, '|', 2)
    EndIf
    Local $Binary = '', $Integer = 0, $i
    For $i = 0 To UBound($Wires)-1 Step 1
    $Binary = Int($Wires[$i]) & $Binary
    Next
    $Binary = StringSplit($Binary, '')
    For $i = 1 To $Binary[0] Step 1
    $Integer += $Binary[$i] * 2^($Binary[0]-$i)
    Next
    Return $Integer
    EndFunc

    [/autoit]


    Des weiteren könnt ihr auch InputBox, MsgBox, ConsoleWrite und GUIs für Ein- und Ausgaben benutzen. Außerdem dürft ihr Funktionen definieren, um eueren Code kürzer und übersichtlicher zu machen.

    Das Hauptproblem bestand gestern darin, dass ich die Funktionen _Wire_FromInteger und _Wire_ToInteger hinzugefügt habe, damit das Ganze um einiges einfacher wird. Aber wie Carsten schon sagte, hat das nichts mehr mit dem eigentlichen Thema zu tun.
    Deshalb würde ich sagen: Wer diese Funktionen verwenden will, kann dies gerne tun, und wer die Daten selbst unter Berücksichtigung der Regeln umwandeln will, um so besser.


    Der Wettbewerb endet vorerst am 31. Dezember 2012.
    Dann postet einfach jeder seinen Code und sagt, welches Skript er am besten findet. Der mit den meisten Stimmen gewinnt dann.
    (Denkt bei eurer Bewertung bitte daran, dass es schwieriger ist, die Daten umzuwandeln ohne die zwei oben beschriebenen Funktionen zu benutzen.


    MfG, James C.

    PS: Im Anhang mal ein Bild meiner momentanen Ausgabe der einzelnen Bits, nur falls jemand (wie ich gestern) denkt, das sei nicht möglich...

    Bilder

    • Hexadecimal Display.png
      • 51,72 kB
      • 820 × 142

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™