Что нового

[Массивы] Чтение файла в массив

Kirill_T

Новичок
Сообщения
23
Репутация
0
Вопрос: как прочитать файл(body-html) в одномерный массив символов, или можно ли в autoit работать со строками, как в том же pascal?
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4,020
Репутация
626
Kirill_T
AutoIt умеет работать со строками. как там в pascal я уже конечно не помню, но могу точно сказать, что для нужд вполне достаточно.
 
Автор
K

Kirill_T

Новичок
Сообщения
23
Репутация
0
Kaster,

а как тогда можно, если можно обратиться посимвольно к строке?
типа : string[count]
 
Автор
K

Kirill_T

Новичок
Сообщения
23
Репутация
0
AZJIO,

А возможно ли как то не записывая в файл и читай от туда, просто строку сделать массивом?

просто я в массивах autoit'a не силён...
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
Kirill_T,
Код:
$sString = '1234567890'
$s1 = StringLeft($sString, 3)
$s2 = StringRight($sString, 3)
$s3 = StringMid($sString, 3, 3)
$s4 = StringTrimLeft($sString, 3)
$s5 = StringTrimRight($sString, 3)
MsgBox(64, 'Info', '$sString: ' & $sString & @LF & '$s1: ' & $s1 & @LF & '$s2: ' & $s2 _
		 & @LF & '$s3: ' & $s3 & @LF & '$s4: ' & $s4 & @LF & '$s5: ' & $s5)

просто строку сделать массивом?
По каким критериям?
 
Автор
K

Kirill_T

Новичок
Сообщения
23
Репутация
0
madmasles,

В общем такая цель: прочитали строкой(одной большой) html файл, нашли в нём подстроку $s1
процедурой StringInStr() вернули номер(в большой строке) первого символа строки $s и далее нужно оставшиесь 100 символов большой строки прочитать, не могу понять, как.. может быть через массив-не самый лучший вариант?
как ещё можно это сделать?


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

я кажется понял... :D

спасибо..


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

и я счастливый пошёл спать.. :smile:
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
Kirill_T [?]
как ещё можно это сделать?
Приведите пример текста, в котором будем искать, и что конкретно нужно найти. ИМХО, то, что Вам нужно, можно сделать одной функцией StringRegExpReplace().
 
Автор
K

Kirill_T

Новичок
Сообщения
23
Репутация
0
я вырубаюсь.. я завтра напишу.....
 

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5,379
Репутация
2,724
В AutoIt используются нуль-терминированные строки, а не строки-массивы на 255 символов, как в Pascal. Отсюда и совершенно другие принципы работы со строками. Все функции, начинающиеся со String..., относятся к строкам. Да, по началу может показаться, что этого недостаточно, но на самом деле, их даже больше, чем нужно.

Преобразовать строку в массив aka Pascal можно так, но на практике этим совершенно не нужно заниматься.

Код:
$aString = StringSplit('Simple Text', '')

For $i = 1 To $aString[0]
    ConsoleWrite($aString[$i] & @CR)
Next


P.S

Если мне не изменяет память, то в Turbo Pascal 7.0 уже были ASCIIZ строки - тип PChar.
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,671
Репутация
2,481
Yashied [?]
Преобразовать строку в массив aka Pascal можно так, но на практике этим совершенно не нужно заниматься.
Что то меня напугал твой первый вариант (в RSS он ещё сохранился), хотел написать что для этого достаточно StringSplit, но ты уже изменил пример :smile:
 
Верх