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

Beiträge von tubsids

  • Alternative zu XML Parsen: StringRegExpReplace möglich ?

    • tubsids
    • 22. Oktober 2017 um 19:54

    Hallo zusammen!

    Ich habe folgenden Beispiel als Zwischenlösung, aber ich denke es sollte doch die Möglichkeit mit Regulären Ausdrücken auch geben.

    C
    #include <File.au3>
    #include <Array.au3>
    #include <String.au3>
    
    $XMLFileLink = FileOpenDialog("Select file", @ScriptDir, "Archive Files (*.xml)")
    Local $hFileXML_InhaltKomplett = FileOpen($XMLFileLink, 1)
    FileSetPos($hFileXML_InhaltKomplett, 0, $FILE_BEGIN)
    Local $sFileXMLGelesen = FileRead($hFileXML_InhaltKomplett)
    
        FileSetPos($hFileXML_InhaltKomplett, 0, $FILE_END)
        FileClose($hFileXML_InhaltKomplett)
        
    ConsoleWrite( "XML: " & @CRLF)
    ConsoleWrite($sFileXMLGelesen)
    ConsoleWrite(@CRLF & " ---- " & @CRLF)
    
    Local $sSucheStart1 = 'Ralls'
    Local $sSucheEnde1 = '</book>'
    Local $sResult = Example_XML($sSucheStart1, $sSucheEnde1)
    MsgBox(0, "Result", $sResult)
    
    Func Example_XML($sSucheStart1, $sSucheEnde1)
    
        Local $aStringResult1 = _StringBetween($sFileXMLGelesen, $sSucheStart1, $sSucheEnde1)
        If @error Then 
            Return "nichts gefunden"
        EndIf
        
        Local $sStringResult1 = _ArrayToString($aStringResult1)
        ConsoleWrite( "Result 1: " & @CRLF)
        ConsoleWrite($sStringResult1)
        ConsoleWrite(@CRLF & " ---- " & @CRLF)
        Local $sSucheStart2 = '<value>(.*?)</value>'
        ;Local $sSucheEnd = '(?i)<value>(.*?)</value>'
        ;Local $sSucheResult = StringRegExp($sSucheStart, $sSucheEnd, $STR_REGEXPARRAYMATCH, $iOffset)
        Local $sStringResult2 = StringRegExpReplace($sStringResult1, $sSucheStart2, '<value>12345.6789</value>')
        ConsoleWrite( "Result 2: " & @CRLF)
        ConsoleWrite($sStringResult2)
        ConsoleWrite(@CRLF & " ---- " & @CRLF)
    
        Local $sNeu = StringReplace($sFileXMLGelesen, $sStringResult1, $sStringResult2)
        ConsoleWrite( "XML neu: " & @CRLF)
        ConsoleWrite($sNeu)
        ConsoleWrite(@CRLF & " ---- " & @CRLF)
        Return $sNeu
    
    EndFunc
    Alles anzeigen
  • Alternative zu XML Parsen: StringRegExpReplace möglich ?

    • tubsids
    • 22. Oktober 2017 um 15:11

    Hallo Tweaky,

    danke für Deine Rückmeldng.

    Irgendwie mache ich immer noch ein Fehler.

    Ich poste nun komplette Script mit XML als Beispiel.

    Geänder sollen nur die Werte in Feld-Value.

    Code
    #include <File.au3>
    
    $XMLFileLink = FileOpenDialog("Select file", @ScriptDir, "Archive Files (*.xml)")
    Local $hFileXML_InhaltKomplett = FileOpen($XMLFileLink, 1)
    FileSetPos($hFileXML_InhaltKomplett, 0, $FILE_BEGIN)
    Local $sFileXMLGelesen = FileRead($hFileXML_InhaltKomplett)
    
        FileSetPos($hFileXML_InhaltKomplett, 0, $FILE_END)
        FileClose($hFileXML_InhaltKomplett)
        
    Local $sSucheStart = 'Corets, Eva(.*?)</value>'
    ConsoleWrite("gefunden: " & @CRLF & $sSucheStart & @CRLF)
    ;Local $sSucheEnd = '(?i)<value>(.*?)</value>'
    ; also es muss nur value-Feld geändert
    Local $sOutput = StringRegExpReplace($sFileXMLGelesen, $sSucheStart, "123456.7890")
    ConsoleWrite($sOutput)
    Alles anzeigen

    und XML, da es nicht anhängenbar ;(

    XML
    <?xml version="1.0"?>
    <catalog>
       <book id="bk101">
          <author>Gambardella, Matthew</author>
          <title>XML Developer's Guide</title>
          <genre>Computer</genre>
          <price>44.95</price>
          <publish_date>2000-10-01</publish_date>
          <description>An in-depth look at creating applications 
          with XML.</description>
          <value>99999.000</value>
       </book>
       <book id="bk102">
          <author>Ralls, Kim</author>
          <title>Midnight Rain</title>
          <genre>Fantasy</genre>
          <price>5.95</price>
          <publish_date>2000-12-16</publish_date>
          <description>A former architect battles corporate zombies, 
          an evil sorceress, and her own childhood to become queen 
          of the world.</description>
          <value>99999.000</value>
       </book>
       <book id="bk103">
          <author>Corets, Eva</author>
          <title>Maeve Ascendant</title>
          <genre>Fantasy</genre>
          <price>5.95</price>
          <publish_date>2000-11-17</publish_date>
          <description>After the collapse of a nanotechnology 
          society in England, the young survivors lay the 
          foundation for a new society.</description>
          <value>99999.000</value>
       </book>
    </catalog>
    Alles anzeigen

    Danke und Gruß

  • Alternative zu XML Parsen: StringRegExpReplace möglich ?

    • tubsids
    • 22. Oktober 2017 um 13:21

    Hallo zusammen,

    ich habe folgende Frage, bzw. Ihre Meinung ist sehr gefragt.

    Ich habe ein XML. Dort möchte ich eine bestimmte Values ändern. Nun gibt es natürlich mehrere Möglichkeiten Werte zu ändern: z.B. mit Notepad++, mit XML-Editor direkt, etc.

    Da es zum einen mehreren Werte geändert werden müssen und zum anderen gleichzeitig mehreren XML's bearbeiten werden sollen möchte ich nun mit AutoIt es realisieren.

    Ich habe mir folgenden Ablauf vorgestellt:

    XML auslesen mit Hilfe FileRead als String. Dann auf die Suche kommen mit StringRegExpReplace. Schliesslich neue bearbeitende Datei als neu anlegen.

    " ...

    name="Mustername_zur_Suche" quantity="Mustername_zur_Suche">

    <values>

    <value>123456789.000</value>

    </values>

    "
    Also in jedem XML sollte die Möglichkeit geben durch:

    Code
    Local $sSuchbegrenzung = 'Mustername_zur_Suche(*?)</value>'
    Local $sOutput = StringRegExpReplace($s_Inhalt_aus_XML, $sSuchbegrenzung, "1111.000")

    Nun mache ich wahrscheinlich Fehler, da mein Script keine Ergebnisse zurück liefert.

    Bitte um die Unterstützung!

    Danke im voraus

    VG

    Sascha

  • Bilder aus Excel mit Namensdefinition aus der zugeordnete Spalte abspeichern

    • tubsids
    • 19. September 2017 um 12:39

    Hallo Oscar und danke für deine Rückmeldung.

    Hier ist ein Bild.

    Dateien

    Namenlos.png 104,86 kB – 0 Downloads
  • Bilder aus Excel mit Namensdefinition aus der zugeordnete Spalte abspeichern

    • tubsids
    • 19. September 2017 um 09:22

    Hallo zusammen,

    ich habe die Tabelle wo in jeder Zeile eine Name für ein Bild steht und in zweite Spalte ein Bild.

    Wie kann ich alle Bilder abspeichern?

    Danke und Gruß

  • Versenden e-Mail fehlerhaft

    • tubsids
    • 11. September 2017 um 12:30

    Hallo zusammen,

    ich habe immer noch eine Herausforderung:

    mit _INetSmtpMail

    habe ich folgende Rückmeldung

    @error: 3 - Unable to resolve IP

    Sobald ich eine gültige IP (abgeschaut durch ipconfig /all setze, bekomme ich dann

    @error: 4 - Unable to create socket

    Hat jmd Ideen?

    VG

  • Versenden e-Mail fehlerhaft

    • tubsids
    • 16. August 2017 um 11:17

    Hallo alpines,

    danke für deine Antwort. Mit Standardemailclienten hat es nicht geholfen.
    vG

  • Versenden e-Mail fehlerhaft

    • tubsids
    • 16. August 2017 um 09:24

    Hallo zusammen,

    ich hatte früher problemlos e-Mail mit Hilfe von IBM Notes 9 versendet

    AutoIt
    #include <Inet.au3>
    
    
    _INetMail($sAddress, $sSubject, $sBody)
        If @error Then
            MsgBox($MB_SYSTEMMODAL, "_INetMail", "Error opening mail program '" & @CRLF & "@error = " & @error & ", @extended = " & @extended)
            Exit
        EndIf


    Nun habe ich Problem, seitdem ich nebenbei Outlook habe (ich kann selbst wegen fehlende Rechte weder Lotus noch Outlook löschen )

    @error = 1, @extended = 1260

    Ich vermute, es hackt an beiden Programmen und Script kommt damit nicht klar.
    Wie kann ich es nun meinem Script zuweisen, welcher Programme ich öffnen möchte um e-Mail zu versenden?

    Danke und Gruß

  • Programm Mehrere Schleifen durchführen

    • tubsids
    • 14. Juli 2017 um 05:16

    Hallo Zusammen!

    Ich habe leider nichts bisher gefunden, aber ich bin mir ziemlich sicher, dass so was geben sollte.

    Ich habe das Programm X. Damit öffne ich Datei, durchlaufe mit dem Programm wie im Visual Studio (damit werden was erzeugt). Dabei wird in Configurationsfenster eine neue Name fürdie Erstellung angepasst.

    Das gleiche tausend mal.
    Wie schaffe ich es automatisiert?

    Eine Lösung mit Mausclick möchte ich vermeiden, da der Zeitablauf für jeder Datei unterschiedlich sein kann.
    Kann ich Autoit Window Info, Autoit Record nutzen?

    Danke und Gruß

  • Nachricht senden an alle in Netzwerk (evtl. via broadcast)

    • tubsids
    • 9. Juli 2017 um 19:34

    Hallo zusammen,

    ich habe es bisher nicht besondere Themen erwischt. Deswegen maile ich als Thema neu.

    Ich will eine Nachricht (z.B. "Chef kommt") an alle vorhandenen angeschlossenen in einem Netzwerk Computers senden.
    Wie würde es gehen?

    Danke und Gruß

  • Math2 UDF

    • tubsids
    • 26. Mai 2017 um 08:41

    Hallo, warum dein Link funktioniert nicht?
    Ich wollte nun Mathe2.zip herunterladen


    ID: 2fb9813f881be4a6ea6f4631d1d2c7a7aa485d18
    Bitte teilen Sie dem Betreiber die oben stehende ID mit.
    Die Fehlermeldung kann mit dieser ID über „ACP » Protokoll » Fehler“ eingesehen werden.

  • EXCEL _Excel_RangeFind ist zu langsam

    • tubsids
    • 18. Mai 2017 um 20:51

    Hallo zusammen, ich glaube es kaum, aber... Excel neu erstellt, Daten rübergezogen... läuft mit 1...2 sek. Im Vergleich haben wir ca 60 mal gewonnen, ich kann mir aber nicht erklären warum?

  • EXCEL _Excel_RangeFind ist zu langsam

    • tubsids
    • 15. Mai 2017 um 13:40

    Hallo zusammen,

    ich habe in eine Tabelle ca. 20000 einträge. Wenn ich mit Excel-Suchfunktion beschäftige, komme ich mit max 1 Sek zur Ergebnis.
    Mit meinem Script suche ich desselber mit
    _Excel_RangeFind
    und komme zur Ergebniss erst etwa in 1 Minute.

    Wo hackt es?
    Danke und Gruß

  • PDF Inhalt lesen

    • tubsids
    • 12. Mai 2017 um 07:39

    Hallo zusammen,
    ich habe es ausprobiert und Resultat ist zunächst desselber.
    Grundsätzlich interessiert mich nur den Inhalt und mit Send mache ich nun Dokument zu - nicht zwingend erforderlich.
    Mit anderen Vorschlägen bin ich auch gut weiter gekommen und bekomme ähnliche Lösungen, nicht aber identische, da zwischendurch zusätzlich Formatierungszeichen kommen, die ich noch bearbeiten muss.

    Lg

  • MsgBox Text in Farben darstellen

    • tubsids
    • 12. Mai 2017 um 07:33

    Hallo zusammen,

    ich möchte in MsgBox unterschiedliche Farben darstellen. Geht es ?

  • PDF Inhalt lesen

    • tubsids
    • 10. Mai 2017 um 08:35

    Ich habe nun solche Lösung gefunden als schnell und hoffe ich ich ohne Fehler

    Code
    $var = FileOpenDialog("toller titel!",@WorkingDir & "\" , "PDF dokument (*.pdf)", 1 + 4 )
    ShellExecute($var)
    WinWait("[CLASS:AcrobatSDIWindow]")
    sleep(1000)
    Send("^a")
    sleep(100)
    Send("^c")
    sleep(500)
    Send("!{F4}")
    $clip = ClipGet()
  • PDF Inhalt lesen

    • tubsids
    • 3. Mai 2017 um 08:53

    Hallo zusammen,

    verzeiht bitte meine Ausdrücksweise. Ich bin ausländer ;)
    Ja, ich möchte PDF-Inhalt als Text auslesen und dann bearbeiten.
    Danke Oskar, und auch allen anderen, ich schaue mir die Links an.

    Gruß

  • PDF Inhalt lesen

    • tubsids
    • 2. Mai 2017 um 11:45

    Hallo Oskar,

    ich dachte wenn ich hier was schreibe ist nur mit Script.AU3 zusammenhängt ;) Aber hier ist mein Anfang

    Code
    Local $sLinkPDF = 'C:\test.pdf'
    CheckPDF()
    
    
    
    
    Func CheckPDF()
    
    
    	MsgBox(0, "Information zur Link", $sLinkPDF, 1)
    	; Prüfen, ob die Datei vorhanden ist
    	Local $sFileNamePDF = $sLinkPDF 
    	If Not FileExists($sFileNamePDF) Then 
    		MsgBox($MB_SYSTEMMODAL, "PDF Data Test", "Error: Can't find file --> " & $sLinkPDF)
    		Exit
    	EndIf
    	MsgBox(0, "Info", "ok PDF-Link ", 1)
    
    
    	; Open the file for reading and store the handle to a variable.
        Local $hFileOpen = FileOpen($sLinkPDF)
        If $hFileOpen = -1 Then
            MsgBox($MB_SYSTEMMODAL, "", "An error occurred when reading the file: " )
            Return False
        EndIf
        MsgBox(0, "Info", "ok PDF kann geöffnet werden" & $hFileOpen, 1)
    
    
    	; Read the contents of the file using the handle returned by FileOpen.
        Local $sFileRead = FileRead($hFileOpen)
        ; Close the handle returned by FileOpen.
        FileClose($hFileOpen)
        ; Display the contents of the file.
        MsgBox($MB_SYSTEMMODAL, "", "Contents of the file:" & @CRLF & $sFileRead)
    
    EndFunc ;==>CheckPDF()
    Alles anzeigen
  • PDF Inhalt lesen

    • tubsids
    • 2. Mai 2017 um 08:17

    Es ist vo egal, ob man kompletten Inhalt mit Adobe oder mit Foxit oder sonst irgendwie ausgelesen hat - hauptsache kommt man zum Inhalt ;)

  • PDF Inhalt lesen

    • tubsids
    • 1. Mai 2017 um 20:26

    Hallo zusammen,

    ich möchte mich erkundigen wie man PDF Datei am schicksten auslesen kann???
    Danke und Gruß

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™