PDA

View Full Version : سوال: تبدیل یک قطعه کُــد به fox



nima_8m
یک شنبه 01 دی 1392, 01:10 صبح
سلام
من یه قطعه کُد دارم که به وی بی نوشته شده و برا اتصال به ترازو نیاز دارم که به فاکس تبدیل بشه از کُد نویسی به فاکس اطلاعی ندارم اگه ممکنه کُد معادل این قطعه رو برام بنویسید.
متشکرم

Dim String1 As String
Private Sub A12_OnComm()
Dim SD1 As String
SD1 = Pand.Input
If SD1 = "W" Then
String1 = ""
ElseIf SD1 = Chr(13) Then
If Len(String1) = 12 Then
A12Timer.Interval = 100
End If
Else
String1 = String1 + SD1
End If
End Sub

nima_8m
یک شنبه 01 دی 1392, 01:21 صبح
با یه برنامه مُبدل تبدیلش کردم و از صحتش اطمینان ندارم


LOCAL String1
PROCEDURE A12_OnComm()
LOCAL SD1
SD1 = Pand.Input
DO CASE
CASE SD1 = "W"
String1 = ""
CASE SD1 = Chr(13)
If Len(String1) = 12
A12Timer.Interval = 100
ENDIF
OTHERWISE
String1 = String1 + SD1
ENDCASE
ENDPROC

farhad_shiri_ex
یک شنبه 01 دی 1392, 09:52 صبح
بله درست کار میکند البته میشه از IF هم استفاده کرد.
فقط برای بار اول اگر در خط زیر

If SD1 = "W" Then
مساوی نبود و کنترل برنامه به خط فوق انتقال داده شد.

ElseIf SD1 = Chr(13) Then
وشرط فوق احراز شد در خط زیر

If Len(String1) = 12 Then
مقدار متغیر String1 را که تعریف نشده مطمنا خطا کامپایل میگیرید مگر اینکه این شرط احراز نشه تا String1 در انتها مقدار دهی بشه!

nima_8m
یک شنبه 01 دی 1392, 10:39 صبح
مقدار متغیر String1 را که تعریف نشده مطمنا خطا کامپایل میگیرید مگر اینکه این شرط احراز نشه تا String1 در انتها مقدار دهی بشه!

متوجه نشدم یعنی اگه اجراش کنم با اِرور مواجه میشم؟؟؟

farhad_shiri_ex
یک شنبه 01 دی 1392, 13:42 عصر
بله در اولین فراخوانی پروسیجر فوق خطا رخ می دهد البته همانطور که در پست قبل هم گفتم اگر شرط اول برقرار نشود و کنترل برنامه به خط نقض شرط برود.
به علت اینکه باید تو ویژوال فاکس بعد از تعریف نوع متغیر حتما باید یک مقدار اولیه بدهید تا تعریف شود

local string1 as string
store '' to string1