Что нового

Как из текстового файла прочитать нужную строку?

agikon

Знающий
Сообщения
789
Репутация
17
Есть текстовый файл.
в этом тесктовом файле каждая строка несёт некую информацию, ну например список фамилий.
Так вот как извлечь из текстового файла данные с нужной строки, ну например в файле 20 строк. а извлечь нужно из 17 строки.
Подскажите пожалуйста как это можно сделать.

Код:
текст строки 1
текст строки 2
текст строки 3
...
текст строки 20
 

ivsatel

Продвинутый
Сообщения
319
Репутация
84
agikon

Код:
#include <File.au3>
Local $aRecords
If Not _FileReadToArray(@ScriptDir & "\text.txt", $aRecords) Then
    MsgBox(4096, "Ошибка", " Ошибка чтения файла в массив     Ошибка = " & @error)
    Exit
EndIf
For $i = 1 To $aRecords[0]
    MsgBox(4096, 'Строка:' & $i, $aRecords[$i])
Next
 

Zaramot

I ♥ AutoIt
Сообщения
1,160
Репутация
660
ну например в файле 20 строк. а извлечь нужно из 17 строки.
Может тебе это подойдет ?:
Код:
$Read = FileReadLine('text.txt', 17) ;Читает 17-ю строку
MsgBox(0, 'TEST', $Read)
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
agikon,
Код:
Local $sTxt, $iStr = 17, $sStr, $iPos, $sStr_1

$sTxt = FileRead(@ScriptDir & '\txt.txt')
;1
$iPos = StringInStr($sTxt, @CRLF, 0, $iStr - 1) + 2
$sStr = StringMid($sTxt, $iPos, StringInStr($sTxt, @CRLF, 0, $iStr) - $iPos)
ConsoleWrite($sStr & @LF)
;2
$iPos = StringInStr($sTxt, @CRLF, 0, $iStr - 1) + 1
$sTxt = StringTrimLeft($sTxt, $iPos)
$sStr_1 = StringLeft($sTxt, StringInStr($sTxt, @CRLF))
ConsoleWrite($sStr_1 & @LF)



Добавлено:
Сообщение автоматически объединено:

Zaramot [?]
Код:
$Read = FileReadLine(FileRead('text.txt'), 17)
Странный у Вас код. :smile:
 

alex33

Скриптер
Сообщения
1,457
Репутация
186
Zaramot, Да уж, очень странный у вас код... :smile:
 
Автор
A

agikon

Знающий
Сообщения
789
Репутация
17
alex33 [?]
Zaramot, Да уж, очень странный у вас код...
smiley.gif
А чем странный?
У меня работает.

Спасибо за примеры, есть с чего выбрать.
 
Верх