Na dann mußt du das raussuchen, was du ausgeben möchtest.
Können wir schlecht erahnen, was für Auswahlkriterien du da hast. ![]()
Beiträge von BugFix
-
-
Hi,
aufgrund der Version 3.2.12.0 gab es kleine Veränderungen in der Syntax.
In den Einzelpostings zu den Funktionen ist dies noch nicht angepaßt.
Daher bitte auf die Funktionssammlung zurückgreifen.Edit: In der 3.2.12.0 gibt es eine ähnliche Suchfunktion (auch für 2D-Array) mit dem Namen _ArrayFindAll().
-
Vielleicht hilft WorkingDir mit anzugeben.
-
Ja stimmt, für keinen Parameter sollte man also zumindest einen Leerstring übergeben.
[autoit]
Probier mal so:$Datei = $oExcel.Workbooks.Oben($Path & "\PopUpFenster.xls","","","","")
[/autoit]
Falls das nicht klappt versuchs mal mit 0. -
Hier mal auf die Schnelle dein VBS als AutoIt-Variante (ungetestet)
Spoiler anzeigen
[autoit]Dim $oExcel, $oFSO, $Path, $Datei
[/autoit]
$oExcel = ObjCreate("Excel.Application")
$oFSO = ObjCreate("Scripting.FileSystemObject")
$Path = $oFSO.GetParentFolderName(@ScriptFullPath)
Dim $InTaskBar, $State
$InTaskBar = $oExcel.ShowWindowsInTaskbar
$State = $oExcel.WindowState
$oExcel.ShowWindowsInTaskbar = False
$oExcel.WindowState = -4140
$Datei = $oExcel.Workbooks.Open($Path & "\PopUpFenster.xls", , , , "")
$oExcel.Visible = True
$oExcel.ExecuteExcel4Macro ("PopUpFenster.xls!wbSave(" & $InTaskBar & ", " & $State & ")")
$oExcel.ExecuteExcel4Macro ("PopUpFenster.xls!wbOpen()")
$oExcel = 0
$oFSO = 0 -
ich kann aber auch verstehen, wenn du bzw ihr keine lust dazu habt einem noob zu helfen, kann ich verstehen^^
He, willst du uns beleidigen? Hier wird jedem geholfen, sofern die Frage verständlich dargelegt wird und es ist absolut egal, ob du neu dabei bist oder schon 1000 Postings geschrieben hast. -
Da bleibt mir nur zu sagen. Autsch :wacko:
-
Hi,
[autoit]
nachdem ich stundenlang ein Skript nach Fehlern durchsucht habe, fand ich die Ursache in einem NameSpace-Problem.
Ich ging bisher davon aus, dass eine als Global deklarierte Variable in Funktionen verändert werden kann und somit wiederum in anderen Funktionen mit dem neuen Wert zum Einsatz kommen kann.
Das folgende Bsp. zeigt aber, dass dem wohl nicht so ist. Habt ihr eine Erklärung dafür?Opt('MustDeclareVars',1)
[/autoit][autoit][/autoit][autoit]
Global $ar, $i
Global $str = 'a,b,c,d,e,f,g,h'_GetArray()
[/autoit][autoit][/autoit][autoit]
_GetCurrValue()Func _GetArray()
[/autoit][autoit][/autoit][autoit]
$ar = StringSplit($str, ',')
For $i = 0 To UBound($ar) -1
If $ar[$i] = 'e' Then ExitLoop ; $i sollte also 5 sein, da Global
Next
EndFuncFunc _GetCurrValue() ; obwohl $i Global ist $i plötzlich ohne Wert!
[/autoit]
MsgBox(0, 'Wert für $i = ' & $i, $ar[$i]) ; gezeigt wird '8' , also Wert für $i = 0 !!
EndFunc -
Schätze mal, das ist nur ein Spaßvogel, der unsere intelektuellen Fähigkeiten testen will (ohne Material ein Ergebnis liefern).
Aber bäh, denkste - den Gefallen tun wir ihm nicht.
-
[OT]
Jaja, so ein Meeting kann einen von den wirklich wichtigen Dingen im Leben abhalten...
[/OT] -
Du mußt das Programm auch anweisen zu beenden (Exit):
[autoit]If @error = 1 then Exit MsgBox(262160, "Fehlermeldung", "Es ist ein Fehler aufgetreten, bitte melden Sie sich bei der IL", 10)
[/autoit]Du kannst auch dann selber einen Fehler erzeugen und damit die Funktion verlassen und den Fehlerwert verarbeiten:
[autoit]Func _bla()
[/autoit]
If $x = 0 Then Return SetError(1,0,1)
If $y = 0 Then Return SetError(2,0,1)
;.....
EndFuncReturn der Funktion ist in beiden Fällen 1 für Fehler und Fehlerwert ist 1 bzw 2.
[autoit]
Weiterverarbeitung z.B.:If _bla() = 1 Then
[/autoit]
Switch @error
Case 1
; Reaktion
Case 2
; Reaktion
EndSwitch
EndIf -
Jupp, das wars 
Vielleicht sollte doch eine klitzekleine Hilfe mit rein...
-
Da stimme ich Xeno zu.
Wenn du aber unbedingt on the fly prüfen willst, könntest du z.B. auch das IntelliSense-Prinzip anwenden. Somit kannst du auch verhindern, dass deine Trennzeichen gelöscht werden.
Aber den Aufwand finde ich der Aufgabe nicht angemessen. -
Holla die Waldfee
Somit haben Admins & Mods zusammen ca. 1/4 aller Beiträge erbracht.
Man sind wir fleißig
-
Hi Xeno,
[autoit]
mal ein Feedback von mir.
In der Version 4.0 gibt es noch Probleme mit AutoIt 3.2.12.0
Hier mal ein Codebeispiel mit erforderlichen Includes und der Antwort von OI:#include <GUIConstantsEx.au3> ; OI ==> Korrekt
[/autoit][autoit][/autoit][autoit]
#include <WindowsConstants.au3> ; OI ==> wird nicht benötigt !!$GUImain = GUICreate('Main', 600, 400, -1, -1, Default, $GUI_WS_EX_PARENTDRAG)
[/autoit][autoit][/autoit][autoit]
$GUIchild = GUICreate("", 600, 200, 0, 200, BitAND($WS_BORDER,$WS_POPUP), $WS_EX_MDICHILD, $GUImain)
GUISetState(@SW_SHOW, $GUIchild)
GUISetState(@SW_SHOW, $GUImain)Do
[/autoit]
Until GUIGetMsg() = $GUI_EVENT_CLOSEOI möchte die Windows-Konstanten nicht einbinden :wacko:
-
Die Cookies liegen i.A. in einer Datei (bei mir, K-Meleon Browser heißt diese 'cookies.txt'), im Pfad:
Lw:\ Dokumente und Einstellungen\ USER\ Anwendungsdaten\ ...
bei K-Meleon:
...K-Meleon\ PROFILNAME\ ZEICHENKETTE.slt
bei Firefox:
...Mozilla\ Firefox\ Profiles\ ZEICHENKETTE.defaultEinfach alle nicht benötigten Cookies löschen, dann diese Datei als Kopie sichern und nach dem Schließen des Browsers die vorhandene cookie.txt mit der Sicherung überschreiben.
-
Nur verdammt blöd dass man der Funktion nichts übergeben kann.
Das ist zwar unschön, aber nicht dramatisch.
Du legst einfach für die durch AdlibEnable aufzurufenden Funktion Globale Variablen an. Diesen kannst du jederzeit im laufenden Programm Werte zuweisen und beim nächsten Aufruf durch AdlibEnable werden dann diese Werte verwendet. Du kannst der Funktion z.B. auch anweisen nichts zu tun, falls diese Variablen ihren Wert nicht geändert haben.
Hier mal ein einfaches Bsp.:Spoiler anzeigen
[autoit]Global $i1 = 0, $i1_alt = 0, $i2 = 20
[/autoit] [autoit][/autoit] [autoit]
HotKeySet('^!e', '_ende') ; Beende Skript mit STRG+ALT+e
AdlibEnable('_show', 500) ; Abfrage alle 1/2 SekundeWhile True ; jede Sekunde wird Zähler um 1 erhöht
[/autoit] [autoit][/autoit] [autoit]
$i1 += 1
Sleep(1000)
WEndFunc _ende()
[/autoit] [autoit][/autoit] [autoit]
Exit
EndFuncFunc _show()
[/autoit]
If ($i1 - $i1_alt) > 4 Then ; nur die 5-er Schritte anzeigen - Beginn bei 25
$i1_alt = $i1
ToolTip($i1 + $i2)
EndIf
EndFunc -
BugFix das geht aber kürzer:
Das kommt davon, dass ich noch nie ein Installskript geschrieben habe, sonst hätte ich mir bestimmt die Syntax mal komplett durchgelesen 
-
[autoit]
MsgBox(64,$xp[0],"mal sehen")
[/autoit]wenn dus so meintest das geht leider nicht er sagt mir: Error: Subscript used with non-Array variable
In diesem Fall hat _StringBetween() nicht zum Erfolg geführt und deshalb wurde kein Array erstellt. -
Man ...... ich kenne netmal die Mitternachtsformel

Mach dir nix draus, der Ausdruck ist auch nicht unbedingt wirklich als "umgangssprachlich" zu bezeichnen.
Für Otto-Normalbürger ist das immer noch die Quadratische Ergänzung:
X1,2 = -p/2 +-Wurzel(p²/4 -q)