Что нового

StringMid вывод определённых символов

Arei

Скриптер
Сообщения
938
Репутация
115
Есть большой текст, как выводить текст в таком виде с 1 символа по 100, потом с 100 по 200 и так далее.Подскажите пожалуйста, и надо учитывать пробелы как символы.Заранее спасибо.
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4,020
Репутация
623
а что в таком случае не символ? символы новой строки?
 
Автор
A

Arei

Скриптер
Сообщения
938
Репутация
115
получается что всё, полностью.


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

в то мало ли такой текст
1
2
3, то наверное надо учитывать.
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4,020
Репутация
623
Arei
я твое второе сообщение не понял, но если по первому, то глянь на второй параметр функции FileRead, он как раз говорит сколько символов надо прочитать. только учти, что пробелы, табуляция это один символ, а перевод на новую строку, как правило два.
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,320
Arei,
Можно так попробовать:
Код:
;#include <Constants.au3>

$iPos = 0
$iCount = 200
$sFile = @ScriptDir & '\Test.txt'
$iMax = FileGetSize($sFile)

$hFile = FileOpen($sFile)
If $hFile = -1 Then Exit
While $iPos < $iMax
	;FileSetPos($hFile, $iPos, $FILE_BEGIN)
	MsgBox(64, $iPos & '(' & $iMax & ')', FileRead($hFile, $iCount))
	$iPos += $iCount
WEnd
FileClose($hFile)
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4,020
Репутация
623
madmasles
FileSetPos лишний, т.к. после FileRead со вторым параметром курсор автоматом становится на это месте при следующем чтении
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,320
Kaster [?]
FileSetPos лишний, т.к. после FileRead со вторым параметром курсор автоматом становится на это месте при следующем чтении
Прочитал Ваше сообщение и вспомнил об этом. :-[
 
Автор
A

Arei

Скриптер
Сообщения
938
Репутация
115
Извините я не указал, что данные берутся из переменной, пример

исходный текст
Компании Google и Samsung перенесли презентацию смартфона Nexus Prime, намеченную на 11 октября. Об этом пишет Stuff.

Что стало причиной переноса мероприятия, не сообщается. Pocket-lint указывает, что анонс аппарата мог быть отложен из-за кончины бывшего главы Apple Стива Джобса. "Мы сошлись на том, что сейчас не самое подходящее время для анонса нового продукта, - говорится в распространенном Google и Samsung заявлении. - Новая дата и место проведения презентации будут объявлены в ближайшее время".

И надо первый раз вывести первые 100 символов, потом ещё сто символов(без повторения предыдущих) и так до конца текста переменной.
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,320
Arei,
Код:
$sText = 'Извините я не указал, что данные берутся из переменной, пример ' & @CRLF & @CRLF & _
		'исходный текст' & @CRLF & _
		'Компании Google и Samsung перенесли презентацию смартфона Nexus Prime, намеченную на 11 октября. Об этом пишет Stuff.' & @CRLF & _
		'Что стало причиной переноса мероприятия, не сообщается. Pocket-lint указывает, что анонс аппарата мог быть отложен из-за кончины бывшего главы Apple Стива Джобса. "Мы сошлись на том, что сейчас не самое подходящее время для анонса нового продукта, - говорится в распространенном Google и Samsung заявлении. - Новая дата и место проведения презентации будут объявлены в ближайшее время".' & @CRLF & _
		'И надо первый раз вывести первые 100 символов, потом ещё сто символов(без повторения предыдущих) и так до конца текста переменной.'
$iCount = 100
$iPos = 1
$iMax = StringLen($sText)

While $iPos < $iMax
	MsgBox(64, $iPos & '(' & $iMax & ')', StringMid($sText, $iPos, $iCount))
	$iPos += $iCount
WEnd
 
Автор
A

Arei

Скриптер
Сообщения
938
Репутация
115
Вроде делал так же, но не получалось,Спасибо большое.
 
Верх