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

Beiträge von lep230

  • Suche Hilfe für RegExp - SuchSyntax

    • lep230
    • 13. Oktober 2015 um 16:08

    Echt genial!!
    Funktioniert!!

    vielen Dank!!

  • Suche Hilfe für RegExp - SuchSyntax

    • lep230
    • 9. Oktober 2015 um 15:05

    Hallo Autoit Gemeinde!

    Ich bin gerade dabei per Autoit einen kleinen Formelinterpreter zu schreiben, der in erster Linie mal einen String nach Vaiablen durchsucht und Operanten filtert.
    ...In einen zweiten Moment wird er dann auch berechnet...

    Diese Strings mit Formeln würde so ähnlich aussehen:

    local $String = "IF D>=50 THEN 3 ELSE 8"

    in dem Fall, würde das Script in einem separaten Variablenarray, nach Variable "D" suchen, und dessen Wert z.B. "20" in der Formel mit der Variable tauschen.
    Das Ganze wird in ein Array geschrieben und später weiterverarbeitet.

    So Weit So gut.

    nun kommt aber der Haken:
    bei einem "=" gibt es leider mehrere Möglichkeiten, da ein "=" auch in einem ">=", "=>" und "==" vorkommen kann, gibt es hier einen Fehler.
    Das selbe Problem habe ich auch mit folgenden Operatoren : ">", "<", ">=", "=>", "<=", "=<".

    leider gibt es dazu noch folgende Schreibweisen, die ich auch nicht unterbinden kann, da diese Formelstrings aus einem externen Programm kommen.
    Also einmal mit und einmal ohne Leerstellen, die dann auch an jeder Stelle stehen können.

    D = 50
    D= 50
    D =50

    oder

    D>=50
    D >=50
    D >= 50
    D>= 50
    ....

    ich brächte hier eine Regex Syntax, die Explizit nach dem jeweiligen Operator sucht, egal ob der mit Leerzeichen von der Variable getrennt ist, oder nicht.
    Nur leider höhrt hier meine Logik bezüglich RegEx auf und ich habe keinen Plan, wie man das anstellen sollte...

    Kann mir vielleicht jemand helfen?

    hier mein bisheriges Script...


    Spoiler anzeigen


    #include <Array.au3>


    local $Pipe, $sSyntax, $aDelim, $aParts
    local $sFormel
    $sFormel = "IF D => 50 THEN 1 ELSE 2"
    ;~ $sFormel = "IF D=>50 THEN 1 ELSE 2"
    ;~ $sFormel = "IF D<= 50 THEN 1 ELSE 2"
    ;~ $sFormel = "IF D <=50 THEN 1 ELSE 2"
    ;~ $sFormel = "IF D=50 THEN 1 ELSE 2"
    ;~ $sFormel = "IF D=50 THEN 1 ELSE 2"


    $Pipe = "|" ;Trennzeichen für Syntax
    $sSyntax = "\bIF\b" & $Pipe
    $sSyntax = $sSyntax & "\bTHEN\b" & $Pipe
    $sSyntax = $sSyntax & "\bELSE\b" & $Pipe
    $sSyntax = $sSyntax & "\bAND\b" & $Pipe
    $sSyntax = $sSyntax & "\bOR\b" & $Pipe
    $sSyntax = $sSyntax & "\bXOR\b" & $Pipe
    $sSyntax = $sSyntax & "\bNOT\b" & $Pipe
    $sSyntax = $sSyntax & "COS[\\(]" & $Pipe
    $sSyntax = $sSyntax & "TAN[\\(]" & $Pipe
    $sSyntax = $sSyntax & "SIN[\\(]" & $Pipe
    $sSyntax = $sSyntax & "ARCSIN[\\(]" & $Pipe
    $sSyntax = $sSyntax & "ARCCOS[\\(]" & $Pipe
    $sSyntax = $sSyntax & "ARCTAN[\\(]" & $Pipe
    $sSyntax = $sSyntax & "EXP[\\(]" & $Pipe
    $sSyntax = $sSyntax & "LN[\\(]" & $Pipe
    $sSyntax = $sSyntax & "MOD[\\(]" & $Pipe
    $sSyntax = $sSyntax & "PREC[\\(]" & $Pipe
    $sSyntax = $sSyntax & "ABS[\\(]" & $Pipe
    $sSyntax = $sSyntax & "[\\)]" & $Pipe ;Klammer zu ")"
    $sSyntax = $sSyntax & "\b=\b" & $Pipe
    $sSyntax = $sSyntax & "\b<\b" & $Pipe
    $sSyntax = $sSyntax & "\b>\b" & $Pipe
    $sSyntax = $sSyntax & "<=" & $Pipe ;suche ohne Trennstring (kann auch ohne Leerzeichen an einer Variable hängen
    $sSyntax = $sSyntax & "=>" & $Pipe ;suche ohne Trennstring (kann auch ohne Leerzeichen an einer Variable hängen
    $sSyntax = $sSyntax & ">=" & $Pipe ;suche ohne Trennstring (kann auch ohne Leerzeichen an einer Variable hängen
    $sSyntax = $sSyntax & "<>" & $Pipe ;suche ohne Trennstring (kann auch ohne Leerzeichen an einer Variable hängen
    $sSyntax = $sSyntax & "[+]" & $Pipe
    $sSyntax = $sSyntax & "[-]" & $Pipe
    $sSyntax = $sSyntax & "[:;?@*/^]" ;alle Mathematischen Operanten zwischen zwei Werten


    $aDelim = StringRegExp($sFormel, $sSyntax, 3 ); Extrahiert die Syntax aus der Formel und schreibt die Werte in den String
    _ArrayDisplay($aDelim)
    ;~ MsgBox("","", $aDelim)

  • sehr große Textdatei mit Autoit einlesen

    • lep230
    • 15. August 2015 um 20:55

    Vielen vielen Dank!!!

    hast mir echt geholfen!!

  • sehr große Textdatei mit Autoit einlesen

    • lep230
    • 14. August 2015 um 12:56

    Hallo,

    ich lese per Autoit mit der Funktion "FileReadLine" sehr große Textdateien ein und schreibe diese in ein Array, um damit per Autoit-Gui weiter zu arbeiten.
    Nun sind diese Textdateien leider sehr groß und das Einlesen dauert mehrere Minuten, da unter anderem der PC an dem das ganze später laufen sollte, nur eine alte WinXP Maschine 32bit ist, diese kann ich aber leider nicht tauschen....

    Hat jemand vielleicht eine Idee wie man dieses einlesen und trennen der Strings beschleunigen könnte? Mit dem Trennen meine ich, dass ich jede Zeile nach vorkommenden "=" mit "StringSplit" in eine separate Spalte des Array einlese.


    Komischerweise funktioniert die dazu passende Gui nach dem einlesen sehr flüssig, aber da ist die Datei ja schon im Array bzw. im RAM
    Die Dateien haben im Durchschnitt zwischen 20000-100000 Zeilen und sind mehrere MB groß.

    Danke für jeden Vorschlag!!!


    Spoiler anzeigen

    Func _GetLinesToArray($hFilePfad, ByRef $obj)
    Local $i = 0, $line, $aSplit, $bSplit[4]
    Local $CountLines
    Global $Delimiter1 = '=', $Delimiter2 = '"'
    Local $option = 0; "$Delimiter2" am Anfang und am Ende des Strings abschneiden (kann zu Fehlern führen)


    ;~ MsgBox("262144","",$hFile)
    If $hFilePfad = -1 Then
    MsgBox("262144", "Fehler", "Konnte Datei nicht öffnen.")
    Return False
    Else
    $CountLines = _FileCountLines($hFilePfad)
    ReDim $obj[$CountLines + 1][3]


    For $i = 1 To $CountLines
    ;~ MsgBox("262144",$i,$CountLines)
    $line = FileReadLine($hFilePfad, $i)
    If @error = -1 Then
    MsgBox("262144", $i, "Fehler!! - ExitLoop")
    ExitLoop
    ElseIf @error = 1 Then ;wenn kein $Delimiter gefunden wurde
    MsgBox("262144", $i, "Fehler!! - ContinueLoop")
    ContinueLoop
    Else
    $aSplit = StringSplit($line, $Delimiter1) ;2 Spalten im Array: 1=Wert vor dem $Delimiter, 2= Wert danach
    ;~ redim $bSplit[4];array vergrößern
    If $aSplit[0] >= 2 Then ;= wurde öfter als einmal gefunden
    $bSplit[0] = $i
    $bSplit[1] = $aSplit[0];Anzahl Treffer
    $bSplit[2] = $aSplit[1]


    If $aSplit[0] = 2 And $aSplit[2] = "" Then
    $bSplit[3] = $Delimiter1 ;wird keine Zeichen nach einem $Delimiter gefunden, gehöhrt diese mit zum Text
    Else
    $bSplit[3] = StringTrimLeft($line, StringLen($aSplit[1]) + StringLen($Delimiter1)) ;= und Folgetext gemeinsam
    EndIf
    If $option = 1 Then
    If StringLeft($bSplit[3], 1) = $Delimiter2 Then ; Wenn das erste Zeichen ein "=" ist
    $bSplit[3] = StringTrimLeft($bSplit[3], 1) ;löscht erstes Zeichen, wenn ein "
    EndIf
    If StringRight($bSplit[3], 1) = $Delimiter2 Then ; gibt letztes Zeichen zurück
    $bSplit[3] = StringTrimRight($bSplit[3], 1);löscht erstes Zeichen, wenn ein "
    EndIf
    EndIf
    Else
    $bSplit[0] = $i
    $bSplit[1] = $aSplit[0];Anzahl Treffer
    $bSplit[2] = $aSplit[1]
    $bSplit[3] = ""
    EndIf
    EndIf
    ;~ DebugArray($bSplit,"$bSplit")
    $obj[$i - 1][0] = ""
    $obj[$i - 1][1] = $bSplit[2]
    $obj[$i - 1][2] = $bSplit[3]
    Next
    EndIf
    ;~ MsgBox("262144","test",$hFilePfad)
    ;~ DebugArray($obj,"$obj")
    FileClose($hFilePfad) ;Schließe Dateizugriff:


    EndFunc ;==>_GetLinesToArray

    Dateien

    datei_groß.txt 1,46 MB – 418 Downloads datei_normal.txt 265,43 kB – 368 Downloads
  • au3int.au3 Interpreter einbinden

    • lep230
    • 2. Juli 2015 um 16:03

    GEIL!!

    funktioniert!

    Spoiler anzeigen


    #include <MsgBoxConstants.au3>
    Example()

    Func Example()
    ; The values are the same so the expression is True
    MsgBox($MB_SYSTEMMODAL, "Result: 1=1", (1 = 1) ? "True!" : "False!")
    ; The values are not the same so the expression is False
    MsgBox($MB_SYSTEMMODAL, "Result: 1=2", (1 = 2) ? "True!" : "False!")
    EndFunc;==>Example

    DANKE!!

  • au3int.au3 Interpreter einbinden

    • lep230
    • 2. Juli 2015 um 15:48

    Hat jemand vielleicht eine ähnlich elegante Lösung mit "IF THEN ELSE" in einer Formel umzugehen?

  • au3int.au3 Interpreter einbinden

    • lep230
    • 2. Juli 2015 um 15:37

    Hey!!

    ehrlich gesagt, hab ich bis gerade vorhin nicht gewusst, dass Execute auch rechnen kann. Ich habe mit dem Befehl immer nur nach Zeichen gesucht.
    Danke für den super Tipp!!

    Ich dachte zwar schon mal an Execute, aber immer mit der Meinung, dass ich die Zeichen aussortieren und an ein Array übergeben kann, und nachher noch
    eine eigene UDF schreiben muss, die die komplette Algebra nachbildet...da hätte ich ich leider graue Haare bekommen :) ...

    Außerdem ist die ganze Execute Syntax wohl eher was für den Berufsinformatiker, als für den kleinen Hobbyscripter :)

    Nur verstehe ich jetzt aber nicht mehr, wozu es einen solchen au3int-Interpreter überhaupt gibt, wenn das berechnen ja auch sonst möglich ist...

    ...aber mal egal - vielen Dank für deine schnelle Antwort!!!

    ----


    sollte trotzdem jemand die Lösung für die erste Variante haben, wäre ich auch froh, dass ich das mal kapiere...


    Matthias

  • au3int.au3 Interpreter einbinden

    • lep230
    • 2. Juli 2015 um 14:41

    Hey!!

    hat jemand von euch vielleicht eine Idee, wie ich den "au3int v1.0.2.10" Interpreter in ein *.au3 einbinden und verwenden kann?

    Ziel ist es, einen String mit einer Formel (z.B. 10*(2+8)) an die compilierte Interpreter-Exe zu senden, um das berechnete Ergebnis zurückzubekommen, um damit weiter im *.au3 weiterzuarbeiten.

    Quelle: http://code.google.com/p/au3int/

    leider habe ich keine Ahnung, wie ich diese Exe einbinden kann, da ich einfach die Befehle aus dem Helpfile nicht verstehe:

    Au3Int.exe [/ErrorStdOut] /AutoIt3ExecuteScript "file" [params ...]
    or
    Au3Int.exe [/ErrorStdOut] /AutoIt3ExecuteLine "command line"

    "command line" oder "params" stehen sicherlich für die Formel (10*(2+8)) aber es funktioniert einfach nicht.

    mein jetziger Versuch scheitert leider:

    Spoiler anzeigen


    #include <MsgBoxConstants.au3>
    local $sBEFEHL, $sSCRIPTPFAD, $test

    $sSCRIPTPFAD = "D:\temp\lib\Au3Int.exe"
    $sBEFEHL = "10*(2+8)"
    $test = Run(@AutoItExe & ' /AutoIt3ExecuteLine ' & $sSCRIPTPFAD & ' ' & $sBEFEHL)

    msgbox("","",$test)

    beim Befehl "AutoIt3ExecuteScript" habe ich noch weniger Ahnung...

    vieln Dank für Eure Hilfe!!

    Matthias

  • Treeview mit Icons und Spalten

    • lep230
    • 30. Juni 2015 um 15:06

    Hallo da draußen!
    ich habe mal ne Frage, ob jemand eine Idee hat, wie man es Anstellen könnte, ein Treeview mit mehreren Spalten (inkl. Icon) zu bauen?
    bisher habe ich immer nur Listview in Autoit verwendet, da es anscheinend keine Standardlösung per Treeview gibt.
    Heute habe ich aber das hier im Netz gefunden. (siehe Anhang) Nur ist das leider nicht für Autoit verfügbar...

    (http://www.codeproject.com/Articles/23746…ew-with-Columns) leider aber nicht für Autoit.

    es geht darum ein 2d Array zu visualisieren...was mit einem Treeview viel übersichtlicher aussehen würde...

    bin um jeden Lösungsansatz dankbar!!


    Grüße

    Matthias

    Dateien

    bild Treeview.png 222,05 kB – 0 Downloads
  • 3d Visualisierung Stl file

    • lep230
    • 9. Dezember 2014 um 13:03

    vielen Dank!!

  • 3d Visualisierung Stl file

    • lep230
    • 4. Dezember 2014 um 16:09

    vielen Dank für eure Infos - muss ich mir noch anschauen...

    Techmix: ein Beispiel wäre sehr geil, denn drehbar ist natürlich noch besser!!!


    Grüße!

  • Tab mit Tooltip verschieben in X/Y

    • lep230
    • 4. Dezember 2014 um 16:06

    Hallo AutoIt Gemeinde,

    Da ich für meine Gui ein Tab mit ToolTip brauche, habe ich mal folgenden Code aus dem Netz geholt und damit ein wenig getüftelt...
    ...soweit so gut, nur bin ich auf eine mir unerklärliche Situation gestoßen, denn sobald ich den genzen TAB in X bzw. Y verschiebe (50 im Beispiel in Zeile 11),
    wird plötzlich der Tab von der Funktion "_GUICtrlTab_HitTest" nicht mehr gefunden. Zu erkennen ist das, da die MsgBox in Zeile 81 nicht mehr aufscheint...

    $TABHANDLE = _GUICtrlTab_Create($gui,50, 0, 465, 321, BitOR($TCS_TABS, $TCS_TOOLTIPS))

    kann mir jemand die Funktion, bzw. den Fehler erklären, da ich nach Stunden bei Google nicht schlau geworden bin.
    Auch mit dem "MouseCoordMode" hat das nicht viel zu tun, da ich dort auch schon alles ausprobiert habe..


    Spoiler anzeigen

    #include <GUIConstantsEx.au3>
    #include <TabConstants.au3>
    #include <WindowsConstants.au3>
    #include <GUITab.au3>
    #include <GUITooltip.au3>

    Global $arr0[1] = [0], $arr1[1] = [0], $arr2[1] = [0]
    Global $activetab = 0 ; default to first tab active

    $gui = GUICreate("UDF Tabs Tooltips", 472, 348, 226, 125)
    $TABHANDLE = _GUICtrlTab_Create($gui,50, 0, 465, 321, BitOR($TCS_TABS, $TCS_TOOLTIPS))
    ; Create Tooltiop control
    $hToolTip = _GUICtrlTab_GetToolTips($TABHANDLE)
    ; end create

    _GUICtrlTab_InsertItem($TABHANDLE, 0, "tab0", -1, 1000)
    _GUIToolTip_AddTool($hToolTip, $TABHANDLE, "tab0", 1000)
    _GUICtrlTab_InsertItem($TABHANDLE, 1, "tab1", -1, 1001)
    _GUIToolTip_AddTool($hToolTip, $TABHANDLE, "tab1", 1001)
    _GUICtrlTab_InsertItem($TABHANDLE, 2, "tab2", -1, 1002)
    _GUIToolTip_AddTool($hToolTip, $TABHANDLE, "tab2", 1002)

    For $i = 1 To 10
    _ControlAdd($arr0, GUICtrlCreateLabel("label 0-" & $i, 10, 30 + (25 * ($i - 1))))
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    Next
    For $i = 1 To 10
    _ControlAdd($arr0, GUICtrlCreateButton("button 0-" & $i, 70, 30 + (25 * ($i - 1)), 70, 20))
    Next

    For $i = 1 To 10
    _ControlAdd($arr1, GUICtrlCreateLabel("label 1-" & $i, 30, 30 + (25 * ($i - 1))))
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    Next
    For $i = 1 To 10
    _ControlAdd($arr1, GUICtrlCreateButton("button 1-" & $i, 90, 30 + (25 * ($i - 1)), 70, 20))
    Next

    For $i = 1 To 10
    _ControlAdd($arr2, GUICtrlCreateLabel("label 2-" & $i, 50, 30 + (25 * ($i - 1))))
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    Next
    For $i = 1 To 10
    _ControlAdd($arr2, GUICtrlCreateButton("button 2-" & $i, 110, 30 + (25 * ($i - 1)), 70, 20))
    Next

    ;~ ;; tab0 is default
    ;~ _ControlState(0, $GUI_SHOW)

    ;; tab1 is default
    _GUICtrlTab_SetCurSel($TABHANDLE, 1)
    _ControlState(1, $GUI_SHOW)
    $activetab = 1

    ;~ GUICtrlCreateTabItem("")
    GUIRegisterMsg($WM_NOTIFY,"TOOL_WM_NOTIFY")
    ;End Define Tooltips

    GUISetState()

    While 1
    $Msg = GUIGetMsg()
    Switch $Msg
    Case $GUI_EVENT_CLOSE
    Exit
    EndSwitch
    WEnd

    Func _ControlAdd(ByRef $array, $cID)
    $array[0] += 1
    ReDim $array[$array[0] + 1]
    $array[$array[0]] = $cID
    GUICtrlSetState(-1, $GUI_HIDE) ; hide all controls

    Return $cID
    EndFunc

    Func _TabClick($iTab)

    If $iTab == $activetab Then Return
    MsgBox("","","tabklick" & $iTab )
    _ControlState($activetab, $GUI_HIDE) ; hide
    _ControlState($iTab, $GUI_SHOW) ; show
    $activetab = $iTab
    EndFunc

    Func _ControlState($iArr, $iState)
    Local $array = Eval("arr" & $iArr)
    For $i = 1 To $array[0]
    GUICtrlSetState($array[$i], $iState)
    Next
    EndFunc

    ; Prog@ndy
    Func TOOL_WM_NOTIFY($hWndGUI, $MsgID, $wParam, $lParam)

    Local $tagNMTTDISPINFOA = "hwnd hWndFrom;int IDFrom;int Code;ptr lpszText;char szText[80];hwnd hinst;uint uFlags;"
    Local $tagNMTTDISPINFOW = "hwnd hWndFrom;int IDFrom;int Code;ptr lpszText;wchar szText[80];hwnd hinst;uint uFlags;"
    Local $NMHDR = DllStructCreate($tagNMTTDISPINFOW, $lParam)

    Local $hWndFrom = DllStructGetData($NMHDR, 1)
    Local $IdFrom = DllStructGetData($NMHDR, 2)
    Local $Event = DllStructGetData($NMHDR, 3)
    Switch $Event
    Case $TTN_GETDISPINFOW, $TTN_GETDISPINFO
    If $TTN_GETDISPINFO == $Event Then $NMHDR = DllStructCreate($tagNMTTDISPINFOA, $lParam)
    If $hwndFrom == HWnd($hToolTip) Then
    Local $param = _GUICtrlTab_GetItemParam($TABHANDLE, $IdFrom)
    Local $text = _GUIToolTip_GetText($hwndFrom, $TABHANDLE, $param)
    ;~ ConsoleWrite("tip: " & $IdFrom & ", param: " & $param & @CRLF)
    ;~ ConsoleWrite("text: " & $text & @CRLF)
    DllStructSetData($NMHDR, "szText", $text & Chr(0))
    EndIf
    Case $NM_CLICK
    Local $oldmco = Opt("MouseCoordMode", 2)
    Local $mpos = MouseGetPos()
    Opt("MouseCoordMode", $oldmco)
    Local $idx = _GUICtrlTab_HitTest($hWndFrom, $mpos[0], $mpos[1]) ; get index of clicked tab
    If $idx[0] <> -1 Then
    _TabClick($idx[0])
    EndIf
    EndSwitch
    Return $GUI_RUNDEFMSG

    EndFunc ;==>TOOL_WM_NOTIFY

  • 3d Visualisierung Stl file

    • lep230
    • 16. Oktober 2014 um 07:48

    Hey,
    also im Prinzip geht es darum.
    Wir erstellen ein STL File als Modell unseres Produktes (stell dir einfach ein Frästeil aus Alu vor). Da dieses Frästeil aber Kundenspezifische Variablen hat (Teilelänge und Bohrungspositionen sind variablen) und wir nicht jedes Teil eigens Zeichnen wollen, habe ich mal ein au3 Script geschrieben, das im original STL File eben diese 2 Werte austauscht. Um daraus dann Zeichnungen zu drucken, bzw. die Änderung zu visualisieren, benutzen wir nach dieser Anpassung noch einen externen STL viewer. Die ganze Systematik ist aber sehr umständlich, wenn man einige dutzent Teile so handhaben muss.
    Meine Idee ist es, das bestehende Script mit der Viewerfunktion zu erweitern und so einige Arbeitsschritte zu sparen.

    Grüße!!

  • 3d Visualisierung Stl file

    • lep230
    • 14. Oktober 2014 um 13:03

    Vielen Dank für die Info.
    ..na dann werde ich mich mal an die Arbeit machen.
    OpenGL UDFs (2.0) werde ich mir mal genauer anschauen, ansonsten werde ich mal versuchen wie ich Irrlicht verwenden kann...

  • 3d Visualisierung Stl file

    • lep230
    • 10. Oktober 2014 um 23:20

    Hallo autoit Gemeinde,
    ich mache mir jetzt schon seit einigen Wochen Gedanken um eine bestimmte Problemlösung. Es geht darum ein live generiertes stl 3d file in einer autoit gui zu visualisieren. Bisher verändere ich die Maße eines 3d Körpers über ein autoit script , brauche aber immer noch einen externen viewer, um das Ergebniss anzuschauen. Durch Zufall habe ich jetzt die irrlicht lib für autoit entdeckt, aber die ist eigendlich für games zuständig. Nach kurzer suche bin ich auf freie libs wie OpenCASCADE, opentk oder salome gestoßen. Im prinzip ideal, da diese allesamt für 3d Visualisierung und Konstruieren, programmiert sind. Nun habe ich momentan noch keine Ahnung, wie oder ob ich so eine Bibliothek in autoit einbinden könnte. Hat vielleicht jemand schon Erfahrung damit? Vielleicht sogar ein Beispiel...


    Danke für jede idee

  • Datei öffnen mit *.au3 -exe

    • lep230
    • 7. November 2013 um 16:02

    super, genau das habe ich gesucht.
    jetzt bekomme ich ein Return, von welcher Datei das Script aufgerufen wird!!!

    vielen Dank!!!

  • Datei öffnen mit *.au3 -exe

    • lep230
    • 6. November 2013 um 10:04

    Danke für die schnelle Rückmeldung!

    das mit der Verknüpfung inkl. Parameter funzt schon, nur muss ich dann zuerst das Programm starten, dann über das Menü/öffnen mein File suchen und öffnen.
    Ich bin aber nach der Suche nach einer Lösung wo ich einfach per doppelklick ein File öffnen kann. wie eine *.jpg einfach den Viewer öffnen.
    Im Hintergrund soll die besagte Verknüpfung mit Parameter gestartet werden und das Programm öffnet die Datei.
    Das mit dem starten der Verknüpfung inkl. Parameter und öfffnen funktioniert als test schonmal, aber eben nur dann, wenn ich in meinem Script genau den Pfad Hardcodiere, wo das File liegt Z.B. C:\temp\test.elx

    Um das ganze zu automatisieren habe ich alle *elx mit meiner AutoIt - script - EXE verknüpft und bei einem Doppelklick auf das File startet auch mein Script, nur halt ohne eigenen Filepfad.

    Die Lösung wäre, wenn ich (besser das Script :) ) wissen würde, welches File per Doppelklick gestartet wurde, um diese Info zu übermitteln...
    Gibt es da was in der Registry auszulesen - z.b. "last active File"?


    vielen Dank im Vorraus!!!

  • Datei öffnen mit *.au3 -exe

    • lep230
    • 5. November 2013 um 15:28

    Hallo liebe AutoIt Gemeinde,

    ich habe eine Frage zu einem meiner Meinung etwas kniffligen Problem:
    Eine unserer Software liegt technisch bedinngt auf einem Netzlaufwerk (keine Installiation). Um diese zu starten, braucht man eine Verknüpfung die außerdem noch Parameter enthält (R:\Cuon.exe /config Default /tmpl Cuon.elx).
    Diese Parameter braucht die Software, damit diese auch richtig startet. Mein Problem an der Sache ist, dass Windows (7) verweigert, dass man einen bestimmten Dateityp per "öffnen mit" einer Verknüpfung zuweisen kann. Schon gar nicht ins Netzwerk. Also muss mann immer zuerst die Software mit der Verknüpfung starten, danach per Datei/öffnen das File irgendwo im Nirvana suchen.

    Meine Idee ist es, ein Script zu verfassen, und eine Exe zu erstellen. Diese EXE dann irgendwo unter C:/Programme plazieren und dem Dateityp per "öffnen mit" erklären, dass er mit der AutoIt erstellten Exe starten soll.
    Per Doppelklick / ENTER usw. soll den Filepfad an AutoIt gesendet werden, und das Script bereitet die Info inkl. Parameter auf und sendet/startet die Verknüpfung mit Dateiname.

    Bei der Umsetzung hapert es, da ich keine Ahnung habe, wie ich die Info "wer halt EXE gestartet" an AutoIt übermitteln kann.
    Die Parameterübergabe würde ich dann in ein vbs Script auslagern (das denke bekomme ich hin...)

    Kann mir hier jemand einen Ansatz geben?
    Vielen Dank im Vorraus!!!
    Ich möchte mit AutoIt ein Script (später exe) entwickeln, die eine Datei öffne

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™