ConvertCopyRun

  • Habe mal wieder gebastelt:


    "ConvertCopyRun" ist ein Tool, welches hauptsächlich einen Editor für Autohotkey-Scripte enthält. Darüber hinaus kann das bearbeitete Script gleich in eine ausführbare Datei (*.exe) für den PC sowie auch für das mobile Gerät erstellt werden - alles in einem Guss.


    Hintergrund war einfach, daß mir Mortscript zwar gefällt, es aber bezüglich grafischer Benutzer-oberfläche nichts bietet. Daher habe ich mich etwas mit Autohotkey beschäftigt, welches das kann und einen leichteren Einstieg diesbezüglich bietet, als andere Sprachen.
    Ein mitgeliefertes Beispiel/Sample - eine (weitere) Klicksperre - demonstriert dies.


    ConvertCopyRun war ursprünglich kein Editor. Da ich diesen aber im Handling für unverzichtbar hielt, habe ich da noch einen reingebaut. Die Compiler-funktionen liefern die zu Autohotkey gehörenden Compiler.


    Ihr müsst das Tool zuerst in einen beliebigen Ordner (z.B. "CCR") entpacken und starten. Dann unter "Hilfe" zumindest die zwei Autohotkey-Downloads durchführen und die dann entpackten Ordner in den CCR-Ordner schieben. Bestimmt unter "Einstellungen" den Pfad zu einem Ordner auf dem Mobilen Gerät.
    Navi über ActiveSynch mit PC verbinden . Ladet dann das mitgelieferte Script und compiliert es als WinCe-EXE.
    Abschließend kann das Programm auf dem Navi gestartet werden.


    zum Download


    ___________________________


    Nachträgliches kleineres Update: Update des Syntax-Highlighting von Ralf25


    21.06.2012: neue Version; mit einfacher Umstellung der Codierung und der Compilerart (AHK Basic und AHK L); diverse Änderungen und paar Bugs beseitigt

  • Ich hab's im Vorfeld ja schon testen können! :top_002: Tolle Geschichte, die Du da wieder ausgetüftelt hast, Adolar! :Respekt:

  • Dem kann ich nur zustimmen , ich komme von Autohotkey und dein CCR gar nicht mehr weg .


    Dein CCR ist eine wahre Bereicherung für unsere Navis , eigentlich wie immer deine Tools aber das CCR gefällt mir besonders gut .
    MortScript´er werden ihre helle Freude haben . :icon_mrgreen:


    Danke Adolar


    Gruß Manni

  • Sieht sehr interessant aus,


    aber ich bekomme eine Fehlermeldung, wenn ich das Script für Windows CE compiliere:
    "Eine Unterschlüsselstrucktur kann nicht gelöscht werden, da der Unterschlüssel nicht vorhanden ist."


    habe mich an die Anweisungen im 1. Post gehalten, die beiden Downloads gemacht, und unter Einstellungen einen Ordner auf dem Navi definiert.
    Benutze Windows 7 64 bit.

  • @XXMrHyde


    kannst du genau angeben, wann das passiert? Bildschirmausdruck?


    Ich habe noch eine Vermutung...
    Starte mal AHK2Exe in einem der beiden Compilerordner.
    Mach dort mal manuell eine Wandlung zur Exe.
    Dann alles Schließen und wieder mal mit CCR probieren.


    Es sollte dann klappen.

  • Danke Adolar,


    mit der manuellen Wandlung über die AHK2Exe hats geklappt, funktioniert jetzt auch ohne Fehlermeldung über CCR.


    Zur info: die Fehlermeldung kam direkt nach dem Aufruf über CCR - Compiler - "Exe für mobiles Gerät bilden", hatte dann bei der Fehlermeldung die Wahl zwischen weiter, beenden und Details, bei weiter, kommt das "Statusfenster" mit "compiliere script für exe" oder so ähnlich, aber es passiert nichts, und CCR lässt sich nur noch über den Taskmanager beenden. Bei beenden, beendet sich CCR allerdings wie es soll.


    Edit:
    Screenshot kann ich jetzt nicht mehr machen, es funktioniert ja.

    Einmal editiert, zuletzt von XXMrHyde ()

  • Kann mir jemand bitte helfen ?


    Ich weis echt nicht wohin mit solchen Fragen ( Beiträgen ) , so Müll ich nur diesen Thread voll , ein eigener Thread für AHK Script geht wahrscheinlich sofort unter.



    Code
    sourcefile_tag = horizon_3d_day.png
    sourcefile_nacht = 	horizon_3d_night.png		
    sourcefolder = E:\MapColor-PC\My Flash Disk\navigation\gui\	
    savefolder =  E:\Eigene Bilder\Eigene Bilder2\		
    Hz :=



    ;Das geht schon mal , 16 mal Gui, Add, Picture, gespart .




    ;So will es nicht klappen , dann hätte ich davon auch 16 gespart .
    ;Darf ich überhaupt in der Sprungmarke Hori%Hz%: eine Variable setzen ?



    ;OK so geht es , macht nur nicht schön .


    Weis da jemand ein Lösung ?


    Hier mal ein VIDEO mit kopieren auf PC , direkt auf Navi geht dank OpenNetWrap auch problemlos .


    Die unteren beiden Horizonte zwischen Button rechts links sind die Originale .


    Edit:
    Ach so , die Horizonte haben IMO nur Zahlen als File-Namen ungrade 1.png 3.png 5.png und so weiter für Tag und für grade 2.png 4.png 6.png und so weiter für Nacht .
    Das möchte ich irgendwann auch noch ändern so das wenigstens 1berlin_day.png und 1berlin_night.png erlaubt ist .


    so geht es nicht .

    Code
    Gui, Add, Picture, x0 y%pos_y% w237 h-1 gHori%Bild_tag%, %savefolder%%Bild_tag%[COLOR='#FF0000']*[/COLOR].png




    Gruß Manni

  • Mach ich , habe auch schon für zweite Seite Horizonte muss komischerweise zweimal geklickt werden , anzeigen macht es aber kopier immer noch die erste Seite der Horizonte .


    Edit:
    Hori19: und Hori20: sind nicht in der Loop , sind die Original Horizonte .


    Gruß Manni

  • Hallo Manni,


    Hier mal meine Optimierungen:



    Code
    ; Script Horizonttauscher; vorher auf Höhe des Scriptes zwei Ordner anlegen:; in Ordner Horizonte_Quellbilder die Bilddateien; in Ordner Horizonte_Ziel\My Flash Disk\navigation\gui\ wird das Ergebnis kopiertGosub, ReadPreprocs                      ;Sprünge zu diversen UnterprogrammenGosub, ReadVarsGosub, FormStartReadPreprocs: #Persistent                        ;bewirkt das permanente Laufen eines Scriptes #NoEnv                         ;verhindert Prüfung von leeren Variablen #SingleInstance force                     ;bewirkt die Einzelinstanz eines Scriptes #NoTrayIcon                        ;Verhindert das Ercheinen des Tools im Tray(Trayicon)Return                         ;Rücksprung aus der RoutineReadVars:                        ;Voreinstellung  von Variablen AppName = Horizonttauscher_PC Version = 1. Language = DE inipfad = %A_WorkingDir%\%AppName%.inisourcefile_tag = horizon_3d_day.png sourcefile_nacht =  horizon_3d_night.png sourcefolder = %A_WorkingDir%\Horizonte_Quellbilder\  savefolder =  %A_WorkingDir%\Horizonte_Ziel\My Flash Disk\navigation\gui\ IfExist, \My Flash Disk    {  sourcefolder = \My Flash Disk\Programme\Horizonte\  savefolder = \My Flash Disk\Navigation\gui\  }ReturnFormStart:                         SendMode Input                        SetBatchLines, -1                       Gui +LastFound -MinimizeBox ;+AlwaysOnTop             Gui, font, s9, Arial Seite_aktuell :=1 Bild_Tag := 1 Bild_Nacht := 2 pos_y := 0 Loop, 9  {  Gui, Cancel  Gui, Add, Picture, x0 y%pos_y% w237 h-1 gklick_tag vbild%Bild_Tag%, %sourcefolder%%Bild_Tag%.png  Gui, Add, Picture, x237 y%pos_y% w237 h-1 gklick_nacht vbild%Bild_Nacht%, %sourcefolder%%Bild_Nacht%.png  Bild_Tag := Bild_Tag + 2  Bild_Nacht := Bild_Nacht + 2  pos_y := pos_y + 24  }  Gui, Add, Picture, x30 y216 w207 h24 gklick_tag vbild19, %sourcefolder%Original_3d_day.png  Gui, Add, Picture, x237 y216 w207 h24 gklick_nacht vbild20, %sourcefolder%Original_3d_night.png  Gui, Add, Button, x0 y216 w30 h24 gSeite1 -wrap,<  Gui, Add, Button, x444 y216 w30 h24 gSeite2 -wrap,>  Gui, Submit, NoHide  Gui, Show         , x0  y0  w474 h240, Horizonttauscher V.1returnneueSeite: bildnummer := 0 Loop, 9 { bildnummer := bildnummer + 1 GuiControl, , bild%bildnummer%, %sourcefolder%%Bild_Tag%.png bildnummer := bildnummer + 1 GuiControl, , bild%bildnummer%, %sourcefolder%%Bild_Nacht%.pngBild_Tag := Bild_Tag + 2 Bild_Nacht := Bild_Nacht + 2pos_y := pos_y + 24 } Gui, Submit, NoHide;msgbox %Bild_Tag% `n  %bildnummer%returnSeite1: gosub, SeitenwechselReturnSeite2: gosub, SeitenwechselReturnSeitenwechsel: if Seite_aktuell =1  {  Seite_aktuell :=2  Bild_Tag := 21  Bild_Nacht := 22  } else  {  Seite_aktuell :=1  Bild_Tag := 1  Bild_Nacht := 2  } pos_y := 0 SoundBeep, 750, 500 GoSub, neueSeitereturnklick_tag:  if(RegExMatch(A_GuiControl,"(\d*)$", out))   { ;// Control Nummer (index) aus A_GuiControl extrahieren    imgIndex := out1 + ((Seite_aktuell-1) * 20) ; und in imgIndex schreiben ;msgbox %sourcefolder%%imgIndex%.png SoundBeep, 750, 500 FileCopy, %sourcefolder%%imgIndex%.png, %savefolder%horizon_3d_day.png , 1   ; Kopieren und überschreiben.   ;run, "opennetwrap.exe" "CopyFileToDevice" "%sourcefolder%%imgIndex%.png" "%savefolder%horizon_3d_day.png" "1" "500" }Returnklick_nacht:  if(RegExMatch(A_GuiControl,"(\d*)$", out))   { ;// Control Nummer (index) aus A_GuiControl extrahieren    imgIndex := out1 + ((Seite_aktuell-1) * 20) ; und in imgIndex schreiben ;msgbox %sourcefolder%%imgIndex%.png SoundBeep, 750, 500 FileCopy, %sourcefolder%%imgIndex%.png, %savefolder%horizon_3d_night.png , 1   ; Kopieren und überschreiben.   ;run, "opennetwrap.exe" "CopyFileToDevice" "%sourcefolder%%imgIndex%.png" "%savefolder%horizon_3d_night.png" "1" "500" }ReturnGuiClose:                     ; Aktionen beim Schließen des ToolsExitApp
  • Perfekt Adolar


    Da sieht man wieder mal wer es drauf hat , danke . :Respekt: :002:


    Ich musste nur die Bilder im Ordner Horizonte_Quellbilder ein bisschen umnummerieren , die 19 und 20 musste für Original bleiben so auch für die zweite Seite 39 40 .


    Wenn wir das so mit Bilder aufs Navi nicht hinbekommen mit DLL und so dann bleibt das für PC , ich mache es dann aber größer 800X600 oder so .


    So ist das ein ideales Grundgerüst für alle möglichen tausch Sachen , Autos 2D 3D , Höhenprofil-Hintergründe Tag Nacht .


    Hier noch mal ein VIDEO Horizonttausch mit zwei Seiten , Tag Nacht ist nicht zwingend vorgegeben kann getrennt unterschiedlich gewählt werden .


    Und die Bilder in richtiger Zusammenstellung .


    Gruß Manni

  • manni,


    Bilder gehen, allerdings nur BMP und diese werden
    nicht verkleinert dargestellt trotz "h24" und "w237" !
    Aber zumindest geht es :icon_mrgreen:

  • @ Adolar


    Hast recht mit ***.bmp geht es aber nur wenn ich h-1 weg lasse damit hängt das Navi sich auf und zeigt die Bilder auch nicht an .
    Wie du schon sagtest mit w241 h25 geht es , die ***.bmp sind wirklich in der größe außer 19 20 39 40 die Original die sind 211x25


    Nur ist jetzt ein anderes Problem der macht keine neue Seite auch nicht zurück auf Seite 1 .
    Ich vermute es liegt im Abschnitt neueSeite: an GuiControl ?


    Kannst du dir das bitte noch mal anschauen ?


    In der RAR ist alles , Bilder Script EXE .


    Auf PC geht es mit Seitenwechsel wenn ich die Pfade dementsprechend ändere .


    die Bilder sind vom Navi


    Gruß Manni

  • Hallo Manni,


    Tausch mal den Abschnitt :



    Irgendwie scheint der bei dem Bild das GuiControl nicht zu raffen.
    Auch der Beep ist nicht Original... mach lieber ne Messagebox.


    Allgemein würde ich den Code an deiner Stelle nicht so arg aneinanderkleben und lieber Tabs statt Leerzeichen zur Abstufung verwenden.
    So wie in meinem Beispiel. Hab diese Sachen schon durch :002:

  • Danke Adolar


    Der Seitenwechsel kommt jetzt , das war schon mal sehr gut .


    Jetzt trat aber auf einmal ein anderes Problem auf welchen ich aber selbst lösen konnte .
    Mit Seite 1 war alles OK es wurden die richtigen Horizonte im Ordner GUI kopiert aber auf Seite 2 wurden Horizonte mit Nummern von bis 58 anstatt 38 versucht zu kopieren , also 20 zuviel , ich habe keine Ahnung warum und wieso , habe einfach wenn Seite_aktuell = 2 ist 20 von imgIndex abgezogen , so kopiert es auch von der zweiten Seite die richtigen Horizonte .


    In der RAR noch mal alles .


    Gruß Manni