• Vui lòng đọc nội qui diễn đàn để tránh bị xóa bài viết
  • Tìm kiếm trước khi đặt câu hỏi

[Chú ý] Thắc mắc về lập trình Basic4Android

Lập trình cho Android Phone

Điều hành viên: tummosoft

vuchuc
Thành viên chính thức
Thành viên chính thức
Bài viết: 28
Ngày tham gia: T.Năm 27/05/2010 10:18 pm
Has thanked: 7 time

Re: [Chú ý] Thắc mắc về lập trình Basic4Android

Gửi bàigửi bởi vuchuc » T.Sáu 13/02/2015 1:09 am

em cám ơn anh đã giúp em.trước em làm thấy báo lỗi về khai báo mảng rồi linh tinh các thứ khác mãi không thể làm nổi.em cám ơn anh đã tận tình giúp đỡ em.
e đã viết lại xong nhưng bị 1 cái là kết quả bị sai so với file exel mà em dựa vào đó để làm. em sẽ dò lại các tính toán của em xem đã chuẩn chưa vì dấu ^ trong b4a không có đúng k a



vuchuc
Thành viên chính thức
Thành viên chính thức
Bài viết: 28
Ngày tham gia: T.Năm 27/05/2010 10:18 pm
Has thanked: 7 time

Re: [Chú ý] Thắc mắc về lập trình Basic4Android

Gửi bàigửi bởi vuchuc » T.Sáu 13/02/2015 7:53 am

anh xem giup e cai marc1 e lam the nay da dung chua a. vi khi kết quả M em xem nó lại bằng 0,nên kết quả nó bị sai.

Mã: Chọn hết

#Region  Project Attributes
   #ApplicationLabel: B4A Example
   #VersionCode: 1
   #VersionName:
   'SupportedOrientations possible values: unspecified, landscape or portrait.
   #SupportedOrientations: unspecified
   #CanInstallToExternalStorage: False
#End Region

#Region  Activity Attributes
   #FullScreen: False
   #IncludeTitle: True
#End Region

Sub Process_Globals
   'These global variables will be declared once when the application starts.
   'These variables can be accessed from all modules.

End Sub

Sub Globals
   'These global variables will be redeclared each time the activity is created.
   'These variables can only be accessed from this modul
   Dim Nort,East As Double
   Private lon As EditText
   Private lat As EditText
   Private TINH As Button
   Private Label1 As Label
   Private Label2 As Label
   Private Label3 As Label
   Private Button1 As Button
   Private Label4 As Label
   Private Label5 As Label
   Private EditText1 As EditText
   Private EditText2 As EditText
   Private Label7 As Label
   Private Label6 As Label
End Sub

Sub Activity_Create(FirstTime As Boolean)
   'Do not forget to load the layout file created with the visual designer. For example:
   Activity.LoadLayout("1")

   Dim Nort,East As Double
End Sub

Sub Activity_Resume

End Sub

Sub Activity_Pause (UserClosed As Boolean)

End Sub


Sub Button1_click
'Project Latitude and longitude to Transverse Mercator eastings.
'Input: - _
 
'North and East are positive direction

'constants specific to WGS84
Dim phi,lam As Double
   phi = lat.Text
   lam = lon.text
Dim a, b, e0, f0, PHI0 As Double
a = 6378137
b = 6356752.3141
e0 = 500000
f0 = 0.9996
PHI0 = 0

'Calculate LAM0 of the UTM zone which the user input Longitude is in
Dim PreZNum As Double
Dim ZNum As Int
Dim LAM0 As Double
PreZNum = (180 + lam) / 6 + 1
ZNum =(PreZNum)
LAM0 = -(183 - 6 * ZNum)

'Convert angle measures to radians
Dim pi,radphi,radlam,radphi0,radlam0,af0,bf0,e2,n,nu,rho,eta2,p,iv,v,vi As Double
   
   pi = 3.14159265358979
    radphi = phi * (pi / 180)
    radlam = lam * (pi / 180)
    radphi0 = PHI0 * (pi / 180)
    radlam0 = LAM0 * (pi / 180)

    af0 = a * f0
    bf0 = b * f0
  e2 = ((af0*af0) - (bf0*bf0)) / (af0*af0)
    n = (af0 - bf0) / (af0 + bf0)
   nu = af0 / Sqrt(1 - (e2 * ((Sin(radphi)*Sin(radphi)))))
    rho = (nu * (1 - e2)) / (1 - (e2 * (Sin(radphi)*Sin(radphi))))
    eta2 = (nu / rho) - 1
    p = radlam - radlam0
   
    iv = nu * (Cos(radphi))
   
    v = (nu / 6) * ((Cos(radphi)*Cos(radphi)*Cos(radphi))) * ((nu / rho) - ((Tan(radphi)*Tan(radphi))))
    vi = (nu / 120) * (Cos(radphi)*Cos(radphi)*Cos(radphi)*Cos(radphi)*Cos(radphi)*Cos(radphi)) * (5 - (18 * ((Tan(radphi)*Tan(radphi)))) + ((Tan(radphi)*Tan(radphi)*Tan(radphi)*Tan(radphi)*Tan(radphi))) + (14 * eta2) - (58 * ((Tan(radphi)*Tan(radphi))) * eta2))
   
     
    East = e0 + (p * iv) + ((p*p*p) * v) + ((p*p*p*p*p) * vi)
    Label1.Text = East

'Project Latitude and longitude to Transverse Mercator northings
'Input: - _
Dim phi,lam As Double
   phi = lat.Text
   lam = lon.text

'REQUIRES THE "Marc1" FUNCTION

'constants specific to WGS84
Dim a, b, e0, f0, n0, PHI0 As Double
a = 6378137
b = 6356752.3141
e0 = 500000
f0 = 0.9996
PHI0 = 0
n0 = 0

'Calculate LAM0 of the UTM zone which the user input Longitude is in
Dim PreZNum As Double
Dim ZNum As Int
Dim LAM0 As Double
PreZNum = (180 + lam) / 6 + 1
ZNum = (PreZNum)
LAM0 = -(183 - 6 * ZNum)

'Convert angle measures to radians
Dim pi,radphi,radlam,radphi0,radlam0,af0,bf0,e2,n,nu,rho,eta2,p,m,i,ii,iii,iiia As Double
    pi = 3.14159265358979
    radphi = phi * (pi / 180)
    radlam = lam * (pi / 180)
    radphi0 = PHI0 * (pi / 180)
    radlam0 = LAM0 * (pi / 180)
   
    af0 = a * f0
    bf0 = b * f0
    e2 = ((af0*af0) - (bf0*bf0)) / (af0*af0)
    n = (af0 - bf0) / (af0 + bf0)
   nu = af0 / Sqrt(1 - (e2 * ((Sin(radphi)*Sin(radphi)))))
    rho = (nu * (1 - e2)) / (1 - (e2 * (Sin(radphi)*Sin(radphi))))
    eta2 = (nu / rho) - 1
    p = radlam - radlam0
    m = marc1(bf0, n, radphi0, radphi)
   
    i = m + n0
    ii = (nu / 2) * (Sin(radphi)) * (Cos(radphi))
   
    iii = ((nu / 24) * (Sin(radphi)) * ((Cos(radphi)*Cos(radphi)*Cos(radphi)))) * (5 - ((Tan(radphi)*Tan(radphi))) + (9 * eta2))
    iiia = ((nu / 720) * (Sin(radphi)) * ((Cos(radphi)*Cos(radphi)*Cos(radphi)*Cos(radphi)*Cos(radphi)))) * (61 - (58 * ((Tan(radphi)*Tan(radphi)))) + ((Tan(radphi)*Tan(radphi)*Tan(radphi)*Tan(radphi))))
   
   
   Nort = i + ((p*p) * ii) + ((p*p*p*p) * iii) + ((p*p*p*p*p*p) * iiia)
   
   Label2.Text=Nort

'cai nay  ve mui chieu
Dim PreZNum,UTMZone As Double
Dim ZNum As Int
Dim LAM0 As Double
PreZNum = (180 + lam) / 6 + 1
ZNum = PreZNum
UTMZone = ZNum

Label3.Text = UTMZone
End Sub

Public Sub  marc1(bf0 As Int , n As Int, phi0 As Int, phi As Int)
Return bf0 * ((1 + n + ((5 / 4) * (n*n)) + ((5 / 4) * (n*n*n))) * (phi - phi0)) -(((3 * n) + (3 * (n*n)) + ((21 / 8) * (n*n*n))) * (Sin(phi - phi0)) * (Cos(phi + phi0))) +((((15 / 8) * (n*n)) + ((15 / 8) * (n*n*n))) * (Sin(2 * (phi - phi0))) * (Cos(2 * (phi + phi0)))) -(((35 / 24) * (n*n*n)) * (Sin(3 * (phi - phi0))) * (Cos(3 * (phi + phi0))))
End Sub



trong khi trong VB em viết thế này đã chạy đúng rồi mà

Mã: Chọn hết


Private Function ZoneChooser(Longitude)
'Choose the UTM zone number according to user input decimal Longitude
'East is positive direction
Dim PreZNum As Double
PreZNum = (180 + Longitude) / 6 + 1
ZoneChooser = Int(PreZNum)
End Function


Private Function Marc1(bf0, n, PHI0, phi)


    Marc1 = bf0 * (((1 + n + ((5 / 4) * (n ^ 2)) + ((5 / 4) * (n ^ 3))) * (phi - PHI0)) _
    - (((3 * n) + (3 * (n ^ 2)) + ((21 / 8) * (n ^ 3))) * (Sin(phi - PHI0)) * (Cos(phi + PHI0))) _
    + ((((15 / 8) * (n ^ 2)) + ((15 / 8) * (n ^ 3))) * (Sin(2 * (phi - PHI0))) * (Cos(2 * (phi + PHI0)))) _
    - (((35 / 24) * (n ^ 3)) * (Sin(3 * (phi - PHI0))) * (Cos(3 * (phi + PHI0)))))

End Function







Private Sub Command1_Click()


Dim a, b, e0, f0, PHI0 As Double
a = 6378137
b = 6356752.3141
e0 = 500000
f0 = 0.9996
PHI0 = 0

'Calculate LAM0 of the UTM zone which the user input Longitude is in
Dim PreZNum As Double
Dim ZNum As Integer
Dim LAM0 As Double
PreZNum = (180 + lam) / 6 + 1
ZNum = Int(PreZNum)
LAM0 = -(183 - 6 * ZNum)

'Convert angle measures to radians
    PI = 3.14159265358979
    RadPHI = phi * (PI / 180)
    RadLAM = lam * (PI / 180)
    RadPHI0 = PHI0 * (PI / 180)
    RadLAM0 = LAM0 * (PI / 180)

    af0 = a * f0
    bf0 = b * f0
    e2 = ((af0 ^ 2) - (bf0 ^ 2)) / (af0 ^ 2)
    n = (af0 - bf0) / (af0 + bf0)
    nu = af0 / (Sqr(1 - (e2 * ((Sin(RadPHI)) ^ 2))))
    rho = (nu * (1 - e2)) / (1 - (e2 * (Sin(RadPHI)) ^ 2))
    eta2 = (nu / rho) - 1
    p = RadLAM - RadLAM0
   
    IV = nu * (Cos(RadPHI))
    V = (nu / 6) * ((Cos(RadPHI)) ^ 3) * ((nu / rho) - ((Tan(RadPHI) ^ 2)))
    VI = (nu / 120) * ((Cos(RadPHI)) ^ 5) * (5 - (18 * ((Tan(RadPHI)) ^ 2)) + ((Tan(RadPHI)) ^ 4) + (14 * eta2) - (58 * ((Tan(RadPHI)) ^ 2) * eta2))
   
    Label1.Caption = e0 + (p * IV) + ((p ^ 3) * V) + ((p ^ 5) * VI)
   
   

'Project Latitude and longitude to Transverse Mercator northings
'Input: - _
 Latitude (PHI) and Longitude (LAM) in decimal degrees; _
 ellipsoid axis dimensions (a & b) in meters; _
 eastings (e0) and northings (n0) of false origin in meters; _
 central meridian scale factor (f0); _
 latitude (PHI0) and longitude (LAM0) of false origin in decimal degrees.

'REQUIRES THE "Marc1" FUNCTION

'constants specific to WGS84

a = 6378137
b = 6356752.3141
e0 = 500000
f0 = 0.9996
PHI0 = 0
n0 = 0

'Calculate LAM0 of the UTM zone which the user input Longitude is in

PreZNum = (180 + lam) / 6 + 1
ZNum = Int(PreZNum)
LAM0 = -(183 - 6 * ZNum)

'Convert angle measures to radians
    PI = 3.14159265358979
    RadPHI = phi * (PI / 180)
    RadLAM = lam * (PI / 180)
    RadPHI0 = PHI0 * (PI / 180)
    RadLAM0 = LAM0 * (PI / 180)
   
    af0 = a * f0
    bf0 = b * f0
    e2 = ((af0 ^ 2) - (bf0 ^ 2)) / (af0 ^ 2)
    n = (af0 - bf0) / (af0 + bf0)
    nu = af0 / (Sqr(1 - (e2 * ((Sin(RadPHI)) ^ 2))))
    rho = (nu * (1 - e2)) / (1 - (e2 * (Sin(RadPHI)) ^ 2))
    eta2 = (nu / rho) - 1
    p = RadLAM - RadLAM0
    m = Marc1(bf0, n, RadPHI0, RadPHI)
   
    i = m + n0
    ii = (nu / 2) * (Sin(RadPHI)) * (Cos(RadPHI))
    iii = ((nu / 24) * (Sin(RadPHI)) * ((Cos(RadPHI)) ^ 3)) * (5 - ((Tan(RadPHI)) ^ 2) + (9 * eta2))
    iiia = ((nu / 720) * (Sin(RadPHI)) * ((Cos(RadPHI)) ^ 5)) * (61 - (58 * ((Tan(RadPHI)) ^ 2)) + ((Tan(RadPHI)) ^ 4))
   
    Label2.Caption = i + ((p ^ 2) * ii) + ((p ^ 4) * iii) + ((p ^ 6) * iiia)


End Sub



em cam on anh a

phuoc_89
Thành viên chính thức
Thành viên chính thức
Bài viết: 11
Ngày tham gia: CN 11/07/2010 9:13 am
Has thanked: 2 time
Been thanked: 1 time

Cách tạo Shortcut trên màn hình Home screen???

Gửi bàigửi bởi phuoc_89 » T.Tư 11/03/2015 9:25 pm

Cho mình hỏi code để đặt icon shortcut ứng dụng lên màn hình chính Home screen, mình tìm mãi mà chưa có?

Hình đại diện của người dùng
tummosoft
Điều hành viên
Điều hành viên
Bài viết: 331
Ngày tham gia: T.Hai 19/05/2014 2:23 pm
Has thanked: 7 time
Been thanked: 57 time
Liên hệ:

Re: [Chú ý] Thắc mắc về lập trình Basic4Android

Gửi bàigửi bởi tummosoft » T.Năm 12/03/2015 8:08 am

Hướng dẫn và code tạo shortcut ứng dụng lên màn hình chính

http://www.b4x.com/android/forum/thread ... ion.11444/
:) Tummo Software :D
http://tummosoft.com

Hình đại diện của người dùng
minhhath
Thành viên năng nổ
Thành viên năng nổ
Bài viết: 78
Ngày tham gia: CN 17/01/2010 3:24 pm
Đến từ: p5,Tỉnh Cà Mau
Has thanked: 8 time
Liên hệ:

Re: [Chú ý] Thắc mắc về lập trình Basic4Android

Gửi bàigửi bởi minhhath » T.Bảy 21/03/2015 8:19 am

Mình cũng có từng học qua VB.net và C# vậy mình tìm hiểu về Basic4Android thì phải bắt đầu căn bản từ đâu bạn có thể cho mình tài liệu hay ebook để mình tham khảo thêm được không
thanks chủ thớt nhiều :x :x :x
[color=#BF0080]Trên đời này không có con đường cùng,mà chỉ có những ranh giới,điều quan trọng là có đủ sức mạnh và nghị lực để vượt qua những ranh giới đó hay không[/color]

Hình đại diện của người dùng
tummosoft
Điều hành viên
Điều hành viên
Bài viết: 331
Ngày tham gia: T.Hai 19/05/2014 2:23 pm
Has thanked: 7 time
Been thanked: 57 time
Liên hệ:

Re: [Chú ý] Thắc mắc về lập trình Basic4Android

Gửi bàigửi bởi tummosoft » CN 22/03/2015 10:47 am

minhhath đã viết:Mình cũng có từng học qua VB.net và C# vậy mình tìm hiểu về Basic4Android thì phải bắt đầu căn bản từ đâu bạn có thể cho mình tài liệu hay ebook để mình tham khảo thêm được không
thanks chủ thớt nhiều :x :x :x


Hiện B4A không có tài liệu bằng tiếng Việt. Nếu bạn muốn học thì trước hết xem các video tại đây: viewtopic.php?f=70&t=29348

Kế tiếp thì xem các bài mình đánh dấu theo thứ tự từ thấp đến cao. Nếu đọc thấy khó hiểu thì xem các video bổ sung rồi thực hành theo.
:) Tummo Software :D
http://tummosoft.com

tonghg12
Thành viên chính thức
Thành viên chính thức
Bài viết: 11
Ngày tham gia: T.Sáu 06/06/2014 10:59 am

Re: [Chú ý] Thắc mắc về lập trình Basic4Android

Gửi bàigửi bởi tonghg12 » T.Sáu 10/07/2015 2:44 pm


vuchuc
Thành viên chính thức
Thành viên chính thức
Bài viết: 28
Ngày tham gia: T.Năm 27/05/2010 10:18 pm
Has thanked: 7 time

Re: [Chú ý] Thắc mắc về lập trình Basic4Android

Gửi bàigửi bởi vuchuc » T.Năm 16/07/2015 9:11 pm

anh nao cho em xin ung dung google map duoc khong a


Quay về “Android”

Đang trực tuyến

Đang xem chuyên mục này: Không có thành viên nào trực tuyến.1 khách