Du könntest probieren die erforderlichen Methoden aus der FTP.au3 rauszukopieren ohne include und dann den Fehlermeldungen hinterherjagen, bis du alle notwendigen Methoden zusammen hast.
Dann kannst du eventuell irgendwo im Code erkennen mit welcher Routine dieser zeitgesteuerte Verbindungsabbruch erfolgt.
Beiträge von Schweizergeizer
-
-
hier ein kleines Beispielprogramm:
AutoIt
Alles anzeigen#include <Crypt.au3> HotKeySet("{ESC}","_Ende") AdlibRegister("_Ausgabe",1000) _Crypt_EncryptFile("C:\test.txt","C:\test.crypt","test",26128) Func _Ende() Exit EndFunc Func _Ausgabe() ConsoleWrite("Die Datei ist "&FileGetSize("C:\test.crypt")&" Bytes groß."&@CRLF) EndFunc
Zur Verdeutlichung habe ich eine 4gb große Textdatei genommen,
diese ist komprimiert im Anhang zu finden.
test.rarIch erhalte trotz stetig wachsender Dateigröße in der Konsole nach der ersten Zeile mit 0 Bytes immer die gleiche Ausgabe, wie im Screenshot im Anhang sichtbar.
Die angezeigte Dateigröße ändert sich erst, wenn ich den Pfad zur Datei aufrufe und mit dem Explorer aktualisiere.
Ich habe keine Ahnung was ich tun soll und bin über jede Antwort dankbar
LG
Schweizergeizer -
Hallo erstmal,
ich weiß nicht, ob hier das richtige Forum für mein Problem ist, aber ich hoffe, dass mir jemand helfen kann:
ich habe mit Autoit ein Programm geschrieben, dass Dateien verschlüsselt und abspeichert.
Der Fortschritt-Balken bei der Verschlüsselung entspricht dem Verhältnis von der verschlüsselten Datei zu der Datei, die verschlüsselt werden soll,
da ich keine Ahnung hatte, wie ich den Fortschritt-Balken sonst realisieren soll;
die Dateigrößen von verschlüsselter und nicht verschlüsselter Datei sind nahezu identisch, daher schien mir diese Möglichkeit akkurat genug,
falls jemand eine elegantere Möglichkeit weiß, bin ich offen für Vorschläge
Nun aber zu meinem eigentlichen Problem:
Die Dateigröße der von meinem Script erstellten Datei wird nicht automatisch aktualisiert, erst wenn ich das entsprechende Verzeichnis aufrufe und "aktualisieren" wähle, erkennt Autoit die Dateigröße.
Upgedatet wird sie auch nur, wenn ich manuell ständig aktualisiere.
Der Windows Explorer aktualisiert die Dateigröße auch nicht automatisch.Die Verschlüsselung erfolgt mit Methoden der Crypt.au3 und dem AES 256
Die Abfrage der Dateigrröße erfolgt durch die Methode FileGetSize(..)Wie bekomme ich Autoit dazu die Dateigröße richtig zu erkennen oder den Explorer dazu sie automatisch zu aktualisieren?
So ist mein Fortschrittbalken doch total doofVerzweifelte Grüße
Schweizergeizer -
-
Hallo,
Wie schaffe ich es, dass alle Möglichkeiten der Reihenfolge eines Strings ausgegeben werden?
Beispiel :
String: "abcd"
Ausgabe:
abcd
abdc
acbd
adbc
acdb
adcb
bacd
badc
bdac
bcad
bcda
bdca
cabd
cadb
cbad
cbda
cdab
cdba
dabc
dacb
dbac
dbca
dcab
dcbaLG
Schweizergeizer -
Hallo Schweizergeizer,
_SQLite_Exec() bearbeitet keine Ergebnisse. Du kannst damit arbeiten, gerade für INSERT-Statements nicht verkehrt, aber je nach Gebrauch ist folgendes für deine Vorabprüfung wohl sinnvoller bzw. ist dies eine weitere Möglichkeit.
Mögliche Variante (ungetestet):
Spoiler anzeigen
[autoit]
[/autoit] [autoit][/autoit] [autoit]
; Deklaration
Local $hQuery, $aResult, $iRows, $iColumns, $aColumns
Local $sQuery = "SELECT * FROM Leser WHERE Nummer = '" & $f1 & "';"; Aufruf des Statements (Ergebnis wird in $aResult gespeichert)
[/autoit] [autoit][/autoit] [autoit]
_SQLite_Startup() ; startet SQLite
$hDB = _SQLite_Open( ) ; startet deine "..."-Datenbank
_SQLite_Query( $hDB, $sQuery, $hQuery ) ; query statement ($sQuery entspricht deinem SELECT)
_SQLite_GetTable2d( $hDB, $sQuery, $aResult, $iRows, $iColumns ) ; Spaltentext und alle Datensätze in der Tabelle
_SQLite_FetchNames( $hQuery, $aColumns ) ; gibt die Spalten als Liste
_SQLite_Shutdown() ; verwirft SQLite.dll; weiteres Verfahren mit dem Ergebnis in $aResult
[/autoit] [autoit][/autoit] [autoit]
_ArrayDisplay( $aResult ); ...
[/autoit]
; ...
Wenn ich dich richtig verstehe, möchtest du erst prüfen ob und falls nein, dann INSERT oder?Vielen Dank für etwaige Unterstützung (Ideen, Verbesserungsvorschläge, Kritik und Zustimmung).
Einen angenehmen Tag noch!UserIsGrateful 【ツ】
klappt wunderbar,
dankeschön -
-
Ich kenne mich mit SQL ziemlich wenig aus,
[autoit]
aber kann zumindest was mit dem Code anfangen, wenn ich ihn sehe.
Das ist mein DB Aufruf:
[/autoit]
_SQLite_Exec($hDB, "INSERT INTO Leser (Nummer,Nachname,Vorname,Adresse,Telefonnummer) VALUES ('"&$f1&"','"&$f2&"','"&$f3&"','"&$f4&"','"&$f5&"');")wie muss das jetzt syntax mäßig aussehen, wenn ich prüfen will ob es nen Eintrag mit der Nummer schon gibt?
meine Vermutung:
[autoit]
[/autoit]
_SQLite_Exec($hDB, "SELECT * IN Leser WHERE Nummer = "&$f1&";")
und dann eben gucken was man zurückkriegt,
oder?LG
Schweizergeizer -
Hallo,
ich möchte ganz einfach prüfen ob ein Datensatz in SQLite existiert.
Gibts dafür nen Befehl?
LG
Schweizergeizer -
Hallo,
Ich möchte ein Script zum Vorlesen (durch eine Computerstimme) eines beliebigen deutschen Textes schreiben.
Dazu habe ich mir überlegt, dass, wenn man genügend Aufnahmen einer Stimme hat, um die Silben aller deutschen Wörter zu extrahieren, sollte es möglich sein jedes deutsche Wort zu generieren.
Wie kann ich das in Autoit realisieren, allein, dass der Text aus einem Eingabefeld intelligent aufgeteilt wird, die Silben erkannt und nacheinander korrekt abgespielt werden?
Wäre auch dankbar wenn jemand eine vollständige Liste aller deutschen Silben hätte, ich finde nur unvollständige.LG
Schweizergeizer -
wenn es Dir keine Möglichkeit bietet, das Programm zu den Ausnahmen hinzuzufügen, kannst Du es nur deinstallieren oder Dich beim Hersteller von Avast beschweren.
-
Hallo,
ist es möglich mit Autoit auf das Bios zuzugreifen und z.B. einzustellen, dass von einem USB-Stick gebootet werden soll?
LG
Schweizergeizer -
nicht nötig, habs gerade behoben
-
Vielen Dank, klappt wunderbar (nur für 1 Bildschirm)
-
Hallo,
[autoit]
ich möchte möglichst klein einen Screenshot abspeichern.
so ist der screenshot noch 1MB groß:
[/autoit]
_ScreenCapture_Capture("test.jpg",$aRes[0],$aRes[1],$aRes[2],$aRes[3])diese Funktion benutze ich zum verkleinern:
[autoit]Func _picture($input)
[/autoit]
_GDIPlus_Startup()
$himg = _GDIPlus_ImageLoadFromFile($input)
$hGraphics = _GDIPlus_ImageGetGraphicsContext($himg)
_GDIPlus_GraphicsDrawImage($hGraphics, $himg, 0, 0)
_GDIPlus_ImageSaveToFile($himg, $date2)
_GDIPlus_ImageDispose($himg)
_GDIPlus_Shutdown()
EndFunc
[autoit]
dadurch wird der screenshot auf knapp 250KB komprimiert
leider kann ich den screenshot nicht sofort verkleinert abspeichern, deshalb lasse ich den screenshot in sperriger form abspeichern und lösche diese
nach der kompression wieder
leider klappt das nicht
hier mein script:
[/autoit]
#include <ScreenCapture.au3>
#include <Array.au3>
#include <WinAPI.au3>
#include <Gdiplus.au3>
Global $aRes = _GetGlobalResolution()
_ScreenCapture_Capture("groß.jpg",$aRes[0],$aRes[1],$aRes[2],$aRes[3])
_picture("groß.jpg")
FileDelete("groß.jpg")
Func _picture($input)
_GDIPlus_Startup()
$himg = _GDIPlus_ImageLoadFromFile($input)
$hGraphics = _GDIPlus_ImageGetGraphicsContext($himg)
_GDIPlus_GraphicsDrawImage($hGraphics, $himg, 0, 0)
_GDIPlus_ImageSaveToFile($himg, "klein.jpg")
_GDIPlus_ImageDispose($himg)
_GDIPlus_Shutdown()
EndFunc
Func _GetGlobalResolution()
Local $aRes[4], $hWindow, $stRET
$hWindow = _WinAPI_GetDesktopWindow()
$stRET = _WinAPI_GetWindowPlacement($hWindow)
If Not @error Then
$aRes[0] = DllStructGetData($stRET, 'rcNormalPosition', 1) ; left
$aRes[1] = DllStructGetData($stRET, 'rcNormalPosition', 2) ; top
$aRes[2] = DllStructGetData($stRET, 'rcNormalPosition', 3) ; right
$aRes[3] = DllStructGetData($stRET, 'rcNormalPosition', 4) ; bottom
Return $aRes
Else
Return SetError(1, 0, 0)
EndIf
EndFuncDie groß.jpg bleibt nach ausführen des scripts trotzdem noch übrig,
wenn ich sie mit einem seperaten script löschen möchte wird sie gelöscht, deshalb vermute ich, dass das Löschen hier fehlschlägt, weil die Datei
in diesem Prozess geöffnet ist.
Komisch, denn nach _GDIPlus_Shutdown() dürfte sie nicht mehr geöffnet sein.Kann mir jemand weiterhelfen?
LG
Schweizergeizer