PDA

View Full Version : [dis] Câu lạc bộ Visual Foxpro Hấp dẫn nhất từ trước đến nay !!!!!!



Pages : [1] 2 3 4 5 6 7 8 9 10

phongtt
26-06-2003, 10:21
Các bạn có táăc mắc gì về ngôn ngữ lập trình Visual Foxpro xin cứ hỏi. Một ngôn ngữ mà giới lập trình chuyên nghiệp cho là kẻ ngoại đạo nhưng tôi thì không , nó có thể làm được tất cả.

Liên hệ : ttphong68@yahoo.com

phuncud
30-06-2003, 16:40
test

nnduyanh
22-10-2003, 07:27
xin cho biết code or sth của Vfox để kết nối sql server 7.0 vào làm data trong project ! mình biết kết nối qua ODBC nhưng code thì vẫn mập mờ . ! vậy vẫn để free table huh phongtt?

hat
22-12-2003, 13:27
Cái thứ lập trình này khó kinh khủng! Tui sợ nó quá!

girlsky123
31-03-2004, 14:01
hehe, mình thì kết cái VF này dễ sợ luôn, ngôn ngữ này linh hoạt thật, càng làm thì càng kệt

hat
04-04-2004, 21:53
Tui thích Visual Basic hơn! Cái VF này khó quá chịu không nổi!

bachduongmtn
07-04-2004, 11:06
em thich VB nhung tai lieu nang cao thi 0 co. Giup em voi

Bá Hỷ
07-04-2004, 15:26
Mình âng tập tành hoc VF6, mình định lam` 1 form, phân chia tài khoản sử dung . Mình muốn tạo 1 form login , khi bấm vào nút OK thì chương trình sẽ kiểm tra trong database, table "nguoisudung(ten(khoa) ,matkhau,loai) " , khi kiểm tra đúng thì thông báo đăng nhập xong . Mình mò hoài mà không ra , mong anh ban "phongtt"-làm được tất cả giúp đỡ - cám ơn nhiều .

MTIT
07-04-2004, 15:42
VB Ứng dụng nhiều hơn trong khi làm chương trình và đễ sử dung hơn VF Mình đang học VB còn VF mình học wa rùi Nói chung cà 2 ngôn ngữ này đều sử dung code Viết mỏi tay luôn

Bá Hỷ
08-04-2004, 07:54
Có ai bày mình cách kết nối dữ liệu trong VF6 với , mình đã đọc trong MSDN nhưng chưa tìm ra câu lệnh nào để thực hiện truy vấn cả , như bài ví dụ trên của mình đó . Ai biết chỉ dùm cái . Cám ơn nhiều .

thangdv
14-04-2004, 17:31
Tui là Fan của VFP đây. Các bác có đọc một số bài báo của PCWorld gần đây không. VPF và SQL Server mà kết hợp lại với nhau thì trở thành "cặp tiền đạo cực kỳ lợi hại" đó. Chẳng thể mà Microsoft quyết tâm phát triển VFP lên đến tận V9.0 sao.

dathq
07-01-2006, 00:38
Bạn nào có chương trình mẫu VF không? Có lẽ đưa samples lên mọi người dễ tiếp cận hơn.

set
02-04-2006, 12:31
Chào các bác
các bác giúp mình cách xuất Report tu visua FoxPro7.0 ra excel
Có thể tạo mục xuất sang Excel trên menu để khi kích vào là tự động xuất sang excel luôn
thành thật cám ơn các bác nhiều
tonykhanh1818@yahoo.com

Beby_tv
22-05-2006, 10:04
Chào các Bác, Mong các Bác giúp dùm
-Trong Visual Fox làm sao de ComboBox tu dong hien danh sách khi con tro chi den.
-Mình gõ 1 ký tu dau "VD : chu M" thì ComboBox tu dong hien danh sách và con tro chi den nhóm MA_VT có ký tu dau là chu "M" sau dó mình ENTER thì MA_VT dó duoc lay vào ComboBox
Mình dang can gap lam mong các Huynh giúp dùm

kiddy
11-09-2006, 17:58
Visual Fox hay bị lỗi quá. Dùng VB dễ đơn giản hơn nhiều

LangTu_LongKhanh
30-09-2006, 08:31
Foxpro 9.0 cung tot lam roi, hay tiep cận nó di nhanh lên. Lập trinh voi VF làm cho kỹ năng xử lý database cua nguoi lap trinh nang cao hon do. Tui cung da tung hoc va lam viec voi foxpro. Co the dung code de viet giao dien va moi thu tu phien ban 2.26 nua kia.

fire2fire
02-10-2006, 08:02
Các bạn dùng VF có hiển thị được Unicode ko? Mình thử gõ vào 1 field thì không hiển thị được. Cả trên form và report nữa, không thể tạo 1 label dùng font unicode.

minhdien
13-10-2006, 08:40
Tôi cũng là một fan của VFP, đã từng dùng VFP làm nhiều Project. Mặc dù bây giờ đã chuyển qua code bằng dotNET, nhưng thấy subject này của các bạn cũng muốn tham gia đóng góp chút ít những gì học hỏi thu thập được trong thời gian code bằng VFP.
Bạn nào quan tâm đến việc làm sao cho chương trình VFP chạy nhanh hơn có thể tham khảo :
http://www.ddth.com/showthread.php?t=103374

hay lưu tâm đến việc SỬA ĐỔI CÁC WIZARD VÀ BUILDER CỦA VFP:
http://www.ddth.com/showthread.php?t=103375

Mong bạn nào có cao kiến gì, xin đóng góp cho anh em học hỏi.

ngmcuongbl
08-12-2006, 10:11
Em có một bài tập về Quản lý lương và chất lượng sản phẩm. Một sản phẩm cần đăng ký nhiều chỉ tiêu em không biết làm cách nào mong chỉ giúp với!!!!

shuto_uke
25-01-2007, 10:00
Tôi thì tưởng VF đã bị MS đóng đinh rùi cơ :)

jiSh@n
31-01-2007, 20:39
VF vừa là một môi trường phát triển, vửa là một hệ quản lý CSDL mạnh (chức năng tương tự như Access nhưng mạnh hơn nhiều lần). Quy mô nhỏ thì có Access, ở quy mô lớn hơn thì dùng VF, lớn hơn nữa mới cần đến SQL server. Bạn nào đem so sánh VF với VB thì chẳng khác gì đem so sánh Word với Photoshop.

adri
21-02-2007, 18:26
Ai muốn tìm hiểu thì vô đây tải về đọc nha
http://download-v5.streamload.com/C5iw6FYQ~u40M~jlkA~efXD~_fhjFE4vsd2g/dakuta/FileManager/ClientServerVFP.pdf?action=save
cuốn sách này về visual foxpro hay đấy
http://depositfiles.com/en/files/374137

dafvp
10-07-2007, 16:37
rất cảm ơn mọi người, tôi đã đọc được rất nhiều, nhưng chưa có nhiều tài liệu hữu ích lắm,
các bạn có thể post thêm nhiều nhiều chút được không?

ChungITT
12-07-2007, 12:25
Trước mính kết VB, sau khi viết VF vì yêu cầu công việc quả thật mình kết nó wá. Nhất là kết hợp VF với SQL Server thì tuyệt vời lun. Quả thật tuyệt vời.


Bạn nào có chương trình mẫu VF không? Có lẽ đưa samples lên mọi người dễ tiếp cận hơn.

Bạn ra ngoài mua cái đĩa VF *** về cài vào là đủ thứ sample chứ gì.

meogiakhu
21-08-2007, 23:51
Tớ viết VFP đã lâu rồi, sau do thấy MS khuyến cáo nên dùng VB thay cho VFP, nên bỏ nhiều thời gian để thay đổi chuển sang viết VB một vài chương trình. Tuy nhiên nếu dùng VB để viết chương trình quản lý CSDL thì vô cùng kém hiệu quả vì bản thân VB không hỗ trợ gì về CSDl cả, toàn phải tự viết lấy hàm để thực hiện. Trong khi đó VFP là ngôn ngữ chuyên về CSDL nên viết nhàn hơn rất nhiều và đặc biệt là chương trình chạy rất nhanh , kể cả khi dữ liệu rất lớn ( tới vài triệu ban ghi cũng vẫn nhanh như lúc đầu, vì VFP hỗ trợ can thệp từng bản ghi rất chi tiết )Trong khi đó các ngôn ngữ khác chỉ trông chờ vào các câu lệnh SQL nên khi dữ liệu lớn,số bảng truy vấn nhiều thì chuong trình chạy cực lâu, nhiều khi tưởng treo máy, viết sơ sơ như vậy để các bạn hiểu thêm.
Tuy nhiên mặc dù mình dùng VFP rất nhiều nhưng chưa dùng với SQLserver, bạn nào biết cách kết hợp xin chỉ dùm, xin cám ơn nhiều ( mình đã cài được SQLserver lên máy nhưng chưa biết các kết nối)

ntchonthanh
30-08-2007, 07:14
Ai có Visual Fox 6 thì cho mình xin nhé ! Thank

ntchonthanh
30-08-2007, 07:15
ntchonthanh2007@yahoo.com

hoangtucodon76
12-09-2007, 14:35
Làm ơn cho mình hỏi có cách nào thiết kế Menu bằng Tiếng việt được không?
Mình cám ơn nhiều.

tayngangvfp
15-09-2007, 15:46
Chào hoangtucodon76

Bạn thử tham khảo tại
http://www.echip.com.vn/echiproot/html/2005/so165/laptrinh.html
http://www.echip.com.vn/echiproot/html/2005/so167/laptrinh.html

Chúc thành công

hoathc10
29-10-2007, 13:49
Các bạn có táăc mắc gì về ngôn ngữ lập trình Visual Foxpro xin cứ hỏi. Một ngôn ngữ mà giới lập trình chuyên nghiệp cho là kẻ ngoại đạo nhưng tôi thì không , nó có thể làm được tất cả.

Liên hệ : ttphong68@yahoo.com

Tôi đồng ý với ý kiến của bạn nhưng hiện có một vướng mắc đối với người dùng VF và có thể nói vướng mắc đó cũng đã trở thành lý do để một số người nói rằng VF không phù hợp để phát triển ứng dụng (ở VN), đó là VF không hỗ trợ tiếng Việt Unicode. Bạn nghĩ sao về vấn đề này ? hoặc bạn đã có giải pháp ?

Nếu có thể đề nghị cho tôi biết tin qua mail [hoathc10@yahoo.com]

tuli
23-11-2007, 19:59
Do yêu cầu công việc, tôi được giao viết chương trình về VF nên tôi mới làm quen với VF nhưng chưa biết gì về ngôn ngữ này hết nên ko viết được mà tôi sắp phải nộp bài rồi, bạn nào biết viết giúp tôi với!!! Tôi thấy khó quá.
Nếu bạn nào có lòng tốt thì có thể liên lạc với tôi qua mail:
thuy_nguyen3185@yahoo.com.vn để tôi gửi đề cho, tôi xin cảm ơn rất nhiều.

tnv04
06-12-2007, 12:59
Sao Ông PhongTT gì lập nên cái Thread này rồi biến luôn nhỉ? Anh em hỏi quá mà không thấy trả lời.
Buồn.

kooltech
06-12-2007, 13:16
Nên giải tán đi, bây giờ VF ai còn dùng nữa.

hongthuong
25-12-2007, 08:48
Bác nào có phần mềm quản lý bán hàng siêu thị bằng foxpro thì share cho mình với .Mình đang cần gấp.
Cho hỏi một chút lập " Từ điển dữ liệu " bằng foxpro như thế nào ko?
có phải giống như bạn beby_tv hỏi ko vậy .Giúp mình với mình đang cần gấp.Cảm ơn nhiều.

duonghocmk
24-02-2008, 07:21
mình mới vào học môn vf này được 1 buổi thì phài chọn btap lớn:Quản lí bán hàng.bạn nào chỉ mình nên làm như nào không? cần những bảng gì?

duonghocmk
24-02-2008, 07:25
bài của mình quản lí bán hàng gạch hoa. làm ơn chỉ giúp...

alone_night
29-02-2008, 21:52
Nên giải tán đi, bây giờ VF ai còn dùng nữa.

Nói cái gì cũng phải suy nghĩ bạn ah

jeambone
07-03-2008, 21:24
Chúc mừng các bạn tham gia topic này, mình cũng mới gia nhập diễn đàn này thôi, nhưng ngoài đời mình là cựu lập trình VFP được gần 20 năm rồi kể từ lúc còn là FoxBase, nhưng mình thấy nó rất tuyệt vời mặc dù công việc đôi lúc đòi hỏi phải theo yêu cầu của khách hàng phải dùng một số ngôn ngữ khác nhưng mình vẫn không từ bỏ VFP, 90% dự án mình tham gia đề là VFP. Tuy nhiên đến nay mình vẫn chưa tự hào là ứng dụng toàn bộ công nghệ của VFP còn nhiều cái càng nghiên cứu sâu càng tuyệt. Các nơi còn ứng dụng rất nhiều, không phải VN mà còn ở nước ngoài. VD : Hệ thống quản lý AIA trên toàn cầu là FoxPro for windows, ...

alone_night
12-03-2008, 14:46
Admin ơi, các bác lập box Foxpro đi
Trước đây vietnamnet cũng có giờ đi đâu mất rùi
Lấy chỗ cho anh em thảo luận mà...
Chứ tên "CSDL khác" chán lắm

dieuhien149
18-03-2008, 08:33
minh dag lam tieu luan ve de tai quan ly kho va viet bang chuong trinh VF,nhung minh chua ranh ve no lam cac ban nao cuon de tai mau ve quan ly kho co the cho minh muon dc k?vi khoang 2 tuan nua la minh nop bai rui,mong cac ban giup do dum minh.vi da nam cuoi rui minh k muon bi vuong lai mon nay.cam on cac ban rat nhieu!!!!!

dieuhien149
18-03-2008, 08:37
minh dag lam tieu luan ve de tai quan ly kho va viet bang chuong trinh VF,nhung minh chua ranh ve no lam cac ban nao cuon de tai mau ve quan ly kho co the cho minh muon dc k?vi khoang 2 tuan nua la minh nop bai rui,mong cac ban giup do dum minh.vi da nam cuoi rui minh k muon bi vuong lai mon nay.cam on cac ban rat nhieu!!!!!

dieuhien149
18-03-2008, 09:39
minh dag lam tieu luan ve de tai quan ly kho va viet bang chuong trinh VF,nhung minh chua ranh ve no lam cac ban nao cuon de tai mau ve quan ly kho co the cho minh muon dc k?vi khoang 2 tuan nua la minh nop bai rui,mong cac ban giup do dum minh.vi da nam cuoi rui minh k muon bi vuong lai mon nay.cam on cac ban rat nhieu!!!!!
ban nao co long tot hay lien lac voi minh wa mail nay nge dieuhien149@yahoo.com

kotsivn
10-06-2008, 21:05
Ai học VF cùng mình add nick yahoo vào nhé :): lop_mam2008

yang hui
15-06-2008, 17:46
Hoan nghênh việc lập một diễn đàn chuyên về Foxpro. Ở VN đang có rất nhiều ứng dụng được viết bằng Fox.

lovefoxsql
01-07-2008, 16:21
Toppic lập ra nhưng hình như ít người quan tâm quá. Mình là dân làm phần mềm trên nhiều loại ngôn ngữ Foxpro, Access, VB6, VB.Net , C# ... nhưng mình vẫn thích dùng VFP (Client) hơn cả trong các ứng dụng về quản trị CSDL Client/Server. Viết nhanh (Component chuẩn đều có sẵn) và có thể "sào nấu CSDL" ngay lớp Client rất đơn giản và uyển chuyển. (Nhược điểm mà mình nhận thấy đến nay chỉ là font Unicode)
Mình nghỉ các pro nên khuấy động phong trào hơn nữa và có những phản hồi nhanh hơn.
Thanks

ham_vui1973
03-07-2008, 08:38
ủng hộ lập topic foxpro
foxpro + sqlserver lập trình ứng dụng csdl số 1

lovefoxsql
07-07-2008, 15:21
Lâu wá không ai mở hàng để tui mở hàng thử xem nhé !
Các pro có ai biết Component nào xịn để gửi Send Mail trong VFP không ?
Hiện tui đang dùng của Chilkat, dùng gửi thì OK nhưng 30-day trial thôi !

TrinhMD2
08-07-2008, 21:17
Các huynh nào hướng dẫn giúp đoạn code sử dụng giao diện tiếng Việt cho ứng dụng của VFP (ver 7.0). Nó không hổ trợ Unicode nên không thể hiển thị giao diện đúng được. Hiện nay phải chỉnh lại properties của desktop cực lắm.

lovefoxsql
09-07-2008, 12:58
Bạn dùng đoạn code này thử nhé, sửa Font theo font của bạn dùng.
Chúc thành công!

LOCAL _FontName, _LcBuff

DECLARE INTEGER SystemParametersInfo IN USER32 Integer uAction, Integer uParam, String @lpvParam, Integer fuWinIni

SPI_GETICONTITLELOGFONT = 31
SPI_SETICONTITLELOGFONT = 34
SPI_GETNONCLIENTMETRICS = 41
SPI_SETNONCLIENTMETRICS = 42

****** Set Destop font
_LcBuff = CHR(MOD(340, 256))+CHR(INT((1.328125)))+CHR(0)+CHR(0)+REPLICATE (CHR(0), 336)
SystemParametersInfo(SPI_GETNONCLIENTMETRICS, LEN(_LcBuff), @_LcBuff, 0)

_LcCaption = 53
_LcsmCaption = 121
_LcMenu = 189
_LcStatus = 249
_LcMessage = 309
_FontName = "MS Sans Serif"
_LcBuff = STUFF(_LcBuff, _LcCaption, LEN(_FontName)+1, _FontName+CHR(0))
_LcBuff = STUFF(_LcBuff, _LcsmCaption, LEN(_FontName)+1, _FontName+CHR(0))
_LcBuff = STUFF(_LcBuff, _LcMenu, LEN(_FontName)+1, _FontName+CHR(0))
_LcBuff = STUFF(_LcBuff, _LcStatus, LEN(_FontName)+1, _FontName+CHR(0))
_LcBuff = STUFF(_LcBuff, _LcMessage, LEN(_FontName)+1, _FontName+CHR(0))

****** Set value and save update. (fuWinIni=0 : set and not save update)
SystemParametersInfo(SPI_SETNONCLIENTMETRICS, LEN(_LcBuff), @_LcBuff, 1)

minhtanvn2004
15-07-2008, 05:39
Mình ủng hộ việc lập CLB VFP.
Ai có khả năng kêu gọi, tập hợp các mem của VFP xin đứng ra chủ trì.

Mình ở TP.HCM
mail liên lạc : minhtanvn2004@gmail.com

manhtungtnk28
19-07-2008, 08:01
chào bạn. mình là 1 thành viên của ddth. mình vào diễn đàng và đọc được bài viết của bạn và biết là bạn là chuyên gia và FoxPro. bạn có tài liệu gì hay bài viết gì nói về việc chuyển đổi csdl từ foxpro sang access không chỉ cho mình với. bạn có thể gởi mail cho mình. Cám ơn bạn trước nhé : manhtungtnk28@gmail.com

thiempysc
07-08-2008, 10:43
cac pas nao biet cach tuy xuat file .mdf tu vfp khong? chi minh voi
email : thiempysc@gmail.com
hoac chuyen mdf sang dbf ?

work_on2006
07-08-2008, 23:13
Mình có 1 form trong phần mềm Fast2006 ,khi thêm 1 dòng chữ vào trên form,thì lúc chạy lại phần mềm Fast,thì form đó không chạy được nữa.Cao thủ fox xin chỉ dùm với..

three_xi
13-08-2008, 17:23
Ai biết chỉ giùm:
Không biết trong foxpro, có thể tạo nhãn (label) trên form bằng câu lệnh được không? (Giống như tạo bảng bằng câu lệnh: 'creat table'. Xin cảm ơn

tayngangvfp
15-08-2008, 08:11
Chào bạn. Để thêm label vào form, bạn có thể tham khảo code sau

thisform.AddObject("Mylabel","Label")
thisform.Mylabel.Visible=.T.
thisform.Mylabel.left=10
thisform.Mylabel.top=10
thisform.Mylabel.Caption="Helooooooo"


Chúc thành công

tvthuong
19-08-2008, 08:26
Nên giải tán đi, bây giờ VF ai còn dùng nữa.

Đừng nói thế chứ, cái cày có hiệu quả hay không là do người dùng !

[=========> Bổ sung bài viết <=========]


Nên giải tán đi, bây giờ VF ai còn dùng nữa.

Đừng nói thế chứ, cái cày có hiệu quả hay không là do người dùng !

[=========> Bổ sung bài viết <=========]

Ngôn ngữ FOX hay tuyệt, phát huy nó hay hay dở là do người viết thôi !

[=========> Bổ sung bài viết <=========]

Các bạn nào có tài liệu về FOX VISUAL ( Phiên bản nào cũng được ) hay Share cho mình với.

[=========> Bổ sung bài viết <=========]

Thật là buồn khi nội dung VF này quá ít thành viên học tập !

three_xi
22-08-2008, 12:17
Chào bạn. Để thêm label vào form, bạn có thể tham khảo code sau

thisform.AddObject("Mylabel","Label")
thisform.Mylabel.Visible=.T.
thisform.Mylabel.left=10
thisform.Mylabel.top=10
thisform.Mylabel.Caption="Helooooooo"


Chúc thành công

Tôi làm được rồi. Cảm ơn bạn nhá.

[=========> Bổ sung bài viết <=========]

Xin hỏi thêm:
Tôi đang dùng vfp6.0, không biết vì sao "Microsoft visual foxpro help topics" lại mờ đi không thể tra cứu được. Ai biết chỉ giùm. Xin cảm ơn

manhth.me
23-08-2008, 21:04
Mình dùng fox từ thời for DOS, vì công việc kiếm ăn nên không theo được các version fox for wind được. Nay vì ham thích muốn học lại VFP mà thấy ít tài liệu quá. Rất mong mở rộng forum này. Ai có tài liệu nào về giải thích lệnh và hàm thì post cho mình xin. Cám ơn!

[=========> Bổ sung bài viết <=========]

Mình mới thử VFP 9.0 mà không tương thich font UNICODE. Nếu vậy thì thiêt thòi cho các fan của VFP quá. Có ai biết làm sao dùng font Unicode được chỉ giùm.

lovefoxsql
26-08-2008, 13:25
Tôi làm được rồi. Cảm ơn bạn nhá.

[=========> Bổ sung bài viết <=========]

Xin hỏi thêm:
Tôi đang dùng vfp6.0, không biết vì sao "Microsoft visual foxpro help topics" lại mờ đi không thể tra cứu được. Ai biết chỉ giùm. Xin cảm ơn

VFP6.0 nằm trong bộ Visual Studio 98, do đó muốn đọc Help của VFP6 bạn phải cài bộ MSDN của VS98 (Bộ này cài cũng hơi nặng do Help cho cả bộ VS98).

[=========> Bổ sung bài viết <=========]


Mình dùng fox từ thời for DOS, vì công việc kiếm ăn nên không theo được các version fox for wind được. Nay vì ham thích muốn học lại VFP mà thấy ít tài liệu quá. Rất mong mở rộng forum này. Ai có tài liệu nào về giải thích lệnh và hàm thì post cho mình xin. Cám ơn!

[=========> Bổ sung bài viết <=========]

Mình mới thử VFP 9.0 mà không tương thich font UNICODE. Nếu vậy thì thiêt thòi cho các fan của VFP quá. Có ai biết làm sao dùng font Unicode được chỉ giùm.

Hi,
Mình trước đây cũng chỉ học FoxBase, nhưng sau đó do mình làm nghề này nên theo từ 3.0 => 5.0 => 6.0 => 9.0

Mình tự học là chủ yếu. Tài liệu thì mình chỉ ôm mỗi HELP ONLINE và Sample của VFP.

Theo mình, bạn mới làm quen Visual Fox, bạn nên cài VFP5. Trong bộ này có đủ Help, Sample và cài rất nhẹ nhàng. Nó là bước chuyển tiếp từ FoxDOS => Visual.

Sau khi làm VF5 bạn tìm hiểu VF6, VF9 những cái khác biệt thôi chứ nó cũng giống nhau hà.

Visualfox cho đến Version 9.0 chưa hỗ trợ được UNI-CODE ==> Đây là nhược điểm lớn nhất của FOX mà mình thấy.

Chúc bạn thành công

manhth.me
26-08-2008, 22:43
Rất cám ơn bạn. Nếu không hỗ trợ UNICODE thì mình chưa dùng được, vì cơ quan có quy định thống nhất sử dụng font Unicode!
Có cách nào yêu cầu microsoft bổ xung để hỗ trợ font unicode không nhỉ, các anh tài là fan của VFP thử xem.

conghvh
06-09-2008, 09:45
Nho cac Anh chi giup doan code lenh trong Visual Foxpro de truy cap Bang.mdb va Chuyen Bang.mdb sang thanh Bang.dbf. Xin cam on that nhieu !

tayngangvfp
06-09-2008, 16:34
Hi, Bạn thử code sau xem sao

************************************************** ************************************
loKetNoi=CREATEOBJECT("ADODB.connection")
loRecordSet=CREATEOBJECT("ADODB.RecordSet")

tTenFile_MDB="Data Source=C:\TenFile_MDB.mdb;"


lcString="Provider=Microsoft.Jet.OLEDB.4.0;"+;
tTenFile_MDB+;
"Persist Security Info=False;" +;
"Jet OLEDB: Database Password=''"

loKetNoi.open(lcString)
adSchemaTables = 20
IF loKetNoi.State=1
loRecordSet = loKetNoi.OpenSchema(adSchemaTables)
CLEAR
Do WHILE ! loRecordSet.EOF
tTenTable=ALLTRIM(loRecordSet.Fields.Item("TABLE_NAME").value)
tKieu=ALLTRIM(loRecordSet.Fields.Item("TABLE_TYPE").value)

IF tKieu="TABLE"
?tTenTable
strSQL = "SELECT * INTO [dBase IV;DATABASE= c:\]."+tTenTable+"_1" +" FROM "+ tTenTable
loKetNoi.Execute(strSQL)
ENDIF

loRecordSet.MoveNext
ENDDO

*Dong ket noi
loRecordSet.Close
loKetNoi.Close
ELSE
MESSAGEBOX("Khong ket noi duoc")
ENDIF
RETURN

************************************************** ***********
Chúc thành công

onglao_danhca
08-09-2008, 09:48
Cách xuất Report tu visua FoxPro7.0 ra excel

Viết một thủ tục và chỉ cần dùng 1 lệnh
copy x.dbf to y.xls type xls

tayngangvfp
08-09-2008, 13:33
Cách xuất Report tu visua FoxPro7.0 ra excel

Viết một thủ tục và chỉ cần dùng 1 lệnh
copy x.dbf to y.xls type xls


"..xuất Report tu visua FoxPro7.0 ra excel..." : Cách này được không vậy?!!!!!!!!!!

lovefoxsql
09-09-2008, 13:32
Bạn Search trên NET có nhiều Tools export data từ Report VFP ra Excel, mỗi cái nó cái hay riêng nhưng mình chưa thấy ưng ý lắm (các report phức tạp thì nó ra loạn xạ)

bjtin1
18-09-2008, 23:29
mình đang cần tài liệu về visual fox pro 8 ai có post lên giúp mình hoặc gởi qua e mail:linh_hg231089@yahoo.com
thanks

alone_night
21-09-2008, 20:31
ủng hộ lập topic foxpro
foxpro + sqlserver lập trình ứng dụng csdl số 1

ok
.................................................. .....................

fanvsf
01-10-2008, 16:21
Xin chào tất cả mọi người, mình rất thích lập trình Foxpro và chỉ học qua hepl và một số sách hướng dẫn, do đó trình độ còn kém lắm, rất mong mọi người chỉ dẫn giúp. Xin cảm ơn trước
Mình có một vướng mắc : Mình muốn chia sẻ một database cho một số máy trong cơ quan dùng chung dữ liệu nhưng không thể nào share được. Ai biết về vấn đề này thì chỉ giúp cho, Xin cảm ơn nhiều

tayngangvfp
02-10-2008, 09:42
Chào fanvsf
Để dùng chung dữ liệu của VFP trên mạng nội bộ, bạn nên share folder chứa dữ liệu đó. Các máy khác sẽ tham chiếu (=map folder network, ....) để sử dụng.

Chúc thành công.

fanvsf
02-10-2008, 16:34
Chào fanvsf
Để dùng chung dữ liệu của VFP trên mạng nội bộ, bạn nên share folder chứa dữ liệu đó. Các máy khác sẽ tham chiếu (=map folder network, ....) để sử dụng.

Chúc thành công.
Cám ơn tayngangvfp, mình sẽ thử, nếu có gì trục trặc thì sẽ hỏi tiếp nhé

dtluyen
05-10-2008, 13:29
Các bạn cho mình hỏi, để khắc phục việc dùng chung dữ liệu bị mắc giữa các máy trong mạng của foxpro for windows, có thể chuyển sang VPF không? cách chuyển thế nào vì giao diện thấy khác nhau mà? Mình đang dùng 1 phần mềm quản lý sx nhưng có nhiều mảng khác nhau, dữ liệu cũng chung nhau, nhưng khi máy này mở thì máy khác chịu.

tayngangvfp
06-10-2008, 08:29
Các bạn cho mình hỏi, để khắc phục việc dùng chung dữ liệu bị mắc giữa các máy trong mạng của foxpro for windows, có thể chuyển sang VPF không? cách chuyển thế nào vì giao diện thấy khác nhau mà? Mình đang dùng 1 phần mềm quản lý sx nhưng có nhiều mảng khác nhau, dữ liệu cũng chung nhau, nhưng khi máy này mở thì máy khác chịu.

Vấn đề không phải là dùng Foxpro for wind hay Visual Foxpro mà là do cách viết chương trình! Có thể c/t bạn đang sử dụng được viết cho máy đơn, nên khi sử dụng cho mạng (nhiều người dùng đồng thời) thì bị như vậy.

Vì vậy cách giải quyết tốt nhất là phải sửa lại c/t. Chứ chuyển sang VFP cũng không làm được gì được đâu.

Chúc thành công.

alone_night
10-10-2008, 09:01
Tôi thì tưởng VF đã bị MS đóng đinh rùi cơ :)

MS mà đóng đinh VF (mà đã công bố rùi) khi nào hết hỗ trợ tui sẽ chuyển sang linux

lovefoxsql
10-10-2008, 15:07
Các bạn cho mình hỏi, để khắc phục việc dùng chung dữ liệu bị mắc giữa các máy trong mạng của foxpro for windows, có thể chuyển sang VPF không? cách chuyển thế nào vì giao diện thấy khác nhau mà? Mình đang dùng 1 phần mềm quản lý sx nhưng có nhiều mảng khác nhau, dữ liệu cũng chung nhau, nhưng khi máy này mở thì máy khác chịu.

Foxpro nào thì cũng vậy cả khi sử dụng trong môi trường mạng => phải mở file dưới dạng share
Bạn sử dụng lệnh USE phải chú ý đến tham số EXCLUSIVE Hoặc lệnh SET EXCLUSIVE ON/OFF cho phù hợp.

Ngoài ra các lệnh sau không được dùng ở chế độ Share MODIFY STRUCTURE, PACK, REINDEX, and ZAP.

MoonDragon
12-10-2008, 22:12
TAYNGANGVFP ơi! Bác ở đâu vậy?. Cho tui học một chút nghề của bác được không? Tui cũng đã viết chương trình Foxpro for windows để sử dụng nhưng khi thử nghiên cứu với VF thì rối tùm lum..Nếu được bác nhắn tui một tiếng nhé (gdythue@gmail.com)

tayngangvfp
13-10-2008, 07:44
TAYNGANGVFP ơi! Bác ở đâu vậy?. Cho tui học một chút nghề của bác được không? Tui cũng đã viết chương trình Foxpro for windows để sử dụng nhưng khi thử nghiên cứu với VF thì rối tùm lum..Nếu được bác nhắn tui một tiếng nhé (gdythue@gmail.com)

Chào bạn
Mình cũng chỉ là người yêu thích "chú cáo" thôi, chứ không có "nghề" gì đâu!
Mình cũng chỉ học hỏi lẫn nhau giữa các thành viên của 4rum.
Nếu bạn quan tâm, có thể trao đổi với mình qua YM! : tayngangvfp@yahoo.com.vn

Chúc thành công

protoss302
14-10-2008, 13:15
Các bác cho em hỏi?em đang tạo một form print gần giống như cái form print trong Microsoft word/file/print.. trong phần print/name thì cái combo box của họ nhâạ được danh sach cac may in trong hệ thống.em muốn hỏi làm sao để làm đcj như vậy?em xin cảm ơn!

tayngangvfp
15-10-2008, 07:37
Hi
Giả sử bạn có 1 form trong đó có 1 combobox tên cboDSMayIn
Bạn copy đoạn code sau vào phần init của form.

****************
tSoMayIn=APRINTERS(lcgaPrinters)
tMayInHienTai=SET("Printer",3)
IF tSoMayIn > 0
this.cboDSMayIn.RowSourceType= 1
FOR i=1 TO tSoMayIn
IF LEFT(lcgaPrinters(i,1),2)="\\"
this.cboDSMayIn.AddItem("\\"+lcgaPrinters(i,1))
ELSE
this.cboDSMayIn.AddItem(lcgaPrinters(i,1))
ENDIF
IF UPPER(ALLTRIM(this.cboDSMayIn.ListItem(i)))==UPPER (ALLTRIM(tMayInHienTai))
this.cboDSMayIn.Value=this.cboDSMayIn.ListItem(i)
ENDIF
ENDFOR
ELSE
this.cboDSMayIn.Enabled= .F.
ENDIF
****************

Chúc thành công

protoss302
15-10-2008, 13:57
cám ơn bác nhiều.chạy ngon.còn phần code thì em đang nghiền ngẫn dần.

binhtranghvtc
16-10-2008, 14:05
cac bac oi em dang mon nay.thay giao day chang hiu gi ca.huhu co ai co tai lieu hay hay khong cho em voi.sau em phai viet do an bang VFP ma thay hoc mong lung qua.

lovefoxsql
16-10-2008, 15:04
Các bác cho em hỏi?em đang tạo một form print gần giống như cái form print trong Microsoft word/file/print.. trong phần print/name thì cái combo box của họ nhâạ được danh sach cac may in trong hệ thống.em muốn hỏi làm sao để làm đcj như vậy?em xin cảm ơn!

Mình thì thường dùng cách này :
Trong màn hình Printer của mình chỉ xử lý các vấn đề:
- Option in ra màn hình, máy in, File Excel ...
- Tập tin cần in
- Từ trang ... đến trang
- Số bản copy ...
- Và có 1 Button "Printer Setup" : Khi click vào Button này gọi hàm =SYS(1037).

Bạn tham khảo thêm

[=========> Bổ sung bài viết <=========]


cac bac oi em dang mon nay.thay giao day chang hiu gi ca.huhu co ai co tai lieu hay hay khong cho em voi.sau em phai viet do an bang VFP ma thay hoc mong lung qua.

Nếu bạn mới học thì nên mua bộ sách của ÔNG VĂN THÔNG về đọc. Nó giống cầm tay chỉ việc. Nếu có thắc mắc gì thì hỏi AE 4R. Chứ mình thì chỉ đọc Help online thôi. Hồi đó mình chỉ được học Foxbase thôi àh.

protoss302
16-10-2008, 16:14
cho em hỏi mua sách của ông văn thông này ở đâu có bán vậy à.em ở Hà Nội tìm có thấy đâu.

[=========> Bổ sung bài viết <=========]

[QUOTE=lovefoxsql;1347230]Mình thì thường dùng cách này :
Trong màn hình Printer của mình chỉ xử lý các vấn đề:
- Option in ra màn hình, máy in, File Excel ...
- Tập tin cần in
- Từ trang ... đến trang
- Số bản copy ...
- Và có 1 Button "Printer Setup" : Khi click vào Button này gọi hàm =SYS(1037).

Bạn tham khảo thêm
[color=red]
[=========> Bổ sung bài viết <=========]
hay lắm bác à.mỗi tội em chưa biết mấy cái hàm SYS lắm.mà bác có tài liều về mấy cái này ko ạ.cho em xin với.có bác nào có tài liệu về lập tình VFP cơ bản và nâng cao không ạ.giúp em với.em mới học cái VFP. mà chưa học qua foxpro.nen mấy cái đơn giản còn biết tí chứ lập trình khó khó là mù tịt.mà tìm tài liều thì tìm khó quá.Hình như Microsoft cho cái này die rồi nên ít người quan tâm đến nó hay sao ấy.sách thì ko thấy ai viết mới cả.sách nào cũ thì ko tái bản.có form thì đần cũng die hết.may mà còn ở đây có chứ ko thì.mới học như bon em biết bấu víu vào đâu.

lovefoxsql
18-10-2008, 13:26
cho em hỏi mua sách của ông văn thông này ở đâu có bán vậy à.em ở Hà Nội tìm có thấy đâu.

[=========> Bổ sung bài viết <=========]

[QUOTE=lovefoxsql;1347230]Mình thì thường dùng cách này :
Trong màn hình Printer của mình chỉ xử lý các vấn đề:
- Option in ra màn hình, máy in, File Excel ...
- Tập tin cần in
- Từ trang ... đến trang
- Số bản copy ...
- Và có 1 Button "Printer Setup" : Khi click vào Button này gọi hàm =SYS(1037).

Bạn tham khảo thêm
[color=red]
[=========> Bổ sung bài viết <=========]
hay lắm bác à.mỗi tội em chưa biết mấy cái hàm SYS lắm.mà bác có tài liều về mấy cái này ko ạ.cho em xin với.có bác nào có tài liệu về lập tình VFP cơ bản và nâng cao không ạ.giúp em với.em mới học cái VFP. mà chưa học qua foxpro.nen mấy cái đơn giản còn biết tí chứ lập trình khó khó là mù tịt.mà tìm tài liều thì tìm khó quá.Hình như Microsoft cho cái này die rồi nên ít người quan tâm đến nó hay sao ấy.sách thì ko thấy ai viết mới cả.sách nào cũ thì ko tái bản.có form thì đần cũng die hết.may mà còn ở đây có chứ ko thì.mới học như bon em biết bấu víu vào đâu.

Sao bạn không tìm trong Help online của Fox ? Tất cả những cái này đều có cả.
Bạn đang dùng VFP Version ? Vì từ bảng VFP6 trở lên Help online nó tích hợp chung trong bộ MSDN của MS. Còn Fox 5.0 trở xuống thì nó có File FOXHELP.HLP riêng, bạn chỉ cần vào Double Click file này là tra cứu được. Nếu cần gửi Email mình Send cho.

Các sản phẩm của Cty mình viết đa phần là VFP + SQL Server. Nếu MS cho die thì mình nghỉ làm tin học luôn !!! Bộ Studio .NET vẫn có VFP9 đó thôi !

Mình ở TPHCM nên không biết sách đó ngoài HN có không ???

vietip
18-10-2008, 20:47
Mình cũng rất thích VFP, nhưng không biết VFP 9 có hổ trợ Unicode ko ?

three_xi
23-10-2008, 15:44
Các bác cho em hỏi:
Trước khi em đóng gói chương trình (VFP6.0): thì thực hiện báo cáo số tiền định dạng là: 1.000.000.
Nhưng sau khi đóng gói, thực hiện báo cáo nó lại là: 1,000,000
Em đã thử đổi trong control panel rồi nhưng không trở về dạng 1.000.000 được.
Ai biết giúp em với. Em xin cảm ơn trước

nktkbnn
25-10-2008, 13:58
Các bác cho em hỏi! Trong VFP, khi ta nhập số vào textbox làm thế nào để các số nhập vào nó tự tách! Ví dụ: Ta nhập 1 kết quả là 1, nhập tiếp cho đến số 4 thì kết quả là 1 234, nhập tiếp 5 kết quả là 12 345..... cứ như vậy! Em xin cám ơn trước!

tayngangvfp
25-10-2008, 14:56
Các bác cho em hỏi:
Trước khi em đóng gói chương trình (VFP6.0): thì thực hiện báo cáo số tiền định dạng là: 1.000.000.
Nhưng sau khi đóng gói, thực hiện báo cáo nó lại là: 1,000,000
Em đã thử đổi trong control panel rồi nhưng không trở về dạng 1.000.000 được.
Ai biết giúp em với. Em xin cảm ơn trước

Bạn thử dùng lệnh SET POINT TO "," và SET SEPARATOR TO "." xem sao


Các bác cho em hỏi! Trong VFP, khi ta nhập số vào textbox làm thế nào để các số nhập vào nó tự tách! Ví dụ: Ta nhập 1 kết quả là 1, nhập tiếp cho đến số 4 thì kết quả là 1 234, nhập tiếp 5 kết quả là 12 345..... cứ như vậy! Em xin cám ơn trước!

Bạn muốn khi nhập số sẽ thể hiện như kiểu "máy tính tay" phải không?
Nếu muốn vậy thì bạn phải viết code chứ VFP không có sẵn. Bạn có thể
search trên Google cũng có nhưng class demo cách làm như vậy.

1 vài link để bạn tham khảo

http://www.universalthread.com/Report.aspx?Session=452B42546D536C4F6D65733D20676D 4C2B664B5245504B6F70565A696244676853435A784B64492B 4D54586F57

http://www.universalthread.com/Report.aspx?Session=574F4239583441685A79303D207355 2F382F7A56625A636A2F4D676274304A78485151544D446A66 432F4D4E44

http://www.universalthread.com/Report.aspx?Session=666B7A42393130454734453D205731 435752573469564D58656565397962497138573358577A5849 7155526E41



Chúc thành công

hanthehung
29-10-2008, 09:13
anh oi em moi hoc chuong trinh foxpro na`y
em nghi nhieu wa' nen em hok bit ji ze no het.
anh chi du`m em cach tai chuong trinh foxpro na`y ve may du`m em zoi
zoi chi cho em cach hoc chuong trinh nay lun nhe anh
thanks anh nhieu

[=========> Bổ sung bài viết <=========]

em dang hoc chuong trinh foxpro 9.0 nhe anh
thanks

dgvacu
01-11-2008, 12:14
Chào các bạn mình là mem mới,cho mình giới thiệu về mình tí:
-Không phải dân IT,tuổi U40
-Dân kinh doanh chính hiệu(nhưng lại được đào tạo chuyên nghành khác)
Đặt biệt mê Foxpro, hiện nay để hỗ trợ trong công việc kinh doanh của mình,mình làm vài bảng tính Excel.Các trình tự xuất nhập đó lần lượt như sau:
*sheet hoadonbanhang: Có các cột
mahang stt tenhang dvt soluong dongia thanhtien ghichu
Sau khi bán hàng copy dán mahang,soluong,makhachhang,ngaygiaodich vào sheet chitiethanghoa,điền dữ liệu makhachhang ,sotienmuahang ,sotienthanhtoan,ngaygiaodich vào sheet nhatkybanmuahang, nhập hàng tương tụ như vậy.Trên cơ sở dữ liệu của hai sheet chitiethanghoa, nhatkymuabanhang ta sẽ có số liệu của khách hàng để phục vụ cho lần giao dịch kế tiếp.Và trên dữ liệu của hai sheet đó ta có các sheet khác: doichieucongnokhachhang, chitietgiaonhanmoikhachhang, chitietgiaotrongngay, chitietmoimathang....mà trong đó mỗi sheet liệt kê chi tiết mà nó đảm nhiệm ,ví dụ sheet doichieucongnokhachhang có nhiệm vụ liệt kê tất cả những lần giao dịch của khách hàng đó khi ta gõ mã khách hàng đó vào ô đã định sẵn(Mình hơi dài dòng vì mình muốn các bạn hiểu rõ công việc mình định làm).
Trong quá trình sử dụng có một số nhược điểm của Excel sau(mà VF sẽ khắc phục được):
-Phải thuộc lòng mahang,makhachhang mà nếu quên phải lật trong các sheet khác để tìm.Trong khi đó VF sẽ gợi ý nhớ bằng các menu sổ xuống.
-Phải cóp dán từng cột,điền từng số liệu vào các sheet lưu trữ(chưa kể vào sai dữ liệu) trong khi đó VF chỉ cần nhấn một nút lưu bằng chuột số liệu ko sai sót.
-Các hàm E ko linh hoạt như các lệnh VF ví dụ Vloopkup với Locate,các dòng của sheet đều phải ở trong trạng thái thiết lập công thức sẵn nên chiếm rất nhiều tài nguyên máy.
Tóm lại thao tác chậm và rất mất công.
Mình dự định chuyển qua VF đã làm được phần mở đầu:
Các file để dữ liêu DBF gồm :
banggia,dmhanghoa,dmkhachhang,nhatkybanhang...Mìn h muốn khi từ cửa sổ chính nhấn vào bán hàng sẽ thể hiện report như một hóa đơn bán hàng,in ra,và lưu (sl hàng hóa,tổng tiền hd,thanh toán đợt này vào các file dbf tương ứng...) chỉ một nút nhấn bằng chuột.Nhưng làm một report mình chưa có kinh nghiệm.Các prg mình viết chỉ toàn bằng các lệnh thông thường(mình tự tìm tòi nên kiến thức chắp nhặt,không hệ thống...ra hồn ra vía gì cả-excel cũng vậy).
Mình mong muốn nếu các bạn có vài cách làm report mẫu gửi cho mình với đẻ học hỏi và áp dụng.Rất mong sự giúp đỡ của các bạn.Thân Email:dgvacu@yahoo.com

vitxinh85
07-11-2008, 13:28
các bác ui cho em hỏi: em đang làm một bài tập quản lý nhập xuất vật tư gồm 4 bảng:danhmucvt,makho,doituong,phieunx. em phải làm form nhập dữ liệu cho 4 bảng này và đã thiết lập quan hệ bền vững giữa các bảng. các khóa chính là mavt(danhmucvt),makho(bang makho), madt(doituong),sophieu(phieunx). trong bảng phieunx thì các khóa ngoài là mavt, makho, madt. khi thiết kế form nhập vào 4 bảng này thì 3 bảng danhmucvt, makho, doituong đều ổn but bảng phieunx lại ko dc và bị báo lỗi là uniqueness of index sophieu is violated. em không bít làm cách nào để khắc phục lỗi này. kính mong các bác ju'p đỡ....

alone_night
08-11-2008, 10:15
các bác ui cho em hỏi: em đang làm một bài tập quản lý nhập xuất vật tư gồm 4 bảng:danhmucvt,makho,doituong,phieunx. em phải làm form nhập dữ liệu cho 4 bảng này và đã thiết lập quan hệ bền vững giữa các bảng. các khóa chính là mavt(danhmucvt),makho(bang makho), madt(doituong),sophieu(phieunx). trong bảng phieunx thì các khóa ngoài là mavt, makho, madt. khi thiết kế form nhập vào 4 bảng này thì 3 bảng danhmucvt, makho, doituong đều ổn but bảng phieunx lại ko dc và bị báo lỗi là uniqueness of index sophieu is violated. em không bít làm cách nào để khắc phục lỗi này. kính mong các bác ju'p đỡ....

Một trong các bảng danhmucvt,makho,doituong có khóa là không duy nhất

ngoisaochieu04
09-11-2008, 23:43
Chào các bác. Có bác nào biết cách thay đổi Icon trong Visual Foxro không giúp em với. mình dịch ra file .EXE rồi, nhưng mình không thích con cáo làm icon tẹo nào, mình muốn thay bằng icon theo ý mình. các bác giúp em nhanh với nhe

ChungITT
10-11-2008, 13:15
Nếu là form do bạn thiết kế thì thay đổi thuộc tính Icon của form đó, chỉ tới đường dẫn của file .ico.
Nếu là màn hình chính của VFP thì dùng lệnh _SCREEN.Icon = <Đường dẫn tới file .Ico>

tungvv
11-11-2008, 16:04
Để thay đổi icon thì quá đơn giản, bạn dùng PM : Resource Hacker, ko cần cài đặt, chọn file EXE cần thay đổi icon --> Click phím phải chuột vào mục Icon--> chọn Repla ...icon. Có thể brow file chứa icon nguồn bất kỳ có dang *.exe,*.icon, *.dll..v.v. Bạn tải PM về tại đây : http://quangbinh-izs.gov.vn/tung/Resource_Hacker.zip. Điều kiện là file exe chưa bị bank.
nếu chưa rỏ thì YM cho tôi: tungpetroqb
Nhân đây tôi muốn hỏi bạn và mọi người, trong VFP muốn kiểm tra xem một file chương trình đang mở hay đang đóng thì dùng hàm gì( lưu ý là file chương trình *.prg or *.Fxp, ko phải là file *.dbf đâu nhé, nếu là Ktra file *.dbf thì đã có hàm USED([tenfile]) rồi.

tuan_tvkg
12-11-2008, 15:49
nOpen = FOPEN(Filename)
If nOpen < 0
=Messagebox("File dang mo")
Endif
=Fclose(nOpen)

tungvv
13-11-2008, 15:15
Cám ơn tuan_tvkg đã giúp đỡ, tuy nhiên tôi đã thử nhưng thấy hàm luôn cho là giá trị -1, đã ghi đúng tên file rồi nhưng nó vẫn cứ cho là giá trị -1, kế cả trong trường hợp file đó đang đóng, bạn kiểm tra lại giúp mình với nhé, thanks. Cụ thể công việc của tôi như sau

Tôi có file chuong trình p.prg( hoặc FXP)
+ nếu file "P.prg" đang mỡ thì thực hiện các công việc A
+ Nếu file "P. prg" đang đóng thì thi hành file "P.prg"
Bạn giúp tôi nhé
Thanks

tuan_tvkg
13-11-2008, 15:42
nOpen = FOPEN("D:\P.Prg")
If nOpen > 0 &&File dang dong
=Fclose(nOpen)
Do "D:\P.Prg"
Else
&&Thuc hien cong viec A
Endif

tungvv
14-11-2008, 08:00
OK ! tôi thiếu dấu " " nên Ctrình ko chạy được. Thanks tuan_tvkg nhé

tungvv
17-11-2008, 07:51
Trong Visua FOX7, tôi muốn thiết lập một thủ tục sử dụng lệnh Pkzip để thực hiện các công việc :
+Nén một thư mục nguồn là "Path+[TEN_TMUC]" đến một file đích có địa chỉ tùy chọn nhập vào từ bàn phím ( hoặc lựa chọn từ cửa sổ Browse).
+Giải nén một file *.zip tại địa chỉ nhập vào từ bàn phím ( hoặc lựa chọn từ cửa sổ Browse) đến một thư mục cố định là: "Path+[TEN_TMUC]"( Giống thư mục nguồn đã nén).
Khi nén và giải nén dữ liệu đều phải giữ nguyên cấu trúc các thư mục con, nếu có bổ sung các cấp độ nén thì tuyệt .
Rất cần thiết, mọi người giúp tôi với nhé, cảm ơn nhiều !

dinhanhency
17-11-2008, 15:55
Hôm nay lạc vào đây, cũng đang vướng vài cái chưa làm được, ghé qua vài nơi chưa có giải đáp. Đánh giá là khó. Mình cần tạo 1 project có chứa 1 Procedure và 1 form. Biên dịch ra Dll sau đó sử dụng ở một Program khác, Cách thức nhu sau:
Procedure nhận các parametters truyền vào hoặc không, trong procedure gọi form để nhận điều kiện lọc(Nếu parametter của procedure có thì cũng lấy làm default value trên form này mà thôi) sau đó thực hiện một vài truy vấn theo điều kiện lọc trên form.

Ở program khác gọi như sau
obj = CreateObject("MyDll.MyClass")
obj.RunProcedure(Parametter,,)
release obj.


Mong mọi người cùng thảo luận.

Thanks.

[=========> Bổ sung bài viết <=========]


Để thay đổi icon thì quá đơn giản, bạn dùng PM : Resource Hacker, ko cần cài đặt, chọn file EXE cần thay đổi icon --> Click phím phải chuột vào mục Icon--> chọn Repla ...icon. Có thể brow file chứa icon nguồn bất kỳ có dang *.exe,*.icon, *.dll..v.v. Bạn tải PM về tại đây : http://quangbinh-izs.gov.vn/tung/Resource_Hacker.zip. Điều kiện là file exe chưa bị bank.
nếu chưa rỏ thì YM cho tôi: tungpetroqb
Nhân đây tôi muốn hỏi bạn và mọi người, trong VFP muốn kiểm tra xem một file chương trình đang mở hay đang đóng thì dùng hàm gì( lưu ý là file chương trình *.prg or *.Fxp, ko phải là file *.dbf đâu nhé, nếu là Ktra file *.dbf thì đã có hàm USED([tenfile]) rồi.

Như thế này là dùng chương trình khác can thiệp vào rồi. Trong bản thân foxpro đã làm được việc đó, không cần dùng chương trình khác.

tayngangvfp
17-11-2008, 16:06
Trong Visua FOX7, tôi muốn thiết lập một thủ tục sử dụng lệnh Pkzip để thực hiện các công việc :
+Nén một thư mục nguồn là "Path+[TEN_TMUC]" đến một file đích có địa chỉ tùy chọn nhập vào từ bàn phím ( hoặc lựa chọn từ cửa sổ Browse).
+Giải nén một file *.zip tại địa chỉ nhập vào từ bàn phím ( hoặc lựa chọn từ cửa sổ Browse) đến một thư mục cố định là: "Path+[TEN_TMUC]"( Giống thư mục nguồn đã nén).
Khi nén và giải nén dữ liệu đều phải giữ nguyên cấu trúc các thư mục con, nếu có bổ sung các cấp độ nén thì tuyệt .
Rất cần thiết, mọi người giúp tôi với nhé, cảm ơn nhiều !

Nếu bạn muốn tạo c/t backup dữ liệu = cách nén thì có thể tham khảo các link sau.

http://www.sweetpotatosoftware.com/SPSBlog/PermaLink,guid,07ed8874-8781-4e76-878b-92b3f4cfc8b3.aspx

http://www.sweetpotatosoftware.com/SPSBlog/PermaLink,guid,44d8bab2-fe4b-4c97-982e-09c10480a962.aspx


=============

To dinhanhency
Bạn nói rõ 1 chút, mình chưa hiểu ý bạn ?


Chúc thành công

tungvv
17-11-2008, 20:05
Tôi đã xem 2 link mà bạn giới thiệu, tôi kém tiếng anh lắm nhưng cũng hiểu sơ sơ cách thực hiện các thủ tục để nén và giải nén dữ liệu, tuy nhiên nó chỉ hướng dẫn một cách rời rạc và phức tạp quá, mà tôi thì ko giỏi lắm về lập trình fox, có cách nào giúp tôi rỏ hơn một chút nữa ko? Tôi thấy người ta hay sử dụng Pkzip để thực hiện công việc này, tuy nhiên chế độ dòng lệnh của pkzip tôi search mãi trên net mà ko thấy hướng dẫn đâu cả . giúp tôi với nhé, thanks.

[=========> Bổ sung bài viết <=========]

To dinhanhency: Vì bạn ấy bảo đã dịch thành *.exe rồi thì chỉ dùng phần mềm khác để can thiệp chứ sao nữa, còn nếu đã có file nguồn Project thì sư xdụng nagy bản thân fox mà làm, đã có bạn ChungITT hướng dẫn rồi.

tayngangvfp
18-11-2008, 08:21
Tôi đã xem 2 link mà bạn giới thiệu, tôi kém tiếng anh lắm nhưng cũng hiểu sơ sơ cách thực hiện các thủ tục để nén và giải nén dữ liệu, tuy nhiên nó chỉ hướng dẫn một cách rời rạc và phức tạp quá, mà tôi thì ko giỏi lắm về lập trình fox, có cách nào giúp tôi rỏ hơn một chút nữa ko? Tôi thấy người ta hay sử dụng Pkzip để thực hiện công việc này, tuy nhiên chế độ dòng lệnh của pkzip tôi search mãi trên net mà ko thấy hướng dẫn đâu cả . giúp tôi với nhé, thanks.


C/t mình viết để bakup hơi dài (vì có form) để có thể đưa code lên đây. Bạn liên hệ nick tayngangvfp mình sẽ gửi để bạn tham khảo.

Chúc thành công

Tosiro
26-11-2008, 21:29
Chào các bạn. Mình có 1 Project và muốn xuất ra file exe để chạy đọc lập với VFP.
Nhưng khi build ra rồi, kick vào file exe vừa build ra thì ko thấy j cả. Vào Task Manager/processes thì vẫn thấy file exe đó đang chạy.
Các bạn giúp mình với

tungvv
28-11-2008, 10:32
Thông thường 1 Project hoàn chỉnh sẽ bao gồm đầy đủ các thành phần : Progs, Form, repor, Menu...v.v. Nếu bạn chỉ build độc lập một file chương trình *.prg nào đó thôi thì để khỏi phải liên quan đến các liên kết các, bạn copy 1 file *.FXP của nó ra một thư mục khác và add nó vào mục Program của Project và build, nếu có báo lổi vì không tìm thấy các liên kết khác thì bỏ qua tất cả. Khi đã có file *.exe rồi, bạn trả nó về địa chỉ củ để thi hành, tất nhiên phải có kèm theo các file vfp*r.dll ; VFP*RENU.DLL nằm trên cùng một thư mục với file *.exe của bạn thì nó mới chạy được. ( dấu *) là chỉ phiên bản của Foxpro)
------------------------------------------------------
Bạn nào có code kết xuất từ dbf sang xls(có định dạng xls theo mẫu báo cáo) thì giúp tôi với, hoặc hướng dẫn cho tôi cách tạo thủ tục này với !, tôi đang rất cần, mong được giúp đỡ .

tayngangvfp
29-11-2008, 10:11
...
Bạn nào có code kết xuất từ dbf sang xls(có định dạng xls theo mẫu báo cáo) thì giúp tôi với, hoặc hướng dẫn cho tôi cách tạo thủ tục này với !, tôi đang rất cần, mong được giúp đỡ .

Hiện nay vấn đề kết xuất dbf -> excel được khá nhiều bạn quan tâm. Vì có thể là để kết hợp được c/t HTKKT.

Tôi có làm 1 ví dụ về vấn đề này. Các bạn có thể tại về tại:

http://www.megaupload.com/?d=SPWKJ7TK

Chúc thành công

tungvv
30-11-2008, 17:10
Thanks bạn đã giúp tôi 1 việc mà lâu nay tôi đang bí.
Dựa vào form dbf2xsl của bạn, tôi đã tạo lập được 2 Func[ Ban_ra() & Mua_vao()] để kết xuất dữ liệu ra hệ thống HTKK Thuế 1.3.1 của TCT, 2 Func này được lưu vào thư viện thủ tục là *.prg được khai báo lúc khởi động chương trình. hai Func trên được gọi với cú pháp : Mua_vao(cTen_bcao, cTen_table) hoặc Ban_ra(...)
Kết hợp với 1 số biến trong chương trình, tôi đã hoàn thành và kết xuất ra đúng theo mẫu của bạn.
Tuy nhiên, tôi chưa xuất được font TCVN sang Font Unicode. Trong Form của bạn có chuyển từ VNI sang Uni nhưng tôi ko dùng form nên ko thực hiện được, mặt khác file nguồn dbf của tôi sử dụng font TCVN(.VnTime...v.v)nên ko biết fải dùng lệnh như thế nào.
Tôi có gửi cho bạn kèm theo 2 Func ở đây : http://www.quangbinh-izs.gov.vn/tung/HTKK_Thue.zip
Bạn xem lại và làm ơn giúp tôi thêm cái thủ tục Dịch các trường có font TCVN sang UNICODE với nhé. Hoặc hướng dẫn cho tôi làm cũng được.
Tôi nghỉ là có thể bổ sung thêm một hàm thủ tục Doi_font() nửa nhưng ko biết phải viết hàm đó như thế nào .
Bạn đã giúp thì giúp cho trọn luôn nhé, Cảm ơn trước !.
Chúc vui vẽ và gặp nhiều điều may mắn.

tayngangvfp
01-12-2008, 10:36
.... thêm cái thủ tục Dịch các trường có font TCVN sang UNICODE với nhé. Hoặc hướng dẫn cho tôi làm cũng được.
Tôi nghỉ là có thể bổ sung thêm một hàm thủ tục Doi_font() nửa nhưng ko biết phải viết hàm đó như thế nào .
Bạn đã giúp thì giúp cho trọn luôn nhé, Cảm ơn trước !.
Chúc vui vẽ và gặp nhiều điều may mắn.

Vấn đề chuyển đổi giữa các loại Font = VFP cũng đã được bàn luận ở trong các chủ để trước đây. Việc dùng VFP để chuyển thì tốc độ không được nhanh như các PM chuyển đổi phổ biến. Tuy nhiên có còn hơn không, và quan trọng là chủ động được trong c/t của mình !!!

Tôi có viết 1 class ví dụ về việc này. Nhưng không hiểu sao không up lên Megaupload được !
Vậy bạn nào có nhu cầu, để lại địa chỉ email để mình gửi.

Chúc thành công.

tungvv
01-12-2008, 11:35
Tôi có viết 1 class ví dụ về việc này. Nhưng không hiểu sao không up lên Megaupload được !
Vậy bạn nào có nhu cầu, để lại địa chỉ email để mình gửi.

Chúc thành công.

Bạn gửi cho tôi với : Email : tungvv@gmail.com
Hỏi thêm bạn một chút: Khi đã kết xuất và khởi động Excel , có lúc chương trình EXcel ko cho lưu lại ( chỉ có save as )và mặc dầu đã thoát chương trình Excel và cả C/T kế toán nhưng nó vẫn báo là file vat_daura....xls đã bị mở để sửa chữa, ko cho phép mở nữa là sao ?. Có phải là do đoạn CT sau cùng của lệnh Fox chưa hoàn thiện hay ko.
Mấy dòng lệnh sau cùng của Func là như thế này :
------------------------
...&& các lệnh kết chuyển dữ nhập dữ liệu vào file *.xls
Oleapp.Visible= .T.
oleapp=null
RETURN.
--------------------------
Có cần phải thêm lệnh để đóng ứng dụng nữa ko ?

Thanks

tayngangvfp
01-12-2008, 13:28
....Khi đã kết xuất và khởi động Excel , có lúc chương trình EXcel ko cho lưu lại ( chỉ có save as )....



Tôi đã gửi, bạn dùng thử xem sao.

Theo mình nghĩ, c/t báo như thế là do File Excel đang mở! Thường là do c/t chạy bị lỗi trước khi lệnh "Oleapp.Visible= .T." được thực hiện.
Để kiểm tra, bạn có thể nhấn Ctrl+Alt+Del để mở Task Manager xem Excel có đang chạy hay không? Nếu có hãy "End Process" nó là xong.

Để khắc phục điều này, bạn viết thêm code để xử lý mỗi khi c/t bị lỗi thì sẽ thực hiện "Oleapp.Visible= .T."

Chúc thành công

tungvv
06-12-2008, 21:18
Ai biết trả lời tôi với nhé :
Trong các phiên bản Visual Fox Version < 9, có sử dụng lệnh: Group By
VD:
...
use File1.dbf
SELECT * Group By MA_TK, MA_KH INTO TABLE c:\luu\File1.dbf
...

Nhưng đoạn code đó sang version 9 thì nó báo lổi là "SQL Group By clause is missing .."
tức là nó ko nhận biết câu lệnh.
Phải chuyển đổi nó như thế nào để sử dụng đúng chức năng của Group By ở VFP9 ?

LLQ
07-12-2008, 15:41
Hiện nay vấn đề kết xuất dbf -> excel được khá nhiều bạn quan tâm. Vì có thể là để kết hợp được c/t HTKKT.

Tôi có làm 1 ví dụ về vấn đề này. Các bạn có thể tại về tại:

http://www.megaupload.com/?d=SPWKJ7TK

Chúc thành công
Cái vụ chuyển font chữ từ vni sang unicode trong code của bạn nó không co tác dụng khi xuất file sang excel.
Mình cũng đang nghiên cứu vấn đề này, xuất sang excel được rồi, chuyển font cũng OK, nhưng mà phải add in 1 cái xla vào excel trước, đây là nhược điểm mà kình chưa biết cách khắc phục. Nếu có cách nào addin tự động khi từ fox gọi excel thì các bác chỉ dùm mình.
Còn 1 vấn đề nữa nhờ các bác tham vấn, khi từ fox liên kết qua excel, mở 1 bảng tính, giả sử ô B1 là 1 công thức tham chiếu đến ô A1, bây giờ mình muốn chuyển ô B1 thành giá trị (value) luôn, không còn là công thức (formula) nữa thì làm sao ? Đã thử dùng lệnh Paste Special\Value (trong Macro) nhưng gọi từ fox thì nó ko chịu lệnh đó. Nhờ các bác.

tungvv
07-12-2008, 17:39
Cái vụ chuyển font chữ từ vni sang unicode trong code của bạn nó không co tác dụng khi xuất file sang excel.


Bạn TayngangVFP đã hướng đẫn và tôi đã làm 1 thủ tục chuyển ra excel thành font UNICODE tốt rồi mà. Tuy nhiên nó chỉ chạy trên VFP9 mà thôi, còn nếu ver <9 thì ko có tác dụng. Vì vậy, nếu PM của bạn chạy trên nền VFP9 thì sử dụng tốt. Nếu ko phải làm thêm 1 chương trình nhỏ chạy trên nền VFP9 để chuyển thành file xls từ file DBF trích xuất ra , hơi rườm rà đó nên tốt nhất là cứ xuất ra ecel với nguyên font của PM rồi sau đó dùng công cụ của Unikey chuyển cũng đựoc.

dinhanhency
07-12-2008, 18:15
Ai biết trả lời tôi với nhé :
Trong các phiên bản Visual Fox Version < 9, có sử dụng lệnh: Group By
VD:
...
use File1.dbf
SELECT * Group By MA_TK, MA_KH INTO TABLE c:\luu\File1.dbf
...

Nhưng đoạn code đó sang version 9 thì nó báo lổi là "SQL Group By clause is missing .."
tức là nó ko nhận biết câu lệnh.
Phải chuyển đổi nó như thế nào để sử dụng đúng chức năng của Group By ở VFP9 ?
Foxpro 9 vẫn dùng group by như các version trước, câu lệnh bạn viết như trên là chưa đùng. Check lại syntax nhé.

hiepduc_pro
07-12-2008, 18:56
trời mình đúng là"buồn ngủ gặp chiếu manh rồi".mình mới học Visual foxpro ko biết chi nhiều cả có ai biết gì thì giúp minh việc này với.
ví dụ mình tạo 1 form "quản lí bán hàng "có mã hàng ,tên hàng,đơn vị nhập .Mỗi lần mình nhập dữ liệu vào mã hàng, enter thì chuột ko tự động nhảy sang trường khác mà mình phải kích vào trường khác mới ghi được.Có ai biết làm thế nào để mỗi lần mình enter chuột tự động nhảy ko, giúp mình với.cảm ơn nhiều nha

LLQ
08-12-2008, 08:55
Bạn TayngangVFP đã hướng đẫn và tôi đã làm 1 thủ tục chuyển ra excel thành font UNICODE tốt rồi mà. Tuy nhiên nó chỉ chạy trên VFP9 mà thôi, còn nếu ver <9 thì ko có tác dụng. Vì vậy, nếu PM của bạn chạy trên nền VFP9 thì sử dụng tốt. Nếu ko phải làm thêm 1 chương trình nhỏ chạy trên nền VFP9 để chuyển thành file xls từ file DBF trích xuất ra , hơi rườm rà đó nên tốt nhất là cứ xuất ra ecel với nguyên font của PM rồi sau đó dùng công cụ của Unikey chuyển cũng đựoc.

Nếu chỉ chạy được trên VFP 9.0 thì khó rồi, vì PM của mình khi chuyển lên chạy thử 9.0 thì có 1 số lệnh không tương thích, giống như cái lỗi Group by mà bạn nói đó, mặc dù 7.0 chạy bình thường.

tungvv
08-12-2008, 10:27
Foxpro 9 vẫn dùng group by như các version trước, câu lệnh bạn viết như trên là chưa đùng. Check lại syntax nhé.


dinhanhency ơi, bạn xem lại hộ tôi với, câu lệnh tôi đã kiểm tra ko có vấn đề gì, ko biết trong VFP9 nó phải khai báo set... thêm gì nữa ko, cùng một prg đó nhưng nó chỉ bắt lổi các câu lệnh có Group By thôi.
Ví dụ như :
...
SELE LKE
SELECT Tk_No,Tk_co,SUM(SO_TIEN) AS SO_TIEN FROM LKE;
Group By Tk_no,Tk_co;
order By Tk_no,tk_co ;
INTO CURSOR TongCong
...
Nếu chạy trong VFP7 thì ok, nhưng VFP9 nó báo lổi ngay là "SQL: Group By clause is missing ..."

[=========> Bổ sung bài viết <=========]


Nếu chỉ chạy được trên VFP 9.0 thì khó rồi, vì PM của mình khi chuyển lên chạy thử 9.0 thì có 1 số lệnh không tương thích, giống như cái lỗi Group by mà bạn nói đó, mặc dù 7.0 chạy bình thường.

Tôi đã làm như thế này thấy cũng tiện, bạn xem nhé :
1. Tạo ra một proj có chức năng là kết chuyển từ DBF sang XLS có hổ trợ UNI chạy trên nên VFP9, biên dịch file này thành HTKK.exe và lưu vào một thư mục nào đó trên cùng thư mục PM KToán của bạn( ví dụ : c:\KTDN\HTKK), lưu ý có cùng với các file vfp9r.dll và Vfp9renu.dll để file HTKK.exe tự động chạy được.
2. trong chương trình KT của bạn, tạo thêm một menu " Chuyển thành file XLS" gọi DBF2XLS.prg để Run HTKK.EXE ( file DBF2XLS.prg dĩ nhiên là chạy trong môi trường phiên bản KT của bạn đang chạy)
Nội dung file DBF2XLS.prg đó như sau :
*: ************************************************** **************
*: Chuyen DBF sang HTKK Thue
*: Copy 12/2008.
************************************************** ***
PUBLIC P_HTKK as String

WAIT WINDOW " hello HTKK Thue " TIMEOUT 4
P_HTKK = left(sys(16,0),8)+"HTKK\HTKK.EXE" && Path này tùy bạn chọn, sẽ chỉ đến thư mục chứa file HTKK.EXE. Tốt nhất nên để cùng với Path của chương trình kế toán bạn đang sữ dụng.
RUN &P_HTKK
CLOSE TABLES ALL
RETU
**************************
Vậy là OK, không phải làm nhiều bước khác
Lưu ý : trong file HTKK.EXE, bạn phải có dòng lệnh quit sau khi đã hoàn thành các thủ tục để nó tự động thoát khỏi môi trường VFP9 khi đã thực hiện xong nhiệm vụ được giao.

tayngangvfp
08-12-2008, 10:42
dinhanhency ơi, bạn xem lại hộ tôi với, câu lệnh tôi đã kiểm tra ko có vấn đề gì, ko biết trong VFP9 nó phải khai báo set... thêm gì nữa ko, cùng một prg đó nhưng nó chỉ bắt lổi các câu lệnh có Group By thôi.
Ví dụ như :
...
SELE LKE
SELECT Tk_No,Tk_co,SUM(SO_TIEN) AS SO_TIEN FROM LKE;
Group By Tk_no,Tk_co;
order By Tk_no,tk_co ;
INTO CURSOR TongCong
...
Nếu chạy trong VFP7 thì ok, nhưng VFP9 nó báo lổi ngay là "SQL: Group By clause is missing ..."

Thực chất giữa các Version của VFP có sự khác nhau khi sử dụng câu lệnh SQL.
Bạn xem trong help ở các mục:

-SET ENGINEBEHAVIOR
-SYS(3099 [, 70 | 80 | 90])

Mình nghĩ nó sẽ giải quyết được vấn đề của bạn!


==============
To hiepduc_pro
Thông thường các control sẽ chuyển focus sang control kế tiếp mỗi khi bấm phím Enter.
Còn nếu bạn có viết thêm code xử lý gì trong control, mà nó có hiện tượng như vậy, bạn phải cho biết cả code thì mới có thể trả lời cho bạn được.



Chúc thành công.

[=========> Bổ sung bài viết <=========]


.....
Còn 1 vấn đề nữa nhờ các bác tham vấn, khi từ fox liên kết qua excel, mở 1 bảng tính, giả sử ô B1 là 1 công thức tham chiếu đến ô A1, bây giờ mình muốn chuyển ô B1 thành giá trị (value) luôn, không còn là công thức (formula) nữa thì làm sao ? Đã thử dùng lệnh Paste Special\Value (trong Macro) nhưng gọi từ fox thì nó ko chịu lệnh đó. Nhờ các bác.

Vấn đề này mình nghĩ giải quyết cũng dễ. Giả sử bạn đã tạo 1 đối tượng
liên kết đến Excel là : oExcel

tGiaTri=oExcel.Range("B1").Value
oExcel.Range("B1").Value=tGiaTri

Chúc thành công

LLQ
08-12-2008, 13:08
Vấn đề này mình nghĩ giải quyết cũng dễ. Giả sử bạn đã tạo 1 đối tượng
liên kết đến Excel là : oExcel

tGiaTri=oExcel.Range("B1").Value
oExcel.Range("B1").Value=tGiaTri

Chúc thành công

Cám ơn bạn, đã thực hiện thành công. Sẵn đây bạn cho mình hỏi thêm 1 vấn đề nữa là có cách nào chèn 1 module vào excel không, mình muốn khi chương trình xuất file ra excel thì nó sẽ chèn 1 cái file xla (có sẵn) vào tự động chứ không cần phải làm thủ công.

dinhanhency
08-12-2008, 13:36
ObjExcel = GetObject("","Excel.Sheet")
ExcelApp = ObjExcel.Application
AddIns = ExcelApp.Application.AddIns.Add([c:\abc.xla])

qminh1968
08-12-2008, 15:29
Các sản phẩm của Cty mình viết đa phần là VFP + SQL Server. Nếu MS cho die thì mình nghỉ làm tin học luôn !!! Bộ Studio .NET vẫn có VFP9 đó thôi !

Bạn có thể giúp mình 1 đoạn form code ngắn trong VFP kết nối SQL và thêm (insert) 1 dòng dữ liệu vào CSDL SQL Server ? Mình chưa biết chuyển ứng dụng VSfox sang sử dụng CSDL SQL server. Thank.

LLQ
08-12-2008, 16:09
ObjExcel = GetObject("","Excel.Sheet")
ExcelApp = ObjExcel.Application
AddIns = ExcelApp.Application.AddIns.Add([c:\abc.xla])

Cám ơn bác nhiều, mình đưa đoạn code này vào nó vẫn không chạy, mò hoài, cuối cùng thấy phải thêm 1 dòng nữa nó mới chịu chạy.

ObjExcel = GetObject("","Excel.Sheet")
ExcelApp = ObjExcel.Application
AddIns = ExcelApp.Application.AddIns.Add([c:\abc.xla])

Addins.Installed=.T.

lovefoxsql
09-12-2008, 16:36
Các sản phẩm của Cty mình viết đa phần là VFP + SQL Server. Nếu MS cho die thì mình nghỉ làm tin học luôn !!! Bộ Studio .NET vẫn có VFP9 đó thôi !

Bạn có thể giúp mình 1 đoạn form code ngắn trong VFP kết nối SQL và thêm (insert) 1 dòng dữ liệu vào CSDL SQL Server ? Mình chưa biết chuyển ứng dụng VSfox sang sử dụng CSDL SQL server. Thank.

Send mail cho minh di,minh se mail cho ban

qminh1968
09-12-2008, 17:18
Send mail cho minh di,minh se mail cho ban

Mail của mình đậy quangminh1968@gmail.com
Giúp mình tí nhé

tungvv
09-12-2008, 18:04
Tôi có PM Kế toán chạy trên VFP7,sử dụng font TCVN ABC, nay tôi đã chuyển về VFP9 để có thể sử dụng font Unicode, PM đã chạy OK rồi. Bây giờ mà gỏ lại tất cả menu, repor... bằng tay về kiẻu Unicode thì vất vả lắm. Ai có cao kiến gì nhanh giúp tôi với. Thanks.

qminh1968
09-12-2008, 18:40
Tôi có PM Kế toán chạy trên VFP7,sử dụng font TCVN ABC, nay tôi đã chuyển về VFP9 để có thể sử dụng font Unicode, PM đã chạy OK rồi. Bây giờ mà gỏ lại tất cả menu, repor... bằng tay về kiẻu Unicode thì vất vả lắm. Ai có cao kiến gì nhanh giúp tôi với. Thanks.
VF9 hỗ trợ font Unicode trong CSDL hả bạn ?

tuan_tvkg
10-12-2008, 00:25
VFP9 không hỗ trợ Font Unicode nếu bạn tungvv biết chỉ mình với.

qminh1968
11-12-2008, 18:25
Tôi có PM Kế toán chạy trên VFP7,sử dụng font TCVN ABC, nay tôi đã chuyển về VFP9 để có thể sử dụng font Unicode, PM đã chạy OK rồi. Bây giờ mà gỏ lại tất cả menu, repor... bằng tay về kiẻu Unicode thì vất vả lắm. Ai có cao kiến gì nhanh giúp tôi với. Thanks.

Bạn dùng Unikey
Quét khối+<Ctrl+C>, <Ctr>+<Shift>+<F6>, Chọn font đích, Chuyển mã rồi dán vào lại-> dễ thôi. Nhưng làm sao gõ và lưu dữ liệu trong các file table của VFox. (kể cả chuyển font trong table cũ sang Unicode nữa). Bó tay !

TP2
11-12-2008, 18:39
Hizx, ngày xưa mình dùng foxpro 2.6 for Dos bây h chuyển sang dùng Visual Fox thấy khác wa'
Mà các bác cho em hỏi là mún tạo file exe trong fox thì làm thế nào nhỉ?

qminh1968
11-12-2008, 19:44
Hizx, ngày xưa mình dùng foxpro 2.6 for Dos bây h chuyển sang dùng Visual Fox thấy khác wa'
Mà các bác cho em hỏi là mún tạo file exe trong fox thì làm thế nào nhỉ?
Biết tí thì nói ít
b1: Tạo project Create Proj
b2: Add prog,forms,reports,menu,...
b3: Complile, Build app hoặc exe từ proj đó
Khi chép qua máy khác sử dụng không phải cài VF nhưng phải kèm theo các file có đuôi .dll trong VF
Bạn thử làm xem. Có gì đọc thêm help

tungvv
13-12-2008, 19:26
Bạn dùng Unikey
Nhưng làm sao gõ và lưu dữ liệu trong các file table của VFox. (kể cả chuyển font trong table cũ sang Unicode nữa). Bó tay !

Bạn qminh1968 ơi! Chuyển và ghi các file dbf từ font abc --> Font unicode thì làm nhanh chóng rồi. chỉ replay các trường kiểu C là xong mà (sử dụng một func tự tạo). Chỉ khó khăn là các form và class, 2 loại này chưa biết xữ lý thế nào, nó có hiển thị ra file văn bản đâu mà sử dụng Unikey được ?

luongvancanh
14-12-2008, 18:54
Chào các chiến hữu.
Tôi đang viết chương trình bằng foxpro nhưng bị vấp phải vấn đề Unicode khi trình bày form cho người dùng. Có cách nào để xử lý giao tiếp Unicode cho người dùng không?
Chán quá, định chuyển qua học ngôn ngữ khác thôi

qminh1968
14-12-2008, 20:17
Bạn qminh1968 ơi! Chuyển và ghi các file dbf từ font abc --> Font unicode thì làm nhanh chóng rồi. chỉ replay các trường kiểu C là xong mà (sử dụng một func tự tạo). Chỉ khó khăn là các form và class, 2 loại này chưa biết xữ lý thế nào, nó có hiển thị ra file văn bản đâu mà sử dụng Unikey được ?

Chắc là khi viết form nhập liệu thì sử dụng font non_uni sau đó lưu dữ liệu -> font Unicode, khi kết xuất thì chuyển sang Excel hoặc sử dụng Report font non_uni + convert font -> phức tạp quá ! .
Quan trọng là gì nhỉ ? Sử dụng font Uni cho nó "Pro" ?

tungvv
15-12-2008, 08:36
Chắc là khi viết form nhập liệu thì sử dụng font non_uni sau đó lưu dữ liệu -> font Unicode, khi kết xuất thì chuyển sang Excel hoặc sử dụng Report font non_uni + convert font -> phức tạp quá ! .
Quan trọng là gì nhỉ ? Sử dụng font Uni cho nó "Pro" ?

-----------
Không phải là để cho nó "pro" mà chính vì bây giờ mà cài đặt font hệ thống = TCVN thì rất nhiều PM khác sẽ ko hiển thị được tiếng việt UNICODE, kể cả Internet . Nếu để font hệ thống = Unicode thì mổi khi chạy PM KToán lại phải đưa máy về font TCVN, thay đổi kiểu gỏ ...v.v, nên rất bất tiện. Hầu hết tất cả các PM chạy trên nền VFP đều sử dụng font TCVN abc hay Vni, điều này đã rất lạc hậu. Vì vậy mọi nổ lực của người lập trình trên VFP là phải đưa về giao diện Unicode để phù hợp với xu thế chung của CNTT hiện nay.
Đã có nhiều bài viết đề cập đến vấn đề này nhưng nhìn chung là chưa tìm ra được giải pháp hữu hiệu. Hy vọng mọi người cùng quan tâm trao đổi để tìm ra các giải pháp tốt nhất.

tayngangvfp
16-12-2008, 08:03
To Tungvv
Cách chuyển Font cho các c/t đã viết bằng VFP.
Trong câu hỏi của bạn về việc thay đổi Font cho các control khi lập trình cần phải giải quyết 2 vấn đề:

1. Chuyển các "Caption", "Messagebox", Wait .... từ 1 loại Font thành Loại khác (chẳng hạn: từ VNI->ABC). Có thể giải quyết cái này bằng cách cắt, dán thông qua các c/t chuyển font. Hoặc dùng chính VFP để đổi: bạn viết code để chuyển thông qua class chuyển font. Vì thực chất các File SCX, VCX, FRX, .... cũng là những file .DBF mà thôi! Bạn dùng lệnh USE để mở như mở DBF. Trong các file này cần xử lý 2 field là "Properties" và "Methods".
2.Phải thay đổi thuộc tính "Fontname = Tên Font mong muốn" cho tất cả các Control. Việc này bắt buộc phải viết code dò tìm trong Field "Properties" trong các file SCX,VCX,FRX,...


Chúc thành công

tungvv
16-12-2008, 10:08
To Tungvv
1. Chuyển các "Caption", "Messagebox", Wait .... cũng là những file .DBF mà thôi! Bạn dùng lệnh USE để mở như mở DBF. Trong các file này cần xử lý 2 field là "Properties" và "Methods".
2.Phải thay đổi thuộc tính "Fontname = Tên Font mong muốn" cho tất cả các Control. Việc này bắt buộc phải viết code dò tìm trong Field "Properties" trong các file SCX,VCX,FRX,...
Chúc thành công
-------------------------------
Tayngangvfp!, bạn có code nào về việc hiển thị menu bằng unico ko, cảm phiền cho mình tham khảo với , gửi qua Email: tungvv@gmail.com.
Các DBF thì có thể viết code tự động tìm tệp dbf và chuyển đổi các trường kiểu C, nhưng các file SCX,VCX,FRX,... thì khó viết code tự động chuyển các methods, Proc... đành phải làm tay vậy.

tayngangvfp
16-12-2008, 10:40
VFP không hỗ trợ unicode 1 cách tự nhiên. Nên việc hiển thị unicode trên các control hay menu (của VFP) đến giờ vẫn chưa có giải pháp!
Nếu bạn biết VBNet hay C#, bạn có thể dùng nó để tạo các control, menu sau đó "nhúng" vào VFP để dùng. Như vậy có thể thể hiện được unicode trên menu.
Bạn tham khảo link sau

http://weblogs.foxite.com/bernardbout/archive/2007/07/09/4287.aspx

Chúc thành công

tungvv
18-12-2008, 09:57
VFP không hỗ trợ unicode 1 cách tự nhiên. Nên việc hiển thị unicode trên các control hay menu (của VFP) đến giờ vẫn chưa có giải pháp!
Nếu bạn biết VBNet hay C#, bạn có thể dùng nó để tạo các control, menu sau đó "nhúng" vào VFP để dùng. Như vậy có thể thể hiện được unicode trên menu.
Bạn tham khảo link sau

http://weblogs.foxite.com/bernardbout/archive/2007/07/09/4287.aspx

Chúc thành công

Vất vả quá tayngangvfp ơi, mình thì lại ko biết tí gì về VBNet hay C+ cả. Bây giờ mà mò mẫm học lại thì ko kịp rồi. Đành phải bó tay vậy. Lúc trước đọc trên các forum mình có nghe nói đến việc sử dụng font unicode trong VFP và nghỉ là có thể chuyển sang được, nay đành chờ... phiên bản VFP mới !!!
Cho mình hỏi bạn 1 chút nhé: cái Clas thuvienfont.vcx bạn tạo bằng PM gi mà sao minh mở ra ko thấy code ? trống trơn vậy mà nó vẫn chạy được ?

tayngangvfp
18-12-2008, 13:21
...... Cho mình hỏi bạn 1 chút nhé: cái Clas thuvienfont.vcx bạn tạo bằng PM gi mà sao minh mở ra ko thấy code ? trống trơn vậy mà nó vẫn chạy được ?

Hi
Cũng chẳng có gì là bí ẩn cả! Như mình đã nói, VCX cũng là 1 file .DBF và các câu lệnh được lưu vào 2 Field: Methods và Objcode. Trong đó Methods sẽ lưu phần "Text" còn Objcode sẽ lưu phần Code đã được VFP dịch. Khi ta xem các phương thức, có nghĩa là đang xem phần Methods!

Do mình đã cài 1 c/t nhỏ để mỗi khi biên dịch sẽ tự động thực hiện việc xóa các phần trong Methods! Nên cái class của mình gửi bạn không xem được là vậy.

Nếu bạn cần mình sẽ gửi lại cái source của VCX khi chưa xóa methods.

tungvv
18-12-2008, 13:58
Do mình đã cài 1 c/t nhỏ để mỗi khi biên dịch sẽ tự động thực hiện việc xóa các phần trong Methods! Nên cái class của mình gửi bạn không xem được là vậy.

Nếu bạn cần mình sẽ gửi lại cái source của VCX khi chưa xóa methods.

Bạn gửi cái source cho mình với để tham khảo, đó là một class rất hay, sau này có thể dùng đến. Hiện bây giờ thì mình đã vỡ mộng việc chuyển PM thành font Unico rồi. Nhưng dù sao cái Class của bạn cũng đã giúp được mình trong việc kết xuất dữ liệu ra xls có font unicode, bây giờ thì ko còn phải mất công chỉnh sửa file xls mổi khi kê khai thuế nữa.
Bạn gửi qua Email : tungvv@gmail.com.
Thanks!

qminh1968
18-12-2008, 20:58
Hi
Cũng chẳng có gì là bí ẩn cả! Như mình đã nói, VCX cũng là 1 file .DBF và các câu lệnh được lưu vào 2 Field: Methods và Objcode. Trong đó Methods sẽ lưu phần "Text" còn Objcode sẽ lưu phần Code đã được VFP dịch. Khi ta xem các phương thức, có nghĩa là đang xem phần Methods!

Do mình đã cài 1 c/t nhỏ để mỗi khi biên dịch sẽ tự động thực hiện việc xóa các phần trong Methods! Nên cái class của mình gửi bạn không xem được là vậy.

Nếu bạn cần mình sẽ gửi lại cái source của VCX khi chưa xóa methods.

To tayngangvfp : Cho mình xin cái VCX chuyển font với. Có chuyển từ TCVN3 sang Unicode ? cách dùng nữa nhé vì bảng mã Unicode thì mình không biết xử lý gì cã. Thanks. ("tayngangvfp" > "provfp" !) Email : quangminh1968@gmail.com

[=========> Bổ sung bài viết <=========]

Ban lovevfpsql viết "Các sản phẩm của Cty mình viết đa phần là VFP + SQL Server. Nếu MS cho die thì mình nghỉ làm tin học luôn !!! Bộ Studio .NET vẫn có VFP9 đó thôi !"

Bạn có thể giúp mình 1 đoạn form code ngắn trong VFP kết nối SQL và thêm (insert) 1 dòng dữ liệu vào CSDL SQL Server ? Mình chưa biết chuyển ứng dụng VSfox sang sử dụng CSDL SQL server. Thanks.

Nhưng đợi bạn loveVFPSQL gửi mail cho minh quangminh1968@gmail.com mãi mà chẳng thấy !

Các bạn (loveVFPSQL + tayngangvfp,...) trả lời giúp mình : thực tế thì khi dùng VFP+SQL Sever dùng cách kết nối + xử lí dữ liệu nào là thuận tiện nhất : a/ ODBC+ Remote View b/ ODBC+SQL Pass Through c/ OLE DB+ADO trong VFP (vì khi mình đọc sánh vfp9 thấy mông lung + lý thuyết quá)

Thanks

tayngangvfp
19-12-2008, 08:07
..... thực tế thì khi dùng VFP+SQL Sever dùng cách kết nối + xử lí dữ liệu nào là thuận tiện nhất : a/ ODBC+ Remote View b/ ODBC+SQL Pass Through c/ OLE DB+ADO trong VFP (vì khi mình đọc sánh vfp9 thấy mông lung + lý thuyết quá)
Thanks

To qminh1968

-Đối với mình, thì hay dùng cách Remote view kết hợp SPT (cách a+b): vì đây là cách được VFP hỗ trợ mạnh nhất. Tạo ra remote view khá đơn giản, đồng thời dùng chính view đó để cập nhật (thêm, sửa, xóa) rất dễ dàng và tự nhiên giống như đang làm việc với file DBF vậy! Còn SPT thì mình sẽ kết hợp khi cần tạo những câu lệnh "động". Vì thực ra, remote view là 1 sự "đóng gói" của SPT.
-Tuy nhiên, nếu dữ liệu SQL có sử dụng unicode thì khi dùng RView hay SPT phải chuyển đổi rất phức tạp (dùng Cast, Conv...) và sẽ không update được 1 cách tự nhiên! Trong trường hợp này, thì nên dùng OLEDB, ADO... Một lý do nữa là ODBC là "công nghệ cũ" hơn so với OLE ! Nếu dùng OLEDB, bạn có thể tải tiện ích VFPCOM để dùng thì sẽ dễ dàng hơn.
- Có một cách nữa là dùng CursorAdapter (có từ VFP8). Cũng tiện như Remote View nhưng có thể kết nối theo nhiều cách: ODBC,ADO,XML,...

To qminh1968, tungvv : mình đã gửi class chuyển font rồi. Hy vọng nó giúp ích 1 chút trong công việc của các bạn !

qminh1968
19-12-2008, 21:13
To qminh1968

-Đối với mình, thì hay dùng cách Remote view kết hợp SPT (cách a+b): vì đây là cách được VFP hỗ trợ mạnh nhất. Tạo ra remote view khá đơn giản, đồng thời dùng chính view đó để cập nhật (thêm, sửa, xóa) rất dễ dàng và tự nhiên giống như đang làm việc với file DBF vậy! Còn SPT thì mình sẽ kết hợp khi cần tạo những câu lệnh "động". Vì thực ra, remote view là 1 sự "đóng gói" của SPT.
-Tuy nhiên, nếu dữ liệu SQL có sử dụng unicode thì khi dùng RView hay SPT phải chuyển đổi rất phức tạp (dùng Cast, Conv...) và sẽ không update được 1 cách tự nhiên! Trong trường hợp này, thì nên dùng OLEDB, ADO... Một lý do nữa là ODBC là "công nghệ cũ" hơn so với OLE ! Nếu dùng OLEDB, bạn có thể tải tiện ích VFPCOM để dùng thì sẽ dễ dàng hơn.

To qminh1968, tungvv : mình đã gửi class chuyển font rồi. Hy vọng nó giúp ích 1 chút trong công việc của các bạn !

Rất cám ơn về những chỉ dẫn của bạn. Nó giúp mình tự tin để tiếp tục nghiên cứu về VFP + SQL.

Tien_Thanh
20-12-2008, 13:47
Bác nào biết cách kết nối hai tệp tin dbf trong foxpro 9.0 chỉ hộ e cái. em mày mò mãi mà vẫn chưa được.

tayngangvfp
20-12-2008, 15:17
Bác nào biết cách kết nối hai tệp tin dbf trong foxpro 9.0 chỉ hộ e cái. em mày mò mãi mà vẫn chưa được.

Bạn nên viết câu hỏi 1 cách rõ hơn thì sẽ có nhiều người trả lời !!!

Để nối 2 tập tin .DBF có cấu trúc giống nhau thì có thể dùng
- APPEND FROM ...
- SELECT kết hợp với UNION
- Viết code duyệt qua từng record để thêm.
- ....

Chúc thành công

ChungITT
23-12-2008, 12:47
Bạn tayngangvfp cho mình xin class thuvienfont với nhé, mình đang tìm hiểu về vfp và rất muốn tham khảo.
Cho mình hỏi bạn dùng chương trình gì mà khi biên dịch thì có thể xóa được các phần trong methods vậy? chỉ cho mình với. Cảm ơn nhiều nhé

Mail của mình là: chungvan9785@yahoo.com

tayngangvfp
23-12-2008, 15:10
To ChungITT: đã gửi, bạn check mail nhé.

Còn việc khi biên dịch để xóa code trong methods thì rất dễ. Bạn viết 1 c/t nhỏ.prg kiểu như:

******************
para cTenproject

Do DeleteCodes(cTenproject)
BUILD PROJECT cTenproject RECOMPILE
hoặc BUILD EXE EXEFileName FROM cTenproject

******************
Trong đó DeleteCodes() sẽ làm các công việc là xóa codes, hoặc gì gì đó nữa !!!

hardlovebee21
23-12-2008, 22:34
bọn em cũng học môn này.đang làm đồ án. nhưng thầy dậy chẳng hiểu j cả. toàn bắt đọc sách. mà áp dụng máy móc ko hiểu. em đọc thêm tài liệu toàn chạy bằng code. bjo cũng chẳng biết pải làm tn. các anh học rùi giới thiệu ít cho em bít ko?

ChungITT
24-12-2008, 12:49
@tayngangvfp: Cảm ơn bạn nhé, mình đã nhận được rồi.
@hardlovebee21: Bạn muốn hỏi gì nhỉ?

-------
tayngangvfp cho mình hỏi thêm nhé. Nếu dùng cách trên của bạn để xóa code trên form, class thì khi mình cần sửa code lại thì làm sao sửa được nhỉ?

hardlovebee21
24-12-2008, 13:05
quản lí bán hàng vật liệu xây dựng bằng chương trình fox. cảm ơn nhiều.
đây là mail của em tuyetlanh_ht892000@yahoo.com. ai có send cho em xin nhé!

mr_bin07
24-12-2008, 16:53
Chào các bạn!
Minh đang tìm cách xuất một report trong Visual Foxpro thành file dạng PDF thay vì phải in ra máy in, loay hoay mãi mà chưa tìm được. Có bạn nào biết đoạn mã nào không xin chia sẻ giúp mình với! Xin cám ơn nhiều nhiều.

tayngangvfp
26-12-2008, 08:33
@mr_bin07

Bạn tham khảo link sau:

1) http://weblogs.foxite.com/luisnavas/archive/2008/10/06/7025.aspx
2) http://www.universalthread.com/Report.aspx?Session=6D6A4F693049326D4A5A383D205934 5A385970346454416F34506C6B68426C665949576150744271 6246757451


Chúc thành công

danngudien
26-12-2008, 22:54
làm sao dể tải file http://www.megaupload.com/?d=SPWKJ7TK
này về? giúp tôi với nhé

http://www.megaupload.com/?d=SPWKJ7TK

tungvv
27-12-2008, 11:14
làm sao dể tải file http://www.megaupload.com/?d=SPWKJ7TK
này về? giúp tôi với nhé

---------------------------
Bạn click vào link, nhập mã các ký tự theo yêu cầu của Megaupload, chấp nhận và sau đó đợi khoảng 30-40 giây,( nếu bạn ko co TKhoản, sử dụng free- màn hình có thông báo thời gian đợi bằng đồng hồ đếm lùi để lấy ticke) đợi xong sẽ hiện lên nốt download bạn nhấp vào đó để dowload.
nếu ko được thì tôi đã load sẵn và lưu tại đây , bạn lấy về mà dùng: http://quangbinh-izs.gov.vn/tung/file/dbf2xls.rar
Hình như đó là một CT chuyển dbf sang xls do bạn Tayngangvfp gửi phải ko? bạn cũng là người mê VFP ?

CounterStrike
27-12-2008, 19:36
tưởng thằng nài tiệt chủng roài chớ, vẫn còn người triển khai sao (??)

danngudien
27-12-2008, 20:13
Rất cám ơn bạn mình đã tải về rồi.
Bạn có cách nào khi chuển từ *.dbf sang .xls mà không cần phải định dạng lại. chư mỗi lần chuyển sang phải định dạng lại fonst, kẻ hàng quá mất công, các bạn giúp nhé?
Lập trình Visual Foxpro 9.0, khi tạo file *.exe thì mỗi lần chạy chương trình chỉ "nháy" 1 lần rồi tắt, có cách nào khắc phục được điều này không?

tayngangvfp
29-12-2008, 10:38
Chào bạn.

1/Đây là 1 ví dụ nhỏ minh họa chuyển file DBF => Excel, có kẻ khung,Font....

**************************
*Vidu xuat 1 table ra Excel
LOCAL cTable,nField,nRecord,cExcel,cFontName,nFontSize
cFontName="VNI-TIMES"
nFontSize=11
cTable=GETFILE([dbf],[Chon tabkle])
IF !EMPTY(cTable)
cExcel=PUTFILE("Save to...",JUSTSTEM(cTable),[XLS])
IF !EMPTY(cExcel)
SELECT 0
USE [&cTable ]
nField=FCOUNT()
nRecord=RECCOUNT()
COPY TO [&cExcel] TYPE XL5
USE

* Mo file excel de chinh font va dong khung
oExcel=CREATEOBJECT("Excel.Application")
oExcel.Workbooks.Open(cExcel)
* Ke khung dong tieu de
oExcel.Range(oExcel.Cells(1,1),oExcel.Cells(1,nFie ld)).Select
oExcel.Selection.Font.Bold=.T.
oExcel.Selection.Borders(5).LineStyle = -4142
oExcel.Selection.Borders(6).LineStyle = -4142
oExcel.Selection.Borders(7).LineStyle = 1
oExcel.Selection.Borders(8).LineStyle = 1
oExcel.Selection.Borders(9).LineStyle = 1
oExcel.Selection.Borders(10).LineStyle = 1
oExcel.Selection.Borders(11).LineStyle = 1
oExcel.Selection.HorizontalAlignment =-4108
oExcel.Selection.VerticalAlignment = -4108
*Chon vung du lieu
oExcel.Range(oExcel.Cells(2,1),oExcel.Cells(nRecor d+1,nField)).Select
oExcel.Selection.Font.Name=cFontName
oExcel.Selection.Font.Size=nFontSize
* Ke khung
oExcel.Selection.Borders(5).LineStyle = -4142
oExcel.Selection.Borders(6).LineStyle = -4142
oExcel.Selection.Borders(7).LineStyle = 1
oExcel.Selection.Borders(8).LineStyle = 1
oExcel.Selection.Borders(9).LineStyle = 1
oExcel.Selection.Borders(10).LineStyle = 1
oExcel.Selection.Borders(11).LineStyle = 1
* Dieu chinh do rong cac cot
oExcel.Cells.Select
oExcel.Cells.EntireColumn.AutoFit
oExcel.Visible= .T.
oExcel=null
ENDIF
ENDIF
**************************

2/ [.... chương trình chỉ "nháy" 1 lần rồi tắt ...] : thường là do c/t của bạn không có lệnh READEVENT hoặc không có 1 Form kiểu Modal nào đang Activate,....

Cách giải quyết thì tùy thuộc vào c/t của bạn được chạy từ đâu: file .prg hay form mà có cách làm khác nhau.


Chúc thành công

danngudien
29-12-2008, 16:22
Ví dụ nhỏ của thầy là một vấn đề bổ ích cho bản thân tôi. Trước hết xin cám ơn. file là form.
Bây giờ tôi muốn hỏi một việc sau:
Tôi muốn chuyển từ dbf sang xls cứ 20 dòng chẳng hạn đến dòng thứ 25 tôi lại dán tiêu đề xuống? như vậy thì sử dụng câu lệnh nao? bạn cho ví dụ nhé. Sang word khi sử dụng lênh copy vf paste thì được nhưng xls thì bó tay. rất mong sự giúp đở.

tayngangvfp
29-12-2008, 17:01
@danngudien
...cứ 20 dòng chẳng hạn đến dòng thứ 25 tôi lại dán tiêu đề xuống... Không biết mục đích của bạn làm việc này là như thế nào? Nếu mục đích là để in lại mỗi khi sang trang mới thì có cách làm khác. Còn nếu thực sự để chèn dòng tiêu đề cứ sau mỗi 20 dòng thì cũng không khó.

Bạn có thể nói chi tiết hơn không?

Chúc thành công.

À mình không phải là thầy đâu!!!

danngudien
29-12-2008, 17:35
Ai muốn tìm hiểu thì vô đây tải về đọc nha
http://download-v5.streamload.com/C5iw6FYQ~u40M~jlkA~efXD~_fhjFE4vsd2g/dakuta/FileManager/ClientServerVFP.pdf?action=save
cuốn sách này về visual foxpro hay đấy
http://depositfiles.com/en/files/374137

Làm sao để lấy về đây? Giúp với bạn nhế?

hardlovebee21
29-12-2008, 19:10
sao em hỏi giúp mà ko có ai giúp em dc sao? có bác nào có bài lập trình về quản lí vật liệu xây dựng hay có ai bít làm ko giúp cho em với. em đang rất cần. thấy các anh giỏi vậy, giúp cho em với. hic..hic...hic

danngudien
29-12-2008, 20:57
@danngudien
...cứ 20 dòng chẳng hạn đến dòng thứ 25 tôi lại dán tiêu đề xuống... Không biết mục đích của bạn làm việc này là như thế nào? Nếu mục đích là để in lại mỗi khi sang trang mới thì có cách làm khác. Còn nếu thực sự để chèn dòng tiêu đề cứ sau mỗi 20 dòng thì cũng không khó.

Bạn có thể nói chi tiết hơn không?

Chúc thành công.

À mình không phải là thầy đâu!!!

********************
Bạn thân mến!
Hiện nay tôi đã có đầy dủ file danh sách học sinh dbf, tôi muốn chuyển sang xls theo từng trang để in và mỗi trang in khoảng 25 học sinh.
cắt sang trang mới phải có tiêu đề được định dạng như tiêu đề mẫu ban đầu.
Còn chuyển sang xls rồi mới định dạng trang, tiêu đề thì quá mất công cho mỗi lần thay đổi dữ liệu.
Ví dụ mẫu có dạng như sau
SỞ GIÁO DỤC ĐÀO TẠO THỪA THIÊN HUẾ

DANH SÁCH HỌC SINH DỰ THI NGHỀ PHỔ THÔNG

STT HỌ VÀ TÊN NGÀY SINH NƠI SINH LỚP TRƯỜNG
1
2

Tổng danh sách này có… thí sinh

Tôi có thử sử dụng câu lệnh:
oleApp.Range("A5:B8").select
oleApp.application.selection.copy
********************************** đến đây thì chạy tốt
Mở xls ra thấy vùng chọn đang nhày chứng tỏ sử dụng lệnh copy đúng
sử dụng paste bằng thanh công cụ thì được. còn câu lệnh sau thì báo lỗi

oleApp.Sheets("Sheet1").select
oleApp.Range("A10").select
oleApp.Application.selection.paste && câu lệnh này thì nó báo lỗi
***********
Bạn cố gắn giúp tôi ví dụ này nhé! rất cần bởi vì hiện nay công việc in trễn xls là rất thông dụng cho mọi người! và có thể chuyển đi máy khác được còn in trên dbf thì quá độc quyền!!!.
Bạn có thể cho tôi địa chỉ mail để giao lưu và làm quen nhé?
Meo của tôi: dan0982959162@yahoo.com.vn

tayngangvfp
30-12-2008, 08:26
@danngudien

1)Để sử dụng lệnh paste bạn dùng cú pháp sau:
oleApp.ActiveSheet.Paste

2)Cách để tạo dòng in lặp lại mỗi khi sang trang trong excel. Giả sử mỗi khi sang trang, ta sẽ in lại từ dòng 3 đến dòng 5 (Print title)
tDong1=[3]
tDong2=[5]
oleApp.ActiveSheet.PageSetup.PrintTitleRows = "$"+tDong1+":$"+tDong2


Chúc thành công

danngudien
30-12-2008, 13:21
TayngangVFP !

Thật là tuyệt tôi đã có một trang xls theo ý muốn.
Nhân dịp năm mới không có gì hơn chúc bạn và gia đình một năm mới đạt mọi điều như ý!
Qua đây bạn cho hỏi thêm tý nữ nhé? Vui lòng chứ!
1/ Câu lệnh Cắt trang trong xls
2/Khi chuyển sang xls tôi muốn khóa ngay cột A (mã học sinh) không cho sửa các cột khác tự do có được không. Bởi vì khi tôi chuyển file cho văn thư sửa phần lý lịch thì họ quên sửa luôn cột mã thành cột TT khi chuyển về dbf thì mất công nhập lại mã. thông thường thì khi ra xls tôi khóa lại bằng thủ công. bạn giúp cho câu lệnh này nhé!
Đừng cho tôi là quá tham vọng? bởi "Học nữa học, học mãi"

tayngangvfp
30-12-2008, 14:35
@danngudien

1/ "Câu lệnh Cắt trang trong xls": M chưa hiểu ý bạn ?
2/ Bạn dùng thử code sau
********
oExcel.Cells.Select
oExcel.Selection.Locked = .F.
oExcel.Columns("A:A").Select && Khong cho sua cot A
oExcel.Selection.Locked = .T.
oExcel.ActiveSheet.Protect("123",.F.,.T.,.F.)
&&DrawingObjects=.F.,Contents=.T., Scenarios=.F.
********

Trong đó "123" là pasword để Unprotect sheet. M test với excel 2000 thì OK. Nếu bạn dùng excel khác thì có thể thứ tự tham số truyền cho oExcel.ActiveSheet.Protect(....) sẽ khác.
Chúc thành công

danngudien
30-12-2008, 22:54
@danngudien

1/ "Câu lệnh Cắt trang trong xls": M chưa hiểu ý bạn ?
2/ Bạn dùng thử code sau
********
oExcel.Cells.Select
oExcel.Selection.Locked = .F.
oExcel.Columns("A:A").Select && Khong cho sua cot A
oExcel.Selection.Locked = .T.
oExcel.ActiveSheet.Protect("123",.F.,.T.,.F.)
&&DrawingObjects=.F.,Contents=.T., Scenarios=.F.
********

Trong đó "123" là pasword để Unprotect sheet. M test với excel 2000 thì OK. Nếu bạn dùng excel khác thì có thể thứ tự tham số truyền cho oExcel.ActiveSheet.Protect(....) sẽ khác.
Chúc thành công
*********
Cám ơn nhiều! câu lệnh trên chạy rất tốt đối với excel 2003
Mình đã chuyển sang 1 file xls qua tuyệt bằng các câu lệnh cắt và dán tự động. Nhưng khi in mình phải phân trang lại bằng thủ công nghĩa là trên file xls lại vào insert - page break để cắt trang. Mình muốn khi chuyển sang xls nó tự đông insert - page break luôn!
***** Thật may mắn lần này gặp bạn tôi gỡ được nhiều rắt rối trong visuafopro. thật ra tôi không phải là người chuyên tin mà chỉ say mê trên visuafoxpro qua sách vở nên trình độ có hạn, có gì vướn mong bạn giúp nhé! hẹn sẽ có ngày biết tên thật của nhau chứ

tayngangvfp
31-12-2008, 09:03
1/Để insert pagebreak, bạn dùng lệnh:
nDong=10
nCot=6
oExcel.cells(nDong,nCot).select

* Tạo HPagebreak
oExcel.ActiveWindow.SelectedSheets.HPageBreaks.Add (oExcel.activecell)

* Tạo VPagebreak
oExcel.ActiveWindow.SelectedSheets.VPageBreaks.Add (oExcel.activecell)

Khi đó sẽ chèn pagebreak tại vị trí F10

2/ Cách tìm hiểu về các lệnh của Excel (Word,Powerpoint,Outlook, và các đối tượng COM SERVER nói chung)
-Cách 1: dùng chính chức năng tạo Macro của đối tượng để tìm hiểu. VD dùng Excel: Tool\Macro\Record new macro: thực hiện các thao tác cần thiết=> stop. Mở phần code của macro ra để xem code và chuyển đổi sang code của VFP. Cách này có thể giải quyết 90% các trường hợp.
-Cách 2: Trong cửa sổ command của VFP. Thực hiện lệnh oCom=CREATEOBJECT(ten cua dối tuong COM). Sau đó dung chức năng IntelliSense của VFP để tìm hiểu.VD: nhập lệnh trong cửa sổ command
oWord=CREATEOBJECT("WORD.Application")
oWord.Documents.Open("C:\Test.doc")
oWord.Visible=.T.
.....


Chúc thành công.

danngudien
31-12-2008, 19:01
2/ Cách tìm hiểu về các lệnh của Excel (Word,Powerpoint,Outlook, và các đối tượng COM SERVER nói chung)
-Cách 1: dùng chính chức năng tạo Macro của đối tượng để tìm hiểu. VD dùng Excel: Tool\Macro\Record new macro: thực hiện các thao tác cần thiết=> stop. Mở phần code của macro ra để xem code và chuyển đổi sang code của VFP. Cách này có thể giải quyết 90% các trường hợp.
-Cách 2: Trong cửa sổ command của VFP. Thực hiện lệnh oCom=CREATEOBJECT(ten cua dối tuong COM). Sau đó dung chức năng IntelliSense của VFP để tìm hiểu.VD: nhập lệnh trong cửa sổ command
oWord=CREATEOBJECT("WORD.Application")
oWord.Documents.Open("C:\Test.doc")
oWord.Visible=.T.
.....

Thật là tuyệt vời tôi đã có trang in theo ý muốn!"Với những dòng chữ của bạn đã giúp tôi một có đươc một kho tàng kiến thức bổ ích về chuyển đôi từ dbf sang xls.
Chúc năm mới vui vẽ?

hardlovebee21
01-01-2009, 23:44
anh ơi. em dang viết lập trình quản lí bán hàng. muốn sửa, xóa, thêm một mặt hàng thì viết code tn để thực hiện dc? có ai bít cho em xem code với. mong mọi ng giúp đỡ.

tuan_tvkg
02-01-2009, 08:56
Cảm ơn tayngangvfp nhiều nhé.

tungvv
03-01-2009, 10:01
Ai biết giúp tôi với nhé:
Phần mềm của tôi chạy trên VFP,tôi đã tạo ra file help và mổi khi ấn phím F1 thì đọc được file help của chương trình. Nay tôi muốn thêm một menu help trong đó có 2 mục: mục giới thiệu và mục help, phần giới thiệu thì đã có form giới thiệu, nhưng phần đọc file help thì viết lệnh như thế nào để đọc được file help? (file help của tôi có dạng chuẩn *.hlp) các bạn giúp với nhé, thanhks .

hardlovebee21
03-01-2009, 13:26
em đang làm phần mềm quản lí bán hàng vật liệu xây dựng. làm đến phần nhập sửa, xóa khi ng dùng cần truy cập thì ko biết viết code tn? có ai viết code để cho chạy dc khi mỗi lần cần truy cập thì cho em xem với.thanks!

tayngangvfp
03-01-2009, 13:28
@tungvv
Cách đơn giản nhất: nếu bạn đã gọi được Help = F1 thì trong menu có thể dùng lệnh: KEYBOARD '{F1}'

Chúc thành công

tungvv
03-01-2009, 15:59
@tungvv
Cách đơn giản nhất: KEYBOARD '{F1}'


Đúng là quá đơn giản nhưng tôi ko nghỉ ra, Đúng thật phải học thêm nhiều thứ .
Cám ơn Tayngangvfp nhé !

danngudien
07-01-2009, 05:06
Tại sao? Trước đây tôi thường bị tình trạng Khi dich sang file *.exe để chạy nó chỉ nháy rồi tắt, qua câu lạc bộ này tôi đã khắc phục tình trạng này bằng cách thêm dòng lệnh read events đằng sau do form ...Nhưng nếu có cài đặt môi trường visua foxpro thì chạy tốt. Còn khi gở bỏ visua ra (hoặc sang máy không có cài đặt)thi không chạy và hiện dòng thông báo "Cannot locate the microsoft visua foxpro support libary?."
Các bạn cho xin cách giải quyết? file để dịch là *.prg
Cố giúp với bạn nhé!!


Diễn dàn là nơi học hỏi kinh nghiệm! là người thầy thứ hai

tayngangvfp
07-01-2009, 08:00
@danngudien
Bạn xem ở đây

http://www.ddth.com/showthread.php?t=194631

Chúc thành công

vovanly
07-01-2009, 16:49
Bác nào cái hàm dịch ngày tháng năm dương lịch sang âm lịch và chuyển đổi can, chi cho ngày âm lịch không cho Em xin với !. Em em ơn các Bác trước..

[=========> Bổ sung bài viết <=========]

Bác nào hướng dẫn giúp em cách tạo mã vạch. Em cám ơn nhiều !..

vanhoangvdb
08-01-2009, 14:21
Các bác ơi. Mình là người mới bắt đầu học VisualFox. Bạn có tài liệu tiếng việt để mình có thể từng bước lập trình 1 phần mềm quản lý nhà hàng được không.

Trân trọng cảm ơn!

Nếu có thể mail cho mình theo địa chỉ: vanhoangvdb@gmail.com

danngudien
08-01-2009, 16:18
@danngudien
Bạn xem ở đây

http://www.ddth.com/showthread.php?t=194631

Chúc thành công

Cám ơn ban nhé! mình làm được rồi! khi nào gặp sẽ hậu tạ nhé!

tungvv
08-01-2009, 17:51
Tôi dùng VFP9(Bản 9.0, không cài đặt, chỉ copy các file : VFP9 và một số file dll runtime) , khi sử dụng lệnh modi menu, soạn thảo menu xong nhưng không thể Generate được, chức năng Generate bị mờ nên ko thực hiện biên dịch menu , các bạn chỉ giúp với nhé. xem hình ở đây : http://quangbinh-izs.gov.vn/tung/menu.jpg
Thanks!

tayngangvfp
09-01-2009, 08:28
@tungvv
File để general menu là genmenu.prg, ở thư mục gốc (nếu VFP cài đặt đầy đủ). Bạn copy file này và xem trong đó để biết cách thực hiện.

Để cài đặt bạn có thể dùng lệnh: _GENMENU = " ten c/t general menu"

Chúc thành công

tungvv
09-01-2009, 09:53
@tungvv
File để general menu là genmenu.prg, ở thư mục gốc (nếu VFP cài đặt đầy đủ

Cám ơn nhé, Tayngangvfp, chỉ cần copy genmenu.prg vào thư mục gốc của VFP9 là đã có thể General được rồi, nhưng mình còn phân vân ở chổ mình ko có file genmenu.prg của version 9 mà chỉ có genmenu.prg của version 7, điều này có ảnh hưởng gì ko, khi mà mình General 7 nhưng lại sử dụng cho Vr9, mình đã thử tạm thờinó ko báo lổi nhưng về sau có thể gặp lổi ko ? Bạn có file genmenu.prg ver9 ko gửi cho mình với nhé
Email : tungvv@gmail.com
Chúc sức khỏe, năm mới thành đạt và hạnh phúc .

vovanly
09-01-2009, 10:05
Bác nào biết câu lệnh, hoặc hàm nào giúp tìm kiếm tên thư mục không nhỉ !? tương tự như hàm locfile(filename) vậy !. Em cám ơn các Bác nhiều !...

[=========> Bổ sung bài viết <=========]


Tại sao? Trước đây tôi thường bị tình trạng Khi dich sang file *.exe để chạy nó chỉ nháy rồi tắt, qua câu lạc bộ này tôi đã khắc phục tình trạng này bằng cách thêm dòng lệnh read events đằng sau do form ...Nhưng nếu có cài đặt môi trường visua foxpro thì chạy tốt. Còn khi gở bỏ visua ra (hoặc sang máy không có cài đặt)thi không chạy và hiện dòng thông báo "Cannot locate the microsoft visua foxpro support libary?."
Các bạn cho xin cách giải quyết? file để dịch là *.prg
Cố giúp với bạn nhé!!


Diễn dàn là nơi học hỏi kinh nghiệm! là người thầy thứ hai

Không biết bạn chạy *.exe độc lập hay sao, nếu đúng thì Nó không chạy được là cái chắc !. Chúng ta thường nghĩ khi đã biên dịch thành *.exe thì có thể độc lập tác chiến được. Cái này chưa chắc à nghe !. Nó chỉ chạy trên máy có cài Foxpro mà thôi. Nên để chắc ăn và "oai" với thiên hạ Bạn nên tạo thành một bộ đĩa Setup để chương trình của ta "chơi luôn" Tất cả các máy từ máy có cài Foxpro đến máy không cài. Vì khi tạo bộ đĩa này foxpro đã gom tất tật những gì cần thiết để chạy chương trình.
Nếu Bạn có quan tâm. OK một tiếng trên diễn đàn Tớ sẽ nói tiếp !......

tungvv
09-01-2009, 15:17
Bác nào biết câu lệnh, hoặc hàm nào giúp tìm kiếm tên thư mục không nhỉ !? tương tự như hàm locfile(filename) vậy !. Em cám ơn các Bác nhiều !...

Bạn thử xem code sau đây, tôi viết để tìm kiếm và tạo thư mục ( nếu ko tồn tại thì tạo mới) bạn xem sửa đổi lại theo yêu cầu nhé :

*----------------------------------
*: Tao thu muc moi
*:
LcDIR= "c:\tung\tung1\tung2" && Giả sử thư mục cần tìm và tạo, nếu ko chỉ rỏ tên ổ đĩa thì fox sẽ hiểu là đang trên thư mục hiện hành.
=MKDIR(LcDIR)
* :----------------------------------------------------------------------
* : Func : MKDIR
* : Purpose : Tìm kiếm và Tạo thư mục mới
* : Syntax : =MKDIR(<LcDIR>)
* :----------------------------------------------------------------------

FUNC MKDIR
PARA LcDIR
LOCAL lnNext, llOk, lnPos, lcWork, lcCommand

lnNext = 1 && bat dau tim kiem (Handle >= 0)
llOk = .T.
DO WHIL llOk
lnPos = AT([\], LcDIR, lnNext)
lcWork = IIF(lnPos <> 0, LEFT(LcDIR, lnPos-1), LcDIR)

IF !EMPTY(lcWork)
Isdir = Isdir(lcWork) && kiem tra thu muc da ton tai?
IF NOT Isdir && neu chua co ,tao
MD &lcWork
llOk = Isdir(lcWork) && Ok?
ENDI (NOT Isdir) && neu chua co ,tao)
ENDI !EMPT(lcWork)

IF lnPos = LEN(LcDIR) && ket thuc cong viec
lnPos = 0
ENDI (lnPos = LEN(LcDIR) && ket thuc cong viec)
IF lnPos = 0 OR !llOk
EXIT
ELSE
lnNext = lnNext + 1
ENDI (lnPos = 0 OR !llOk)
ENDD
RETU llOk

* :----------------------------------------------------------------------
* : Func : ISDIR
* : Purpose : Xem thu muc da ton tai ?
* : Syntax : =Isdir(<Path>)
* :----------------------------------------------------------------------

FUNC Isdir
LPARA TcDIR
TcDIR = TcDIR + IIF(RIGHT(TcDIR, 1) = "\", "", "\")
RETU DIRECTORY(TcDIR)

[=========> Bổ sung bài viết <=========]


Không biết bạn chạy *.exe độc lập hay sao, nếu đúng thì Nó không chạy được là cái chắc !. Chúng ta thường nghĩ khi đã biên dịch thành *.exe thì có thể độc lập tác chiến được...
--------------
Theo tôi thì nếu file biên dịch ko bị lổi là có thể chạy được trên tất cả các máy có cài đặt bộ VFP hoặc chỉ copy file VFP.exe và các file dll Runtime. Điều này đã được nhiều PM viết bằng VFP sử dụng ( DAS, KTVNAM, BRAVO ...v.v). Như vậy, vấn đề ở chổ là phải viết cấu trúc các prg hoặc form như thế nào để khi biên dịch không bị lổi.
Cơ quan tôi có 2 PM chạy trên nền VFP bằng file biên dịch *.exe và cũng chỉ copy 3 file của VFP để cùng với thư mục chứa file *exe( file biên dịch) là chạy được trên mọi máy, kể cả LAN.

vovanly
09-01-2009, 16:25
Bạn thử xem code sau đây, tôi viết để tìm kiếm và tạo thư mục ( nếu ko tồn tại thì tạo mới) bạn xem sửa đổi lại theo yêu cầu nhé :


Em cám ơn Bác nhiều !. Nhưng ý Em hàm hoặc câu lệnh đó tìm thư mục trên toàn bộ máy tính !..Như search ở Windows vậy.! Bác thông cảm cho Em nha !.

tayngangvfp
09-01-2009, 16:55
@vovanly
VFP không có sẵn hàm nào như vậy. Để thực hiện, bạn dùng ADIR() kết hợp với đệ quy c/t đễ làm.

Chúc thành công

vovanly
10-01-2009, 10:01
@vovanly
VFP không có sẵn hàm nào như vậy. Để thực hiện, bạn dùng ADIR() kết hợp với đệ quy c/t đễ làm.

Chúc thành công

Cám ơn Bác nhiều !..Bác cho Em hỏi thêm. Cách tạo bộ Setup ở Visual Foxpro 9.0 và giữa 9.0 - 6.0 có gì khác nhau không.?

tayngangvfp
10-01-2009, 11:30
@vovanly
VFP6 và các ver. trước đó có kèm theo tiện ích SETUP WIZARD để tạo bộ cài cho c/t. Từ VFP7 trở đi thì dùng installshield (có kèm theo khi cài đặt VFP).

Phần mình, do các c/t không lớn nên dùng 1 c/t cài đặt tự tạo !!!!

danngudien
10-01-2009, 23:44
Không biết bạn chạy *.exe độc lập hay sao, nếu đúng thì Nó không chạy được là cái chắc !. Chúng ta thường nghĩ khi đã biên dịch thành *.exe thì có thể độc lập tác chiến được. Cái này chưa chắc à nghe !. Nó chỉ chạy trên máy có cài Foxpro mà thôi. Nên để chắc ăn và "oai" với thiên hạ Bạn nên tạo thành một bộ đĩa Setup để chương trình của ta "chơi luôn" Tất cả các máy từ máy có cài Foxpro đến máy không cài. Vì khi tạo bộ đĩa này foxpro đã gom tất tật những gì cần thiết để chạy chương trình.
Nếu Bạn có quan tâm. OK một tiếng trên diễn đàn Tớ sẽ nói tiếp !......[/QUOTE]

Rất mong bạn chỉ giúp cáh tạo bộ settup và xin gửi về địa chỉ:dan0982959162@yahoo.com.vn
Mình rất cám ơn!

quachthanhkim
10-01-2009, 23:55
Mình mới học fp9 nên cũng không ranh lắm.
mh có table QLHS gồm HọTên, Điểm_toán, điểm_tin, điểm_nn, ket_qua
vậy mh muốn dùng hàm if để tính kq trên như vậy thì sao?
nếu Điểm_toán + điểm_tin + điểm_nn >=21 thì kết quả cho là Đầu. ngược lại thì rớt. code nó như thế nào huynh

alone_night
11-01-2009, 08:18
Mình mới học fp9 nên cũng không ranh lắm.
mh có table QLHS gồm HọTên, Điểm_toán, điểm_tin, điểm_nn, ket_qua
vậy mh muốn dùng hàm if để tính kq trên như vậy thì sao?
nếu Điểm_toán + điểm_tin + điểm_nn >=21 thì kết quả cho là Đầu. ngược lại thì rớt. code nó như thế nào huynh



select 0
use QLHS
replace all ket_qua with iif(Điểm_toán + điểm_tin + điểm_nn >=21, "Đậu, "Rớt")
use

tuan_tvkg
11-01-2009, 11:10
Bạn tayngangvfp có biết Code để đọc ****** ổ đĩa không. Cho mình xin với.

vovanly
12-01-2009, 08:10
@vovanly
VFP6 và các ver. trước đó có kèm theo tiện ích SETUP WIZARD để tạo bộ cài cho c/t. Từ VFP7 trở đi thì dùng installshield (có kèm theo khi cài đặt VFP).

Phần mình, do các c/t không lớn nên dùng 1 c/t cài đặt tự tạo !!!!

Tạo bộ dĩa setup cho foxpro 9.0 trên phần mềm installshield này khi qua máy khác cài đặt nó báo không có hỗ trợ của Foxpro, Bác có nói (mục trên) copy thêm 3 file của Foxpro để vào thư mục chứa file *.exe (biên dịch) là chạy được, vậy Bác cho Em tên mấy file đó được không. Làm Setup ở VFP 6.0 trên Wizard qua máy khác không cài VFP nó vẫn chạy ok. mà sao bên này kỳ ghê !..

[=========> Bổ sung bài viết <=========]



Rất mong bạn chỉ giúp cáh tạo bộ settup và xin gửi về địa chỉ:dan0982959162@yahoo.com.vn
Mình rất cám ơn!

Bạn đang xài VFP mấy chấm. Nếu 9.0 thì... tui cũng đang hỏi, Nếu 6.0 thì...Ok lại nha !. Bạn thông cảm lỡ nói cái bạn biết rùi thì dị lắm..

tungvv
12-01-2009, 09:31
Muốn biết hiện tại trên hệ thống đang sữ dụng tất cả bao nhiêu Disk và đó là những Disk nào ( chỉ cần biết tên C, D, E,...v.v), Bạn nào biết giúp tôi viết code với nhé, Tôi dùng VFP9,Thanks !

tayngangvfp
12-01-2009, 09:43
@tuan_tvkg bạn liên hệ YM! tayngangvfp. Mình sẽ gửi

@vovanly
Đã có nhiều đề cập ở đây rồi
http://www.ddth.com/showthread.php?t=194631

Tuy nhiên mình cũng nói lại ở đây:
Các file "tối thiểu" cho VFP7 là : msvcr70.dll, vfp7r.dll, vfp7t.dll. Còn VFP8 là: msvcr70.dll, vfp8r.dll, vfp8t.dll,gdiplus.dll. VFP9 là: msvcr71.dll, vfp9r.dll, vfp9t.dll,gdiplus.dll

Trên đây là những file tối thiểu. Ngoài ra sẽ cần đến những File khác (như Help, Hỗ trợ ngôn ngữ, XML, ReportOutput object,...) nếu c/t của bạn có sử dụng đến những chức năng đó.

Bạn xem thêm ở đây

VFP7:http://fox.wikis.com/wc.dll?Wiki~VFP7RuntimeFiles
VFP8:http://fox.wikis.com/wc.dll?Wiki~VFP8RuntimeFiles
VFP9:http://fox.wikis.com/wc.dll?Wiki~VFP9RuntimeFiles

[=========> Bổ sung bài viết <=========]

@tungvv
1/Dùng hàm Drivetype() của VFP
*****************
FOR i=ASC("A") TO ASC("Z")
nKieu=Drivetype(Chr(i))
Do Case
Case nKieu=1
* Ko co
Case nKieu=2
?Chr(i)+" : " + "Floppy disk"
Case nKieu=3
?Chr(i)+" : " + "Hard disk"
Case nKieu=4
?Chr(i)+" : " + "Removable drive or network drive"
Case nKieu=5
?Chr(i)+" : " + "CD-ROM"
Case nKieu=6
?Chr(i)+" : " + "RAM disk"
Endcase
Endfor
**************

2/ Ngoài ra còn có thể dùng hàm API hay đối tượng Scripting.FileSystemObject để thực hiện.

Chúc thành công

vovanly
12-01-2009, 11:57
@tuan_tvkg bạn liên hệ YM! tayngangvfp. Mình sẽ gửi

Tuy nhiên mình cũng nói lại ở đây:
Các file "tối thiểu" cho VFP7 là : msvcr70.dll, vfp7r.dll, vfp7t.dll. Còn VFP8 là: msvcr70.dll, vfp8r.dll, vfp8t.dll,gdiplus.dll. VFP9 là: msvcr71.dll, vfp9r.dll, vfp9t.dll,gdiplus.dll



Bác gửi cho em bộ file rumtime và chỉ cho em cách đưa vào bộ đĩa setup luôn Bác nha !. (Em đang dung installshield để tạo - chương trình viết trên VFP 9.0)
Em cám ơn Bác rất nhiều.!
Email của em : vovanlydn@yahoo.com.vn

tungvv
12-01-2009, 14:02
@tungvv
1/Dùng hàm Drivetype() của VFP
*****************
FOR i=ASC("A") TO ASC("Z")
nKieu=Drivetype(Chr(i))
Do Case
Case nKieu=1
* Ko co
Case nKieu=2
?Chr(i)+" : " + "Floppy disk"
Case nKieu=3
?Chr(i)+" : " + "Hard disk"
Case nKieu=4
?Chr(i)+" : " + "Removable drive or network drive"
Case nKieu=5
?Chr(i)+" : " + "CD-ROM"
Case nKieu=6
?Chr(i)+" : " + "RAM disk"
Endcase
Endfor
**************


Bạn đã viết code giúp tôi hồi sáng nay qua YM, tôi đã đưa vào PM OK rồi, cám ơn nhiều nhé.
*------------------------------
Các bạn cho hỏi thêm chút : Khi chạy PM bằng file biên dịch *.exe từ VFP9,(không khởi động fox bằng VFP9.exe) thì có thể chuyển ra cửa sổ lệnh window command được không, nếu được thì hướng dẫn giúp tôi với. Cám ơn nhiều!

tayngangvfp
12-01-2009, 14:08
@vovanly
-Các file runtime đó có trong thư mục đã cài VFP. Đâu cần mình gửi?!!!
-Để add các file cần thiết bạn chọn "Microsoft Visual FoxPro 9 Runtime Libraries" là được (bản Installshield đi kèm với VFP)

vovanly
12-01-2009, 15:02
@vovanly
-Các file runtime đó có trong thư mục đã cài VFP. Đâu cần mình gửi?!!!
-Để add các file cần thiết bạn chọn "Microsoft Visual FoxPro 9 Runtime Libraries" là được (bản Installshield đi kèm với VFP)

Em mời đang vừa làm vừa nghiên cứu bản Installshield và VFP 9.0, trước đây em dùng toàn VFP 6.0 nên đang lơ mơ lắm. Bác chỉ luôn giúp em chọn "Microsoft Visual FoxPro 9 Runtime Libraries" ở đâu vậy. Em thấy VFP 9.0 và Installshield có nhiều cái hay nên đang cố gắng.. Bác giúp em.. Em cám ơn Bác nhiều. Lâu nay toàn mò mẫm trong sách nay có mấy Bác, có diễn đàn này thật quí giá..

ngay_hom_qua
13-01-2009, 00:13
các bạn à. mình chỉ là thành viên mới của 4rum. mình đang làm 1 đồ án môn foxpro này. mình làm đến phần class thấy khó quá. mình muốn làm hệ thống các nút bấm như trong form wizard như nút add và nút edit ý. khi mình click vào nút add thì nút add và edit tương ứng trở thành save và revert. mình tham khảo có code như thế này:
****************************
nút thêm (add):

if this.parent.them.caption="T\<hem" then
begin transaction &&bat dau phien lam viec
this.parent.them.caption="\<Luu"
this.parent.sua.caption="Hu\<y bo"
this.parent.xoa.enable=.F. &&khong cho truy cap cac command button
this.parent.inn.enable=.f.
this.parent.tim.enable=.f.
this.parent.thoat.enable=.f.
this.parent.dau.enable=.f.
this.parent.truoc.enable=.f.
this.parent.sau.enable=.f.
this.parent.cuoi.enable=.f.
this.parent.xem.enable=.f.
append blank &&them 1 ban ghi trang

else
this.parent.them.caption="T\<hem"
this.parent.sua.caption="S\<ua"
this.parent.xoa.enable=.t. &&cho phep truy cap cac command button
this.parent.inn.enable=.t.
this.parent.tim.enable=.t.
this.parent.thoat.enable=.t.
this.parent.dau.enable=.t.
this.parent.truoc.enable=.t.
this.parent.sau.enable=.t.
this.parent.cuoi.enable=.t.
this.parent.xem.enable=.t.

endif
end transaction &&cap nhat du lieu va ket thuc phien lam viec
thisform.refresh()

*********************************
nút sửa (edit):

if this.parent.sua.caption="\S\<ua" then
begin transaction
this.parent.them.caption="\<Luu"
this.parent.sua.caption="Hu\<y bo"
this.parent.xoa.enable=.F. &&khong cho truy cap cac command button
this.parent.inn.enable=.f.
this.parent.tim.enable=.f.
this.parent.thoat.enable=.f.
this.parent.dau.enable=.f.
this.parent.truoc.enable=.f.
this.parent.sau.enable=.f.
this.parent.cuoi.enable=.f.
this.parent.xem.enable=.f.

else
this.parent.them.caption="T\<hem"
this.parent.sua.caption="S\<ua"
this.parent.xoa.enable=.t. &&cho phep truy cap cac command button
this.parent.inn.enable=.t.
this.parent.tim.enable=.t.
this.parent.thoat.enable=.t.
this.parent.dau.enable=.t.
this.parent.truoc.enable=.t.
this.parent.sau.enable=.t.
this.parent.cuoi.enable=.t.
this.parent.xem.enable=.t.
end transaction &&cap nhat du lieu va ket thuc phien lam viec
rollback
if eof()
skip-1
endif
endif
thisform.refresh()

****************************

nhưng khi thi hành form thì nó báo lỗi "property ENABLE is not found"

các bạn giúp mình với.

tayngangvfp
13-01-2009, 08:38
@vovanly

.... Bác chỉ luôn giúp em chọn "Microsoft Visual FoxPro 9 Runtime Libraries" ở đâu vậy....

Trong Menu của Intallshield chon: Go\Specify Application Data\Redistributables : trong panel Intallshield Objects/Merge Modules bạn chọn Microsoft Visual FoxPro 9 Runtime Libraries. Và những cái Microsoft Visual FoxPro 9 ..... nếu chương trình có dùng đến.
Nếu có dùng các OCX thì cũng chọn luôn ở đây (VD: Microsoft Windows common controls...)


@ngay_hom_qua
Do bạn viết thiếu 1 chữ d: là .Enabled chứ không phải .Enable. Bạn sửa lại nhé


Chúc thành công

vovanly
13-01-2009, 10:40
@vovanly


Trong Menu của Intallshield chon: Go\Specify Application Data\Redistributables : trong panel Intallshield Objects/Merge Modules bạn chọn Microsoft Visual FoxPro 9 Runtime Libraries. Và những cái Microsoft Visual FoxPro 9 ..... nếu chương trình có dùng đến.
Nếu có dùng các OCX thì cũng chọn luôn ở đây (VD: Microsoft Windows common controls...)


Chúc thành công
Em làm được rồi !. Em cám ơn Bác nhiều !.

vuottroi.com
13-01-2009, 10:55
VFP cái này tôi đã dừng lại cách đây 4 năm rồi. Nay thấy mọi người thảo luận về nó lại thấy hay hay :) có khi lại phải về đào mấy cái đã viết ra thôi. Trước kia có tham gia nhóm viết phần mềm kế toán chuyên cho việc quyết toán của các doanh nghiệp, sau đó tôi cũng đã viết được mấy bộ như: Quản lý bán hàng - Công nợ, Quản lý bán hàng đa cấp (tính thưởng và hiện cấu trúc cây), Quản lý Trình dược và bán hàng dược phẩm (phân bổ thưởng cho TD và tự động cạp nhật Khuyến mại vào hóa đơn cho khách khi xuất hàng...). Quản lý sản xuất - bán hàng cho các doanh nghiệp sản xuất con đấu.

Giờ tôi chuyển sang làm web rồi, theo thời thế chút xem sao! :)

tungvv
13-01-2009, 16:25
1. Trong VFP có thể viết code tự động điều chỉnh các thông số của Desketop ko? ( font, Backgroup ...), Ai biết giúp tôi với nhé .
2. Khi chạy PM bằng file biên dịch *.exe từ VFP9,(không khởi động fox bằng VFP9.exe) thì có thể chuyển ra cửa sổ lệnh window command được không, nếu được thì hướng dẫn giúp tôi với.
Cám ơn nhiều!

ngay_hom_qua
13-01-2009, 16:36
@vovanly

Do bạn viết thiếu 1 chữ d: là .Enabled chứ không phải .Enable. Bạn sửa lại nhé


Chúc thành công

Cảm ơn tayngangvfp nhiều nhé. Tớ chạy nó ok rồi. Vậy mà vật lộn với cái này mấy ngày không ra.

tayngangvfp
14-01-2009, 11:31
1. Trong VFP có thể viết code tự động điều chỉnh các thông số của Desketop ko? ( font, Backgroup ...), Ai biết giúp tôi với nhé .
2. Khi chạy PM bằng file biên dịch *.exe từ VFP9,(không khởi động fox bằng VFP9.exe) thì có thể chuyển ra cửa sổ lệnh window command được không, nếu được thì hướng dẫn giúp tôi với.
Cám ơn nhiều!

1/ Dùng hàm API SystemParametersInfo sẽ đáp ứng được yêu cầu này
- Chỉnh font: bạn xem ở đây
http://www.ddth.com/showthread.php?t=19979&page=4

http://www.echip.com.vn/echiproot/html/2005/so165/laptrinh.html

- Thay đổi hình nền Backgroup

*************
#DEFINE SPI_SETDESKWALLPAPER 20
#DEFINE SPIF_SENDWININICHANGE 1
#DEFINE SPIF_UPDATEINIFILE 2
DECLARE INTEGER SystemParametersInfo IN user32 INTEGER uiAction, INTEGER uiParam,STRING @pvParam, INTEGER fWinIni

LOCAL lcWallpaper, nFlag
nFlag = SPIF_UPDATEINIFILE + SPIF_SENDWININICHANGE
lcWallpaper ="Ten file lam Backgroup.BMP"
= SystemParametersInfo (SPI_SETDESKWALLPAPER,0, @lcWallpaper, nFlag)
*************

2/ M chưa làm bao giờ, nhưng nghĩ có lẽ không được? Đối với M, khi muốn thực hiện "động" các lệnh của VFP thì M dùng EXECSCRIPT()

Chúc thành công

tungvv
14-01-2009, 15:47
To tayngangvfp: Rất cám ơn bạn đã giúp đỡ, tôi đã thực hiện được một số việc theo HD của bạn và Echip.
***************************

Có những vướng mắc mà tôi chưa giải quyết được( và chắc nhiều người dùng VFP phải quan tâm giải quyết) là :
1./ Hiện nay các cài đặt cho Desktop đều sử dụng font unicode để tương thích với internet và quy định chung của một số ngành trong việc sử dụng font chữ unicode văn bản. Vì vậy nếu có 1 phần mềm nào đó ko sử dụng được font unicode thì phải chuyển cấu hình Desktop về fonf tương thích với PM và như vậy rất nhiều các ứng dụng khác có mã tiếng việt Unico ko hiển thị được !!!
2./ Trong khi VFP chưa hổ trợ được Unicode thì có thể sửa đổi PM , kết hợp VFP với các ngôn ngữ lập trình khác để sử dụng được Unicode nhưng công việc này ko phải ai cũng làm được, và rất khó khăn vì liên quan đến hệ thống các đơn vị sữ dụng, bản quyền, khả năng tài chính..v.v.
3./ Nếu ko thể sửa được PM theo kiểu kết hợp như trên thì chỉ có cách duy nhất là kết hợp việc đổi font hiển thị cho hệ thống khi bắt đầu khởi động CT và trả về nguyên trạng khi kết thúc CT.
Những bài viết đã hướng dẫn tại :
http://www.ddth.com/showthread.php?t=19979&page=4
và tại:
http://www.echip.com.vn/echiproot/ht.../laptrinh.html
đã hướng dẫn cách làm, tuy nhiên những người đang còn hạn chế về VFP khi đọc các bài viết đó cũng khó có thể giải quyết được các vướng mắc nêu trên. Rất mong các Thầy, các Bạn quan tâm giúp đỡ, kết nối nó lại thành một đoạn code hoàn thiện ( phần đầu cài đặt font, phần cuối trả lại font, phần giữa coi như đã có ) mới có thể vận dụng được.
Rất mong được sự quan tâm của mọi người .

thiempysc
15-01-2009, 16:50
bồ nào cho mình chi tiết cách dùng chung *dbf trong mạng lan không
cám ơn trước

ndtuanlucky
15-01-2009, 22:57
Hi
Cũng chẳng có gì là bí ẩn cả! Như mình đã nói, VCX cũng là 1 file .DBF và các câu lệnh được lưu vào 2 Field: Methods và Objcode. Trong đó Methods sẽ lưu phần "Text" còn Objcode sẽ lưu phần Code đã được VFP dịch. Khi ta xem các phương thức, có nghĩa là đang xem phần Methods!

Do mình đã cài 1 c/t nhỏ để mỗi khi biên dịch sẽ tự động thực hiện việc xóa các phần trong Methods! Nên cái class của mình gửi bạn không xem được là vậy.

Nếu bạn cần mình sẽ gửi lại cái source của VCX khi chưa xóa methods.

Xin chào các bạn! Mình là thành viên mới!
Mình cũng rất thích VFP nhưng kến thức chưa được mấy, mong các bạn giúp đỡ!
Rất cảm ơn!
tayngangvfp bạn có thể cho mình VCX này không? cái chưa bị xóa methods ấy để sử dụng và tham khảo! Cảm ơn nhiều! tuanbeo1006@yahoo.com

[=========> Bổ sung bài viết <=========]


Ai muốn tìm hiểu thì vô đây tải về đọc nha
http://download-v5.streamload.com/C5iw6FYQ~u40M~jlkA~efXD~_fhjFE4vsd2g/dakuta/FileManager/ClientServerVFP.pdf?action=save
cuốn sách này về visual foxpro hay đấy
http://depositfiles.com/en/files/374137

không DL được!
Cái link tên thì lỗi
Cái linh dưới thù cần phải có AC
UL lên trang khác được không vậy!
Cảm ơn!

tayngangvfp
16-01-2009, 08:24
@tungvv
Vấn đề bạn nêu rất hay, tôi nghĩ nó cũng là điều mà nhiều người lập trình =VFP quan tâm giải quyết.

Nếu viết 1 c/t nhỏ để làm việc : "... phần đầu cài đặt font, phần cuối trả lại font..." (dùng cho những c/t đã có sẵn)thì không khó. Nhưng vấn đề còn ở chỗ: nếu ta chạy cùng lúc 2,3.. c/t cũng làm như vậy thì cũng vẫn sẽ gặp rắc rối! Giải quyết vấn đề này có thể = cách (theo mình): mỗi khi c/t activate thì sẽ kiểm tra font để cài. và sẽ gỡ bỏ khi c/t deactivate (chưa thử nên không biết ntn!)?

Bàn lại mục đích chuyển font hiển thị của hệ thống(đối với những c/t của chúng ta viết):
- Theo tôi, việc đổi lại font hiển thị chỉ nhằm 1 mục đích là thể hiện được menu tiếng việt (menu bar, còn menu popup thì không cần). Đơn giản nhất là dùng menu bar "không dấu" !!!. Hoặc có thể viết 1 c/t con "hook, bindevent" cái menu hệ thống. Để mỗi khi windows cần vẽ lại menu thì sẽ dùng cái font theo ý của ta. Tôi đã thử cách này, và đã có được menu tiếng việt theo font mình quy định không phụ thuộc vào hệ thống. Tuy nhiên nó vẫn bị thể hiện = font hệ thống mỗi khi bị mất focus. Và chỉ có lại khi rê chuột vào !!! Có lẽ mình chưa bắt được 1 vài event nào đó? Nếu có ai giỏi về lập trình hệ thống chắc sẽ làm được.
- Việc dùng unicode theo quy định của các cơ quan, bộ, ngành,... thì theo tôi chỉ cần khi "in ra giấy" hay chuyển File. Còn thể hiện trong c/t của mình thì vẫn có thể dùng loại font khác. Để giải quyết, có thể dùng cách Export ra Excel, Word,... thông qua 1 công cụ chuyển font hay class chuyển font. Report thì sử dụng Crytal report.


@ndtuanlucky
Đã gửi, bạn check mail nhé.

tungvv
16-01-2009, 09:59
To taynganvfp
Vấn đề về font , theo HD của bạn, m` cũng đã làm thử rồi và thấy kết quả như thế này :
+ Sau khi set font theo font mong muốn thì hiện được menu ngang, văn bản,... bằng Font việt, riêng menu dọc và tooltip thì ko hiện được .
+ Thanh taskbar tự nhiên phồng lên trông rất dị dạng, mặc dù sau khi trả về font củ của hệ thống, bạn xem hình tại đây : http://quangbinh-izs.gov.vn/tung/Task1.jpg
+ Khi ứng dụng đang còn chạy( chưa trả về nguyên trạng cấu hình desktop củ), kiểm tra mọi thứ trên desktop thì vẫn thấy ok, tên font của window, menu, ativer bar, icon ...v.v đều chỉ rỏ font mình mong muốn, nhưng sao màn hình ko hiển thị lên đúng như mong muốn, và chỉ sau khi bấm OK thì nó mới hiển thị đúng tất cả như mong muốn( chỉ bấm OK thôi, ko cần lựa chọn gìthêm nữa). Việc cài đặt desktop bằng tay cũng chỉ như vậy mà thôi nhưng nó lại hiển thị font rất đúng và taskbar cũng ko bị phồng lên. Chổ này tôi ko biết phải làm như thế nào cả . Bạn xem tại đây : http://quangbinh-izs.gov.vn/tung/Task2.jpg
+ Có thể trong các câu lệnh chưa hoàn chỉnh nên Hệ thống chưa nhận biết được, đây là Code tôi đã sủ dụng, bạn xem hộ tôi nhé :

*---------------------------------------------------------
=SetFontSystem("ON","VK Sans serif") && cài đặt font khi khởi động CT
* Các công việc của chương trình
* ...
* ...
* Kết thúc các công việc của chương trình

=SetFontSystem("OFF","VK Sans serif") && Trả về Font nguyên trạng của Hệ thống sau khi Kthúc CT.

*--------------------------------------
* Func SetFontSystem
* Cach goi ham : SetFontSystem("ON/OFF", [pFontName])
* Vi du: SetFontSystem("ON","VK Sans serif") && Dùng phông chu Vkey
*----------------------------------------------

Func SetFontSystem
LPARAMETERS pOnOff, pFontName
* Mac dinh là phông chu "VK Sans serif" neu tham so thu hai de trong
pFontName = IIF(EMPTY(pFontName), "VK Sans serif", pFontName)
PRIVATE ALL
IF pOnOff = "ON"
IF LEN(pFontName) > 31 && Tên phông chu không hợp lệ
RETURN
ENDIF
ENDIF
SPI_GETNONCLIENTMETRICS = 41
SPI_SETNONCLIENTMETRICS = 42
lcBuffSize = 1
lcCaption = 25 + 28
lcSMCaption = 93 + 28
lcMenu = 161 + 28
lcStatus = 221 + 28
lcMessage = 281 + 28
lcBuff = CHR(340%256)+CHR(INT(340/256))+CHR(0)+CHR(0)+REPLICATE(CHR(0),340-4)
DECLARE integer SystemParametersInfo IN USER32 AS SYSINFO;
integer uiAction, ;
integer BuffSize, ;
string @Buff, ;
integer fWinIni
* Lay thông tin ve thuoc tính phông chu he thong
SYSINFO(SPI_GETNONCLIENTMETRICS, LEN(lcBuff), @lcBuff, 0)
IF pOnOff = "ON" && Neu là dat thuoc tính moi
pubOldFontName = SUBS(lcBuff, lcMenu, 31) && Lay tên phông chu hien thoi
IF FILE("SysFont.MEM")
ERASE SysFont.MEM
ENDIF
SAVE TO SysFont ALL LIKE pubOldFontName && Luu lai de hoàn nguyên
ELSE && Neu là hoàn nguyên
RESTORE FROM SysFont ADDITIVE && Lay tên phông chu dã luu
pFontName = pubOldFontName
RELEASE pubOldFontName
ENDIF
* Gán tri moi su thay doi thuoc tính phông chu he thong
lcBuff = STUFF(lcBuff, lcCaption, LEN(pFontName)+1, pFontName + CHR(0))
lcBuff = STUFF(lcBuff, lcSMCaption, LEN(pFontName)+1, pFontName + CHR(0))
lcBuff = STUFF(lcBuff, lcMenu, LEN(pFontName)+1,pFontName+CHR(0))
lcBuff = STUFF(lcBuff, lcStatus, LEN(pFontName)+1,pFontName+CHR(0))
lcBuff = STUFF(lcBuff, lcMessage, LEN(pFontName)+1,pFontName+CHR(0))
* Thuc hien thay doi thuoc tính phông chu he thong
SYSINFO(SPI_SETNONCLIENTMETRICS, LEN(lcBuff), @lcBuff, 0)
* Xóa khoi ký uc các hàm API
CLEAR DLLS SystemParametersInfo
RETURN
EndFunc
*------------------------------------

