Skip to content
Snippets Groups Projects
Commit 8eccc307 authored by Conrad Zelck's avatar Conrad Zelck
Browse files

Upload source code


Signed-off-by: default avatarConrad Zelck <git@simpel.cc>
parent a5cabe9f
No related branches found
No related tags found
No related merge requests found
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_Icon=Icons\update-prog.ico
#AutoIt3Wrapper_Res_Comment=Erneuert ViDur. Ziel ist der Shortcut auf dem Desktop.
#AutoIt3Wrapper_Res_Description=Erneuert ViDur. Ziel ist der Shortcut auf dem Desktop.
#AutoIt3Wrapper_Res_Fileversion=1.0.0.4
#AutoIt3Wrapper_Res_Fileversion_AutoIncrement=y
#AutoIt3Wrapper_Res_LegalCopyright=Conrad Zelck
#AutoIt3Wrapper_Res_Language=1031
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
#include <TrayCox.au3>
#cs ; ######################################## TESTEN
If @UserName "vpn" Then
#RequireAdmin
EndIf
#ce ; ######################################## TESTEN
If ProcessExists("ViDur.exe") > 0 Then Exit MsgBox($MB_TOPMOST, "Achtung", "ViDur muss erst beendet werden.")
FileChangeDir(@DesktopDir) ; setzt WorkingDir auf Desktop, wo der Link immer liegen soll
Local $sViDurLinkAll = FileFindFirstFile("vidur*.lnk")
Local $sViDurLink = FileFindNextFile($sViDurLinkAll)
If @error Then
MsgBox(0, 'Fehler', "Es existiert kein Link auf dem Desktop zu ViDur.")
Exit
EndIf
FileClose($sViDurLinkAll)
Local $sViDurPathLink = FileGetLongName($sViDurLink, 1)
Local $aViDurPathLinkDetails = FileGetShortcut($sViDurPathLink)
If Not @error Then
Local $sViDurDestPath = $aViDurPathLinkDetails[0]
Else
MsgBox(0, 'Fehler', "Kein Ziel von ViDur auf dem Rechner gefunden.")
Exit
EndIf
Local $sViDurDestFolderDelim = StringInStr($sViDurDestPath, "\", 0, -1)
Local $sViDurDestFolder = StringLeft($sViDurDestPath, $sViDurDestFolderDelim)
Local $sVersDest = FileGetVersion($sViDurDestPath)
Local $sVersOrig = FileGetVersion(@ScriptDir & "\ViDur.exe")
If $sVersOrig = "0.0.0.0" Then
MsgBox(0, 'Fehler', "Es befindet sich kein ViDur im selben Verzeichnis wie der Updater.")
ShellExecute(@ScriptDir)
Exit
EndIf
If $sVersDest = "0.0.0.0" Then ; ist auch das Ergebnis, wenn das File nicht vorhanden ist
ShellExecute($sViDurDestFolder)
Local $msg = MsgBox(4, 'Achtung', "Am Zielort ist kein ViDur vorhanden." & @CRLF & "Soll es dort hin kopiert werden?")
Switch $msg
Case 6 ; Ja
FileCopy(@ScriptDir & "\ViDur.exe", $sViDurDestPath, 1)
If @error Then
MsgBox(0, 'Fehler', "ViDur konnte nicht überschrieben werden.")
ShellExecute($sViDurDestFolder)
Exit
EndIf
Case 7 ; Nein
Exit
EndSwitch
ElseIf _StringCompareVersions($sVersOrig, $sVersDest) = 0 Then
If @error Then
MsgBox(0, 'Fehler', "Beide Versionen lassen sich nicht vergleichen." & @CRLF & "Der Updater wird beendet.")
Exit
EndIf
MsgBox(0, 'Achtung', "Beide Versionen von ViDur sind identisch: " & $sVersDest)
ShellExecute($sViDurDestFolder)
Exit
ElseIf _StringCompareVersions($sVersOrig, $sVersDest) = -1 Then
MsgBox(0, 'Achtung', "ViDur auf dem Ziel mit Version " & @TAB & $sVersDest & @CRLF & "ist höher als die Quelle" & @TAB & $sVersOrig & @CRLF & "und wird somit NICHT upgedatet.")
ShellExecute($sViDurDestFolder)
Exit
Else
FileCopy(@ScriptDir & "\ViDur.exe", $sViDurDestPath, 1)
If @error Then
MsgBox(0, 'Fehler', "ViDur konnte nicht überschrieben werden.")
ShellExecute($sViDurDestFolder)
Exit
EndIf
EndIf
Local $sVersSource = FileGetVersion($sViDurDestPath)
MsgBox(0, 'Ergebnis', "ViDur wurde von Version " & @TAB & $sVersDest & @CRLF & @TAB & " auf Version " & @TAB & $sVersSource & @CRLF & "upgedatet.")
ShellExecute($sViDurDestFolder)
Exit
Func _StringCompareVersions($s_Version1, $s_Version2 = "0.0.0.0") ; Return Value(s): 0 - Strings are the same (if @error=0), -1 - First string is (<) older than second string, 1 - First string is (>) newer than second string
; Confirm strings are of correct basic format. Set @error to 1,2 or 3 if not.
SetError((StringIsDigit(StringReplace($s_Version1, ".", ""))=0) + 2 * (StringIsDigit(StringReplace($s_Version2, ".", ""))=0))
If @error>0 Then Return 0; Ought to Return something!
Local $i_Index, $i_Result, $ai_Version1, $ai_Version2
; Split into arrays by the "." separator
$ai_Version1 = StringSplit($s_Version1, ".")
$ai_Version2 = StringSplit($s_Version2, ".")
$i_Result = 0; Assume strings are equal
; Ensure strings are of the same (correct) format:
; Short strings are padded with 0s. Extraneous components of long strings are ignored. Values are Int.
If $ai_Version1[0] <> 4 Then ReDim $ai_Version1[5]
For $i_Index = 1 To 4
$ai_Version1[$i_Index] = Int($ai_Version1[$i_Index])
Next
If $ai_Version2[0] <> 4 Then ReDim $ai_Version2[5]
For $i_Index = 1 To 4
$ai_Version2[$i_Index] = Int($ai_Version2[$i_Index])
Next
For $i_Index = 1 To 4
If $ai_Version1[$i_Index] < $ai_Version2[$i_Index] Then; Version1 older than Version2
$i_Result = -1
ElseIf $ai_Version1[$i_Index] > $ai_Version2[$i_Index] Then; Version1 newer than Version2
$i_Result = 1
EndIf
; Bail-out if they're not equal
If $i_Result <> 0 Then ExitLoop
Next
Return $i_Result
EndFunc ;==>_StringCompareVersions
\ No newline at end of file
ViDur.au3 0 → 100755
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_Icon=Icons\time.ico
#AutoIt3Wrapper_UseX64=y ; necessary because the mediainfo.dll is for 64bit only
#AutoIt3Wrapper_Res_Comment=Looks for video and audio duration and adds them together.
#AutoIt3Wrapper_Res_Description=Looks for video and audio duration and adds them together.
#AutoIt3Wrapper_Res_Fileversion=1.1.0.24
#AutoIt3Wrapper_Res_Fileversion_AutoIncrement=y
#AutoIt3Wrapper_Res_LegalCopyright=Conrad Zelck
#AutoIt3Wrapper_Res_SaveSource=y
#AutoIt3Wrapper_Res_Language=1031
#AutoIt3Wrapper_AU3Check_Parameters=-q -d -w 1 -w 2 -w 3 -w- 4 -w 5 -w 6 -w- 7
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
#include <_SendTo.au3>
#include <Array.au3>
#include <ButtonConstants.au3>
#include <File.au3>
#include <FileConstants.au3>
#include <GUIConstantsEx.au3>
#include <TrayCox.au3>
; Paramter --debug programmieren?
$g_iParamterHelpStartIndex = _ArrayAdd($g_aParameterHelpfile, "--noexclude;complete scan and there are no files excluded", 0, ";")
_ArrayAdd($g_aParameterHelpfile, "--includelowres;if you do --noexclude you can exclude all lowres files anyway", 0, ";")
_ShowHelp($g_iParamterHelpStartIndex, 1) ; diese Zeile erst nach Eintragung aller zusätzlichen Parameter schreiben - 1 beendet das Hauptscript nach dem Ausgeben aller Parameter
If @Compiled Then
_SendTo_Install() ; make a shortcut in shell:sendto
EndIf
Opt("GuiCoordMode", 0) ;relative position to the start of the last control with "-1"
Local $sVersion = FileGetVersion(@ScriptFullPath)
Global $g_iCounterNotProvedFiles = 0
Global $g_iCounterSkippedFiles = 0
Global $g_sNotProvedFiles
Global $g_sSkippedFiles
Global $g_hDll
Global $g_hHandleDll
Local $bNoExclude = 0
Local $sLowResFiles = "*.mpl;*.lrv;*.xml"
Local $sExcludeFiles = "*.DS_Store;._*;Thumbs.db;*.lnk;*.thm;*.jpg;*.jpeg;*.tif;*.tiff;*.tga;*.png;*.psd;*.exe;*.zip;*.txt;*.rtf;*.csv;*.edl;*.ini;*.pdf;*.arr;*.xls;*.xlsx;*.doc;*.docx;*.pptx;*.aep;*.srt;*.prproj;*.xmp;*.aaf;*.omf;*.html;*.part"
If StringInStr($cmdlineraw, "--noexclude") Then
$bNoExclude = 1
If StringInStr($cmdlineraw, "--includelowres") Then
$sExcludeFiles = $sLowResFiles
ConsoleWrite("--noexclude" & @CRLF)
ConsoleWrite("--includelowres" & @CRLF)
Else
$sExcludeFiles = ""
ConsoleWrite("--noexclude" & @CRLF)
EndIf
Else
$sExcludeFiles &= $sLowResFiles
EndIf
FileSetAttrib ( @ScriptDir & "\ViDur Release Notes.txt", "-RA") ; prepares for deleting
FileInstall("H:\_Conrad lokal\Downloads\AutoIt3\_COX\ReleaseNotes\ViDur Release Notes.txt",@ScriptDir & "\ViDur Release Notes.txt",1) ; rewrites release notes
FileSetAttrib ( @ScriptDir & "\ViDur Release Notes.txt", "+R")
Local $aCmdLineCopy = $CmdLine
Local $sAttrib
If $CmdLine[0] > 0 Then
For $i = $CmdLine[0] To 1 Step - 1
$sAttrib = FileGetAttrib($CmdLine[$i])
If $sAttrib = "" Then ; all parameter not having an attribute are deleted (files and directories stay)
_ArrayDelete($aCmdLineCopy, $i)
EndIf
Next
$aCmdLineCopy[0] = UBound($aCmdLineCopy) - 1
EndIf
Local $sChoosenMedia
Local $aOneFolderFileList
Local $aFileList[0]
If $aCmdLineCopy[0] > 0 Then ; if already Files exist
$sChoosenMedia = _ArrayToString($aCmdLineCopy," | ")
For $i = 1 to $aCmdLineCopy[0]
$sAttrib = FileGetAttrib($aCmdLineCopy[$i])
If StringInStr($sAttrib, "D") Then
$aOneFolderFileList = _FileListToArrayRec($aCmdLineCopy[$i], "*.*|" & $sExcludeFiles, $FLTAR_FILES + $FLTAR_NOSYSTEM + $FLTAR_NOLINK, $FLTAR_RECUR, $FLTAR_SORT, $FLTAR_FULLPATH)
_ArrayDelete($aOneFolderFileList, 0) ; delete Index
_ArrayAdd($aFileList, $aOneFolderFileList)
Else
_ArrayAdd($aFileList, $aCmdLineCopy[$i])
EndIf
Next
_ArrayInsert($aFileList, 0, UBound($aFileList))
Else ; no file in $CmdLine
Local $hGUI = GUICreate("ViDur " & $sVersion & " - Auswahl",258,63)
GUISetFont(10)
GUICtrlCreateButton ("Ordner auswählen",10,20,-1,-1,$BS_DEFPUSHBUTTON)
GUICtrlCreateButton ("Dateien auswählen",121,-1)
GUISetState()
Local $msg
While 1
$msg = GUIGetMsg()
If $msg = $GUI_EVENT_CLOSE Then _Beenden() ; defined at TrayCox.au3
If $msg = 3 Then ExitLoop
If $msg = 4 Then ExitLoop
WEnd
GUIDelete()
Switch $msg
Case 3 ; choose folder
$sChoosenMedia = FileSelectFolder ( "ViDur " & $sVersion & " - Ordner aussuchen", "")
If @error Then
MsgBox(262144,"ViDur " & $sVersion & " - Abbruch","Keine Datei(en) ausgewählt")
Exit
EndIf
$aFileList = _FileListToArrayRec($sChoosenMedia, "*.*|" & $sExcludeFiles, $FLTAR_FILES + $FLTAR_NOSYSTEM + $FLTAR_NOLINK, $FLTAR_RECUR, $FLTAR_SORT, $FLTAR_FULLPATH)
If @error Then
MsgBox(262144,"ViDur " & $sVersion & " - Abbruch","Der gewählte Ordner enthält keine Datei(en)")
Exit
EndIf
Case 4 ; choose files
$sChoosenMedia = FileOpenDialog("ViDur " & $sVersion,"", "Alle (*.*)","4")
If @error Then
MsgBox(262144,"ViDur " & $sVersion & " - Abbruch","Keine Datei(en) ausgewählt")
Exit
EndIf
$aFileList = StringSplit($sChoosenMedia, "|")
If $aFileList[0] > 1 Then
For $i = 2 To $aFileList[0]
$aFileList[$i] = $aFileList[1] & "\" & $aFileList[$i]
Next
_ArrayDelete($aFileList, 1)
$aFileList[0] = UBound($aFileList) - 1
EndIf
EndSwitch
EndIf
Opt("GuiOnEventMode", 1)
Local $iWidthLabel = 400
$hGUI = GUICreate("ViDur " & $sVersion & " - Scan",$iWidthLabel + 40,150)
GUISetFont(10)
GUISetOnEvent($GUI_EVENT_CLOSE, "_Beenden") ; defined at TrayCox.au3
GUICtrlCreateLabel("Dateien werden untersucht:", 20, 20, $iWidthLabel)
Local $hProgress = GUICtrlCreateProgress(-1, 25, $iWidthLabel)
Local $sLabelFile = GUICtrlCreateLabel(".", -1, 32, $iWidthLabel, 80) ; label has to have some text
GUICtrlSetFont(-1,9)
GUISetState()
Local $hTimerStart = TimerInit()
If UBound($aFileList) > 0 Then
Local $iOnePercentOfFileCount = 100 / ($aFileList[0] - 1)
Local $iActualPercentOfDoneFiles = $iOnePercentOfFileCount
If Not FileExists (@ScriptDir & "\MediaInfo.dll") Then
FileInstall("H:\_Conrad lokal\Downloads\AutoIt3\_COX\MediaInfoDLL\MediaInfo.dll",@ScriptDir & "\MediaInfo.dll")
FileSetAttrib(@ScriptDir & "\MediaInfo.dll", "+H")
EndIf
$g_hDll = DllOpen(@ScriptDir & "\MediaInfo.dll")
$g_hHandleDll = DllCall($g_hDll, "ptr", "MediaInfo_New" )
Local $bRecycle, $bSysVol, $bLowResDJIDrohne
Local $aInfoArray
Local $sInfoDuration, $sInfoBitRate
Local $bDurationProved
Local $iDurationGesamt = 0, $iAnzahlGesamt = 0
For $i = 1 To $aFileList[0]
GUICtrlSetData($hProgress,$iActualPercentOfDoneFiles)
$iActualPercentOfDoneFiles += $iOnePercentOfFileCount
$bRecycle = StringInStr($aFileList[$i],"recycle",0,1,1,12) ; keep hidden trash folder out
$bSysVol = StringInStr($aFileList[$i],"system volume",0,1,1,17) ; keep hidden system volume log out
If $bNoExclude = 0 Then
$bLowResDJIDrohne = StringRegExp($aFileList[$i],"(?im).*\\MISC\\THM\\[0-9]*\\DJI.*MOV$", $STR_REGEXPMATCH) ; der ausgewiesene Pfad zum DJI-LowRes als movs
EndIf
If $bRecycle = 0 And $bSysVol = 0 And $bLowResDJIDrohne = 0 Then
GUICtrlSetData($sLabelFile, _WordWrapTextForLabel($aFileList[$i], 59))
$aInfoArray = _CallMediaInfo ($aFileList[$i])
$sInfoDuration = $aInfoArray[0]
$sInfoBitRate = $aInfoArray[1]
$bDurationProved = ""
If $sInfoDuration = "" Then
; do not prove duration
ElseIf $sInfoBitRate = "" Then ; can't read bitrate
$bDurationProved = 2 ; so marked it later will count in "not proved"-files and duration is written in logfile
Else
$bDurationProved = _ProveDuration($sInfoDuration, $aFileList[$i], $sInfoBitRate)
EndIf
If $bDurationProved = 2 Then
_ProveDuration(1, $aFileList[$i], -1) ; bitrate -1 marks files w/o bitrate, so they can't proved but written in logfile
EndIf
If IsInt($bDurationProved) Then ConsoleWrite("DurationProved: " & $bDurationProved & @CRLF)
If $sInfoDuration <> "" And $bDurationProved > 0 Then
$iDurationGesamt += $sInfoDuration
$iAnzahlGesamt += 1
Else
$sAttrib = FileGetAttrib($aFileList[$i])
If Not StringInStr($sAttrib,"H") Then ; if file is not hidden
$g_sSkippedFiles &= @CRLF & $aFileList[$i]
$g_iCounterSkippedFiles += 1
EndIf
EndIf
EndIf
Next
DllCall($g_hDll, "none", "MediaInfo_Delete", "ptr", $g_hHandleDll[0]) ; Delete Handle
DllClose($g_hDll)
GUIDelete()
$sChoosenMedia = StringReplace($sChoosenMedia, " | ", @CRLF)
$sChoosenMedia = StringReplace($sChoosenMedia, "|", @CRLF)
$sChoosenMedia = "Auswahl:" & @CRLF & $sChoosenMedia
Local $sLogMessage = "ViDur " & $sVersion & " - Ergebnis" & @CRLF & "Anzahl der Videos + Töne: " & @TAB & $iAnzahlGesamt & @CRLF & "Gesamtlänge der Videos + Töne: " & @TAB & _Zeit($iDurationGesamt) & @CRLF & @CRLF
$sLogMessage &= $sChoosenMedia & @CRLF & _LogMessageSkippedFiles() & _LogMessageProveDuration() & @CRLF & @CRLF & "Dauer der Pr" & Chr(0xFC) & "fung: " & _Zeit(TimerDiff($hTimerStart), True)
ClipPut($sLogMessage)
Local $sMessageBoxMessage = "Anzahl der Videos + Töne: " & @TAB & @TAB & $iAnzahlGesamt & @CRLF & "Gesamtlänge der Videos + Töne: " & @TAB & _Zeit($iDurationGesamt) & @CRLF & @CRLF & "Dateien ohne Angabe: " & @TAB & @TAB & $g_iCounterSkippedFiles & @CRLF & @CRLF
$sMessageBoxMessage &= "Händisch zu prüfende Files: " & @TAB & @TAB & $g_iCounterNotProvedFiles & @CRLF & @CRLF & "Genaue Angaben sind im Windows-Zwischenspeicher zu finden." & @CRLF
$sMessageBoxMessage &= "Dauer der Pr" & Chr(0xFC) & "fung: " & _Zeit(TimerDiff($hTimerStart), True) & @CRLF & @CRLF & Chr(169) & " Conrad Zelck -6675"
If @UserName = "zelckc" Then Beep(500, 150)
MsgBox (262144,"ViDur " & $sVersion & " - Ergebnis", $sMessageBoxMessage)
Local $hLog = FileOpen(@ScriptDir & "\ViDur-Ergebnis.txt", 2)
_FileWriteLog($hLog, @CRLF & $sLogMessage)
FileClose($hLog)
If $g_iCounterNotProvedFiles > 0 Or $g_iCounterSkippedFiles > 0 Then
ShellExecute(@ScriptDir & "\ViDur-Ergebnis.txt")
EndIf
Else
MsgBox(262144,"ViDur " & $sVersion & " - Abbruch","Keine gültigen Datei(en) gefunden")
EndIf
FileDelete(@ScriptDir & "\MediaInfo.dll")
Exit
; ###############################################################################################
#region - Func
Func _CallMediaInfo ( $_MediaFilePath ) ; erstellt ein komplettes Array der MediaInfoDaten
Local $aResult[2]
DllCall ( $g_hDll, "int", "MediaInfo_Open", "ptr", $g_hHandleDll[0], "wstr", $_MediaFilePath )
Local $sDuration = DllCall($g_hDll, "wstr", "MediaInfo_Get", "ptr", $g_hHandleDll[0], "int", 0, "int", 0, "wstr", "Duration", "int", 1, "int", 0)
$aResult[0] = $sDuration[0]
Local $sOverallBitRate = DllCall($g_hDll, "wstr", "MediaInfo_Get", "ptr", $g_hHandleDll[0], "int", 0, "int", 0, "wstr", "OverallBitRate", "int", 1, "int", 0)
$aResult[1] = $sOverallBitRate[0]
Return $aResult
EndFunc
Func _ProveDuration($iDurationReadout, $iFile, $iBitRate)
If StringRight($iFile, 3) = "mp3" Then Return 1 ; mp3 often include cover pictures that will exceed filesize enourmous so no proof
$iDurationReadout = Int($iDurationReadout)
If $iBitRate = -1 Then ; that is the mark for "no bitrate readable"
$g_sNotProvedFiles &= @CRLF & "(2) " & _Zeit($iDurationReadout) & @TAB & $iFile
$g_iCounterNotProvedFiles += 1
Return 1 ; do measure, too
EndIf
$iBitRate = Int($iBitRate)
ConsoleWrite("DurationReadOut: " & $iDurationReadout & " " & @TAB & "BitRate: " & $iBitRate & @TAB & "File: " & $iFile & @CRLF)
Local $iFileSize = FileGetSize($iFile)
Local $iDurationReadoutOnePercent = Round($iDurationReadout / 100) ; 1% of the read out duration
Local $iDurationChecked = $iFileSize * 8 / $iBitRate * 1000 ; second duration from filesize and bitrate
$iDurationChecked = Int($iDurationChecked)
ConsoleWrite("DurationChecked: " & $iDurationChecked & @CRLF)
Local $iDifference = Round(Abs($iDurationReadout - $iDurationChecked)) ; difference between both durations
ConsoleWrite("Difference: " & $iDifference & @CRLF)
If $iDifference > $iDurationReadoutOnePercent Then ; is difference more that 1% of read duration
$g_sNotProvedFiles &= @CRLF & "(1) " & _Zeit($iDurationReadout) & @TAB & $iFile
$g_iCounterNotProvedFiles += 1
Return 0 ; failure more than 1%
EndIf
Return 1
EndFunc
Func _LogMessageSkippedFiles()
Local $sMsg
If $g_iCounterSkippedFiles > 0 Then
$sMsg = @CRLF & $g_iCounterSkippedFiles & " ignorierte(s) File(s):" & $g_sSkippedFiles & @CRLF
Return $sMsg
EndIf
Return ""
EndFunc
Func _LogMessageProveDuration()
Local $sMsg
If $g_iCounterNotProvedFiles > 0 Then
$sMsg = @CRLF & "davon " & $g_iCounterNotProvedFiles & " händisch zu prüfende(s) File(s):" & @CRLF & "(1) - ausgelesene und errechnete Länge differiert > 1% - File wird ignoriert" & @CRLF
$sMsg &= "(2) - File konnte nicht gegengeprüft werden, wird aber zur Gesamtsumme addiert" & $g_sNotProvedFiles
Return $sMsg
EndIf
Return ""
EndFunc
Func _Zeit($iMs, $bComfortView = False) ; from ms to a format: "12h 36m 56s 13f" (with special space between - ChrW(8239))
Local $sReturn
$iMs = Int($iMs)
Local $iFrames, $iMSec, $iSec, $iMin, $iHour, $sSign
If $iMs < 0 Then
$iMs = Abs($iMs)
$sSign = '-'
EndIf
$iMSec = StringRight($iMs, 3)
$iFrames = $iMSec / 40
$iSec = $iMs / 1000
$iMin = $iSec / 60
$iHour = $iMin / 60
$iMin -= Int($iHour) * 60
$iSec -= Int($iMin) * 60
If $bComfortView Then ; no hours if not present and no frames
If Not Int($iHour) = 0 Then $sReturn &= StringRight('0' & Int($iHour), 2) & 'h' & ChrW(8239)
$sReturn &= StringRight('0' & Int($iMin), 2) & 'm' & ChrW(8239) & StringRight('0' & Int($iSec), 2) & 's'
Else
$sReturn = $sSign & StringRight('0' & Int($iHour), 2) & 'h' & ChrW(8239) & StringRight('0' & Int($iMin), 2) & 'm' & ChrW(8239) & StringRight('0' & Int($iSec), 2) & 's' & ChrW(8239) & StringRight('0' & Int($iFrames), 2) & 'f'
EndIf
Return $sReturn
EndFunc
Func _WordWrapTextForLabel($sText, $iCounter)
Local $sResult
Local $iTotalChar = StringLen($sText)
For $i = 1 To Ceiling($iTotalChar / $iCounter)
$sResult &= StringLeft($sText, $iCounter) & " "
$sText = StringTrimLeft($sText, $iCounter)
Next
$sResult = StringTrimRight($sResult, 1) ; cut last " "
Return $sResult
EndFunc
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment