Что нового

Извлечение информации из файла с промежутками

_Lexa98_

Осваивающий
Сообщения
551
Репутация
25
Есть файл в котором написано:
Код:
-----file.exe-----
thnboisuvuhvmv25bv525tostuvnmostv52tv52v52mugtposuhjhjpotjijgh89k5uc0-5tv4v5c25vy5y409wvm584v5
-----file1.exe-----
c4hj937vt02nm15-8bv46bm4=90120=6bu71807v0m3n90bv6m,1c8974n8b71n03984vm81vm89031475v7v185v1nm9077v1m8907438957v871m807v5v091
Как в
первый msgbox = file.exe

второй = thnboisuvuhvmv25bv525tostuvnmostv52tv52v52mugtposuhjhjpotjijgh89k5uc0-5tv4v5c25vy5y409wvm584v5
Nhtnbq

третий = file1.exe

четвертый = c4hj937vt02nm15-8bv46bm4=90120=6bu71807v0m3n90bv6m,1c8974n8b71n03984vm81vm89031475v7v185v1nm9077v1m8907438957v871m807v5v091

показать информацию?
 

Zaramot

I ♥ AutoIt
Сообщения
1,160
Репутация
660
Re: Извлечение информации из файла

Если строки 4, то можно сделать так:
Код:
For $i = 1 to 4
	MsgBox(0, '', StringRegExpReplace(FileReadLine(@ScriptDir & '\test.txt', $i), '-----', ''))
Next

Но если их больше или неизвестно сколько из - то так:
Код:
#include <File.au3>

$Lines = _FileCountLines(@ScriptDir & '\test.txt')
For $i = 1 to $Lines
    MsgBox(0, '', StringRegExpReplace(FileReadLine(@ScriptDir & '\test.txt', $i), '-----', ''))
Next
 

sngr

AutoIT Гуру
Сообщения
1,010
Репутация
408
Re: Извлечение информации из файла

Код:
For $i=1 To 4
	$file=FileReadLine(@ScriptDir & '\12',$i)
	If $i=1 or 3 Then
	MsgBox(0,'',StringReplace($file,'-',''))
	Else
	MsgBox(0,'',$file)
	EndIf
Next
 
Автор
_Lexa98_

_Lexa98_

Осваивающий
Сообщения
551
Репутация
25
Re: Извлечение информации из файла

Zaramot
sngr
Не почучается :(
Файл
 

Zaramot

I ♥ AutoIt
Сообщения
1,160
Репутация
660
Re: Извлечение информации из файла

Есть файл в котором написано:
Код:
-----file.exe-----
thnboisuvuhvmv25bv525tostuvnmostv52tv52v52mugtposuhjhjpotjijgh89k5uc0-5tv4v5c25vy5y409wvm584v5
-----file1.exe-----
c4hj937vt02nm15-8bv46bm4=90120=6bu71807v0m3n90bv6m,1c8974n8b71n03984vm81vm89031475v7v185v1nm9077v1m8907438957v871m807v5v091
Там вообще таких строк нет.
 
Автор
_Lexa98_

_Lexa98_

Осваивающий
Сообщения
551
Репутация
25
Re: Извлечение информации из файла

Я показал примерно...
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
Re: Извлечение информации из файла

_Lexa98_ [?]
Я показал примерно.
Примерно с регулярными выражениями не получится. С Вашим текстом из первого поста:
Код:
#include <Array.au3>

$sRead = FileRead(@ScriptDir & '\1.txt')

$aTemp = StringRegExp($sRead, '(?:-{5})(.*?)(?:-{5})', 3)
If @error Then Exit 100
Dim $aRes[UBound($aTemp) + 1][2] = [[UBound($aTemp)]]
For $i = 1 To $aRes[0][0]
	$aRes[$i][0] = $aTemp[$i - 1]
	$aRes[$i][1] = StringRegExpReplace($sRead, '(?s).*' & $aRes[$i][0] & '.*?\r?\n(.*?)(?:\r?\n|$).*', '$1')
	If @extended <> 1 Then $aRes[$i][1] = ''
Next
$sRead = ''
$aTemp = ''
_ArrayDisplay($aRes)
 
Автор
_Lexa98_

_Lexa98_

Осваивающий
Сообщения
551
Репутация
25
Re: Извлечение информации из файла

madmasles [?]
с регулярными выражениями не получится
тоесть с
_Lexa98_ [?]
Не почучается
sad.gif
Файл
modify_inline.gif
неполучится
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
Re: Извлечение информации из файла

_Lexa98_,
А что в нем надо найти?
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
Re: Извлечение информации из файла

_Lexa98_ [?]
Описание в первом посте
Я не нашел в Вашем файле строк из первого поста. Или говорите точнее, что искать, или ищите сами.
 
Автор
_Lexa98_

_Lexa98_

Осваивающий
Сообщения
551
Репутация
25
Re: Извлечение информации из файла

madmasles
Нужно вывести отсюда:
1,2,3,4 - msgboxы
1)slui.exe (без -)
2)то что ниже -----slui.exe-----
3)taskmgr.exe (без -)
4)то что ниже -----taskmgr.exe-----
 
Автор
_Lexa98_

_Lexa98_

Осваивающий
Сообщения
551
Репутация
25
Re: Извлечение информации из файла

Помогите кто нить :(
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
Re: Извлечение информации из файла

_Lexa98_,
Код:
#include <Array.au3>

$hFile = FileOpen(@ScriptDir & '\file.mif', 16)
$sRead = FileRead($hFile)
FileClose($hFile)
$sRead = Hex($sRead)
$sFirst = Hex(Binary('-'))
$sSecond = Hex(Binary(@CRLF))
$aTemp = StringRegExp($sRead, '(?:' & $sFirst & '){5}(.*?)(?:' & $sFirst & '){5}', 3)
If @error Then Exit 100
Dim $aRes[UBound($aTemp) + 1][2] = [[UBound($aTemp)]]
For $i = 1 To $aRes[0][0]
	$aRes[$i][0] = $aTemp[$i - 1]
	$aRes[$i][1] = StringRegExpReplace($sRead, '(?s).*' & $aRes[$i][0] & '.*?' & $sSecond & '(.*?)(?:' & $sSecond & '|$).*', '$1')
	If @extended <> 1 Then $aRes[$i][1] = ''
	$aRes[$i][0] = BinaryToString('0x' & $aRes[$i][0])
	$aRes[$i][1] = StringRegExpReplace(BinaryToString('0x' & $aRes[$i][1]), '(?i)[^a-z \.]', '')
Next
$sRead = ''
$aTemp = ''
$sFirst = ''
$sSecond = ''
_ArrayDisplay($aRes)
 
Автор
_Lexa98_

_Lexa98_

Осваивающий
Сообщения
551
Репутация
25
Re: Извлечение информации из файла

madmasles
Спасибо, но все равно немного не то получается. :smile:
Придумаю что нибудь другое :smile:
Будем считать что тема решена :smile:
 
Автор
_Lexa98_

_Lexa98_

Осваивающий
Сообщения
551
Репутация
25
Re: Извлечение информации из файла

Есть GUI:
Код:
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form2 = GUICreate("Form1", 405, 293, 298, 264)
$Label1 = GUICtrlCreateLabel("Список файлов", 8, 8, 138, 273)
$Label2 = GUICtrlCreateLabel("Текст после первого файла", 160, 8, 234, 129)
$Label3 = GUICtrlCreateLabel("Текст после второго файла", 155, 145, 241, 145)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
	$nMsg = GUIGetMsg()
	Switch $nMsg
		Case $GUI_EVENT_CLOSE
			Exit

	EndSwitch
WEnd


В поле "Список файлов" должны вписываться file.exe и file1.exe в столбик.
В поле "Текст после первого файла" должно вписываться текст после первого файла.
В поле "Текст после второго файла" должно вписываться текст после второго файла.
:smile:
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,671
Репутация
2,481
Re: Извлечение информации из файла

_Lexa98_
Предупреждение За нарушение правил форума (пункт Б.5):
Имя темы должно нести смысловую нагрузку (отражать суть вопроса/проблемы)
Правильно сформулированное название темы привлекает больше внимания, и шансы получить конкретный ответ увеличиваются.


Данные правила могут пополняться локальными правилами раздела.
Как правильно называть темы

"Извлечение информации из файла" - это неприемлемое название темы, переименуйте тему иначе она будет закрыта, а вам возможно будет выдан бан на несколько дней.

С уважением, ваш Администратор.
 
Верх