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

Beiträge von Joschy41

  • MHTML statt nur den Quellcode [gelöst]

    • Joschy41
    • 24. September 2020 um 21:08

    Danke, funktioniert!

  • MHTML statt nur den Quellcode [gelöst]

    • Joschy41
    • 24. September 2020 um 19:44

    Danke werde ich probieren wenn ich zu Hause bin.

  • MHTML statt nur den Quellcode [gelöst]

    • Joschy41
    • 24. September 2020 um 17:48

    Hallo,

    ich versuche vergebens eine komplette Website als MHTML herunterzuladen per Autoit.

    Da ist wesentlich mehr Information drin als nur im Quellcode welchen man ja mit _IEBodyReadHTML bekomme.

    Jemand eine Idee?

    Danke

  • DriveMapAdd Alternative?!

    • Joschy41
    • 22. Januar 2020 um 18:19

    Moin,

    ich suche seit längerem schon eine Möglichkeit im Netzwerk auf Passwortgeschützte Ordner darin liegende Daten zuzugreifen.
    Ich bin dann auf "DriveMapAdd" gestoßen. Dabei wird ja Quasi ein "Laufwerk" erstellt und im Explorer angezeigt, was mich ein wenig stört, da der Zugriff auf eine gewisse Textdatei nur im Hintergrund passieren soll.

    Gibt es eine Alternative um z.B. auf eine Textdatei im \\Server\Daten\ mit dem Benutzer abc und Passwort 123 zuzugreifen?

    Gruß

  • Dynamisch erstellte Controls und While GuiGetMsg()

    • Joschy41
    • 27. September 2019 um 22:01

    Hatte das gleiche auch mal, dass ich eine Anzahl von Buttons anhand einer Textdatei erstellen wollte und die Buttonnamen aus der jeweiligen Zeile ausgelsen hatte.

    Hab es mit GuiCtrlSetOnEvent gemacht und den Buttons eine Funktion zugewiesen.

    Code
    $iHigh = 0
    $iLines = _FileCountLines($TextDat)
    For $i = 1 To $iLines
        $ButtonString = FileReadLine($TextDat, $i)
    
        If Not $iFirstButtonId Then
            $iFirstButtonId = GUICtrlCreateButton($ButtonString, 60, 180, 400)
        Else
            GUICtrlCreateButton($ButtonString, 60, 180 + $iHigh, 400)
        EndIf
        GUICtrlSetOnEvent(-1, "_ButtonAktion")
        
        $iHigh = $iHigh + 30
    Next
    Alles anzeigen

    Gruß

  • "FTP_FileGet" ein 2. mal nicht möglich?

    • Joschy41
    • 26. September 2019 um 13:30
    Zitat von Oscar

    Du musst bei " _FTP_FileOpen" das Flag "$INTERNET_FLAG_RELOAD" setzen, damit die Datei nicht aus dem Cache geholt wird.

    Perfekt!


    Für FileOpen:

    Code
    $ftpFileOpen = _FTP_FileOpen($ftpConnect, $ftpFile,"",$INTERNET_FLAG_RELOAD)

    oder für FileGet:

    Code
    $ftpDownload = _FTP_FileGet($ftpConnect, $ftpFile, $ftpFileSaveAs,"","",$INTERNET_FLAG_RELOAD)


    Danke Oscar !

  • "FTP_FileGet" ein 2. mal nicht möglich?

    • Joschy41
    • 26. September 2019 um 12:56

    Ok. Danke für die Aufklärung.

    Mal gucken ob noch jemand ne Idee hat, wie ich das uploaden noch verhindern kann, er aber trotzdem die Datei ein 2. Mal runter lädt.

  • "FTP_FileGet" ein 2. mal nicht möglich?

    • Joschy41
    • 26. September 2019 um 12:08
    Zitat von Musashi

    Kurzes Feedback :

    Ob das mit Deinem Problem zu tun hat kann ich noch nicht sagen, aber Du solltest unbedingt globale Deklarationen innerhalb von Funktionen vermeiden :

    Code
    Func _ConnectToFtp(...)
        Global $ftpSession = ... 
        ...
        Global $ftpConnect = ... 
        
    Func _ReadFromFtp(...)
        Global $ftpFileReadFin = ... 

    Gruß Musashi

    Die nächste Funktion, arbeitet ja aber mit den Variablen von der darüber.

    Sollte ich die zu Anfang einmal Global deklarieren?

    Code
    #include <FTPEx.au3>
    
    
    
    ;~ ------------------------------------------------------------------------------
    ;~ ___FTP UDF von Joschy___
    ;~
    ;~ ___Befehle für Meinscript___
    ;~
    ;~ ___Verbindung zum Server herstellen___
    ;~        _ConnectToFtp ($ftpName, $ftpServer, $ftpUser, $ftpPw)
    ;~
    ;~ ___Datei vom Server Lesen___
    ;~        _ReadFromFtp ($ftpFile)
    ;~
    ;~ ___Datei vom Server herunterladen___
    ;~        _DownloadFromFtp ($ftpFile, $ftpFileSaveAs)
    ;~
    ;~ ___Datei auf Server hochladen___
    ;~        _UploadToFtp ($ftpFileToUpload, $ftpFile)
    ;~
    ;~ ___Verbindung vom Server trennen___
    ;~        _DisconnectFromFtp ()
    ;~ ------------------------------------------------------------------------------
    
    
    Global $ftpSession
    Global $ftpConnect
    Global $ftpFileReadFin
    
    
    ;~ ------------------------------------------------------------------------------
    ;~ FTP Verbinden
    ;~
    ;~ _ConnectToFtp ($ftpName, $ftpServer, $ftpUser, $ftpPw)
    ;~ $ftpName = Name der Session
    ;~ §ftpServer = Server Adresse (ohne "ftp://")
    ;~ $ftpUser = Benutzername des FTP Servers
    ;~ $ftpPw = Passwort des Users
    ;~ ------------------------------------------------------------------------------
    Func _ConnectToFtp($ftpName = 0, $ftpServer = 0, $ftpUser = 0, $ftpPw = 0)
    
        $ftpSession = _FTP_Open($ftpName) ;Session erstellen
        If $ftpSession = 0 Then
            MsgBox(0, "", "FTP Session konnte nicht gestartet werden")
        Else
    ;~         MsgBox(0, "", "FTP Session gestartet")
        EndIf
    
        $ftpConnect = _FTP_Connect($ftpSession, $ftpServer, $ftpUser, $ftpPw) ;Verbindung herstellen
        If @error = 0 Then
    ;~         MsgBox(0, "", "Verbunden")
        Else
            MsgBox(0, "", "Verbinden fehlgeschlagen")
        EndIf
    
    EndFunc   ;==>_ConnectToFtp
    ;~ ------------------------------------------------------------------------------
    ;~ FTP Datei lesen ------------------Ende
    ;~ ------------------------------------------------------------------------------
    
    
    
    
    
    ;~ ------------------------------------------------------------------------------
    ;~ FTP Datei lesen
    ;~
    ;~ _ReadFromFtp ($ftpFile)
    ;~ $ftpFile = Pfad zur Datei auf FTP Server mit normalen Slash " / "
    ;~
    ;~ Ausgabe: Ausgabe erfolgt als String in "$ftpFileReadFin"
    ;~ ------------------------------------------------------------------------------
    
    Func _ReadFromFtp($ftpFile = 0)
    
        $ftpFileOpen = _FTP_FileOpen($ftpConnect, $ftpFile) ;Datei im Hintergrund öffnen
        $ftpFileRead = _FTP_FileRead($ftpFileOpen, 100000) ;Datei lesen
        $ftpFileReadFin = BinaryToString($ftpFileRead) ;Gelesene Variable in String
        _FTP_FileClose($ftpFileOpen) ;Datei im Hintergrund schließen
    ;~ MsgBox(0, "UDF", $ftpFileReadFin) ;String anzeigen
    
    EndFunc   ;==>_ReadFromFtp
    ;~ ------------------------------------------------------------------------------
    ;~ FTP Datei lesen ------------------Ende
    ;~ ------------------------------------------------------------------------------
    
    
    
    
    
    ;~ ------------------------------------------------------------------------------
    ;~ FTP Datei herunterladen
    ;~
    ;~ _DownloadFromFtp ($ftpFile, $ftpFileSaveAs)
    ;~ $ftpFile = Pfad zur Datei auf dem FTP Server mit normalen Slash " / "
    ;~ $ftpFileSaveAs = Pfad zum Speichern der Datei mit Backslash " \ "
    ;~
    ;~ ------------------------------------------------------------------------------
    
    Func _DownloadFromFtp($ftpFile = 0, $ftpFileSaveAs = 0)
    
        $ftpDownload = _FTP_FileGet($ftpConnect, $ftpFile, $ftpFileSaveAs) ;Datei Herunterladen (_FTP_FileGet ($_FTP_Connect,$Datei auf FTP (NORMALS SLASH / ), $Datei speichern unter (BACKSLASH \ )
        If $ftpDownload = 1 Then
    ;~         MsgBox(0, "", "Datei heruntergeladen")
        ElseIf $ftpDownload = 0 Then
            MsgBox(0, "", "Datei herunterladen fehlgeschlagen")
        EndIf
        _FTP_FileClose($ftpDownload)
    EndFunc   ;==>_DownloadFromFtp
    
    ;~ ------------------------------------------------------------------------------
    ;~ FTP Datei herunterladen ------------------Ende
    ;~ ------------------------------------------------------------------------------
    
    
    
    
    
    ;~ ------------------------------------------------------------------------------
    ;~ FTP Datei hochladen
    ;~
    ;~ _UploadToFtp ($ftpFileToUpload, $ftpFile)
    ;~ $ftpFileToUpload = Pfad der Datei zum Uploaden mit Backslash " \ "
    ;~ $ftpFile = Pfad zum Speichern der datei auf dem FTP normalen Slash " / "
    ;~
    ;~ ------------------------------------------------------------------------------
    
    Func _UploadToFtp($ftpFileToUpload = 0, $ftpFile = 0)
    
    $ftpUpload = _FTP_FilePut ($ftpConnect, $ftpFileToUpload, $ftpFile)
    If $ftpUpload = 1 Then
    ;~     MsgBox(0, "", "Datei hochgeladen")
    ElseIf $ftpUpload = 0 Then
        MsgBox(0, "", "Datei hochladen fehlgeschlagen")
    EndIf
    
    EndFunc   ;==>_DownloadFromFtp
    
    ;~ ------------------------------------------------------------------------------
    ;~ FTP Datei hochladen ------------------Ende
    ;~ ------------------------------------------------------------------------------
    
    
    
    
    
    ;~ ------------------------------------------------------------------------------
    ;~ FTP Trennen
    ;~
    ;~ _DisconnectFromFtp ()
    ;~ ------------------------------------------------------------------------------
    
    Func _DisconnectFromFtp ()
    
    $ftpCloseConnect = _FTP_Close($ftpConnect) ;Verbindung trennen
    If $ftpCloseConnect = 1 Then
    ;~     MsgBox(0, "", "Verbindung getrennt")
    ElseIf $ftpCloseConnect = 0 Then
        MsgBox(0, "", "Verbindung trennen fehlgeschlagen")
    EndIf
    
    $ftpCloseSession = _FTP_Close($ftpSession) ;Session schließen
    If $ftpCloseSession = 1 Then
    ;~     MsgBox(0, "", "Session geschlossen")
    ElseIf $ftpCloseSession = 0 Then
        MsgBox(0, "", "Session schließen fehlgeschlagen")
    EndIf
    
    EndFunc
    
    ;~ ------------------------------------------------------------------------------
    ;~ FTP Trennen ------------------Ende
    ;~ ------------------------------------------------------------------------------
    Alles anzeigen

    ??

    Ändert aber nichts an mein Problem ^^

  • "FTP_FileGet" ein 2. mal nicht möglich?

    • Joschy41
    • 26. September 2019 um 11:35

    Okay.
    Dann hier mal der Code.

    Ich nutze eine selbstgebaute zusätzliche Au3 um das Eigentliche Script Übersichtlicher zu haben.

    FtpUdf.au3
    Code
    #include <FTPEx.au3>
    
    
    
    ;~ ------------------------------------------------------------------------------
    ;~ ___FTP UDF von Joschy___
    ;~
    ;~ ___Befehle für Meinscript___
    ;~
    ;~ ___Verbindung zum Server herstellen___
    ;~        _ConnectToFtp ($ftpName, $ftpServer, $ftpUser, $ftpPw)
    ;~
    ;~ ___Datei vom Server Lesen___
    ;~        _ReadFromFtp ($ftpFile)
    ;~
    ;~ ___Datei vom Server herunterladen___
    ;~        _DownloadFromFtp ($ftpFile, $ftpFileSaveAs)
    ;~
    ;~ ___Datei auf Server hochladen___
    ;~        _UploadToFtp ($ftpFileToUpload, $ftpFile)
    ;~
    ;~ ___Verbindung vom Server trennen___
    ;~        _DisconnectFromFtp ()
    ;~ ------------------------------------------------------------------------------
    
    
    
    ;~ ------------------------------------------------------------------------------
    ;~ FTP Verbinden
    ;~
    ;~ _ConnectToFtp ($ftpName, $ftpServer, $ftpUser, $ftpPw)
    ;~ $ftpName = Name der Session
    ;~ §ftpServer = Server Adresse (ohne "ftp://")
    ;~ $ftpUser = Benutzername des FTP Servers
    ;~ $ftpPw = Passwort des Users
    ;~ ------------------------------------------------------------------------------
    Func _ConnectToFtp($ftpName = 0, $ftpServer = 0, $ftpUser = 0, $ftpPw = 0)
    
        Global $ftpSession = _FTP_Open($ftpName) ;Session erstellen
        If $ftpSession = 0 Then
            MsgBox(0, "", "FTP Session konnte nicht gestartet werden")
        Else
            MsgBox(0, "", "FTP Session gestartet")
        EndIf
    
        Global $ftpConnect = _FTP_Connect($ftpSession, $ftpServer, $ftpUser, $ftpPw) ;Verbindung herstellen
        If @error = 0 Then
            MsgBox(0, "", "Verbunden")
        Else
            MsgBox(0, "", "Verbinden fehlgeschlagen")
        EndIf
    
    EndFunc   ;==>_ConnectToFtp
    ;~ ------------------------------------------------------------------------------
    ;~ FTP Datei lesen ------------------Ende
    ;~ ------------------------------------------------------------------------------
    
    
    
    
    
    ;~ ------------------------------------------------------------------------------
    ;~ FTP Datei lesen
    ;~
    ;~ _ReadFromFtp ($ftpFile)
    ;~ $ftpFile = Pfad zur Datei auf FTP Server mit normalen Slash " / "
    ;~
    ;~ Ausgabe: Ausgabe erfolgt als String in "$ftpFileReadFin"
    ;~ ------------------------------------------------------------------------------
    
    Func _ReadFromFtp($ftpFile = 0)
    
        $ftpFileOpen = _FTP_FileOpen($ftpConnect, $ftpFile) ;Datei im Hintergrund öffnen
        $ftpFileRead = _FTP_FileRead($ftpFileOpen, 100000) ;Datei lesen
        Global $ftpFileReadFin = BinaryToString($ftpFileRead) ;Gelesene Variable in String
        _FTP_FileClose($ftpFileOpen) ;Datei im Hintergrund schließen
    ;~ MsgBox(0, "UDF", $ftpFileReadFin) ;String anzeigen
    
    EndFunc   ;==>_ReadFromFtp
    ;~ ------------------------------------------------------------------------------
    ;~ FTP Datei lesen ------------------Ende
    ;~ ------------------------------------------------------------------------------
    
    
    
    
    
    ;~ ------------------------------------------------------------------------------
    ;~ FTP Datei herunterladen
    ;~
    ;~ _DownloadFromFtp ($ftpFile, $ftpFileSaveAs)
    ;~ $ftpFile = Pfad zur Datei auf dem FTP Server mit normalen Slash " / "
    ;~ $ftpFileSaveAs = Pfad zum Speichern der Datei mit Backslash " \ "
    ;~
    ;~ ------------------------------------------------------------------------------
    
    Func _DownloadFromFtp($ftpFile = 0, $ftpFileSaveAs = 0)
    
        $ftpDownload = _FTP_FileGet($ftpConnect, $ftpFile, $ftpFileSaveAs) ;Datei Herunterladen (_FTP_FileGet ($_FTP_Connect,$Datei auf FTP (NORMALS SLASH / ), $Datei speichern unter (BACKSLASH \ )
        If $ftpDownload = 1 Then
            MsgBox(0, "", "Datei heruntergeladen")
        ElseIf $ftpDownload = 0 Then
            MsgBox(0, "", "Datei herunterladen fehlgeschlagen")
        EndIf
        _FTP_FileClose($ftpDownload)
    EndFunc   ;==>_DownloadFromFtp
    
    ;~ ------------------------------------------------------------------------------
    ;~ FTP Datei herunterladen ------------------Ende
    ;~ ------------------------------------------------------------------------------
    
    
    
    
    
    ;~ ------------------------------------------------------------------------------
    ;~ FTP Datei hochladen
    ;~
    ;~ _UploadToFtp ($ftpFileToUpload, $ftpFile)
    ;~ $ftpFileToUpload = Pfad der Datei zum Uploaden mit Backslash " \ "
    ;~ $ftpFile = Pfad zum Speichern der datei auf dem FTP normalen Slash " / "
    ;~
    ;~ ------------------------------------------------------------------------------
    
    Func _UploadToFtp($ftpFileToUpload = 0, $ftpFile = 0)
    
    $ftpUpload = _FTP_FilePut ($ftpConnect, $ftpFileToUpload, $ftpFile)
    If $ftpUpload = 1 Then
        MsgBox(0, "", "Datei hochgeladen")
    ElseIf $ftpUpload = 0 Then
        MsgBox(0, "", "Datei hochladen fehlgeschlagen")
    EndIf
    
    EndFunc   ;==>_DownloadFromFtp
    
    ;~ ------------------------------------------------------------------------------
    ;~ FTP Datei hochladen ------------------Ende
    ;~ ------------------------------------------------------------------------------
    
    
    
    
    
    ;~ ------------------------------------------------------------------------------
    ;~ FTP Trennen
    ;~
    ;~ _DisconnectFromFtp ()
    ;~ ------------------------------------------------------------------------------
    
    Func _DisconnectFromFtp ()
    
    $ftpCloseConnect = _FTP_Close($ftpConnect) ;Verbindung trennen
    If $ftpCloseConnect = 1 Then
        MsgBox(0, "", "Verbindung getrennt")
    ElseIf $ftpCloseConnect = 0 Then
        MsgBox(0, "", "Verbindung trennen fehlgeschlagen")
    EndIf
    
    $ftpCloseSession = _FTP_Close($ftpSession) ;Session schließen
    If $ftpCloseSession = 1 Then
        MsgBox(0, "", "Session geschlossen")
    ElseIf $ftpCloseSession = 0 Then
        MsgBox(0, "", "Session schließen fehlgeschlagen")
    EndIf
    
    EndFunc
    
    ;~ ------------------------------------------------------------------------------
    ;~ FTP Trennen ------------------Ende
    ;~ ------------------------------------------------------------------------------
    Alles anzeigen

    Hier das Downloadscript.

    Code
    #include "FtpUdf.au3"
    
    Global $ftpSessionName = "FTPDownload"
    Global $ftpServer = "ServerAdresse"
    Global $ftpUserName = "Benutzer"
    Global $ftpPassword = "Passwort"
    
    Global $ftpBestellungenTXT = "/text.txt"
    Global $localBestellungenTXT = @FavoritesDir & "\text.txt"
    
    _ConnectToFtp($ftpSessionName, $ftpServer, $ftpUserName, $ftpPassword)
    _DownloadFromFtp($ftpBestellungenTXT, $localBestellungenTXT)
    
    $read = FileRead($localBestellungenTXT)
    MsgBox(0, "", $read)
    
    _DisconnectFromFtp()
    
    FileDelete($localBestellungenTXT)
    
    MsgBox(0, "", "Nochmal Laden und ansehen")
    
    _ConnectToFtp($ftpSessionName, $ftpServer, $ftpUserName, $ftpPassword)
    _DownloadFromFtp($ftpBestellungenTXT, $localBestellungenTXT)
    
    $read = FileRead($localBestellungenTXT)
    MsgBox(0, "", $read)
    
    _DisconnectFromFtp()
    
    FileDelete($localBestellungenTXT)
    
    Exit
    Alles anzeigen

    Beim 2. _DownloadFromFTP lädt er die nicht erneut runter, sondern nimmt die Datei irgendwo her und legt die ins Zielverzeichnis ab.

    Gruß

  • "FTP_FileGet" ein 2. mal nicht möglich?

    • Joschy41
    • 26. September 2019 um 10:24

    Ich habe jetzt folgendes festgestellt:

    Verbinden zum FTP
    Datei Herunterladen

    Datei ansehen

    Trennen zum FTP

    Datei Lokal löschen

    Erneut Verbinden zum FTP

    Datei Herunterladen (funktioniert nicht)

    Datei ansehen

    Trennen zum FTP

    Datei Lokal löschen

    Dieser Ablauf funktioniert nicht. Er lädt die Datei nicht zum zweiten mal herunter.
    Das kann ich feststellen indem ich auf FileZille Server gucke und nichts von einem Download steht.
    Somit bekommt das Programm auch nicht die aktuellen Daten, wenn zwischendurch von jemand anders die Datei auf dem FTP geändert wurde. Das Programm nimmt anscheint aus irgendein Speicher die als 1. geladene Datei und schiebt sie erneut Lokel zum Zielpfad.

    Jetzt ein anderes Beispiel:

    Verbinden zum FTP

    Datei Herunterladen

    Datei ansehen

    Datei Hochladen

    Trennen zum FTP

    Datei Lokal löschen

    Erneut Verbinden zum FTP

    Datei Herunterladen (funktioniert auf einmal wieder)

    Datei ansehen

    Trennen zum FTP

    Datei Lokal löschen

    Nachdem ich die Datei die ich Heruntergeladen habe nach dem Lesen wieder hochlade, kann ich die ein 2. mal Herunterladen und sie ist somit aktuell.
    Gibt es eine Möglichkeit den Upload zu umgehen, damit ich die Datei einfach ein zweites mal herunterladen kann?

    MfG

  • "FTP_FileGet" ein 2. mal nicht möglich?

    • Joschy41
    • 26. September 2019 um 09:47

    Zum Thema FTP:

    Wenn ich das Programm starte, holt er sich die aktuellen Daten vom FTP.

    Wenn ich im Programm auf "Aktualisieren" drücke um die Daten erneut zu holen, verbindet er sich zwar mit dem FTP,

    holt die "aktuellen" Daten aber nicht erneut vom FTP, sondern holt irgendwo anders die zuvor geladenen Datein her und packt sie wieder in den Zielpfad.

    Jemand ne Idee?

  • "FTP_FileGet" ein 2. mal nicht möglich?

    • Joschy41
    • 25. September 2019 um 22:50

    Danke für euren Tipps :)

    Ich bin dabei die Programm noch mal neu und sauber zu schreiben.
    Das Problem tauchte nur auf, wenn 2 Rechner das gleiche Programm offen hatten und beide auf den FTP zugegriffen haben. Da ich aber vorhin noch nicht "_FTP_Close" drin hatte, vermute ich einfach, dass beide Rechner mit dem gleichen FTP user auf die gleichen Dateien zugegriffen haben und so ein Konflikt entstand.

    Ich schreibe die Programme erstmal neu und melde mich ggf. noch mal ;)

    Danke! und gute Nacht!

  • "FTP_FileGet" ein 2. mal nicht möglich?

    • Joschy41
    • 25. September 2019 um 15:34

    Hallo Professor Bernd

    Nein hast du richtig verstanden alles.

    Ich habe das mal mit der Liste gemacht und es gefällt mir tatsächlich auch besser.

    Aktuelles Problem nur, dass die Liste sich nur aktualisiert, wenn sich das Programm neu startet.

    Vermute das hängt irgendwie mit dem FTP zusammen, da die Daten auf einem FTP liegen.
    Soll verhindern, dass Leute an einer Datei rumfummeln.

    Gruß

  • "FTP_FileGet" ein 2. mal nicht möglich?

    • Joschy41
    • 24. September 2019 um 21:30

    Man, da muss man erstmal drauf kommen wenn man damit noch nie gearbeitet hat. :D
    Danke

    Zitat von autoiter

    Autsch :D

    Glaube ich denke manchmal zu kompliziert.

  • "FTP_FileGet" ein 2. mal nicht möglich?

    • Joschy41
    • 24. September 2019 um 21:04

    Ich kann leider vorher nicht wissen, wieviele Labels (bzw. Buttons) erstellt werden müssen.

    Also ich arbeite derzeit an einen Bestellprogramm für die Arbeit.
    Das Programm "Bestellen", erfasst die eingegebenen "Inputs" und macht daraus eine Textdatei.
    Eine Zeile je Bestellung.

    Nun soll das Programm zum "Anzeigen" der Bestellungen auf einen anderen Rechner laufen und je nach Zeilen in der Textdatei Buttons erstellen.
    5 Zeilen = 5 Bestellungen = 5 Buttons

    Die Textdatei kann sich jederzeit ändern, wenn jemand eine Bestellung aufgibt.
    Das Programm zum anzeigen soll also z.B. jede 60 Sekunden prüfen, ob eine Zeile hinzugekommen ist bzw. entfernt wurde.
    Demnach also auch einen Button hinzufügen bzw. entfernen.
    Das soll aber auch funktionieren wenn in dem Programm zum anzeigen eine weitere Gui mit z.B. einer "Info" geöffnet ist.

    Also in der $hGui der "Anzeigen.exe" sollen sich die Buttons aktualisieren (Löschen und neu erstellen) während eine $InfoGui der "Anzeigen.exe" geöffnet ist.

    Ich hoffe ich konnte das mal verständlich beschreiben.

  • "FTP_FileGet" ein 2. mal nicht möglich?

    • Joschy41
    • 24. September 2019 um 20:36

    Thema geändert in "FTP_FileGet" ein 2. mal nicht möglich?"

    >>>Siehe Kommentar 13<<<


    MIt Button in Gui 2 ein Label in Gui 1 erstellen [Erledigt]

    Lösung "GuiSwitch" (Somit erledigt)

    Hallo, ich mal wieder.

    Ich habe das Problem, dass ich mit einem Button in einer 2. Gui einen Text (Label) in der 1. Gui erstellen möchte.
    Einen vorhandenen Text in Gui 1 kann ich mit einen Button in Gui 2 mit "GuiCtrlSetData" ändern.
    Aber wie kann ich ein Text in Gui 1 aus der 2. Gui erstellen?

    Mit "GuiCtrlCreateLabel" kann ich ja keine Gui bestimmen? Somit bekomme ich den Text nur auf der aktuellen Gui erstellt.

    Hier mal ein Script:

    #include <GuiConstants.au3> Opt("GuiOnEventMode", 1) ;Gui 1 erstellen $Gui_1 = GUICreate("Gui 1", 300, 300, 0, 0) GUISetOnEvent($GUI_EVENT_CLOSE, "_Exit1") $Label_1 = GUICtrlCreateLabel("Testtext 1", 10, 10, 200) ;Ende ;Gui 2 erstellen $Gui_2 = GUICreate("Gui 2", 300, 300, 300, 0) GUISetOnEvent($GUI_EVENT_CLOSE, "_Exit2") $Button1_Gui2 = GUICtrlCreateButton("Label auf Gui 1 erstellen", 75, 50, 150) GUICtrlSetOnEvent($Button1_Gui2, "_AddLabelGui1") $Button2_Gui2 = GUICtrlCreateButton("Label auf Gui 1 ändern", 75, 100, 150) GUICtrlSetOnEvent($Button2_Gui2, "_ChangeLabelGui1") ;Ende GUISetState(@SW_SHOW, $Gui_1) GUISetState(@SW_SHOW, $Gui_2) While 1 Sleep(100) WEnd ;Diese Funktion soll einen Text auf Gui 1 erstellen Func _AddLabelGui1() $Label_2 = GUICtrlCreateLabel("Testtext 2", 10, 10, 150) ;Dieses Label soll auf Gui 1 erscheinen EndFunc ;==>_AddLabelGui1 Func _ChangeLabelGui1() GUICtrlSetData($Label_1, "Testtext 1 geändert") EndFunc ;==>_ChangeLabelGui1 Func _Exit1() Exit EndFunc ;==>_Exit1 Func _Exit2() GUIDelete($Gui_2) EndFunc ;==>_Exit2

    MfG

    Sorry für die doppelt erstellten Themen. Es gab einen Fehler, wurde aber doch erstellt.
    Ich habe die doppelten gelöscht.

  • Zusammenarbeit mehreren Scrips auf mehreren Rechnern im Netzwerk ohne / oder mit verschlüsselter Textdatei

    • Joschy41
    • 23. September 2019 um 07:46

    Mein Problem ist somit gelöst.

    MfG

  • Gui vergrößern ohne Verschiebung der Elemente

    • Joschy41
    • 23. September 2019 um 07:43

    Ich hatte tatsächlich etwas mit Winmove schon gefunden gehabt.
    Allerdings fehlten mir die anderen Parameter, $Dockleft, $Docktop usw.


    Deswegen hab ich hier noch mal nachgefragt, da ich dachte, dass es eine andere Lösung gibt.

    Ich danke dir trotzdem für deine Hinweise, die mich letztendlich zu einer Lösung geführt haben!
    ;)

    Gruß

  • Gui vergrößern ohne Verschiebung der Elemente

    • Joschy41
    • 22. September 2019 um 11:44

    Ich habe tatsächlich gegooglet gehabt. Nur nicht in Englisch. Dementsprechend ist "Der erste Treffer" denn evtl. nicht der erste Treffer gewesen, sondern auf Seite 7 oder 8.
    Ich habe dann nach "how to resize autoit gui" gesucht. Tatsächlich fündig geworden. Trotzdem danke für dein Tipp.

    Code
    #include <GuiConstants.au3>
    Opt("GuiOnEventMode", 1)
    
    $hGui = GUICreate("Test", 200, 400)
    GUISetOnEvent($GUI_EVENT_CLOSE, "_Exit")
    
    $SetSize1 = GUICtrlCreateButton("Vergrößern", 50, 50, 100)
    GUICtrlSetResizing(-1, $GUI_DOCKLEFT + $GUI_DOCKTOP + $GUI_DOCKSIZE) ;Dockt das Element Links und Oben an, so wie auch die Größe. Bei WinMove verschiebt es sich nicht.
    GUICtrlSetOnEvent($SetSize1, "_SetSize1")
    
    $SetSize2 = GUICtrlCreateButton("Verkleinern", 250, 50, 100)
    GUICtrlSetResizing(-1, $GUI_DOCKLEFT + $GUI_DOCKTOP + $GUI_DOCKSIZE) ;Dockt das Element Links und Oben an, so wie auch die Größe. Bei WinMove verschiebt es sich nicht.
    GUICtrlSetOnEvent($SetSize2, "_SetSize2")
    
    GUISetState(@SW_SHOW, $hGui)
    
    Func _SetSize1()
        WinMove($hGui, "", Default, Default, 400, Default) ;Vergrößert nur die Breite
    EndFunc   ;==>_SetSize1
    
    Func _SetSize2()
            WinMove($hGui, "", Default, Default, 200, Default) ;Verkleinert nur die Breite
    EndFunc   ;==>_SetSize2
    
    Func _Exit()
        Exit
    EndFunc   ;==>_Exit
    
    While 1
        Sleep(100)
    WEnd
    Alles anzeigen

    Beitrag somit erledigt!

    Danke

  • Gui vergrößern ohne Verschiebung der Elemente

    • Joschy41
    • 21. September 2019 um 13:41

    Danke für deine schnelle Antwort.
    Ich kann so zwar die Gui Größe ändern in dem ich das Fenster größer ziehe mit der Maus.
    Es soll aber per Button auf eine definierte Größe geändert werden.

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™