Oha. Wald. Bäume. Danke
Beiträge von DasIch
-
-
Hallo zusammen,
ich möchte den internetexplorer mit @SW_HIDE starten. Sobald ich das aber mache, wird @SW_HIDE ignoriert.
[autoit]ShellExecute("iexplore.exe", "www.google.de", "", "", @SW_HIDE)
[/autoit]Hat jemand eine Idee?
-
Ich habs gerade mal ohne deine arrays getestet:
[autoit]$mld = "Das bestehende Benutzerverzeichnis wurde umbenannt in:" & @CRLF & _
[/autoit]
" " & CHR(34) & "C:\Blah\Blah" & CHR(34) & @CRLF & @CRLF & @CRLF & _
"OpenOffice wird jetzt neu gestartet, dabei wird automatisch ein neues OpenOffice-Benutzerverzeichnis:" & @CRLF & @CRLF & _
CHR(34) & "C:\Blah\Blah" & CHR(34) & @CRLF & "erstellt." & @CRLF & _
@CRLF & @CRLF & @CRLF & _
"Hinweis:" & @CRLF
Msgbox(64, "Openoffice wird neu gestartet", $mld)Hier funktioniert es. Lass dir mal mit
[autoit]MsgBox(0, "", "$CmdLine[1]:" & @CRLF & $CmdLine[1] & @CRLF & @CRLF & "$CmdLine[2]:" & @CRLF & $CmdLine[2])
[/autoit]
ausgeben, wie die Arrays aussehen. Vielleicht ist der zweite arraystring falsch formatiert. -
Immer noch keiner?! scheint so, als würde ich es tatsächlich schaffen, dass hier in dem forum keiner eine antwort weiß :O
-
Hallo zusammen,
leider konnte ich das Problem noch immer nicht lösen. Hat denn keiner eine idee?
-
Versuch mal
[autoit]IECreate ( @ScriptDir & "\Datei.mht")
[/autoit] -
Hallo zusammen,
ich bin am Verzweifeln.
Ich habe folgenden html code:
Code<select class="buttonA" ;="" onchange="delayFramechange (modell)" name="modell" size="6"> <option selected="" value="1263371">Alfa Romeo Spider</option> <option value="1279936">Audi A4</option> <option value="1286953">BMW i135</option>
Hier nur ein Ausschnitt, da alles andere den Rahmen sprengen würde
Ich würde gerne mit Autoit das ausgewählte Modell ändern. Leider habe ich es bisher weder mit _FFClick(), noch mit _FFObj(), noch mit _FFDispatchevent oder _FFFormOptionSelect() und anderen, wilden Versuchen hinbekommen, die Auswahl über Autoit zu verändern.
Das einzige, was wirklich eindeutig ist, ist das "value", da diese die angebotsnummern darstellen. Weiß jemand, wie ich es hinbekomme, dass ich das selected ändern kann und vor allem das onchange-event ausgelöst wird? Denn durch dieses werden die Infos des Autos erst aktualisiert..
Ich hoffe, ihr versteht mein Problem und könnt mir helfen.
LG und Danke vorab,
der Robert -
Danke, Misterspeed! Genau das habe ich gesucht
LG
-
Oh, Nachtrag.
Wie kriege ich es hin, dass er mir am Ende, bei 20,00 zum Beispiel die Zahl nicht hinter dem Komma bzw. dem Punkt abschneidet?
-
Oh man. Dieses kleine Anführungszeichen Danke dir! Hat jetzt wunderbar funktioniert
-
Hallo zusammen,
ich bin noch frisch in Datenbanken und bin mich noch am Einlesen. Ich habe mir testweise eine Datenbank erstellt, mit welcher ich Ausgaben, Summen, usw. am Testen bin. Soweit blicke ich auch durch, allerdings gibt es eine Sache, die partout nicht funktionieren will: SUM()
Ich stelle euch hier kurz den Code ein, damit ihr den Query prüfen könnt. Vielleicht bin ich auch zu dumm
Spoiler anzeigen
[autoit]
[/autoit] [autoit][/autoit] [autoit]
$sMon = "Mai"
$hDB = _SQLite_Open("Monatskosten.sqlite");~ Hier hab ich schon Integer, Numeric und Decimal probiert bei Preis hinten..
[/autoit] [autoit][/autoit] [autoit]
_SQLite_Exec(-1, "CREATE TABLE MonDB (ID INTEGER PRIMARY KEY,Monat Text,Jahr Text,Grund Text,Kategorie Text,Preis Numeric);")
;~ ich habe es sowohl mit Komma als auch mit Punkt probiert. (48,34 und 48.34)
_SQLite_Exec(-1, "INSERT INTO MonDB(Monat, Jahr, Grund, Kategorie, Preis) VALUES ('Februar', '2015', 'Tanken', 'Auto', '48,34');")
_SQLite_Exec(-1, "INSERT INTO MonDB(Monat, Jahr, Grund, Kategorie, Preis) VALUES ('September', '2015', 'Reinigung', 'Auto', '78,50');")
_SQLite_Exec(-1, "INSERT INTO MonDB(Monat, Jahr, Grund, Kategorie, Preis) VALUES ('Mai', '2014', 'Konzertkarte', 'Freizeit', '25,00');")
_SQLite_Exec(-1, "INSERT INTO MonDB(Monat, Jahr, Grund, Kategorie, Preis) VALUES ('Mai', '2015', 'Konzertkarte', 'Freizeit', '20,00');")
_SQLite_Exec(-1, "INSERT INTO MonDB(Monat, Jahr, Grund, Kategorie, Preis) VALUES ('Mai', '2015', 'Sportwette', 'Freizeit', '4,99');")_SQLite_Query($hDB, "SELECT SUM(Preis) AS Preis FROM MonDB WHERE Monat LIKE '" & $sMon & "' GROUP BY '" & $sMon & "'", $QueryMonat)
[/autoit]
_SQLite_FetchData($QueryMonat, $aMonat, False, False)
MsgBox(0, "", StringReplace($aMonat[0], ".", ","))Bei mir kommt immer 49,0 statt 49,99 raus
-
Welche Infos wirft dir denn das Window Info Tool zu dem Fenster aus?
-
Du hast sonst überall ein Sleep() drin. Wenn du das vor den ControlClick() machst, geht es dann? Evtl. kannst du auch vorher ein WinActivate() machen, und dann schauen, ob es so geht.
-
Moin Chris,
hier ein anschauliches Beispiel eines solchen Arrays:
[autoit]#include <array.au3>
[/autoit][autoit][/autoit][autoit];~ komplettes Befüllen des Arrays
[/autoit][autoit][/autoit][autoit]
Local $arr[3][2] = [["0-0", "0-1"], ["1-0", "1-1"], ["2-0", "2-1"]];~ Eine Zeile sieht dann so aus:
[/autoit][autoit][/autoit][autoit]
;~ local $arr[3][2] = [["0-0", "0-1"]];~ eine Spalte würde so aussehen:
[/autoit][autoit][/autoit][autoit]
;~ local $arr[3][2] = [["0-0"], ["1-0"], ["2-0"]];~ Array anzeigen
[/autoit]
_ArrayDisplay($arr)Es wird immer in eckigen Klammern von Zeile nach Spalte geschrieben. Schau dir die auskommentierten arrays an, nur vorher dran denken, das vorherige auszukommentieren Dann kannst du dir ein gutes Bild machen, wie das funktioniert
-
[autoit]
$var = IniReadSection(@ScriptDir & "\kunden.ini", "kunden")
[/autoit]
_ArrayDisplay($var)
If @error Then
MsgBox(4096, "", "Fehler, Keine INI Datei vorhanden.")
Else
For $i = 1 To $var[0][0]
MsgBox(4096, "", "Key: " & $var[$i][0] & @CRLF & "Value: " & $var[$i][1])
Next
EndIfwie sieht der Array aus? Ist er überhaupt zweidimensional übergeben worden?
Wenn ja, solltest du in jedem Fall mit
[autoit]UBound($var) - 1
[/autoit]arbeiten. sonst kann er ja nicht zählen.
-
Hallo,
ich habe ein Programm, welches verschiedene Exceldateien vergleicht und die Ergebnisse filtert und in eine neue Tabelle einträgt. Allerdings werden beim Schreiben in diese neue Tabelle nicht alle Daten gespeichert. Daher wollte ich fragen, ob jemand hier einen Fehler finden kann:
Spoiler anzeigen
[autoit]
[/autoit] [autoit][/autoit] [autoit]
$iForExcel = 0Func _Auslesen($sName)
[/autoit] [autoit][/autoit] [autoit]
$aPfad = _FileListToArray($sPfad & "\", '*.xls', 1)
$oNewWb = _Excel_BookNew($oAppl, 1)
For $k = 1 To UBound($aPfad) - 1$iForExcel = $iForExcel + 1
[/autoit] [autoit][/autoit] [autoit]
Global $oCompWb = _Excel_BookOpen($oAppl, $sPfad, False, False)
Global $aInhalt = _Excel_RangeRead($oCompWb, 1, $oWorkbookDomain.ActiveSheet.Usedrange.Columns("B:B"), 2)
_Excel_BookClose($oWorkbookDomain)
_ArraySort($aInhalt, 1)
$aInhalt = _ArrayUnique($aInhalt)
_ArrayDelete($aInhalt, 1)
;Prüfen, ob $sName vorhanden ist
$iName = _ArrayFindAll($aInhalt, $sName, Default, Default, Default, Default, 0)
If $iName < 0 Then
_Excel_RangeWrite($oNewWb, Default, $sName, "C" & $iForExcel) ;Wenn nicht, Name in Zelle C und $iForExcel (wird mit jedem Schleifendurchlauf hochgezählt)...
_Excel_RangeWrite($oNewWb, Default, "Keine Daten", "D" & $iForExcel) ;...und Daten in Zelle D und $iForExcel eintragen (im ersten Durchlauf C1 und D1 z.B.)
Else
$sComp = StringTrimRight($aPfad[$k], 4)
_Excel_RangeWrite($oNewWb, Default, $sName, "A" & $iForExcel) ;Sonst selbiges in A1...
_Excel_RangeWrite($oNewWb, Default, $sComp, "B" & $iForExcel) ;... und B1 machen
EndIf
Next_Excel_BookSaveAs($oNewWb, @ScriptDir & "\netzwerkdaten.xls", Default, True) ;Workbook speichern unter "netzwerkdaten"
[/autoit]
_Excel_BookClose($oNewWb)
EndFuncZur Erklärung:
Wenn $iName kleiner Null ist, sprich nicht im Array vorhanden ist, dann soll er in die Zeile C & D mit dem Namen und dem Hinweis "Keine Daten" schreiben. Wenn es nicht kleiner Null ist, dann soll in die Zelle A & B der Name gefolgt von den Daten stehen.
Natürlich soll für jedes dieser "Paare" eine neue Zeile begonnen werden. Allerdings schreibt er nur die Daten des letzten schleifendurchlaufes rein, immerhin jedoch in die richtigen Zellen...Ich hoffe, ihr versteht mein Problem und könnt mir helfen.
Viele Grüße und Danke vorab,
der RobertEdit: Bäume und Wald... Problem konnte ich selbst lösen! habe in der Schleife ja jedes mal ein neues Workbook erstellt und daher ist das alte jedesmal überschrieben worden...
-
Ich habe die Lösung von AspirinJunkie genommen, ein bisschen angepasst und siehe da: es läuft
Danke euch allen für eure Hilfe!
Hier noch der Code, wie es bei mir funktioniert hat:
Spoiler anzeigen
[autoit]
[/autoit]
Global $iInhalt = UBound($aInhalt)
Global $aInhaltName[$iInhalt]
Global $aInhaltIp[$iInhalt]
For $l = 1 To UBound($aInhaltName) - 1
$aInhaltName[$l] = $aInhalt[$l][1]
$aInhaltIp[$l] = StringTrimLeft($aInhalt[$l][10], 6)
$aInhaltIpSplit = StringSplit($aInhaltIp[$l], ".")
$aInhaltIp[$l] = $aInhaltIpSplit[1] & "." & $aInhaltIpSplit[2] & "." & $aInhaltIpSplit[3] & ".0"
Next
$aInhaltName = _ArrayModalWert($aInhaltName, 1) -
Das habe ich versucht, mit Hilfe der Datei von Bugfix, aber daraus werde ich nicht schlau...
Spoiler anzeigen
[autoit]
[/autoit]
$aIntersec = _GetIntersection($sInhalt, $sInhalt, 0, "|")
_ArrayDisplay($aIntersec )
MsgBox(0, "", $aIntersec [1][1])Damit bringt er zwar jeden wert nur einmal, aber welcher davon am meisten vertreten ist, das ist hieraus nicht ersichtlich.
-
Hallo zusammen,
_ArrayUnique() habe ich versucht, aber leider werde ich daraus nicht wirklich schlau und es funktioniert nicht.. Dann habe ich versucht, die erste col des arrays in einen string umzuwandeln und diesen dann zu durchsuchen, auch hier hab ich keine lösung gefunden, wie das gehen soll..
Spoiler anzeigen
[autoit]#include <File.au3>
[/autoit] [autoit][/autoit] [autoit]
#include <Array.au3>
#include <Excel.au3>Global $oAppl = _Excel_Open(False)
[/autoit] [autoit][/autoit] [autoit]Global $bCount = False
[/autoit] [autoit][/autoit] [autoit]
Global $aNameOld = _FileListToArray(@ScriptDir, '*.xlsx', 1)
_ArraySort($aNameOld, 0, 1)
Global $aNameShort = $aNameOld
Global $sInhalt = ""For $i = 1 To UBound($aNameOld) - 1
[/autoit] [autoit][/autoit] [autoit]
$sInhalt = ""
$aNameShort[$i] = StringTrimRight($aNameShort[$i], 5) ;wird später benötigt in den FF-Funktionen, um nach dem Dateinamen zu suchen
Global $oWorkbook = _Excel_BookOpen($oAppl, @ScriptDir & "\" & $aNameOld[$i], False, False)
Global $aInhalt = _Excel_RangeRead($oWorkbook, 1, "1:10")
_Excel_BookClose($oWorkbook, False)_ArrayDisplay($aInhalt, 2)
[/autoit] [autoit][/autoit] [autoit]
For $k = UBound($aInhalt) - 1 To 0 Step -1
If $k = 0 Then
MsgBox(48, "Fehler", "Fehler!")
ExitLoop
EndIf
If $aInhalt[$k][0] = "" Then
ReDim $aInhalt[$k][UBound($aInhalt, 2)]
Else
ExitLoop
EndIf
Next ;>> Kürzen des Arrays, um leere Zeilen zu entfernenFor $l = 1 To UBound($aInhalt) - 1
[/autoit] [autoit][/autoit] [autoit]
$sInhalt = $sInhalt & $aInhalt[$l][0] & "|"
Next ;>> Array in einen String umwandeln
;~ $aUnique = _ArrayUnique($aInhalt, 0, 0, 0, 1) ;Kläglicher Versuch mit ArrayUnique..
_ArrayDisplay($aInhalt)
MsgBox(0, "", $sInhalt)
$bCount = False
;~ MsgBox(0, "", "Username: " & $aInhalt[1][0])
Next_Excel_Close($oAppl)
[/autoit] -
Hallo zusammen,
ich habe folgendes Szenario gegeben:
Kurz gefasst: Es sollen alle row's geprüft werden und einzig (!) der Name ausgegeben werden, welcher am Häufigsten in diesen row's vorkommt. In diesem Beispiel würde ich also eine Variable mit dem Wert "Name2" erwarten. Das Datum ist irrelevant, es dient nur dafür, zu zeigen, dass es ein zweidimensionales Array ist.
Das Array heißt übrigens $aExport.
Ich danke vorab für alle Antworten und sende LG,
der Robert