вот за что я не люблю 1с дак это за то, что там надо тупо знать как что-то делается. Порой догадаться невозможно.
Ну и собственно вопросы:
1) есть ли простой способ сделать XOR на 1с? типа 65 XOR 67 = 2? (если есть примеры для других команд типа AND, OR, NOT – то пишите тоже)
2) какая команда позволяет циклу не зависать? (то есть какой в 1с аналог дельфовой функции ProcessMessages?)
3) как организовать задержку выполнения функции на определнное число миллисекунд?
22 ноября 2008 в 19:02
Помогите пожалуйста установить пороль в 1с предприятии 8.1 на администратора, как это сделать?
5 октября 2008 в 19:00
Вы скажите модель этого ацкого фискальника.
Вы внешние обработки для работы с торговым оборудованием от УТ и Бухни смотрели? Драйверы АТОЛ и ШТРИХ? неужели там нет?
4 октября 2008 в 19:04
Если бы не эта тупая касса))
1) чтобы послать строку в чек отправляешь код товара, ждешь ответа от кассы, отправляешь номер товара, ждешь ответа кассы, отправляешь цену товара
2) повторяешь пункт 1 столько раз, сколько требуется добавить товаров в чек
3) нажимаешь на кассе кнопку "итог"
4) ждешь ответа от кассы, отправляешь название товара1, ждешь ответа от кассы, отправляешь название товара 2 и т.д.
Как бы эту хрень попроще реализовать через COM-порт?
4 октября 2008 в 7:05
Драйверы пишутся на языках более низкого уровня..
Почему бы весь этот обмен не реализовать с помощью внешней dll, в которой уже все будет и задержка и контрольная сумма.
4 октября 2008 в 1:02
2Василий Ludovic van Воробьев:
я драйвер для особой хитрой кассы пишу. Через XOR считается контрольная сумма. Задержка нужна для того, чтобы касса успевала обработать пакеты (обычно 200 миллисекунд достаточно), а вот цикл чтобы не зависал такая команда точно есть (но я ее забыл )
4 октября 2008 в 0:05
То: Антон.
1)Я не понимаю, Вы там что пишите на 1С? – Игру, ОС или что?
2) Поделитесь dll' кой.
4 октября 2008 в 0:03
я как мог уходил от цикла, но к нему все-таки и пришел (да поможет нам добрый яндекс):
1)
Функция XOR(a,b) экспорт
Result = 0;
для i = 0 по 7 Цикл
если Остаток(a,2) <> Остаток(b,2) Тогда
Result = Result + pow( 2, i );
КонецЕсли;
если A=1 тогда
A = 0;
КонецЕсли;
A = Цел(A / 2);
если B = 1 тогда
B = 0;
КонецЕсли;
B = Цел(B / 2);
КонецЦикла;
возврат Result;
КонецФункции
в цикле вместо 7 поставить нужное в зависимости от разрядности чисел
тупо и неинтересно, зато работает
2) ?
3) нашел внешнюю dll а в ней есть функция sleep(…)=)
То есть пока что вопросы свои не снимаю – вдруг вы мне что еще получше подскажете
2 октября 2008 в 19:03
1) Такого оператора нет. Ко всем перечисленным добавляю синт. конструкцию: перем1 = ?(<Логическое выражение>, рез1, рез2)
2) Такой команды нет!
3) Можете попробовать функцию "ПодключитьОбработчикОжидания()", "ОтключитьОбработчикОжидания()". Больше ничего нет.
2 октября 2008 в 19:02
1) внешнее что-нибудь
2) нельзя
3) видел изврат один с генератором случайных чисел, но где точно – не помню. Попридумывай
2 октября 2008 в 16:05
да не то все
вы си знаете? а пхп? там есть команда & а есть &&, есть команда | а есть ||. Дело в том, что логические операции используемые в операторе if отличаются от побитовых операций.
пример: if (65 & 64) отличается от if (65 && 64), причем отличается даже по смыслу =) как ты сравнишь: ЕСЛИ (65 или 64) – это что? для языка это бессмысленная конструкция. Или например ЕСЛИ (5 И 9) ТОГДА…
что значит 5 и 9? а вот если это рассматривать как побитовую операцию тогда 5 AND 9 = 1 (вы все это можете виндовым калькулятором проверить – там есть все эти функции).
Дак вот мне надо именно побитовую операцию XOR, AND, OR.
PS NOT в том смысле что привел #2 это опять таки для булевых, а для побитовых операция NOT считается как NOT A = -A+1 (если меня память подводит – поправьте меня), где -А – это инверсия битов числа A
2 октября 2008 в 14:01
A xor B = (A OR B) AND NOT (A AND B)
2 октября 2008 в 14:00
1) XOR помойму нет Можно реализовать через if(ЕСЛИ):
Оператор условного выполнения.
Синтаксис:
Если <Логическое_выражение> Тогда
//операторы;
[ИначеЕсли <Логическое_выражение> Тогда]
//операторы;
[Иначе]
//операторы;
КонецЕсли;
Англоязычный Синтаксис:
If <Логическое_выражение> Then
//операторы;
[Elsif <Логическое_выражение> Then]
//операторы;
[Else]
//операторы;
Endlf;
Есть :
ИAnd
ИлиOr
HeNot