質問編集履歴

2

コードの追加&修正

2022/08/08 08:51

投稿

mmm
mmm

スコア10

test CHANGED
File without changes
test CHANGED
@@ -16,8 +16,45 @@
16
16
  ```
17
17
 
18
18
  ### 該当のソースコード
19
+ ```VB6.0(構造体)
20
+ Type tagPOSSTATE_TBL
19
21
 
22
+ Data1 As String * 8
23
+ Data2 As String * 8
24
+ Data3 As String * 2
25
+ Data4 As String * 1
26
+ Data5 As String * 1
27
+ Data6 As String * 8
28
+ Data7 As String * 8
29
+ Data8 As String * 2
30
+ Data9 As String * 8
31
+ Data10 As String * 8
32
+ Data11 As String * 8
33
+ Data12 As String * 6
34
+ Data13 As String * 6
35
+ Data14 As String * 5
36
+ Data15 As String * 4
37
+ Data16  As String * 4
38
+ Data17 As String * 97
39
+
40
+ End Type
41
+ ```
42
+
43
+ ```VB6.0(Form)
44
+ Option Explicit
45
+
46
+ Sub SeekData()
47
+
48
+ Dim FileName As String
49
+ Dim sct As struct
50
+
51
+ Open FileName For Binary Shared As #1
52
+ Get #1, 1, sct
53
+ Close #1
54
+
55
+ End Sub
56
+ ```
20
- ```VB.NET(クラス)
57
+ ```VB.NET(構造体)
21
58
  ublic Class Class1
22
59
  Structure struct
23
60
  <VBFixedArray(8)> Public Data1 As String
@@ -34,68 +71,30 @@
34
71
  <VBFixedArray(6)> Public Data12 As String
35
72
  <VBFixedArray(6)> Public Data13 As String
36
73
  <VBFixedArray(5)> Public Data14 As String
37
- <VBFixedArray(8)> Public Data15() As String
74
+ <VBFixedArray(4)> Public Data15() As String
38
- <VBFixedArray(8)> Public Data16() As String
75
+ <VBFixedArray(4)> Public Data16 As String
39
76
  <VBFixedArray(97)> Public Data17 As String
40
77
  End Structure
41
-
42
- Sub UseStruct()
43
- Dim struct As struct
44
- ReDim struct.Data15(8)
45
- ReDim struct.Data16(8)
46
- End Sub
47
78
 
48
79
  End Class
49
80
  ```
50
81
 
51
82
  ```VB.NET(Form)
52
- Public Class Form1
53
-
54
- Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
55
- Call SeekData()
56
- End Sub
57
-
58
83
  Dim FileName As String
59
84
  Private sct As Class1.struct
60
85
 
61
86
  Sub SeekData()
62
87
  FileName = TextBox1.Text
63
- Dim iFNum As Integer
64
- iFNum = FreeFile()
65
- FileOpen(iFNum, FileName, OpenMode.Binary)
88
+ FileOpen(1, FileName, OpenMode.Binary)
66
89
  Dim tmp As ValueType
67
90
  tmp = sct
68
- FileGet(iFNum, tmp) ' ここでエラーメッセージが表示される
91
+ FileGet(1, tmp) ' ここでエラーメッセージが表示される
69
-   FileClose(iFNum)
92
+ FileClose(1)
70
93
  End Sub
71
94
 
72
95
  End Class
73
96
 
74
97
  ```
75
98
 
76
- ```VB6.0(Form)
77
- Option Explicit
78
-
79
- Private Sub Command1_Click(Index As Integer)
80
-
81
- Select Case Index
82
- Case 0
83
- Call SeekData
84
- Case 1
85
- Unload Me
86
- End Select
87
- End Sub
88
-
89
- Sub SeekData()
90
-
91
- Dim FileName As String
92
- Dim sct As struct
93
-
94
- Open FileName For Binary Shared As #1
95
- Get #1, 1, sct
96
- Close #1
97
-
98
- End Sub
99
- ```
100
99
 
101
100
 

1

移行前のVB6.0のコードを追加

2022/08/08 05:40

投稿

mmm
mmm

スコア10

test CHANGED
File without changes
test CHANGED
@@ -9,7 +9,7 @@
9
9
  FileGetのエラーを解消したいです。
10
10
 
11
11
  ### 発生している問題・エラーメッセージ
12
- FileGetメソッドで以下のメッセージが表示されます
12
+ FileGetに到達したときに以下のメッセージが表示されます
13
13
  ```
14
14
  「System.IO.EndOfStreamException: 'ストリームの終わりを超えて読み取ることはできません。'
15
15
 
@@ -65,7 +65,7 @@
65
65
  FileOpen(iFNum, FileName, OpenMode.Binary)
66
66
  Dim tmp As ValueType
67
67
  tmp = sct
68
- FileGet(iFNum, tmp)
68
+ FileGet(iFNum, tmp) ' ここでエラーメッセージが表示される
69
69
    FileClose(iFNum)
70
70
  End Sub
71
71
 
@@ -73,3 +73,29 @@
73
73
 
74
74
  ```
75
75
 
76
+ ```VB6.0(Form)
77
+ Option Explicit
78
+
79
+ Private Sub Command1_Click(Index As Integer)
80
+
81
+ Select Case Index
82
+ Case 0
83
+ Call SeekData
84
+ Case 1
85
+ Unload Me
86
+ End Select
87
+ End Sub
88
+
89
+ Sub SeekData()
90
+
91
+ Dim FileName As String
92
+ Dim sct As struct
93
+
94
+ Open FileName For Binary Shared As #1
95
+ Get #1, 1, sct
96
+ Close #1
97
+
98
+ End Sub
99
+ ```
100
+
101
+