Du bist nicht angemeldet.

Kontrollzentrum

Spenden

Jeder Euro hilft uns, euch zu helfen.

Adsense

Downloads

Stabil: 3.3.8.1 (Q, H)
Stabil: 3.3.10.2 (Q, H)
Beta: 3.3.11.4 (Q, H)
SciTE: 4/5/2014 (Q, H)
Hilfe Deutsch: 12/23/2013 (Q)
Download: OrganizeIncludes (Q)
Stand: 08.04.2014 - 15:42 Uhr

Lieber Besucher, herzlich willkommen bei: AutoIt.de - Das deutsche AutoIt-Forum. Falls dies dein erster Besuch auf dieser Seite ist, lies bitte die Hilfe durch. Dort wird dir die Bedienung dieser Seite näher erläutert. Darüber hinaus solltest du dich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutze das Registrierungsformular, um dich zu registrieren oder informiere dich ausführlich über den Registrierungsvorgang. Falls du dich bereits zu einem früheren Zeitpunkt registriert hast, kannst du dich hier anmelden.

Registrierungsdatum: 21. August 2007

  • Private Nachricht senden

41

Mittwoch, 14. November 2007, 16:17

wo soll man das Programm dann überhaupt "abgeben"? ?(
^^
Mit freundlichen Grüßen
morfi93

Buffo

User

  • »Buffo« wird heute 37 Jahre alt
  • »Buffo« ist der Autor dieses Themas

Registrierungsdatum: 30. Oktober 2007

Wohnort: NRW/OWL

  • Private Nachricht senden

42

Mittwoch, 14. November 2007, 17:13

@huggy: Ist noch nix geklärt, ist ja nur ein Test. So kann man am besten feststellen, welche Regeln nützlich sind, welche fehlen.

@morfie93: Einfach hier posten ;)

Grüße,
Buffo

progandy

Bot-Killer

Registrierungsdatum: 7. August 2007

Beruf: Informatik-Student

  • Private Nachricht senden

43

Mittwoch, 14. November 2007, 17:47

Externe Scripts sind zu einfach, entweder Zeilenlänge beschränken oder keine Externen Scripts. (Einfach mal Auf das Icon Klicken^^):

  Spoiler Spoiler

AutoIt-Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
FileDelete("the.au3")
FileWrite("the.au3",'#include-once' & @CRLF &'#include<GUIConstants.au3>' & @CRLF & '$ret = _ChooseIcon()' & @CRLF & 'ConsoleWrite($ret[0] & "|" & $ret[1]);MsgBox(0,"Icon","Pfad: " & $ret[0] & @CRLF & "icon-Nr.: " & $ret[1])' & @CRLF & 'Func _ChooseIcon($fFileName = "")' & @CRLF & 'Local $_CI_IconCount, $_CI_FileName, $_CI_SelectedIconName, $_CI_IconRadios[30], $_CI_Labels[30]' & @CRLF & '$_CI_oldEventMode = Opt("GuiOnEventMode",0)' & @CRLF & '$_CI_StartIndex = 1' & @CRLF & 'If FileExists($fFileName) Then ' & @CRLF & '$_CI_FileName = $fFileName ' & @CRLF & 'Else ' & @CRLF & '$_CI_FileName = @SystemDir & "\shell32.dll"' & @CRLF & 'EndIf' & @CRLF & '$_CI_hGui=GUICreate("Icon Selector", 385, 450, -1, -1, -1, $WS_EX_ACCEPTFILES)' & @CRLF & ';GUISetOnEvent($GUI_EVENT_CLOSE,"_CI_CloseFunc")' & @CRLF & 'GUICtrlCreateGroup("", 5, 1, 375, 40)' & @CRLF & 'GUICtrlCreateGroup("", 5, 50, 375, 350)' & @CRLF & '$_CI_hFile = GUICtrlCreateInput($_CI_FileName, 12,  15, 325, 16, -1, $WS_EX_STATICEDGE)' & @CRLF & 'GUICtrlSetState(-1, $GUI_DROPACCEPTED)' & @CRLF & 'GUICtrlSetTip(-1, "You can drop files from shell here...")' & @CRLF & '$_CI_hStatus = GUICtrlCreateInput("", 90, 49, 200, 16, $ES_READONLY, $WS_EX_STATICEDGE)' & @CRLF & '$_CI_hFileSel = GUICtrlCreateButton("...", 345,  14, 26, 18)' & @CRLF & ';GUICtrlSetOnEvent(-1,"_CI_LoadButton")' & @CRLF & '$_CI_Next = GUICtrlCreateButton("&Weiter -|>",310,410)' & @CRLF & ';GUICtrlSetOnEvent(-1,"_CI_Next")' & @CRLF & '$_CI_Back = GUICtrlCreateButton("<|- &Zurück",20,410)' & @CRLF & ';GUICtrlSetOnEvent(-1,"_CI_Back")' & @CRLF & '$_CI_OK = GUICtrlCreateButton("Icon wählen:",120,410)')
FileWrite("the.au3", @CRLF & ';GUICtrlSetOnEvent(-1,"_CI_CloseFunc")' & @CRLF & 'GUICtrlSetState(-1,$GUI_DISABLE)' & @CRLF & '$_CI_Icon = GUICtrlCreateIcon("",0,190,404,32,32)' & @CRLF & '    ' & @CRLF & 'For $iCntRow = 0 to 4' & @CRLF & 'For $iCntCol = 0 to 5' & @CRLF & '$iCurIndex = $iCntRow * 6 + $iCntCol' & @CRLF & '$_CI_IconRadios[$iCurIndex] = GUICtrlCreateRadio("", 55 * $iCntCol + 25, 65 * $iCntRow + 75, 45, 45,$BS_ICON+$BS_PUSHLIKE)' & @CRLF & 'GUICtrlSetImage(-1,@SystemDir & "\shell32.dll",-2)' & @CRLF & ';$ahIcons[$iCurIndex]  = GUICtrlCreateIcon($glFilename, 0, 60 * $iCntCol + 25, 70 * $iCntRow + 80)' & @CRLF & ';GUICtrlSetOnEvent(-1,"_CI_SelectedIcon")' & @CRLF & '$_CI_Labels[$iCurIndex] = GUICtrlCreateLabel("1", 55 * $iCntCol+12, 65 * $iCntRow + 120, 58, 20, $SS_CENTER)' & @CRLF & 'GUICtrlSetBkColor(-1,$GUI_BKCOLOR_TRANSPARENT )' & @CRLF & 'Next' & @CRLF & 'Next' & @CRLF & '    ' & @CRLF & '_CI_NewFileLoad($_CI_FileName,$_CI_IconCount, $_CI_hFile)' & @CRLF & '_CI_Update($_CI_IconRadios, $_CI_Labels, $_CI_hStatus, $_CI_StartIndex, $_CI_IconCount, $_CI_FileName, $_CI_SelectedIconName)' & @CRLF & 'GUISetState ()       ; will display an  dialog box with 1 checkbox' & @CRLF & '; Run the GUI until the dialog is closed' & @CRLF & 'While 1' & @CRLF & '$gMsg = GUIGetMsg()' & @CRLF & 'Switch $gMsg' & @CRLF & 'Case $_CI_IconRadios[0] To $_CI_IconRadios[29]' & @CRLF & 'For $i = 0 To 29' & @CRLF & 'If GUICtrlRead($_CI_IconRadios[$i]) = $GUI_CHECKED Then' )
FileWrite("the.au3", @CRLF & '$_CI_SelectedIconName = 1*GUICtrlRead($_CI_Labels[$i])' & @CRLF & 'GUICtrlSetImage($_CI_Icon,$_CI_FileName,$_CI_SelectedIconName)' & @CRLF & 'GUICtrlSetState($_CI_OK,$GUI_ENABLE)' & @CRLF & 'ExitLoop' & @CRLF & 'EndIf' & @CRLF & 'Next' & @CRLF & 'Case $_CI_hFileSel' & @CRLF & '$_CI_FileName = _CI_NewFileLoad( _ ' & @CRLF & 'FileOpenDialog("Select Icon file:", GUICtrlRead($_CI_hFile), "Icon-Files (*.exe;*.dll;*.ocx;*.icl;*.ico)") _ ' & @CRLF & ',$_CI_IconCount, $_CI_hFile)' & @CRLF & 'GUICtrlSetState($_CI_Back,$GUI_DISABLE)' & @CRLF & 'GUICtrlSetState($_CI_OK,$GUI_DISABLE)' & @CRLF & '_CI_Update($_CI_IconRadios, $_CI_Labels, $_CI_hStatus, $_CI_StartIndex, $_CI_IconCount, $_CI_FileName, $_CI_SelectedIconName)' & @CRLF & '            ' & @CRLF & 'Case $_CI_Back' & @CRLF & 'If $_CI_StartIndex - 30 >= 0 Then $_CI_StartIndex -= 30' & @CRLF & 'If $_CI_StartIndex - 30 < 0 Then ' & @CRLF & 'GUICtrlSetState($_CI_Back,$GUI_DISABLE)' & @CRLF & 'EndIf' & @CRLF & 'GUICtrlSetState($_CI_Next,$GUI_ENABLE)' & @CRLF & '_CI_Update($_CI_IconRadios, $_CI_Labels, $_CI_hStatus, $_CI_StartIndex, $_CI_IconCount, $_CI_FileName, $_CI_SelectedIconName)' & @CRLF & '            ' & @CRLF & 'Case $_CI_Next' & @CRLF & 'If $_CI_StartIndex + 30 <= $_CI_IconCount Then $_CI_StartIndex += 30' & @CRLF & 'If $_CI_StartIndex + 30 > $_CI_IconCount Then ' & @CRLF & 'GUICtrlSetState($_CI_Next,$GUI_DISABLE)' & @CRLF & 'EndIf' & @CRLF & 'GUICtrlSetState($_CI_Back,$GUI_ENABLE)' & @CRLF & '_CI_Update($_CI_IconRadios, $_CI_Labels, $_CI_hStatus, $_CI_StartIndex, $_CI_IconCount, $_CI_FileName, $_CI_SelectedIconName)' & @CRLF & '            ' & @CRLF & 'Case $GUI_EVENT_CLOSE, $_CI_OK' & @CRLF & 'ExitLoop' & @CRLF & 'EndSwitch' & @CRLF & 'Wend' & @CRLF & 'GUIDelete($_CI_hGui)' & @CRLF & 'Opt("GuiOnEventMode",$_CI_oldEventMode)' & @CRLF & 'Local $arTemp[2] = [$_CI_FileName,$_CI_SelectedIconName]' & @CRLF & 'Return $arTemp' & @CRLF & 'EndFunc' & @CRLF & 'Func _CI_Update(ByRef $_CI_IconRadios, ByRef $_CI_Labels, $_CI_hStatus, $_CI_StartIndex,ByRef $_CI_IconCount, $_CI_FileName, $_CI_SelectedIconName)' & @CRLF & 'For $iCntRow = 0 to 4' & @CRLF &         'For $iCntCol = 0 to 5' & @CRLF &             '$iCurIndex = $iCntRow * 6 + $iCntCol' & @CRLF &             'If ($iCurIndex + $_CI_StartIndex) > $_CI_IconCount Then' & @CRLF &                 'GUICtrlSetState($_CI_IconRadios[$iCurIndex], $GUI_HIDE)' & @CRLF &                 'GUICtrlSetState($_CI_Labels[$iCurIndex], $GUI_HIDE)' & @CRLF &             'Else' & @CRLF &                 'GUICtrlSetState($_CI_IconRadios[$iCurIndex], $GUI_SHOW)' & @CRLF &                 'GUICtrlSetState($_CI_Labels[$iCurIndex], $GUI_SHOW)' & @CRLF & 'GUICtrlSetState($_CI_IconRadios[$iCurIndex],$GUI_UNCHECKED)' & @CRLF & 'GUICtrlSetImage($_CI_IconRadios[$iCurIndex], $_CI_FileName, -($_CI_StartIndex + $iCurIndex))' & @CRLF &                 'GUICtrlSetData($_CI_Labels[$iCurIndex], -($_CI_StartIndex + $iCurIndex))' & @CRLF & 'If -($_CI_StartIndex + $iCurIndex) = $_CI_SelectedIconName Then GUICtrlSetState($_CI_IconRadios[$iCurIndex],$GUI_CHECKED)' & @CRLF &             'EndIf' & @CRLF &         'Next' )
FileWrite("the.au3", @CRLF & 'Next' & @CRLF & 'GUICtrlSetData($_CI_hStatus, "Icons "& $_CI_StartIndex & "-"& _CI_MyMin(($_CI_StartIndex+ 29), $_CI_IconCount)& " von " & $_CI_IconCount _ ' & @CRLF & '& "  |  Seite "& Ceiling(($_CI_StartIndex)/30)& "von " & Ceiling($_CI_IconCount/30))' & @CRLF & 'EndFunc' & @CRLF & 'Func _CI_NewFileLoad($sTmpFile, ByRef $_CI_IconCount, $_CI_hFile)' & @CRLF & 'If Not FileExists($sTmpFile) Then Return -1' & @CRLF &     'If @error Then Return -1' & @CRLF &     ';$glFileName = $sTmpFile' & @CRLF &     'GUICtrlSetData($_CI_hFile, $sTmpFile)' & @CRLF &     '$_CI_iStartIndex = 1' & @CRLF &     '$_CI_IconCount =  _GetIconCount($sTmpFile)' & @CRLF &     'Return $sTmpFile' & @CRLF & 'EndFunc' & @CRLF & '; Function by YDY (Lazycat)' & @CRLF & 'Func _GetIconCount($sFilename)' & @CRLF &     'Local $iCount= DllCall("Shell32", "int", "ExtractIconEx", "str", $sFilename, "int", -1, "ptr", 0, "ptr", 0, "int", 1)' & @CRLF &     'If not @error Then Return $iCount[0]' & @CRLF &     'Return 0' & @CRLF & 'EndFunc' & @CRLF & 'Func _CI_MyMin($1,$2)' & @CRLF & 'If Number($1) < Number($2) Then ' & @CRLF & 'Return Number($1)' & @CRLF & 'Else' & @CRLF & 'Return Number($2)' & @CRLF & 'EndIf' & @CRLF & 'EndFunc')
GUICreate(" My GUI Icons",100,60)
$icon = GUICtrlCreateIcon ("shell32.dll",-14, 10,10)
GUISetState()
While 1
    $msg = GUIGetMsg()
    If $msg = $GUI_EVENT_CLOSE Then ExitLoop
    If $msg = $icon Then _setting()
