看板 Visual_Basic 關於我們 聯絡資訊
此為應用程式 目前排列完成後,若要"等分"切割(橫切)該如何處理? Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim matrixnumber As Double If TextBox7.Text = "" Then Return ElseIf TextBox5.Text = "" Then Return ElseIf TextBox6.Text = "" Then Return ElseIf TextBox1.Text = "" Then Return ElseIf TextBox2.Text = "" Then Return ElseIf TextBox3.Text = "" Then Return ElseIf TextBox4.Text = "" Then Return End If '參與計算的每一儲存格不得為空 matrixnumber = Int(TextBox7.Text) / Int(TextBox5.Text) / Int(TextBox6.Text) If Int(matrixnumber) <> matrixnumber Then MsgBox("行數與列數搭配總量後無法形成矩陣") Return End If Dim saveFileDialog1 As New SaveFileDialog() saveFileDialog1.Filter = "txt files (*.txt)|*.txt" saveFileDialog1.Title = "選擇儲存輸出檔位置" saveFileDialog1.InitialDirectory = "D:\" saveFileDialog1.RestoreDirectory = True If saveFileDialog1.ShowDialog() = Windows.Forms.DialogResult.OK Then Dim sw As New StreamWriter(saveFileDialog1.FileName) Dim m As Integer Dim n As Integer Dim total As Integer m = Int(TextBox5.Text) n = Int(TextBox6.Text) total = Int(TextBox7.Text) Dim blocknumber As Integer blocknumber = total / (m * n) Dim Initial As Integer Initial = Int(TextBox4.Text) Dim i_row As Integer Dim i_column As Integer Dim i_block As Integer For i_block = 1 To blocknumber Step 1 For i_column = 1 To m Step 1 Initial = Int(TextBox4.Text) + (i_column - 1) + (i_block - 1) * m * n For i_row = 1 To n Step 1 sw.Write(TextBox3.Text) sw.Write(Format((Initial + (i_row - 1) * m), "000000000")) sw.Write(" ") Next i_row sw.WriteLine("") Next i_column Next i_block sw.Flush() sw.Close() End If End Sub End Class 輸出結果如下: DX000000001 DX000000006 DX000000011 DX000000016 DX000000002 DX000000007 DX000000012 DX000000017 DX000000003 DX000000008 DX000000013 DX000000018 DX000000004 DX000000009 DX000000014 DX000000019 DX000000005 DX000000010 DX000000015 DX000000020 DX000000021 DX000000026 DX000000031 DX000000036 DX000000022 DX000000027 DX000000032 DX000000037 DX000000023 DX000000028 DX000000033 DX000000038 DX000000024 DX000000029 DX000000034 DX000000039 DX000000025 DX000000030 DX000000035 DX000000040 輸出的資料為上面的矩陣,請問該怎麼切割(橫切)? 例如兩等分,或五等分 切完後該怎麼自動依序存檔? 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.130.149.193
Yaiba:真抱歉...看不懂... 01/08 14:09
※ 編輯: lancelet 來自: 220.130.149.193 (01/08 15:29)
Yaiba:是指...換行? 01/08 15:33
meto000:像上面那樣就叫兩等份的意思嗎?五等份就8個作單位? 01/08 16:01
lancelet:兩等分是指從 05 21這兩列中間切開成兩個檔案 01/09 15:16
lancelet:5等分就是把上面10列兩列兩列切成5個檔案 01/09 15:17
Yaiba:嗯...那你就用陣列先存下來,不就有數量了~(一行存一格就好) 01/09 20:32