Вниз  RFO BASIC
- 18.08.2016 / 15:07
19Ram84
  Пользователь

19Ram84 
Сейчас: Offline
Попытался сделать операцию цикла, не вышло :-(
В чем ошибка?
  1. BYTE.OPEN r,file1,"1.txt"%Открываем файл чтения
  2. FOR file1=1 TO 10 STEP 1
  3.  BYTE.READ.BYTE file1%читаем байт
  4.  NEXT file1
  5.  BYTE.OPEN w,file2,"2.txt"
  6.  FOR file2=1 TO 10 STEP 1
  7.   BYTE.WRITE.BYTE file2 %вписывается байты
  8.   NEXT file2
  9.   PRINT a6,a5,a4,a3,a2,a1,a %Выводим на экран
  10.   BYTE.CLOSE file2 %Закрываем файл
  11.   PRINT "готово"

- 18.08.2016 / 15:53
vh180477
  Пользователь

vh180477 
Сейчас: Offline
Пытался уровень сделать:

Открыть спойлер


Изменено vh180477 (18.08 / 15:59) (всего 1 раз)


Прикрепленные файлы:
уровень.bas (1 кб.) Скачано 2193 раза
- 18.08.2016 / 15:54
vh180477
  Пользователь

vh180477 
Сейчас: Offline
19Ram84, Ты в качестве счётчика в цикле FOR NEXT используешь ссылку на файл. Так нельзя!!
- 18.08.2016 / 16:05
19Ram84
  Пользователь

19Ram84 
Сейчас: Offline
vh180477, А если так?
  1. FOR file1=1 TO 10 STEP 1
  2.  BYTE.OPEN r,file1,"1.txt"%Открываем файл
  3.  BYTE.READ.BYTE file1,a%читаем байт
  4.  NEXT file1
  5.  FOR file2=1 TO 10 STEP 1
  6.   BYTE.OPEN w,file2,"2.txt"
  7.   BYTE.WRITE.BYTE file2,a %вписывается байты
  8. NEXT file2
  9. PRINT a,b,c,d,e,f,g %Выводим на экран
  10. !BYTE.CLOSE file1 %Закрываем файл
  11. !BYTE.CLOSE file2
  12. PRINT "готово"
Тоже не работает.
- 18.08.2016 / 16:09
vh180477
  Пользователь

vh180477 
Сейчас: Offline
Открываешь файл и ссылка(номер потока в мобиле басик) у тебя переменная file1. Дальше ты как будто фантазии нету эту же переменную используешь в качестве счётчика в цикле FOR file1=1 . Можно же допустим использовать переменную q или x. :) И вообще в цикле открывать файл 10 раз !!! зачем файл можно открыть перед циклом и прочитать из него 10 байт.

Изменено vh180477 (18.08 / 16:15) (всего 2 раза)
- 18.08.2016 / 16:18
19Ram84
  Пользователь

19Ram84 
Сейчас: Offline
vh180477, Ну вот сделал, все равно не работает =)
  1. FOR x=1 TO 10 STEP 1
  2.  BYTE.OPEN r,file1,"1.txt"%Открываем файл
  3.  BYTE.READ.BYTE file1,a%читаем байт
  4.  NEXT x
  5.  FOR y=1 TO 10 STEP 1
  6.   BYTE.OPEN w,file2,"2.txt"
  7.     BYTE.WRITE.BYTE file2,a %вписывается байты
  8.  NEXT y
  9.  PRINT a,b,c,d,e,f,g %Выводим на экран
  10. !BYTE.CLOSE file1 %Закрываем файл
  11. !BYTE.CLOSE file2
  12. PRINT "готово"

- 18.08.2016 / 16:19
vh180477
  Пользователь

vh180477 
Сейчас: Offline
А так ?
  1. BYTE.OPEN r,file1,"1.txt"%Открывать файл надо снаружи цикла
  2. FOR q=1 TO 10 STEP 1
  3.     BYTE.READ.BYTE file1,a%читать внутри 10 раз, а открвать файл 10 раз внутри цикла плохо
  4. NEXT q
  5. BYTE.OPEN w,file2,"2.txt"
  6. FOR q=1 TO 10 STEP 1
  7.     BYTE.WRITE.BYTE file2,a %вписывается байты
  8. NEXT q
  9. PRINT a,b,c,d,e,f,g %Выводим на экран
  10. !BYTE.CLOSE file1 %Закрываем файл
  11. !BYTE.CLOSE file2
  12. PRINT "готово"

Только файл 1.тхт должен уже существовать иначе будет ошибка.

Изменено vh180477 (18.08 / 16:22) (всего 2 раза)
- 18.08.2016 / 16:29
19Ram84
  Пользователь

19Ram84 
Сейчас: Offline
vh180477, Не Работает.
Точнее работает, но копирует не считанные Байты, а. какие то свои hhhhhhh
Что то не то
И почему у тебя, на разные потоки, одинаковые переменные циклов?
- 18.08.2016 / 16:34
vh180477
  Пользователь

vh180477 
Сейчас: Offline
19Ram84, Скажи точно что ты хочешь получить в итоге? Я напишу как. Просто читаешь всё в одну переменную a
BYTE.READ.BYTE номер потока(ссылка на открытый файл),переменная в которую прочитать(у тебя переменная a,в неё всё и читается)
- 18.08.2016 / 16:44
19Ram84
  Пользователь

19Ram84 
Сейчас: Offline
vh180477, Ладно.
Нужно открыть файл 1.txt, считать оттуда скажем 40 байтов, затем открыть файл 2.txt и вписать туда эти байты, а затем вывести командой принт, считанные байты из 2.txt.
  Зачем нужен цикл?
Потому что в реальной ситуации нужно считывать не меньше 100000байт
Наверх  Всего сообщений: 2716
Фильтровать сообщения
Поиск по теме
Файлы топика (511)