OK, dann muß ich mal auf dem Desktop-PC testen. Mein Laptop bringt nur die kryptische Bezeichnung. ![]()
Beiträge von BugFix
-
-
Dann gib doch mal in das Suchfeld ein: "zwei guis"

Mit Return kannst du eine Funktion verlassen oder mit Return "Wert" einen Wert/Variable zurückgeben.
Auch das gleichzeitige Aufrufen einer Funktion mit z.B. Return MsgBox(0.'', 'Funktion verlassen') ist möglich. -
$DevicePath[0] = "\Device\HarddiskVolume3\Programme"
Also das verwundert mich nun doch sehr. Eigentlich dürfte hier nicht im Klartext das Volume erscheinen (sonst hätte ich auch die Auswertung vereinfachen können).
Meine Ausgabe sieht so aus:
\Device\Harddisk0\DP(1)0x7e00-0x950280000+1Also scheint die Abfrage von irgendwelchen Windowseinstellungen beeinflußt zu werden.

-
Trotzdem suche ich noch danach, warum das bei mir zu keinem Fehler führt.
Sonst sucht man ja eigentlich, warum ein Fehler auftritt, diesmal umgekehrt
-
Zu dem Thema haben wir wirklich mindestens 50 Beiträge. Bitte benutze mal die Suche.
Nur kurz: Man sollte am Skriptbeginn alle GUI erstellen und bei Bedarf mit GUISetState die entsprechende einblenden.Nichts aber er hat mich in der Shoutbox vorhing dazu gefragt und ich musste jetzt weg
@simon:
Ich möchte nicht mit Kanonen auf Spatzen schießen, deshalb noch keine Warnung, nur ein letztmaliger Hinweis:
OffTopic-Posts gehören auch in das entsprechende Unterforum, von wenigen Ausnahmen abgesehen. Dass du weg mußt kannst du auch per PN oder in der SB mitteilen.
Ich mache dich deshalb darauf aufmerksam, weil Pee dich heute bereits wegen deiner sinnfreien Kurzposts und ich dich wegen Nichtbenutzung des Editmodes angemahnt haben.
Also, respektiere unsere Forenregeln. -
Was hat es mit den Jahren 1583 und 8201 auf sich?
Das sind die Jahresgrenzen für die eine Ermittlung von Schaltjahren gesichert ist.
Seit 1583 gilt der Gregorianische Kalender mit der aktuellen Schalttagesregelung.
Es verbleibt jedoch immer noch eine Differenz, die sich bis zum Jahr 8201 summieren wird. Es ist heute noch nicht geregelt, wie dann damit umgegangen werden soll (z.B. einmalig 2 Schalttage?).
Laß uns dann noch mal drüber reden
-
Hab mal auf die aktuelle Version angepaßt und auch etwas "aufgefrischt", s. Post 1.

