Lies die AGB von YT und die Forenregeln, danach weist du warum dir niemand hilft helfen darf.
mfg autoBert
Lies die AGB von YT und die Forenregeln, danach weist du warum dir niemand hilft helfen darf.
mfg autoBert
Benutze für die Overlay-Bilder: [UDF] GUICtrlPic - Update am 27.12.2010 von Großvater. Da diese Funktion normale Control-IDs für die erzeugten Bilder zurückgibt sind ganz normale Abfragen wie für andere Elemente auch möglich.
mfg autoBert
auch verstehe ich den letzten parameter nicht "$CALG_USERKEY" < laut referenz ist das ein bool?) der bei
"true" dafür sorgt, dass ich datenblöcke schreiben kann, oder nicht ?
ZitatAlles anzeigen_Crypt_DecryptData
--------------------------------------------------------------------------------Entschlüsselt einen String mit einen bestimmten Passwort
#Include <Crypt.au3>
_Crypt_DecryptData($vData, $vCryptKey, $iALG_ID[, $fFinal = True])
Parameter
$vData String zum entschlüsseln
$vCryptKey Passwort oder Handle zu einem Schlüssel wenn das CALG_USERKEY Flag angegeben ist
$iALG_ID Der zu benutzende Algorithmus
$fFinal [optional] False wenn es nur ein Teil der gesamten Daten ist
mfg autoBert
Hat jemand eine Idee wie ich das umgehen kann oder eine andere Möglichkein Verzeichnisse mit Unterverzeichnissen auszulesen.
siehe: _RecursiveFileListToArray (mit StringRegExp)
mfg autoBert
Code mässig etwas kürzer:
#include <array.au3>
[/autoit] [autoit][/autoit] [autoit]Global $aArray[3][3]
$aArray[0][0] = 'I'
$aArray[0][1] = 'H'
$aArray[0][2] = 'N'
$aArray[1][0] = 'M'
$aArray[1][1] = 'Ü'
$aArray[1][2] = 'N'
$aArray[2][0] = 'Z'
$aArray[2][1] = 'E'
$aArray[2][2] = ''
$aArray = _Transpose($aArray)
_ArraySort($aArray)
$aArray = _Transpose($aArray)
_ArrayDisplay($aArray, 'Ergebnis')
Func _Transpose($aArray)
;Autor autoBert
Local $iCols = UBound($aArray, 2)
Local $iRows = UBound($aArray)
Local $aResult[$iCols][$iRows]
For $i = 0 To $iCols - 1
For $j = 0 To $iRows - 1
$aResult[$j][$i] = $aArray[$i][$j]
Next
Next
Return $aResult
EndFunc ;==>_Transpose
mfg autoBert
Ich sehe nichts in deinem Skriptschnipsel was blockiert werden könnte. Ein externer Pingaufruf benötigt aber zusätzlich Zeit, da ja das Programm gestartet, initialisiert und nach dem Ergebnis ausgewertet werden muss. Andererseits kannst du dadurch die Aufrufe auch parallelisieren. Dazu müsstest du die PIDs der gestarteten Aufrufe in einem Array speichern und in einer separaten mit Adlibregister registrierten Func auswerten.
mfg autoBert
Ich verwende aber den MessageLoop Modus, wie kann ich dass dann bauen ?
hier ein Beispiel:
#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
GUICtrlSetData($Anzeige, $j & " * " & $i & " = " & $i * $j)
_MySleep(500)
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
mfg autoBert
Schön dann ist dein Problem ja gelöst. Schön wäre es allerdings auch wenn du das Thema auf gelöst setzt.
Dazu einfach den Eröffnungsbeitrag bearbeiten und den Präfix (nähe) Überschrift auf gelöst setzen und absenden.
danke autoBert
P.S.: autoBert: aus meiner Sicht ist eine Prüfung mittels FileExists maximal für die Quelldatei nötig, das geht leider nicht aus deinem Post hervor
und hat mich anfangs verwirrt
Ich verwende FileIntall nicht um Dateien weiterzugeben und hatte vor dem Beitrag die Parameter nicht nachgeschlagen. If not FileExsists es war gegen Überschreiben der DB nach dem 1. Start gedacht. Nach dem das mittlerweile erledigt ist muss ich dir Recht geben: solange nicht das ÜberschreibenFlag gesetzt wird wird auch nicht If not FileExsists benötigt. Meine Vorsicht war ist also unbegründet.
Für die Quelldatei braucht keine Vorsichtsmassnahme getroffen werden, hier steigt der Compiler aus.
mfg autoBert
Hallo .
ich habe mit SQLiteAdmin hineingeschaut. Da werden die Umlaute zwar korrekt dargestellt ich weiss aber aus eigenen Projekten dass SQLiteAdmin sie verkehrt anzeigt während die eigene EXE es korrekt anzeigt. Nimm mal zu Testtwecken diese beiden Zeilen:
[autoit]Func _OpenDB()
; SQLite starten
_SQLite_Startup()
; Datenbank öffnen
$hDB = _SQLite_Open("StoerHier.s3db")
Local $aSql = 'INSERT into tblObjektgruppen (ObjGrp, ObjGrpTxt) VALUES (' & _SQLite_Escape('TT')&','& _SQLite_Escape('ÄÖÜäöüß') & ');' & @CRLF;<<=================
Local $res = _SQLite_Exec(-1, $aSql) ;<<=================
EndFunc ;==>_OpenDB
in dein Skript auf und lass dir danach so die Werte anzeigen:
Func _GetData($sTable, $sField, $sWhere, ByRef $cbo)
Local $hQuery, $aRow, $sValue, $sSQL
; SQL-String zusammensetzen
If $sWhere <> "" Then
$sSQL = "SELECT " & $sField & " FROM " & $sTable & " " & $sWhere & " ORDER BY " & $sField
Else
$sSQL = "SELECT " & $sField & " FROM " & $sTable & " ORDER BY " & $sField
EndIf
; Abfrage ausführen
_SQLite_Query($hDB, $sSQL, $hQuery)
While _SQLite_FetchData($hQuery, $aRow) = $SQLITE_OK
; Eintrag in Combobox schreiben
GUICtrlSetData($cbo, $aRow[0])
WEnd
EndFunc ;==>_GetData
Alles deutet darauf hin dass das Erfassungstool deiner Daten und dein Programm nicht kompatibel sind.
mfg autoBert
Glaub mir es klappt, auch wenn du es derzeit nicht hinbekommst:
[autoit]; Eine .txt Datei mit dem Standardeditor öffnen
FileWriteLine("myfile.txt","Test-Zeile!")
ShellExecute("myfile.txt", "", @ScriptDir, "edit",@SW_MINIMIZE)
MsgBox(0,"myfile.txt","wurde minimiert geöffnet!"
mfg autoBert
Der Parameter ist zwar der letzte aber du hast die Parameter dazwischen nicht angegeben.
ZitatViele Funktionen haben optionale Parameter, die beim Funktionsaufruf nicht angegeben werden müssen. Wenn man einen optionalen Parameter verwenden möchte, muss jeder vorangehende Parameter angegeben sein. Man kann also nur den vorletzten Parameter weglassen, wenn der letzte auch weggelassen wird usw.
Quelle:
Sollte so klappen (ungetestet):
#include <array.au3>
#include <File.au3>
Global $aInFile, $sInFile='DeineGrosseDatei.txt' ;Dateinamen anpassen
Global $hOutFile
_FileReadToArray($sInFile,$aInFile)
For $j=6 to $aInFile[0] Step 6
$hOutFile = FileOpen($aInFile[$j],2)
For $k = $j-5 to $j-1
FileWriteLine($hOutFile,$aInFile[$k])
Next
FileClose($hOutFile)
Next
mfg autoBert
Das kannst du mit
[autoit]If not FileExists(...) then FileInstall()
[/autoit]machen,
mfg autoBert
Da Send immer an das aktive Fenster sendet mit WinActivate sollte das Fenster nicht aktiviert sein wird es aktiviert. Um nicht zu früh zu senden folgt darauf ein WinWaitActive. Danach Send. Hast du den das Notepad-Tutorial durchgearbeitet oder nur überflogen?
@Mod/Admin bitte nach Hilfe + Unterstützung verschieben,
mfg autoBert
Einfach einmal den Haken der Sicherheitswarnung entfernen, hast du (oder jemand anderes) unter Win7 auch einmal gemacht, denn sonst käme dort die Sicherheitswarnung auch. Sprich dein Notebook ist sicherer eingestellt als dein Arbeitsplatzrechner wo es nicht erscheint. Ob du diesen zusätzlichen Schutz zugunsten des Komforts aufgeben willst musst du bzw. der zuständige IT-Verantwortliche entscheiden.
mfg autoBert
Das man nichts sieht was ich versucht oder Probiert habe, liegt vielleicht daran das ich es nicht gepostet habe.Was ich bis jetzt jedesmal hat ist das ich entweder alles in einer Farbe hatte (die komplette Listview) oder das es noch nicht einmal wieder starten ließ.
Wie willst du etwas lernen wenn du deine missglückten Versuche nicht selbst bereinigen kannst aber auch nicht bereit bist sie hier einzustellen? Da passt dann nur
Dumm anmachen kannst du jemanden anders.
Viel Spaß beim wursteln.
Ich habe mit _DateDiff etwas herumprobiert, habe dann aber an einen Vergleich wie einer WENN-Funktion gedacht mit dem Befehl _DateTimeFormat(_NowCalc(), 2). Weil mir das mit dem _DateDiff nicht in die Birne kam, wie ich es weiter anwenden sollte.
Nach 4 Monaten sollte man in der Lage sein zu erkennen das _DateTimeFormat(_NowCalc(), 2) absolut unbrauchbar ist ein Blick in die Hilfe genügt:
ZitatAlles anzeigen_DateTimeFormat
Gibt das Datum abhängig von der in der Systemeinstellung gewählten Ländereinstellung zurück.
#Include <Date.au3>
_DateTimeFormat($sDate, $sType)
Parameter
$sDate Format der Datumseingabe "YYYY/MM/DD[HH:MM:SS]"
$sType einer der folgenden Werte: 2 - Zeigt das Datum in dem in den Ländereinstellungen eingestellten Kurzformat
Oder liegt dir das Datum in diesem Format vor?Nein, warum willst du es dann in das (lt. Skript) bereits angezeigte Datum wandeln? wo doch _DateDiff das wie der Name schon sagt die Differenz zwischen 2 Daten ermittelt genau genau das gleiche Format verwendet wie _DateTimeFormat.Zum Umwandeln benutze ich die Stringfunktionen
[autoit]StringLeft
StringMid
StringRight
und den Verkettungsoperator "&". Das verwenden von
[autoit]_Date_Time_SystemTimeToDateStr
StringReplace
führt aber auch zum Ziel.
Ich habe auch nicht gesagt das ich eine Firma habe und das ich es Gewerblich nutzen möchte. Weder BOT für eine Autowerkstatt oder noch irgendetwas. Schnorren will ich schon mal gar nicht.
Dann erkläre bitte den Einsatzzweck sinnvoll
Mittlerweile komme ich zum Schluss BOT denn ein Gewerbetreibender ist im Normalfall so schlau das er lieber etwas zahlt als seine Zeit zu verschwenden.
Die Unterhaltung hatten wir schon bei [ offen ] IE@Create Problem.
BugFix hatte mir nicht mal Zeit gegeben zum Antworten und direkt Dicht gemacht. Ja es war sehr allgemein meine Frage damals gestellt worden, absicht.
Du hast deinen damaligen Fehler immer noch nicht eingesehen, du hattest mehr als 1 Chance auf meine Frage nach der/den URL's eine klare eindeutige Antwort zu geben. Die Reaktion von BugFix war das Resultat deiner Ignoranz hier noch einmal die Klarstellung dazu:
Zitat von »Croco1984«Nachdem man mir einfach das Problem geschlossen hat, ohne auf eine reaktion meinerseits zu wartenHalte dich mal bitte an die Fakten:- Erste Antwort von autoBert war: "Da Anmeldeprozeduren sich von Site zu Site unterscheiden müsstest du schon die URL nennen bei der du Probleme hast."- Deine Reaktion: "Es ist vollkommen egal welche URL ich da nehme."- Darauf hast du die einzig nun mögliche Antwort von autoBert erhalten: "für eine so allgemein gehaltene Anforderung eine genauso allgemeine Antwort: mit den _IE...-Funkionen, speziell _IEFormElementSetValue"- Aber auch das konnte dich nicht dazu veranlassen eine für uns reproduzierbare Problemsituation zu posten. Stattdessen wieder allgemeines Rumgeeiere: "nach der erfolgreichen anmeldung auf der Seite-X, wird eine Seite-Y neu generiert mit mehr informationen und vielleicht buttons für den Member. Auf dieser neuen Seite Y möchte ich in ein Feld einen schon festgelegten Text automatisch einfügen und bestätigen lassen. das das über die ie-funktionen läuft ist mir schon bewusst, aber über welche genau, den bei jeder anmeldung wird über die X-seite der Bezug genommen und wenn ich auf der Y-Seite eine erneute eingabe machen will findet er den Bezug einfach nicht mehr."Wenn du kein Interesse hast dein Problem nachvollziehbar zu schildern, haben wir kein Interesse unsere Zeit zu verschwenden indem wir Glaskugeln reiben um zu Erahnen, was dein Problem sein könnte.Niemals wird ein Thread einfach so geschlosssen. Es war dein Verhalten, dass diese Reaktion initiiert hat. Also bitte schön den Ball flach halten.
Einige von euch wie z.B BugFix, Raupi oder Du (autoBert) steht viel tiefer in der Materie und könnt doch unterstützen und anscheinend macht ihr das auch gerne.
Ich und auch Raupi haben dir bereits Tipps gegeben und mein 2. Link auf ein Beispiel von BugFix ist Gold wert, er hat dir also auch schon geholfen. Ich behaupte dass ein halbwegs logisch denkender Mensch nach 4 Tagen AutoIterfahrung (in denen er jeweils 4 Stunden Hilfebeispiele nach vollzogen hat) mit den Tipps und dem Link von mir in der Lage ist das Problem in <1/2 Stunde zu lösen. Mein Fazit daher: du bist lern resistent und erwartest das dir Leute helfen deren Tipps du nicht befolgst, dies ist meine (hoffentlich) letzte Antwort zu diesem Thema, meine nächste wäre: Vote for Close.
mfg autoBert
Zu Send empfehle ich dir in der Hilfe die Kapitel:
durchzulesen und die Tutorials:
durch zu arbeiten. Eine Alternative zu Send sind die Cpntrol***-Funktionen wie .B.:
[autoit]Controlsend
ControlSetText
mfg autoBert
Aber OutlookEx sagt mir nix, gehört die UDF standardmäßig zu Autoit?
Nein ist eine UDF von water: OutlookEX (2012-10-07 - Version 0.9.0.0) - Download. Das Ex steht für Extended nicht für Express, will damit sagen sie funktioniert nur mit Outlook aber nicht mit Outlook Express. In [ gelöst ] Daten an email senden wird eine andere Möglichkeit gezeigt, schau dir dazu auch noch Post #14 im gleichen Thema an.
mfg autoBert
Noch ein Tipp
Aber ist das hier nicht ein Forum, indem man fragen und antworten erwarten kann.
Du hast doch schon Tipps bekommen, hier noch zwei:
Ich weiss nicht wie ich das Problem anfassen kann und habe hier gehofft das man mir weiterhilft, anstatt hier runter gemacht zu werden und dafür auch noch Kohle zu zahlen. Entschuldige jetzt bitte mein ausdruck , aber das ist tiefstes niveau. Danke!!!
Findest du es also in Ordnung dass eine Firma sich ihre Programme kostenlos im Internet zusammen schnorrt. Sie hat durch den Einsatz sicher einen Vorteil und spart dadurch Kosten, will aber denjenigen der die Arbeit geleistet hat nicht entlohnen.
Dies finde ich [Blockierte Grafik: http://www.lima-city.de/images/smilies/puke.gif]
Wenn du jemanden suchst der dir dein Skript vollendet bist du je nach Sachlage in den beiden von mir genannten Foren:
Da ich auf Grund der Spaltenüberschriften einen gewerblichen Hintergrund sehe solltest du in http://www.autoit.de/index.php?page=Board&boardID=35 ein Thema erstellen, sollte ich mich irren geht auch http://www.autoit.de/index.php?page=Board&boardID=52
richtig.
Entschuldige bitte das ich ein Anfänger bei Auto IT bin und nicht sofort alles weiss.
Du bist jetzt 3 Monate dabei hast bisher nur selbst Hilfe gesucht aber noch keine geleistet, dies zeigt doch deine Einstellung. Selbst wenn du jetzt in http://www.autoit.de/index.php?page=Board&boardID=52 ein Thema erstellst bin ich nach deinem Benehmen in [ offen ] IE@Create Problem und der nach dessen Schliessen (da deine Antworten auf meine berechtigten Zwischenfragen noch weniger hilfreich waren als jede einzelne Antwort hier) in [ offen ] IE@Create Problem falschen Darstellung die ja schon von BugFix zurecht gerückt wurde bin ich nicht bereit dir dort das Skript zu schreiben. Denn wenn nicht gewerblich dann ist es wohl die Grundlage für einen BOT (Simulation einer Autowerkstatt, Spedition etc.). Bot's unterstütze ich nicht und meine Autowerkstatt hat auch saftige Stundenlöhne.
Edit: natürlich habe ich auch getestet:
mfg autoBert