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

Beiträge von MaZy

  • Richedit verschieben + Textfarbe

    • MaZy
    • 6. September 2009 um 16:15

    Hallo, dieser Thread ist zwar alt aber ich hab ne Frag dazu.

    Ich hatte die RichEdit UDF von hier.
    http://progandy.pr.funpic.de/index.php/comp…/id,20/lang,de/

    jetzt habe ich aber den runtergeladen der hier gelinkt wurde.
    http://www.autoitscript.com/forum/index.php?showtopic=89358&hl=

    Welcher ist denn neuer? Weil bei den finde ich kein SetBold oder Italic usw

    Ich finde ieg den ersten link nicht schlecht.. aber da konnte ich keine Farbe finden.

    EDIT: Wie dumm von mir. Hab sie total übersehen :S
    Sorry

  • Ein fettes TCPSend Problem

    • MaZy
    • 3. September 2009 um 17:59

    Hi,

    mein Problem ist, dass mein TCPSend nicht sofort sendet sondern ers wenn er aus der funktion rausspringt und zu einer andere Funktion. Aber dort ist noch ein TCPSend. Das heißt es wird die Daten von erste Send nach 2 drangehängt. Ich versuchs mal so zu erklären:

    Wenn ich beispiel sende>
    TCPsend "Hi-"
    <Funktion ende>
    For
    TCPSend "Hi"
    Next
    <funktion ende>
    Dann wird es als "Hi-Hi" gesendet und nicht "Hi-" und nochmal "Hi"

    Hier Code:
    User joined Server. Und ihn wird online User geschickt "USER BLA BLU BLI"

    [autoit]


    func xtakenick($sMessage2)
    Local $soutput
    $iIndex2 = _ArraySearch($aUser, $sMessage2[2])
    if @error Then
    if $aUser[0] = "" then
    $aUser[0] = $sMessage2[2]
    Else
    _ArrayAdd($aUser, $sMessage2[2])
    EndIf
    EndIf
    $soutput= xmakesatz(0, $aUser)
    TCPSend($iTempSID, "USER " & $soutput & "-")
    ConsoleWrite(@CRLF & "USER " & $soutput)
    $sSmsg = "JOIN " & $sMessage2[2]
    EndFunc

    [/autoit]

    Funktion das eigentliche TCPSend. Da wird nur eigentlich "sSmsg" gesendet

    [autoit]


    func xsendtochat($sRDYTOSEND)
    for $i = 0 to UBound($sConnectedSocket) -1
    TCPSend($sConnectedSocket[$i], $sRDYTOSEND)
    Next
    ConsoleWrite(@CRLF & $sRDYTOSEND)
    $sSmsg = ""
    EndFunc

    [/autoit]

    Wann genau sendet TCPSend denn die Daten???

  • GUI erstellen aber mit wenig Code.

    • MaZy
    • 2. September 2009 um 11:32

    Nur Mod hab ich nicht verstanden. Und die Positionen wie das gemacht ist.

    Beispiel hier

    [autoit]

    Dim $ahLabel[500], $iXPos = 50, $iYPos = 10, $iXSpace = 45, $iYSpace = 15, $iWidth = 45, $iHeight = 20, $iUnterReihe = 25
    Dim $sSpace
    GUICreate('test', 600, 400)
    For $i = 0 To 150
    Switch $i
    Case 0 to 9
    $sSpace = ""
    Case 10 to 99
    $sSpace = " "
    Case Else
    $sSpace = ""
    EndSwitch
    $ahLabel[$i] = GUICtrlCreateLabel($sSpace & $i & ' = ' & 0, $iXPos + Int($i / ($iUnterReihe +1)) * $iXSpace, $iXPos + Mod($i, ($iUnterReihe +1)) * $iYSpace, $iWidth, $iHeight)
    Next
    GUISetState()
    Do
    Until GUIGetMsg() = -3

    [/autoit]

    Wenn ich $iXPos = 50 mache verschiebt sich das von links nach rechts UND von oben nach unten. Soll ja aber nicht sein. $iYPos = 1000 passiert nichts.

    EDIT: Ahh, ok.. mein Fehler... ich hab iYPos zu x gemacht.

  • GUI erstellen aber mit wenig Code.

    • MaZy
    • 2. September 2009 um 09:41

    Ja genau, danke. Wird dort mehrere Labels erstellt oder nur einer?

    Ich kapiere die beiden Stellen nicht:

    [autoit]

    $iXPos + Int($i / 10) * $iXSpace,

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

    $iYPos + Mod($i, 10) * $iYSpace

    [/autoit]


    Was passiert da?
    Ist ja doch komplizierter als ich dachte.

  • GUI erstellen aber mit wenig Code.

    • MaZy
    • 28. August 2009 um 21:45

    Hallo,
    ich hab mal hier im Forum irgendwann mal gesehen, dass ein Taschenrechner GUI nur in mit mit paar Zeilen erstellt wurde. Wie gesagt nur GUI ohne Funktionen usw. Daher wollte ich wissen wie man sowas machen kann.
    Ich habe auch sowas vor. Ein Label der 1 bis 100 Zahlen stehen hat. Also sowas: Beide Zahlen sind in var.
    1=0 6=0
    2=0 7=0
    3=0 8=0
    4=0 9=0
    5=0 10=0
    Zwischen beiden blöcken sollte natürlich mehr Abstand sein als hier.
    Wie krieg ich das hin? Brauch ich array?

    EDIT: Sry paar ein fehler im text

  • Wie sind Chats aufgebaut?

    • MaZy
    • 29. Juli 2009 um 13:24

    Hallo, ich hab da ne Frage.

    Wie sind die Chats eigentlich von Darstellung her aufgebaut.
    Ich meine die Chats Beispiel in Java. Die werden wohl doch kein Editfeld benutzen oder?? Ich hab nämlich tolles Chatprogramm geschrieben mit AutoIT. Bin so ziemlich am Anfang. Client und Server verbindet und tauscht Daten.

    Aber alles ist mit Label. Weil ich für bestimmte Sachen Kursiv gebraucht habe, aber die Möglichkeit in EDITFeld nicht fand um Sätze wie "Unknown Command" in Kursiv anzuzeigen. Wenn ich das täte wurde alles in Kursiv angezeigt. Daher war meine Idee mit Labels.. jedes mal wird neue erstellt und +17 top dazu berechnet. Danach war meine Idee wenn Chatfenster bis nach unten voll war per Array alles Positionen zu Updaten und eine Zeile (top-17) höher zu ziehen. So das es aussieht als würde sich alles eine Zeile hochscrollen. Aber dann kommt das Problem mit Scrolls usw. Mann kann ja nicht Scrollen. Da die Labels über die Gui dann irgendwann verschwinden. Ja daher hab ich mich gefragt wie das wohl per C++ oder Java aussehen würde.

    C++ kenn ich ja einigermaßen gut und Java hatte ich sehr wenig in der Schule gelernt. Nur Basiswissen.

  • Chat TCP Problem

    • MaZy
    • 26. Juli 2009 um 23:29

    Danke für dein TIPP. Ich bin jetzt sehr weit gekommen. Es können mehrere rein und hab auch meine erste befehl eingebaut. /me ^^.

    Spoiler anzeigen
    [autoit]

    $tcpaccept2 = TCPAccept($tcplisten)
    If $tcpaccept2 <> -1 then
    for $i = 0 to $maxuser -1
    $iIndex = _ArraySearch($tcpaccept, $tcpaccept2)
    if @error Then
    _ArrayInsert($tcpaccept, $i, $tcpaccept2)
    $curuser = $curuser + 1
    EndIf
    Next
    EndIf

    [/autoit]

    So jetzt bleibt mir das Problem mit Clientside. Muss ich bei ihn TCPListen() anwenden???

  • SideBar für XP

    • MaZy
    • 26. Juli 2009 um 00:19

    sowas geiles <3
    Hast du gut gemacht. Leider kann ich auf meine Ordner nicht mehr klicken weil sie darunter sind ^^
    Besonders gefällt mir Notizblock und Lautstärke regeler da ich das ammeisten brauche =)

  • Desktop Hintergrundbild setzen (Jpg, nicht bmp)

    • MaZy
    • 26. Juli 2009 um 00:02

    Hier hatten wir doch damals ein Thread wo das lange besprochen haben, weil es um ein Script ging

    aber hier. Der ist etwas kompliziert

    Spoiler anzeigen
    [autoit]

    Global Const $SPIF_UPDATEINIFILE = 0x01
    Global Const $SPIF_SENDWININICHANGE = 0x02
    Global Const $SPI_SETSCREENSAVEACTIVE = 0x11
    Global Const $SPI_SETDESKWALLPAPER = 0x14
    Global Const $SPI_GETDESKWALLPAPER = 0x73

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

    Global $Bitmap = @WindowsDir & "\WINNT.bmp"

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

    RegWrite("HKEY_CURRENT_USER\Control Panel\Desktop", "TileWallpaper", "REG_SZ", "0")
    RegWrite("HKEY_CURRENT_USER\Control Panel\Desktop", "WallpaperStyle", "REG_SZ", "0")
    _SetDeskWallpaper($Bitmap)

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

    Func _SetDeskWallpaper($Filename)
    DllCall("user32.dll", "long", "SystemParametersInfo" _
    , "long", $SPI_SETDESKWALLPAPER _
    , "long", 0 _
    , "str", $Filename _
    , "long", BitOR($SPIF_UPDATEINIFILE, $SPIF_SENDWININICHANGE) _
    )
    EndFunc ;==>_SetDeskWallpaper

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

    Func _GetDeskWallpaper()
    Local $Filename = DllStructCreate("char[256]")
    DllCall("user32.dll", "long", "SystemParametersInfo" _
    , "long", $SPI_GETDESKWALLPAPER _
    , "long", 255 _
    , "ptr", DllStructGetPtr($Filename) _
    , "long", 0 _
    )

    Return DllStructGetData($Filename, 1)
    EndFunc ;==>_GetDeskWallpaper

    [/autoit]


    Standard...

    Meine Version:

    Spoiler anzeigen
    [autoit]

    #include <Misc.au3>
    #include <GUIConstants.au3>
    #include <File.au3>
    #include <array.au3>
    #include <GDIPlus.au3>
    Opt("GUIOnEventMode", 1)
    $start = GUICreate("Wallpaperchanger", 222, 208, 193, 125)
    $Labe2 = GUICtrlCreateLabel("Jede 10 Sek wird Hintergrund verändert." & @CRLF & "Lege einen Ordner ''picme'' an und kopiere"& @CRLF &"oder verschiebe deine Wunschbilder dort hinein.", 10, 10, 220, 500)
    GUISetOnEvent($GUI_EVENT_MINIMIZE, "CheckDialog")
    GUISetState(@SW_Show)
    HotKeySet("{f1}", "Exitnow") ;close programm
    $dll = DllOpen("user32.dll")

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

    ;--------------------------------------------------------;

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

    Global Const $SPIF_UPDATEINIFILE = 0x01
    Global Const $SPIF_SENDWININICHANGE = 0x02
    Global Const $SPI_SETSCREENSAVEACTIVE = 0x11
    Global Const $SPI_SETDESKWALLPAPER = 0x14
    Global Const $SPI_GETDESKWALLPAPER = 0x73

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

    while 1
    $ppic = _FileListToArray(@MyDocumentsDir & "\picme\", "*.jpg")
    $result = _ArrayMax($ppic)
    $rpic = $ppic[random(0, $result ,0)]
    Global $Bitmap = @MyDocumentsDir & "\picme\"& $rpic

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

    RegWrite("HKEY_CURRENT_USER\Control Panel\Desktop", "TileWallpaper", "REG_SZ", "0")
    RegWrite("HKEY_CURRENT_USER\Control Panel\Desktop", "WallpaperStyle", "REG_SZ", "2")
    $ext = StringTrimLeft($Bitmap, StringInStr($Bitmap, ".", -1))

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

    If not ($ext = "bmp") then
    _GDIPlus_Startup()
    $Bild = _GDIPlus_ImageLoadFromFile($Bitmap)
    _GDIPlus_ImageSaveToFile($Bild, @MyDocumentsDir & "\picme\picme.bmp")
    _GDIPlus_ImageDispose($Bild)
    _GDIPlus_Shutdown()
    endif
    _SetDeskWallpaper(@MyDocumentsDir & "\picme\picme.bmp")
    sleep(10000)
    WEnd

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

    ;--------------------------------------------------------;

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

    ;Funktionen - Anfang;
    Func _SetDeskWallpaper($Filename)
    DllCall("user32.dll", "long", "SystemParametersInfo" _
    , "long", $SPI_SETDESKWALLPAPER _
    , "long", 0 _
    , "str", $Filename _
    , "long", BitOR($SPIF_UPDATEINIFILE, $SPIF_SENDWININICHANGE) _
    )
    EndFunc ;==>_SetDeskWallpaper

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

    Func _GetDeskWallpaper()
    Local $Filename = DllStructCreate("char[256]")
    DllCall("user32.dll", "long", "SystemParametersInfo" _
    , "long", $SPI_GETDESKWALLPAPER _
    , "long", 255 _
    , "ptr", DllStructGetPtr($Filename) _
    , "long", 0 _
    )

    Return DllStructGetData($Filename, 1)
    EndFunc ;==>_GetDeskWallpaper

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

    Func Exitnow()
    Exit
    EndFunc

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

    Func CheckDialog()
    Select
    Case @GUI_CTRLID = $GUI_EVENT_MINIMIZE
    GUISetState(@SW_HIDE)
    EndSelect
    EndFunc
    ;Funktionen - Ende;
    While 1
    $msg = GUIGetMsg()

    If $msg = $GUI_EVENT_CLOSE Then ExitLoop
    Wend

    [/autoit]


    Meiner ändert nach ne Zeit Desktopbild. Bilder in Eigene Datein\picme\* Verzeichnis

  • Chat TCP Problem

    • MaZy
    • 25. Juli 2009 um 23:53

    Hallo

    ich hab ein Problem. Und zwar hat ein User ein Chatscript geschrieben so ziemlich basis. Er kam mit TCP nicht weiter und hat dann mit FTP angefangen. Aber ich hab ihn ein wenig starthilfe gegeben damit er sein TCP-Script weiter aufbaut. Allerdings komm ich bei eine stelle selbst nicht weiter. Also ich habe 2x das gleiche Code.. nur das bei zweite Code kein TCPListen() befindet damit Server nicht nochmal gestartet wird was so oder so wegen Ports nicht geht. Auf jedenfall frage ich mich, wenn ein Client der sich zum Server connected die Daten, was nach Server gesendet wird wie ich das wieder zu Client senden kann?. Da Client kein TCPListen() anwendet kann man doch nichts zu Client senden oder? Oder muss Client auch ein TCPListen anwenden?? Aber was mache ich wenn man jetzt ein Client sein Programm 3x startet..? Die Ports freigeben? :S

    Also ich habe eigentlich wie Spiele gedacht. Jeder verbindet sich zum Server.. die Clients müssen keine Portsfreigeben, kein listen. Quasi wenn man Porttest macht ist dieser Port zu.

    Zweite frage wär. Wie kriege ich hin das Server nicht nur nach ein Client wartet sondern das mehrere sich da einklinken können

    also

    [autoit]


    Do
    $tcpaccept = TCPAccept($tcplisten)
    Until $tcpaccept <> -1

    [/autoit]


    Ohne das Funktioniert bei mir gar nichts.

    Hier mal Code

    Spoiler anzeigen
    [autoit]


    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <Misc.au3>

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

    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Chat", 429, 292, 192, 124)
    $Edit1 = GUICtrlCreateEdit("", 8, 8, 409, 201, BitOR($ES_AUTOVSCROLL,$ES_READONLY,$ES_WANTRETURN,$WS_VSCROLL))
    $Input1 = GUICtrlCreateInput("", 8, 224, 97, 21, BitOR($ES_AUTOHSCROLL, $ES_READONLY))
    GUICtrlSetLimit(-1, 26)
    $Label1 = GUICtrlCreateLabel(":", 112, 224, 7, 17)
    $Input2 = GUICtrlCreateInput("", 120, 224, 297, 21)
    $Button1 = GUICtrlCreateButton("Namen ändern", 8, 256, 75, 25, $WS_GROUP)
    $Button2 = GUICtrlCreateButton("Senden", 96, 256, 75, 25, $WS_GROUP)
    $Button3 = GUICtrlCreateButton("Schriftart", 344, 256, 75, 25, $WS_GROUP)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    ;Vari

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

    TCPStartup()
    $tcplisten = TCPListen("127.0.0.1", 3000,100)
    $tcpconnect = TCPConnect("127.0.0.1", 3000)
    $tcpaccept = -1
    Do
    $tcpaccept = TCPAccept($tcplisten)
    Until $tcpaccept <> -1

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

    While 1
    _Server()
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    TCPShutdown()
    Exit
    Case $Button1

    Case $Button2
    _send(GUICtrlRead($Input2))
    Case $Button3
    EndSwitch
    sleep(10)
    WEnd

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

    func _Server()
    $s_Recv = TCPRecv($tcpaccept, 2048)
    IF $s_Recv <> "" Then
    Local $s_Chatverlauf = GUICtrlRead($Edit1)
    GUICtrlSetData($Edit1, $s_Chatverlauf & @CRLF & "MaZy" & " : " & $s_Recv)
    EndIf
    EndFunc

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

    func _send($s_message)
    If $s_message = "" Then
    MsgBox(0, "Fehler", "Nichts wurde als Text eingetragen!")
    Return 0
    EndIf
    TCPSend($tcpconnect, $s_message)
    EndFunc

    [/autoit]


    Also das ist die Version Server und Client in eins. Client version zum Testen nur hab ich _server() und tcplisten() usw entfernt.

    Ich hoffe könnt mir beim logisches denken helfen ^^

    EDIT: IN Sufu hab ich nur gefunden das man sufu benutzen soll wenn es um chat ging lol
    Außer 2 beiträge wo jemand sein Script postet aber bei ihn blick ich total nicht durch..

  • Problem bei GUICtrlSetImage und array

    • MaZy
    • 16. Juli 2009 um 15:54
    Spoiler anzeigen

    Hallo,

    ich mache gerade ein Script sozusagen ein Spiel mit arabischen Buchstaben die als Bilder angezeigt werden. Sie ändert sich nach dem man richtig erraten hat per random() mit Arrays. Zur Zeit habe ich es so:

    Variable: Bitte kein Kommentar. Ich habe falsch angefangen und hatte keine Lust neu alles zu definieren :P

    [autoit]

    Global $Elif = "elif.jpg", $Be = "be.jpg", $Te = "te.jpg", $Se = "se.jpg", $Cim = "cim.jpg"
    Global $Ha = "ha.jpg", $Hi = "hi.jpg", $Dal = "dal.jpg", $Zel = "zel.jpg", $Rii = "rii.jpg"
    Global $Ze = "ze.jpg", $Sin = "sin.jpg", $Ssin = "ssin.jpg", $Sad = "sad.jpg", $Dad = "dad.jpg"
    Global $Tii = "tii.jpg", $Zii = "zii.jpg", $Ayn = "ayn.jpg", $Gayn = "gayn.jpg", $Fe = "fe.jpg"
    Global $Kaf = "elif.jpg", $Kef = "elif.jpg", $Lam = "elif.jpg", $Mim = "elif.jpg", $Nun = "elif.jpg"
    Global $Vav = "vav.jpg", $He = "he.jpg", $Lamelif = "lamelif.jpg", $Ye = "ye.jpg"
    Global $CurPic
    Global $array[29] = _
    [ $Elif , $Be , $Te , $Se, $Cim, _
    $Ha, $Hi, $Dal, $Zel, $Rii, _
    $Ze, $Sin, $Ssin, $Sad, $Dad, _
    $Tii, $Zii, $Ayn, $Gayn, $Fe, _
    $Kaf, $Kef, $Lam, $Mim, $Nun, _
    $Vav, $He, $Lamelif, $Ye]

    [/autoit] [autoit]

    $Pic1 = GUICtrlCreatePic("img/" & $array[1], 10, 10, 73, 73)

    [/autoit]


    Um es zu ändern

    [autoit]

    $newpic = GUICtrlSetImage($Pic1, "img/" & $array[random(0, 29, 1)])

    [/autoit]


    Ich hab ein Button erstellt um es zu testen und die Bilder ändert sich jedes Mal also es funktioniert. Das ist schonmal gut. Nur mein Problem ist das ich mit GUICtrlRead($Pic1) nicht lesen kann (GUICtrlCreatePic("img/" & $array[1])) welches Bild gerade angezeigt wird. Jetzt bräuchte ich ne idee, wie ich das umgehen kann.

    Ich willst nachher mit TrimRight oder so die angezeigte array ".jpg" wegschneiden und das eingegeben wort mit dann mit ihn vergleichen. Also:
    $array[0] ist $Elif und $Elif ist "elif.jpg" .jpg wegschneiden ist "elif" und per eingabe dann vergleichen ob er acuh elif eingegeben hat.
    Aber ich weiß ja nicht wie ich herausfinden kann welches bild gerade da angezeigt wird. Also welches array[ZAHL] in random gerade genommen wurde.

    Hoffe könnt mir helfen

    mfg
    mazy

    EDIT: Inzwischen habe ich es raus.

    [autoit]

    func buchstabenzeigen()
    $newpic = $array[random(0, 28, 1)] ; bild wird in newpic gespeichert
    GUICtrlSetImage($Pic1, "img/" & $newpic) ;und hier erst gesetzt. Das ist mir erst nicht eingefallen
    return $newpic
    EndFunc

    [/autoit]
  • Vordergund mit checkbox

    • MaZy
    • 24. März 2009 um 18:39

    genau das wollte ich. THX!

  • Vordergund mit checkbox

    • MaZy
    • 24. März 2009 um 18:00
    [autoit]

    #include <GUIConstants.au3>

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

    $gui = GUICreate('CB-Test mit CB3 u. CB4 als Radio')
    $cb1 = GUICtrlCreateCheckbox('Vordergrund?', 20, 20, 100)
    $cb2 = GUICtrlCreateCheckbox('Install 3 od. 4?', 20, 50, 100)
    $cb3 = GUICtrlCreateCheckbox('Check 3 (wenn 3, dann nicht 4)', 35, 80, 180)
    GUICtrlSetState(-1, $GUI_CHECKED)
    GUICtrlSetState(-1, $GUI_DISABLE)
    $cb4 = GUICtrlCreateCheckbox('Check 4 (wenn 4, dann nicht 3)', 35, 110, 180)
    GUICtrlSetState(-1, $GUI_DISABLE)
    $cb5 = GUICtrlCreateCheckbox('Check 5', 20, 140, 60)
    $cb6 = GUICtrlCreateCheckbox('Check 6', 20, 170, 60)
    GUISetState()

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

    While 1
    $msg = GUIGetMsg()
    Switch $msg
    Case $cb1
    If GUICtrlRead($cb1) = $GUI_CHECKED Then
    MsgBox(0,"","Vordergrund gesetzt")
    EndIf
    Case $cb2
    If BitAND(GUICtrlRead($cb2), $GUI_CHECKED) Then
    GUICtrlSetState($cb3, $GUI_ENABLE)
    GUICtrlSetState($cb4, $GUI_ENABLE)
    Else
    GUICtrlSetState($cb3, $GUI_DISABLE)
    GUICtrlSetState($cb4, $GUI_DISABLE)
    EndIf
    Case $cb3
    If BitAND(GUICtrlRead($cb3), $GUI_CHECKED) Then
    GUICtrlSetState($cb4, $GUI_UNCHECKED)
    Else
    GUICtrlSetState($cb4, $GUI_CHECKED)
    EndIf
    Case $cb4
    If BitAND(GUICtrlRead($cb4), $GUI_CHECKED) Then
    GUICtrlSetState($cb3, $GUI_UNCHECKED)
    Else
    GUICtrlSetState($cb3, $GUI_CHECKED)
    EndIf
    Case $cb5

    Case $cb6

    Case $GUI_EVENT_CLOSE
    Exit
    EndSwitch
    WEnd

    [/autoit]


    Ganze Fenster (AutoIT).
    Das ist ne Testscript.
    Das eigentliche hab ich auf dem Laptop. Aber da ist ist auch nur ein cb1 mehr nicht. Weil der rest macht eig was anderes

  • Vordergund mit checkbox

    • MaZy
    • 24. März 2009 um 17:29

    Hi, wie kann ich Gui On Top machen in dem ich ein Checkbox checke.
    Ich dachte so es geht nicht:

    [autoit]

    Case $cb1
    If BitAND(GUICtrlRead($cb1), $GUI_CHECKED) Then
    GUICtrlSetState($form1, $GUI_ONTOP))
    EndIf

    [/autoit]

    bei $form1 bin ich net sicher.. da steht ja controlID

    2. Frage. Wie mach ich ONTOP wieder weg? ^^

  • BitAnd

    • MaZy
    • 24. März 2009 um 17:02

    Hi ich versuche das zu verstehen aber kapiere nicht.
    Ich habe jetzt beim suchen das hier gefunden

    [autoit]

    If BitAND(GUICtrlRead($cb2), $GUI_CHECKED) Then

    [/autoit]


    Aber ich habe eben die funktion auch so getestet

    [autoit]

    If GUICtrlRead($cb2) = $GUI_CHECKED Then

    [/autoit]


    Beides funktioniert.
    jetzt wollte ich gern wissen was BitAND eig "dort" genau macht weil man daraus ja die gleiche funktion machen kann

  • Hex umdrehen

    • MaZy
    • 18. März 2009 um 14:11

    hi wie könnt ich aus 7B 00 00 00 umdrehen und 00 00 00 7B machen
    BZW 47 82 zu 82 47
    Alle sind in eine Variable gespeicherte. Beispiel

    $info = 7B 00 00 00

    Achso tut mir leid.. so ein code hab ich ja schonmal geschrieben lol allerdings nur für 2
    $info = 7B 32

    $info2 = StringMid($info, 1, 2)
    $info3 = StringMid($info, 3, 2)
    $info = $info & $info2
    das müsste jetzt 32 7B sein.

    Aber wie mache ich wenn das mal länger ist.

  • HotKey + Programmaufruf

    • MaZy
    • 18. März 2009 um 13:22

    Wahrscheinlich hat der eine andere Auflösung und eine andere Anwendung bzw 3D-Anwendung in Vollbildschirmmodus.

    Ich denk mal man könnte es beheben in dem man das gestartete programm sofort minimiert oder fensterversteckt. wie war das?

    [autoit]

    WinSetState("Titel -", "", @SW_HIDE)

    [/autoit]


    Das Problem, aber hier nur ist, wie kann man was verstecken was gar nicht geladen ist.

  • Variable leer warum?

    • MaZy
    • 16. März 2009 um 23:35
    Zitat von SiLenCa

    Also, bei mir is die Variable nicht leer.

    [autoit]

    #include <WindowsConstants.au3>
    #include <GUIConstantsEx.au3>

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

    $lol = GUICreate("lol",40,25,"500","500",BitOR($WS_DLGFRAME,$WS_POPUP))
    $Button2 = GUICtrlCreateButton("lol",0,0)
    $Button3 = GUICtrlCreateButton("lal",20,0)
    GUISetState()

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Button2
    way()
    Case $Button3
    takeopcode()
    EndSwitch
    $bla = "bla"
    $blub = "blub"
    WEnd

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

    func way()
    msgbox(0,"",$blub)
    EndFunc

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

    func takeopcode()
    msgbox(0,"",$bla)
    EndFunc

    [/autoit]
    Alles anzeigen

    komisch. Auf einmal bei mir auch. Sonst war msgbox leer :S

  • Variable leer warum?

    • MaZy
    • 16. März 2009 um 22:40
    [autoit]


    While 1
    $nMsg = GUIGetMsg()

    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Button2
    way()
    Case $Button3
    takeopcode()
    EndSwitch
    $bla = "test"
    WEnd

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

    func way()
    EndFunc

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

    func takeopcode()

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

    msgbox(0,"",$bla)
    EndFunc

    [/autoit]

    hi, warum ist die variable $bla in function takeopcode() leer?

  • Schon beim Schreiben eine Veränderung

    • MaZy
    • 4. März 2009 um 20:56

    danke der funkz ohne probleme.. ich bin aber hier irrtiert.
    Warum funktioniert das immernoch?

    Spoiler anzeigen
    [autoit]

    GUIRegisterMsg($WM_COMMAND, 'MY_WM_COMMAND')

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

    Func MY_WM_COMMAND($hWnd, $msg, $wParam, $lParam)
    $np2 = GUICtrlRead($np)
    $pnoblue2 = GUICtrlRead($pnoblue)
    $pplus2 = GUICtrlRead($pplus)
    $pblue2 = GUICtrlRead($pblue)
    $pblueplus2 = GUICtrlRead($pblueplus)

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

    GUICtrlSetData($enp, $np2)
    $pnoblue2 = $np2 * $pnoblue2 / 100
    GUICtrlSetData($enoblue, $pnoblue2)
    $pplus2 = $np2 * $pplus2 / 100
    GUICtrlSetData($eplus, $pplus2)
    $pblue2 = $np2 * $pblue2 / 100
    GUICtrlSetData($eblue, $pblue2)
    $pblueplus2 = $np2 * $pblueplus2 / 100
    GUICtrlSetData($eblueplus, $pblueplus2)

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

    $pblueplus3 = GUICtrlRead($pblueplus)
    $e12 = $np2 * $pblueplus3 / 100
    GUICtrlSetData($e1, $e12)
    $e22 = $np2 * $pblueplus3 / 100 * $pblueplus3 / 100
    GUICtrlSetData($e2, $e22)
    $e32 = $np2 * $pblueplus3 / 100 * $pblueplus3 / 100 * $pblueplus3 / 100
    GUICtrlSetData($e3, $e32)
    $e42 = $np2 * $pblueplus3 / 100 * $pblueplus3 / 100 * $pblueplus3 / 100 * $pblueplus3 / 100
    GUICtrlSetData($e4, $e42)
    $e52 = $np2 * $pblueplus3 / 100 * $pblueplus3 / 100 * $pblueplus3 / 100 * $pblueplus3 / 100 * $pblueplus3 / 100
    GUICtrlSetData($e5, $e52)
    Local $nID = BitAND($wParam, 0x0000FFFF), $sExt
    Switch $nID
    Case $np

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

    EndSwitch
    Return $GUI_RUNDEFMSG
    EndFunc ;==>MY_WM_COMMAND

    [/autoit]


    Ih hab die sachen darüber geshrieben und nicht mal unter Casetrotzdem gehts :S

    EDIT: looooooool

    Spoiler anzeigen
    [autoit]

    GUIRegisterMsg($WM_COMMAND, 'MY_WM_COMMAND')

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

    Func MY_WM_COMMAND()
    $np2 = GUICtrlRead($np)
    $pnoblue2 = GUICtrlRead($pnoblue)
    $pplus2 = GUICtrlRead($pplus)
    $pblue2 = GUICtrlRead($pblue)
    $pblueplus2 = GUICtrlRead($pblueplus)
    GUICtrlSetData($enp, $np2)
    $pnoblue2 = $np2 * $pnoblue2 / 100
    GUICtrlSetData($enoblue, $pnoblue2)
    $pplus2 = $np2 * $pplus2 / 100
    GUICtrlSetData($eplus, $pplus2)
    $pblue2 = $np2 * $pblue2 / 100
    GUICtrlSetData($eblue, $pblue2)
    $pblueplus2 = $np2 * $pblueplus2 / 100
    GUICtrlSetData($eblueplus, $pblueplus2)
    $pblueplus3 = GUICtrlRead($pblueplus)
    $e12 = $np2 * $pblueplus3 / 100
    GUICtrlSetData($e1, $e12)
    $e22 = $np2 * $pblueplus3 / 100 * $pblueplus3 / 100
    GUICtrlSetData($e2, $e22)
    $e32 = $np2 * $pblueplus3 / 100 * $pblueplus3 / 100 * $pblueplus3 / 100
    GUICtrlSetData($e3, $e32)
    $e42 = $np2 * $pblueplus3 / 100 * $pblueplus3 / 100 * $pblueplus3 / 100 * $pblueplus3 / 100
    GUICtrlSetData($e4, $e42)
    $e52 = $np2 * $pblueplus3 / 100 * $pblueplus3 / 100 * $pblueplus3 / 100 * $pblueplus3 / 100 * $pblueplus3 / 100
    GUICtrlSetData($e5, $e52)
    EndFunc

    [/autoit]

    Das geht auch!! Außer ohne

    [autoit]

    GUIRegisterMsg($WM_COMMAND, 'MY_WM_COMMAND')

    [/autoit]

    geht es nicht, Also ist GUIRegisterMsg nur wichtig

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™