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

Beiträge von limette

  • Fade Effekt Skript

    • limette
    • 22. Juni 2010 um 15:07

    Ist sicherlich nicht verkehrt - aber nichts, wofür ich extra ein Include einfügen würde ;)

    Kurze Anmerkung: In den While-Schleifen verwendest du ">=" / "<=".
    Dadurch wird die Funktion WinSetTrans allerdings auch mal mit 230 bzw -5 aufgerufen...
    Bringt das Script nicht zum Absturz, ist aber unschön. Find ich. ^^

    Vielleicht wäre es auch interessant, variable Grenzen der Transparenz zu setzen ?
    Und, wenn mein Fenster bereits teils transparent ist , wird es beim Fade-Out erst einmal ganz gezeigt,
    beim Fade-In erst einmal ganz versteckt ;)


    Und vielleicht interessiert dich ja dieser Post noch: user32.dll AnimateWindow
    :D

    limth

  • Ip-Liste zwischen zwei IPs

    • limette
    • 22. Juni 2010 um 14:44

    Ich hab es jetzt so gelöst:

    [autoit]

    #include <Array.au3>

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

    $ip1 = '100.9.252.125'
    $ip2 = '100.10.10.01'

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

    $ip1 = StringSplit( $ip1, '.' )
    $ip2 = StringSplit( $ip2, '.' )

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

    Local $all[1]

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

    For $a = $ip1[1] To $ip2[1]
    For $b = 0 To 255
    If $a = $ip1[1] And $b < $ip1[2] Then ContinueLoop
    For $c = 0 To 255
    If $a = $ip1[1] And $b = $ip1[2] And $c < $ip1[3] Then ContinueLoop
    For $d = 0 To 255
    If $a = $ip1[1] And $b = $ip1[2] And $c = $ip1[3] And $d < $ip1[4] Then ContinueLoop
    If $c = $ip2[3] And $b = $ip2[2] And $a = $ip2[1] And $d > $ip2[4] Then ExitLoop 4
    _ArrayAdd( $all, $a & '.' & $b & '.' & $c & '.' & $d )
    ToolTip( $a & '.' & $b & '.' & $c & '.' & $d )
    Next
    Next
    Next
    Next

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

    _ArrayDisplay( $all )

    [/autoit]

    Ich lasse die For-Schleifen generell erstmal von 0 bis 255 laufen.
    In den einzelnen Tiefen wird dann geprüft, ob der übergeordneten Teile noch beim Anfang (gegeben) sind - wenn ja, überspringt die Schleife die ganze Prozedur, bis sie bei ihrem Start-Wert angelangt ist.

    In der tiefsten Schleife wird noch geprüft, ob die 'End-IP' erreicht ist - und gegebenenfalls das ganze beendet. =)

    Bei mir funktionierts ;)


    Edit: Nein. Ich sehe, dass da was nicht stimmt. Die Bedingungen sind noch nicht exakt genug, da gibt es noch unbehandelte Ausnahmen.. moment ... ^^

    Edit2: Jetzt müsste das passen... :D

  • Ip-Liste zwischen zwei IPs

    • limette
    • 22. Juni 2010 um 14:23

    Ah, ich sehe das Problem ...
    Da 80 > 10 läuft die zweite For-Schleife schon nicht durch, deshalb added der nix zur Liste.
    Ich setz mich nochmal dran ;)

  • Ip-Liste zwischen zwei IPs

    • limette
    • 22. Juni 2010 um 14:02
    [autoit]

    #include <Array.au3>

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

    $ip1 = '100.100.100.125'
    $ip2 = '100.100.102.01'

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

    $ip1 = StringSplit( $ip1, '.' )
    $ip2 = StringSplit( $ip2, '.' )

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

    Local $all[1] = [ $ip1 ]

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

    For $a = $ip1[1] To $ip2[1]
    For $b = $ip1[2] To $ip2[2]
    For $c = $ip1[3] To $ip2[3]
    For $d = 0 To 255
    If $c = $ip2[3] And $d > $ip2[4] Then ExitLoop
    If $a = $ip1[1] And $b = $ip1[2] And $c = $ip1[3] And $d < $ip1[4] Then ContinueLoop

    _ArrayAdd( $all, $a & '.' & $b & '.' & $c & '.' & $d )
    Next
    Next
    Next
    Next

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

    _ArrayDisplay( $all )

    [/autoit]

    Weiß grad nicht, wie die IPs aussehen müssen - wirklich '.01', '.02', ... oder geht aucht '.1', '.2', ... ? ^^
    Naja, ansonsten halt einfach anpassen.. ;)

  • Frage zu _GDIPlus_BrushCreateSolid()

    • limette
    • 9. Juni 2010 um 00:13

    Was du wohl eher meintest, war

    [autoit]

    _GDIPlus_BrushCreateSolid("0x" & Hex(101, 2) & Hex(70, 2) & Hex(230, 2) & Hex(230, 2))

    [/autoit]

    zB 0xFFFFFF
    Die ersten beiden 'FF' stehen für 255 Rot,
    die nächsten beiden 'FF' für 255 Grün
    ...

    Du hast jetzt aber nur eine große Zahl in Hex umgewandelt, der Farbcode setzt sich aber aus drei Farben zusammen, und für jede Farbe gibt es dementsprechend einen Wert, eine Zahl, einen Abschnitt - 1 Byte, wenn ich mich nicht irre. Zumindest umfasst ein Byte den Bereich 0 bis 255 ^^

    Also, entweder wie oben gesagt, oder aber, wenn du die Farbe wirklich nur als einzelne Ganzzahl-Werte hast, gibt es im Inet auch Umrechner... ;)

    limette

  • TreeView

    • limette
    • 8. Juni 2010 um 21:34

    Sofern das noch nicht gelöst ist:

    Zitat

    This is not enough for Tab or Listview control which behave differently. In this case you need to create the picture with the $WS_CLIPSIBLINGS style, GuiCtrlSetState(-1,$GUI_ONTOP) is necessary for the Tab, TreeView or Listview control.

    Der Hilfe-Eintrag ist da irgendwie nicht ganz korrekt. ^^

    Der Teil mit $WS_CLIPSIBLINGS gilt auch für deinen Treeview, habs mal ausprobiert.

    Mit

    [autoit]

    GUICtrlCreatePic($data_dir & "Sonnenuntergang.jpg", 0, 0, 1200,600, $WS_CLIPSIBLINGS ) ;Pfad musste ich zum Testen auf meinen Beispielbilder-Ordner ändern ;)

    [/autoit]

    funktionierts.

    limette

  • Variablen aus GUI Inputs werden falsch eingelesen

    • limette
    • 8. Juni 2010 um 01:53

    Das Problem bei deinem Script ist:
    Du benutzt zwar GuiCtrlRead, aber verwendest die Ergebnisse nicht weiter :P

    Prinzipiell:

    [autoit]


    $Control_ID = GuiCtrlCreateInput( [...] )

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

    $Wert_des_Inputs = GuiCtrlRead( $Control_ID )

    [/autoit]

    Und mit diesen Werten kannst du weiterarbeiten.
    Was du unten noch angegeben hast, liest den Wert aus und setzt diesen als Text für den $button1 ein - wohl kaum das,
    was du eigentlich bezwecken willst ;)

    limette

  • Array problem + frage

    • limette
    • 8. Juni 2010 um 01:41

    _Arraydisplay selbst wirst du da nicht nutzen können.
    Ich würde dir dazu raten, dir eine kleine GUI zu basteln, in der du die entsprechenden Werte
    regelmäßig aktualisierst.
    Da dürfte dann wohl AdLibRegister() das treffende Stichwort sein ^^

    Wofür brauchst du das denn konkret ?
    Nur zu Fehlersuche oder soll das fester Bestandteil des Programms werden ? ;)

    limette

  • Welche Musik hört ihr?

    • limette
    • 1. Juni 2010 um 01:20

    Wenn mich meine müden Augen nicht täuschen,
    dann habe ich den Namen

    Jan Hegenberg

    noch nicht gelesen ? ;)
    Musste mal erwähnt werden, denn

    "Auch schöne Frauen müssen [...]" :lach:

    Teilweise total krank, aber echt hörenswert ^^
    Teletubbie-Massacker *summ*

  • Welche Musik hört ihr?

    • limette
    • 29. Mai 2010 um 20:16

    Antispeed, AMrK, - meine Helden ! ;( - *Freudensträne*

    Als ich die Überschrift des Threads gelesen habe, dachte ich schon.. jaja, jetzt kommt es wieder.. ^^
    Und die Auswahl oben .. naja ;)
    Halt nicht wirklich weit Genre-Übergreifend ^^

    Bei mir läuft heute den ganzen Tag schon Callejón rauf und runter,
    würde aber noch
    All That Remains
    und
    Killswitch Engage

    ergänzen wollen :D

  • Automatisches Entpacken

    • limette
    • 29. November 2009 um 02:23
    [autoit]

    If StringRight($aAfterUnRar[$i],3) <> "mp3" OR StringRight($aAfterUnRar[$i],3) <> "avi" Then

    [/autoit]

    Ist IMMER erfüllt !

    Wenn es 'mp3' ist, dann ist es nicht 'avi'.

    ==>

    [autoit]

    If StringRight($aAfterUnRar[$i],3) <> "mp3" AND StringRight($aAfterUnRar[$i],3) <> "avi" Then

    [/autoit]

    limette

  • Status einer CheckBox abfragen

    • limette
    • 22. November 2009 um 14:16

    Wenn ich mich nicht irre:

    [autoit]

    If BitAnd( GuiCtrlRead( $checkbox ), $GUI_CHECKED ) = $GUI_CHECKED Then ...

    [/autoit]

    limette

  • Memory Open, frage...

    • limette
    • 22. November 2009 um 12:59

    Alle Prozesse in einer Liste: ProcessList, wie gesagt.. ;)

    Wenn das Problem die Array ist, - hier:
    (Keine Garantie, ungetestet)

    Spoiler anzeigen
    [autoit]


    $proclist = ProcessList()
    For $i = 1 To $proclist[0][0]
    $name = $proclist[$i][0]
    $pid = $proclist[$i][1]

    ; -- Dein Code, was soll getan werden ? --
    Next

    [/autoit]

    Array kannst du dir wie eine Tabelle vorstellen, mit
    $Tabelle[$Zeile][$Spalte]
    ( wenn man sich mal auf 2D beschränkt ;) )
    bzw, wenn du nur eine Spalte brauchst lässt du die $Spalte einfach weg,
    $Tabelle[$Zeile]
    Beachte: Erster Eintrag immer bei '0'.
    ProcessList speichert in [0][0] die Anzahl an Prozessen, deshalb hier bei '1' anfangen.. ;)

    Dürfte eigentlich recht verständlich sein, :)

    Edit: Okay, oder so ;) - Beispiel garnicht gesehen gehabt =)

    limette

  • [PHP]fwrite funktioniert nicht

    • limette
    • 22. November 2009 um 12:46

    Dann kann ich dir nurnoch raten, mal eine Fehlerabfrage einzubauen,
    um zu gucken, wo genau das Problem liegt..

    limette

    php.net:

    Spoiler anzeigen
    PHP
    <?php
    $filename = 'test.txt';
    $somecontent = "Füge dies Datei hinzu\n";
    
    
    // Sichergehen, dass die Datei existiert und beschreibbar ist
    if (is_writable($filename)) {
    
    
        // Wir öffnen $filename im "Anhänge" - Modus.
        // Der Dateizeiger befindet sich am Ende der Datei, und
        // dort wird $somecontent später mit fwrite() geschrieben.
        if (!$handle = fopen($filename, "a")) {
             print "Kann die Datei $filename nicht öffnen";
             exit;
        }
    
    
        // Schreibe $somecontent in die geöffnete Datei.
        if (!fwrite($handle, $somecontent)) {
            print "Kann in die Datei $filename nicht schreiben";
            exit;
        }
    
    
        print "Fertig, in Datei $filename wurde $somecontent geschrieben";
    
    
        fclose($handle);
    
    
    } else {
        print "Die Datei $filename ist nicht schreibbar";
    }
    ?>
    Alles anzeigen
  • Dateiübertragung übers Internet

    • limette
    • 22. November 2009 um 12:31

    Du willst die Datei doch per TCP senden und nicht in dein Skript
    einbinden, oder ?

    Warum nicht einfach mit FileOpen( ..., 16 (?) ), also binär, öffnen,
    mit FileRead einzelne Packete einlesen und mit
    TCPSend senden ?

    Dein Gegenüber empfängt und schreibt wieder in eine Datei, Stück für Stück. =)

    Problematisch wird nur das Fortsetzen am nächsten Tag etc.
    Aber da könnte der Empfänger eigentlich einfach abspeichern, wie viele Bytes er bereits
    empfangen hat, dem Sender übermitteln und dieser müsste vor dem Lesen & Senden
    den Zeiger um n Bytes weiterschieben.
    Prinzipiell müsste das doch funktionieren ?
    Hab das aber selbst nocht nie gemacht.. ;)

    limette

  • Memory Open, frage...

    • limette
    • 22. November 2009 um 12:21

    Hm.
    Irgendwie verstehe ich das Problem nicht so ganz -
    Du hast doch schon alles genannt, was du brauchst ?

    ProcessList gibt dir eine Liste mit Namen und PID der offenen Prozesse,
    und um "nacheinander abarbeiten" wirst du garnicht drumzukommen.
    Wie würdest du das denn "gleichzeitig" machen ? xD

    limette

  • [PHP]fwrite funktioniert nicht

    • limette
    • 22. November 2009 um 11:47
    Spoiler anzeigen
    Zitat

    mode Beschreibung
    'r' Öffnet die Datei nur zum Lesen und positioniert den Dateizeiger auf den Anfang der Datei.
    'r+' Öffnet die Datei zum Lesen und Schreiben und setzt den Dateizeiger auf den Anfang der Datei.
    'w' Öffnet die Datei nur zum Schreiben und setzt den Dateizeiger auf den Anfang der Datei sowie die Länge der Datei auf 0 Byte. Wenn die Datei nicht existiert wird versucht sie anzulegen.
    'w+' Öffnet die Datei zum Lesen und Schreiben und setzt den Dateizeiger auf den Anfang der Datei sowie die Länge der Datei auf 0 Byte. Wenn die Datei nicht existiert, wird versucht sie anzulegen.
    'a' Öffnet die Datei nur zum Schreiben. Positioniert den Dateizeiger auf das Ende der Datei. Wenn die Datei nicht existiert, wird versucht sie anzulegen.
    'a+' Öffnet die Datei zum Lesen und Schreiben. Positioniert den Dateizeiger auf das Ende der Datei. Wenn die Datei nicht existiert, wird versucht sie anzulegen.

    Alles anzeigen

    Existiert die log.txt bereits ? Wenn nicht würde ich es mal mit 'w' bzw. 'w+' versuchen, je nach dem, was du brauchst.
    Btw - macht 'a' nicht mehr Sinn bei einer log.txt ? ;)

    limette

  • FtpPutFile - Wie viel ist bereits hochgeladen ?

    • limette
    • 3. November 2009 um 17:09

    Ich denke er ist auf der Suche nach einer Upload-Funktion ?

    Also, die Lösung damals war folgende:
    Wir haben eine neue Funktion, _FTPUploadProgress o.ä. geschrieben, soll heißen
    ich habe das damals begonnen und Progandy hat das ganze dann zum laufen gebracht ;)

    Zu finden unter
    Erweiterte FTP-Funktionen - FTP.au3 / FTP_Ex.au3
    läuft über 'InternetWriteFile', du kannst dabei eine Funktion als Parameter übergeben,
    welche deinen Statusbalken aktualisiert ;)

    Hoffe das hilft,

    limette

  • Auto R.A.T. 0.12 Beta V4

    • limette
    • 28. Oktober 2009 um 15:33

    Mal ganz ohne eine Wertung dazu abgeben zu wollen:
    ;)
    Um ehrlich zu sein habe ich die Geschichte mit svchost.exe noch nicht ganz verstanden -
    "für die Installation notwendig".
    Was für eine Installation ? Warum muss sich das nochmal in denselben Pfad kopieren ?
    Das erscheint mir gerade wenig schlüssig, was spricht denn dagegen, dass der Server in
    der Instanz läuft, in der er vom Benutzer aufgerufen wurde ?
    Und wieso soll die alte Datei gelöscht werden ?
    Ist das so eine "damit auch ja kein DAU daran rumpfuscht"-Sache ?

    Das interessiert mich mal grad extremst :D
    Vielleicht steh ich auch einfach auf'm Schlauch..

    limette

    Ach und - sollten unbegründete Anschuldigungen meinerseits gefallen sein - Sorry ;)

  • tcp über Internet

    • limette
    • 27. Oktober 2009 um 16:04

    Es gibt tausende andere Threads zu dem Thema, hab doch selbst welche davon erstellt
    und in einigen anderen geantwortet..

    [ offen ] Chat Clienten bauen

    TCP... über Internet?

    innerhalb von <1min gefunden. ;)

    Jedesmal, wenn jemand eine TCP-Verbindung übers Inet herstellen will, geht die Erklärbär-Nummer
    von vorne los..
    Ich glaube, es liegt daran, dass die Forumsuche eine Mindestanzahl an Zeichen hat ^^
    Also nur "tcp" findet man wirklich nichts..
    Versuchs mal mit "Internet", "Verbindung", "Ports", "Forwarding",
    oder suche dann einfach direkt nach den Befehlen, also "TCPConnect" etc, da kommt man oft schon
    auf die richtigen Seiten. :)

    limette

    PS
    Um dir wirklich konkret helfen zu können solltest du zumindest deine bisherigen Versuche posten..
    Wobei "also das skript beendet sich" eigentlich nicht nach Verbindungsfehler aussieht.
    Es sei denn du hängst da noch mit den Beispielscripten, die sich auf @error beenden.
    Ausführliche Fehleranalyse ist immer ratsam.

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™