Diskuze: Jak správně převést syntaxi proměnných z VB do C#
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.


Michal Štěpánek:29.5.2019 15:18
datovy_typ Nazev;
//příklad
string Jmeno;
Michal Štěpánek:29.5.2019 15:22
https://www.itnetwork.cz/csharp/zaklady
tady je to pěkně popsané
Jak již psali kluci výše
Array MSerialPort; //Pozor na obecná pole, např. pole intů se deklaruje jako int[] MIntArray
DialogResult MNeniText; //Bacha na středníky na koncích řádků (resp. příkazů)
string MString = ""; //string (malé s) je klíčové slovo zastupující "String
string MCestaPrikazu = "\Files\Prikazy.csv"
string MCestaRegistru = "\Files\Registry.csv"
IO.SystemReader MDavka = new IO.StreamReader("\Files\Davka.txt", System.Text.Encoding.GetEncoding("windows-1250")); //konstruktor se volá až v rámci přiřazovacího operátoru
IO.SystemReader MHistoriePrikazu = new IO.StreamReader("\Files\HistoriePrikazu.txt", System.Text.Encoding.GetEncoding("windows-1250"));
IO.StreamReader MLog = new IO.StreamReader("\Files\Log.txt", System.Text.Encoding.GetEncoding("windows-1250"));
Díky za vaše rady a tipy.
Problém ale je, že ten MSerialPort ve VB jsem definoval jako Array, jenže
tady v C# mi to prostě tak nebere.
Týká se to detekování a získání celkového počtu dostupných COM
portů.
MSerialPort = System.IO.Ports.SerialPort.GetPortNames();
TmrCasovac.Interval = 100;
CmbCisloPortu.Items.AddRange(MSerialPort);
ComSerialPort.Parity = System.IO.Ports.Parity.None;
ComSerialPort.DataBits = 7;
ComSerialPort.StopBits = System.IO.Ports.StopBits.One;
ComSerialPort.Handshake = System.IO.Ports.Handshake.None;
ComSerialPort.RtsEnable = true;
V tomhle vlákně mi název té proměnné Visual Studio hlásí jako chybu, že v aktuálním kontextu neexistuje a nevím jak to převést z VB do C#.
vajkuba1234:30.5.2019 16:18
Zkousel jsi
string[] MSerialPorts = System.IO.Ports.SerialPort.GetPortNames();
?
Daniel Semerák:30.5.2019 17:00
Díky za tip; tohle mě nenapadlo.
Jenže ten kod to opravil jen na tomhle jediném řádku, ale ty ostatní nebere pořád v potaz, hlavně ne ten řádek:
CmbCisloPortu.Items.AddRange(MemSerialPort);
MemString = "<<< " + "/?!" + '\r' + '\n';
ComSerialPort.Write(MemString);
RtbLog.AppendText("*****" + " ");
RtbLog.AppendText(DateTime.Now.ToString("dddd, d. MMMM yyyy H:mm:ss"));
RtbLog.AppendText(" " + "*****");
RtbOdecetElektroMeru.AppendText(MemString); //(ComSerialPort.ReadLine & vbCrLf);
Skoro si říkám, jestli vůbec má smysl to převádět do C# a učit se
ho, když jsem už odkojený VB a tak nějak znám v něm syntaxi ...
Michal Štěpánek:30.5.2019 21:14
Určitě se ti to vyplatí, protože na C# je na internetu mnohem více návodů a dokumentace než na VB, jednodušeji najdeš řešení problému v C# než ve VB, existuje taky mnohem větší komunita lidí, kteří tvoří v C# oproti VB, takže je větší šance na získání rady... Pokud už znáš VB, tak přechod ti zabere jen pár dní. Taky jsem to tak měl, začal jsem v "čtivějším" VB, ale pak jsem přešel na C# a nelituji...
Já vytvářím do práce program na čtení elektroměrů přes opto
rozhraní.
Ve VB jsem dosáhl toho, že už mi funguje načtení při základní rychlosti
300Bd, jenže se mi nedaří docílit toho, abych už otevřenému portu poslal
nový příkaz, že s ním chci komunikovat na vyšší mnou zadané rychlosti a
také se mi nedaří ukončit správně vyčtení registrů.
Vždy mi spadne celý program, když dojede nakonec.
Také musím pak dořešit posílání příkazů do elektroměru včetně
zadaného hesla atd.
Tohle je právě ten důvod, proč jsem tady položil spoustu otázek k
vyřešení, jelikož to dělám za pochodu, když se zároven učím celý
jazyk, jelikož jsem se kdysi učil VB6.0, ale to je už hodně dávno.
VB je sice hezký a jak sám říkáš čtivý jazyk, ale pro zlepšení do
budoucna a při získávání nové práce je nedostačující a hodí se max.
tak v Excelu.
vajkuba1234:31.5.2019 15:37
Musis tam holt doplnit chybejici datove typy.
HONZ4:31.5.2019 20:11
Je zbytečné psát:
MemString = "<<< " + "/?!" + '\r' + '\n';
stačí:
MemString = "<<< /?!\r\n";
RtbLog.AppendText("*****" + " ");
stačí:
RtbLog.AppendText("***** ");
...
MCestaPrikazu = "\Files\Prikazy.csv";
nahraď:
MCestaPrikazu = "\\Files\\Prikazy.csv";
nebo @"\Files\Prikazy.csv";
Pokud nevíš jaký typ, lze použít i var ten se pak určí automaticky. (Já var nemám rád, protože většinou znepřehledňuje kód)
Pokud označíš název (metody, proměnné apd.) a stiskneš F12 přejdeš k
definici.
Pokud označíš název a stiskneš F1 přejdeš k webové nápovědě.
Jinak pokud najedeš myší nad název, tak vyskočí info. (viz přiložený
obrázek.)
Pro víc pomoci sem dávej víc kódu alespon celou metodu včetně
závorek.
Také mi dělá problém tenhle řádek a další řádky ostatních
ComboBoxů (podtrženo poslední ITEM).
CmbCisloPortu.Text = Convert.ToString(CmbCisloPortu.Items.Item(0));
Ve VB jsem to měl takto:
CmbCisloPortu.Text = CStr(CmbCisloPortu.Items.Item(0));
... a jsou i další řádky, hlavně proměnné, které mám červeně
podtržené, u kterých mi to hlásí, že v daném kontextu nejsou definované,
přitom mám nastavené, že jsem definoval typ proměnné.
Potřeboval bych celý kod a z toho pak už pochopím návaznosti.
Jednou jsem zkusil program Converter VBtoC nebo tak nějak se nazýval a část
kodu mi stejně rozhodil, sic ve VB mi to bez problémů chodilo.
HONZ4:1.6.2019 19:26
Kdybys tu dal celý kód...
K položce pole se přistupuje přes hranaté závorky:
CmbCisloPortu.Text = CmbCisloPortu.Items[0].ToString(); //předpokládám, že CmbCisloPortu je combobox
Mimochodem u comboboxu stačí pro zobrazení textu položky:
CmbCisloPortu.SelectedIndex = 0;
Předtím než začneš cokoliv dělat v C# doporučuji projít nějakým tutoriálem. např
Zde je celý kod.
Snad se v tom někdo vyzná a možná mi ještě poradí, jak při komunikaci se
zařízení z výchozí rychlosti CmbStartovaciRychlost se přepne na vyšší
rychlost, kterou nastavím vybráním hodnoty z CmbRychlostKomunikace.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.IO.Ports;
using System.Management;
using System.Resources;
using System.Configuration;
using System.Globalization;
using System.IO;
namespace Správce_ElektroMěrů
{
/// <summary>
/// Represents a code behind for <see cref="FormEditor"/>.
/// </summary>
public partial class FrmSpravaElektroMeru : Form
{
/// <summary>
/// Stores the original loaded content from a text file.
/// </summary>
Array MemSerialPort;
private string content = string.Empty;
string MemString = ""; //string (malé s) je klíčové slovo zastupující "String
string MemCestaPrikazu = "\\Files\\Prikazy.csv";
string MemCestaRegistru = "\\Files\\Registry.csv";
System.IO.StreamReader MemDavka = new System.IO.StreamReader("\\Files\\Davka.txt", System.Text.Encoding.GetEncoding("windows-1250"));
System.IO.StreamReader MemHistoriePrikazu = new System.IO.StreamReader("\\Files\\HistoriePrikazu.txt", System.Text.Encoding.GetEncoding("windows-1250"));
System.IO.StreamReader MemLog = new System.IO.StreamReader("\\Files\\Log.txt", System.Text.Encoding.GetEncoding("windows-1250"));
/// <summary>
/// Constructs a new instance of <see cref="FormEditor"/>.
/// </summary>
public FrmSpravaElektroMeru()
{
InitializeComponent();
//Array MemSerialPort;
if (defaultInstance == null)
defaultInstance = this;
// Add any initialization after the InitializeComponent() call.
DataTable MPT = TextToTableP(MemCestaPrikazu, ';', true);
var with_1 = CmbSeznamPrikazu;
with_1.DisplayMember = "Příkaz";
with_1.ValueMember = "Číslo";
with_1.DataSource = new DataView(MPT);
var with_2 = TxtPopisPrikazu;
with_2.DataBindings.Add("text", CmbSeznamPrikazu.DataSource, "Popis");
DataTable MRT = TextToTableR(MemCestaRegistru, ';', true);
var with_3 = CmbSeznamRegistru;
with_3.DisplayMember = "Registr";
with_3.ValueMember = "Číslo";
with_3.DataSource = new DataView(MRT);
var with_4 = TxtPopisRegistru;
with_4.DataBindings.Add("text", CmbSeznamRegistru.DataSource, "Popis");
}
private DataTable TextToTableP(string path, char delimitter, bool header)
{
string MemZdrojPrikazu = string.Empty;
DataTable MPT = new DataTable();
if (System.IO.File.Exists(path))
{
MemZdrojPrikazu = System.IO.File.ReadAllText(path, System.Text.Encoding.GetEncoding("windows-1250"));
}
else
{
throw (new System.IO.FileNotFoundException("Nenalezen soubor ..." + path, path));
}
string[] MemRadkyP = MemZdrojPrikazu.Split(System.Convert.ToString((new[] { Environment.NewLine })).ToCharArray(), StringSplitOptions.None);
for (int i = 0; i <= MemRadkyP[0].Split(delimitter).Length - 1; i++)
{
string MemSloupec = System.Convert.ToString(MemRadkyP[0].Split(delimitter)[i]);
MPT.Columns.Add(header ? MemSloupec : "column" + System.Convert.ToString(i + 1));
}
for (int i = (header ? 1 : 0); i <= MemRadkyP.Length - 1; i++)
{
DataRow MDR = MPT.NewRow();
for (int x = 0; x <= MemRadkyP[i].Split(delimitter).Length - 1; x++)
{
if (x <= MPT.Columns.Count - 1)
{
MDR[x] = MemRadkyP[i].Split(delimitter)[x];
}
else
{
throw (new Exception("Počet sloupců na řádek" + (i + (header ? 0 : 1)) + " je větší než množství sloupců v " + (header ? "hlavičce." : "první řádek.")));
}
}
MPT.Rows.Add(MDR);
}
return MPT;
}
private DataTable TextToTableR(string path, char delimitter, bool header)
{
string MemZdrojRegistru = string.Empty;
DataTable MRT = new DataTable();
if (System.IO.File.Exists(path))
{
MemZdrojRegistru = System.IO.File.ReadAllText(path, System.Text.Encoding.GetEncoding("windows-1250"));
}
else
{
throw (new System.IO.FileNotFoundException("Nenalezen soubor ..." + path, path));
}
string[] MemRadkyR = MemZdrojRegistru.Split(System.Convert.ToString((new[] { Environment.NewLine })).ToCharArray(), StringSplitOptions.None);
for (int i = 0; i <= MemRadkyR[0].Split(delimitter).Length - 1; i++)
{
string MemSloupec = System.Convert.ToString(MemRadkyR[0].Split(delimitter)[i]);
MRT.Columns.Add(header ? MemSloupec : "column" + System.Convert.ToString(i + 1));
}
for (int i = (header ? 1 : 0); i <= MemRadkyR.Length - 1; i++)
{
DataRow mRR = MRT.NewRow();
for (int x = 0; x <= MemRadkyR[i].Split(delimitter).Length - 1; x++)
{
if (x <= MRT.Columns.Count - 1)
{
mRR[x] = MemRadkyR[i].Split(delimitter)[x];
}
else
{
throw (new Exception("Počet sloupců na řádek" + (i + (header ? 0 : 1)) + " je větší než množství sloupců v " + (header ? "hlavičce." : "první řádek.")));
}
}
MRT.Rows.Add(mRR);
}
return MRT;
}
private void FormEditor_Load(object sender, EventArgs e)
{
//ActiveControl = groupBoxContent;
string[] MemSerialPorts = System.IO.Ports.SerialPort.GetPortNames();
TmrCasovac.Interval = 100;
CmbCisloPortu.Items.AddRange(MemSerialPort);
ComSerialPort.Parity = System.IO.Ports.Parity.None;
ComSerialPort.DataBits = 7;
ComSerialPort.StopBits = System.IO.Ports.StopBits.One;
ComSerialPort.Handshake = System.IO.Ports.Handshake.None;
ComSerialPort.RtsEnable = true;
RdbViditelneHeslo.Select();
RdbObeCisla.Select();
RdbCesky.Select();
CmbHeslo.Select();
CmbCisloPrikazu.Items.Add("1");
CmbCisloPrikazu.Items.Add("2");
CmbCisloPrikazu.Items.Add("3");
CmbCisloPrikazu.Items.Add("4");
CmbCisloPrikazu.Items.Add("5");
CmbCisloPrikazu.SelectedIndex = 0;
CmbRychlostStartovaci.Items.Add(" 300");
CmbRychlostStartovaci.Items.Add(" 600");
CmbRychlostStartovaci.Items.Add(" 1200");
CmbRychlostStartovaci.Items.Add(" 2400");
CmbRychlostStartovaci.Items.Add(" 4800");
CmbRychlostStartovaci.Items.Add(" 9600");
CmbRychlostStartovaci.Items.Add("19200");
CmbRychlostStartovaci.Text = CmbRychlostStartovaci.Items[0].ToString();
CmbRychlostStartovaci.SelectedIndex = 0;
CmbRychlostKomunikace.Items.Add(" 300");
CmbRychlostKomunikace.Items.Add(" 600");
CmbRychlostKomunikace.Items.Add(" 1200");
CmbRychlostKomunikace.Items.Add(" 2400");
CmbRychlostKomunikace.Items.Add(" 4800");
CmbRychlostKomunikace.Items.Add(" 9600");
CmbRychlostKomunikace.Items.Add("19200");
CmbRychlostKomunikace.Text = CmbRychlostKomunikace.Items[0].ToString();
CmbRychlostKomunikace.SelectedIndex = 4;
CmbCisloPortu.Text = CmbCisloPortu.Items[0].ToString();
CmbCisloPortu.SelectedIndex = 0;
CmbZpusobPrikazu.Items.Add("číst");
CmbZpusobPrikazu.Items.Add("spustit");
CmbZpusobPrikazu.Items.Add("zapsat");
CmbZpusobPrikazu.SelectedIndex = 0;
CmbHeslo.Items.Add("EEUPW1");
CmbHeslo.Items.Add("EONHU5");
CmbHeslo.Items.Add("MANSP5");
CmbHeslo.Items.Add("MINOS1");
CmbHeslo.Items.Add("MINOS5");
CmbHeslo.Items.Add("MKDEVN");
CmbHeslo.Items.Add("MONGOD");
CmbHeslo.Items.Add("SEEPW1");
CmbCisloPortu.Text = CmbCisloPortu.Items[0].ToString();
CmbHeslo.SelectedIndex = 1;
RtbDavka.Text = MemDavka.ReadToEnd;
MemDavka.Close();
RtbHistoriePrikazu.Text = MemHistoriePrikazu.ReadToEnd;
MemHistoriePrikazu.Close();
RtbLog.Text = MemLog.ReadToEnd;
MemLog.Close();
//načíst do ComboBoxu řádek (seznam posledních 10 řádků) z výše uvedeného souboru
CmbPosledniPrikazy.DataSource = System.IO.File.ReadAllLines("\\Files\\HistoriePrikazu.txt");
CmbPosledniPrikazy.AutoCompleteMode = AutoCompleteMode.Suggest;
CmbPosledniPrikazy.AutoCompleteSource = AutoCompleteSource.ListItems;
TslZprava.Text = "Program načten.";
// Try...
try
{
// to read all the text from the given text file with a given encoding.
// Default path: {Project}/bin/{Configuration}/lorem.txt
content = File.ReadAllText(path: "lorem.txt", encoding: Encoding.UTF8);
// Populate text box with loaded content.
textBoxContent.Text = content;
}
// If any I/O exception occurs...
catch (IOException exception)
{
// display friendly error message.
MessageBox.Show(
text: exception.Message,
caption: Text,
buttons: MessageBoxButtons.OK,
icon: MessageBoxIcon.Error);
// Stop the execution.
return;
}
}
/// <summary>
/// Handles closing event of the <see cref="FormEditor"/>.
/// </summary>
/// <param name="sender">The sender of the event, which is <see cref="FormEditor"/>.</param>
/// <param name="e">Additional event arguments.</param>
private void FormEditor_FormClosing(object sender, FormClosingEventArgs e)
{
// Stores any changes to the original content.
var modifiedContent = textBoxContent.Text;
// If there are no changes to the original content...
if (modifiedContent == content)
// stop the execution.
return;
// Otherwise, overwrite the existing file.
content = content.Replace(content, modifiedContent);
// "Save" a file.
File.WriteAllText("lorem.txt", content);
}
private void CmbCisloPortu_SelectedIndexChanged(object sender, EventArgs e)
{
CmbCisloPortu.Sorted = true;
}
private void ChkZabezpecenyOdecet_CheckedChanged(object sender, EventArgs e)
{
if (ChkZabezpecenyOdecet.Checked == true)
{
CmbRychlostStartovaci.SelectedIndex = 0;
}
else
CmbRychlostStartovaci.SelectedIndex = 4;
}
private void BtnOdecetElektroMeru_Click(object sender, EventArgs e)
{
BtnOdecetElektroMeru.Enabled = false;
RtbOdecetElektroMeru.Clear();
TslZprava.Text = "Probíhá komunikace s ElektroMěrem ...";
TbcVystupDat.SelectedTab = TbpOdecetElektroMeru;
BtnKonecProgramu.Enabled = false;
BtnDoKlientModu.Enabled = false;
BtnPoslatCislo.Enabled = false;
BtnPoslatPrikaz.Enabled = false;
BtnPridatViditelneHeslo.Enabled = false;
BtnPridatSifrovaneHeslo.Enabled = false;
BtnObnovitSeznamPortu.Enabled = false;
BtnVymazatNapadeni.Enabled = false;
BtnZrusitSvorkovnici.Enabled = false;
BtnZrusitKryt.Enabled = false;
BtnDoTestModu.Enabled = false;
BtnZpracovatDavku.Enabled = false;
BtnNastaveniRTC.Enabled = false;
BtnKontrolaRTC.Enabled = false;
BtnKontrolaFW.Enabled = false;
BtnKontrolaRTC.Enabled = false;
BtnKontrolaCRC.Enabled = false;
//Zde bude kod, kde se vyčtou data z ElMěru a zobrazí se vpravo v okně "Odečet".
ComSerialPort.PortName = CmbCisloPortu.Text;
ComSerialPort.BaudRate = System.Convert.ToInt32(CmbRychlostStartovaci.Text);
ComSerialPort.Parity = Parity.Even;
ComSerialPort.StopBits = StopBits.One;
ComSerialPort.DataBits = 7;
ComSerialPort.Handshake = Handshake.None;
ComSerialPort.RtsEnable = true;
ComSerialPort.ReadTimeout = 3000;
ComSerialPort.Open();
MemString = "<<< /?!\r\n";
ComSerialPort.Write(MemString);
RtbLog.AppendText("***** ");
RtbLog.AppendText(DateTime.Now.ToString("dddd, d. MMMM yyyy H:mm:ss"));
RtbLog.AppendText(" *****");
RtbOdecetElektroMeru.AppendText(MemString); //(ComSerialPort.ReadLine & vbCrLf);
RtbLog.Text = RtbLog.Text + Environment.NewLine + RtbOdecetElektroMeru.Text;
RtbLog.AppendText(Environment.NewLine);
BtnKonecProgramu.Enabled = true;
BtnDoKlientModu.Enabled = true;
BtnPoslatCislo.Enabled = true;
BtnPoslatPrikaz.Enabled = true;
BtnPridatViditelneHeslo.Enabled = true;
BtnPridatSifrovaneHeslo.Enabled = true;
BtnObnovitSeznamPortu.Enabled = true;
BtnVymazatNapadeni.Enabled = true;
BtnZrusitSvorkovnici.Enabled = true;
BtnZrusitKryt.Enabled = true;
BtnDoTestModu.Enabled = true;
BtnZpracovatDavku.Enabled = true;
BtnNastaveniRTC.Enabled = true;
BtnKontrolaRTC.Enabled = true;
BtnKontrolaFW.Enabled = true;
BtnKontrolaRTC.Enabled = true;
BtnKontrolaCRC.Enabled = true;
BtnOdecetElektroMeru.Enabled = true;
}
public void CoMSerialPort_DataReceived(System.Object sender, System.IO.Ports.SerialDataReceivedEventArgs e)
{
MemString = ComSerialPort.ReadLine();
//MString = CoMSerialPort.ReadExisting 'or SerialPort1.ReadLine
//RtbOdecetElektromeru.Text = MString
//this.Invoke(new (DoUpdate());
}
public void DoUpdate()
{
RtbOdecetElektroMeru.Text = RtbOdecetElektroMeru.Text + ">>> " + MemString;
//CoMSerialPort.Close()
//CoMSerialPort.PortName = CmbCisloPortu.Text
ComSerialPort.BaudRate = 4800; //Int(CmbRychlostKomunikace.Text)
//CoMSerialPort.Open()
MemString = (char)6 + "<<< " + ("040" + '\r' + '\n');
ComSerialPort.Write(MemString);
//CoMSerialPort.Close()
TslZprava.Text = "Odečet dokončen.";
}
private void BtnObnovitSeznamPortu_Click(object sender, EventArgs e)
{
CmbCisloPortu.Items.Clear();
string[] MemSerialPort = System.IO.Ports.SerialPort.GetPortNames();
CmbCisloPortu.Items.AddRange(MemSerialPort);
CmbCisloPortu.Text = Convert.ToString(CmbCisloPortu.Items.Item(0));
CmbCisloPortu.SelectedIndex = 0;
ComSerialPort.Parity = System.IO.Ports.Parity.None;
ComSerialPort.DataBits = 7;
ComSerialPort.StopBits = System.IO.Ports.StopBits.One;
ComSerialPort.Handshake = System.IO.Ports.Handshake.None;
ComSerialPort.RtsEnable = true;
}
private void RdbViditelneHeslo_CheckedChanged(object sender, EventArgs e)
{
CmbHeslo.Enabled = true;
BtnPridatViditelneHeslo.Enabled = true;
BtnPridatSifrovaneHeslo.Enabled = false;
TxtViditelneHeslo.Enabled = true;
TxtSifrovaneHeslo.Enabled = false;
ChkZabezpecenyOdecet.Enabled = true;
}
private void RdbSifrovaneHeslo_CheckedChanged(object sender, EventArgs e)
{
CmbHeslo.Enabled = true;
BtnPridatViditelneHeslo.Enabled = false;
BtnPridatSifrovaneHeslo.Enabled = true;
TxtViditelneHeslo.Enabled = false;
TxtSifrovaneHeslo.Enabled = true;
ChkZabezpecenyOdecet.Enabled = true;
}
private void RdbBezHesla_CheckedChanged(object sender, EventArgs e)
{
CmbHeslo.Enabled = false;
BtnPridatViditelneHeslo.Enabled = false;
BtnPridatSifrovaneHeslo.Enabled = false;
TxtViditelneHeslo.Enabled = false;
TxtSifrovaneHeslo.Enabled = false;
ChkZabezpecenyOdecet.Enabled = false;
}
private void BtnPridatViditelneHeslo_Click(object sender, EventArgs e)
{
if (TxtViditelneHeslo.Text == "")
MessageBox.Show(
text: "Není vložené žádné heslo!",
caption: "Nevyplněný text ...",
buttons: MessageBoxButtons.OK,
icon: MessageBoxIcon.Error);
else
CmbHeslo.Items.Add(TxtViditelneHeslo.Text);
TxtViditelneHeslo.Clear();
}
private void BtnPridatSifrovaneHeslo_Click(object sender, EventArgs e)
{
if (TxtSifrovaneHeslo.Text == "")
MessageBox.Show(
text: "Není vložené žádné heslo!",
caption: "Nevyplněný text ...",
buttons: MessageBoxButtons.OK,
icon: MessageBoxIcon.Error);
else
CmbHeslo.Items.Add(TxtSifrovaneHeslo.Text);
TxtSifrovaneHeslo.Clear();
}
private void CmbHeslo_SelectedIndexChanged(object sender, EventArgs e)
{
CmbHeslo.Sorted = true;
}
private void RdbSerioveCislo_CheckedChanged(object sender, EventArgs e)
{
TxtSerioveCislo.Enabled = true;
TxtZakaznickeCislo.Enabled = false;
}
private void RdbZakaznickeCislo_CheckedChanged(object sender, EventArgs e)
{
TxtZakaznickeCislo.Enabled = true;
TxtSerioveCislo.Enabled = false;
}
private void RdbObeCisla_CheckedChanged(object sender, EventArgs e)
{
TxtSerioveCislo.Enabled = true;
TxtZakaznickeCislo.Enabled = true;
}
private void BtnKonecProgramu_Click(object sender, EventArgs e)
{
if (true)
MessageBox.Show(
text: "Opravdu chceš skončit?",
caption: "Konec programu ...",
buttons: MessageBoxButtons.OK,
icon: MessageBoxIcon.Question);
{
Application.ExitThread();
}
}
public void FrmSpravaElektroMeru_FormClosing(System.Object sender, System.Windows.Forms.FormClosingEventArgs e)
{
DialogResult MKonecProgramu;
MKonecProgramu = MessageBox.Show(
text: "Opravdu chceš skončit?",
caption: "Konec programu ...",
buttons: MessageBoxButtons.YesNo,
icon: MessageBoxIcon.Question);
if (MKonecProgramu == System.Windows.Forms.DialogResult.No)
{
e.Cancel = true;
}
else
{
Application.ExitThread();
}
RtbLog.Text = RtbLog.Text + Environment.NewLine + RtbOdecetElektroMeru.Text;
RtbLog.AppendText(Environment.NewLine);
System.IO.StreamWriter MCteniDavky = new System.IO.StreamWriter("\\Files\\Davka.txt", false, System.Text.Encoding.GetEncoding("windows-1250"));
MCteniDavky.Write(RtbDavka.Text);
MCteniDavky.Close();
System.IO.StreamWriter MCteniHistoriePrikazu = new System.IO.StreamWriter("\\Files\\HistoriePrikazu.txt", false, System.Text.Encoding.GetEncoding("windows-1250"));
MCteniHistoriePrikazu.Write(RtbHistoriePrikazu.Text);
MCteniHistoriePrikazu.Close();
System.IO.StreamWriter MCteniLogu = new System.IO.StreamWriter("\\Files\\Log.txt", false, System.Text.Encoding.GetEncoding("windows-1250"));
MCteniLogu.Write(RtbLog.Text);
MCteniLogu.Close();
}
public void TxtSerioveCislo_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e)
{
if (!char.IsDigit(e.KeyChar) && !char.IsControl(e.KeyChar))
{
e.Handled = true;
}
}
public void TxtZakaznickeCislo_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e)
{
if (!char.IsDigit(e.KeyChar) && !char.IsControl(e.KeyChar))
{
e.Handled = true;
}
}
private void RdbCesky_CheckedChanged(object sender, EventArgs e)
{
this.Text = "Správa elektroměru - Danny (v1.0)";
BtnKonecProgramu.Text = "Konec programu";
BtnDoKlientModu.Text = "Do klient módu";
BtnKontrolaCRC.Text = "Kontrola CRC";
BtnKontrolaFW.Text = "Kontrola FW";
BtnKontrolaRTC.Text = "Kontrola RTC";
BtnNastaveniRTC.Text = "Nastavení RTC";
BtnVymazatNapadeni.Text = "Vymazat napadení";
BtnZrusitSvorkovnici.Text = "Zrušit svorkovnici";
BtnZrusitKryt.Text = "Zrušit kryt";
BtnDoTestModu.Text = "Do test módu";
BtnOdecetElektroMeru.Text = "Odečet ElektroMěru";
BtnPoslatCislo.Text = "Poslat číslo";
BtnPoslatPrikaz.Text = "Poslat příkaz";
BtnPridatSifrovaneHeslo.Text = "Přidat šifrované heslo";
BtnPridatViditelneHeslo.Text = "Přidat viditelné heslo";
BtnObnovitSeznamPortu.Text = "Obnovit seznam portů";
BtnZpracovatDavku.Text = "Zpracovat dávku";
GrpCOMx.Text = "COMx porty";
GrpHeslo.Text = "Heslo";
GrpParametrizace.Text = "Parametrizace";
GrpCislo.Text = "Sériové a Zákaznické číslo";
GrpLokalizace.Text = "Localizace";
ChkZabezpecenyOdecet.Text = "Zabezpečený odečet (přes 485)";
//LblAdresa.Text = "ZPA Smart Energy" + ControlChars.NewLine + "Komenského 821" + ControlChars.NewLine + "Trutnov" + ControlChars.NewLine + "541 01" + ControlChars.NewLine + "Česká republika";
LblCisloPrikazu.Text = "Číslo příkazu:";
LblKulikSoft.Text = "Vyrobeno na základě KulíkoSoftu pro:";
LblZakaznickeCislo.Text = "Zákaznické číslo (max. 16 číslic):";
LblSerioveCislo.Text = "Sériové číslo (max. 10 číslic):";
LblPopisPrikazu.Text = "Popis příkazu:";
LblPopisRegistru.Text = "Popis registru:";
LblPosledniPrikazy.Text = "Poslední příkazy:";
LblRychlostKomunikace.Text = "Rychlost komunikace (Bd):";
LblRychlostStartovaci.Text = "Rychlost startovací (Bd):";
LblSeznamPrikazu.Text = "Seznam příkazů:";
LblSeznamRegistru.Text = "Seznam registrů:";
LblZpusobPrikazu.Text = "Způsob příkazu:";
RdbObeCisla.Text = "Obě čísla";
RdbSerioveCislo.Text = "Jen sériové číslo";
RdbSifrovaneHeslo.Text = "Šifrované heslo";
RdbViditelneHeslo.Text = "Viditelné heslo";
RdbBezHesla.Text = "Bez hesla";
RdbZakaznickeCislo.Text = "Jen zákaznické číslo";
TbpDavka.Text = "Dávka";
TbpHistoriePrikazu.Text = "Historie příkazů";
TbpLog.Text = "Log";
TbpOdecetElektroMeru.Text = "Odečet ElektroMěru";
//TslCredit.Text = "Vytvořil: Daniel Semerák (s pomocí: Josef Valkoun && Ing. Jan Holý)";
CmbZpusobPrikazu.Items.Clear();
if (RdbCesky.Checked == true)
{
CmbZpusobPrikazu.Items.Add("číst");
CmbZpusobPrikazu.Items.Add("spustit");
CmbZpusobPrikazu.Items.Add("zapsat");
CmbZpusobPrikazu.SelectedIndex = 0;
}
}
}
}
Zde je ještě celý dosavadní kod ve VB.
Také se mi nedaří ošetřit, když nemám dostupné žádný SerialPort, aby
mi to nevyhodilo žádnou chybovou hlášku.
Imports System
Imports System.Threading
Imports System.Threading.Thread
Imports System.Threading.Timer
Imports System.IO.Ports
Imports System.ComponentModel
Imports System.Management
Imports System.Text
Imports System.Collections.Generic
Imports System.Windows.Forms
Imports System.Drawing
Imports System.Globalization
Imports System.Resources
Imports System.Configuration
Imports System.Xml
Public Class FrmSpravaElektroMeru
Dim MSerialPort As Array
Dim MNeniText As DialogResult
Dim MString As String = ""
Dim MCestaPrikazu As String = "\Files\Prikazy.csv"
Dim MCestaRegistru As String = "\Files\Registry.csv"
Dim MDavka As New IO.StreamReader("\Files\Davka.txt", System.Text.Encoding.GetEncoding("windows-1250"))
Dim MHistoriePrikazu As New IO.StreamReader("\Files\HistoriePrikazu.txt", System.Text.Encoding.GetEncoding("windows-1250"))
Dim MLog As New IO.StreamReader("\Files\Log.txt", System.Text.Encoding.GetEncoding("windows-1250"))
Public Sub New()
InitializeComponent()
Dim MPT As DataTable = TextToTableP(MCestaPrikazu, ";", True)
With CmbSeznamPrikazu
.DisplayMember = "Příkaz"
.ValueMember = "Číslo"
.DataSource = New DataView(MPT)
End With
With TxtPopisPrikazu
.DataBindings.Add("text", CmbSeznamPrikazu.DataSource, "Popis")
End With
Dim MRT As DataTable = TextToTableR(MCestaRegistru, ";", True)
With CmbSeznamRegistru
.DisplayMember = "Registr"
.ValueMember = "Číslo"
.DataSource = New DataView(MRT)
End With
With TxtPopisRegistru
.DataBindings.Add("text", CmbSeznamRegistru.DataSource, "Popis")
End With
End Sub
Private Function TextToTableP(ByVal path As String, ByVal delimitter As Char, ByVal header As Boolean) As DataTable
Dim MZdrojPrikazu As String = String.Empty
Dim MPT As DataTable = New DataTable
If IO.File.Exists(path) Then
MemZdrojPrikazu = IO.File.ReadAllText(path, System.Text.Encoding.GetEncoding("windows-1250"))
Else
Throw New IO.FileNotFoundException("Nenalezen soubor ..." & path, path)
End If
Dim MRadkyP() As String = MZdrojPrikazu.Split({Environment.NewLine}, StringSplitOptions.None)
For i As Integer = 0 To MRadkyP(0).Split(delimitter).Length - 1
Dim MSloupec As String = MRadkyP(0).Split(delimitter)(i)
MPT.Columns.Add(If(header, MSloupec, "column" & i + 1))
Next
For i As Integer = If(header, 1, 0) To MRadkyP.Length - 1
Dim MDR As DataRow = MPT.NewRow
For x As Integer = 0 To MRadkyP(i).Split(delimitter).Length - 1
If x <= MPT.Columns.Count - 1 Then
MDR(x) = MRadkyP(i).Split(delimitter)(x)
Else
Throw New Exception("Počet sloupců na řádek" & i + If(header, 0, 1) & " je větší než množství sloupců v " & If(header, "hlavičce.", "první řádek."))
End If
Next
MPT.Rows.Add(MDR)
Next
Return MPT
End Function
Private Function TextToTableR(ByVal path As String, ByVal delimitter As Char, ByVal header As Boolean) As DataTable
Dim MZdrojRegistru As String = String.Empty
Dim MRT As DataTable = New DataTable
If IO.File.Exists(path) Then
MZdrojRegistru = IO.File.ReadAllText(path, System.Text.Encoding.GetEncoding("windows-1250"))
Else
Throw New IO.FileNotFoundException("Nenalezen soubor ..." & path, path)
End If
Dim MRadkyR() As String = MZdrojRegistru.Split({Environment.NewLine}, StringSplitOptions.None)
For i As Integer = 0 To MRadkyR(0).Split(delimitter).Length - 1
Dim MSloupec As String = MRadkyR(0).Split(delimitter)(i)
MRT.Columns.Add(If(header, MSloupec, "column" & i + 1))
Next
For i As Integer = If(header, 1, 0) To MRadkyR.Length - 1
Dim mRR As DataRow = MRT.NewRow
For x As Integer = 0 To MRadkyR(i).Split(delimitter).Length - 1
If x <= MRT.Columns.Count - 1 Then
mRR(x) = MRadkyR(i).Split(delimitter)(x)
Else
Throw New Exception("Počet sloupců na řádek" & i + If(header, 0, 1) & " je větší než množství sloupců v " & If(header, "hlavičce.", "první řádek."))
End If
Next
MRT.Rows.Add(mRR)
Next
Return MRT
End Function
Private Sub FrmSpravaElektroMeru_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
MSerialPort = IO.Ports.SerialPort.GetPortNames()
TmrCasovac.Interval = 100
CmbCisloPortu.Items.AddRange(MSerialPort)
ComSerialPort.Parity = IO.Ports.Parity.None
ComSerialPort.DataBits = 7
ComSerialPort.StopBits = IO.Ports.StopBits.One
ComSerialPort.Handshake = IO.Ports.Handshake.None
ComSerialPort.RtsEnable = True
RdbViditelneHeslo.Select()
RdbObeCisla.Select()
RdbCesky.Select()
CmbHeslo.Select()
CmbCisloPrikazu.Items.Add("1")
CmbCisloPrikazu.Items.Add("2")
CmbCisloPrikazu.Items.Add("3")
CmbCisloPrikazu.Items.Add("4")
CmbCisloPrikazu.Items.Add("5")
CmbCisloPrikazu.SelectedIndex = 0
CmbRychlostStartovaci.Items.Add(" 300")
CmbRychlostStartovaci.Items.Add(" 600")
CmbRychlostStartovaci.Items.Add(" 1200")
CmbRychlostStartovaci.Items.Add(" 2400")
CmbRychlostStartovaci.Items.Add(" 4800")
CmbRychlostStartovaci.Items.Add(" 9600")
CmbRychlostStartovaci.Items.Add("19200")
CmbRychlostStartovaci.Text = CStr(CmbRychlostStartovaci.Items.Item(0))
CmbRychlostStartovaci.SelectedIndex = 0
CmbRychlostKomunikace.Items.Add(" 300")
CmbRychlostKomunikace.Items.Add(" 600")
CmbRychlostKomunikace.Items.Add(" 1200")
CmbRychlostKomunikace.Items.Add(" 2400")
CmbRychlostKomunikace.Items.Add(" 4800")
CmbRychlostKomunikace.Items.Add(" 9600")
CmbRychlostKomunikace.Items.Add("19200")
CmbRychlostKomunikace.Text = CStr(CmbRychlostKomunikace.Items.Item(0))
CmbRychlostKomunikace.SelectedIndex = 4
CmbCisloPortu.Text = CStr(CmbCisloPortu.Items.Item(0))
CmbCisloPortu.SelectedIndex = 0
CmbZpusobPrikazu.Items.Add("číst")
CmbZpusobPrikazu.Items.Add("spustit")
CmbZpusobPrikazu.Items.Add("zapsat")
CmbZpusobPrikazu.SelectedIndex = 0
CmbHeslo.Items.Add("EEUPW1")
CmbHeslo.Items.Add("EONHU5")
CmbHeslo.Items.Add("MANSP5")
CmbHeslo.Items.Add("MINOS1")
CmbHeslo.Items.Add("MINOS5")
CmbHeslo.Items.Add("MKDEVN")
CmbHeslo.Items.Add("MONGOD")
CmbHeslo.Items.Add("SEEPW1")
'CmbCisloPortu.Text = CStr(CmbCisloPortu.Items.Item(0))
CmbHeslo.SelectedIndex = 1
RtbDavka.Text = MDavka.ReadToEnd
MDavka.Close()
RtbHistoriePrikazu.Text = MHistoriePrikazu.ReadToEnd
MHistoriePrikazu.Close()
RtbLog.Text = MLog.ReadToEnd
MLog.Close()
'načíst do ComboBoxu řádek (seznam posledních 10 řádků) z výše uvedeného souboru
CmbPosledniPrikazy.DataSource = IO.File.ReadAllLines("\Files\HistoriePrikazu.txt")
CmbPosledniPrikazy.AutoCompleteMode = AutoCompleteMode.Suggest
CmbPosledniPrikazy.AutoCompleteSource = AutoCompleteSource.ListItems
TslZprava.Text = "Program načten."
End Sub
Private Sub BtnOdecetElektroMeru_Click(sender As System.Object, e As System.EventArgs) Handles BtnOdecetElektroMeru.Click
BtnOdecetElektroMeru.Enabled = False
RtbOdecetElektromeru.Clear()
TslZprava.Text = "Probíhá komunikace s ElektroMěrem ..."
TbcVystupDat.SelectedTab = TbpOdecetElektromeru
BtnKonecProgramu.Enabled = False
BtnKonecVyrobnihoModu.Enabled = False
BtnPoslatCislo.Enabled = False
BtnPoslatPrikaz.Enabled = False
BtnPridatViditelneHeslo.Enabled = False
BtnPridatSifrovaneHeslo.Enabled = False
BtnReFresh.Enabled = False
BtnVymazatNapadeni.Enabled = False
BtnZrusitSvorkovnici.Enabled = False
BtnZrusitKryt.Enabled = False
BtnDoTestModu.Enabled = False
BtnZpracovatDavku.Enabled = False
BtnNastavRTC.Enabled = False
BtnKontrolaRTC.Enabled = False
BtnKontrolaFW.Enabled = False
BtnKontrolaRTC.Enabled = False
BtnKontrolaCRC.Enabled = False
'Zde bude kod, kde se vyčtou data z ElMěru a zobrazí se vpravo v okně "Odečet".
ComSerialPort.PortName = CmbCisloPortu.Text
ComSerialPort.BaudRate = Int(CmbRychlostStartovaci.Text)
ComSerialPort.Parity = Parity.Even
ComSerialPort.StopBits = StopBits.One
ComSerialPort.DataBits = 7
ComSerialPort.Handshake = Handshake.None
ComSerialPort.RtsEnable = True
ComSerialPort.ReadTimeout = 3000
ComSerialPort.Open()
MString = "<<< " & "/?!" + Chr(13) + Chr(10)
ComSerialPort.Write(MString)
RtbLog.AppendText("*****" & " ")
RtbLog.AppendText(DateTime.Now.ToString("dddd, d. MMMM yyyy H:mm:ss"))
RtbLog.AppendText(" " & "*****")
RtbOdecetElektromeru.AppendText(MString) '(ComSerialPort.ReadLine & vbCrLf)
RtbLog.Text = RtbLog.Text & Environment.NewLine & RtbOdecetElektromeru.Text
RtbLog.AppendText(Environment.NewLine)
BtnKonecProgramu.Enabled = True
BtnKonecVyrobnihoModu.Enabled = True
BtnPoslatCislo.Enabled = True
BtnPoslatPrikaz.Enabled = True
BtnPridatViditelneHeslo.Enabled = True
BtnPridatSifrovaneHeslo.Enabled = True
BtnReFresh.Enabled = True
BtnVymazatNapadeni.Enabled = True
BtnZrusitSvorkovnici.Enabled = True
BtnZrusitKryt.Enabled = True
BtnDoTestModu.Enabled = True
BtnZpracovatDavku.Enabled = True
BtnNastavRTC.Enabled = True
BtnKontrolaRTC.Enabled = True
BtnKontrolaFW.Enabled = True
BtnKontrolaRTC.Enabled = True
BtnKontrolaCRC.Enabled = True
BtnOdecetElektroMeru.Enabled = True
End Sub
Private Sub CoMSerialPort_DataReceived(ByVal sender As System.Object, ByVal e As System.IO.Ports.SerialDataReceivedEventArgs) Handles ComSerialPort.DataReceived
MString = ComSerialPort.ReadLine
Me.Invoke(New EventHandler(AddressOf DoUpdate))
End Sub
Public Sub DoUpdate()
RtbOdecetElektromeru.Text = RtbOdecetElektromeru.Text & ">>> " & MString
'CoMSerialPort.Close()
'TslZprava.Text = "Odečet dokončen."
End Sub
Private Sub Form1_FormClosed(ByVal sender As System.Object, ByVal e As System.Windows.Forms.FormClosedEventArgs) Handles MyBase.FormClosed
ComSerialPort.Close()
End Sub
Private Sub BtnPoslatPrikaz_Click(sender As Object, e As EventArgs) Handles BtnPoslatPrikaz.Click
RtbOdecetElektromeru.Clear()
TslZprava.Text = "Probíhá komunikace s ElektroMěrem ..."
TslZprava.Text = "Příkaz poslán do ElektroMěru."
End Sub
Private Sub BtnKonecProgramu_Click(sender As System.Object, e As System.EventArgs) Handles BtnKonecProgramu.Click
If MessageBox.Show("Opravdu chceš skončit?", "Konec programu ...", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = Windows.Forms.DialogResult.Yes Then
Application.ExitThread()
End If
End Sub
Private Sub FrmSpravaElektroMeru_FormClosing(sender As System.Object, e As System.Windows.Forms.FormClosingEventArgs) Handles MyBase.FormClosing
Dim MKonecProgramu As DialogResult
MKonecProgramu = MessageBox.Show("Opravdu chceš skončit?", "Konec programu ...", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
If MKonecProgramu = Windows.Forms.DialogResult.No Then
e.Cancel = True
Else
Application.ExitThread()
End If
RtbLog.Text = RtbLog.Text & Environment.NewLine & RtbOdecetElektromeru.Text
RtbLog.AppendText(Environment.NewLine)
Dim MCteniDavky As New IO.StreamWriter("\Files\Davka.txt", False, System.Text.Encoding.GetEncoding("windows-1250"))
MCteniDavky.Write(RtbDavka.Text)
MCteniDavky.Close()
Dim MCteniHistoriePrikazu As New IO.StreamWriter("\Files\HistoriePrikazu.txt", False, System.Text.Encoding.GetEncoding("windows-1250"))
MCteniHistoriePrikazu.Write(RtbHistoriePrikazu.Text)
MCteniHistoriePrikazu.Close()
Dim MCteniLogu As New IO.StreamWriter("\Files\Log.txt", False, System.Text.Encoding.GetEncoding("windows-1250"))
MCteniLogu.Write(RtbLog.Text)
MCteniLogu.Close()
End Sub
Private Sub BtnReFresh_Click(sender As System.Object, e As System.EventArgs) Handles BtnReFresh.Click
CmbCisloPortu.Items.Clear()
MSerialPort = IO.Ports.SerialPort.GetPortNames()
CmbCisloPortu.Items.AddRange(MSerialPort)
CmbCisloPortu.Text = CStr(CmbCisloPortu.Items.Item(0))
CmbCisloPortu.SelectedIndex = 0
ComSerialPort.Parity = IO.Ports.Parity.None
ComSerialPort.DataBits = 7
ComSerialPort.StopBits = IO.Ports.StopBits.One
ComSerialPort.Handshake = IO.Ports.Handshake.None
ComSerialPort.RtsEnable = True
End Sub
Private Sub Form_Unload(Cancel As Integer)
ComSerialPort.Close()
End Sub
Private Sub BtnPridatViditelneHeslo_Click(sender As System.Object, e As System.EventArgs) Handles BtnPridatViditelneHeslo.Click
If TxtViditelneHeslo.Text = "" Then
MNeniText = MessageBox.Show("Není vložené žádné heslo!", "Nevyplněný text ...", MessageBoxButtons.OK, MessageBoxIcon.Error)
Else
CmbHeslo.Items.Add(TxtViditelneHeslo.Text)
TxtViditelneHeslo.Clear()
End If
End Sub
Private Sub BtnPridatSifraHeslo_Click(sender As System.Object, e As System.EventArgs) Handles BtnPridatSifrovaneHeslo.Click
If TxtSifrovaneHeslo.Text = "" Then
MNeniText = MessageBox.Show("Není vložené žádné heslo!", "Nevyplněný text ...", MessageBoxButtons.OK, MessageBoxIcon.Error)
Else
CmbHeslo.Items.Add(TxtSifrovaneHeslo.Text & "***")
'+ přidat do tohoto řádku a do závorek také příznak, aby text byl tučně
TxtSifrovaneHeslo.Clear()
End If
End Sub
Private Sub RdbZadneHeslo_CheckedChanged(sender As System.Object, e As System.EventArgs) Handles RdbZadneHeslo.CheckedChanged
CmbHeslo.Enabled = False
TxtSifrovaneHeslo.Enabled = False
TxtViditelneHeslo.Enabled = False
BtnPridatViditelneHeslo.Enabled = False
BtnPridatSifrovaneHeslo.Enabled = False
ChbZabezpecenyOdecet.Enabled = False
End Sub
Private Sub RdbViditelneHeslo_CheckedChanged(sender As System.Object, e As System.EventArgs) Handles RdbViditelneHeslo.CheckedChanged
CmbHeslo.Enabled = True
BtnPridatViditelneHeslo.Enabled = True
BtnPridatSifrovaneHeslo.Enabled = False
TxtViditelneHeslo.Enabled = True
TxtSifrovaneHeslo.Enabled = False
ChbZabezpecenyOdecet.Enabled = True
End Sub
Private Sub RdbSifrovaneHeslo_CheckedChanged(sender As System.Object, e As System.EventArgs) Handles RdbSifrovaneHeslo.CheckedChanged
CmbHeslo.Enabled = True
TxtViditelneHeslo.Enabled = False
TxtSifrovaneHeslo.Enabled = True
BtnPridatSifrovaneHeslo.Enabled = True
BtnPridatViditelneHeslo.Enabled = False
ChbZabezpecenyOdecet.Enabled = True
End Sub
Private Sub BtnVytvoritDavku_Click(sender As Object, e As EventArgs) Handles BtnZrusitSvorkovnici.Click
TbcVystupDat.SelectedTab = TbpDavka
End Sub
Private Sub CmbCisloPortu_SelectedIndexChanged(sender As Object, e As EventArgs) Handles CmbCisloPortu.SelectedIndexChanged
CmbCisloPortu.Sorted = True
End Sub
Private Sub BtnZpracovatDavku_Click(sender As Object, e As EventArgs) Handles BtnZpracovatDavku.Click
TbcVystupDat.SelectedTab = TbpDavka
End Sub
Private Sub RdbSerioveCislo_CheckedChanged(sender As System.Object, e As System.EventArgs) Handles RdbSerioveCislo.CheckedChanged
TxtZakaznickeCislo.Enabled = False
TxtSerioveCislo.Enabled = True
End Sub
Private Sub RdbZakaznickeCislo_CheckedChanged(sender As System.Object, e As System.EventArgs) Handles RdbZakaznickeCislo.CheckedChanged
TxtSerioveCislo.Enabled = False
TxtZakaznickeCislo.Enabled = True
End Sub
Private Sub RdbObeCisla_CheckedChanged(sender As System.Object, e As System.EventArgs) Handles RdbObeCisla.CheckedChanged
TxtSerioveCislo.Enabled = True
TxtZakaznickeCislo.Enabled = True
End Sub
Private Sub CmbHeslo_SelectedIndexChanged(sender As Object, e As EventArgs) Handles CmbHeslo.SelectedIndexChanged
CmbHeslo.Sorted = True
End Sub
Private Sub CmbRychlostStartovaci_SelectedIndexChanged(sender As System.Object, e As System.EventArgs) Handles CmbRychlostStartovaci.SelectedIndexChanged
CmbRychlostStartovaci.Sorted = True
End Sub
Private Sub CmbRychlostKomunikace_SelectedIndexChanged(sender As Object, e As EventArgs) Handles CmbRychlostKomunikace.SelectedIndexChanged
CmbRychlostKomunikace.Sorted = True
End Sub
Private Sub ChbZabezpecenyOdecet_CheckedChanged(sender As System.Object, e As System.EventArgs) Handles ChbZabezpecenyOdecet.CheckedChanged
If ChbZabezpecenyOdecet.Checked = True Then
CmbRychlostStartovaci.SelectedIndex = 4
Else
CmbRychlostStartovaci.SelectedIndex = 0
End If
End Sub
Private Sub TxtSerioveCislo_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TxtSerioveCislo.KeyPress
If Not Char.IsDigit(e.KeyChar) And Not Char.IsControl(e.KeyChar) Then
e.Handled = True
End If
End Sub
Private Sub TxtZakaznickeCislo_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TxtZakaznickeCislo.KeyPress
If Not Char.IsDigit(e.KeyChar) And Not Char.IsControl(e.KeyChar) Then
e.Handled = True
End If
End Sub
Private Sub TmrCasovac_Tick(sender As Object, e As EventArgs) Handles TmrCasovac.Tick
MString = Chr(6) + "040" + Chr(13) + Chr(10)
ComSerialPort.ReadLine()
'ComSerialPort.Close()
End Sub
Private Sub RdbEnglish_CheckedChanged(sender As Object, e As EventArgs) Handles RdbEnglish.CheckedChanged
Me.Text = "Electricity meter management - Danny (v1.0)"
BtnKonecProgramu.Text = "End of program"
BtnKonecVyrobnihoModu.Text = "To client mode"
BtnKontrolaCRC.Text = "CRC check"
BtnKontrolaFW.Text = "FW check"
BtnKontrolaRTC.Text = "RTC check"
BtnNastavRTC.Text = "RTC Settings"
BtnVymazatNapadeni.Text = ""
BtnZrusitSvorkovnici.Text = ""
BtnZrusitKryt.Text = ""
BtnDoTestModu.Text = ""
BtnOdecetElektroMeru.Text = "Electrometer reading"
BtnPoslatCislo.Text = "Send number"
BtnPoslatPrikaz.Text = "Send command"
BtnPridatSifrovaneHeslo.Text = "Add an encrypted password"
BtnPridatViditelneHeslo.Text = "Add a visible password"
BtnReFresh.Text = "ReFresh port list"
BtnZpracovatDavku.Text = "Process batch"
GrpSerialPort.Text = "COMx ports"
GrpHeslo.Text = "PassWord"
GrpPrikazy.Text = "Commands"
GrpCislo.Text = "Serial and Customer Number"
GrpLokalizace.Text = "Localization"
ChbZabezpecenyOdecet.Text = "Secure reading (over 485)"
LblAdresa.Text = "ZPA Smart Energy" + ControlChars.NewLine + "Komenskeho 821" + ControlChars.NewLine + "Trutnov" + ControlChars.NewLine + "541 01" + ControlChars.NewLine + "Czech republic"
LblCisloPrikazu.Text = "Command number:"
LblKulikSoft.Text = "Manufactured under KulikoSoft for:"
LblMaxCN.Text = "Customer number (max. 16 digits):"
LblMaxSN.Text = "Serial number (max. 10 digits):"
LblPopisPrikazu.Text = "Command Description:"
LblPopisRegistru.Text = "Description of the registry:"
LblPosledniPrikazy.Text = "Last commands:"
LblRychlostKomunikace.Text = "Communication Speed (Bd):"
LblRychlostStartovaci.Text = "Starter Speed (Bd):"
LblSeznamPrikazu.Text = "List of commands:"
LblSeznamRegistru.Text = "List of registers:"
LblZpusobPrikazu.Text = "Command type:"
RdbObeCisla.Text = "Both numbers"
RdbSerioveCislo.Text = "Only the serial number"
RdbSifrovaneHeslo.Text = "Encrypted password"
RdbViditelneHeslo.Text = "Visible password"
RdbZadneHeslo.Text = "No password"
RdbZakaznickeCislo.Text = "Customer number only"
TbpDavka.Text = "Batch"
TbpHistoriePrikazu.Text = "Command history"
TbpLog.Text = "Log"
TbpOdecetElektromeru.Text = "Electrometer reading"
TslCredit.Text = "Created by: Daniel Semerák (with the help of: Josef Valkoun && Ing. Jan Holý)"
CmbZpusobPrikazu.Items.Clear()
If RdbEnglish.Checked = True Then
CmbZpusobPrikazu.Items.Add("read")
CmbZpusobPrikazu.Items.Add("execute")
CmbZpusobPrikazu.Items.Add("write")
CmbZpusobPrikazu.SelectedIndex = 0
End If
End Sub
Private Sub RdbCesky_CheckedChanged(sender As Object, e As EventArgs) Handles RdbCesky.CheckedChanged
Me.Text = "Správa elektroměru - Danny (v1.0)"
BtnKonecProgramu.Text = "Konec programu"
BtnKonecVyrobnihoModu.Text = "Do klient módu"
BtnKontrolaCRC.Text = "Kontrola CRC"
BtnKontrolaFW.Text = "Kontrola FW"
BtnKontrolaRTC.Text = "Kontrola RTC"
BtnNastavRTC.Text = "Nastavení RTC"
BtnVymazatNapadeni.Text = "Vymazat napadení"
BtnZrusitSvorkovnici.Text = "Zrušit svorkovnici"
BtnZrusitKryt.Text = "Zrušit kryt"
BtnDoTestModu.Text = "Do test módu"
BtnOdecetElektroMeru.Text = "Odečet ElektroMěru"
BtnPoslatCislo.Text = "Poslat číslo"
BtnPoslatPrikaz.Text = "Poslat příkaz"
BtnPridatSifrovaneHeslo.Text = "Přidat šifrované heslo"
BtnPridatViditelneHeslo.Text = "Přidat viditelné heslo"
BtnReFresh.Text = "Obnovit seznam portů"
BtnZpracovatDavku.Text = "Zpracovat dávku"
GrpSerialPort.Text = "COMx porty"
GrpHeslo.Text = "Heslo"
GrpPrikazy.Text = "Parametrizace"
GrpCislo.Text = "Sériové a Zákaznické číslo"
GrpLokalizace.Text = "Localizace"
ChbZabezpecenyOdecet.Text = "Zabezpečený odečet (přes 485)"
LblAdresa.Text = "ZPA Smart Energy" + ControlChars.NewLine + "Komenského 821" + ControlChars.NewLine + "Trutnov" + ControlChars.NewLine + "541 01" + ControlChars.NewLine + "Česká republika"
LblCisloPrikazu.Text = "Číslo příkazu:"
LblKulikSoft.Text = "Vyrobeno na základě KulíkoSoftu pro:"
LblMaxCN.Text = "Zákaznické číslo (max. 16 číslic):"
LblMaxSN.Text = "Sériové číslo (max. 10 číslic):"
LblPopisPrikazu.Text = "Popis příkazu:"
LblPopisRegistru.Text = "Popis registru:"
LblPosledniPrikazy.Text = "Poslední příkazy:"
LblRychlostKomunikace.Text = "Rychlost komunikace (Bd):"
LblRychlostStartovaci.Text = "Rychlost startovací (Bd):"
LblSeznamPrikazu.Text = "Seznam příkazů:"
LblSeznamRegistru.Text = "Seznam registrů:"
LblZpusobPrikazu.Text = "Způsob příkazu:"
RdbObeCisla.Text = "Obě čísla"
RdbSerioveCislo.Text = "Jen sériové číslo"
RdbSifrovaneHeslo.Text = "Šifrované heslo"
RdbViditelneHeslo.Text = "Viditelné heslo"
RdbZadneHeslo.Text = "Bez hesla"
RdbZakaznickeCislo.Text = "Jen zákaznické číslo"
TbpDavka.Text = "Dávka"
TbpHistoriePrikazu.Text = "Historie příkazů"
TbpLog.Text = "Log"
TbpOdecetElektromeru.Text = "Odečet ElektroMěru"
TslCredit.Text = "Vytvořil: Daniel Semerák (s pomocí: Josef Valkoun && Ing. Jan Holý)"
CmbZpusobPrikazu.Items.Clear()
If RdbCesky.Checked = True Then
CmbZpusobPrikazu.Items.Add("číst")
CmbZpusobPrikazu.Items.Add("spustit")
CmbZpusobPrikazu.Items.Add("zapsat")
CmbZpusobPrikazu.SelectedIndex = 0
End If
End Sub
Private Sub RdbMadarsky_CheckedChanged(sender As Object, e As EventArgs) Handles RdbMadarsky.CheckedChanged
Me.Text = "Villamosenergia-mérők kezelése - Danny (v1.0)"
BtnKonecProgramu.Text = "A program vége"
BtnKonecVyrobnihoModu.Text = "Az ügyfélmódhoz"
BtnKontrolaCRC.Text = "CRC ellenőrzés"
BtnKontrolaFW.Text = "FW ellenőrzés"
BtnKontrolaRTC.Text = "RTC ellenőrzés"
BtnNastavRTC.Text = "RTC beállítás"
BtnVymazatNapadeni.Text = ""
BtnZrusitSvorkovnici.Text = ""
BtnZrusitKryt.Text = ""
BtnDoTestModu.Text = ""
BtnOdecetElektroMeru.Text = "Mérőóra levonása"
BtnPoslatCislo.Text = "Szám küldése"
BtnPoslatPrikaz.Text = "Parancs küldése"
BtnPridatSifrovaneHeslo.Text = "Titkosított jelszó hozzáadása"
BtnPridatViditelneHeslo.Text = "Látható jelszó hozzáadása"
BtnReFresh.Text = "Portlista megnyitása"
BtnZpracovatDavku.Text = "Az adag feldogozása"
GrpSerialPort.Text = "COMx portok"
GrpHeslo.Text = "Jelszó"
GrpPrikazy.Text = "Paraméterezés"
GrpCislo.Text = "Soros és Ügyfélazonosító"
GrpLokalizace.Text = "Lokalizáció"
ChbZabezpecenyOdecet.Text = "Biztonságos olvasás (több mint 485)"
LblAdresa.Text = "ZPA Smart Energy" + ControlChars.NewLine + "Komenskeho 821" + ControlChars.NewLine + "Trutnov" + ControlChars.NewLine + "541 01" + ControlChars.NewLine + "Czech republic"
LblCisloPrikazu.Text = "Rendelési szám:"
LblKulikSoft.Text = "KulíkoSoft alatt gyártva:"
LblMaxCN.Text = "Ügyfél száma (max. 16 szám):"
LblMaxSN.Text = "Sorszám (max. 10 szám):"
LblPopisPrikazu.Text = "Parancsleírás:"
LblPopisRegistru.Text = "A rendszerleíró adatbázis leírása:"
LblPosledniPrikazy.Text = "Utolsó parancsok:"
LblRychlostKomunikace.Text = "Kommunikációs sebesség (Bd):"
LblRychlostStartovaci.Text = "Indítási sebesség (Bd):"
LblSeznamPrikazu.Text = "A parancsok listája:"
LblSeznamRegistru.Text = "Az adatdatabázis listája:"
LblZpusobPrikazu.Text = "Parancs típusa:"
RdbObeCisla.Text = "Mindkét szám"
RdbSerioveCislo.Text = "Csak sorozatszám"
RdbSifrovaneHeslo.Text = "Titkosított jelszó"
RdbViditelneHeslo.Text = "Látható jelszó"
RdbZadneHeslo.Text = "Nincs jelszó"
RdbZakaznickeCislo.Text = "Csak ügyfélszám"
TbpDavka.Text = "Tétel"
TbpHistoriePrikazu.Text = "Parancstörténet"
TbpLog.Text = "Fakitermelés"
TbpOdecetElektromeru.Text = "Mérőóra levonása"
TslCredit.Text = "Készítette: Daniel Semerák (a következők segítségével: Josef Valkoun & Ing. Jan Holý)"
CmbZpusobPrikazu.Items.Clear()
If RdbMadarsky.Checked = True Then
CmbZpusobPrikazu.Items.Add("olvasni")
CmbZpusobPrikazu.Items.Add("elindítani")
CmbZpusobPrikazu.Items.Add("beírni")
CmbZpusobPrikazu.SelectedIndex = 0
End If
End Sub
Private Sub RdbLitevsky_CheckedChanged(sender As Object, e As EventArgs) Handles RdbLitevsky.CheckedChanged
Me.Text = "Elektros skaitiklių valdymas - Danny (v1.0)"
BtnKonecProgramu.Text = "Programos pabaiga"
BtnKonecVyrobnihoModu.Text = "Į kliento režimą"
BtnKontrolaCRC.Text = "CRC patikrinimas"
BtnKontrolaFW.Text = "FW patikrinimas"
BtnKontrolaRTC.Text = "RTC patikrinimas"
BtnNastavRTC.Text = "RTC nustatymai"
BtnVymazatNapadeni.Text = "Vymazat napadení"
BtnZrusitSvorkovnici.Text = "Zrušit svorkovnici"
BtnZrusitKryt.Text = "Zrušit kryt"
BtnDoTestModu.Text = "Do test módu"
BtnOdecetElektroMeru.Text = "Elektrometro rodmenys"
BtnPoslatCislo.Text = "Siųsti numerį"
BtnPoslatPrikaz.Text = "Siųsti komandą"
BtnPridatSifrovaneHeslo.Text = "Pridėkite šifruotą slaptažodį"
BtnPridatViditelneHeslo.Text = "Pridėti matomą slaptažodį"
BtnReFresh.Text = "Atstatyti uosto sąrašą"
BtnZpracovatDavku.Text = "Proceso partija"
GrpSerialPort.Text = "COMx prievadai"
GrpHeslo.Text = "Heslo"
GrpPrikazy.Text = "Parametrizavimas"
GrpCislo.Text = "Serijos ir Kliento ID"
GrpLokalizace.Text = "Lokalizavimas"
ChbZabezpecenyOdecet.Text = "Saugus skaitymas (virš 485)"
LblAdresa.Text = "ZPA Smart Energy" + ControlChars.NewLine + "Komenskeho 821" + ControlChars.NewLine + "Trutnov" + ControlChars.NewLine + "541 01" + ControlChars.NewLine + "Czech republic"
LblCisloPrikazu.Text = "Užsakymo numeris:"
LblKulikSoft.Text = "Pagaminta pagal KulikoSoft:"
LblMaxCN.Text = "Kliento numeris (maks. 16 skaitmenų):"
LblMaxSN.Text = "Serijos numeris (maks. 10 skaitmenų):"
LblPopisPrikazu.Text = "Komandų aprašymas:"
LblPopisRegistru.Text = "Registro aprašymas:"
LblPosledniPrikazy.Text = "Paskutinės komandos:"
LblRychlostKomunikace.Text = "Ryšio greitis (Bd):"
LblRychlostStartovaci.Text = "Starterio greitis (Bd):"
LblSeznamPrikazu.Text = "Komandų sąrašas:"
LblSeznamRegistru.Text = "Registrų sąrašas:"
LblZpusobPrikazu.Text = "Komandos tipas:"
RdbObeCisla.Text = "Abu numeriai"
RdbSerioveCislo.Text = "Tiesiog serijos numeris"
RdbSifrovaneHeslo.Text = "Šifruotas slaptažodis"
RdbViditelneHeslo.Text = "Matomas slaptažodis"
RdbZadneHeslo.Text = "Nėra slaptažodžio"
RdbZakaznickeCislo.Text = "Tik kliento numeris"
TbpDavka.Text = "Dozė"
TbpHistoriePrikazu.Text = "Komandų istorija"
TbpLog.Text = "Registravimas"
TbpOdecetElektromeru.Text = "Elektrometro rodmenys"
TslCredit.Text = "Sukūrė: Daniel Semerák (padedant: Josef Valkoun && Ing. Jan Holý)"
CmbZpusobPrikazu.Items.Clear()
If RdbLitevsky.Checked = True Then
CmbZpusobPrikazu.Items.Add("lasīt")
CmbZpusobPrikazu.Items.Add("palaist")
CmbZpusobPrikazu.Items.Add("reģistrēties")
CmbZpusobPrikazu.SelectedIndex = 0
End If
End Sub
Private Sub RdbPolsky_CheckedChanged(sender As Object, e As EventArgs) Handles RdbPolsky.CheckedChanged
Me.Text = "Zarządzanie licznikiem energii elektrycznej - Danny (v1.0)"
BtnKonecProgramu.Text = "Koniec programu"
BtnKonecVyrobnihoModu.Text = "Do trybu klienta"
BtnKontrolaCRC.Text = "Kontrola CRC"
BtnKontrolaFW.Text = "Kontrola FW"
BtnKontrolaRTC.Text = "Kontrola RTC"
BtnNastavRTC.Text = "Ustawienia RTC"
BtnVymazatNapadeni.Text = ""
BtnZrusitSvorkovnici.Text = ""
BtnZrusitKryt.Text = ""
BtnDoTestModu.Text = ""
BtnOdecetElektroMeru.Text = "Odczyt elektrometru"
BtnPoslatCislo.Text = "Wyślij numer"
BtnPoslatPrikaz.Text = "Wyślij polecenie"
BtnPridatSifrovaneHeslo.Text = "Dodaj zaszyfrowane hasło"
BtnPridatViditelneHeslo.Text = "Dodaj widoczne hasło"
BtnReFresh.Text = "Zresetuj listę portów"
BtnZpracovatDavku.Text = "Przetwarzaj partię"
GrpSerialPort.Text = "Porty COMx"
GrpHeslo.Text = "Hasło"
GrpPrikazy.Text = "Parametryzacja"
GrpCislo.Text = "Numer seryjny i Identyfikator klienta"
GrpLokalizace.Text = "Lokalizacja"
ChbZabezpecenyOdecet.Text = "Bezpieczny odczyt (ponad 485)"
LblAdresa.Text = "ZPA Smart Energy" + ControlChars.NewLine + "Komenskeho 821" + ControlChars.NewLine + "Trutnov" + ControlChars.NewLine + "541 01" + ControlChars.NewLine + "Czech republic"
LblCisloPrikazu.Text = "Numer zamówienia:"
LblKulikSoft.Text = "Wyprodukowano pod KulikoSoft dla:"
LblMaxCN.Text = "Numer klienta (maks. 16 cyfr):"
LblMaxSN.Text = "Numer seryjny (maks. 10 cyfr):"
LblPopisPrikazu.Text = "Opis polecenia:"
LblPopisRegistru.Text = "Opis rejestru:"
LblPosledniPrikazy.Text = "Ostatnie polecenia:"
LblRychlostKomunikace.Text = "Szybkość komunikacji (Bd):"
LblRychlostStartovaci.Text = "Prędkość startowa (Bd):"
LblSeznamPrikazu.Text = "Lista poleceń:"
LblSeznamRegistru.Text = "Lista rejestrów:"
LblZpusobPrikazu.Text = "Typ polecenia:"
RdbObeCisla.Text = "Obie liczby"
RdbSerioveCislo.Text = "Tylko numer seryjny"
RdbSifrovaneHeslo.Text = "Zaszyfrowane hasło"
RdbViditelneHeslo.Text = "Widoczne hasło"
RdbZadneHeslo.Text = "Brak hasła"
RdbZakaznickeCislo.Text = "Tylko numer klienta"
TbpDavka.Text = "Dawka"
TbpHistoriePrikazu.Text = "Historia dowodzenia"
TbpLog.Text = "Logowanie"
TbpOdecetElektromeru.Text = "Odczyt elektrometru"
TslCredit.Text = "Stworzone przez: Daniel Semerák (z pomocą: Josef Valkoun && Ing. Jan Holý)"
CmbZpusobPrikazu.Items.Clear()
If RdbPolsky.Checked = True Then
CmbZpusobPrikazu.Items.Add("czytać")
CmbZpusobPrikazu.Items.Add("biegać")
CmbZpusobPrikazu.Items.Add("zapisz się")
CmbZpusobPrikazu.SelectedIndex = 0
End If
End Sub
Private Sub RdbMakedonsky_CheckedChanged(sender As Object, e As EventArgs) Handles RdbMakedonsky.CheckedChanged
Me.Text = "Извештај за електрометрија - Данни (v1.0)"
BtnKonecProgramu.Text = "Крај на програмата"
BtnKonecVyrobnihoModu.Text = "На клиентски режим"
BtnKontrolaCRC.Text = "Проверка на CRC"
BtnKontrolaFW.Text = "Проверка на FW"
BtnKontrolaRTC.Text = "Проверка на RTC"
BtnNastavRTC.Text = "Подесувања RTC"
BtnVymazatNapadeni.Text = ""
BtnZrusitSvorkovnici.Text = ""
BtnZrusitKryt.Text = ""
BtnDoTestModu.Text = ""
BtnOdecetElektroMeru.Text = "Ел-метриско читање"
BtnPoslatCislo.Text = "Испрати број"
BtnPoslatPrikaz.Text = "Испрати команда"
BtnPridatSifrovaneHeslo.Text = "Додајте шифрирана лозинка"
BtnPridatViditelneHeslo.Text = "Додајте видлива лозинка"
BtnReFresh.Text = "Ресетирај листа на порта"
BtnZpracovatDavku.Text = "Процесна серија"
GrpSerialPort.Text = "COMx пристаништа"
GrpHeslo.Text = "Лозинка"
GrpPrikazy.Text = "Параметризација"
GrpCislo.Text = "Сериски и Kориснички проект"
GrpLokalizace.Text = "Локализација"
ChbZabezpecenyOdecet.Text = "Безбедно читање (над 485)"
LblAdresa.Text = "ZPA Smart Energy" + ControlChars.NewLine + "Komenskeho 821" + ControlChars.NewLine + "Trutnov" + ControlChars.NewLine + "541 01" + ControlChars.NewLine + "Czech republic"
LblCisloPrikazu.Text = "Број за нарачка:"
LblKulikSoft.Text = "Произведени под KulíkoSoft за:"
LblMaxCN.Text = "Број на купувач (максимум 16 цифри):"
LblMaxSN.Text = "Сериски број (максимум 10 цифри):"
LblPopisPrikazu.Text = "Опис на команда:"
LblPopisRegistru.Text = "Опис на регистарот:"
LblPosledniPrikazy.Text = "Последни команди:"
LblRychlostKomunikace.Text = "Брзина на комуникација (Bd):"
LblRychlostStartovaci.Text = "Брзина на ѕвезда (Bd):"
LblSeznamPrikazu.Text = "Листа на команди:"
LblSeznamRegistru.Text = "Листа на регистри:"
LblZpusobPrikazu.Text = "Вид на команда:"
RdbObeCisla.Text = "Двата броја"
RdbSerioveCislo.Text = "Само сериски број"
RdbSifrovaneHeslo.Text = "Шифрирана лозинка"
RdbViditelneHeslo.Text = "Видлива лозинка"
RdbZadneHeslo.Text = "Нема лозинка"
RdbZakaznickeCislo.Text = "Само бројот на купувачи"
TbpDavka.Text = "Серија"
TbpHistoriePrikazu.Text = "Историја на команда"
TbpLog.Text = "Пријавување"
TbpOdecetElektromeru.Text = "Ел-метриско читање"
TslCredit.Text = "Создаден од: Даниел Семерак (со помош на: Јозеф Валкоун и Ing. Јан Холи)"
CmbZpusobPrikazu.Items.Clear()
If RdbMakedonsky.Checked = True Then
CmbZpusobPrikazu.Items.Add("прочитај")
CmbZpusobPrikazu.Items.Add("кандидира")
CmbZpusobPrikazu.Items.Add("запиши")
CmbZpusobPrikazu.SelectedIndex = 0
End If
End Sub
Private Sub RdbBulharsky_CheckedChanged(sender As Object, e As EventArgs) Handles RdbBulharsky.CheckedChanged
Me.Text = "Správa elektroměru - Danny (v1.0)"
BtnKonecProgramu.Text = "Konec programu"
BtnKonecVyrobnihoModu.Text = "Do klient módu"
BtnKontrolaCRC.Text = "Kontrola CRC"
BtnKontrolaFW.Text = "Kontrola FW"
BtnKontrolaRTC.Text = "Kontrola RTC"
BtnNastavRTC.Text = "Nastavení RTC"
BtnVymazatNapadeni.Text = "Vymazat napadení"
BtnZrusitSvorkovnici.Text = "Zrušit svorkovnici"
BtnZrusitKryt.Text = "Zrušit kryt"
BtnDoTestModu.Text = "Do test módu"
BtnOdecetElektroMeru.Text = "Odečet ElektroMěru"
BtnPoslatCislo.Text = "Poslat číslo"
BtnPoslatPrikaz.Text = "Poslat příkaz"
BtnPridatSifrovaneHeslo.Text = "Přidat šifrované heslo"
BtnPridatViditelneHeslo.Text = "Přidat viditelné heslo"
BtnReFresh.Text = "Obnovit seznam portů"
BtnZpracovatDavku.Text = "Zpracovat dávku"
GrpSerialPort.Text = "COMx porty"
GrpHeslo.Text = "Heslo"
GrpPrikazy.Text = "Parametrizace"
GrpCislo.Text = "Sériové a Zákaznické číslo"
GrpLokalizace.Text = "Localizace"
ChbZabezpecenyOdecet.Text = "Zabezpečený odečet (přes 485)"
LblAdresa.Text = "ZPA Smart Energy" + ControlChars.NewLine + "Komenského 821" + ControlChars.NewLine + "Trutnov" + ControlChars.NewLine + "541 01" + ControlChars.NewLine + "Česká republika"
LblCisloPrikazu.Text = "Číslo příkazu:"
LblKulikSoft.Text = "Vyrobeno na základě KulíkoSoftu pro:"
LblMaxCN.Text = "Zákaznické číslo (max. 16 číslic):"
LblMaxSN.Text = "Sériové číslo (max. 10 číslic):"
LblPopisPrikazu.Text = "Popis příkazu:"
LblPopisRegistru.Text = "Popis registru:"
LblPosledniPrikazy.Text = "Poslední příkazy:"
LblRychlostKomunikace.Text = "Rychlost komunikace (Bd):"
LblRychlostStartovaci.Text = "Rychlost startovací (Bd):"
LblSeznamPrikazu.Text = "Seznam příkazů:"
LblSeznamRegistru.Text = "Seznam registrů:"
LblZpusobPrikazu.Text = "Způsob příkazu:"
RdbObeCisla.Text = "Obě čísla"
RdbSerioveCislo.Text = "Jen sériové číslo"
RdbSifrovaneHeslo.Text = "Šifrované heslo"
RdbViditelneHeslo.Text = "Viditelné heslo"
RdbZadneHeslo.Text = "Bez hesla"
RdbZakaznickeCislo.Text = "Jen zákaznické číslo"
TbpDavka.Text = "Dávka"
TbpHistoriePrikazu.Text = "Historie příkazů"
TbpLog.Text = "Log"
TbpOdecetElektromeru.Text = "Odečet ElektroMěru"
TslCredit.Text = "Vytvořil: Daniel Semerák (s pomocí: Josef Valkoun && Ing. Jan Holý)"
CmbZpusobPrikazu.Items.Clear()
If RdbCesky.Checked = True Then
CmbZpusobPrikazu.Items.Add("číst")
CmbZpusobPrikazu.Items.Add("spustit")
CmbZpusobPrikazu.Items.Add("zapsat")
CmbZpusobPrikazu.SelectedIndex = 0
End If
End Sub
Private Sub RdbNemecky_CheckedChanged(sender As Object, e As EventArgs) Handles RdbNemecky.CheckedChanged
Me.Text = "Správa elektroměru - Danny (v1.0)"
BtnKonecProgramu.Text = "Konec programu"
BtnKonecVyrobnihoModu.Text = "Do klient módu"
BtnKontrolaCRC.Text = "Kontrola CRC"
BtnKontrolaFW.Text = "Kontrola FW"
BtnKontrolaRTC.Text = "Kontrola RTC"
BtnNastavRTC.Text = "Nastavení RTC"
BtnVymazatNapadeni.Text = "Vymazat napadení"
BtnZrusitSvorkovnici.Text = "Zrušit svorkovnici"
BtnZrusitKryt.Text = "Zrušit kryt"
BtnDoTestModu.Text = "Do test módu"
BtnOdecetElektroMeru.Text = "Odečet ElektroMěru"
BtnPoslatCislo.Text = "Poslat číslo"
BtnPoslatPrikaz.Text = "Poslat příkaz"
BtnPridatSifrovaneHeslo.Text = "Přidat šifrované heslo"
BtnPridatViditelneHeslo.Text = "Přidat viditelné heslo"
BtnReFresh.Text = "Obnovit seznam portů"
BtnZpracovatDavku.Text = "Zpracovat dávku"
GrpSerialPort.Text = "COMx porty"
GrpHeslo.Text = "Heslo"
GrpPrikazy.Text = "Parametrizace"
GrpCislo.Text = "Sériové a Zákaznické číslo"
GrpLokalizace.Text = "Localizace"
ChbZabezpecenyOdecet.Text = "Zabezpečený odečet (přes 485)"
LblAdresa.Text = "ZPA Smart Energy" + ControlChars.NewLine + "Komenského 821" + ControlChars.NewLine + "Trutnov" + ControlChars.NewLine + "541 01" + ControlChars.NewLine + "Česká republika"
LblCisloPrikazu.Text = "Číslo příkazu:"
LblKulikSoft.Text = "Vyrobeno na základě KulíkoSoftu pro:"
LblMaxCN.Text = "Zákaznické číslo (max. 16 číslic):"
LblMaxSN.Text = "Sériové číslo (max. 10 číslic):"
LblPopisPrikazu.Text = "Popis příkazu:"
LblPopisRegistru.Text = "Popis registru:"
LblPosledniPrikazy.Text = "Poslední příkazy:"
LblRychlostKomunikace.Text = "Rychlost komunikace (Bd):"
LblRychlostStartovaci.Text = "Rychlost startovací (Bd):"
LblSeznamPrikazu.Text = "Seznam příkazů:"
LblSeznamRegistru.Text = "Seznam registrů:"
LblZpusobPrikazu.Text = "Způsob příkazu:"
RdbObeCisla.Text = "Obě čísla"
RdbSerioveCislo.Text = "Jen sériové číslo"
RdbSifrovaneHeslo.Text = "Šifrované heslo"
RdbViditelneHeslo.Text = "Viditelné heslo"
RdbZadneHeslo.Text = "Bez hesla"
RdbZakaznickeCislo.Text = "Jen zákaznické číslo"
TbpDavka.Text = "Dávka"
TbpHistoriePrikazu.Text = "Historie příkazů"
TbpLog.Text = "Log"
TbpOdecetElektromeru.Text = "Odečet ElektroMěru"
TslCredit.Text = "Vytvořil: Daniel Semerák (s pomocí: Josef Valkoun && Ing. Jan Holý)"
CmbZpusobPrikazu.Items.Clear()
If RdbCesky.Checked = True Then
CmbZpusobPrikazu.Items.Add("číst")
CmbZpusobPrikazu.Items.Add("spustit")
CmbZpusobPrikazu.Items.Add("zapsat")
CmbZpusobPrikazu.SelectedIndex = 0
End If
End Sub
End Class
To se tu nenajde někdo, kdo by s tím mohl pomoci?
Dost nutně to potřebuji převést z VB do C# a pořád tam mám pár chyb a
navíc potřebuji vyřešit jednu klíčovou věc, bez které se nehnu dál a
jež je naprosto nejdůležitější z celého programu.
Kdyby se tu někdo objevil a pomohl mi s tím kódem, budu mu velice vděčný a
moc a moc rád.
Děkuji ...
vajkuba1234:8.6.2019 5:25
Chces se prece neco naucit, tak si projdi zdejsi tutorialy a verim, ze to rozchodis. Pripadne se ptej na konkretni veci.
Daniel Semerák:8.6.2019 5:54
To se chci naučit, jenže bych potřeboval poradit, kdy by se mohl někdo
podívat na převedený kod do C# a poradil mi, kde přesně mám chyby.
Když dám kompilaci, ta se provede, jenže pak mi to napíše, že na řádku
je o 1 sloupec více a přitom ten samý zdrojový soubor mi v kompilaci ve VB
naprosto v pořádku funguje, tak nevím, kde dělám chybu.
Také bych potřeboval poradit, že když dám číst ze zařízení, to mi
odpoví - potud to je vše v pohodě -, jenže jak mi odešle svou hlavičku,
tak mu potřebuji říci, že s ním nechci už komunikovat na základní
rychlosti 300Bd, ale že s ním chci mluvit na vyšší mnou stanované
rychlosti - v CmbRychlostKomunikace - a to je hlavní zádrhel, se kterým si
vůbec nevím rady.
Také nevím, jak ošetřit to, že když vyčtení dojede až na konec, aby mi
to dal vědět a já mohl např. zobrazit Odečet dokončen. atd.
Když se mi Odečet provede celý, ale na základní rychlosti, tak v 99%
případech mi spadne celý program a vyčtená data se mi neuloží do
Log.txt.
Zobrazeno 18 zpráv z 18.