Vielleicht möchtest Du mein Programm verwenden?
Beiträge von Oscar
-
-
Naja, die Dateien müssen ja nicht zwangsläufig doppelt sein. Es kann sich ja auch um verschiedene Versionen (Live, Maxi, etc.) des gleichen Liedes handeln.
Aber mit dem Programm kann man sie ausfindig machen und das finde ich ganz praktisch.
Meine Funktion _RecursiveFileListToArray, die ich hier verwende ist zwar sehr schnell, aber nicht die Schnellste. Es gab hier vor ein paar Tagen eine Version (irgendwas mit EX), die noch etwas schneller war.
Beim Testen musst Du allerdings darauf achten, dass der erste Aufruf länger dauert, als die nachfolgenden (auch mit anderen Funktionen). Das liegt an dem Festplatten-Cache. Ein einmal eingelesenes Verzeichnis befindet sich eine zeitlang im Cache und wird anschließend aus diesem ausgelesen.
Meine Funktion ist aber (glaube ich) die Kürzeste.
-
Mit StringLeft einfach nur auf den relevanten Teil testen:
[autoit]
[/autoit]
Switch StringLeft(@IPAddress1, 7)
Case '172.20.'
MsgBox(0, '', 'Netz 1')
Case '172.50.'
MsgBox(0, '', 'Netz 2')
Case Else
MsgBox(0, '', 'unbekannt')
EndSwitch -
Version 1.6 ( 14.03.10 )
Dieses Programm findet doppelte MP3-Dateien anhand des Dateinamen und der ID3-Tags (optional) und zeigt diese in einem ListView an.
Man kann sich die doppelten MP3s anhören und/oder löschen (bzw. in den Papierkorb verschieben). Diese Funktionen stehen im Kontextmenü (rechte Maustaste auf ein Item) zur Verfügung.
Seit der Version 1.1 stehen mehr Informationen (ID3-Tags) zu jeder doppelten Datei zur Verfügung, sodass man besser beurteilen kann, ob die Dateien wirklich gleich sind.
In der Version 1.2 werden jetzt die verschiedenen Windows-Versionen berücksichtigt, sodass das Script unter Windows2000/XP/Vista und Windows7 funktionieren sollte. Den Abbruch-Button von Version 1.1 habe ich wieder entfernt (Abfrage war schlecht programmiert
). Man kann jetzt das einlesen des Verzeichnisses und die eigentliche Suche mit der [ESC]-Taste abbrechen.
Mit der Version 1.3 gibt es jetzt eine Ähnlichkeitssuche. Man kann einstellen (in Prozent) wie ähnlich zwei Dateinamen min. sein müssen, damit sie in der Liste angezeigt werden. Je nach Anzahl der MP3s und der Rechnergeschwindigkeit kann das sehr lange dauern. Aber dass das überhaupt erst möglich wurde, haben wir bernd670 zu verdanken, der eine Funktion dafür in C++ programmiert hat (ist ca. 1000 mal so schnell). Danke nochmal dafür, Bernd!
Außerdem wird jetzt das ausgewählte Suchverzeichnis in einer Inidatei abgespeichert, sodass es beim nächsten Programmstart gleich oben eingetragen ist.
In der Version 1.4 habe ich noch ein wenig den Sourcecode aufgeräumt (sollte noch ein bißchen schneller geworden sein). Außerdem kann man jetzt eine Logdatei erstellen lassen. Und am Ende des Suchlaufs ertönt jetzt ein "Fertig"-Sound.Vorsicht! Beim Löschen bzw. in den Papierkorb verschieben, gibt es keine zusätzliche Abfrage!
Edit, Version 1.6
- Die ID3-Tags werden jetzt von meiner Funktion direkt aus dem Header der Datei gelesen (funktioniert unabhängig vom Betriebssystem)
- Die Fenstergröße etwas verkleinert (Tribut an die Netbooks mit ihren 1024x600 Pixel Bildschirmen).
- Erklärende Tooltips zu den Checkboxen hinzugefügt
- Einige Anpassungen an die neue AutoIt-VersionScreenshot:
Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist. Das Script sowie die compilierte Exe, die DLL und das Programm-Icon befinden sich im ZIP-Archiv (Anhang).
-
[Thread closed]
Und diesmal gleich auch eine Verwarnung wegen wiederholtem Verstoss gegen die Forenregeln. -
Gut aufgepasst!
Gibt ein Sternchen ins Zeugnisheft.
-
Nein, nur TCPStartup().
Einfach vor die While-Anweisung und bevor Du das Programm beendest noch ein TCPShutdown(). -
Du hast TCPStartup() vergessen.
-
Danke für die Links!
Habe mir die Bilder mal angesehen und muss sagen, das gefällt mir schon recht gut.
Egal...jetzt habe ich mir die Kamera bei Amazon bestellt.
-
Das Server-Script dann aber besser so:
Spoiler anzeigen
[autoit]
[/autoit] [autoit][/autoit] [autoit]
; Server
; ======================================================================================; Konstanten setzen
[/autoit] [autoit][/autoit] [autoit]
Const $ip = @IPAddress1
Const $nPort = 65432; Variablen
[/autoit] [autoit][/autoit] [autoit]
Local $socket, $ConnectedSocket, $MainSocket, $szIP_Accepted; TCP starten
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
TCPStartup()$socket = TCPListen(@IPAddress1, 65432)
[/autoit] [autoit][/autoit] [autoit]
If $socket = -1 Then Exit; Funktion für das warten auf eine Verbindung
[/autoit] [autoit][/autoit] [autoit]
While True
WarteAufVerbindung()
WEnd; Diese Funktion wartet auf eine neue Verbindung
[/autoit] [autoit][/autoit] [autoit]
Func WarteAufVerbindung()
$ConnectedSocket = -1
Do
$ConnectedSocket = TCPAccept($socket)
Until $ConnectedSocket <> -1
EmpfangeNachricht()
EndFunc ;==>WarteAufVerbindung; Diese Funktion nimmt die Nachricht entgegen und gibt sie aus
[/autoit]
Func EmpfangeNachricht()
$recv = ''
While 1
$recv &= TCPRecv($ConnectedSocket, 2048)
If @error Then ExitLoop
WEnd
MsgBox(64, '', $recv)
EndFunc ;==>EmpfangeNachricht
Ansonsten wird irgendwann die max. Rekursiontiefe erreicht und das Script beendet sich. -
[OT on]
Weil man diesen Fehler immer wieder liest: Es muss Standard (mit "d" am Ende) heißen.
Dazu hatte mal jemand eine schöne "Eselsbrücke" geschrieben: Die Standard-Standart bei Flamingos ist einbeinig.
[OT off] -
Danke für die Hinweise.
Besonders angetan bin ich bei der Kamera von der Brennweite: 28 - 336 mm (äquivalent zu KB). Speziell die Weitwinkel-Einstellung. Meine bisherige Kamera fing erst bei 35 mm an.
Und wenn der Bildstabilisator wirklich so gut ist, dass man auch den Telebereich (ohne Stativ) sinnvoll nutzen kann, dann wäre ich mehr als zufrieden.
-
Ich denke momentan darüber nach mir eine neue Digitalkamera zu kaufen.
Zuerst war da der Wunsch nach einer DSLR, aber dann machte sich der Gedanke breit, dass diese vielleicht doch zu groß ist. Also lieber eine "immer überall dabei"-Kamera (Kompakte).
Nach umfangreichen Recherchen bin ich im Moment bei dieser angelangt: Canon PowerShot SX200 IS
Die Kundenrezensionen und eingestellten Bilder sind ja sehr vielversprechend.
Aber so entgültig entschieden habe ich die Sache noch nicht. Hat eine(r) von euch diese Kamera und kann mehr darüber sagen?
Ansonsten werde ich mir die in der nächsten Woche mal im Laden ansehen... -
Schau Dir mal _INetMail() an.
-
Mein Umschalter hatte allerdings zusätzlich zu den zwei PS/2-Ports auch einen USB-Port. Von daher dürfte die Ansteuerung wohl per USB erfolgt sein.
Es gab aber immer Probleme beim umschalten (meine USB-Funkmaus wurde des öfteren nicht erkannt), was der Grund dafür war, dass ich den Umschalter jetzt nicht mehr besitze. -
Also ich hatte mal so einen Umschalter von KVM und dort gab es in der Tat eine Software dazu, mit der man zwischen den beiden Rechnern umschalten konnte.
Die lief im Hintergrund und hatte ein Tray-Icon mit Menü. Habe aber den Umschalter leider nicht mehr.
-
Meinst Du sowas:
[autoit]
[/autoit]
Dim $ahLabel[100], $iXPos = 10, $iYPos = 10, $iXSpace = 60, $iYSpace = 30, $iWidth = 30, $iHeight = 20
GUICreate('test', 600, 400)
For $i = 0 To 99
$ahLabel[$i] = GUICtrlCreateLabel($i & ' = ' & Random(1, 9, 1), $iXPos + Int($i / 10) * $iXSpace, $iYPos + Mod($i, 10) * $iYSpace, $iWidth, $iHeight)
Next
GUISetState()
Do
Until GUIGetMsg() = -3 -
Zu 1.: Das ginge auch mit StringRegExp:
[autoit]
[/autoit]
#include <Array.au3>
$sText = ''
For $i = 0 To 99
$sText &= Chr(Random(65, 90, 1))
Next
$aText = StringRegExp($sText, '.{1,10}', 3)
_ArrayDisplay($aText) -
Ohne Includes ginge es so:
[autoit]
[/autoit]
StringRegExpReplace(FileRead(@ProgramFilesDir & '\AutoIt3\Examples\calculator.au3'), '\r\n', '')
If Not @error Then MsgBox(0, 'Anzahl der Zeilen:', @extended) -
Es geht nur, weil Dein Mainboard die Beep-Signale über die normale Soundkarte ausgibt, statt über einen internen "Beeper".
Das ist aber eine hardwaremäßige "Verdrahtung", die man bei älteren Boards eben nicht einfach per Software "aktivieren" kann.