Загрузка списка элементов в текстовом файле с использованием VB.Net - PullRequest
0 голосов
/ 04 марта 2019

Относится к каждому кодировщику
Я разрабатываю программу, в которой мне нужно выбрать некоторые элементы из списка и, нажимая кнопку, я сохраняю выбранные элементы вместе со скоростью элементов в базе данных доступа и одновременно загружаюто же самое в текстовом файле для печати.Все работает просто отлично, за исключением того, что выравнивание элементов не является правильным. Расследования и скорость не выровнены должным образом Код, который я написал как:

Static total As Integer
    Dim query As String
    Dim l_index As Integer
    If ListBox2.Items.Count > 15 Then
        MsgBox("Maximum 15 Investigations can be selected.",     vbInformation, "New receipt...")
        ListBox2.Items.Clear()
        Exit Sub          ElseIf txtopd.Text.Trim = "" Or txtname.Text.Trim = "" Or ListBox2.Items.Count = 0 Then
        MsgBox("Please fill all the fields", vbInformation, "New Receipt...")
        txtopd.Focus()
        Exit Sub
    Else
        '--------------------
        Dim file As System.IO.StreamWriter
        file = My.Computer.FileSystem.OpenTextFileWriter("text.txt", False)
        file.Write("Date" & vbTab & vbTab & vbTab)
        file.Write(lbldate.Text)
        file.WriteLine()
        file.Write("Time" & vbTab & vbTab & vbTab)
        file.Write(lbltime.Text)
        file.WriteLine()
        file.Write("Receipt#" & vbTab & vbTab & vbTab)
        file.Write(txtreceiptno.Text)
        file.WriteLine()
        file.Write("OPD#" & vbTab & vbTab & vbTab)
        file.Write(txtopd.Text)
        file.WriteLine()
        file.Write("Name" & vbTab & vbTab & vbTab)
        file.Write(txtname.Text)
        file.WriteLine()
        file.Write("______________________________________")
        file.WriteLine()
        Con.Open()
        For l_index = 0 To ListBox2.Items.Count - 1
            query = ("select  Investigation.rate " & _
                    "from Investigation WHERE (((Investigation.Investigation) = '" & ListBox2.Items(l_index) & "'));")
            Dim cmd2 As New OleDbCommand(query, Con)
            'Con.Open()
            Dim reader As OleDbDataReader = cmd2.ExecuteReader
            reader.Read()
            'file.WriteLine(reader(0))
            txtrate.Text = reader.GetString(0)
            total = total + txtrate.Text
            'reader.Close()
            'Con.Close()
            ' Con.Close()
            'End If
            Dim SqlString As String = "Insert Into patients (Receipt_No, OPD_MRD,Patientname,Investigation,Receipt_date,Receipt_time,rate) Values (?,?,?,?,?,?,?)"
            Dim cmd As OleDbCommand = New OleDbCommand(SqlString, Con)
            cmd.CommandType = CommandType.Text
            cmd.Parameters.AddWithValue("Receipt_No", txtreceiptno.Text.Trim())
            cmd.Parameters.AddWithValue("OPD_MRD", txtopd.Text.Trim())
            cmd.Parameters.AddWithValue("Patientname", txtname.Text.Trim())
            cmd.Parameters.AddWithValue("Investigation", CStr(ListBox2.Items(l_index)).ToString())
            cmd.Parameters.AddWithValue("Receipt_date", lbldate.Text)
            cmd.Parameters.AddWithValue("Receipt_time", lbltime.Text)
            cmd.Parameters.AddWithValue("rate", txtrate.Text.Trim())
            'Con.Open()
            cmd.ExecuteNonQuery()                            file.Write(ListBox2.Items(l_index).ToString().PadRight(50))
            file.Write(txtrate.Text)
            file.WriteLine()
        Next
        Con.Close()
        file.Write("______________________________________")
        file.WriteLine()
        file.Write("Total Amount =" & vbTab & vbTab)
        file.Write(total)
        file.Close()
    End If

    'printing starts here
    '-----------------------------------

    Dim p As New Process
    Dim info As New ProcessStartInfo
    info.FileName = "text.txt"
    info.Verb = "print"
    p.StartInfo = info
    p.Start()
    '----------------------------- 

Ответы будут высоко оценены.Спасибо

...