/*****************************************************
Chip type : ATmega16
Program type : Application
AVR Core Clock frequency: 16.000000 MHz External Crystal
Memory model : Small
External RAM size : 0
Data Stack size : 256
*****************************************************/
#include mega16.h
#include delay.h
#include stdio.h
// Alphanumeric LCD Module functions
#asm
.equ __lcd_port=0x15 ;PORTC
#endasm
#include lcd.h>
#define ADC_VREF_TYPE 0x20
// Read the 8 most significant bits of the AD conversion result
unsigned char read_adc(unsigned char adc_input)
{
ADMUX=adc_input | (ADC_VREF_TYPE & 0xff);
// Delay needed for the stabilization of the ADC input voltage
delay_us(10);
// Start the AD conversion
ADCSRA|=0x40;
// Wait for the AD conversion to complete
while ((ADCSRA & 0x10)==0);
ADCSRA|=0x10;
return ADCH;
}
// global variables
//unsigned int freq_array[]={50,100,150,200,250,300,350,400,450,500,550,600,650,700,750,800,850,900,950,1000} ;
//unsigned int no_of_pulses[]={2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40} ;
//unsigned int pc_array[]={1,2,5,10,20,50,100,200,500,1000} ;
void PC_OUTPUTS(void);
void DELAY(void);
void CODE(void);
void ADC_DELAY(unsigned int);
unsigned int actual_delay_time,volt;
unsigned int FREQ_COUNTER=2;
unsigned int PC_COUNTER=1;
unsigned int var=1;
unsigned int var2=1;
unsigned int BTN_0=0;
unsigned int BTN_1=0;
unsigned int BTN_2=0;
unsigned int BTN_3=0;
unsigned int BTN_4=0;
unsigned int S_10=0;
unsigned int ON_OFF_FLAG=0; //CAL ON/OFF flag
//EEPROM VARS
#pragma warn-
eeprom unsigned int EE_FREQ_COUNTER=2 ;
eeprom unsigned int EE_PC_COUNTER=1 ;
unsigned int eeprom *ptr_EE_FREQ_COUNTER;
unsigned int eeprom *ptr_EE_PC_COUNTER;
#pragma warn+
unsigned int *ptr_FREQ_COUNTER,*ptr_PC_COUNTER;
//Timer 1 overflow interrupt service routine
interrupt [TIM1_OVF] void timer1_ovf_isr(void)
{
PORTD.7=~PORTD.7; //High-Low pulse
TCNT1=actual_delay_time;
}
interrupt [TIM0_OVF] void timer0_ovf_isr(void)
{
var++; //Approx. 10 sec delay
if (var > 10000)
{
var=1;
S_10++;
}
if(S_10 == 10)
{
PORTD.2=0; //High-Low pulse
S_10=0;
TCCR0=0b00000000;
}
TCNT0=0xFF;
}
interrupt [TIM2_OVF] void timer2_ovf_isr(void)
{
var2++; //Push buttons delay
if (var2 > 54000)
{
var2=1;
BTN_0=0;
BTN_1=0;
BTN_2=0;
BTN_3=0;
BTN_4=0;
}
TCNT2=0xFF;
}
void main(void)
{
// Input/Output Ports initialization
// Port A initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTA=0x00;
DDRA=0x00;
// Port B initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTB=0xFF;
DDRB=0x00; //input push buttons
// Port C initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTC=0x00;
DDRC=0xff; //output lcd
// Port D initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTD=0x00;
DDRD=0xff; //output led
DDRD.3=0;
PORTD.3=1;
// Timer/Counter 0 initialization
// Clock source: System Clock
// Clock value: Timer 0 Stopped
// Mode: Normal top=FFh
// OC0 output: Disconnected
TCCR0=0b00000000; //0b00000101;
TCNT0=0xFF;
OCR0=0x00;
// Timer/Counter 1 initialization
// Clock source: System Clock
// Clock value: Timer1 Stopped
// Mode: Normal top=FFFFh
// OC1A output: Discon.
// OC1B output: Discon.
// Noise Canceler: Off
// Input Capture on Falling Edge
// Timer1 Overflow Interrupt: Off
// Input Capture Interrupt: Off
// Compare A Match Interrupt: Off
// Compare B Match Interrupt: Off
ICR1H=0x00;
ICR1L=0x00;
OCR1AH=0x00;
OCR1AL=0x00;
OCR1BH=0x00;
OCR1BL=0x00;
TCNT1=55535;
TCCR1A=0b00000000;
TCCR1B=0b00000010; //SELECT CLOCK HRER CS
// Timer/Counter 2 initialization
// Clock source: System Clock
// Clock value: Timer2 Stopped
// Mode: Normal top=FFh
// OC2 output: Disconnected
ASSR=0x00;
OCR2=0x00;
TCCR2=0b00000101;
TCNT2=0xFF;
// External Interrupt(s) initialization
// INT0: Off
// INT1: Off
// INT2: Off
MCUCR=0x00;
MCUCSR=0x00;
//Timer(s)/Counter(s) Interrupt(s) initialization
//TIMSK=0x00;
TIMSK=0b01000101; //6 bit timer2 0 bit tiemr0 2 bit timer1
// Analog Comparator initialization
// Analog Comparator:
// Analog Comparator Input Capture by Timer/Counter 1: Off
ACSR=0x80;
SFIOR=0x00;
ADMUX=ADC_VREF_TYPE & 0xff;
ADCSRA=0xA6;
SFIOR&=0x1F;
lcd_init(20);
lcd_clear();
lcd_putsf("ETM");
ptr_EE_FREQ_COUNTER=&EE_FREQ_COUNTER;
ptr_EE_PC_COUNTER=&EE_PC_COUNTER;
ptr_FREQ_COUNTER=&FREQ_COUNTER;
ptr_PC_COUNTER=&PC_COUNTER;
*ptr_FREQ_COUNTER=*ptr_EE_FREQ_COUNTER;
*ptr_PC_COUNTER=*ptr_EE_PC_COUNTER;
#asm("sei")
DELAY();
PC_OUTPUTS();
// Watchdog Timer initialization
// Watchdog Timer Prescaler: OSC/256k
#pragma optsize-
WDTCR=0x1C;
WDTCR=0b00001111;
#ifdef _OPTIMIZE_SIZE_
#pragma optsize+
#endif
PORTD.7=0;
TCCR1A=0b00000000;
TCCR1B=0b00000000; //STOP TIMER
lcd_gotoxy(13,1);
lcd_putsf("OFF");
while (1)
{
//read voltage from PORTA.0 0 - 255
WDTCR=0b00001111;
volt=(unsigned int)read_adc(0); //100 us
if (S_10==0)
{
if(PIND.3==0)
{
PORTD.2=1;
S_10=1;
TCCR0=0b00000101;
}
}
DELAY();
WDTCR=0b00001111;
CODE();
delay_ms(350);
}; //END OF WHILE LOOP
} //END OF MAIN
void CODE()
{
//CAL ON OFF
if (PINB.4 == 0 && BTN_4==0)
{
if (ON_OFF_FLAG==1)
{
ON_OFF_FLAG=0;
lcd_gotoxy(13,1);
lcd_putsf("OFF");
PORTD.7=0;
TCCR1A=0b00000000;
TCCR1B=0b00000000; //STOP TIMER
}
else
{
ON_OFF_FLAG=1;
lcd_gotoxy(13,1);
lcd_putsf(" ON");
PC_OUTPUTS();
TCCR1A=0b00000000;
TCCR1B=0b00000010; //START TIMER prescaler=8
//PORTD.2=1;
//TCCR0=0b00000101;
}
BTN_4=1;
}
if (PINB.4 == 1)
BTN_4=0;
//INCREASE NO OF PULSES PORTB 0 PIN
if (PINB.0 == 0 && BTN_0==0)
{
if (FREQ_COUNTER < 40)
{
FREQ_COUNTER=FREQ_COUNTER+2;
*ptr_EE_FREQ_COUNTER=*ptr_FREQ_COUNTER;
}
else
{
FREQ_COUNTER=2;
*ptr_EE_FREQ_COUNTER=*ptr_FREQ_COUNTER;
}
BTN_0=1;
}
if (PINB.0 == 1)
BTN_0=0;
//DECREASE NO OF PULSES PORTB 1 PIN
if (PINB.1 == 0 && BTN_1==0)
{
if (FREQ_COUNTER > 2)
{
FREQ_COUNTER=FREQ_COUNTER - 2;
*ptr_EE_FREQ_COUNTER=*ptr_FREQ_COUNTER;
}
else
{
FREQ_COUNTER=40;
*ptr_EE_FREQ_COUNTER=*ptr_FREQ_COUNTER;
}
BTN_1=1;
}
if (PINB.1 == 1)
BTN_1=0;
//INCREASE IN PC COUNT PORTB 2 PIN
if (PINB.3 == 0 && BTN_2==0)
{
if (PC_COUNTER < 10)
{
PC_COUNTER++;
PC_OUTPUTS();
*ptr_EE_PC_COUNTER=*ptr_PC_COUNTER;
}
else
{
PC_COUNTER=1;
PC_OUTPUTS();
*ptr_EE_PC_COUNTER=*ptr_PC_COUNTER;
}
BTN_2=1;
}
if (PINB.3 == 1)
BTN_2=0;
//DECREAE IN PC COUNT PORTB 2 PIN
if (PINB.2 == 0 && BTN_3 == 0)
{
if (PC_COUNTER > 1)
{
PC_COUNTER--;
PC_OUTPUTS();
*ptr_EE_PC_COUNTER=*ptr_PC_COUNTER;
}
else
{
PC_COUNTER=10;
PC_OUTPUTS();
*ptr_EE_PC_COUNTER=*ptr_PC_COUNTER;
}
BTN_3=1;
}
if (PINB.2 == 1)
BTN_3=0;
//BATTERY INDICATION PORTB 5 PIN - LO 6 - OK 7 - CH
if (PINB.6 == 0)
{
lcd_gotoxy(10,0);
lcd_putsf("BAT OK");
}
else if (PINB.7 == 0)
{
lcd_gotoxy(10,0);
lcd_putsf("BAT CH");
}
else if (PINB.5 == 0)
{
lcd_gotoxy(10,0);
lcd_putsf("BAT LO");
}
else
{
lcd_gotoxy(10,0);
lcd_putsf(" ");
}
}
/*------------------------------------------------------------------------------
Procedure: PC_OUTPUTS
Inputs: none
Return: none
Description: Vary the 5 PC signals
------------------------------------------------------------------------------*/
void PC_OUTPUTS(void)
{
lcd_gotoxy(0,1);
switch (PC_COUNTER)
{
case 1:
PORTD.0=0;
PORTD.1=0;
PORTD.4=1;
PORTD.5=0;
PORTD.6=1;
//lcd_gotoxy(0,1);
lcd_putsf("CAL PC 1 ");
break;
case 2:
PORTD.0=0;
PORTD.1=1;
PORTD.4=0;
PORTD.5=1;
PORTD.6=0;
//lcd_gotoxy(0,1);
lcd_putsf("CAL PC 2 ");
break;
case 3:
PORTD.0=1;
PORTD.1=0;
PORTD.4=1;
PORTD.5=1;
PORTD.6=0;
//lcd_gotoxy(0,1);
lcd_putsf("CAL PC 5 ");
break;
case 4:
PORTD.0=0;
PORTD.1=0;
PORTD.4=1;
PORTD.5=1;
PORTD.6=0;
//lcd_gotoxy(0,1);
lcd_putsf("CAL PC 10 ");
break;
case 5:
PORTD.0=0;
PORTD.1=1;
PORTD.4=1;
PORTD.5=0;
PORTD.6=0;
//lcd_gotoxy(0,1);
lcd_putsf("CAL PC 20 ");
break;
case 6:
PORTD.0=1;
PORTD.1=0;
PORTD.4=1;
PORTD.5=0;
PORTD.6=0;
//lcd_gotoxy(0,1);
lcd_putsf("CAL PC 50 ");
break;
case 7:
PORTD.0=0;
PORTD.1=0;
PORTD.4=1;
PORTD.5=0;
PORTD.6=0;
//lcd_gotoxy(0,1);
lcd_putsf("CAL PC 100 ");
break;
case 8:
PORTD.0=0;
PORTD.1=1;
PORTD.4=0;
PORTD.5=0;
PORTD.6=0;
lcd_gotoxy(0,1);
lcd_putsf("CAL PC 200 ");
break;
case 9:
PORTD.0=1;
PORTD.1=0;
PORTD.4=0;
PORTD.5=0;
PORTD.6=0;
//lcd_gotoxy(0,1);
lcd_putsf("CAL PC 500 ");
break;
case 10:
PORTD.0=0;
PORTD.1=0;
PORTD.4=0;
PORTD.5=0;
PORTD.6=0;
lcd_gotoxy(0,1);
lcd_putsf("CAL PC 1000");
break;
default:
PORTD.0=0;
PORTD.1=0;
PORTD.4=1;
PORTD.5=1;
PORTD.6=0;
//lcd_gotoxy(0,1);
//sprintf(str_buffer,"ERROR PC - %u",PC_COUNTER) ;
lcd_putsf("INC MAG");
PC_COUNTER=1;
};
}
/*------------------------------------------------------------------------------
Procedure: ADC_DELAY
Inputs: DELAY (STEP) TIME
Return: none
Description: DELAY +/- 2.5%
------------------------------------------------------------------------------*/
void ADC_DELAY(unsigned int delay_time)
{
actual_delay_time=65535 - (delay_time*2-3);
if ( volt < 128)
{
actual_delay_time= 65535 -(( delay_time - (delay_time / 100) * (10 - (8 * volt / 100 ) ) ) )*2-3;
}
if (volt > 128 && volt < 256)
{
actual_delay_time= 65535 -(( delay_time + (delay_time / 100) * (8 * (volt - 128) / 100 ) ) )*2-3;
}
if (volt == 127 || volt == 128)
actual_delay_time=65535 - (delay_time*2-3);
WDTCR=0b00001111;
}
/*------------------------------------------------------------------------------
Procedure: DELAY
Inputs: none
Return: none
Description: Vary the Delay of signal
------------------------------------------------------------------------------*/
void DELAY(void)
{
lcd_gotoxy(0,0);
switch (FREQ_COUNTER)
{
case 2:
ADC_DELAY(10000);
lcd_putsf("PUL NO 2 ");
break;
case 4:
ADC_DELAY(5000);
lcd_putsf("PUL NO 4 ");
break;
case 6:
ADC_DELAY(3333);
lcd_putsf("PUL NO 6 ");
break;
case 8:
ADC_DELAY(2500);
lcd_putsf("PUL NO 8 ");
break;
case 10:
ADC_DELAY(2000);
lcd_putsf("PUL NO 10");
break;
case 12:
ADC_DELAY(1667);
lcd_putsf("PUL NO 12");
break;
case 14:
ADC_DELAY(1428);
lcd_putsf("PUL NO 14");
break;
case 16:
ADC_DELAY(1250);
lcd_putsf("PUL NO 16");
break;
case 18:
ADC_DELAY(1111);
lcd_putsf("PUL NO 18");
break;
case 20:
ADC_DELAY(1000);
lcd_putsf("PUL NO 20");
break;
case 22:
ADC_DELAY(909);
lcd_putsf("PUL NO 22");
break;
case 24:
ADC_DELAY(833);
lcd_putsf("PUL NO 24");
break;
case 26:
ADC_DELAY(769);
lcd_putsf("PUL NO 26");
break;
case 28:
ADC_DELAY(714);
lcd_putsf("PUL NO 28");
break;
case 30:
ADC_DELAY(667);
lcd_putsf("PUL NO 30");
break;
case 32:
ADC_DELAY(625);
lcd_putsf("PUL NO 32");
break;
case 34:
ADC_DELAY(588);
lcd_putsf("PUL NO 34");
break;
case 36:
ADC_DELAY(556);
lcd_putsf("PUL NO 36");
break;
case 38:
ADC_DELAY(526);
lcd_putsf("PUL NO 38");
break;
case 40:
ADC_DELAY(500);
lcd_putsf("PUL NO 40");
break;
default:
ADC_DELAY(500);
//sprintf(str_buffer,"ERROR-%u",FREQ_COUNTER) ;
lcd_putsf("INC/DEC");
FREQ_COUNTER=2;
};
}
Search This Blog
Wednesday, March 31, 2010
Thursday, March 25, 2010
How to create a DLL in VC++ and use Assembly code in it?
Create a DLL in VC++ and use assembly code in it.
----------------------------------------------------
sysinfo.h
#include
extern "C" __declspec(dllexport) int __stdcall getCPUFamily());
---------------------------------------------------------------------
sysinfo.cpp
#include "SysInfo.h"
extern "C" __declspec(dllexport) int __stdcall getCPUFamily() {
int retVal;
//This is how to use assembly code
_asm {
mov eax, 1
cpuid
mov retVal, eax
}
return (retVal >> 8);
}
----------------------------------------------------
sysinfo.h
#include
extern "C" __declspec(dllexport) int __stdcall getCPUFamily());
---------------------------------------------------------------------
sysinfo.cpp
#include "SysInfo.h"
extern "C" __declspec(dllexport) int __stdcall getCPUFamily() {
int retVal;
//This is how to use assembly code
_asm {
mov eax, 1
cpuid
mov retVal, eax
}
return (retVal >> 8);
}
How to use a DLL in VB.NET, Created In VB.NET
Use a DLL in VB.NET which is created in VB.NET
---------------------------------------
Start a new project (Windows Application) and Code
Then : Project -> Add Reference -> locate DLL created in VB.NET and press "Ok"-button.
--------------------------------------------------------
Imports System
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim obj As New ClassLibrary1.Class1
Dim a() As Integer = {20, 21}
Dim b() As Integer = {0, 0}
Dim i As Integer
obj.Main(a, b) 'DLL function calling
For Each i In b
MessageBox.Show(i.ToString)
Next
End Sub
End Class
----------------------------------------------------------------------
Form1 has button1 which will call main funcion of DLL.
Also See : How to create dll in VB.NET
---------------------------------------
Start a new project (Windows Application) and Code
Then : Project -> Add Reference -> locate DLL created in VB.NET and press "Ok"-button.
--------------------------------------------------------
Imports System
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim obj As New ClassLibrary1.Class1
Dim a() As Integer = {20, 21}
Dim b() As Integer = {0, 0}
Dim i As Integer
obj.Main(a, b) 'DLL function calling
For Each i In b
MessageBox.Show(i.ToString)
Next
End Sub
End Class
----------------------------------------------------------------------
Form1 has button1 which will call main funcion of DLL.
Also See : How to create dll in VB.NET
How to create a DLL in VB.NET?
Creating a DLL in VB.NET
---------------------------------------------
Start a project as Classlibray and add CODE
----------------------------------------------
Imports System.Windows.Forms
Public Class Class1
Public Sub Main(ByVal ary() As Integer, ByVal ary_2() As Integer)
'populate the array
Dim i As Integer
For i = 0 To ary.Length - 1
ary_2(i) = ary(i) + 10
Next i
MessageBox.Show("10 has been added in each array element of ary1.")
End Sub
End Class
------------------------------
*** To use Messagebox in VB.NET DLL you have to:
Do this : Project menu select "Add Reference". and locate System.Windows.Forms, select it and press
OK button.
---------------------------------------------
Now bulid you get DLL file in the Debug or Release folder as per settings.
Also See : How to use DLL in VB.NETcreated in VB.NET
---------------------------------------------
Start a project as Classlibray and add CODE
----------------------------------------------
Imports System.Windows.Forms
Public Class Class1
Public Sub Main(ByVal ary() As Integer, ByVal ary_2() As Integer)
'populate the array
Dim i As Integer
For i = 0 To ary.Length - 1
ary_2(i) = ary(i) + 10
Next i
MessageBox.Show("10 has been added in each array element of ary1.")
End Sub
End Class
------------------------------
*** To use Messagebox in VB.NET DLL you have to:
Do this : Project menu select "Add Reference". and locate System.Windows.Forms, select it and press
OK button.
---------------------------------------------
Now bulid you get DLL file in the Debug or Release folder as per settings.
Also See : How to use DLL in VB.NETcreated in VB.NET
Wednesday, March 24, 2010
Access database in vb.net code example
Module
database.vb
-------------------------------
Imports System.Data.OleDb
Module database
Public Sub connectDatabase()
Dim cn As OleDbConnection
Dim cmd As OleDbCommand
Dim dr As OleDbDataReader
Try
cn = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=IMPULSE_ANALYZER_DETAILS.mdb;")
'provider to be used when working with access database
If cn.State = ConnectionState.Closed Then
cn.Open()
Else
MessageBox.Show("Opened Already")
End If
If cn.State = ConnectionState.Open Then
'MessageBox.Show("open")
cmd = New OleDbCommand("select * from IA_TABLE", cn)
dr = cmd.ExecuteReader
readDatabase(cmd, cn, dr)
dr.Close()
cn.Close()
Else
MessageBox.Show("Not open")
End If
Catch
End Try
End Sub
Public Sub readDatabase(ByVal cmd As OleDbCommand, ByVal cn As OleDbConnection, ByVal dr As OleDbDataReader)
Main.ListBox_Customer_List.Items.Clear()
Cust_Array_List.Clear()
main.CB_CS_S_NO.Items.Clear()
main.CB_SITE_NAME.Items.Clear()
main.CB_DIV_CARD_NO.Items.Clear()
main.CD_DATE.Items.Clear()
If dr.HasRows Then
While dr.Read()
Dim New_Obj_Customser As IA
New_Obj_Customser.CS_S_NO = dr(1)
main.CB_CS_S_NO.Items.Add(dr(1))
New_Obj_Customser.SITE_NAME = dr(2)
main.CB_SITE_NAME.Items.Add(dr(2))
New_Obj_Customser.DIV_CARD_NO = dr(3)
main.CB_DIV_CARD_NO.Items.Add(dr(3))
New_Obj_Customser.D_DATE = dr(4)
main.CD_DATE.Items.Add(dr(4))
Cust_Array_List.Add(New_Obj_Customser)
Main.ListBox_Customer_List.Items.Add(New_Obj_Customser)
End While
Else
main.CB_CS_S_NO.Items.Clear()
main.CB_DIV_CARD_NO.Items.Clear()
main.CB_SITE_NAME.Items.Clear()
main.CD_DATE.Items.Clear()
If MessageBox.Show("NO ROW FOUND!!!!" & Environment.NewLine & "WANT TO ADD NOW?", "NO ROW FOUND", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = DialogResult.Yes Then
ADD_NEW_FORM.Show()
ADD_NEW_FORM.BTN_NEW.PerformClick()
End If
End If
End Sub
Public Sub writeDatabase(ByVal name, ByVal add, ByVal mob, ByVal email, ByVal DES)
Dim cn As OleDbConnection
Dim cmd As OleDbCommand
Dim dr As OleDbDataReader
Try
cn = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=IMPULSE_ANALYZER_DETAILS.mdb;")
'provider to be used when working with access database
If cn.State = ConnectionState.Closed Then
cn.Open()
' MessageBox.Show("open")
Else
MessageBox.Show("open already")
End If
If cn.State = ConnectionState.Open Then
'MessageBox.Show(objCh1_FULL.isON & " " & objCh1_FULL.isScale)
'QUERY TO UPDATE ALL SETTINGS
cmd = New OleDbCommand("insert into IA_TABLE(CS_SERIAL_NO, SITE_NAME, DIV_CARD_NO, D_DATE, DESCRIPTION) Values('" & name & "' , '" & add & "' , '" & mob & "', '" & email & "', '" & DES & "')", cn)
' cmd = New OleDbCommand("select * from IA_TABLE", cn)
dr = cmd.ExecuteReader
dr.Close()
cn.Close()
End If
Catch es As Exception
MessageBox.Show(es.ToString)
End Try
End Sub
Public Sub delDatabase(ByVal S_NO_DEL)
Dim query_str As String = "Delete from IA_TABLE where CS_SERIAL_NO ='" & S_NO_DEL & "'"
MessageBox.Show(query_str)
Dim cn As OleDbConnection
Dim cmd As OleDbCommand
Dim dr As OleDbDataReader
Try
cn = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=IMPULSE_ANALYZER_DETAILS.mdb;")
'provider to be used when working with access database
If cn.State = ConnectionState.Closed Then
cn.Open()
' MessageBox.Show("open")
Else
MessageBox.Show("open already")
End If
If cn.State = ConnectionState.Open Then
'MessageBox.Show(objCh1_FULL.isON & " " & objCh1_FULL.isScale)
'QUERY TO UPDATE ALL SETTINGS
cmd = New OleDbCommand(query_str, cn)
' cmd = New OleDbCommand("select * from IA_TABLE", cn)
dr = cmd.ExecuteReader
dr.Close()
cn.Close()
End If
Catch es As Exception
MessageBox.Show(es.ToString)
End Try
End Sub
'Public Sub selDatabase(ByVal name)
' 'MessageBox.Show(name & " " & add & " " & mob & " " & email)
' Dim cn As OleDbConnection
' Dim cmd As OleDbCommand
' Dim dr As OleDbDataReader
' Try
' cn = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=IMPULSE_ANALYZER_DETAILS.mdb;")
' 'provider to be used when working with access database
' If cn.State = ConnectionState.Closed Then
' cn.Open()
' ' MessageBox.Show("open")
' Else
' MessageBox.Show("open already")
' End If
' If cn.State = ConnectionState.Open Then
' 'MessageBox.Show(objCh1_FULL.isON & " " & objCh1_FULL.isScale)
' 'QUERY TO UPDATE ALL SETTINGS
' cmd = New OleDbCommand("select * from IA_TABLE where NAME ='" & name & "'", cn)
' ' cmd = New OleDbCommand("select * from IA_TABLE", cn)
' dr = cmd.ExecuteReader
' If dr.HasRows Then
' While dr.Read()
' Main.Tb_CS_S_NOM.Text = dr(1)
' Main.Tb_Cust_AddM.Text = dr(2)
' Main.Tb_SITE_NAMEM.Text = dr(3)
' Main.Tb_D_DATEM.Text = dr(4)
' End While
' End If
' dr.Close()
' cn.Close()
' End If
' Catch es As Exception
' MessageBox.Show(es.ToString)
' End Try
'End Sub
Public Sub modifyDatabase()
Dim cn As OleDbConnection
Dim cmd As OleDbCommand
Dim dr As OleDbDataReader
Try
cn = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=IMPULSE_ANALYZER_DETAILS.mdb;")
'provider to be used when working with access database
If cn.State = ConnectionState.Closed Then
cn.Open()
' MessageBox.Show("open")
Else
MessageBox.Show("open already")
End If
If cn.State = ConnectionState.Open Then
'MessageBox.Show(objCh1_FULL.isON & " " & objCh1_FULL.isScale)
'QUERY TO UPDATE ALL SETTINGS
cmd = New OleDbCommand("update IA_TABLE set CS_SERIAL_NO ='" & ADD_NEW_FORM.TB_CS_SERIAL_NO.Text & _
"' , SITE_NAME='" & ADD_NEW_FORM.TB_SITE_NAME.Text & "' , DIV_CARD_NO='" & _
ADD_NEW_FORM.TB_DIV_CARD_NO.Text & "' , D_DATE='" & ADD_NEW_FORM.TB_DEL_DATE.Text & _
"' , DESCRIPTION='" & ADD_NEW_FORM.TB_DES.Text & _
"' where CS_SERIAL_NO = '" & ADD_NEW_FORM.TB_CS_SERIAL_NO.Text & "' ", cn)
' cmd = New OleDbCommand("select * from IA_TABLE", cn)
dr = cmd.ExecuteReader
dr.Close()
cn.Close()
End If
Catch es As Exception
MessageBox.Show(es.ToString)
End Try
End Sub
Public Function isDuplicateRow(ByVal name, ByVal add, ByVal mob, ByVal email) As Boolean
'MessageBox.Show(name & " " & add & " " & mob & " " & email)
Dim cn As OleDbConnection
Dim cmd As OleDbCommand
Dim dr As OleDbDataReader
Try
cn = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=IMPULSE_ANALYZER_DETAILS.mdb;")
'provider to be used when working with access database
If cn.State = ConnectionState.Closed Then
cn.Open()
' MessageBox.Show("open")
Else
MessageBox.Show("open already")
End If
If cn.State = ConnectionState.Open Then
'QUERY TO UPDATE ALL SETTINGS
cmd = New OleDbCommand("select * from IA_TABLE where NAME ='" & name & "' and ADDRESS='" & add & "' and MOB='" & mob & "' and EMAIL='" & email & "' ", cn)
' cmd = New OleDbCommand("select * from IA_TABLE", cn)
dr = cmd.ExecuteReader
If dr.HasRows Then
' While dr.Read()
'If dr(0) = name Then
Return False
' If
' End While
End If
dr.Close()
cn.Close()
End If
Return True
Catch es As Exception
MessageBox.Show(es.ToString)
End Try
End Function
Public Sub searchDatabase(ByVal str)
Dim query_str As String = "select * from IA_TABLE where CS_SERIAL_NO ='" & str & "'"
Dim cn As OleDbConnection
Dim cmd As OleDbCommand
Dim dr As OleDbDataReader
Try
cn = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=IMPULSE_ANALYZER_DETAILS.mdb;")
'provider to be used when working with access database
If cn.State = ConnectionState.Closed Then
cn.Open()
Else
MessageBox.Show("Opened Already")
End If
If cn.State = ConnectionState.Open Then
'MessageBox.Show("open")
cmd = New OleDbCommand(query_str, cn)
dr = cmd.ExecuteReader
' MessageBox.Show(dr.GetDataTypeName)
If dr.HasRows Then
While dr.Read()
'MessageBox.Show(dr(1) & " | " & dr(2) & " | " & dr(3) & " | " & dr(4) & " | " & dr(5))
ADD_NEW_FORM.LBL_UPDATE.Text = "Cleverscope with Serial No. " & dr(1)
ADD_NEW_FORM.TB_CS_SERIAL_NO.Text = dr(1)
ADD_NEW_FORM.TB_SITE_NAME.Text = dr(2)
ADD_NEW_FORM.TB_DIV_CARD_NO.Text = dr(3)
ADD_NEW_FORM.TB_DEL_DATE.Text = dr(4)
ADD_NEW_FORM.TB_DES.Text = dr(5)
End While
Else
MessageBox.Show("No rows")
' REload database
connectDatabase()
End If
dr.Close()
cn.Close()
Else
MessageBox.Show("UNABLE TO OPEN.")
End If
Catch
End Try
End Sub
Public Sub editDatabase(ByVal S_NO_DEL)
Dim D As String = CType(S_NO_DEL + 1, String)
Dim cn As OleDbConnection
Dim cmd As OleDbCommand
Dim dr As OleDbDataReader
Dim query_str As String = "select * from IA_TABLE where S_NO ='" & D & "'"
Try
cn = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=IMPULSE_ANALYZER_DETAILS.mdb;")
'provider to be used when working with access database
If cn.State = ConnectionState.Closed Then
cn.Open()
Else
MessageBox.Show("Opened Already")
End If
If cn.State = ConnectionState.Open Then
'MessageBox.Show("open")
cmd = New OleDbCommand(query_str, cn)
dr = cmd.ExecuteReader
' MessageBox.Show(dr.GetDataTypeName)
If dr.HasRows Then
While dr.Read()
'MessageBox.Show(dr(1) & " | " & dr(2) & " | " & dr(3) & " | " & dr(4) & " | " & dr(5))
ADD_NEW_FORM.BTN_SAVE.Visible = False
ADD_NEW_FORM.BTN_NEW.Visible = True
ADD_NEW_FORM.LBL_UPDATE.Text = "Edit: Cleverscope with Serial No. " & dr(1)
ADD_NEW_FORM.TB_CS_SERIAL_NO.Text = dr(1)
ADD_NEW_FORM.TB_SITE_NAME.Text = dr(2)
ADD_NEW_FORM.TB_DIV_CARD_NO.Text = dr(3)
ADD_NEW_FORM.TB_DEL_DATE.Text = dr(4)
ADD_NEW_FORM.TB_DES.Text = dr(5)
ADD_NEW_FORM.Show()
MessageBox.Show("No rowdsf.")
'ADD_NEW_FORM.TB_CS_SERIAL_NO.Enabled = False
'ADD_NEW_FORM.TB_SITE_NAME.Enabled = False
'ADD_NEW_FORM.TB_DIV_CARD_NO.Enabled = False
'ADD_NEW_FORM.TB_DEL_DATE.Enabled = False
'ADD_NEW_FORM.TB_DES.Enabled = False
End While
Else
MessageBox.Show("No rows found.")
' REload database
connectDatabase()
End If
dr.Close()
cn.Close()
Else
MessageBox.Show("UNABLE TO OPEN.")
End If
Catch
End Try
End Sub
End Module
---------------------------------------
2. Functions.vb
Imports System.Xml
Module functios
Public SITE_NAME, CS_SERIAL_NO, DIV_CARD_NO As String
Public DELIVERY_DATE As Date
Public Cust_Array_List As New ArrayList()
Public SORTBY As String
Public NM = 0, MB = 0, AD = 0, EM = 0
'Structure contains the IA detail
Public Structure IA
Implements IComparable
Public CS_S_NO As String
Public SITE_NAME As String
Public DIV_CARD_NO As String
Public D_DATE As String
'When Ever a IA structure added to the list, the LISTBOX calls the ToString method and we override it here
Public Overrides Function ToString() As String
Return "CS S.NO:- " & CS_S_NO & " | " & "SITE:- " & SITE_NAME & " | " & "DIV CARD NO.:- " & DIV_CARD_NO & " | " & "DATE:- " & D_DATE
End Function
'Since the ArrayList does not have the capability to sort objects as it would strings,
'so to do tht Implement an IComparable.CompareTo function to facilitate the sort.
'Obviously, you can expand or modify the CompareTo function to sort on multiple properties of different types.
Public Function CompareTo(ByVal obj As Object) As Integer _
Implements System.IComparable.CompareTo
If Not TypeOf obj Is IA Then
Throw New Exception("Object is not MyObject")
End If
Dim Compare As IA = CType(obj, IA)
Dim result As Integer
Select Case SORTBY
Case "Name"
result = Me.CS_S_NO.CompareTo(Compare.CS_S_NO)
Case "Mob"
result = Me.SITE_NAME.CompareTo(Compare.SITE_NAME)
Case "Address"
result = Me.DIV_CARD_NO.CompareTo(Compare.DIV_CARD_NO)
Case "EMail"
result = Me.D_DATE.CompareTo(Compare.D_DATE)
Case Else
result = Me.CS_S_NO.CompareTo(Compare.CS_S_NO)
End Select
' Dim result As Integer = Me.CS_S_NO.CompareTo(Compare.CS_S_NO)
If result = 0 Then
result = Me.CS_S_NO.CompareTo(obj.CS_S_NO)
End If
Return result
End Function
End Structure
Public Function SimpleCrypt(ByVal Text As String) As String
' Encrypts/decrypts the passed string using
' a simple ASCII value-swapping algorithm
Dim strTempChar As String, i As Integer
strTempChar = ""
For i = 1 To Len(Text)
If Asc(Mid$(Text, i, 1)) < 133 Then
strTempChar = CType(Asc(Mid$(Text, i, 1)) + 133, String)
ElseIf Asc(Mid$(Text, i, 1)) > 133 Then
strTempChar = _
CType(Asc(Mid$(Text, i, 1)) - 133, String)
End If
Mid$(Text, i, 1) = Chr(CType(strTempChar, Integer))
Next i
Return Text
End Function
Public Sub GENERATE_CS_SERIAL_NO_FILE(ByVal F_N As String)
Dim writer As New XmlTextWriter(F_N, System.Text.Encoding.UTF8)
Try
writer.WriteStartDocument(True)
writer.Formatting = Formatting.Indented
writer.Indentation = 2
writer.WriteStartElement("HARDWARE")
writer.WriteStartElement("WARNING")
writer.WriteString("HARDWARE FILE, ANY CHANGE MAY LEAD TO IRRELEVANT RESULTS.")
writer.WriteEndElement()
writer.WriteStartElement("HARDWARE_NUMBER")
writer.WriteStartElement("HARDWARE_NUMBER_A")
'GET CLEVER SCOPE SERIAL NUMBER FROM THE TEXT BOX
writer.WriteString(SimpleCrypt(main.TB_CS_NO.Text))
writer.WriteEndElement()
writer.WriteStartElement("HARDWARE_NUMBER_B")
'FOR FUTURE USE
writer.WriteString(SimpleCrypt(main.TB_CS_NO.Text))
writer.WriteEndElement()
writer.WriteEndDocument()
writer.Close()
MessageBox.Show("FILE SAVED AS " & F_N, "FILE SAVED", MessageBoxButtons.OK, MessageBoxIcon.Information)
Catch ex As Exception
MessageBox.Show("FILE NOT SAVED!!!!!!!!!!", "FILE NOT SAVED", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
writer.Close()
Finally
End Try
End Sub
'Public Sub read_calibration_file()
' Dim f As New FileInfo("c:\KVM_CALIBRATION.xml")
' If f.Exists Then
' Try
' Dim xmldoc As New XmlDataDocument()
' Dim xmlnode As XmlNodeList
' Dim fs As New System.IO.FileStream("c:\KVM_CALIBRATION.xml", FileMode.Open, FileAccess.Read)
' xmldoc.Load(fs)
' ''''''''''''''''''''''''''''''''''''''''''''''''''
' 'CHANNEL 0
' xmlnode = xmldoc.GetElementsByTagName("CH0")
' AC_OFFSET_CH0 = (xmlnode(0).ChildNodes.Item(0).InnerText.Trim())
' AC_GAIN_CH0 = (xmlnode(0).ChildNodes.Item(1).InnerText.Trim())
' DC_OFFSET_CH0 = (xmlnode(0).ChildNodes.Item(2).InnerText.Trim())
' DC_GAIN_CH0 = (xmlnode(0).ChildNodes.Item(3).InnerText.Trim())
' AVG_AC_CH0 = (xmlnode(0).ChildNodes.Item(4).InnerText.Trim())
' AVG_DC_CH0 = (xmlnode(0).ChildNodes.Item(5).InnerText.Trim())
' RMS_CH0 = (xmlnode(0).ChildNodes.Item(6).InnerText.Trim())
' PEAK_POS_CH0 = (xmlnode(0).ChildNodes.Item(7).InnerText.Trim())
' PEAK_NEG_CH0 = (xmlnode(0).ChildNodes.Item(8).InnerText.Trim())
' PEAK_POS_ROOT2_CH0 = (xmlnode(0).ChildNodes.Item(9).InnerText.Trim())
' PEAK_NEG_ROOT2_CH0 = (xmlnode(0).ChildNodes.Item(10).InnerText.Trim())
' AVG_PEAK_CH0 = (xmlnode(0).ChildNodes.Item(11).InnerText.Trim())
' PEAK_FACTOR_CH0 = (xmlnode(0).ChildNodes.Item(12).InnerText.Trim())
' RIPPLE_CH0 = (xmlnode(0).ChildNodes.Item(13).InnerText.Trim())
' ''''''''''''''''''''''''''''''''''''''''''''''''''
' 'CHANNEL 1
' xmlnode = xmldoc.GetElementsByTagName("CH1")
' AC_OFFSET_CH1 = (xmlnode(0).ChildNodes.Item(0).InnerText.Trim())
' AC_GAIN_CH1 = (xmlnode(0).ChildNodes.Item(1).InnerText.Trim())
' DC_OFFSET_CH1 = (xmlnode(0).ChildNodes.Item(2).InnerText.Trim())
' DC_GAIN_CH1 = (xmlnode(0).ChildNodes.Item(3).InnerText.Trim())
' AVG_AC_CH1 = (xmlnode(0).ChildNodes.Item(4).InnerText.Trim())
' AVG_DC_CH1 = (xmlnode(0).ChildNodes.Item(5).InnerText.Trim())
' RMS_CH1 = (xmlnode(0).ChildNodes.Item(6).InnerText.Trim())
' PEAK_POS_CH1 = (xmlnode(0).ChildNodes.Item(7).InnerText.Trim())
' PEAK_NEG_CH1 = (xmlnode(0).ChildNodes.Item(8).InnerText.Trim())
' PEAK_POS_ROOT2_CH1 = (xmlnode(0).ChildNodes.Item(9).InnerText.Trim())
' PEAK_NEG_ROOT2_CH1 = (xmlnode(0).ChildNodes.Item(10).InnerText.Trim())
' AVG_PEAK_CH1 = (xmlnode(0).ChildNodes.Item(11).InnerText.Trim())
' PEAK_FACTOR_CH1 = (xmlnode(0).ChildNodes.Item(12).InnerText.Trim())
' RIPPLE_CH1 = (xmlnode(0).ChildNodes.Item(13).InnerText.Trim())
' ''''''''''''''''''''''''''''''''''''''''''''''''''
' 'SYSTEM FACTORS
' xmlnode = xmldoc.GetElementsByTagName("SYSTEM_FACTORS")
' KVM_RATING = (xmlnode(0).ChildNodes.Item(0).InnerText.Trim())
' PEAK_IN_SIG = (xmlnode(0).ChildNodes.Item(1).InnerText.Trim())
' NOISE_CAL_THLD = (xmlnode(0).ChildNodes.Item(2).InnerText.Trim())
' FREQ_THLD = (xmlnode(0).ChildNodes.Item(3).InnerText.Trim())
' fs.Close()
' Catch ex As Exception
' AC_OFFSET_CH0 = 0
' AC_GAIN_CH0 = 1
' DC_OFFSET_CH1 = 0
' DC_GAIN_CH1 = 1
' AC_OFFSET_CH0 = 0
' AC_GAIN_CH0 = 1
' DC_OFFSET_CH1 = 0
' DC_GAIN_CH1 = 1
' MessageBox.Show("HARDWARE FILE ALTERED." & Environment.NewLine & "MAY LEAD TO IRRELEVANT RESULTS.")
' Finally
' SYSTEM_RATING = KVM_RATING / PEAK_IN_SIG
' 'THRESHOLD CHOOSING CH1 OR CH0
' THLD = PEAK_IN_SIG * 0.08
' UPPER_LIMIT = PEAK_IN_SIG * 1
' End Try
' Else
' MessageBox.Show("HARDWARE FILE NOT FOUND!!!!!!!!!!!" & Environment.NewLine & "KVM WILL DEFAULT VALUES")
' End If
'End Sub
End Module
----------------------------------------------------------------------------
ADD_NEW_FORM.vb
Public Class ADD_NEW_FORM
Private Sub BTN_SAVE_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BTN_SAVE.Click
writeDatabase(Me.TB_CS_SERIAL_NO.Text, Me.TB_SITE_NAME.Text, Me.TB_DIV_CARD_NO.Text, Me.TB_DEL_DATE.Text, Me.TB_DES.Text)
MessageBox.Show("NEW ENTRY SAVED.", "SAVE", MessageBoxButtons.OK, MessageBoxIcon.Information)
connectDatabase()
Me.TB_CS_SERIAL_NO.Enabled = False
Me.TB_SITE_NAME.Enabled = False
Me.TB_DIV_CARD_NO.Enabled = False
Me.TB_DEL_DATE.Enabled = False
Me.TB_DES.Enabled = False
Me.BTN_SAVE.Enabled = False
Me.btn_edit.Enabled = True
Me.BTN_DEL.Enabled = True
End Sub
Private Sub BTN_new_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BTN_NEW.Click
Me.TB_CS_SERIAL_NO.Enabled = True
Me.TB_SITE_NAME.Enabled = True
Me.TB_DIV_CARD_NO.Enabled = True
Me.TB_DEL_DATE.Enabled = True
Me.TB_DES.Enabled = True
Me.LBL_UPDATE.Text = "Impulse Analyser: Add New"
Me.TB_CS_SERIAL_NO.Text = "CS_SERIAL_NO"
Me.TB_SITE_NAME.Text = "SITE NAME"
Me.TB_DIV_CARD_NO.Text = "DIV CARD NO"
Me.TB_DEL_DATE.Text = "DATE"
Me.TB_DES.Text = "DESCRIPTION"
Me.BTN_SAVE.Enabled = True
btn_edit.Text = "EDIT"
Me.btn_edit.Enabled = False
Me.BTN_DEL.Enabled = False
End Sub
Private Sub btn_edit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_edit.Click
If btn_edit.Text = "EDIT" Then
btn_edit.Text = "UPDATE"
Me.TB_CS_SERIAL_NO.Enabled = True
Me.TB_SITE_NAME.Enabled = True
Me.TB_DIV_CARD_NO.Enabled = True
Me.TB_DEL_DATE.Enabled = True
Me.TB_DES.Enabled = True
Else
modifyDatabase()
Me.TB_CS_SERIAL_NO.Enabled = False
Me.TB_SITE_NAME.Enabled = False
Me.TB_DIV_CARD_NO.Enabled = False
Me.TB_DEL_DATE.Enabled = False
Me.TB_DES.Enabled = False
btn_edit.Text = "EDIT"
MessageBox.Show("ENTRY UPDATED.", "UPDATED", MessageBoxButtons.OK, MessageBoxIcon.Information)
End If
End Sub
Private Sub BTN_DEL_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BTN_DEL.Click
If MessageBox.Show("SURE TO DELETE THIS ENTRY?", "DELETE", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = Windows.Forms.DialogResult.Yes Then
delDatabase(TB_CS_SERIAL_NO.Text)
MessageBox.Show("ENTRY DELETED.", "DELETE", MessageBoxButtons.OK, MessageBoxIcon.Information)
connectDatabase()
Me.TB_CS_SERIAL_NO.Enabled = True
Me.TB_SITE_NAME.Enabled = True
Me.TB_DIV_CARD_NO.Enabled = True
Me.TB_DEL_DATE.Enabled = True
Me.TB_DES.Enabled = True
Me.LBL_UPDATE.Text = "Impulse Analyser: Add New"
Me.TB_CS_SERIAL_NO.Text = "CS_SERIAL_NO"
Me.TB_SITE_NAME.Text = "SITE NAME"
Me.TB_DIV_CARD_NO.Text = "DIV CARD NO"
Me.TB_DEL_DATE.Text = "DATE"
Me.TB_DES.Text = "DESCRIPTION"
Me.BTN_SAVE.Enabled = True
btn_edit.Text = "EDIT"
Me.Close()
End If
End Sub
Private Sub BTN_EXIT_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BTN_EXIT.Click
Me.Close()
End Sub
End Class
---------------------------------
main.vb
Public Class main
Private Sub BTN_CS_S_NO_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BTN_CS_S_NO.Click
If TB_CS_NO.Text = "" Then
MessageBox.Show("ENTER VALUE!!!!!!!!", "INVALID PARAMETER", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
Exit Sub
End If
With saveChannelSettings
.FileName = "REGISTRATION_FILE"
.Filter = "REGISTRATION FILE (*.IM)|*.IM"
End With
If saveChannelSettings.ShowDialog <> 1 Then
Exit Sub
End If
Dim STR As String = saveChannelSettings.FileName
If STR = "" Then
MessageBox.Show("INVALID FILE NAME!!!!!!!!!!", "FILE NAME", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
Exit Sub
End If
'Try
' 'CREATE CLEVER SCOPE SERIAL NUMBER FILE
' FileOpen(1, "C:\MyDLL\CS_ID", OpenMode.Output)
' WriteLine(1, "CS ID:", SimpleCrypt(TB_CS_NO.Text))
' MessageBox.Show("FILE SAVED AS C:\MyDLL\CS_ID", "FILE SAVED", MessageBoxButtons.OK, MessageBoxIcon.Information)
' FileClose(1)
'Catch es As Exception
' MessageBox.Show("FILE NOT SAVED!!!!!!!!!!", "FILE NOT SAVED", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
' FileClose(1)
'End Try
GENERATE_CS_SERIAL_NO_FILE(STR)
End Sub
Private Sub BTN_DIV_CARD_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BTN_DIV_CARD.Click
If TB_A.Text = "" Or TB_B.Text = "" Then
MessageBox.Show("ENTER VALUE!!!!!!!!", "INVALID PARAMETER", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
Exit Sub
End If
With saveChannelSettings
.FileName = "Hardware_parameters"
.Filter = "HARDWARE FILE (*.IM)|*.IM"
End With
If saveChannelSettings.ShowDialog <> 1 Then
Exit Sub
End If
Dim STR As String = saveChannelSettings.FileName
If STR = "" Then
MessageBox.Show("INVALID FILE NAME!!!!!!!!!!", "FILE NAME", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
Exit Sub
End If
Try
'CREATE CALIBRATION PARAMETERS
FileOpen(1, STR, OpenMode.Output)
WriteLine(1, "OFFSET:", SimpleCrypt("0"), SimpleCrypt("0"))
WriteLine(1, "INT DIV:", SimpleCrypt(TB_A.Text), SimpleCrypt(TB_B.Text))
MessageBox.Show("FILE SAVED AS " & STR, "FILE SAVED", MessageBoxButtons.OK, MessageBoxIcon.Information)
FileClose(1)
Catch es As Exception
MessageBox.Show("FILE NOT SAVED!!!!!!!!!!", "FILE NOT SAVED", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
FileClose(1)
End Try
End Sub
Private Sub main_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
connectDatabase()
End Sub
Private Sub BTN_EXIT_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BTN_EXIT.Click
If MessageBox.Show("SURE TO CLOSE THE APPLICATION?", "EXIT", MessageBoxButtons.OKCancel, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1, MessageBoxOptions.DefaultDesktopOnly) = Windows.Forms.DialogResult.OK Then
Me.Close()
End If
End Sub
Private Sub BTN_ADD_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
' ADD_NEW_FORM.BTN_SAVE.Visible = True
' ADD_NEW_FORM.BTN_NEW.Visible = False
ADD_NEW_FORM.LBL_UPDATE.Text = "Impulse Analyser Details"
ADD_NEW_FORM.TB_CS_SERIAL_NO.Text = "CS_SERIAL_NO"
ADD_NEW_FORM.TB_SITE_NAME.Text = "SITE NAME"
ADD_NEW_FORM.TB_DIV_CARD_NO.Text = "DIV CARD NO"
ADD_NEW_FORM.TB_DEL_DATE.Text = "DATE"
ADD_NEW_FORM.TB_DES.Text = "DESCRIPTION"
ADD_NEW_FORM.Show()
ADD_NEW_FORM.TB_CS_SERIAL_NO.Enabled = True
ADD_NEW_FORM.TB_SITE_NAME.Enabled = True
ADD_NEW_FORM.TB_DIV_CARD_NO.Enabled = True
ADD_NEW_FORM.TB_DEL_DATE.Enabled = True
ADD_NEW_FORM.TB_DES.Enabled = True
End Sub
Private Sub BTN_DEL_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
If Me.ListBox_Customer_List.SelectedIndex = -1 Then
MessageBox.Show("SELECT ENTRY TO DELETE", "SELECT ITEM", MessageBoxButtons.OK, MessageBoxIcon.Information)
Exit Sub
End If
If MessageBox.Show("SURE TO DELETE THIS ENTRY?", "DELETE", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = Windows.Forms.DialogResult.Yes Then
delDatabase(Me.ListBox_Customer_List.SelectedIndex)
MessageBox.Show("ENTRY DELETED.", "DELETE", MessageBoxButtons.OK, MessageBoxIcon.Information)
connectDatabase()
End If
End Sub
Private Sub CB_CS_S_NO_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CB_CS_S_NO.SelectedIndexChanged
'MessageBox.Show(CB_CS_S_NO.SelectedItem.ToString)
searchDatabase(CB_CS_S_NO.SelectedItem.ToString)
ADD_NEW_FORM.Show()
ADD_NEW_FORM.TB_CS_SERIAL_NO.Enabled = False
ADD_NEW_FORM.TB_SITE_NAME.Enabled = False
ADD_NEW_FORM.TB_DIV_CARD_NO.Enabled = False
ADD_NEW_FORM.TB_DEL_DATE.Enabled = False
ADD_NEW_FORM.TB_DES.Enabled = False
ADD_NEW_FORM.BTN_SAVE.Enabled = False
End Sub
Private Sub BTN_EDIT_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
If Me.ListBox_Customer_List.SelectedIndex = -1 Then
MessageBox.Show("SELECT ENTRY TO DELETE", "SELECT ITEM", MessageBoxButtons.OK, MessageBoxIcon.Information)
Exit Sub
End If
MessageBox.Show(Me.ListBox_Customer_List.SelectedIndex)
'If MessageBox.Show("SURE TO DELETE THIS ENTRY?", "DELETE", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = Windows.Forms.DialogResult.Yes Then
editDatabase(Me.ListBox_Customer_List.SelectedIndex)
' End If
End Sub
End Class
------------------------------------------------------------------------------------------
DATABASE has 5 fields.
database.vb
-------------------------------
Imports System.Data.OleDb
Module database
Public Sub connectDatabase()
Dim cn As OleDbConnection
Dim cmd As OleDbCommand
Dim dr As OleDbDataReader
Try
cn = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=IMPULSE_ANALYZER_DETAILS.mdb;")
'provider to be used when working with access database
If cn.State = ConnectionState.Closed Then
cn.Open()
Else
MessageBox.Show("Opened Already")
End If
If cn.State = ConnectionState.Open Then
'MessageBox.Show("open")
cmd = New OleDbCommand("select * from IA_TABLE", cn)
dr = cmd.ExecuteReader
readDatabase(cmd, cn, dr)
dr.Close()
cn.Close()
Else
MessageBox.Show("Not open")
End If
Catch
End Try
End Sub
Public Sub readDatabase(ByVal cmd As OleDbCommand, ByVal cn As OleDbConnection, ByVal dr As OleDbDataReader)
Main.ListBox_Customer_List.Items.Clear()
Cust_Array_List.Clear()
main.CB_CS_S_NO.Items.Clear()
main.CB_SITE_NAME.Items.Clear()
main.CB_DIV_CARD_NO.Items.Clear()
main.CD_DATE.Items.Clear()
If dr.HasRows Then
While dr.Read()
Dim New_Obj_Customser As IA
New_Obj_Customser.CS_S_NO = dr(1)
main.CB_CS_S_NO.Items.Add(dr(1))
New_Obj_Customser.SITE_NAME = dr(2)
main.CB_SITE_NAME.Items.Add(dr(2))
New_Obj_Customser.DIV_CARD_NO = dr(3)
main.CB_DIV_CARD_NO.Items.Add(dr(3))
New_Obj_Customser.D_DATE = dr(4)
main.CD_DATE.Items.Add(dr(4))
Cust_Array_List.Add(New_Obj_Customser)
Main.ListBox_Customer_List.Items.Add(New_Obj_Customser)
End While
Else
main.CB_CS_S_NO.Items.Clear()
main.CB_DIV_CARD_NO.Items.Clear()
main.CB_SITE_NAME.Items.Clear()
main.CD_DATE.Items.Clear()
If MessageBox.Show("NO ROW FOUND!!!!" & Environment.NewLine & "WANT TO ADD NOW?", "NO ROW FOUND", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = DialogResult.Yes Then
ADD_NEW_FORM.Show()
ADD_NEW_FORM.BTN_NEW.PerformClick()
End If
End If
End Sub
Public Sub writeDatabase(ByVal name, ByVal add, ByVal mob, ByVal email, ByVal DES)
Dim cn As OleDbConnection
Dim cmd As OleDbCommand
Dim dr As OleDbDataReader
Try
cn = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=IMPULSE_ANALYZER_DETAILS.mdb;")
'provider to be used when working with access database
If cn.State = ConnectionState.Closed Then
cn.Open()
' MessageBox.Show("open")
Else
MessageBox.Show("open already")
End If
If cn.State = ConnectionState.Open Then
'MessageBox.Show(objCh1_FULL.isON & " " & objCh1_FULL.isScale)
'QUERY TO UPDATE ALL SETTINGS
cmd = New OleDbCommand("insert into IA_TABLE(CS_SERIAL_NO, SITE_NAME, DIV_CARD_NO, D_DATE, DESCRIPTION) Values('" & name & "' , '" & add & "' , '" & mob & "', '" & email & "', '" & DES & "')", cn)
' cmd = New OleDbCommand("select * from IA_TABLE", cn)
dr = cmd.ExecuteReader
dr.Close()
cn.Close()
End If
Catch es As Exception
MessageBox.Show(es.ToString)
End Try
End Sub
Public Sub delDatabase(ByVal S_NO_DEL)
Dim query_str As String = "Delete from IA_TABLE where CS_SERIAL_NO ='" & S_NO_DEL & "'"
MessageBox.Show(query_str)
Dim cn As OleDbConnection
Dim cmd As OleDbCommand
Dim dr As OleDbDataReader
Try
cn = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=IMPULSE_ANALYZER_DETAILS.mdb;")
'provider to be used when working with access database
If cn.State = ConnectionState.Closed Then
cn.Open()
' MessageBox.Show("open")
Else
MessageBox.Show("open already")
End If
If cn.State = ConnectionState.Open Then
'MessageBox.Show(objCh1_FULL.isON & " " & objCh1_FULL.isScale)
'QUERY TO UPDATE ALL SETTINGS
cmd = New OleDbCommand(query_str, cn)
' cmd = New OleDbCommand("select * from IA_TABLE", cn)
dr = cmd.ExecuteReader
dr.Close()
cn.Close()
End If
Catch es As Exception
MessageBox.Show(es.ToString)
End Try
End Sub
'Public Sub selDatabase(ByVal name)
' 'MessageBox.Show(name & " " & add & " " & mob & " " & email)
' Dim cn As OleDbConnection
' Dim cmd As OleDbCommand
' Dim dr As OleDbDataReader
' Try
' cn = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=IMPULSE_ANALYZER_DETAILS.mdb;")
' 'provider to be used when working with access database
' If cn.State = ConnectionState.Closed Then
' cn.Open()
' ' MessageBox.Show("open")
' Else
' MessageBox.Show("open already")
' End If
' If cn.State = ConnectionState.Open Then
' 'MessageBox.Show(objCh1_FULL.isON & " " & objCh1_FULL.isScale)
' 'QUERY TO UPDATE ALL SETTINGS
' cmd = New OleDbCommand("select * from IA_TABLE where NAME ='" & name & "'", cn)
' ' cmd = New OleDbCommand("select * from IA_TABLE", cn)
' dr = cmd.ExecuteReader
' If dr.HasRows Then
' While dr.Read()
' Main.Tb_CS_S_NOM.Text = dr(1)
' Main.Tb_Cust_AddM.Text = dr(2)
' Main.Tb_SITE_NAMEM.Text = dr(3)
' Main.Tb_D_DATEM.Text = dr(4)
' End While
' End If
' dr.Close()
' cn.Close()
' End If
' Catch es As Exception
' MessageBox.Show(es.ToString)
' End Try
'End Sub
Public Sub modifyDatabase()
Dim cn As OleDbConnection
Dim cmd As OleDbCommand
Dim dr As OleDbDataReader
Try
cn = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=IMPULSE_ANALYZER_DETAILS.mdb;")
'provider to be used when working with access database
If cn.State = ConnectionState.Closed Then
cn.Open()
' MessageBox.Show("open")
Else
MessageBox.Show("open already")
End If
If cn.State = ConnectionState.Open Then
'MessageBox.Show(objCh1_FULL.isON & " " & objCh1_FULL.isScale)
'QUERY TO UPDATE ALL SETTINGS
cmd = New OleDbCommand("update IA_TABLE set CS_SERIAL_NO ='" & ADD_NEW_FORM.TB_CS_SERIAL_NO.Text & _
"' , SITE_NAME='" & ADD_NEW_FORM.TB_SITE_NAME.Text & "' , DIV_CARD_NO='" & _
ADD_NEW_FORM.TB_DIV_CARD_NO.Text & "' , D_DATE='" & ADD_NEW_FORM.TB_DEL_DATE.Text & _
"' , DESCRIPTION='" & ADD_NEW_FORM.TB_DES.Text & _
"' where CS_SERIAL_NO = '" & ADD_NEW_FORM.TB_CS_SERIAL_NO.Text & "' ", cn)
' cmd = New OleDbCommand("select * from IA_TABLE", cn)
dr = cmd.ExecuteReader
dr.Close()
cn.Close()
End If
Catch es As Exception
MessageBox.Show(es.ToString)
End Try
End Sub
Public Function isDuplicateRow(ByVal name, ByVal add, ByVal mob, ByVal email) As Boolean
'MessageBox.Show(name & " " & add & " " & mob & " " & email)
Dim cn As OleDbConnection
Dim cmd As OleDbCommand
Dim dr As OleDbDataReader
Try
cn = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=IMPULSE_ANALYZER_DETAILS.mdb;")
'provider to be used when working with access database
If cn.State = ConnectionState.Closed Then
cn.Open()
' MessageBox.Show("open")
Else
MessageBox.Show("open already")
End If
If cn.State = ConnectionState.Open Then
'QUERY TO UPDATE ALL SETTINGS
cmd = New OleDbCommand("select * from IA_TABLE where NAME ='" & name & "' and ADDRESS='" & add & "' and MOB='" & mob & "' and EMAIL='" & email & "' ", cn)
' cmd = New OleDbCommand("select * from IA_TABLE", cn)
dr = cmd.ExecuteReader
If dr.HasRows Then
' While dr.Read()
'If dr(0) = name Then
Return False
' If
' End While
End If
dr.Close()
cn.Close()
End If
Return True
Catch es As Exception
MessageBox.Show(es.ToString)
End Try
End Function
Public Sub searchDatabase(ByVal str)
Dim query_str As String = "select * from IA_TABLE where CS_SERIAL_NO ='" & str & "'"
Dim cn As OleDbConnection
Dim cmd As OleDbCommand
Dim dr As OleDbDataReader
Try
cn = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=IMPULSE_ANALYZER_DETAILS.mdb;")
'provider to be used when working with access database
If cn.State = ConnectionState.Closed Then
cn.Open()
Else
MessageBox.Show("Opened Already")
End If
If cn.State = ConnectionState.Open Then
'MessageBox.Show("open")
cmd = New OleDbCommand(query_str, cn)
dr = cmd.ExecuteReader
' MessageBox.Show(dr.GetDataTypeName)
If dr.HasRows Then
While dr.Read()
'MessageBox.Show(dr(1) & " | " & dr(2) & " | " & dr(3) & " | " & dr(4) & " | " & dr(5))
ADD_NEW_FORM.LBL_UPDATE.Text = "Cleverscope with Serial No. " & dr(1)
ADD_NEW_FORM.TB_CS_SERIAL_NO.Text = dr(1)
ADD_NEW_FORM.TB_SITE_NAME.Text = dr(2)
ADD_NEW_FORM.TB_DIV_CARD_NO.Text = dr(3)
ADD_NEW_FORM.TB_DEL_DATE.Text = dr(4)
ADD_NEW_FORM.TB_DES.Text = dr(5)
End While
Else
MessageBox.Show("No rows")
' REload database
connectDatabase()
End If
dr.Close()
cn.Close()
Else
MessageBox.Show("UNABLE TO OPEN.")
End If
Catch
End Try
End Sub
Public Sub editDatabase(ByVal S_NO_DEL)
Dim D As String = CType(S_NO_DEL + 1, String)
Dim cn As OleDbConnection
Dim cmd As OleDbCommand
Dim dr As OleDbDataReader
Dim query_str As String = "select * from IA_TABLE where S_NO ='" & D & "'"
Try
cn = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=IMPULSE_ANALYZER_DETAILS.mdb;")
'provider to be used when working with access database
If cn.State = ConnectionState.Closed Then
cn.Open()
Else
MessageBox.Show("Opened Already")
End If
If cn.State = ConnectionState.Open Then
'MessageBox.Show("open")
cmd = New OleDbCommand(query_str, cn)
dr = cmd.ExecuteReader
' MessageBox.Show(dr.GetDataTypeName)
If dr.HasRows Then
While dr.Read()
'MessageBox.Show(dr(1) & " | " & dr(2) & " | " & dr(3) & " | " & dr(4) & " | " & dr(5))
ADD_NEW_FORM.BTN_SAVE.Visible = False
ADD_NEW_FORM.BTN_NEW.Visible = True
ADD_NEW_FORM.LBL_UPDATE.Text = "Edit: Cleverscope with Serial No. " & dr(1)
ADD_NEW_FORM.TB_CS_SERIAL_NO.Text = dr(1)
ADD_NEW_FORM.TB_SITE_NAME.Text = dr(2)
ADD_NEW_FORM.TB_DIV_CARD_NO.Text = dr(3)
ADD_NEW_FORM.TB_DEL_DATE.Text = dr(4)
ADD_NEW_FORM.TB_DES.Text = dr(5)
ADD_NEW_FORM.Show()
MessageBox.Show("No rowdsf.")
'ADD_NEW_FORM.TB_CS_SERIAL_NO.Enabled = False
'ADD_NEW_FORM.TB_SITE_NAME.Enabled = False
'ADD_NEW_FORM.TB_DIV_CARD_NO.Enabled = False
'ADD_NEW_FORM.TB_DEL_DATE.Enabled = False
'ADD_NEW_FORM.TB_DES.Enabled = False
End While
Else
MessageBox.Show("No rows found.")
' REload database
connectDatabase()
End If
dr.Close()
cn.Close()
Else
MessageBox.Show("UNABLE TO OPEN.")
End If
Catch
End Try
End Sub
End Module
---------------------------------------
2. Functions.vb
Imports System.Xml
Module functios
Public SITE_NAME, CS_SERIAL_NO, DIV_CARD_NO As String
Public DELIVERY_DATE As Date
Public Cust_Array_List As New ArrayList()
Public SORTBY As String
Public NM = 0, MB = 0, AD = 0, EM = 0
'Structure contains the IA detail
Public Structure IA
Implements IComparable
Public CS_S_NO As String
Public SITE_NAME As String
Public DIV_CARD_NO As String
Public D_DATE As String
'When Ever a IA structure added to the list, the LISTBOX calls the ToString method and we override it here
Public Overrides Function ToString() As String
Return "CS S.NO:- " & CS_S_NO & " | " & "SITE:- " & SITE_NAME & " | " & "DIV CARD NO.:- " & DIV_CARD_NO & " | " & "DATE:- " & D_DATE
End Function
'Since the ArrayList does not have the capability to sort objects as it would strings,
'so to do tht Implement an IComparable.CompareTo function to facilitate the sort.
'Obviously, you can expand or modify the CompareTo function to sort on multiple properties of different types.
Public Function CompareTo(ByVal obj As Object) As Integer _
Implements System.IComparable.CompareTo
If Not TypeOf obj Is IA Then
Throw New Exception("Object is not MyObject")
End If
Dim Compare As IA = CType(obj, IA)
Dim result As Integer
Select Case SORTBY
Case "Name"
result = Me.CS_S_NO.CompareTo(Compare.CS_S_NO)
Case "Mob"
result = Me.SITE_NAME.CompareTo(Compare.SITE_NAME)
Case "Address"
result = Me.DIV_CARD_NO.CompareTo(Compare.DIV_CARD_NO)
Case "EMail"
result = Me.D_DATE.CompareTo(Compare.D_DATE)
Case Else
result = Me.CS_S_NO.CompareTo(Compare.CS_S_NO)
End Select
' Dim result As Integer = Me.CS_S_NO.CompareTo(Compare.CS_S_NO)
If result = 0 Then
result = Me.CS_S_NO.CompareTo(obj.CS_S_NO)
End If
Return result
End Function
End Structure
Public Function SimpleCrypt(ByVal Text As String) As String
' Encrypts/decrypts the passed string using
' a simple ASCII value-swapping algorithm
Dim strTempChar As String, i As Integer
strTempChar = ""
For i = 1 To Len(Text)
If Asc(Mid$(Text, i, 1)) < 133 Then
strTempChar = CType(Asc(Mid$(Text, i, 1)) + 133, String)
ElseIf Asc(Mid$(Text, i, 1)) > 133 Then
strTempChar = _
CType(Asc(Mid$(Text, i, 1)) - 133, String)
End If
Mid$(Text, i, 1) = Chr(CType(strTempChar, Integer))
Next i
Return Text
End Function
Public Sub GENERATE_CS_SERIAL_NO_FILE(ByVal F_N As String)
Dim writer As New XmlTextWriter(F_N, System.Text.Encoding.UTF8)
Try
writer.WriteStartDocument(True)
writer.Formatting = Formatting.Indented
writer.Indentation = 2
writer.WriteStartElement("HARDWARE")
writer.WriteStartElement("WARNING")
writer.WriteString("HARDWARE FILE, ANY CHANGE MAY LEAD TO IRRELEVANT RESULTS.")
writer.WriteEndElement()
writer.WriteStartElement("HARDWARE_NUMBER")
writer.WriteStartElement("HARDWARE_NUMBER_A")
'GET CLEVER SCOPE SERIAL NUMBER FROM THE TEXT BOX
writer.WriteString(SimpleCrypt(main.TB_CS_NO.Text))
writer.WriteEndElement()
writer.WriteStartElement("HARDWARE_NUMBER_B")
'FOR FUTURE USE
writer.WriteString(SimpleCrypt(main.TB_CS_NO.Text))
writer.WriteEndElement()
writer.WriteEndDocument()
writer.Close()
MessageBox.Show("FILE SAVED AS " & F_N, "FILE SAVED", MessageBoxButtons.OK, MessageBoxIcon.Information)
Catch ex As Exception
MessageBox.Show("FILE NOT SAVED!!!!!!!!!!", "FILE NOT SAVED", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
writer.Close()
Finally
End Try
End Sub
'Public Sub read_calibration_file()
' Dim f As New FileInfo("c:\KVM_CALIBRATION.xml")
' If f.Exists Then
' Try
' Dim xmldoc As New XmlDataDocument()
' Dim xmlnode As XmlNodeList
' Dim fs As New System.IO.FileStream("c:\KVM_CALIBRATION.xml", FileMode.Open, FileAccess.Read)
' xmldoc.Load(fs)
' ''''''''''''''''''''''''''''''''''''''''''''''''''
' 'CHANNEL 0
' xmlnode = xmldoc.GetElementsByTagName("CH0")
' AC_OFFSET_CH0 = (xmlnode(0).ChildNodes.Item(0).InnerText.Trim())
' AC_GAIN_CH0 = (xmlnode(0).ChildNodes.Item(1).InnerText.Trim())
' DC_OFFSET_CH0 = (xmlnode(0).ChildNodes.Item(2).InnerText.Trim())
' DC_GAIN_CH0 = (xmlnode(0).ChildNodes.Item(3).InnerText.Trim())
' AVG_AC_CH0 = (xmlnode(0).ChildNodes.Item(4).InnerText.Trim())
' AVG_DC_CH0 = (xmlnode(0).ChildNodes.Item(5).InnerText.Trim())
' RMS_CH0 = (xmlnode(0).ChildNodes.Item(6).InnerText.Trim())
' PEAK_POS_CH0 = (xmlnode(0).ChildNodes.Item(7).InnerText.Trim())
' PEAK_NEG_CH0 = (xmlnode(0).ChildNodes.Item(8).InnerText.Trim())
' PEAK_POS_ROOT2_CH0 = (xmlnode(0).ChildNodes.Item(9).InnerText.Trim())
' PEAK_NEG_ROOT2_CH0 = (xmlnode(0).ChildNodes.Item(10).InnerText.Trim())
' AVG_PEAK_CH0 = (xmlnode(0).ChildNodes.Item(11).InnerText.Trim())
' PEAK_FACTOR_CH0 = (xmlnode(0).ChildNodes.Item(12).InnerText.Trim())
' RIPPLE_CH0 = (xmlnode(0).ChildNodes.Item(13).InnerText.Trim())
' ''''''''''''''''''''''''''''''''''''''''''''''''''
' 'CHANNEL 1
' xmlnode = xmldoc.GetElementsByTagName("CH1")
' AC_OFFSET_CH1 = (xmlnode(0).ChildNodes.Item(0).InnerText.Trim())
' AC_GAIN_CH1 = (xmlnode(0).ChildNodes.Item(1).InnerText.Trim())
' DC_OFFSET_CH1 = (xmlnode(0).ChildNodes.Item(2).InnerText.Trim())
' DC_GAIN_CH1 = (xmlnode(0).ChildNodes.Item(3).InnerText.Trim())
' AVG_AC_CH1 = (xmlnode(0).ChildNodes.Item(4).InnerText.Trim())
' AVG_DC_CH1 = (xmlnode(0).ChildNodes.Item(5).InnerText.Trim())
' RMS_CH1 = (xmlnode(0).ChildNodes.Item(6).InnerText.Trim())
' PEAK_POS_CH1 = (xmlnode(0).ChildNodes.Item(7).InnerText.Trim())
' PEAK_NEG_CH1 = (xmlnode(0).ChildNodes.Item(8).InnerText.Trim())
' PEAK_POS_ROOT2_CH1 = (xmlnode(0).ChildNodes.Item(9).InnerText.Trim())
' PEAK_NEG_ROOT2_CH1 = (xmlnode(0).ChildNodes.Item(10).InnerText.Trim())
' AVG_PEAK_CH1 = (xmlnode(0).ChildNodes.Item(11).InnerText.Trim())
' PEAK_FACTOR_CH1 = (xmlnode(0).ChildNodes.Item(12).InnerText.Trim())
' RIPPLE_CH1 = (xmlnode(0).ChildNodes.Item(13).InnerText.Trim())
' ''''''''''''''''''''''''''''''''''''''''''''''''''
' 'SYSTEM FACTORS
' xmlnode = xmldoc.GetElementsByTagName("SYSTEM_FACTORS")
' KVM_RATING = (xmlnode(0).ChildNodes.Item(0).InnerText.Trim())
' PEAK_IN_SIG = (xmlnode(0).ChildNodes.Item(1).InnerText.Trim())
' NOISE_CAL_THLD = (xmlnode(0).ChildNodes.Item(2).InnerText.Trim())
' FREQ_THLD = (xmlnode(0).ChildNodes.Item(3).InnerText.Trim())
' fs.Close()
' Catch ex As Exception
' AC_OFFSET_CH0 = 0
' AC_GAIN_CH0 = 1
' DC_OFFSET_CH1 = 0
' DC_GAIN_CH1 = 1
' AC_OFFSET_CH0 = 0
' AC_GAIN_CH0 = 1
' DC_OFFSET_CH1 = 0
' DC_GAIN_CH1 = 1
' MessageBox.Show("HARDWARE FILE ALTERED." & Environment.NewLine & "MAY LEAD TO IRRELEVANT RESULTS.")
' Finally
' SYSTEM_RATING = KVM_RATING / PEAK_IN_SIG
' 'THRESHOLD CHOOSING CH1 OR CH0
' THLD = PEAK_IN_SIG * 0.08
' UPPER_LIMIT = PEAK_IN_SIG * 1
' End Try
' Else
' MessageBox.Show("HARDWARE FILE NOT FOUND!!!!!!!!!!!" & Environment.NewLine & "KVM WILL DEFAULT VALUES")
' End If
'End Sub
End Module
----------------------------------------------------------------------------
ADD_NEW_FORM.vb
Public Class ADD_NEW_FORM
Private Sub BTN_SAVE_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BTN_SAVE.Click
writeDatabase(Me.TB_CS_SERIAL_NO.Text, Me.TB_SITE_NAME.Text, Me.TB_DIV_CARD_NO.Text, Me.TB_DEL_DATE.Text, Me.TB_DES.Text)
MessageBox.Show("NEW ENTRY SAVED.", "SAVE", MessageBoxButtons.OK, MessageBoxIcon.Information)
connectDatabase()
Me.TB_CS_SERIAL_NO.Enabled = False
Me.TB_SITE_NAME.Enabled = False
Me.TB_DIV_CARD_NO.Enabled = False
Me.TB_DEL_DATE.Enabled = False
Me.TB_DES.Enabled = False
Me.BTN_SAVE.Enabled = False
Me.btn_edit.Enabled = True
Me.BTN_DEL.Enabled = True
End Sub
Private Sub BTN_new_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BTN_NEW.Click
Me.TB_CS_SERIAL_NO.Enabled = True
Me.TB_SITE_NAME.Enabled = True
Me.TB_DIV_CARD_NO.Enabled = True
Me.TB_DEL_DATE.Enabled = True
Me.TB_DES.Enabled = True
Me.LBL_UPDATE.Text = "Impulse Analyser: Add New"
Me.TB_CS_SERIAL_NO.Text = "CS_SERIAL_NO"
Me.TB_SITE_NAME.Text = "SITE NAME"
Me.TB_DIV_CARD_NO.Text = "DIV CARD NO"
Me.TB_DEL_DATE.Text = "DATE"
Me.TB_DES.Text = "DESCRIPTION"
Me.BTN_SAVE.Enabled = True
btn_edit.Text = "EDIT"
Me.btn_edit.Enabled = False
Me.BTN_DEL.Enabled = False
End Sub
Private Sub btn_edit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_edit.Click
If btn_edit.Text = "EDIT" Then
btn_edit.Text = "UPDATE"
Me.TB_CS_SERIAL_NO.Enabled = True
Me.TB_SITE_NAME.Enabled = True
Me.TB_DIV_CARD_NO.Enabled = True
Me.TB_DEL_DATE.Enabled = True
Me.TB_DES.Enabled = True
Else
modifyDatabase()
Me.TB_CS_SERIAL_NO.Enabled = False
Me.TB_SITE_NAME.Enabled = False
Me.TB_DIV_CARD_NO.Enabled = False
Me.TB_DEL_DATE.Enabled = False
Me.TB_DES.Enabled = False
btn_edit.Text = "EDIT"
MessageBox.Show("ENTRY UPDATED.", "UPDATED", MessageBoxButtons.OK, MessageBoxIcon.Information)
End If
End Sub
Private Sub BTN_DEL_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BTN_DEL.Click
If MessageBox.Show("SURE TO DELETE THIS ENTRY?", "DELETE", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = Windows.Forms.DialogResult.Yes Then
delDatabase(TB_CS_SERIAL_NO.Text)
MessageBox.Show("ENTRY DELETED.", "DELETE", MessageBoxButtons.OK, MessageBoxIcon.Information)
connectDatabase()
Me.TB_CS_SERIAL_NO.Enabled = True
Me.TB_SITE_NAME.Enabled = True
Me.TB_DIV_CARD_NO.Enabled = True
Me.TB_DEL_DATE.Enabled = True
Me.TB_DES.Enabled = True
Me.LBL_UPDATE.Text = "Impulse Analyser: Add New"
Me.TB_CS_SERIAL_NO.Text = "CS_SERIAL_NO"
Me.TB_SITE_NAME.Text = "SITE NAME"
Me.TB_DIV_CARD_NO.Text = "DIV CARD NO"
Me.TB_DEL_DATE.Text = "DATE"
Me.TB_DES.Text = "DESCRIPTION"
Me.BTN_SAVE.Enabled = True
btn_edit.Text = "EDIT"
Me.Close()
End If
End Sub
Private Sub BTN_EXIT_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BTN_EXIT.Click
Me.Close()
End Sub
End Class
---------------------------------
main.vb
Public Class main
Private Sub BTN_CS_S_NO_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BTN_CS_S_NO.Click
If TB_CS_NO.Text = "" Then
MessageBox.Show("ENTER VALUE!!!!!!!!", "INVALID PARAMETER", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
Exit Sub
End If
With saveChannelSettings
.FileName = "REGISTRATION_FILE"
.Filter = "REGISTRATION FILE (*.IM)|*.IM"
End With
If saveChannelSettings.ShowDialog <> 1 Then
Exit Sub
End If
Dim STR As String = saveChannelSettings.FileName
If STR = "" Then
MessageBox.Show("INVALID FILE NAME!!!!!!!!!!", "FILE NAME", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
Exit Sub
End If
'Try
' 'CREATE CLEVER SCOPE SERIAL NUMBER FILE
' FileOpen(1, "C:\MyDLL\CS_ID", OpenMode.Output)
' WriteLine(1, "CS ID:", SimpleCrypt(TB_CS_NO.Text))
' MessageBox.Show("FILE SAVED AS C:\MyDLL\CS_ID", "FILE SAVED", MessageBoxButtons.OK, MessageBoxIcon.Information)
' FileClose(1)
'Catch es As Exception
' MessageBox.Show("FILE NOT SAVED!!!!!!!!!!", "FILE NOT SAVED", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
' FileClose(1)
'End Try
GENERATE_CS_SERIAL_NO_FILE(STR)
End Sub
Private Sub BTN_DIV_CARD_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BTN_DIV_CARD.Click
If TB_A.Text = "" Or TB_B.Text = "" Then
MessageBox.Show("ENTER VALUE!!!!!!!!", "INVALID PARAMETER", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
Exit Sub
End If
With saveChannelSettings
.FileName = "Hardware_parameters"
.Filter = "HARDWARE FILE (*.IM)|*.IM"
End With
If saveChannelSettings.ShowDialog <> 1 Then
Exit Sub
End If
Dim STR As String = saveChannelSettings.FileName
If STR = "" Then
MessageBox.Show("INVALID FILE NAME!!!!!!!!!!", "FILE NAME", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
Exit Sub
End If
Try
'CREATE CALIBRATION PARAMETERS
FileOpen(1, STR, OpenMode.Output)
WriteLine(1, "OFFSET:", SimpleCrypt("0"), SimpleCrypt("0"))
WriteLine(1, "INT DIV:", SimpleCrypt(TB_A.Text), SimpleCrypt(TB_B.Text))
MessageBox.Show("FILE SAVED AS " & STR, "FILE SAVED", MessageBoxButtons.OK, MessageBoxIcon.Information)
FileClose(1)
Catch es As Exception
MessageBox.Show("FILE NOT SAVED!!!!!!!!!!", "FILE NOT SAVED", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
FileClose(1)
End Try
End Sub
Private Sub main_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
connectDatabase()
End Sub
Private Sub BTN_EXIT_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BTN_EXIT.Click
If MessageBox.Show("SURE TO CLOSE THE APPLICATION?", "EXIT", MessageBoxButtons.OKCancel, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1, MessageBoxOptions.DefaultDesktopOnly) = Windows.Forms.DialogResult.OK Then
Me.Close()
End If
End Sub
Private Sub BTN_ADD_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
' ADD_NEW_FORM.BTN_SAVE.Visible = True
' ADD_NEW_FORM.BTN_NEW.Visible = False
ADD_NEW_FORM.LBL_UPDATE.Text = "Impulse Analyser Details"
ADD_NEW_FORM.TB_CS_SERIAL_NO.Text = "CS_SERIAL_NO"
ADD_NEW_FORM.TB_SITE_NAME.Text = "SITE NAME"
ADD_NEW_FORM.TB_DIV_CARD_NO.Text = "DIV CARD NO"
ADD_NEW_FORM.TB_DEL_DATE.Text = "DATE"
ADD_NEW_FORM.TB_DES.Text = "DESCRIPTION"
ADD_NEW_FORM.Show()
ADD_NEW_FORM.TB_CS_SERIAL_NO.Enabled = True
ADD_NEW_FORM.TB_SITE_NAME.Enabled = True
ADD_NEW_FORM.TB_DIV_CARD_NO.Enabled = True
ADD_NEW_FORM.TB_DEL_DATE.Enabled = True
ADD_NEW_FORM.TB_DES.Enabled = True
End Sub
Private Sub BTN_DEL_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
If Me.ListBox_Customer_List.SelectedIndex = -1 Then
MessageBox.Show("SELECT ENTRY TO DELETE", "SELECT ITEM", MessageBoxButtons.OK, MessageBoxIcon.Information)
Exit Sub
End If
If MessageBox.Show("SURE TO DELETE THIS ENTRY?", "DELETE", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = Windows.Forms.DialogResult.Yes Then
delDatabase(Me.ListBox_Customer_List.SelectedIndex)
MessageBox.Show("ENTRY DELETED.", "DELETE", MessageBoxButtons.OK, MessageBoxIcon.Information)
connectDatabase()
End If
End Sub
Private Sub CB_CS_S_NO_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CB_CS_S_NO.SelectedIndexChanged
'MessageBox.Show(CB_CS_S_NO.SelectedItem.ToString)
searchDatabase(CB_CS_S_NO.SelectedItem.ToString)
ADD_NEW_FORM.Show()
ADD_NEW_FORM.TB_CS_SERIAL_NO.Enabled = False
ADD_NEW_FORM.TB_SITE_NAME.Enabled = False
ADD_NEW_FORM.TB_DIV_CARD_NO.Enabled = False
ADD_NEW_FORM.TB_DEL_DATE.Enabled = False
ADD_NEW_FORM.TB_DES.Enabled = False
ADD_NEW_FORM.BTN_SAVE.Enabled = False
End Sub
Private Sub BTN_EDIT_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
If Me.ListBox_Customer_List.SelectedIndex = -1 Then
MessageBox.Show("SELECT ENTRY TO DELETE", "SELECT ITEM", MessageBoxButtons.OK, MessageBoxIcon.Information)
Exit Sub
End If
MessageBox.Show(Me.ListBox_Customer_List.SelectedIndex)
'If MessageBox.Show("SURE TO DELETE THIS ENTRY?", "DELETE", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = Windows.Forms.DialogResult.Yes Then
editDatabase(Me.ListBox_Customer_List.SelectedIndex)
' End If
End Sub
End Class
------------------------------------------------------------------------------------------
DATABASE has 5 fields.
Subscribe to:
Comments (Atom)


