Beiträge von autoiter
-
-
-
@Musashi Danke für den Link. Aus meiner Sicht zeigt Bitnugger da nicht, dass es sinnvoll sein kann, sondern wie es funktioniert. Wenn aber jemand deinen Code nachher verstehen soll, dann benutzt man doch besser den längeren Weg If Not isdeclared("x") Then Local.. . Dann versteht das auch jeder andere. Wenn man schon unnachvollziehbar schreibt, dann kann man die Deklaration in der Funktion doch ganz weglassen. Da passiert das gleiche.
-
Hallo hipfzwirgel,
dein Problem hast du ja gelöst und ich habe nichts dazu beizutragen. Mir ist nur gerade die Codewiederholung in den Case Blöcken aufgefallen. Du könntest den ersten Block auch wie unten schreiben. Dann wird direkt der nächste Block ausgeführt.
-
@Musashi Ich habe die deutsche Hilfe jetzt nicht gecheckt. Aber das ist mit Sicherheit da drin. Das sind ja die Grundlagen.
Warum deshalb Dim eine gute Wahl sein sollte erschließt sich mir überhaupt nicht.. Das ist doch Käse.
-
Ich kann jetzt nichts über alle Anfragen sagen. Aber die 98% kommen mir einfach sehr hoch vor. Einfach weil ich denke, dass es sehr oft noch Bedarf gibt. Du hast ja wenigstens mit einem ERP zu kämpfen
Aber so eine Orchestrierung von Programmen im Selbstbau gibt es doch super oft. Selbst habe ich etwa das Szenario, dass im Backend Formulardaten als Email eingehen und erst bearbeitet werden müssen, bevor sie in ein CRM kommen..
Dazu werden die Mails ausgelesen und in eine Excel Datei geschrieben. Hier werden Mails aussortiert und Datensätze als Dubletten markiert, die nicht zwangsläufig 1zu1 gleiche Datensätze sind und deshalb noch einmal angeschaut werden sollen.Man kann darüber lachen. Aber man sollte sich nicht wundern, wenn es nicht irre oft in der Wirtschaft noch so aussieht. Solche Sachen halte ich jedenfalls für relativ häufig und
-
-
Teste das mal. Eigentlich sollten der Link als Parameter mitgesendet werden. So funktioniert das allgemein. Wie sollte das Programm sonst wissen, was zu tun ist?
-
Ich suche in einem Fall nach Dubletten, die ich markieren möchte.
Erst durchsuche ich die Datei. und fülle ähnlich wie oben beschrieben ein Array. Das schicke ich dann an eine Funktion, die in meinem Fall, die ganze Zeile gelb markiert.
Ich hoffe das hilft dir schon. Ansonsten antworte und erwähne mich, dann bekomme ich eine Mail.AutoIt
Alles anzeigenFunc _SetExcelRowBkColor($oWorkbook, $iRow, $iColorIndex = 36) If Not IsObj($oWorkbook) Then Return SetError(1, 0, "No Workbook object") $iColorIndex = Ceiling(Number($iColorIndex)) If $iColorIndex = 0 Then $iColorIndex = 36 If IsObj($oWorkbook.Activesheet.Rows($iRow).Interior) Then With $oWorkbook.Activesheet .Rows($iRow).Interior.ColorIndex = $iColorIndex .Range("A" & $iRow).Interior.ColorIndex = $iColorIndex EndWith Else ConsoleWrite("Beim Setzen der Hintergrundfarbe einer Zeile ist ein Fehler aufgetreten. Zeile: " & $iRow & @LF) EndIf EndFunc ;==>_SetExcelRowBkColor -
Hallo @Sascha, du kannst die Ausgabe direkt abfangen, wenn du es mittels der Konsolenparameter von Tesseract an die Konsole ausgibst und ausliest.
ich mache das in einem Programm so:
AutoIt
Alles anzeigen_ScreenCapture_CaptureWnd(@ScriptDir & '\Data\searcharea.tif', $g_hSearchArea) If @error And $g_bDebug Then _FileWriteLog($g_hLogFile, "ScreenCapture error=") Local $sCmd = '"' & @ScriptDir & '\Tesseract-OCR\tesseract.exe" "' & _ @ScriptDir & '\Data\searcharea.tif" stdout --psm 12 --oem 1 ' & _ '--tessdata-dir "' & @ScriptDir & '\Tesseract-OCR\tessdata" -l ' & $g_sSearchLanguage Local $iPid = Run($sCmd, @ScriptDir, @SW_HIDE, BitOR($STDERR_CHILD, $STDOUT_CHILD)) If Not $iPid Then If $g_bDebug Then _FileWriteLog($g_hLogFile, "Run error! Call=" & $sCmd) Return SetError(1, 0, False) EndIf ProcessWaitClose($iPid) Local $sStdout = StdoutRead($iPid) Local $sStderr = StderrRead($iPid)Bitte frag nicht, ob das guter Code ist. Dafür bin ich die falsche Person in diesem Forum

Eine noch einfachere Variante wäre, du liest einfach mit FileRead die Datei @MyDocumentsDir & "\result.txt" aus und speicherst das in einer Datei. Danach kannst du die Datei löschen.
-
Krass. Da schaut man mal wieder rein und sieht eine Antwort von Jos

-
Hallo HansJ54
darüber habe ich mir zuvor nie Gedanken gemacht und habe es auch nicht getestet. Allerdings kannst du in Windows Standard Apps auswählen. Unter anderem gibt es dor den Punkt "Standardeinstellungen nach App festlegen". Da könntest du wohl auf eine Exe verweisen, die du mit AutoIt erstellt hast. Innerhalb dieser Exe könntest du dann deine Geschäftslogik ausführen.
-
Ja, da lagst du schon richtig.
https://docs.microsoft.com/en-us/windows/…clipboardupdate -
Danke, aber viel zu umständlich, setze das Projekt lieber in C um.
LOL, das ist doch ein Fake Account/Beitrag. Haha, ich würde gerne seine C-Umsetzung sehen

@Musashi vergiss den Troll.
-
Hi MojoeB sorry, ich bin nur mal reingeschneit und habe dein letztes Skript gesehen. Zum Topic kann ich gar nichts sagen. Aber vermeide doch so Spielereien: Func ________START_________() Das bereitet doch nur bei Aufruf mögliche Schmerzen. Genau wie das ____suche__starten___().Haben die Namen funktionale Gründe?

Außerdem scheinen alle globalen Variablen nur lokal genutzt zu werden? Dann deklariere sie dort doch auch lokal.
Schreibst du deinen Code in Notepad++ oder so? Ich frage wegen der eigenwilligen Einrückungen und unterschiedlichen Schreibweise von func und EndFunc. Probiere mal SciTE4AutoIt oder ISN Studio aus.
Die nehmen eine Menge Arbeit ab.
-
Hallo HansJ54,
ich habe nichts ausprobiert oder so. Daher rede ich nicht mit Wissen. Ich habe mir einfach bei deinem Screenshot gedacht, dass er wenig Sinn macht. Arraydisplay gibt dir einen Screenshot...
Lass dir besser über eine gewisse Zeit in kürzeren Abständen die Daten in die Konsole ausgeben und vergleiche diese Daten mit dem Taskmanager.
-
-
Ich bekomme weiter Updates mit win10
Bei mir hat der Quelltext 280 Zeilen.
IE 1909 Build 18363.1379
-
Auf dem eigenen Computer sollte das in den Griff zu bekommen sein.
Kompilierte exe eiignen sich aber einfach nicht für die Verteilung - weder professionell noch privat. Schreibt eine installierbare Ausführdatei in irgendwas und startet das Skript daraus mit einer mitgelieferten AutoIt3.exe, wenn es was hermachen soll.
-
Ich bin auch nur kurz hereingeschneit SEuBo
Die einzige reine AutoIt-Möglichkeit ist doch, dass du den zur Laufzeit in AutoIt geschriebenen Code in eine Datei schreibst und die mit deiner eigenen oder der auf dem Zielsystem installierten Au3.exe ausführst. Alle deine im Script vorhandenen Daten kannst du an das von deinem Skript geschriebene Programm übergeben. Entweder per Quelltext oder Kommandozeile, etc. Das genügt schon, wenn kein weiterer Austausch während der Laufzeit stattfinden muss. Dazu gäbe es hier Threads wie interprozesskommunikation oder so ähnlich.
-