powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Доступ к аппарату Штрих ФР-К
25 сообщений из 25, страница 1 из 1
Доступ к аппарату Штрих ФР-К
    #38617161
andreevoi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ближайшая задача - выбить на этой ККМ чек.
Аппарат рабочий, на COM-порту. Его родная утилита его видит.

Как я себе представляю, в порт надо передавать команды.
Если это так, где искать синтаксис команд?

_________________________________________
Человек должен думать, машина - работать!
...
Рейтинг: 0 / 0
Доступ к аппарату Штрих ФР-К
    #38617267
Maxifly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может дока есть на этом сайте.
http://www.shtrih-m.ru
...
Рейтинг: 0 / 0
Доступ к аппарату Штрих ФР-К
    #38617297
andreevoi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да, уже нашёл. Спасибо!
Теперь rxtxSerial.dll не подключается.
Пишу в Эклипсе.

import java.util.Enumeration;
import gnu.io.*;

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
public class Test_n_Try {
	
	static Enumeration portList;
	static CommPortIdentifier portId;
	
	public static void main(String[] args) {
		String s="rxtxSerial.dll"; //на этой строчке выкидывает
		System.loadLibrary(s);
		//Runtime.getRuntime().loadLibrary(s);//на этой - тоже

		portList=CommPortIdentifier.getPortIdentifiers();
		while(portList.hasMoreElements()) {
			portId=(CommPortIdentifier)portList.nextElement();
			System.out.println(portId.getName());
		}
		//System.exit(0);
	}

}



Библиотека лежит рядом с моим исходником.
В папку %JAVA_HOME\bin% положить не могу: прав нет.
...
Рейтинг: 0 / 0
Доступ к аппарату Штрих ФР-К
    #38617303
andreevoi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
... Пардон, выкидывает на строчке
System.loadLibrary(s);
...
Рейтинг: 0 / 0
Доступ к аппарату Штрих ФР-К
    #38617421
avp.mk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
Доступ к аппарату Штрих ФР-К
    #38617446
For All
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreevoiБиблиотека лежит рядом с моим исходником.
В папку %JAVA_HOME\bin% положить не могу: прав нет.
Одна должна рядом с откомпиленным (из ваших исходников) jar-файлом лежать.
...
Рейтинг: 0 / 0
Доступ к аппарату Штрих ФР-К
    #38618388
Юрий321
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
avp.mkandreevoiSystem.loadLibrary(s);
https://code.google.com/p/java-simple-serial-connector/

+1 за jSSc

с RXTX работал, он замумил. кривой и косой
...
Рейтинг: 0 / 0
Доступ к аппарату Штрих ФР-К
    #38620516
andreevoi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
... А кто-нибудь работал с shtrihjavapos.jar (пакет com.shtrih.jpos)?
Пишу в "Эклипсе".

Дело в том, что при создании экземпляра ShtrihFiscalPrinter
среда требует реализовать все его наследуемые методы,
а после этого говорит, что типы этих методов невидимы.

Например в следующем коде

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
ShtrihFiscalPrinter p=new ShtrihFiscalPrinter() {
	@Override
	public BeepCommand beep() throws Exception {
		// TODO Auto-generated method stub
		return null;
	}
...
}



невидим тип BeepCommand и большинство подобных.

Как это победить, коллеги?

_________________________________________
Человек должен думать, машина - работать!
...
Рейтинг: 0 / 0
Доступ к аппарату Штрих ФР-К
    #38620580
andreevoi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Отбой.
Там, похоже, совсем по-другому делается...

Разберусь - сообщу. :)
...
Рейтинг: 0 / 0
Доступ к аппарату Штрих ФР-К
    #38620661
avp.mk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
andreevoiДело в том, что при создании экземпляра ShtrihFiscalPrinter
среда требует реализовать все его наследуемые методы,
а после этого говорит, что типы этих методов невидимы.

Как это победить, коллеги?
Реализовать класс в том же пакете, что и ShtrihFiscalPrinter.
...
Рейтинг: 0 / 0
Доступ к аппарату Штрих ФР-К
    #38622592
andreevoi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
День добрый, коллеги! (несмотря ни на что! :) )
Производитель прислал JAR-библиотечку для работы с аппаратом.

Задача сделать на устройстве "BEEP".

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
import com.shtrih.jpos.*;
import com.sun.comm.*;

...
				Win32Driver driver=new com.sun.comm.Win32Driver();
				driver.initialize();
				SerialPortInterface port=(SerialPortInterface) driver.getCommPort("COM1", 0);
				FiscalPrinterProtocol protocol=new FiscalPrinterProtocol(port);
				
				com.shtrih.jpos.FiscalPrinterDevice printer=new FiscalPrinterDevice(protocol);
				try {
					printer.beep(); //здесь вываливается NullPointerException
					JOptionPane.showMessageDialog(c, "Beep!");
				} catch (Exception e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
					JOptionPane.showMessageDialog(c, e.getClass().getName()+": "+e.getMessage());
				}



Какие соображения?
...
Рейтинг: 0 / 0
Доступ к аппарату Штрих ФР-К
    #38622601
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
так как printer не может быть null, значит косяк где-то внутри библиотеки. Есть исходник? Есть stacktrace?
...
Рейтинг: 0 / 0
Доступ к аппарату Штрих ФР-К
    #38622613
andreevoi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
java.lang.NullPointerException
at com.shtrih.jpos.FiscalPrinterProtocol.sendCommand(FiscalPrinterProtocol.java:133)
at com.shtrih.jpos.FiscalPrinterDevice.execute(FiscalPrinterDevice.java:1596)
at com.shtrih.jpos.FiscalPrinterDevice.beep(FiscalPrinterDevice.java:1605)

Похоже, строка
Код: java
1.
				FiscalPrinterProtocol protocol=new FiscalPrinterProtocol(port);


некорректно срабатывает из-за строки
Код: java
1.
				SerialPortInterface port=(SerialPortInterface) driver.getCommPort("COM1", 0);


... Наверное, надо не приводить, а родными средствами присваивать.
...
Рейтинг: 0 / 0
Доступ к аппарату Штрих ФР-К
    #38622648
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreevoijava.lang.NullPointerException
at com.shtrih.jpos.FiscalPrinterProtocol.sendCommand(FiscalPrinterProtocol.java:133)
at com.shtrih.jpos.FiscalPrinterDevice.execute(FiscalPrinterDevice.java:1596)
at com.shtrih.jpos.FiscalPrinterDevice.beep(FiscalPrinterDevice.java:1605)

Исходники есть? Ну, или, хотя бы, бинарники.

andreevoiПохоже, строка
некорректно срабатывает из-за строки
... Наверное, надо не приводить, а родными средствами присваивать.
Похоже вы не до конца понимаете что такое стэк вызова.
...
Рейтинг: 0 / 0
Доступ к аппарату Штрих ФР-К
    #38622650
andreevoi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
... Я попробую на их форуме спросить...
...
Рейтинг: 0 / 0
Доступ к аппарату Штрих ФР-К
    #38622651
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А вы дебажили код. port случайно не null?
...
Рейтинг: 0 / 0
Доступ к аппарату Штрих ФР-К
    #38622652
andreevoi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Могу весь их JAR выслать.
...
Рейтинг: 0 / 0
Доступ к аппарату Штрих ФР-К
    #38622655
andreevoi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Действительно port=null.
...
Рейтинг: 0 / 0
Доступ к аппарату Штрих ФР-К
    #38622676
andreevoi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
... В общем, регистрация у них долгая: требуется "разрешение администрации".
Когда оно будет, не известно.

Есть ветка их форума , но там я решения не нашёл.
...
Рейтинг: 0 / 0
Доступ к аппарату Штрих ФР-К
    #38622686
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreevoiДействительно port=null.
Выходит вы как-то не правильно используете Java Communications API.
Откуда вы этот код взяли?
Обычно в примерах перебирают все доступные порты и ищут нужный по имени. Например так.
http://www.java-samples.com/showtutorial.php?tutorialid=214
...
Рейтинг: 0 / 0
Доступ к аппарату Штрих ФР-К
    #38622694
andreevoi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Понял, спасибо!

("... Аревуар, как говорят французы, шо означае 'я ще вернусь'!")
...
Рейтинг: 0 / 0
Доступ к аппарату Штрих ФР-К
    #38622708
andreevoi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
... А! Так у меня же есть
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
private void refillPortList() {
	Enumeration<CommPortIdentifier> en=CommPortIdentifier.getPortIdentifiers();
	CommPortIdentifier portId;
        while (en.hasMoreElements()) {
            portId = en.nextElement();
            if (portId.getPortType() == CommPortIdentifier.PORT_SERIAL) jcbPorts.addItem(portId.getName()); //заполнение JComboBox
        }
}



Но список портов остаётся пустым.
...
Рейтинг: 0 / 0
Доступ к аппарату Штрих ФР-К
    #38622723
andreevoi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
BlazkowiczОткуда вы этот код взяли?
:) )))))))))))) Сам сделал!
Не найдя документации, стал шарить по содержимому их JAR-а.
...
Рейтинг: 0 / 0
Доступ к аппарату Штрих ФР-К
    #38622787
andreevoi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
andreevoi... А! Так у меня же есть
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
private void refillPortList() {
	Enumeration<CommPortIdentifier> en=CommPortIdentifier.getPortIdentifiers();
	CommPortIdentifier portId;
        while (en.hasMoreElements()) {
            portId = en.nextElement();
            if (portId.getPortType() == CommPortIdentifier.PORT_SERIAL) jcbPorts.addItem(portId.getName()); //заполнение JComboBox
        }
}



Но список портов остаётся пустым.

... Кстати сказать, при использовании RXTX-библиотеки все порты находятся! (весь один порт :) )
...
Рейтинг: 0 / 0
Доступ к аппарату Штрих ФР-К
    #38622956
andreevoi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
... Н-да. Полковнику никто не пишет.
Техподдержка "Штрих-М********************************************************************************

Проект : Драйверы JavaPOS для оборудования Штрих-М
Фирма : Штрих-М www.shtrih-m.ru (495) 787-60-90

********************************************************************************

Установка драйвера

1. Скопируйте файл shtrihjavapos.jar в папку вашего приложения.

2. Добавьте в файл jpos.xml данные из поставляемого файла jpos.xml.

3. Установите библиотеку JavaComm, http://java.sun.com/products/javacomm/
Драйвер разрабатывался и тестировался с библиотекой javacomm20-win32


1. Добавлен в Build Path
2. Поставляемый и содержащийся в shtrihjavapos.jar файлы jpos.xml идентичны.
3. В состав архива с библиотекой входят примеры, в т. ч "SerialDemo".
Так вот в нём тоже перечень портов получается пустой.
...
Рейтинг: 0 / 0
25 сообщений из 25, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Доступ к аппарату Штрих ФР-К
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]