-
Hier war der Fehler:
[autoit]Case $erntenbutton
[/autoit]
$read = GUICTrlRead($angepflanztes)
If $read = "" Then ; Du hattest statt Leerstring auf ein Leerzeichen geprüft!!
GUICtrlSetBKColor($feld,0x8C4600)
Else
MsgBox(0,"Ernten","Du willst also folgendes ernten:" & @CRLF & $read)
$List1CurSel = _GUICtrlListBox_GetCurSel ($angepflanztes)
_GUICtrlListBox_DeleteString ($angepflanztes, $List1CurSel)
$geld += 120
GUICTrlSetDAta($geldanzeige,$geld)
EndIf
[autoit]
Und vereinfache mal die Befüllung der Listen:$listview = GUICtrlCreateList("",530,40,200,200)
[/autoit][autoit][/autoit][autoit]
GUICTRlSetDAta(-1,"Weizen|Gerste|Rüben|Salat|Mais|Klee|Gras")$kaufliste = GUICTrlCreateList("",770,40,200,200)
[/autoit]
GUICTrlSetData(-1,"Traktor 1|Traktor 2|Pflug|Sämaschiene|Mähdräscher|Eigenes Haus|Kartoffelernter|Mähwerk|Rübenvollernter|Halle 1|Halle 2")
-
Hier ist der Fehler:
$Split1 = StringSplit($Source, @CRLF) ==> du hattest @LFUnd du solltest in deine Schleife noch einfügen:
[autoit]If $Split1[$FNLoop] = '' Then ContinueLoop
[/autoit] -
Probier mal so:
[autoit]$click = StringRegExp($var,"^(\d{1,4})\,(\d{1,4})$",1)
[/autoit]
If @extended Then MouseClick("left",$click[0],$click[1],1) -
Aber warum machst du es dir so schwer?
[autoit]
Ist folgendes nicht viel einfacher?; PlugIn erstellen:
[/autoit][autoit][/autoit][autoit]
$plugin1 = @ScriptDir & '\plugin1.au3'
FileWrite($plugin1, _
"For $FNLoop = 1 To 5" & @CRLF _
& @TAB & "MsgBox(0,'Test','Loop ' & $FNLoop)" & @CRLF & _
"Next"); PlugIn ausführen
[/autoit][autoit][/autoit][autoit]
RunPlugIn($plugin1)Func RunPlugIn($PluginPath)
[/autoit]
Run(@AutoItExe & ' /AutoIt3ExecuteScript "' & $PluginPath & '"')
EndFunc -
Also nochmal:
- Execute erlaubt nur einen Befehl / Befehlszeile
- jede Schleife besteht aber aus: Befehl Schleifenanfang + Befehl(e) in der Schleife + Befehl SchleifenendeVersuch doch mal: For $i=0 To 20 auszuführen
==> geht nicht!
Und darum macht Execute das auch nicht. -
Ich meinte nicht Codezeile, sondern Programmzeilen.
[autoit]
So kannst du einen Ein-Zeilen-Code mit Schleife ausführen:If FileWrite(@TempDir & "\temp.script.au3", _
[/autoit]
'For $FNLoop = 5 To 10' & @CRLF & _
'MsgBox(0,"Test","Loop " & $FNLoop)' & @CRLF & _
'Next') _
And Run(@AutoItExe & ' /AutoIt3ExecuteScript "' & @TempDir & '\temp.script.au3"') _
And Sleep(1000) _
And FileDelete(@TempDir & "\temp.script.au3") Then Exit -
Execute kann nur eine Codezeile ausführen.
-
wird nur "Files\Mozilla Firefox\firefox.exe" zurückgeliefert...
Kann ich nicht bestätigen.
Habe mal diesen Ordner angelegt (im deutschen Windows gibt es den normalerweise ja nicht
) und ein dort hinkopiertes Programm gestartet.
Ergebnis: -
Die Schlacht um die Primzahldefinition
Zitat von eukalyptusEine Primzahl ist nur durch 1 und sich selbst teilbar - und das trifft auf 1 völlig zu

Das macht bei mir aber zwei Faktoren

Hierbei sollte man auf keinen Fall den Ergebnissen von Google oder Wikipedia allein trauen.
Hier das Ergebnis der Suchmaschine von princeton.edu:
http://wordnetweb.princeton.edu/perl/webwn?s=prime%20numberDazu passend auch diese, wie ich finde gute Erklärung: Warum 1 keine Primzahl ist

