SciTE Kommentar für Variable

    • [ offen ]

      SciTE Kommentar für Variable

      Hallo,
      Ich hab mir mal das ISN AutoIT Studio von hier runtergeladen und gesehen, dass man sich dort zu jeder Vaiablen eigene Kommentare machen kann.
      Diese Funktion finde ich sehr praktisch, da ich im Moment an einem etwas größerem Programm arbeite, womit man die Spieler auf einem Server und den Server selbst verwalten kann. Dort habe ich die einzelnen Spieler in ein 2D Array geladen. Im ersten Index werden die Spieler durchnummeriert und im 2. stehen einige Informationen, wie z.B. die Nummer auf dem Server, die ID im Forum, die IP, der Name, welches Admin level er hat usw.
      Von solchen Arrays habe ich mehrere. Das einzige Problem ist nur, dass ich immer vergesse, welche Nummer im 2. Index zu welcher Info gehört. Steht die 2 jetzt für den Namen oder für die ID? Wenn ich mir das Oben als Kommentar hinschreibe, kann ich zwar immer nachgucken, aber immer wieder 900 Zeilen hoch und dann wieder zu der Stelle runterzuscrollen ist auch nicht das Wahre.

      Wenn ich aber zu dem Array ein Kommantar machen könnte, was ich mir überall anschauen könnte, wäre das praktischer.
      Deshalb ist meine Frage, ob das auch irgendwie in SciTE geht, bzw. ob ihr andere Tips habt, wie man sich das merken kann. Ansonsten würde ich mireinfach ein paar Variablen machen, die ich dann als Index benutze, also z.B. $iName oder so, aber es ist ja letzendlich im Programm effizienter, wenn ich mit weniger Variablen auskomme.

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „klavier22“ ()

      Was hällt dich davon ab zu jedem Var einen Kommentar zu erstellen?

      AutoIt-Quellcode

      1. Global $Var[2] ; Ich bin ein Array
      2. $Var[0] = "Irgendwas" ; Ich bin ein lustiger Kommentar
      3. $Var[1] = "Irgendwas2" ; Ich bin wieder nur ein Kommentar
      MfG Raupi

      Meine UDF´S:
      WM_Notify per Funktion UDF zum Anzeigen von Hilfetexten und einer Uhr in der Statusbar.Anzeige einer Uhr in der Menüzeile
      GIF,JPG und BMP Dateien aus Resource laden.
      Array aus Dll-Datei laden UDF zum schreiben und lesen von Array´s in(aus) ein(em) INI-File
      LUA Script zum erstellen eines Funktionsheaders.
      Tipp: Zum bearbeiten von DLL Dateien kann man den XN Resource Editor benutzen, ist besser als Reshacker

      Sokrates schrieb:

      "Wer weiß, dass er nichts weiß, weiß mehr als der, der nicht weiß, dass er nichts weiß."

      Werner Krauß schrieb:

      Der Witz ist das Erdgeschoss des Humors, die Satire der Erste Stock, die Ironie der Zweite, der Sarkasmus das Mansardenstübchen.
      die 900 Zeilen halten mich davon ab. Bei kleineren Scripten geht das ja ganz gut, aber wenn man ein etwas größreres Projekt hat, dann ist es doch schon etwas nervig wenn ich immer wieder zu dem Kommentar hin und wieder zurückscrollen darf. Die Funktion, in der die Spieler in das Array geladen werden, sieht so aus:

      Spoiler anzeigen

      AutoIt-Quellcode

      1. Func _LoadPlayers() ; Loads the list of all players playing on the server into the listview $LVPlayers and puts the information in the array $Players
      2. $received = _send(_GUICtrlIpAddress_Get($IIP), GUICtrlRead($IPort), GUICtrlRead($IPassword), "sv players", 1)
      3. If @error = 1 Then
      4. MsgBox(4096, "Rcon Passwort falsch", "Der Server antwortete, dass das Rcon Passwort falsch sei.")
      5. Return 0
      6. ElseIf @error = "2" Then
      7. MsgBox(4096, "Server antwortete nicht", "Der Server antwortete nicht.")
      8. Return 0
      9. EndIf
      10. $VPlayers = StringSplit($received, @CRLF)
      11. If $VPlayers[0] >= "2" Then
      12. $i = $VPlayers[0] - 1
      13. Global $Players[$i][7]; Nummer, Name, Build, ID, OP, IP, BOT
      14. For $i = 1 To $VPlayers[0] - 1
      15. Local $temp = ""
      16. If StringRegExp($VPlayers[$i], "OP \d*\,", 0) Then
      17. Local $temp = StringRegExp($VPlayers[$i], "(\d+) \((\d+?)\)] \* OP (\d+)\, (.*) \(b(\d+)\)", 2) ;bei OP, liefert 6 Elemente
      18. $Players[$i - 1][0] = $temp[1]
      19. $Players[$i - 1][1] = $temp[4]
      20. $Players[$i - 1][2] = $temp[5]
      21. $Players[$i - 1][3] = $temp[2]
      22. $Players[$i - 1][4] = $temp[3]
      23. ElseIf StringRegExp($VPlayers[$i], "\d+ \] \* ", 0) Then
      24. Local $temp = StringRegExp($VPlayers[$i], "(\d+) \] \* (.*) \(b(\d+)\)", 2) ;Ohne ID, liefert 4 Elemente
      25. $Players[$i - 1][0] = $temp[1]
      26. $Players[$i - 1][1] = $temp[2]
      27. $Players[$i - 1][2] = $temp[3]
      28. ElseIf StringRegExp($VPlayers[$i], "\d+ \(bot\)\]", 0) Then
      29. Local $temp = StringRegExp($VPlayers[$i], "(\d+) \(bot\)\] \* (.*) \(b(\d+)\)", 2) ;Falls Bot, liefert Nummer + Name
      30. $Players[$i - 1][0] = $temp[1]
      31. $Players[$i - 1][1] = "(BOT) " & $temp[2]
      32. $Players[$i - 1][2] = 0
      33. $Players[$i - 1][6] = True
      34. Else
      35. Local $temp = StringRegExp($VPlayers[$i], "(\d+) \((\d+)\)\] \* (.*?) \(b(\d*)\)", 2) ;mit ID, liefert 5 Elemente
      36. $Players[$i - 1][0] = $temp[1]
      37. $Players[$i - 1][1] = $temp[3]
      38. $Players[$i - 1][2] = $temp[4]
      39. $Players[$i - 1][3] = $temp[2]
      40. EndIf
      41. Next
      42. $PlayerIPs = _send(_GUICtrlIpAddress_Get($IIP), GUICtrlRead($IPort), GUICtrlRead($IPassword), "sv listuserip", 1)
      43. $PlayerIPs = StringRegExp($PlayerIPs, "\[(\d+\.\d+\.\d+\.\d+)\:\d*\]", 3)
      44. For $i = 0 To UBound($PlayerIPs) - 1 Step 2
      45. If Not $Players[$i / 2][6] Then
      46. $Players[$i / 2][5] = $PlayerIPs[$i]
      47. Else
      48. $Players[$i / 2][5] = _GUICtrlIpAddress_Get($IIP)
      49. EndIf
      50. Next
      51. _GUICtrlListView_DeleteAllItems(GUICtrlGetHandle($LVPlayers))
      52. _GUICtrlListView_AddArray($LVPlayers, $Players)
      53. Else
      54. Dim $Players[1][5]
      55. $Players[0][0] = ""
      56. $Players[0][1] = ""
      57. $Players[0][2] = ""
      58. $Players[0][3] = ""
      59. $Players[0][4] = ""
      60. _GUICtrlListView_DeleteAllItems(GUICtrlGetHandle($LVPlayers))
      61. EndIf
      62. _ConWrite($EConsole, _GUICtrlListView_GetItemCount(GUICtrlGetHandle($LVPlayers)) & " Spieler wurden geladen.")
      63. EndFunc ;==>_LoadPlayers


      Ich weiß, die Variablennamen sind nicht grad die besten
      Aber wenn ich jetzt nicht in Zeile 541 (da wo die Funktion steht) bin, sondern irgendwo weiter oben oder unten, dann muss ich jedesmal erstmal hoch und wieder runter scrollen und mir diese Reihenfolge merken. Wenn ich dann wieder unten bin und meine Idee umsetzen will, dann vergesse ich die Reihenfolge wieder und darf dann nochmal gucken. Das ganze könnte ich mir ersparen, wenn ich direkt an der Seite eine Auflistung mit allen Variablen habe und mir zu jeder ein Kommentar machen kann, das ich überall sehen kann.
      Wenn es nicht geht, dann ist es auch nicht so schlimm, kann man sich ja im Prinzip auch selber basteln oder man definiert sich Konstanten wie $iName welche man dann als Index nimmt.

      Wäre nur die einfachste Lösung.

      Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „klavier22“ ()

      In der ISN AutoIt IDE gibt es rechts so einen TreeView. Dort sieht man alle GUI Elemente, Funktionen und Variablen, die man genutzt hat. Und dort kann man der Variable / Funktion / dem GUI Element einen Kommentar hinzufügen. Ich hätte diese Funktion gerne in SciTE, dass ich einer Variable einen Kommentar hinzufügen und diesen überall anzeigen lassen kann. Denn, wie beschrieben, ich habe ein Array, wo ich mir nie den Index zu dem Inhalt merken kann :D
      Deine Idee hört sich schonmal ein bisschen danach an.

      Bzw. Ist es möglich, dass man in AutoIt das Sript aus SciTE lädt? Dann würde ich einfach ein kleines Script bauen, was diesen Job für mich erledigt

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „klavier22“ ()

    autoit.de Webutation