UniPRT SDK  v1.0.0.0
UniPRT.Sdk.Settings.Configs 類別 參考文件

支援讀取和寫入印表機配置。 更多...

類別UniPRT.Sdk.Settings.Configs的繼承圖:
UniPRT.Sdk.Settings.IConfigs

公開方法(Public Methods)

 Configs (IComm connection)
 必須傳入一個已打開的 comm 連接,當監聽來自印表機的非請求訊息時需要保持連接打開。 更多...
 
 Configs (string commDescriptor)
 當建立由 SDK 管理的連接時呼叫此建構子。 更多...
 
void Dispose ()
 
List< ConfigGetAllConfig ()
 繼承自 IConfigs.GetAllConfig
 
Config GetConfig (int CfgNumber)
 繼承自 IConfigs.GetConfig
 
bool SetConfig (Config Cfg)
 繼承自 IConfigs.SetConfig
 

保護方法(Protected Methods)

virtual void Dispose (bool disposing)
 

詳細描述

支援讀取和寫入印表機配置。

範例


using System;
using System.Collections.Generic;
using System.IO;
using UniPRT.Sdk.Comm;
namespace Snippets
{
class MyConfigs
{
public static void MainConfigs(string[] args)
{
IComm ptrComm;
// make sure path exists before attempting to run this code
string filePath = @"C:\zMyBackupConfigs\";
// First get and open communication with printer
ptrComm = new TcpConnection("192.168.1.50", TcpConnection.DEFAULT_MGMT_PORT);
ptrComm.Open();
// read, rename, backup, restore configurations
Console.WriteLine(Environment.NewLine + $"Backing up all configs to path '{filePath}'..." + Environment.NewLine);
BackupAllConfigsToFiles(ptrComm, filePath);
Console.WriteLine(Environment.NewLine + "Reading some configs..." + Environment.NewLine);
ReadPrinterConfigNum(ptrComm, 0);
ReadPrinterConfigNum(ptrComm, 6);
Console.WriteLine(Environment.NewLine + "Renaming configs..." + Environment.NewLine);
RenameConfigs(ptrComm);
Console.WriteLine(Environment.NewLine + "Restoring a config from a file..." + Environment.NewLine);
RestoreConfigFromFile(ptrComm, filePath + "config1.txt");
// make sure to close the communication with printer
ptrComm.Close();
}
public static void ReadPrinterConfigNum(IComm ptrComm, int CfgNum)
{
try
{
if (null != ptrComm)
{
if (!ptrComm.Connected)
{
Console.WriteLine("Error: no connection");
return;
}
Console.WriteLine($"Reading config number: {CfgNum}");
Configs myConfigs = new Configs(ptrComm);
Config cfg = myConfigs.GetConfig(CfgNum);
if (cfg != null)
{
Console.WriteLine($"Number: {cfg.Number}, Named: {cfg.Name}");
Console.WriteLine($"Read from printer model {cfg.Model}");
// uncomment below to show all config content
//Console.WriteLine($"{cfg.ToString()}");
}
else
{
Console.WriteLine("Config not found.");
}
myConfigs.Dispose();
}
}
catch (Exception err)
{
Console.WriteLine($"Error: {err}");
}
}
// read all configs and rename as "myCfgX" where "X" is the config number
public static void RenameConfigs(IComm ptrComm)
{
try
{
if (null != ptrComm)
{
if (!ptrComm.Connected)
{
Console.WriteLine("Error: no connection");
return;
}
Configs myConfigs = new Configs(ptrComm);
// Read all Configs
List<Config> cfgs = myConfigs.GetAllConfig();
// rename each config
foreach (Config cfg in cfgs)
{
// rename each config "myCfgX" where "X" is the config number
cfg.Name = "myCfg" + cfg.Number;
Console.WriteLine($"Renaming and Saving config. Num: {cfg.Number}, Name: {cfg.Name}");
myConfigs.SetConfig(cfg);
}
myConfigs.Dispose();
}
}
catch (Exception err)
{
Console.WriteLine($"Error: {err}");
}
}
// Read all configs and save each config to separate file
public static void BackupAllConfigsToFiles(IComm ptrComm, string savePath)
{
try
{
if (null != ptrComm)
{
if (!ptrComm.Connected)
{
Console.WriteLine("Error: no connection");
return;
}
Configs myConfigs = new Configs(ptrComm);
// Read all Configs
List<Config> cfgs = myConfigs.GetAllConfig();
// Save each config to dedicated file name "config<num>.txt"
foreach (Config cfg in cfgs)
{
Console.WriteLine($"Saving config-- Num: {cfg.Number}, Name: {cfg.Name}");
using (StreamWriter writer = new StreamWriter(savePath + $"config{cfg.Number}.txt"))
{
writer.Write(cfg.ToString());
}
}
myConfigs.Dispose();
}
}
catch (Exception err)
{
Console.WriteLine($"Error: {err}");
}
}
// read a config that was previously save to a file
public static void RestoreConfigFromFile(IComm ptrComm, string filePath)
{
try
{
if (null != ptrComm)
{
if (!ptrComm.Connected)
{
Console.WriteLine("Error: no connection");
return;
}
string myBackupConfig = File.ReadAllText(filePath);
Config myConfig = new Config(myBackupConfig);
Configs ptrConfigs = new Configs(ptrComm);
// Write the config to the printer
if (ptrConfigs.SetConfig(myConfig))
{
Console.WriteLine($"Config Num: {myConfig.Number} restored");
}
else
{
Console.WriteLine("Config restore failed.");
}
ptrConfigs.Dispose();
}
}
catch (Exception err)
{
Console.WriteLine($"Error: {err}");
}
}
}
}

建構子與解構子說明文件

◆ Configs() [1/2]

UniPRT.Sdk.Settings.Configs.Configs ( IComm  connection)

必須傳入一個已打開的 comm 連接,當監聽來自印表機的非請求訊息時需要保持連接打開。

連接是必要的,用於發送/接收印表機狀態訊息。

◆ Configs() [2/2]

UniPRT.Sdk.Settings.Configs.Configs ( string  commDescriptor)

當建立由 SDK 管理的連接時呼叫此建構子。

commDescriptor 是用於與印表機連接的通訊描述符。
TCP 描述符格式:"ip" 或 "ip:port"
例如:"127.0.0.1" 或 "127.0.0.1:3007"
如果未提供端口,則使用預設值。

UniPRT.Sdk.Settings
Definition: Configs.cs:11
UniPRT.Sdk.Settings.Configs.Configs
Configs(IComm connection)
必須傳入一個已打開的 comm 連接,當監聽來自印表機的非請求訊息時需要保持連接打開。
Definition: Configs.cs:215
UniPRT
提供對不同通訊介面/端口的支援
Definition: Communication.cs:9
UniPRT.Sdk.Comm
Definition: Communication.cs:9
UniPRT.Sdk
Definition: Communication.cs:9