Важная информация
Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 15

Тема: При создании .exe выдает ошибку

  1. #1 При создании .exe выдает ошибку 
    Новичок
    Регистрация
    10.08.2011
    Сообщений
    8
    Сказал(а) спасибо
    1
    Поблагодарили 0 раз(а) в 0 сообщениях
    Написал простенькую программу используя QBasic. При запуске программынепосредственно в QBasic все работает нормально, но при попытке создать исполняемый файл .ехе выдает ошибку. Помогите пожалуйста разобраться в проблемме.[Ссылки могут видеть только зарегистрированные пользователи. ]
    Ответить с цитированием  
     

  2. #2  
    Супер модератор Аватар для Kakos_nonos
    Регистрация
    07.01.2011
    Адрес
    Кубань
    Сообщений
    1,531
    Сказал(а) спасибо
    126
    Поблагодарили 428 раз(а) в 291 сообщениях
    Записей в блоге
    6
    А какой выводит текст, когда ошибку показывает?
    [Ссылки могут видеть только зарегистрированные пользователи. ]
    Ответить с цитированием  
     

  3. #3  
    Новичок
    Регистрация
    10.08.2011
    Сообщений
    8
    Сказал(а) спасибо
    1
    Поблагодарили 0 раз(а) в 0 сообщениях
    Program successfully parsed. 67 statements.
    Error at 7:5: Subscript used on non-array 'FIX'
    Error at 22:5: Subscript used on non-array 'FIX'
    Error at 37:5: Subscript used on non-array 'FIX'
    Error at 52:5: Subscript used on non-array 'FIX'
    Error at 67:5: Subscript used on non-array 'FIX'
    Error at 82:5: Subscript used on non-array 'FIX'
    Error at 97:5: Subscript used on non-array 'FIX'
    Error at 112:5: Subscript used on non-array 'FIX'
    Error at 127:5: Subscript used on non-array 'FIX'
    Error at 142:5: Subscript used on non-array 'FIX'
    There were errors.
    Error at 7:5: Subscript used on non-array 'FIX'
    Error at 22:5: Subscript used on non-array 'FIX'
    Error at 37:5: Subscript used on non-array 'FIX'
    Error at 52:5: Subscript used on non-array 'FIX'
    Error at 67:5: Subscript used on non-array 'FIX'
    Error at 82:5: Subscript used on non-array 'FIX'
    Error at 97:5: Subscript used on non-array 'FIX'
    Error at 112:5: Subscript used on non-array 'FIX'
    Error at 127:5: Subscript used on non-array 'FIX'
    Error at 142:5: Subscript used on non-array 'FIX'

    Если попробовать через онлайн компилятор. Если через Qbasic то ошибка на скрине[Ссылки могут видеть только зарегистрированные пользователи. ]
    Ответить с цитированием  
     

  4. #4  
    Супер модератор Аватар для Kakos_nonos
    Регистрация
    07.01.2011
    Адрес
    Кубань
    Сообщений
    1,531
    Сказал(а) спасибо
    126
    Поблагодарили 428 раз(а) в 291 сообщениях
    Записей в блоге
    6
    Попробуйте вместо FIX написать INT
    [Ссылки могут видеть только зарегистрированные пользователи. ]
    Ответить с цитированием  
     

  5. #5  
    Новичок
    Регистрация
    10.08.2011
    Сообщений
    8
    Сказал(а) спасибо
    1
    Поблагодарили 0 раз(а) в 0 сообщениях
    Не помогло, при онлайн запуске выводится начала кода, где текст и все. При офлайн способе, также ошибка.
    Ответить с цитированием  
     

  6. #6  
    Гуру Аватар для Абадябер
    Регистрация
    09.12.2010
    Адрес
    Беларусь, Минск
    Сообщений
    1,219
    Сказал(а) спасибо
    302
    Поблагодарили 176 раз(а) в 144 сообщениях
    Записей в блоге
    5
    Сначала подумал, что есть ошибка в коде, заменил FIX на INT, на всякий случай объвил переменные как LONG.
    Все оказалось проще. У вас первая строка текста с приветствием очень длинная. Она нормально обрабатывается интерпретатором, но не компилируется. Я разрезал строку на несколько более мелких, и прикрепил полученный файл - теперь он хорошо компилируется в QB45
    По поводу онлайн-интерпретатора. Он довольно слабый - не понимает множества команд - на нем вообще не советую тестировать свои программы. Пользуйтесь QB и другими интерпретаторами\компиляторами бейсика. Успехов вам
    Вложения
    • Тип файла: zip bmr.zip (828 байт, Просмотров: 1)
    Дружба-магия-радость!
    Ответить с цитированием  
     

  7. #7  
    Новичок
    Регистрация
    10.08.2011
    Сообщений
    8
    Сказал(а) спасибо
    1
    Поблагодарили 0 раз(а) в 0 сообщениях
    Абадябер т.е если я вас правильно понимаю то вся проблема в том что в первой команде/строчке слишком много букв, нужно разбить на несколько отдельных команд? Если я вас правильно понял то какие советы вы дадите в дальнейшем чтобы и интерпретатор и компилятор работали нормально, или тут нужно руками пробовать и перебирать варианты решений?
    Ответить с цитированием  
     

  8. #8  
    Гуру Аватар для Абадябер
    Регистрация
    09.12.2010
    Адрес
    Беларусь, Минск
    Сообщений
    1,219
    Сказал(а) спасибо
    302
    Поблагодарили 176 раз(а) в 144 сообщениях
    Записей в блоге
    5
    В принципе да. И дело даже не в том, что с этим не справлялась сама команда PRINT. PRINT как раз нормально выводит строки длиной как минимум 255 символов, как больше, не знаю, не проверял. На будущее старайтесь не задавать в кавычках "очень длинные строки" - с этим могут быть проблемы.Лучше любую строку ограничивать примерно 80 символами, а если одной командой требуется вывести больше, то можно поступить так:
    Код qbasic:
    [Ссылки могут видеть только зарегистрированные пользователи. ] Tex$
    Tex$ = "очень длинная строка........"
    Tex$ = Tex$ + "еще одна строка......."
    [Ссылки могут видеть только зарегистрированные пользователи. ] Tex$

    Главный совет - это набирать руками правильный код, тогда и интерпретатор и компилятор будут работать нормально
    Если серьезно, то посоветую вам объявлять переменные командами DIM. Например "Dim X, Y, Z". Или "Dim Tex$", "Dim X As Long". Так можно сразу задать их тип. Очень плохо, что в QuickBasic нельзя запрещать использование переменных без их объявляния. Тем самым, допустив опечатку в имени переменной, потом вы сможете столкнуться с трудностями: вроде программа и компилируется, но работает НЕ ТАК.
    Погуглите что нибудь вроде "хороший стиль программирования" и "форматирование кода". Там могут быть советы, как грамотно оформлять программу - это может пригодиться Также посоветую листать встроенный в QB справочник - он уж очень хорош, описано практически все - а в версии 1.0 он еще доступен и на русском языке =)
    Дружба-магия-радость!
    Ответить с цитированием  
     

  9. Пользователь сказал cпасибо:

    Редиска (11.08.2011)

  10. #9  
    Новичок
    Регистрация
    10.08.2011
    Сообщений
    8
    Сказал(а) спасибо
    1
    Поблагодарили 0 раз(а) в 0 сообщениях
    Листал я справочник, там вроде есть все описания всех команд, но моих знаний пока что не хватает на грамотное понятие встроенного справочника. Обычно ищу в интернете готовые примеры нужной мне команды. Абадябер спасибо большое за советы, не все конечно понял про "объявлять переменные командами DIM" но буду разбираться.
    Ответить с цитированием  
     

  11. #10  
    Супер модератор Аватар для Kakos_nonos
    Регистрация
    07.01.2011
    Адрес
    Кубань
    Сообщений
    1,531
    Сказал(а) спасибо
    126
    Поблагодарили 428 раз(а) в 291 сообщениях
    Записей в блоге
    6
    Объявлять переменные командой DIM это значит, что все меременные, которые будут использоваться в программе, надо объявлять вначале программы вот так

    DIM I
    DIM X
    DIM A

    Это позволит избежать путаницы и ошибок.
    [Ссылки могут видеть только зарегистрированные пользователи. ]
    Ответить с цитированием  
     

Страница 1 из 2 12 ПоследняяПоследняя
Информация о теме
Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Ответов: 14
    Последнее сообщение: 23.08.2011, 01:06
  2. Ответов: 5
    Последнее сообщение: 24.05.2011, 12:53
  3. Ответов: 3
    Последнее сообщение: 05.03.2011, 23:46
  4. Ответов: 6
    Последнее сообщение: 09.12.2010, 18:40
Ваши права
  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •