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

Beiträge von Diggidie

  • GUICtrlCreateInput Frage

    • Diggidie
    • 25. Juli 2009 um 18:26

    hi leute,
    hab da mal ne frage, und vielleicht kann ja jemand helfen.

    kann man ein eingabefeld auf eine bestimmte anzahl von zeichen begrenzen?
    viele von euch kennen das bestimmt auch von ebay. rechts neben dem
    eingabefeld für die artikelbeschreibung steht "noch XX Zeichen verfügbar".
    ist sowas mit autoit realisierbar? also, als beispiel ein eingabefeld "GUICtrlCreateInput"
    das auf 20 zeichen beschränkt ist, daneben ein GUICtrlCreateLabel was bei leerem input
    "noch 20 zeichen verfügbar" anzeigt und dann bei jedem eingegebenen zeichen
    herunterzählt. wenn alle 20 zeichen eingegeben sind soll das eingabefeld keine zeichen
    mehr annehmen können, ausser die löschtaste (<--) natürlich.

    wäre für tips und lösungsvorschläge sehr dankbar

    gruß diggidie

  • Anfänger hat Problem mit _GUIImageList

    • Diggidie
    • 27. April 2009 um 02:17

    lesen kann ich auch schon :rofl:
    Hab noch teilweise so meine Probleme mit den Parametern, aber das wird schon noch.
    Bin halt blutiger Anfänger und stehe dazu ;)
    Bevor ich die Idee mit den Icons hatte, wurde ja auch alles korrekt angezeigt.

    Werde in nächster Zeit bestimmt noch öfter Hilfe in anspruch nehmen müssen.

    Kann Dir aber gern in nächster Zeit mal ein Zwischenergebnis zukommen lassen,
    wenn nicht allzuviel bei meinen Ideen schiefgeht.

    Wünsche allen erstmal eine Gute Nacht.

  • Anfänger hat Problem mit _GUIImageList

    • Diggidie
    • 27. April 2009 um 01:50

    Danke AutoBert, hat geklappt, SUPER.
    Aber ich muß gestehen, das ich das warum nicht verstehe,
    dachte das die 0 die zuteilung für die erste spalte wäre.

    Danke nochmal

  • Anfänger hat Problem mit _GUIImageList

    • Diggidie
    • 27. April 2009 um 01:36

    Hier nochmal angepasst, weil ich ja nicht davon ausgehen kann das jeder die Programme besitzt
    Hier die INI für das script (test.ini ins scriptdir legen)

    [Notepad]
    Bezeichnung=Notepad
    RunExe=notepad.exe
    Ordner=system32

    [freecellx]
    Bezeichnung=FreeCell
    RunExe=freecell.exe
    Ordner=system32

    Es wird nur das noepad-icon angezeigt

    [autoit]


    #include <GuiListView.au3>
    #include <GuiImageList.au3>
    #include <Constants.au3>
    #include <WindowsConstants.au3>
    #include <GUIConstantsEx.au3>

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

    $Gui_Hauptfenster = GUICreate ("PORTABLE-Startmenu", 406, 573, -1, -1, $WS_POPUP, $WS_EX_TOOLWINDOW)
    $Ansicht_Liste = GUICtrlCreateListView ("", 9, 75, 250, 460, $WS_DLGFRAME, BitOR($LVS_EX_GRIDLINES, $LVS_EX_FULLROWSELECT))
    $Ansicht_Liste_Handle = GUICtrlGetHandle($Ansicht_Liste)
    GUICtrlSetState (-1, $GUI_ONTOP)
    _GUICtrlListView_InsertColumn($Ansicht_Liste, 0, "Beschreibung", 150)
    _GUICtrlListView_InsertColumn($Ansicht_Liste, 1, "RunExe", 50)
    _GUICtrlListView_InsertColumn($Ansicht_Liste, 2, "Ordner", 30)

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

    $Welche_Ini_einlesen = @ScriptDir & "\test.ini"
    _Ini_einlesen ()
    GUISetState ()
    While 1
    Sleep(10)
    WEnd

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

    Func _Ini_einlesen ()
    $Lese_Sections_Namen = IniReadSectionNames ($Welche_Ini_einlesen)
    If @error Then
    MsgBox(4096, "", "Es ist ein Fehler aufgetreten. Keine INI Datei vorhanden ?")
    Else
    $Eintrag = 0
    $Ansicht_Liste_Icons = _GUIImageList_Create(32, 32, 5)
    For $Zaehler = 1 To $Lese_Sections_Namen[0]
    $Ini_Bezeichnung = IniRead ($Welche_Ini_einlesen, $Lese_Sections_Namen[$Zaehler], "Bezeichnung", "1")
    _GUICtrlListView_AddItem($Ansicht_Liste, $Ini_Bezeichnung, 0)
    $Ini_RunExe = IniRead ($Welche_Ini_einlesen, $Lese_Sections_Namen[$Zaehler], "RunExe", "1")
    _GUICtrlListView_AddSubItem($Ansicht_Liste, $Eintrag, $Ini_RunExe, 1)
    $Ini_Ordner = IniRead ($Welche_Ini_einlesen, $Lese_Sections_Namen[$Zaehler], "Ordner", "1")
    _GUICtrlListView_AddSubItem($Ansicht_Liste, $Eintrag, $Ini_Ordner, 2)
    _GUIImageList_AddIcon($Ansicht_Liste_Icons, @WindowsDir & "\" & $Ini_Ordner & "\" & $Ini_RunExe, 0, True)
    $Eintrag = $Eintrag + 1
    Next
    _GUICtrlListView_SetImageList($Ansicht_Liste, $Ansicht_Liste_Icons, 1)
    EndIf
    EndFunc

    [/autoit][autoit][/autoit][autoit][/autoit]
  • Anfänger hat Problem mit _GUIImageList

    • Diggidie
    • 27. April 2009 um 01:19

    Hallo AutoBert

    Hab mal das wichtigste zusammenkopiert

    [autoit]


    #include <GuiListView.au3>
    #include <GuiImageList.au3>
    #include <Constants.au3>
    #include <WindowsConstants.au3>
    #include <GUIConstantsEx.au3>

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

    $Gui_Hauptfenster = GUICreate ("PORTABLE-Startmenu", 406, 573, -1, -1, $WS_POPUP, $WS_EX_TOOLWINDOW)
    $Ansicht_Liste = GUICtrlCreateListView ("", 9, 75, 250, 460, $WS_DLGFRAME, BitOR($LVS_EX_GRIDLINES, $LVS_EX_FULLROWSELECT))
    $Ansicht_Liste_Handle = GUICtrlGetHandle($Ansicht_Liste)
    GUICtrlSetState (-1, $GUI_ONTOP)
    _GUICtrlListView_InsertColumn($Ansicht_Liste, 0, "Beschreibung", 150)
    _GUICtrlListView_InsertColumn($Ansicht_Liste, 1, "RunExe", 50)
    _GUICtrlListView_InsertColumn($Ansicht_Liste, 2, "Ordner", 30)

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

    $Welche_Ini_einlesen = @ScriptDir & "\Portable-Apps\Portable-Apps-Menu-Data\Internet.ini"
    _Ini_einlesen ()
    GUISetState ()
    While 1
    Sleep(10)
    WEnd

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

    Func _Ini_einlesen ()
    $Lese_Sections_Namen = IniReadSectionNames ($Welche_Ini_einlesen)
    If @error Then
    MsgBox(4096, "", "Es ist ein Fehler aufgetreten. Keine INI Datei vorhanden ?")
    Else
    $Eintrag = 0
    $Ansicht_Liste_Icons = _GUIImageList_Create(32, 32, 5)
    For $Zaehler = 1 To $Lese_Sections_Namen[0]
    $Ini_Bezeichnung = IniRead ($Welche_Ini_einlesen, $Lese_Sections_Namen[$Zaehler], "Bezeichnung", "1")
    _GUICtrlListView_AddItem($Ansicht_Liste, $Ini_Bezeichnung, 0)
    $Ini_RunExe = IniRead ($Welche_Ini_einlesen, $Lese_Sections_Namen[$Zaehler], "RunExe", "1")
    _GUICtrlListView_AddSubItem($Ansicht_Liste, $Eintrag, $Ini_RunExe, 1)
    $Ini_Ordner = IniRead ($Welche_Ini_einlesen, $Lese_Sections_Namen[$Zaehler], "Ordner", "1")
    _GUICtrlListView_AddSubItem($Ansicht_Liste, $Eintrag, $Ini_Ordner, 2)
    _GUIImageList_AddIcon($Ansicht_Liste_Icons, @ScriptDir & "\Portable-Apps\" & $Ini_Ordner & "\" & $Ini_RunExe, 0, True)
    $Eintrag = $Eintrag + 1
    Next
    _GUICtrlListView_SetImageList($Ansicht_Liste, $Ansicht_Liste_Icons, 1)
    EndIf
    EndFunc

    [/autoit]

    Möchte nochmal erwähnen, das soweit alles klappt, bis auf die Icons

    wenn zum beispiel die Einträge Firefox und Thunderbird ausgegeben werden
    erscheint bei Firefox das richtige Icon aber bei Thunderbird und allen weiteren
    Einträgen wird auch das Icon von Firefox angezeigt.

    Habe intensiv die Hilfe studiert und bin auch der Meinung das der Aufbau richtig ist.

  • Anfänger hat Problem mit _GUIImageList

    • Diggidie
    • 27. April 2009 um 00:39

    Hy, habe ein Problem beim einfügen von Icons in ein ListView Objekt.
    Lese über eine Function Daten aus einer Ini ein und übergebe sie in das
    ListView Objekt, klappt alles hervorragen (bestimmt für Profis zu
    umständlich gelöst, aber nachsicht bitte, bin Anfänger). Nun wollte
    ich auch gern die dazugehörigen Icons mit einfügen, klappt auch zum
    Teil, allerdings wird immer das selbe Icon (vom ersten Eintrag) eingefügt.
    kann sich mal bitte jemand meine Funktion anschauen und mir verraten wo
    der Fehler liegen könnte?
    PS: soll ein Programmstarter werden (mehrere Kategorien = mehrere Ini´s)
    INI-Aufbau:
    [Firefox]
    Bezeichnung=Firefox 3.0.8
    RunExe=FirefoxPortable.exe
    Ordner=FirefoxPortable

    usw.

    [autoit]


    Func _Ini_einlesen ()
    $Lese_Sections_Namen = IniReadSectionNames ($Welche_Ini_einlesen)
    If @error Then
    MsgBox(4096, "", "Es ist ein Fehler aufgetreten. Keine INI Datei vorhanden ?")
    Else
    $Eintrag = 0
    $Ansicht_Liste_Icons = _GUIImageList_Create(32, 32, 5)
    For $Zaehler = 1 To $Lese_Sections_Namen[0]
    $Ini_Bezeichnung = IniRead ($Welche_Ini_einlesen, $Lese_Sections_Namen[$Zaehler], "Bezeichnung", "1")
    _GUICtrlListView_AddItem($Ansicht_Liste, $Ini_Bezeichnung, 0)
    $Ini_RunExe = IniRead ($Welche_Ini_einlesen, $Lese_Sections_Namen[$Zaehler], "RunExe", "1")
    _GUICtrlListView_AddSubItem($Ansicht_Liste, $Eintrag, $Ini_RunExe, 1)
    $Ini_Ordner = IniRead ($Welche_Ini_einlesen, $Lese_Sections_Namen[$Zaehler], "Ordner", "1")
    _GUICtrlListView_AddSubItem($Ansicht_Liste, $Eintrag, $Ini_Ordner, 2)
    _GUIImageList_AddIcon($Ansicht_Liste_Icons, @ScriptDir & "\Portable-Apps\" & $Ini_Ordner & "\" & $Ini_RunExe, 0, True)
    $Eintrag = $Eintrag + 1
    Next
    _GUICtrlListView_SetImageList($Ansicht_Liste, $Ansicht_Liste_Icons, 1)
    EndIf
    EndFunc

    [/autoit]
  • Tray Option hinzufügen

    • Diggidie
    • 26. April 2009 um 17:01

    @ Conan10

    Schön das wir uns einig sind.
    Bin selbst absoluter Anfänger, konnte aber bisher fast alle meine
    Problem mit der Hilfe lösen, genauso so wie mit der Su-FU und
    den vielen Beiträgen hier. Stöbern lohnt sich.

    Mfg Diggidie

  • Tray Option hinzufügen

    • Diggidie
    • 26. April 2009 um 16:53

    @ Conan10

    TrayCreateMenu braucht er doch nur, wenn er ein Untermenu haben will!?
    Ich wollte nur die Möglichkeit aufzeigen wie es funktionieren kann.

    Mfg Diggidie

  • Tray Option hinzufügen

    • Diggidie
    • 26. April 2009 um 16:42

    Hy,
    Bin zwar ein absoluter Anfänger, hoffe aber das mein Beispiel dir weiterhilft.
    Wenn du es bei dir anpasst, sollte es funktionieren.
    Vielleicht kann einer der erfahrenen User das bestätigen.

    Mfg Diggidie

    [autoit]


    #NoTrayIcon
    Opt("TrayOnEventMode",1)
    Opt("TrayMenuMode",1)

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

    TrayCreateItem("Beenden")
    TrayItemSetOnEvent(-1,"_Programm_beenden")
    TraySetState()

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

    While 1
    Sleep (10)
    WEnd

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

    Func _Programm_beenden()
    Exit
    EndFunc

    [/autoit]
  • Anfänger benötigt Hilfe

    • Diggidie
    • 24. April 2009 um 19:29

    Super, vielen Dank dafür.

  • Anfänger benötigt Hilfe

    • Diggidie
    • 24. April 2009 um 15:00

    @ Oscar

    Vielen Dank für Dein Beispiel (und das um 04:33Uhr). Hab es mal so übernommen. Klappt prächtig, erfüllt
    genau den Zweck wie ich es meinte.

    !!! Weltklasse !!! :thumbup:

    Hab das mit den Arrays zwar immer noch nicht so genau kapiert, aber das wird schon noch (hoffe ich).

    Toll würde ich es finden, wenn jemand die Func "_ArrayDiff" mal für mich und andere Anfänger Zeile für Zeile
    kommentieren könnte (hätte bestimmt einen guten Lerneffekt, da bin ich mir sicher).

    Nochmals Danke an alle, und macht weiter so.

  • Anfänger benötigt Hilfe

    • Diggidie
    • 23. April 2009 um 23:43

    @Matthias 199

    ??? die zahl aus $array[0] müsste ja die nummer des neusten ordner sein dan müsstest du garnix vergleichen ???

    Wie müßte ich das anwenden? Hab von Arrays noch keinen Plan

    Anhand der ganzen Beispiele kann man hier doch viel lernen. Ein fettes Bravo an alle.
    Und habe im Moment, krankheitsbedingt viel Zeit zum erlernen von AutoIT.

  • Anfänger benötigt Hilfe

    • Diggidie
    • 23. April 2009 um 23:31

    @ Alina
    Danke für Deinen Hinweis zur Themenbezeichnung, werde beim nächsten mal darauf achten.

    Bin dabei, mir nen eigenen Programmstarter zu basteln. das mit der installation der portablen Apps
    mit der Endung .paf.exe soll ein Extra im Programm werden, damit man es nicht von Hand installieren
    muß. das Erfassen anderer Apps stellt kein Problem dar. Es geht mir darum, das App nach der installation
    automatisch zu erfassen und in mein ListView einzufügen. Dazu benötige ich aber den Ordnernamen des
    neuen Apps.

  • Anfänger benötigt Hilfe

    • Diggidie
    • 23. April 2009 um 21:33

    Hallo alle zusammen.

    Stehe vor einem Problem (Typischer Anfänger)
    möchte über eine GUI Programme von portableapps.com in ein eigenes Startmenu installieren.
    Klappt soweit alles ganz gut,bis auf..... jepp, nun das Problem:

    Die Programme werden alle in ein von mir vorgegebenes Verzeichnis installiert (klappt schon mal) :)
    Wie kann ich nun aber feststellen, welcher Ordner neu in meinem festgelegten Ordner angelegt wurde?

    Nach langem Suchen liegt die Lösung wohl in Arrays (wovon ich null Ahnung habe)

    Mein Gedankengang sieht wie folgt aus (bitte korrigieren falls ich falsch liege):

    1) Die Ordnernamen mit _FileListToArray (???) einlesen, bevor ein weiteres portables App installiert wird.
    2) Nun das portable App installieren lassen (wodurch dann ein neuer Ordner entsteht)
    3) nach der installation des neuen Apps (und damit neuen Ordners) erneut die Ordnernamen einlesen
    4) anhand der beiden einlesevorgänge ermitteln welcher Ordner neu hinzugekommen ist
    5) den ermittelten Ordnernamen in eine Variable schreiben, mit der man dann weiterarbeiten kann.
    Wie kann ich meine Gedankengänge realisieren?

    Wie geschrieben hab ich noch nicht viel Erfahrung, aber mit learning by doing schon kleine Erfolge erzielt.
    Doch hier scheine ich auf dem Schlauch zu stehen :(

    Danke schon mal für Eure Hilfe

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™