Войти
NeoBooker.ru
Добро пожаловать к нам в гости!
Наш сайт посвящён программе NeoBook, с помощью которой вы легко сможете создавать собственные мультимедиа-приложения без необходимости изучать сложные языки программирования! Зарегистрируйтесь, чтобы стать членом нашего сообщества.
  • Страница 1 из 1
  • 1
Модератор форума: Peter, DEMBEL, YURIY  
Форум NeoBook » Всё о программе NeoBook » Общие вопросы по NeoBook » Вопрос по масcиву (Разделение строки)
Вопрос по масcиву
novichokДата: Чт, 10 Февраля 2011, 22:52 | Сообщение # 1
Приколист
Помогите ни чего не получаеться вот пробую выбранную строку(слово) разбить по буквом ни че не получаеться
Прикрепления: _WinRAR.rar(3.2 Kb)
 
СообщениеПомогите ни чего не получаеться вот пробую выбранную строку(слово) разбить по буквом ни че не получаеться

Автор - novichok
Дата добавления - 10 Февраля 2011 в 22:52
PeterДата: Чт, 10 Февраля 2011, 23:18 | Сообщение # 2
Админ NeoBook
novichok, из вашего примера не очень понятно, что именно надо "бить по буквам".
В общем случае, разбиение слова на буквы может выглядеть так:
Code
StrLen "[slovo]" "[n]"
Loop "1" "[n]" "[i]"
    SubStr "[slovo]" "[i]" "1" "[Result[i]]"
EndLoop

В результате, в массиве [Result] окажутся буквы, каждая в своей (по счету) переменной.


- А вам какую операционку поставить - экспи, семерку или висту?
- Это ты сейчас о чем?
- Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный?
- Ну, конечно, надежный!
- Вот, значит - экспи, без вопросов! Сейчас сделаем...

(Улицы разбитых фонарей, сезон 10, серия 17)

Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!


При модном втюхе модоподдающимся начинает нравиться
 
Сообщениеnovichok, из вашего примера не очень понятно, что именно надо "бить по буквам".
В общем случае, разбиение слова на буквы может выглядеть так:
Code
StrLen "[slovo]" "[n]"
Loop "1" "[n]" "[i]"
    SubStr "[slovo]" "[i]" "1" "[Result[i]]"
EndLoop

В результате, в массиве [Result] окажутся буквы, каждая в своей (по счету) переменной.


Автор - Peter
Дата добавления - 10 Февраля 2011 в 23:18
SScrewДата: Пт, 11 Февраля 2011, 23:47 | Сообщение # 3
Любопытный
А что тут не понятного - нужно разбивать слова в строках на буквы, о чем автор собственно и попросил.

Готовый пример во вложении.

Прикрепления: LetterParser.zip(2.0 Kb)
 
СообщениеА что тут не понятного - нужно разбивать слова в строках на буквы, о чем автор собственно и попросил.

Готовый пример во вложении.


Автор - SScrew
Дата добавления - 11 Февраля 2011 в 23:47
СергейДата: Сб, 12 Февраля 2011, 00:28 | Сообщение # 4
Необукер
Quote (SScrew)
Готовый пример во вложении.
а зачем таймер?
 
Сообщение
Quote (SScrew)
Готовый пример во вложении.
а зачем таймер?

Автор - Сергей
Дата добавления - 12 Февраля 2011 в 00:28
PeterДата: Сб, 12 Февраля 2011, 01:15 | Сообщение # 5
Админ NeoBook
Quote (SScrew)
А что тут не понятного ...
Готовый пример во вложении.

mda
Конечную задачу разбиения строк и слов на буквы можно решить разными способами, и в зависимости от того, в каком виде и куда выводить результат.
Именно последнее и было не очень-то понятно.
Человек спросил про массив, и получил соответствующий ответ.

Но таймер это круто!
:D


- А вам какую операционку поставить - экспи, семерку или висту?
- Это ты сейчас о чем?
- Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный?
- Ну, конечно, надежный!
- Вот, значит - экспи, без вопросов! Сейчас сделаем...

(Улицы разбитых фонарей, сезон 10, серия 17)

Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!


При модном втюхе модоподдающимся начинает нравиться
 
Сообщение
Quote (SScrew)
А что тут не понятного ...
Готовый пример во вложении.

mda
Конечную задачу разбиения строк и слов на буквы можно решить разными способами, и в зависимости от того, в каком виде и куда выводить результат.
Именно последнее и было не очень-то понятно.
Человек спросил про массив, и получил соответствующий ответ.

Но таймер это круто!
:D


Автор - Peter
Дата добавления - 12 Февраля 2011 в 01:15
novichokДата: Сб, 12 Февраля 2011, 13:54 | Сообщение # 6
Приколист
Ребят вообще ни чего не понимаю,вроде до буквы "и" все работает а вот дальше????,то масив одно слово в 5 букв переберет 40 раз то вообще ни хрена не работает,подскажите
Прикрепления: 5229081.rar(11.3 Kb)


Сообщение отредактировано
novichok - Сб, 12 Февраля 2011, 13:54
 
СообщениеРебят вообще ни чего не понимаю,вроде до буквы "и" все работает а вот дальше????,то масив одно слово в 5 букв переберет 40 раз то вообще ни хрена не работает,подскажите

Автор - novichok
Дата добавления - 12 Февраля 2011 в 13:54
DEMBELДата: Сб, 12 Февраля 2011, 14:10 | Сообщение # 7
Наш дизайнер
все нормально работает с виду. вставь в цикл loop... endloop вывод мессаги с буквой
AlertBox "" "[Result[i]]"
и увидишь, должно исправно вытаскивать по букве.

Добавлено (12 Февраль 2011, 14:10)
---------------------------------------------
и замени свои

Code
ShowObject "text2" "None" "0"
   ShowObject "text3" "None" "0"
   ShowObject "text4" "None" "0"
   ShowObject "text5" "None" "0"
...

этим
Code
Loop "2" "5" "[j]"   
ShowObject "text[j]" "None" "0"   
EndLoop

цифры начала и конца цикла в Loop ставь какие надо согласно номерам имен обьектов. вот тут тоже товарищ озадачился. Если обьектов будет 20-50-100-200 что делать-то будете?


Как задавать вопросы

Win7x64 SP1 Neobook v5.70 (Trial)
WinXP SP3 Neobook v5.62
 
Сообщениевсе нормально работает с виду. вставь в цикл loop... endloop вывод мессаги с буквой
AlertBox "" "[Result[i]]"
и увидишь, должно исправно вытаскивать по букве.

Добавлено (12 Февраль 2011, 14:10)
---------------------------------------------
и замени свои

Code
ShowObject "text2" "None" "0"
   ShowObject "text3" "None" "0"
   ShowObject "text4" "None" "0"
   ShowObject "text5" "None" "0"
...

этим
Code
Loop "2" "5" "[j]"   
ShowObject "text[j]" "None" "0"   
EndLoop

цифры начала и конца цикла в Loop ставь какие надо согласно номерам имен обьектов. вот тут тоже товарищ озадачился. Если обьектов будет 20-50-100-200 что делать-то будете?


Автор - DEMBEL
Дата добавления - 12 Февраля 2011 в 14:10
novichokДата: Сб, 12 Февраля 2011, 15:13 | Сообщение # 8
Приколист
спасибо dembel?учту,

Добавлено (12 Февраль 2011, 15:13)
---------------------------------------------

Quote (DEMBEL)
Loop "2" "5" "[j]"    ShowObject "text[j]" "None" "0"    EndLoop

честно говоря не очень понял,как в LOOP вставлять обьект?

Сообщение отредактировано
DEMBEL - Сб, 12 Февраля 2011, 16:01
 
Сообщениеспасибо dembel?учту,

Добавлено (12 Февраль 2011, 15:13)
---------------------------------------------

Quote (DEMBEL)
Loop "2" "5" "[j]"    ShowObject "text[j]" "None" "0"    EndLoop

честно говоря не очень понял,как в LOOP вставлять обьект?


Автор - novichok
Дата добавления - 12 Февраля 2011 в 15:13
mishemДата: Сб, 12 Февраля 2011, 15:26 | Сообщение # 9
Эксперт форума
У тебя созданы объекты text1 text2 text3.... text100
При этой команде они будут появлятся по очереди


Не хочешь читать хелп?

Если хелп и форум не помогли, тогда все ответы здесь



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
СообщениеУ тебя созданы объекты text1 text2 text3.... text100
При этой команде они будут появлятся по очереди

Автор - mishem
Дата добавления - 12 Февраля 2011 в 15:26
DEMBELДата: Сб, 12 Февраля 2011, 16:04 | Сообщение # 10
Наш дизайнер
что значит вставлять обьект?
у тебя обьекты именованы в числовом порядке. пихай вместо числа счетчик цикла, и он будет подставляться в имя обьекта, получится что ты задавая границы цикла задаешь диапазон имен обрабатываемых обьектов. почитай в соседней теме что я отметил, там показано тоже самое.


Как задавать вопросы

Win7x64 SP1 Neobook v5.70 (Trial)
WinXP SP3 Neobook v5.62
 
Сообщениечто значит вставлять обьект?
у тебя обьекты именованы в числовом порядке. пихай вместо числа счетчик цикла, и он будет подставляться в имя обьекта, получится что ты задавая границы цикла задаешь диапазон имен обрабатываемых обьектов. почитай в соседней теме что я отметил, там показано тоже самое.

Автор - DEMBEL
Дата добавления - 12 Февраля 2011 в 16:04
СергейДата: Сб, 12 Февраля 2011, 17:32 | Сообщение # 11
Необукер
я же вроде писал урок по циклам?! У меня на лакалке лежат файлы урока. Что то я не могу найти %)
 
Сообщениея же вроде писал урок по циклам?! У меня на лакалке лежат файлы урока. Что то я не могу найти %)

Автор - Сергей
Дата добавления - 12 Февраля 2011 в 17:32
SScrewДата: Сб, 12 Февраля 2011, 21:39 | Сообщение # 12
Любопытный
Quote (Сергей)
а зачем таймер?

А следующую строчку файла как читать? Быть может я не прав, но хотелось бы видеть вашу версию сабжа.
 
Сообщение
Quote (Сергей)
а зачем таймер?

А следующую строчку файла как читать? Быть может я не прав, но хотелось бы видеть вашу версию сабжа.

Автор - SScrew
Дата добавления - 12 Февраля 2011 в 21:39
СергейДата: Сб, 12 Февраля 2011, 22:08 | Сообщение # 13
Необукер
Quote (SScrew)
А следующую строчку файла как читать?
а почему ты решил, что все строки должны читатся сразу? Вот потому Петр и написал, что непонятно что, как и куда выводить. Способы есть, например по событию (клику по кнопке) или двойным циклом пройтись, это если надо все и разом прочитать.
 
Сообщение
Quote (SScrew)
А следующую строчку файла как читать?
а почему ты решил, что все строки должны читатся сразу? Вот потому Петр и написал, что непонятно что, как и куда выводить. Способы есть, например по событию (клику по кнопке) или двойным циклом пройтись, это если надо все и разом прочитать.

Автор - Сергей
Дата добавления - 12 Февраля 2011 в 22:08
PeterДата: Сб, 12 Февраля 2011, 22:38 | Сообщение # 14
Админ NeoBook
Quote (SScrew)
но хотелось бы видеть вашу версию сабжа.

:)
Нет ничего проще:
Code
ListBoxDeleteItem "ListBox1" "all"
FileToVar "[PubDir]1.txt" "[data]"
StrLen "[data]" "[datalen]"
Loop "1" "[datalen]" "[i]"
     SubStr "[data]" "[i]" "1" "[parse]"
     IfEx "[parse] <> [#10] AND [parse] <> [#13]"
      ListBoxAddItem "ListBox1" "0" "[parse]"
     EndIf
EndLoop

И это - один из возможных вариантов.
Вставьте этот код в свой же пример, и сравните скорость работы.

P.S. Да, в следующий раз не торопитесь, подумайте!
:D

Всё, пошёл за пивом...


- А вам какую операционку поставить - экспи, семерку или висту?
- Это ты сейчас о чем?
- Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный?
- Ну, конечно, надежный!
- Вот, значит - экспи, без вопросов! Сейчас сделаем...

(Улицы разбитых фонарей, сезон 10, серия 17)

Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!


При модном втюхе модоподдающимся начинает нравиться
 
Сообщение
Quote (SScrew)
но хотелось бы видеть вашу версию сабжа.

:)
Нет ничего проще:
Code
ListBoxDeleteItem "ListBox1" "all"
FileToVar "[PubDir]1.txt" "[data]"
StrLen "[data]" "[datalen]"
Loop "1" "[datalen]" "[i]"
     SubStr "[data]" "[i]" "1" "[parse]"
     IfEx "[parse] <> [#10] AND [parse] <> [#13]"
      ListBoxAddItem "ListBox1" "0" "[parse]"
     EndIf
EndLoop

И это - один из возможных вариантов.
Вставьте этот код в свой же пример, и сравните скорость работы.

P.S. Да, в следующий раз не торопитесь, подумайте!
:D

Всё, пошёл за пивом...


Автор - Peter
Дата добавления - 12 Февраля 2011 в 22:38
PeterДата: Сб, 12 Февраля 2011, 23:32 | Сообщение # 15
Админ NeoBook


- А вам какую операционку поставить - экспи, семерку или висту?
- Это ты сейчас о чем?
- Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный?
- Ну, конечно, надежный!
- Вот, значит - экспи, без вопросов! Сейчас сделаем...

(Улицы разбитых фонарей, сезон 10, серия 17)

Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!


При модном втюхе модоподдающимся начинает нравиться
 
Сообщение

Автор - Peter
Дата добавления - 12 Февраля 2011 в 23:32
СергейДата: Вс, 13 Февраля 2011, 16:16 | Сообщение # 16
Необукер
У меня тоже вопросик по массиву
Есть массив емкостью например 50
я использую в цикле всего 12 остальное баласт. Есть возможность удалить диапазон массива с 13-50 до использования цикла?


Сообщение отредактировано
Сергей - Вс, 13 Февраля 2011, 16:16
 
СообщениеУ меня тоже вопросик по массиву
Есть массив емкостью например 50
я использую в цикле всего 12 остальное баласт. Есть возможность удалить диапазон массива с 13-50 до использования цикла?

Автор - Сергей
Дата добавления - 13 Февраля 2011 в 16:16
DEMBELДата: Вс, 13 Февраля 2011, 16:37 | Сообщение # 17
Наш дизайнер
наверное только опять же в цикле:
Loop "13" "50" "[i]"
ClearVariables "[array[i]]"
Endloop


Как задавать вопросы

Win7x64 SP1 Neobook v5.70 (Trial)
WinXP SP3 Neobook v5.62
 
Сообщениенаверное только опять же в цикле:
Loop "13" "50" "[i]"
ClearVariables "[array[i]]"
Endloop

Автор - DEMBEL
Дата добавления - 13 Февраля 2011 в 16:37
СергейДата: Вс, 13 Февраля 2011, 17:15 | Сообщение # 18
Необукер
Quote (DEMBEL)
наверное только опять же в цикле
это понятно, надо без цикла. Знаешь же, как в НБ цикл работает.
DEMBEL, ты научил НБ с vbs дружить в плане массивов. может туда на обработку?!
 
Сообщение
Quote (DEMBEL)
наверное только опять же в цикле
это понятно, надо без цикла. Знаешь же, как в НБ цикл работает.
DEMBEL, ты научил НБ с vbs дружить в плане массивов. может туда на обработку?!

Автор - Сергей
Дата добавления - 13 Февраля 2011 в 17:15
DEMBELДата: Вс, 13 Февраля 2011, 17:26 | Сообщение # 19
Наш дизайнер
не, выигрыша не будет. а что, долго разве одну команду прокрутить?

Как задавать вопросы

Win7x64 SP1 Neobook v5.70 (Trial)
WinXP SP3 Neobook v5.62
 
Сообщениене, выигрыша не будет. а что, долго разве одну команду прокрутить?

Автор - DEMBEL
Дата добавления - 13 Февраля 2011 в 17:26
СергейДата: Вс, 13 Февраля 2011, 17:56 | Сообщение # 20
Необукер
Quote (DEMBEL)
долго разве одну команду прокрутить?
ясень пень, до этого идет цикл, после этого тоже и с каждым разом увеличивается объем в массиве. Ладно, оставлю как есть
 
Сообщение
Quote (DEMBEL)
долго разве одну команду прокрутить?
ясень пень, до этого идет цикл, после этого тоже и с каждым разом увеличивается объем в массиве. Ладно, оставлю как есть

Автор - Сергей
Дата добавления - 13 Февраля 2011 в 17:56
DEMBELДата: Вс, 13 Февраля 2011, 18:28 | Сообщение # 21
Наш дизайнер
попробуй обрывать цикл в условиях, когда счетчик дойдет до ненужных элементов массива при их обработке.

Как задавать вопросы

Win7x64 SP1 Neobook v5.70 (Trial)
WinXP SP3 Neobook v5.62
 
Сообщениепопробуй обрывать цикл в условиях, когда счетчик дойдет до ненужных элементов массива при их обработке.

Автор - DEMBEL
Дата добавления - 13 Февраля 2011 в 18:28
СергейДата: Вс, 13 Февраля 2011, 20:47 | Сообщение # 22
Необукер
да у меня цикал и так до 12-15. Дело в другом, массивы много жрут, вот и хотел скинуть неиспользуемые. Тестил ту же ситуацию, но искуственно оставил только нужное, и проект как бабочка запархал :D
 
Сообщениеда у меня цикал и так до 12-15. Дело в другом, массивы много жрут, вот и хотел скинуть неиспользуемые. Тестил ту же ситуацию, но искуственно оставил только нужное, и проект как бабочка запархал :D

Автор - Сергей
Дата добавления - 13 Февраля 2011 в 20:47
novichokДата: Сб, 05 Марта 2011, 17:27 | Сообщение # 23
Приколист
Мужики опять проблема,есть например фаил с данными "фамилия и дата",как сделать чтоб при поиске строки находилась фамилия а читались данные за фамилией? help
Прикрепления: 4333456.rar(3.6 Kb)
 
СообщениеМужики опять проблема,есть например фаил с данными "фамилия и дата",как сделать чтоб при поиске строки находилась фамилия а читались данные за фамилией? help

Автор - novichok
Дата добавления - 05 Марта 2011 в 17:27
DEMBELДата: Сб, 05 Марта 2011, 17:57 | Сообщение # 24
Наш дизайнер
Code
InputBox "" "Введите фамилию" "[fam]"
FileLen "[PubDir]555.txt" "[kol]"
Loop "1" "[kol]" "[cikl]"
FileRead "[PubDir]555.txt" "[cikl]" "[i]"
StrParse "[i]" " " "[ParsedString]" "[num]"
If "[ParsedString1]" "=" "[fam]"
ShowObject "Text1" "None" "0"
AlertBox "[ParsedString1]" "[ParsedString2]"
EndIf
EndLoop

разделяешь строки с помощью StrParse, где разделитель пробел. Лучше его не использовать,
а взять скажем #, ну если пробелов больше не будет нигде то можно.


Как задавать вопросы

Win7x64 SP1 Neobook v5.70 (Trial)
WinXP SP3 Neobook v5.62
 
Сообщение
Code
InputBox "" "Введите фамилию" "[fam]"
FileLen "[PubDir]555.txt" "[kol]"
Loop "1" "[kol]" "[cikl]"
FileRead "[PubDir]555.txt" "[cikl]" "[i]"
StrParse "[i]" " " "[ParsedString]" "[num]"
If "[ParsedString1]" "=" "[fam]"
ShowObject "Text1" "None" "0"
AlertBox "[ParsedString1]" "[ParsedString2]"
EndIf
EndLoop

разделяешь строки с помощью StrParse, где разделитель пробел. Лучше его не использовать,
а взять скажем #, ну если пробелов больше не будет нигде то можно.


Автор - DEMBEL
Дата добавления - 05 Марта 2011 в 17:57
novichokДата: Сб, 05 Марта 2011, 18:02 | Сообщение # 25
Приколист
спасибо,буду разбираться.......Только с циклом разобрался
 
Сообщениеспасибо,буду разбираться.......Только с циклом разобрался

Автор - novichok
Дата добавления - 05 Марта 2011 в 18:02
Форум NeoBook » Всё о программе NeoBook » Общие вопросы по NeoBook » Вопрос по масcиву (Разделение строки)
  • Страница 1 из 1
  • 1
Поиск: