Beiträge von Moombas
-
-
Professor Bernd 's Offtopic: Ich stimme dir zu. Sobald es um Anwendungen mit ggf. Aufwändiger GUI geht, programmiere ich wenn möglich immer in Delphi (privat) bzw. Lazarus weil das wesentlich angenehmer und auch nicht getrennt ist (GUI-"Designer" und Programmieren in einem, ohne dafür alles per Hand in den Code schreiben zu müssen).
-
-
Schau mal hier: https://qastack.com.de/superuser/1103…0%2Dm%20handelt.
ZitatUm Befehle automatisch mit PuTTY auszuführen, übergeben Sie mit dem
-mSchalter eine Textdatei mit den auszuführenden Befehlen , z.Wo das
commands.txtenthalten würdeHoffe das hilft.
-
Bezüglich der Dienste, kann ich folgende empfehlen:
Windows Services (by engine) - Windows Services UDF.
Für die Aufgaben habe ich aktuell nichts, da nicht genutzt.
-
ja das ich mit der Schleife ein Problem habe, ist mir ja bekannt.
Hatte nur eine komplette Blockade wie ich da raus kommen oder wie man es einfacher lösen kann.
Als Tipp: Verwende z.B.
Dann findest du schon viele Fehler vorweg und lernst "vernünftiges" Deklarieren/Initialisieren von Variablen etc.
Kannst es natürlich auch anpassen, nicht jeder braucht alle Parameter.
-
Tipp1: Hier im Forum kannst du deinen Code als Code formatiert anzeigen lassen (Schaltfläche </>), dann kann man das besser lesen.
Tipp2: Was alpines schon schrieb nur schon mal mit einer kleinen Lösung:
- Sofern du die Pause nicht noch woanders aufrufen willst/musst, kannst du sie normal ans Ende deiner Funktion einbauen.
- Geb deiner Pause Funktion doch eine Variable mit, dann kannst du sie variabler mehrfach nutzen
- Nutze eine While-Schleife, wenn dir die Anzahl der Durchläufe unbekannt ist und bau dir eine Möglichkeit ein diese auch zu beenden. (im unteren Code noch nicht enthalten!)
- Deklariere jede Variable.
- Ein leeres then macht man nicht, dafür gibt es "not"
- Kann dein Skript so wie es war nicht funktionieren.
C
Alles anzeigen#include <array.au3> #include <File.au3> #include <WinAPIFiles.au3> while 1 kopieren() wend Func kopieren() Local $Quelle, $i, $Verzeichnis, $Zugriff, $byte;, $Ziel1, $Ziel2 $Quelle = "D:\Ordner\" ;~ $Ziel1 = "\\Server\D$\Verzeichnis\" Wird nicht verwendet -> Überflüssig ;~ $Ziel2 = "\\Server\D$\Verzeichnis1\Verzeichnis2" Wird nicht verwendet -> Überflüssig Local $PDF = _FileListToArrayRec($Quelle,"*.pdf", 1,1) For $i = 1 to UBound($PDF, $UBOUND_ROWS) - 1 $Verzeichnis = StringSplit($PDF[$i],"\") $Zugriff = _WinAPI_FileInUse($Quelle & $PDF[$i]) $byte = FileGetSize($Quelle & $PDF[$i]) If not ($Zugriff = "1" OR $byte = "0") Then If $Verzeichnis[1] = "Allgemein" then FileMove($Quelle & $PDF[$i], $Verwa & $Verzeichnis[2], 8) ;Wo kommt $Verwa her!? $Ziel1 ? Else FileMove($Quelle & $PDF[$i], $Home & $Verzeichnis[1] & "\Scanner\" & $Verzeichnis[2], 8) ;Wo kommt $Home her!? $Ziel2 ? EndIf EndIf Next For $i = 1 to UBound($PDF, $UBOUND_ROWS) - 1 _ArrayDelete($PDF, $i) Next pause(10) EndFunc Func pause($Sek) sleep($Sek * 1000) EndFunc -
Ich nutze die Services.au3 von "engine, die hat bei mir bisher alles hin bekommen

