Что нового

Вывод выбранных файлов по 3 попарно с переменными для действий

chernobeloe

Новичок
Сообщения
33
Репутация
0
Уважаемые форумчане
как провернуть такое:
есть $index1 = index1
$index2 = index2
$index3 = index3

если выбрано 2 файла, то
index1 file1.ext
index2 file2.ext
index3 ""
<некое действие с этими 2 файлами>

если выбрано 4 файла
index1 file1.ext
index2 file2.ext
index3 file3.ext
<некое действие с этими 3 файлами>

index1 file4.ext
index2 ""
index3 ""
<некое действие этими оставшимися файлами>

если выбрано 10 файлов
index1 file1.ext
index2 file2.ext
index3 file3.ext
<некое действие с этими 3 файлами>

index1 file4.ext
index2 file5.ext
index3 file6.ext
<некое действие с этими 3 файлами>

index1 file7.ext
index2 file8.ext
index3 file9.ext
<некое действие с этими 3 файлами>

index1 file10.ext
index2 ""
index3 ""
<некое действие этими оставшимися файлами>

и т.д., т.е. для N кол-ва файлов
мой набросок:
Код:
#include <Array.au3>
$f1 = 'index1: '
$f2 = 'index2: '
$f3 = 'index3: '
$files = FileOpenDialog('1 or More Files', @DesktopDir, "All (*.*)", 4+1)
If Not @error Then
	$splits = StringSplit($files, '|')
	$dim = UBound($splits) - 1
	Select
		Case $dim = 1
			MsgBox(0,'SINGLE FILE', 'single file:' & @CRLF & $files)
			;_ArrayDisplay($splits, 'FILES')

		Case $dim >= 3
			;MsgBox(0,'','2 OR MORE FILES')
;дальше тьма
	EndSelect
EndIf
 

ra4o

AutoIT Гуру
Сообщения
1,165
Репутация
246
Вам нужно разбить файлы в группы по три ? Можно так :
Код:
#include <Array.au3>
$f1 = 'index1: '
$f2 = 'index2: '
$f3 = 'index3: '
$files = FileOpenDialog('1 or More Files', @DesktopDir, "All (*.*)", 4 + 1)
If Not @error Then
	$splits = StringSplit($files, '|')
	$dim = UBound($splits) - 1
	For $i = 2 To $dim Step 3
		$File1 = $splits[$i]

		If $i + 1 <= $dim Then
			$File2 = $splits[$i + 1]
		Else
			$File2 = ''
		EndIf

		If $i + 2 <= $dim Then
			$File3 = $splits[$i + 2]
		Else
			$File3 = ''
		EndIf

		MsgBox(0, 'Группа №' & Int(($i+3)/ 3), $File1 & @CRLF & $File2 & @CRLF & $File3)


	Next


EndIf
 
Автор
C

chernobeloe

Новичок
Сообщения
33
Репутация
0
ra4o сказал(а):
Вам нужно разбить файлы в группы по три ? Можно так :
Код:
#include <Array.au3>
$f1 = 'index1: '
$f2 = 'index2: '
$f3 = 'index3: '
$files = FileOpenDialog('1 or More Files', @DesktopDir, "All (*.*)", 4 + 1)
If Not @error Then
	$splits = StringSplit($files, '|')
	$dim = UBound($splits) - 1
	For $i = 2 To $dim Step 3
		$File1 = $splits[$i]

		If $i + 1 <= $dim Then
			$File2 = $splits[$i + 1]
		Else
			$File2 = ''
		EndIf

		If $i + 2 <= $dim Then
			$File3 = $splits[$i + 2]
		Else
			$File3 = ''
		EndIf

		MsgBox(0, 'Группа №' & Int(($i+3)/ 3), $File1 & @CRLF & $File2 & @CRLF & $File3)


	Next


EndIf
Спасибо, то, что надо
 
Верх