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

Beiträge von Ilse

  • Screenshot Problem

    • Ilse
    • 18. Juli 2012 um 11:04

    muß mich wieder melden.

    Ich habe da nochwas von UEZ gefunden

    Funktioniert prima. Text in Zwischenablage und Bild mit Text wird angezeigt.

    ABER: Wie kann ich das angezeigte in einem Ordner speichern?
    GDIPlus habe ich noch keine Erfahrung

    Spoiler anzeigen
    [autoit]


    #include <GDIPlus.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include "Write Text on Bitmap.au3"
    $iFile = FileOpenDialog("Select an Image", "", "Image (*.jpg;*.bmp;*.png;*gif)")
    If @error Then Exit

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

    _GDIPlus_Startup()
    ;Local $hImage = WTOB($iFile, "Dies ist ein Test", "Comic Sans MS", 11, -1, -1, 2, 2)
    Local $hImage = WTOB($iFile, Clipget(), "Arial", 40, 200, 200, 2, 2)
    ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : $hImage = ' & $hImage & @crlf & '>Error code: ' & @error & @crlf) ;### Debug Console

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

    Local $iWidth = _GDIPlus_ImageGetWidth($hImage)
    Local $iHeight = _GDIPlus_ImageGetHeight($hImage)
    Local $hGUI = GUICreate("GDI+ Write Text on Bitmap by UEZ 2010", $iWidth, $iHeight, -1, -1, $WS_POPUP)
    GUISetState()

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

    Local $hGraphic = _GDIPlus_GraphicsCreateFromHWND($hGUI)
    _GDIPlus_GraphicsDrawImageRect($hGraphic, $hImage, 0, 0, $iWidth, $iHeight)

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

    Do
    Until GUIGetMsg() = $GUI_EVENT_CLOSE

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

    _GDIPlus_ImageDispose($hImage)
    _GDIPlus_GraphicsDispose($hGraphic)
    _GDIPlus_Shutdown()

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

    Exit

    [/autoit]

    Diese Datei braucht man
    Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist.

    Dateien

    Write Text on Bitmap.au3 8,62 kB – 234 Downloads
  • Screenshot Problem

    • Ilse
    • 18. Juli 2012 um 10:07

    Merci für den Hinweis,

    hab was gefunden und angepasst.
    Aber das Bild ist ohne Text.

    Bin noch nicht dahintergekommen wieso.

    Spoiler anzeigen
    [autoit]


    ; Quelle: UEZ
    #include <GDIPlus.au3>

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

    _GDIPlus_Startup()
    ;Local $hBild = _GDIPlus_ImageLoadFromFile(@ScriptDir & "\source\img001.jpg")
    Local $hBild = _GDIPlus_ImageLoadFromFile(@ScriptDir & "\augen.jpg")
    Local $iX = _GDIPlus_ImageGetWidth($hBild)
    Local $iY = _GDIPlus_ImageGetHeight($hBild)

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

    Local $text = "Das ist der Text auf dem Bild"

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

    Local $hBitmap = _GDIPlus_BitmapCreateFromScan0($iX, $iY)
    Local $hContext = _GDIPlus_ImageGetGraphicsContext($hBitmap)
    _GDIPlus_GraphicsSetSmoothingMode($hContext, 2)

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

    Local $hPinsel = _GDIPlus_BrushCreateSolid (0xFFFFFFFF)
    Local $hFormat = _GDIPlus_StringFormatCreate ()
    Local $hFamily = _GDIPlus_FontFamilyCreate ("English")
    Local $font_size = Floor(($iX - StringLen($text)) / 20)
    Local $hFont = _GDIPlus_FontCreate ($hFamily, $font_size, 0)
    Local $tLayout = _GDIPlus_RectFCreate (0, 0, 0, 0)
    Local $aInfo = _GDIPlus_GraphicsMeasureString ($hContext, $text, $hFont, $tLayout, $hFormat)

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

    _GDIPlus_GraphicsDrawImageRect($hContext, $hBild, 0, 0, $iX, $iY)

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

    Local $fWidth = DllStructGetData($aInfo[0], "Width")
    Local $fHeight = DllStructGetData($aInfo[0], "Height")

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

    DllStructSetData($tLayout, "x", $iX / 2 - Round($fWidth / 2, 0))
    DllStructSetData($tLayout, "y", $iY / 2 - Round($fHeight / 2, 0) - 2)

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

    _GDIPlus_GraphicsDrawStringEx ($hContext, $text, $hFont, $tLayout, $hFormat, $hPinsel)

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

    _Exit()

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

    Func _Exit()
    ;_GDIPlus_ImageSaveToFile($hBitmap, @ScriptDir & "\ready\img001.jpg")
    _GDIPlus_ImageSaveToFile($hBitmap, @ScriptDir & "\Augen-mit-Text.jpg")
    _GDIPlus_ImageDispose($hBild)
    _GDIPlus_FontDispose($hFont)
    _GDIPlus_FontFamilyDispose($hFamily)
    _GDIPlus_StringFormatDispose($hFormat)
    _GDIPlus_BrushDispose($hPinsel)
    _GDIPlus_BitmapDispose($hBitmap)
    _GDIPlus_GraphicsDispose($hContext)
    _GDIPlus_Shutdown()
    Exit
    EndFunc

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

    Func _GDIPlus_BitmapCreateFromScan0($iWidth, $iHeight, $iStride = 0, $iPixelFormat = 0x0026200A, $pScan0 = 0)
    Local $aResult = DllCall($ghGDIPDll, "uint", "GdipCreateBitmapFromScan0", "int", $iWidth, "int", $iHeight, "int", $iStride, "int", $iPixelFormat, "ptr", $pScan0, "int*", 0)
    If @error Then Return SetError(@error, @extended, 0)
    Return $aResult[6]
    EndFunc

    [/autoit]

    :( Grüße Ilse

  • Screenshot Problem

    • Ilse
    • 18. Juli 2012 um 09:38

    Ich habe folgendes vor:

    aber soweit bin ich noch nicht. Da es hier schon wieder Fehler gibt,

    1. Ich habe einen Ordner mit Bildern.
    2. Auf jedes Bild soll dann Text drauf

    Also die Bilder sollen eingelesen werden und mit dem Text dann abgespeichert werden.
    Ich dachte da an Screenshots.

    Aber vielleicht liege ich da ja falsch.

    huh...

    Liebe Grüße
    Ilse ;)

  • Screenshot Problem

    • Ilse
    • 18. Juli 2012 um 09:21

    Hallo m-obi,

    wie kann man die krummen Oixelwerte ändern?

    Hier mal mit Änderungen:

    Spoiler anzeigen
    [autoit]


    #cs ----------------------------------------------------------------------------

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

    AutoIt Version: 3.3.6.1
    Author: myName

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

    Script Function:
    Template AutoIt script.

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

    #ce ----------------------------------------------------------------------------
    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <ScreenCapture.au3>
    #include <WindowsConstants.au3>
    $Form1 = GUICreate("Form1", 503, 445, 192, 124)
    $Name = GUICtrlCreateLabel("Name", 24, 312, 32, 17)
    $Input1 = GUICtrlCreateInput("Input1", 72, 312, 121, 21)
    $Level = GUICtrlCreateLabel("Level", 312, 312, 30, 17)
    $Input2 = GUICtrlCreateInput("Input2", 352, 312, 129, 21)
    $Ok = GUICtrlCreateButton("Ok", 216, 352, 75, 25, $WS_GROUP)
    $Bild = GUICtrlCreateButton("Bild", 72, 408, 99, 25, $WS_GROUP)
    $Beenden = GUICtrlCreateButton("Beenden", 368, 408, 75, 25, $WS_GROUP)
    $Pic1 = GUICtrlCreatePic(@ScriptDir&"\augen.jpg", 0, 0, 500, 300, BitOR($SS_NOTIFY, $WS_GROUP, $WS_CLIPSIBLINGS))
    GUISetState(@SW_SHOW)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Ok
    GUICtrlCreateLabel(GUICtrlRead($Input1), 256, 32, 234, 46)
    GUICtrlSetBkColor(-1, -2)
    GUICtrlSetFont(-1, 16, 800, 0, "Arial")
    GUICtrlCreateLabel(GUICtrlRead($Input2), 232, 184, 252, 43)
    GUICtrlSetFont(-1, 16, 800, 0, "Arial")
    GUICtrlSetBkColor(-1, -2)
    Case $Bild
    GUISetState(@SW_HIDE)
    $Form1_1 = GUICreate("Form1", 503, 301, 192, 124,$WS_POPUP)
    $Pic1 = GUICtrlCreatePic(@ScriptDir&"\augen.jpg", 0, 0, 500, 300, BitOR($SS_NOTIFY, $WS_GROUP, $WS_CLIPSIBLINGS))
    $Label1 = GUICtrlCreateLabel(GUICtrlRead($Input1), 256, 32, 82, 46)

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

    GUICtrlSetBkColor(-1, -2)
    $eeee = GUICtrlCreateLabel(GUICtrlRead($Input2), 232, 184, 52, 43)
    GUICtrlSetFont(-1, 16, 800, 0, "Arial")
    GUICtrlSetBkColor(-1, -2)
    GUISetState(@SW_SHOW)
    _ScreenCapture_CaptureWnd(@ScriptDir & "\Screenshot.jpg", $Form1_1, 0, 0, -1, -1, true)
    Sleep(2000)

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

    GUIDelete($Form1_1)
    GUISwitch($Form1)
    GUISetState(@SW_SHOW)

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

    EndSwitch
    WEnd

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

    Aber der Screenshot sieht so aus:
    Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist.

    Dateien

    Screenshot.jpg 16,23 kB – 0 Downloads
  • Screenshot Problem

    • Ilse
    • 18. Juli 2012 um 09:02

    Guten Morgen m-obi,

    schön daß du dich meldest.

    Habe $WS_POPUP eingebaut.
    Aber der Screenshot ist immer noch mit Rahmen.
    Und... es wird ein Screenshot vom Hintergrund gemacht.

    So, als ob die Gui nicht den Fokus hat!

    Spoiler anzeigen
    [autoit]


    #cs ----------------------------------------------------------------------------

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

    AutoIt Version: 3.3.6.1
    Author: myName

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

    Script Function:
    Template AutoIt script.

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

    #ce ----------------------------------------------------------------------------
    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <ScreenCapture.au3>
    #include <WindowsConstants.au3>
    $Form1 = GUICreate("Form1", 503, 445, 192, 124,$WS_POPUP) ; hier POPUP eingebaut
    $Name = GUICtrlCreateLabel("Name", 24, 312, 32, 17)
    $Input1 = GUICtrlCreateInput("Input1", 72, 312, 121, 21)
    $Level = GUICtrlCreateLabel("Level", 312, 312, 30, 17)
    $Input2 = GUICtrlCreateInput("Input2", 352, 312, 129, 21)
    $Ok = GUICtrlCreateButton("Ok", 216, 352, 75, 25, $WS_GROUP)
    $Bild = GUICtrlCreateButton("Bild", 72, 408, 99, 25, $WS_GROUP)
    $Beenden = GUICtrlCreateButton("Beenden", 368, 408, 75, 25, $WS_GROUP)
    $Pic1 = GUICtrlCreatePic(@ScriptDir&"\augen.jpg", 0, 0, 500, 300, BitOR($SS_NOTIFY, $WS_GROUP, $WS_CLIPSIBLINGS))
    GUISetState(@SW_SHOW)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Ok
    GUICtrlCreateLabel(GUICtrlRead($Input1), 256, 32, 234, 46)
    GUICtrlSetBkColor(-1, -2)
    GUICtrlSetFont(-1, 16, 800, 0, "Arial")
    GUICtrlCreateLabel(GUICtrlRead($Input2), 232, 184, 252, 43)
    GUICtrlSetFont(-1, 16, 800, 0, "Arial")
    GUICtrlSetBkColor(-1, -2)
    Case $Bild
    GUISetState(@SW_HIDE)
    $Form1_1 = GUICreate("Form1", 503, 301, 192, 124)
    $Pic1 = GUICtrlCreatePic(@ScriptDir&"\augen.jpg", 0, 0, 500, 300, BitOR($SS_NOTIFY, $WS_GROUP, $WS_CLIPSIBLINGS))
    $Label1 = GUICtrlCreateLabel(GUICtrlRead($Input1), 256, 32, 82, 46)

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

    GUICtrlSetBkColor(-1, -2)
    $eeee = GUICtrlCreateLabel(GUICtrlRead($Input2), 232, 184, 52, 43)
    GUICtrlSetFont(-1, 16, 800, 0, "Arial")
    GUICtrlSetBkColor(-1, -2)
    GUISetState(@SW_SHOW)
    _ScreenCapture_CaptureWnd(@ScriptDir & "\Screenshot.jpg", $Form1_1, 0, 0, -1, -1, true)

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

    EndSwitch
    WEnd

    [/autoit]

    :( Grüße Ilse

  • Screenshot Problem

    • Ilse
    • 18. Juli 2012 um 08:37

    Hallo,

    dieser Code erstellt einen Screenshot.
    Leider mit Rahmen der Gui.

    Wie kann ich nur das Bild erhalten?


    Spoiler anzeigen
    [autoit]


    #cs ----------------------------------------------------------------------------

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

    AutoIt Version: 3.3.6.1
    Author: myName

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

    Script Function:
    Template AutoIt script.

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

    #ce ----------------------------------------------------------------------------
    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <ScreenCapture.au3>
    #include <WindowsConstants.au3>
    $Form1 = GUICreate("Form1", 503, 445, 192, 124)
    $Name = GUICtrlCreateLabel("Name", 24, 312, 32, 17)
    $Input1 = GUICtrlCreateInput("Input1", 72, 312, 121, 21)
    $Level = GUICtrlCreateLabel("Level", 312, 312, 30, 17)
    $Input2 = GUICtrlCreateInput("Input2", 352, 312, 129, 21)
    $Ok = GUICtrlCreateButton("Ok", 216, 352, 75, 25, $WS_GROUP)
    $Bild = GUICtrlCreateButton("Bild", 72, 408, 99, 25, $WS_GROUP)
    $Beenden = GUICtrlCreateButton("Beenden", 368, 408, 75, 25, $WS_GROUP)
    $Pic1 = GUICtrlCreatePic(@ScriptDir&"\augen.jpg", 0, 0, 500, 300, BitOR($SS_NOTIFY, $WS_GROUP, $WS_CLIPSIBLINGS))
    GUISetState(@SW_SHOW)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Ok
    GUICtrlCreateLabel(GUICtrlRead($Input1), 256, 32, 234, 46)
    GUICtrlSetBkColor(-1, -2)
    GUICtrlCreateLabel(GUICtrlRead($Input2), 232, 184, 252, 43)
    GUICtrlSetBkColor(-1, -2)
    Case $Bild
    GUISetState(@SW_HIDE)
    $Form1_1 = GUICreate("Form1", 503, 301, 192, 124)
    $Pic1 = GUICtrlCreatePic(@ScriptDir&"\augen.jpg", 0, 0, 500, 300, BitOR($SS_NOTIFY, $WS_GROUP, $WS_CLIPSIBLINGS))
    $Label1 = GUICtrlCreateLabel(GUICtrlRead($Input1), 256, 32, 82, 46)
    GUICtrlSetBkColor(-1, -2)
    $eeee = GUICtrlCreateLabel(GUICtrlRead($Input2), 232, 184, 52, 43)
    GUICtrlSetBkColor(-1, -2)
    GUISetState(@SW_SHOW)
    _ScreenCapture_CaptureWnd(@ScriptDir & "\Screenshot.jpg", $Form1_1, 0, 0, -1, -1, true)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit

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

    EndSwitch
    WEnd
    EndSwitch
    WEnd

    [/autoit]

    Grüße
    ;) Ilse

  • TAB Datenfelder per Laufzeit ändern

    • Ilse
    • 16. Juli 2012 um 20:43

    Hallo Raupi,

    oh...super!
    Dachte schon das könnte man nicht machen.

    DANKE! DANKE!

    Liebe Grüße
    Ilse ;)

  • TAB Datenfelder per Laufzeit ändern

    • Ilse
    • 16. Juli 2012 um 19:04

    Hallo,

    folgendes Problem bei meinen Tabs:

    1. Die Tabs werden per Gui angezeigt.
    2. Bestimmte Felder sollen per Laufzeit einem bestimmten TAB hinzugefügt werden.

    Also: Wenn Tabsheet 2 bereits existiert, dann werden die Felder per Laufzeit
    für Tabsheet 2 automatisch hinzugefügt.

    Spoiler anzeigen
    [autoit]


    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <TabConstants.au3>
    #include <WindowsConstants.au3>
    #include <GuiTab.au3>

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

    $Form1 = GUICreate("Form1", 625, 443, 192, 124)
    $Tab1 = GUICtrlCreateTab(40, 56, 417, 337)
    GUICtrlSetResizing(-1, $GUI_DOCKWIDTH + $GUI_DOCKHEIGHT)
    $TabSheet1 = GUICtrlCreateTabItem("TabSheet1")
    GUICtrlCreateTabItem("")
    ;$Button1 = GUICtrlCreateButton("Tab Create", 496, 80, 75, 25, $WS_GROUP)
    ;$Button2 = GUICtrlCreateButton("Felder", 496, 150, 75, 25, $WS_GROUP)
    $TabSheet2 = GUICtrlCreateTabItem("Daten")
    GUICtrlCreateTabItem("")
    GUISetState(@SW_SHOW)
    GUISetState(@SW_SHOW)

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

    Global $TabSheet2

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

    _Felder()

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit

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

    EndSwitch

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

    WEnd

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

    FUnc _Felder()
    If IsInt($TabSheet2) Then
    ;
    $TabSheet2 = GUICtrlCreateTabItem("Daten")
    $Quelle = GUICtrlCreateInput("Quelle", 48, 52, 381, 21)

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

    $Label1 = GUICtrlCreateLabel("Quellordner", 48, 28, 58, 17)
    $Label2 = GUICtrlCreateLabel("Zielordner", 48, 88, 51, 17)
    $Ziel = GUICtrlCreateInput("Ziel", 48, 108, 385, 21)

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

    EndIf
    ;_GUICtrlTab_DeleteItem($Tab1, 1)
    endfunc

    [/autoit]


    Hoffe Ihr habt da ne Idee
    Die Funktion stimmt nicht, da die Felder ja hinzugefügt werden sollen.
    Also kein neuer TAB, sondern Daten zum TAB


    Liebe Grüße
    Ilse ;)

  • TAB Prüfen

    • Ilse
    • 16. Juli 2012 um 15:43

    @ alle

    Danke, es funktioniert.

    ;) Grüße Ilse

  • TAB Prüfen

    • Ilse
    • 16. Juli 2012 um 15:07

    Hallo,

    ich habe ein Problem mit TABS.
    Ich klicke auf den Button und der TAB Daten1 wird erstellt.

    Das Problem:
    Wie kann ich abfragen ob bereits der TAB Daten1 existiert.
    Wenn nicht, dann mache den Tab
    andernfalls lösche den Tab

    Spoiler anzeigen
    [autoit]


    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <TabConstants.au3>
    #include <WindowsConstants.au3>

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

    $Form1 = GUICreate("Form1", 625, 443, 192, 124)
    $Tab1 = GUICtrlCreateTab(40, 56, 417, 337)
    GUICtrlSetResizing(-1, $GUI_DOCKWIDTH+$GUI_DOCKHEIGHT)
    $TabSheet1 = GUICtrlCreateTabItem("TabSheet1")
    GUICtrlCreateTabItem("")
    $Button1 = GUICtrlCreateButton("Tab Create", 496, 80, 75, 25, $WS_GROUP)
    GUISetState(@SW_SHOW)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit

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

    Case $Button1

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

    $TabSheet3 = GUICtrlCreateTabItem("Daten1")

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

    EndSwitch
    WEnd

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


    Viele Grüße
    Ilse ;)

  • Quellcode offline bearbeiten

    • Ilse
    • 13. Juli 2012 um 17:35

    Für alle,

    ich Hab's..

    [autoit]


    $HtmlTemplate = FileOpenDialog("Template", @ScriptDir & "\", "Html (*.jpg;*.html)", 1 + 4 )

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

    $text = FileRead ($HtmlTemplate)
    Msgbox(0,"",$text)

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

    $tout1 = StringReplace ($text, "test", "Ilse")

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

    FileWrite (@ScriptDir & "\ilse.html", $tout1)

    [/autoit]


    heieiei... ;)

    Liebe Grüße

  • Quellcode offline bearbeiten

    • Ilse
    • 13. Juli 2012 um 17:24

    Hallo,

    das Problem, ich kann den Quelltext nicht lesen.
    Das EditFeld zeigt den Pfad an, aber nicht den Quelltext

    [autoit]


    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>

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

    $Form1 = GUICreate("Form1", 625, 443, 192, 124)
    $Edit1 = GUICtrlCreateEdit("", 16, 16, 385, 417)
    $btnHtml = GUICtrlCreateButton("Html", 424, 16, 75, 25, $WS_GROUP)
    GUISetState(@SW_SHOW)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit

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

    Case $btnHtml
    $HtmlTemplate = FileOpenDialog("Template", @ScriptDir & "\", "Html (*.jpg;*.html)", 1 + 4 )
    GuiCtrlSetData($Edit1,$HtmlTemplate)
    EndSwitch

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

    WEnd

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

    :( Ilse

  • Quellcode offline bearbeiten

    • Ilse
    • 13. Juli 2012 um 16:12

    Hallo Dieter,

    muß mich wieder melden.

    Kannst du mir vielleicht ein Beispiel zeigen,
    wie man den Quellcode der Datei anzeigen kann?

    Komm irgendwie nicht weiter

    [autoit]


    ;$datei = FileOpen("test.txt", 0)
    $HtmlTemplate = FileOpenDialog("Template", @ScriptDir & "\", "Html (*.jpg;*.html)", 1 + 4 )
    ; Überprüfe ob die Datei geöffnet werden konnte
    If $HtmlTemplate = -1 Then
    MsgBox(0, "Error", "Konnte Datei nicht öffnen.")
    Exit
    EndIf
    Msgbox(0,"",$HtmlTemplate)
    ; Liest 1 Buchstabe gleichzeitig bis das Ende der Datei erreicht wurde
    While 1
    $buchstabe = FileRead($HtmlTemplate, 1)
    If @error = -1 Then ExitLoop
    MsgBox(0, "Buchstabe gelesen:", $HtmlTemplate)
    Wend

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

    FileClose($HtmlTemplate)

    [/autoit]

    :( Grüße Ilse

  • Quellcode offline bearbeiten

    • Ilse
    • 13. Juli 2012 um 15:37

    Hallo,

    folgendes Problem.
    Ich habe eine Html Datei
    Sieht so aus:

    Spoiler anzeigen


    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    <meta content="text/html; charset=ISO-8859-1"
    http-equiv="content-type">
    <title></title>
    </head>
    <body>
    Das ist ein alter Text
    </body>
    </html>

    Es soll der Quelltext mit RegEx bearbeitet werden.
    Also Text sollte ersetzt werden und dann die Datei neu abgespeichert werden.

    Aber wie kann ich einen Quelltext (offline) lesen, bearbeiten und neu abspeichern?

    Spoiler anzeigen
    [autoit]


    #include <inet.au3>
    $HtmlTemplate = FileOpenDialog("Template", @ScriptDir & "\", "Html (*.jpg;*.html)", 1 + 4 )

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

    $source = _INetGetSource($HtmlTemplate)
    Msgbox(0,"",$source)

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

    Local $sOutput = StringRegExpReplace($source, 'das ist ein (.*?)Text', ' das ist ein (neuer)Text ')

    [/autoit]

    Klappt leider alles nicht...

    ;) Grüße Ilse

  • String Wörter zusammensetzen

    • Ilse
    • 13. Juli 2012 um 15:03

    Hallo,

    merci an alle.
    Klappt jetzt prima.


    Viele Grüße
    Ilse ;)

  • String Wörter zusammensetzen

    • Ilse
    • 13. Juli 2012 um 11:26

    So,

    ich glaube das stimmt so

    [autoit]


    #include <Array.au3>
    $String = ("Das ist Text1 und so. Wir haben drei Tage. Das ist Text2. Es geht wieder. Das Text3" )

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

    Global $stringlang = StringSplit($String, ".", 2); Text mit Punkt getrennt

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

    For $f = 0 To UBound($stringlang) - 1

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

    MsgBox(0, "3 Wörter", $stringlang[$f], 2)
    $datei = StringRegExp($stringlang[$f], '(\w+)\s(.*?)\s(.*?)\s', 3) ; Ich hrauche 3 Wörter
    _ArrayDisplay($datei, "Alle Wörter")

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

    For $t = 0 To UBound($datei)-1
    MsgBox(0, "", $datei[$t], 1) ; hier werden die Wörter ermittelt

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

    Next
    If IsArray($datei) Then
    ;$datei = $datei[0] & "-" & $datei[1] & "-" & $datei[2]; hier werden die Datei zusammengesetzt
    $datei = $datei[0] & "-" & $datei[1]; hier werden die Datei zusammengesetzt
    MsgBox(0, "", $datei & ".txt")
    EndIf

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

    Next

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

    Vielen Dank für den regex hinweis

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

    ;) Ilse

    [/autoit]
  • String Wörter zusammensetzen

    • Ilse
    • 13. Juli 2012 um 11:20

    Hallo,

    hab da ne Lösung,
    leider mit Error

    [autoit]


    #include <Array.au3>
    $String = StringStripCR ("Das ist Text1 und so. Wir haben drei Tage. Das ist Text2. Es geht wieder. Das Text3" & Chr(13) & Chr(10))

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

    Global $stringlang = StringSplit($String, ".", 2); Text mit Punkt getrennt

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

    For $f = 0 To UBound($stringlang) - 1

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

    MsgBox(0, "3 Wörter", $stringlang[$f], 2)
    $datei = StringRegExp($stringlang[$f], '(\w+)\s(.*?)\s(.*?)\s', 3) ; Ich hrauche 3 Wörter
    _ArrayDisplay($datei, "Alle Wörter")

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

    For $t = 0 To UBound($datei) - 1
    MsgBox(0, "", $datei[$t], 1) ; hier werden die Wörter ermittelt

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

    Next
    $datei = $datei[0] & "-" & $datei[1] & "-" & $datei[2]; hier werden die Datei zusammengesetzt
    MsgBox(0, "", $datei & ".txt")
    Next

    [/autoit]
  • String Wörter zusammensetzen

    • Ilse
    • 13. Juli 2012 um 11:16

    Hallo Micha,

    merci für die Hilfe
    aber stimmt leider immer noch nicht

    [autoit]


    #include <Array.au3>
    $String = StringStripCR ("Das ist Text1 und so. Wir haben drei Tage. Das ist Text2. Es geht wieder. Das Text3" & Chr(13) & Chr(10))

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

    Global $stringlang = StringSplit($String, ".", 2); Text mit Punkt getrennt

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

    For $f = 0 To UBound($stringlang) - 1

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

    MsgBox(0, "3 Wörter", $stringlang[$f], 2)
    $datei = StringRegExp($stringlang[$f], '(.*?)\s(.*?)\s(.*?)\s', 3) ; Ich hrauche 3 Wörter
    _ArrayDisplay($datei, "Alle Wörter")

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

    For $t = 0 To UBound($datei) - 1
    MsgBox(0, "", $datei[$t], 1) ; hier werden die Wörter ermittelt

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

    Next
    $datei = $datei[0] & "-" & $datei[1] & "-" & $datei[2]; hier werden die Datei zusammengesetzt
    MsgBox(0, "", $datei & ".txt")
    Next

    [/autoit]

    :( Ilse

  • String Wörter zusammensetzen

    • Ilse
    • 13. Juli 2012 um 10:14

    Hallo,

    ich habe folgendes Problem.
    In meinem String ist ein umfangreicher Text.
    Dieser Text wird mit Stringsplit bearbeitet.

    Daraus wird dann ein Dateinamen generiert.

    Beispiel:
    Wort1-Wort2-Wort3.txt

    Irgendwie habe ich im Loop was falsch gemacht

    Mein Code

    Spoiler anzeigen
    [autoit]


    #include <Array.au3>
    $String = "Das ist Text1 und so. Wir haben drei Tage. Das ist Text2. Es geht wieder. Das Text3"
    Global $stringlang = StringSplit($String, ".", 2); Text mit Punkt getrennt

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

    For $f = 0 To UBound($stringlang) - 1

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

    MsgBox(0, "3 Wörter", $stringlang[$f], 2)
    $datei = StringRegExp($stringlang[$f], '(.*?)\s(.*?)\s(.*?)\s', 3) ; Ich hrauche 3 Wörter
    _ArrayDisplay($datei, "Alle Wörter")

    For $t = 0 To UBound($datei) - 1
    MsgBox(0, "", $datei[$t], 1) ; hier werden die Wörter ermittelt

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

    Next
    $datei = $datei[0] & "-" & $datei[1] & "-" & $datei[2]; hier werden die Datei zusammengesetzt
    MsgBox(0, "", $datei & ".txt")
    Next

    [/autoit]

    Der erste Durchlauf stimmt. Aber dann stimmt nichts mehr

    Liebe Grüße
    Ilse :(

  • Tab Problem

    • Ilse
    • 11. Juli 2012 um 17:51

    Lieb gemeint,

    aber ich brauche mehrere per Loop
    und diese muß ich auswählen.

    ;-)Grüße Ilse

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™