📄 displaytospi.java
字号:
import java.io.*;
import java.net.*;
public class DisplayToSPI
{
boolean DEBUG = false;
int fiTcpIpPort = 0;
int ffTimeToDisplayOnSPI = 0;
boolean ffDisplayCharByChar;
boolean ffRunThread = true;
boolean ffReceivedNewSettings = false;
TCPReceiver tcpReceiver;
CommandSPI cspiDisplay;
public static void main( String[] args)
{
final int const_TCPIP_WAITING_PORT = 11112;
final boolean const_DEBUG = false;
final boolean const_DisplayCharByChar = false;
final int const_TimeToDisplayOnSPI = 5000;
// Incarcam setarile default
int tcpPort=const_TCPIP_WAITING_PORT;
boolean liDebug=const_DEBUG;
boolean ffDisplayCharByChar=const_DisplayCharByChar;
int ffTimeToDisplayOnSPI = const_TimeToDisplayOnSPI;
// vedem daca exista comenzi in linia de comanda
if( args.length != 0){
for( int i = 0; i < args.length; ++i){
// pt help
if( "/?".equals( args[i]) || "-help".equals( args[i]) || "--help".equals( args[i])){
// afisam un help scurt
System.out.println("");
System.out.println("help");
System.out.println("");
System.out.println("java display.tini [-debug] [-port 10000] [-charbychar] [-tview 4000]");
System.out.println("");
System.out.println("[-debug] - pt a face debug pe consola de Telnet (default fara debug)");
System.out.println("[-port 10000] - pt a modifica portul de asteptare (default 11112)");
System.out.println("[-charbychar] - pt a afisa caracter cu caracter (default tot string-ul)");
System.out.println("[-tview] - pt a modifica timpul de afisare pe display in msec (default 5000)");
System.out.println("");
System.out.flush();
System.gc();
return;
}
// pt debug
if( "-debug".equals( args[i])){
liDebug=true;
}
else{
// pt port
if( "-port".equals( args[i])){
try {
tcpPort = Integer.valueOf(args[i+1]).intValue();
}
catch( NumberFormatException nfe) { /* Ignore */ }
}
else{
// pt modul de afisare
if( "-charbychar".equals( args[i])){
ffDisplayCharByChar=true;
}
else{
// pt timpul de afisare
if( "-tview".equals( args[i])){
try {
ffTimeToDisplayOnSPI = Integer.valueOf(args[i+1]).intValue();
}
catch( NumberFormatException nfe) { /* Ignore */ }
}
}
}
}
}
}
// instantiem DisplayToSPI
DisplayToSPI app=new DisplayToSPI(liDebug,tcpPort,ffDisplayCharByChar,ffTimeToDisplayOnSPI);
// ii dam drumul la firul ei de excutie
// app.start();
}
public DisplayToSPI(boolean Debug,int TcpIpPort,boolean DisplayCharByChar,int TimeToDisplayOnSPI)
{
// out
if (DEBUG) System.out.println("DisplayToSPI: se incep procedurile de pornire.");
// transferam cele doua variabile in variabile publice
DEBUG=Debug;
fiTcpIpPort=TcpIpPort;
ffDisplayCharByChar=DisplayCharByChar;
ffTimeToDisplayOnSPI=TimeToDisplayOnSPI;
// out
if (DEBUG) System.out.println("DisplayToSPI: DEBUG="+DEBUG);
// instantiem CommandSPI
cspiDisplay=new CommandSPI(DEBUG,ffDisplayCharByChar,ffTimeToDisplayOnSPI);
// pornim firul care afiseaza datele
cspiDisplay.start();
// instantiem pe TCPReceiver
tcpReceiver=new TCPReceiver(this,DEBUG,fiTcpIpPort);
// pornim firul de executie care asteapta date pe TCP/IP
tcpReceiver.start();
// out
System.out.println("DisplayToSPI: a pornit.");
}
protected void finalize()
{
// intrerupe bucla care face sa functioneze aplicatia
ffRunThread=false;
cspiDisplay.destroy();
tcpReceiver.destroy();
System.out.println("DisplayToSPI a fost oprit."); try{
super.finalize();
}
catch(Throwable t){}
}
// folosit pentru a transmite datele care trebuie afisate pe SPI
public void DisplayStrings(String[] NewStringsToDisplay)
{
// transmite datele la CommandSPI
cspiDisplay.ReplaceScrollingStrings(NewStringsToDisplay);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -