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

Beiträge von Narutokun08

  • Handling mit Schlüssel aus einer Datenbank

    • Narutokun08
    • 11. September 2013 um 20:33
    Zitat von misterspeed

    Schau dir mal das Dictionary Object an. ;)

    Sehr sehr cool! Das ist die Eleganz die ich meinte :D Einfach gestickt und es erfüllt meine Wünsche. *bedankbuttondrück*

  • Handling mit Schlüssel aus einer Datenbank

    • Narutokun08
    • 11. September 2013 um 20:13

    Ja das ist das Gedankenspiel das ich auch hatte. danke für deine Antwort :D

  • Handling mit Schlüssel aus einer Datenbank

    • Narutokun08
    • 11. September 2013 um 19:19

    Zuerst das Array mit den Schlüsseln: (beim eingabeformat handelt es sich um nicht standartkonformen json code)

    [autoit]

    Func UpdateEventNames($sSrc)
    $sText = _INetGetSource($sSrc)
    If StringLeft($sText,7) = '[{"id":' Then
    $sText = StringTrimLeft(StringTrimRight($sText,3),3)
    $aArrayRaw = StringSplit($sText, '"},'&@LF&'{"', 1)

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

    Dim $aEventNames[$aArrayRaw[0]+1][2]
    $aEventNames[0][0] = $aArrayRaw[0]
    For $i = 1 To $aArrayRaw[0] Step 1
    $aArrayTemp = StringSplit($aArrayRaw[$i], '","', 1)
    For $j = 1 To 2 Step 1
    $aArrayTemp2 = StringSplit($aArrayTemp[$j], '":"', 1)

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

    $aEventNames[$i][$j-1] = $aArrayTemp2[2]
    Next
    Next
    Else
    $aEventNames = False
    EndIf

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

    Return $aEventNames
    EndFunc ;==> UpdateEventNames

    [/autoit]

    Auswertung bzw. Vergleich der Schlüssel

    [autoit]

    For $i = 1 To $events[0][0] Step 1
    For $j = 1 To $eventNames[0][0] Step 1
    If $events[$i][2] = $eventNames[$j][0] Then
    $events[$i][2] = $eventNames[$j][1]
    $j = $eventNames[0][0]
    EndIf
    Next
    Next

    [/autoit]

    sowohl in $events[$i][2] also auch $eventNames[$j][0] sind die schlüssel vorzufinden diese werden hier verglichen

  • Handling mit Schlüssel aus einer Datenbank

    • Narutokun08
    • 11. September 2013 um 19:08

    Danke das ist glaub ich die Lösung^^ genau das was ich suchte. ich seh mal nach was ich an code rauskopieren kann :)

  • Handling mit Schlüssel aus einer Datenbank

    • Narutokun08
    • 11. September 2013 um 18:52

    Hallo alle miteinander,

    ich habe zwar dafür schon eine Lösung gefunden, jedoch ist die Verarbeitungsdauer sehr lang. Ich hoffe dass es dafür eine elegantere Lösung gibt.
    Zum Problem:

    Ich habe eine Datenbank mit mehreren Schlüssel. Die Formatierung sieht ungefähr so aus:

    01234567-89AB-4567-FEDC-FDECBA987654 Text1
    76543210-BA98-4765-CDEF-FDECBA456789 Text2
    .
    .
    .

    Das habe ich bereits in einem Array.

    Meine Ausgangsinformationen sehen so aus:

    Ereignis1 01234567-89AB-4567-FEDC-FDECBA987654
    Ereignis2 76543210-BA98-4765-CDEF-FDECBA456789
    .
    .
    .

    Wie kann ich nun wenn z.B. Ereignis1 eintritt mir den Text dieses Schlüssels anzeigen lassen? Dieser wäre hier Text1.

    Habe schon über Assign() nachgedacht oder eine SQL Datenbank. Was meint ihr?

    edit: Dabei handelt es sich um ~3000 Schlüssel mit unterschiedlich langen Strings und ~100 Ereignisse die alle 10 Sekunden abgefragt werden sollen.

    Grüße, naru

  • AutoIt ein VIRUS??????

    • Narutokun08
    • 18. Februar 2009 um 23:43

    omg ich dachte schon so ein kack virus hat meine ganzen projekte zerstört xD
    ohne autoit geht echt nix mehr =] hier mal was da mal was meinem fadda aktualisierts das wetter alle 10 sek^^
    oh mann bin ich froh ein guter kumpel hatte nen wurm und wurde 3x von seinen backups neu infiziert T_T
    viren sind der letzte dreck

  • Scrollbanner mit Bild (Pixel-für-Pixel-Bewegung)

    • Narutokun08
    • 14. Februar 2009 um 07:59

    naja fast :/ nur das ich bei dem code von dir immer klicken muss ich wollte es ja dass es automatisch geht. hier hab ich mal was gemacht wie es sein sollte.
    natürlich gehts hier nur um das bild ganz oben :) ich mach auch gleich noch ein sleep rein dass sich auch kein rechner aufhängt. problem is halt dann dass die button so träge sind...

    [autoit]


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

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

    $gui = GUICreate("blubb", 512, 300)
    GUISetBkColor(0x010101)

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

    $pic = GUICtrlCreatePic(@WindowsDir & "\Angler.bmp", 512, 5, 3000, 25)
    $pic2 = GUICtrlCreatePic(@WindowsDir & "\Kaffeetasse.bmp", 192, 100, 128, 128)
    $next_button = GUICtrlCreateButton("Nächstes", 344, 152, 96, 24)
    $picsel = 0

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

    GUISetState(@SW_SHOW, $gui)

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

    #cs
    0 = Kaffeetasse.bmp
    1 = Granit.bmp
    2 = Feder.bmp
    3 = Fächer.bmp
    4 = Angler.bmp
    #ce

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

    While 1
    $msg = GUIGetMsg()
    Switch $msg
    Case $pic
    Case $GUI_EVENT_CLOSE
    Exit
    Case $next_button
    If $picsel = 0 Then
    GUICtrlSetImage($pic2, @WindowsDir & "\Granit.bmp")
    $picsel2 = 1
    EndIf
    If $picsel = 1 Then
    GUICtrlSetImage($pic2, @WindowsDir & "\Feder.bmp")
    $picsel2 = 2
    EndIf
    If $picsel = 2 Then
    GUICtrlSetImage($pic2, @WindowsDir & "\Fächer.bmp")
    $picsel2 = 3
    EndIf
    If $picsel = 3 Then
    GUICtrlSetImage($pic2, @WindowsDir & "\Angler.bmp")
    $picsel2 = 4
    EndIf
    If $picsel = 4 Then
    GUICtrlSetImage($pic2, @WindowsDir & "\Kaffeetasse.bmp")
    $picsel2 = 5
    EndIf
    If $picsel2 = 1 Then
    $picsel = 1
    $picsel2 = 0
    EndIf
    If $picsel2 = 2 Then
    $picsel = 2
    $picsel2 = 0
    EndIf
    If $picsel2 = 3 Then
    $picsel = 3
    $picsel2 = 0
    EndIf
    If $picsel2 = 4 Then
    $picsel = 4
    $picsel2 = 0
    EndIf
    If $picsel2 = 5 Then
    $picsel = 0
    $picsel2 = 0
    EndIf

    EndSwitch
    _ScrollPic($gui, $pic)
    Sleep(50)
    WEnd

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

    Func _ScrollPic($gui, $pic)
    Local $picpos = ControlGetPos($gui, "", $pic)
    Local $i = 0
    While $i <= $picpos[2]
    ControlMove($gui, "", $pic, $picpos[0]-1, $picpos[1])
    $i = $i + 1
    WEnd
    If $picpos[0] = -3000 Then
    ControlMove($gui, "", $pic, $picpos[0]+3000+512, $picpos[1])
    EndIf
    EndFunc

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


    note: code als funktionierend getestet.

    aber irgendwie hab ich das gefühl da hängt alles... naja mal sehen vielleicht weiß doch jemand noch weiter

    mfg - narutokun08

  • Scrollbanner mit Bild (Pixel-für-Pixel-Bewegung)

    • Narutokun08
    • 13. Februar 2009 um 21:29

    @MOZ: ja, richtig, genau so^^ nur kann man mit guictrlsetgraphic das bild ändern und nicht verschieben meines wissens.

    ich hab das problem mittlerweile teilweise gelößt...
    dualcore @ 3 ghz: 51% cpu auslastung... ich bin mir sicher dass da irgendwas nicht stimmt^^ btw ist die breite/höhe der bmp ~3000x25pixel. aber es kann doch nicht sein dass das einfache verschieben eines bilds derartig viel ressourcen frisst. der code im moment:

    [autoit]


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

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

    $gui = GUICreate("blubb", 512, 512)
    $pic = GUICtrlCreatePic(@ScriptDir & "\test.bmp", 512, 50, 3000, 25)

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

    GUISetState($gui, @SW_SHOW)

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

    $msg = GUIGetMsg()
    While 1
    Switch
    Case $GUI_EVENT_CLOSE
    Exit
    EndSelect
    _ScrollPic($gui, $pic)
    WEnd

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

    Func _ScrollPic($gui, $pic)
    Local $picpos = ControlGetPos($gui, "", $pic)
    Local $i = 0
    While $i <= $picpos[2]; "Jene While"
    ControlMove($gui, "", $pic, $picpos[0]-1, $picpos[1])
    $i = $i + 1
    WEnd
    If $picpos[0] = -3000 Then; "Diese If"
    ControlMove($gui, "", $pic, $picpos[0]+3000+512, $picpos[1])
    EndIf
    EndFunc

    [/autoit]


    note: 1. ja man könnte 3000 auch mit einer variablen ausstatten. jedoch bin ich dafür gerade zu müde....
    2. es funktioniert, seitdem "Diese If" abfrage hinter "Jene(r) While" steht.
    3. das script wurde so wie es hier steht, da es ja eine zusammenfassung ist, nicht getestet.
    4. auf die frage "kannst du nicht den kompletten code schicken?" antworte ich gleich mit nein, der rest würde 1. nichts dazu beitragen und 2. verlier ich manchmal selbst den überblick -.-

    naja ich wünsche mal eine gn8 :)

    grüße - narutokun08

  • Scrollbanner mit Bild (Pixel-für-Pixel-Bewegung)

    • Narutokun08
    • 13. Februar 2009 um 19:51

    achso nein es klappt schon bild wird ja angeziegt^^ es ist zusammengefasst ich habs ja neugeschriben (direkt hierein) und es dann vergessen aber ich werd noch hinzufügen danke für den hinweis^^

  • Scrollbanner mit Bild (Pixel-für-Pixel-Bewegung)

    • Narutokun08
    • 13. Februar 2009 um 18:41

    abend alle miteinander,
    ich habe das forum schon durchsucht aber nur eine methode gefunden, bei der der text buchstabe für buchstabe gescrollt wird.
    da ich aber darauf bestehe das es pixel für pixel verschoben wird, denke ich wird es nur mit einem bild klappen.
    ich fasse hier den code mal zusammen:

    [autoit]


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

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

    $mainGUI = GUICreate("blubb", 512, 300)
    $pic = GUICtrlCreatePic(@ScriptDir & "\test.bmp", 512, 100, 769, 30)

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

    GUISetState()

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

    While 1
    $msg = GUIGetMsg()
    Select
    Case $msg = $GUI_EVENT_CLOSE
    Exit
    Case $msg = $pic
    EndSelect
    _ScrollPic($gui, $pic)
    WEnd

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

    Func _ScrollPic($gui, $pic)
    Local $picpos = ControlGetPos($gui, "", $pic)
    Local $i = 0
    If $picpos[0] = -769 Then
    ControlMove($gui, "", $pic, 512, $picpos[1])
    EndIf
    ControlMove($gui, "", $pic, $picpos[0]-1, $picpos[1])
    EndFunc

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


    vielleicht seht ihr mehr als ich; vorschläge für einen verbesserten aufbau werden natürlich gerne entgegengenommen. :)

    grüße - narutokun08

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™