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

  • Guictrlread & GUICtrlCreateList - auslesen

    • limette
    • 25. Juni 2010 um 01:36

    autoBert: Deine erste Version scheint schon richtig gewesen zu sein - kann da ebenfalls keinen Fehler sehen ;)

    Aber folgendes:

    Zitat von Kev

    das komische ist.

    wenn ichs so wie bei dir mach, steht bei array nix drin ;)

    auf meine art:

    in der messagebox displayt er alle items die in der list sind.
    [...]

    [autoit]

    msgbox(0,"",$ergebnis)

    [/autoit]


    trägt aber iwie nur den ersten in die db ein.

    Alles anzeigen

    Nun, wenn man sich mal überlegt, dass eine MsgBox kein Array anzeigen kann.. ;)
    Und dass deine Version nur einen Eintrag in die Datenbank geschrieben hat liegt daran, dass du $ergebnis in der For-Schleife immer wieder neu definiert und erst nach der Schleife nur einen Eintrag geschrieben hast.

    AutoBerts letzte Version dürfte auch funktionieren, ich persönlich würde aber einen getrennten Ablauf bevorzugen - der Übersicht halber:
    Erst auslesen aus der Liste in ein Array,
    dann die Werte aus dem Array in die DB schreiben. ^^

    Ist aber jedem selbst überlassen, wollte ich nur nochmal angemerkt haben ;)

  • ListviewItems im nachhinein noch ändern, ohne das skript zu verändern?

    • limette
    • 23. Juni 2010 um 17:21

    Um ehrlich zu sein versteh ich kein Stück von dem, was du eigentlich willst...

  • Verschachtelte Frameset auslesen

    • limette
    • 23. Juni 2010 um 14:46

    Objekt bleibt Objekt. Und wenn du mit dem IE-Objekt auf eine neue Seite gehst verändern sich auch seine Attribute.. ;)

    Also Text, Quelltext und so.

    Einfach das IE-Objekt beibehalten. ^^

    Edit:

    Zitat

    Edit: Kommt gar nix zurück bei der Linkliste :(


    Keine Ausgabe von meinem Code oder generell ?
    Falls nur ersteres lass dir doch mal @extended und alle $link.href anzeigen..

    Und teste das nochmal mit einer anderen Website, wie google.de, nur um zu sehen, ob es am Script liegt oder an der Site.. ^^

  • _ArrayMaxIndex funktioniert nicht

    • limette
    • 23. Juni 2010 um 14:32

    Indem du den Post von SEuBo zuende liest... x)

  • Verschachtelte Frameset auslesen

    • limette
    • 23. Juni 2010 um 14:28

    Da ist der Fehler !

    $oIE = 'http://digipaper.rheinpfalz.de/digiPaper/servlet/authentificatewithjaasservlet'
    $links = _IELinkGetCollection( $oIE )

    verkehrt ! :D

    Die erste von den beiden Zeilen einfach weglassen, du hast doch vorher schon $oIE als IE-Objekt definiert, mit _IECreate ! ;)
    _IELinkGetCollection benötigt keinen Adressstring sondern ein Internetexplorer-Objekt. Das, welches von _IECreate erstellt wurde :D

    Zusatzfrage: Wozu der "Run("iexplore.exe")" am Anfang ? oO

  • Verschachtelte Frameset auslesen

    • limette
    • 23. Juni 2010 um 14:23

    Kannst du mal Ausschnitte aus deinem Script posten ?
    Also genau, wie du das mit den Links getestet hast .. ?
    Inkl. Erstellen des IE-Objekts etc. ;)

  • ListviewItems im nachhinein noch ändern, ohne das skript zu verändern?

    • limette
    • 23. Juni 2010 um 14:21

    Wenn du dir das alles mit Verstand durchgelesen - und nicht nur überflogen - hast, dann dürftest du mit etwas Nachlesen in der Hilfe auch unsere Lösungen verstehen.

    Aber dass du jetzt unsere Lösungen einfach ignorierst und deinen Fehler wiederholst..

    unfassbar.

    Wir müssen dir nicht helfen. Ist 'ne freiwillige Sache, aber sowas vermiest einen echt den Spaß am Helfen -.-


    Arrays - einfach mal Beispiele durchprobieren, selber tüfteln, dann kriegst du das auch raus. Aber ohne wirst du wohl erstmal nicht weiterkommen.
    Sind übrigens in gefühlten hundermillionen anderen Topics bis ins kleinste Detail erklärt... und wenn nach dem Tut von Bugfix noch Unklarheiten sind, die du auch via Google & Forensuche nicht beseitigen kannst - was ziemlich unwahrscheinlich ist - dann kannst du auch einfach nochmal nachfragen.

    Aber nein - was ich nicht verstehe schmeiß ich in die Ecke und spiel mit dem fehlerhaften Mist weiter rum.
    Bitte... mach doch... -.-

  • Verschachtelte Frameset auslesen

    • limette
    • 23. Juni 2010 um 14:15

    Teste bei _IELinkGetCollection mal auf @error.

    Spoiler anzeigen

    Erfolg: Gibt ein Auflistungsobjekt aller (oder des ausgewählten) Links des Dokuments zurück, EXTENDED = Linkanzahl
    Fehler: Gibt 0 zurück und setzt @ERROR
    @Error: 0 ($_IEStatus_Success) = Kein Fehler
    3 ($_IEStatus_InvalidDataType) = Ungültiger Datentyp
    5 ($_IEStatus_InvalidValue) = Ungültiger Wert
    7 ($_IEStatus_NoMatch) = Keine Übereinstimmung gefunden
    @Extended: Nummer des ungültigen Parameters

  • ListviewItems im nachhinein noch ändern, ohne das skript zu verändern?

    • limette
    • 23. Juni 2010 um 14:12

    Das macht doch jetzt grad keinen Sinn mehr - warum hast du unsere Lösungen nicht verwendet ?
    Sondern beharrst immer noch auf deinem ersten Versuch, der bereits als nicht angemessen abgestempelt wurde ?

    Deine Version ist einfach nur undynamisch, funktioniert zumindest teils, wenn du die Variablen richtig benennst.

    [autoit]

    $a1 = IniRead ( @Scriptdir & "\Teams.ini", "Gruppe A", "1)","error")
    $a2 = IniRead ( @Scriptdir & "\Teams.ini", "Gruppe A", "2)","error")
    $a3 = IniRead ( @Scriptdir & "\Teams.ini", "Gruppe A", "3)","error")
    $a4 = IniRead ( @Scriptdir & "\Teams.ini", "Gruppe A", "4)","error")
    $a5 = IniRead ( @Scriptdir & "\Teams.ini", "Gruppe A", "5)","error")
    $a6 = IniRead ( @Scriptdir & "\Teams.ini", "Gruppe A", "6)","error")
    $a7 = IniRead ( @Scriptdir & "\Teams.ini", "Gruppe A", "7)","error")

    [/autoit]

    Aber wie gesagt, das ist äußerst unpassend für dein Vorhaben.... -.-

  • Verschachtelte Frameset auslesen

    • limette
    • 23. Juni 2010 um 14:09

    Irgendwie bin ich jetzt verwirrt -
    Du hast doch 'nen Screen vom Quelltext sogar gepostet ?
    Und an den kommst du nicht dran .. ?

    Wenn ich das jetzt richtig verstanden habe vermutest du das Problem also darin, dass der Inhalt der Seite über JavaScript nachgeladen wird - also Ajax-Style oder wie ? :P

    Hm. Du könntest vielleicht versuchen, den Link über _IELinkGetCollection zu finden:

    [autoit]

    $oIE = _IECreate( 'site.com' )
    $links = _IELinkGetCollection( $oIE )
    For $link in $links
    If StringInStr( $link.href, 'pdfwizardservlet?release' ) Then
    MsgBox( 0, 'Gefunden:', $link.href )
    ExitLoop
    EndIf
    Next

    [/autoit]

    Ungetestet da in "Schnellantwort" geschrieben ;)

  • Fade Effekt Skript

    • limette
    • 23. Juni 2010 um 13:25

    Hm. Das heißt jetzt also, das Besondere an deiner Version ist der Aufruf einer Funktion, die du nicht selbst geschrieben hast ? ;)

    Klar, du hast Recht, eingebaut ist das nicht - aber wenn ich meine Fenster selbst transparent gesetzt habe kenne ich auch den Wert..
    Oder aber ich besorg mir grad die WinGetTrans - Funktion... ^^

    Das soll jetzt keineswegs abwertend klingen, für dich war das jetzt bestimmt eine gute Übung, aber um ehrlich zu sein,...
    Wird kaum jemand dein Script benötigen. Die paar Zeilen werden sich die meisten wohl gerade selber zusammenbasteln, - evtl aus dem Forum kopieren, aber bestimmt kein Include dafür verwenden ;)


    Wenn man weiter runter scrollt.. ? oO
    Tatsache, da ist die auch augesplittet in FadeIn und FadeOut. Ist aber eigentlich unnötig, denn ich kann beides durch die obige Funktion erreichen, indem ich Start > End und Step < 0 wähle.

    Den Versuch, deine Funktion noch kompakter zu machen, erachte ich ebenfalls als unnötig. Denn du wirst wohl kaum unter die eine Zeile kommen, die der DllCall für die AnimateWindow-Funktion benötigt ;)
    Für dich zum üben, klar, kannst du versuchen. Alles unnötige rausschmeißen, aus 2 Funktionen eine machen - zB per opt Parameter $mode = 0 / 1 für Ein-Ausblenden etc...

  • ListviewItems im nachhinein noch ändern, ohne das skript zu verändern?

    • limette
    • 23. Juni 2010 um 13:12

    Hm. Dazu würde ich einen extra Bereich erstellen - zwei Inputfelder, einen Absenden-Button, ein Label mit Text wie "Spielstand für das Spiel: a - b eintragen".
    Dann halt bei Klick auf ein ListViewItem den Text des Labels aktualisieren - Hinweis: OnEventMode dürfte da angebracht sein ^^ - Und in der Ini extra die Punkte der Mannschaften passend aufaddieren.
    Dann kannst du die Mannschaften & Werte in eine extra Listview eintragen und die nach Größe sortieren lassen...

    Ist etwas mehr, wo du dich reinlesen musst.. ;)

    Aber das ist ja auch dein Projekt, nicht unseres :D
    Vielleicht bastelt dir SeuBo ja noch was zusammen ;)

  • ListviewItems im nachhinein noch ändern, ohne das skript zu verändern?

    • limette
    • 23. Juni 2010 um 13:04

    So müsste das funktionieren.
    - Natürlich noch an Listview & Ini anpassen & die deklaration von $player rausnehmen, das war nur zum Testen. =)

    [autoit]

    ;$player = IniReadSection( 'deine.ini', 'player' )

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

    Local $player[5][2] = [ [ 4, 0 ], [ 0, 'a' ], [ 0, 'b' ], [ 0, 'c' ], [ 0, 'd' ] ]

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

    For $i = 1 To $player[0][0]
    For $j = $i To $player[0][0]
    If $i = $j Then ContinueLoop
    ;GUICtrlCreateListViewItem( $player[$i][1] & '|' & $player[$j][1], $ListView1 )
    ConsoleWrite( $player[$i][1] & ' - ' & $player[$j][1] & @CRLF )
    Next
    Next

    [/autoit]


    Zorro, mir sind die UDF-Befehle zur Listview nicht geläufig,... ;)

  • ListviewItems im nachhinein noch ändern, ohne das skript zu verändern?

    • limette
    • 23. Juni 2010 um 12:49

    In dem Part schreibt er die aus der Ini gelesenen Werte in die Listview.

    Du solltest dir unbedingt ein Tut zu Arrays reinziehen, Bugfix hat da was veröffentlicht ;)

    >> http://www.bug-fix.info/array_tut.htm

  • ListviewItems im nachhinein noch ändern, ohne das skript zu verändern?

    • limette
    • 23. Juni 2010 um 12:35

    Ini in Array lesen,
    For - Schleife zum Bestücken des Listviews. ;)

    In der Hilfe lesen: IniReadSection, For-Next-Schleife, GuiCtrlCreateListViewItem, evtl Arrays generell, falls das noch fehlt.

    limette

  • Verschachtelte Frameset auslesen

    • limette
    • 23. Juni 2010 um 12:19

    Ich vermute jetzt einfach mal, dass der erste Teil des Download-Links immer gleich bleibt und nur die Release-Nummer die Variable ist ;)

    Dann müsste es in etwa so gehen:

    Spoiler anzeigen
    [autoit]

    #include <Inet.au3>
    $page = 'wasauchimmer.de/download/index.html'

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

    $source = _INetGetSource( $page )
    $release = StringRegExp( $source, 'pdfwizardservlet\?release=(.*?)">', 3 )
    If @error Then
    MsgBox( 0, '', 'Nix gefunden' )
    Else
    MsgBox( 0, '', 'Release: ' & $release[0] & @CRLF & 'Download: wasauchimmer.de/servlet/pdfwizardservlet?release=' & $release[0] )
    EndIf

    [/autoit]

    Nicht hauen, hab ja die Seite nicht zum testen... ;)

    Edit: Zorro.
    "Login klappt" - da hätte mir das ja schon auffallen müssen.. naja, wenn du dich mit dem IE automatisiert einloggst kannst du
    dir den Source via _IEBodyReadHtml holen =)

  • Fade Effekt Skript

    • limette
    • 23. Juni 2010 um 12:01

    Nun, wenn du dir _GUIFlyingFadeIn genauer angesehen hättest, wüsstest du, dass:

    a) Transparenz vor dem Faden sowie
    b) Fade-Out

    ebenfalls unterstützt werden.

    [autoit]

    For $i = $Start To $End Step $Speed

    [/autoit]

    Damit übertrifft es dein Script wieder,
    denn _GUIFlyingFadeIn ist kompakter und beinhaltet zusätzlich das "Ein-/Ausfliegen" des Fensters.


    Edit:
    @Sprenger: Schwarze Ecken ? Ist mir nie aufgefallen - ebenfalls XP ^^

  • Fade Effekt Skript

    • limette
    • 22. Juni 2010 um 18:03
    [autoit]

    Func _FadeIn($WINTITLE,$TEXT,$DELAY,$MAXLIMIT = 255)
    $TRANSPARENCY=WinGetTrans($WINTITLE)
    For $TRANSPARENCY = 0 To 255 Step +5 ; Warum 0 Bis 255 ? Da werden $MAXLIMIT und WinGetTrans einfach übergangen ??
    WinSetTrans($Wintitle,$TEXT,$TRANSPARENCY)
    Sleep($Delay)
    Next
    EndFunc

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

    Func _FadeOut($WINTITLE,$TEXT,$DELAY,$MINLIMIT = 0)
    $TRANSPARENCY=WinGetTrans($WINTITLE)

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

    For $TRANSPARENCY = 0 To 255 Step -5 ; Dasselbe hier, außerdem dürfte 'von 0 bis 255 in Schritten von -5' eigentlich gar nicht durchlaufen ?! oO
    WinSetTrans($WINTITLE,$TEXT,$TRANSPARENCY)
    Sleep($Delay)
    Next
    EndFunc

    [/autoit]

    Kommentare im Code.

  • Fade Effekt Skript

    • limette
    • 22. Juni 2010 um 16:47
    Zitat von alexanderschill

    ach übrigens das mit - 5 oder 230 geht eigentlich nich, da das -=5 ist und das geht immer auf

    Deine Erklärung versteh ich grad nicht .. oO

    Aber ich hab mich geirrt.. Da erst nach dem Aufruf von WinSetTrans der Wert der Variablen verändert wird, passt das wieder .. ^^

    Naja, ich mach das immer so:

    [autoit]


    For $i = 0 To 255 Step +5
    WinSetTrans( $WinTitle, '', $i )
    Next

    [/autoit]

    ;)


    Edit:

    Zitat von alexanderschill

    wenn die Transparenz grenze Variabel sein soll dann muss ich die -=1 setzen und damit ist das skript viel langsamer und damit manchmal ungeeignet

    Nö. Du kannst deine Schrittgröße einfach beibehalten.
    Prüfst halt einfach auf größer/kleiner und setzt em Ende noch ein WinSetTrans( '', '', 0 ) bzw WinSetTrans( '', '', 255 ) - je nachdem ob Fade-In oder Fade-Out.

  • Client sendet an Server nicht übers Inet

    • limette
    • 22. Juni 2010 um 16:00

    Wie schon oft und jede Woche von neuem erklärt:

    Im Server: TCPListen auf @IPAddress1 - zB 192.168.2.5
    Außerdem: Im Router des Servers Portforwarding einstellen - eingehende Verbindungen auf Port 4321 (bei deinem Beispiel) auf die Lan-Ip des Servers weiterleiten, in meinem Beispiel 192.168.2.5

    Im Clienten musst du dann auf die Wan-Ip des Servers connecten.
    Kannst du beim Server mit _GetIp() nachsehen.

    Das ist alles.
    Meistens scheitert es eben am Port-Forwarding oder 'ner überempfindlichen Firewall ;)


    Edit:
    Das wären die Einstellungen für WAN - Wide Area Network. Also übers Internet.
    Wenn beide Computer im Lan sind ist kein Port-Forwarding notwendig und der Client kann einfach auf die Lan-Ip des Servers connecten.

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™