Hallo developer30,
hat das einen besonderen Grund dass du https://autoit.de/index.php?page=Portal abrufst und es nicht über http://www.autoit.de/index.php?page=UsersOnline machst?
mfg autoBert
Hallo developer30,
hat das einen besonderen Grund dass du https://autoit.de/index.php?page=Portal abrufst und es nicht über http://www.autoit.de/index.php?page=UsersOnline machst?
mfg autoBert
Hallo Dietmar,
ich glaube da fehlt ein AU3 File für das Hauptprogramm. Ich habe LV_Format.au3, MS-SQL.au3 und 2 INIs,
mfg autoBert
Hallo ophiel,
wie misterspeed schon bemerkte überschreibst du in der 2. GUI ein Teil der ControlIDs der 1. GUI. Üblicherweise sollte man im MSG-Loop Modus auch GuiGetMsg im advanced Modus verwenden sobald man mit mehreren GUIs arbeitet. Hier das darauf angepasste Skript:
#include <GUIConstants.au3>
#include <Array.au3>
#include <file.au3>
$MainGUI = GUICreate("Suchmaschinen Optimierer - Link Verwaltung", 600, 400)
GUISetBkColor(0xd19b07)
GUISetFont(14, 400, 0, "Comic Sans MS")
GUICtrlCreateLabel("Link Verwaltung", 210, 5, 200, 35)
GUICtrlSetFont(-1, 18, 400, 0, "Comic Sans MS")
Global $list = GUICtrlCreateList("", 10, 40, 580, 250)
GUICtrlSetFont(-1, 14, 400, 0, "Arial")
$save = GUICtrlCreatePic(@ScriptDir & "\sdk\bk_button.jpg", 25, 340, 250, 50)
$save2 = GUICtrlCreateLabel("Speichern", 90, 350, 120, 45)
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
GUICtrlSetFont(-1, 20, 400, 0, "MV Boli")
$insert = GUICtrlCreatePic(@ScriptDir & "\sdk\bk_button.jpg", 25, 285, 250, 50)
$insert2 = GUICtrlCreateLabel("Link hinzufügen", 55, 295, 200, 45)
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
GUICtrlSetFont(-1, 20, 400, 0, "MV Boli")
$delete = GUICtrlCreatePic(@ScriptDir & "\sdk\bk_button.jpg", 325, 285, 250, 50)
$delete2 = GUICtrlCreateLabel("Link entfernen", 360, 295, 200, 45)
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
GUICtrlSetFont(-1, 20, 400, 0, "MV Boli")
$cancel = GUICtrlCreatePic(@ScriptDir & "\sdk\bk_button.jpg", 325, 340, 250, 50)
$cancel2 = GUICtrlCreateLabel("Abbrechen", 385, 350, 125, 45)
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
GUICtrlSetFont(-1, 20, 400, 0, "MV Boli")
Global $aRecords[1]
_FileReadToArray(@ScriptDir & "\data\links.txt", $aRecords)
If $aRecords <> "" Then
For $x = 1 To $aRecords[0]
GUICtrlSetData($list, $aRecords[$x])
Next
EndIf
GUISetState(@SW_SHOW)
$LinkGUI = GUICreate("Suchmashienen Optimierer - Link hinzufügen", 400, 200)
GUISetFont(14, 400, 0, "Comic Sans MS")
GUISetBkColor(0xd19b07)
GUICtrlCreateLabel("Bitte geben Sie den neuen Link an.", 50, 20, 300, 35)
GUICtrlCreateLabel("Link:", 15, 60, 50, 20)
$url = GUICtrlCreateInput("", 80, 57, 250, 24)
GUICtrlSetFont(-1, 10, 400, 0, "")
$LNKok = GUICtrlCreatePic(@ScriptDir & "\sdk\bk_button.jpg", 25, 100, 165, 50)
$LNKok2 = GUICtrlCreateLabel("Bestätigen", 40, 110, 135, 45)
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
GUICtrlSetFont(-1, 20, 400, 0, "MV Boli")
$LNKcancel = GUICtrlCreatePic(@ScriptDir & "\sdk\bk_button.jpg", 210, 100, 165, 50)
$LNKcancel2 = GUICtrlCreateLabel("Abbrechen", 230, 110, 135, 45)
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
GUICtrlSetFont(-1, 20, 400, 0, "MV Boli")
GUISetState(@SW_HIDE)
[/autoit] [autoit][/autoit] [autoit]While 1
$msg = GUIGetMsg(1)
Switch $msg[1]
Case $MainGUI
Switch $msg[0]
Case $GUI_EVENT_CLOSE, $cancel, $cancel2
ExitLoop
Case $delete, $delete2
If GUICtrlRead($list) <> "" Then
$realy_delete = MsgBox(260, "Suchmashinen Optimierer - Link Verwaltung", 'Möchten Sie den Link: "' & GUICtrlRead($list) & '" wirklich aus der Liste entfernen?')
If $realy_delete = 6 Then
_ArrayDeleteInhalt($aRecords, GUICtrlRead($list))
EndIf
Else
MsgBox(0, "Suchmashinen Optimierer - Link Verwaltung", "Fehler - Bitte wählen Sie einen Link in der oberigen Liste aus.")
EndIf
GUICtrlSetData($list, "")
If $aRecords <> "" Then
For $y = 1 To UBound($aRecords) - 1
GUICtrlSetData($list, $aRecords[$y])
Next
EndIf
Case $save, $save2
FileDelete(@ScriptDir & "\data\links.txt")
FileWrite(@ScriptDir & "\data\links.txt", "")
If $aRecords <> "" Then
For $y = 1 To UBound($aRecords) - 1
FileWriteLine(@ScriptDir & "\data\links.txt", $aRecords[$y])
Next
EndIf
ExitLoop
Case $insert, $insert2
GUISetState(@SW_HIDE,$MainGUI)
GUISetState(@SW_SHOW,$LinkGUI)
EndSwitch
Case $LinkGUI
Switch $msg[0]
Case $GUI_EVENT_CLOSE, $LNKcancel, $LNKcancel2
GUISetState(@SW_HIDE,$LinkGUI)
GUISetState(@SW_SHOW,$MainGUI)
Case $LNKok, $LNKok2
_ArrayAdd($aRecords, GUICtrlRead($url))
GUICtrlSetData($list, "")
If $aRecords <> "" Then
For $y = 1 To UBound($aRecords) - 1
GUICtrlSetData($list, $aRecords[$y])
Next
EndIf
GUISetState(@SW_HIDE,$LinkGUI)
GUISetState(@SW_SHOW,$MainGUI)
EndSwitch
EndSwitch
WEnd
Func _ArrayDeleteInhalt(ByRef $array, $inhalt)
For $i = UBound($array) - 1 To 0 Step -1
If $array[$i] = $inhalt Then _ArrayDelete($array, $i)
Next
EndFunc ;==>_ArrayDeleteInhalt
Edit: wenn du deine Methode verwendest (also nur die Namen eindeutig machst) solltest du auch die "LINKGUI" DELETEn anstatt zu HIDEn, da sie ja bei jedem Aufruf neuerzeugt wird. Auch die Deklaration von $aRecords solltest du auf $aRecords[1] abändern, da ansonsten das hinzufügen eines Links nicht klappt, wenn die Datei links.txt noch keine Einträge enthält und dadurch $aResult kein Array darstellt,
mfg autoBert
Hallo Daniel35,
ich habe eine Ausgabe in die Scite-Konsole integriert:
[autoit]ConsoleWrite($iHours & ":" & $iMins & ":" &$iSecs & "." & $iHsecs & @CRLF) ;schreibt zur Kontrole in die console
[/autoit]und dann das Skript mit F5 gestartet. In der Konsolenausgabe von Scite standen danach alle hundertsel Sekunden mindetens 1 mal (die meisten öfter). Die Ausgabe in der GUI kannst du damit natürlich nicht kontrollieren, aber ich wollte testen ob AdLib-Funktionen einen kleineren Wert als 10 ms haben können,
mfg autoBert
Hallo MidStarter,
herzlich willkommen im Forum und viel Spass mit AutoIt.
Hier kannst du dir die Hilfe herunterladen.
Hier gibt es ein AutoIt-Tutorial: http://wiki.autoit.de/wiki/index.php/TutorialSehr hilfreich ist auch das Buch von peethebee
mfg autoBert
Ich habe dein neues Programm ausprobiert, und die Anzeige flackert ein wenig. Die Zahlen blieben im 3 hundertstel Bereich.
Das flackern kannst du verringern, indem du die Zeitanzeige in einzelne Segmente aufteilst und nur bei Veränderung eines Segments updatest. Ich bezweifle das dein Capture-Programm auf deinem System wirklich 100 Bilder pro Sec. machen kann, denn in meinem Test mit Adlib habe ich eine Consolenausgabe in dieser wird jede hundertstel mindestens 1 mal angezeigt. Das ganze auf einem NetBook mit Atom-Prozessor, welche ja nicht für ihre Schnelligkeit berühmt sind,
mfg autoBert
Danke für die vielen lieben Glückwünsche.
Schön gefeiert?
Da war die Überraschungsparty gerade mal 6 Minuten alt, ging aber noch länger.
Warst ja längere Zeit nicht mehr im Forum aktiv, aber seit 2 Tagen scheinst du wieder loszulegen
Ja war leider bis zum 12. im Krankenhaus (leider Handy + Mobile-Stickverbot). Knochen sind wieder heil, das WWW hat mich wieder.
mfg autoBert
Die Zahlen springen jetzt alle 3 hundertstel Sekunden.
Kein Mensch kann so schnell schauen, was bist du ![]()
Kann man die Differenz noch weiter veringern?
Jein,
Ja, mit AdlibRegister:
#include <WindowsConstants.au3>
#include <Date.au3>
Dim $Start = False, $Timer = 0, $tmpTimer = 0, $LastTimer = 0
Dim $iHours = 0, $iMins = 0, $iSecs = 0, $iHsecs = 0
Opt("GUIOnEventMode",1) ;Enable Interrupts for GUI
$GUI = GUICreate("Stoppuhr", 325, 126, 214, 139, 0x00080000, 0x00000008) ;Create GUI with Topmost ID
$Stoppuhr = GUICtrlCreateLabel("Stoppuhr", 8, 8, 135, 41)
GUICtrlSetFont(-1, 26, 400, 0, "Arial")
$Zeit = GUICtrlCreateLabel("00:00:00.00", 8, 56, 178, 41)
GUICtrlSetFont(-1, 26, 400, 0, "Arial")
GUICtrlSetColor(-1, 0xFF0000)
$StartStopp = GUICtrlCreateButton("Start", 225, 8, 89, 41, $WS_GROUP)
GUICtrlSetFont(-1, 16, 400, 0, "Arial")
$Reset = GUICtrlCreateButton("Reset", 225, 56, 89, 41, $WS_GROUP)
GUICtrlSetFont(-1, 16, 400, 0, "Arial")
GUICtrlSetOnEvent($StartStopp, "StartStopp") ;Create events for Buttons
GUICtrlSetOnEvent($Reset, "Reset")
GUISetOnEvent(-3, "End") ;Create Event for {ESC} and Close
GUISetState(@SW_SHOW) ;Show GUI
AdlibRegister("_Show",2)
[/autoit] [autoit][/autoit] [autoit]While 1 ;Main Loop
WEnd
Func _Show()
If $Start Then ;Only if start is pressed....
$tmpTimer = (TimerDiff($Timer)) + $LastTimer
Convert() ;Convert ticks to time and splitt it into HH:MM:SS.hh
GUICtrlSetData($Zeit, $iHours & ":" & $iMins & ":" &$iSecs & "." & $iHsecs) ;Update GUI
ConsoleWrite($iHours & ":" & $iMins & ":" &$iSecs & "." & $iHsecs & @CRLF) ;schreibt zur Kontrole in die console
EndIf
EndFunc
Func StartStopp() ;Interrupt for start/stop buttons
If $Start Then ;Stop button pressed
GUICtrlSetData($StartStopp, "Start") ;Change button text
$tmpTimer = (TimerDiff($Timer)) + $LastTimer
$LastTimer = $tmpTimer
$Start = False
Convert() ;Convert ticks to time and splitt it into HH:MM:SS.hh
GUICtrlSetData($Zeit, $iHours & ":" & $iMins & ":" &$iSecs & "." & $iHsecs) ;Update GUI
Else
GUICtrlSetData($StartStopp, "Stopp") ;Start button pressed
$Start = True
$Timer = TimerInit()
EndIf
EndFunc ;==>StartStopp
Func Reset() ;Resets GUI
GUICtrlSetData($Zeit, "00:00:00.00")
$LastTimer = 0
$Timer = TimerInit()
EndFunc ;==>Reset
Func Convert() ;Convert ticks to time and splitt it into HH:MM:SS.hh
_TicksToTime($tmpTimer, $iHours, $iMins, $iSecs)
$iHsecs = Round(($tmpTimer - (($iHours * 3600000) + ($iMins * 60000) + ($iSecs * 1000))) / 10)
If $iHours < 10 Then $iHours = "0" & $iHours
If $iMins < 10 Then $iMins = "0" & $iMins
If $iSecs < 10 Then $iSecs = "0" & $iSecs
If $iHsecs < 10 Then $iHsecs = "0" & $iHsecs
EndFunc ;==>Convert
Func End() ;Exit
Exit
EndFunc ;==>End
mfg autoBert
ersezte &"{enter}" mit & @CrLf. Desweiteren must du darauf achten dass $incmd nicht leer ist, da ansonsten der Stream geschlossen wird.
mfg autoBert
Hallo mipez,
ich verstehe den Sinn deines Vorhabens nicht, was bringt es ein ListBoxItem (GUICtrlCreateList ) nach 60 Zeichen umzubrechen?
Für die maximale Spaltenbreite (wird nicht umgebrochen) kannst du
_GUICtrlListBox_SetColumnWidth
[/autoit]verwenden
mfg autoBert
Hallo Daniel35,
mfg autoBert
Herzlichen Glückwunsch auch von mir,
mfg autoBert
Hallo FBetz,
schön, dann ist dein Problem ja gelöst, schön wäre es allerdings auch wenn du den Thread auf gelöst setzt. Einfach 1. Beitrag bearbeiten, Präfix (nähe Überschrift) ändern und speichern (absenden)
mfg autoBert
hallo Twodollarbillie,
du rufts ffmpeg so auf:
[autoit]RunWait(@ScriptDir & "\ffmpeg -i " & "Test.flv -y " & "Test.mpeg",@ScriptDir,@SW_HIDE)
[/autoit]Da ffmpeg bei Leerzeichen im Filenamen aussteigt must du vorher mit FileMove dafür sorgen dass du einen ffmpeg verträglichen Dateinamen hast und anschliessend wieder mit filemove den gewünschten Dateinamen zuweisen,
mfg autoBert
Hallo mistetspeed,
mit dem Makro @OSVersion kannst du die OS-Version ermitteln,
mfg autoBert
Hallo Ilse,
du kannst das ganze so lösen:
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include "_mover.au3"
Opt("GUIOnEventMode", 1)
#Region ### START Koda GUI section ### Form=
$Bild1 = @ScriptDir & "\1.bmp"
$Bild2 = @ScriptDir & "\2.bmp"
$Bild3 = @ScriptDir & "\3.bmp"
$Form1 = GUICreate("Form1", 625, 445, 192, 124)
$Pic1 = GUICtrlCreatePic($Bild1, 192, 128, 80, 57)
GUISetOnEvent($GUI_EVENT_CLOSE,"_MyExit")
GUICtrlSetOnEvent(-1,"_MyClick")
GUICtrlSetImage(-1, "ok_nact.bmp", -1)
GUICtrlSetFont(-1, 7, 400, 0, "MS Sans Serif")
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
Sleep(100)
_mover($Pic1, $Bild1,$Bild2)
WEnd
Func _MyClick()
GUICtrlSetImage($Pic1, $bild3)
Sleep(1000)
EndFunc
func _MyExit()
Exit
EndFunc
mfg autoBert
Hallo illy,
du solltest in der while...Wend-Schleife noch einen sleep einbauen, sonst hat (d)ein Prozessor(-Kern) eine Auslastung von 100%
mfg autoBert
Hallo scritch,
setze bitte diesen Thread auf gelöst, denn genau zu deinem neuem Problem hast du gleich 2 Threads aufgemacht, 1 davon habe ich aktiviert und auch den Lösungsweg mit einem Beispiel gepostet.
Zwei Threads erstellen und auch noch hier das ist schon sehr unverschämt und sollte mE eine Verwarnung nach sich ziehen,
mfg autoBert
Hallo scritch,
du liest deine Textdatei (CSV?) ganz normal mit _FileReadToArray ein, damit hast du alle Zeilen in einem Array. Falls [eingefügt] die Spaltenanzahl [/eingefügt] nicht [eingefügt] bekannt [/eingefügt] zerlegts du die 1. Zeile mit Stringsplit anhand des Feldtrenners in die einzelnen Felder. Aufgrund der Zeilen- und Feldanzahl kannst du jetzt ein neues 2d-Array erstellen. Mit For ... Next liest du alle Zeilen deines 1D-Arrays, splittest und trägst die Felder in dein 2D-Array. Fertig!
Edit1: Redim ginge natürlich auch
Edit2: hier ein Beispiel
#include <File.au3>
#include <Array.au3>
$a1D = ""
_FileReadToArray(@ScriptDir & "\NeMP3-P_Music.dat", $a1D)
If IsArray($a1D) Then
_ArrayDisplay($a1D,"Ursprung")
$aFields = StringSplit($a1D[1], "|")
If $aFields[0] > 1 Then
Global $a2D[$a1D[0]][$aFields[0]]
For $i = 1 To $a1D[0]
$aFields = StringSplit($a1D[$i], "|")
For $j = 1 To $aFields[0]
$a2D[$i-1][$j-1] = $aFields[$j]
Next
Next
EndIf
EndIf
_ArrayDisplay($a2D,"gesplittet")
meine Datei zum Testen:
Wise Man - Uriah Heep||C:\Programme\AutoIt3\MyProjects\MP3_Batchdownloader\Downloaded\Uriah Heep\Wise Man - Uriah Heep.mp3
Come Back to Me by URIAH HEEP, a must watch-listen powerful piece||C:\Programme\AutoIt3\MyProjects\MP3_Batchdownloader\Downloaded\Uriah Heep\Come Back to Me by URIAH HEEP, a must watch-listen powerful piece.mp3
Lady in Black - Uriah Heep||C:\Programme\AutoIt3\MyProjects\MP3_Batchdownloader\Downloaded\Uriah Heep\Lady in Black - Uriah Heep.mp3
Lovely Days 2010 - Uriah Heep 16.mp4||C:\Programme\AutoIt3\MyProjects\MP3_Batchdownloader\Downloaded\Uriah Heep\Lovely Days 2010 - Uriah Heep 16.mp4.mp3
Manfred Mann & Uriah Heep||C:\Programme\AutoIt3\MyProjects\MP3_Batchdownloader\Downloaded\Uriah Heep\Manfred Mann & Uriah Heep.mp3
Stealin' Uriah Heep Live Stealin Stealing||C:\Programme\AutoIt3\MyProjects\MP3_Batchdownloader\Downloaded\Uriah Heep\Stealin' Uriah Heep Live Stealin Stealing.mp3
Tears in My Eyes - Uriah Heep||C:\Programme\AutoIt3\MyProjects\MP3_Batchdownloader\Downloaded\Uriah Heep\Tears in My Eyes - Uriah Heep.mp3
Uriah Heep - Angel||C:\Programme\AutoIt3\MyProjects\MP3_Batchdownloader\Downloaded\Uriah Heep\Uriah Heep - Angel.mp3
Uriah Heep - Bird of Prey||C:\Programme\AutoIt3\MyProjects\MP3_Batchdownloader\Downloaded\Uriah Heep\Uriah Heep - Bird of Prey.mp3
mfg autoBert