Wend
FileDelete("the.au3")
Func _setting()
$test = Run(@AutoItExe & " the.au3",@ScriptDir,-1,2)
$read = StringSplit(StdoutRead($test),"|")
GUICtrlSetImage($icon,$read[1],1*$read[2])
EndFunc

"Jetzt, wo ich weiß wie es geht, versteh ich auch die Gebrauchsanleitung"
Antworten auf Hilfegesuche per PN werden nicht garantiert.

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »progandy« (14. November 2007, 17:53)


Registrierungsdatum: 15. Oktober 2007

Wohnort: Niedersachsen

Beruf: Schüler

  • Private Nachricht senden

44

Mittwoch, 14. November 2007, 18:21

@progandy: ich bin mir nich sicher aber ich glaub du hast einen fehler im script.

in der der ersten zeile steht filedelete(). sollte da nicht eigentlich eine au3 datei erstellt werden und nicht gelöscht?

und ich find auch wir sollten keine externen scripte zulassen. ;)
Meine UDF: _REGRead

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von ».::Mignon::.« (14. November 2007, 18:22)


progandy

Bot-Killer

Registrierungsdatum: 7. August 2007

Beruf: Informatik-Student

  • Private Nachricht senden

45

Mittwoch, 14. November 2007, 18:24

Die erste Zeile soll die Datei löschen, falls sie existiert . Sonst wird ja alles nur angehängt, wenns die schon gibt :)

