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

Beiträge von Axel

  • Splitten?

    • Axel
    • 21. März 2012 um 16:57

    Das kannst du mit Hilfe von StringInStr machen.
    Du suchst im kompletten String das zweite Komma und nimmst den linken Teil , also "Apfel,Frucht". Den rechten Teil speicherst du in einer Variablen als Rest.
    Den linken Teil wertest du dann mit StringSplit aus und speicherst die beiden gefundenen Wörter.
    Jetzt fängst du wieder von vorne an. Suche im Reststring wieder nach dem zweiten Komma und so weiter bis kein Reststring mehr da ist.

    Das ganze also in einer Schleife verpackt.

    Du könntest auch nur StringInStr benutzen anstatt StringSplit. Das erste Wort bis zum Komma in Array1, das nächste in Array2 u.s.w.

  • _StringEncrypt funktioniert nicht

    • Axel
    • 21. März 2012 um 16:15

    Hallo,

    ein Script in dem _StringEncrypt eingesetzt wird funktioniert auf einem bestimmten Rechner nicht, auf allen anderen schon.
    Der verschlüsselte String wurde nicht richtig entschlüsselt.
    Auf der Suche nach der Ursache konnte ich herausfinden das es an der Spracheinstellung liegt.
    Auf dem betroffenen Rechner (Windows7) war als Gebietsschema Japanisch eingestellt. Nach der Umstellung auf Deutsch funktionierte das Entschlüsseln wieder.
    Jemand eine Ahnung was ich tun könnte damit das Script unabhängig vom eingestellten Gebietsschema immer korrekt läuft?

    Gruß,
    Axel

  • in mehreren Zeilen Tabs einfügen im AutoIT-SciTE -Editor

    • Axel
    • 21. Dezember 2011 um 11:13

    hahahaha ... Perfekt. :D So einfach dass man nicht drauf kommt. :rock:

  • in mehreren Zeilen Tabs einfügen im AutoIT-SciTE -Editor

    • Axel
    • 21. Dezember 2011 um 10:05

    Diese Option hatte ich gefunden. Macht aber mehr als nur die fehlenden TABS einfügen, was nicht immer erwünscht ist.

  • in mehreren Zeilen Tabs einfügen im AutoIT-SciTE -Editor

    • Axel
    • 21. Dezember 2011 um 09:42

    Guten Morgen,
    kann man im SciTE-Editor mehrere Zeilen markieren und dann einen Zeilenvorsprung(TAB) einfügen?
    Ich bin im Menü nach dieser Option nicht fündig geworden.
    Im Moment hantiere ich immer mit TAB, Zeile runter, POS1, TAB , Zeile runter, POS1 usw.....

    Gruß,
    Axel

  • angeklickte ListView Einträge demarkieren

    • Axel
    • 7. Dezember 2011 um 16:21

    Super danke :thumbup:

  • angeklickte ListView Einträge demarkieren

    • Axel
    • 7. Dezember 2011 um 13:30

    Sorry, deaktivieren ist nicht der richtige Ausdruck. Ich möchte markierte oder selektierte Einträge demarkieren, also die Liste soll jungfräulich dargestellt werden. Kein Eintrag soll markiert sein oder den Focus haben.
    Mit _GUICtrlListView_SetItemState lassen sich Listeneinträge unter anderem markieren oder den Focus drauf setzen. Wenn ich den Hilfetext zum Befehl richtig verstehe soll man auch demarkieren können, aber klappt irgendwie nicht.

    Ne Idee die ich hätte wäre die Liste komplett löschen und neu aufbauen.

  • angeklickte ListView Einträge demarkieren

    • Axel
    • 7. Dezember 2011 um 11:24

    Wie lassen sich markierte Zeilen in einer ListView deaktivieren?
    Im folgenden Script aus der Hilfedatei (leicht abgeändert) klappt das markieren einer Zeile bzw. den Focus setzen, aber nicht andersherum.

    C
    #include <GuiConstantsEx.au3>
    #include <GuiListView.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <ListBoxConstants.au3>
    #include <WinAPI.au3>
    #include <GuiListBox.au3>
    #include <GuiListView.au3>
    #include <Misc.au3>
    
    
    Opt('MustDeclareVars', 1)
    
    
    $Debug_LV = False ; Prüft den Klassennamen (ClassName), der an die ListView-Funktion übergeben wird. Setze dies versuchsweise auf True und verwende dann ein Handle zu einem anderen Control, um die Funktionsweise zu verstehen.
    
    
    _Main()
    
    
    Func _Main()
    	Local $hListView
    
    
    	GUICreate("ListView: Item für eine verschieben Operation markieren", 500, 300)
    	$hListView = GUICtrlCreateListView("", 2, 2, 394, 268,BitOR($WS_VSCROLL, $LBS_SORT, $LVS_SHOWSELALWAYS), $WS_EX_STATICEDGE)
    	GUISetState()
    
    
    	; Fügt die Spalten hinzu
    	_GUICtrlListView_AddColumn($hListView, "Spalte 1", 100)
    	_GUICtrlListView_AddColumn($hListView, "Spalte 2", 100)
    	_GUICtrlListView_AddColumn($hListView, "Spalte 3", 100)
    
    
    	; Fügt die Items hinzu
    	_GUICtrlListView_AddItem($hListView, "Zeile 1: Spalte 1", 0)
    	_GUICtrlListView_AddSubItem($hListView, 0, "Zeile 1: Spalte 2", 1)
    	_GUICtrlListView_AddSubItem($hListView, 0, "Zeile 1: Spalte 3", 2)
    	_GUICtrlListView_AddItem($hListView, "Zeile 2: Spalte 1", 1)
    	_GUICtrlListView_AddSubItem($hListView, 1, "Zeile 2: Spalte 2", 1)
    	_GUICtrlListView_AddItem($hListView, "Zeile 3: Spalte 1", 2)
    
    
    	; Item 2 für eine verschieben Operation markieren
    	Sleep(5000)
    	_GUICtrlListView_SetItemState($hListView,1,BitOR($LVIS_SELECTED,$LVIS_FOCUSED),BitOR($LVIS_SELECTED,$LVIS_FOCUSED))
    	Sleep(1000)
    	MsgBox(4160, "Information", "Item 2: " & _GUICtrlListView_GetItemState($hListView,1,BitOR($LVIS_SELECTED,$LVIS_FOCUSED)))
    
    
    	; Die Schleife wiederholt sich, bis der Benutzer die Beenden-Aktion der GUI auslöst
    	Do
    	Until GUIGetMsg() = $GUI_EVENT_CLOSE
    	GUIDelete()
    EndFunc   ;==>_Main
    Alles anzeigen
  • Mehere Einträge in einer Liste markieren.

    • Axel
    • 14. November 2011 um 14:32

    ok, danke!

  • Mehere Einträge in einer Liste markieren.

    • Axel
    • 14. November 2011 um 13:27

    Hallo Zusammen,
    ich habe eine Liste mit

    Code
    $meine_liste = GUICtrlCreateList("",5,200,490,490,BitOR($WS_VSCROLL,$LBS_SORT,$LVS_SHOWSELALWAYS, $LVS_REPORT),$WS_EX_STATICEDGE )


    erstellt. Es lassen sich zwar mittels $LVS_SHOWSELALWAYS mehrere Einträge markieren, doch ich würde gerne das Windows-Standardverhalten in der Liste realisieren.
    Also mit gedrückter Strg-Taste lassen sich mehrere einzelne Einträge markieren,
    mit Shift-Taste und den Pfeiltasten mehrere laufende Einträge markieren und ganz wichtig mit
    STRG+A alle markieren.

    Ist dies möglich?

  • BIOS Grafikfunktionen nutzen

    • Axel
    • 30. September 2011 um 14:11

    ok, danke

  • BIOS Grafikfunktionen nutzen

    • Axel
    • 29. September 2011 um 16:51

    Hallo Zusammen,

    ist es in AutoIT möglich die Grafikkarte oder den Grafikchip über die BIOS-Funktionen (Interrupt 10h) direkt anzusprechen?
    http://www.datasource.de/programmierung…biosint10h.html

    Gruß,
    Axel

  • Grafik / Fenster anzeigen als Dienst

    • Axel
    • 8. September 2011 um 14:15

    Danke für die Antworten. Ich teste die angegebenen Möglichkeiten und schreibe wieder...

    veronesi
    Die Anzeige muss vor der Anmeldung erscheinen! Müsste ich jetzt zu viel tippern um das alles zu erklären.
    Kurzfassung: Das eigentliche Script holt sich beim booten Informationen von einem Server und soll diese dann vor dem Login (Domäne) darstellen.
    In dem dargestellten Fenster wird eine HTML-Datei eingebettet mit Grafik und formatierten Text.
    Das Script ist auch schon fertig, nur die Anzeige klappt beim booten nicht.

  • Grafik / Fenster anzeigen als Dienst

    • Axel
    • 7. September 2011 um 11:56

    Leider verzweifel ich immer noch an dem Problem.
    Vielleicht hat noch jemand eine Idee woran es liegen könnte dass Bildschirmausgaben vor der Benutzeranmeldung nicht angezeigt werden.

    Hier ein Testscript :

    Code
    SplashTextOn("test","das ist ein Test")
    Sleep(60000)
    SplashOff()

    Das Fenster, welches bei Splash vorrangig dargestellt wird und nicht im Hintergrund geklickt werden kann, wird nach dem Start 60sek. lang angezeigt und das Prg. wird dann wieder beendet.
    Die test.exe habe ich compiliert und nach c:\daten kopiert.

    Mit dem Kommandozeiletool sc.exe habe ich den Dienst wie folgt hinzugefügt :
    sc create test binPath= c:\daten\test.exe

    Der Eintrag erfolgt dann in den Diensten. Dort habe ich noch in den Eigenschaften des eben erstellten Dienstes "test" das Häkchen gesetzt für "Datenaustausch zwischen Dienst und Desktop zulassen" und den Starttyp auf Automatisch gesetzt.

    Nun habe ich den PC mit Windows XP SP3 und Mitglied einer Domäne neu gestartet.

    Der Rechner bootet und das Anmeldefenster erscheint. Doch leider sieht man kein Fenster :(
    Ich warte 10-20 sek. lang und melde mich dann als lokalen Administrator an und siehe da, das Fenster erscheint und blendet sich nach wenigen Sekunden aus. Das Script wurde also auch beim booten gestartet, aber das Fenster wird nur nach der Anmeldung angezeigt. Warte ich natürlich mit der Anmeldung zu lange, sieht man das Fenster nicht mehr nach einer Benutzeranmeldung.

    Tja... was muss ich tun damit mein Fenster VOR der Anmeldung erscheint???

  • Grafik / Fenster anzeigen als Dienst

    • Axel
    • 31. August 2011 um 12:47

    Danke für den Tip, aber leider wird immer noch nichts angezeigt :(

  • Grafik / Fenster anzeigen als Dienst

    • Axel
    • 31. August 2011 um 10:15

    Hallo,
    ich habe ein Script geschrieben welches ich dann als Dienst starte (beim booten des Rechners, vor der Anmeldung des Benutzers). Läuft auch alles, das Script wird ausgeführt und macht was es machen soll.
    Nur wird leider mein GUI-Fenster mit den Informationen nicht angezeigt. Was muss ich tun damit das Fenster mit angezeigt wird?

    Starte ich das Programm als angemeldeten Benutzer, wird normal alles angezeigt.

  • Farb- und Darstellungprobleme GUI

    • Axel
    • 6. Juli 2010 um 16:21

    Hallo Raupi,
    danke für deine Tipps. :thumbup:
    Das mit den Hintergrund habe ich auch mit $GUI_BKCOLOR_TRANSPARENT gelöst. Wenn ich den Hintergrund deaktiviere, dann sehe ich diesen ja nicht mehr.
    Gruß,
    Axel

  • Farb- und Darstellungprobleme GUI

    • Axel
    • 5. Juli 2010 um 16:53

    Hallöchen,

    ich habe ein paar Farb- und Darstellungsprobleme, wo ich nicht weiß wie ich Sie lösen kann.
    Im folgenden Script werden zwei Grafik-Hintergründe, eine Checkbox, ein Button, ein Label und eine Listbox mit Werten dargestellt.

    Probleme:
    Die Textfarbe von der Checkbox kann ich nicht ändern. Sie ist schwarz und da der Hintergrund auch schwarz ist, sieht man nichts.
    Der weiße Rahmen von der Listbox möchte ich auch farblich ändern. Leider finde ich dazu nichts.
    Die schwarzen Hintergründe von der Checkbox und vom Label möchte ich nicht und sollen transparent dargestellt werden. Geht das?
    Die Werte in der Listbox erscheinen mir zu nah am Rahmen. Lässt sich der Abstand irgendwie definieren?
    Der Button und die Checkbox sind zwar sichtbar, aber nicht anklickbar. Setze ich die Hintergründe zuletzt, dann sind 'se nicht sichtbar aber anklickbar, wenn man weiß wo se dargestellt sind.

    Hier das Chaos-Script:

    C
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <ListBoxConstants.au3>
    
    
    $window = GUICreate("Test",1000,700)
    GUISetBkColor(0x000000)
    GUICtrlCreatePic("backbround.bmp", 5, 70, 700, 600)
    GUICtrlCreatePic("backbround.bmp", 710, 73, 285, 200)
    
    
    $schalter = GUICtrlCreateCheckbox("Das ist eine Checkbox",18,82)
    GUICtrlSetColor($schalter,0x909090)
    
    
    $button = GUICtrlCreateButton("Button", 593, 80, 100, 25)
    GUICtrlSetColor($button,0xffffff)
    GUICtrlSetBkColor($button,0x606060)
    GUICtrlSetFont($button,12)
    
    
    $text = GUICtrlCreateLabel("Mein Text",720,80,150,20)
    GUICtrlSetFont($text,14)
    GUICtrlSetColor($text,0xa0a0a0)
    
    
    $liste = GUICtrlCreateList("", 15, 110, 680, 560)
    GUICtrlSetFont($liste,12)
    GUICtrlSetColor($liste,0xb0b0b0)
    GUICtrlSetBkColor($liste,0x202020)
    GUICtrlSetData($liste,"Eintrag nummer eins")
    GUICtrlSetData($liste,"Eintrag nummer zwei")
    GUICtrlSetData($liste,"Eintrag nummer drei")
    
    
    GUISetState()
    
    
    while 1
    	$msg = GUIGetMsg()
    	If $msg = $GUI_EVENT_CLOSE Then ExitLoop
    WEnd
    
    
    GUIDelete()
    Alles anzeigen

    Die Datei background.bmp ist dem Posting angehangen.

  • transparentes GIF-Bild

    • Axel
    • 25. April 2010 um 23:16

    Falls es wem noch interessiert. Ich habe es folgendermassen gelöst:
    Wie oben ein ActiveX-Objekt eingebunden, jedoch über die gesamte Fenstergröße.
    In diesem dann eine HTML-Datei anzeigen lassen.
    $oIE.navigate ("zeig_mich.html")

    Weil die Inhalte variable sind, wird die HTML-Datei im Code erst erstellt und ins Temp-Verzeichnis geschrieben. Entsprechend Grafiken und Texte pixelgenau eingefügt.
    Das Ergebnis: Echte transparente und animierte Grafiken im Fenster. Sogar Texte können überlappend dargestellt werden.

  • transparentes GIF-Bild

    • Axel
    • 5. April 2010 um 11:57

    Zunächst mal ein Hallo an alle. Ich bin neu hier.
    Mit AutoIT programmiere ich schon etwas länger, jedoch bislang nur kleinere Scripts.
    Nun befasse ich mich erstmals mit der GUI-Referenz. Ziel ist es Text und Bild in ein einfaches Fenster darzustellen. Das Problem: Es sollen transparente und animierte GIF-Bilder sein.
    Ein animiertes GIF-Bild darzustellen habe ich hinbekommen. Doch leider ist der Hintergrund stets weiß :( , dieser soll aber in der Hintergrundfarbe dunkelgrau, also transparent, erscheinen.
    Weiß jemand Rat?


    C
    #include <WindowsConstants.au3>
    #include <GUIConstantsEx.au3>
    
    
    Local $pheight = 150, $pwidth = 200, $oIE, $GUIActiveX, $gif
    $gif = "Pfad...\test.gif"
    $oIE = ObjCreate("Shell.Explorer.2")
    GUICreate("Test", 640, 580, -1, -1, BitOr($WS_BORDER, $WS_OVERLAPPED), $WS_EX_TOPMOST)
    $GUIActiveX = GUICtrlCreateObj($oIE, 100, 100, $pwidth, $pheight)
    $oIE.navigate ("about:blank")
    $oIE.document.body.background = $gif
    $oIE.document.body.scroll = "no"
    $oIE.document.body.style.border = "0px"
    GUISetBkColor(0x303030)
    GUISetState()
    While GUIGetMsg() <> -3
    WEnd
    Alles anzeigen

    Vor dem ausführen noch den Pfad zu einem GIF-Bild angeben und die Bildgröße eintragen.

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™