Hallo zusammen,
Hat jemand Erfahrung wie man vernünftig die VirtualenDesktops von Win10 ansprechen kann?
Gibt es hierfür evtl eine WinApi die ich bisher nicht gefunden habe?
Hallo zusammen,
Hat jemand Erfahrung wie man vernünftig die VirtualenDesktops von Win10 ansprechen kann?
Gibt es hierfür evtl eine WinApi die ich bisher nicht gefunden habe?
Leider habe ich die Oberfläche mit dem IE nicht zum laufen bekommen. Es tauchen keine Fehlermeldungen auf und das Window wird auch angezeigt, die IE-Instanz scheint aber das HTML nicht zu laden.
Ja das stimmt. Weshalb auch immer funktioniert die ie navigation nicht, sodass ie nicht zur gewünschten url navigiert, daher auch die leere Seite.
Ich habe mir auch überlegt ie komplett zu streichen und chrome als app mode zu verweden, denke das wird damit viel besser laufen. Problem dabei ist, dass beim Endnutzer auch Chrome installiert sein muss... evtl. kann man ja Chromium integrieren, jedoch kenn ich mich da überhaupt nicht aus.
Ich persönlich bin kein Fan von langen Funktionsnamen, was bei AutoIt ja durchaus vorkommen kann
Das ist natürlich persönliches empfinden und jeder tickt da unterschiedlich. Der Grund für die langen Funktionsnamen ist, dass AutoIt kein Namespace unterstützt und somit jeder Funktion einmalig sein muss. Somit musste ich mir was überlegen damit sich die Framework Funktionen sich nicht mit der späteren Anwendung und Packages im Weg stehen. Daher habe ich mich entschieden den Namespace einfach an den Funktion voranzustellen.
Hat auch den Vorteil, dass man an Namen sofort erkennt, wo sich die Funktions Dekleration befindet.
Bsp:
Eine anderer Punkt, den ich ansprechen wollte, ist die generelle Struktur. Ich persönlich bin kein Fan von langen Funktionsnamen, was bei AutoIt ja durchaus vorkommen kann. Wäre denn eine Umsetzung mit AutoItObject eine Option?
Ursprünglich wollte ich das auch Objekt orientiert aufbauen. Jedoch ergeben sich dabei einige Problem:
Wenn die Entwicklung weiter geht (auf Github?) würde ich da gern mit einspringen. Ich behalte schon mal im Auge
Ich habe gesten schon gestartet ie rauszuschmeisen und chrome zu integrieren.
Wenn du magst könnten wir mal ein Schlachtplan erstellen was und wir das ganze angehen?
EDIT:
Wer gerne mithelfen oder ideen und anregung teilen möchte, kann gerne in die Slack Gruppe beitreten.
Hallo olfibits,
ich verstehe zwar im ganzen was du vorhast, jedoch hat es keinerlei berührungspunkte mit meinem Framework, denn ich möchte komplett von der AutoIt/Windows GUI weg.
Zudem ist das auch plain in AutoIt mit (onEvent Mode) umsetzbar, so eine kleine UDF ist relativ fix umgesetzt, was die INI ausließt und mit den Werten eine GUI erstellt. Hierfür ist nichteinmal ein extra Scrpit notwendig.
Mein Ziel mit meinem Framework ist es:
Hierfür habe ich noch etliche Herausforderungen. Für die ich durchaus Hilfe benötige.
Werde demnächst mit dem Projekt weitermachen. Würde mich über Hilfe freuen.
@Churanos
schön das sich nach langer Zeit dennoch jemand für das Framework interessiert. Ich musste leider dieses Vorhaben auf eine unbestimmte Zeit auf Eis legen, da ich beruflich andere Sprachen erlernen musste und zeitlich nicht mehr dazu kamm es weiterzuentwickeln. Da ich nun wieder ein wenig Zeit habe können wir zusammen dieses Framework gerne finalisieren.
@Bitnugger vielen Dank für deine Verbesserungen, die habe ich alle in die nächste Version übernommen. Jedoch habe ich Tidy weggelassen, da ich das Ding nicht leiden kann. Ich habe schon bewusst die Zeilenumbrüche und die Einrückungen genau so gemacht
Klasse vielen Dank
Ja ich gebe euch recht, die Klammern machen in der Funktionsweise keinen Sinn, diese dienen mir nur bei größeren if statements als optische hilfe.
Anstelle der vielen #ignorefunc würde ich es so machen...
; queryBuilder.au3
#include-once
#include <romaSql.au3>; romaSql.au3
#include-once <-- hier hast du es vergessen
#include <Array.au3>
#include 'queryBuilder.au3'
@Bitnugger auf die Idee bin ich garnicht gekommen! Geniale Idee. Ich weis nur nicht ob es sich nicht irgendwo beist... hat hier jemand damit Erfahrung?
OJE was ist den da passiert
@Bitnugger ich gebe dir da vollkommen Recht, dass macht garkeinen Sinn. Wie @BugFix ja schon geschrieben hat, war das tatsächlich ein grober copyPaste patzer. Mein größter Fehler, dass ich das nicht getestet habe .
Bzgl. den AU3 Check habe ich diesen total vergessen, da ich ich den einfach nicht nutze. Hat den Hintergrund, das mein Code oft komplexer ist als dieser und ich immer und überallel mit #forcref etc. arbeiten muss und ich somit nur noch mehr arbeit habe.
ABER für eine UDF ist das ganzklar ein muss. Daher habe ich das in die UDF mit eingebaut. Nun sollte dier AU3 Check nicht mehr meckern.
Zu den Examples, ja diese sind noch nicht ganz optimal... Ich werde asap den Create Statement bauen und eine ordentliche Example bauen.
Vielen Dank für das Feedback!
romaSQL
Diese autoIt UDF ist nach dem Prinzip von Laravel Query Builder & doctrine aufgebaut. romaSQL ermöglicht eine neue, einfache & sehr bequeme Art von SQL Abfragen in autoIt. Es werden bereits fast alle gängigen SQL Abfrage unterstützt und weitere folgen demnächst.
Ich freue mich über jede Unterstützung von euch.
Connections
Für die Connection wird das Object ADODB genzutzt, daher bassieren die Connection String auf ODBC.
Natürlich kannst du auch OLEDB Connections Strings nutzen oder andere Datenbank Connections einbauen. Hierzu müssen deine Erweiterung in der Funktion __4ern_SQL_Connection erfolgen. Ich würde mich sehr freuen, wenn du deine Veränderung mit mir teilen würdest
Derzeit unterstützte Connections
Befehls Referenz
$SQL_connect; stellt die Verbindung her
$SQL_returnType; Ergebnisse in einem Array oder Dictionary ('oDict') Object (Default = Array)
$SQL_setDefaultTable; Setzte den standard Tabellennamen
$SQL_setDefaultKey; Setzt den standard Key (Default = id)
$SQL_debug; Wenn TRUE wird der SQL Befehl in der Console ausgegeben.
$SQL_get
$SQL_update
$SQL_delete
$SQL_insertInto
$SQL_take
$SQL_limit
$SQL_table
$SQL_select
$SQL_distinct
$SQL_where
$SQL_orWhere
$SQL_whereBetween
$SQL_whereNotBetween
$SQL_whereIn
$SQL_whereNotIn
$SQL_whereNull
$SQL_whereNotNull
$SQL_having
$SQL_orHaving
$SQL_havingBetween
$SQL_havingNotBetween
$SQL_havingIn
$SQL_havingNotIn
$SQL_havingNull
$SQL_havingNotNull
$SQL_groupBy
$SQL_orderBy
Alles anzeigen
Beispiele
Create Connection (muss nur einmal erfolgen)
;-----/
; SQLite Connection
;-----/
$SQL_setDatabase('sqlite')
$SQL_connect('C:\project.db')
;-----/
; Access Connection
; Database, User, Password
;-----/
$SQL_setDatabase('access')
$SQL_connect('C:\project.mdb')
;or as Admin
$SQL_connect('C:\project.mdb', '4ern', 'root')
;-----/
; SQLServer Connection
; Database, User, Password, Server, Driver
;-----/
$SQL_setDatabase('sqlserver')
$SQL_connect('myDB', '4ern', 'root', 'localhost')
;or with Driver
$SQL_connect('myDB', '4ern', 'root', 'localhost', 'SQL Server')
;-----/
; MySQL Connection
; Database, User, Password, Server, Driver
;-----/
$SQL_setDatabase('mysql')
$SQL_connect('myDB', '4ern', 'root', 'localhost')
;or with Driver
$SQL_connect('myDB', '4ern', 'root', 'localhost', 'MySQL ODBC 5.2 UNICODE Driver')
Alles anzeigen
Einfache SQL Abfrage
$SQL_table('albums')
$aRet = $SQL_get()
if IsArray($aRet ) then
_ArrayDisplay($aRet )
else
ConsoleWrite('Keine Ergebnisse' & @LF)
endif
Select
$SQL_table('albums')
$SQL_select('id', 'Name', 'Artist', 'Song')
;or pass to an Array
Local $aSelect = ['id', 'Name', 'Artist', 'Song']
$SQL_select($aSelect)
$aRet = $SQL_get()
if IsArray($aRet ) then
_ArrayDisplay($aRet )
else
ConsoleWrite('Keine Ergebnisse' & @LF)
endif
Alles anzeigen
where
$SQL_table('albums')
$SQL_select('id', 'Name', 'Artist', 'Song', 'Votes')
$SQL_where('Artist', 'adele')
$SQL_where('Votes', '>=' ,'9')
$SQL_orWhere('Artist', '=' ,'Rag'n'Bone Man')
;or pass to an 2dArray
Local $aSelect = [['Artist','adele'],['Votes', '>=' ,'9']]
$SQL_where($aSelect)
$aRet = $SQL_get()
if IsArray($aRet ) then
_ArrayDisplay($aRet )
else
ConsoleWrite('Keine Ergebnisse' & @LF)
endif
Alles anzeigen
Ich hoffe euch gefällt meine UDF und Ihr findet ein Einsatz dafür.
---
Schau dir die Hilfe genauer durch, da steht dein Anwendungsfall genau beschrieben.
Was du suchst heißt IE_attach.
Hey @chip vielen Dank für dein Feedback.
Ja ich weis etwas zu erklären ist nicht wirklich meine stärke :).
Ich nutze AutoIt schon länger nicht mehr zum purem automatisieren von Anwendungen, sodern nutze es um komplexe eigenständige Anwendungen zu entwickeln. Da AutoIt so ziemlich alles bietet, was man dafür braucht.
Mich hatt es sehr gestört, dass man in AutoIt sehr schwer die Logik von der Präsentation trennen kann und zudem die standart GUI elememte sehr unflexibel sind. Will man etwas anspruchvolleres muss man sich mit GDI rum schlagen wo man für einen simpelenn runden Button schon zig Zeilen Code schreiben muss.
Daher habe ich mich nach alternativen umgeschaut und leider nichts gefunden, wo ich zufrieden war. Daher habe ich mir selber eine Lösung überlegt, wie ich die Logik von der Präsentation trennen kann und zudem HTML und CSS in meiner GUI nutzen kann. Daher enstand die Idee zu diesem Framework.
Die erste große Hürde bestand darin mit AutoIt auf die HTML Seiten zuzugreifen. Ich hatte da viele Ansätze, die einzigste Lösung, die gut funktionierte und alle Elemete von HTML berücksichtigte, war der transport der Daten über den http Protokoll. Daher habe ich einen minimalen http Server gebaut.
Der http Server ist zwar ein wichtiges Bestandteil des Frameworks. Ist aber eigentlich nur eine Art Brücke zwischen AutoIt und HTML.
Das Framework dient in erster Linie zur Entwicklung von eigenständigen Applikationen.
Erleichterungen:
Beispiel:
;----------------------------------------------------------------------------------------------/
; Beschreibung: Welcome Controller
;----------------------------------------------------------------------------------------------/
func controller_welcome()
Local $VorName = 'Max', $Name = 'Mustermann'
;----------------------------------------------------------------------------------------------/
; Überge Variable an die View (Arrays auch möglich)
;----------------------------------------------------------------------------------------------/
$toView('vorname', $VorName)
$toView('Name', $Name)
;----------------------------------------------------------------------------------------------/
; Zeige die View an.
;----------------------------------------------------------------------------------------------/
return $VIEW('welcome')
endfunc
Alles anzeigen
<html>
<head>
<title>Template Test</title>
</head>
<body>
<h1>Mein Name ist {{ $vorname }} {{ $name }}</h1>
</body>
</html>
So das wars erst auf die schnell. Wenn mir noch was einfällt update ich die Liste.
Also da steckt schon eine Menge Arbeit drin. Daher war ich der Meinung das es relativ gut ankommt und ich den einen oder anderen für eine Unterstützung begeistern kann.
Entweder ich habe es falsch presentiert, es liegt an der fehlenden doku oder das ganze ist Misst . Egal ich werde weiter machen
Hallo zusammen,
schade dass das Projekt nicht so gut angekommen ist. Vermutlich liegt das an der fehlenden Dokumentation.
Ich werde hier die Dokumentation in laufe der Zeit vervollständigen.
Vielleicht wird irgendwann dem ein oder anderen das Framework was nutzen.
Ich würde mich auch über etwas Feedback freuen.
Danke
Hallo zusammen,
lange habe ich hier nichts mehr gepostet, jedoch sehr sehr viel mitgelesen.
Vorwort
Ich arbeite bereits seit längerem an einem AutoIt MVC Framework, was die Entwicklung mit AutoIt komplett umkrempelen soll. Ich weiß ich weiß den einen oder anderen wird das überhaupt nicht schmecken, ich mag es jedoch um so mehr.
Ich habe mich sehr stark vom PHP Framework (Laravel) insperieren lassen und daher roma() ähnlich aufgebaut.
Ziel
Unterstützung
Ich habe leider nicht mehr viel Zeit für das Projekt, da ich zum zweiten Mal Nachwuchs bekommen habe und nun ein Job Wechsel bevorsteht, wo ich mich intensiv mit Javascript auseinander setzen muss. Daher dachte ich mir bevor das Projekt verstaubt und niemals das Licht der Welt erblickt, teile ich es und bitte euch um Unterstützung um dieses Projekt fertigzustellen und weiterzuentwickeln.
-----------------------------------------------------------------------------------------
Das Framework ist steht für alle kostenfrei zur Verfügung.
Lizenz: MIT Lizenz
GitHub: https://github.com/4ern/roma
Todos:
- Loop Funktion in Template.au3
- Packagemanagment System (ähnlich wie npm).
- CLI Modul
- Lösungsansätze, wie das Framework optimal compiliert werden kann (evtl. ein eigenen Wrapper?)
- Umfangreiche Tests
Weiteres
Braucht Ihr mehr Infos? Dann sagt mir was ihr genau wissen wollt, ich werde mich bemühen alles zu erklären.
Das Framework selber habe ich versucht sogut es geht zu dokumentieren, schaut es einfach an.
Testen:
Das Framework könnt Ihr testen, indem Ihr einfach die application.au3 ausführt.
---
Edit: Dokumentation auf gitHub verschoben, da ich das ganze somit doppelt pflegen muss.
Bugfix Version 1.1
(vielen Dank an Bitnugger)
Die einfachste Lösung ist meiner Meinung nach Web- Serverbassiert. Du schreibst deine Anwendung mit PHP, ASP, Java usw..
Dadrauf kannst du von jedem Gerät aus zugreifen.
Bin dabei
Alle Handle der Inputboxen ($input_01 bis $input_20) speichere ich in einer Variable. Aus dieser Variable wird ein Array erzeugt. Das funktioniert.
$Variable_aus_der_ein_Array_erstellt_wird = "$input_01,$input_02,$input_03"
Genau das funktioniert nicht. Denn Somit erstellst nur einen sinnlosen String mit deinen Varibalen Namen.
Um die Variablen in ein Array zu speichern, muss du dies auch mit korrekter Schreibweise tun. Lies dir doch bitte das AutoIt Handbuch durch (Anhang). Dort sind wirklich wichtige Basics drin, die du dir unbedingt aneignen solltest.
Besser wäre es jedoch die Inputs direkt an das Array zu übergeben.