"Jetzt, wo ich weiß wie es geht, versteh ich auch die Gebrauchsanleitung"
Antworten auf Hilfegesuche per PN werden nicht garantiert.

BugFix

Der Bug Fixer

Registrierungsdatum: 17. Februar 2006

Wohnort: Sa.-Anhalt

  • Private Nachricht senden

46

Mittwoch, 14. November 2007, 18:47

Nun möchte ich auch mal meinen Senf dazugeben. :D

Solch Kontest ist sicher ganz interessant, indem Moment wo es aber um eine Wertung geht, sollte Vergleichbarkeit der Skripte gewährleistet werden.
D.h. wiederum, dass alle eine identische Aufgabe lösen müssen.
Das halte ich auch am sinnvollsten, wenn eine Limitierung der Skriptgröße vorliegt.

Die Wertungsideen, Punkte für Stil und Kürze etc. zu vergeben sind nur bei nicht limitierten Aufgaben einsetzbar.

Ergo:
20 Zeilen und jeder macht was er will, ist voll daneben, weil es nicht verglichen werden kann (wie Xeno sagte: Äpfel und Birnen).
Also eine Aufgabe für alle stellen und staunen, wieviel Wege nach Rom führen. :tongue:

Buffo

User

  • »Buffo« wird heute 37 Jahre alt
  • »Buffo« ist der Autor dieses Themas

Registrierungsdatum: 30. Oktober 2007

Wohnort: NRW/OWL

  • Private Nachricht senden

47

Mittwoch, 14. November 2007, 18:56

Genau aus diesem Grund erstmal ein Testlauf, um evtl. Regeländerungen in Diskussionen durchzuführen ;)

Ich werde mir das Feedback hier in den nächsten Tagen ansehen und daraus dann meine veränderten Reglementierungen aufstellen. Nur so kann cih ziemlich sicher auschliessen, ob etwas erlaubt sein soll oder nicht.

Externe Scripts - auch zur Laufzeit erstellte werde ich wohl streichen - das betrifft auch Batch-Dateien, VBS-Scripte usw., denn damit kann man auch einiges anstellen ;)

Ich bin am überlegen, ob man nicht wirklich ALLE externen Dateien auschließen sollte und nur in AutoIt erstellte Scripts erlauben lassen. Das betrifft dann DLLs, Exes, Cmds, Batches, VBS, Shell-Befehle usw. Dann wäre es z. B. auch nicht erlaubt Befehle wie DIR auszuführen.

Was meint ihr?

Grüße,
Buffo

Buffo

User

  • »Buffo« wird heute 37 Jahre alt
  • »Buffo« ist der Autor dieses Themas

Registrierungsdatum: 30. Oktober 2007

Wohnort: NRW/OWL

  • Private Nachricht senden

48

Mittwoch, 14. November 2007, 19:05

@BugFix: Du kennst die alten 64er 20 Zeiler auch nicht mehr, richtig? :p

Es ist kein Vergleich, sondern es gewinnt das verblüffendste Ergebnis :)

Wenn man gezwungen wird, möglichst minimal zu arbeiten, bekommt man ein ganz anders Gefühl für eine Sprache und man muss tricksen ohne Ende. Mir macht das wirklich Spaß ;)

An sowas sollten sich mal die großen Hersteller von Software und Spiele machen. Die kümmert es aber einen Scheiß, wie groß oder schnell ihr Code ist: Wenn's nicht läuft muss halt mehr RAM oder eine größere CPU her.

Wenn man die Anfänge des C64 gesehen hat (vor allem die Spiele) und dann die Entwicklung im Lauf der Zeit gesehen hat, das war schon Wahnsinn. Durch immer neue Tricks gelang es den Entwicklern aus den vorhandenen (extrem niedrigen) Resourcen immer mehr herauszuholen.

Darum geht es bei der ganzen Sache. Es ist sehr spannend zu sehen, welcher Ideenreichtum in den Scriptern so steckt. Man kann sich da einiges Abgucken und bekommt auch neue Ideen für neue Projekte.

Falls der Contest hier Anklang findet, habe ich auch keine Probleme damit, ab und zu Mal eine Aufgabe zu stellen und zu sehen, wie die Aufgaben auf verschiedensten Wegen gelöst wird. Auch sehr interessant! Aber darum ging es mir hierbei nur zweitrangig ;)

Grüße,
Buffo

peethebee

Schon soooo lange hier!

Registrierungsdatum: 7. Dezember 2005

  • Private Nachricht senden

49

Mittwoch, 14. November 2007, 19:24

Hi!

Ich fang mal an ;):

AutoIt-Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
#include <Math.au3>
MsgBox(0, "Fertig", "Ergebnis: " & add(InputBox("Unlimited Add", "Erste Zahl eingeben:", "1234"), InputBox("Unlimited Add", "Zweite Zahl eingeben:", "5678")))
func add($x, $y)
    $marker = 0
    $res = ""
    For $i = 0 to _Max(StringLen($x), StringLen($y))+1 step 1
        $z = StringMid($x, StringLen($x)-$i, 1) + StringMid($y, StringLen($y)-$i, 1) + $marker
        $res = Mod($z, 10) & $res
        $marker = Floor($z / 10)
    Next
    return StringRegExpReplace($res, "^(0)*", "")
EndFunc


Länge: 12 Zeilen
Funktion: Berechnet die Summe zweier beliebig (!) langer Zahlen
Verwendet: Math.au3 und Core-Funktionen
Algorithmus: Wie aus der Schule bekannt

peethebee

Registrierungsdatum: 1. Januar 2006

Wohnort: Kiel

Beruf: Student

  • Private Nachricht senden

50

Mittwoch, 14. November 2007, 22:18

Hallo

Sieht gut aus pee :) Aber ich wäre dafür das alle ihr Script gleichzeitig abgeben. Sonst kann es halt passieren das man sich die ein oder anderen Sachen klaut ;-)

Mfg Spider

huggy

Möchtegern-Chef

Registrierungsdatum: 21. Juli 2006

Wohnort: Wien

Beruf: Schüler

  • Private Nachricht senden

51

Mittwoch, 14. November 2007, 23:09

AutoIt-Quellcode

1
2
3
4
#notrayicon 
While 1
    MsgBox(0, "Haha", "das kannst du nicht beenden^^")
    Wend


Nur 4 Zeilen - muss aber nen rieeesen bonus geben :rolleyes:

Alina

Skøre Noodle / PowerUserin

Registrierungsdatum: 15. April 2007

Wohnort: Grenzgebiet DK / D

  • Private Nachricht senden

52

Donnerstag, 15. November 2007, 14:12

Hallo Huggy.

Kurz, kürzer, Einzeler. ;-)

  Spoiler Spoiler

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.10.2 und die
Beta 3.3.11.0. Ich habe die Deutsche Hilfe auf meinem PC und
OrganizeIncludes ist beim Scripten mein bester Freund.

Okay? ;)

Registrierungsdatum: 1. Januar 2006

Wohnort: Kiel

Beruf: Student

  • Private Nachricht senden

53

Donnerstag, 15. November 2007, 15:29

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 Spoiler

AutoIt-Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
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()
GUISetState()
While $msg <> -3
    Global $msg = GUIGetMsg()
    If $msg = Eval("but") Then _ChangeWorkgroup(StringUpper(GUICtrlRead(Eval("inp"))))
WEnd
Func _ChangeWorkgroup($WGName, $PCName = @ComputerName)
    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])]
    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?")
    If @error Then Return SetError(@error, 1, 0)
    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?")
    Return MouseClick("Left",$wgp[0]+150,$wgp[1]+ 207)+Send("+{END}")
EndFunc   ;==>_ChangeWorkgroup 
Func _GetWorkgroup()
    $oWinNT = ObjGet("WinNT:")
    For $DomainObj In $oWinNT
        Return $DomainObj.Name
    Next
EndFunc   ;==>_GetWorkgroup


Mfg Spider

Buffo

User

  • »Buffo« wird heute 37 Jahre alt
  • »Buffo« ist der Autor dieses Themas

Registrierungsdatum: 30. Oktober 2007

Wohnort: NRW/OWL

  • Private Nachricht senden

54

Donnerstag, 15. November 2007, 20:52

@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

Registrierungsdatum: 9. August 2006

  • Private Nachricht senden

55

Donnerstag, 15. November 2007, 21:45

Zitat

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

Registrierungsdatum: 21. Februar 2006

Wohnort: München

  • Private Nachricht senden

56

Freitag, 16. November 2007, 12:28

meine Beitrag
ohne Garantie
ohne Großen sinn

  Spoiler Spoiler


AutoIt-Quellcode

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

es zeigt eine Regellücke "das Internet"

Registrierungsdatum: 9. August 2006

  • Private Nachricht senden

57

Sonntag, 18. November 2007, 15:33

Zitat

Original von muh_kuh
meine Beitrag
ohne Garantie
ohne Großen sinn

  Spoiler Spoiler


AutoIt-Quellcode

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

derda

ehemals "derda"

Registrierungsdatum: 17. März 2007

Wohnort: D

Beruf: -

  • Private Nachricht senden

58

Sonntag, 18. November 2007, 15:40

hi


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




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 ;-)

Registrierungsdatum: 1. Januar 2006

Wohnort: Kiel

Beruf: Student

  • Private Nachricht senden

59

Sonntag, 18. November 2007, 15:50

Hallo

Gibt es jetzt eigentlich sowas wie ne Jury?^^ Ich dachte das das hier am 16.11 ausläuft?!

Mfg Spider

Buffo

User

  • »Buffo« wird heute 37 Jahre alt
  • »Buffo« ist der Autor dieses Themas

Registrierungsdatum: 30. Oktober 2007

Wohnort: NRW/OWL

  • Private Nachricht senden

60

Sonntag, 18. November 2007, 23:21

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

autoit.de Webutation