PDA

View Full Version : سوال: تجزیه و تحلیل یک کد



niko2008
سه شنبه 07 مهر 1388, 21:10 عصر
دوستان عزیز این کد را برای من ترجمه کنید از این کد آیا برای ذخیره رکورد متنی می توان استفاده کرد؟:عصبانی++:


Public Type BRF
name As String
FNAME As String
CLASS As String
OMU As String

End Type

Public BAF(10) As BRF


Dim S As String
Dim S1 As String
Dim BTL1 As Integer
Dim BTL(300) As String
Dim STL(300) As String
Dim I As Integer
Dim L As Integer
Private Sub Command1_Click()
Close

Open "C:\TEL1.TXT" For Output As #3
Open "C:\TEL1.TXT" For Input As #1



For I = 0 To 300
STL(I) = BAF(I).Class
BAF(I).Class = "OK"
Next

Do While Not EOF(1)
Line Input #1, S

If InStr(1, S, "STUY1") Then
DAT = Mid(S, 37, 10)
TIM = Mid(S, 49, 10)

End If

If InStr(1, S, "BML1") Then

BTL1 = Val(Mid(S, 5, 4))
BAF(BTL1).Class = Mid(S, 71, 2)
Line Input #1, S
Line Input #1, S
BAF(BTL1).name = Mid(S, 2, 15)
Line Input #1, S
BAF(BTL1).ET = Trim(Mid(S, 43, 3))


End If


Loop
For I = 0 To 300
If STL(I) <> BAF(I).Class And BAF(I).Class = "NO" Then
BAF(I).OMU_T = Mid(S, 1, 10) & " " & Mid(S, 12, 11)
Print #3, BAF(I).name, BAF(I).Class, BAF(I).OMU_T
ElseIf STL(I) = BAF(I).Class And BAF(I).Class <> "NO" Then
BAF(I).OMU_T = Mid(Now(), 1, 10) & " " & Mid(Now(), 12, 11)
Print #3, BAF(I).name, BAF(I).Class
End If

Next

End Sub

niko2008
سه شنبه 07 مهر 1388, 23:33 عصر
دوستان کمک کنید کسی نیست.......................................... .....

ASedJavad
چهارشنبه 08 مهر 1388, 00:16 صبح
مثل اينکه شما خيلي دوست داري پست تکراري بذاري؟
:متفکر::متفکر::متفکر:

ASedJavad
چهارشنبه 08 مهر 1388, 00:51 صبح
سلام
کليت کدت اينه که يه فايل متني رو باز مي کني، محتويات اونو ميخوني و تجزيه و تحليل مي کني بعد نتايج رو تو يه فايل (همون فايل؟؟؟؟) مينويسي.
ولي تو کدت تا دلت بخواد ايراد و اشتباه وجود داره.
به عنوان مثال تو دو خط اول برنامه ات:

Open "C:\TEL1.TXT" For Output As #3
Open "C:\TEL1.TXT" For Input As #1

اول مياي فايل TEL1.TXT رو بصورت Output باز ميکني بعد مياي همونو بصورت Input باز مي کني و شروع مي کني به خوندن محتوياتش.
در حالي که وقتي فايل رو به صورت Output باز کردي، کل محتوياتش پاک ميشن و ديگه چيزي برا خوندن وجود نداره.
يا تو خطهاي بعدش:

For I = 0 To 300
STL(I) = BAF(I).CLASS
BAF(I).CLASS = "OK"
Next

در حالي که شما متغير BAF رو بصورت يه آرايه با 11 عضو از 0 تا 10 تعريف کردي ولي سعي مي کني با اعضاي 11 تا 300 اين آرايه کار کني که مسلما پاسخي جز خطا نداره.
يا چند خط پايين تر عبارت BAF(BTL1).ET رو بکار بردي که کلا تعريف نشده است.