![]() |
|
||||||||||
|
|||||
|
[+6 09.10.12]
Регистрация: Sep 2012
Сообщений: 33
|
Здравтсвуйте.
Кто может помочь. Надо из тестового файла загрузить тест в двумерный массив. Что-то я совсем потерял с чего начать. Если можно, помогите. К примеру есть фаил в котором тескт вот такой: 1 00 2 01 3 02 4 03 5 04 6 05 7 06 8 07 9 08 10 09 11 010 12 011 Кто может напистаь код или где почитать как это делать. Я пока что нашел только как просто загружать фаил urlLoadером и все. |
|
|||||
|
А зачем тебе здесь двумерный массив? Какой смысл хранить ссылку на массив, в котором всего один эелемент? Может нужен ассоциативный?
Что из себя должен представлять массив?
__________________
Ко мне можно и нужно обращаться на ты) Последний раз редактировалось caseyryan; 24.01.2017 в 08:38. |
|
|||||
|
[+6 09.10.12]
Регистрация: Sep 2012
Сообщений: 33
|
типа
Массив [1][0]; Типа загружает из текстового файла номера цифр в массив и проверяет на совпадения, ну а потом отобранные номера вывожу в текстовом поле. ассоциативный точно не нужен. Просто хочу сделать скрипт который убирает из Массива одинаковые цифры. Подойдет даже одномерный, если с двумерным сложнее. А то с 2012 года я просто все забыл. Прикол. |
|
|||||
|
Задача с делением строки довольно простая
package { import flash.display.Sprite; import flash.events.Event; import flash.filesystem.File; import flash.filesystem.FileMode; import flash.filesystem.FileStream; public class TestClass extends Sprite { public function TestClass() { var textFile:File = File.applicationDirectory.resolvePath("number_row.txt"); var fileStream:FileStream = new FileStream(); fileStream.open(textFile, FileMode.READ); var result:String = fileStream.readUTFBytes(fileStream.bytesAvailable); parseText1(result); parseText2(result); } // первый вариант с двойным сплитом private function parseText1(text:String):void { var assocArray:Object = {}; var rawSplit:Array = text.split(/[\n\r]+/g); for (var i:int = 0; i < rawSplit.length; i++) { var str:String = rawSplit[i]; if (str.length < 2) continue; var pairs:Array = str.split(/\s+/); // дальше уже можно ключи и значения распределять по массиву var key: String = pairs[0]; var value: String = pairs[1]; assocArray[key] = value; } } // второй вариант с делением по любому пробелу или переносу строки private function parseText2(text:String):void { var rawSplit: Array = text.split(/\s+/g); var assocArray: Object = {}; if (rawSplit.length % 2 != 0) { // подрезаем длину массива до четной rawSplit.pop(); } for (var i:int = 0; i < rawSplit.length; i += 2) { var key: String = rawSplit[i]; var value: String = rawSplit[i + 1]; assocArray[key] = value; } } } }
__________________
Ко мне можно и нужно обращаться на ты) |
|
|||||
|
Не красивая затея хранить инфу в текстовом файле.
|
|
|||||
|
Чем не красивая?
Вполне нормальная затея. Все зависит от того, какие данные нужно хранить. Для подобных данных в самый раз
__________________
Ко мне можно и нужно обращаться на ты) |
|
|||||
|
Просто иным способом(о котором я знаю) код в 2-ое меньше будет
![]() |
|
|||||
|
Цитата:
![]() А вообще у меня аналогичная ситуация только в вместо текста я использую xml разметку и инфу которую он содержит я проверяю сразу без добавлений в массив или ассоциативный массив. |
|
|||||
|
Цитата:
Плюс к тому, тебя могут просто поставить перед фактом, что нужно распарсить подобный файл, например для обмена данными между ККМ и 1с, или ассоциативный словарь, который представлен именно в таком виде. Да мало ли что. Не всегда у разработчика есть выбор
__________________
Ко мне можно и нужно обращаться на ты) |
![]() |
![]() |
Часовой пояс GMT +4, время: 01:32. |
|
|
« Предыдущая тема | Следующая тема » |
|
|