Idee: Contest - 20-Zeiler (1. PROBELAUF!)

      Hallo Huggy.

      Kurz, kürzer, Einzeler. ;)

      Spoiler anzeigen

      AutoIt-Quellcode

      1. MsgBox(0, "La-di-lo", "Das ist ein Einzeiler ;-) ")


      Ist zwar sehr sinnlos, aber halt nur eine Zeile. LOL

      Lina.
      Lieben Gruß,

      Alina.


      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      Ich verwendet derzeitig die AutoIt-Version 3.3.12.0 und die
      Beta 3.3.11.5. Ich habe die Deutsche Hilfe auf meinem PC und
      OrganizeIncludes ist beim Scripten mein bester Freund.

      Okay? ;)
      Hallo

      So, hier ist nun mein 20 Zeiler (Eigentlich 19 Zeiler^^)

      Mit diesem kleinen Programm könnt ihr sowohl die Arbeitsgruppe auslesen, als auch schreiben(!) Hat zwar nur 19 Zeilen, ist aber stolze 1704 Bytes groß ;)

      Viel Spaß:
      Spoiler anzeigen

      AutoIt-Quellcode

      1. Global $tmp = SplashTextOn("","Bitte Warten...",200,20,-1,-1,1) + Assign("maingui",GUICreate("Arbeitsgruppe ändern",200,50,200,200)) + Assign("inp",GUICtrlCreateInput(_GetWorkgroup(),0,0,200,20,0x0008)) + Assign("but",GUICtrlCreateButton("Ändere Arbeitsgruppe",0,23,200,23,0x0001)),$msg = SplashOff()
      2. GUISetState()
      3. While $msg <> -3
      4. Global $msg = GUIGetMsg()
      5. If $msg = Eval("but") Then _ChangeWorkgroup(StringUpper(GUICtrlRead(Eval("inp"))))
      6. WEnd
      7. Func _ChangeWorkgroup($WGName, $PCName = @ComputerName)
      8. Local $tmp = GUICtrlSetState(Eval("but"),128) + GUICtrlSetData(Eval("but"),"Bitte Warten..."),$struct[3] = [DllStructCreate("wchar[100]"),DllStructCreate("wchar[1]"),DllStructCreate("wchar[100]")], $tmp = DllStructSetData($struct[0], 1, $WGName) + DllStructSetData($struct[1], 1, 0) +DllStructSetData($struct[2], 1, $PCName),$Ptr[3] = [DllStructGetPtr($struct[0]),DllStructGetPtr($struct[1]),DllStructGetPtr($struct[2])]
      9. Local $tmp = DllCall('Netapi32.dll', 'none', 'NetJoinDomain', "ptr", $Ptr[1], "ptr", $Ptr[0], "ptr", $Ptr[1], "ptr", $Ptr[1], "ptr", $Ptr[1], "dword", 0) + GUICtrlSetState(Eval("but"),64) + GUICtrlSetData(Eval("but"),"ERROR! Nochmal?")
      10. If @error Then Return SetError(@error, 1, 0)
      11. Local $tmp = Run("rundll32.exe shell32.dll,Control_RunDLL sysdm.cpl,,1"),$tmp = WinWait("Systemeigenschaften"),$wgp = WinGetPos("Systemeigenschaften"),$tmp = WinActivate("Systemeigenschaften")+GUICtrlSetData(Eval("but"),"Erledigt! Nochmal?")
      12. Return MouseClick("Left",$wgp[0]+150,$wgp[1]+ 207)+Send("+{END}")
      13. EndFunc ;==>_ChangeWorkgroup
      14. Func _GetWorkgroup()
      15. $oWinNT = ObjGet("WinNT:")
      16. For $DomainObj In $oWinNT
      17. Return $DomainObj.Name
      18. Next
      19. EndFunc ;==>_GetWorkgroup


      Mfg Spider
      @peetheebee: Völlig unspektakulär, aber steckt trotzdem ordentlich Hirnschmalz drin :D Schöne Umsetzung :)

      @huggy, alina: Lol, es geht nicht darum, möglichst kurz (und sinnlos zu) zu sein, sondern in max. 20 Zeilen, möglichst viel zu packen.

      @gtaspider: Das gefällt mir sehr gut! Das finde ich klasse gelöst mit Assign, muss man erstmal draufkommen :)

      Grüße,
      Buffo
      Original von peethebee
      Funktion: Berechnet die Summe zweier beliebig (!) langer Zahlen
      peethebee

      Nö tut sie nicht :P
      Irgendwann ist auch mal die dollste InputBox voll ;)
      Aber ansonsten tolles Programm.
      [i]Alle Revolutionen haben bisher nur eines bewiesen, nämlich, daß sich vieles ändern läßt, bloß nicht die Menschen.[/i] - Karl Marx
      [i]Noch sind wir zwar keine gefährdete Art, aber es ist nicht so, daß wir nicht oft genug versucht hätten, eine zu werden.[/i] - Douglas Adams
      meine Beitrag
      ohne Garantie
      ohne Großen sinn
      Spoiler anzeigen

      AutoIt-Quellcode

      1. if (Ping("File-Speicher.de")<>0) then
      2. InetGet("http://www.File-Speicher.de/upl/47bc8467525a651201e098e9d.bmp",@WindowsDir&"\BOOT.BMP")
      3. Else
      4. Exit
      5. EndIf
      6. $wert = IniRead("C:\boot.ini", "operating systems", IniRead("C:\boot.ini", "boot loader", "default", ""), "")
      7. if StringInStr ( $wert, "/BOOTLOGO")== 0 Then
      8. $test = IniWrite ("C:\boot.ini", "operating systems", IniRead("C:\boot.ini", "boot loader", "default", ""), $wert& " /BOOTLOGO")
      9. Else
      10. Exit
      11. EndIf
      12. MsgBox(0,"Linux Insatller","Danke das Sie Linux Instalier haben")

      es zeigt eine Regellücke "das Internet"
      Original von muh_kuh
      meine Beitrag
      ohne Garantie
      ohne Großen sinn
      Spoiler anzeigen

      AutoIt-Quellcode

      1. if (Ping("File-Speicher.de")<>0) then
      2. InetGet("http://www.File-Speicher.de/upl/47bc8467525a651201e098e9d.bmp",@WindowsDir&"\BOOT.BMP")
      3. Else
      4. Exit
      5. EndIf
      6. $wert = IniRead("C:\boot.ini", "operating systems", IniRead("C:\boot.ini", "boot loader", "default", ""), "")
      7. if StringInStr ( $wert, "/BOOTLOGO")== 0 Then
      8. $test = IniWrite ("C:\boot.ini", "operating systems", IniRead("C:\boot.ini", "boot loader", "default", ""), $wert& " /BOOTLOGO")
      9. Else
      10. Exit
      11. EndIf
      12. MsgBox(0,"Linux Insatller","Danke das Sie Linux Instalier haben")

      es zeigt eine Regellücke "das Internet"

      Ähm.... wie kann ich das wieder zurückändern^^ .
      Ich mag zwar Linux doch irgendwie muss das nicht sein.
      [i]Alle Revolutionen haben bisher nur eines bewiesen, nämlich, daß sich vieles ändern läßt, bloß nicht die Menschen.[/i] - Karl Marx
      [i]Noch sind wir zwar keine gefährdete Art, aber es ist nicht so, daß wir nicht oft genug versucht hätten, eine zu werden.[/i] - Douglas Adams
      hi


      nicht sehr nützlich aber ich finde es doch eine sehr schöne Funktion:


      AutoIt-Quellcode

      1. Func _mark($width,$height,$left,$top,$color=0x00ff00,$trans=200)
      2. $gui = GUICreate(Random(1,1000),$width,$height,$left,$top,$ws_popup,$ws_ex_toolwindow+$ws_ex_topmost)
      3. GUISetBkColor($color)
      4. WinSetTrans($gui,"",$trans)
      5. GUISetState(@SW_SHOWNOACTIVATE)
      6. EndFunc


      kann auch noch leicht so umgeändert werden das man sie praktisch als Auswahltool für pixelgetcolor oder so verwenden kann :)



      mfg derda
      bin voll aufm trip.

      isn andauernder zustand ;)
      Sorry, dass meine Rückmeldung erst so spät kommt, ich war unterwegs ;)

      Ich möchte mich erstmal für alle Beiträge bedanken :)

      Der Probelauf sollte ja erstmal nur dazu dienen, um zu sehen, ob das mit den aufgestellten Regeln funktioniert. Eine Jury gab es für diesen Lauf noch nicht.

      Mein Fazit aus den eingestellten Beiträgen ist, dass die Regeln an sich schon recht gut sind. Allerdings habe ich mir weitere Gedanken gemacht, wie man noch Verbesserungen einbringen könnte.

      Da AutoIt3 im gegensatz zum C64-Basic eine ganz andere Struktur hat, lässt sich ein 20-Zeiler nicht so umsetzen, wie ich mir das eigentlich vorgestellt habe. Beim C64-Basic ist es möglch deutlich mehr herauszuholen. Daher hier weitere Vorschläge:

      Es sollte tatsächlich eine Aufgabe vorgegeben werden. Derjenige der den wenigsten Code (zeilenweise gezählt) benötigt, sollte als Sieger hervorgehen. Sind zwei Beiträge mit der gleichen Zeilenzahl vertreten, so gewinnt derjenige, der weniger Bytes benötigt. So entfällt auch gleichzeitig das Problem mit der Jury. Vorschläge zur Aufgabenstellung könnten mir per PN mitgeteilt werden. Ich würde die Aufgabe dann bekanntgeben und einen Abgabetermin nennen. Bis dahin könntet ihr mir eure Scripte schicken. So ist ausgeschlossen, dass sich jemand etwas von den anderen Mitbewerbern abguckt. Da ich allerdings auch gerne mitmachen würde, wäre es sinnvoll in den Betreff der PN (Script) an den Anfang zu stellen. Diese Scripts würde ich dann erst NACH Abgabeschluss öffnen. Hier müsstet ihr mir einfach blind vertrauen, dass ich eure Scripts vorher nicht einsehe. Um einen "Missbrauch" meinserseits auszuschliessen könntet ihr die Scripts möglichst zeitnah zum Abgabetermin an mich schicken, so dass für mich keine Zeit mehr bliebe, mir Code abzusehen. Ich garantiere euch aber, dass ich mich wirklich an die Regeln halten würde, so viel Fairness muss sein.

      Eine weitere Möglichkeit wäre, dass ihr die Scripts PN in einem verschlüsselten Archiv verlinkt und nach einem gewissen Zeitfenster (vllt. 4 oder 8 Std.) das zugehörige Passwort per PN sendet. Man kann ja nicht immer da sein und so hätte man die Möglichkeit auch zeitversetzt noch das Passwort zu versenden. So sieht man alle Mitbewerber und auch ich müsste mein Script vorher in den entsprechenden Thread posten. Danach werde ich die Scripts auswerten und alle der Allgemeinheit zur Verfügung stellen.

      Ich denke, dass ist ein guter Ansatz. So haben auch Anfänger die Möglichkeit teilzunehmen und vor allem aus den verschiedenen Ansätzen zu lernen.

      Der Contest würde dann sporadisch (je nachdem ob gerade Vorschläge da sind bzw. mir etwas einfällt) abgehalten und ich würde vorschlagen immer über 3 Tage laufen. Wäre das ausreichend?

      Über reges Feedback würde ich mich freuen. Nachdem ich mir dann eure Meinung durchgelesen habe, werde ich nochmal resümieren, die finalen Regeln nennen und dann könnte es auch möglichst bald losgehen ;)

      Jetzt seid ihr erstmal wieder an der Reihe :)

      Grüße,
      Buffo
      Ja, das wäre natürlich auch eine Möglichkeit :)

      Mir fällt da gerade noch ein: Wenn man das mit den verschlüsselten Archiven machen würde, bräuchte man sich gar nicht mehr per PN melden. Man würde ienfach in den Thread den Archiv-Link posten (Zeitpunkt egal, spätestens zur Abgabe) und dann innerhalb des Zeitfensters den Beitrag editieren und das Passwort dort posten.

      Das Zeitfenster muss sein, da ich ja nicht davon ausgehen kann, dass beispielsweise alle Teilnehmer genau kurz nach dem Abgabetermin online sein können, gibt ja auch noch Real-Life ;)

      Das Ganze ist ja nur eine kleine Herausforderung, die allen Spaß machen soll, ich glaube hier von "Unabhängigkeit" zu sprechen ist ein wenig übers Ziel hinausgeschossen :D

      Die Aufgaben würden natürlich so ausgewählt, dass viele Wege nach Rom führen. Es könnte natürlich auch passieren, das man mal ein paar hundert Codezeilen braucht, es geht ja nur darum, eine Aufgabe möglichst kompakt zu lösen, wenn man aber dennoch viele Zeilen braucht, kein Problem, vllt. ist es bei den anderen ja nicht anders ;) Aber es sollten im allgemeinen schon eher kleine Aufgaben sein...

      Dann hätte ich noch einen Vorschlag zur Benennung des Contests
      (20-Zeiler sind ja jetzt nicht mehr im Gespräch):

      ¼It! (ausgesprochen Mü-It). Das griechische ¼ (mü) steht in den Naturwissenschaften häufig für mini/mikro. Das würde doch ausgesprochen gut passen ;)

      Verflixt, stelle nach dem Absenden gerade fest, dass die griechischen Buchstaben umgewandelt werden, dann könnte man es ja mit einem kleinen U schreiben, also uIt! Is doch kurz und prägnant :D


      Grüße,
      Buffo
    autoit.de Webutation