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

Beiträge von Lottich

  • "Alte Kiste" als 24/7 Server?

    • Lottich
    • 10. Juli 2016 um 19:33

    Meinen Rechner kann ich wohl auch problemlos 24/7 laufen lassen, da mach ich mir wegen der Hitze gar keine Gedanken.
    Mainboard ist ein Sabertooth, der Prozessor hat mit dem Coolermaster V8 einen "vernünftigen" Kühler und die HDDs sind
    vernünftig im Luftstrom untergebracht.

    Aber mir bereitet der Stromverbrauch sorgen.

  • "Alte Kiste" als 24/7 Server?

    • Lottich
    • 10. Juli 2016 um 19:19

    Heyho

    ich überlege, ob ich umziehe. Problem dabei:

    aktuelle Wohnung = 200´000 DSL anliegend
    neue Wohnung = ca 1´500 DSL anliegend

    Da ich viele Games via STEAM beziehe und ich demnach recht oft grössere Downloads habe, könnte sich das Ganze als problematisch darstellen.
    Daher nun die Frage:

    Kann man eine alte Gurke, die quasi kaum Strom verbraucht, als 24/7 Server laufen lassen um darüber die Downloads abzuwickeln?
    Es ist ja klar, dass STEAM dann auch auf dem Server installiert werden muss. Die 2 Steams kann ich dann ja abgleichen lassen und "synchronisieren".
    Dann könnte ich die Downloads laufen lassen, während ich penne und diese neue (beschi**ene) Downloaddauer würde nicht so extrem stören.

    Nun zu eurer Meinung: wie sinnvoll wäre das?

  • Seltsames Leuchten in den Wolken

    • Lottich
    • 10. Juli 2016 um 19:04

    Wer weiss, vielleicht war es ja ein Google-Ballon?
    Könnte mir vorstellen, dass die in regelmäßigen Abständen blinken. Und es kann ja auch "echt abartige Zufälle" geben,
    dass der genau dann geblinkt hat, als er von einer solch kleinen Wolke verdeckt war. Dann kann es doch so aussehen wie @Mars das beschrieben hat?!

  • Filtern einer Array - Teil-String - instring

    • Lottich
    • 10. Juli 2016 um 09:11

    Wow, wieder was dazu gelernt. Danke :)

  • Filtern einer Array - Teil-String - instring

    • Lottich
    • 9. Juli 2016 um 22:35
    Zitat von AutoMit

    If StringInStr (StringSplit($aFile[$i], "|", 3)[1], StringLen($sOldInput)) = $sOldInput Then ; instring Suche

    Das kann so eigentlich gar nicht funktionieren. Stringsplit liefert keinen String zurück, sondern ein Array.
    Und ein bestimmtes Array ruft man mit diesen [] Klammern auf.
    Also erst $aVariable = Stringsplit(blabla)
    und dann die If StringinStr() Abfrage.


    Edit: Ausserdem ist deine Zeile 59 gar nicht die, nach der du gefragt hast! Du hast geschrieben If StringInStr(....) aber deine Zeile 59 beginnt mit StringLeft...
    Was denn nun?

  • auf Event aus anderem Skript reagieren

    • Lottich
    • 8. Juli 2016 um 11:59
    Zitat von Mistil

    Ich hatte gehofft etwas zu finden, das wie GUIRegisterMsg das Programm unterbricht und die Aktualisierungsfunktion startet.

    Ich dachte, das ist genau das, was du nicht willst?
    Wenn es dir egal ist, dass das Hauptprogramm unterbrochen wird, dann kannst du das definitiv alles in 1 Script packen.

    Zitat von Mistil

    Bremst das nicht aus, wenn das Programm in einer Schleife immer wieder auf die Platte zugreifen muss um auf die Existenz der Datei zu prüfen?

    Das glaube ich nicht, weiss es aber auch nicht 100%ig. Ich sehe da jedenfalls kein Problem. Ist ja nicht so, dass pro If FileExists("blabla") Then
    1000 Zugriffe pro Sekunde auf die Platte erfolgen. Allerdings kommt es natürlich auch immer auf den PC an. Wenn das eine C64-ähnliche "Gurke" ist,
    könnte es dann vermutlich doch bremsen :D

    Aus meiner Sicht ist das der einfachste Weg so etwas umzusetzen, aber sicherlich nicht der eleganteste/schnellste/beste.
    Wenn du allerdings schon fortgeschrittener im Umgang mit AutoIt bist, dann ist die Lösung von @Andy aus dem geposteten Link von @Homer J. S. die
    idealere Lösung für dich. Warum fortgeschrittener? Weil man verstehen sollte, was der Code macht, den man verwendet.

    MfG Lo..

  • auf Event aus anderem Skript reagieren

    • Lottich
    • 7. Juli 2016 um 23:05

    - Lass die erfassten Daten aus der 2. GUI in eine Datei schreiben. Eine INI sollte das gut lösen können, falls auch mehr als nur 1 "Datensatz" anfällt.
    - Bau im 1. Script einen zusätzlichen Button ein. Mit dem liest du dann die Datensätze aus und überträgst sie dahin, wo sie hin sollen. Wenn das erledigt ist,
    lässt du diese Zwischenspeicherdatei wieder löschen.
    - Alternativ kannst du auch den Button weglassen und das automatisiert prüfen lassen ob eine Zwischenspeicherdatei existiert und wenn ja, dann einlesen.

  • PayPal Abfrage

    • Lottich
    • 6. Juli 2016 um 14:11

    Weil ich bei mir festgestellt habe, dass gerade die Email Adressen, auf die es mir ankommt, alle nicht verfügbar waren,
    hab ich das Script noch etwas modifiziert und anstelle der Email den Namen des Absenders rausgefiltert. Ausserdem
    sind in meinem Fall die Ausgänge nicht relevant, daher hab ich den Paypal Filter auf "Eingang" gesetzt und dem Script hinzu gefügt.

    Das war mir aber nur durch die prima Vorarbeit von @alpines möglich. Nun krieg ich den Output zumindest halb so, wie ich es wollte.
    Dass in dem Fall nun die Namen anstatt der Emails erfasst werden ist nicht wirklich dramatisch.
    Das kann ich per WorkAround trotzdem verarbeiten.

    Hier meine minimal abgeänderte Variante

    AutoIt
    #include <IE.au3>
    Global $oIE, $sDateHistory = '01.01.2015'
    
    
    _PayPal_Login($PayPal_Email, $PayPal_Passw)
    _PayPal_TransactionHistory_Download($sDateHistory, @ScriptDir & "\Kontoauszug.txt")
    _PayPal_Logout()
    
    
    Func _PayPal_Login(const $S_USERNAME, const $S_PASSWORD)
    	Do
    		$oIE = _IECreate("https://www.paypal.com", 0, 0) ;Setz den letzten Parameter auf 1 wenn du sehen willst was passiert.
    	Until IsObj($oIE)
    	__IELoadWait($oIE)
    
    
    
    
    	If Not StringInStr(_IEPropertyGet($oIE, "locationurl"), "myaccount/home") Then
    		_IENavigate($oIE, "https://www.paypal.com/signin")
    		__IELoadWait($oIE)
    
    
    
    
    		$oEmail  = _IEGetObjById($oIE, "email")
    		$oPass 	 = _IEGetObjById($oIE, "password")
    		$oSubmit = _IEGetObjById($oIE, "btnLogin")
    
    
    
    
    		_IEFormElementSetValue($oEmail, $S_USERNAME)
    		_IEFormElementSetValue($oPass, $S_PASSWORD)
    		_IEAction($oSubmit, "click")
    		__IELoadWait($oIE, 6000) ;Bleibt noch auf der Login-Seite aber loggt ein, deshalb zur Sicherheit lieber 6sek sleepen.
    	EndIf
    EndFunc
    
    
    Func _PayPal_TransactionHistory_Download($sDate, $sPath = @ScriptDir & "\Kontoauszug.txt")
    	_IENavigate($oIE, "https://history.paypal.com/de/cgi-bin/webscr?cmd=_history")
    	__IELoadWait($oIE)
    
    
    
    
    	$oFilter = _IEGetObjByName($oIE, "filter_3")	; <=== von mir
    	_IEAction($oFilter, "click")					; <=== von mir
    	__IELoadWait($oIE)								; <=== von mir
    
    
    
    
    	$oDatum = _IEGetObjById($oIE, "from_date")
    	_IEFormElementSetValue($oDatum, $sDate)
    	__IELoadWait($oIE)
    
    
    
    
    	$oSubmit = _IEGetObjById($oIE, "show")
    	_IEAction($oSubmit, "click")
    	__IELoadWait($oIE)
    
    
    
    
    	$sSource = _IEDocReadHTML($oIE)
    	$aPayments = StringRegExp($sSource, """(https:\/\/history\.paypal\.com\/de\/cgi-bin\/webscr\?cmd=%5fhistory%2ddetails&info=.+?)"">Details", 3)
    
    
    
    
    	If UBound($aPayments) Then
    		Local $sFile = ""
    		For $i = 0 To UBound($aPayments) - 1
    			_IENavigate($oIE, StringReplace($aPayments[$i], "&", "&")); HIER ist ein Darstellungsfehler!! Das erste "&" muss gegen "& amp;" ausgetauscht werden.Das Leerzeichen entfernen xD 
    			__IELoadWait($oIE)
    
    
    
    
    			$sSource = _IEDocReadHTML($oIE)
    			$sFile &= (StringRegExp($sSource, "(Zahlungsquelle|Abbuchung)") ? "AUSGANG" : "EINGANG") & ":"
    			$aDatum = StringRegExp($sSource, "<td (?:align=""right"" )?class=""label"">Datum:<\/td><td><br class=""textSpacer""><\/td><td class=""small"">(.+?)<\/td>", 3)
    			If UBound($aDatum) Then
    				$sDatum = StringReplace($aDatum[UBound($aDatum) - 1], ".", ".")
    				$sDatum = StringReplace($aDatum[UBound($aDatum) - 1], " ", " ")
    				$sFile &= $sDatum & ":"
    			Else
    				$sFile &= "DATUM_AUSLESEN_FEHLER" & ":" ;Sollte eigentlich nie auftreten.
    			EndIf
    
    
    
    
    			$aEmail = StringRegExp($sSource, "<td class=""label"">E-Mail:<\/td><td><br class=""textspacer""><\/td><td class=""small"">(.+?)<\/td>", 3)
    			If UBound($aEmail) Then
    				$sEmail = StringReplace($aEmail[0], "@", "@")
    				$sEmail = StringReplace($aEmail[0], ".", ".")
    				$sFile &= $sEmail & ":"
    			Else
    				$aEmail = StringRegExp($sSource, "class=""label"">Absender:</td><td><br class=""textSpacer""></td><td class=""small"">(.+?)<\/td>", 3); <=== von mir
    				If UBound($aEmail) Then						; <=== von mir
    				$sEmail = StringSplit($aEmail[0], "&", 0)	; <=== von mir
    				$sFile &= $sEmail[1] & ":"					; <=== von mir
    				Else										; <=== von mir
    					$sFile &= "EMAIL_NICHT_VERFÜGBAR" & ":" ;Sollte eigentlich nie auftreten.
    				EndIf										; <=== von mir
    			EndIf
    
    
    
    
    			$aBetrag = StringRegExp($sSource, "<td class=""label(?: smallEmphasis)?"">(?:Gesamtbetrag|Betrag):<\/td><td><br class=""textSpacer""><\/td><td class=""small"">(.+?)</td>", 3)
    			If UBound($aBetrag) Then
    				$sBetrag = StringReplace($aBetrag[0], "-", "-")
    				$sBetrag = StringReplace($aBetrag[0], ",", ",")
    				$sBetrag = StringReplace($aBetrag[0], " ", " ")
    				$sFile &= $sBetrag
    			Else
    				$sFile &= "BETRAG_AUSLESEN_FEHLER" ;Sollte eigentlich nie auftreten.
    			EndIf
    
    
    
    
    			$sFile &= @CRLF
    		Next
    		$sFile = StringTrimRight($sFile, 2) ;Letzten Zeilenumbruch löschen
    		FileDelete($sPath)
    		FileWrite($sPath, $sFile)
    	EndIf
    EndFunc
    
    
    Func _PayPal_Logout()
    	_IENavigate($oIE, "https://www.paypal.com/myaccount/logout")
    	__IELoadWait($oIE)
    	_IEQuit($oIE)
    EndFunc
    
    
    Func __IELoadWait($oIE, $sleeptime = 300)
    	Sleep($sleeptime)
    	_IELoadWait($oIE)
    EndFunc
    Alles anzeigen

    Die Variablen $PayPal_Email und $PayPal_Passw sind natürlich selbst zu setzen.

  • PayPal Abfrage

    • Lottich
    • 6. Juli 2016 um 06:57

    Nun, da @alpines so freundlich war, wir das ohne Vergütung zu coden, stellt es für mich kein Problem dar den Code zu veröffentlichen.
    Wenn er auch dafür ist, steht einer Veröffentlichung nichts im Wege.

    Allerdings kann ich den grünen Haken noch nicht setzen, weil, logischerweise typisch bei mir, es für mich noch nicht funktioniert.

    Funktioniert :)
    (Hatte aus irgend einem Grund den Microsoft IE nicht mehr installiert gehabt. Nachdem ich das korrigiert hatte, hat es geklappt.

  • TCPRecv liefert komische Zeichen

    • Lottich
    • 5. Juli 2016 um 14:13

    Dann versuch mal folgendes:

    Tausche aus deinem kleinen Beispielscript die Zeile 6 gegen $message=TCPRecv($sockettarget,65535, 1) aus.
    Das könnte bereits die Lösung sein. Der Flag 1 gibt an, dass die Daten binär empfangen werden sollen.

  • TCPRecv liefert komische Zeichen

    • Lottich
    • 5. Juli 2016 um 13:07

    vielleicht hilft dir BinaryToString() weiter?!
    Ohne ein Beispielscript (im Idealfall ein bei uns ausführbares) ist alles nur :Glaskugel:

  • PayPal Abfrage

    • Lottich
    • 4. Juli 2016 um 18:22

    Ehrlich, ich kriegs nicht gebacken.
    Ich habs nun über mehrere Tage versucht und ich bekomme nicht mal den 1. Token zurück um überhaupt weiter machen zu können.
    Das wird echt frustrierend! Vielleicht werd ich auch einfach zu alt für den Sch***?! Jedenfalls will das einfach nicht in mein Kopf.
    Sch*** englisch jedesmal. Hab nen erw. Realschulabschluss (Englisch mit 2), aber das ist so lange her und auf Arbeit verdumm ich!

    Darum nochmal ein Aufruf an jeden, der sich für ein paar Taler zutraut mir diese Abfrage zu coden:
    Bitte melde dich.

    Ist das erste Mal, dass ich in der Rubrik mit Gegenleistung um Hilfe bitte und weiss daher nicht, wie genau das hier abläuft,
    aber ich vermute stark über PN. Bisher bekam ich jedoch noch keine PN darüber von irgendwen.

  • PayPal Abfrage

    • Lottich
    • 28. Juni 2016 um 13:36

    hey, versuche grad da durchzusteigen.

    Wenn ich das richtig verstehe, dann brauch ich einen Access-Token, damit ich mich authentifizieren kann.
    Das würde wohl mit diesem Code funktionieren

    Code
    curl https://svcs.sandbox.paypal.com/Permissions/RequestPermissions \
      -s \
      --insecure \
      -H "X-PAYPAL-SECURITY-USERID: caller_UID"     # UserID from the Caller account \
      -H "X-PAYPAL-SECURITY-PASSWORD: caller_PSWD"  # Password from the Caller account \
      -H "X-PAYPAL-SECURITY-SIGNATURE: caller_Sig"  # Signature from the Caller account \
      -H "X-PAYPAL-REQUEST-DATA-FORMAT: JSON" \
      -H "X-PAYPAL-RESPONSE-DATA-FORMAT: JSON" \
      -H "X-PAYPAL-APPLICATION-ID: APP-80W284485P519543T"    # Sandbox AppID \
      \
      # ** Payload **
      -d '{
            "requestEnvelope": {
              "errorLanguage":"en_US"   # Language of returned errors
            },
            "scope":"INVOICING",        # Group IDs get permissions for differnet API sets
            "callback":"http://www.example.com"/grant.html"  # page 3rd-party sees after granting permissions
          }'
    Alles anzeigen

    Caller_UID, caller_PSWD und caller_Sig hab ich nun. jedoch hab ich keine Ahnung wie ich diesen Code aufrufen soll. Hab schon nach "curl und AutoIt" gegoogelt, aber da findet man nichts wirklich gescheites und wenn doch, dann hab ich kein Plan, wie ich diesen Code in einen gültigen String umwandeln soll, sodass ich den via curl aufrufen kann. Hat von euch jemand Plan von curl?
    Oder kann das sogar so umgebaut werden, dass curl gar nicht benötigt wird?

  • Listbox und Combobox - wie Zeilenumbruch? - mehrzeilige Anzeige?

    • Lottich
    • 27. Juni 2016 um 15:50

    Versuch einfach mal $listbox_Liste_01 = GUICtrlCreatelist("1|2",20,500,200,149,$LBS_NOSEL,-1)
    Dieses ganze &@crlf& ist hier nicht nötig.

    Edit: Natürlich geht das so nicht.
    @Raupi und @BugFix haben beide recht.

  • PayPal Abfrage

    • Lottich
    • 27. Juni 2016 um 14:40

    Hallo Com!

    Ich bau schon seit einiger Zeit ein Tool, indem ich nun PayPal integrieren will und soll.
    Dieses Tool läuft nur auf 2 PCs: auf meinem Rechner (wegen der Entwicklung) und auf einem RootServer.
    Benötigt wird die PayPal Einbindung nur aus einem Grund: es soll prüfen, ob auf meinem PP-Account
    Zahlungen eingegangen sind.

    In einer INI Datei stehen Daten verschiedener User.
    Beispiel:

    Code
    [HannesBlubb@paypal. de]
    erste Zahlung am =
    letzte Zahlung am =
    wie oft gezahlt=
    bisher gezahlt=


    Ist eine Zahlung eingegangen, sollen diese Daten erfasst werden:
    - Email des Absenders
    - Datum des Eingangs
    - gesendeter Bertag

    In die INI soll dann rein:
    - wenn "erste Zahlung am=" leer ist, dann da das erfasste Datum eintragen
    - das erfasste Datum bei "letzte Zahlung am=" eintragen
    - wenn "wie oft gezahlt" leer ist, eine 1 eintragen, sonst +1
    - das selbe Prinzip bei "bisher gezahlt", eben nur mit dem erfassten Betrag

    Das mit dem Eintragen in der INI bekomm ich eigentlich selbst hin, aber ich kann diese PayPal-Abfrage
    nicht coden. Hab mit deren techn. Support telefoniert und dieser riet mir zur REST-API.
    Diese funktioniert jedoch nicht mit AutoIt. Und ich kann keine andere Programmiersprache...

    Günstig für mich wäre es, wenn ich diese Integration als eigenständige .exe bekommen kann, die ich
    durch mein Tool nur ausführen brauch, damit mein Tool normal weiter laufen kann.

    Also, wer sich das zutraut kann sich gern bei mir melden, mit Gehaltsvorstellung.

    MfG Lo..

  • Probleme nach M$ Patchday Juni-2016 [GELÖST - doch nicht]

    • Lottich
    • 27. Juni 2016 um 11:31

    mein System ist das gleiche. Ich kann das bei mir nicht feststellen.
    Weder bei klick auf dem Symbol in der Quicklaunch, noch wenn ich das über den "Startbutton" versuche.
    Bei mir ist das Kontextmenü sofort da.

  • Listbox und Combobox - wie Zeilenumbruch? - mehrzeilige Anzeige?

    • Lottich
    • 27. Juni 2016 um 11:25

    Um in einer Combo den Text mehrzeilig zu gestalten verwendet man das "Strichzeichen" (keine Ahnung wie das wirklich heisst)
    "blabla|blub" macht aus dem Inhalt ein 2 Teiler.

  • Passwortdatenbank mit automatischem Einloggen?

    • Lottich
    • 25. Juni 2016 um 11:57

    Warum wird hier eigentlich auf ein bereits existierendes Tool verwiesen? Ist es nicht Sinn und Zweck dieses Forums
    AutoIt näher zu bringen und Usern beim Erlernen von AutoIt zu unterstützen?

    Gerade was das Abspeichern von sensiblen Daten wie Zugangsdaten ist es doch sicherer, sich etwas eigenes anzulegen.
    Wie gross ist denn die Chance, dass jemand eine ganz bestimmte UNBEKANNTE Datei findet, die SONSTWO auf der Festplatte
    abgespeichert sein kann? Und in der die Daten SONSTWIE zu lesen sind?

    Gerade das macht in meiner Sicht etwas selbst gecodetes am sichersten.

  • Machbarkeit & Ideen (Screeps in Autoit umsetzen)?

    • Lottich
    • 23. Juni 2016 um 16:53

    Fakt wäre doch, dass ein Serverseitiges Script laufen muss. Kann man da keine Abfrage integrieren der den Usercode prüft? also ob da befehle drin stehen, die der Sicherheit zuwider wirken?
    wie zb Run, shellexecute, exec, filedelete usw... all diese würde ich blacklisten, dann sollte der Sicherheit doch eigentlich genüge getan sein?!

    Edit:
    Oder man erstellt eine Whitelist mit zulässigen Befehlen, die der User dann nutzen kann. Das sollte sogar noch sicherer sein.

  • Passwortdatenbank mit automatischem Einloggen?

    • Lottich
    • 23. Juni 2016 um 16:18

    Hehe, so geht das natürlich auch ;)
    Aber bei Passwörter hört zumindest bei mir der Spass auf, da trau ich keinem Fremdprogramm. Immerhin speichere ich mir die Zugangsdaten zu PayPal und den ganzen xxx-Websites ^^
    Da will ich nicht, dass die ganzen Daten vielleicht irgendwohin gesendet werden, von einem Programm, dem man sein Vertrauen schenkt... Also hab ich mir das selbst zurecht gebastelt,
    da weiss ich wenigstens ganz genau, was mit meinen Daten passiert 8)

    [Offtopic] Das ist genau wie mit diesem Cloud Gedöns. So ein Mist kommt mir definitiv nicht ins Haus. Wenn das irgendwo auf einem fremden Server (denn nichts anderes ist das) hinterlegt wird,
    dann hat auch irgend ein Fremder Zugriff darauf. [/Offtopic]

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™