Như vậy đó, tayngangVFP xem giúp với nhé.
Về việc bạn nói có nhiều PM cùng sử dụng 1 lúc thì ko sao đâu, cũng rất ít khi sủ dụng đồng thời. Vấn đề nó ko phải là mình sử dụng mà là những người đang sử dụng phần mềm của mình với trình độ tin học còn hạn chế họ ko bằnglòng khi mà suốt ngày lại phải chỉnh Desktop để xem internet, nếu ko chỉnh thì khi lướt net lại phải dịch các từ ở tooltip, menu, Favorite...v.v rất khó, và họ nói cũng phải thôi. Đây cũng là nhược điểm lớn nhất cxủa VFP, các thứ còn lại theo tôi thì VFP rất OK.

ndtuanlucky
16-01-2009, 17:07
To tayngangvfp!

Cảm ơn bạn! Mình đã nhận được file! rất hay và sẽ rất hữu ích đấy!
Bạn cho mình YM để hỏi trực tiêp khi cần được không! của mình là tuanbeo1006 nhé!

vovanly
17-01-2009, 10:25
Có cách nào tự động tạo thêm 1 Field trong table không nhỉ !? Bác nào biết chỉ em với !..

tayngangvfp
17-01-2009, 10:31
@tungvv

To taynganvfp
+ Sau khi set font theo font mong muốn thì hiện được menu ngang, văn bản,... bằng Font việt, riêng menu dọc và tooltip thì ko hiện được .
+ Thanh taskbar tự nhiên phồng lên trông rất dị dạng, mặc dù sau khi trả về font củ của hệ thống, bạn xem hình tại đây : http://quangbinh-izs.gov.vn/tung/Task1.jpg
+ Khi ứng dụng đang còn chạy( chưa trả về nguyên trạng cấu hình desktop củ), kiểm tra mọi thứ trên desktop thì vẫn thấy ok, tên font của window, menu, ativer bar, icon ...v.v đều chỉ rỏ font mình mong muốn, nhưng sao màn hình ko hiển thị lên đúng như mong muốn, và chỉ sau khi bấm OK thì nó mới hiển thị đúng tất cả như mong muốn( chỉ bấm OK thôi, ko cần lựa chọn gìthêm nữa). Việc cài đặt desktop bằng tay cũng chỉ như vậy mà thôi nhưng nó lại hiển thị font rất đúng và taskbar cũng ko bị phồng lên. Chổ này tôi ko biết phải làm như thế nào cả . Bạn xem tại đây : http://quangbinh-izs.gov.vn/tung/Task2.jpg
+ Có thể trong các câu lệnh chưa hoàn chỉnh nên Hệ thống chưa nhận biết được...