-
(wenn die Daten schon in der DB drinn sind dauert die Auswertung nur noch 12.4ms)
[autoit]
Ja, dann ist es wirklich sauschnell. Das Einfügen der Daten ist der Pferdefuß.
_FileReadToArray ist hier die Bremse. Ich hab jetzt mal die Funktion direkt mit der Erstellung des SQL-Insertstring verknüpft. Bringt bei mir einen schönen Zeitgewinn. Könnte evtl. an die Werte der Objekt-Version heranreichen.Func _sql_count_ip()
[/autoit][autoit][/autoit][autoit]
Local $fh = FileOpen(@ScriptDir & '\test_ip.txt', 0)
Local $insertStr = '', $hSQL
Local $aFile = StringStripWS(FileRead($fh, 2)
If StringInStr($aFile, @LF) Then
$aFile = StringSplit(StringStripCR($aFile), @LF, 2)
ElseIf StringInStr($aFile, @CR) Then
$aFile = StringSplit($aFile, @CR, 2)
EndIf
For $i = 0 To UBound($aFile) -1
$insertStr &= "INSERT INTO tblTEST VALUES ('" & $aFile[$i] & "');"
Next
FileClose($fh)
_SQLite_Startup ()
$hSQL = _SQLite_Open ()
_SQLite_Exec ( $hSQL, "CREATE TABLE tblTEST ('ip');" & $insertStr )Local $hQuery, $aRow, $result = ''
[/autoit][autoit][/autoit][autoit]
_SQlite_Query ( $hSQL, "SELECT ip,COUNT(ip) FROM tblTEST GROUP BY ip ORDER BY COUNT(ip) DESC;", $hQuery )While _SQLite_FetchData ($hQuery, $aRow) = $SQLITE_OK
[/autoit]
;~ $result &= $aRow[0] & @TAB & $aRow[1] & @CRLF
ConsoleWrite($aRow[0] & @TAB & $aRow[1] & @CRLF)
WEnd
$fh = FileOpen(@ScriptDir & '\test_ip_out.txt', 2)
FileWrite($fh, $result)
FileClose($fh)
_SQLite_Exec ( $hSQL, "DROP TABLE tblTEST;" )
_SQLite_Close ()
_SQLite_Shutdown ()
EndFunc -
So?
[autoit]#include <GuiConstantsEx.au3>
[/autoit][autoit][/autoit][autoit]
#include <GDIPlus.au3>Opt('MustDeclareVars', 1)
[/autoit][autoit][/autoit][autoit]_Main()
[/autoit][autoit][/autoit][autoit]
ExitFunc _Main()
[/autoit][autoit][/autoit][autoit]
Local $hGUI, $hWnd, $hGraphic, $x = -2; Create GUI
[/autoit][autoit][/autoit][autoit]
$hGUI = GUICreate("GDI+", 400, 300)
$hWnd = WinGetHandle("GDI+")
GUISetState(); Draw an ellipse
[/autoit][autoit][/autoit][autoit]
_GDIPlus_Startup ()
$hGraphic = _GDIPlus_GraphicsCreateFromHWND ($hWnd)
For $i = 1 To 25
$x += 13
_GDIPlus_GraphicsFillEllipse ($hGraphic, $x, 50, 13, 13)
Sleep(300)
Next; Loop until user exits
[/autoit][autoit][/autoit][autoit]
Do
Until GUIGetMsg() = $GUI_EVENT_CLOSE; Clean up resources
[/autoit][autoit][/autoit][autoit]
_GDIPlus_GraphicsDispose ($hGraphic)
_GDIPlus_Shutdown ()EndFunc ;==>_Main
[/autoit] -
Guckst du in die Hilfe:
[autoit]#include <GuiConstantsEx.au3>
[/autoit][autoit][/autoit][autoit]
#include <GDIPlus.au3>Opt('MustDeclareVars', 1)
[/autoit][autoit][/autoit][autoit]_Main()
[/autoit][autoit][/autoit][autoit]
ExitFunc _Main()
[/autoit][autoit][/autoit][autoit]
Local $hGUI, $hWnd, $hGraphic, $hBrush; Create GUI
[/autoit][autoit][/autoit][autoit]
$hGUI = GUICreate("GDI+", 400, 300)
$hWnd = WinGetHandle("GDI+")
GUISetState(); Draw an ellipse
[/autoit][autoit][/autoit][autoit]
_GDIPlus_Startup ()
$hGraphic = _GDIPlus_GraphicsCreateFromHWND ($hWnd)
_GDIPlus_GraphicsFillEllipse ($hGraphic, 50, 50, 13, 13); Loop until user exits
[/autoit][autoit][/autoit][autoit]
Do
Until GUIGetMsg() = $GUI_EVENT_CLOSE; Clean up resources
[/autoit][autoit][/autoit][autoit]
_GDIPlus_GraphicsDispose ($hGraphic)
_GDIPlus_Shutdown ()EndFunc ;==>_Main
[/autoit] -
Einfach einen Kreis mit 'nem kleinen Durchmesser zeichnen und ausfüllen.