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

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

  • ein paar Zeilen VBS in AutoIT

    • BugFix
    • 7. Juli 2008 um 14:11

    Ist der betreffende Rechner der ISA selbst, so startet man mit

    [autoit]

    $objFPC = ObjCreate("FPC.Root")

    [/autoit]

    andernfalls mit

    [autoit]

    $objFPC = ObjCreate("FPC.Root", $IsaHost)

    [/autoit]

    Die Unterscheidung ist notwendig. ISAHost ist der Namen des ISA-Servers. Diesen darf man auf dem ISA selbst nicht angeben!

    Hast du das berücksichtigt?

    Ach nochwas: Füge mal noch ein Refresh ein - und der Containig-Befehl braucht noch Arrays.:

    [autoit]

    $objFPC.Refresh
    $objArray = $objFPC.Arrays.GetContainingArray

    [/autoit]
  • µit - Juli

    • BugFix
    • 7. Juli 2008 um 13:56

    OK, dann schrumpfe ich Bytes und mache mehr Zeilen wegen besserer Übersicht. ;)

    Ja folgendes noch: Das Verhalten, wenn der Cursor zwischen 2 Worten steht. Ich denke steht er direkt (ohne Leerzeichen zwischen) hinter einem Wort oder direkt davor, so wird dieses angezeigt.

  • µit - Juli

    • BugFix
    • 7. Juli 2008 um 13:34

    Was ist denn jetzt eigentlich maßgebend für die Größe? Zeilenzahl oder Bytes?
    Ich habs derzeit auf 26 Zeilen, wenn Zeilen das Kriterium sind, würde ich noch weiter schrumpfen. :D

  • Reguläre Ausdrücke

    • BugFix
    • 7. Juli 2008 um 11:44

    Pattern: "(?<=Hallo,)\r\n\w*" ==> ergibt: Alex

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™