-
Deine Logik ist nicht falsch, nur die Dummheit einiger vieler ist leider grenzenlos... Sorry aber anders kann man das nicht mehr sagen!

-
Das Ergebnis liegt in Binaryform vor, also musst du das auch dementsprechend zurückumwandeln. Ist sogar im Hilfebeispiel vorhanden

Habe ich auf Grund dessen nicht gesehen, da ich den GUI-Part ignoriert habe (weil bei mir nicht vorhanden).
So ist das wenn man da mit einer anderen Logik ran geht (Erst zu 100'% richtig umwandeln und erst dann die Übergabe in die GUI und nicht bei der Übergabe das Umwandeln)
-
-.- Ich wusste es wird etwas logisches/einfaches sein, aber das war fast ZU einfach XD
Danke, hab es nach dem Entschlüsseln eingebaut und funktioniert.
-
Ich wollte ein kleines Programm schreiben, das einen Text ver- bzw. entschlüsselt.
Vom Prinzip liest sich das nicht schwer in der Hilfe, ich komme jedoch nicht weiter.
AutoIt
Alles anzeigen#AutoIt3Wrapper_Au3Check_Parameters=-q -d -w 1 -w 2 -w 3 -w 4 -w 5 -w 6 -w 7 #include <Crypt.au3> #include <MsgBoxConstants.au3> Global $Eingabe, $Richtung While 1 $Eingabe = InputBox('String', 'Type in the string: ', ClipGet(), '') If @error Then Exit $Richtung = MsgBox($MB_YESNO, 'Encode or Decode', 'Do you want to encode the string?') If @error Then Exit If StringLen($Eingabe) > 0 Then Doit() Else Exit EndIf WEnd Func Doit() Local $vCryptKey $vCryptKey = _Crypt_DeriveKey(StringToBinary('EinKryptischerString'), $CALG_AES_256) _Crypt_Startup() if $Richtung = $IDYES then ;Verschlüsseln $Eingabe = _Crypt_EncryptData ($Eingabe, $vCryptKey, $CALG_USERKEY) ElseIf $Richtung = $IDNO then ;Entschlüsseln $Eingabe = _Crypt_DecryptData ($Eingabe, $vCryptKey, $CALG_USERKEY) $Eingabe = BinaryToString($Eingabe) EndIf ClipPut($Eingabe) MsgBox($MB_SYSTEMMODAL, "", "The following data is stored in the clipboard: " & @CRLF & $Eingabe) _Crypt_DestroyKey($vCryptKey) ; Destroy the cryptographic key. _Crypt_Shutdown() ; Shutdown the crypt library. Exit EndFuncProblem dabei ist nun, das der verschlüsselte String nicht wieder richtig entschlüsselt wird. Was mache ich falsch?
Offtopic: Beim Thema erstellen in diesem Bereich viel mir auf das er oben links als Bereich (Abkürzung) "HundÜ" anzeigt, müsste aber "HundU" sein

-
ist es also zu betrachten wie in der Mathematik Punkt vor Strich Klammer zuerst? In diesem Fall And vor Or, Klammer zuerst?
Die Fett markierte Aussage ist verkehrt. Wie Bitnugger bereits schrieb: And & Or haben die gleiche Priorität, sind also gleichwertig (wie z.B. + und -).
Generell hat das mit der Mathematik gar nicht mal so viel zu tun, sondern mit reiner Logik. Du Schachtelst ja auch beim sprechen Aussagen:
Beispiel:
Ich möchte ein Brot mit Wurst oder ein Brötchen mit Käse. => Ich möchte ein (Brot mit Wurst) oder (ein Brötchen mit Käse).
Das "mit" ersetzt hierbei das "and" und das "oder" das "or". Logisch wäre das also:
AutoItIf ($Brot and $Wurst) or ($Broetchen and $Kaese) then MsgBox(BitOR(4096, 64), "Ergebnis", "Ich bin glücklich")Ohne die Klammern würde die Maschine das so verstehen:
AutoItIf $Brot and $Wurst or $Broetchen and $Kaese then MsgBox(BitOR(4096, 64), "Ergebnis", "Ich habe Brot, Wurst und Käse und VIELLEICHT habe ich auch ein Brötchen.")Dieser Zusammenhang ist einem als menschlicher Leser (auf Grund der Zusammenhänge) klar, eine Maschine jedoch kann so etwas nicht wissen und muss ihr durch/mit den Klammern gezeigt werden.
-
-
Schau mal drüber:
AutoIt
Alles anzeigenOpt('MustDeclareVars', 1) #include <Excel.au3> Global $oExcel_1 = _Excel_Open() Global $var = "C:\Users\\Desktop\Read ideal.xlsx" Global $oWorkbook = _Excel_BookOpen($oExcel_1, $var) WinActivate("Read ideal - Microsoft Excel") Global $_nameenglisch, $_eigenschaftfurvorlage, $_beschreibungdeutsch, $_beschreibungenglisch, $_nichts1, ... , $_hashtag24englisch, $_hashtag25englisch, ; Insgesamt 60 "$_read´s" Global $aSleep = [1000, 2000, 3000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000 1000, 1000, 1000], ; ( $aSleep für 60 "$_read´s" ) Global $iCount ;? wirklich als globale Variable notwendig?, denke hier wäre $i richtig Global $aRanges = [ ['B2', 'B3', 'B4', 'B5'........´B61´],_ [ ['C2', 'C3', 'C4', 'C5'........´C61´] .... ['AY2', 'AY3', 'AY4', 'AY5'........´AY61´] _ ] For $i = 0 To UBound($aRanges) -1 Step 1 $_name_deutsch = _Excel_RangeRead($oWorkbook, Default, $aRanges[$i][0]) $_name_englisch = _Excel_RangeRead($oWorkbook, Default, $aRanges[$i][1]) $_eigenschaft_für_vorlage = _Excel_RangeRead($oWorkbook, Default, $aRanges[$i][2]) $_beschreibung_deutsch = _Excel_RangeRead($oWorkbook, Default, $aRanges[$i][3]) $_beschreibung_englisch = _Excel_RangeRead($oWorkbook, Default, $aRanges[$i][4]) $_nichts_1 = _Excel_RangeRead($oWorkbook, Default, $aRanges[$i][5]) $_nichts_2 = _Excel_RangeRead($oWorkbook, Default, $aRanges[$i][6]) $_nichts_3 = _Excel_RangeRead($oWorkbook, Default, $aRanges[$i][7]) $_nichts_4 = _Excel_RangeRead($oWorkbook, Default, $aRanges[$i][8]) $_hashtag_1_deutsch = _Excel_RangeRead($oWorkbook, Default, $aRanges[$i][9]) ..... $_hashtag_25_englisch = _Excel_RangeRead($oWorkbook, Default, $aRanges[$i][59]) T_Shirt_Design_hochladen($_name_deutsch, $_name_englisch, $_eigenschaft_für_vorlage, $_beschreibung_deutsch, $_beschreibung_englisch, $_nichts_1, $_nichts_2,$_nichts_3, $_nichts_4, $_hashtag_1_deutsch, $_hashtag_2_deutsch,$_hashtag_3_deutsch, $_hashtag_4_deutsch, $_hashtag_5_deutsch, $_hashtag_6_deutsch, $_hashtag_7_deutsch, $_hashtag_8_deutsch, $_hashtag_9_deutsch, $_hashtag_10_deutsch, $_hashtag_11_deutsch, $_hashtag_12_deutsch,$_hashtag_13_deutsch, $_hashtag_14_deutsch, $_hashtag_15_deutsch, $_hashtag_16_deutsch, $_hashtag_17_deutsch, $_hashtag_18_deutsch, $_hashtag_19_deutsch, $_hashtag_20_deutsch, $_hashtag_21_deutsch,$_hashtag_22_deutsch, $_hashtag_23_deutsch, $_hashtag_24_deutsch, $_hashtag_25_deutsch, $_nichts_5, $_hashtag_1_englisch, $_hashtag_2_englisch, $_hashtag_3_englisch, $_hashtag_4_englisch, $_hashtag_5_englisch,$_hashtag_6_englisch, $_hashtag_7_englisch, $_hashtag_8_englisch, $_hashtag_9_englisch, $_hashtag_10_englisch, $_hashtag_11_englisch, $_hashtag_12_englisch,$_hashtag_13_englisch, $_hashtag_14_englisch, $_hashtag_15_englisch, $_hashtag_16_englisch, $_hashtag_17_englisch, $_hashtag_18_englisch, $_hashtag_19_englisch, $_hashtag_20_englisch,$_hashtag_21_englisch, $_hashtag_22_englisch, $_hashtag_23_englisch, $_hashtag_24_englisch, $_hashtag_25_englisch, $aSleep , $i + 1) ; ($i + 1 = $iCount) Next Func T_Shirt_Design_hochladen($_readA, $_readB, $_readC, $aSleep, $iCount) ;$aSleep und $iCount würde ich hier umbennen z.B. $aLocalSleep und $iLocalCount If $iCount = 1 Then ;Hier dann auch entsprechend umbennen .... ..... .... EndFuncUnd wenn du es ganz korrekt machen möchtest bau mal als Zeile "#AutoIt3Wrapper_Au3Check_Parameters=-q -d -w 1 -w 2 -w 3 -w 4 -w 5 -w 6 -w 7" ein und kompiliere dann.
-
Trotzdem nochmal eine Anmerkung:
Du definierst deine Variablen "Local", sind jedoch "Global" (alle Deaklarationen außerhalb von Funktionen sind immer Global) und verwendest diese zusätzlich wieder mit dem gleichen Namen in einer Funktion (bei deren Definition und bei der Übergabe/Verwendung). Damit hast du theoretisch eine Globale und eine Lokale Variable mit dem gleichen Namen. Das KANN zu Problemen führen.
Ich empfehle dir das richtig zu definieren und Global und Lokal strikt voneinander zu trennen. Nur um das mal zu veranschaulichen:
AutoIt
Alles anzeigen#AutoIt3Wrapper_Au3Check_Parameters=-q -d -w 1 -w 2 -w 3 -w 4 -w 5 -w 6 -w 7 #include <Date.au3> ... #include <WindowsConstants.au3> Global $logfile = 'XYZ' ;Definition Globale Variable (überall verfügbar) Funktion($logfile) ;Funktionsaufruf mit der Übergabe der $Globalen Variable, diese wird dabei nicht verändert! Func Funktion($Log) Local $Install $logfile = 'abc' ;Ändern der Globalen Variable $logfile if $Log = 'XYZ' then ;Ändern der Lokalen Variable $Log, die den Inhalt der übergeben Variable $logfile zum Zeitpunkt der Übergabe hatte $Install = 'not' ;Ändern der Lokalen Variable $Install endif ;$logfile = 'abc' ;$Log = 'XYZ' ;$Install = 'not' EndFunc -
-
Und weshalb soll dann ein Bild!! übertragen werden, noch dazu im Minutentakt? Das ist doch eine völlig unnütze Verschwendung eurer raren Onlinekapazität. Dafür reichen doch ein paar Byte in Textform. Zu einer Grafik kann man das dann nach Empfang ja wieder aufhübschen.
Ich gehe davon aus, das er nicht weiß, wie er die Daten aus dem Browser bekommt und macht deswegen Screenshots.
-
Ich verstehe dich nicht. Der Browser im Vollbild (nicht mit "maximiert" verwechseln!) zeigt nichts anderes an, als die aktive Webseite.
Wenn du Chrome hast, drück mal "F11".
Und mehr brauchst du doch gar nicht. Browser starten (gewünschte Webseite kann ja als Parameter übergeben werden), Vollbild einschalten und gelegentlich mit "F5" aktualisieren.
Fertig.
Oder ist auf der Webseite selber mehr zu sehen als nur der Anwesenheitsstatus?
-
Warum nicht den Browser im Vollbild anzeigen?