Форум
Написать нам
  • Страница 2 из 2
  • «
  • 1
  • 2
Модератор форума: as-master  
Форум MMB » Всё о программе Multimedia Builder » Общие вопросы по MMB » Сокращение строк (Дублирование)
Сокращение строк
Sam726Дата: Среда, 28 Апреля 2010, 21:19 | Сообщение # 31
Поднаторевший
Группа: Проверенные
Сообщений: 141
Репутация: 0
Награды: 0
Статус: Offline
Да с путями там все нормально. Я компелирую проэкт и запускаю. А оно ни-ни. И в отладчике я чет ничего не пойму. Что он там показывает и ч то он хочет... scratch
Вот блин. Главное в список нормально грузит
Code
For i=1 To 42
    file$='<SrcDir>\Data\Holidays.dat'
    a1$=StrFromFile(file$,i,1)
    SongListAdd("a1$")
Next i

А в текст не хочет...
Code
For i=1 To 42
    a1$='Text'+CHAR(i)
    file$='<SrcDir>\Data\Number.dat'
    a2$=StrFromFile(file$,i,1)
    LoadText("a1$","a2$")
Next i

И при проверке черех сообщения все норм! Ну... Ну я в шоке!!!




Сообщение отредактировал Sam726 - Среда, 28 Апреля 2010, 21:26
 
YURIYДата: Среда, 28 Апреля 2010, 22:26 | Сообщение # 32
Злостный админ
Группа: Администраторы
Сообщений: 3018
Репутация: 71
Награды: 28
Статус: Offline
Quote (Sam726)
А в текст не хочет...

Давай сюда кусок проекта с этим. У меня твой код прекрасно работает. Что-то делаешь не так.

Quote (Sam726)
И в отладчике я чет ничего не пойму. Что он там показывает и ч то он хочет...

Капец... Что же там может быть неясного? scared

Пример. Создал проект, в кнопке написал a=5. Запускаем отладчик, жмём кнопку и видим, что реально переменной a присвоено значение 5:

Также в нём показываются значения основных констант.

Если ты не понимаешь этого, зачем ты занялся программированием? На простом сложно, что же будет дальше? :( Я не хочу тебя обидеть, я просто боюсь, что ты тратишь своё время зря!

Потому я тебе и советую для второго кода использовать отладчик и ты увидишь, что твоим переменным присваивается откровенная ерунда, после чего делается вывод, где именно ты совершил ошибку.

Программирование без отладки - страшенный геморрой, пойми.

Прикрепления: 6425349.png (16.2 Kb)



Вечная память Андрею Сергееву!
 
Sam726Дата: Четверг, 29 Апреля 2010, 12:01 | Сообщение # 33
Поднаторевший
Группа: Проверенные
Сообщений: 141
Репутация: 0
Награды: 0
Статус: Offline
Да! Я то понимаю чуток что там и к чему. Просто я стараюсь сразу все проверять в отдельном окне и как ты раньше говорил вставлять в сообщение. А в сообщении все норм, ну и я его втулил в основной проэкт, а оно не фурычит. Вообщем я еще все обсмотрю, если не найду, то выложу кусок проэкта..

Добавлено (29 Апрель 2010, 12:01)
---------------------------------------------
хм... Знае в чем прикол. Прикол в том что первый этап роботает For i=1 To 42, а второй не хочет For i=43 To 84. Даж не знаю что как и почему... :(


 
YURIYДата: Четверг, 29 Апреля 2010, 16:39 | Сообщение # 34
Злостный админ
Группа: Администраторы
Сообщений: 3018
Репутация: 71
Награды: 28
Статус: Offline
Телепаты в отпуске :)


Вечная память Андрею Сергееву!
 
Sam726Дата: Четверг, 29 Апреля 2010, 21:59 | Сообщение # 35
Поднаторевший
Группа: Проверенные
Сообщений: 141
Репутация: 0
Награды: 0
Статус: Offline
Ха! Вот идиот блин. Внимательно ж нужно все оценивать и понимать все действия...
Вообщем я понял в чем проблема, но не знаю как её исправить.
Значит так. Первая загрузка идет правельно, а вторая не идет потому что мы вместе с номерами строк a2$=StrFromFile(file$,i,1) грузим и номера текстовых обектов a1$='Text'+CHAR(i), а они то у нас остаются неизменными, с 1 по 42. А в другом коде начало идет с 43 и естественно такого объекта нет и оно не фурычит.
Есть идеи как бы его... :)


 
YURIYДата: Пятница, 30 Апреля 2010, 00:08 | Сообщение # 36
Злостный админ
Группа: Администраторы
Сообщений: 3018
Репутация: 71
Награды: 28
Статус: Offline
Quote (Sam726)
А в другом коде начало идет с 43 и естественно такого объекта нет и оно не фурычит.

