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

Beiträge von BugFix

  • Umgebungsvariablen

    • BugFix
    • 2. April 2021 um 17:39

    Update:

    Ich habe nun festgestellt, dass eine dauerhafte Änderung der Pfade gar nicht erforderlich ist, wenn Pfad setzen und Programmaufruf im selben Kontext stattfinden.

    Deshalb habe ich mich nun für folgendes Vorgehen entschieden:

    Code
    :: =================================================================================================
    :: Temporäre Umgebungsvariablen für SciTE setzen
    :: =================================================================================================
    :: Es gibt 2 Umgebungsvariablen, "SciTE_HOME" (standardmäßig bei SciTE4AutoIt nicht gesetzt)
    :: und "SciTE_USERHOME" (standardmäßig: "C:\Users\<USER>\AppData\Local\AutoIt v3\SciTE").
    :: Wenn nur SciTE_HOME gesetzt ist, sucht SciTE in diesem Ordner sowohl nach "SciTEGlobal.properties"
    :: als auch nach "SciTEUser.properties" - DAS ermöglicht ein Arbeiten mit verschiedenen Versionen.
    :: - "SciTE_USERHOME" wird gelöscht
    :: - "SciTE_HOME" wird gesetzt auf den Pfad der SciTE-Version
    :: =================================================================================================
    :: Die Hauptinstallation von SciTE (SciTE4AutoIt) bleibt also mit ihren Properties unberührt.
    :: In anderen SciTE-Versionen ist es wichtig, diese nicht per Installer zu installieren, sondern
    :: immer die *.zip-Variante zu wählen. Dann ist gewährleistet, dass Properties-Pfade nicht gesetzt werden.
    :: User- und Global.properties erstelle ich dann im Pfad der SciTE.exe.
    :: =================================================================================================
    :: Vorteil:
    :: Nach dem Beenden der Nicht-SciTE4AutoIt-Version kann ich SciTE4AutoIt ganz normal aufrufen, da die 
    :: Änderungen nur temporär sind.
    :: =================================================================================================
    Alles anzeigen
    AutoIt: SciTE_Starter.au3
    ;-- TIME_STAMP   2021-04-02 17:24:31
    
    Opt('MustDeclareVars', 1)
    #include <GuiListBox.au3>
    #include <WindowsConstants.au3>
    #include <EditConstants.au3>
    
    
    #cs   "SciTE_Starter.ini"     !!! ALLE PFADE BEZIEHEN SICH AUF MEINE INSTALLATION !!!
    [SciTE4AutoIt]
    name=SciTE4AutoIt v3.7.3
    path=C:\Program Files (x86)\AutoIt3\SciTE
    file=SciTE.exe
    
    [SciTE_5.0_x86]
    name=SciTE 5.0 32bit
    path=C:\CODE\SciTE5.0\SciTE_5.0_x86
    file=SciTE32.exe
    
    [SciTE_5.0_x64]
    name=SciTE 5.0 64bit
    path=C:\CODE\SciTE5.0\SciTE_5.0_x64
    file=SciTE.exe
    #ce
    
    Global $INI = @ScriptDir & '\SciTE_Starter.ini'
    Global $aSciTEVer[2][3] = [[1],['SciTE4AutoIt v3.7.3','C:\Program Files (x86)\AutoIt3\SciTE','SciTE.exe']]
    Global $aSecNames, $aSec, $iSel
    If Not FileExists($INI) Then
        IniWrite($INI, 'SciTE4AutoIt', 'name', 'SciTE4AutoIt v3.7.3')
        IniWrite($INI, 'SciTE4AutoIt', 'path', 'C:\Program Files (x86)\AutoIt3\SciTE')
        IniWrite($INI, 'SciTE4AutoIt', 'file', 'SciTE.exe')
    Else
        $aSecNames = IniReadSectionNames($INI)
        For $i = 1 To $aSecNames[0]
            If $aSecNames[$i] = 'SciTE4AutoIt' Then ContinueLoop
            $aSciTEVer[0][0] += 1
            ReDim $aSciTEVer[$aSciTEVer[0][0]+1][3]
            $aSciTEVer[$aSciTEVer[0][0]][0] = IniRead($INI, $aSecNames[$i], 'name', '')
            $aSciTEVer[$aSciTEVer[0][0]][1] = IniRead($INI, $aSecNames[$i], 'path', '')
            $aSciTEVer[$aSciTEVer[0][0]][2] = IniRead($INI, $aSecNames[$i], 'file', '')
        Next
    EndIf
    
    Global $hGui = GUICreate('SciTE-Starter', 400, 250)
    Global $list = GUICtrlCreateList('', 10, 40, 380, 170, BitOR($WS_BORDER, $WS_VSCROLL)) ; darf nicht sortiert werden! SciTE4AutoIt muss an Pos. 1 sein.
    Global $hList = GUICtrlGetHandle($list)
    Global $showPath = GUICtrlCreateInput('', 10, 220, 380, 20, $ES_READONLY)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    GUICtrlSetFont(-1, Default, Default, Default, 'Consolas')
    Global $start = GUICtrlCreateButton('Start', 310, 10, 80, 24)
    
    _ListSet()
    
    GUISetState()
    
    While True
        Switch GUIGetMsg()
            Case -3
                Exit
            Case $list
                $iSel = _LB_GetIndexSelected($hList)
                If $iSel = -1 Then
                    GUICtrlSetData($showPath, '')
                Else
                    GUICtrlSetData($showPath, $aSciTEVer[$iSel +1][1] & '\' & $aSciTEVer[$iSel +1][2])
                EndIf
            Case $start
                $iSel = _LB_GetIndexSelected($hList)
                If $iSel = -1 Then
                    MsgBox(0, 'FEHLER', 'Keine Version markiert!')
                Else
                    _SetEnvAndRun($iSel)
                    Exit
                EndIf
        EndSwitch
    WEnd
    
    
    Func _ListSet()
        _GUICtrlListBox_ResetContent($hList)
        For $i = 1 To $aSciTEVer[0][0]
            _GUICtrlListBox_AddString($hList, $aSciTEVer[$i][0])
        Next
    EndFunc
    
    Func _LB_GetIndexSelected($_hWnd)
        Local $count = _GUICtrlListBox_GetCount($_hWnd)
        If $count = 0 Then Return -1
        For $i = 1 To $count
            If _GUICtrlListBox_GetSel($_hWnd, $i -1) Then Return $i-1
        Next
        Return -1
    EndFunc
    
    Func _SetEnvAndRun($_i)
        Local Static $UserHomeAu3 = EnvGet('SciTE_USERHOME')
        Local $path = $aSciTEVer[$_i +1][1]
        Local $file = $aSciTEVer[$_i +1][2]
        If $_i > 0 Then
            EnvSet('SciTE_USERHOME','')
            EnvSet('SciTE_HOME', $path)
        Else
            EnvSet('SciTE_USERHOME', $UserHomeAu3)
            EnvSet('SciTE_HOME', '')
        EndIf
        ShellExecute('"' & $path & '\' & $file & '"')
    EndFunc
    Alles anzeigen
  • ConEmu & FarManager

    • BugFix
    • 30. März 2021 um 14:15

    Wer (wie ich) noch den Norton Commander kennt und schätzt, wird sicher den FarManager (mit seinen vielen PlugIn-Möglichkeiten) lieben.

    Ich verwende als Shell ConEmu. Die beiden Programme sind aufeinander abgestimmt und lassen sich verheiraten.

    Wer Interesse hat, hier der Weg dorthin:

    FarManager & ConEmu (portable "Installation")

    FarManager HowTo: "https://conemu.github.io/en/FarManager.html"

    • Download FarManager x86 (auch für den PC mit x64-OS!! - nicht alle PlugIns funktionieren in der x64 Version)
      Link: "https://www.farmanager.com/download.php?l=en" (die Archiv-Version)
    • Archiv entpacken an gewünschtem Ort
    • Download ConEmu
      Link: "https://www.fosshub.com/ConEmu.html"
      Preview+Alpha, Portable (32-bit, 64-bit)
    • Archiv entpacken an gewünschtem Ort
    • "ConEmu.exe" (oder "ConEmu64.exe") starten
    • Menüleiste: Auswahlpfeil neben dem grünen Plus
    • <Setup Tasks>
    • <+> - Neuer Eintrag wird erstellt als: {Group_nn}
    • Namen ändern zu "FarManager"
    • KEINE Taskparameter eintragen!
    • Im Editfeld "Commands" den Programmaufruf mit den Startpfaden für aktives/passives Fenster übergeben.
    • Sieht bei mir so aus: C:\CODE\Apps\FarManager\Far.exe "C:\Code" "C:\Users\BugFix"
    • <Save settings>

    Nun existiert ein neuer Menüeintrag um den FarManager in ConEmu zu starten.

    Und so sieht es dann aus:

    ConEmu_FarManager.png


    EDIT:

    Einige weitere interessante Konfigurationshinweise für den FarManager sind hier zu finden: http://chuchuva.com/pavel/tag/far-manager/

  • FreeBasic Debug Hilfe

    • BugFix
    • 30. März 2021 um 11:44
    Zitat von UEZ

    Was ist das für eine EMU Software?

    ConEmu - mein Favorit für die CMD.

    EDIT

    btw. - in Verbindung mit FarManager hat man dann endlich wieder einen vernünftigen Datei -Browser im Stile des Norton Commander.

    FarManager.png

  • FreeBasic Debug Hilfe

    • BugFix
    • 30. März 2021 um 10:43
    Zitat von UEZ

    Kannst du bitte diese auch testen?

    Radio_Stations_double.png

    Ein "schöner" Soundmix bei Parallelnutzung. 8o

    In der CMD funktioniert alles, wie gewollt (Key-Commands).

    In der EMU werden keine Key-Commands angenommen. Beenden kann ich nur mittels Prozeß-Kill.


    Die "Radio Station amigaremix.com.exe" hat aber in der EMU ein weiteres Problem:

    Radio_Stations_double2.png

  • Tester gesucht für PSPad4AutoIt3 (Editor IDE)

    • BugFix
    • 30. März 2021 um 10:27
    Zitat von Professor Bernd

    PSPad4AutoIt3 wird voll portabel!

    Jein, denn:

    Zitat von Professor Bernd

    Alles läßt sich "rückstandslos" entfernen: Wenn man zum Ausprobieren die .au3 Datei-Endung mit PSPad verknüpft (über das Tool im AutoIt3-Menü!), kann man es mit dem selben Tool wieder rückgängig machen

    Es liegt in der Natur der Dinge, dass ich zum Verknüpfen von Dateiendungen im System Änderungen vornehmen muss. Das stellt schon eine Installation dar. - Die andere Seite der Medaille ist natürlich, dass der Anwender sich nicht waschen kann, ohne nass zu werden. Ein bestimmter Komfortanspruch setzt auch entsprechende Maßnahmen voraus. Insofern ist die Bezeichnung als portabel wohl gerechtfertigt.

    Ob man Portabilität als DAS Merkmal einer Software sieht, liegt im Auge des Betrachters. Ich persönlich bevorzuge portable Anwendungen. Jeder Eintrag in der Registry ist ein Eintrag zuviel. MS hat es bisher nicht geschafft (gewollt?) die Registry mal etwas zu modernisieren, z.B. mit so etwas Banalem wie einem Anwendungszähler: Programm will eine Dll installieren - schon da - Zähler erhöhen (beim Deinstallieren runterzählen) - nicht da - Dll installieren. Aber ich schweife ab...

    Zitat von Professor Bernd

    Über 60 Zugriffe auf diesen Thread und keine einzige Antwort!

    Auch wenn es kein Trost für dich ist, aber vielleicht mal eine Überlegung warum das so sein könnte:

    • Die User, die nur gelegentlich programmieren, werden nicht mit einem anderen Editor spielen wollen.
    • Wer regelmäßig programmiert und mit seinem Editor zufrieden ist, sieht auch keine große Veranlassung zum Testen.
    • Die "Suchenden", die mit ihrem Editor mehr machen wollen als nur Programmieren, sondern diesen mit eigenen Erweiterungen zu einem tatkräftigen Werkzeug gestalten möchten, wissen natürlich (spätestens aus deinen Schilderungen), dass PSPad dafür hartes Brot ist.
    • So bleiben als wirkliche Zielgruppe jene User, die gerade anfangen und sich noch nicht für einen Editor entschieden haben (z.B. jene, die in H&U auftauchen und feststellen, dass sie gar nicht SciTE4AutoIt installiert haben)

    Momentan stecke ich in Vorbereitungen fürs QM-Audit, da bin ich etwas knapp mit meiner Zeit für eine umfassende Prüfung. Wenn das durch ist, bin ich aber gern bereit mal zu testen.

  • FreeBasic Debug Hilfe

    • BugFix
    • 30. März 2021 um 09:51
    Zitat von UEZ

    Sodele, müsste jetzt auch auf Win7 "richtig" aussehen.

    Ja, klappt.

    ABER: Die Datei kann nicht aus der Konsole aufgerufen werden, wenn ich nicht vorher in das Verzeichnis wechsele (Bass.dll wird nicht gefunden). Hier vielleicht vor dem Initialisieren der Bass.dll intern den Ordner der exe abfragen und als WorkingDir setzen.

    Beim Start aus dem Datei-Browser wird ja das korrekte WorkingDir mitgegeben, beim Aufruf über Win+R ebenfalls.

    Zitat von UEZ

    Bitte mal testen + Download Funktion (einmal auf "d" drücken). Funzt der Download?

    Klappt auch.

    Aber eines ist mir aufgefallen (Windows Command):

    Anwendung kann nicht über "Schließen-Button" beendet werden. Man kann nur minimieren oder per Kontextmenü Schließen (gewollt?). ;)

    Bei Verwendung von Console Emulator ist die Amiga Grafik vollständig eingebettet (auf dem Screenshot sieht das 2-farbig aus - real ist es aber derselbe Farbton).

    Mit Rechts-Klick in die Shell wird hier sofort der Download eingeleitet und anschließend ein neuer Titel gesucht und gestartet.

    Radio_Station1.png

    EDIT:

    Der Orange-Ton im Emulator kommt von der Vermischung mit meinen Basisfarben. Original sieht es in der Shell so aus:

  • FreeBasic Debug Hilfe

    • BugFix
    • 28. März 2021 um 11:25
    Zitat von UEZ

    Nachdem ich "Method 2: Microsoft Update Catalog" angewendet habe, klappt's auch mit dem Tool!

    Wie kann man denn von dort ein Update herunterladen?

    - Klick auf Button <Herunterladen> öffnet ein Dialogfenster

    - Klick auf url im Dialog blendet ein: Herunterladen von ...

    - ABER: es gibt keinen Download

    Seehr verwirrend. :Face:

  • FreeBasic Debug Hilfe

    • BugFix
    • 28. März 2021 um 10:35

    Gestartet aus der Shell:


    Und hier im Datei-Browser gestartet:


    EDIT

    Ich habe jetzt mal die Einträge für TLS 1.1 / 1.2 erstellt (und den MS-Fix angewandt).

    Dabei kommt dann dieses raus:

    radio_station3.png

  • Prozedureinsprungpunkt "luaL_register"

    • BugFix
    • 27. März 2021 um 17:47
    Zitat von Musashi

    "Wäre es für Jos ohne großen Aufwand möglich, diesen Fix einzubauen ?"

    Das kann ich leider nicht mal ansatzweise beurteilen. In der Linuxvariante ist es wohl nur eine Codezeile. Könnte also für Windows ähnlich sein.

  • Prozedureinsprungpunkt "luaL_register"

    • BugFix
    • 27. März 2021 um 17:17
    Zitat von Musashi

    Der o.a. Link startet erneut diesen Thread.

    Das ist echt witzig. Denn im Link stehen für Text und Link dieselben (korrekten) Angaben.

  • Prozedureinsprungpunkt "luaL_register"

    • BugFix
    • 27. März 2021 um 13:35
    Zitat von Professor Bernd

    um das Aufblitzen des CMD-Fensters bei "os.execute" zu verhindern.

    Das ist ja in neuer SciTE-Version möglich mit

    Code
    in SciTEUser.properties:
    create.hidden.console=1

    (Bin mir nicht sicher, ob die letzte SciTE4AutoIt das implementiert hat, da ich diese nicht nutze)

    Der Fix, mit dem das Laden von Dll ermöglicht wird (https://sourceforge.net/p/scintilla/bugs/2058/) ist beim Kompilieren von SciTE anzuwenden, kann also von uns nicht genutzt werden. Da müsste Jos tätig werden. - Aber er hat sich ja im Bugtracker klar positioniert: "Wont fix" (wird nicht behoben).

    Ich hatte bisher noch keine Lust so tief in die Materie einzutauchen, dass ich mir SciTE selbst kompiliere - aber vielleicht ist das die einzige Lösung.

  • Hot Hot Hotfolder?

    • BugFix
    • 21. März 2021 um 13:58
    Zitat von Musashi

    Ob das ein weiteres #include rechtfertigt muss wohl jeder selbst entscheiden.

    Dann mit RegEx, spart das Include:

    AutoIt
    Global $sNotifyDir1 = 'C:\bla\blub'
    Global $sNotifyDir2 = 'C:\bla\blub\'
    
    ConsoleWrite(StringRegExpReplace($sNotifyDir1, '\\*$', '') & '\' & @CRLF)
    ConsoleWrite(StringRegExpReplace($sNotifyDir2, '\\*$', '') & '\' & @CRLF)
  • Ini / Ini read

    • BugFix
    • 21. März 2021 um 12:03
    Zitat von Peter S. Taler

    @B8ugfix was hast Du getriebne, dami es funktioniert?

    Das:

    AutoIt
    Global $INI = @ScriptDir & '\test_umlaute.ini' ; INI existiert noch nicht
    Iniwrite($INI, 'main', 'Schlüssel', 'ÄÖÜ')
    
    ;~ ConsoleWrite(IniRead($INI, 'main', 'Schlüssel', 'NONE') & @CRLF)
    ; Output: ÄÖÜ
    
    ;============================================================
    ; jetzt von Hand INI mit Notepad geöffnet
    ; neuer Schlüssel: "Gefäß=Kübel" angelegt
    
    ConsoleWrite(IniRead($INI, 'main', 'Gefäß', 'NONE') & @CRLF)
    ; Output: Kübel
    Alles anzeigen

    Also ich kann keine Probleme mit Umlauten ausmachen.

  • Ini / Ini read

    • BugFix
    • 19. März 2021 um 19:22

    Also inzwischen brauchst du keine Kodierung explizit angeben. Habs gerade noch mal getestet: Sowohl im Schlüssel als auch im Wert lassen sich problemlos Umlaute verwenden. Zugriff mit IniWrite / IniRead ohne Probleme.

  • In SciTE: Suchen / Suchen & Ersetzen mit Regulären Ausdrücken

    • BugFix
    • 19. März 2021 um 18:35

    Im Normalfall kommt man mit rein stringbasiertem Suchen / Ersetzen gut über die Runden. Dann braucht man aber doch mal Reguläre Ausdrücke und bemerkt, dass das in SciTE nicht so läuft, wie gewohnt.

    Der Hintergrund:

    SciTE verwendet eine sehr rudimentäre Basisimplementierung von RegEx. Die Regeln sind zwar in den überwiegenden Punkten, wie bekannt aus AutoIt - aber es gibt ganz markante Abgrenzungen. Deshalb hier die Regeln.

    Zitat

    In a regular expression, using Scintilla's base implementation, special characters interpreted are:

    . Matches any character

    \( This marks the start of a region for tagging a match.

    \) This marks the end of a tagged region.

    \n Where n is 1 through 9 refers to the first through ninth tagged region when replacing. For example, if the search string was Fred\([1-9]\)XXX and the replace string was Sam\1YYY, when applied to Fred2XXX this would generate Sam2YYY. \0 refers to all of the matching text.

    \< This matches the start of a word using Scintilla's definitions of words.

    \> This matches the end of a word using Scintilla's definition of words.

    \x This allows you to use a character x that would otherwise have a special meaning. For example, \[ would be interpreted as [ and not as the start of a character set.

    [...] This indicates a set of characters, for example, [abc] means any of the characters a, b or c. You can also use ranges, for example [a-z] for any lower case character.

    [^...] The complement of the characters in the set. For example, [^A-Za-z] means any character except an alphabetic character.

    ^ This matches the start of a line (unless used inside a set, see above).

    $ This matches the end of a line.

    * This matches 0 or more times. For example, Sa*m matches Sm, Sam, Saam, Saaam and so on.

    + This matches 1 or more times. For example, Sa+m matches Sam, Saam, Saaam and so on.

    Regular expressions will only match ranges within a single line, never matching over multiple lines.

    Alles anzeigen

    Capture groups sind also mit \(...\) zu markieren, statt mitt (..) und auch ganz wichtig: Ausschliesslich Zugriff auf jeweils eine Zeile.

    Hier mal ein fiktives Bsp.

    Code
    reinkopierter Text:
    
    var1 Local 0xA1
    var2 Local 0x02
    var3 Local 0xF2
    var4 Local 0x4B
    var5 Local 0x5C
    
    Ziel: Global Const $var.. = 0x..
    
    Suchen:   "^\([a-z0-9]+\)[^0]+\(0x[A-F0-9]+\)"
    Ersetzen: "Global Const $\1 = \2"
    (Eingabe in den Inputs ohne die ")
    Alles anzeigen
  • FreeBasic Debug Hilfe

    • BugFix
    • 15. März 2021 um 11:59
    Zitat von UEZ

    So, wie sieht es mit dieser Version für Win7 aus?

    unverändert

  • FreeBasic Debug Hilfe

    • BugFix
    • 15. März 2021 um 10:53
    Zitat von UEZ

    wie sieht es mit dieser Version aus?

    dito :(

  • FreeBasic Debug Hilfe

    • BugFix
    • 15. März 2021 um 10:28
    Zitat von UEZ

    Auch die Exe mal mit Admin Rechten gestartet?

    Ja, dasselbe Ergebnis.

  • FreeBasic Debug Hilfe

    • BugFix
    • 15. März 2021 um 09:30

    uez_radiostation.PNG

    Win7 Pro x64

  • Interessanter Artikel von Wolfgang Thierse

    • BugFix
    • 15. März 2021 um 09:24
    Zitat von Moombas

    gender neutral wäre: das Mauer

    Nicht wirklich. Das wäre Diffamierung von weiblicher und männlicher Form und die Priorisierung des diversen Geschlechts. :rofl:

    Es gibt nur einen wirklich konsequenten Weg:

    - Abschaffung der bisherigen, geschlechtsbezogenen Artikel

    - Einführung eines Ersatzartikels für alle Geschlecher - ich würde vorschlagen: det

    - alle Wörter werden auf ihren Wortstamm heruntergebrochen und mit einem All-Gender-Star ergänzt:

    z.B.

    Bürgemeister: det Bürgermeist*

    Radfahrer: det Radfahr*

    Student: det Stud*

    Was für eine leuchtende Zukunft der deutschen Sprache. Natürlich müssen alle Werke deutscher Kultur auch gendergerecht umgeschrieben werden:

    "Wer reitet so spät durch Nacht und Wind

    es ist det Elter* mit sein* Kind"

    8o

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™