Что нового

[Данные, строки] Как превратить данные массива, полученные из .txt в в переменные

GubinEdward

Новичок
Сообщения
2
Репутация
0
Всем привет, случился вопрос, который не в состоянии разрешить самостоятельно.

Суть задачи:
Есть текстовый файл.txt с данными - в нем буквы. Данные в документе расположены построчно, т.е.:
a
b
c
...
но каждый раз, количество букв в файле.txt может быть разным, т.е:
a
b
f
z
При этом мы знаем, что в английском алфавите 26 букв. По коду получается так, что есть 26 переменных, каждой из которых нужно из полученного массива присвоить букву так, чтобы данные не разъезжались, т.е.:
1 a
2 b
..
6 f
..
25
26 z

Как правильно возможно данные из массива присвоить к списку переменных, чтобы структура не поехала?
Рационально ли вообще такое решение, или есть более оптимальный способ разрешения?
 

InnI

AutoIT Гуру
Сообщения
4,912
Репутация
1,429
GubinEdward [?]
Рационально ли вообще такое решение
26 переменных, идущих подряд, - это уже не рационально.

Хотелось бы понять цель подобных манипуляций :scratch:
Код:
#include <Array.au3>

; вариант 1
Global $abc[27]
$arr = FileReadToArray("abc.txt")
$str = "abcdefjhijklmnopqrstuvwxyz"
For $i = 0 To UBound($arr) - 1
  $abc[StringInStr($str, $arr[$i])] = $arr[$i]
Next
_ArrayDisplay($abc)

; вариант 2
Global $abc[27]
$arr = FileReadToArray("abc.txt")
For $i = 0 To UBound($arr) - 1
  $j = Asc($arr[$i]) - 96
  If $j > 0 Then $abc[$j] = $arr[$i]
Next
_ArrayDisplay($abc)
 
Автор
G

GubinEdward

Новичок
Сообщения
2
Репутация
0
InnI сказал(а):
GubinEdward [?]
Рационально ли вообще такое решение
26 переменных, идущих подряд, - это уже не рационально.

Хотелось бы понять цель подобных манипуляций :scratch:
Код:
#include <Array.au3>

[/quote]
Спасибо, за ответ, но пока что не проверил. Отпишу, что получится позже.

Файловый документ, в котором данные, формируется из списка папок. Название папок всегда разное.
Получается что путь\часть пути к файлам, которые лежат в самом конце папок - динамический.
В конце каждого пути есть файл, который нужно запустить, но из-за постоянной смены названия одной из папок это сделать не так просто.(по крайней мере мне так кажется=))
Как вариант разрешения подумал, что можно
Место пути с отличием получить в виде .тхт, прочитать его как массив и потом, в процедуре запуска, подставить через переменную в часть пути. чтоб запустить .ехе
 

ra4o

AutoIT Гуру
Сообщения
1,165
Репутация
246
Приведите пример и то, что Вы хотите выделить/получить в результате
 
Верх