Форум
Написать нам
  • Страница 1 из 1
  • 1
Модератор форума: as-master  
Форум MMB » Всё о программе Multimedia Builder » Сценарии в MMB » Ну вот, ещё один баг
Ну вот, ещё один баг
basmeДата: Понедельник, 11 Августа 2008, 21:33 | Сообщение # 1
MMB Club
Группа: Проверенные
Сообщений: 358
Репутация: 5
Награды: 2
Статус: Offline
Блин, скока уже с ММВ работаю, тока заметил, а может, это только в последней версии появилось - если строка в апострофах заканчивается символом \, то Бэха не принимает такой синтаксис, например:
Code
path$='C:\'

уже не принимается, говорит, пропущенный апостроф.
Кто знает, как это обойти-то хоть, а то надо путь к файлу позарез прописать именно со слешем.
 
as-masterДата: Понедельник, 11 Августа 2008, 21:36 | Сообщение # 2
Разводящий
Группа: Модераторы
Сообщений: 2337
Репутация: 101
Награды: 5
Статус: Offline
Просто ставишь вместо одного слэша две штуки - и вперёд! :)))

Кстати, это именно слэш, а не апостроф. Апостроф - он вот такой: '


Да пребудет с вами ММВ!
 
YURIYДата: Понедельник, 11 Августа 2008, 21:42 | Сообщение # 3
Злостный админ
Группа: Администраторы
Сообщений: 3018
Репутация: 71
Награды: 28
Статус: Offline
Quote (as-master)
Кстати, это именно слэш, а не апостроф. Апостроф - он вот такой: '

Ты немножко не понял: в ошибке упоминается именно апостроф.



Вечная память Андрею Сергееву!
 
Alex3AДата: Понедельник, 11 Августа 2008, 22:25 | Сообщение # 4
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
Какой такой глюк?
АЗЫ:
Текст в скриптах ограничеваеться знаком ' , a$='проба',
ЕСЛИ ВАМ НАДО напечатать в тексте знак ' , используеться так называемый
слеш, который не печатаеться, в данном контексте, а служит знаком отменяющим
действие ' для скрипта(как знака определяющего границы строки).
a$='проба \' пера'
Возможно вместо этого применять функцию CHR(код символа)
Такими способами обычно в языках програмирования обеспечивают интерпритацию
символов служащих для форматирования, как печатных.

Добавлено (11 Август 2008, 22:22)
---------------------------------------------
Конечно, a$='чтото там\' буде неправильно восприниматься, ведь последний апостроф ОТМЕНЕН!
НЕ трудно сообразить - a$='чтото там\' '

Добавлено (11 Август 2008, 22:25)
---------------------------------------------
А если надо слеш a$='чтото там\\'

 
basmeДата: Вторник, 12 Августа 2008, 11:59 | Сообщение # 5
MMB Club
Группа: Проверенные
Сообщений: 358
Репутация: 5
Награды: 2
Статус: Offline
Quote (Alex3A)
служит знаком отменяющим действие

Не знал, спасибо.
Quote (Alex3A)
Возможно вместо этого применять функцию CHR(код символа)

О, точно. CHR(92)=\. Получилось, тенькс.
 
as-masterДата: Вторник, 12 Августа 2008, 15:18 | Сообщение # 6
Разводящий
Группа: Модераторы
Сообщений: 2337
Репутация: 101
Награды: 5
Статус: Offline
И тем не менее, я пишу просто path$='C:\папка\\' и это срабатывает ВСЕГДА.
Другое дело, когда слэш используется НЕ для указания пути.


Да пребудет с вами ММВ!
 
YURIYДата: Вторник, 12 Августа 2008, 15:19 | Сообщение # 7
Злостный админ
Группа: Администраторы
Сообщений: 3018
Репутация: 71
Награды: 28
Статус: Offline
Quote (as-master)
И тем не менее, я пишу просто path$='C:\папка\\' и это срабатывает ВСЕГДА.

Всё правильно делаешь.



Вечная память Андрею Сергееву!
 
Alex3AДата: Вторник, 12 Августа 2008, 18:36 | Сообщение # 8
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
Quote (as-master)
И тем не менее, я пишу просто path$='C:\папка\\'

Это просто проще, для CHR нужно еще залезть и посмотреть нужный код, напрягает.
 
drorДата: Среда, 25 Февраля 2009, 20:05 | Сообщение # 9
Новый участник
Группа: Проверенные
Сообщений: 25
Репутация: 0
Награды: 0
Статус: Offline
Баги кажется не закончились. Вот вам еще маленький и безопасный жучек:
MoveTo("bludote","220+w),220-h)")
Здесь две лишние скобки. Тем не менее скрипт выполняется словно все в порядке.
Напишу проще
MoveTo("bludote","220),220)")
Прикрепления: smallbag.mbd (1.1 Kb)


Желаю всем...
 
toizyДата: Среда, 25 Февраля 2009, 20:30 | Сообщение # 10
Студийная субстанция
Группа: Администраторы
Сообщений: 2309
Репутация: 29
Награды: 12
Статус: Offline
Это синтаксический анализатор гонит... он там не фонтан

Жизнь оказалась не такой уж и забавной, как поначалу...
 
Alex3AДата: Четверг, 26 Февраля 2009, 02:31 | Сообщение # 11
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
Quote (toizy)
Это синтаксический анализатор гонит... он там не фонтан

Quote (dror)
Тем не менее скрипт выполняется словно все в порядке

Это как раз пример его ума! Ведь он разобрался, кто дурак!
А если серьезно, в некоторых языках, символы числа воспринимаються до первого
некорректного знака (при преобразовании строки в число), так что с логикой у него все впорядке,
он более лояльный. А если уже первый знак не числовой то результат =0.
 
toizyДата: Четверг, 26 Февраля 2009, 13:24 | Сообщение # 12
Студийная субстанция
Группа: Администраторы
Сообщений: 2309
Репутация: 29
Награды: 12
Статус: Offline
Я так не думаю. Та же делфи не допускает подобных грубых ошибок. То, что анализатор пропустил такой ляп, говорит о его глупости, имхо. В то же внемя, он лихо и с удовольствием комментирует каждую строчку, которая ему не нравится, правка превращается в мучение.

Жизнь оказалась не такой уж и забавной, как поначалу...
 
Alex3AДата: Четверг, 26 Февраля 2009, 13:45 | Сообщение # 13
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
При преобразовании строки в число бытует два подхода, жесткий и лояльный,
при жестком сразу мат (типа но интегер валуе), а при лояльном преобразовывают до
последнего знака соответствующего числу.
Code
procedure TForm1.Button30Click(Sender: PObj);
var s:string;
i:integer;
begin
s:='230)';
i:=str2int(s);
showmessage(int2str(i));
end;

Результат 230.
Лояльный алгоритм имеется так же в пхп и иных языках.
 
toizyДата: Четверг, 26 Февраля 2009, 14:56 | Сообщение # 14
Студийная субстанция
Группа: Администраторы
Сообщений: 2309
Репутация: 29
Награды: 12
Статус: Offline
Подозреваю, это в кол так, в всл сразу ругаться будет. или нет?

Жизнь оказалась не такой уж и забавной, как поначалу...
 
Alex3AДата: Четверг, 26 Февраля 2009, 16:06 | Сообщение # 15
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
Quote (toizy)
в всл сразу ругаться будет. или нет?

Попробуй наверное да.
vcl отличаеться от кола большей способностью к блохоловле.
Мое мнение лучше что бы тебя правильно понимали, вне зависимости от твоих ошибок,
чем все время тебя материли за каждый синтаксический ляп.
 
Форум MMB » Всё о программе Multimedia Builder » Сценарии в MMB » Ну вот, ещё один баг
  • Страница 1 из 1
  • 1
Поиск: