Beiträge von entsel
-
-
Ich hab die Au3LibreOffice-main.zip herunter geladen, wie in post #8 beschrieben- Link https://github.com/mlipok/Au3LibreOffice aus post #2. Die darin enthaltenen Dateien haben das Datum 16.05.2025!
Noch neuer ?
-
Danke wieder für die weiteren Kommentare
Zitat"... CSV ... oder anders ..."
In der Zwischenzeit hab ich einige weitere "Teil-Tests" gemacht und der weitere Weg in Autoit wäre jetzt auch eine Option, auch wenn der Weg über CALC erst der einfachere schien und ich die Daten dort beliebig filtern, sortieren etc. könnte (was aber nur eine Draufgabe wäre).
Danke auch für die Codeverbesserungen. Ja, mein Code ist rudimentär - weils halt nur ein Test-Schnipsel ist.
Aber die Doppelpunkte hatten sogar einen Sinn- in Falle von Dateipfaden, würden die beim Einlesen gleich zerlegt (Text in Spalten => LW, Pfad)
Aber Deine Zeile 5 schaut gleich besser aus, als meine Zeile 3.Deinen Cheat Sheet hab ich mir abgespeichert - danke dafür. Beim nächsten Projekt - in einigen Jahren(?)
- hab ich eh wieder alles vergessen und muss mich wieder neu einlesen.
Noch ein Feedback zu #include <LibreOfficeCalc.au3> - wenn ich die einbinde krieg ich eine Fehlermeldung beim Ausführen:
...LibreOfficeCalc_Field.au3"(68,22) : error: : undefined function
Dieses IsMap() kommt zwar in mehreren *.au3's vor, aber ein "Func IsMap()" hab ich nirgends gefunden.
Liegt's an mir oder kann die Funktionsdefinition tatsächlich fehlen? -
Danke für die vielen Antworten.
Die LibreOfficeCalc.au3 hat bei mir nur 2.348 KB, aber in ihr werden 13 weitere *.au3 eingebunden.
Werd dann mal schauen, ob ich da entsprechende Funktion(en) finde?Zitat... Code aus Post #4?
Genau!
Zitat... Basics auffrischen ...
Früher hab ich Autoit beruflich nutzen können, jetzt nur mehr privat - wenn es sich grad aufdrängt oder auch nur aus Neugier - wie jetzt.
zu post #14: Ob Ausgabe/Speicherung/Weiterverarbeitung mit Autoit oder Calc? Kommt eventuell drauf an, was einfacher istAusgabe => Calc wäre der Weg, wenn man die Daten sehen/analysieren/ oder weiter verarbeiten will (#15).
ZitatGeht evtl. auch eine xlsx-Datei als Ausgabe?
Grundsätzlich ja - wenn das Ziel Priorität hat - weil man mit Calc auch xlsx-Dateien öffnen könnte.
In meinem Fall interessiert mich aber auch, ob es einen einfachen Weg "über die Berge gibt, den man ohne Alpinausbildung"schaffen kann.
Ich zerlege mein angedachtes Projekt erstmal in kleine Teilabschnitte, die im Erfolgsfall dann zusammengesetzt werden - meine Teil-Test.au3 sieht bis jetzt noch so aus:
AutoIt#include <LibreOfficeCalc.au3> $File = FileOpen("e:\1.ods", 10) FileWriteLine($file, "fhdf" & ":" & "joht" & ":" & "wearsöä" & ":" & '=WENN(A1=B1;"Ja";"Nein")' & @CRLF) FileClose($file)
womit ich ich Zeile 3 ersetzen könnte bin ich noch am erkunden ...
-
Hallo allerseits
Danke mal für die vielen Antworten.
Scheint doch nicht so einfach wie erhofft - spezielle Formatierung bei FileWriteLine oder ähnliches.
Excel hab ich erwähnt, weil Calc vielleicht doch nicht jeder kennt und eine mögliche Lösung für Excel auch bei Calc funktionieren könnte - hab ich halt gehofft.Also ich hab kein Excel, nur Calc - hab daher hier - https://github.com/mlipok/Au3LibreOffice - auf [<> Code] geklickt und die Au3LibreOffice-main.zip heruntergeladen - und bin überfordert.
Soviel ich weiß müßte man wohl eine von den ~30(?) *.au3-Dateien "includen", aber welche? Und in der sollte ich dann eine Funktion - ??? WriteLineCalc ???
-finden, um *.ods-Dateien zu erstellen bzw. zu befüllen?
Das Umformatieren der Formelspalte auf Standard und das Entfernen der Hochkommas führt auch bei Calc zum Ziel.
Aber Dein Code, SOLVE-SMART, ist "zu hoch" für mich. Ich versuch nur mehr alle paar Jahre eine Kleinigkeit und vergesse seit 10 Jahren das wenige, was ich mir mal als Autodidakt angelesen habe. -
Guten Morgen
Um Daten später im Tabellenkalkulationsprogramm zu bearbeiten, schreibe ich sie - mit FileWriteLine - in eine csv-Datei.
Da wäre es manchmal praktisch, wenn man auch gleich Formeln mit reinschreiben könnte - Beispiel =WENN(A1=B1;"Ja";"Nein").
FileWriteLine verlangt aber Strings - also "=WENN(A1=B1;"Ja";"Nein")" => ergibt verschachtelten Text.
Dieses Problem läßt sich anscheinend mit Hochkommas lösen - '=WENN(A1=B1;"Ja";"Nein")'.Allerdings ist dann in der geöffneten Tabelle die Zelle als Text formatiert und nach der Änderung auf Standard steht da '=WENN(A1=B1;"Ja";"Nein") drin (mit führendem Hochkomma).
Kennt jemand eine Möglichkeit, die Formel ohne das führende Hochkomma in eine Standard-Zelle zu bekommen?
Ich verwende LibreOffice-Calc, aber Lösungen für Excel könnten ev. auch funktionieren.Danke und SG
entsel -
Ne, keine Frage, nur ein Hinweis, wo man suchen kann, falls mal jemand ähnliches vorhat oder ähnliche Probleme hat.
-
Erst mal danke für Eure Antworten.
Nach umfangreicheren Tests konnte ich das Problem lösen:
Ein Test mit einer größeren Anzahl Bildern brachte dann zutage, dass das Problem nur bei bestimmten JPGs auftrat - nämlich bei denen, die ein Aufnamedatum gespeichert haben.
Bei denen die das nicht haben (z.B. eingesannten Bilder?) hab ich - als Alternative - das Änderungsdatum herangezogen und da gabs keine Probleme (Daten ausgelesen mit _GetExtProperty).Das Datum wurde mit StringSplit zerteilt. Ein Versuch, die Werte dann mit int() in eine Zahl und mit string() dann zurück in einen String zu wandeln ergab den Wert "0". Es muss also tatsächlich unsichtbare Zeichen geben.
Den vorderen Teil zu ignorieren - z.B. StringRight($jjjj, 4) - war dann die Lösung.Fazit: Möglicherweise ist das, was in den JPG-Daten wie ein Datum aussieht nicht zwingend nur ein Datum (da könnte noch was dran hängen?).
-
Hallo Forum
Ich hätte wiederr mal eine Frage an Euch - ich hab ein Programm erstellt, das Bilder sucht, das Datum ausliest und dann nach JJJJ\JJJJ-MM-DD\Bildname verschiebt - also einen wirren "bildhaufen" ordnet.
Das Programm funktioniert auch wie gewollt, aber vielleicht auch nicht? Das Ergebnis mit Dateimanagern betrachtet schaut einwandfrei aus. Standardanwendung für JPGs ist XnView, aber mit Doppelklick aufs File gestartet erscheint "Fehler beim Öffnen ...".TotalCommander:
Windows-Explorer:
Da XnView nur bei diesen Bildern spinnt, sonst aber einwandfrei funkt, hab ich mir in einigen Programm-Testläufen die Variablen (Datum, Pfade, etc.) anzeigen lassen und die sind auch OK.
Hat vielleicht jemand eine Idee, woher die Fragezeichen kommen könnten - warum sie sonst nicht angezeigt werden oder sonstige Infos?
-
Danke für die weiteren Tipps.
Ich hab mir das jetzt so gedacht:
Spoiler anzeigen
AutoIt
Alles anzeigenLocal $sMessage For $x = 1 To 10 Tuwas() ; die Aufgaben 1, 2, 3, ... eines Programms - könnten sehr lange laufen laftno() ; damit sollen auch (eventuell weniger kundige) Rechnerbesitzer feststellen können, ob's noch läuft Next Func laftno() if $sMessage = "" then $sMessage ="/" If $sMessage = "/" Then $sMessage = "\" Else $sMessage = "/" EndIf ToolTip($sMessage, 1000, 500, "LaftNo", 1) EndFunc ;==>laftno Func Tuwas() Sleep(500) EndFunc
Die Funktion Tuwas() steht für die eigentliche(n) Aufgaben eines Programms (Dateien suchen, umbennen, kopieren, löschen, und ähnliches).
Entspricht dann wohl eher Sleep (5000) als (500)Ich nehme an, dass die abwechselnde Ausgabe von "/" und "\" (nach jedem Durchlauf) schneller sein wird als etwa eine MsgBox mit einer Zeitbegrenzung von 0.3 Sekunden
(kürzer wird anscheinend auf 0 (Standard) abgerundet).
Danke allen für die Hilfe
-
Danke Euch - wären weitere Möglichkeiten.
Hab jetzt noch ein bißl rumg'spielt und ToolTip mit Titel "Programm läuft" und der obigen Message (abwechselnd / und \) passt gut - einfach und kann auch "gelesen" werden, wenn man nicht so "Computeraffin" ist (nicht mein Rechner und es könnte ja sein, dass das Programm dann Stunden läuft
).
-
Danke für die vielen Vorschläge.
Die Fortschrittsanzeige würde zwar beim kopieren bekannter Datenmengen Sinn machen (wird möglicherweise eine Art Mini-Backupprogramm).
Aber wenn man beispielsweise einen Rechner nach Bildern durchsucht, ist die Anzahl bzw. Datenmenge nicht bekannt.
Dafür ist SplashTextOn oder ToolTip schon sehr brauchbar - z.B.:
-
Servus
Ich hätt' mal wieder eine Frage an Euch:
Ein Programm, das Ordner/die Eig.Dateien/den ganzen Rechner nach Dateien durchsucht oder viiiele Dateien von A nach B kopiert oder ähnliches, das läuft schon mal eine gewisse Zeit - und zwar im "Hintergrund", also ohne dass am Bildschirm was zu sehen wäre.
Um aber zu sehen, dass das Prog. noch läuft (könnte ja hängenbleiben) könnte man vielleicht an geeigneten Stellen eine Msg. ausgeben. Das erhöht aber erst recht wieder die Laufzeit.
Habt Ihr eine Idee, wie man ganz einfach anzeigen könnte, dass das Programm noch läuft?
Ein beep() wäre zwar sowas, aber was visuelles würde mit besser gefallen.
-
Das Script?
So kann man das wohl noch nicht bezeichnen - das sind ein paar 100 Zeilen Herumprobiererei - z.T. ohne Zusammenhang, Funktionen in mehreren Varianten und dgl.
Das zu studieren will ich niemandem zumuten.
Ich bin sozusagen in einer Erkundungsphase - testen, ob/wie was möglich ist ...
In der Möglichkeit, ein Fenster zu schließen, hätte ich für mich einen Weg gesehen, um auszuschließen, dass es zu Konfrontationen mit anderen Fenstern kommt.
Drum auch die Frage nach Infos bezüglich GUIs.
-
GuiDelete($hGui) hab ich jetzt ausprobiert - mache aber wahrscheinlich was falsch, denn das Script geht dann immer in eine Art Standby-Modus - in der Konsole steht dann "... Press Ctrl+Alt+Break to Restart or Ctrl+Break to Stop".
Ich würds ja auch mit GUISetState (@SW_HIDE) verstecken, aber was ist mit den Controls / Bezeichnungen - (wenn das Fenster 1 noch "lebt"). Kann man die in den weiteren Fenstern X (entsprechen zu 90% dem Fenster 1) wieder verwenden.
Da wäre halt mehr Wissen gefragt, (um z.B. ein Fenster immer wieder mit neuen Daten füllen) daher siehe oben - GUI-Tutorial? - kennt da jemand was?
-
Danke Euch!
GuiDelete($hGui) hatte ich noch nicht entdeckt - dürfte aber das tun, was ich mir vorgestellt hab, werds dann mal testen.
Exit ? - da hab ich wohl zu ungenau formuliert - ich will nur das 1. GUI-Fenster schließen, nicht das Script schließen, dann das 2. GUI-Fenster aufrufen ....
-
Hallo
Nach Jahren wollt ich wieder mal was mit AutoIt machen, aber weil ich fast alles vergessen hatte, musste ich nachlesen - Buch "AutoIt leicht gemacht".
Und weil meine (ausgedruckte) Version von 2010 ist und es für Kapitel 5-8, ab Seite 61 nur ein Inhaltsverzeichnis gibt, hab ich gedacht, ich hol mir eine aktuelle Version -
Buch - AutoIt.de - Das deutschsprachige Forum.Hallo,Ich habe unter http://web.slzm.de/blog/programmieren/autoit-leicht-gemacht/ den ersten Teil eines Buches über AutoIt veröffentlicht. Dort gibt es ein…autoit.debzw.
https://autoit.de/wcf/index.php?attachment/78306-autoit-leicht-gemacht-pdf
Aber leider gibts diese Kapitel anscheinend auch in der aktuellen(?) Version nicht.
Weiß da jemand näheres? Mich hätte jetzt gerade der GUI-Bereich interessiert, mir in "6.1.3 GUIs mit mehreren Fenstern" Informationen erhofft.
Dazu hätte ich auch noch eine Frage:
Mit GUISetState kann ich ja ein Fenster anzeigen (@SW_SHOW), deaktivieren, minimieren und, und, ...
Aber kann ich auch ein Fenster(1) schließen - (@SW_close ?) - nachdem dessen Aufgabe erledigt ist - und in weiterer Folge Fenster(2, 3, ..) benutzt wird?
-
Danke für die Antworten.
Da mein Englisch nicht so gut ist, hab ich immer nur nach deutschen Infos gesucht.
Use UPX war aktiviert - habs jetzt rausgenommen und neu kompiliert. Der Defender hat die *.exe trotzdem gelöscht. Dann auch die 64bit Version probiert - die stört ihn komischerweise nicht. Naja - hab den Ordner jetzt fürn Defender gesperrt.
-
Hallo
Wenn ich meine selbst geschriebene *.au3 mit Crtl+F7 zu einer *.exe kompiliere, behauptet der Windows-Defender, dass sich in der *.exe und in diversen temporäen *.exe-Files im Ordner C:\Users\...\AppData\Local\AutoIt v3\Aut2exe\ der Trojaner Win32/Wacatac.B!ml befindet. Bei dem Programm gehts um das kopieren von Dateien von einer SD-Karte auf eine Festplatte - und sonst nix.
Hat jemand ähnliche Erfahrungen gemacht oder kann was dazu sagen?
-
Hallo Leute
Ihr müht Euch umsonst ab - wie bereits geschrieben, hab ich schon eine Lösung gefunden.
Aber darauf muß ich nun doch noch antworten:
ZitatEine Hupe und ein Lenkrad sind halt nicht das gleiche.
Wenn man bisher (wie auch öfter erwähnt) nur Pferdekutsche (win7) gefahren ist und dann plötzlich Auto fahren soll, dann weißt du nix von Lenkrad, Hupe, Kupplung, Schaltung, usw. (also Tablet Modus, Fullscreen Startmenü) ! Da kennst eben nur Desktop und Startmenü und sonst nix. Und du nimmst an, dass das, was ähnlich ausschaut auch dieselbe Funktion hat. Also auf dem Desktop liegen jetzt große Kacheln statt kleiner Icons und das Startmenü dient zum Starten von Programmen und öffnet sich, wenn man (irgendwo) draufklickt.
So, und da gabs dann eine *.exe-Datei, den User, der gar keine Ahnung hat und einen Rechner, auf dem der User nur Gast ist (und ich erst recht).
Es galt also, für den User eine Möglichkeit zu schaffen, diese *.exe-Datei zu starten, ohne auf dem Rechner irgendwas zu verändern!
Meine angedachte Lösung (Achtung - Win7-Gedanken) - nämlich einen Link (Icon/Kachel) auf dem (Win7-)Desktop oder im (Win7-)Startmenü (von was anderem wusste ich nix) wäre nur ein Zusatz und somit machbar.
Und ich hab damit gerechnet, dass sich bezüglich Senden an | Desktop nix geändert hätte - war aber nicht ...
Aber ich hab ja bereits eine Lösung gefunden - siehe oben.
Also Leute, danke dass Ihr mir immer noch helfen wollt, aber Win10 ist für mich derzeit kein Thema - zumindest solange nicht, bis ich es auch meinem Rechner hab.
Einem User etwas zu erklären, was er nicht wissen will, ist wohl vergebliche Mühe und den Eigentümer des Rechners missionieren will ich schon gar nicht.