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

The Old Man
01-07-2010, 21:59
ai cho mình hỏi làm thế nào để lọc đc người " nữ" hiển thị ra màn hình
mình dùng
where gioi_tinh="f";
nó báo lỗi như ko hỉu vì gioi_tinh đặt khóa logical t or f ùi

help me!!!!!!!

where gioi_tinh=.f.;

danngudien
01-07-2010, 23:32
sử dụng câu lệnh nào để chuyển bảng mã Unicode sang bảng mã VNI và ngược lại trong visuafoxpro ai có code này cho xin với nhé!

xuanvtvp87
02-07-2010, 20:22
cảm ơn bạn The Old Man nhé - chúc bạn vui ve?

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

Bạn cho mình hỏi in ra người có tuổi lớn hơn 17 tính theo năm
mình dùng
WHERE Year(now)-year(Ngay_sinh)=17 đc k nhỉ ?

The Old Man
02-07-2010, 22:27
cảm ơn bạn The Old Man nhé - chúc bạn vui ve?

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

Bạn cho mình hỏi in ra người có tuổi lớn hơn 17 tính theo năm
mình dùng
WHERE Year(now)-year(Ngay_sinh)=17 đc k nhỉ ?

Như trên chỉ in ra những người đúng 17 tuổi mà thôi.

Phải như thế này:
WHERE Year(now)-year(Ngay_sinh)>=17

xuanvtvp87
03-07-2010, 06:37
Cho cơ sở dữ liệu gồm 2 tệp như sau:
- Tệp hanghoa.dbf
Mahang index
Tenhang
Donvitinh
Dongia
Ngaynhap
slxuat
ngayxuat
- Tệp tonkho.dbf

Mahang index
Tenhang
ngaytonkho
sltonkho
tientonkho
Từ dữ liệu của tệp hanghoa.dbf viết chương trình cập nhật đầy đủ các thôgn tin vào tệp tồn kho.dbf( tệp chương trình là cau4c1.prg)
-> mình dùng lệnh
USE\hanghoa ALIAS TS IN 0 INDEX\CHIMUC1
USE\tonkho ALIAS DIEM IN 0 INDEX\CHIMUC2
SELECT TS
SET RELATION TO Mahang INTO DIEM
SCAN
REPLACE DIEM.Mahang WITH TS.Mahang
ENDSCAN
Sao nó chỉ cập nhật mỗi 1 giá trị của Mahang đầu tiên vào tệp "Tonkho" nhỉ ? mình muốn Mahang(hanghoa) cập nhật tự động sang tệp "Tonkho"
còn mình dùng INSERT INTO hay APPEND mỗi lần chạy là nó thêm chứ k phải cập nhật mong bạn giúp- THANKS -chúc bạn ngày vui vẻ

tayngangvfp
03-07-2010, 07:35
......
tientonkho
Từ dữ liệu của tệp hanghoa.dbf viết chương trình cập nhật đầy đủ các thôgn tin vào tệp tồn kho.dbf( tệp chương trình là cau4c1.prg)
-> mình dùng lệnh
USE\hanghoa ALIAS TS IN 0 INDEX\CHIMUC1
USE\tonkho ALIAS DIEM IN 0 INDEX\CHIMUC2
SELECT TS
SET RELATION TO Mahang INTO DIEM
SCAN
REPLACE DIEM.Mahang WITH TS.Mahang
ENDSCAN
Sao nó chỉ cập nhật mỗi 1 giá trị của Mahang đầu tiên vào tệp "Tonkho" nhỉ ? mình muốn Mahang(hanghoa) cập nhật tự động sang tệp "Tonkho"
còn mình dùng INSERT INTO hay APPEND mỗi lần chạy là nó thêm chứ k phải cập nhật mong bạn giúp- THANKS -chúc bạn ngày vui vẻ

USE\hanghoa ALIAS TS IN 0 INDEX\CHIMUC1
USE\tonkho ALIAS DIEM IN 0 INDEX\CHIMUC2

SELECT DIEM
SET RELATION TO Mahang INTO TS
SCAN
REPLACE DIEM.Mahang WITH TS.Mahang
ENDSCAN

xuanvtvp87
03-07-2010, 19:26
AI cho mình hỏi lệnh
cho bảng cau4a1 (SBD,HOTEN) Nhập dữ liệu cau4a1
bảng cau4a2 (SBD,HOTEN,KETQUA) Nhập vào KETQUA
cập nhật SBD,HOTEN bảng cau4a1 sang cau4a2
---------------
close databases all
USE\cau4a1 ALIAS TS IN 0 INDEX\CHIMUC2
USE\cau4a2 ALIAS DIEM IN 0 INDEX\CHIMUC1
SELECT diem
delete FOR (SBD=DIEM.SBD AND HOTEN=DIEM.HOTEN)
pack
append from cau4a1 field SBD,HOTEN

--------------------
Viết lệnh như mình thế này bắt buộc phải lưu vào ổ C:\ mới chạy đc hả - có cách nào như đườg dẫn động để đâu trong cùng thư mục chạy đc k nhỉ= hi hi

ppl
07-07-2010, 03:00
Chào TayngangVFP! Mình đã đọc bài Messagebox tiếng việt của bạn và thấy rất hay, tuy vậy form này chỉ hoạt động trong _Screen. Nếu gọi form này từ một form khác mà ở sự kiện init có những lệnh như Application.Visible=.T. (_Screen.Visible=.T.) thì không được. Nếu chỉnh điều đó được thì chương trình khả thi hơn.

tayngangvfp
07-07-2010, 10:21
Chào TayngangVFP! Mình đã đọc bài Messagebox tiếng việt của bạn và thấy rất hay, tuy vậy form này chỉ hoạt động trong _Screen. Nếu gọi form này từ một form khác mà ở sự kiện init có những lệnh như Application.Visible=.T. (_Screen.Visible=.T.) thì không được. Nếu chỉnh điều đó được thì chương trình khả thi hơn.

Đây là 1 form tư tạo nên có thể tuỳ chỉnh mọi thứ được.

Bạn thay đổi thuộc tính ShowWindow của form thongbao.scx

.ShowWindow=0/1/2

ppl
11-07-2010, 13:05
Cám ơn TayngangVFP nhiều.

dongnamnb
12-07-2010, 14:29
Tôi có đoạn code này của foxpro đã chạy ra kết quả như ý muốn. Tuy nhiên khi khối lượng dữ liệu lớn (khoảng vài chục nghìn record) thì thời gian xử lý rất lâu, mất khoảng 20 phút. Tôi không thạo fox lắm, nhờ các Pro tinh chỉnh giúp tôi để nó xử lý nhanh hơn:

mPath = ‘C:\PM\’

IF .NOT. (DIRECTORY(mPath))
MESSAGEBOX(‘Khong thay thu muc du lieu’)
RETURN
endif


SELECT 1
USE (mPath+'part1') alia m_part1 EXCLUSIVE

SELECT 2
USE (mPath+'part2') alia m_part2 EXCLUSIVE

SELECT 3
USE (mPath+'part3') EXCLUSIVE
i=1
SCAN
oldSTT=STT
oldma_hang=ma_hang
sti=allTRIM(STR(i))
newSTT=LEFT("A000000000",(10-LEN(sti))) + sti
REPLACE STT WITH newSTT
REPLACE STT WITH newSTT FOR stt=oldSTT .AND. ma_hang=oldma_hang IN m_part1
REPLACE STT WITH newSTT FOR stt=oldSTT .AND. ma_hang=oldma_hang IN m_part2
I = i+1
ENDSCAN

ENDPROC

Chân thành cảm ơn!

tuan_tvkg
12-07-2010, 14:55
IF .NOT. (DIRECTORY(mPath))
MESSAGEBOX(‘Khong thay thu muc du lieu’)
RETURN
endif


SELECT 1
USE (mPath+'part1') alia m_part1 EXCLUSIVE
*Them Index
INDEX on Stt + Ma_Hang TAG Stt

SELECT 2
USE (mPath+'part2') alia m_part2 EXCLUSIVE
*Them Index
INDEX on Stt + Ma_Hang TAG Stt

SELECT 3
USE (mPath+'part3') EXCLUSIVE
i=1
SCAN
oldSTT=STT
oldma_hang=ma_hang
sti=allTRIM(STR(i))
newSTT=LEFT("A000000000",(10-LEN(sti))) + sti
REPLACE STT WITH newSTT
*Sua lai For bang lenh Rest While chuong trinh se chay nhanh hon
SELECT m_part1
REPLACE STT WITH newSTT REST WHILE stt=oldSTT .AND. ma_hang=oldma_hang
SELECT m_part2
REPLACE STT WITH newSTT REST WHILE stt=oldSTT .AND. ma_hang=oldma_hang
SELECT 3
I = i+1
ENDSCAN

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

*Xin loi minh sua lai vi thieu lenh Seek
IF .NOT. (DIRECTORY(mPath))
MESSAGEBOX(‘Khong thay thu muc du lieu’)
RETURN
endif


SELECT 1
USE (mPath+'part1') alia m_part1 EXCLUSIVE
*Them Index
INDEX on Stt + Ma_Hang TAG Stt

SELECT 2
USE (mPath+'part2') alia m_part2 EXCLUSIVE
*Them Index
INDEX on Stt + Ma_Hang TAG Stt

SELECT 3
USE (mPath+'part3') EXCLUSIVE
i=1
SCAN
oldSTT=STT
oldma_hang=ma_hang
sti=allTRIM(STR(i))
newSTT=LEFT("A000000000",(10-LEN(sti))) + sti
REPLACE STT WITH newSTT
*Sua lai For bang lenh Rest While chuong trinh se chay nhanh hon
*Xin loi minh sua lai vi thieu lenh Seek
SELECT m_part1
SEEK (oldSTT + ma_hang)
REPLACE STT WITH newSTT REST WHILE stt=oldSTT .AND. ma_hang=oldma_hang

SELECT m_part2
SEEK (oldSTT + ma_hang)
REPLACE STT WITH newSTT REST WHILE stt=oldSTT .AND. ma_hang=oldma_hang
SELECT 3
I = i+1
ENDSCAN

ENDPROC

lvl
13-07-2010, 09:17
Xin các bạn cho hỏi:

Tôi có một số chương trình (của người khác viết, tôi không có mã nguồn) trên VFP 6. Giờ tôi rất cần cài vào máy chạy Windows 7 Ultimate.

Các bạn hướng dẫn giúp xem có cách nào để nó chạy được. Tôi cài xong, chạy là thấy êm ru không thấy gì cả. Mở Task manager ra thì thấy nó vẫn chạy (vẫn tốn tài nguyên).

ngthva
14-07-2010, 08:15
Chào các bạn! Các bạn cho mình hỏi:
-Mình tạo cơ dữ liệu gồm 2 cột: họ lót và tên
-Tạo Report để in, mình liên kết cột họ lót và tên chung trên báo biểu ở mẫu họ và tên: "dshs.holot + dshs.ten". Nhưng khi cho chạy báo biểu thì khoảng cách họ lót và tên cách nhau rất xa như thế này :
"NGUYEN VAN.........................THANG", Mình có dùng hàm "Trim"; "AllTrim" như thế này :
"upper(trim(dshs.holot + dshs.ten))" Nhưng khi cho chạy thử vẫn ì ra một chỗ không có gì thay đổi. Rất mong các bạn đi trước chỉ giáo giúp. Chân thành cảm ơn các bạn.

hoangnnm
14-07-2010, 08:46
Chào các bạn! Các bạn cho mình hỏi:
-Mình tạo cơ dữ liệu gồm 2 cột: họ lót và tên
-Tạo Report để in, mình liên kết cột họ lót và tên chung trên báo biểu ở mẫu họ và tên: "dshs.holot + dshs.ten". Nhưng khi cho chạy báo biểu thì khoảng cách họ lót và tên cách nhau rất xa như thế này :
"NGUYEN VAN.........................THANG", Mình có dùng hàm "Trim"; "AllTrim" như thế này :
"upper(trim(dshs.holot + dshs.ten))" Nhưng khi cho chạy thử vẫn ì ra một chỗ không có gì thay đổi. Rất mong các bạn đi trước chỉ giáo giúp. Chân thành cảm ơn các bạn.

Phải la : alltrim( dshs.holot ) + [ ] + Alltrim ( dshs.ten )

ngthva
14-07-2010, 09:31
Được gửi bởi ngthva
Chào các bạn! Các bạn cho mình hỏi:
-Mình tạo cơ dữ liệu gồm 2 cột: họ lót và tên
-Tạo Report để in, mình liên kết cột họ lót và tên chung trên báo biểu ở mẫu họ và tên: "dshs.holot + dshs.ten". Nhưng khi cho chạy báo biểu thì khoảng cách họ lót và tên cách nhau rất xa như thế này :
"NGUYEN VAN.........................THANG", Mình có dùng hàm "Trim"; "AllTrim" như thế này :
"upper(trim(dshs.holot + dshs.ten))" Nhưng khi cho chạy thử vẫn ì ra một chỗ không có gì thay đổi. Rất mong các bạn đi trước chỉ giáo giúp. Chân thành cảm ơn các bạn.

Phải la : alltrim( dshs.holot ) + [ ] + Alltrim ( dshs.ten )

Báo biều chạy rất tốt. Cám ơn bạn nhiều, chúc khoẻ

xuanvtvp87
18-07-2010, 20:00
Cho mình hỏi khi viết câu lệnh trong foxpro như cập nhật...
phải copy vào ổ mới chạy đc- sao copy vô thư mục k chạy đc- có cách nào để cho vào thư mục mà vẫn chạy đc k nhỉ?
THANKS

bluett
20-07-2010, 10:04
Mình có 1 file .dbf hiển thị tiếng việt font vni-times, giờ muốn bỏ tất cả dấu tiếng việt ( Nguyễn Văn Tèo -> Nguyen Van Teo) thì giải quyết thế nào ạ! Xịn mọi người giúp đỡ! Thanks!

thong88
20-07-2010, 10:08
lâu rôi không thăm các bạn. nè mình có một số bài quản lý bằng Fox9.0 đo. có ban nào cần không, nhưng nêu ra nội dung xem có hợp với chủ đề mình có khong nhe.
toiyeu8836@yahoo.com đó là mail của mình

foxit
20-07-2010, 15:57
Sao bạn KO share luôn đi

hoangnnm
20-07-2010, 19:35
Cho mình hỏi khi viết câu lệnh trong foxpro như cập nhật...
phải copy vào ổ mới chạy đc- sao copy vô thư mục k chạy đc- có cách nào để cho vào thư mục mà vẫn chạy đc k nhỉ?
THANKS

Nghĩa là sao nhỉ ? Bạn giải thich rõ hơn đi

danngudien
21-07-2010, 17:07
viết code như thế nào để kiểm tra Label tồn tại trên form, nếu tồn tại thì xóa đi còn lại chèn thêm vào. Các bạn giúp với nhé! xin cám ơn

vdh138
23-07-2010, 01:38
lâu rôi không thăm các bạn. nè mình có một số bài quản lý bằng Fox9.0 đo. có ban nào cần không, nhưng nêu ra nội dung xem có hợp với chủ đề mình có khong nhe.
toiyeu8836@yahoo.com đó là mail của mình

Bác có cho em xin, em bắt đầu học nên rất cần các tài liệu tham khảo.Mail của em: vdh138@gmail.com

xuanvtvp87
23-07-2010, 07:56
Ai giúp mình ý này với:
sao mình viết câu lệnh dùng hàm date() k dc nhi?
chẳng hạn mình muốn tính NGAYTONKHO = ngày hiện tại- ngày nhập
mình dùng: DATE()-hanghoa.ngaynhap
k chạy đc :
THANK

foxit
24-07-2010, 22:35
ko chạy đc, nó báo lỗi thế nào?
chẳng lẽ trả lời cho ông phải biện luận

ngomanh14
25-07-2010, 02:51
Trong Visua FOX7 mình muốn lưu thông tin khách hàng, Ví dụ như: Khách hàng đến viết hóa đơn ta chỉ cần nhập mã số thuế là các thông tin khác đã lưu trước đó như tên cơ quan, địa chỉ hiện ra không cần nhập lại mất công.
Mình Xin Cảm ơn trước.

hoangpnt349
26-07-2010, 13:31
Mình có 1 file .dbf hiển thị tiếng việt font vni-times, giờ muốn bỏ tất cả dấu tiếng việt ( Nguyễn Văn Tèo -> Nguyen Van Teo) thì giải quyết thế nào ạ! Xịn mọi người giúp đỡ! Thanks!

Bạn tham khảo đoạn code sau:

*Ham chuyen doi chuoi VNI co dau sang khong dau
PARAMETERS pChuoiVNICanDoi AS Character
PRIVATE Vni2KhongDau, wChieuDai, wKyTuKhongDau
Vni2KhongDau = []
wChieuDai = LEN(pChuoiVNICanDoi)
FOR i=1 TO wChieuDai
wKyTu = SUBSTR(pChuoiVNICanDoi, i, 1)
IF ASC(wKyTu)>122 &&*ASC(z)=122
DO CASE
CASE wKyTu=[ô]
wKyTuKhongDau = [o]
CASE wKyTu=[Ô]
wKyTuKhongDau = [O]
CASE AT(wKyTu,[íìæóò])>0
wKyTuKhongDau = [i]
CASE AT(wKyTu,[ÍÌÆÓÒ])>0
wKyTuKhongDau = [I]
CASE wKyTu=[î]
wKyTuKhongDau = [y]
CASE wKyTu=[Î]
wKyTuKhongDau = [Y]
CASE wKyTu=[ñ]
wKyTuKhongDau = [d]
CASE wKyTu=[Ñ]
wKyTuKhongDau = [D]
CASE wKyTu=[ö]
wKyTuKhongDau = [u]
CASE wKyTu=[Ö]
wKyTuKhongDau = [U]
OTHERWISE
wKyTuKhongDau = []
ENDCASE
ELSE
wKyTuKhongDau = wKyTu
ENDIF
Vni2KhongDau = Vni2KhongDau + wKyTuKhongDau
ENDFOR
RETURN Vni2KhongDau

luu_luu
27-07-2010, 08:33
Trong Visua FOX7 mình muốn lưu thông tin khách hàng, Ví dụ như: Khách hàng đến viết hóa đơn ta chỉ cần nhập mã số thuế là các thông tin khác đã lưu trước đó như tên cơ quan, địa chỉ hiện ra không cần nhập lại mất công.
Mình Xin Cảm ơn trước.
1. bạn phải có file khachhang.dbf lưu đầy đủ thông tin cần thiết...
2. trong form nhập, tại ô mã số thuê, sau khi nhập mã số thuế, lưu mst vào biến m_mst, select khachhang, tìm mã số thuế phù hợp với biến m_mst, scatter memvar memo, select nhap, gather memvar memo.

ngomanh14
27-07-2010, 22:04
1. bạn phải có file khachhang.dbf lưu đầy đủ thông tin cần thiết...
2. trong form nhập, tại ô mã số thuê, sau khi nhập mã số thuế, lưu mst vào biến m_mst, select khachhang, tìm mã số thuế phù hợp với biến m_mst, scatter memvar memo, select nhap, gather memvar memo.
Trong phần mềm cty mình ở phần từ điển cũng có file dm_khach, nhưng chỉ dùng lưu mã khách mua nợ hợp đồng: Đánh mã khách sẽ hiện lên các thông tin mình đã lưu chứ không phải đánh mã số thuế.Còn khách mua lẻ thì bó tay. Bạn có thể tạo cho mình 1 file để mình copy vào được không.

luu_luu
28-07-2010, 09:04
Trong phần mềm cty mình ở phần từ điển cũng có file dm_khach, nhưng chỉ dùng lưu mã khách mua nợ hợp đồng: Đánh mã khách sẽ hiện lên các thông tin mình đã lưu chứ không phải đánh mã số thuế.Còn khách mua lẻ thì bó tay. Bạn có thể tạo cho mình 1 file để mình copy vào được không.
mình làm mẫu thôi, nếu muốn thêm trường khác thì bạn tự thêm
create table khach (ms c(3),ht (30),mst c(20),diachi m)
nhập dữ liệu vào

ngomanh14
28-07-2010, 09:20
mình làm mẫu thôi, nếu muốn thêm trường khác thì bạn tự thêm
create table khach (ms c(3),ht (30),mst c(20),diachi m)
nhập dữ liệu vào
Mình Cảm ơn bạn nhiều, Bạn Làm xong gửi vào email cho mình nha: ngomanh14@yahoo.com.vn

hoangnnm
28-07-2010, 17:55
Mình Cảm ơn bạn nhiều, Bạn Làm xong gửi vào email cho mình nha: ngomanh14@yahoo.com.vn

hahahaaha :D , chet luu_luu rồi .

ngomanh14
29-07-2010, 00:18
1/trong dm_khach mình đã kéo mở rộng cột địa chỉ khách hàng để viết Hóa đơn cho đủ mà không được .Ví dụ địa chỉ:
346 Đường 7A,P.bình trị Đông B,Q.Bình Tân,TP.HCM
nhưng chỉ nhập đến
346 Đường 7A,P.bình trị Đông B là không viết được nữa trong khi độ rộng của cột vẫn còn,trên hóa đơn vẫn còn chỗ trống
các bạn giúp mình nha.

2/Ai biết mở file.CDX chỉ cho mình với

luu_luu
29-07-2010, 09:43
mở dm_khach, sửa cấu trúc trường diachi rộng ra thí dụ từ 30 lên 255, hay đổi kiểu trường diachi từ C sang Memo

ngomanh14
29-07-2010, 15:53
mở dm_khach, sửa cấu trúc trường diachi rộng ra thí dụ từ 30 lên 255, hay đổi kiểu trường diachi từ C sang Memo
Em cảm ơn bác nhiều. em đã sửa theo bác chỉ, nhưng chỉ thay đổi được trong phần dm_khách của từ điển. Còn lúc viết hóa đơn phần địa chỉ vẫn chỉ cho nhập đến 47 ký tự thôi.Bác xem còn phải sửa mục nào nữa chí cho em với

luu_luu
30-07-2010, 08:16
Em cảm ơn bác nhiều. em đã sửa theo bác chỉ, nhưng chỉ thay đổi được trong phần dm_khách của từ điển. Còn lúc viết hóa đơn phần địa chỉ vẫn chỉ cho nhập đến 47 ký tự thôi.Bác xem còn phải sửa mục nào nữa chí cho em với
phần viêt hóa đơn thuộc dbf nào thì mở dbf đó xong sửa trường diachi như bên dm_khach, nếu chưa được thì tại form nhập, hiệu chỉnh format của box diachi=200

haibvhp
03-08-2010, 09:48
Có ai biết cách lập trình đọc mã vạch trên VS Foxpro ko ?

sweetboy2805
03-08-2010, 16:15
Chào các bạn. Mình đang viết một chương trình trên fox 9, gặp vấn đề sau mong các bạn giúp đỡ. Chương trình mình làm cho phép nhập trực tiếp trên lưới, nhưng mình ko thể nào định dạng cho cột thu , chi theo kiểu 9,999,999 được. Nếu làm textbox thì ko có vấn đề gì, nhưng yêu cầu là nhập trực tiếp trên lưới. Các bạn ai có cách nào thì giúp mình với, thanks.

luu_luu
04-08-2010, 07:29
Chào các bạn. Mình đang viết một chương trình trên fox 9, gặp vấn đề sau mong các bạn giúp đỡ. Chương trình mình làm cho phép nhập trực tiếp trên lưới, nhưng mình ko thể nào định dạng cho cột thu , chi theo kiểu 9,999,999 được. Nếu làm textbox thì ko có vấn đề gì, nhưng yêu cầu là nhập trực tiếp trên lưới. Các bạn ai có cách nào thì giúp mình với, thanks.
thí dụ cột thu là cột thứ 5, chọn lưới-phải chuột-properties-chọn column5-tại mục FORMAT = Z , mục INPUTMASK = 999,999,999,999, lưu form - xong, tương tự cột chi cũng vậy

sweetboy2805
04-08-2010, 09:05
thí dụ cột thu là cột thứ 5, chọn lưới-phải chuột-properties-chọn column5-tại mục FORMAT = Z , mục INPUTMASK = 999,999,999,999, lưu form - xong, tương tự cột chi cũng vậy

Mình làm được rồi, thanks bạn nhiều nhé. Mìng cũng mới tập viết fox nên không rành lắm. Mình thấy các diễn đàn về fox rất ít, và đây là diễn đàn fox hấp dẫn nhất mà mình biết ( vì có nhiều cao thủ tham gia ^^)

icanvn
04-08-2010, 09:23
Chào mọi người! Mình muốn làm VFP và SQL server nhưng sao thấy khó quá.
Pro nào có tài liệu Visual Foxpro & SQL Server bằng tiếng việt thì share cho mình với.

Mình thấy tại: http://www.saharavn.com/sach-Visual%20Foxpro%20&%20SQL%20Server/page=1&sub=105&product_type=305&script=index&page_num=1&product=12951
có bán cuốn sách này nhưng đã hết hàng, tìm để mua nhưng không biết ở đâu có bán.

tayngangvfp
04-08-2010, 11:44
Có ai biết cách lập trình đọc mã vạch trên VS Foxpro ko ?

Mình chưa có thiết bị để test, nhưng lúc trước có tìm hiểu và làm thử 1 cái dùng thể hiện barcode thì hình như cái thiết bị đọc barcode cũng tương tự như bàn phím thôi chứ không phải xử lý gì đặc biệt.


@ICANVN
Mình có cuốn này, nếu bạn ở SG hay Đồng Nai thì m có thể cho mượn để photo.

hoangnnm
04-08-2010, 13:36
Mình chưa có thiết bị để test, nhưng lúc trước có tìm hiểu và làm thử 1 cái dùng thể hiện barcode thì hình như cái thiết bị đọc barcode cũng tương tự như bàn phím thôi chứ không phải xử lý gì đặc biệt.


@ICANVN
Mình có cuốn này, nếu bạn ở SG hay Đồng Nai thì m có thể cho mượn để photo.

đúng vậy , cái khó là từ vfp sinh ra mã vạch cơ . Còn nếu có thiết bị nó cũng giống như bạn ctrl+C và ctrl+V mà thôi ( bấm cái máy 1 cái thì text "chạy" ra từ dấu nhắc .

tayngangvfp
04-08-2010, 13:52
đúng vậy , cái khó là từ vfp sinh ra mã vạch cơ . Còn nếu có thiết bị nó cũng giống như bạn ctrl+C và ctrl+V mà thôi ( bấm cái máy 1 cái thì text "chạy" ra từ dấu nhắc .

.... vfp sinh ra mã vạch? M không hiểu ý bạn.
Còn nếu là hiển thị thì dùng font barcode

robotfpt
05-08-2010, 13:18
Có ai biết cách lập trình đọc mã vạch trên VS Foxpro ko ?
Thiết bị đọc mã vạch tương tự nhập liệu bằng bàn phím thôi
Còn sinh mã vạch thì bạn có thể dùng phần mềm sinh mã vạch chuyên nghiệp (ví dụ như BarTender) để tạo từ cơ sở dữ liệu của Foxpro.

hungtuan61
05-08-2010, 13:26
Có ai biết cách lập trình đọc mã vạch trên VS Foxpro ko ?

Theo như mình biết, để đọc được mã vạch hay thiết bị gắn ngoài phải lập trình qua cổng Com hoặc LPT bằng hàm cấp thấp (của VFP) và tài liệu kỹ thuật của thiết bị

thichmbbg
06-08-2010, 15:42
Chào các bạn, các bạn giúp mình với.
Trong VFP mình muốn làm tròn các số có đuôi <500 thì bỏ phần lẻ đó đi
còn nếu >=500 thì làm tròn thành 1000.
Ví Dụ:
Số: 2.780.400 ==> 2.780
Số: 2.780.600 ==> 2.781
Bạn nào biết chỉ giúp mình với nhé. Cám ơn nhiều!

tongocbao
06-08-2010, 19:04
Các bạn giúp mình bài này nha
-minh co 1 form trong form co 1 grid trong grid có cột "tên công ty" và một cột "trạng thái" có dang là "logical" kế ben cột đó là 1 nut button(button nay mình để ngay trong grid)
-minh muốn khi "trang thái" = .T. thi button nó ẫn đi ko cho click, khi "trạng thái" = .F. thi button được phép click de minh co the truyen vao cho "trang thái" ve .T.

thanks các bạn đã đọc ! rất mong đươc giúp đỡ

tayngangvfp
07-08-2010, 07:32
Các bạn giúp mình bài này nha
-minh co 1 form trong form co 1 grid trong grid có cột "tên công ty" và một cột "trạng thái" có dang là "logical" kế ben cột đó là 1 nut button(button nay mình để ngay trong grid)
-minh muốn khi "trang thái" = .T. thi button nó ẫn đi ko cho click, khi "trạng thái" = .F. thi button được phép click de minh co the truyen vao cho "trang thái" ve .T.

thanks các bạn đã đọc ! rất mong đươc giúp đỡ

Nếu button được đặt trong cột 3 của grid thì làm như sau:
trong sự kiện innit của grid

this.columns(3).DynamicCurrentControl="IIF(TrangThai=.T.,'','tên của button')"

robotfpt
07-08-2010, 11:33
Chào các bạn, các bạn giúp mình với.
Trong VFP mình muốn làm tròn các số có đuôi <500 thì bỏ phần lẻ đó đi
còn nếu >=500 thì làm tròn thành 1000.
Ví Dụ:
Số: 2.780.400 ==> 2.780
Số: 2.780.600 ==> 2.781
Bạn nào biết chỉ giúp mình với nhé. Cám ơn nhiều!

Dùng hàm round.
VD: Round(2780400,-3)

tnt1510
09-08-2010, 17:18
chào mọi người.máy mình vừa bị fomat nhầm ổ có chứa bộ cài VFP.giờ mình đã phục hồi lại bộ cài nhưng đang để ở ổ đĩa khác.mình chạy VFP thì nó báo lỗi file" startup.prg" do not exist.ai biết khắc phục lỗi này chỉ giúp mình đc không.
tnt487@yahoo.com

tongocbao
09-08-2010, 19:50
Nếu button được đặt trong cột 3 của grid thì làm như sau:
trong sự kiện innit của grid

this.columns(3).DynamicCurrentControl="IIF(TrangThai=.T.,'','tên của button')"

Cám ơn bạn tayngangvfp nha ! mih sẽ thữ
Nhưng theo minh nghĩ nếu mình đặt nó trong init thi khi đó grid chưa loat dữ liẹu vào thi làm sao mình có thể lấy đựoc giá trị của "trạng thái" đươc nhĩ. Nhưng minh sẽ thữ xem sao.

thichmbbg
12-08-2010, 11:13
Cám ơn bạn đã chỉ cho mình.
Thank you so much!

hoangnnm
12-08-2010, 13:24
chào mọi người.máy mình vừa bị fomat nhầm ổ có chứa bộ cài VFP.giờ mình đã phục hồi lại bộ cài nhưng đang để ở ổ đĩa khác.mình chạy VFP thì nó báo lỗi file" startup.prg" do not exist.ai biết khắc phục lỗi này chỉ giúp mình đc không.
tnt487@yahoo.com
Thì thiếu file đó chứ gì :) . Bạn ignore cầu may thử xem :) .

txt091183
12-08-2010, 19:28
hi, ban ơi cho minh hỏi làm sao 1 ham VB trong excel sử dụng cho tất cả file excel, vì mình đang làm các hàm tính toán trong excel bằng VB, nhưng mỗi khi chuyển sang file khác thì fải copy đoạn code đó sang file cần chép, lúc trước office 2000 thi chỉnh vào my user nhưng sang 2003 mình tìm ko thấy chức năng đó. Mong bạn giúp mình với.
Cảm ơn nhen

luu_luu
13-08-2010, 07:46
viết hàm trên vb, lưu file.xla, mở excel - tools - add ins - brow - tìm đến file.xla - ok

txt091183
15-08-2010, 12:13
thanks ban nhieu nhen

tongocbao
18-08-2010, 21:58
Chào các bạn ! xin các ban tư vấn cho mình làm bài này như the nào

- Mình có 1 view lấy dữ liệu từ table "khách hang" gồm có "makh","tenkh"
- minh co 1 form trong from co 1 combobox. cai combobox này nó sẽ lấy "makh", "tenkh" từ view
- Ý của mình là khi mình thêm hay xóa 1 khách hàng thì combobox cung cập nhật lại khách hàng đó

thanks các bạn đã đọc ! rất mong đươc giúp đỡ

luu_luu
19-08-2010, 09:16
theo mình thấy khi bạn cập nhật table khachhang thì bảng view cũng tự động cập nhật, sẽ kéo theo khi bạn run form và chọn combobox thì danh sách cũng sẽ thay đổi theo.

tongocbao
19-08-2010, 09:52
Hi bạn luu_luu !

- Mình trình bày thiếu 1 chỗ là :
.Cái view của mình chỉ show ra những khách hàng có hộp đồng ký kết > 01/01/2010
.Và khi mình sữa lại ngay ký hộp đồng < 01/01/2010(cái này là mình thao tác trên form) thì khachhang vẫn còn trong combobox thay vì nó phải mất di

thanks ban đã đọc bài cua mình

luu_luu
19-08-2010, 14:49
vậy sau khi hiệu chỉnh, bạn phải viết 1 chương trình con tái tạo lại rowsourcetype của combobox.thí dụ ta có ct con capnhatcombo.prg, khi hiệu chỉnh column hoten, sau khi enter <trong Valid ta gắn DO capnhatcombo>

nguyenkieuoanh
20-08-2010, 20:50
Chào các bạn!

Tôi đang có một vấn đề với VFP7 mong các bạn có kinh nghiệm hướng dẫn giúp
Vấn đề là khi thiết kế form trong FORM DESIGNER, có một vùng làm việc màu trắng, nơi thể hiện form đang được thiết kế. Khi diện tích form lớn hơn diện tíc của vùng làm việc này thì một phần diện tíc se bị che khuất ga6y khó khăn trong viếc thiết kế.
Tôi muốn nới rộng diện tíc vùng thiết kế này phải làm sao?
Mong các bạn hướng dẫn giúp
Rất cảm ơn!

pdvinh
20-08-2010, 22:47
Chào các bạn!
Mình đang viết VFP 9.0, đến phần xử lý hàm căn bậc n của 1 số, không biết phải làm sao nên lên đây nhờ các cao thủ chỉ giúp. Mình biết trong Excel sử dụng hàm Power là được, nhưng trong VFP thì không có hàm này.
Mong các bạn chỉ giúp

robotfpt
21-08-2010, 08:33
Chào các bạn!

Tôi đang có một vấn đề với VFP7 mong các bạn có kinh nghiệm hướng dẫn giúp
Vấn đề là khi thiết kế form trong FORM DESIGNER, có một vùng làm việc màu trắng, nơi thể hiện form đang được thiết kế. Khi diện tích form lớn hơn diện tíc của vùng làm việc này thì một phần diện tíc se bị che khuất ga6y khó khăn trong viếc thiết kế.
Tôi muốn nới rộng diện tíc vùng thiết kế này phải làm sao?
Mong các bạn hướng dẫn giúp
Rất cảm ơn!

Bạn vào Tool/Options/Form
Trong mục Maximum design area chọn None

hungtuan61
21-08-2010, 14:21
Chào các bạn!
Mình đang viết VFP 9.0, đến phần xử lý hàm căn bậc n của 1 số, không biết phải làm sao nên lên đây nhờ các cao thủ chỉ giúp. Mình biết trong Excel sử dụng hàm Power là được, nhưng trong VFP thì không có hàm này.
Mong các bạn chỉ giúp

Căn bậc n của 1 số là lũy thừa bậc (1/n) của số đó. Đây là bài toán tính lũy thừa.
A^n = e ^ (n * Ln(a))
Sử dụng hàm EXP() và LOG() của FoxPro
A ^n =EXP( n* LOG(a))
Thử lại nhé

verypoor
23-08-2010, 16:31
em hiện đang cần gấp 1 gia sư có tay nghề kha khá để dạy 1 khóa cấp tốc cho em về foxpro ,hiện em đang cần ,em đang ở rạch giá ,số phone liên hệ : 0946.535.709 gặp LIÊM .thanks trước

tongocbao
23-08-2010, 21:08
thanks ban Luu_Luu
Mình đã tìm đươc phưong thức refrech lại view cua mình rồi
Nó là : Requery('tren view ban muon refrech')
Mình tuy mới tập tành chới em VFP nhưng mình cũng muốn đóng góp 1 phần cho topich này
Rất cám ơn các ban đã giúp dỡ !

verypoor
24-08-2010, 16:43
em đang cần 1 gia sư có tay nghề kha khá về foxpro ,em đang ở rạch giá ,có gì thì xin liên hệ với số :0946.535.709 gặp LIÊM ,thanks trước!

code_nhu_tho
24-08-2010, 17:46
Ngôn ngữ fox đã rất lạc hậu, liệu các bạn theo loại công nghệ này có kiếm được công việc tốt hay không, có được trả lương cao hay không?
Một bạn lập trình fox cực ngon thì được trả bao tiền 1 tháng

tongocbao
26-08-2010, 11:38
Các bạn cho mình hỏi:
_ MÌnh có 2 table có cấu trúc giống nhau(ca 2 table này đều đã có dữ liệu)
_ Mình muốn copy dự liệu table 1 sang table 2 đồng thời xóa dữ liệu cũ của table 2(Ý cua mình là copy sao cho dữ liệu cua table 2 giống table 1 )
Các ban có biết "Phương Thức" nào làm được việc đó ko ?
Mong cac ban tư vấn giúp mình ! Cám ơn các bạn đã đọc

tayngangvfp
26-08-2010, 13:33
Các bạn cho mình hỏi:
_ MÌnh có 2 table có cấu trúc giống nhau(ca 2 table này đều đã có dữ liệu)
_ Mình muốn copy dự liệu table 1 sang table 2 đồng thời xóa dữ liệu cũ của table 2(Ý cua mình là copy sao cho dữ liệu cua table 2 giống table 1 )
Các ban có biết "Phương Thức" nào làm được việc đó ko ?
Mong cac ban tư vấn giúp mình ! Cám ơn các bạn đã đọc



sele table2
dele all
appe from table1

hoặc

dele file table2.dbf
copy table1.dbf to table2.dbf

hoặc

sele * from table1 into table table2.dbf

.......

tongocbao
26-08-2010, 21:47
Cám ơn bạn tayngangvfp ! mình đã lảm dươc rồi !

Bạn cho mình hỏi vấn đề này nhà:
_ Mình có 1 form trong form có 1 textbox và 1 button (Browse)
_ Ý của mình là khi mình nhấn vào nút Browse thì nó sẽ đưa ra 1 cưa sỗ để mình chọn thư muc (Giống như là chon file khi mình uploat dữ liệu ý) khi minh chọn thư mục mình cần thì textbox sẽ show ra toàn bộ đường dẫn của thư mục đó.
Cám ơn các bạn đã đọc ! mong được các bạn góp ý

tayngangvfp
27-08-2010, 07:41
Cám ơn bạn tayngangvfp ! mình đã lảm dươc rồi !

Bạn cho mình hỏi vấn đề này nhà:
_ Mình có 1 form trong form có 1 textbox và 1 button (Browse)
_ Ý của mình là khi mình nhấn vào nút Browse thì nó sẽ đưa ra 1 cưa sỗ để mình chọn thư muc (Giống như là chon file khi mình uploat dữ liệu ý) khi minh chọn thư mục mình cần thì textbox sẽ show ra toàn bộ đường dẫn của thư mục đó.
Cám ơn các bạn đã đọc ! mong được các bạn góp ý

Viết code trong sự kiện button.click


thisform.textbox.value=getdir()

hoặc
thisform.textbox.value=GETDIR([],[],[],16)


hoặc
thisform.textbox.value=GETDIR([],[],[],64)

hoặc
TRY
thisform.textbox.value=JUSTPATH(LOCFILE([~],[~]))
CATCH WHEN .T.
thisform.textbox.value=[]
ENDTRY

tongocbao
27-08-2010, 21:29
Cám ơn bạn tayngangvfp ! mình lam được rồi ! chúc bạn 1 ngày cuối tuần vui vẻ

nguyenkieuoanh
27-08-2010, 22:48
cảm ơn ROBOTFPT đã giúp, theo hướng dẫn của bạn, tui đã làm được.
nhân tiện tui muốn hỏi các bạn thêm 1 vấn đề nữa.
tui sử dụng control pageframe, dự tính của tui là khi chọn [tab 1] thì trên [tab 1] có một số control ví dụ 1 textbox và 1 button, khi chọn [tab 2] thì trên [tab 2] sẽ có những control khác ví dụ 1 combobox và 3 checkbox.
Vậy tui phải làm thê nào? vì khi thiết kế, tui đặt các control lên [tab 1] nhưng khi chuyển sang [tab 2] tui vẫn thấy những control đó.
Bạn nào biết vui lòng chỉ dùm, Rất cảm ơn

tongocbao
28-08-2010, 08:35
cảm ơn ROBOTFPT đã giúp, theo hướng dẫn của bạn, tui đã làm được.
nhân tiện tui muốn hỏi các bạn thêm 1 vấn đề nữa.
tui sử dụng control pageframe, dự tính của tui là khi chọn [tab 1] thì trên [tab 1] có một số control ví dụ 1 textbox và 1 button, khi chọn [tab 2] thì trên [tab 2] sẽ có những control khác ví dụ 1 combobox và 3 checkbox.
Vậy tui phải làm thê nào? vì khi thiết kế, tui đặt các control lên [tab 1] nhưng khi chuyển sang [tab 2] tui vẫn thấy những control đó.
Bạn nào biết vui lòng chỉ dùm, Rất cảm ơn

_ Click phải vào pageframe chon 'Edit'. Sau đó ban mới thả các control khách vào được

haquocquan
28-08-2010, 08:43
Tôi sử dụng dòng lệnh:
SELECT MAHD, max(ngay) as ngay from DBF1 GROUP BY MAHD INTO DBF(DBF2)
- Sử dụng FOX FOR DOS thì chạy tốt.
- Nhưng trong VFP9 thì báo lỗi ("SQL: GROUP BY clause missing or invalid")
Nhờ các pác chỉ giúp

hoangnnm
28-08-2010, 10:10
Tôi sử dụng dòng lệnh:
SELECT MAHD, max(ngay) as ngay from DBF1 GROUP BY MAHD INTO DBF(DBF2)
- Sử dụng FOX FOR DOS thì chạy tốt.
- Nhưng trong VFP9 thì báo lỗi ("SQL: GROUP BY clause missing or invalid")
Nhờ các pác chỉ giúp

Lệnh trên không sai bạn à .

tayngangvfp
28-08-2010, 11:02
Tôi sử dụng dòng lệnh:
SELECT MAHD, max(ngay) as ngay from DBF1 GROUP BY MAHD INTO DBF(DBF2)
- Sử dụng FOX FOR DOS thì chạy tốt.
- Nhưng trong VFP9 thì báo lỗi ("SQL: GROUP BY clause missing or invalid")
Nhờ các pác chỉ giúp

Giữa các phiên bản 7,8,9 các sự khác nhau khi dùng câu lệnh SQL
Bạn xem link này
http://ddth.com/showpost.php?p=1425565&postcount=119

=> để thực hiện câu lệnh trên với VFP9 thì dùng lệnh

SET ENGINEBEHAVIOR 70

pdvinh
28-08-2010, 15:00
Căn bậc n của 1 số là lũy thừa bậc (1/n) của số đó. Đây là bài toán tính lũy thừa.
A^n = e ^ (n * Ln(a))
Sử dụng hàm EXP() và LOG() của FoxPro
A ^n =EXP( n* LOG(a))
Thử lại nhé

Cám ơn bạn nhiều, mình đã làm được rồi.

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

Các bạn ơi, giúp mình với.
Mình muốn lưu hình ảnh vào trong CSDL mà không biết phải làm sao. Mong các bạn chỉ giúp

haquocquan
29-08-2010, 00:03
Giữa các phiên bản 7,8,9 các sự khác nhau khi dùng câu lệnh SQL
Bạn xem link này
http://ddth.com/showpost.php?p=1425565&postcount=119

=> để thực hiện câu lệnh trên với VFP9 thì dùng lệnh

SET ENGINEBEHAVIOR 70

Cám ơn bạn
Bạn hướng dẫn mình cụ thể được không. Mình mù tịt về FOX. Thỉnh thoảng mình mới cần 1 câu lệnh để xử lý thông tin thôi.
Bạn cho mình câu lệnh đầy đủ để Select được dữ liệu như trên (Select được dữ liệu giống như FOX FOR DOS)

luu_luu
01-09-2010, 09:09
Cám ơn bạn nhiều, mình đã làm được rồi.

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

Các bạn ơi, giúp mình với.
Mình muốn lưu hình ảnh vào trong CSDL mà không biết phải làm sao. Mong các bạn chỉ giúp
tạo 1 trường có kiểu general, tạo record trắng, ssau đó dùng lệnh
append general <tên trường> from <ổ đĩa:\thư mục\ten file.jpg(bmp,tif,xls,doc)>
trường kiểu general chứa đối tượng bất kỳ, nhưng sẽ làm file dbf rất lớn.

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


Cám ơn bạn
Bạn hướng dẫn mình cụ thể được không. Mình mù tịt về FOX. Thỉnh thoảng mình mới cần 1 câu lệnh để xử lý thông tin thôi.
Bạn cho mình câu lệnh đầy đủ để Select được dữ liệu như trên (Select được dữ liệu giống như FOX FOR DOS)
nếu dùng fox 8 hay 9
thì theo hướng dẫn của tayngangvfp là chính xác, nếu phát lệnh select trên fox 7 dùng được trên fox 8,9 không được thì phát lệnh
SET ENGINEBEHAVIOR 70
sau đó phát lệnh select....

hoangnnm
01-09-2010, 20:48
tạo 1 trường có kiểu general, tạo record trắng, ssau đó dùng lệnh
append general <tên trường> from <ổ đĩa:\thư mục\ten file.jpg(bmp,tif,xls,doc)>
trường kiểu general chứa đối tượng bất kỳ, nhưng sẽ làm file dbf rất lớn.

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


nếu dùng fox 8 hay 9
thì theo hướng dẫn của tayngangvfp là chính xác, nếu phát lệnh select trên fox 7 dùng được trên fox 8,9 không được thì phát lệnh
SET ENGINEBEHAVIOR 70
sau đó phát lệnh select....

Các bạn có nhầm không chứ lệnh mà bạn gì đó dùng fox dos post lên không sai .

haquocquan
02-09-2010, 23:18
Tôi có đoạn này dùng trong FOX for DOS:
SELECT MAHD, max(ngay) as ngay from DBF1 GROUP BY MAHD INTO DBF(DBF2)
Nhưng khi chuyển đoạn này vào VFP9 chạy thì báo lỗi trên: GROUP by miss.....
Nhờ các PRO hướng dẫn làm sao dùng được trong VFP9. (có kết quả như câu lệnh trên)
Cuối cùng, không có câu trả lời chính xác.
SET ENGINEBEHAVIOR 70 mà làm gì khi câu lệnh trên không thể sử dụng được trong VFP9.
Lại phải mò thôi. Và cũng phải ra chứ.
Kết quả là:

SELECT MAHD, max(ngay) as ngay from DBF1 GROUP BY MAHD INTO TABLE DBF2

Có đúng vậy không các PRO của "Visual Foxpro"?

infortech
10-09-2010, 09:57
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ó.

Mình cũng đang rất quan tâm đến vấn đề này.
Bạn có thể cho mình tham khảo class chuyển font và 1 ví dụ về việc nhập dữ liệu = unicode với được không?
Không hiểu sao kể từ bản Visual Studio 6 trở đi, MicroSoft lại bỏ thằng Fox ra, và phát triển riêng lẻ,nói MS không hỗ trợ Fox nữa thì không đúng, cho đến nay đã có phiên bản VFP9 SP2. không biết sắp tơi có SP3 hay VFP 10 nữa không. Ước gì trong bộ .Net co Fox nhỉ. Mình cảm thấy trong các ngôn ngữ thì thằng Fox rất dễ viết, mềm dẻo, nhưng oan nghiệt thay nó không hỗ trọe Unicode làm bàn dân thiên hạ chao đảo.

tayngangvfp
10-09-2010, 10:34
@infortech

M có làm 1 số ví dụ, bạn xem ở đây nhé:
http://vn.360plus.yahoo.com/tayngangvfp

trungkien1976tb
10-09-2010, 14:39
Mình cũng chưa hiểu ý bạn lắm. M có viết 1 đoạn demo sử dụng remote view để update. Nếu bạn quan tâm mình sẽ gửi bạn tham khảo.


Mình cũng chưa hiểu ý bạn lắm. M có viết 1 đoạn demo sử dụng remote view để update. Nếu bạn quan tâm mình sẽ gửi bạn tham khảo.


****
Bạn bấm nút "trích dẫn" để QUOTE

tongocbao
10-09-2010, 17:46
Chào các bạn ! mình chỉ vừa mới làm quen với VFP vài tháng nay ( do yêu cầu công việc) nên việc thao tác và hiễu đươc VFP này cũng là 1 vấn đề đối với minh vì ngôn ngữ này ít tài liệu tham khão quá ! tuy vây mình vẫn biết vấn đề font unicode là vấn đề chung của các bạn sữ dụng ngôn ngữ này. Mình ũng hộ các bạn

Các bạn cho mình hõi.
_ Mình có 1 table 'hộp đồng' trong đó có 1 trường là 'mã công ty'
_ Mình có 1 form trong from có 1 textbox 'ma cong ty' và 1 grid
_ Mình muốn khi mình nhập vào đúng 'mã công ty' vào textbox thì tren grid sẽ hiễn thị tất cả các 'hộp dồng' có liên quan dến công ty này
(mình có thễ làm được vấn đề này trên 2 table với quan hện 1 - nhiều nhưng nếu trên 1 table mình mình ko biết giái quyết thế nào) xin cac ban tư vấn giúp
Cám ơn các bạn đã đọc !

luu_luu
13-09-2010, 09:01
Chào các bạn ! mình chỉ vừa mới làm quen với VFP vài tháng nay ( do yêu cầu công việc) nên việc thao tác và hiễu đươc VFP này cũng là 1 vấn đề đối với minh vì ngôn ngữ này ít tài liệu tham khão quá ! tuy vây mình vẫn biết vấn đề font unicode là vấn đề chung của các bạn sữ dụng ngôn ngữ này. Mình ũng hộ các bạn

Các bạn cho mình hõi.
_ Mình có 1 table 'hộp đồng' trong đó có 1 trường là 'mã công ty'
_ Mình có 1 form trong from có 1 textbox 'ma cong ty' và 1 grid
_ Mình muốn khi mình nhập vào đúng 'mã công ty' vào textbox thì tren grid sẽ hiễn thị tất cả các 'hộp dồng' có liên quan dến công ty này
(mình có thễ làm được vấn đề này trên 2 table với quan hện 1 - nhiều nhưng nếu trên 1 table mình mình ko biết giái quyết thế nào) xin cac ban tư vấn giúp
Cám ơn các bạn đã đọc !
public m_msct
thí dụ bạn có trường mã số công ty = msct
khi bạn nhập ms công ty vào textbox, gán giá trị textbox vào biến chung:
m_msct=thisform.txt_maso.Value
SET FILTER TO MSCT=M_MSCT
THISFORM.REFRESH
THISFORM.GRID1.SETFOCUS

pdvinh
13-09-2010, 21:19
Các bạn ơi, mình đang vướng phần này, mong các bạn chỉ giúp:
Mình muốn đọc mã nguồn của 1 địa chỉ web để có thể thu thập dữ liệu trên mạng, nhưng không biết phải dùng hàm nào để lấy mã nguồn. Không biết là Foxpro có hỗ trợ không nữa, mong các bạn chỉ mình với.

tamdn
14-09-2010, 20:36
Các bạn chỉ giúp:
Mình có 1 table gồm 10 cột mình muốn lập trình chuyển tên của 10 cột thể hiện trên form thành 10 checkbox có cùng tên, xin các bạn hướng dẫn

tayngangvfp
16-09-2010, 17:04
Các bạn chỉ giúp:
Mình có 1 table gồm 10 cột mình muốn lập trình chuyển tên của 10 cột thể hiện trên form thành 10 checkbox có cùng tên, xin các bạn hướng dẫn

Chưa hiểu ý bạn?
Bạn tính tạo tự động form?

tamdn
16-09-2010, 18:59
Vâng đúng rồi. Khi mở form là các fiel trong 1 table chọn trước tự chuyển thành các checkbox trên form để nhập dữ liệu. có bao nhiêu fiel thì tạo thành bấy nhiêu chechk box

tongocbao
16-09-2010, 21:06
Vâng đúng rồi. Khi mở form là các fiel trong 1 table chọn trước tự chuyển thành các checkbox trên form để nhập dữ liệu. có bao nhiêu fiel thì tạo thành bấy nhiêu chechk box

Checkbox hay textbox ? mình cũng ko hiễu ý bạn
_Checkbox dùng dể dánh dấu check
_Textbox dùng để nhập liệu
....................

luu_luu
17-09-2010, 08:57
bạn xem thử đoạn code này xem
CREATE CURSOR tam (thang01 n(1),thang02 n(1),thang03 n(1))

APPEND BLANK

PUBLIC o,tentruong(1,1)

=AFIELDS(tentruong)

o=CREATEOBJECT([form])

WITH o

dau=10

FOR i=1 TO ALEN(tentruong)/16

chk=[chk]+ALLTRIM(STR(i))

.addobject('&chk','checkbox')

.&chk..Top=dau

.&chk..Caption=UPPER(tentruong(i,1))

.&chk..visible=.t.

dau=dau+20

ENDFOR

.AutoCenter=.t.

.Caption=[TAO CHECKBOX (c) 2010]

.Show(1)

ENDWITH

RELEASE ALL

tongocbao
17-09-2010, 21:33
Chào ban luu_luu ! cám ơn bạn đã góp ý cho mình về vấn đề hôm trước. Minh đã làm đươc rồi

Các bạn cho mình hõi thêm về vấn đề này nha
_Mình có 1 form trong from có 1 textbox và 1 grid
_Vấn đề của mình là làm thế nào để cho textbox chỉ được nhập số
_Làm thế nào để grid có thể chỉnh sửa và thêm mới hay xóa (giống y như lúc mình nhập dữ liệu vào table ý)

Cám ơn các bạn đã đoc ! mong các bạn góp ý
Cám ơn bạn tayngangvfp và Luu_Luu đã giúp mình trong thời gian qua ! mình vân còn đang trong thời giam làm quen với bé VFP này. Mong các ban giúp đỡ

luu_luu
20-09-2010, 07:35
1. tetxbox
-Format=z
- InputMask=999,999,999
- Value=0
2. khi tạo Grid thì nhập liệu & hiệu chỉnh bình thường
- để thêm mới, thiết lập khoản mục của Grid=> AllowAddNew=.t.

tongocbao
20-09-2010, 21:15
1. tetxbox
-Format=z
- InputMask=999,999,999
- Value=0
2. khi tạo Grid thì nhập liệu & hiệu chỉnh bình thường
- để thêm mới, thiết lập khoản mục của Grid=> AllowAddNew=.t.

Cám ơn ban Luu_Luu mình làm được rồi !

foxnewbie
23-09-2010, 16:50
Chào các anh em trong 4rum
Mình là lính mới của VFP, mặc dù FP mình cũng biết FP cách đây nhiều năm rồi. Nay do nhu cầu công việc, vả lại thấy VFP hấp dẫn hơn nên tìm hiểu thêm. Nhưng cách lập trình ở đây khác quá mặc dù bộ lệnh và hàm của FP mình đã dùng rồi.
Nhờ anh em giúp mình để nâng cao khả năng, nhưng câu hỏi của mình thuộc hàng newbie nên anh em đừng cười nhé :
1. Mình muốn thiết lập toàn bộ object trên Form là font VNI-Helve thì làm thế nào?
2. Mình muốn tạo một tetbox txtNgay mang giá trị của ngày hiện tại và giá trị này người dùng có thể thay đổi được và biến này là biến chung.
3. Cách khai báo biến ban đầu như FP thì được viết vào chỗ nào của form.

Mong anh em chỉ giáo giúp. Cám ơn tất cả

maivivan29
23-09-2010, 20:06
là thế này, em đang học fox em có đôi điều muốn hỏi:
em có table DMHH(mahh,tenhh,dvt,dongia)
Cho em thỉnh giáo về các nút lệnh như: Thêm mới; Ghi; Xóa mẫu tin; Bỏ qua;
Các prò giúp em nhé

luu_luu
24-09-2010, 08:45
Chào các anh em trong 4rum
Mình là lính mới của VFP, mặc dù FP mình cũng biết FP cách đây nhiều năm rồi. Nay do nhu cầu công việc, vả lại thấy VFP hấp dẫn hơn nên tìm hiểu thêm. Nhưng cách lập trình ở đây khác quá mặc dù bộ lệnh và hàm của FP mình đã dùng rồi.
Nhờ anh em giúp mình để nâng cao khả năng, nhưng câu hỏi của mình thuộc hàng newbie nên anh em đừng cười nhé :
1. Mình muốn thiết lập toàn bộ object trên Form là font VNI-Helve thì làm thế nào?
2. Mình muốn tạo một tetbox txtNgay mang giá trị của ngày hiện tại và giá trị này người dùng có thể thay đổi được và biến này là biến chung.
3. Cách khai báo biến ban đầu như FP thì được viết vào chỗ nào của form.

Mong anh em chỉ giáo giúp. Cám ơn tất cả
1. tạo form mới-phải chuột-properties- chọn khoản mục INIT-double click-nhập vào dòng này
THISFORM.SETALL([FONTNAME],[VNI-HELVE])
2. trên form tạo textbox-phải chuột textbox-properties
- Name=txtngay
- Value=date()
giá trị này thay đổi bình thường, giá trị của textbox tồn tại cho đến khi đóng form, muốn truy cập giá trị => thisform.txtngay.Value
3. trên form-phải chuột-properties-khoản mục LOAD-double click
set date dmy
set sàe off...

foxnewbie
24-09-2010, 12:34
Cám ơn bạn luu_luu, mình đã làm được rồi.

Riêng phần set font thì do mình nói chưa rõ. Ý mình là mỗi khi tạo một object thì nó đều mặc nhiên là font Arial, mình phải set font từng object là VNI-Helve. Mình muốn là khi tạo form mới mặc nhiên các object mình tạo ra đều là VNI-Helve

Giúp mình với nhé

luu_luu
24-09-2010, 13:58
Cám ơn bạn luu_luu, mình đã làm được rồi.

Riêng phần set font thì do mình nói chưa rõ. Ý mình là mỗi khi tạo một object thì nó đều mặc nhiên là font Arial, mình phải set font từng object là VNI-Helve. Mình muốn là khi tạo form mới mặc nhiên các object mình tạo ra đều là VNI-Helve

Giúp mình với nhé
cái đó thì mình chịu

tayngangvfp
24-09-2010, 14:41
Mình muốn thiết lập toàn bộ object trên Form là font VNI-Helve thì làm thế nào?
..........
Riêng phần set font thì do mình nói chưa rõ. Ý mình là mỗi khi tạo một object thì nó đều mặc nhiên là font Arial, mình phải set font từng object là VNI-Helve. Mình muốn là khi tạo form mới mặc nhiên các object mình tạo ra đều là VNI-Helve



Bạn nên tạo 1 class của riêng mình. Trong đó nên bao gồm toàn bộ các control của VFP sau đó Bạn thay đổi các properties theo ý bạn.

Mỗi khi tạo control mới thì kéo từ class đó ra => các properties đã được chỉnh sửa theo ý.

Điểm lợi là nếu thay đổi properites của control trong class thì nó sẽ cũng thay đổi trên Form/Control. Vdụ: nếu font đang là VNI-Helve giờ muốn đổi sang VNI-Times => chỉ việc thay đổi trong class.

anphabreak
29-09-2010, 10:13
Xin chào các bạn.
Mình đang làm module bán lẻ siêu thị cần sử dụng mã vạch trong đó để in, dán mã vạch trên sản phẩm. Mình tìm cách sử dụng Barcode trong foxpro nhưng mà không thấy đâu. Bạn nào biết về nó xin chỉ giúp. Cám ơn nhiều lắm

hoangnnm
29-09-2010, 13:43
Xin chào các bạn.
Mình đang làm module bán lẻ siêu thị cần sử dụng mã vạch trong đó để in, dán mã vạch trên sản phẩm. Mình tìm cách sử dụng Barcode trong foxpro nhưng mà không thấy đâu. Bạn nào biết về nó xin chỉ giúp. Cám ơn nhiều lắm

Bạn chỉ cần thiết kế report với font là font mã vạch theo chuẩn bên bạn đang dùng rồi in ra đem dán là ok thôi .

foxnewbie
30-09-2010, 12:26
Bạn nên tạo 1 class của riêng mình. Trong đó nên bao gồm toàn bộ các control của VFP sau đó Bạn thay đổi các properties theo ý bạn.

Mỗi khi tạo control mới thì kéo từ class đó ra => các properties đã được chỉnh sửa theo ý.

Điểm lợi là nếu thay đổi properites của control trong class thì nó sẽ cũng thay đổi trên Form/Control. Vdụ: nếu font đang là VNI-Helve giờ muốn đổi sang VNI-Times => chỉ việc thay đổi trong class.

Cám ơn bạn TayngangVFP nhé, mình sẽ tìm hiểu thêm theo cách của bạn.

ttliem
30-09-2010, 15:44
Theo kinh nghiệm của tôi, chỉ cần tạo DBF có trường memo sau đó sử dụng cặp lệnh append memo <field memo> from file <File_name> để lưu file. khi cần trả ra thì dùng Copy memo <Fieldmemo> to file <filename>

foxnewbie
01-10-2010, 09:03
Các bạn cho mình hỏi :

1. Khi khởi động, VFP9 luôn hiện bảng TASK PANE MANAGER - START. Mình muốn nó không hiện nữa thì làm thế nào ? Mình loay hoay mãi mà chả được

2. Khi debug chương trình, trong VF mình chỉ cần nhấn Alt-W-V là hiện ra tất cả các DBF mình đang sử dụng. Còn VFP9 thì làm sao đây ??

Các bạn trả lời cho mình nhé. Cám ơn nhiều

hoangnnm
01-10-2010, 09:16
Bạn vào Tools -> task Pane -> options . Sau đó bỏ dấu tick Open the Task Pane ... Foxpro starts là được .
Cái dbf bạn dùng Alt-W-D là đc nhé .

khanhlinh284
03-10-2010, 23:30
Mọi người ơi, cho em hỏi với. Em down cái fox 9.0 trên mạng về cài, nhưng mà lúc cài thì nó cứ dòi phải nhét đĩa vào ý. Làm thế nào để cài đc ạ, hay là phải đầu tư đĩa fox về để cài ạ. Em mới học fox nên chẳng biết j, mọi người chỉ giúp em với. Em xin cảm ơn

LLQ
04-10-2010, 07:58
Xin chào các bạn.
Mình đang làm module bán lẻ siêu thị cần sử dụng mã vạch trong đó để in, dán mã vạch trên sản phẩm. Mình tìm cách sử dụng Barcode trong foxpro nhưng mà không thấy đâu. Bạn nào biết về nó xin chỉ giúp. Cám ơn nhiều lắm

Bạn thử sử dụng OCX Tbarcode5 thử xem sao. Dễ dàng ứng dụng với mọi chuẩn barcode đó bạn. Cái ocx này cũng được sử dụng trong chương trình HTKK của thuế.
Cách sử dụng thì bạn tìm trên mạng nhé, nhiều lắm. Nếu vẫn không được thì gửi lên đây luôn cùng trao đổi.

foxnewbie
05-10-2010, 14:41
Bạn vào Tools -> task Pane -> options . Sau đó bỏ dấu tick Open the Task Pane ... Foxpro starts là được .
Cái dbf bạn dùng Alt-W-D là đc nhé .

Hay quá, mình tìm mãi mà chả tìm ra. Cám ơn ban Hoangnnm nhé

Nhưng còn cái vụ View các DBF thì khi nhấn Alt-W-D như bạn nói thì mình không thấy các DBF đang sử dụng khi mình SUSP chương trình để debug, bạn xem lại rồi giúp cho mình nhé. Cám ơn

hoangnnm
05-10-2010, 15:41
Hay quá, mình tìm mãi mà chả tìm ra. Cám ơn ban Hoangnnm nhé

Nhưng còn cái vụ View các DBF thì khi nhấn Alt-W-D như bạn nói thì mình không thấy các DBF đang sử dụng khi mình SUSP chương trình để debug, bạn xem lại rồi giúp cho mình nhé. Cám ơn

Nó không thể hiện các dbf mà thể hiện danh sách các vùng đang mở , kèm theo có đường dẫn dbf của alias . Bạn cũng có thể gõ lệnh Set ở cửa sổ lệnh để xem .

ngo dac minh
13-10-2010, 02:17
toi xin cac ban hay gjup toi gjai bai foxpro toi rat hoang vi ko bit lam

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

3 điểm).
Tạo bảng dữ liệu CANBO.DBF có cấu trúc sau:
TÊN TRƯỜNG KIỂU ĐỘ RỘNG SỐ CHỮ SỐ LẺ
(NAME) (TYPE) (WIDTH) (DEC)
HOTEN C 25
NAMSINH N 4 0
GIOITINH L 1
COGIADINH L 1
DONVI C 15
CHUC VU C 10
HSL N 5 2
PCCV N 6
TIENLUONG N 7
BHXH N 6

* Nhập dữ liệu cho các bản ghi với nội dung được cho ở bảng sau:

HOTEN NAMSINH GIOITINH COGIADINH DONVI CHUCVU HSL
Tran Khoa 1972 .T. .F. CNTT CBGD 1.92
Ho Bich Ha 1976 .F. .F. CNTT CBGD 1.92
Nguyen Binh 1974 .T. .F. CNTT CBGD 1.92
Nguyen Ha 1974 .T. .T. SỬ CBNC 1.92
Nguyen Son 1973 .T. .F. Toan CBGD 1.92
Pham My 1975 .F. .F. Toan CBGD 1.92
Nguyen Hung 1973 .T. .T. CNTT CBNC 1.92
Tran Thanh Thien 1968 .T. .T. Van CBGD 2.52
Le Tam 1965 .F. .T. Dia CBGD 3.17

Tính giá trị của trường PCCV, biết rằng: PCCV= 300000 nếu CHUCVU là Truong Khoa, 200000 nếu chức vụ là Phó Khoa, ngoài ra là 0.
Tính giá trị trường BHXH, biết rằng: BHXH = 5% của TIENLUONG
Tính giá trị trường TIENLUONG, biết rằng:
TIENLUONG= HSL* 5400000+PCCV- BHXH
Sao chép toàn bộ nội dung của bảng CANBO.BDF vào bảng dữ liệu LUU.BDF nhưng chỉ gồm các trường HOTEN, NAMSINH, HSL

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

xin hãy giúp tôi với

tuan_tvkg
13-10-2010, 09:25
CLOSE TABLES ALL
CLOSE DATABASES ALL
CREATE TABLE (FULLPATH('') + [Canbo]) (Hoten C(24), Namsinh N(4,0), Gioitinh L, COGIADINH L, DONVI C(15), Chucvu C(10), HSL N(5,2), PCCV N(6,0), TienLuong N(7,0), Bhxh N(6,0))
INSERT INTO Canbo (Hoten, Namsinh, Gioitinh, COGIADINH, DONVI, Chucvu, HSL) VALUES ("Tran Khoa", 1972, .T., .F., "CNTT", "CBGD", 1.92)
INSERT INTO Canbo (Hoten, Namsinh, Gioitinh, COGIADINH, DONVI, Chucvu, HSL) VALUES ("Ho Bich Ha", 1976, .F., .F., "CNTT", "CBGD", 1.92)
INSERT INTO Canbo (Hoten, Namsinh, Gioitinh, COGIADINH, DONVI, Chucvu, HSL) VALUES ("Nguyen Binh", 1974, .T., .F., "CNTT", "CBGD", 1.92)
INSERT INTO Canbo (Hoten, Namsinh, Gioitinh, COGIADINH, DONVI, Chucvu, HSL) VALUES ("Nguyen Ha", 1974, .T., .T., "SU", "CBNC", 1.92)
INSERT INTO Canbo (Hoten, Namsinh, Gioitinh, COGIADINH, DONVI, Chucvu, HSL) VALUES ("Nguyen Son", 1973, .T., .F., "Toan", "CBGD", 1.92)
INSERT INTO Canbo (Hoten, Namsinh, Gioitinh, COGIADINH, DONVI, Chucvu, HSL) VALUES ("Pham My", 1975, .F., .F., "Toan", "CBGD", 1.92)
INSERT INTO Canbo (Hoten, Namsinh, Gioitinh, COGIADINH, DONVI, Chucvu, HSL) VALUES ("Nguyen Hung", 1973, .T., .T., "CNTT", "CBNC", 1.92)
INSERT INTO Canbo (Hoten, Namsinh, Gioitinh, COGIADINH, DONVI, Chucvu, HSL) VALUES ("Tran Thanh Thien", 1968, .T., .T., "Van", "PHOKHOA", 2.52)
INSERT INTO Canbo (Hoten, Namsinh, Gioitinh, COGIADINH, DONVI, Chucvu, HSL) VALUES ("Le Tam", 1965, .F., .T., "Dia", "TRUONGKHOA", 3.17)

REPLACE ALL PCCV WITH IIF(Chucvu = "TRUONGKHOA",300000,IIF(Chucvu = "PHOKHOA",200000,0))
REPLACE ALL Tienluong WITH (HSL * 540000) + PCCV, BHXH WITH ((HSL * 540000) + PCCV)*5/100

BROWSE

COPY TO Luu FIELDS HOTEN, NAMSINH, HSL

CLOSE TABLES ALL
CLOSE DATABASES ALL

tongocbao
13-10-2010, 16:02
Chào các bạn ! cho mình hỏi vấn đề này nha !
_Minh có 1 form trong form có 1 button 'Print' và 1 gritd chứa dữ liệu. Khi mình muốn in dữ liệu trên grid ra thì mình phải vào report view len rồi mình ấn nút print được fox hỗ trợ( vì report lay dữ liệu từ grid, mà grid thì có thễ tha dỗi dữ liệu được lien tục)
_Ý của mình là khi mình nhấn button print tren form thì nó in ra lun không cần phải thông quan report

Cám ơn các bạn đa đọc !

luu_luu
14-10-2010, 07:10
report form <report file> to printer noconsole

tongocbao
14-10-2010, 10:27
report form <report file> to printer noconsole

Thanks bạn nha ! mình đã làm được rồi

hshason
14-10-2010, 14:25
Chào các bạn!
Tôi có một mong muốn mà tôi đã nghiên cứu khá nhiều mà chưa có giải pháp để thực hiện. Mong các bạn quan tâm nha.

1. Tôi có 1 Report
2. Tôi muốn Report này sẽ Preivew bên trong 1 Form mà tôi thiết kế riêng cho Report

Với mục đích, trên form này tôi có thể gắn vào những chức năng khác:
1. Export: Excel, PDF, Bitmap...
2. Modify Report
3. Thiếtlập máy in trong form riêng của mình
...

Thay vì Preview trong Report Preview mặc định của VFP sẽ không có những chức năng đó.

Rất mong các bạn sẽ thảo luận và quan tâm.
*-------
Thân mến!

fanvsf
14-10-2010, 15:26
Chào các bạn!
Tôi có một mong muốn mà tôi đã nghiên cứu khá nhiều mà chưa có giải pháp để thực hiện. Mong các bạn quan tâm nha.

1. Tôi có 1 Report
2. Tôi muốn Report này sẽ Preivew bên trong 1 Form mà tôi thiết kế riêng cho Report

Với mục đích, trên form này tôi có thể gắn vào những chức năng khác:
1. Export: Excel, PDF, Bitmap...
2. Modify Report
3. Thiếtlập máy in trong form riêng của mình
...

Thay vì Preview trong Report Preview mặc định của VFP sẽ không có những chức năng đó.

Rất mong các bạn sẽ thảo luận và quan tâm.
*-------
Thân mến!

Bạn vào phần Solution sample có phần hướng dẫn chi tiết cho việc tạo báo cáo trong form đấy. Bạn có thể tham khảo ở đó. Chúc bạn thành công

tongocbao
17-10-2010, 01:47
Chào các bạn !
_Các bạn giúp mình format trường textbox nhập số có dang 999.999.999.999,99 với(vì khi mình nhập vào như vậy thì fox nó tự chuyển thành 999.999999999,99) ko hiêu vì sao lun

tungvv
17-10-2010, 14:52
Mình có tệp DBF quan trọng bị hỏng do mất điện đột ngột, đã thử một số cách và PM Fix nhưng ko đc. bạn nào có PM sửa lổi giúp mình với.
Mình có DBF Recovery Toolbox 1.0.4 , bản demo đã mở được nhưng ko có key nên đành chịu, ko biết tìm key ở đâu, mọi người giúp với nhé.
Cám ơn nhiều
Emai : tungvv@gmail.com

hungtuan61
18-10-2010, 07:27
Mình có tệp DBF quan trọng bị hỏng do mất điện đột ngột, đã thử một số cách và PM Fix nhưng ko đc. bạn nào có PM sửa lổi giúp mình với.
Mình có DBF Recovery Toolbox 1.0.4 , bản demo đã mở được nhưng ko có key nên đành chịu, ko biết tìm key ở đâu, mọi người giúp với nhé.
Cám ơn nhiều
Emai : tungvv@gmail.com

Nếu bạn đang dùng DBF của VFP thì quay lại mở tệp tin bằng VFP 6.0 (VFP 6.0 có thể Fix lỗi này). Sau đó đổi tên. Mở tệp tin mới này bằng VFP đang dùng.

tungvv
18-10-2010, 12:04
Nếu bạn đang dùng DBF của VFP thì quay lại mở tệp tin bằng VFP 6.0 (VFP 6.0 có thể Fix lỗi này). Sau đó đổi tên. Mở tệp tin mới này bằng VFP đang dùng.

Cảm ơn bạn đã giúp, mình đã dùng VFP6 nhưng vẫn ko mở ra đc, sau đó có tìm kiếm trên mạng thì thấy có PM CMFixdbf dùng đã OK. May quá, thanks mọi người.

To Hoang Nguyen <hoangnnm@gmail.com>: Cám ơn bạn đã quan tâm, hqua mày mò đã mở đc rồi, nếu ko thì chắc cũng phải nhờ đến bạn!

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

Mình mới nâng cấp Win7, đang sử dụng PM virut KIS, ứng dụng kế toán của mình chạy nền VFP9, từ khi nâng cấp HĐH và chạy chương trình vi rút KIS2010 thì ứng dụng của mình ko chạy được ( ko tạo đc các thư mục tạm), chỉ chạy được trong chế độ an toàn, mình hiểu đây có thể là do bị hạn chế bởi KIS, tuy nhiên mình ko biết làm cách nào để ứng dụng chạy ở chế độ bình thường đc. Vì khi chạy chế độ an toàn thì mọi cập nhật mới của ứng dụng sẽ được lưu ở thư mục khác, rất khó giải quyết công việc.
AE nào biết tháo gở giúp mình với nhé.
Cảm ơn nhiều

hoangnnm
18-10-2010, 14:31
Cảm ơn bạn đã giúp, mình đã dùng VFP6 nhưng vẫn ko mở ra đc, sau đó có tìm kiếm trên mạng thì thấy có PM CMFixdbf dùng đã OK. May quá, thanks mọi người.

To Hoang Nguyen <hoangnnm@gmail.com>: Cám ơn bạn đã quan tâm, hqua mày mò đã mở đc rồi, nếu ko thì chắc cũng phải nhờ đến bạn!

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

Mình mới nâng cấp Win7, đang sử dụng PM virut KIS, ứng dụng kế toán của mình chạy nền VFP9, từ khi nâng cấp HĐH và chạy chương trình vi rút KIS2010 thì ứng dụng của mình ko chạy được ( ko tạo đc các thư mục tạm), chỉ chạy được trong chế độ an toàn, mình hiểu đây có thể là do bị hạn chế bởi KIS, tuy nhiên mình ko biết làm cách nào để ứng dụng chạy ở chế độ bình thường đc. Vì khi chạy chế độ an toàn thì mọi cập nhật mới của ứng dụng sẽ được lưu ở thư mục khác, rất khó giải quyết công việc.
AE nào biết tháo gở giúp mình với nhé.
Cảm ơn nhiều
- Mở Options -> Threads and Exclusions - > Exculsion
- Chuyển Tab Trusted Applications .
- Tìm file vfp9.exe ( phải là file exe không phải shortcut )
- Tick vào các checkbox hiện ra .
- OK .. Ok

tungvv
18-10-2010, 18:01
- Mở Options -> Threads and Exclusions - > Exculsion
- Chuyển Tab Trusted Applications .
- Tìm file vfp9.exe ( phải là file exe không phải shortcut )
- Tick vào các checkbox hiện ra .
- OK .. Ok

Cám ơn Hoangnnm, mình đã thử theo HD của bạn nhưng vẫn thế. Ứng dụng nó báo lỗi ko tạo đc thư mục tạm tại c:\user\ten use\appdata.
Bạn giúp xem có cách nào khác nữa ko ?

luu_luu
19-10-2010, 08:09
- bạn phải chc là bạn chạy ứng dụng với quyền admin.
- có thể tên thư mục trùng với thư mục của win7, win7 trên ổ C: có thư mục C:\Users\ten user\appdata, bạn nên tạo thư mục trên ổ đĩa khác hay đổi tên thư mục trên ổ C: thí dụ C:\thumuctam
- nếu không bạn vào network and sharing center kiểm tra lại phần sharing cho các user

ngthva
19-10-2010, 10:24
Các bạn cho mình hỏi:
Mình có 1 Page Frame trong đó có grid (chứa danh sách các lớp) và 1 combo box (để chọn lớp nhập liệu). Hiện tại lúc nào danh sách các lớp cũng thường trực trong grid khi mình chạy form. Ý mình muốn khi mở ra thì trong grid sẽ không có DS các lớp. Khi mình chọn trên combo lớp nào thì chỉ có lớp đó mới hiển thị. Mong các bạn giúp đỡ cho mình nhé!

luu_luu
19-10-2010, 13:58
mình không biết làm như thế này có được không?
phần INIT of ComboBox=SET FILTER TO MALOP=[KÝ HIỆU KHÔNG NẰM TRONG MÃ LỚP]

foxnewbie
21-10-2010, 08:53
Bạn tayngangvfp và luu_luu và các bro vfp giúp đỡ mình gấp gấp

Hồi trước làm Báo cáo tài chính bằng Excel thấy chưa tiện lắm nên mình đổi qua VFP

Vừa rồi mình đã thực hiện xong phần code nhưng khi in ra thì ôi thôi toàn là chữ của xứ Hindu.

Nguyên nhân là mình tạo 1 dbf chuẩn trong đó có field chỉ tiêu (Tiếng việt) và field chỉ tiêu. Chữ Việt hiện ngon lành. Nhưng sau khi xử lý số liệu liên kết bằng field chỉ tiêu để in ra trên report thì chữ nghĩa không còn là tiếng việt nữa. Rầu quá.

Các cao thủ hướng dẫn giúp để mình in ra được tiếng Việt, chứ mình đánh vật với nó gần tuần nay rồi, mà báo cáo cũng đã đến hạn, chẳng lẽ công cốc !!!

Xin cám ơn trước các anh em trong forum

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

Bạn tayngangvfp và luu_luu và các bro vfp ơi, xin giúp đỡ mình gấp gấp

Hồi trước làm Báo cáo tài chính bằng Excel thấy chưa tiện lắm nên mình đổi qua VFP

Vừa rồi mình đã thực hiện xong phần code nhưng khi in ra thì ôi thôi toàn là chữ của xứ Hindu.!?!?

Nguyên nhân là mình tạo 1 dbf chuẩn trong đó có field Tên chỉ tiêu (Tiếng việt) và field Mã chỉ tiêu. Chữ Việt hiện ngon lành. Nhưng sau khi xử lý số liệu liên kết bằng field Mã chỉ tiêu để in ra trên report thì chữ nghĩa không còn là tiếng việt nữa. Rầu quá.

Các cao thủ hướng dẫn giúp để mình in ra được tiếng Việt, chứ mình đánh vật với nó gần tuần nay rồi, mà báo cáo cũng đã đến hạn, chẳng lẽ công cốc !!!

Xin cám ơn trước các anh em trong forum

hungtuan61
21-10-2010, 13:03
Bạn tayngangvfp và luu_luu và các bro vfp giúp đỡ mình gấp gấp

Hồi trước làm Báo cáo tài chính bằng Excel thấy chưa tiện lắm nên mình đổi qua VFP

Vừa rồi mình đã thực hiện xong phần code nhưng khi in ra thì ôi thôi toàn là chữ của xứ Hindu.

Nguyên nhân là mình tạo 1 dbf chuẩn trong đó có field chỉ tiêu (Tiếng việt) và field chỉ tiêu. Chữ Việt hiện ngon lành. Nhưng sau khi xử lý số liệu liên kết bằng field chỉ tiêu để in ra trên report thì chữ nghĩa không còn là tiếng việt nữa. Rầu quá.

Các cao thủ hướng dẫn giúp để mình in ra được tiếng Việt, chứ mình đánh vật với nó gần tuần nay rồi, mà báo cáo cũng đã đến hạn, chẳng lẽ công cốc !!!

Xin cám ơn trước các anh em trong forum

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

Bạn tayngangvfp và luu_luu và các bro vfp ơi, xin giúp đỡ mình gấp gấp

Hồi trước làm Báo cáo tài chính bằng Excel thấy chưa tiện lắm nên mình đổi qua VFP

Vừa rồi mình đã thực hiện xong phần code nhưng khi in ra thì ôi thôi toàn là chữ của xứ Hindu.!?!?

Nguyên nhân là mình tạo 1 dbf chuẩn trong đó có field Tên chỉ tiêu (Tiếng việt) và field Mã chỉ tiêu. Chữ Việt hiện ngon lành. Nhưng sau khi xử lý số liệu liên kết bằng field Mã chỉ tiêu để in ra trên report thì chữ nghĩa không còn là tiếng việt nữa. Rầu quá.

Các cao thủ hướng dẫn giúp để mình in ra được tiếng Việt, chứ mình đánh vật với nó gần tuần nay rồi, mà báo cáo cũng đã đến hạn, chẳng lẽ công cốc !!!

Xin cám ơn trước các anh em trong forum

Modi report
Tại các field lấy hộp thoại Font với tên font tương ứng với bảng mã đã làm trên DBF. (Chẳng hạn : Trên DBF là ABC, thì field là ".Vn .."). Nếu là Unicode2 thì chọn tiếp Script là Vietnammese

foxnewbie
22-10-2010, 14:45
Modi report
Tại các field lấy hộp thoại Font với tên font tương ứng với bảng mã đã làm trên DBF. (Chẳng hạn : Trên DBF là ABC, thì field là ".Vn .."). Nếu là Unicode2 thì chọn tiếp Script là Vietnammese

Cám ơn bạn hungtuan61 đã giúp đỡ. Mình làm được rồi. Phấn khởi quá.

Nhân đây, cho mình hỏi thêm: Mình có 2 textbox txtNgay và txtSourceFile, mình muốn sau khi nhập giá trị của txtNgay thì sẽ hiện txtSourceFile và khi thay đổi giá trị txtNgay thì txtSourceFile cũng thay đổi theo. Ví dụ khi nhập txtNgay là 19/08/2010 thì txtSourceFile sẽ là BC19082010 và khi thay đổi txtNgay là 22/11/2010 thì txtSourceFile thay đổi theo là BC22112010

Cố gắng giúp mình nhé.

hoangnnm
22-10-2010, 15:58
Cám ơn bạn hungtuan61 đã giúp đỡ. Mình làm được rồi. Phấn khởi quá.

Nhân đây, cho mình hỏi thêm: Mình có 2 textbox txtNgay và txtSourceFile, mình muốn sau khi nhập giá trị của txtNgay thì sẽ hiện txtSourceFile và khi thay đổi giá trị txtNgay thì txtSourceFile cũng thay đổi theo. Ví dụ khi nhập txtNgay là 19/08/2010 thì txtSourceFile sẽ là BC19082010 và khi thay đổi txtNgay là 22/11/2010 thì txtSourceFile thay đổi theo là BC22112010

Cố gắng giúp mình nhé.

Ỏ event valid của txtNgay bạn gán giá trị cho txtSourceFile là được :
Ví dụ :


thisform.txtSourceFile.value = [BC] + strtran( this.value , [/] , [] )

foxnewbie
23-10-2010, 10:38
Ỏ event valid của txtNgay bạn gán giá trị cho txtSourceFile là được :
Ví dụ :


thisform.txtSourceFile.value = [BC] + strtran( this.value , [/] , [] )


Cám ơn bạn hoangnnm. Mình đã làm được rồi

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

1. Xem trên forum này thấy các bạn hay nói đến Grid. Mình hình dung nó giống như khi mình BROW phải không? Nếu đúng như vậy thì Dùng Grid có ưu điểm gì, nó khác với khi BRow chỗ nào. Cho mình xin 1 đoạn code đưa dữ liệu lên Grid với.

2. Mình muốn giải nén file .RAR ngay trong VFP thì làm sao đây ? Bạn nào biết giúp mình với nhé. Xưa nay toàn làm thủ công thấy nó lôi thôi quá. Chương trình mình viết lại lấy dữ liệu từ file xls được nén thành file RAR nên đang bí.

Cám ơn các bạn đã giúp mình vừa rồi nhé.

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

1. Xem trên forum này thấy các bạn hay nói đến Grid. Mình hình dung nó giống như khi mình BROW phải không? Nếu đúng như vậy thì Dùng Grid có ưu điểm gì, nó khác với khi BROW chỗ nào. Cho mình xin 1 đoạn code đưa dữ liệu lên Grid với.

2. Mình muốn giải nén file .RAR ngay trong VFP thì làm sao đây ? Bạn nào biết giúp mình với nhé. Xưa nay toàn làm thủ công thấy nó lôi thôi quá. Chương trình mình viết lại lấy dữ liệu từ file xls được nén thành file RAR nên đang bí.

Cám ơn các bạn đã giúp mình vừa rồi nhé.

tongocbao
24-10-2010, 01:42
Chào các bạn ! Các bạn tư vấn dùm mình vấn đề này nha:
_Mình đã build 1 projec nhõ thành 1 file .exe sao khi mình chày file này thì trên màng hình bao gồm form cua mình tạo và 1 form windows của fox.
_Mình không biết làm cách nào khi chạy thì trên màng hình chĩ hiên thị form cua mình tạo thôi, ko hiện form window lên ý(mình đã thữ tạo 1 file config trong file đó mình để 'SCREEN = OFF') nhưng khi chay thì form của mình lẫn form windows nó đều ẫn ko thấy j. Các ban giúp mình với
_Và khi mình chạy form. Nhấn vào nút thoát thì chỉ có form cua mình thiết kế là nó đóng lại còn form widows nó không đóng mình phải vào task mange mới đóng được nó. Các bạn biết lệnh nào đóng luôn cà form windows chỉ giúp mình !
Cám ơn các bạn đã đọc ! chúc các bạn 1 ngày vui

To Foxnewbie
_Grid theo mình biết thì nó giống như luc ban browse ! nhưng grid nó giúp bạn thao tác dữ liệu trên form (Giúp bạn có cái nhìn trực quang hơn về dự liệu cua bạn)
_Khi ban muốn đưa dữ liệu từ 1 table vào grit thì bạn dùng thuôc tính Recordsouce = 'tên table cua bạn'(vd : tblkhachhang)
_Xác định dư liệu cho từng cột thì phần column và text tương ứng có thuộc tính Controlsouce = 'tên cột ban muốn đưa vào' (vd :khachhang.tên)

Còn bạn muốn giãi nén thì mình nhớ là bác tayngangvfp có 1 bài ỡ máy trang đầu ban có thể tìm hiễu thư xem

hoangnnm
24-10-2010, 09:55
Chào các bạn ! Các bạn tư vấn dùm mình vấn đề này nha:
_Mình đã build 1 projec nhõ thành 1 file .exe sao khi mình chày file này thì trên màng hình bao gồm form cua mình tạo và 1 form windows của fox.
_Mình không biết làm cách nào khi chạy thì trên màng hình chĩ hiên thị form cua mình tạo thôi, ko hiện form window lên ý(mình đã thữ tạo 1 file config trong file đó mình để 'SCREEN = OFF') nhưng khi chay thì form của mình lẫn form windows nó đều ẫn ko thấy j. Các ban giúp mình với
_Và khi mình chạy form. Nhấn vào nút thoát thì chỉ có form cua mình thiết kế là nó đóng lại còn form widows nó không đóng mình phải vào task mange mới đóng được nó. Các bạn biết lệnh nào đóng luôn cà form windows chỉ giúp mình !
Cám ơn các bạn đã đọc ! chúc các bạn 1 ngày vui

To Foxnewbie
_Grid theo mình biết thì nó giống như luc ban browse ! nhưng grid nó giúp bạn thao tác dữ liệu trên form (Giúp bạn có cái nhìn trực quang hơn về dự liệu cua bạn)
_Khi ban muốn đưa dữ liệu từ 1 table vào grit thì bạn dùng thuôc tính Recordsouce = 'tên table cua bạn'(vd : tblkhachhang)
_Xác định dư liệu cho từng cột thì phần column và text tương ứng có thuộc tính Controlsouce = 'tên cột ban muốn đưa vào' (vd :khachhang.tên)

Còn bạn muốn giãi nén thì mình nhớ là bác tayngangvfp có 1 bài ỡ máy trang đầu ban có thể tìm hiễu thư xem

Bạn chỉnh thuộc tính Showwindow của form thành 1 hoặc 2 .
Tắt window của foxpro thì dùng lệnh _Screen.visible = .F. , hoặc chỉnh ở config.fpw như bạn làm .

tongocbao
24-10-2010, 15:26
Chào ban Hoangnnm ! mình đã làm theo cách của bạn thì đã tắt đươc windows của fox nhưng lại có vấn đề xảy ra là :
_ Ở thuộc tính Showwindow nếu mình chọn 1 thì ko tắt được window của foxpro còn chòn 2 thì đươc
_Mình chọn tiếp form thứ 2 (goi từ form 1) nếu Showwindow = 1 thì ko vấn dề j. Mình chọn 2 thì khi mình gọi form thứ 2 (goi từ form 1, mình chọn windowtype = modal) thì grid trên form 2 của mình trắng bốc ko loat dược dữ liệu từ table
_Ban có cách nào khi mình chọn Showwindow = 2 khi mình gọi form thứ 2 (goi từ form 1) thì grid ko bị xóa trắng kô ?

_Dùng lệnh _Screen.visible = .F. : khi mình test lệnh này thì cai window của foxpro nó chỉ ẫn đi chứ khô hoàn toàn thoát khõi fox(chưng trình .exe nó vẫn còn tồn tại trong task mange ) Ý mình muốn là tắt hẵn nó lun

Cám ơn bạn đạ góp ý !

foxnewbie
25-10-2010, 12:23
Bạn tayngangVFP ơi, chỉ cho mình chiêu này với.

Theo mách nước của tongcbao : "Còn bạn muốn giãi nén thì mình nhớ là bác tayngangvfp có 1 bài ỡ máy trang đầu ban có thể tìm hiễu thư xem"

Mình đã xem hướng dẫn của bạn ở trang 7, nhưng vì là newbie nên không hiểu được bao nhiêu. Nếu được, bạn cho mình xin đoạn code về giải nén file RAR trong VFP với. Mình muốn nó là một Procedure trong chương trình để khi cần chỉ việc Do.... thủ tục đó là giải nén luôn.

Rất mong sự quan tâm của tayngangVFP và các bạn trên forum

mail của mình : nthua@mhb.com.vn hoặc thuamhb@yahoo.com

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

Cám ơn các bạn ! Mình đã giải quyết gọn nhẹ vấn đề này rồi !

Chỉ việc thêm 1 switch /N vào câu lệnh mà thôi

tranphongbinh
27-10-2010, 10:25
Mình dùng Visual Fox để chạy các Store sau trong SQL Server 2005

SQLEXEC(_handle,_sql1,"SqlData")

SQLEXEC(_handle,_sql2,"SqlData")


Sau khi thực hiện xong SQLEXEC(_handle,_sql1,"SqlData") (khoảng 10 phút) thì mới thực hiện tiếp câu lệnh SQLEXEC(_handle,_sql2,"SqlData")
Giờ mình muốn thực thi cùng lúc 2 câu lệnh trên thì phải làm sao. Nhờ các bạn hướng dẫn.

foxnewbie
27-10-2010, 14:46
Trên form chính mình khai báo biến DIR thư mục chính ở mục LOAD-click là DIR = [D:\Application\]

Trên các nút Command ở mục Click mình khai báo SubDir = Dir+[CN01\]

Khi chạy thì báo lỗi : Variable DIR not found

Làm sao để sửa lỗi này các bạn, Giúp mình với nhé !

tayngangvfp
27-10-2010, 16:03
Trên form chính mình khai báo biến DIR thư mục chính ở mục LOAD-click là DIR = [D:\Application\]

Trên các nút Command ở mục Click mình khai báo SubDir = Dir+[CN01\]

Khi chạy thì báo lỗi : Variable DIR not found

Làm sao để sửa lỗi này các bạn, Giúp mình với nhé !

1/Phải khai báo biến Dir là 'public'.
2/Hoặc tạo 1 thuộc tính Thisform.Dir=[D:\Application\]
SubDir =Thisform.Dir+[CN01\]

foxnewbie
28-10-2010, 08:02
1/Phải khai báo biến Dir là 'public'.
2/Hoặc tạo 1 thuộc tính Thisform.Dir=[D:\Application\]
SubDir =Thisform.Dir+[CN01\]

Cám ơn bạn Tayngangvfp nhé. Mình làm theo chỉ dẫn của bạn và được rồi

