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

Beiträge von Yjuq

  • INIReadSections, Loop, Combo - Array?

    • Yjuq
    • 13. April 2013 um 05:28

    So Beispielsweise:

    Code
    $asPath[0][0] -> Anzahl der Elemente
    $asPath[n][0] -> Name der Sektion
    $asPath[n][1] -> Der Pfad in der Sektion
    Spoiler anzeigen
    [autoit]

    #include <Array.au3>

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

    Global $asPath[1][2] ;// Array für die Pfade deklaieren
    Global $sINI = 'xyz.ini' ;// Pfad der INI
    Global $asReadSN = IniReadSectionNames($sINI)

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

    Global $iOne, $asReadS, $iTwo

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

    ; ++++++++++ +++++++++ ++++++++ +++++++ +++++ ++++ +++ ++ +

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

    For $iOne = 1 To $asReadSN[0]
    ConsoleWrite(@CRLF & $asReadSN[$iOne] & @CRLF)
    $asReadS = IniReadSection($sINI, $asReadSN[$iOne])
    For $iTwo = 1 To $asReadS[0][0]
    ConsoleWrite(' ' & $asReadS[$iTwo][0] & ' = ' & $asReadS[$iTwo][1] & @CRLF)
    If $asReadS[$iTwo][0] = 'Path' Then ;// Hier nach "Path" suchen...
    ReDim $asPath[UBound($asPath) +1][2]
    $asPath[0][0] += 1
    $asPath[$asPath[0][0]][0] = $asReadSN[$iOne]
    $asPath[$asPath[0][0]][1] = $asReadS[$iTwo][1]
    EndIf
    Next
    Next

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

    ConsoleWrite(@CRLF)
    _ArrayDisplay($asPath)

    [/autoit]
  • AutoIt-only 3D Engine. Mit Farb-Shading, Models aus Dateien, Rotation, Zoom, uvm.

    • Yjuq
    • 13. April 2013 um 04:47

    Schöne Arbeit minx! :D
    Was mir nur auffällt, das ganze ruckelt ziemlich!

    Bei mir sind es mal 120 FPS und dann wieder 90 FPS...


    Für das menschliche Auge reichen ja nur 60 FPS...
    Da könnte man doch den Schleifendurchgang regulieren oder nicht?
    Dann würde das ganze doch flüssig laufen?

    Wäre nur ne Idee! :)

  • String auslesen ;D Mal wieder

    • Yjuq
    • 12. April 2013 um 17:43

    Warum verwendest du nicht

    [autoit]

    _StringBetween()

    [/autoit]

    in kombination mit StringReplace()?
    Es hat den gleichen Effekt und die Syntax ist einfacher...

    Ansonsten siehe dir das StringRegExp Tutorial hier im Forum an.

    LG. Make

  • Koordinatensystem - Brauche Hilfe

    • Yjuq
    • 12. April 2013 um 16:22

    Das erklärt auch warum ich deinen text nicht ganz verstanden habe :x
    Okey, ich schau ihn mir nochmals genauer an!

    Danke :)

  • Koordinatensystem - Brauche Hilfe

    • Yjuq
    • 12. April 2013 um 14:51

    Super! Dank dir :)

  • Nullen vor einer Zahl einfügen (als String)

    • Yjuq
    • 12. April 2013 um 14:42

    Mal ganz davon abgesehen dass du da so oder so einen Logistik Fehler hast...
    Du gehst von 1 bis zu der Länge deine Variable...

    Deine For-Schleife zählt von 1 bis 1 also demnach garnicht...


    [autoit]

    Global $iInteger = 4, $i

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

    For $i = StringLen($iInteger) +1 To 3 ; Anzahl der Nullen
    $iInteger = 0 & $iInteger
    Next

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

    ConsoleWrite($iInteger & @CRLF)

    [/autoit]


    Ich wollte dir damit nur auf deinen Fehler aufmerksam machen!

  • Koordinatensystem - Brauche Hilfe

    • Yjuq
    • 12. April 2013 um 13:11

    Ah okey :D
    Danke, jetzt ist mir auch klar wie ich das für andere Winkel umrechne!
    Das wäre meine nächste Frage gewesen. :P

    Okey, soweit alles klar und verstanden.
    Nur würde mich noch die perspektivische darstellung interessieren.

    Aber das zieh ich euch jetzt nicht noch aus der Nase! :D
    Ich bemühe dafür mal Google.

    Vielen dank an euch! :)

  • Koordinatensystem - Brauche Hilfe

    • Yjuq
    • 11. April 2013 um 23:46

    Hey danke :)
    Ich glaub jetzt hab ich's auch kapiert!

    Zitat von chesstiger

    Da wird auch nur die 3D-Koordinate (X1/X2/X3) in 2D (X/Y) konvertiert (Mathematisch).


    Hey, wenn ich das jetzt so richtig auf meinen Blatt sehe, dann ist das nur einmal Wurzelziehen und eine Vektorenverschiebung?
    Ich habe die z-Achse in einen 45° Winkel gezeichnet.
    Ein Beispiel zu der Koordinate P = (2 | 3 | 2)

    Wenn man jetzt den Satz des Pythagoras ins Spiel bringt, dann fällt einen auf dass die c² = z ist.
    Wenn man beispielsweise x und y auf 0 setzt, so entsteht die Koordinate (0 | 0 | 2).
    Wenn man nun den Satz des Pythagoras für a = b = 1 verwendet, kommt man mit auf c² = 2.
    Demnach ist c = ~1,414

    Nun muss man nur noch folgende Formeln anwenden um die tatsächliche Position eines 3D Vektores auf einen kartischen Koordinatensystem festzustellen:
    x = x + c
    y = y + c

    x = 2 + 1,414
    y = 3 + 1,414

    Also hat der 3D Vektor P = (2|3|2) die 2D Koordinaten P = (3,414 | 4,414).
    Hab ich das so richtig verstanden? :D

    Wenn ich das recht sehe, dann ist der Vektor orthogonal eingezeichnet?
    Wie verhält es sich bei einem perspektivischen Vektor? (Heißt das so oO?)


    Vielen dank dass ihr mir das so idiotensicher erklärt habt!
    Ist ja doch nicht so schwer! :D

  • Koordinatensystem - Brauche Hilfe

    • Yjuq
    • 11. April 2013 um 17:32

    Hallo AutoIt Community!
    Diese Frage bezieht sich nicht unbedingt direkt auf die Programmierung! Allerdings benötige ich dieses wissen für meine fortbildung. Mir ist es ehrlich gesagt schon peinlich so eine Frage zu stellen, aber ich bin zu unfähig es aus zahlreichen Texten zu lernen die ich schon im Internet gelesen habe. Wie man aus dem Topic bereits erkennen kann, geht es um ein Koordinatensystem. Aber nicht nur um irgend eins, sondern das Koordinatensystem, welches zusätzlich noch die Z-Achse beinhaltet. Ich bekomme es nicht hin ein 3D Vektor in ein Koordinatensystem einzuzeichnen wenn z ungleich 0 ist. Ich weiß einfach nicht wie ich den Vektor "nach hinten" bzw. "nach vorne" schieben/ziehen muss, damit das ganze korrekt auf den Blatt Papier abgebildet ist. Habe wirklich viele Texte gelesen und auch versucht, aber ich bekomme es nicht hin! (Und Lehrer wollen es mir nicht erklären... Es wäre "Stoff der 10ten Klasse")

    Vielleicht könnt ihr mir helfen es zu verstehen bzw. es zu zeichnen. Je einfacher die Erklärung deso besser. Würde mich tierisch freuen! Und ich meine das hier wirklich verdammt ernst!

    LG. Make :)

  • textfile (komma separiert) in ein 2d Array einlesen

    • Yjuq
    • 10. April 2013 um 16:44

    Dann ist der Dateipfad falsch x.x (Zeile 3)
    Um bei Alcros Skript noch die Leerzeile zu entfernen, ersetze Zeile 13 durch:

    [autoit]

    $aNamen[($i+1)/2][1] = StringTrimLeft($aSplit[$i+1],1)

    [/autoit]
  • textfile (komma separiert) in ein 2d Array einlesen

    • Yjuq
    • 10. April 2013 um 16:20

    Hab hier auch was:

    Spoiler anzeigen
    [autoit]

    #include <Array.au3>
    #include <File.au3>

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

    Global $hOpen, $asRead, $asTemp, $iCount, $asSplit

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

    $hOpen = FileOpen(@TempDir & '\MDaten.txt', 2)
    FileWrite($hOpen, 'Angela Merkel, AR12345' & @CRLF & _
    'Guido Westerwelle, GR84029' & @CRLF & _
    'Phillip Roesler, PR75375')
    FileClose($hOpen)

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

    _FileReadToArray(@TempDir & '\MDaten.txt', $asRead)
    _ArrayDisplay($asRead)
    FileDelete(@TempDir & '\MDaten.txt')

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

    $asTemp = $asRead
    ReDim $asRead[UBound($asRead)][2]
    $asRead[0][0] = UBound($asRead) - 1

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

    For $iCount = 1 To UBound($asRead) - 1
    $asSplit = StringSplit($asTemp[$iCount], ', ', 1)
    $asRead[$iCount][0] = $asSplit[1]
    $asRead[$iCount][1] = $asSplit[2]
    Next

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

    _ArrayDisplay($asRead)

    [/autoit]
  • Die Sache mit dem Alphakanal

    • Yjuq
    • 8. April 2013 um 19:43

    Du hast dir deine Fotosammlung ruiniert :x
    --> Ich arbeite an einer Lösung ^^

    Bin nicht ganz in dem Themengebiet Fit ^^

  • Problem mit Switch in For-Schleife

    • Yjuq
    • 8. April 2013 um 19:35

    Sei so gut und setzt das Thread auf [gelöst] :)

  • Die Sache mit dem Alphakanal

    • Yjuq
    • 8. April 2013 um 19:25

    Zeig doch mal dein Script bzw. Den Teil wo du den Alphakanal setzt! :)

  • Funktion funktioniert nur ein Mal

    • Yjuq
    • 8. April 2013 um 18:49

    Ganz einfach, GUIGetCursorInfo() bezieht sich auf das aktuelle Fenster (wenn kein Handle angegeben ist ...).
    Das aktive Fenster ist das versteckte ... Und darauf bezieht sich GUIGetCursorInfo().

    Aus diesen Grund funktioniert das ganze auch nur einmal. :D

  • Problem mit Switch in For-Schleife

    • Yjuq
    • 8. April 2013 um 18:30

    Bei WinGetState kannst du direkt das Handle verwenden! Nur als Tipp ;)
    Ansonsten ist das Script selbsterklären :x

    (Habe unverschämterweise die Funktion _GetLang() in das Script gepackt :D)

    Spoiler anzeigen
    [autoit]

    #include <GuiConstantsEx.au3>
    #include <Array.au3>

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

    Global $hInventar

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

    Dim $abMain[10]
    Dim $abMarkt[10]

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

    $hInventar = GUICreate(_GetLang(19),250,400)
    GUISetState(@SW_HIDE,$hInventar)

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

    $hGui = GUICreate(_GetLang(1) & _GetLang(2),800,600)
    $hButton_Main = GUICtrlCreateButton(_GetLang(3),30,30,200,50)
    GUICtrlSetState($hButton_Main,$GUI_DISABLE)
    $hButton_Markt = GUICtrlCreateButton(_GetLang(4),300,30,200,50)
    $hButton_Computer = GUICtrlCreateButton(_GetLang(5),560,30,200,50)
    __p_Create_Main()
    __p_Create_Computer()
    __p_Create_Markt()

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

    __f_Deactivate_All()
    __f_Activate_Main()

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

    $hGroup_Main = GUICtrlCreateGroup(_GetLang(6),30,100,740,470)

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

    GUISetState(@SW_SHOW,$hGui)

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

    While Sleep(10)
    $msg = GUIGetMsg()
    ;For $i = 0 To 9 Step 1
    Switch $msg
    Case $GUI_EVENT_CLOSE
    $State_Main = WinGetState($hGui) ;// Geändert
    $State_Inventr = WinGetState($hInventar) ;// Geändert
    If BitAND($State_Main,8) Then
    __f_Exit()
    Else
    If BitAND($State_Inventr,8) Then
    __f_Inventar_Close()
    EndIf
    EndIf
    Case $hButton_Main
    GUICtrlSetState($hButton_Main,$GUI_DISABLE)
    GUICtrlSetState($hButton_Markt,$GUI_ENABLE)
    GUICtrlSetState($hButton_Computer,$GUI_ENABLE)
    GUICtrlSetData($hGroup_Main,_GetLang(6))
    __f_Deactivate_All()
    __f_Activate_Main()
    Case $hButton_Computer
    GUICtrlSetState($hButton_Main,$GUI_ENABLE)
    GUICtrlSetState($hButton_Markt,$GUI_ENABLE)
    GUICtrlSetState($hButton_Computer,$GUI_DISABLE)
    GUICtrlSetData($hGroup_Main,_GetLang(8))
    __f_Deactivate_All()
    __f_Activate_Computer()
    Case $hButton_Markt
    GUICtrlSetState($hButton_Main,$GUI_ENABLE)
    GUICtrlSetState($hButton_Markt,$GUI_DISABLE)
    GUICtrlSetState($hButton_Computer,$GUI_ENABLE)
    GUICtrlSetData($hGroup_Main,_GetLang(7))
    __f_Deactivate_All()
    __f_Activate_Markt()
    Case Else
    For $i = 0 To 9 Step 1
    If $msg == $abMarkt[$i] Then
    Switch GUICtrlRead($abMarkt[$i])
    Case _GetLang(12)
    ConsoleWrite(True & @CRLF) ;// Eingefügt << An der Schleife ist alles In Ordnung ;)
    Case _GetLang(13)

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

    Case _GetLang(14)

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

    Case _GetLang(15)

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

    Case _GetLang(16)

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

    Case _GetLang(17)

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

    Case _GetLang(18)
    __f_Inventar_Open()
    EndSwitch
    EndIf
    Next
    EndSwitch
    ;Next
    WEnd

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

    ; ACHTUNG!!! HIER :DDD << Richte deine Aufmerksamkeit auf diese Stelle! <<<<<<<<<<<<<<<<<<<<<<<<<<
    ; Du Nasenbär :DDD
    Func __f_Inventar_Open()
    ;~ GUICtrlSetState(@SW_SHOW,$hInventar)
    GUISetState(@SW_SHOW, $hInventar)
    EndFunc

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

    Func __f_Inventar_Close()
    ;~ GUICtrlSetState(@SW_HIDE,$hInventar)
    GUISetState(@SW_HIDE, $hInventar)
    EndFunc

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

    Func __f_Deactivate_All()
    ;Main
    For $i = 0 To 9 Step 1
    GUICtrlSetState($abMain[0],$GUI_HIDE)
    Next

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

    ;Markt
    For $i = 0 To 9 Step 1
    GUICtrlSetState($abMarkt[$i],$GUI_HIDE)
    Next
    EndFunc

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

    Func __f_Activate_Computer()

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

    EndFunc

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

    Func __f_Activate_Main()
    For $i = 0 To 9 Step 2
    GUICtrlSetState($abMain[$i],$GUI_SHOW)
    Next
    EndFunc

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

    Func __f_Activate_Markt()
    For $i = 0 To 9 Step 1
    GUICtrlSetState($abMarkt[$i],$GUI_SHOW)
    Next
    EndFunc

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

    Func __p_Create_Markt()
    $abMarkt[0] = GUICtrlCreateButton(_GetLang(12),50,130,100,25)
    $abMarkt[1] = GUICtrlCreateButton(_GetLang(13),170,130,100,25)
    $abMarkt[2] = GUICtrlCreateButton(_GetLang(14),290,130,100,25)
    $abMarkt[3] = GUICtrlCreateButton(_GetLang(15),410,130,100,25)
    $abMarkt[4] = GUICtrlCreateButton(_GetLang(16),530,130,100,25)
    $abMarkt[5] = GUICtrlCreateButton(_GetLang(17),650,130,100,25)
    $abMarkt[6] = GUICtrlCreateButton(_GetLang(18),50,170,700,25)
    EndFunc

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

    Func __p_Create_Computer()

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

    EndFunc

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

    Func __p_Create_Main()
    $abMain[0] = GUICtrlCreateLabel("",40,120,200,200)
    GUICtrlSetData($abMain[0],_GetLang(9) & @CRLF & _GetLang(10) & @CRLF & _GetLang(11))
    EndFunc

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

    Func __f_Exit()
    Exit
    EndFunc

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

    Func _GetLang($Str)
    Local $lang, $read, $read2, $read3
    $lang = IniRead("Settings.ini","Language","ActLang","german")
    $read = FileRead(@ScriptDir & "\Language\" & $lang & ".lang")
    $read = StringSplit($read,@CRLF)
    ;_ArrayDisplay($read)
    For $i = 1 To $read[0] Step 1
    $read2 = StringSplit($read[$i],"=")
    ;_ArrayDisplay($read2)
    If $read2[1] == $Str Then
    If StringTrimRight($read2[2],StringLen($read2[2]) - 1) == "#" Then
    $zahl = StringSplit($read2[2],"#")
    ;_ArrayDisplay($zahl)
    For $ii = 1 To $read[0] Step 1
    $read3 = StringSplit($read[$ii],"=")
    ;_ArrayDisplay($read2)
    If Int($read3[1]) == Int($zahl[$zahl[0]]) Then
    Return $read3[$read2[0]]
    ExitLoop
    EndIf
    Next
    Else
    Return $read2[2]
    ExitLoop
    EndIf
    EndIf
    Next
    EndFunc

    [/autoit]
  • _ArraySort sortiert Zahlen "alphabetisch" nicht numerisch

    • Yjuq
    • 8. April 2013 um 17:50

    _StringBetween() gibt die Zahlen denke ich als String aus.
    Versuch mal folgendes: [Zeile 22]

    [autoit]

    $aBande[$i][4] = Number($aPunkte[0]) ;// Wenn keine Float's vorhanden, würde auch "Int" gehen!

    [/autoit]
  • Problem mit Switch in For-Schleife

    • Yjuq
    • 8. April 2013 um 17:39

    Es fehlt die _GetLang() Funktion :)
    Nun ja... Ich schau mal :x

  • Container.au3 >> Dynamisches Array

    • Yjuq
    • 8. April 2013 um 16:57

    Hehe :x
    Dahinter bin ich auch gekommen...
    Sollte eigentlich in meine "verschlimmbesserung" folgen ^^

    Wollte ich nur noch nicht verraten. ^^
    Trzd. Danke :)

  • _FileListToArray problem

    • Yjuq
    • 8. April 2013 um 16:42
    • _FileListToArray() liest Dateien UND Ordner ein... Das ist soweit schlimm weil FileOpen dann so oder so nichts zurück liefern würde und somit die anderen Funktionen nicht laufen. Das bricht aber auch nicht das Script ab. Du kannst es theoretisch so lassen, allerdings solltest du den dritten Parrameter verwenden. Also sieht der Funktionsaufruf folgendermaßen aus: _FileListToArray(@ScriptDir, '*', 1)
    • Was soll das hier >> "Ubound($Files[0])" << werden? (Den gleichen Fehler habe ich vor kurzen auch gemacht :D) Entweder du liest das Array ein >> "UBound($Files) - 1" << ODER verwendest die Anzahl der gefundenen Dateien in $Files[0]!

    LG. Make :)


    €dit:
    Würde mal sagen, hab bischen zu lange getippt ... :whistling:

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™