Da hast wohl versehentlich die ReDim Zeile in die Schleife gepackt
war volle Absicht, kann (sollte?) mit DIM ersetzt werden.
Da hast wohl versehentlich die ReDim Zeile in die Schleife gepackt
war volle Absicht, kann (sollte?) mit DIM ersetzt werden.
Ich hab den Kaffesatz mal aufgegossen:
#include <Array.au3>
Local $aArray, $aTMP[2][2]
Local $aArray_Base[3][3] = [["Wert 1", "Wert 2", "Wert 3"], ["10", "20", "30"], ["40", "50", "60"]]
;_ArrayDisplay($aArray_Base, "2D array")
$imCol = UBound($aArray_Base, 2) ;$UBOUND_Columns
$imRow = UBound($aArray_Base, 1) ;$UBOUND_ROWS -1
For $iRows = 1 To $imRow - 1 ;
ReDim $aTMP[$imCol][2]
For $iCols = 0 To $imCol - 1
$aTMP[$iCols][0] = $aArray_Base[0][$iCols]
$aTMP[$iCols][1] = $aArray_Base[$iRows][$iCols]
Next
_ArrayDisplay($aTMP, $iRows)
Next
Alles anzeigen
Das Skript liefert mit den gegebenenDaten das gewünschte Ergebnis. Ob der Aufguss auch stark genug für grössere Datenmengen ist musst du selbst austesten. Das Zwischenpeichern der UBound Dimensionen geschieht aus Performancegründen
mfg (auto)Bert
Hast Du zufällig Ahnung ob es außer den Umweg über den Browser ein html Print tool (Kommandozeile gibt?
ShellExecute mit $SHEX_PRINT beim Parameter verb sollte dies problemlos (ohne sichtbares Browser öffnen) tun.
Stehe anscheinend auf dem Schlauch, kannst du einmal das Ergebnis-Array posten und dazu die gewünschte Ausgabe-LV z.B. in Excel Tabelle.
B.t.w: wenn du ein Array willst, warum nimmst du nicht _SQLite_GetTable2d anstelle von _SQLite_Query?
mfg (auto)Bert
Ich habe ein problem mit dem start stop knopf + wenn ich auf start gedrückt habe funktioniert das Programm aber so bald ich stop drücke oder versuche die Gui zu schließen geht das nicht
Das liegt an deiner Programmlogik. Hier ein kleines Skript:
;https://autoit.de/index.php?thread/83656-button-klick-erkennen-wenn-funktion-l%C3%A4uft-so-wie-ein-hotkey/&postID=669356#post669356
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
$gui = GUICreate("KLeines 1 X 1", 400, 120)
$Start = GUICtrlCreateButton("&Start", 10, 10)
$PauseResume = GUICtrlCreateButton("&Pause", 10, 40)
$Anzeige = GUICtrlCreateLabel("Anzeige", 10, 90, 380)
GUISetState()
While 1
_EventHandler()
WEnd
Func _EventHandler()
$msg = GUIGetMsg()
Switch $msg
Case $GUI_EVENT_CLOSE
Exit
Case $Start
GUICtrlSetState($Start, $GUI_DISABLE)
For $i = 1 To 10
For $j = 1 To 10
$sToSend = $j & " * " & $i & " = " & $i * $j
GUICtrlSetData($Anzeige, $sToSend)
_MySleep(200)
Next
Next
GUICtrlSetState($Start, $GUI_ENABLE)
Case $PauseResume
If GUICtrlRead($PauseResume) = "&Pause" Then
GUICtrlSetData($PauseResume, "&Weiter")
While GUICtrlRead($PauseResume) <> "&Pause"
_MySleep(50)
WEnd
Else
GUICtrlSetData($PauseResume, "&Pause")
EndIf
EndSwitch
EndFunc ;==>_EventHandler
Func _MySleep($iMSec)
Local $iStart = TimerInit()
Do
_EventHandler()
Until TimerDiff($iStart) >= $iMSec
EndFunc ;==>_MySleep
Alles anzeigen
welches demonstriert, wie eine Schleife pausiert und wieder fortgeführt werden kann. Wie du am Link in Zeile 1 siehst, bist du nicht der einzigste mit diesem Logik Problem.
mfg (auto)Bert
@Oscar's Starplayer benutzt diese Technik.
Stell doch einfach dein bisheriges Skript ein, dann ist es einfacher.
Ansonsten in der benutzten Func zum Ermitteln der Dateien (z. B.: _FileListToArrayRec) einfach den entsprechenden Schalter ($FLTAR_FileS) benutzen. Eine andere Möglichkeit, allerndings evtl langsamer, in der sicher benutzeten Schleife vor jedem Eintrag auf Datei bzw. Ordner prüfen.
mfg (auto)Bert
Das SSO steht für Single Sign-on und der unbekannte Benutzer bist Du!
Mir macht es nichts aus, mich noch einmal anzumelden. Und in der derzeitigen Umgebung, mit der gelegentlich künstlichen Hektik, macht das Entfernen der Anmeldedaten jetzt noch mehr Sinn!
Und es muß doch möglich sein das generierte Device über die Eingabeaufforderung zu entfernen.
mfg (auto)Bert
Bei Erfolg würdest du den Sinn einer Sandbox ad Absurdum führen. Falls du es trotzdem schaffst, nenne bitte das Produkt, damit andere diese Sandbox meiden können.
Aber der Dienst also solches IST trotzdem installiert.
Den Dienst kann ich im Takmanager nicht finden. Wenn ich keinen Account habe, brauche ich auch diese Hintrtür für M$ und Co. nicht. Wie gesagt die genneriche Anmeldungsdaten für den Benutzer kann ich löschen, jetzt hätte ich auch gerne noch das Device entfernt bevor irgend jemand ein Schlupfloch findet und darauf Zugriff erhält.
mfg (auto)Bert
Ich vermute einmal du meinst den Account "SSO_POP_Device". Der wird automatisch von Windowsprogrammen (z.b. SkyDrive) angelegt welche "Windows Live Essentials" nutzen.
Genau dieses Device ist es. Ich habe aber (aus Kostengründen) keinen Onlinespeicher installiert und auch kein Programm aus der Aufzählung. Bei EMails benutze ich eine Alternative, Instant-Messenger, Fotogallerie etc. benötige ich nicht. Und was soll ein überzeugter Single + Rentner mit einer Kindersicherung (auf dem PC)?
Die generische Anmeldeinformation kann ich mittlerweikle erfolgreich automatisiert löschen, wie lösche ich das Device in der Eingabeaufforderung?
mfg (auto)Bert
Bei allen anderen Beispielen zu _FTP... steht korrekt : $sServer = 'ftp.csx.cam.ac.uk'
Damit erhält man dann auch das - korrekte- Rückgabearray :
das Array ist auch nicht kprrekt, es fehlen Erstellungsdatum und Zugriffsdatum. Seltsamerweise kommt jetzt das Modifik ationdatum, stattdesen wird das Erstellungsdatum unterschlagen. Doch ein Fehler in der _FTPEx.au3?
Möglich ist, du hast _FTP_ListToArrayEx mit falschen Parametern gestartet, oder dein FTP-Server ist evtl. falsch konfiguriert.
Falsche Parameter schliesse ich aus, denn:
_FTP_ListToArrayEx probiert bekomme aber immer nur im array [n][3] eine 00:00:00 Zeit zurück. FileName, Size und Date funktioniert richtig.
Falsch konfigurierter FTP-Server wäre möglich, dann wären aber alle von mir damals (< 3.3.14)getesteten FTP-Server falsch konfiguriert gewesen.
So auch der in der Hilfe erwähnte:
Alle von mir getesten FTP-Servern gaben nur das Erstellungsdatum zurück, Änderungs- und Letzter Zugriffs-Datum wurde von allen mit leer ausgegeben. Wenn es mit deinem Skript auf deinem FTP-Server von AVM klappt, muß ich meine Vermutung: 'Fehler in der _FTPEx.au3' revidieren. Es bleibt nur noch: 'Konfigration verweigert es!'.
Die Anmeldedaten kann ich entfernen, scheitere aber an einem 2. Eintrag, der mir auch mit cmdkey /list nicht angezeigt wird. Warscheins wird da ein virtueles Gerät angelegt:
auf das sich der unbekannte Benutzer (M$?) anmelden möchte. Wenn ich dies noch gelöst bekäme, hätte ich eine Sorge weniger.
mfg (auto)Bert
Teste einmal diese Func:
Func _fetchParaFile_Support($SoureDirectory)
Local $aFiles = _FileListToArray($SoureDirectory, '*.txt', 1)
If $aFiles[0] > 0 Then
Local $aFileAndDate[$aFiles[0]][2] ;Array gleich in der richtigen Größe erstellen
For $iFile = 1 To $aFiles[0] Step 1
Local $date = FileGetTime($SoureDirectory & $aFiles[$iFile], 0, 1)
$aFiles[$iFile][0]= $aFiles[$iFile] ;Filename
$aFiles[$iFile][1]= $date ;Datum
Next
_ArraySort($aFileAndDate, 0, 0, 0, 1) ;SORT ASCENDING, OLDEST FILE FIRST
Return $SoureDirectory & $aFileAndDate[0][0]
EndIf
Return 0
EndFunc
Alles anzeigen
ungetestet , an den geänderten Zeilen habe ich Bemerkungen angehängt.
Zuweilen kommt es vor, daß mein Datenvolumen zwischen Ermittlung durch Provider und der Statistik des Internetsticks > 30% abweicht. Dies gibt natürlich zu denken.
Ich finde seit kurzem regelmäßig einen Eintrag in der Anmeldeinformationsverwaltung zu generischer Anmeldeinformation:
Ich entferne diese Daten dann, die echten Daten weisen auf einen MS-Account hin. Kann man das Entfernen mit AutoIt automatisieren?
mfg (auto)Bert
Deinstalliere Scite, downloade https://www.autoitscript.com/cgi-bin/getfil…iTE4AutoIt3.exe und installiere es danach.