Наконец-то проснулся!

Quote (Sam726)
Есть идеи как бы его...

Здесь не нужны идеи. Элементарная логика:

Quote (Sam726)
a1$='Text'+CHAR(i)

Это стираем, а заместо пишем:

Code
j=i+42
a1$='Text'+CHAR(j)

Прибавляем к i нужное число, и получаем номер, с которого будут начинаться объекты.



Вечная память Андрею Сергееву!
 
Sam726Дата: Пятница, 30 Апреля 2010, 22:50 | Сообщение # 37
Поднаторевший
Группа: Проверенные
Сообщений: 141
Репутация: 0
Награды: 0
Статус: Offline
Пасиб Вот так получается нужно... :)
Code
For i=1 To 42
   a1$='Text'+CHAR(i)
   file$='<SrcDir>\Data\Number.dat'
   ** А тут постепенно будем увеличивать 42,84,126... Правельно?
   j=i+0
   a2$=StrFromFile(file$,j,1)
   LoadText("a1$","a2$")
Next i

Добавлено (30 Апрель 2010, 22:50)
---------------------------------------------
Ну писец... Реально полтергейст завелся...


 
YURIYДата: Суббота, 01 Мая 2010, 00:30 | Сообщение # 38
Злостный админ
Группа: Администраторы
Сообщений: 3018
Репутация: 71
Награды: 28
Статус: Offline
Quote (Sam726)
Ну писец... Реально полтергейст завелся...

Ты сделал вообще чётко, как я написал выше...

В итоге у тебя вышло:

Quote (Sam726)
For i=1 To 42
   a1$='Text'+CHAR(i)
   file$='<SrcDir>\Data\Number.dat'
   ** А тут постепенно будем увеличивать 42,84,126... Правельно?
   j=i+0
   a2$=StrFromFile(file$,j,1)
   LoadText("a1$","a2$")
Next i

Ты осознаёшь, что делаешь вообще?



Вечная память Андрею Сергееву!
 
Sam726Дата: Суббота, 01 Мая 2010, 09:52 | Сообщение # 39
Поднаторевший
Группа: Проверенные
Сообщений: 141
Репутация: 0
Награды: 0
Статус: Offline
Не, ну а че... :(
Ты ж писал что к j мы будем добавлять j=i+42 но она получается в a1$='Text'+CHAR(j). Но мне то не нужно менять в тексте, в тексте остается 1-42. А вот в StrFromFile будет менятся номер строчки 1-42, 43-84... Значит там нужно плюсовать scared или я опять что-то не то смастерил... :(




Сообщение отредактировал Sam726 - Суббота, 01 Мая 2010, 09:56
 
YURIYДата: Суббота, 01 Мая 2010, 16:28 | Сообщение # 40
Злостный админ
Группа: Администраторы
Сообщений: 3018
Репутация: 71
Награды: 28
Статус: Offline
Quote (Sam726)
Но мне то не нужно менять в тексте, в тексте остается 1-42. А вот в StrFromFile будет менятся номер строчки 1-42, 43-84... Значит там нужно плюсовать

Quote (Sam726)
А в другом коде начало идет с 43 и естественно такого объекта нет и оно не фурычит.

Блииииин! То с текстовым объектом были проблемы, теперь, оказывается, с чтением нужной строки...

Определись конкретно что нужно. Конкретно опиши свою проблему, по пунктам!



Вечная память Андрею Сергееву!
 
Sam726Дата: Суббота, 01 Мая 2010, 18:07 | Сообщение # 41
Поднаторевший
Группа: Проверенные
Сообщений: 141
Репутация: 0
Награды: 0
Статус: Offline
Загрузка строк текста из файла!
Первая загрузка - Работает.
Code
For i=1 To 42
   a1$='Text'+CHAR(i)
   file$='<SrcDir>\Data\Number.dat'
   a2$=StrFromFile(file$,i,1)
   LoadText("a1$","a2$")
Next i
RunScript("Reset")

Вторая загрузка - Работает
Code
For i=1 To 42
   a1$='Text'+CHAR(i)
   file$='<SrcDir>\Data\Number.dat'
   j=i+42
   a2$=StrFromFile(file$,j,1)
   LoadText("a1$","a2$")
Next i
RunScript("Reset")

Третья и все последующие - НЕТ!!!
Code
For i=1 To 42
   a1$='Text'+CHAR(i)
   file$='<SrcDir>\Data\Number.dat'
   j=i+84
   a2$=StrFromFile(file$,j,1)
   LoadText("a1$","a2$")
Next i
RunScript("Reset")

Я наверное все что только мог уже перепробовал, разные методы и способы. Но видно не все или где-то допустился ошибки. Хотя опять таки, в сообщении все четко работает.
Code
For i=1 To 42
   file$='<SrcDir>\Data\Number.dat'
   bbc$=CHAR(84)+CHAR(i)
   txt$=StrFromFile(file$,bbc$,1)
   LoadText("Text[i]","txt$")
Next i
RunScript("Reset")
Это образцы...
For i=1 To 42
   file$='<SrcDir>\Data\Number.dat'
   Year$='84'
   Year=VAL(Year$)
   Year=Year+i
   bbc$=CHAR(Year)
   txt$=StrFromFile(file$,bbc$,1)
   LoadText("Text[i]","txt$")
Next i
RunScript("Reset")


 
YURIYДата: Суббота, 01 Мая 2010, 18:09 | Сообщение # 42
Злостный админ
Группа: Администраторы
Сообщений: 3018
Репутация: 71
Награды: 28
Статус: Offline
Quote (Sam726)
Третья и все последующие - НЕТ!!!

Что именно "нет"? Что конкретно "не работает"?



Вечная память Андрею Сергееву!
 
Sam726Дата: Суббота, 01 Мая 2010, 21:44 | Сообщение # 43
Поднаторевший
Группа: Проверенные
Сообщений: 141
Репутация: 0
Награды: 0
Статус: Offline
Все! Работает! :D
Code
For i=1 To 42
      a1$='Text'+CHAR(i)
      file$='<SrcDir>\Data\Number.dat'
      n=i+42
      a2$=StrFromFile(file$,n,1)
      LoadText("a1$","a2$")  
Nex t i

То возможно из-за добавки RunScript("Reset"). Я её убрал и все стало нормально. Хотя я не понимаю. Оно ж не должно мешать, правельно???
Этот масив можно вставлять в ощий скрип, в перемешку с другими командами, не именно отдельно ж, да???




Сообщение отредактировал Sam726 - Суббота, 01 Мая 2010, 21:47
 
YURIYДата: Суббота, 01 Мая 2010, 23:29 | Сообщение # 44
Злостный админ
Группа: Администраторы
Сообщений: 3018
Репутация: 71
Награды: 28
Статус: Offline
Quote (Sam726)
Хотя я не понимаю. Оно ж не должно мешать, правельно???

lol

Блин, даже не знаю, что сказать. Если в скрипте Reset ты прописал что-то, что конфликтует с твоим основным, то мешать ещё как может.

Quote (Sam726)
Этот масив можно вставлять в ощий скрип, в перемешку с другими командами, не именно отдельно ж, да???

Покажи мне массив в своём скрипте. Я лично не вижу.



Вечная память Андрею Сергееву!
 
Sam726Дата: Воскресенье, 02 Мая 2010, 17:22 | Сообщение # 45
Поднаторевший
Группа: Проверенные
Сообщений: 141
Репутация: 0
Награды: 0
Статус: Offline
Quote
Если в скрипте Reset ты прописал

Да нет. Тот скрипт вообще с объектами роботает. Меняет их цвет.
Quote
Покажи мне массив в своём скрипте. Я лично не вижу.

Вот допустим первый командный скрипт:
Code
SongListReset()
LoadText("Text","Текст1")
ReplaceImage("Fon","<SrcDir>\Data\01.jpg")
For i=1 To 42
    file$='<SrcDir>\Data\Data.dat'
    a1$=StrFromFile(file$,i,1)
    SongListAdd("a1$")
Next i
RunScript("Number1")
RunScript("Reset")

В скрипте Number1 то что мы так бурно тут обсуждали. Ну и я так думаю лучше их не смешивать в один скрипт. Или можно, только переменные сменить???
Пример (чет типа такого):
Code
SongListReset()
LoadText("Text","Текст1")
ReplaceImage("Fon","<SrcDir>\Data\01.jpg")
For i=1 To 42
    file$='<SrcDir>\Data\Data.dat'
    a1$=StrFromFile(file$,i,1)
    SongListAdd("a1$")
Next i
For i=1 To 42   
        a1$='Text'+CHAR(i)   
        file$='<SrcDir>\Data\Number.dat'   
        n=i+42   
        a2$=StrFromFile(file$,n,1)   
        L oadText("a1$","a2$")    
Nex t i
RunScript("Reset")

Два масива вместе в одном скрипте не будут давать збоем? Вот так вот получается :)




Сообщение отредактировал Sam726 - Воскресенье, 02 Мая 2010, 17:23
 
YURIYДата: Воскресенье, 02 Мая 2010, 18:02 | Сообщение # 46
Злостный админ
Группа: Администраторы
Сообщений: 3018
Репутация: 71
Награды: 28
Статус: Offline
Quote (Sam726)
Да нет. Тот скрипт вообще с объектами роботает. Меняет их цвет.

Ха, дружочек, значит не только. Как-то же он сбивает работу основного сценария.

Quote (YURIY)
Покажи мне массив в своём скрипте. Я лично не вижу.

Quote (Sam726)
Вот допустим первый командный скрипт:

Вынужден тебя огорчить, но в приведённых тобой сценариях нет ни одного массива :(

Quote (Sam726)
Ну и я так думаю лучше их не смешивать в один скрипт. Или можно, только переменные сменить???

Смешивать можно, если с умом. Если на несколько объектов-скриптов разделишь - ничего не изменится, кроме удобства восприятия работы (если оно необходимо). Зачем переменные новые заводить, если ты меняешь их значения постоянно?

Главное, чтобы ничего не конфликтовало и логика работы соблюдалась.



Вечная память Андрею Сергееву!
 
Sam726Дата: Воскресенье, 02 Мая 2010, 20:41 | Сообщение # 47
Поднаторевший
Группа: Проверенные
Сообщений: 141
Репутация: 0
Награды: 0
Статус: Offline
Я примерно понял. Спасиб :)

 
Форум MMB » Всё о программе Multimedia Builder » Общие вопросы по MMB » Сокращение строк (Дублирование)
  • Страница 2 из 2
  • «
  • 1
  • 2
Поиск: