ViSiToR

Silver Member | Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору Вы видимо плохо себе представляете понятие сортировка... с программной точки зрения, нужен параметр сортировки, программа тоже гадать не умеет Код: #include <Array.au3> $sFile = @ScriptDir & "\FileForWork.txt" $aKeywords = StringSplit("Имя|Фамилия|Отчество|Должность|Год рождения|Место жительства|Семейное положение", "|") $aRead_File = StringSplit(FileRead($sFile), @CRLF, 1) Dim $sFileBody_Content = "", $sFileHeader_Content, $iKeyword_Found = 0 ;Добавление индексов (для сортировки по ключ. словам) For $i = 1 To $aKeywords[0] $aKeywords[$i] = $i & "." & $aKeywords[$i] Next For $i = 1 To $aRead_File[0] $iKeyword_Found = 0 For $j = 1 To $aKeywords[0] $sKeyword = StringRegExpReplace($aKeywords[$j], "\A\d+\.(.*)", "\1") If StringInStr($aRead_File[$i], $sKeyword & ":") And Not StringInStr($aRead_File[$i], "[b]") Then $iKeyword_Found = 1 ExitLoop EndIf Next If $iKeyword_Found Then $iIndex = StringRegExpReplace($aKeywords[$j], "\A(\d+)\..*", "\1") $sFileHeader_Content &= StringReplace($aRead_File[$i], $sKeyword, $iIndex & "[b]" & $sKeyword & "[/b]", 1) & @CRLF Else $sFileBody_Content &= $aRead_File[$i] & @CRLF EndIf Next $sFileHeader_Content = StringStripWS($sFileHeader_Content, 3) $sFileBody_Content = StringStripWS($sFileBody_Content, 3) $aSort_FileHeader = StringSplit($sFileHeader_Content, @CRLF, 1) _ArraySort($aSort_FileHeader, 0, 1) $sFileHeader_Content = "" ;Удаление индексов после сортировки For $i = 1 To $aSort_FileHeader[0] If $aSort_FileHeader[$i] = "" Then ContinueLoop $sFileHeader_Content &= StringRegExpReplace($aSort_FileHeader[$i], "\A\d+(.*)", "\1") & @CRLF Next If $sFileHeader_Content <> "" Then $sFileHeader_Content = StringStripWS($sFileHeader_Content, 3) & @CRLF $hFOpen = FileOpen($sFile, 2) FileWrite($hFOpen, $sFileHeader_Content & $sFileBody_Content) FileClose($hFOpen) | Добавлено: Тут порядок задаётся в строке ключевых слов, если там поменять местами слова, то и порядок на выходе соответственно поменяется.
---------- ViSiToR a.k.a CreatoR CreatoR это не ник, CreatoR это стиль жизни! |
| Всего записей: 3251 | Зарегистр. 01-04-2006 | Отправлено: 12:34 20-04-2009 | Исправлено: ViSiToR, 15:41 20-04-2009 |
|