Войти
NeoBooker.ru
Добро пожаловать к нам в гости!
Наш сайт посвящён программе NeoBook, с помощью которой вы легко сможете создавать собственные мультимедиа-приложения без необходимости изучать сложные языки программирования! Зарегистрируйтесь, чтобы стать членом нашего сообщества.
  • Страница 1 из 1
  • 1
Модератор форума: Peter, DEMBEL, YURIY  
Чтение строки из TXT файла
max-farvaterДата: Ср, 13 Июля 2011, 21:42 | Сообщение # 1
Любопытный
Имеется программа:

Code
While "0" "=" "0"
FileRead "text.txt" "1" "[stroka]"
SetVar "[stroka2]" "[stroka]"
EndWhile


Суть вопроса: как можно сделать, чтобы при каждом следующем чтении строки из файла, программа читала не 1 строку а последующую? 2,3,4, и тд
Или это невозможно? хотя я думаю,что все-таки возможно.
 
СообщениеИмеется программа:

Code
While "0" "=" "0"
FileRead "text.txt" "1" "[stroka]"
SetVar "[stroka2]" "[stroka]"
EndWhile


Суть вопроса: как можно сделать, чтобы при каждом следующем чтении строки из файла, программа читала не 1 строку а последующую? 2,3,4, и тд
Или это невозможно? хотя я думаю,что все-таки возможно.

Автор - max-farvater
Дата добавления - 13 Июля 2011 в 21:42
AlienДата: Ср, 13 Июля 2011, 21:46 | Сообщение # 2
Было уже где-то на форуме. Цикл Loop, читайте справку.
Code
FileLen "text.txt" "[count]"
Loop "1" "[count]" "[i]"
        FileRead "text.txt" "[i]" "[stroka]"
        SetVar "[stroka2]" "[stroka]"
EndLoop


Сообщение отредактировано
Alien - Чт, 14 Июля 2011, 08:41
 
СообщениеБыло уже где-то на форуме. Цикл Loop, читайте справку.
Code
FileLen "text.txt" "[count]"
Loop "1" "[count]" "[i]"
        FileRead "text.txt" "[i]" "[stroka]"
        SetVar "[stroka2]" "[stroka]"
EndLoop

Автор - Alien
Дата добавления - 13 Июля 2011 в 21:46
MicroCipДата: Ср, 13 Июля 2011, 22:46 | Сообщение # 3
Участник
Так же можно в таймер засунуть:
Code


FileRead "text.txt" "[i]" "[stroka]"

P.S. Первая строка не будет читаться, что бы она читалась сделай 2 таймера, просто в одной таймере первую строку нужно заменить на:
Code
SetVar "[i]" "1"

Добавлено (13 Июль 2011, 22:46)
---------------------------------------------
*Так же можно в таймер засунуть:

Code
SetVar "[i]" "[i]+1"
FileRead "text.txt" "[i]" "[stroka]"


В каждом человеке солнце. Только дайте ему светить.(с)Сократ
 
СообщениеТак же можно в таймер засунуть:
Code


FileRead "text.txt" "[i]" "[stroka]"

P.S. Первая строка не будет читаться, что бы она читалась сделай 2 таймера, просто в одной таймере первую строку нужно заменить на:
Code
SetVar "[i]" "1"

Добавлено (13 Июль 2011, 22:46)
---------------------------------------------
*Так же можно в таймер засунуть:

Code
SetVar "[i]" "[i]+1"
FileRead "text.txt" "[i]" "[stroka]"

Автор - MicroCip
Дата добавления - 13 Июля 2011 в 22:46
СергейДата: Чт, 14 Июля 2011, 08:31 | Сообщение # 4
Необукер
Либо я не так понял, либо это делается простым циклом и начинать с 2
Quote
FileLen "test.txt" "[cnt]"
Loop "2" "[cnt]" "[x]"
FileRead "test.txt" "[x]" "[result]"
EndLoop
-------------------------------------
SetVar "[x]" "2"
FileLen "test.txt" "[cnt]"
While "[cnt]" "<" "[x]"
FileRead "test.txt" "[x]" "[result]"
SetVar "[x]" "[x]+1"
EndWhile


Сообщение отредактировано
Сергей - Чт, 14 Июля 2011, 08:34
 
СообщениеЛибо я не так понял, либо это делается простым циклом и начинать с 2
Quote
FileLen "test.txt" "[cnt]"
Loop "2" "[cnt]" "[x]"
FileRead "test.txt" "[x]" "[result]"
EndLoop
-------------------------------------
SetVar "[x]" "2"
FileLen "test.txt" "[cnt]"
While "[cnt]" "<" "[x]"
FileRead "test.txt" "[x]" "[result]"
SetVar "[x]" "[x]+1"
EndWhile

Автор - Сергей
Дата добавления - 14 Июля 2011 в 08:31
mishemДата: Чт, 14 Июля 2011, 08:34 | Сообщение # 5
Эксперт форума
Quote (Сергей)
Либо я не так понял,

Все так, Alien выше уже написал. Только не с 0 и не с 2. :)
Первая строка разве не нужна? Ее ж тоже нужно прочитать.


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

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



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
Сообщение
Quote (Сергей)
Либо я не так понял,

Все так, Alien выше уже написал. Только не с 0 и не с 2. :)
Первая строка разве не нужна? Ее ж тоже нужно прочитать.

Автор - mishem
Дата добавления - 14 Июля 2011 в 08:34
Format-X22Дата: Чт, 14 Июля 2011, 09:36 | Сообщение # 6
Участник
Quote (max-farvater)
While "0" "=" "0"

Вот это по моему какое-то чудо техники.
Возможно в данном случае так и надо, но что-то я сомневаюсь что автору нужен бесконечный цикл.
А так да, Alien прав.
Только вот выходит что постоянно при каждом чтении [stroka2] присваивает значение текущей строки что аналогично по смыслу первой строчке кода где 0 = 0 no


Мой сайт - http://фирмы.онлайн
 
Сообщение
Quote (max-farvater)
While "0" "=" "0"

Вот это по моему какое-то чудо техники.
Возможно в данном случае так и надо, но что-то я сомневаюсь что автору нужен бесконечный цикл.
А так да, Alien прав.
Только вот выходит что постоянно при каждом чтении [stroka2] присваивает значение текущей строки что аналогично по смыслу первой строчке кода где 0 = 0 no

Автор - Format-X22
Дата добавления - 14 Июля 2011 в 09:36
DEMBELДата: Чт, 14 Июля 2011, 10:13 | Сообщение # 7
Наш дизайнер
это чудо инженерной мысли Alien придумал, типа бесконечный цикл ) ктото спрашивал как его сделать. Здесь в сабже применять его, конечно, вряд ли разумно.

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

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

Автор - DEMBEL
Дата добавления - 14 Июля 2011 в 10:13
mishemДата: Чт, 14 Июля 2011, 10:19 | Сообщение # 8
Эксперт форума
Quote (DEMBEL)
это чудо инженерной мысли Alien придумал, типа бесконечный цикл )

Окаком бесконечном цикле речь? Первый пост, да. У Alien все правильно за исключением 0, но и так работать будет. :)
SetVar "[stroka2]" "[stroka]" не известно что автор сабжа задумал дальше, может он собирался в масив собрать строки из файла? Тогда нужно было SetVar "[stroka[i]]" "[stroka]"
О, 0 уже исправлен. :)


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

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



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
Сообщение
Quote (DEMBEL)
это чудо инженерной мысли Alien придумал, типа бесконечный цикл )

Окаком бесконечном цикле речь? Первый пост, да. У Alien все правильно за исключением 0, но и так работать будет. :)
SetVar "[stroka2]" "[stroka]" не известно что автор сабжа задумал дальше, может он собирался в масив собрать строки из файла? Тогда нужно было SetVar "[stroka[i]]" "[stroka]"
О, 0 уже исправлен. :)

Автор - mishem
Дата добавления - 14 Июля 2011 в 10:19
AlienДата: Чт, 14 Июля 2011, 14:53 | Сообщение # 9
Quote (mishem)
SetVar "[stroka2]" "[stroka]" не известно что автор сабжа задумал дальше, может он собирался в масив собрать строки из файла? Тогда нужно было SetVar "[stroka[i]]" "[stroka]"

Кстати возможно, телепатия все же существует :D
Автор куда-то пропал :)
 
Сообщение
Quote (mishem)
SetVar "[stroka2]" "[stroka]" не известно что автор сабжа задумал дальше, может он собирался в масив собрать строки из файла? Тогда нужно было SetVar "[stroka[i]]" "[stroka]"

Кстати возможно, телепатия все же существует :D
Автор куда-то пропал :)

Автор - Alien
Дата добавления - 14 Июля 2011 в 14:53
СергейДата: Пт, 15 Июля 2011, 10:12 | Сообщение # 10
Необукер

Quote (mishem)
Первая строка разве не нужна?

Quote (max-farvater)
программа читала не 1 строку а последующую

Если предположить, что автору надо в первый раз прочитать первую строку, а потом игнорировать, то раб.код такой:
Quote
.колличество строк
FileLen "test.txt" "[cnt]"
.условие на 1 запуск
If "[primary]" "=" ""
.читаем первую строку
FileRead "test.txt" "1" "[result]"
.ставим флаг, что 1 строка уже прочитанна
SetVar "[primary]" "1"
EndIf
.собственно сам цикл
.чтение начинается со 2 строки
Loop "2" "[cnt]" "[x]"
FileRead "test.txt" "[x]" "[result]"
.Если необходимо, как предположили, в массив то надо поставить счетчик
.FileRead "test.txt" "[x]" "[result[x]]"
EndLoop
.хепи енд :)
AlertBox "Чтение файла..." "Обработка файла закончена"
и не нужен мопед :D


Сообщение отредактировано
Сергей - Пт, 15 Июля 2011, 10:15
 
Сообщение

Quote (mishem)
Первая строка разве не нужна?

Quote (max-farvater)
программа читала не 1 строку а последующую

Если предположить, что автору надо в первый раз прочитать первую строку, а потом игнорировать, то раб.код такой:
Quote
.колличество строк
FileLen "test.txt" "[cnt]"
.условие на 1 запуск
If "[primary]" "=" ""
.читаем первую строку
FileRead "test.txt" "1" "[result]"
.ставим флаг, что 1 строка уже прочитанна
SetVar "[primary]" "1"
EndIf
.собственно сам цикл
.чтение начинается со 2 строки
Loop "2" "[cnt]" "[x]"
FileRead "test.txt" "[x]" "[result]"
.Если необходимо, как предположили, в массив то надо поставить счетчик
.FileRead "test.txt" "[x]" "[result[x]]"
EndLoop
.хепи енд :)
AlertBox "Чтение файла..." "Обработка файла закончена"
и не нужен мопед :D

Автор - Сергей
Дата добавления - 15 Июля 2011 в 10:12
mishemДата: Пт, 15 Июля 2011, 10:35 | Сообщение # 11
Эксперт форума
Quote
If "[primary]" "=" ""
.читаем первую строку
FileRead "test.txt" "1" "[result]"
.ставим флаг, что 1 строка уже прочитанна
SetVar "[primary]" "1"
EndIf

А зачем все это? По такой логике нужно проверять и 2,3....
Quote
FileLen "test.txt" "[cnt]"
Loop "1" "[cnt]" "[x]"
FileRead "test.txt" "[x]" "[result]"
.Если необходимо, как предположили, в массив то надо поставить счетчик
.FileRead "test.txt" "[x]" "[result[x]]"
EndLoop

Quote (Сергей)
и не нужен мопед


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

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



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
Сообщение
Quote
If "[primary]" "=" ""
.читаем первую строку
FileRead "test.txt" "1" "[result]"
.ставим флаг, что 1 строка уже прочитанна
SetVar "[primary]" "1"
EndIf

А зачем все это? По такой логике нужно проверять и 2,3....
Quote
FileLen "test.txt" "[cnt]"
Loop "1" "[cnt]" "[x]"
FileRead "test.txt" "[x]" "[result]"
.Если необходимо, как предположили, в массив то надо поставить счетчик
.FileRead "test.txt" "[x]" "[result[x]]"
EndLoop

Quote (Сергей)
и не нужен мопед

Автор - mishem
Дата добавления - 15 Июля 2011 в 10:35
AlienДата: Пт, 15 Июля 2011, 11:16 | Сообщение # 12
Сергей, mishem, хватит телепатией заниматься, я предполагаю автор уже решил сию проблему :)
 
СообщениеСергей, mishem, хватит телепатией заниматься, я предполагаю автор уже решил сию проблему :)

Автор - Alien
Дата добавления - 15 Июля 2011 в 11:16
СергейДата: Пт, 15 Июля 2011, 14:34 | Сообщение # 13
Необукер
Quote (mishem)
А зачем все это? По такой логике нужно проверять и 2,3...
рассмешил :D
Тему можно закрыть, т.к. автор не ясно выразился, он просто не смог использовать счетчик и у него постоянно считывало 1 строку. Надо было его в справку послать, ну да ладно :)


Сообщение отредактировано
Сергей - Пт, 15 Июля 2011, 14:35
 
Сообщение
Quote (mishem)
А зачем все это? По такой логике нужно проверять и 2,3...
рассмешил :D
Тему можно закрыть, т.к. автор не ясно выразился, он просто не смог использовать счетчик и у него постоянно считывало 1 строку. Надо было его в справку послать, ну да ладно :)

Автор - Сергей
Дата добавления - 15 Июля 2011 в 14:34
  • Страница 1 из 1
  • 1
Поиск: