PDA

View Full Version : Giúp cháu với mấy chú ơi



Eddy
05-04-2003, 05:16
chào các chú,các cô,các bác,...
Hiện tại cháu đang tự học delphi bằng cách viết một chương trình nhưng lại gặp phải mấy vấn đề sau.Mong được chỉ giáo.

+Thứ nhất: chương trình dùng đối tượng DrawGrid (DGr),2 ô texteditbox (ted) và có đoạn mã sau:
1: var sodong,socot : ?
2: sodong:=tedsodong.text;
3: socot:=tedsocot.text;
4: inc(sodong);inc(socot); //hay sodong:=sodong+1...
5: Dgr.Rowcount:=sodong;
6: Dgr.Colcount:=socot;
Theo các chú thi 2 biến sodong và socot nên là biến kiểu gì và cách đổi kiểu làm sao, chứ cháu thử đủ kiểu và các hàm chuyển kiểu vẫn bị báo lỗi như:
integer và hàm strtoint thì dòng 2 và 3 báo lỗi;
integer và hàm val thì cột[0] bị mất, tuy vẫn có thể sửa được nhưng lại gây ra nhiều lỗi khác trong các đoạn mã còn lại.
variant thi dòng 4,5,6 báo lỗi.


+Thứ hai:Làm cách nào để xuất mỗi ô một ký tự trên dòng[0] và cột[0] của khung lưới DrawGrid.
cháu đã dùng thử đoạn mã sau mà vẫn không được
var khung:TRect;
i:integer;
for i:=1 to 16 do
begin
khung:=dgrmattran.CellRect(i,0);//:=inttostr(i);
dgrmattran.Canvas.TextRect khung,khung.Left ,khung.Top ,chuoi[i]);
khung:=dgrmattran.CellRect(0,i);
dgrmattran.Canvas.TextRect (khung,khung.Left ,khung.Top ,inttostr(i));
end;

Ráng giúp lẹ lẹ nha mấy chú.Cám ơn trước.

btkiet
05-04-2003, 16:22
Khi dùng interger và strtoint thì dòng 2 và 3 bị báo lỗi như thế nào? theo tôi thì dùng interger và strtoint là đúng rồi. Bạn có thể mở rộng bằng cách dùng strtointdef(st,def_val) để khi chuổi st không phải là một số thì hàm này trả về giá trị là def_val. Bạn thử đoạn mã sau:

1: var sodong,socot : integer;
2: sodong:=strtointdef(tedsodong.text,0);
3: socot:=strtointdef(tedsocot.text,0);
4: inc(sodong);inc(socot); //hay sodong:=sodong+1...
5: Dgr.Rowcount:=sodong;
6: Dgr.Colcount:=socot;

Còn thắc mắc thứ hai thì nhường lại cho người khác giải quyết, tôi không rành cái vụ này lắm.

Mach2
05-04-2003, 20:07
Mình ko hiểu lém về câu hỏi thứ 2 của bạn, mà xuất ký tự thì có gì phải dùng Canvas nhể?

Eddy
05-04-2003, 20:49
Cám ơn mấy chú nha, phấn 1 cháu đã tự giải quyết được rồi.
Còn phần 2 là do trong Delphi có tới 2 đối tượng là StringGrid(SGr) và DrawGrid.(Dgr)
Nếu mà dùng Sgr thì không xuất được hình ảnh trong Cells; còn dùng Drg thì cháu không biết cách xuất ký tự trong Cells;ý cháu muốn là dùng Dgr. Ráng giúp cháu nha mấy chú.

Eddy
06-04-2003, 02:19
Đợi mấy chú chỉ lâu quá, cuối cùng cháu cũng đã làm được rồi.
Hẹn bữa sau hỏi tiếp.bye