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

Beiträge von olfibits

  • IniRead funktioniert nicht - finde das Problem nicht

    • olfibits
    • 8. April 2017 um 10:05

    Hallo,

    anbei erstmal der Code:

    AutoIt
    $Plugins = IniReadSection(@ScriptDir & "\settings.ini", "plugins")
    	For $i = 1 To UBound($Plugins) -1		
    		$PluginPath = $Plugins[$i][1]		
    		$Name = IniRead('"'&$PluginPath&'"', "plugin", "Name", "Name")
    		$Version = IniRead($PluginPath, "plugin", "Version", "Version")
    		$Author = IniRead($PluginPath, "plugin", "Author", "Autor")
    		$Date = IniRead($PluginPath, "plugin", "Date", "Datum")
    		$Path = IniRead($PluginPath, "plugin", "Main", "Hauptpfad")
    		$Details = $Name & "|" & $Version & "|" & $Author & "|" & $Date & "|" & $Path		
    		GUICtrlCreateListViewItem($Details, $PluginListView)
        Next
    Alles anzeigen


    Der Pfad der INIs wird definitiv gefunden (getestet durch: MsgBox(0, "Pfad", $PluginPath) und stimmt auch), aber aus irgendeinem Grund funktioniert das auslesen nicht. Der Pfad der INI-Datei lautet c:\Users\****\Olfibits Software Project\Projects\Olfibits [Desktop Workstation Plugins]\Beispielplugin\plugin.ini und wird auch korrekt ausgegeben. Aber der Inhalt:


    Code: plugin.ini
    [plugin]
    Name="Beispielplugin"
    Version="1.0"
    Author="******************** (Olfibits)"
    Date="08.04.2017"
    Main="Plugin.exe"

    wird nicht ausgelesen. Weiß jemand den Fehler? Ach ja, die Ausgabe bei der MsgBox-Funktion lautet:

    Titel: Pfad
    Inhalt: "C:\Users\****\Olfibits Software Project\Projects\Olfibits [Desktop Workstation Plugins]\Beispielplugin\plugin.ini"

    -> stimmt also. Warum liest er mir das nicht aus?

    Danke olfibits

    BTW: die Plugin funktion brauche ich für meine Arbeitsoberfläche ;)

  • Das Ende der InputBox

    • olfibits
    • 27. März 2017 um 19:52
    Zitat von autoiter

    OT:
    Glückwunsch @bam176 zu dem genialen Threadtitel!
    Ich war sofort extrem neugierig und habe den Thread direkt angeklickt. So muss man das machen. :D

    und immer noch OT... Ganz deiner Meinung hätte gedacht dass eine alternative Input-Box erstellt wurde oder so ähnlich... :D

  • String in Buchstaben aufteilen und jeden Buchstaben einzeln ersetzen?

    • olfibits
    • 27. März 2017 um 19:45

    Entweder dürfte dir trotzdem StringReplace() helfen:

    AutoIt
    StringReplace ( "string", "searchstring/start", "replacestring" [, occurrence = 0 [, casesense = 0]] )


    string: der string in dem gesucht werden soll
    searchstring/start: dein Suchstring, bei dir z.B. "A"
    replacestring: Ersatzstring, bei dir z.B. ":regional_indicator_a:"
    occurrence: lass das mal auf 0
    casesense: Groß/Kleinschreibung Relevanz, bei 0 ist die Schreibweise egal, bei 1 wird auf Groß/Kleinschreibung geachtet.

    Oder: StringSplit()

    AutoIt
    $Array = StringSplit ( "string", "delimiters" [, flag = 0] )

    $Array: in dem Array sind alle Teilstrings gespeichert
    string: dein String in dem gesucht werden soll
    delimiters: wo getrennt werden soll

    Oder:
    StringTrimLeft ( "string", count )
    string: dein String in dem immer noch gesucht werden soll
    und count die nummer von links wo gespaltet werden soll

    StringTrimRight ( "string", count )
    string: dein String in dem gesucht werden soll
    und count die nummer von rechts wo gespaltet werden soll

  • Kleines Programm zum XML einlesen und Werte ändern

    • olfibits
    • 21. März 2017 um 15:45

    Wie ich sehe in dem Screenshot, hast du schonmal dazu was designet. Bitte schicke mir mal dieses Skript.

  • AutoIt Gartenplanungs-Projekt

    • olfibits
    • 21. März 2017 um 15:32
    Zitat von Sonderbaar

    Er will es doch später kommerziell Vermarkten, wenn er älter als 14 ist :rolleyes:

    Jetzt reicht's mir aber. Solche ironischen, frechen Kommentare kannst Du Dir sparen. Das muss ich mir nicht bieten lassen.
    Dass ich das vergessen habe, ist wohl Fakt. Das kann passieren und ich wurde darauf hingewiesen. Damit ist die Sache erledigt. Sonst hätte ich auch nicht bei dem Thema einen Haken gesetzt.

    Zitat von Sonderbaar

    für mich gibts auch nix schlimmeres als ungelöste Themen in Formen zu finden...

    Dann freu Dich drüber und hör bitte auf mich hier zu provozieren.
    Ich habe das erledigt und dann musst Du nicht noch eins draufsetzen.

  • AutoIt Gartenplanungs-Projekt

    • olfibits
    • 20. März 2017 um 20:18

    und bei GUi_EVENT_CLOSE

    AutoIt
    _GDIPlus_PenDispose($hPen)
    _GDIPlus_GraphicsDispose($hGraphics)
    _GDIPlus_Shutdown()

    servus herrschaften

  • AutoIt Gartenplanungs-Projekt

    • olfibits
    • 20. März 2017 um 20:17
    AutoIt
    _GDIPlus_Startup() ;initialize GDI+
                 $hGUI = $Form1
                 Local $iWidth = 600, $iHeight = 600, $iBgColor = 0x303030 ;$iBgColor format RRGGBB
    
    
    
    
    
    
                 Local $hGraphics = _GDIPlus_GraphicsCreateFromHWND($hGUI) ;create a graphics object from a window handle
                 _GDIPlus_GraphicsSetSmoothingMode($hGraphics, $GDIP_SMOOTHINGMODE_HIGHQUALITY) ;sets the graphics object rendering quality (antialiasing)
                 Local $hPen = _GDIPlus_PenCreate(0xFFFFFFFF, 1) ;color format AARRGGBB (hex)
    
    
    
    
    
    
                 _GDIPlus_GraphicsDrawRect($hGraphics, 150.5, 50.1, 280.25, 500.75, $hPen)
    Alles anzeigen

    bitte sehr

  • Registry Key Flag setzen um Script zu steuern?

    • olfibits
    • 20. März 2017 um 20:02

    @Bitnugger Ich meine sicherer als das INI. Jetzt kapiert?
    @BugFix ja klar. Aber was ist, wenn so ein sinnfreier Schwachsinn wie TuneUp&Co. auf dem Rechner des Endbenutzers ist, der alle naselang mal die Temp files löscht?
    Ein Reg Cleaner lässt idR die Pfoten weg von den Softwareeintragen bzw ein Virus einen banalen Installed=1 Key. Meine Begründung.

  • Kleines Programm zum XML einlesen und Werte ändern

    • olfibits
    • 20. März 2017 um 19:58

    ok.
    Ich schaue mir das bis morgen an und maxh was ich kann. Bitte habe dafür 1-3 Tage Geduld.

  • AutoIt Gartenplanungs-Projekt

    • olfibits
    • 20. März 2017 um 19:33

    Danke für eure Antworten, aber ich...

    Zitat von olfibits

    hab's erledigt dank Hilfe-Datei-Beispiel.

  • Registry Key Flag setzen um Script zu steuern?

    • olfibits
    • 20. März 2017 um 19:20

    Ich verstehe. Trotzdem meine ich, dass @Simon09 überprüfen will, ob die Installation bis zu einem bestimmten Status gekommen ist. Dazwischen kann EIN Reboot liegen. Was, wenn aber z.B. zwei Reboots dazwischenliegen? Dann ist der Key weg.

    Wenn Simon wieder online ist, kann er das ja noch erklären. Selbst wenn er es so meint wie @Bitnugger und @chip fände ich es sinnvoller den Key zu behalten, falls etwas schiefgeht. Ich weiß ja nicht wie das Install-Script funktioniert.

    @Bitnugger

    Zitat von olfibits

    (...) Alternativ kannst du dazu auch mit ini_read o.ä. arbeiten, wobei ich die Registry als sichereren Speicherort vor Löschungen halte.

    Das sagt doch alles, oder? Oder formuliere ich so uneindeutig? :P
    also nochmal... Ich meinte, dass die Registry sicherer ist als eine INI. Wo soll man die dann sinnvoll speichern?
    Ich wollte Simon nur eine Alternative zur REG anbieten.

    :) lfibits

  • AutoIt Gartenplanungs-Projekt

    • olfibits
    • 20. März 2017 um 16:22

    Hab's erledigt dank Hilfe-Datei-Beispiel.

  • Kleines Programm zum XML einlesen und Werte ändern

    • olfibits
    • 20. März 2017 um 16:05

    Moment, nur mal so zum Verständnis:
    - du willst also eine AutoIt-GUI in der XML definieren
    - diese soll später mit AutoIt ausgelesen werden und die GUI soll konstruiert werden
    - und die AutoIt-GUI soll diese ändern?

  • Registry Key Flag setzen um Script zu steuern?

    • olfibits
    • 20. März 2017 um 16:01

    Hallo,

    @chip ich glaube, der Key soll danach auch noch existieren.

    @Simon09 an deiner Stelle würde ich das nicht unter RunOnce setzen. Oder muss das Programm neustarten?
    Falls ja, setze:
    [HKLM\Software\NAME_DEINER_SOFTWARE]
    CompletedInstall= 1
    Der Name kann auch variabel sein.

    Alternativ kannst du dazu auch mit ini_read o.ä. arbeiten, wobei ich die Registry als sichereren Speicherort vor Löschungen halte.

    olfibits

  • AutoIt Gartenplanungs-Projekt

    • olfibits
    • 20. März 2017 um 15:50

    Hallo,

    das...

    AutoIt
    $hGraphics=_GDIPlus_GraphicsCreateFromHWND ( $hWnd )
    _GDIPlus_GraphicsDrawRect($hGraphics, $iX, $iY, $iWidth, $iHeight , $hPen )


    ... hat so...

    AutoIt
    _GDIPlus_Startup()
    $hGraphics= _GDIPlus_GraphicsCreateFromHWND ( $Form1 )
    _GDIPlus_GraphicsDrawRect($hGraphics, 20, 20, 40, 40, 1)

    ... leider auch nicht funktioniert.
    Wie bekomme ich es hin, ein schwarzes Rechteck zu "konstruieren", wie ich es brauche?

  • Timer, Klappe die Zweite

    • olfibits
    • 18. März 2017 um 14:56

    OK. Danke für die Anregungen :)
    Ich wollte es jetzt für's erste nur nicht verkomplizieren, der Timer ruht jetzt erstmal ... bis ich auf 3.0 "upgrade"

  • Timer, Klappe die Zweite

    • olfibits
    • 18. März 2017 um 10:37

    OK. Jetzt weiß ich es auch für's nächste Mal :)

  • Timer, Klappe die Zweite

    • olfibits
    • 18. März 2017 um 08:51

    Hallo,

    ich habe den Timer, den ich schon mal hier gepostet habe, ein wenig verbessert.

    AutoIt
    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    
    
    #Region ### START Koda GUI section ### Form=Form1.kxf
    $Form1_1 = GUICreate("Timer", 318, 159, 192, 124)
    GUISetBkColor(0x944949)
    
    
    $Button1 = GUICtrlCreateButton("OK", 248, 103, 50, 50)
    GUICtrlSetFont(-1, 14, 800, 0, "MS Sans Serif")
    GUICtrlSetColor(-1, 0xFFFFFF)
    GUICtrlSetBkColor(-1, 0x000080)
    
    
    $Hours = GUICtrlCreateInput("00", 8, 64, 41, 32, BitOR($GUI_SS_DEFAULT_INPUT,$ES_NUMBER))
    GUICtrlSetFont(-1, 14, 800, 0, "MS Sans Serif")
    GUICtrlSetBkColor(-1, 0xA0AFF3)
    
    
    $Minutes = GUICtrlCreateInput("00", 96, 64, 41, 32, BitOR($GUI_SS_DEFAULT_INPUT,$ES_NUMBER))
    GUICtrlSetFont(-1, 14, 800, 0, "MS Sans Serif")
    GUICtrlSetBkColor(-1, 0xA0AFF3)
    
    
    $Seconds = GUICtrlCreateInput("00", 192, 64, 41, 32, BitOR($GUI_SS_DEFAULT_INPUT,$ES_NUMBER))
    GUICtrlSetFont(-1, 14, 800, 0, "MS Sans Serif")
    GUICtrlSetBkColor(-1, 0xA0AFF3)
    
    
    $Label1 = GUICtrlCreateLabel("TIMER", 8, 8, 95, 35)
    GUICtrlSetFont(-1, 20, 800, 4, "Times New Roman")
    GUICtrlSetColor(-1, 0xFFFFFF)
    
    
    $Label2 = GUICtrlCreateLabel("Timer einstellen:", 8, 48, 86, 17)
    
    
    $Label3 = GUICtrlCreateLabel("Std.", 56, 72, 35, 17)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    GUICtrlSetColor(-1, 0xFFFFFF)
    
    
    $Label4 = GUICtrlCreateLabel("Sek.", 240, 72, 51, 17)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    GUICtrlSetColor(-1, 0xFFFFFF)
    
    
    $Label5 = GUICtrlCreateLabel("Min.", 144, 72, 47, 17)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    GUICtrlSetColor(-1, 0xFFFFFF)
    
    
    $Label7 = GUICtrlCreateLabel("Bereit.", 8, 120, 200, 28)
    GUICtrlSetFont(-1, 14, 800, 0, "MS Sans Serif")
    GUICtrlSetColor(-1, 0xFFFFFF)
    
    
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###
    
    
    While 1
    	$nMsg = GUIGetMsg()
    	Switch $nMsg
    		Case $GUI_EVENT_CLOSE
    			Exit
    		 Case $Button1
    			; Sekunden berechnen
    			$i = (GUICtrlRead($Hours) * 3600) + (GUICtrlRead($Minutes) * 60) + GUICtrlRead($Seconds)
    
    
    			; Button "kaltstellen", dass kein neuer Timer gesetzt werden kann
    			GUICtrlSetState($Button1,$GUI_DISABLE)
    
    
    	        	For $c = $i To 0 Step -1
    
    
    			   ; Countdown und eine Sekunde Pause.
    			   GUICtrlSetData($Label7, "Timer läuft ("&$c&"s)")
    			   Sleep(1000)
    
    
    			   If $c=0 Then
    				  ; Timeout mit Zeitstempel anzeigen, falls der Benutzer nicht weiß, wie lange der Timer schon abgelaufen ist.
    				  GUICtrlSetData($Label7, "Timeout ("&@HOUR&":"&@MIN&":"&@SEC&")")
    				  MsgBox(0, "Timeout", "Timeout ("&@HOUR&":"&@MIN&":"&@SEC&")")
    
    
    				  ; Status auf Bereit setzen und Button "wiederbeleben"
    				  GUICtrlSetData($Label7, "Bereit.")
    				  GUICtrlSetState($Button1,$GUI_ENABLE)
    			   EndIf
    			Next
    	EndSwitch
    WEnd
    Alles anzeigen

    Falls wer die EXE-Releases haben will (auf Englisch/Deutsch ist egal, hab jetzt nur die Deutsche Version gepostet), bitte melden.

    Nutzungsbedingungen

    Spoiler anzeigen


    (Das macht dann einen [Blockierte Grafik: http://kaffee.bilderu.de/bilder/kaffee-c-2.jpg] pro Anfrage :ironie: )


    :D:D

    Servus,
    Olfibits

  • AutoIt Gartenplanungs-Projekt

    • olfibits
    • 14. März 2017 um 17:53

    Entschuldige. Habe das aus einem anderen Forum, in dem ich IT-technisch unterwegs bin kopiert.
    Wird sofort erledigt!
    Danke für den Hinweis.

  • AutoIt Gartenplanungs-Projekt

    • olfibits
    • 13. März 2017 um 17:27

    @BugFix wie könntest du dir das dann vorstellen? Mein Code war jetzt dieser...

    AutoIt
    Case $NeuWeg
     _GDIPlus_Startup()
     _GDIPlus_RectFCreate(10, 10, 40, 40)

    ... was jetzt trotz include nicht funktioniert hat. ?(

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™