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

Beiträge von alpines

  • Combobox mit Variablen befüllen

    • alpines
    • 27. März 2017 um 00:22

    Variablen darfst du so nicht verketten!

    Schreib stattdessen GUICtrlSetData($Combo1, $drop1 & "|" & $drop2). So verkettet man sie richtig und sie werden in der ComboBox getrennt.

  • Combobox mit Variablen befüllen

    • alpines
    • 27. März 2017 um 00:00
    Zitat von theprefect

    Ich finde leider nicht die Möglichkeit, die Werte der Variablen zu nutzen.

    Wie meinst du das? Wenn du in $sVariable einen String hast und mit GUICtrlSetData die Variable setzt, dann wird die doch in die ComboBox eingetragen.

  • In EXCEL-Zelle Schrift unterschiedliche Textformate erzeugen

    • alpines
    • 24. März 2017 um 08:36
    Zitat von tubsids

    sorry, ich habe es wirklich nur eine einzige Zelle gemeint.

    Ich sags doch :D

  • Bekomme immer Ladefehler bei der Funktion _SQLite_Startup()

    • alpines
    • 23. März 2017 um 16:01

    Ich nehme mal an das Problem ist gelöst wenn du die SqLite-Dll mitgeliefert hast. (Den grünen Haken für erledigt habe ich mal gesetzt.)

  • Problem mit 2ter GUI

    • alpines
    • 22. März 2017 um 14:42

    Wieso deaktivierst du immer noch das X für das Fensterschließen?

    Die While-Schleife ist dazu da um das abzufangen und solltest du noch einen Button anbieten wollen um das Fenster zu schließen musst du die While-Schleife umbauen,
    da sie momentan nur auf das X oben reagiert und nicht auf den Button.

    Wenn du die GUI immer neu erstellen willst (was ich nicht empfehlen kann), dann musst du die immer löschen.
    Solltest du die GUI einmal erstellen und immer anzeigen und verstecken, so darfst du sie logischerweise nicht löschen.

  • Textdatei einlesen und bestimmte Zeilennummer samt Inhalt löschen

    • alpines
    • 22. März 2017 um 14:21
    Zitat von Cr45hr007

    Ich werd mich dann mal am Weekend damit beschäftigen und mich reinlesen, evtl. bekomm ich es ja dann selbst gebacken, werde dann berichten obs geklappt hat.
    Trotzdem Danke für eure Denkanstöße.

    Das FileOpen und FileClose kannst du dir klemmen wenn du bei FileRead direkt den Pfad angibst.

    Aber ein bisheriger Stand ist schonmal nicht schlecht!

    $aSplit hat wenn du bei StringSplit den Flag 0 verwendest im 0. Index die Anzahl der Funde also verwende lieber das anstatt UBound($aSplit) - 1.

    Das einzige was noch fehlt ist deine Ini-Datei mit den Zeilen drinne die du ausliest und dann die Arrayindizes dann mit einem leeren String füllst.
    Bei der Schleife wo du letztlich in die Datei schreibst, kannst du abfragen ob der aktuelle Index leer ist (dann lässt überspringst du den Index einfach) oder ob er nicht leer ist.
    Sollte im Index was drinnestehen schreibst du in die Datei was im Index enthalten ist und packst ein @CRLF hinterher um den Zeilenumbruch nicht zu vergessen.

  • Textdatei einlesen und bestimmte Zeilennummer samt Inhalt löschen

    • alpines
    • 22. März 2017 um 11:45

    Er löscht sie nicht willkürlich! Die Zeilennummern verändern sich doch wenn du die Indizes löscht!
    Bei meiner Variante hättest du die Indizes leergelassen und nur die abgespeichert die nicht leer sind.

    Bei deiner Variante musst du die Zeilennummern immer um eins subtrahieren wenn du vor der Zeilennummer eine löscht.
    Willst du 3 und 4 löschen, so musst du Index 2 löschen (Zeile 4 war vorher Index 3 und rutscht nun auf Index 2) und dann wieder Index 2!

  • GDI+ Rotating Earth build 2017-03-17

    • alpines
    • 22. März 2017 um 11:17
    Zitat von water

    Echt cooles Skript! Wenn Du jemanden erzählst, dass das mit einer interpretierten Skriptsprache gemacht wurde, dann fällt der glatt vom Hocker

    Ich möchte ja nichts schlecht reden aber von der Scriptsprache wurde hier nicht sehr viel verwendet. Das sind fast ausschließlich WinAPI- und GdiPlus-Funktionen.
    Der Code sollte in C nicht groß anders ausschauen (bis auf die Erstellung der GUI). Das ist ja der einzige Punkt der hier von AutoIt wirklich verwendet wird.

  • Textdatei einlesen und bestimmte Zeilennummer samt Inhalt löschen

    • alpines
    • 22. März 2017 um 11:14

    Lies die Datei mit FileRead ein und Splitte sie mit StringSplit mit dem Delimeter @CRLF und dem Flag 3.
    Dann hast du die Datei zeilenweise in einem Array und dort kannst du jeden Index = "" setzen der deiner Zeile entspricht (Zeile - 1 = Index).

    Anschließend kannst du das Array mit einer For-Schleife durchgehen und abspeichern.

  • In EXCEL-Zelle Schrift unterschiedliche Textformate erzeugen

    • alpines
    • 22. März 2017 um 10:16
    Zitat von BugFix

    Er sprach vom gesamten Inhalt der Zelle, nicht von einzelnen Zeichen. - Man kann auch mehr hineininterpretieren, wenn man will...

    Naja, du kennst es ja selbst wie manchen Leute ihre Fragen hier formulieren und dann was ganz anderes möchten.

  • In EXCEL-Zelle Schrift unterschiedliche Textformate erzeugen

    • alpines
    • 22. März 2017 um 10:08
    Zitat von BugFix

    With $oExcel.Range('A1')
    .Font.Bold = True
    .Font.Italic = True
    .Font.Color = 0xFF0000 ; als BGR
    EndWith

    Sicher, dass er nicht in einer Zelle einige Zeichen fett und einige nicht möchte?

  • Das Ende der InputBox

    • alpines
    • 21. März 2017 um 16:06

    Dein Inputfeld muss auch scrollen! Setz mal als Style folgendes BitOr($ES_PASSWORD, $ES_AUTOHSCROLL).

  • Problem mit 2ter GUI

    • alpines
    • 21. März 2017 um 11:47

    Ja wo ist das Problem? Wie wird bei deiner Implementation mit dem Klick auf Impressum ja nicht angezeigt sondern neu erstellt also ist es sinnvoll sie zu löschen.
    Noch sinnvoller wäre es sie vorher zu erzeugen und sie nicht anzuzeigen. Wenn du auf Impressum klickst zeigst du sie an und verarbeitest die Messages.

  • Problem mit 2ter GUI

    • alpines
    • 21. März 2017 um 11:02

    Nein nicht zwangsweise. Schau dir doch mal das Skript an was ich hochgeladen habe, da funktioniert das ganze ohne EventMode.
    Du musst halt nur in der Funktion auf die jeweilige GUI warten und sie dann anschließend löschen oder verstecken.

  • In EXCEL Link folgen

    • alpines
    • 21. März 2017 um 10:48

    Du bearbeitest den 1. Beitrag in diesem Thread und passt den Threadstatus an. Ich hab das mal für dich übernommen.

  • Problem mit 2ter GUI

    • alpines
    • 21. März 2017 um 10:47

    Liegt ja wohl auf der Hand oder?

    Der Switch-Case in der Funktion Impressum() ist eh für die Tonne. Das Programm fragt einmal nach der Nachricht und geht dann in die Hauptschleife zurück.
    Beim Klick auf das X schließt sich also automatisch das Hauptfenster.

    Du musst also entweder in der Funktion auf die GUI warten oder das mit OnEventMode lösen (was meiner Meinung nach die bessere Variante wäre).
    (Nur das nötigste angepasst)

    AutoIt
    #Region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_Res_Comment=Video Converter only .avi to .mp4.
    #AutoIt3Wrapper_Res_Fileversion=1.1.0.0
    #AutoIt3Wrapper_Res_Language=1031
    #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
    #include <FileConstants.au3>
    #include <MsgBoxConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <GUIConstants.au3>
    #include <File.au3>
    
    
    Ordner ()
    Func Ordner ()
    	Local $VideoConverter = @TempDir&"\Video_Converter"
    	DirCreate ($VideoConverter)
    EndFunc
    		$widthCell=300
    
    
    	Global $sFileOpenDialog
    	Global $sFileSelectFolder
    	Global $iDelete
    
    
    
    
    
    
    
    
    ChooseButton()
    Func ChooseButton()
    	Const $SC_CLOSE = 0xF060
    	Const $MF_BYCOMMAND = 0x0
    	Const $MF_GRAYED = 0x1
    	; Create a GUI with various controls.
    	Local $hGUI = GUICreate("Video Converter", 430, 200, 750, 430)
    
    
    
    
    	GUIRegisterMsg($WM_SYSCOMMAND, "")
    
    
    
    
    	; Create a button control.
    	GUICtrlCreateLabel ("Bitte Datei auswählen: ", 20, 20, $widthCell)
    
    
    	GUICtrlCreateLabel ("Bitte Ablageort für konvertierte Datei auswählen: ", 20, 80, $widthCell)
    
    
    	Global $impressum	= GUICtrlCreateButton ("Impressum", 30, 150, 80, 20)
    
    
    	Global $convert = GUICtrlCreateButton ("Konvertieren", 315, 150, 85, 20)
    
    
    	Local $chooseda = GUICtrlCreateButton("Quelle", 330, 40, 60, 20)
    
    
    	Local $chooseor = GUICtrlCreateButton("Ziel", 330, 100, 60, 20)
    
    
    	Local $idClose = GUICtrlCreateButton("Schließen", 170, 150, 85, 20)
    
    
    	;Set the GUI background color
    	GUISetBkColor(0x826D50)
    	; Display the GUI.
    	GUISetState(@SW_SHOW, $hGUI)
    
    
    
    
    		Local $iPID = 0
    		Local $iPID1= 0
    		Local $iPID2= 0
    		Local $iPID3= 0
    
    
    	; Loop until the user exits.
    	While 1
    		Switch GUIGetMsg()
    			Case $GUI_EVENT_CLOSE, $idClose
    
    
    			ExitLoop
    
    
    			Case $chooseda
    
    
    				$iPID  = _openVideoFile()
    				Global $datei = GUICtrlCreateInput ( $sFileOpenDialog, 20, 40, 300,20)
    
    
    			Case $chooseor
    
    
    				$iPID1 = _FileSelectFolder()
    				Global $ort = GuiCtrlCreateInput ( $sFileSelectFolder, 20, 100, 300, 20)
    
    
    			Case $convert
    
    
    				$iPID2 = Convert ()
    
    
    			Case $impressum
    				$iPID3 = Impressum ()
    
    
    		EndSwitch
    	WEnd
    
    
    
    
    
    
    	GUIDelete($hGUI)
    
    
    	; Close the Exlporer process using the PID returned by Run.
    	If $iPID1 Then ProcessClose($iPID1)
    
    
    
    
    EndFunc
    
    
    idClose()
    Func idclose()
    	FileDelete(@TempDir&"\Video_Converter")
    EndFunc
    
    
    ;openVideoFile ()
    Func _openVideoFile()
        ; Create a constant variable in Local scope of the message to display in FileOpenDialog.
        Local Const $sMessage = "Wähle Datei"
    
    
        ; Display an open dialog to select a list of file(s).
         $sFileOpenDialog = FileOpenDialog($sMessage, @WindowsDir & "\", "Videos (*.avi)", $FD_FILEMUSTEXIST + $FD_MULTISELECT)
        If @error Then
    
    
            MsgBox(4144,"Fehlermeldung", "Keine Datei gewählt!")
    
    
            ; Change the working directory (@WorkingDir) back to the location of the script directory as FileOpenDialog sets it to the last accessed folder.
            FileChangeDir(@ScriptDir)
        Else
            ; Change the working directory (@WorkingDir) back to the location of the script directory as FileOpenDialog sets it to the last accessed folder.
            FileChangeDir(@ScriptDir)
    
    
        EndIf
    EndFunc
    
    
    
    
    
    
    ;FileSelectFolder ()
    Func _FileSelectFolder()
    
    
    Global $MyDocsFolder = "::{450D8FBA-AD25-11D0-98A8-0800361B1103}"
    
    
    		$sFileSelectFolder = FileSaveDialog("Wähle Ordner", $MyDocsFolder, "Video (*.mp4)", 2)
    	If @error Then
    
    
    		MsgBox(4144,"Fehlermeldung", "Kein Ziel gewählt!")
    
    
    	EndIf
    EndFunc
    
    
    
    
    
    
    ;Convert ()
    Func Convert ()
    Global $msg
    
    
    	If $sFileOpenDialog = "" Then
    
    
    		MsgBox(4144,"Fehlermeldung","Keine Datei gewählt!")
    	ElseIf $sFileSelectFolder = "" Then
    		MsgBox(4144,"Fehlermeldung", "Kein Ziel gewählt!")
    
    
    	Else
    
    
    		Run( @TempDir&"\Video_Converter\ffmpeg.exe -i """ &$sFileOpenDialog& """ -vcodec libx264 """ &$sFileSelectFolder& """")
    
    
    
    
    		$msg = GUIGetMsg()
    
    
                GUICtrlDelete($datei)
    			GUICtrlDelete($ort)
    	EndIf
    
    
    EndFunc
    
    
    
    
    
    
    ;Impressum ()
    Func Impressum()
    	Const $SC_CLOSE = 0xF060
    	Const $MF_BYCOMMAND = 0x0
    	Const $MF_GRAYED = 0x1
    	Local $hGUI1 = GUICreate ("Impressum", 250, 300)
    
    
    
    
    	GUICtrlCreateLabel ("Entwickler: " &@CRLF& "fg" &@CRLF& "Mfg", 20, 40, $widthCell)
    
    
    	GUICtrlCreateLabel ("Icon: " &@CRLF& "fg" , 20, 130, $widthCell)
    
    
    	GUICtrlCreateLabel ("Version: 1.0.3.0", 20, 210, $widthCell)
    
    
    	Local $idClose1 = GUICtrlCreateButton("Schließen", 20, 250, 85, 20)
    
    
    	GUISetBkColor(0x826D50)
    	GUISetState(@SW_SHOW, $hGUI1)
    
    
    	While GUIGetMsg() <> -3
    	WEnd
    
    
    	GUIDelete($hGUI1)
    EndFunc
    Alles anzeigen
  • Ideen für dynamisches Nippelboard

    • alpines
    • 21. März 2017 um 10:41

    Das geschieht in der _GUIListViewEx_MsgRegister().

  • AutoIt Gartenplanungs-Projekt

    • alpines
    • 20. März 2017 um 16:30

    Wie du sicherlich selber festgestellt hast ist der letzte Parameter von _GDIPlus_GraphicsDrawRect ein Handle zu einem Pen-Objekt.
    Dieses musst du vorher mit _GDIPlus_PenCreate erstellen und darfst nicht einfach eine 1 reinschreiben.

  • Frage SNMP

    • alpines
    • 20. März 2017 um 13:57

    Läuft alles? Dann setz doch bitte den grünen Haken für erledigt / gelöst in dem du den Threadstatus im 1. Beitrag anpasst.

  • Befehl "hidden" ausführen

    • alpines
    • 20. März 2017 um 13:07
    Zitat von chesstiger

    Vorsicht bei solchen Lösungen. Das ist alles andere als sauber. Da nach einem Fenster mit Titel "Browserverlauf" gesucht wird, funktioniert diese Variante nur bei deutschsprachigen Windows-Installationen.

    Ich denke, das ist das geringste aller Probleme.

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™