1/ Có lẽ lúc gọi hàm, bạn dùng tham số thứ 4 = 0 nên windows không "thông báo" cho các cửa sổ nên có hiện tượng font chưa được cập như vậy. Bạn thử dùng như sau xem sao.
#Define SPIF_SENDCHANGE 0x2
SYSINFO(SPI_SETNONCLIENTMETRICS, LEN(lcBuff), @lcBuff, SPIF_SENDCHANGE)

-Việc taskbar bị "phồng" lên như vậy M cũng không hiểu vì sao? Hình như nếu chọn themme kiểu classic thì không bị như vậy.

-Việc thể hiện tiếng việt trên menu dọc M nghĩ nên dùng VFP để chủ động hơn. Bạn viết 1 đoạn code chỉnh lại File menu.mpr trong đó thêm từ khóa "FONT ....." vào các lệnh "DEFINE BAR ....." là có thể dùng được mà không phụ thuộc font hệ thống. Trong link trên echip có nói về cách làm này.

-Việc thể hiện tiếng việt trên thanh caption (title bar) của cửa sổ: cái này thì phụ thuộc font hệ thống. Nên có thể dùng cách là tạo 1 thanh title bar giả lập khác. Hoặc theo cách bindevent message. Bạn xem ví dụ trong Solution\New in Visual Voxpro 9.0\ Bindingto Windows Message event\GDI+ Titlebar
-Tooltip và Statusbar: có thể tạo của riêng mình để dùng.

@vovanly
Dùng lệnh:
ALTER table [Tên bảng] ADD COLUMN [Tên filed] [Kiểu]

tungvv
17-01-2009, 15:59
@tungvv
-Việc thể hiện tiếng việt trên menu dọc M nghĩ nên dùng VFP để chủ động hơn. Bạn viết 1 đoạn code chỉnh lại File menu.mpr trong đó thêm từ khóa "FONT ....." vào các lệnh "DEFINE BAR ....." là có thể dùng được mà không phụ thuộc font hệ thống. Trong link trên echip có nói về cách làm này.


Cám ơn tayngangvfp, mình cũng đã xem Echip hướng dẫn nhưng cấu trúc CT của mình ko sử dụng menu biên dịch trước mà sử dụng menu từ dbf, sau đó tự động biên dịch thông qua một OBJECT,ko sủ dụng lệnh genmenu.prg của VFP nên ko vận dụng được theo kiểu Echip đã hướng dẫn. Mình đang tiếp tục tìm hiểu.
Khi thực hiện theo HD của bạn, Mình đã thể hiện phần lớn tiếng việt rồi và hoàn trả đầy đủ desktop sau khi kết thúc , tuy nhiên menu dọc và tooltip thì ko được. Bạn có chi tiết code nào ko giúp mình với nhé. Thanks

vovanly
19-01-2009, 12:32
Hôm trước Em có thấy ai đó hướng dẫn cách xử lý việc khi chạy *.exe chớp một cái là tắt, khi dịch qua *.app thì chạy ngon lành. Bây giờ kiếm đỏ cả con mét mà không ra.? Bác nào biết chỉ Em với !. Em cám ơn các Bác nhiều.!

nktkbnn
20-01-2009, 07:58
Không biết có bác nào có phần mềm nào đọc được code của file *.app không nhỉ? Em nhớ ở đâu đó có phần mềm đọc được code của VB thì tại sao lại không có phần mềm đọc code của app!

[=========> Bổ sung bài viết <=========]


Không biết có bác nào có phần mềm nào đọc được code của file *.app không nhỉ? Em nhớ ở đâu đó có phần mềm đọc được code của VB thì tại sao lại không có phần mềm đọc code của app!
Sao không thấy bác nào trả lời thế nhỉ? Giúp em với!

alone_night
23-01-2009, 16:57
Năm mới xin chúc các mem trong CLB Foxpro một năm dồi dào sức khỏe và may mắn!

haibvhp
24-01-2009, 11:02
Không biết có bác nào có phần mềm nào đọc được code của file *.app không nhỉ? Em nhớ ở đâu đó có phần mềm đọc được code của VB thì tại sao lại không có phần mềm đọc code của app!

[=========> Bổ sung bài viết <=========]


Sao không thấy bác nào trả lời thế nhỉ? Giúp em với!

Bạn dùng REOX XI để dịch ngược.

hctv1909
28-01-2009, 15:21
C#, Vb.net, Java là tuyệt vời rồi

maxkill
04-02-2009, 23:40
mình cung mê vfp này lắm, nhưng mình mới chỉ là dân mới không biết nhìu hiện nay mình đang viết một chương nhỏ cho cty của mình nhưng đến phần thiết kế form mình không có khiếu thẩm mĩ lắm bạn nào có thể cho mình biết chổ nào có các kiểu form độc đáo để mình tham khảo được không hoặc gửi cho mình xem củng được.cảm ơn nhiều
email: cuong8ql3@gmail.com

sangthqlk25
12-02-2009, 14:55
Có sư huynh nao biết về XML trong fox không chỉ cho đệ với

phanquocdoan
13-02-2009, 16:31
Chào các chiến hữu, mình là 01 fan của VFP, kinh nghiệm không nhiều, cho mình tham gia diễn đàn này nhé....

emgaivfp
20-02-2009, 15:54
Chào mọi người.
Hiện tại đang lập trình trên bản VFP6 nay muốn chuyển sang VFP9.
1. Cho mình hỏi những code của VFP6 chuyển sang VFP9 như thế nào cho đở phải viết lại code của chương trình cũ.
2. Hiện nay đang chuyển sang VFP9-SQL2000 kết nối qua ODBC+ Remote View,
Vậy có cách nào sử dụng các lệnh trong VFP9 để tạo kết nối tới ODBC không vậy, chứ tạo bàng thủ công nhiều khi không hay.
3. Muốn xuất số liệu từ View của VFp9 ra Excel mà chuyển được font TCVN3 sang unicode.

4. Tai sao khi kết nối ODBC từ máy tính có tên server MAY1 đến máy tính sever:may2 thì không kết nối được và đưa ra thông báo nhứ sau:
Connection failed:
Sqlstate:'01000'
SQL server error: 53
(Microsoft)(ODBC SQL server driver)(DB\EITLIB) ConnectionOpen (connect))
Connection failed:
Sqlstate:'08001'
SQL server error: 17
(Microsoft)(ODBC SQL server driver)(DB\EITLIB) SQL server does not exist or access denied.

Hai máy này kết nối với nhau trong Workgroup có địa chỉ IP là: 192.168.0.1, 192.168.0.2

nếu kết nối ODBC tại một máy bất kỳ thì vào bình thường.


Xin cảm ơn trước. nếu có thể hướng dẫn chi tiết cho mình với nhé, vì mình không phải học chuyên ngành công nghê thông tin.

tayngangvfp
21-02-2009, 08:07
Chào bạn
1) Chuyển từ VFP6 sang VFP9 tuy có 1 số khác biệt, nhưng cũng không cần phải sửa đổi gì nhiều. Bạn cứ chạy thử trên VFP9, nếu lỗi phát sinh ở đâu sẽ sửa tại đó thôi mà!.
2)Tạo kết nối dùng lệnh: tôi hay dùng như sau
cChuoiKetNoi= "DRIVER=SQL server;";
+"SERVER="+Tên Sever+";";
+"UID="+TÊn người dùng+";";
+"PWD="+Mật khẩu đăng nhập+";";
+"APP=Microsoft Visual FoxPro;";
+"DATABASE="+Tên Database

CREATE CONNECTION "ConSQL" CONNSTRING cChuoiKetNoi
DBSETPROP("ConSQL","CONNECTION","DispLogin",3)
lnConnHandle=SQLCONNECT("ConSQL")
IF lnConnHandle<>-1
* Ket noi OK
ELSE
* Khong ket noi duoc
ENDIF
3)Dùng class chuyển Font. Nếu cần, bạn để lại email tôi sẽ gửi.
4) Có thể do SQL ở sever không được cấu hình để dùng remote access. Bạn thử dùng cách kết nối thủ công = file ******.udl xem có được không. Hoặc xem lại thiết lập của SQL sever

Chúc thành công

bjtin1
21-02-2009, 10:27
mình đang làm btl thiết kế xong suôi hết roài, nhưng sao mình chay menu nó báo lỗi thế nj :http://www.uploadanh.com/upload/0/7/0.855944001235205422.jpg
m đã đánh dấu top-level button với show 2- windows roài ko đc sao thế nhi?
các bro jup jum vn faj nộp ui

emgaivfp
22-02-2009, 17:42
Xin cảm ơn tayngangvfp và mọi người.
Mình xẽ làm theo hướng dẫn của bạn.
Cho mình hỏi thêm cách tạo Database và Table trong SQL2000 theo đường dẫn tự chọn và thư mục tự chọn từ VFP9.
Tayngangvfp có thể cho mình cách chuyển số liệu từ View sang Excel chuyển font sang Unicode theo địa chỉ:lamvn4@yahoo.com.vn.
Xin cảm ơn mọi người trước.

[=========> Bổ sung bài viết <=========]

Chào mọi người.
Mình tạo kết nối trên ODBC tới SQL2000 theo chỉ dẫn của Tayngangvfp như sau:
cChuoiKetNoi=("driver=SQL server;
server=LAM04\HANOI;UID=sa;PWD=;APP=SQL server;database=master")

CREATE CONNECTION "ConSQL" CONNSTRING cChuoiKetNoi
DBSETPROP("ConSQL","CONNECTION","DispLogin",3)
lnConnHandle=SQLCONNECT("ConSQL")
IF lnConnHandle<>-1
* Ket noi OK
MESSAGEBOX("Ket noi duoc toi SQL Server",64,"Thong bao")
ELSE
* Khong ket noi duoc
MESSAGEBOX("Khong ket noi duoc toi SQL Server",64,"Thong bao")
ENDIF

Đưa ra thông báo: No database is open or set as the current database
Nhờ mọi người giúp, xin cảm ơn trước.

ham_vui1973
24-02-2009, 18:14
chào các bạn
hiện mình đang rất cần 1 thư viện chuyển đổi font từ TCVN sang UNICODE và ngược lại bạn nào có giúp mình với email của mình là ham_vui1973@yahoo.com
TKS!

tayngangvfp
25-02-2009, 07:50
........
.... Đưa ra thông báo: No database is open or set as the current database
Nhờ mọi người giúp, xin cảm ơn trước.

Đoạn lệnh trên tạo 1 kết nối (của VFP) => nó phải được lưu trữ trong 1 database ****.DBC. Vì vậy trước khi thực hiện đoạn lệnh trên, bạn phải tạo 1 database (hoặc mở 1 database đã có ) để lưu nó.

@emgaivfp,ham_vui1973
Đã gửi thư viện chuyển font. Chúc vui

toluong
25-02-2009, 10:27
Mò bao nhiêu lâu mới thấy các bác VS Foxpro
Học từ Fox dos, mầy mò lên VS thấy ếch quá!
Có bác nào có phần mềm chống refox ko cho mình xin bản.
Đang có chương trình chuẩn bị đưa vào chạy thử nghiệm, chỉ sợ chú nào máy tay refox của mình thì die mất!.
Viết chương trình chạy OK, nhưng hơi slowly, có ai sành giúp mình với
1. có tệp bệnh nhân điều trị nội trú tại một bệnh viện.
Có thể điều trị trong 1 quý là n lần:
nhưng những lần điều trị không được trùng ngày nhau:
VD lần DT1: 2/2/09-10/2/09 lần ĐT2: 11/2/09-23/3/09 lần đt3 1/1/09/-10//1/09 thì OK kông vấn đề gì
nhưng 1 trong 3 lần này trùng nhau VD
lần ĐT1: 2/2/09-10/2/09 lần đt2 9/2/09/13/2/09 là sai ko cho phép
tương tự: ((ngay_vao = m.ngay_vao or ngay_ra=m.ngay_ra) OR (ngay_vao >= m.ngay_vao AND ngay_vao < m.ngay_ra) OR (ngay_ra> m.ngay_vao and ngay_ra =< m.ngay_ra) OR (ngay_vao < m.ngay_vao AND ngay_ra> m.ngay_ra))
sau đó phát hiện và đánh dấu, hiển thị ra nhưng người sai:
vd trong >=2 bản ghi bị trùng thì đánh dấu ra 1 reco đầu là đúng những reco sau la sai. để những nhập việu viên kiểm tra và hiệu chỉnh lại.
2. Kiểm tra trùng liên viện ( trong 1 quãng thời gian có thể 1 bệnh nhân ĐT ở các viện khác nhau, nhưng ko cùng trong 1 thời gian nhất định như 1.)
Mình viết đoạn code chạy đc nhưng hơi bị rùa bò,và cảm thấy rườm rà quá 100ng reco mất khoảng 2 phút, Bác nào có cao kiến ra tay giúp với. ym: toluong78@yahoo.com online 8/24h. (ẩn mặt) thanks!

tayngangvfp
25-02-2009, 14:03
@toluong
- Vấn đề Refox: bạn có thể dùng chính Refox để chống Refox. Tuy nhiên thường là phiên ra sau lại "refox" được phiên bản trước! Hoặc các phần mên khác cũng có thể (unfox, ...). Vì vậy bạn muốn bảo vệ c/t của mình thì phải luôn dùng bản Refox mới nhất.
-Vấn đề chạy chậm: bạn gửi file dữ liệu để mình xem có cách nào ko

damanthoidai
25-02-2009, 19:22
cho hoi vfp 9 có hỗ trợ cho nhập liệu vào form va report trực tiếpfont unicode tiếng việt haykho6ng, nếukho6ng thì xinchi3 cách khắcphuc5

[=========> Bổ sung bài viết <=========]

cho hoi vfp 9 có hỗ trợ cho nhập liệu vào form va report trực tiếp font unicode tiếng việt hay không, nếu không thì xin chỉ cách khắc phục

emgaivfp
26-02-2009, 12:58
Xuất ra Excel chuyển font TCVN3 sang Unicode.
Cám ơn Tayngangvfp mình đã nhận được mail rồi.

[=========> Bổ sung bài viết <=========]

Chào mọi người.
cServer = "LAM04\HANOI"
hdl = SQLSTRINGCONNECT("DRIVER=SQL Server;SERVER=" + cServer + ;
";UID=sa;PWD=;APP=Microsoft Open Database Connectivity;DATABASE=tempdb")

cChuoiKetNoi=("driver=SQL server; server=LAM04\HANOI;UID=sa;PWD=;APP=Microsoft Visual FoxPro;database=tempdb")
CREATE CONNECTION "ConSQL" CONNSTRING cChuoiKetNoi
DBSETPROP("ConSQL","CONNECTION","DispLogin",3)
lnConnHandle=SQLCONNECT("ConSQL")
IF lnConnHandle<>-1
* Ket noi OK
MESSAGEBOX("Ket noi duoc toi SQL Server",64,"Thong bao")
ELSE
* Khong ket noi duoc
MESSAGEBOX("Khong ket noi duoc toi SQL Server",64,"Thong bao")
ENDIF
Đưa ra thông báo: No database is open or set as the current database
Nhờ mọi người giúp, xin cảm ơn trước.

tayngangvfp
28-02-2009, 10:02
....
cho hoi vfp 9 có hỗ trợ cho nhập liệu vào form va report trực tiếp font unicode tiếng việt hay không, nếu không thì xin chỉ cách khắc phục

Hiện nay, việc sử dụng unicode đã và đang dần trở thành 1 tiêu chuẩn đối với các phần mềm. Điều này là một khó khăn lớn cho các fan của VFP.

Nhằm có thể giải quyết vấn đề này, chúng ta (những người vẫn chưa thể rời bỏ chú cáo lúc này!) hãy cùng nhau trao đổi nhằm tìm ra những giải pháp "chữa cháy" trong "thời kỳ quá độ" này ! (trong khi chuẩn bị chuyển sang các ngôn ngữ khác)

Theo tôi, 1 phần mềm có thể dùng unicode như sau:

1/ Trong việc thể hiện: chỉ dùng để thể hiện như :
* label, commandbutton : do chỉ cần thể hiện được tiếng việt, nên có thể không cần dùng unicode. Vì vậy nên dùng vni,abc để thể hiện. Tuy nhiên nếu vẫn muốn dùng unicode thì vẫn được: dùng label và command trong microsof form 2.0
*menu bar (là menu bên dưới thanh tiêu đề của form). Việc sử dụng unicode trong trường hợp này là cần thiết. Vì menubar dùng font chữ được quy định bởi windows (cho tất cả các ứng dụng) nên nếu ta dùng loại font khác, sẽ gây ảnh hưởng đến các ứng dụng khác. Để giải quyết có thể dùng kỹ thuật "ownerdraw menu". Tuy nhiên khá khó.
*Titlebar: cũng như menubar, vậy có thể dùng owner titlebar" hoặc tạo riêng 1 thanh tiêu đề khác.
....
2/Trong việc nhập dữ liệu: theo tôi đây mới chính là phần cần phải dùng unicode nhất.
* Textbox, combobox: là 2 phần tử thường dùng để nhập dữ liệu nhất. Vì vậy để có thể nhập được unicode ta phải dùng textbox và combobox của microsof form 2.0

3/Trong việc xuất báo cáo: dùng crytal report

4/Trong việc lưu trữ dữ liệu:
* Các kiểu dữ liệu thông thường: Chuỗi (Char, Memo) , Số, Ngày, Logic: như vậy chỉ có kiểu chuỗi là cần lưu dưới dạng unicode. Nhưng do Field kiểu Char của VFP không hỗ trợ, nên ta phải dùng kiểu memo.
* Nhưng các tốt nhất là thiết kế lưu dữ liệu trên SQL.

5/Việc truy xuất dữ liệu unicode:
*Đối với dữ liệu lưu trữ = SQL hay Access, thông thường ta hay dùng Remote View để truy xuất. Tuy nhiên remote view sử dụng ODBC để làm việc nên không thể làm việc được với dữ liệu kiểu unicode. Thay vào đó, ta có thể dùng CursorAdapter để truy xuất theo ADO.

Trên đây là 1 số vấn đề cần giải quyết khi dùng tiếng việt , unicode. Hy vọng những ai quan tâm sẽ cùng trao đổi.
Ngoài ra, tôi đã làm 1 ví dụ về việc nhập dữ liệu = unicode. Những ai quan tâm cần tham khảo, để lại địa chỉ email, tôi sẽ gửi


@emgaiVFP

Đoạn lệnh bạn thực hiện tạo 1 kết nối (của VFP) => nó phải được lưu trữ trong 1 database ****.DBC. Vì vậy trước khi thực hiện đoạn lệnh trên, bạn phải tạo 1 database (hoặc mở 1 database đã có ) để lưu nó.

emgaivfp
02-03-2009, 09:55
VFP9-SQL2000.
Chào mọi người.
Tất cả các ngôn ngữ của Microsoft đều hỗ trợ unicode. Riêng VFP chờ mải mà chưa thấy,tuy nhiên đây không phải vấn đề quá cấp bách. Những chỗ nào cần báo cáo, xuất số liệu dùng unicode thì có thể dùng theo hướng dẫn chuyển font của Tayngangvfp tôi thấy là tốt. Những quốc gia như Hàn quốc, Trung quốc, Nga hoặc một số tập đoàn lớn hay dự án họ dùng VFP thì xử lý unicode như thế nào, khi mà số ký tự font chữ của họ rất nhiều. Tôi nghĩ microsoft có kế hoạch kinh doanh riêng cho VFP khi mà VFP vẫn miễn phí.
Tôi nghĩ họ không thể ngừng phát triển VFP vì có nhiều quốc gia cũng như các tập đoàn vẫn sử dụng VFP, họ vẫn đang đi thâu tóm các ngôn ngữ khác thì không có lý gì lại tạo ra một đối thủ cạnh tranh mới.
TayngangVFp cho mình thí dụ về nhập unicode theo địa chỉ:
Mail: lamvn4@yahoo.com.vn
Xin cảm ơn trước. Tayngangvfp ở đâu vậy, nếu ở Hà nội thì có thể bủi nào đó bạn rổi có thể gia rư cho mình một số vấn đề về VFP9-SQL2000 không, chứ mình loay hoay mải về ODBC mà chưa có được.

icanvn
02-03-2009, 14:07
Tôi cũng là một fan cua Vfp, tuy nhiên trình độ còn hạn chế, tìm mãi mới thấy được Topic này, thật là may. Từ nay có thể nhờ đỡ các Sư Huynh rồi.
Tiện đây cho tôi hỏi làm cách nào để import 1 file excel vào file dpf.
Làm mãi mà không được, anh em nào đã từng làm rồi xin làm ơn chỉ giáo.
Xin cảm ơn trước!

tayngangvfp
03-03-2009, 07:42
Tôi cũng là một fan cua Vfp, tuy nhiên trình độ còn hạn chế, tìm mãi mới thấy được Topic này, thật là may. Từ nay có thể nhờ đỡ các Sư Huynh rồi.
Tiện đây cho tôi hỏi làm cách nào để import 1 file excel vào file dpf.
Làm mãi mà không được, anh em nào đã từng làm rồi xin làm ơn chỉ giáo.
Xin cảm ơn trước!

@ icanvn: M không hiểu file dpf là gì? Bạn nói rõ hơn được không.


@ emgaiVFP : Đã gửi ví dụ. Bạn xem rồi cùng trao đổi nhé. M ko ở Hà nội!

icanvn
03-03-2009, 08:41
Cảm ơn bạn Tayngang
Cảm ơn bạn emgaiVFP!
Y mình là như thế này:
Hiện mình đang co 1 file excel HOSONHANSU.XLS và 1 table của VFP cũng có tên HOSONHANSU.DBF hai file nay có cùng 1 định dạng của các field.
Mình muốn import dữ liệu của bảng HOSONHANSU.XLS vào bảng HOSONHANSU.DBF
(Import bằng code chứ không phải import bằng wizard của Fox)

tayngangvfp
03-03-2009, 09:42
Cảm ơn bạn Tayngang
Cảm ơn bạn emgaiVFP!
Y mình là như thế này:
Hiện mình đang co 1 file excel HOSONHANSU.XLS và 1 table của VFP cũng có tên HOSONHANSU.DPF hai file nay có cùng 1 định dạng của các field.
Mình muốn import dữ liệu của bảng HOSONHANSU.XLS vào bảng HOSONHANSU.DPF
(Import bằng code chứ không phải import bằng wizard của Fox)

file HOSONHANSU.DPF là HOSONHANSU.DBF?

Có nhiều cách để nhập từ XLS vào DBF: dùng code đọc từng dòng, dùng lệnh Appen From, dùng ODBC,....

Ví dụ
1/ Dùng Appen
****************
tcFile=GETFILE("xls")
IF EMPTY(tcFile)
RETURN
ENDIF
IMPORT from [&tcFile] TYPE xls
*****************
2/Dùng ODBC
****************************
CLOSE TABLES ALL
lcXLS = Getfile('XLS')
lcConn = "Driver={Microsoft Excel Driver (*.xls)};"+;
"DriverId=790;Dbq="+m.lcXLS+;
";DefaultDir="+Justpath(m.lcXLS)+";"
lnHandle = Sqlstringconnect(m.lcConn)
SQLTables(m.lnHandle,"", "Cur_ListOfSheet")
* Chi xet nhung Sheet thuc su la Sheet !
SET FILTER TO ALLTRIM(Table_type)=[SYSTEM TABLE]

* Chi nhap 1 sheet
GO TOP
lcTableName = Trim(Cur_ListOfSheet.Table_Name)
lcOutput = Chrtran(m.lcTableName,'$','')
SQLExec(lnHandle,'select * from ['+m.lcTableName+']',m.lcOutput )

IF SQLDisconnect(m.lnHandle)=1
m.lnHandle=0
ENDIF

BROWSE
* Save to ......
****************

tungvv
03-03-2009, 10:00
...Việc thể hiện tiếng việt trên thanh caption (title bar) của cửa sổ: cái này thì phụ thuộc font hệ thống. Nên có thể dùng cách là tạo 1 thanh title bar giả lập khác. Hoặc theo cách bindevent message. Bạn xem ví dụ trong Solution\New in Visual Voxpro 9.0\ Bindingto Windows Message event\GDI
Chúc thành công...

Chào tayngangvfp,bạn có code nào về việc hiển thị tiếng việt trên thanh title bar bằng cách giả lập hoặc theo cách bindevent message. Mình đã xem ví dụ trong Visual Fox9 nhưng ko hiểu, xem ra nó phức tạm lắm. Nếu có gửi cho mình theo : tungvv@gmail.com
Cám ơn trước nhé .

icanvn
03-03-2009, 10:25
file HOSONHANSU.DPF là HOSONHANSU.DBF?

Có nhiều cách để nhập từ XLS vào DBF: dùng code đọc từng dòng, dùng lệnh Appen From, dùng ODBC,....

Ví dụ
1/ Dùng Appen
****************
tcFile=GETFILE("xls")
IF EMPTY(tcFile)
RETURN
ENDIF
IMPORT from [&tcFile] TYPE xls
*****************
2/Dùng ODBC
****************************
CLOSE TABLES ALL
lcXLS = Getfile('XLS')
lcConn = "Driver={Microsoft Excel Driver (*.xls)};"+;
"DriverId=790;Dbq="+m.lcXLS+;
";DefaultDir="+Justpath(m.lcXLS)+";"
lnHandle = Sqlstringconnect(m.lcConn)
SQLTables(m.lnHandle,"", "Cur_ListOfSheet")
* Chi xet nhung Sheet thuc su la Sheet !
SET FILTER TO ALLTRIM(Table_type)=[SYSTEM TABLE]

* Chi nhap 1 sheet
GO TOP
lcTableName = Trim(Cur_ListOfSheet.Table_Name)
lcOutput = Chrtran(m.lcTableName,'$','')
SQLExec(lnHandle,'select * from ['+m.lcTableName+']',m.lcOutput )

IF SQLDisconnect(m.lnHandle)=1
m.lnHandle=0
ENDIF

BROWSE
* Save to ......
****************

Cam ơn tayngang nhieu nhe. Neu ban o SG thi luc nao ranh uong cafe nhe.

[=========> Bổ sung bài viết <=========]

Tôi thường gặp tình trạng khi chương trình của mình đang chạy và đột nhiên bị cúp điện thi khi mở chương trình lên lại thì table bị lỗi và phải sửa lại.
Anh em nào có kinh nghiệm trong việc này xin chỉ giáo với.

Một vấn đầ nữa là chương trình của mình đã dịch ra *.exe rồi và chạy tốt trên hầu hết các máy tính. Nhưng không hiểu sao khi đêm qua máy của bà chị thì nó không cho nhập quá 6 ký tự đối với các trường kiểu Numeric.Các trường thuộc kiểu character thì bình thương.(Mặc dù các trường kiểu số này mình qui định tối đa là 20 ký tự, đã kiểm tra thuộc tính maxlength).
Các trường Cảm ơn nhiều!

toluong
03-03-2009, 13:54
minh đã gửi kèm file ko biet có post dc ko. nếu kô post đc, tay ngang co the cho minh xin cai email để mình gửi, check hộ mình nhé, thanks- Vấn đề: đối chiếu phát hiện những bệnh nhân điều trị trùng trong 1 thời gian. day nhanh toc do len, chu minh lam cách này hơi chậm, nếu như chỉ là( mã thẻ và ngày vào thi rất nhanh - dữ liệu khám chữa bệnh ngoại trú), nhưng đây lại là dữ liệu điều trị nội trú lên bắt buộc phải bẫy thời gian theo cách này.

icanvn
03-03-2009, 22:20
Bác nào cái hàm dịch ngày tháng năm dương lịch sang âm lịch và chuyển đổi can, chi cho ngày âm lịch không cho Em xin với !. Em em ơn các Bác trước..

[=========> Bổ sung bài viết <=========]

Bác nào hướng dẫn giúp em cách tạo mã vạch. Em cám ơn nhiều !..

De tao ma vach Ban dung font Free3of9 la duoc thoi. Neu ko co minh gui cho.

emgaivfp
05-03-2009, 09:53
Chào mọi người.
Cám ơn Tayngangvfp mình đã nhận được mail về nhập Unicode, mình đã thử có một vài tư như "vũ" không nhập được.
Cho mình hỏi mọi người lấy số liệu từ Excel có đuôi SXLS của office2007 như thế nào. mình đã thử chuyên sang SXLS nhưng không đưa vào được.
Cảm ơn trước.

rong70
05-03-2009, 13:36
Chào bạn TayngangVFP.
Mình thấy tay bạn không ngang tý nào cả. Mình đang vướng về vấn đề nhập liệu và xuất kết quả ra dạng file .Txt và Xls định dạng unicode. Bạn cho mình xin code "Xuất ra Excel chuyển font TCVN3 sang Unicode" và "ví dụ về việc nhập dữ liệu = unicode" với nhé. Đây là địa chỉ mail của mình rongconkl@yahoo.com. Chúc bạn luôn vui, khỏe giúp đở được nhiều người. Cám ơn bạn trước nhé.

tayngangvfp
05-03-2009, 15:19
Chào mọi người.
Cám ơn Tayngangvfp mình đã nhận được mail về nhập Unicode, mình đã thử có một vài tư như "vũ" không nhập được.
Cho mình hỏi mọi người lấy số liệu từ Excel có đuôi SXLS của office2007 như thế nào. mình đã thử chuyên sang SXLS nhưng không đưa vào được.
Cảm ơn trước.

Bạn dùng bộ gõ nào? Mình dùng Unikey và gõ "vũ" được mà?

@rong
Đã gửi. Chúc vui

rong70
05-03-2009, 15:48
To TayngangVFP
Cám ơn bạn rất nhiều. Mình đã nhận được Mail. Để mình nghiền ngẩm tý sau đó làm phiền bạn tiếp nhé. Chúc bạn 1 ngày làm việc vui vẽ.

emgaivfp
05-03-2009, 17:38
VFP9-Unicode
Chào mọi người.
mình dùng Vietkey, unicode dựng sẵn.
Cảm ơn trước.

tayngangvfp
06-03-2009, 08:33
VFP9-Unicode
Chào mọi người.
mình dùng Vietkey, unicode dựng sẵn.
Cảm ơn trước.

M đã thử dùng bản Vietkey 2000 build 332 và không thấy có vấn đề gì. Vẫn nhập "vũ" được. Như vậy có thể bộ gõ trong máy của emgaivfp có gì khác chăng?


* Tiếp tục bàn về unicode

- Trong một chủ đề trên trang www.foxite.com. Đã có người thực hiện được thể hiện unicode đa ngôn ngữ trên 1 report (ngày post 30/12/2008). Đáng tiếc là anh này chưa cho biết cách làm cụ thể. Các bạn xem tại đây http://www.foxite.com/archives/vfp-unicode-0000209473.htm
- Việc thể hiện unicode trên grid (của VFP) là không được. Vì vậy phải dùng 1 trong 2 giải pháp:
1/Dùng MSHFlexGrid thay thế cho grid: thể hiện unicode rất tốt. Nhưng nếu muốn nhập liệu trực tiếp trên MSHFlexGrid thì phải code khá vất vả (do M chưa hiểu về nó nhiều).
2/Vẫn dùng Grid của VFP. Nhưng phải thực hiện chuyển đổi Unicode=>VNI (hoặc ABC). Và code 1 chút để khi thực hiện nhập, ta sẽ giả lập = cách nhập vào 1 ole textbox của microsoft form 2.0 (hoặc combobox). Cách này có nhược điểm là "nhìn" thì vẫn là không dùng unicode. Nhưng người dùng khi nhập liệu vẫn nhập được = unicode. (cách nhập liệu kiểu này thường dùng cho các form 1-n như chi tiết hoá đơn mua/bán/nhập/xuất hàng). M đang dùng cách này.

@ham_vui1973
- Để lưu dữ liệu kiểu unicode trên SQL, ta phải dùng các field kiểu: nchar,nvarchar,... (những kiểu bắt đầu bằng chữ n).
- Control textbox của microsoft form 2.0 có 1 thuộc tính là multiline. Ta sẽ thiết lập nó = .T. để có thể nhập được nhiều dòng => thay thế cho Editbox của VFP để nhập liệu cho Field memo.

Mong các Fan của VFP tiếp tục đóng góp để cho chú cáo có thể làm việc với unicode tốt hơn.

rong70
06-03-2009, 09:03
To TayngangVFP.
Mình không thể Modify hoặc Run Form ChuyenDoiFont nếu không cài VFP9. Mặc dù mình đã chép 1 số file .Dll kể cả file Vfp9.exe như bạn đã hướng dẫn trước đây. Còn thiếu file nào không hướng dẫn mình với nhé.
Cám ơn bạn trước.