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

Beiträge von nuts

  • Array überprüfen, gefundene ausgeben...

    • nuts
    • 28. April 2010 um 15:25

    Der Informationsgehalt des Posting ist stark ausbaufähig. :P

    Wie sieht der Inhalt des Arrays aus (ganzes Skript!)?
    Auf was soll geprüft werden?

  • Website

    • nuts
    • 28. April 2010 um 14:25

    Es besteht zumindest ein gewisses Abmahnrisiko und den Ärger kann man sich eigentlich sparen.

  • For schleife

    • nuts
    • 28. April 2010 um 14:10

    Na so:

    Spoiler anzeigen
    [autoit]


    $file = @ScriptDir & '\liste.txt'
    For $i = 18 To 97
    For $j = 1 To 255
    ;Ping("192.168."& $j & $i)
    FileWriteLine($file, "192.168." & $i & '.' & $j)
    Next
    Next

    [/autoit]


    Oder worum gehts genau?

  • For schleife

    • nuts
    • 28. April 2010 um 14:03

    Die Schleifen sind falschrum.
    Erst 18-97 und innerhalb dieser Schleife die hinteren Ziffern wählen (Schleife 1-255)

  • Website

    • nuts
    • 28. April 2010 um 13:50

    Hey,

    kann es sein, dass eurer Seite das Impressum fehlt?
    Ansonsten gut gemacht (das ganze Projekt). :thumbup:

  • IniReadSection in Array einlesen.

    • nuts
    • 25. April 2010 um 23:11

    Verstehe ich nicht, ist die ini zu groß? ?(
    Wie soll die .ini denn dargestellt werden? Als 2D Array? 1D Array?

    Vielleicht hilft das hier? FileWriteFromArray2D

    edit \ Hier noch ein Bsp: mit Listview und Gruppen, lässt sich leicht auf eine Liste abändern:

    Spoiler anzeigen
    [autoit]


    #include <GUIConstantsEx.au3>
    #include <GuiListView.au3>
    #include <WindowsConstants.au3>
    #include <Array.au3>
    #include <File.au3>

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

    Global $ini = @ScriptDir & "\dvb-tools.ini" ;Pfad zur ini

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

    $Form1 = GUICreate("Ini read to Listview - Beispiel", 700, 500, -1, -1)
    $ListView1 = GUICtrlCreateListView("", 20, 20, 660, 350)
    $hlistview = GUICtrlGetHandle($ListView1)
    _GUICtrlListView_AddColumn($hlistview, "Key", 200)
    _GUICtrlListView_AddColumn($hlistview, "Value", 450)

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

    $Button2 = GUICtrlCreateButton("Iniread", 20, 420, 120, 33, 0)
    $Button1 = GUICtrlCreateButton("Add", 220, 420, 120, 33, 0)
    GUISetState(@SW_SHOW)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Button2
    _Initolistview($hlistview, $ini)
    Case $Button1
    _Add()
    EndSwitch
    WEnd

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

    Func _Initolistview($hwnd, $path)
    ; nuts (http://www.autoit.de)
    ; $hwnd = Handle to the listview
    ; $path = ini path
    Local $anames, $aread
    If Not IsHWnd($hwnd) Then
    SetError(1,0,1) ;not a handle -> @error = 1
    Return
    ElseIf Not FileExists($path) Then
    SetError(1,0,2) ;ini not found -> @error = 2
    Return
    EndIf
    $anames = IniReadSectionNames($path)
    $counter = -1;_GUICtrlListView_GetItemCount($hwnd)
    For $i = 1 To $anames[0]
    $aread = IniReadSection($path, $anames[$i])
    If @error Then
    $counter += 1
    _GUICtrlListView_EnableGroupView($hwnd)
    _GUICtrlListView_InsertGroup($hwnd, -1, $i, $anames[$i])
    _GUICtrlListView_AddItem($hwnd, "Kein Eintrag")
    _GUICtrlListView_SetItemGroupID($hwnd, $counter, $i)
    ContinueLoop
    EndIf
    _GUICtrlListView_EnableGroupView($hwnd)
    _GUICtrlListView_InsertGroup($hwnd, -1, $i, $anames[$i])
    For $x = 1 To $aread[0][0]
    $counter += 1
    _GUICtrlListView_AddItem($hwnd, $aread[$x][0])
    _GUICtrlListView_AddSubItem($hwnd, $counter, $aread[$x][1], 1)
    _GUICtrlListView_SetItemGroupID($hwnd, $counter, $i)
    Next

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

    Next
    EndFunc ;==>_Initolistview

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

    Func _Add()
    #region ### START Koda GUI section ### Form=
    $Form2 = GUICreate("Form1", 431, 200, 192, 124)
    $Input1 = GUICtrlCreateInput("", 40, 64, 113, 21)
    $Input2 = GUICtrlCreateInput("", 192, 64, 177, 21)
    $Label1 = GUICtrlCreateLabel("Key", 40, 32, 36, 17)
    $Label2 = GUICtrlCreateLabel("Value", 192, 32, 36, 17)
    $Button = GUICtrlCreateButton("Übernehmen", 140, 150, 120, 33, 0)
    GUISetState(@SW_HIDE, $Form1)
    GUISetState(@SW_SHOW, $Form2)
    #endregion ### END Koda GUI section ###

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    GUIDelete($Form2)
    GUISetState(@SW_SHOW, $Form1)
    ExitLoop
    case $Button
    local $count
    _GUICtrlListView_AddItem($hlistview,GUICtrlRead($Input1))
    local $count=_GUICtrlListView_GetItemCount($hlistview)-1
    _GUICtrlListView_AddSubItem($hlistview,$count,GUICtrlRead($Input1),1)
    _GUICtrlListView_SetItemGroupID($hlistview,$count,1)
    GUIDelete($Form2)
    GUISetState(@SW_SHOW, $Form1)
    ExitLoop
    EndSwitch
    WEnd
    EndFunc ;==>_Add

    [/autoit]
  • IniReadSection in Array einlesen.

    • nuts
    • 25. April 2010 um 23:04

    Einfach alle Key -Value Paare in ein 2D Array lesen?
    Ist jetzt etwas unklar was du mit 1D und 3D Array meinst.

  • Strahl Dreieck Kollision

    • nuts
    • 23. April 2010 um 13:57

    Da kann was nicht stimmen- teste mal:

    [autoit]

    $schnittpunkt = _intersection("(0|0|0)", "(1|0|0)", "(0|1|0)", "(0|0|1)", "(1|0|0)")

    [/autoit]

    Ich hab diesen Ansatz mal ausgedruckt: http://www.cs.virginia.edu/~gfx/Courses/2…ntersection.pdf
    Verstehs nur noch kein bisschen ...

  • Strahl Dreieck Kollision

    • nuts
    • 23. April 2010 um 12:40

    Also als Beispiel kannst du einfach eine "Basisebenen" nehmen und den Durchstoßpunkt bei (0|0|0) setzen.

    A(0|0|0)
    B(1|0|0)
    C(0|1|0)

    D(0|0|0)
    Bewegungsvektor der Geraden beliebig.

    Oder eben den Durchstoßpunkt (Startpunkt der Geraden) einer beliebigen Ebene auf einen der 3 Dreieckspunkte legen.

    P.S: Das mit den Winkeln stimmt, ist aber auch schwierig umzusetzen. :whistling:

    anno2008: Deine dritte Bedingung für die "liegt im Dreiecke" Prüfung stimmt nicht.
    => 0<=r+s<=1

  • PHP <---> AutoIt

    • nuts
    • 22. April 2010 um 21:39

    Wo ist der PHP Teil?
    Wo ist der "Befüll-Teil" im Autoitskript?

    ?(

  • StringRegExp in _InetGetSource()

    • nuts
    • 22. April 2010 um 19:35

    Mit dem Flag 0 (=default) gibt Stringregexp gar keinen @error bei "no match" aus.

    [autoit]


    $string = "hallo"
    $test= StringRegExp($string, "test")
    if @error then MsgBox(1, "", @error)
    if not @error then MsgBox(1, "", $test)

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

    $test= StringRegExp($string, "hallo")
    if @error then MsgBox(1, "", @error)
    if not @error then MsgBox(1, "", $test)

    [/autoit]
  • Strahl Dreieck Kollision

    • nuts
    • 22. April 2010 um 14:32

    Genau, es soll geprüft werden ob die Gerade durchs Dreieck geht oder nicht (mit Rückgabe des Punktes).

    Endlich mal ein Abiturient, da ist man noch fit in Sachen Vektoren :thumbup:

    edit \ Der interessante Teil fehlt noch :D
    Bin sehr gespannt auf deine Lösung.

  • In welcher Dll sind die Bilder von _GuiCtrlToolbar

    • nuts
    • 21. April 2010 um 21:36

    Das hat mich auch etwas verwirrt.
    Was ist das für eine Technik mit dem Komplettbild?

  • Strahl Dreieck Kollision

    • nuts
    • 21. April 2010 um 20:48

    So gehts mir auch sonst hätte ich schon was gebastelt :wacko:
    Vielleicht übers WE ... kann aber nichts versprechen :whistling:

  • In welcher Dll sind die Bilder von _GuiCtrlToolbar

    • nuts
    • 21. April 2010 um 20:00

    Hm stimmt wohl gar nicht. ?(
    Die sind in der comctl32.dll (Bitmap ID 120) ?

  • video codec für avi auslesen

    • nuts
    • 21. April 2010 um 19:38

    avi ist nur ein Container, darin können sich unterschiedliche Quellen befinden und somit gibts auch unterschiedliche Decoder.
    Wie man Infos über das Directshowsystem kriegen kann würde mich allerdings auch interessieren.

  • In welcher Dll sind die Bilder von _GuiCtrlToolbar

    • nuts
    • 21. April 2010 um 19:30

    In der SHELL32 .dll wenn mich nicht alles täuscht.

  • Aus ini listview item erstellen

    • nuts
    • 21. April 2010 um 18:28

    Zeiel 45 startet einen loop durch alle Sections.
    Anstatt dieser Schleife kannst du per Inireadsection auch nur eine bestimmte angeben.

    edit \ Habs mal kommentiert.

  • Strahl Dreieck Kollision

    • nuts
    • 21. April 2010 um 16:54

    Die ganze algebraische Lösung mit Variablen - kannst ja mal Werte einsetzen!

    Dreieck: (ABC)
    Startpunkt A = (A1 | A2 | A3)
    B = (B1 | B2 | B3)
    C = (C1 | C2 | C3)

    Bewegungsvektor AB = (AB1 | AB2 | AB3)
    AB1 = B1 - A1
    AB2 = B2 - A2
    AB3 = B3 - A3
    Bewegungsvektor AC = (AC1 | AC2 | AC3)
    AC1 = C1 - A1
    AC2 = C2 - A2
    AC3 = C3 - A3

    Gerade:
    Startpunkt X = (X1 | X2 | X3)
    Bewegungsvektor XY = (XY1 | XY2 | XY3)

    Ebenengleichung:
    A + r* AB + s* AC = (A1 | A2 | A3) + r * (AB1 | AB2 | AB3) + s *(AC1 | AC2 | AC3)

    Geradengleichung:
    X + t* XY = (X1 | X2 | X3) + t* (XY1 | XY2 | XY3)


    Gleichungssystem aufstellen und gleichsetzen:

    A1 + r* AB1 + s*AC1 = X1 + t* XY1
    A2 + r* AB2 + s*AC2 = X2 + t* XY2
    A3 + r* AB3 + s*AC3 = X3 + t* XY3

    Gleichungssystem lösen => t = …


    Einsetzen in die Geradengleichung ergibt den Durchstoßpunkt D (D1 | D2 | D3):

    D1 = X1 + t* XY1
    D2 = X2 + t* XY2
    D3 = X3 + t* XY3


    r und s der Ebenengleichung ausrechnen durch Einsetzen von D in die Ebenengleichung oder über das zuvor aufgestellte Gleichungssystem: (keine Ahnung was programmtechnisch einfacher ist)

    D1 =A1 + r* AB1 + s*AC1
    D2 =A2 + r* AB2 + s*AC2
    D3 =A3 + r* AB3 + s*AC3

    Gleichungssystem lösen => r = … & s= …


    r und s prüfen auf:

    0 <= s <= 1
    0 <= t <= 1
    0 <= s+t <= 1

    (den letzten Schritt könnte ich sogar in Autoit umsetzen :D )

  • SoundPlay stoppen?

    • nuts
    • 21. April 2010 um 16:21

    Da sich deine Korrektur mit meinem Post überschnitten hat gebe ich den Hinweis umgehend zurück. :P

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™