Beiträge von Alina
-
-
-
Habe es mal mit 2000 MP3 von den R.SH CD's getestet und ich bin ja mal gar nicht gut. Also mehr 150 Songs wurden es bei fünf Versuchen nicht. Aber so lernt man Titel und Sänger/Gruppe zu den Songs. Super Game !!!
-
Habe folgendes Problem bei folgendem Script:
Script:
Spoiler anzeigen
[autoit]
[/autoit] [autoit][/autoit] [autoit]
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_icon=D:\AutoIT\icon.ico
#AutoIt3Wrapper_UseUpx=n
#AutoIt3Wrapper_UseAnsi=y
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****; Dank an das AutoIt Forum hier Andy und alle die geholfen haben!!!
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
#include <GuiListView.au3>
#include <ListBoxConstants.au3>
#include <ListViewConstants.au3>
#include <WindowsConstants.au3>
#include <File.au3>
#include <GUIConstantsEx.au3>Opt("GUIOnEventMode", 1)
[/autoit] [autoit][/autoit] [autoit]Global $aIn[1]
[/autoit] [autoit][/autoit] [autoit]Local $iExWindowStyle = BitOR($WS_EX_DLGMODALFRAME, $WS_EX_CLIENTEDGE, $LBS_EXTENDEDSEL)
[/autoit] [autoit][/autoit] [autoit]
Local $iExListViewStyle = BitOR($LVS_EX_FULLROWSELECT, $LVS_EX_GRIDLINES, $LVS_EX_CHECKBOXES, $LVS_EX_DOUBLEBUFFER, $LVS_EX_TRACKSELECT)_FileReadToArray("_inhalt2.txt", $aIn) ; hier angepsst
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
For $i = 1 To $aIn[0]
$aIn[$i] = StringReplace(StringStripWS($aIn[$i], 7), "|", "|", 5) ; hier angepsst
Next
_FileWriteFromArray("inhalt2_out.txt", $aIn, 2) ; hier angepsstGUICreate("listview items", 1250, 530, 10, 10, -1) ; hier angepsst
[/autoit] [autoit][/autoit] [autoit]$listview = GUICtrlCreateListView($aIn[1], 10, 10, 1230, 510, $iExWindowStyle, $iExListViewStyle) ; hier angepsst
[/autoit] [autoit][/autoit] [autoit]
_GUICtrlListView_SetExtendedListViewStyle($listview, $iExListViewStyle)$context = GUICtrlCreateContextMenu($listview) ;contextmenu, rechtsklick zum kopieren
[/autoit] [autoit][/autoit] [autoit]
$item1 = GUICtrlCreateMenuItem("Kopieren nach...", $context)
;$item2 = GUICtrlCreateMenuItem("Markierte Titel aus der Liste löschen", $context)
GUISetOnEvent($GUI_EVENT_CLOSE, "_GUIClose")
; GUICtrlSetOnEvent($item2, "_Delete")
GUICtrlSetOnEvent($item1, "_kopieren")
GUICtrlSetOnEvent($listview, "List1Click")
_GUICtrlListView_RegisterSortCallBack($listview, True, True) ;sortierfunktion einschaltenFor $i = 2 To $aIn[0] ; bei Index 2 starten, dann ist die erste Zeile weg
[/autoit] [autoit][/autoit] [autoit]
$item1 = GUICtrlCreateListViewItem($aIn[$i], $listview)
Next
GUISetState()While 1
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
Sleep(50)
WEndFunc _kopieren()
[/autoit] [autoit][/autoit] [autoit]
DirCreate(@ScriptDir & "\auswahlliste")MsgBox(0,"Kopiervorgang startet", "Kopiervorgang startet. Bitte haben Sie ein wenig Geduld.")
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
For $iIndex = 0 To _GUICtrlListView_GetItemCount($listview) ;nacheinander die listenitems aufrufen
If _GUICtrlListView_GetItemChecked($listview, $iIndex) Or _GUICtrlListView_GetItemSelected($listview, $iIndex) Then ;wenn angehakt,dann kopieren
$titel = _GUICtrlListView_GetItem($listview, $iIndex, 1) ;schau mal in die Hilfe....
$pfad = _GUICtrlListView_GetItem($listview, $iIndex, ;schau mal in die Hilfe....
;_arraydisplay($titel)
FileCopy($pfad[3], @ScriptDir & "\auswahlliste\" & $titel[3] & ".mp3")
;MsgBox(0, "Kopieren: " & $titel[3], $pfad[3])
EndIf
Next
MsgBox(0,"Kopiervorgang erfolgreich", "Kopiervorgang erfolgreich.")
EndFunc ;==>_kopierenFunc List1Click()
[/autoit] [autoit][/autoit] [autoit]
_GUICtrlListView_SortItems(GUICtrlGetHandle($listview), GUICtrlGetState($listview))
EndFunc ;==>List1ClickFunc _bearbeiten()
[/autoit] [autoit][/autoit] [autoit]
_GUICtrlListView_BeginUpdate($listview)
_GUICtrlListView_EndUpdate($listview)
EndFunc ;==>_bearbeiten;deaktiviert
[/autoit] [autoit][/autoit] [autoit]
#cs
Func _delete() ;zeilen in der liste löschen
If MsgBox(262144 + 32 + 4, "", "Markierte bzw. angehakte Zeilen aus der Liste löschen? ") = 6 Then
_GUICtrlListView_DeleteItemsSelected(GUICtrlGetHandle($listview))
EndIf
EndFunc ;==>_delete
#ceFunc _GUIClose()
[/autoit]
_GUICtrlListView_UnRegisterSortCallBack($listview)
Exit
EndFunc ;==>_GUICloseBild:
autoit.de/wcf/attachment/5831/Problem bzw. Frage zur Hilfestellung:
Im Bild als 1: Frage ich mich, wie ich alle grüne Markierungen auf einmal weg bekomme. Am liebsten re. Maustaste und "Markierungen löschen".
Im Bild als 2: Wie bekomme ich die beiden ersten Spalten auf eine höhere Breitelänge?
Ui, hoffe ihr versteht mein Problem.
Vielen Dank schon jetzt an dieser Stelle für die Hilfe.
-
@zer0
Lese die Hilfe und wenn Fragen sind, wir sind ein Forum und hier helfen wir gerne. Also freundlich fragen und zeigen das Du selber lernen möchtest.
TimerInit ist in der Hilfe gut erklärt.
-
@ Michi17
Also in der Hilfe ist doch eine Anfrage die Du nur verstehen und umstellen mußt.
Bei Verständnisproblemen helfen wir gerne, aber nicht wenn man sich nicht
mit AutoIt auseinander setzen möchte. -
Also ich weiß nicht was da nicht funktionieren sollte. Habe es gerade nochmals auf dem Laptop ausprobiert und auch da ohne Probleme.
Nimm mal die Anlage, entpacke sie und dann starte diese.
Anlage: autoit.de/wcf/attachment/5827/Edit: welchen Fehler? Wir möchten alle lernen
-
Xenobiologist : GENIALES SCRIPT !!!
Ich weiß nicht ob Dir das weiter hilft, denn ich habe nur eine Netzwerkanbindung an meine Linkstation.
Schau es einfach mal durch.
Spoiler anzeigen
[autoit]
[/autoit] [autoit][/autoit] [autoit]
#include <GuiConstantsEx.au3>
#include <NetShare.au3>
#include <WindowsConstants.au3>Opt('MustDeclareVars', 1)
[/autoit] [autoit][/autoit] [autoit]Global $iMemo
[/autoit] [autoit][/autoit] [autoit]_Main()
[/autoit] [autoit][/autoit] [autoit]Func _Main()
[/autoit] [autoit][/autoit] [autoit]
Local $hGUI, $sServer, $sShare, $aInfo; Erstellt eine GUI
[/autoit] [autoit][/autoit] [autoit]
$hGUI = GUICreate("_Net_Share", 400, 300); Erstellt ein Memo Steuerelement
[/autoit] [autoit][/autoit] [autoit]
$iMemo = GUICtrlCreateEdit("", 2, 2, 396, 296, $WS_VSCROLL)
GUICtrlSetFont($iMemo, 9, 400, 0, "Courier New")
GUISetState(); Frage nach Server- und Freigabename
[/autoit] [autoit][/autoit] [autoit]
$sServer = InputBox("Netzwerk Demo", "Gib den Servernamen ein:", "\\Linkstation", "", 200, 130) ;
;. für den lokalen Computer
If @error Then Exit
$sShare = InputBox("Netzwerk Demo", "Gib den Freigabenamen ein:", "download", "", 200, 130)
If @error Then Exit; Auflistung der Netzwerkverbindungen
[/autoit] [autoit][/autoit] [autoit]
$aInfo = _Net_Share_ConnectionEnum($sServer, $sShare)
MemoWrite("Fehler...................: " & @error)
MemoWrite("Einträge gelesen.........: " & $aInfo[0][0])
For $iI = 1 To $aInfo[0][0]
MemoWrite("Verbindungs-ID ..........: " & $aInfo[$iI][0])
MemoWrite("Verbindungstyp ..........: " & _Net_Share_ResourceStr($aInfo[$iI][1]))
MemoWrite("Geöffnete Dateien .......: " & $aInfo[$iI][2])
MemoWrite("Benutzerzahl ............: " & $aInfo[$iI][3])
MemoWrite("Verbindungszeit .........: " & $aInfo[$iI][4])
MemoWrite("Benutzername ............: " & $aInfo[$iI][5])
MemoWrite("Netzwerkname ............: " & $aInfo[$iI][6])
MemoWrite()
Next; Die Schleife wiederholt sich, bis der Benutzer die Beenden-Aktion der GUI auslöst
[/autoit] [autoit][/autoit] [autoit]
Do
Until GUIGetMsg() = $GUI_EVENT_CLOSE
EndFunc ;==>_Main; Schreibt eine Nachricht in das Memo
[/autoit] [autoit][/autoit] [autoit][/autoit]
Func MemoWrite($sMessage = "")
GUICtrlSetData($iMemo, $sMessage & @CRLF, 1)
EndFunc ;==>MemoWrite -
@Simmen
Also als erstes einmal würde ich Dir raten nicht gleich mit so großen Sachen anzufangen.
Du solltest dich mehr mit der Hilfe befassen, denn das habe ich selber auch die Lsg. für viele Sachen bereits her.
Als Anfänger gleich mit Array's zu scripten ist sichrlich nicht der gute Weg, aber das solltest Du selber entscheiden.Array lassen sich wie folgt anzeigen, wobei ich die Anzeige in einer MsgBox geschrieben habe.
Info: Script von BugFix und von mir nur angepaßt
Spoiler anzeigen
[autoit]
[/autoit] [autoit][/autoit] [autoit]
#include <File.au3>Local $aFile, $split, $file = @ScriptDir & '\test.txt' ; der Dateipfad
[/autoit] [autoit][/autoit] [autoit]
; lies gleich in ein Array, dann brauchst du nicht rumstückeln!
_FileReadToArray($file, $aFile)For $i = 1 To UBound($aFile) -1
[/autoit]
$split = StringSplit($aFile[$i], '.')
For $j = 1 To UBound($split) -1
; ConsoleWrite('IP: ' & $i & ' Segment: ' & $split[$j] & @CRLF)
Next
MsgBox(0,"Test", $aFile[$i] & " " & @CRLF & @CRLF & " Seg. 1: "&$split[1] & " " & @CRLF & " Seg. 2: "&$split[2] & " " & @CRLF & " Seg. 3: "&$split[3] & " " & @CRLF & " Seg. 4: "&$split[4])
;ConsoleWrite(@CRLF)
NextDas Ergebnis ist dann folgendes:
autoit.de/wcf/attachment/5826/Wie Du nun mit den Seg. weiter arbeitest, das sollte klar sein.
-
Kannst Du es via ConsoleWrite in eine Textdatei schrieben?
Wenn ja, dann schreibe es in eine Textdatei und lese es mit AutoIt wieder aus. -
Also ich finde es so okay wie es ist.
Wenn eine Datei nicht da gewünscht Format hat dann gibt es den schönen ZIP-Packer und wenn die Datei zu groß ist, dann gibt es "Dateiteiler.exe & Dateizusammenfüger.exe". Also sehe ich keinen Grund das ganze zu verändern.
-
Hier mal ein Bsp.:
Spoiler anzeigen
[autoit]#cs Inhalt der Textdatei "test.txt"
[/autoit] [autoit][/autoit] [autoit]
192.168.88.11
162.122.322.22
199.123.65.44
#ce#include <GuiIPAddress.au3>
[/autoit] [autoit][/autoit] [autoit]
Local $index = 0, $aFile
$file = @ScriptDir & '\test.txt' ; der Dateipfad
_FileReadToArray($file, $aFile)$gui = GUICreate('test')
[/autoit] [autoit][/autoit] [autoit]
$hIPAddress = _GUICtrlIpAddress_Create ($gui, 20, 20)
$bt = GUICtrlCreateButton('next IP', 180, 20, 60, 20)
GUISetState()While 1
[/autoit]
$msg = GUIGetMsg()
Switch $msg
Case -3
Exit
Case $bt
$index += 1
If $index <= $aFile[0] Then
_GUICtrlIpAddress_Set($hIPAddress, $aFile[$index])
EndIf
EndSwitch
WEndHallo BugFix.
Habe es mal so gemacht, falls es jemand mal benötigt, das man dann in beide Richtungen hin und her schalten kann ( next & bevor). Hoffe mal das es so okay ist und Du nichts dagegen hast.
Spoiler anzeigen
[autoit]#include<GuiIPAddress.au3>
[/autoit] [autoit][/autoit] [autoit]
#include<File.au3>
Local $index = 0, $aFile
$file = @ScriptDir & '\test.txt' ; der Dateipfad
_FileReadToArray($file, $aFile)$gui = GUICreate('test')
[/autoit] [autoit][/autoit] [autoit]
$hIPAddress = _GUICtrlIpAddress_Create ($gui, 20, 20)
$bt = GUICtrlCreateButton('next IP', 180, 20, 60, 20)
$bt_retour = GUICtrlCreateButton('bevor IP', 250, 20, 60, 20)
GUISetState()While 1
[/autoit]
$msg = GUIGetMsg()
Switch $msg
Case -3
Exit
Case $bt
$index += 1
If $index <= $aFile[0] Then
_GUICtrlIpAddress_Set($hIPAddress, $aFile[$index])
EndIf
Case $bt_retour
If $index >0 Then
$index -= 1
If $index <=$aFile[0] Then
_GUICtrlIpAddress_Set($hIPAddress, $aFile[$index])
EndIf
EndIf
EndSwitch
WEnd -
edit: eukalyptus war schneller
-
Hier mal drei einfach Lösungen.
Du kannst ja mal schauen was Du davon brauchst.
No. 1:Spoiler anzeigen
[autoit]
[/autoit] [autoit][/autoit] [autoit]
#include <Date.au3>$sekunden = 3760
[/autoit] [autoit][/autoit] [autoit]
$Stunden = Int($sekunden / 3600)
$Minuten = Int(($sekunden - ($Stunden * 3600))/60)
$Sekunden = Int((($sekunden - ($Stunden * 3600)) - ($Minuten * 60)));MsgBox(0,"", $Stunden & " : " & $Minuten & " : " & $Sekunden)
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
$cd = $Stunden & ":" & $Minuten & ":" & $SekundenIf _countDown($cd) Then MsgBox(0, "Countdown", "ENDE") ; SS:MM:SS
[/autoit] [autoit][/autoit] [autoit]Func _countDown($countdown)
[/autoit] [autoit][/autoit] [autoit]
$begin = TimerInit()Local $string = ""
[/autoit]
While 1
$start = Round(TimerDiff($begin) / 1000)
$countUp = StringFormat("%.02d" & ":" & "%.02d" & ":" & "%.02d", _
Mod($start / 3600, 24), Mod(($start / 60), 60), Mod($start, 60))
$sec = _DateDiff('s', "2006/01/01 " & $countUp, "2006/01/01 " & $countdown)
If $sec = 0 Then Return 1
$string = StringFormat("%.02d" & " : " & "%.02d" & " : " & "%.02d", _
Mod($sec / 3600, 24), Mod(($sec / 60), 60), Mod($sec, 60))
ToolTip($string)
sleep(100)
WEnd
EndFunc ;==>_countDown
No. 2:Spoiler anzeigen
[autoit]
[/autoit] [autoit][/autoit] [autoit]
#include <Date.au3>$sekunden = 3760
[/autoit] [autoit][/autoit] [autoit]
$Stunden = Int($sekunden / 3600)
$Minuten = Int(($sekunden - ($Stunden * 3600))/60)
$Sekunden = Int((($sekunden - ($Stunden * 3600)) - ($Minuten * 60)));MsgBox(0,"", $Stunden & " : " & $Minuten & " : " & $Sekunden)
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
$cd = $Stunden & ":" & $Minuten & ":" & $SekundenIf _countDown($cd) Then MsgBox(0, "Countdown", "ENDE") ; SS:MM:SS
[/autoit] [autoit][/autoit] [autoit]Func _countDown($countdown)
[/autoit] [autoit][/autoit] [autoit]
$begin = TimerInit()Local $string = ""
[/autoit]
While 1
$start = Round(TimerDiff($begin) / 1000)
$countUp = StringFormat("%.02d" & ":" & "%.02d" & ":" & "%.02d", _
Mod($start / 3600, 24), Mod(($start / 60), 60), Mod($start, 60))
$sec = _DateDiff('s', "2006/01/01 " & $countUp, "2006/01/01 " & $countdown)
If $sec = 0 Then Return 1
$string = StringFormat("%.02d" & ":" & "%.02d" & ":" & "%.02d", _
Mod($sec / 3600, 24), Mod(($sec / 60), 60), Mod($sec, 60))
MsgBox(0,"Timer", $string,1)
;ToolTip($string)
WEnd
EndFunc ;==>_countDown
No. 3:Spoiler anzeigen
[autoit]
[/autoit] [autoit][/autoit] [autoit]
#include <Date.au3>$sekunden = 3760
[/autoit] [autoit][/autoit] [autoit]
$Stunden = Int($sekunden / 3600)
$Minuten = Int(($sekunden - ($Stunden * 3600))/60)
$Sekunden = Int((($sekunden - ($Stunden * 3600)) - ($Minuten * 60)));MsgBox(0,"", $Stunden & " : " & $Minuten & " : " & $Sekunden)
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
$cd = $Stunden & ":" & $Minuten & ":" & $SekundenIf _countDown($cd) Then MsgBox(0, "Countdown", "ENDE") ; SS:MM:SS
[/autoit] [autoit][/autoit] [autoit]Func _countDown($countdown)
[/autoit] [autoit][/autoit] [autoit]
$begin = TimerInit()Local $string = ""
[/autoit]
While 1
$start = Round(TimerDiff($begin) / 1000)
$countUp = StringFormat("%.02d" & ":" & "%.02d" & ":" & "%.02d", _
Mod($start / 3600, 24), Mod(($start / 60), 60), Mod($start, 60))
$sec = _DateDiff('s', "2006/01/01 " & $countUp, "2006/01/01 " & $countdown)
If $sec = 0 Then Return 1
$string = StringFormat("Stunden: "& "%.02d" & " Minuten: " & "%.02d" & " Sekunden: " & "%.02d", _
Mod($sec / 3600, 24), Mod(($sec / 60), 60), Mod($sec, 60))
MsgBox(0,"Timer", $string,1)
;ToolTip($string)
WEnd
EndFunc ;==>_countDownAlle sind ein wenig anders als der davor. Einfach testen.
-
Sony, ich habe es nur gewußt wo das Script zu finden ist. Geschrieben hat es der McPoldy.
-
Ich glaube das vom Lernvideo meinst Du.
Das schaut so aus, wenn man es denn abgetippt hat, was ich selber nicht gemacht habe, sondern ich habe es so bekommen.
Spoiler anzeigen
[autoit]
[/autoit] [autoit][/autoit] [autoit]
;~Option setzen
Opt("WinTitleMatchMode", 2)
Opt("SendKeyDelay", 100);~Installationspfad
[/autoit] [autoit][/autoit] [autoit]
;$setup = @ScriptDir & "\daemon4120-lite.exe";~BlockInput(1)
[/autoit] [autoit][/autoit] [autoit]
$neustart = @ScriptDir & "\neustart.txt"If FileExists($neustart) Then
[/autoit] [autoit][/autoit] [autoit]
$fso = FileOpen($neustart,0)
$value = FileReadLine($fso)
FileClose($fso)
FileDelete($neustart)
FileDelete(@ScriptDir & "\autoitscriptneustart.lnk")
Switch $value
case "Nachneustart1"
Nachneustart1()
case Else
EXIT 5
EndSwitch
Else
Main()
EndIf
Exit; Die normale Installation
[/autoit] [autoit][/autoit] [autoit]
Func Main()
CreateRestart("Nachneustart1")
;Run($setup)
;WinWaitActive("DAEMON Tools Lite 4.12.0")
;Send("!n)
;WinWaitActive("DAEMON Tools Lite 4.12.0","License Agreement")
;Send("!a")
; ...
; ...
; ...
MsgBox(0,"Moin","Warte bitte bis die MsgBox mit dem MELDUNG 1 Fenster auf geht. Bestätige es. Danach gibt es die neustart.txt . Danach drücke nochmals die F5 und warte Bis das ENDE Fenster erscheint.")
$result = WinWaitActive("Moin","Warte bitte bis die MsgBox mit dem MELDUNG 1 Fenster auf geht. Bestätige es. Danach gibt es die neustart.txt . Danach drücke nochmals die F5 und warte Bis das ENDE Fenster erscheint.",10)
if $result = 1 Then
CreateRestart("Nachneustart1")
Send("{ENTER}")
Exit 0
Else
OhneNeustart()
EndIf
EndFunc
Func Nachneustart1()
; hier rein was NACH dem Neustart passieren soll
MsgBox(0,"ENDE","ENDE!!! Die neustart.txt ist verschwunden, wenn Du dieses Fenster siehst.")
EndFuncFunc OhneNeustart()
[/autoit] [autoit][/autoit] [autoit]
; hier rein was VOR dem Neustart passieren soll
MsgBox(0,"MELDUNG 1","MELDUNG 1")
EndFuncFunc CreateRestart($Funktionsname)
[/autoit]
$fso = FileOpen($neustart,2)
FileWriteLine($fso,$Funktionsname)
FileClose($fso)
FileCreateShortcut(@ScriptFullPath,@StartupDir & "\autoitscriptneustart.lnk",@ScriptDir)
EndFuncScript von McPoldy (Hilfe Videos), dem ich hiermit nochmals meinen DANK übersende.
-
Happy Glühwurm und Alles Gute.
Jetzt darf er auch ohne Mama oder Papa Auto fahren. (Spass)
Nun, feier gut und besonders achte darauf, das Du nun auch laut Gesetzt erwachsen bist.
-
gib als pfad einfach @StartupDir ein.
oder wenn du es da nicht haben willst:
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run -- wenn es bei allen benutzern ausgeführt werden soll
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run -- nur bei diesem benutzer
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce -- nur einmalig gestartet werden soll (bei allen benutzern)
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run -- auch einmalig nur bei diesem benutzer -
Kill doch den Prozess !!!
-
Hallo zusammen.
Mal eine Frage so allgemen.
Lustig sind Biträge wie " Alarmanlage mit AutoIt entwickelt über den Druckerport.