Mình đã đọc gần hết các bài trong topic này rồi, bạn thật nhiệt tình và nắm rất vững vfp (chắc không phải tay ngang rồi!. Mình học hỏi được nhiều điều ở bạn và các anh em. Những newbie như mình cần rất nhiều sự chỉ bảo của các bạn. Cám ơn mọi người rất nhiều

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

Mình có một form gồm 2 nút lệnh và 1 grid. Xin hỏi anh em :

1. Khai báo thế nào để sau khi tạo xong dữ liệu nguồn cho Grid thì dữ liệu mới hiện lên trên Grid ? Vì nếu khai báo trước thì Grid báo lỗi "Eror loading file ......Alias 'XTABLE' is not found'

2. Các nút lệnh trên khi xử lý đều xuất ra 1 file kết quả cùng tên file (XTable.dbf) nhưng khác cấu trúc, mình muốn kết quả từng lần click trên nút lệnh đều hiện trên Grid có được không ?(Vì mình không muốn tạo thêm form mới để hiện kết quả)

Nhờ các bạn quan tâm giúp mình với nhé ! Cám ơn nhiều

luu_luu
29-10-2010, 08:41
theo mình thì mình làm như sau, bạn xem có dùng được không?
chú ý khai báo biến tại LOAD ò form
PUBLIC ktkhung
ktkhung=0

- từ form khai báo method mới có tên taokhung, viết code tạo GRID trong method đó:
* method TAOKHUNG
WITH Thisform
if ktkhung=1
.RemoveObject([luoi],[grid])
ktkhung=0
endi
.AddObject([luoi],[grid])
ktkhung=1
.FontName=[vni-times]
.FontSize=12
.Left=n
.Top=n
.Visible=.t.
with column1
.ControlSource=[fieldname]
.Width=n
.Spaser=.f.(.t.)
.Header1.Caption=[diển giải]
endwith
with column2
.ControlSource=[fieldname]
.Width=n
.Spaser=.f.(.t.)
.Header1.Caption=[diển giải]
endwith
with column(n)
.ControlSource=[fieldname]
.Width=n
.Spaser=.f.(.t.)
.Header1.Caption=[diển giải]
endwith

ENDWITH

khi bạn tạo dât nguồn xong, bạn gọi method TAOKHUNG :
thí dụ:
1- command1.click
select a.*,b.* from data1 a,data2 b where a.dk=b.dk into củo sys(2015)
thisform.taokhung
2 - command2.click
select a.*,c.* from data1 a,data3 c where a.dk=c.dk into củo sys(2015)
thisform.taokhung

foxnewbie
01-11-2010, 08:04
theo mình thì mình làm như sau, bạn xem có dùng được không?
chú ý khai báo biến tại LOAD ò form
PUBLIC ktkhung
ktkhung=0

- từ form khai báo method mới có tên taokhung, viết code tạo GRID trong method đó:
* method TAOKHUNG
WITH Thisform
if ktkhung=1
.RemoveObject([luoi],[grid])
ktkhung=0
endi
.AddObject([luoi],[grid])
ktkhung=1
.FontName=[vni-times]
.FontSize=12
.Left=n
.Top=n
.Visible=.t.
with column1
.ControlSource=[fieldname]
.Width=n
.Spaser=.f.(.t.)
.Header1.Caption=[diển giải]
endwith
with column2
.ControlSource=[fieldname]
.Width=n
.Spaser=.f.(.t.)
.Header1.Caption=[diển giải]
endwith
with column(n)
.ControlSource=[fieldname]
.Width=n
.Spaser=.f.(.t.)
.Header1.Caption=[diển giải]
endwith

ENDWITH

khi bạn tạo dât nguồn xong, bạn gọi method TAOKHUNG :
thí dụ:
1- command1.click
select a.*,b.* from data1 a,data2 b where a.dk=b.dk into củo sys(2015)
thisform.taokhung
2 - command2.click
select a.*,c.* from data1 a,data3 c where a.dk=c.dk into củo sys(2015)
thisform.taokhung

Cám ơn luu_luu nhé !
Mình cứ nghĩ là tạo xong data thì chỉ việc BROW như trong FP là xong chứ. Mình chỉ mới tìm hiểu Grid nên chưa hiểu hết được. Mình phải "ngâm cứu" kỹ mới được.

Mình đã làm như bạn hướng dẫn, nhưng cho hỏi đoạn code tạo Grid cho method Taokhung thì viết vào đâu vậy (Ví dụ : Trong Init của Command1 chẳng hạn ...) vì mình chỉ mới tham gia nên chưa nắm rõ.

Chỉ vẽ thêm cho mình nhé.

luu_luu
01-11-2010, 09:32
- modify file form <file name>
- chọn menu FORM - chọn NEW METHOD - đặt tên TAOKHUNG - click ADD - xong
- mỗi khi gọi nó bởi vì nó thuộc FORM nên ta phải phát lệnh THISFORM.TAOKHUNG, code viết 1 lần dùng cho mọi tình huống cần xử lý database, thí dụ:
- command1.click
use <filename>
thisform.taokhung
- command2.click
select * from alia() into cursor sys(2015)
thisorm.taokhung
nếu datbase ở command1 có nhiều field hơn command2, trong TAOKHUNG ta đặt thêm đk IF hay DO CASE để thay đổi theo từng tình huống,OK
các METHOD được tạo mới trên FORM giống như các chương trình con PRG

foxnewbie
01-11-2010, 14:10
Mình gà về món này quá, Bạn Luu_luu hướng dẫn chi tiết cho mình thêm nhé.

Mình có hỏi : đoạn code tạo Grid cho method Taokhung thì viết vào đâu vậy (Ví dụ : Trong Init của Command1 chẳng hạn ...)

Bạn trả lời : các METHOD được tạo mới trên FORM giống như các chương trình con PRG

Mình đã khai báo như hướng dẫn của bạn nhưng riêng đoạn code tạo Grid mà bạn hướng dẫn mình không biết để vào đâu hết. Mình đã thử tạo một chương trình con tên là Taokhung cùng thư mục mà cũng không thấy thực hiện được.

Bạn giúp mình kiểu step by step đi nhé. Cám ơn vì sự nhiệt tình của bạn.

Nếu được bạn cho mình xin một ví dụ để làm mẫu, đại loại như : Tạo 1 file DBF tên VIDU.dbf. Tạo dữ liệu bằng cách dùng FOR - NEXT để append tự động. Sau đó dùng method tạo khung của bạn để hiện dữ liệu lên Grid. Nếu được như vậy thì mình năm bắt nhanh hơn.

Mail của mình : thuamhb@yahoo.com hoặc nthua@mhb.com.vn

tayngangvfp
01-11-2010, 15:47
@ foxnewbie

Grid trong VFP là 1 control dùng để thể hiện dữ liệu rất tuyệt. Nó có rất nhiều thuộc tính, phương thức và sự kiện. Bạn nên tìm hiểu trong help của vfp phần: Grid Control Properties, Methods, and Events để có thể sử dụng nó 1 cách thành thạo.

foxnewbie
01-11-2010, 16:44
@ foxnewbie

Grid trong VFP là 1 control dùng để thể hiện dữ liệu rất tuyệt. Nó có rất nhiều thuộc tính, phương thức và sự kiện. Bạn nên tìm hiểu trong help của vfp phần: Grid Control Properties, Methods, and Events để có thể sử dụng nó 1 cách thành thạo.

Cám ơn bạn tayngangvfp đã quan tâm, mình sẽ xem kỹ các hướng dẫn của bạn. Sở dĩ mình hỏi hơi chi tiết vì cũng mới luyện VFP một thời gian ngắn nên công lực chưa cao, mà mình lại tham lam muốn chuyển chương trình cũ sang VFP hết.

Hy vọng, với sự giúp sức của các anh em, thời gian tới mình sẽ thành thạo hơn nhiều.

khzaof
03-11-2010, 00:48
Hi ,mình cũng đang làm quen VFP .Rất vui được làm quen mọi người trong clb .
Nhân tiện ai có video ,sách dạy làm 1 dự án nhỏ thì share cho mình với .
Thanks :punk:

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

Tiện đây cho em hỏi
Kinh nghiệm khi chèn ảnh vào form ,có cách nào để nó tự động lấp đầy vào form không bị nhân lên !!

foxit
05-11-2010, 15:18
Các bạn cho hỏi làm sao để đóng file FRT (report) mà không phải restart máy tính. Xin cám ơn!

robertquy
05-11-2010, 16:21
Chào các bạn!
Mình đang sử dụng 1 phần mềm viết bằng VFP7.0, mình đang gặp vấn đề là xuất Excel. File dữ liệu khoảng 30.000 record những khi xuất Excel chỉ ra được khoảng 16.000 record thôi. Có cách nào để xuất 1 lần ra hết không vậy?
Cao thủ nào biết xin chỉ giúp nhé!

tongocbao
05-11-2010, 21:12
chào các bạn ! các bạn cho mình hỏi vấn dề này nha
_Ỡ một vài chương trình mình tham khảo có khai báo một số biến là 'Local' khi vào trong chương trình sữ dụng những biết đó minh mình thấy người ta thêm vào 'm.' đứng trước tên biến. Mình không hiễu 'm.' có công dụng j. Ban nào biết có thệ giải thích giúp mình với
_Một vấn đề nưa là khi mình sữ dụng 'SYS(16, 0)' de lấy đường dẩn của chương trình add vào 'DEFAULT'. Các bạn cho mình hỏi có phải nó trả về 2 đường dẩn khách nhau trước và sau khi mình build 1 project thành file .exe ko ?

Cam ơn các bạn đã đọc ! chúc các ban cuối tuần vui vẽ

To foxnewbie:
Chào ban ! mình cũng đang lam wen với vfp vài tháng nay ! theo y' mình thì ban nen ra nhà sách mua 1 cuống tự hoc vfp 8.0 (mình thấy có 1 số nhà sách bán) bạn có thể đọc và lam theo VD trong đó kiễu step by step nó có giới thiệu về các control trong fox (có Grid ma ban đang quan tam)

To foxit:
Theo mình biết thì khi mình view 1 report lên thì fox có kèm theo cho bạn 1 control nhỏ phía trên bên trái trong đó có nút close. Ko thi ban thữ gõ vào commad 'Cancel' hay là 'close all' thử xem

foxnewbie
06-11-2010, 12:43
To foxnewbie:
Chào ban ! mình cũng đang lam wen với vfp vài tháng nay ! theo y' mình thì ban nen ra nhà sách mua 1 cuống tự hoc vfp 8.0 (mình thấy có 1 số nhà sách bán) bạn có thể đọc và lam theo VD trong đó kiễu step by step nó có giới thiệu về các control trong fox (có Grid ma ban đang quan tam)

Cám ơn bạn, mình cũng có mua 1 cuốn nhưng trình bày không được phù hợp, chủ yếu trình bày lệnh và hàm còn phần thực hiện trên đối tượng thì ít quá.

Lần này mình sẽ tìm kỹ hơn phần nội dung, tiếc là bạn không cho mình tên sách và địa chỉ nhà sách để mình dễ kiếm.

Chúc bạn khỏe, mau lĩnh hội kiến thức về VFP.

foxit
06-11-2010, 15:37
Theo mình biết thì khi mình view 1 report lên thì fox có kèm theo cho bạn 1 control nhỏ phía trên bên trái trong đó có nút close. Ko thi ban thữ gõ vào commad 'Cancel' hay là 'close all' thử xem

Cám ơn bạn! Mình chưa tìm hiểu, có cách nào bằng dòng lệnh ko?

changkhoag
06-11-2010, 18:15
Xin chào các bạn!

Mình có CSDL như file đính kèm. Nay muốn sắp xếp phòng thi và in ra theo yêu cầu sau:

1. Sắp xếp theo Mã nghề (Field: man) nếu cùng mã nghề thì sắp xếp họ tên tăng dần (Mình sử dụng mã Vni). Sau đó đánh số báo danh và sắp phòng thi theo từng nghề theo qui định: 2 số đầu của số báo danh là Mã hội đồng (Field: mahd), mỗi lần qua nghề khác thì vẫn đánh số báo danh liên tục nhưng phải qua phòng khác. (Số phòng cũng lên tục).
2. In danh sách phòng thi (Report) của từng mã nghề theo mẫu sau:

DANH SÁCH THÍ SINH DỰ THI
NGHỀ: . . . . .. . . . ….

HỘI ĐỒNG THI: . . . .
PHÒNG THI SỐ: . . . .
Từ số báo danh . . . . đến số báo danh: . . . . . (Chỗ này hiển thị số báo danh đầu và số báo danh cuối của phòng thi)

(Dưới này là danh sách thí sinh trong phòng thi)

Mình đang suy nghĩ nhưng chưa tìm ra được giải thuật, rất mong các bạn giúp. Thanh thật cảm ơn. Link download file .DBF thực hiện: http://www.mediafire.com/?e4btnc066tc4apm

robertquy
06-11-2010, 19:28
Chuyển phần mềm từ VFP7 lên VFP9 thì chạy các câu lệnh SQL bị lỗi, vậy VFP9 khác VPF7 ở những phần nào vậy, xin chỉ giáo giúp...

tongocbao
07-11-2010, 14:17
Cám ơn bạn, mình cũng có mua 1 cuốn nhưng trình bày không được phù hợp, chủ yếu trình bày lệnh và hàm còn phần thực hiện trên đối tượng thì ít quá.

Lần này mình sẽ tìm kỹ hơn phần nội dung, tiếc là bạn không cho mình tên sách và địa chỉ nhà sách để mình dễ kiếm.

Tựa sách đây bạn: 'Tự học ngôn ngữ lập trình Visual fox 8.0' của NXB văn hóa thông tin. TG: Hoàng Quang - Quang Anh


Chuyển phần mềm từ VFP7 lên VFP9 thì chạy các câu lệnh SQL bị lỗi, vậy VFP9 khác VPF7 ở những phần nào vậy, xin chỉ giáo giúp...

Mình thì chưa biết nó khác chổ nào nhưng cách khắc phục là ban cho thêm 1 dòng lệnh 'SET ENGINEBEHAVIOR 70' khi chương trình của bạn khởi động

To foxit: Bạn có thể nói rõ hơn cho mình biết ban soạn thảo chương trình trên phần mền nào ko ? mình thì chỉ biết làm trên vfp ! hì ......

To every one:

_Ỡ một vài chương trình mình tham khảo có khai báo một số biến là 'Local' khi vào trong chương trình sữ dụng những biết đó minh mình thấy người ta thêm vào 'm.' đứng trước tên biến. Mình không hiễu 'm.' có công dụng j. Ban nào biết có thệ giải thích giúp mình với
_Một vấn đề nưa là khi mình sữ dụng 'SYS(16, 0)' de lấy đường dẩn của chương trình add vào 'DEFAULT'. Các bạn cho mình hỏi có phải nó trả về 2 đường dẩn khách nhau trước và sau khi mình build 1 project thành file .exe ko ?

Có bác nào giúp em với !!!

tayngangvfp
08-11-2010, 11:20
@tongocbao



_Ỡ một vài chương trình mình tham khảo có khai báo một số biến là 'Local' khi vào trong chương trình sữ dụng những biết đó minh mình thấy người ta thêm vào 'm.' đứng trước tên biến. Mình không hiễu 'm.' có công dụng j. Ban nào biết có thệ giải thích giúp mình với
_Một vấn đề nưa là khi mình sữ dụng 'SYS(16, 0)' de lấy đường dẩn của chương trình add vào 'DEFAULT'. Các bạn cho mình hỏi có phải nó trả về 2 đường dẩn khách nhau trước và sau khi mình build 1 project thành file .exe ko ?

Có bác nào giúp em với !!!

- Việc thêm tiền tố m. vào trước tên biến thường dùng để phân biệt biến bộ nhớ và biến trường (tên field). Vì nếu có 1 biến tên TongCong và trong một table đang mở cũng có 1 field tên Tongcong thì fox sẽ ưu tiên sử dụng giá trị chứa trong Field Tongcong=> để sử dụng biến (bộ nhớ) thì dùng m.Tongcong

- Sys(16,0) trả về tên của chương trình đang thực thi, vì vậy nếu trước khi build nó sẽ trả về tên của fxp, scx,..... cái mà được gọi chạy đầu tiên. Còn sau khi buil sẽ trả về tên chương trình.exe

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



.

@changkhoag

Quy định 1 Phòng có bao nhiêu thí sinh?

changkhoag
08-11-2010, 13:33
1 Phòng có 24 thí sinh anh ah. Thành thật cảm ơn anh đã quan tâm!

tayngangvfp
08-11-2010, 14:52
1 Phòng có 24 thí sinh anh ah. Thành thật cảm ơn anh đã quan tâm!

Không biết mô tả như sau có đúng không:

- Sắp xếp danh sách theo mã nghề (MAN), nếu trùng thì sắp theo MaHD (vì thấy trong report có phần "Hội đồng thi"), nếu trùng thì sắp theo TÊn, Họ

- Như vậy khi lên danh sách phòng thi sẽ là: mỗi phòng có tối đa 24 thí sinh (có cùng nghề (MAN), cùng hội đồng (MaHD) được sắp xếp theo TEN,HO?

- Mỗi khi sang 1 hội đồng khác (MaHD) thì sẽ đánh lại số phòng thi từ 1?

- Số báo danh sẽ đánh tăng liên tục với quy định 2 ký tự đầu là MaHD

biẽnanh
08-11-2010, 15:29
có ai không giúp mình với.làm bài tập csdl huhu!
chết con mất mẹ ơi!!!!!

changkhoag
08-11-2010, 18:05
- Sắp xếp danh sách theo Mã hội đồng, nếu trùng thì sắp theo mã nghề (MAN), nếu trùng thì sắp theo Tên, Họ.

- Như vậy khi lên danh sách phòng thi sẽ là: mỗi phòng có tối đa 24 thí sinh (có cùng hội đồng (MaHD), cùng nghề (MAN)) được sắp xếp theo Tên, họ.

- Mỗi khi sang 1 hội đồng khác (MaHD) hoặc hoặc qua nghề khác thì vẫn đánh tiếp số phòng thi anh ah.

- Số báo danh sẽ đánh tăng liên tục với quy định 2 ký tự đầu là MaHD.

Nhờ anh giúp dùm. Cảm ơn anh rất nhiều.

tongocbao
08-11-2010, 20:42
@tongocbao
- Việc thêm tiền tố m. vào trước tên biến thường dùng để phân biệt biến bộ nhớ và biến trường (tên field). Vì nếu có 1 biến tên TongCong và trong một table đang mở cũng có 1 field tên Tongcong thì fox sẽ ưu tiên sử dụng giá trị chứa trong Field Tongcong=> để sử dụng biến (bộ nhớ) thì dùng m.Tongcong

- Sys(16,0) trả về tên của chương trình đang thực thi, vì vậy nếu trước khi build nó sẽ trả về tên của fxp, scx,..... cái mà được gọi chạy đầu tiên. Còn sau khi buil sẽ trả về tên chương trình.exe

Cám ơn bạn ! Mình sẽ nghiên cứ thêm về vấn đề này !

tayngangvfp
09-11-2010, 08:51
- Sắp xếp danh sách theo Mã hội đồng, nếu trùng thì sắp theo mã nghề (MAN), nếu trùng thì sắp theo Tên, Họ.

- Như vậy khi lên danh sách phòng thi sẽ là: mỗi phòng có tối đa 24 thí sinh (có cùng hội đồng (MaHD), cùng nghề (MAN)) được sắp xếp theo Tên, họ.

- Mỗi khi sang 1 hội đồng khác (MaHD) hoặc hoặc qua nghề khác thì vẫn đánh tiếp số phòng thi anh ah.

- Số báo danh sẽ đánh tăng liên tục với quy định 2 ký tự đầu là MaHD.

Nhờ anh giúp dùm. Cảm ơn anh rất nhiều.

@changkhoag
http://www.mediafire.com/file/lo0vi24x7155t77/PhongThi.rar

changkhoag
09-11-2010, 21:45
@changkhoag
http://www.mediafire.com/file/lo0vi24x7155t77/PhongThi.rar



Cảm ơn a tayngangvfp rất nhiều! Giải thuật a viết cao siêu quá, Khâm phục. khâm phục...

Anh cho em hỏi anh thêm để biết rõ:
1. Sau khi anh đánh số báo danh và số phòng sao e không thấy lưu vào file .DBF vậy. Nếu em muốn lưu vào .DBF thì làm thế nào?
2. Em muốn làm 1 form có tùy chọn in theo hội đồng, hoặc in số trang tùy ý thì làm thế nào?

Mấy câu hỏi hơi gà, mong anh chỉ giáo. Thành thật cảm ơn anh. Nếu được nhờ anh gửi demo qua e mail giùm em: changkhoagg@gmail.com

foxnewbie
12-11-2010, 10:26
Mình chuyển chương trình từ FP sang VFP thì có vấn đề này, mong các anh em chỉ giúp:

Báo cáo trước đây chạy OK. Nhưng sau khi chuyển thì số liệu hầu như tăng gấp đôi. Mình nghĩ có lẽ do bị cộng cả số chi tiết và số cộng nhóm, sự thật đúng là như thế nhưng chưa biết giải quyết ra sao ?

DBF có 2 field : Taikhoan và Sodu
Field TK có các record có giá trị như sau (độ dài các tk không cố định):
....
9373027041
....
9373087049
....
9373037044
....
9373
....

Khi dùng lệnh: Sum Sodu to mTien for Left(TK,10)$[9373027041.9373087049.9373037044]
thì nó cộng cả Số dư của TK 9373 vào nữa.

Giải quyết thế nào đây ?? Mặc dù mình đã dùng SET EXACT on/off

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


Mình chuyển chương trình từ FP sang VFP thì có vấn đề này, mong các anh em chỉ giúp:

Báo cáo trước đây chạy OK. Nhưng sau khi chuyển thì số liệu hầu như tăng gấp đôi. Mình nghĩ có lẽ do bị cộng cả số chi tiết và số cộng nhóm, sự thật đúng là như thế nhưng chưa biết giải quyết ra sao ?

DBF có 2 field : Taikhoan và Sodu
Field TK có các record có giá trị như sau (độ dài các tk không cố định):
....
9373027041
....
9373087049
....
9373037044
....
9373
....

Khi dùng lệnh: Sum Sodu to mTien for Left(TK,10)$[9373027041.9373087049.9373037044]
thì nó cộng cả Số dư của TK 9373 vào nữa.

Giải quyết thế nào đây ?? Mặc dù mình đã dùng SET EXACT on/off

To : Bạn Luu_luu
[/QUOTE] Nếu được bạn cho mình xin một ví dụ để làm mẫu, đại loại như : Tạo 1 file DBF tên VIDU.dbf. Tạo dữ liệu bằng cách dùng FOR - NEXT để append tự động. Sau đó dùng method tạo khung của bạn để hiện dữ liệu lên Grid. Nếu được như vậy thì mình năm bắt nhanh hơn.[/QUOTE]
Cám ơn bạn, mình đã làm được theo hướng dẫn của bạn. Bây giờ hình thức của chương trình có vẻ prồ rồi.

hoangnnm
12-11-2010, 10:37
Mình chuyển chương trình từ FP sang VFP thì có vấn đề này, mong các anh em chỉ giúp:

Báo cáo trước đây chạy OK. Nhưng sau khi chuyển thì số liệu hầu như tăng gấp đôi. Mình nghĩ có lẽ do bị cộng cả số chi tiết và số cộng nhóm, sự thật đúng là như thế nhưng chưa biết giải quyết ra sao ?

DBF có 2 field : Taikhoan và Sodu
Field TK có các record có giá trị như sau (độ dài các tk không cố định):
....
9373027041
....
9373087049
....
9373037044
....
9373
....

Khi dùng lệnh: Sum Sodu to mTien for Left(TK,10)$[9373027041.9373087049.9373037044]
thì nó cộng cả Số dư của TK 9373 vào nữa.

Giải quyết thế nào đây ?? Mặc dù mình đã dùng SET EXACT on/off

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



Trường hợp này nên dùng inlist :


Sum Sodu to mTien for INLIST(Left(TK,10),'9373027041','9373087049','9373 037044')

tutibibon
17-11-2010, 00:09
Xin chào tayngangvfp và các bạn!
Mình đang gặp khó khăn nhờ tayngangvfp chỉ giúp với. Mình đã lấy dữ liệu từ oracle (font unicode) và lưu dữ liệu đó trên vfp, nhưng những field dạng chuỗi thì bị hư font không đọc được vì không chuyển được font.
Rất mong tayngangvfp chỉ giúp với.

hshason
22-11-2010, 11:55
Mình chưa sử dụng Oracle bao giờ, nhưng theo mình nghĩ dù bất cứ ở đâu thì đơn giản cũng chỉ là 1 chuỗi kỹ tự. Vậy bạn có thể sử dụng 1 hàm chuyển đổi mã font từ Unicode sang TCVN3(ABC) trước khi bạn replace vào DBF của VFP.
Bạn thử dùng hàm này nhé:
FUNCTION UTF2ABC
PARAMETERS tcUTF8
LOCAL i,lnLen,strABC,lcChar1,lcChar2,lcChar3,lnPost
LOCAL _DF_UTF3Byte_ABC,_DF_UTF3Byte_ABC2

_DF_UTF2Byte_ABC=[áàãăâÁÀÃĂÂéà êÉÈÊóòõôơÓÒà •Ã”ƠíìĩÍÌĨýÝđ ÃºÃ¹ÃšÃ™Æ°Æ¯Å©Å¨]
_DF_UTF2Byte_ABC2=[¸µ·¨©¸µ·¡¢Ð̪ÐÌ£ãß⫬ãß⤠¥Ý×ÜÝ×Üýý®§óïóï­¦òò]
_DF_UTF3Byte_ABC = [áº£áº¡áº¯áº±áº³áºµáº·áº¥á º§áº©áº«áº­áº¢áº áº®áº°áº ²áº´áº¶áº¤áº¦áº¨áºªáº¬áº» ẽẹếềểễệẺ ẼẸẾỀỂỄỆỠá»á»‘ồ]
_DF_UTF3Byte_ABC = _DF_UTF3Byte_ABC + [ổỗộớờởỡỠ£á»Žá»Œá»á»’á»”á»–á»˜á šá»œá»žá» á»¢á»‰á»‹á»ˆá Šá»³á»·á»¹á»µá»²á»¶á»¸á» á»§á»¥á»¦á»¤á»©á»«á»­á»± »¨á»ªá»¬á»°á»®á»¯]
_DF_UTF3Byte_ABC2 = [¶¹¾»¼½ÆÊÇÈÉ˶¹¾»¼½ÆÊÇÈÉËÎ ÏÑÕÒÓÔÖÎÏÑÕÒÓÔÖáäèåæçéíêë ìîáäèåæçéíêëìîØÞØÞúûüþúûü þñôñôøõöùøõöù÷÷]
****************************
i=0
lnLen=LEN(tcUTF8)
lcABC=""
lcChar1=""
lcChar2=""
lcChar3=""

* Cho de xu ly + SPACE(2)
tcUTF8=tcUTF8+" "
FOR i=1 TO lnLen
lcChar3=SUBSTR(tcUTF8,i,3)
lnPost=AT(lcChar3,_DF_UTF3Byte_ABC)
IF lnPost>0
* Day la ky tu UTF8 co 3 byte
lcABC =lcABC+SUBSTR(_DF_UTF3Byte_ABC2,INT(lnPost/3)+1,1)
i=i+2
ELSE
* Khong phai 3 byte, kiem tra xem co la UTF8 2 byte khong
lcChar2=LEFT(lcChar3,2)
lnPost=AT(lcChar2,_DF_UTF2Byte_ABC)
IF lnPost>0
lcABC=lcABC+SUBSTR(_DF_UTF2Byte_ABC2,INT(lnPost/2)+1,1)
i = i + 1
ELSE
* Day la UTF8 1 byte = VNI 1 bye
lcABC = lcABC+LEFT(lcChar2,1)
ENDIF
ENDIF
ENDFOR
RETURN lcABC
ENDFUNC

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

Chào các bạn!
Mình sử dụng Class ReportListener của VFP9 để Preview report, nhưng khi chạy bị lỗi không hiển thị được ký tự (Dùng Font .VnTime), cụ thể là chữ "ư", và cũng có thể có các ký tự khác nữa.
VD: "Chương trình" -> "Chơng trình".
Có bạn nào đã sử dụng ReportListener và biết cách khắc phục điều này không?

tutibibon
24-11-2010, 22:51
Mình chưa sử dụng Oracle bao giờ, nhưng theo mình nghĩ dù bất cứ ở đâu thì đơn giản cũng chỉ là 1 chuỗi kỹ tự. Vậy bạn có thể sử dụng 1 hàm chuyển đổi mã font từ Unicode sang TCVN3(ABC) trước khi bạn replace vào DBF của VFP.
Bạn thử dùng hàm này nhé:
FUNCTION UTF2ABC
PARAMETERS tcUTF8
LOCAL i,lnLen,strABC,lcChar1,lcChar2,lcChar3,lnPost
LOCAL _DF_UTF3Byte_ABC,_DF_UTF3Byte_ABC2

_DF_UTF2Byte_ABC=[áàãăâÁÀÃĂÂéà êÉÈÊóòõôơÓÒà •Ã”ƠíìĩÍÌĨýÝđ ÃºÃ¹ÃšÃ™Æ°Æ¯Å©Å¨]
_DF_UTF2Byte_ABC2=[¸µ·¨©¸µ·¡¢Ð̪ÐÌ£ãß⫬ãß⤠¥Ý×ÜÝ×Üýý®§óïóï­¦òò]
_DF_UTF3Byte_ABC = [áº£áº¡áº¯áº±áº³áºµáº·áº¥á º§áº©áº«áº­áº¢áº áº®áº°áº ²áº´áº¶áº¤áº¦áº¨áºªáº¬áº» ẽẹếềểễệẺ ẼẸẾỀỂỄỆỠá»á»‘ồ]
_DF_UTF3Byte_ABC = _DF_UTF3Byte_ABC + [ổỗộớờởỡỠ£á»Žá»Œá»á»’á»”á»–á»˜á šá»œá»žá» á»¢á»‰á»‹á»ˆá Šá»³á»·á»¹á»µá»²á»¶á»¸á» á»§á»¥á»¦á»¤á»©á»«á»­á»± »¨á»ªá»¬á»°á»®á»¯]
_DF_UTF3Byte_ABC2 = [¶¹¾»¼½ÆÊÇÈÉ˶¹¾»¼½ÆÊÇÈÉËÎ ÏÑÕÒÓÔÖÎÏÑÕÒÓÔÖáäèåæçéíêë ìîáäèåæçéíêëìîØÞØÞúûüþúûü þñôñôøõöùøõöù÷÷]
****************************
i=0
lnLen=LEN(tcUTF8)
lcABC=""
lcChar1=""
lcChar2=""
lcChar3=""

* Cho de xu ly + SPACE(2)
tcUTF8=tcUTF8+" "
FOR i=1 TO lnLen
lcChar3=SUBSTR(tcUTF8,i,3)
lnPost=AT(lcChar3,_DF_UTF3Byte_ABC)
IF lnPost>0
* Day la ky tu UTF8 co 3 byte
lcABC =lcABC+SUBSTR(_DF_UTF3Byte_ABC2,INT(lnPost/3)+1,1)
i=i+2
ELSE
* Khong phai 3 byte, kiem tra xem co la UTF8 2 byte khong
lcChar2=LEFT(lcChar3,2)
lnPost=AT(lcChar2,_DF_UTF2Byte_ABC)
IF lnPost>0
lcABC=lcABC+SUBSTR(_DF_UTF2Byte_ABC2,INT(lnPost/2)+1,1)
i = i + 1
ELSE
* Day la UTF8 1 byte = VNI 1 bye
lcABC = lcABC+LEFT(lcChar2,1)
ENDIF
ENDIF
ENDFOR
RETURN lcABC
ENDFUNC


Rất cảm ơn hshason đã quan tâm. Mình đã thử function của hshason nhưng vẫn không được. Lấy dữ liệu từ oracle được, chỉ riêng phần font unicode thì vẫn chưa xử lý được. Mình hy vọng sẽ được các bạn giúp đỡ.

hshason
25-11-2010, 15:41
Đó chỉ là 1 hàm chuyển đổi mã font từ Unicode -> ABC thôi, kết quả trả về 1 xâu ký tự ABC.
Giả xử thế này nhé:
1. Oracle bạn có Table: CustomerORC (CustomerName C(50), Tel C(11))
2. VFP bạn có Table: CustomerVFP (CustomerName C(50), Tel C(11))
SELECT CustomerORC
SCAN
lcCustomerName = UTF2ABC (CustomerORC. CustomerName) &&Chỉ cần convert Field Character có dấu
lcTel = CustomerORC.Tel
INSERT INTO CustomerVFP (CustomerName, Tel) VALUE (lcCustomerName,lcTel)
&& Hoặc bạn có thể REPLACE tùy bạn
ENDSCAN
- Đây chỉ là giải thuật, việc duyệt lần lượt các bản ghi trên Table Oracle thế nào thì bạn viết lại cho phù hợp
Chúc bạn thành công!

tayngangvfp
25-11-2010, 17:41
........ Mình đã lấy dữ liệu từ oracle (font unicode) và lưu dữ liệu đó trên vfp, nhưng những field dạng chuỗi thì bị hư font không đọc được vì không chuyển được font......

1/Bạn lấy dữ liệu như thế nào? thông qua ODBC hay OLE (ADO) ?

Nếu dùng ODBC thì có thể sẽ không đúng nếu là unicode (tôi không biết oracle thì sao nhưng SQL thì chắc chắn ODBC sẽ không lấy đúng font unicode)
Nếu muốn lấy đúng dữ liệu dạng unicode thì nên sử dụng OLE (ADO): dùng ActivateX recordset hoặc thông qua Cursor Adapter của VFP. Chú ý là để lưu được font unicode thì phải dùng field kiểu memo chứ kiểu Character của VFP không hỗ trợ lưu unicode.

2/Dữ liệu sau khi đã lấy về đúng: có thể chuyển đổi để xử lý bằng các tool chuyển font ....

tutibibon
26-11-2010, 21:31
1/Bạn lấy dữ liệu như thế nào? thông qua ODBC hay OLE (ADO) ?

Nếu dùng ODBC thì có thể sẽ không đúng nếu là unicode (tôi không biết oracle thì sao nhưng SQL thì chắc chắn ODBC sẽ không lấy đúng font unicode)
Nếu muốn lấy đúng dữ liệu dạng unicode thì nên sử dụng OLE (ADO): dùng ActivateX recordset hoặc thông qua Cursor Adapter của VFP. Chú ý là để lưu được font unicode thì phải dùng field kiểu memo chứ kiểu Character của VFP không hỗ trợ lưu unicode.

2/Dữ liệu sau khi đã lấy về đúng: có thể chuyển đổi để xử lý bằng các tool chuyển font ....

Cám ơn tayngangvfp rất nhiều.
Mình đã làm tất cả cách lấy dữ liệu : dùng SPT+hàm chuyển đổi, dùng ODBC, dùng OLE, kể cả thông qua Cursor Adapter. Tất cả đều ra cùng 1 kết quả là : nếu ký tự có dấu huyền hoặc dấu nặng là bị hư font (ra dấu ?), còn lại là hiển thị đúng unicode. Một vấn đề nữa là hiển thị đúng font unicode trên field kiểu character chứ không cần thiết dùng kiểu memo, brow font 'Times new roman' vẫn ok bạn ạ.
Mình đã thiết lập character set của database là 'UTF8' hoặc 'AL32UTF8', hiển thị tiếng Việt bình thường trên SQL developer. Nhưng lấy về không đúng nên chưa thể xử lý các tool chuyển font.
Hy vọng bạn có thể cùng mình tìm hiểu tiếp.

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


Đó chỉ là 1 hàm chuyển đổi mã font từ Unicode -> ABC thôi, kết quả trả về 1 xâu ký tự ABC.
Giả xử thế này nhé:
1. Oracle bạn có Table: CustomerORC (CustomerName C(50), Tel C(11))
2. VFP bạn có Table: CustomerVFP (CustomerName C(50), Tel C(11))
SELECT CustomerORC
SCAN
lcCustomerName = UTF2ABC (CustomerORC. CustomerName) &&Chỉ cần convert Field Character có dấu
lcTel = CustomerORC.Tel
INSERT INTO CustomerVFP (CustomerName, Tel) VALUE (lcCustomerName,lcTel)
&& Hoặc bạn có thể REPLACE tùy bạn
ENDSCAN
- Đây chỉ là giải thuật, việc duyệt lần lượt các bản ghi trên Table Oracle thế nào thì bạn viết lại cho phù hợp
Chúc bạn thành công!

Rất cám ơn hshason đã quan tâm. Vì mình lấy dữ liệu chưa đúng unicode tiếng Việt nên chưa thể chuyển font được. Trên oracle hiển thị unicode, nhưng nếu ta từ VFP connect tới database oracle và vừa select xong đã hư font rồi. Thật là nan giải. Hy vọng bạn tiếp tục cùng nghiên cứu nha.

hoangnnm
27-11-2010, 09:28
Cám ơn tayngangvfp rất nhiều.
Mình đã làm tất cả cách lấy dữ liệu : dùng SPT+hàm chuyển đổi, dùng ODBC, dùng OLE, kể cả thông qua Cursor Adapter. Tất cả đều ra cùng 1 kết quả là : nếu ký tự có dấu huyền hoặc dấu nặng là bị hư font (ra dấu ?), còn lại là hiển thị đúng unicode. Một vấn đề nữa là hiển thị đúng font unicode trên field kiểu character chứ không cần thiết dùng kiểu memo, brow font 'Times new roman' vẫn ok bạn ạ.
Mình đã thiết lập character set của database là 'UTF8' hoặc 'AL32UTF8', hiển thị tiếng Việt bình thường trên SQL developer. Nhưng lấy về không đúng nên chưa thể xử lý các tool chuyển font.
Hy vọng bạn có thể cùng mình tìm hiểu tiếp.

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



Rất cám ơn hshason đã quan tâm. Vì mình lấy dữ liệu chưa đúng unicode tiếng Việt nên chưa thể chuyển font được. Trên oracle hiển thị unicode, nhưng nếu ta từ VFP connect tới database oracle và vừa select xong đã hư font rồi. Thật là nan giải. Hy vọng bạn tiếp tục cùng nghiên cứu nha.

Foxpro không hỗ trợ unicode .
Bạn cần phải chuyển từ unicode sang tcvn3 ngay ở Oracle rồi mới chuyển về cơ sở dữ liệu của fox .

tayngangvfp
27-11-2010, 11:45
Cám ơn tayngangvfp rất nhiều.
Mình đã làm tất cả cách lấy dữ liệu : dùng SPT+hàm chuyển đổi, dùng ODBC, dùng OLE, kể cả thông qua Cursor Adapter. Tất cả đều ra cùng 1 kết quả là : nếu ký tự có dấu huyền hoặc dấu nặng là bị hư font (ra dấu ?), còn lại là hiển thị đúng unicode. Một vấn đề nữa là hiển thị đúng font unicode trên field kiểu character chứ không cần thiết dùng kiểu memo, brow font 'Times new roman' vẫn ok bạn ạ.
Mình đã thiết lập character set của database là 'UTF8' hoặc 'AL32UTF8', hiển thị tiếng Việt bình thường trên SQL developer. Nhưng lấy về không đúng nên chưa thể xử lý các tool chuyển font.
Hy vọng bạn có thể cùng mình tìm hiểu tiếp.


1/Bạn cần xem kỹ lại loại font được sử dụng trong Oracle/SQL vì theo mình biết thì có thể mã hóa font theo 2 kiểu cho Unicode: hoặc là utf8 hoặc là “Unicode chính gốc”
2/VFP không hỗ trợ trực tiếp mã Unicode nên nếu bạn dùng brow font 'Times new roman' được thì chắc chắn đó không phải là mã Unicode. Tương tự mã Unicode chỉ có thể chứa trong field kiểu memo của vfp nên nếu dùng field kiển character mà chứa được nó thì đó cũng chắc chắn không phải Unicode.
3/Các kết nối: vfp chỉ kết nối và nhận đúng mã Unicode khi dung thong qua recordset OLE hoặc CA với thuộc tính DataSourceType= ADO và AdoCodepage=65001

tutibibon
27-11-2010, 15:14
1/Bạn cần xem kỹ lại loại font được sử dụng trong Oracle/SQL vì theo mình biết thì có thể mã hóa font theo 2 kiểu cho Unicode: hoặc là utf8 hoặc là “Unicode chính gốc”
Database oracle đang sử dụng character set là AL32UTF8.


3/Các kết nối: vfp chỉ kết nối và nhận đúng mã Unicode khi dung thong qua recordset OLE hoặc CA với thuộc tính DataSourceType= ADO và AdoCodepage=65001
Có bạn ạ. Mình có sử dụng trong thủ tục lấy dữ liệu về.


2/VFP không hỗ trợ trực tiếp mã Unicode nên nếu bạn dùng brow font 'Times new roman' được thì chắc chắn đó không phải là mã Unicode. Tương tự mã Unicode chỉ có thể chứa trong field kiểu memo của vfp nên nếu dùng field kiểu character mà chứa được nó thì đó cũng chắc chắn không phải Unicode.
Có lẽ bạn nói đúng. Mình sẽ kiểm tra lại.

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

[quote=hoangnnm;2387058]Foxpro không hỗ trợ unicode .
Bạn cần phải chuyển từ unicode sang tcvn3 ngay ở Oracle rồi mới chuyển về cơ sở dữ liệu của fox .

Database oracle phải sử dụng unicode bạn ạ (vì còn nhiều mục dích khác). Nên hiện tại mình đang cố gắng tìm cách lấy về VFP rồi mới chuyển font trên VFP.

Parker Pen
27-11-2010, 16:38
Xin chào các bạn, tôi là thành viên mới, có dùng Fox for Dos (từ trước 1990), nay nhờ các bạn chỉ giúp các vấn đề như sau:
Tôi đang sử dụng một chương trình (VFP9.0) chạy độc lập, không cài đặt; trong chương trình này có một biểu mẫu (form) sử dụng file Filer.dll, Filer.vcx (source có tích hợp cùng thư mục với form sử dụng).
Bình thường chương trình (có kèm các file Filer.dll, Filer.vcx …) chạy file thực thi (*.exe) khá ổn định ngay cả trong máy tính không cài VFP, duy chỉ có chức năng tìm kiếm (file, thư mục …) của form này (form sử dụng file Filer.dll, Filer.vcx…) là không hiện kết quả (Error thông báo “đăng ký thư viện”) nhưng nếu chạy trong máy tính có cài VFP9, thì form thực hiện (tìm kiếm file, thư mục …) rất hiệu quả.
Tại máy không cài VFP, tôi đăng ký tại hộp Start - Run … (của Windows) dòng lệnh:
REGSVR32 /s "Ổ đĩa:\...\FILER.DLL"
nhưng không có kết quả mong muốn…

1- Tôi chưa tìm ra nguyên nhân, Bạn nào biết xin chỉ giúp …

2- Xem Help của VFP9, xem Hỗ trợ của MicroSoft, xem Registry của máy tính có cài VFP9, tôi thấy có các từ khoá như “FileUtil Class”, “Filer.FileUtil.1 …” Tôi muốn đăng ký vào Registry của máy tính (không cài VFP) các từ khoá này thì phải làm như thế nào ? Nhờ các bạn chỉ giúp.

3-Hướng dẫn cách sử dụng InstallShield (để bảo đảm tích hợp đủ các thành phần khi tạo bản cài đặt).
Xin chào thân ái, rất mong sự giúp đỡ của các bạn.
(Các bạn có thể gửi giúp đến Email Nguyentiennhu90@yahoo.com)

hoangnnm
27-11-2010, 18:20
Database oracle phải sử dụng unicode bạn ạ (vì còn nhiều mục dích khác). Nên hiện tại mình đang cố gắng tìm cách lấy về VFP rồi mới chuyển font trên VFP.
Bạn không hiểu ý mình rồi , đương nhiên đâu thể thay đổi cơ sở dữ liệu oracle hiện tại của bạn thành tcvn3 được .
Bạn nên chuyển bảng mã ở bất kỳ 1 cơ sở dữ liệu nào hỗ trợ unicode về TCVN3 .
Sau đó mới đưa vào fox . ( có thể là từ oracle về sql , ở sql chuyển dữ liệu unicode về tcvn3 , rồi sau đó mới đưa vào fox )

luu_luu
29-11-2010, 07:51
Database oracle đang sử dụng character set là AL32UTF8.


Có bạn ạ. Mình có sử dụng trong thủ tục lấy dữ liệu về.

[quote]2/VFP không hỗ trợ trực tiếp mã Unicode nên nếu bạn dùng brow font 'Times new roman' được thì chắc chắn đó không phải là mã Unicode. Tương tự mã Unicode chỉ có thể chứa trong field kiểu memo của vfp nên nếu dùng field kiểu character mà chứa được nó thì đó cũng chắc chắn không phải Unicode.
Có lẽ bạn nói đúng. Mình sẽ kiểm tra lại.

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



Database oracle phải sử dụng unicode bạn ạ (vì còn nhiều mục dích khác). Nên hiện tại mình đang cố gắng tìm cách lấy về VFP rồi mới chuyển font trên VFP.




mình cũng lấy dữ liệu từ mysql và cũng tình trạng tương tự, nhưng mình nhận thấy nhưng field không hiện đúng font là những field có kiểu là VARCHAR, nên mình đã đổi kiểu của nó từ VARCHAR -> CHAR, sau đó trích dữ liệu thì được, bạn thử xem sao....

hungtuan61
30-11-2010, 10:33
Xin chào các bạn, tôi là thành viên mới, có dùng Fox for Dos (từ trước 1990), nay nhờ các bạn chỉ giúp các vấn đề như sau:
Tôi đang sử dụng một chương trình (VFP9.0) chạy độc lập, không cài đặt; trong chương trình này có một biểu mẫu (form) sử dụng file Filer.dll, Filer.vcx (source có tích hợp cùng thư mục với form sử dụng).
Bình thường chương trình (có kèm các file Filer.dll, Filer.vcx …) chạy file thực thi (*.exe) khá ổn định ngay cả trong máy tính không cài VFP, duy chỉ có chức năng tìm kiếm (file, thư mục …) của form này (form sử dụng file Filer.dll, Filer.vcx…) là không hiện kết quả (Error thông báo “đăng ký thư viện”) nhưng nếu chạy trong máy tính có cài VFP9, thì form thực hiện (tìm kiếm file, thư mục …) rất hiệu quả.
Tại máy không cài VFP, tôi đăng ký tại hộp Start - Run … (của Windows) dòng lệnh:
REGSVR32 /s "Ổ đĩa:\...\FILER.DLL"
nhưng không có kết quả mong muốn…

1- Tôi chưa tìm ra nguyên nhân, Bạn nào biết xin chỉ giúp …

2- Xem Help của VFP9, xem Hỗ trợ của MicroSoft, xem Registry của máy tính có cài VFP9, tôi thấy có các từ khoá như “FileUtil Class”, “Filer.FileUtil.1 …” Tôi muốn đăng ký vào Registry của máy tính (không cài VFP) các từ khoá này thì phải làm như thế nào ? Nhờ các bạn chỉ giúp.

3-Hướng dẫn cách sử dụng InstallShield (để bảo đảm tích hợp đủ các thành phần khi tạo bản cài đặt).
Xin chào thân ái, rất mong sự giúp đỡ của các bạn.
(Các bạn có thể gửi giúp đến Email Nguyentiennhu90@gmail.com)

Cài vào Windows\System các tệp tin điều khiển của VFP9 ( *.dll) gồm : gdiplus.dll,msvcp70.dll,msvcr70.dll,msvcp71.dll,ms vcr71.dll, các tệp tin ngôn ngữ : vfp9chs.dll,vfp9cht.dll,vfp9enu.dll ..., vfp9r.dll,vfp9rchs.dll,vfp9rcht.dll ..., vfp9t.dll,vfp9tchs.dll ...
Khởi động lại máy.

Parker Pen
30-11-2010, 21:07
Cám ơn bạn Hungtuan61 và các bạn đã quan tâm và gửi Mail chia xẻ với tôi, tôi đã làm tất cả nhưng không thành công. Vấn đề trở ngại ở đây là chỉ duy nhất một form thực hiện chức năng tìm kiếm có sử dụng lệnh đăng ký file Filer.dll kèm theo (hoạt động tốt trong máy tính có cài VFP) không hoạt động trong máy tính không cài VFP (trong khi tất cả các forms khác trong chương trình này đều chạy ổn định cũng trong máy tính đó). Tôi nghĩ có thể là vấn đề cá biệt có sự kiểm soát nào đó của riêng máy tính người dùng này (chẳng hạn như đóng băng, không cho thực hiện lệnh đăng ký…, không hẵn do chương trình), tôi kiểm tra lại sau. Chúng ta tạm dừng vấn đề này ở đây để dành thời gian trao đổi những vấn đề khác có tính phổ biến hơn.
Chào tất cả các bạn.
Parker Pen

tamhoat
01-12-2010, 17:15
Xin chào các ACE,
Cho mình hỏi có lệnh nào để khi PREVIEW không để hiện nút Print (không muốn người dùng nhấn IN khi preview)
Cảm ơn.

vanvietkhoa
04-12-2010, 23:25
Các Bác ơi, Em muốn làm cái đồng hồ trên Form của Fox mà không biết làm sao nữa , các Bác Giúp EM với. Em đã thử chèn 1 file Flash(Flash có chuơnh trình Đồng hồ trên đó) nhưng ko chèn được... huhu

HELP ME !!

dungnt.pro
05-12-2010, 08:43
Các Bác ơi, Em muốn làm cái đồng hồ trên Form của Fox mà không biết làm sao nữa , các Bác Giúp EM với. Em đã thử chèn 1 file Flash(Flash có chuơnh trình Đồng hồ trên đó) nhưng ko chèn được... huhu

HELP ME !!

Bạn muốn chèn đồng hồ điện tử hay đồng hồ có kim chỉ giờ? Nếu đồng hồ điện tử thì bạn có thể dùng các Lable hoặc Textbox để hiển thị thời gian đồng hồ chạy.
sử dụng các hàm: DTOC(), DATETIME()...tùy theo mục đích của bạn. Còn đồng hồ có kim chạy thì phức tạp một chút. Bạn dùg kết hợp Hình ảnh (Đồng hồ - Không có kim) + Đường thẳng. Bạn dùng hàm kiểm tra thời gian sau đó thay đổi tọa độ của đường thẳng cho phù hợp trên đồng hồ. Chúc bạn thành công.

Parker Pen
05-12-2010, 11:01
Các Bác ơi, Em muốn làm cái đồng hồ trên Form của Fox mà không biết làm sao nữa , các Bác Giúp EM với. Em đã thử chèn 1 file Flash(Flash có chuơnh trình Đồng hồ trên đó) nhưng ko chèn được... huhu

HELP ME !!

Chào bạn !
Tôi không biết cái “… (Flash có chương trình Đồng hồ trên đó) …” của bạn có chức năng sử dụng như thế nào? Trong khi chờ đợi ai đó giúp bạn, tôi gợi ý bạn có thể tham khảo tại:
http://weblogs.foxite.com/bernardbout/archive/2006/11/04/2798.aspx
(==> Widgets Clock for VFP), bạn tải về chỉnh sửa phù hợp, chèn vào form (thay cho chèn Flash).
Hoặc nếu thực sự cần, bạn cho biết mail của bạn, tôi có thể gửi bạn tham khảo một Class (Clock.vcx) đồng hồ mặt tròn dạng kim hoặc dạng Số, bạn có thể chỉnh sửa, ứng dụng vào form mình chọn.

Parker Pen.

changkho1090
07-12-2010, 21:48
Sau khi ghost win lại phục hôi dữ liệu chuong trình bị lỗi bác nào pro giúp mình với 3 ngày nữa nộp bài rồi
http://www.mediafire.com/?d4h5brv5uyunugp

tuan_tvkg
07-12-2010, 23:01
Đây của bác.
http://www.mediafire.com/?op6nghg5p9830k7

cn05057
08-12-2010, 16:35
Xin chào các bạn, cho mình hỏi làm cách nào để mình học Visual FoxPro một cách nhanh chóng! xin cám ơn các bạn.

changkho1090
08-12-2010, 17:51
Còn mắc phải một vài lỗi nhưng thank bác nhiều nhá

hshason
10-12-2010, 10:31
Chào các bạn!
Hiện nay chữ ký điện tử đã được sử dụng rất phổ biến trong các tài liệu mềm.
Các bạn có cách nào để có thể chèn chữ ký điện tử vào file Doc hoặc PDF không?
Rất mong các bạn quan tâm.

robotfpt
11-12-2010, 09:43
Mình muốn mở 1 file excel trắng (book1.xls) giống như vào Start/Run rồi gõ Excel vào là nó mở. Có bạn nào biết câu lệnh trong Fox chỉ giùm mình với.
Tks!

hoangnnm
11-12-2010, 10:22
Mình muốn mở 1 file excel trắng (book1.xls) giống như vào Start/Run rồi gõ Excel vào là nó mở. Có bạn nào biết câu lệnh trong Fox chỉ giùm mình với.
Tks!



oexcel = createobject('excel.application')
oexcel.Workbooks.Add
oexcel.visible = .t.

robotfpt
11-12-2010, 10:32
oexcel = createobject('excel.application')
oexcel.Workbooks.Add
oexcel.visible = .t.


Mình làm được rồi. Cảm ơn nhiều nhé!

khoa140809
13-12-2010, 11:04
Tôi có một CSDL sql trong đó dữ liệu được cập nhật theo từng ngày.

Tôi đang muốn làm một chương trình (ví dụ là Ketxuat.exe) chạy từ màn hình dos hoặc start -> run như sau:

ketxuat.exe c:\dulieu 2010

với 2 tham số:
1. Đường dẫn (c:\dulieu): nơi sẽ lưu dữ liệu kết xuất
2. Năm (2010): dữ liệu phát sinh trong một năm bất kỳ

Các cao thủ chỉ giúp tôi với.
Xin cảm ơn!

hoangnnm
13-12-2010, 13:30
Tôi có một CSDL sql trong đó dữ liệu được cập nhật theo từng ngày.

Tôi đang muốn làm một chương trình (ví dụ là Ketxuat.exe) chạy từ màn hình dos hoặc start -> run như sau:

ketxuat.exe c:\dulieu 2010

với 2 tham số:
1. Đường dẫn (c:\dulieu): nơi sẽ lưu dữ liệu kết xuất
2. Năm (2010): dữ liệu phát sinh trong một năm bất kỳ

Các cao thủ chỉ giúp tôi với.
Xin cảm ơn!

Bạn nói rất không rõ ràng .
Bạn muốn kết xuất ? Vậy bạn muốn kết xuất ra kiểu dữ liệu gì ( excel , access , foxpro ..v..v ) .
Bạn muốn dùng ngôn ngữ gì để phục vụ việc kết xuất đó (t-sql , foxpro ..v...v ) ?

khoa140809
14-12-2010, 22:05
Xin giải thích rõ hơn:
Tôi đang muốn viết 1 chương trình .exe bằng visual foxpro để kết nối với CSDL SQL nhưng chương trình này phải chạy từ màn hình command dos hoặc cửa sổ start->run của windows.

Kết quả là file DBF.

Khi chạy chương trình này, tôi sẽ đưa 2 tham số là đường dẫn để chứa số liệu kết quả và tham số thứ 2 là năm bất kỳ.
Ví dụ: Ketxuat.exe c:\dulieu 2010 từ màn hình command dos


Tôi đã kết nối từ FOX vào SQL được rồi nhưng chưa biết cách truyền tham số cho file .exe thế nào ?

Mong các bạn chỉ giúp.
Xin cảm ơn!

hoangnnm
15-12-2010, 07:46
Xin giải thích rõ hơn:
Tôi đang muốn viết 1 chương trình .exe bằng visual foxpro để kết nối với CSDL SQL nhưng chương trình này phải chạy từ màn hình command dos hoặc cửa sổ start->run của windows.

Kết quả là file DBF.

Khi chạy chương trình này, tôi sẽ đưa 2 tham số là đường dẫn để chứa số liệu kết quả và tham số thứ 2 là năm bất kỳ.
Ví dụ: Ketxuat.exe c:\dulieu 2010 từ màn hình command dos


Tôi đã kết nối từ FOX vào SQL được rồi nhưng chưa biết cách truyền tham số cho file .exe thế nào ?

Mong các bạn chỉ giúp.
Xin cảm ơn!
Vậy bạn chỉ cần add dòng khai tham số ở file "main.prg" trong project của bạn là được .


LPARAMETERS para1, para2

khoa140809
15-12-2010, 13:28
Cảm ơn bạn, mình làm được rồi.

ngmcuongbl
15-12-2010, 20:06
Hiện em có 2 bảng dữ liệu có cấu trúc như sau: bảng a(madt, ten, quequan) bảng b(madt, ten) trong bảng b chứa nhiều mã trong đó có madt của bảng a, anh/chị giúp em câu lệnh để xóa đi những madt đã có này ạ. Xin cám ơn

hoangnnm
15-12-2010, 21:52
Hiện em có 2 bảng dữ liệu có cấu trúc như sau: bảng a(madt, ten, quequan) bảng b(madt, ten) trong bảng b chứa nhiều mã trong đó có madt của bảng a, anh/chị giúp em câu lệnh để xóa đi những madt đã có này ạ. Xin cám ơn



Delete from b where madt in ( Select madt from a )

ngmcuongbl
16-12-2010, 07:40
Không thấy nút thanks, cám ơn hoangnnm thật nhiều nhé. Bạn cho mình nick chat yahoo của bạn nghen

Fish eye
19-12-2010, 13:05
Chào các bạn ...
Tôi có một form sử dụng control Oletree dùng thể hiện cây thư mục (dữ liệu của cây thư mục lấy từ một DBF), khi form thi hành, màu sắc của font thể hiện trên cây thư mục này ngầm định là màu đen (control Oletree này không có thuộc tính ForeColor).
Tôi muốn thay màu sắc tất cả font thư mục hoặc có thể một vài font thư mục cần thiết (được chỉ định trước) của control Oletree này bằng màu sắc font tùy ý, nhưng chưa làm được. Nhờ các Bạn, nếu có cách nào làm được xin tư vấn giúp.

tayngangvfp
20-12-2010, 10:02
Chào các bạn ...
Tôi có một form sử dụng control Oletree dùng thể hiện cây thư mục (dữ liệu của cây thư mục lấy từ một DBF), khi form thi hành, màu sắc của font thể hiện trên cây thư mục này ngầm định là màu đen (control Oletree này không có thuộc tính ForeColor).
Tôi muốn thay màu sắc tất cả font thư mục hoặc có thể một vài font thư mục cần thiết (được chỉ định trước) của control Oletree này bằng màu sắc font tùy ý, nhưng chưa làm được. Nhờ các Bạn, nếu có cách nào làm được xin tư vấn giúp.

1/Thiết lập font color cho Ole TreeView = cách duyệt từng Node:
TreeView.Nodes(i).ForeColor=<Số hiệu màu>
2/Thiết lập màu nền cho text: TreeView.Nodes(i).BackColor =<Số hiệu màu>

hshason
20-12-2010, 11:05
Các bạn không ai quan tâm đến chữ ký điện tử sao?

Fish eye
20-12-2010, 11:40
1/Thiết lập font color cho Ole TreeView = cách duyệt từng Node:
TreeView.Nodes(i).ForeColor=<Số hiệu màu>
2/Thiết lập màu nền cho text: TreeView.Nodes(i).BackColor =<Số hiệu màu>

Chào bạn Tayngangvfp …
Theo hướng dẫn của Bạn, tôi đã thực hiện tốt.
Bạn rất nhiệt tình, luôn sẵn lòng giúp tất cả.
Giáng sinh, năm mới sắp đến, chúc bạn và gia đình thật nhiều niềm vui, luôn tràn đầy hạnh phúc.

Chào thân ái.
Fish Eye

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

Chào các bạn …
Tôi vướng vấn đề này nhờ các bạn giúp:
Sau khi chương trình xuất một file DBF ra file Excel, người dùng mở xem file Excel này, bình thường nếu không chỉnh sửa, khi tiếp tục chương trình tự đóng (mặc dù đang mở) và xoá file Excel này để chuẩn bị xuất lần sau.
Chỉ trong trường hợp người dùng có chỉnh sửa file Excel này và không quan tâm Lưu (Save) những thay đổi, thì chương trình không thể đóng và không xoá trước khi Lưu file Excel, (mà xuất hiện hộp thoại Microsoft Excel nhắc “…lưu những thay đổi ... ?” - file Excel đang tồn tại ở chế độ minimize). Đây là vấn đề hạn chế, ngoài ý muốn của chương trình.
Nhờ các bạn tư vấn giúp tôi về đoạn code Lưu file Excel này hoặc xoá (Delete) file Excel nêu trên bất kể (phớt lờ) file Excel chưa Lưu (Save) hoặc đề xuất giải pháp khác thay cho hạn chế bất cập này.

Xin chào
Fish eye

luu_luu
23-12-2010, 08:20
Chào bạn Tayngangvfp …
Theo hướng dẫn của Bạn, tôi đã thực hiện tốt.
Bạn rất nhiệt tình, luôn sẵn lòng giúp tất cả.
Giáng sinh, năm mới sắp đến, chúc bạn và gia đình thật nhiều niềm vui, luôn tràn đầy hạnh phúc.

Chào thân ái.
Fish Eye

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

Chào các bạn …
Tôi vướng vấn đề này nhờ các bạn giúp:
Sau khi chương trình xuất một file DBF ra file Excel, người dùng mở xem file Excel này, bình thường nếu không chỉnh sửa, khi tiếp tục chương trình tự đóng (mặc dù đang mở) và xoá file Excel này để chuẩn bị xuất lần sau.
Chỉ trong trường hợp người dùng có chỉnh sửa file Excel này và không quan tâm Lưu (Save) những thay đổi, thì chương trình không thể đóng và không xoá trước khi Lưu file Excel, (mà xuất hiện hộp thoại Microsoft Excel nhắc “…lưu những thay đổi ... ?” - file Excel đang tồn tại ở chế độ minimize). Đây là vấn đề hạn chế, ngoài ý muốn của chương trình.
Nhờ các bạn tư vấn giúp tôi về đoạn code Lưu file Excel này hoặc xoá (Delete) file Excel nêu trên bất kể (phớt lờ) file Excel chưa Lưu (Save) hoặc đề xuất giải pháp khác thay cho hạn chế bất cập này.

Xin chào
Fish eye

oexcel=createobject([excel.application])
oexcel.workbook.add
..............
..............
..............
..............
oexcel.save
oexcel.quit
release oexcel.

Fish eye
23-12-2010, 09:10
oexcel=createobject([excel.application])
oexcel.workbook.add
..............
..............
..............
..............
oexcel.save
oexcel.quit
release oexcel.

Chào bạn Luu_Luu thân mến…
Theo hướng dẫn của bạn tôi đã thêm lệnh: oExcel.Save vào đoạn Code của chương trình trước lệnh đóng và xoá file Excel.
Kết quả thi hành đúng mong muốn (chương trình tự lưu file Excel bất kể các thay đổi, sau đó đóng và xoá file Excel này).
Cám ơn bạn nhiều, Chúc bạn và gia đình hưởng mùa giáng sinh vui vẻ, năm mới nhiều hạnh phúc và thành công.

Hẹn gặp lại.
Fish eye

luu_luu
27-12-2010, 14:36
Mong các anh chị có thể giúp em đôi chút về chương trình Foxpro!
Hiện tại ở cơ quan em dang xài chương trình tín dụng Foxpro, em muốn xuất các report ra file excel để tiện hơn trong công tác quản lý cũng như đối chiếu số liệu nhưng em ko biết làm cách nào để xuất được.
Đây là đường dẫn folder của chương trình:
http://www.mediafire.com/?t5up1xz3u26f3u2
Em xin cảm ơn các anh chị trước.
Nếu có nhiều cách xuất report của file thì xin các anh chị hướng dẫn luôn cho em để em học hỏi thêm.
Thank all!
thí dụ bạn đã có file kết quả
use DATA
EXPORT TO <FILENAME> TYPE XLS FIELDS <DANH SÁCH FIELD> FOR(WHILE) <ĐIỀU KIỆN>

hoangnnm
29-12-2010, 16:45
Thanks anh đã hướng dẫn cho em, nhưng ý em muốn xuất là xuất theo các report đã có sẵn trong chương trình tín dụng mà em đã upload.
Vì làm theo cách này sẽ không xuất được các loại báo cáo mà em cần, ví dụ như:
1. Danh sách tiết kiệm của từng cụm hoặc tất cả.
2. Tình hình công nợ của các phường, cụm, ...
3. Danh sách cho vay,...
Nói chung là tất cả các báo cáo trong mục "IN BÁO CÁO" em làm theo cách anh đã hướng dẫn nhưng dều không được.
Mong anh nghiên cứu file chương trình của em và chỉ dẫn thêm cho em!
http://www.mediafire.com/?p81uy6z3au3uo
Cảm ơn anh thêm 1 lần nữa.

Nếu bạn muốn export 1 report foxpro đã lên số liệu ( ra hình báo cáo rồi ) thì không thể copy ngang như bạn luu_luu nói được .
Có 2 cách :
- 1 là bạn bỏ tiền ra mua soft trên mạng phục vụ việc export frx ra xls . Nhưng cách này không khả thi lắm bởi vì khi export ra, đa số các soft đó sẽ vẽ y trên excel y chang như số liệu hiển thị trên report frx của bạn . Điều này dẫn đến 1 file xls đã được export có thể có đến vài trăm hoặc vài ngàn cột ( vì là vẽ mà , ví dụ 1 số 3 hiển thị trên frx thì ở excel nó sẽ dùng 50 cột chẳng hạn để vẽ cho ra số 3 đó )
- 2 là bạn phải lập trình , cái này thì hơi khó nhưng bù lại bạn chịu khó thì sau này bạn có cái để xài , hehe .

duan1989
30-12-2010, 11:10
cac ban co bai tham khao quan ly diem hoc sinh thcs cho minh voi minh dang can gap lam,cam on

foxnewbie
30-12-2010, 12:14
Mình có 1 dbf gồm các dòng như sau :

|A- TỔNG TÀI SẢN NỢ
|I- VỐN VÀ CÁC QUỸ
|1. Vốn của TCTD
| a. Vốn điều lệ
| b. Vốn đầu tư XDCB
| ...
|2. Quỹ của TCTD
| a. ....
| b. ....

Bây giờ muốn in ra như sau :
- Đối với dòng có ký tự đầu là A,B,C thì in đậm và có gạch dưới
- Đối với dòng có ký tự đầu là I,II,III thì in đậm
- Đối với dòng có ký tự đầu là 1,2,3 thì in nghiêng
- Còn các trường hợp khác thì in bình thường

Khi trước dùng FP thì chỉ cần hàm IIF và kèm theo ký tự điều khiển CHR() là in được, nhưng khi chuyển qua VFP thì mình không biết xử lý như thế nào ?

Mong các anh em giúp mình xử lý chỗ này nhé

Thank nhiều

hoangnnm
30-12-2010, 15:49
Mình có 1 dbf gồm các dòng như sau :

|A- TỔNG TÀI SẢN NỢ
|I- VỐN VÀ CÁC QUỸ
|1. Vốn của TCTD
| a. Vốn điều lệ
| b. Vốn đầu tư XDCB
| ...
|2. Quỹ của TCTD
| a. ....
| b. ....

Bây giờ muốn in ra như sau :
- Đối với dòng có ký tự đầu là A,B,C thì in đậm và có gạch dưới
- Đối với dòng có ký tự đầu là I,II,III thì in đậm
- Đối với dòng có ký tự đầu là 1,2,3 thì in nghiêng
- Còn các trường hợp khác thì in bình thường

Khi trước dùng FP thì chỉ cần hàm IIF và kèm theo ký tự điều khiển CHR() là in được, nhưng khi chuyển qua VFP thì mình không biết xử lý như thế nào ?

Mong các anh em giúp mình xử lý chỗ này nhé

Thank nhiều
Đơn giản thôi .
Bạn khai ở phần Print When của control trong Report .
ví dụ :
- left( x, 1) = 'A'
- left( x, 1) = 'I'
- Inlist( left(x,1) ,'1','2','3')

foxnewbie
31-12-2010, 09:29
Đơn giản thôi .
Bạn khai ở phần Print When của control trong Report .
ví dụ :
- left( x, 1) = 'A'
- left( x, 1) = 'I'
- Inlist( left(x,1) ,'1','2','3')

Cám ơn bạn đã giúp. Nhưng ý mình muốn là in đậm, in ngiêng, in gạch dưới ... trong Report (Phần Detail) thì làm thế nào chứ trước đây khi dùng Foxpro Dos mình dùng các hàm CHR() để điều khiển việc này

hoangnnm
31-12-2010, 09:42
Cám ơn bạn đã giúp. Nhưng ý mình muốn là in đậm, in ngiêng, in gạch dưới ... trong Report (Phần Detail) thì làm thế nào chứ trước đây khi dùng Foxpro Dos mình dùng các hàm CHR() để điều khiển việc này

Tôi chưa dùng Foxpro Dos bao giờ .
Tôi hiểu ý của bạn nhưng có lẽ tôi nói chưa rõ nên bạn không hiểu .
Bây giờ giả sử bạn có 1 report , trong phân detail bạn muốn thể hiện nếu thế này thì in đạm , nếu thế này thì in nghiêng , .v...v .
Bây giờ như ý của bạn thì có 4 trường hợp .
Ví dụ các dòng nội dung của bạn được lưu trong trường noi_dung thì ở phân detail bạn sẽ có 1 control noi_dung đúng không ?
Nhưng bây giờ thay vì 1 bạn sẽ có đến 4 control noi_dung năm đè lên nhau .
Mỗi control bạn sẽ đặc thuộc tính như in đậm , đậm và nghiêng , nghiêng , thường .
Mỗi 1 control có 1 điều kiện Print when nghĩa là khi nào mệnh đề trong Print When đó đúng thì mới in .

foxnewbie
31-12-2010, 12:10
Tôi chưa dùng Foxpro Dos bao giờ .
Tôi hiểu ý của bạn nhưng có lẽ tôi nói chưa rõ nên bạn không hiểu .
Bây giờ giả sử bạn có 1 report , trong phân detail bạn muốn thể hiện nếu thế này thì in đạm , nếu thế này thì in nghiêng , .v...v .
Bây giờ như ý của bạn thì có 4 trường hợp .
Ví dụ các dòng nội dung của bạn được lưu trong trường noi_dung thì ở phân detail bạn sẽ có 1 control noi_dung đúng không ?
Nhưng bây giờ thay vì 1 bạn sẽ có đến 4 control noi_dung năm đè lên nhau .
Mỗi control bạn sẽ đặc thuộc tính như in đậm , đậm và nghiêng , nghiêng , thường .
Mỗi 1 control có 1 điều kiện Print when nghĩa là khi nào mệnh đề trong Print When đó đúng thì mới in .

Uh, mình hiểu rồi, có lẽ chỉ dùng được cách này thôi. Mình chưa thử nhưng chắc là OK.

Cám ơn bạn nhiều nhé

tayngangvfp
31-12-2010, 14:24
Mình có 1 dbf gồm các dòng như sau :

|A- TỔNG TÀI SẢN NỢ
|I- VỐN VÀ CÁC QUỸ
|1. Vốn của TCTD
| a. Vốn điều lệ
| b. Vốn đầu tư XDCB
| ...
|2. Quỹ của TCTD
| a. ....
| b. ....

Bây giờ muốn in ra như sau :
- Đối với dòng có ký tự đầu là A,B,C thì in đậm và có gạch dưới
- Đối với dòng có ký tự đầu là I,II,III thì in đậm
- Đối với dòng có ký tự đầu là 1,2,3 thì in nghiêng
- Còn các trường hợp khác thì in bình thường

Khi trước dùng FP thì chỉ cần hàm IIF và kèm theo ký tự điều khiển CHR() là in được, nhưng khi chuyển qua VFP thì mình không biết xử lý như thế nào ?

Mong các anh em giúp mình xử lý chỗ này nhé

Thank nhiều

Nếu bạn dùng VFP9 SP2 thì có thể thực hiện thông qua TAB 'dynamics' của hộp thoại 'propeties' khi bấm phải vào 1 control trên report. Trong TAB này bạn sẽ thêm các điều kiện để định dạng theo như yêu cầu.

Fish eye
31-12-2010, 15:30
Chào bạn Foxnewbie …

Tôi đã đọc vấn đề bạn nêu, qua hình mẫu kẻ các ký tự (đóng khung) diễn đạt trên diễn đàn, tôi hiểu bạn sử dụng một đoạn chương trình (Code) để xuất (in) dữ liệu từ một DBF ra màn hình hoặc máy in, chứ không dùng Report Designer. Việc in Báo cáo từ ứng dụng Fox for Dos (viết Code) chuyển sang dùng Report trong Visual FoxPro (VFP) là có khác, tuy nhiên ta nên chuyển qua thiết kế Report (kể cả khi dùng Fox for Dos) trực quan hơn và việc thiết kế không phức tạp lắm.
Thực tiễn VFP có không chỉ một cách để đáp ứng vấn đề bạn nêu, theo tôi bạn nên tìm hiểu và dùng Report Designer để phục vụ In dữ liệu.
Trường hợp dùng Report, sau khi thiết kế các đối tượng (Field, Label), bạn kích hoạt đối tượng (Field, Label…) nào đó của Report, từ Menu VFP trên cùng chọn Format --> Font --> xuất hiện hộp thoại Font, tại đây bạn có các tùy chọn in đậm, nghiêng hoặc gạch chân, màu chữ … cho lần lượt đối tượng bạn muốn. Ngoài ra trong hộp thoại Field, Label Properties (RightClick Field, Label) bạn còn có một số khả năng điều khiển mạnh mẽ khác cho các đối tượng này.

Chúc thành công, Hẹn gặp lại.
Fish eye

thachlangthang
01-01-2011, 09:42
mình sử chương trình Quản lí HSinh chay trên foxpro 9.0 nhưng nó khong hiển thj được tiếng việt xin các đại ca chỉ giúp

hoangnnm
01-01-2011, 12:11
mình sử chương trình Quản lí HSinh chay trên foxpro 9.0 nhưng nó khong hiển thj được tiếng việt xin các đại ca chỉ giúp

Có thể máy của bạn thiếu các font TCVN3 . Ban hãy thử tìm download các font đó về install xem kết quả thế nào !

tnttx
01-01-2011, 19:10
Tôi muốn ghép nhiều file dfp lại với nhau thì phải làm sao bạn nào biết chỉ dùm với

Parker Pen
01-01-2011, 22:13
Tôi muốn ghép nhiều file dfp lại với nhau thì phải làm sao bạn nào biết chỉ dùm với


Chào bạn Tnttx
Nếu các bảng table (DBF) đặt tại thư mục hiện hành và có cấu trúc giống nhau;
Tên bảng1 là: Table1.dbf
Tên bảng2 là: Table2.dbf
Tên bảng3 là: Table3.dbf
…………………………….

Để bổ sung các mẫu tin của các Table(2,3…) vào cuối Table1 , bạn thực hiện đoạn Code sau (có thể thực hiện từng lệnh này tại cửa sổ lệnh (Command Window):

USE Table1 && mở Table1
APPEND FROM Table2 && bổ sung các mẫu tin của Table2 vào cuối Table1

APPEND FROM Table3 && bổ sung các mẫu tin của Table3 vào cuối Table1

………………………………………

Chúc bạn luôn thành công trong năm mới.
Parker Pen

dungnt.pro
02-01-2011, 00:08
Em chạy fox8 thì ok. chuyển sang chạy fox 9 chương trình báo lỗi.

thachlangthang
02-01-2011, 09:58
Có thể máy của bạn thiếu các font TCVN3 . Ban hãy thử tìm download các font đó về install xem kết quả thế nào !

van khong duoc ban a

Parker Pen
02-01-2011, 10:10
Em chạy fox8 thì ok. chuyển sang chạy fox 9 chương trình báo lỗi.

Chào bạn Dungnt.pro

Riêng tôi và có lẽ một số bạn khác cũng chưa gặp trường hợp này bao giờ, thông thường (nếu không thuộc phạm vi cần lưu ý mà MS cảnh báo các điểm mới so với Version trước) chương trình chạy trên VFP8 tốt thì chạy trên VFP9 cũng tốt. Tôi đã từng sử dụng chương trình viết từ ứng dụng VFP6 chuyển sang dùng trên VFP9 chưa phát hiện lỗi gì.
Do bạn diễn giải ngắn gọn, chưa nêu cụ thể chương trình báo câu lỗi gì?, khi nào (lúc đang khởi động chương trình hay lúc gọi thi hành gì gì …đó? hoặc …) nếu biết càng cụ thể tình huống, nhiều bạn sẽ gợi ý cách giải quyết sát hợp nhất. Do chưa nhiều kinh nghiệm nên tôi chỉ có thể gợi ý chung chung sau:
- Dựa vào thông báo lỗi để xem lại tình huống thiết kế các đối tượng tại thời điểm báo lỗi hoặc tồn tại cách khai báo nào đó mà VFP9 không nhận ra …
- Xem lại các file *.dll kèm theo chương trình có đủ chưa (Msvcr71.dll, Vfp9renu.dll, Vfp9r.dll…).
- Hoặc chú ý thêm các tùy chọn khai báo tại hộp thoại Options từ menu Tools của VFP9 nếu đang thiết kế…

Chào bạn.
Parker Pen

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


mình sử chương trình Quản lí HSinh chay trên foxpro 9.0 nhưng nó khong hiển thj được tiếng việt xin các đại ca chỉ giúp

Gửi bạn Thachlangthang …

Tôi chia sẻ kinh nghiệm có lần gặp trường hợp này, biểu hiện là khi sử dụng chương trình trên Hệ điều hành (HĐH) WinXp trở về trước thì giao diện (tôi sử dụng font màn hình MS Sans Serif) thể hiện tiếng Việt bình thường, nhưng chạy chương trình trên HĐH Vista, Win7, giao diện không thể hiện được tiếng Việt (do cách quản lý font của Hệ điều hành Vista, Win7, font này mang thuộc tính ẩn - Hidden Attributes, nên chương trình không đọc được). Tôi phải viết thêm lệnh chuyển tất cả điều khiển sang dùng font “.Vntime” tại Procedure Init của mỗi mẫu biểu:

This.setall('fontname','.Vntime')
This.setall('fontsize',10)

Kết quả giao diện thể hiện tiếng Việt bình thường.
Đây chỉ là kinh nghiệm một trường hợp cụ thể (sử dụng font MS Sans Serif) tôi đã giải quyết ổn, tôi chia sẻ kinh nghiệm với bạn. Riêng trường hợp bạn nêu, tôi chưa xác định được nguyên nhân (giao diện sử dụng font gì, chạy trên HĐH nào…), bạn cần tìm hiểu để có giải pháp xử lý đúng.

Chào bạn.
Parker Pen

hoangnnm
02-01-2011, 12:15
van khong duoc ban a

Vậy thì tôi đoán rằng phần mềm bạn đang dùng sử dụng form của windows , nên bạn cần phải chuyển font của hệ thống mới có thể hiển thị tiếng Việt ( title bar, messagebox ...v...v )
Đây là file để chuyển font hệ thống sang TCVN3 tự động , nhưng tôi báo trước với bạn là chuyển thì dễ nhưng chuyển ngược lại rất mất công , và giao diện của máy sẽ rất là khó chịu ( xấu ) .
http://www.mediafire.com/?8t0dxyd3ljzqrg5

dungnt.pro
02-01-2011, 20:56
Chào bạn Dungnt.pro

Riêng tôi và có lẽ một số bạn khác cũng chưa gặp trường hợp này bao giờ, thông thường (nếu không thuộc phạm vi cần lưu ý mà MS cảnh báo các điểm mới so với Version trước) chương trình chạy trên VFP8 tốt thì chạy trên VFP9 cũng tốt. Tôi đã từng sử dụng chương trình viết từ ứng dụng VFP6 chuyển sang dùng trên VFP9 chưa phát hiện lỗi gì.
Do bạn diễn giải ngắn gọn, chưa nêu cụ thể chương trình báo câu lỗi gì?, khi nào (lúc đang khởi động chương trình hay lúc gọi thi hành gì gì …đó? hoặc …) nếu biết càng cụ thể tình huống, nhiều bạn sẽ gợi ý cách giải quyết sát hợp nhất. Do chưa nhiều kinh nghiệm nên tôi chỉ có thể gợi ý chung chung sau:
- Dựa vào thông báo lỗi để xem lại tình huống thiết kế các đối tượng tại thời điểm báo lỗi hoặc tồn tại cách khai báo nào đó mà VFP9 không nhận ra …
- Xem lại các file *.dll kèm theo chương trình có đủ chưa (Msvcr71.dll, Vfp9renu.dll, Vfp9r.dll…).
- Hoặc chú ý thêm các tùy chọn khai báo tại hộp thoại Options từ menu Tools của VFP9 nếu đang thiết kế…
Parker Pen

Dạ vâng. Cảm ơn anh. Để em kiểm tra lại rồi có gì em nhờ anh giúp đỡ nhé.

toivbard
09-01-2011, 16:05
hi các bạn. Bạn nào biết cách dịch số sang chữ giúp mình viết đoạn code
vd:
textbox 1 = 50.000 đ
TEXBOX 2 = Năm mươi ngàn đồng

Parker Pen
09-01-2011, 19:40
hi các bạn. Bạn nào biết cách dịch số sang chữ giúp mình viết đoạn code
vd:
textbox 1 = 50.000 đ
TEXBOX 2 = Năm mươi ngàn đồng

Chào bạn Toivbard …

Một số bài trên diễn đàn đã có hỏi và trả lời vấn đề tương tự như bạn nêu. Bạn có thể tham khảo hàm tự tạo VND() của bạn Icanvn đã dùng ổn tại link này:

http://ddth.com/showthread.php?t=19979&page=24

Hoặc:

http://ddth.com/showthread.php?t=19979&page=55


Bạn tham khảo đưa vào form chỉnh sửa phù hợp để nhập và hiện kết quả trên text box của bạn.

Chào bạn.
Parker Pen

toivbard
09-01-2011, 20:07
ban chỉ thêm dùm cách gọi hàm này, vd như: obj naòo?, procedure naòo?. Bỏ lâu rồi nên quên hết. Thank!

Parker Pen
09-01-2011, 20:34
ban chỉ thêm dùm cách gọi hàm này, vd như: obj naòo?, procedure naòo?. Bỏ lâu rồi nên quên hết. Thank!

Bạn cho Mail để tôi liên hệ trao đổi thêm hoặc gửi bạn form dịch số ra chữ để tham khảo.

toivbard
09-01-2011, 20:45
ok. my mail: toivbard@yahoo.com.vn

Newbie.vfp
11-01-2011, 09:27
Chào mọi người,mình là mem mới. Hiện mình đang sử dụng VFP 9.0
Mình đang tạo 1 formset. MÌnh muốn trong textbox form2 hiển thị dữ liệu trong grid form1. Vậy ở form2 mình dùng lệnh gì để kết nối 2 form? và đặt biến như thế nào? mong mọi người giúp mình với, mình đang cần gấp. Thank so much!

Fish eye
11-01-2011, 12:18
Chào mọi người,mình là mem mới. Hiện mình đang sử dụng VFP 9.0
Mình đang tạo 1 formset. MÌnh muốn trong textbox form2 hiển thị dữ liệu trong grid form1. Vậy ở form2 mình dùng lệnh gì để kết nối 2 form? và đặt biến như thế nào? mong mọi người giúp mình với, mình đang cần gấp. Thank so much!


Chào Newbie.vfp

Tôi có gợi ý này không biết đúng ý bạn không:

VD: Có 2 mẫu biểu con là Form1, Form2 trong tập mẫu biểu Formset, trong Form1 có Textbox1, trong Form2 có Grid1 …

Bạn viết tương tự dòng Code sau cho Procerdure nào đó của điều khiển (Control) nào cần tác động, ví dụ Procerdure: Init, InteractiveChange hoặc Lostfocus hoặc Click …

Thisformset.Form1.Textbox1.Value=Thisformset.Form2 .Grid1.Column1.Text2.Value

Khi điều khiển đó được tác động thì giá trị Text2 của Grid1 thuộc Form2 hiện lên tại Textbox1 của Form1.

Nếu không như đúng ý bạn thì bạn cho biết nhé.

Newbie.vfp
11-01-2011, 14:30
Chào Newbie.vfp

Tôi có gợi ý này không biết đúng ý bạn không:

VD: Có 2 mẫu biểu con là Form1, Form2 trong tập mẫu biểu Formset, trong Form1 có Textbox1, trong Form2 có Grid1 …

Bạn viết tương tự dòng Code sau cho Procerdure nào đó của điều khiển (Control) nào cần tác động, ví dụ Procerdure: Init, InteractiveChange hoặc Lostfocus hoặc Click …

Thisformset.Form1.Textbox1.Value=Thisformset.Form2 .Grid1.Column1.Text2.Value

Khi điều khiển đó được tác động thì giá trị Text2 của Grid1 thuộc Form2 hiện lên tại Textbox1 của Form1.

Nếu không như đúng ý bạn thì bạn cho biết nhé.



Mình làm được rồi nè, cảm ơn bạn Fish eye nhiều lắm.

nphumy
13-01-2011, 05:48
anh tayngang làm ơn cho M xin hướng dẫn nhập dữ liệu bằng Unicode trong VFP nhé
mail của M : mydaubac@gmail.com
Cám ơn anh nhiều

oco
19-01-2011, 17:27
Chào các bác đại gia đình DDTH. E hôm nay mới tham gia diễn đàn.
Trường e kỳ này cũng bắt đầu học VFF, khó quá , các bác chỉ cho em cách học, hệ thống kiến thức cần nắm với. Học bắt đầu như nào ạ. Cho em vài tài liệu hay với.
Thank

vns
21-01-2011, 17:42
Một mẹo học VFP hay của mình là mua quyển thực hành của Ông Văn Thông - NXB Thống Kê.
Làm một vèo từ trang 1 - cuối.
Bạn sẽ có căn bản hồi nào mà ko hay.

fanvsf
27-01-2011, 11:42
Chào các Pro

Mình có vấn đề nhờ các cao thủ giúp đỡ :
Mình đã tạo được form có các control như textbox, combobox,... thể hiện được font chữ của Unicode (Sử dụng ActiveX Control của MS Form 2.0) tuy nhiên về Grid thì lại không có. Bác nào có cách nào (hoặc tiện ích nào) để tạo được Grid ActiveX Control không xin chỉ giúp

Cám ơn nhiều

vanvietkhoa
05-02-2011, 22:35
Chào bạn !
Tôi không biết cái “… (Flash có chương trình Đồng hồ trên đó) …” của bạn có chức năng sử dụng như thế nào? Trong khi chờ đợi ai đó giúp bạn, tôi gợi ý bạn có thể tham khảo tại:
http://weblogs.foxite.com/bernardbout/archive/2006/11/04/2798.aspx
(==> Widgets Clock for VFP), bạn tải về chỉnh sửa phù hợp, chèn vào form (thay cho chèn Flash).
Hoặc nếu thực sự cần, bạn cho biết mail của bạn, tôi có thể gửi bạn tham khảo một Class (Clock.vcx) đồng hồ mặt tròn dạng kim hoặc dạng Số, bạn có thể chỉnh sửa, ứng dụng vào form mình chọn.

Parker Pen.

Bạn ơi, mail của mình là : vanvietkhoa @ gmail.com bạn ah ? Bạn gửi cho mình cái Class đó nhé !! thank Bạn nhiều lắm !! ^^~!

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

Các Bạn ơi ! Mình Tạo 1 form đăng nhập và mình muốn tạo 1 checkbox có chức năng: khi được chọn thì ghi nhớ tên Đăng nhập và mật khẩu và ngược lại.. nhưng mình ko bít viết code thế nào và ở đâu... Mọi người giúp mình vs. Thank thank nhìu lắm !!^^

Parker Pen
07-02-2011, 23:03
Bạn ơi, mail của mình là : vanvietkhoa @ gmail.com bạn ah ? Bạn gửi cho mình cái Class đó nhé !! thank Bạn nhiều lắm !! ^^~!

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

Các Bạn ơi ! Mình Tạo 1 form đăng nhập và mình muốn tạo 1 checkbox có chức năng: khi được chọn thì ghi nhớ tên Đăng nhập và mật khẩu và ngược lại.. nhưng mình ko bít viết code thế nào và ở đâu... Mọi người giúp mình vs. Thank thank nhìu lắm !!^^

Chào bạn Vanvietkhoa
Tôi đã gửi mail (đính kèm Clock.rar để bạn tham khảo).

Parker Pen.

sweetboy2805
09-02-2011, 09:21
Mình có vấn đề cần hỏi các bro : Có cách nào in form trong visual fox pro ko ?
Hiện tại mình đang nhúng chart trong excel vào form fox, trong report ko hỗ trợ nhúng nên đành phải hỏi cách in trên form. Rất mong được giúp đỡ.
Giải pháp cuối cùng của mình là dùng lệnh trong fox bật file excel chứa chart cần in, nhưng cách này quá bất tiện.

hoangnnm
09-02-2011, 21:40
Mình có vấn đề cần hỏi các bro : Có cách nào in form trong visual fox pro ko ?
Hiện tại mình đang nhúng chart trong excel vào form fox, trong report ko hỗ trợ nhúng nên đành phải hỏi cách in trên form. Rất mong được giúp đỡ.
Giải pháp cuối cùng của mình là dùng lệnh trong fox bật file excel chứa chart cần in, nhưng cách này quá bất tiện.

Cách in trên form nghĩa là sao bạn có thể giải thích kỹ hơn không ?

tungvv
10-02-2011, 22:37
Đầu năm mới tạo thêm một modul cho PM kế toán, khi chạy bằng file *.fxp trên nền VFP9 thì OK, nhưng khi kết nối với PM , chạy bằng file đã buid *.exe thì báo lỗi là File acces denied : c:\temp\baocao.dbf và c:\temp\baocao.idx. dò lại code thì thấy đã ok , ko biết lỗi từ đâu xuất hiện. Ai chỉ giúp cách kiểm tra, khắc phục với.
Cám ơn nhiều!

Character
10-02-2011, 23:55
Đầu năm mới tạo thêm một modul cho PM kế toán, khi chạy bằng file *.fxp trên nền VFP9 thì OK, nhưng khi kết nối với PM , chạy bằng file đã buid *.exe thì báo lỗi là File access denied : c:\temp\baocao.dbf và c:\temp\baocao.idx. dò lại code thì thấy đã ok , ko biết lỗi từ đâu xuất hiện. Ai chỉ giúp cách kiểm tra, khắc phục với.
Cám ơn nhiều!

Chào bạn Tungvv ...
Bạn kiểm tra lại phần chương trình thực hiện trước dòng lệnh báo lỗi, khi kết nối, có thể trước đó chương trình đã thực hiện (lệnh) mở bảng này hoặc đã mở cơ sở dữ liệu (Database) này rồi.

Nếu có dòng lệnh mở bảng:
Use c:\temp\baocao.dbf
Bạn thử thay bằng dòng lệnh:
Sele baocao

Chúc thành công

vanvietkhoa
11-02-2011, 07:17
Đầu năm mới tạo thêm một modul cho PM kế toán, khi chạy bằng file *.fxp trên nền VFP9 thì OK, nhưng khi kết nối với PM , chạy bằng file đã buid *.exe thì báo lỗi là File acces denied : c:\temp\baocao.dbf và c:\temp\baocao.idx. dò lại code thì thấy đã ok , ko biết lỗi từ đâu xuất hiện. Ai chỉ giúp cách kiểm tra, khắc phục với.
Cám ơn nhiều!

Theo mình lỗi này có hai vấn đề là :
_ khi bạn mở file buil *.exe thì bạn cũng đang mở chương trình fox để truy cập vào Project đó. Mà Cơ sở dữ liệu chỉ cho 1 chương trình truy cập trong thời gian thực.
Cách giải Quyết thoát Fox trước khi chạy file *.exe
_ Ở form chính của chương trình ở sự kiện Destroy bạn nên viết thêm lệnh "Quit" để thoát hoàn toàn fox, nếu bạn chỉ thoát thông thường thisform.release thì chỉ form đó được đóng mà CSDL vẫn mở vì vậy khi bạn mở lại chương trình thì sẽ xuất hiện thông báo trên.
Thân !^^~

sweetboy2805
11-02-2011, 08:50
Cách in trên form nghĩa là sao bạn có thể giải thích kỹ hơn không ?

Cám ơn bạn đã quan tâm, ý của mình thế này : Mình muốn in mấy cái biểu đồ ra giấy để báo cáo cho sếp. Nhưng mà report trong fox lại không hỗ trợ về biểu đồ. Mình đã sử dụng giải pháp là nhúng biểu đồ trong excel qua fox, nhưng nó chỉ hiển thị được trên form thôi. Bây giờ mình muốn in nguyên cái form có hình biểu đồ đó ra giấy , có cách nào ko hả bạn ?

PS : Đừng chỉ mình cách chụp màn hình nhé :D

hoangnnm
11-02-2011, 09:22
Cám ơn bạn đã quan tâm, ý của mình thế này : Mình muốn in mấy cái biểu đồ ra giấy để báo cáo cho sếp. Nhưng mà report trong fox lại không hỗ trợ về biểu đồ. Mình đã sử dụng giải pháp là nhúng biểu đồ trong excel qua fox, nhưng nó chỉ hiển thị được trên form thôi. Bây giờ mình muốn in nguyên cái form có hình biểu đồ đó ra giấy , có cách nào ko hả bạn ?

PS : Đừng chỉ mình cách chụp màn hình nhé :D

Nhu cầu của bạn rõ ràng là phải chụp ảnh màn hình thôi . Nhưng mà chụp programmatically :) .
Bạn có thể thử tham khảo ở đây : http://www.foxite.com/downloads/default.aspx?id=12&keyword=buildbmp.zip&category=

darshana
11-02-2011, 09:44
Chào các bạn! Cho mình hỏi đã có bạn nào làm ứng dụng lấy dữ liệu từ các tệp excel theo cấu trúc, tệp excel có phần header và phần Data. Đầu tiên là phần header sau đó là phần Data. Phần Data bắt đầu từ dòng thứ 5 chẳng hạn. Mình định làm theo kiểu như sau, tạo 1 Object Excel rồi sau đó mở tệp dữ liệu, copy sang 1 tệp khác, xóa các dòng header đi sau đó save as thành dạng dbf. Không biết có cách nào khác nữa không nhỉ. Không sử dụng DBO vì nó loằng ngoằng lắm.

Character
11-02-2011, 10:08
[quote=sweetboy2805;2532521] ... Mình muốn in mấy cái biểu đồ ra giấy để báo cáo cho sếp. Nhưng mà report trong fox lại không hỗ trợ về biểu đồ. Mình đã sử dụng giải pháp là nhúng biểu đồ trong excel qua fox, nhưng nó chỉ hiển thị được trên form thôi. Bây giờ mình muốn in nguyên cái form có hình biểu đồ đó ra giấy , có cách nào ko hả bạn ?
.....

Gửi bạn sweetboy2805 ...

Ý của bạn là hay đấy …, từ trước tôi cũng có nhu cầu, cố lục lọi tìm cách in trực tiếp biểu đồ dạng Column, Pie … từ form xuất ra Report hoặc in ra giấy, nhưng không làm được. Theo tôi thì giải pháp dùng lệnh VFP in Form ra giấy là không đơn giản. Trong khi chờ đợi các cao thủ tư vấn, giúp bạn, tôi có thiển ý, nếu bạn đã dùng VFP chuyển dữ liệu thành dạng biểu đồ (Excel), bạn tạo thêm nút lệnh in trên form, trong biến cố Click của nút In này, bạn viết code chèn (insert) biểu đồ đó ra file Word nào đó (thay cho xuất ra Report), sau đó dùng VFP gọi file Word này --> in ra giấy.

Chào bạn
Character