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

Beiträge von Tigger1975

  • GUI Elemente Possitionieren funktionirt nicht richtig.

    • Tigger1975
    • 2. Mai 2013 um 21:55

    Habs gefunden, danke für deine Hilfe!

  • GUI Elemente Possitionieren funktionirt nicht richtig.

    • Tigger1975
    • 2. Mai 2013 um 21:43

    Das habe ich schon versucht, ich habe aber noch was anderes gefunden wenn ich die höhe des Fensters ändre, ändert ich auch der Versatz

  • GUI Elemente Possitionieren funktionirt nicht richtig.

    • Tigger1975
    • 2. Mai 2013 um 21:03

    Ja soweit war ich ja auch schon, ich sitze immerhin schon 2 Tage an dem Problem.
    Ich vermute ich bin da einem Bug aufgesessen.
    Immerhin wir ja auch der Button immer an der Relativ gleichen Position erstellt, so wie es sein soll.
    Aber das Lable nicht, ich habe das lable auch als button erstellen lassen und das gleiche Problem.

  • StdinWrite Lotus Notes nfuxup.exe

    • Tigger1975
    • 8. Februar 2013 um 16:07

    Ich hab das gerade nochmal ausprobiert. Nur leider funktioniert das nicht.

    In meinem Original Code ist das auch so gelöst das erst wenn in der Ausgabe was drin ist wird überhaupt die Eingabe realisiert.

  • StdinWrite Lotus Notes nfuxup.exe

    • Tigger1975
    • 8. Februar 2013 um 15:12

    Ja das Programm wird gestartet, zum einen findest sich die exe dann in der Prozess liste und zum anderen kommt ja der Output das es auf das Password wartet.

  • Fremddatei auf zugriffs Orte Prüfen.

    • Tigger1975
    • 8. Februar 2013 um 14:56

    Das Tool würde ich auch empfehlen

    http://technet.microsoft.com/de-de/sysinternals/bb896645.aspx

  • StdinWrite Lotus Notes nfuxup.exe

    • Tigger1975
    • 8. Februar 2013 um 14:54

    Doch!

    Zeile 7 und die bestätigen in zeile 10
    das ist ein gekapselt um das Ergebnis darzustellen.
    Das spielt aber keine rolle, da ich das im Original code anders mache.
    Und da funktioniert das auch nicht.

  • Variable durchreichen

    • Tigger1975
    • 8. Februar 2013 um 14:51

    Ja so ähnlich, aber ich habe vor das alle Fragen nacheinander gestellt werde können, aber gleichzeitig in der gui angezeigt werden.

    Zudem arbeite ich mit event bei Änderung des Daten oder bei Click auf den button.

  • StdinWrite Lotus Notes nfuxup.exe

    • Tigger1975
    • 8. Februar 2013 um 10:33

    Was mache ich?
    das ist das beispiel aus der hilfe, etwas gepimpt mit einer funktion die einem zeigt was passiert.

    oder übersehe ich da was?

    Zitat von Joriktos

    Wieso schreibst du eigentlich das was ausgegeben wird wieder direkt an das Programm?

  • Variable durchreichen

    • Tigger1975
    • 8. Februar 2013 um 10:30

    Hm... seint wohl wie immer Schwere kost zu sein!

    ich schreibe an einer UDF die durch min 2 kleine aufrufe eine Dialog GUI aufbaut und anzeigt.
    1. Aufruf ist die Frage die man dem Benutzer der Anwendung (nicht die UDF) stellen möchte z.B. "Wo befindet sich die Datei XYZ". in der Gui gibt es dann einen Button der einen File öffnen Dialog anzeigt.
    Dieses Funktion wird so oft aufgerufen wie man (Entwickler der Anwendung) es eben benötigt.
    2. Aufruf ist eine dazugehörige Funktion die dann noch zwei Buttons unten dran baut und die Gui anzeigt.

    Wenn jetzt die Gui benutzt wird um wie im obigen Beispiel die Datei auszuwählen kommt das Ergebnis in ein Array welches von der Funktion unter 1 aufgebaut wird.
    Jetzt möchte der Entwickler natürlich das Ergebnis in einer dedizierten variable stehen haben. Die er sinnvoller weise beim Aufruf von Funktion unter eins mit gibt.

    Ich stelle mir da vor das es so ähnlich gelöst werden kann wie bei einer byref variable und dieser verwies müsste dann in dem unter 1 erzeugten Array abgelegt werden. Also so was wie ein Poniter müsste in der erste Funktion erzeugt werden und der dann so gespeichert werden das man in einer Anderen Funktion wieder über den Pointer an die Variable kommt.

  • StdinWrite Lotus Notes nfuxup.exe

    • Tigger1975
    • 8. Februar 2013 um 07:53

    Hilft mir auch nicht, leider.

    Kann es sein das es Programme gibt die sich Irgend wie an dem Stdin vorbei mogeln?

  • Variable durchreichen

    • Tigger1975
    • 6. Februar 2013 um 10:06

    Sorry bugfix, aber du hast leider nicht verstanden was ich vor habe.

    ich wills mal einfacher darstellen.
    Ich schreibe Programme die Informationen benötigen wie die Umgebung aussieht. Dies löse ich mit einem UDF welches den Benutzer mit Poupfenster frag was ich wissen muss. Das funktioniert jetzt auch super. Allerdings stört mich das das für jede Information ein Popup hochkommt. Deswegen arbeite ich an Version 2 es wir über die gleich Art von Funktionsaufruf eine Gui gebaut die im Programmablauf dann am ende gestartet wird (also dynamisch). Jetzt habe ich das Problem das die Antworten des Nutzers in einem Array gespeichert wird und das anhand der Reihenfolge wie die Funktionen aufgerufen wurden.
    Und genau das möchte ich auflösen das beim Aufruf der Funktion eine variable mitgegeben werden kann in der dann beim klick auf den Speicher butten in der Gui der wert der Antwort für diese Frage enthalten ist.
    Es Funktioniert ja auch alles wie ich mir das vorstelle es geht nur darum das ich klar festlegen kann wo ich das Ergebnis finde.

  • StdinWrite Lotus Notes nfuxup.exe

    • Tigger1975
    • 6. Februar 2013 um 09:37

    Kann mir jemand helfen; Warum wird das Passwort nicht übergeben.

    Spoiler anzeigen
    [autoit][/autoit] [autoit][/autoit] [autoit]

    ; Demonstrates the use of StdinWrite()
    #include <Constants.au3>

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

    Local $foo = Run(@ProgramFilesDir & "\" & "notes\nfixup", @UserProfileDir & "\NOTESDATA\", @SW_HIDE, $STDIN_CHILD + $STDOUT_CHILD)
    ; Write string to be sorted to child sort.exe's STDIN
    ;StdinWrite("password" & @CRLF)
    _ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : StdinWrite($foo,"password" & @CRLF) = ' & StdinWrite($foo,"password" & @CRLF) & @crlf & '>Error code: ' & @error & @crlf) ;### Debug Console
    ; Calling with no 2nd arg closes stream
    ;StdinWrite($foo)
    _ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : StdinWrite($foo) = ' & StdinWrite($foo) & @crlf & '>Error code: ' & @error & @crlf) ;### Debug Console

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

    ; Read from child's STDOUT and show
    Local $data
    While True
    $data = StdoutRead($foo)
    If @error Then ExitLoop
    _ConsoleWrite($data) ;### Debug Console
    Sleep(25)
    WEnd

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

    Func _ConsoleWrite($sMsg)
    If Not $sMsg = "" Then
    $sMsg = StringReplace($sMsg, @CRLF, " ")
    ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : $sMsg = ' & $sMsg & @crlf & '>Error code: ' & @error & @crlf) ;### Debug Console
    ;_FileWriteLog(@TempDir & "\" & @ScriptName & ".log", $sMsg)
    EndIf
    EndFunc ;==>_ConsoleWrite

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

    Danke

  • Variable durchreichen

    • Tigger1975
    • 6. Februar 2013 um 08:59

    Ich will versuchen es einfacher darzustellen:

    ich habe eine Funktion die einen Teil einer GUI aufbaut, zudem wird ein Steuer Array jeweils um ein Eintrag erweitert. In diesem Array befinden sich alle GUI Elemente sowie alle werte des Funktionsaufrufs, auch die Initialen werte sowie die zurückgegebenen werte. Dieser möchte ich eine byref var mitgeben, die dann im Array verlinkt werden soll.
    Diese Funktion wird natürlich nur aufgerufen wenn die GUI aufgebaut wird.
    Die Elemente dieses GUI Teils startet eine Eventfunktion die die Werte speichern. genau hier möchte ich dann den Wert in die oben verlinkte Variable schreiben.

    Ich hoffe das ist jetzt verständlicher.

  • Variable durchreichen

    • Tigger1975
    • 28. Januar 2013 um 11:40

    Ja da hast du natürlich recht, aber ich will die Variable erst in der Folgenden Funktion verändern und zurück geben, wie oben beschrieben ist es so das es diese Verkettung der Funktionen nicht wirklich gibt, und genau das ist mein Problem ich möchte sie über diese Vareable Verketten.

    Zitat


    Da Du in der Funktion "main" die Variable $test per ByRef übergibst, musst Du diese natürlich auch ändern (am Ende der Funktion den Wert von $a_Werte[0] wieder an $test übergeben:

    Spoiler anzeigen
    [autoit]


    Global $a_Werte[1]
    $test123 = "12345"
    main($test123)
    MsgBox(0, "", $test123) ; hier sollte 54321 rauskommen
    Func main(ByRef $test)
    $a_Werte[0] = $test
    test1($a_Werte[0])
    $test = $a_Werte[0] ; <- das hier fehlt
    EndFunc ;==>main
    Func test1(ByRef $test1)
    $test1 = "54321"
    EndFunc ;==>test1

    [/autoit]
    Alles anzeigen
  • Variable durchreichen

    • Tigger1975
    • 28. Januar 2013 um 11:37

    Ich glaube die Aufgabenstellung ist noch nicht richtig rausgekommen.

    Mein Problem ist das die Funktion Main eine Funktion ist die eine Teil einer GUI aufbaut. Und die Funktion Test1 gibt das ergebnis der GUI dann wieder zurück.
    Aber es soll so sein das wenn jemand die GUI Aufbaut er auch Festlegen kann in Welcher Variable das Ergebnis zu finden ist.

    Im Moment mache ich das über ein Array, dies hat zur folge das es Schwirig wird die Reienfolge der GUI zu verändern. Da sich ja auch die Reienfolge der Antworten Im Array ändert.

    Zur erklärung das ganze gibt einen Konfigurationsdialog für Autoit Scripte, so das man zu begin des scripts alle Einstellungen abfragen kann und diese eingaben in einer INI gespeichert oder gelesen werden.
    Nach dem der Nutzer den Konfigurationsdialog geschlossen hat sollen alle notwendigen werde in Vareablen gespeichert sein die der Entwickler vorgegeben hat.

  • Variable durchreichen

    • Tigger1975
    • 26. Januar 2013 um 13:34

    Hallo ich möchte eine Variable ByRef durchreichen. Like this

    Spoiler anzeigen
    [autoit]


    $test123 = "12345"
    main($test123)
    MsgBox(0, "", $test123)
    Func main(ByRef $test)
    test1($test)
    EndFunc ;==>main
    Func test1(byref $test1)
    $test1 = "54321"
    EndFunc ;==>test1

    [/autoit]


    Hier funktioniert das natürlich auch wie ich das möchte, aber eigentlich habe ich das vor:

    Spoiler anzeigen
    [autoit]

    Global $a_Werte[1]
    $test123 = "12345"
    main($test123)
    MsgBox(0, "", $test123) ; hier sollte 54321 rauskommen
    Func main(ByRef $test)
    $a_Werte[0] = $test
    test1($a_Werte[0])
    EndFunc ;==>main
    Func test1(byref $test1)
    $test1 = "54321"
    EndFunc ;==>test1

    [/autoit]


    Hat jemand eine Idee wie ich das Lösen kann?

  • _INetSmtpMailCom Anmeldung wird nicht ausgehfühert.

    • Tigger1975
    • 17. September 2012 um 16:19

    Hallo, ich habe hier eine Funktion die Emails mit Anhang und Dringlichkeiten Verschicken kann.

    Sie sollte auch Authentivizierung können, nur leider scheint das keine erfolg zu haben.
    Könnt Ihr mit weiter helfen warum das nicht geht?

    Spoiler anzeigen
    [autoit]

    Func _INetSmtpMailCom($s_SmtpServer, $s_FromName, $s_FromAddress, $s_ToAddress, $s_Subject = "", $as_Body = "", $s_AttachFiles = "", $s_CcAddress = "", $s_BccAddress = "", $s_Importance = "Normal", $s_Username = "", $s_Password = "", $IPPort = 25, $ssl = 0)
    Local $objEmail = ObjCreate("CDO.Message")
    Local const $sEmailSchema = "http://schemas.microsoft.com/cdo/configuration/"
    With $objEmail
    .From = '"' & $s_FromName & '" <' & $s_FromAddress & '>'
    .To = $s_ToAddress
    Local $i_Error = 0
    Local $i_Error_desciption = ""
    If $s_CcAddress <> "" Then .Cc = $s_CcAddress
    If $s_BccAddress <> "" Then .Bcc = $s_BccAddress
    .Subject = $s_Subject
    If StringInStr($as_Body, "<") And StringInStr($as_Body, ">") Then
    .HTMLBody = $as_Body
    Else
    .Textbody = $as_Body & @CRLF
    EndIf
    If $s_AttachFiles <> "" Then
    Local $S_Files2Attach = StringSplit($s_AttachFiles, ";")
    For $x = 1 To $S_Files2Attach[0]
    $S_Files2Attach[$x] = _PathFull($S_Files2Attach[$x])
    ;~ ConsoleWrite('@@ Debug : $S_Files2Attach[$x] = ' & $S_Files2Attach[$x] & @LF & '>Error code: ' & @error & @LF) ;### Debug Console
    If FileExists($S_Files2Attach[$x]) Then
    ;ConsoleWrite('+> File attachment added: ' & $S_Files2Attach[$x] & @LF)
    .AddAttachment($S_Files2Attach[$x])
    Else
    ConsoleWrite('!> File not found to attach: ' & $S_Files2Attach[$x] & @LF)
    Return SetError(1, 0, 0)
    EndIf
    Next
    EndIf
    EndWith
    With $objEmail.Configuration.Fields
    .Item($sEmailSchema & "sendusing") = 2
    .Item($sEmailSchema & "smtpserver") = $s_SmtpServer
    If Number($IPPort) = 0 Then $IPPort = 25
    .Item($sEmailSchema & "smtpserverport") = $IPPort
    ;Authenticated SMTP
    If $s_Username <> "" Then
    .Item($sEmailSchema & "smtpauthenticate") = 1
    .Item($sEmailSchema & "sendusername") = $s_Username
    .Item($sEmailSchema & "sendpassword") = $s_Password
    Else
    .Item($sEmailSchema & "smtpauthenticate") = 0
    EndIf
    If $ssl Then
    .Item($sEmailSchema & "smtpusessl") = True
    Else
    .Item($sEmailSchema & "smtpusessl") = False
    EndIf
    ;Update settings
    .Update
    EndWith
    With $objEmail.Fields
    ; Set Email Importance
    If $s_Importance = "" Then
    .Item("urn:schemas:mailheader:Importance") = "Normal"
    Else
    .Item("urn:schemas:mailheader:Importance") = $s_Importance
    EndIf
    .Update
    EndWith
    ; Sent the Message
    $objEmail.Send
    If @error Then
    Return SetError(2, @error, 0)
    EndIf
    $objEmail = ""
    Return 1
    EndFunc ;==>_INetSmtpMailCom

    [/autoit]

    Danke

  • Umlautproblem bei CMD Aufruf

    • Tigger1975
    • 27. August 2012 um 13:33

    Danke

  • Umlautproblem bei CMD Aufruf

    • Tigger1975
    • 27. August 2012 um 12:55
    Zitat von General Kaboom

    Ehm...mit StringReplace oder irgendwas ähnlichem ersetzen...dafür gab es doch mal irgendwas

    Ja daran dachte ich auch schon, aber das funktioniert natürlich nicht für jede Sprache und es ist ziemlich mühselig raus zu bekommen was genau alles mit was ersetzt werden kann.

    Ich hatte eher an etwas gedacht wie über die Codepages zu übersetzen

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™