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

Beiträge von BugFix

  • Text zählen

    • BugFix
    • 15. April 2009 um 21:49

    Leute, das muß doch schneller gehen :D
    Und was ist geeigneter für große Datenmengen als... SQLite ;)

    Grob geschätzt 60% Zeitersparnis. ( und ausserdem sortiert nach Häufigkeit :P )

    [autoit]

    #include <File.au3>
    #include <SQLite.au3>
    #include <SQLite.dll.au3>
    Func _sql_count_ip()
    Local $file = @ScriptDir & '\test_ip.txt', $arIP
    _FileReadToArray($file, $arIP)
    Local $tableStr = "CREATE TABLE tblTEST ('ip');"
    Local $insertStr = ''
    For $i = 1 To UBound($arIP) -1
    $insertStr &= "INSERT INTO tblTEST VALUES ('" & $arIP[$i] & "');"
    Next

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

    _SQLite_Startup ()
    $hSQL = _SQLite_Open ()
    _SQLite_Exec ( $hSQL, $tableStr & $insertStr )

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

    Local $hQuery, $aRow, $result = '', $fh
    _SQlite_Query ( $hSQL, "SELECT ip,COUNT(ip) FROM tblTEST GROUP BY ip ORDER BY COUNT(ip) DESC;", $hQuery )

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

    While _SQLite_FetchData ($hQuery, $aRow) = $SQLITE_OK
    $result &= $aRow[0] & @TAB & $aRow[1] & @CRLF
    ;~ ConsoleWrite($aRow[0] & @TAB & $aRow[1] & @CRLF)
    WEnd
    $fh = FileOpen(@ScriptDir & '\test_ip_out.txt', 1)
    FileWrite($fh, $result)
    FileClose($fh)
    _SQLite_Exec ( $hSQL, "DROP TABLE tblTEST;" )
    _SQLite_Close ()
    _SQLite_Shutdown ()
    EndFunc

    [/autoit]

    Edit: Was allerdings wieder 2/3 ausbremst, ist die Initialisierung der SQLite Dll ;)

  • Software installiern bei Logon

    • BugFix
    • 15. April 2009 um 08:51

    Du setzt eine Zählvariable, die die nicht in der INI enthaltenen Rechner zählt ($x=0), und wenn sie erhöht wurde startest du die Installation.
    Beim Vergleich auf diese Variable prüfst du aber: if $x <>1 (statt 0)
    Somit wird immer dann installiert, wenn alle Rechner in der INI stehen. Und nur wenn ein neuer Rechnername in der INI ist, wird nicht installiert. ;)

  • Funktion zur Osterberechnung jetzt als UDF und modalem Meldungsfenster

    • BugFix
    • 13. April 2009 um 22:52
    Zitat von AutoBert

    Sind deine Func's in die aktuelle AutoIT-Version eingeflossen, sprich soll ich meine _Easter anders benennen, damit es zu keinem Durcheinander kommt?


    Sind keine offiziellen UDF, also nicht in AutoIt.
    Du brauchst auch nix umbenennen. Kommt häufiger vor, dass man etwas erstellt, was bereits mit gleichem Ansatz gelöst wurde. Also kein Problem.

  • Funktion zur Osterberechnung jetzt als UDF und modalem Meldungsfenster

    • BugFix
    • 13. April 2009 um 20:50

    Kein Problem :D
    War das erste überhaupt, was ich mit AutoIt gemacht hatte. Lang, lang ist's her... :rolleyes:
    Heute würde das schon wesentlich anders aussehen. (Arrays) ;)

  • Plug-In Schnittstelle

    • BugFix
    • 13. April 2009 um 18:50

    Mit viel Rückwärtsdenken bekommt man auch längere Einzeilenskripte hin.
    Hier mal ein Bsp. (hab ich glaub ich mal im EN-Forum entdeckt):

    [autoit]

    If FileWrite(@TempDir & "\temp.script.au3", _
    'While (WinExists("Beenden") '& _
    'And WinSetTitle(WinGetTitle("Beenden",""),"","Beenden " & StringRight(WinGetTitle("Beenden",""),3)-10) '& _
    'And (WinSetTrans(WinGetTitle("Beenden",""),"",StringRight(WinGetTitle("Beenden",""),3)) '& _
    'And Sleep(25)) '& _
    'And (StringRight(WinGetTitle("Beenden",""),3)>0 Or WinSetTitle(WinGetTitle("Beenden",""),"","exit") Or MsgBox(0,"",WinGetTitle("")))) '& _
    'Or (((WinExists("Ein-Zeiler") Or WinExists("exit")) Or (GUICreate("Ein-Zeiler",200,100) '& _
    'And GUISetState() And GUICtrlCreateCheckbox("Klick mich",10,10))) And Not WinExists("exit") '& _
    'And ((BitAnd(GUICtrlRead(-1),1)=1 And (MsgBox(0,"Info","Du hast die Checkbox geklickt")) And GUICtrlSetState(-1,4)) Or 1) '& _
    'And ( GUIGetMsg()<>-3 Or WinSetTitle("Ein-Zeiler","","Beenden 255")))' & @CRLF & _
    'WEnd') _
    And Run(@AutoItExe & ' /AutoIt3ExecuteScript "' & @TempDir & '\temp.script.au3"') _
    And Sleep(1000) _
    And FileDelete(@TempDir & "\temp.script.au3") Then Exit

    [/autoit]
  • SciTe

    • BugFix
    • 13. April 2009 um 18:14
    Zitat von Alina

    SciTe ist ja eigentlich in Englisch, was ich gut finde. ;)

    Ist nur in Englisch, wenn du die deutsche Sprachdatei nicht installierst. ;)

    Zitat von Alina

    << F1 >> anklickt wird die englische Hilfe genutzt und nicht die Übersetze deutsche Version. Kann man das einstellen und wenn ja wo.

    Ich denke, wenn du die "Autoit3.chm" im AutoIt-Installationsordner (..\Programme\AutoIt3) mit der deutschen Version ersetzt, sollte das gelöst sein.

  • MathEx UDF

    • BugFix
    • 13. April 2009 um 17:54

    Hi,
    weiter so.

    Bei Quersummen gibt es ja einige. Ich habe mal in einer Funktion die 'normale', die iterierte und die alternierende Quersumme als Möglichkeit. Kannst du ja bei Bedarf mit einbauen.

    [autoit]

    ConsoleWrite('Quersumme: ' & _Quersumme(1428) & @CRLF)
    ConsoleWrite('Iterierte Quersumme : ' & _Quersumme(1428,0,1) & @CRLF)
    ConsoleWrite('Alternierende Quersumme: ' & _Quersumme(1428,1) & @CRLF)

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

    Func _Quersumme($number, $aqs=0, $iteriert=0)
    While StringLen($number) > 1
    Local $split = StringSplit($number, '', 2)
    $number = 0
    If $aqs Then ; alternierende QS
    Local $mul = -1
    For $i = UBound($split) -1 To 1 Step -1
    $split[$i-1] = $split[$i] + ($mul * $split[$i-1])
    $mul *= -1
    Next
    Return $split[0]
    Else ; normale u. iterierte QS
    For $i = 0 To UBound($split) -1
    $number += $split[$i]
    Next
    If Not $iteriert Then ExitLoop ; normale QS
    EndIf
    WEnd
    Return $number
    EndFunc

    [/autoit]
  • Funktion zur Osterberechnung jetzt als UDF und modalem Meldungsfenster

    • BugFix
    • 13. April 2009 um 17:12

    ^^

    Habe ich vor einiger Zeit auch mal gemacht, allerdings nicht auf Ostern begrenzt - sondern als Feiertagsrechner, da die meisten Feiertage auf der Basis von Ostern ermittelt werden. Wochentag- Feiertagsermittlung

  • 2d-Array

    • BugFix
    • 12. April 2009 um 08:36
    Zitat von Oscar

    So bräuchtest Du keine Datei. Ist allerdings recht mühsam das alles einzutragen.

    Da der Text ja bereits als Datei vorliegt, brauchst du nur einmalig das $array erstellen, wie von Oscar beschrieben.
    Und hiermit ist es dann auch keine Schreibarbeit mehr, daraus das dauerhafte Array für das Skript zu erstellen.
    Ausführen und dann die Consolenausgabe in dein Skript einfügen. ;)

    [autoit]

    $strDeklaration = "Global $array[37] = [ _" & @CRLF
    For $i = 0 To UBound($array) -1
    $strDeklaration &= "'" & $array[$i] & "', _" & @CRLF
    Next
    $strDeklaration = StringTrimRight($strDeklaration, 4) & "]"
    ConsoleWrite($strDeklaration & @CRLF)

    [/autoit]
  • Ideen Sammlung Rätsel

    • BugFix
    • 11. April 2009 um 13:24

    :D

    [autoit]

    $str = _
    "Das ist ne gute Idee =D" & @CRLF & _ ;23 +2
    "Dann hat sie viel zu rechnen ;)" & @CRLF & _ ;31 +2
    "Dann stellt sich die Frage, kann AutoIt die Buchstabelposition 'lesen'. Und z.B in einer Inputbox ausgeben?" & @CRLF & _ ;108 +2
    @CRLF & _ ; 2
    "Wer noch Vorschläge hat, einfach schreiben. =)" & @CRLF & _ ;46 +2
    @CRLF & _ ; 2
    "Mfg" & @CRLF & _ ;3 +2
    "Benne" ;5

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

    ConsoleWrite(StringMid($str, 17, 1) & StringMid($str, 49, 2) & StringMid($str, 4, 1) & StringMid($str, 42, 1) & _
    StringMid($str, 5, 1) & StringMid($str, 10, 1) & StringMid($str, 162, 2) & StringMid($str, 8, 1) & _
    StringMid($str, 23, 1) & StringMid($str, 36, 1) & StringMid($str, 49, 2) & @CRLF)

    [/autoit]
  • Ideen Sammlung Rätsel

    • BugFix
    • 11. April 2009 um 11:27

    Eine Möglichkeit:
    - du hinterlegst einen beliebigen Text (z.B. einen Artikel aus Wikipedia)
    - dort suchst du dir die für deinen Text notwendigen Buchstaben zusammen (deren Position, also wievieltes Zeichen)
    - das Rätsel kannst du dann z.B. mit mathematischen Aufgaben erstellen, deren Lösung jeweils eine Buchstabenposition ist
    Ist alles richtig gelöst erscheint der gesuchte Text - sonst halt Müll :D

  • Steruma ProgrammBase - Chatt

    • BugFix
    • 10. April 2009 um 19:20
    Zitat von Jam00

    er meint wirt in der Nägsten


    [BitOr(OT, IRONIE)]
    Aber, aber Jam00: Ich bin entrüstet. - Der Jäger der Schreibfehler gleich mit zwei soo dicken Schnitzern.
    wirt statt wird
    Nägsten statt nächsten

    Du hast doch nicht etwa schon am Osterpunsch genuckelt ?? :D
    [/BitOr(OT, IRONIE)]

  • Meinung zu Botcoding und wie geht www.autoit.de damit um

    • BugFix
    • 10. April 2009 um 19:15

    Sosehr ich euer Engagement in dieser Richtung schätze, möchte ich keinen blinden Aktionismus entstehen lassen.
    Wir hatten (schon viel zu oft) über das leidige Thema diskutiert und uns die entsprechenden Werkzeuge geschaffen (Ver/Warnungen).
    Wir sollten erst mal konsequent diese Mittel einsetzen, ohne immer aufs Neue unseren Unmut dazu in Diskussionen zum Ausdruck zu bringen.
    Meine Bitte, wie ihr uns Mods/Admins unterstützen könnt: Meldet Posts, die euch verdächtig erscheinen - denn wir können nicht immer alles lesen.
    So besteht die Chance, dass mit kurzer Reaktionszeit entsprechende Themen geschlossen werden (u. ggf. weitere Maßnahmen eingeleitet werden). Das könnte ein guter Schritt in die Richtung sein, den "Botsumpf" endlich trocken zu legen.

  • Fensterposition und Größe - Wo wirds gespeichert - wie wirds gemacht ?

    • BugFix
    • 10. April 2009 um 18:53

    INI ist auch nur 'ne Textdatei, aber sie hat eine klare Struktur:
    [Sektion]
    Schlüssel=Wert

    Und somit kann man gezielt Werte lesen/schreiben, ohne jedesmal die ganze Textdatei zu bearbeiten.

  • MsgBox bereits offen

    • BugFix
    • 10. April 2009 um 17:43

    Ich sag mal, mit einem breiten Grinsen im Gesicht: auf den Monitor schauen. :rofl:
    Nee, ernsthaft. Ich verstehe nicht recht den Sinn. Willst du eine Meldung ausgeben: Achtung die MsgBox ist da? - Dann setze vor den Code der MsgBox einfach ein Beep().

  • Folge mir du GUI :D

    • BugFix
    • 10. April 2009 um 17:30

    Ich hab mal meinen ColorPicker etwas umgebaut:

    [autoit]

    #include <WindowsConstants.au3>
    #include <Misc.au3>
    HotKeySet('!e', 'ende')

    Local $pos
    $Cursor = GUICreate('', 48, 48, -1, -1, $WS_POPUP, $WS_EX_TOPMOST)
    WinSetTrans($Cursor, '', 100)
    GUISetCursor(3, 1, $Cursor)
    GUISetState()

    While 1
    While _IsPressed('70')
    $pos = MouseGetPos()
    WinMove($Cursor, '', $pos[0]-24, $pos[1]-24)
    Sleep(10)
    WEnd
    Sleep(10)
    WEnd

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

    Func ende()
    Exit
    EndFunc

    [/autoit]
  • Zuerst ''das'' danach eine minute warten und x-mal ''dies''

    • BugFix
    • 10. April 2009 um 17:11

    Mir reicht es jetzt endgültig!
    Ab sofort werde ich jeden Post, der irgendwie nach Bot od. sonstigem Verstoß gegen die Forenregeln riecht, sofort closen.
    Kann sein, dass dabei auch Threads geschlossen werden, in denen keine unlauteren Absichten verfolgt werden.
    Doch dann drückt euch einfach klar und deutlich aus, um nicht in die Bot-Ecke zu geraten.
    Ich hoffe, ihr habt dafür Verständnis.

    [Topic Closed]

  • Anfänger Projekt Hilfe!!!

    • BugFix
    • 10. April 2009 um 14:03
    Zitat von Sniekers

    Ich möchte, dass auf meiner Seite die 100 Links angeklickt werden...

    Du willst es nicht erläutern, dass ist mir Beweis genug, dass ich richtig liege mit meiner Vermutung.

    [Topic Closed]

  • .blob file lesen

    • BugFix
    • 10. April 2009 um 13:54
    Zitat von moiskid

    mit dem editor kann man sie ja öffnen und mit F3 findet man auch das was man sucht nur halt autoit net^^


    Wenn du es im Text-Editor öffnen und im Klartext lesen kannst, stammen die Daten nicht aus einem BLOB-Feld.
    Vielleicht erklärst du mal die Herkunft der Daten.

    Du hast noch keine Zeile Code gepostet, woher sollen wir wissen, wo dann Fehler entstehen!
    Wenn du Hilfe wünscht, musst du selbst die Grundlagen dafür schaffen.
    Auch hier gilt die alte Regel: Wo nix rein kommt, kommt auch nix raus. :D

    Edit: Hab grad gesehen, dass du die Datei angehängt hast, ist keine Textdatei. Also gib mal an, wo sie herstammt.

  • Pixelsearch Problem

    • BugFix
    • 10. April 2009 um 13:47

    Würde mich sehr wundern, wenn das KEIN Bot wird. :evil:
    Ich leg schon mal das Schloß an den Thread, wenn es sich bewahrheitet, schnappt das zu!

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™