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

  • AutoHotKey-Funktionalität in AutoIt3

    • BugFix
    • 9. Juli 2008 um 09:31

    :thumbup: schöne Sache.
    Am Besten, gleich mal in eine Funktion packen :D

    [autoit]

    ;=====================================================
    ; $Swap 0 = normale Maus, 1 = Maustasten getauscht
    ;=====================================================
    Func _MouseSwap($Swap=0)
    If $Swap <> 0 Then $Swap = 1
    Local $dll = DllOpen("user32")
    DllCall($dll,"int","SwapMouseButton","int",$Swap)
    DllClose($dll)
    EndFunc

    [/autoit]
  • ein Problem mit der Logik :D

    • BugFix
    • 9. Juli 2008 um 08:59

    Hi,
    stimme da McPoldy zu. Wenn du Zugriff auf die Datenbank hast, reicht doch eine sortierte Abfrage und das gewünschte Ergebnis liegt vor.
    So etwa:
    "SELECT team,points,diff FROM table ORDER BY points DESC, diff DESC"

    Solltest du keinen Zugriff auf die Datenbank haben, dann halt eine Lösung mit Array. Auch wenn Oscar wegen der Einfachheit mit mehreren 1D-Array arbeitet ;), bessere Übersicht und einfachere (vor allem mehrstufige) Sortierung geht mit einem 2D-Array.
    $array[n][3] ; [n][0]=TEAM, [n][1]=PUNKTE, [n][2]=DIFF
    Das ganze mehrstufig sortieren (ArrayMore.au3) und fertig.

  • Infobereich Icons benutzen mit XP ja, Vista nein

    • BugFix
    • 8. Juli 2008 um 21:48

    OK, du bist noch nicht lange dabei. Sonst wüßtest du, dass hier ein jeder mal in irgendeiner Weise so einen Spruch reinbekommt ( ich auch :D ).
    Und das ist durchaus nur als kleiner Scherz gemeint.
    In erster Linie wirst du hier qualifizierte Antworten bekommen - aber manchmal... da reitet einen halt der Teufel. ;)
    Nimm nicht alles so bierernst. ^^

  • Salve!

    • BugFix
    • 8. Juli 2008 um 19:03

    Auch von mir ein Herzliches Willkommen "Du Jungspund" :rofl:

  • Diskketten Passwortscript

    • BugFix
    • 8. Juli 2008 um 18:58

    Bin mir nicht sicher - deshalb "als Gedanke" ;)

    Edit:
    ADS ist nicht illegal, NTFS verwendet Datenströme zur Speicherung von Zusatzinformationen (z.B. Dateiinfos wie Autor etc.).
    Das Einbringen von Schadcode über ADS ist natürlich nicht legal.

  • Diskketten Passwortscript

    • BugFix
    • 8. Juli 2008 um 18:49

    Mal als Gedanke: Verwende ADS. Mach dir die Tatsache, dass sie sicherheitsrelevant sind zugute. So kannst du in diesem Fall ein Sicherheitsskript an eine Systemkomponente "andocken". Von außen nicht sichtbar, aber wenn die Komponente geladen wird startet auch dein Skript. Das Skript würde ich aber so gestalten, dass der PC herunterfgefahren wird, wenn das PW nicht innerhalb von 3...5 sec eingegeben wird.

    Hier mal etwas mehr dazu.

  • µit - Juli

    • BugFix
    • 8. Juli 2008 um 18:08
    Zitat von progandy

    Ähmm, ohne user32.dll wird das sehr schwer bzw unmöglich :)


    Ich hatte auch erst mit DLL gearbeitet, hab dann aber doch 'ne andere Lösung gefunden :D

  • Datenbank

    • BugFix
    • 8. Juli 2008 um 09:35
    Zitat von steff

    Ich würde gerne nach Name oder Stichwort suchen wollen bzw. einen teil des Namens oder Stichwort :huh:

    Willst du Name / Stichwort vorher vergeben zu jedem Eintrag oder soll automatisch jeder Eintrag geprüft werden auf Vorkommen des Suchbegriffs?

    Edit:
    Mal auf die Schnelle:
    Sucht nach Stichwort und Name, Treffer werden in einem Array gesammelt und über die Eingabefelder nacheinander ausgegeben. Bin davon ausgegangen, dass Name ein Primary Key ist, also immer vergeben wird.
    Habe mal deine GUI etwas geordnet, wenn du Controls nicht ändern willst (z.B. Label) spare dir einfach, dafür eine Variable zu vergeben. Und versuche die Reihenfolge im Code, so wie in der grafischen Darstellung zu haben, macht es übersichtlicher.

    Spoiler anzeigen
    [autoit]

    #include <GUIConstants.au3>
    Global $aEntry[1][3] ;Name/Stichwort/Beschreibung
    Global $aFound[1][3]
    Global $Hinzu = True, $posFound
    $Form1 = GUICreate("Form1", 350, 471, 283, 146)
    GUICtrlCreateGroup("Suche", 16, 40, 281, 129)
    GUICtrlCreateLabel("Suche:", 32, 88, 38, 17)
    $inSuche = GUICtrlCreateInput("", 96, 88, 145, 21)
    $bSuchen = GUICtrlCreateButton("Suchen", 128, 120, 81, 25, 0)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    GUICtrlCreateGroup("Neu", 16, 184, 289, 257)
    $inName = GUICtrlCreateInput("", 104, 200, 145, 21)
    $inStichwort = GUICtrlCreateInput("", 104, 240, 145, 21)
    GUICtrlCreateLabel("Name:", 32, 200, 51, 17)
    GUICtrlCreateLabel("Stichwort", 32, 240, 56, 17)
    $eBeschreibung = GUICtrlCreateEdit("", 104, 280, 153, 113)
    $bHinzufuegen = GUICtrlCreateButton("Hinzufuegen", 96, 408, 145, 25, 0)
    GUICtrlCreateLabel("Beschreibung", 32, 280, 69, 17)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    GUISetState(@SW_SHOW)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $bHinzufuegen
    If $Hinzu Then
    _NewEntry()
    Else
    _ShowNext()
    EndIf
    Case $bSuchen
    _Search()
    EndSwitch
    WEnd

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

    Func _NewEntry()
    If $aEntry[UBound($aEntry)-1][0] <> '' Then ReDim $aEntry[UBound($aEntry)+1][3]
    $aEntry[UBound($aEntry)-1][0] = GUICtrlRead($inName)
    $aEntry[UBound($aEntry)-1][1] = GUICtrlRead($inStichwort)
    $aEntry[UBound($aEntry)-1][2] = GUICtrlRead($eBeschreibung)
    GUICtrlSetData($inName,'')
    GUICtrlSetData($inStichwort,'')
    GUICtrlSetData($eBeschreibung,'')
    EndFunc

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

    Func _Search()
    Local $sSuch = GUICtrlRead($inSuche)
    If $sSuch = '' Then Return
    For $i = 0 To UBound($aEntry) -1
    For $k = 0 To 1
    If $aEntry[$i][$k] = $sSuch Then
    If $aFound[UBound($aFound)-1][0] <> '' Then ReDim $aFound[UBound($aFound)+1][3]
    $aFound[UBound($aFound)-1][0] = $aEntry[$i][0]
    $aFound[UBound($aFound)-1][1] = $aEntry[$i][1]
    $aFound[UBound($aFound)-1][2] = $aEntry[$i][2]
    EndIf
    Next
    Next
    If $aFound[UBound($aFound)-1][0] = '' Then Return GUICtrlSetData($eBeschreibung,'KEINE TREFFER')
    GUICtrlSetData($bHinzufuegen, 'Nächster Treffer')
    GUICtrlSetData($inName, $aFound[0][0])
    GUICtrlSetData($inStichwort, $aFound[0][1])
    GUICtrlSetData($eBeschreibung, $aFound[0][2])
    $Hinzu = False
    $posFound = 1
    EndFunc

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

    Func _ShowNext()
    If (UBound($aFound) > 1) And ($posFound < UBound($aFound)) Then
    GUICtrlSetData($inName, $aFound[$posFound][0])
    GUICtrlSetData($inStichwort, $aFound[$posFound][1])
    GUICtrlSetData($eBeschreibung, $aFound[$posFound][2])
    $posFound += 1
    Else
    GUICtrlSetData($inName,'')
    GUICtrlSetData($inStichwort,'')
    GUICtrlSetData($eBeschreibung,'KEINE WEITEREN TREFFER')
    GUICtrlSetData($bHinzufuegen, 'Hinzufügen')
    $Hinzu = True
    ReDim $aFound[1][3]
    $aFound[0][0] = ''
    $aFound[0][1] = ''
    $aFound[0][2] = ''
    EndIf
    EndFunc

    [/autoit]
  • _IEFormGetObjByName --> findet die <Form> auf der Seite nicht

    • BugFix
    • 8. Juli 2008 um 09:32

    Hi,
    die Daten stecken in einem Frame und dort wiederum in einer Tabelle.
    Ich hab dir hier mal den Weg bis zur Tabelle fertig gemacht:

    [autoit]

    #include<IE.au3>
    #include<array.au3>
    $url = 'http://87.245.3.154/'
    $oIE = _IECreate($url,0,0)
    $oFrame = _IEFrameGetObjByName($oIE, "OnlineShop")
    If IsObj($oFrame) Then
    ConsoleWrite('OBJEKT Frame - OK' & @CRLF)
    $oTable = _IETableGetCollection($oFrame,1)
    If IsObj($oTable) Then
    ConsoleWrite('OBJEKT Table - OK' & @CRLF)
    $aTable = _IETableWriteToArray($oTable,True)
    EndIf
    EndIf
    _IEQuit($oIE)
    ;~ _ArrayDisplay($aTable)
    ConsoleWrite($aTable[0][0] & @CRLF)

    [/autoit]
  • kp

    • BugFix
    • 8. Juli 2008 um 08:53

    MIt Windows eigenen Mitteln (Energieverwaltung) kannst du zumindest einstellen, dass der PC in den Standby wechselt.
    Für dieses Standby sendet Windows einen konstanten Wert (mal nach googeln), den du sicher abfangen kannst und daraufhin einen Shutdown() absetzt.

  • Do Until und For Next

    • BugFix
    • 7. Juli 2008 um 21:32

    In erster Linie unterscheidet man nach Anwendungsfall:
    For-Next ist kopfgesteuert, d.h. eine Bedingung muß erfüllt sein, dann wird in die Schleife eingetreten und ausgeführt solange die Bedingung wahr ist.
    Do-Until ist fußgesteuert, d.h. die Schleife wird mindestens einmal ausgeführt und erst beendet, wenn die Austrittsbedingung erfüllt ist.

  • ein paar Zeilen VBS in AutoIT

    • BugFix
    • 7. Juli 2008 um 19:00

    Kann ich nicht wirklich sagen. Soweit ich weiß, benötigt die Methode GetContainingArray vorherig Arrays.
    Aber alles was dich weiter bringt, hilft :)

  • µit - Juli

    • BugFix
    • 7. Juli 2008 um 18:57

    @progandy: 1.073 Bytes bisher
    Vielleicht fällt mir ja noch ne Verbesserung ein, sind ja noch 4 Wochen :)

  • µit - Juli

    • BugFix
    • 7. Juli 2008 um 17:37

    Ich verwende aber kein RAR - gibst du dich auch mit ZIP zufrieden?

    Edit:
    Ich antworte mir jetzt einfach mal selber mit: JA :D

    Edit2:
    Boah, seid ihr heiß drauf. Schon 2-mal runtergeladen und das PW gibts erst in 4 Wochen. :D
    Na dann viel Spaß beim Lösen - aber nicht beim PW-Crack :evil:

    Edit3:
    Ich habe mal noch eine Verbesserung vorgenommen. Sind jetzt zwar 50 Byte mehr, aber dafür absolute Funktionalität in allen Lebenslagen :D

  • ein paar Zeilen VBS in AutoIT

    • BugFix
    • 7. Juli 2008 um 16:19

    Der will GetContaining nicht anwenden. Da muß ich auch erst mal passen.

  • ein paar Zeilen VBS in AutoIT

    • BugFix
    • 7. Juli 2008 um 16:01

    Prüf mal schrittweise durch:

    [autoit]

    $oArray = $fpc.Arrays
    If IsObj($oArray) Then
    MsgBox(0, '', '.Arrays erfolgreich')
    $oArrays = $oArray.GetContainingArray
    If IsObj($oArrays) Then
    MsgBox(0, '', '.GetContainingArray erfolgreich')
    Else
    MsgBox(0, '', '.GetContainingArray fehlgeschlagen')
    EndIf
    Else
    MsgBox(0, '', '.Arrays fehlgeschlagen')
    EndIf

    [/autoit]
  • ein paar Zeilen VBS in AutoIT

    • BugFix
    • 7. Juli 2008 um 15:41

    Hmm, die Methode

    [autoit]

    $array = $fpc.Arrays.GetContainingArray

    [/autoit]

    kann nicht umgesetzt werden. Der zweite Fehler ist ein darauf basierender Fehler.

    Hast du mal getestet, ob das Ganze als VBScript überhaupt funktioniert? Nicht, dass wir uns beim Portieren die Köpfe zerbrechen und das Problem liegt irgendwo maschinenseitig. ;)

  • µit - Juli

    • BugFix
    • 7. Juli 2008 um 14:49

    Na das ist doch mal 'ne klare Ansage :D

  • Infobereich Icons benutzen mit XP ja, Vista nein

    • BugFix
    • 7. Juli 2008 um 14:32
    Zitat von Sequester

    Bin ich wirklich der Einzige, der das umter Vista machen möchte?


    Naja, auch wenn es wieder ketzerisch klingt - aber warum freiwillig Vista verwenden. ;)

  • µit - Juli

    • BugFix
    • 7. Juli 2008 um 14:29
    Zitat von Waluev

    Der Text soll nicht vorgegeben sein.


    Also ein leeres Edit? Ich fragte nach vorgegebenem Text wegen gleicher Datenmenge dafür bei allen ;)

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™