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

Beiträge von Glare

  • 64bit - keine zulässige 32bit Anwendung

    • Glare
    • 20. Oktober 2022 um 10:17
    Zitat von AspirinJunkie

    msi ist keine Datei im Portable Executable (PE)-Format, welche eigenständig lauffähige Programme darstellen.

    msi-Dateien benötigen einen Interpreter, der die darin enthaltenen Anweisungen ausführt.
    Früher war das mal die msiexec.exe aber mittlerweile wird da direkt msimsg.dll ausgeführt.

    Machen wir es kurz: Nimm statt Run() ShellExecute() .
    Diese Funktion sucht in der Registry mit welchem Programm eine Dateiendung verknüpft ist und ruft diese entsprechend auf.

    Herzlichen Dank! :klatschen:

  • 64bit - keine zulässige 32bit Anwendung

    • Glare
    • 20. Oktober 2022 um 09:44

    Hi Leute,

    ich möchte per Run eine .msi starten, welche für 64bit Systeme gedacht ist (Programm_x64.msi). Doch ich bekomme die Meldung "%1 ist keine zulässige Win32-Anwendung".

    Kann mir jemand einen Tipp geben was ich falsch mache?

    C
    #RequireAdmin
    
    
    #include <MsgBoxConstants.au3>
    #include <FileConstants.au3>
    #include <AutoItConstants.au3>
    #include <WinAPIError.au3>
    
    
    
    
    ;Starte Installer
    Local $iReturn = Run("Programm_x64.msi")
    
    
    If @error Then
    Local $sLastError = _WinAPI_GetLastErrorMessage()
    MsgBox($MB_SYSTEMMODAL + $MB_ICONERROR, "Error", "Programm wurde nicht gestartet :" & @CRLF & @CRLF & $sLastError)
    EndIf
    Alles anzeigen


    Gruß Sascha

  • CDATA aus XML auslesen

    • Glare
    • 4. Juli 2019 um 12:28

    Ok, Datei aus dem Internet geladen, lokale Datei geöffnet und dann daraus gelesen, klappt wunderbar. Herzlichen Dank für die Denkanstöße.

  • CDATA aus XML auslesen

    • Glare
    • 3. Juli 2019 um 17:38

    Ah, es wird kein String, sondern ein Array erzeugt. Sorry, habe es falsch gelesen.

    Doch leider kommt mit _ArrayDisplay($beschreibung) trotzdem nichts raus.

    Code
    $beschreibung=_StringBetween($oXML,"<DESCRIPTION><![CDATA[","]]></DESCRIPTION>")
    _ArrayDisplay($beschreibung)
  • CDATA aus XML auslesen

    • Glare
    • 3. Juli 2019 um 17:12
    Code
    $beschreibung=_StringBetween($oXML,"<DESCRIPTION><![CDATA[","]]></DESCRIPTION>")

    $oXML ist der String

    Der Anfang der gesucht werden soll ist

    Code
    <DESCRIPTION><![CDATA[

    und das Ende ist

    Code
    ]]></DESCRIPTION>

    Ich erkenne gerade keinen Fehler

    _StringBetween

    Find strings between two string delimiters

    #include <String.au3>

    _StringBetween ( $sString, $sStart, $sEnd )

  • CDATA aus XML auslesen

    • Glare
    • 3. Juli 2019 um 16:40

    Hallo,

    ich möchte aus einer XML Datei einen Wert auslesen und dann anschließend in einer CSV Datei speichern. Alle Werte funktionieren wunderbar, aber nicht wenn es sich um einen CDATA Wert handelt, in diesem Fall alles unter DESCRIPTION.

    Habe es per XML.au3 -> _XML_GetValue und auch mit _StringBetween versucht, leider erfolglos. Jemand evtl. einen Hinweis für mich?

    XML: XML Datei
    <RESPONSE>
    <PRODUCTS>
    <PRODUCT>
    <MASTER>abc123-1</MASTER>
    <MODEL>abc123</MODEL>
    <EAN>1231231231231</EAN>
    <NAME>Produktname</NAME>
    <PRODUCTS_PRICE_RECOMMENDED>15,00</PRODUCTS_PRICE_RECOMMENDED>
    <DESCRIPTION>
    <![CDATA[
    Hier stehen Produktinfos. <br> <br> <b>Inhaltsstoffe:</b> <ul><li>dies und das</li></ul><br> <br>
    ]]>
    </DESCRIPTION>
    <PRODUCTS_MANUAL/>
    </PRODUCT>
    </PRODUCTS>
    </RESPONSE>
    Alles anzeigen
    C
    #include <IE.au3>
    #include <File.au3>
    #include <FileConstants.au3>
    #include <XML.au3>
    #include <String.au3>
    
    
    ;Datei mit Artikelnummern
    $file= "T:\artikel.csv"
    $ArtArray=0
    
    ;Artikelnummern in Array laden
        _FileReadToArray($file, $ArtArray)
       ; _ArrayDisplay($ArtArray, "1D array - count", Default, 8)
    
    ;CSV für später erstellen
    $ameise=FileOpen("T:\texte.csv",2)
    
    ;ersten beiden Spalten vom Array auslassen
    For $i = 2 to UBound($ArtArray)-1;
       ;Gänsefüßchen und Semikolon entfernen
       $Artnr = StringTrimRight(StringReplace($ArtArray[$i],chr(34),""),1)
    
       $oXML=("https://www.hersteller.com/xmlapi/api.php?command=product&model="&$Artnr&".xml")
       
    ;$beschreibung = _XML_GetValue($oXML,"/INNOCIGS_API_RESPONSE/PRODUCTS/PRODUCT/DESCRIPTION")
       
    $beschreibung=_StringBetween($oXML,"<DESCRIPTION><![CDATA[","]]></DESCRIPTION>")
       
    ;ConsoleWrite("$beschreibung=[" & $beschreibung & "]" & @CRLF)
    FileWrite($ameise,$beschreibung)
       
       Next
       FileClose($ameise)
    Alles anzeigen
  • XML einlesen und per URL übergeben

    • Glare
    • 27. Juni 2019 um 15:57

    Die Lösung:

    Code
    $XMLData2 = StringReplace($XMLData, chr(34), "%22")

    Herzlichen Dank alpines!

  • XML einlesen und per URL übergeben

    • Glare
    • 27. Juni 2019 um 15:28

    schon geschehen, aber keine Änderung.

    Habe jetzt Testdateien erstellt und mal verglichen mit der URL die im Browser landet...

    Problem scheint zu sein das die Anführungszeichen verschwinden, nur ist die Frage warum.

    Das hier funktioniert und wurde von Hand im Browser eingegeben:...&command=dropship&xml=<?xml%20version="1.0"%20encoding="ISO-8859-1"?>%20...

    Das hier übergibt das Skript:...&command=dropship&xml=<?xml%20version=1.0%20encoding=ISO-8859-1?>... Hier sind die Anführungszeichen weg.

    In beiden Testdateien sind sie aber vorhanden.

    C
    #include <Array.au3>
    #include <WinAPIShPath.au3>
    
    ;XLM Datei öffnen und auslesen
    $XMLFile = $CmdLine[1]&".xml"
    $f = FileOpen($XMLFile)
    $XMLData = FileRead($f)
    
    ;Testdatei erstellen
    $hFileOpen = FileOpen("F:\vorher.txt", 2)
    FileWrite($hFileOpen,$XMLData)
    FileClose($hFileOpen)
    
    $XMLData2 = StringReplace($XMLData2, @CR, "") ;CR out
    $XMLData2 = StringReplace($XMLData2, @LF, "") ;LF out
    
    ;Testdatei2 erstellen
    $hFileOpen = FileOpen("F:\nachher.txt", 2)
    FileWrite($hFileOpen,$XMLData2)
    FileClose($hFileOpen)
    
    ;Seite aufrufen
    ShellExecute("https://www.page.com/xmlapi/api.php?command=daten&xml="&$XMLData2)
    
    ;Datei löschen
    FileClose($XMLFile)
    ;FileDelete($XMLFile)
    Alles anzeigen
  • XML einlesen und per URL übergeben

    • Glare
    • 27. Juni 2019 um 15:03

    Ok, habe erstmal aufgeräumt. ;)

    C
    #include <Array.au3>
    #include <WinAPIShPath.au3>
    
    ;XLM Datei öffnen und auslesen
    $XMLFile = $CmdLine[1]&".xml"
    $f = FileOpen($XMLFile)
    $XMLData = FileRead($f)
    
    $XMLData2 = StringStripWS($XMLData, 3)
    
    ;Seite aufrufen
    ShellExecute("https://www.page.com/xmlapi/api.php?command=daten&xml="&$XMLData2)
    
    ;Datei löschen
    FileClose($XMLFile)
    ;FileDelete($XMLFile)
    Alles anzeigen

    Habe mit StringStripWS versucht die Whitespaces zu löschen, aber egal ob mit Parameter 3 oder 4, kein Erfolg :(

  • XML einlesen und per URL übergeben

    • Glare
    • 27. Juni 2019 um 12:59

    Hallo,

    ich bin ein wenig überfordert und hoffe auf zündende Hilfe von Euch ;)

    Ich habe eine XML Datei, welche ich per POST an eine Internetseite übergeben muß.

    Das bisherige Skript:

    C
    #include <Array.au3>
    #include <WinAPIShPath.au3>
    
    ;Bestellnummer auslesen
    Local $aCmdLine = _WinAPI_CommandLineToArgv($CmdLineRaw)
    
    ;XLM Datei öffnen und auslesen
    $f = FileOpen($CmdLine[1]&".xml")
    $XMLData = FileRead($f)
    
    ;Seite aufrufen und XML anhängen
    ShellExecute("https://www.page.com/xmlapi/api.php?command=daten&xml="&$XMLData)
    
    ;Datei löschen
    ;FileDelete($CmdLine[1]&".xml")
    Alles anzeigen

    Skript wird aufgerufen mit Parameter, der Parameter ist der Dateiname der XMLDatei. Also z.B. Skript.au3 XMLDatei1

    Danach soll die Datei eingelesen und an die URL angehängt.

    Wenn ich die XML Datei per Editor aufrufe und von Hand im Browser an die URL hänge klappt es problemlos. Aber über das Skript bekomme ich immer die Meldung "XML ungültig". Irgendwas wird also an der Datei geändert, weiß aber nicht was.

    Irgendjemand eine Idee?

  • JSON-UDF

    • Glare
    • 27. November 2018 um 10:46

    Hi, ich hoffe ihr könnt mir helfen.

    Leider hatte ich mit JSON noch nie zu tun, daher stehe ich gerade auf dem Schlauch und würde mich freuen wenn mir jemand Gedankenanstöße bieten könnte wie ich nun zu jedem Datensatz die SKU und die dazu gehörige available_qty auslesen kann.

    Code
    {
    "SKUS": {
    "SPL-BKL-10": {
    "available_qty": 5,
    "expected_qty": 100,
    "expected_date": "0000-00-00",
    "outlisted": 0,
    "price_net": 99.99,
    "EAN": "01234567890"
    }, 
    "ADVK-MANTARTA-BK": {
    "available_qty": 10,
    "expected_qty": 0,
    "expected_date": null,
    "outlisted": 0,
    "price_net": 99.99,
    "EAN": "01234567891"
    },
    ...
    Alles anzeigen

    In diesem Fall müßte also

    SPL-BKL-10 - 5
    ADVK-MANTARTA-BK - 10

    rauskommen.

    Hoffe ihr könnt mir helfen.

  • Mit GUI csv Datei erstellen

    • Glare
    • 25. Februar 2015 um 21:24

    Hallo,

    Ich möchte Barcodes scannen und daraus eine csv Datei erstellen. Diese wird benötigt um dann Etiketten zu drucken.

    ich habe eine kleine GUI, 2 Inputfelder und ein Button.
    Im ersten Inputfeld trage ich die Anzahl des Etiketts ein, wie oft es benötigt wird. Im zweiten Input kommt dann der Barcode rein.
    Der Button wird betätigt sobald alle Barcodes eingelesen wurden.

    Nun zu meinem Problem. Mit einem Barcode klappt es wunderbar. Aber ich möchte, das, nachdem ein Barcode eingetragen wurde und mit FileWriteLine geschrieben wurde, die beiden Inputfeld wieder geleert werden und ich die nächste Eingabe machen kann. Solange bis der Button gedrückt wird.

    Leider kenne ich mich mit GUIs nicht aus und hoffe daher auf eure Unterstützung.

    So sieht es bisher aus:


    C
    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Form1", 316, 191, 192, 124)
    $Label1 = GUICtrlCreateLabel("Labelmaker", 32, 24, 185, 23)
    GUICtrlSetFont(-1, 12, 400, 0, "Cooper Black")
    $Label2 = GUICtrlCreateLabel("Anzahl", 32, 80, 36, 17)
    $Input1 = GUICtrlCreateInput("1", 34, 96, 25, 21)
    $Label3 = GUICtrlCreateLabel("Barcode", 88, 80, 44, 17)
    $Input2 = GUICtrlCreateInput("", 88, 96, 121, 21)
    $Fertig = GUICtrlCreateButton("Fertig", 32, 128, 75, 25)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###
    
    
    ;Datei erzeugen
    Local $file = FileOpen("etiketten.csv",2)
    
    
    $msg = 0
        While $msg <> $GUI_EVENT_CLOSE
            $msg = GUIGetMsg()
            Select
                Case $msg = $Fertig
                    ExitLoop
            EndSelect
    	 WEnd
    
    
    ;Barcode in Werte aufteilen
    $Barcode = GUICtrlRead($Input2)
    $Artikelnr	= 	StringLeft($Barcode,4)
    $Nic 		= 	StringMid($Barcode,5,2)
    $Size 		=	StringRight($Barcode,2)
    
    
    ;Zeile schreiben
    FileWriteLine($file, GUICtrlRead($Input1)&","&$Artikelnr&","&$Nic&","&$Size)
    
    
    FileClose($file)
    Alles anzeigen

    Gruß Sascha

  • ADS DB ansprechen

    • Glare
    • 29. Dezember 2010 um 09:33

    Hallo, normalerweise hätte ich es in den Bereich "Datenbanken" gepackt, aber ich kann die Seite leider nicht aufrufen :(

    Kann mir jemand Hinweise geben wie ich eine Advantage Database ansprechen kann?
    Muß ich dafür zwingend den ODBC Treiber installieren?

    Würde mich freuen zu hören wenn hier schonmal jemand eine ADS DB angesprochen hat und mir kleine Tipps nennen könnte die mich in die richtige Richtung bringen.

    Gruß Sascha

  • Daten aus .csv auslesen

    • Glare
    • 7. Juli 2010 um 11:52

    Herzlichen Dank, das hat mir sehr geholfen! :thumbup:

  • Daten aus .csv auslesen

    • Glare
    • 7. Juli 2010 um 11:10

    Hallo, ich möchte Daten aus einer .csv in ein Array laden und die Werte dann vergleichen.

    Trotz dem Tutorial auf AotuitWiki bekomme ich es leider nicht hin und hoffe auf eure Unterstützung.

    So sieht mein Skript bisher aus:

    Spoiler anzeigen
    [autoit]

    #include <File.au3>
    #include <Array.au3>

    [/autoit] [autoit][/autoit] [autoit]

    $filename = FileOpenDialog("Bitte wähle die Liste aus", "C:\", "CSV Dateien (*.csv)", 1 )

    [/autoit] [autoit][/autoit] [autoit]

    ;Testausgabe
    If @error Then
    MsgBox(4096,"","Keine Datei(en) ausgewählt")
    Else
    $filename = StringReplace($filename, "|", @CRLF)
    MsgBox(4096,"","Es wurde " & $filename & " ausgewählt")
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    ;Umwandeln der Datei in ein Array
    Dim $arCSV
    _FileReadToArray($filename, $arCSV)
    For $i = 1 To $arCSV[0]
    $arCSV[$i] = StringSplit($arCSV[$i], ";")
    Next

    [/autoit] [autoit][/autoit] [autoit]

    _ArrayDisplay( $arCSV, "Whole array" )

    [/autoit]

    Anbei auch noch die .csv Datei

    Habe ich bei der Schleife etwas vergessen, oder warum ist das Array so leer?

    Gruß Sascha

    Dateien

    Dateiliste SP.zip 1,28 kB – 489 Downloads
  • Unterverzeichnisse auflisten

    • Glare
    • 21. Dezember 2009 um 14:11

    hat mit extended wunderbar geklappt. Herzlichen Dank!

  • Combie

    • Glare
    • 21. Dezember 2009 um 12:52

    Ich denke eher
    Send("{LALT}" & "{RALT}" & "{Enter}")

  • Unterverzeichnisse auflisten

    • Glare
    • 21. Dezember 2009 um 12:27

    Hallo,

    habe bei den File & Dir Befehlen nichts passendes gefunden.

    Gibt es irgendeine Möglichkeit mir alle Unterverzeichnisse ausgeben zu lassen?
    Mit FileFindFirstFile kann ich ja nicht unterscheiden zwischen Datei und Verzeichnis, oder doch?

    Danke im voraus, Sascha

  • zip erstellen

    • Glare
    • 3. Dezember 2009 um 10:40

    Hui, ich muß noch viel lernen ;)

    Wunderbar, werde es gleich testen, habe mit FileInstall bisher noch nichts zu tun gehabt.

    Dank euch beiden :thumbup:

  • zip erstellen

    • Glare
    • 3. Dezember 2009 um 10:07

    Sorry, aber jetzt steh ich auf dem Schlauch.
    Ich müßte doch dann vorher beim Kunden 7-zip installieren damit ich es auf rufen kann, oder? Oder was meinst du mit integrieren?

    Wenn möglich hätte ich lieber eine Lösung bei der ich nichts am Rechner des Kunden installieren muß.

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™