txt dosyasından veri alırken type mismatch hatası

Katılım
8 Mart 2007
Mesajlar
5
Excel Vers. ve Dili
office 2003
Sub SME()
dosya1 = "D:\data.txt"
Open dosya1 For Input As #1
dosya2 = "D:\Datalar\SME\data_cıktı.txt"
Open dosya2 For Output As #2


Dim AltNo(50) As String

Do While Not EOF(1)
Line Input #1, read
i = i + 1
If Left(read, 3) = "PNM" Then
AltNo(i) = Left(read, 14)
ElseIf Left(read, 3) = "SCL" Then
x = Trim(Mid(read, 150, 50))
Print #2, AltNo
End If

Loop
Close #1

Close #2
MsgBox "BİTTİ", vbOKOnly


End Sub

yukarıda yer alan kodda altno yu dizi olarak tanımlayamıyorum. type mismatch hatası alıyorum. Altnonun olduğu satır hem harf ve rakamlardan oluşuyor fakat ben sadece rakam olan yerini kesiyorum. konu hakkında yorum ve yardımlarınızı rica ederim.
 
Katılım
8 Mart 2007
Mesajlar
5
Excel Vers. ve Dili
office 2003
Option Strict Off
Option Explicit On
Module Module1
Sub SME()
Dim i As Integer
i = 1
Dim a As Integer
Dim read As Object
Dim dosya2 As Object
Dim dosya1 As Object
Dim PAltNo As String
Dim TAltNo As String
Dim Numara(50) As String
Dim Tarife As String
Dim Tarif(50) As String
dosya1 = "D:\data.txt"
FileOpen(1, dosya1, OpenMode.Input)
dosya2 = "D:\Datalar\SME\data_cıktı.txt"
FileOpen(2, dosya2, OpenMode.Output)

Do While Not EOF(1)
read = LineInput(1)
If Left(read, 3) = "PNM" Then
i = i + 1
PAltNo = CStr(Mid(read, 5, 10))
Numara(i) = PAltNo
ElseIf Left(read, 3) = "SCL" Then
Tarife = CStr(Mid(read, 160, 30))
Tarif(i) = Tarife
ElseIf Left(read, 3) = "TNM" Then
TAltNo = CInt(Mid(read, 5, 10))
ElseIf Left(read, 3) = "CTD" Then
i = 1
For a = 1 To 50
i = i + 1
If Numara(i) = TAltNo Then
PrintLine(2, read & Numara(i))
End If
Next

End If

Loop
FileClose(1)

FileClose(2)
MsgBox("BİTTİ", MsgBoxStyle.OKOnly)


End Sub
End Module

visual basic 2005 de aynı konuyu denedim. yukarıda yer alan kısmı atlattım fakat kırmızı bölgede yer alan AltNo ile Numara(i) nin eşitliğinde altno için "Warning 1 Variable 'TAltNo' is used before it has been assigned a value. A null reference exception could result at runtime" hatası alıyorum. amacım numara ve altno eşitliğinde numarayı satır sonuna yazdırmak.

ilk kodlar vb6 ile yazıldı. vb 2005 veya vb6 bilgisi olanlardan yardım talep ediyorum.
tşk.
 
Üst