AI muốn lập trình DLL cho Excel và các loại bằng Delphi thì xem video này nhé! (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

Nguyễn Duy Tuân

Nghị Hách
Thành viên danh dự
Tham gia
13/6/06
Bài viết
4,842
Được thích
10,337
Giới tính
Nam
Nghề nghiệp
Giáo viên, CEO tại Bluesofts
Lần chỉnh sửa cuối:
Em Đã kết nối và lấy được du liệu thong qua ip máy chủ rồi, nhưng mà phan truyền dữ liệu chưa ổn lắm phải chuyển từ row hichic
qua IP Internet mà không mở Port Modem hả

nếu vậy quá Tuyệt đó sử dụng Database.accdb xong truy cập quá ngon
Nếu được cho Mạnh xin code đi nếu úp trên đây thấy ngại gửi qua mail đó cũng được
...................

mạnh mò liên tục mà chưa tìm ra được nguyên lý và cách thức xài nó

mạnh coi rất nhiều trang mà vẫn tịt
https://wiki.scn.sap.com/wiki/display/EIM/DataSnap+and+Advantage

https://blog.devart.com/using-dac-products-in-multi-tier-db-application-development.html
 
Lần chỉnh sửa cuối:
Upvote 0
qua IP Internet mà không mở Port Modem hả

nếu vậy quá Tuyệt đó sử dụng Database.accdb xong truy cập quá ngon
Nếu được cho Mạnh xin code đi nếu úp trên đây thấy ngại gửi qua mail đó cũng được
...................

mạnh mò liên tục mà chưa tìm ra được nguyên lý và cách thức xài nó

mạnh coi rất nhiều trang mà vẫn tịt
https://wiki.scn.sap.com/wiki/display/EIM/DataSnap+and+Advantage

https://blog.devart.com/using-dac-products-in-multi-tier-db-application-development.html
Cái này không dùng snap anh oi ma phai dung TCP/in Srver Client gởi tin nhắn qua lại. tức là máy clien gởi lệnh SQL thì máy Sever nó căn cứ vào câu lệnh đó sql va chạy cái ADoQuery xong rồi gởi từng dòng kết quả lại máy Client. mà hiện tại em mới làm đượ kiểu dữ liệu là Test
 
Upvote 0
Cái này không dùng snap anh oi ma phai dung TCP/in Srver Client gởi tin nhắn qua lại. tức là máy clien gởi lệnh SQL thì máy Sever nó căn cứ vào câu lệnh đó sql va chạy cái ADoQuery xong rồi gởi từng dòng kết quả lại máy Client. mà hiện tại em mới làm đượ kiểu dữ liệu là Test
Có code mẫu hay trang nào có code mẫu chỉ dùm mạnh
mạnh tải về nghiên cứu chút
 
Upvote 0
anh len mạng kiếm IdTCPServer1
Phận là con gái, nhưng chả chịu thua trai.
Nhìn về tương lai mà thấy level lên dài dài. --=0

Nói thiệt tôi để ý socket từ hồi VB6 thế mà hơn 15 năm trời cũng không viết nổi một cái app client/server nào thế mà cô nữ nãy tay ngang viết được quả đúng tài. :v:

Mới hôm kia theo dõi chủ đề này nổi hứng lôi C# ra thử và không ngờ viết được 1 đôi client/server đơn giản. Client gửi tin đến server lắng nghe như kỳ vọng nhưng mà gặp 1 tình huống hài hước là nếu đóng client thì anh server cũng lăn ra chết :wacko:. Cũng không có ý định đi sâu nên không theo nữa vì vất vả wa.!$@!!

Có 1 khám phá nho nhỏ là nếu muốn test client/server trên cùng 1 máy thì dùng cái IP Loopback nhé chứ dùng IP của máy thì... debug tới năm sau.
 
Upvote 0
Phận là con gái, nhưng chả chịu thua trai.
Nhìn về tương lai mà thấy level lên dài dài. --=0

Nói thiệt tôi để ý socket từ hồi VB6 thế mà hơn 15 năm trời cũng không viết nổi một cái app client/server nào thế mà cô nữ nãy tay ngang viết được quả đúng tài. :v:

Mới hôm kia theo dõi chủ đề này nổi hứng lôi C# ra thử và không ngờ viết được 1 đôi client/server đơn giản. Client gửi tin đến server lắng nghe như kỳ vọng nhưng mà gặp 1 tình huống hài hước là nếu đóng client thì anh server cũng lăn ra chết :wacko:. Cũng không có ý định đi sâu nên không theo nữa vì vất vả wa.!$@!!

Có 1 khám phá nho nhỏ là nếu muốn test client/server trên cùng 1 máy thì dùng cái IP Loopback nhé chứ dùng IP của máy thì... debug tới năm sau.
IP Loopback Cái này dùng làm sao anh, em còn chút xíu nữa là hoàn thành rồi hihihih
em làm đạt yêu cầu trước cái đã để nắm bắt được hướng đi sau đó mài dũa lại, bãy lỗi sau, bãy không hết để đó luôn hihihihih (em được 1 cái là nhìn hình đón chữ)
 
Upvote 0
Phận là con gái, nhưng chả chịu thua trai.
Nhìn về tương lai mà thấy level lên dài dài. --=0

Nói thiệt tôi để ý socket từ hồi VB6 thế mà hơn 15 năm trời cũng không viết nổi một cái app client/server nào thế mà cô nữ nãy tay ngang viết được quả đúng tài. :v:

Mới hôm kia theo dõi chủ đề này nổi hứng lôi C# ra thử và không ngờ viết được 1 đôi client/server đơn giản. Client gửi tin đến server lắng nghe như kỳ vọng nhưng mà gặp 1 tình huống hài hước là nếu đóng client thì anh server cũng lăn ra chết :wacko:. Cũng không có ý định đi sâu nên không theo nữa vì vất vả wa.!$@!!

Có 1 khám phá nho nhỏ là nếu muốn test client/server trên cùng 1 máy thì dùng cái IP Loopback nhé chứ dùng IP của máy thì... debug tới năm sau.
Anh nói đúng chuyển qua 127.0.0.1 h thì không kết nối được, hichic và cái lỗi anh nói cũng đúng
 
Upvote 0
Mới mới thử sao trong LAN thì chạy ok mà ngoài LAN là tịt là sao Bạn ... cấu Hình sao???
Em cung chua biết nữa cứ lấy cái địa chỉ IP của mình thì ok doi dia chi bo tay, mà đi theo hướng này em thấy được ý hihihi, đành mò tiếp vậyClien sever.jpg
Nó hiện được chữ là mừng rồi
 
Upvote 0
Mạnh thấy DataSnap Thử trong LAN thấy ok mà thay cái IP Internet là Tịt ... 2 cái hình như nó như nhau
 
Upvote 0
Mạnh thấy DataSnap Thử trong LAN thấy ok mà thay cái IP Internet là Tịt ... 2 cái hình như nó như nhau
Khác nhau nhau chứ anh. Em thi muon mò kết nối qua internet cho biết chứ sài mạng lan thì cài sql cho lẹ. Mà cái này liên quan đến kiến thức mạng và bao mật nữa khó thật
 
Upvote 0
Upvote 0
Anh nghiên cứu tới đâu rồi, em bắt đầu duoi rồi day hichic
Mạnh làm nó cứ loanh quanh trong LAN ấy thôi

Hôm thấy Bạn khoe kết nối ngoài LAN chạy ok rồi mà ???????????????

Nói chung đi theo hướng đó là đúng rồi đó ... tuy nhiên mình chưa hiểu được cách tạo kết nối sao đó thôi ???!!!

Khó quá Mạnh tạm gác lại đó ... viết xong cái phần mềm quản lý bán hàng cái đã khi nào rảnh lại mở ra coi lại
 
Upvote 0
Mạnh làm nó cứ loanh quanh trong LAN ấy thôi

Hôm thấy Bạn khoe kết nối ngoài LAN chạy ok rồi mà ???????????????

Nói chung đi theo hướng đó là đúng rồi đó ... tuy nhiên mình chưa hiểu được cách tạo kết nối sao đó thôi ???!!!

Khó quá Mạnh tạm gác lại đó ... viết xong cái phần mềm quản lý bán hàng cái đã khi nào rảnh lại mở ra coi lại
Anh yên tâm, em sẽ share, kết nối la mot chuyện dua nguyên table qua là 1chuyen khác, em dang dau dầu day
 
Upvote 0
Anh yên tâm, em sẽ share, kết nối la mot chuyện dua nguyên table qua là 1chuyen khác, em dang dau dầu day
Mạnh cũng mong vậy Share code cho mạnh nghiên cứu học với ....

Cho Mạnh hỏi chút
1/ Ngày qua có Thử chạy Compact anh Repair DataBase trên Menu của File Access mấy lần xong coi dụng lượng file nó giảm đi một chút ....

2/ Cũng Như vậy mà mạnh xài Access Server của Delphi thì khi Compact anh Repair DataBase File Access nó giản đi trông thấy luôn ... có nghĩa nó nén tốt hơn khi chạy trực tiếp cái Tools của Access

đó thử trong LAN nó chạy đó ... còn ngoài LAN nó tèo téo teo à

Capture.PNG
 
Upvote 0
Mạnh cũng mong vậy Share code cho mạnh nghiên cứu học với ....

Cho Mạnh hỏi chút
1/ Ngày qua có Thử chạy Compact anh Repair DataBase trên Menu của File Access mấy lần xong coi dụng lượng file nó giảm đi một chút ....

2/ Cũng Như vậy mà mạnh xài Access Server của Delphi thì khi Compact anh Repair DataBase File Access nó giản đi trông thấy luôn ... có nghĩa nó nén tốt hơn khi chạy trực tiếp cái Tools của Access

đó thử trong LAN nó chạy đó ... còn ngoài LAN nó tèo téo teo à

View attachment 209640
Compact anh Repair DataBase cái này em không rành, còn anh test kết nối qua intenet chưa được hả (em thấy anh ket noi 127.0.0.1 duoc rồi mà)
 
Upvote 0
Compact anh Repair DataBase cái này em không rành, còn anh test kết nối qua intenet chưa được hả (em thấy anh ket noi 127.0.0.1 duoc rồi mà)
THỬ RỒI KO ĐƯỢC ... KO BIẾT NÓ SAI CÁI GÌ NỮA
Mới thử 2 máy trong LAN kết nối ok nè
OK.PNG
 
Lần chỉnh sửa cuối:
Upvote 0
Thử gì?
Có những lớp địa chỉ chỉ dùng cho mạng cục bộ. Nhìn 192.168 thì biết ngay đó là địa chỉ gì.

Nếu trong dòng lệnh (cmd) chạy
Mã:
ipconfig
thì địa chỉ nhìn trong đó là địa chỉ cục bộ.

Đọc "private network"
 
Upvote 0
Thử gì?
Có những lớp địa chỉ chỉ dùng cho mạng cục bộ. Nhìn 192.168 thì biết ngay đó là địa chỉ gì.

Nếu trong dòng lệnh (cmd) chạy
Mã:
ipconfig
thì địa chỉ nhìn trong đó là địa chỉ cục bộ.

Đọc "private network"
ket noi.jpgcái này có phải đã kết nối qua Intenet không anh

kieu manh vAnh cho em cai Mail em goi anh Test thử
 
Upvote 0
Upvote 0
Mạnh mới coi các Cổng Port mở dưới tường Lửa không Thấy có
Giò làm thủ công vậy xem sao Nha

1/ đặt Cho Nó cái Tên trong File Server là TestServer
2/ Mở cổng Port kết nối dưới tường lửa với tên đó
3/ Công Mặc định là 20010 hay cái gì đó tùy ý miễn sao 2 cái Server và Clinent phải giống nhau
5/ Nếu Mở cổng Port dưới tường lửa ko viết bằng code được thì tạm thời ta làm thủ công test ok xong tính sau
6/ Atools cũng kết nối qua công Port dưới tường lửa đó ( điều đó là bắt buột nếu ko cho kết nối thì nó sẻ chặn lại )
....
7/ Úp lại file Mạnh test ....
 
Lần chỉnh sửa cuối:
Upvote 0
Mạnh mới coi các Cổng Port mở dưới tường Lửa không Thấy có
Giò làm thủ công vậy xem sao Nha

1/ đặt Cho Nó cái Tên trong File Server là TestServer
2/ Mở cổng Port kết nối dưới tường lửa với tên đó
3/ Công Mặc định là 20010 hay cái gì đó tùy ý miễn sao 2 cái Server và Clinent phải giống nhau
5/ Nếu Mở cổng Port dưới tường lửa ko viết bằng code được thì tạm thời ta làm thủ công test ok xong tính sau
6/ Atools cũng kết nối qua công Port dưới tường lửa đó ( điều đó là bắt buột nếu ko cho kết nối thì nó sẻ chặn lại )
....
7/ Úp lại file Mạnh test ....
Em goi roi do anh test di
 
Upvote 0
Lâu rồi em có Download duoc 1 cái File chát qua mạng mà nó bắt cài Suore code để tối về em kiếm lại gởi cho anh ngâm cứu
Mà sao Bạn không xài 2 cái hàm vào 1 cái đi cho nó gọn và tiện hơn ... cái này lỗi có cái kia thay thế vậy ??!!
Nói chung đang đi đúng hướng mặt trời mọc đấy có điều chưa hiểu ra cách nó kết nối sao đó thôi ....
Rồi mò diết cũng có ngày ngộ ra he .......... ===\.-0-0-0-

Mã:
function GetIpPublic() String;
  var
  LJsonObj  : TJSONObject;
  str       : string;
  http      : TIdHttp;
  begin
    str:='';
    http:=TIdHTTP.Create(nil);
    try
        str:=http.Get('http://ipinfo.io/json');
        LJsonObj:= TJSONObject.ParseJSONValue(TEncoding.ASCII.GetBytes(str),0) as TJSONObject;
        str := LJsonObj.Get('ip').JsonValue.Value;
        LJsonObj.Free;
        http.Free;
        //showmessage('TJSONObject');
    Except
        str := GetMyIP();
        //showmessage('GetMyIP');
    end;
    result:=str;
end;
 
Lần chỉnh sửa cuối:
Upvote 0
Sao em Dowload cái Atool Free về tạo Sever mà không kết nối được nhỉ (1 máy win 7x32 - 1 máy win 8x64)
 
Upvote 0
Upvote 0
Lần chỉnh sửa cuối:
Upvote 0
Không anh , em ket noi qua intenet
(Control Panel -> FireWall đã thiết lập đúng port 1711 của A-Tools chưa? ) cai này là kiểm tra cả 2 máy hay chỉ máy chủ thôi anh

Khi kết nối Excel qua internet với A-Tools bắt buộc phải làm 2 bước (quy định chung cho các phần mềm) :
1. Mở cổng modem với port: 1711
2. DÙng IP tĩnh hoặc IP internet để kết nối.
 
Upvote 0
Sao anh không viết 1 tool cấu hình Router đi anh

Mình thấy viết ứng dụng tự cấu hình rất khó. Mỗi modem người quản trị mạng lại có user riêng và mẫu form thiết lập riêng, chưa kể hệ thống modem lại kết nối với nhau nữa... Nên hiện nay việc thiết lập modem vẫn phải để cho quản trị mạng họ làm em à.
 
Upvote 0
1/ Cũng vì mê code két hôm rồi Mạnh kéo mấy tay lắp camera tới nó cấu hình cho cái Modem Viettel F608 mãi không được ... xong ra về buồn thui à
2/ Mạnh keo Viettel nó trả lời là nó bảo đảm cho mang internet kết nối ok còn cái đó nó không hổ trợ ... tự xử lấy
3/ Ra Viettel hỏi gói IP tĩnh thì nó keo ................... OK ................... vậy là đang để đó xem xét :D:oops:
Bài đã được tự động gộp:

Sao anh không viết 1 tool cấu hình Router đi anh
Thế mà keo hôm em kết nối qua Internet thành công làm Mạnh mừng hụt hehehehehehe
 
Upvote 0
Em thấy có 1 tool người ta viết chỉ cần nhập Pass va User là nó sẽ liệt kê thông tin của Router, mà anh nói đúng tùy loại Modem, chứ không phải cái nào cũng giống nhau.

TO kieu manh jzậy là cái của anh nó kết nối In tẹt nét được rồi nhé chẳng qua chưa mở Post

(Em có biết đâu nè kết nối trong lòng vòng có 1 cái máy tính, tưởng là kết nối đơn giản do kiến thức chỉ biết phần ngọn không biết phần gốc sorysory)
 
Lần chỉnh sửa cuối:
Upvote 0
Em thấy có 1 tool người ta viết chỉ cần nhập Pass va User là nó sẽ liệt kê thông tin mình cần ra hết, mà anh nói đúng tùy loại Modem, chứ không phải cái nào cũng giống nhau.

TO kieu manh jzậy là cái của anh nó kết nối In tẹt nét được rồi nhé chẳng qua chưa mở Post
Kiểu này mạnh lại phải ra Viettel nâng cấp gói cước + IP tĩnh đây ....
Mê code két khổ thế đấy ..................
Còn cái Modem F680 của mạnh là mấy tay chuyên làm camera chào thua rồi đó

Vậy là Anh em Mình đi đứng hướng Mặt trời mọc ròi đó he ................ :D:D
 
Upvote 0
Vậy Mạnh chốt đại 1 câu .... Nếu Sai thì chốt lại He ???!!

1/ Mở Port Modem cho phép kết nối từ xa
2/ Mở Port dưới tường lửa cho phép kết nối từ xa
.....
4/ Nếu 2 cái trên OK thì ta có thể xài ADO bình thường truy vấn duy liệu từ xa vậy .... cần chi phải phức tạp cho mệt he
5/ Nếu ngon nữa ta làm trên DataSnap cái Server hay (TCP Server-Client ) cho nó Chạy Auto khi mở máy tính vậy là từ xa ta kết nối ok he

6/ Nếu Mạnh phán sai thì phán lại lo chi -0-0-0-===\.
 
Lần chỉnh sửa cuối:
Upvote 0
Vậy Mạnh chốt đại 1 câu .... Nếu Sai thì chốt lại He ???!!

1/ Mở Port Modem cho phép kết nối từ xa
2/ Mở Port dưới tường lửa cho phép kết nối từ xa
.....
4/ Nếu 2 cái trên OK thì ta có thể xài ADO bình thường truy vấn duy liệu từ xa vậy .... cần chi phải phức tạp cho mệt he
5/ Nếu ngon nữa ta làm trên DataSnap cái Server hay (TCP Server-Client ) cho nó Chạy Auto khi mở máy tính vậy là từ xa ta kết nối ok he

6/ Nếu Mạnh phán sai thì phán lại lo chi -0-0-0-===\.

Trong Delphi, với các loại CSDL Excel, Access, Foxpro (không phải CSDL Server) thì có thể dùng ADO và kết nối mạng LAN. Còn các loại CSDL theo chuẩn Client - Server khác thì đừng dùng ADO. Dùng FireDAC.
 
Upvote 0
Vậy Mạnh chốt đại 1 câu .... Nếu Sai thì chốt lại He ???!!

1/ Mở Port Modem cho phép kết nối từ xa
2/ Mở Port dưới tường lửa cho phép kết nối từ xa
.....
4/ Nếu 2 cái trên OK thì ta có thể xài ADO bình thường truy vấn duy liệu từ xa vậy .... cần chi phải phức tạp cho mệt he
5/ Nếu ngon nữa ta làm trên DataSnap cái Server hay (TCP Server-Client ) cho nó Chạy Auto khi mở máy tính vậy là từ xa ta kết nối ok he

6/ Nếu Mạnh phán sai thì phán lại lo chi -0-0-0-===\.
Có phải anh đang test cái DataSnap REST?

Ngay từ đầu thì em cũng đã nói với anh là nếu kết nối qua Internet thì điều trước tiên anh phải có là IP tĩnh. Sau đó mới tính tiếp được.

1545376419713.png
 
Upvote 0
Có phải anh đang test cái DataSnap REST?

Ngay từ đầu thì em cũng đã nói với anh là nếu kết nối qua Internet thì điều trước tiên anh phải có là IP tĩnh. Sau đó mới tính tiếp được.

View attachment 209787
Chính xác là vậy
Thực ra ko có IP tĩnh ta vẫn chơi chiêu lấy được dữ liệu .... nhưng quan trọng nhất là Mở Port Modem ( như cái Modem của mạnh là thua)

Ý Tưởng của Mạnh là vầy:

1/ Mở Port Modem OK
2/ Mở Port dưới Tường Lửa OK

3/ xong từ máy chủ ta xài code lấy IP Internet Lưu vào OneDrive ( hay lên đâu đó tùy thích ) khi khởi động máy tính
4/ Từ máy khách muốn có IP máy chủ thì xài code tải file IP máy chủ đó về xài

Tại sao phải làm vậy vì IP động nó luôn thay đổi khi khởi động lại Modem hay có sự tác động vào nó ....vv mất điện vv

5/ vậy từ máy chủ ta không muốn ko cho ai kết nối nữa thì xóa cái file IP đi là xong... an toàn và bảo mật
6/ Code lấy IP thì có nhiều cách lấy Mạnh tạm lấy code sau xài đỡ vậy
Mã:
Private Sub GetIpInternetPublic()
    Dim xx, ss, GetIP As String, IP
    GetIP = "http://dynupdate.no-ip.com/ip.php"
    Rem GetIP = "http://www.networksecuritytoolkit.org/nst/tools/ip.php"
    Set xx = CreateObject("MSXML2.ServerXMLHTTP")
    Set ss = CreateObject("ADODB.Stream")
    ss.Type = 1
    xx.Open "GET", GetIP, False, "", ""
    xx.Send
    ss.Open
    ss.Write xx.responseBody
    ss.SaveToFile ThisWorkbook.Path & "\MyIP.txt", 2
    ss.Close
    ''MsgBox "Ðã xong"
End Sub
vậy là bài học truy vấn dữ liệu qua Internet ..... tạm thời chốt lại coi như cơ bản đã học xong
Cảm ơn các Bạn rất nhiều
 
Lần chỉnh sửa cuối:
Upvote 0
Chính xác là vậy
Thực ra ko có IP tĩnh ta vẫn chơi chiêu lấy được dữ liệu .... nhưng quan trọng nhất là Mở Port Modem ( như cái Modem của mạnh là thua)

Ý Tưởng của Mạnh là vầy:

1/ Mở Port Modem OK
2/ Mở Port dưới Tường Lửa OK
3/ xong từ máy chủ ta xài code lấy IP Internet Lưu vào OneDrive ( hay lên đâu đó tùy thích )
4/ Từ máy khách muốn có IP máy chủ thì xài code tải file IP máy chủ đó về xài

Mục đích để làm gì vậy anh.
Nếu vậy sao anh không sử dụng Google làm trung gian gởi tin giữa Clien và Sever (Clien gởi lệnh - Sever chạy lệnh gởi kết quả thông qua google)
 
Lần chỉnh sửa cuối:
Upvote 0
3/ xong từ máy chủ ta xài code lấy IP Internet Lưu vào OneDrive ( hay lên đâu đó tùy thích )
4/ Từ máy khách muốn có IP máy chủ thì xài code tải file IP máy chủ đó về xài

Mục đích để làm gì vậy anh
thì cho máy khách IP máy chủ để truy cập vào máy chủ lấy dữ liệu chứ sao ... khi mình đang xài IP động
 
Upvote 0
thì cho máy khách IP máy chủ để truy cập vào máy chủ lấy dữ liệu chứ sao ... khi mình đang xài IP động
Nếu vậy sao anh không sử dụng Google làm trung gian gởi tin giữa Clien và Sever (Clien gởi lệnh - Sever chạy lệnh gởi kết quả thông qua google)
khỏi cần port rồi, không biết ơn không ta
 
Upvote 0
Nếu vậy sao anh không sử dụng Google làm trung gian gởi tin giữa Clien và Sever (Clien gởi lệnh - Sever chạy lệnh gởi kết quả thông qua google)
khỏi cần port rồi, không biết ơn không ta
cái này Mạnh nghe mới à nha ... ko biết bắt đầu từ đâu
 
Upvote 0
Upvote 0
:oops::rolleyes:o_O:rolleyes::oops::oops::rolleyes:o_O trời nói thiệt mà hông tin :oops::rolleyes:o_Oo_O:rolleyes::oops:
Vào Link sau tham khảo thêm nè Cấu hình tường lửa với cmd
Vậy là tự tay viết 1 cái Add-Ins truy vấn dữ liệu qua Internet ròi đó he
http://thoughtsonopsmgr.blogspot.com/2016/12/ws-2016-server-core-sql-server-2016.html
Coi trong đó thấy có khúc sau:

Create exceptions in Windows Firewall
Do this locally on the VM hosting the relevant SQL version. Start PowerShell when logging in.
These two lines will allow remote access to the default SQL version via TCP port 1433 :
Netsh firewall sets the protocol portopening = TCP port = 1433 name = SQLPort mode = ENABLE scope = SUBNET profile = CURRENT

Netsh advfirewall adds name rule = SQLPort dir = in Protocol = tcp action = allow localport = 1433 remoteip = localsubnet profile = DOMAIN

These two lines will allow remote access from SQL Server Management Studio to SQL version via TCP Port 1434 (also called SQL Admin Connection ) :
netsh firewall set portopening protocol port = TCP = 1434 name mode = SQLPort = ENABLE scope = SUBNET profile = CURRENT

advfirewall netsh firewall add rule name = SQLPort dir = in protocol = tcp action = localport = 1434 remoteip = localsubnet = DOMAIN profile

Mà Link sau Bác Bill cũng keo thế
https://docs.microsoft.com/en-us/sq...-allow-sql-server-access?view=sql-server-2017
 
Upvote 0
Vào Link sau tham khảo thêm nè Cấu hình tường lửa với cmd
Vậy là tự tay viết 1 cái Add-Ins truy vấn dữ liệu qua Internet ròi đó he
http://thoughtsonopsmgr.blogspot.com/2016/12/ws-2016-server-core-sql-server-2016.html
Coi trong đó thấy có khúc sau:

Create exceptions in Windows Firewall
Do this locally on the VM hosting the relevant SQL version. Start PowerShell when logging in.
These two lines will allow remote access to the default SQL version via TCP port 1433 :
Netsh firewall sets the protocol portopening = TCP port = 1433 name = SQLPort mode = ENABLE scope = SUBNET profile = CURRENT

Netsh advfirewall adds name rule = SQLPort dir = in Protocol = tcp action = allow localport = 1433 remoteip = localsubnet profile = DOMAIN

These two lines will allow remote access from SQL Server Management Studio to SQL version via TCP Port 1434 (also called SQL Admin Connection ) :
netsh firewall set portopening protocol port = TCP = 1434 name mode = SQLPort = ENABLE scope = SUBNET profile = CURRENT

advfirewall netsh firewall add rule name = SQLPort dir = in protocol = tcp action = localport = 1434 remoteip = localsubnet = DOMAIN profile

Mà Link sau Bác Bill cũng keo thế
https://docs.microsoft.com/en-us/sq...-allow-sql-server-access?view=sql-server-2017
Anh thử chưa, còn cái vụ Nat port của router
 
Upvote 0
Upvote 0
Vụ NAT port anh kieu manh vào group facebook "Smart Home Việt" sẽ có 5 ngàn anh em hướng dẫn cho, bao gồm cả cách kêu nhà mạng thay modem..
 
Upvote 0
Vụ NAT port anh kieu manh vào group facebook "Smart Home Việt" sẽ có 5 ngàn anh em hướng dẫn cho, bao gồm cả cách kêu nhà mạng thay modem..
Cái dòng to đó hay đó tại vì Mạnh xài gói 30M mà nâng cấp lên ko làm chi cả chỉ mục đích quậy code thấy phí quá ....
Mai lượn phố 1 vòng xem sao nếu ko được đập một cái cho cái Modem đó hỏng đi xong keo nó thây vậy ????!!!
 
Upvote 0
To @thuyyeu99
Mạnh thấy trên mạng có Hàm này đang tìm cách xài mà nó cứ báo Lỗi

Làm cách nào để gán máy tính một địa chỉ IP tĩnh?
Sử dụng lớp Win32_NetworkAd ModuleConfiguration và phương thức EnableStatic .
Mã:
function ArrayToVarArray(Arr : Array Of string):OleVariant; overload;
var
 i : integer;
begin
    Result   :=VarArrayCreate([0, High(Arr)], varVariant);
    for i:=Low(Arr) to High(Arr) do
     Result[i]:=Arr[i];
end;
 
function ArrayToVarArray(Arr : Array Of Word):OleVariant;overload;
var
 i : integer;
begin
    Result   :=VarArrayCreate([0, High(Arr)], varVariant);
    for i:=Low(Arr) to High(Arr) do
     Result[i]:=Arr[i];
end;
 
procedure  SetStaticIP;
const
  wbemFlagForwardOnly = $00000020;
var
  FSWbemLocator : OLEVariant;
  FWMIService   : OLEVariant;
  FWbemObjectSet: OLEVariant;
  FWbemObject   : OLEVariant;
  oEnum         : IEnumvariant;
  iValue        : LongWord;
  vIPAddress         : OleVariant;
  vSubnetMask        : OleVariant;
  vDefaultIPGateway  : OleVariant;
  vGatewayCostMetric : OleVariant;
begin
  FSWbemLocator := CreateOleObject('WbemScripting.SWbemLocator');
  FWMIService   := FSWbemLocator.ConnectServer('localhost', 'root\CIMV2', '', '');
  FWbemObjectSet:= FWMIService.ExecQuery('SELECT * FROM Win32_NetworkAdapterConfiguration Where IPEnabled=True','WQL',wbemFlagForwardOnly);
  oEnum         := IUnknown(FWbemObjectSet._NewEnum) as IEnumVariant;
  while oEnum.Next(1, FWbemObject, iValue) = 0 do
  begin
    vIPAddress   := ArrayToVarArray(['192.168.1.141']);
    vSubnetMask  := ArrayToVarArray(['255.255.255.0']);
    if FWbemObject.EnableStatic(vIPAddress, vSubnetMask) = 0 then
    begin
      vDefaultIPGateway  := ArrayToVarArray(['192.168.1.100']);
      vGatewayCostMetric := ArrayToVarArray([1]);
      FWbemObject.SetGateways(vDefaultIPGateway,vGatewayCostMetric);
    end;
 
    VarClear(vIPAddress);
    VarClear(vSubnetMask);
    VarClear(vDefaultIPGateway);
    VarClear(vGatewayCostMetric);
    FWbemObject:=Unassigned;
  end;
end;
 
Upvote 0
To @thuyyeu99
Mạnh thấy trên mạng có Hàm này đang tìm cách xài mà nó cứ báo Lỗi

Làm cách nào để gán máy tính một địa chỉ IP tĩnh?
Sử dụng lớp Win32_NetworkAd ModuleConfiguration và phương thức EnableStatic .
Mã:
function ArrayToVarArray(Arr : Array Of string):OleVariant; overload;
var
i : integer;
begin
    Result   :=VarArrayCreate([0, High(Arr)], varVariant);
    for i:=Low(Arr) to High(Arr) do
     Result[i]:=Arr[i];
end;

function ArrayToVarArray(Arr : Array Of Word):OleVariant;overload;
var
i : integer;
begin
    Result   :=VarArrayCreate([0, High(Arr)], varVariant);
    for i:=Low(Arr) to High(Arr) do
     Result[i]:=Arr[i];
end;

procedure  SetStaticIP;
const
  wbemFlagForwardOnly = $00000020;
var
  FSWbemLocator : OLEVariant;
  FWMIService   : OLEVariant;
  FWbemObjectSet: OLEVariant;
  FWbemObject   : OLEVariant;
  oEnum         : IEnumvariant;
  iValue        : LongWord;
  vIPAddress         : OleVariant;
  vSubnetMask        : OleVariant;
  vDefaultIPGateway  : OleVariant;
  vGatewayCostMetric : OleVariant;
begin
  FSWbemLocator := CreateOleObject('WbemScripting.SWbemLocator');
  FWMIService   := FSWbemLocator.ConnectServer('localhost', 'root\CIMV2', '', '');
  FWbemObjectSet:= FWMIService.ExecQuery('SELECT * FROM Win32_NetworkAdapterConfiguration Where IPEnabled=True','WQL',wbemFlagForwardOnly);
  oEnum         := IUnknown(FWbemObjectSet._NewEnum) as IEnumVariant;
  while oEnum.Next(1, FWbemObject, iValue) = 0 do
  begin
    vIPAddress   := ArrayToVarArray(['192.168.1.141']);
    vSubnetMask  := ArrayToVarArray(['255.255.255.0']);
    if FWbemObject.EnableStatic(vIPAddress, vSubnetMask) = 0 then
    begin
      vDefaultIPGateway  := ArrayToVarArray(['192.168.1.100']);
      vGatewayCostMetric := ArrayToVarArray([1]);
      FWbemObject.SetGateways(vDefaultIPGateway,vGatewayCostMetric);
    end;

    VarClear(vIPAddress);
    VarClear(vSubnetMask);
    VarClear(vDefaultIPGateway);
    VarClear(vGatewayCostMetric);
    FWbemObject:=Unassigned;
  end;
end;
Anh nghiên cứu máy cái ngoài khả năng của em không, em không biết đường trả lời.... hichic //..,,//..,,//..,,//..,,
Mấy cái này chắc phải nhờ mấy anh trong diễn đàn trợ giúp quá :;;;::::;;;:::
 
Upvote 0
Các Bạn cho Mình hỏi chút
Tại sao cái Hàm lấy IP Address sau chỉ chạy trên các Bản Delphi cũ thì tốt ... còn Mạnh chạy trên bản Delphi 10.2.3 thì nó báo lỗi
Mã:
Function GetIPAddress: String;
type pu_long = ^u_long;
var varTWSAData : TWSAData;
varPHostEnt : PHostEnt;
varTInAddr : TInAddr;
namebuf : Array[0..255] of ansichar;
begin
try
try
If WSAStartup($101,varTWSAData) <> 0 Then
Result := ''
Else Begin
gethostname(namebuf,sizeof(namebuf));
varPHostEnt := gethostbyname(namebuf);
varTInAddr.S_addr := u_long(pu_long(varPHostEnt^.h_addr_list^)^);
Result := inet_ntoa(varTInAddr);
End;
except
Result := '';
end;
finally
WSACleanup;
end;
end;
Mạnh có coi link sau thì nó cũng keo như vậy
https://stackoverflow.com/questions/18754496/delphi-xe4-get-your-local-ip-in-statusbar

Tất nhiên là Mạnh có giải pháp khác ngắn gọn hơn mà vẫn lấy IPAddress ok nhưng vẫn muốn hỏi là tại sao để học thui ???!!!

Vì Mạnh có tải rất nhiều code trên mạng về coi thì thấy nó báo lỗi thiếu thành phần + Build Delphi mới nhất không hổ Trợ
vì vậy muốn hỏi để hiểu thêm một chút ??!!!

Hiện Mạnh xài hàm sau lấy IP LAN nó ngắn gọn hơn ... úp lên cho bạn nào iu nó
Mã:
Uses IdStack;
function GetIpLAN:String;
begin 
  TIdStack.IncUsage;
  try
    Result := GStack.LocalAddress; 
  finally
    TIdStack.DecUsage;
  end;
end;
 
Lần chỉnh sửa cuối:
Upvote 0
Các anh chị cho em hỏi chút...
Em thử chuyển dữ liệu Access từ sever qua client có 10.000 dòng và 23 cột mà nó chạy gần 30 phút....
không biết có cách nào chuyển dữ liệu từ Sever qua Client lẹ hoặc tối ưu nhất không ah.
Cám ơn các anh chị quan tâm
 
Upvote 0
dạo này mò sao rồi anh không thấy nói năng gì hết vậy.
Em giải quyết được vấn đề của em rồi hihi lấy dữ liệu 10.000 ngàn dòng từ 30 phút xuống còn 6 giây hihihihi
 
Upvote 0
Các anh chị cho em hỏi chút...
Em thử chuyển dữ liệu Access từ sever qua client có 10.000 dòng và 23 cột mà nó chạy gần 30 phút....
không biết có cách nào chuyển dữ liệu từ Sever qua Client lẹ hoặc tối ưu nhất không ah.
Cám ơn các anh chị quan tâm
lâu nay nghiên cứu tới đâu rồi

Sau nhiều ngày Nat Port Modem cuối cung Mạnh đã làm xong và mới thử cái Server xem sao thì thấy Ok

1/ Sau khi mở Port xong thử chạy cái Server thấy Ok .... 1 máy hay + N máy Trên Internet kết nối vào cùng 1 lúc ok hết
2/ Mạnh xài IP Internet động để Test xem sao sau đó mới nghiên cứu cách chuyển cái IP đó tới máy khách qua khâu trung gian
3/ Xem hình he ...............................ok....................hehehehe
Sever.PNG
 
Upvote 0
lâu nay nghiên cứu tới đâu rồi

Sau nhiều ngày Nat Port Modem cuối cung Mạnh đã làm xong và mới thử cái Server xem sao thì thấy Ok

1/ Sau khi mở Port xong thử chạy cái Server thấy Ok .... 1 máy hay + N máy Trên Internet kết nối vào cùng 1 lúc ok hết
2/ Mạnh xài IP Internet động để Test xem sao sau đó mới nghiên cứu cách chuyển cái IP đó tới máy khách qua khâu trung gian
3/ Xem hình he ...............................ok....................hehehehe
View attachment 210472
Máy bữa nay em đang mo cái send query từ sever qua client nên không test mạng de xong cái đã hihihih.
Chuẩn bị mò tới máp cái thư mục qua ip
 
Upvote 0
lâu nay nghiên cứu tới đâu rồi

Sau nhiều ngày Nat Port Modem cuối cung Mạnh đã làm xong và mới thử cái Server xem sao thì thấy Ok

1/ Sau khi mở Port xong thử chạy cái Server thấy Ok .... 1 máy hay + N máy Trên Internet kết nối vào cùng 1 lúc ok hết
2/ Mạnh xài IP Internet động để Test xem sao sau đó mới nghiên cứu cách chuyển cái IP đó tới máy khách qua khâu trung gian
3/ Xem hình he ...............................ok....................hehehehe
Xong vụ nat port rồi à anh? hê hê. :)
 
Upvote 0
Máy bữa nay em đang mo cái send query từ sever qua client nên không test mạng de xong cái đã hihihih.
Chuẩn bị mò tới máp cái thư mục qua ip
Thử vô link sau tham khảo xem sao
https://medium.com/dev-blogs/transferring-files-between-remote-server-and-local-system-133d78d58137

Mạnh đang mò cái này nó lại liên quan cái khác mò qua mò lại đang bị rối tinh hết lên .... qua cái giai đoạn rối tinh đó ... xong hệ thống lại mọi cái là viết code ok đó ==========> Kinh nghiệm quậy code két cho Mạnh thấy điều đó

Lý luận khái quát từ thực tiễn mà ra là thế ???!!!!===\._)()(-:close_tema:
 
Upvote 0
Thử vô link sau tham khảo xem sao
https://medium.com/dev-blogs/transferring-files-between-remote-server-and-local-system-133d78d58137

Mạnh đang mò cái này nó lại liên quan cái khác mò qua mò lại đang bị rối tinh hết lên .... qua cái giai đoạn rối tinh đó ... xong hệ thống lại mọi cái là viết code ok đó ==========> Kinh nghiệm quậy code két cho Mạnh thấy điều đó

Lý luận khái quát từ thực tiễn mà ra là thế ???!!!!===\._)()(-:close_tema:
Máy hôm nay em bận quá không có nghiên cứu được

Với lại sắp ra lò Hàm SuperFuntionSQL hihihii
 
Upvote 0
Các Bạn Cho Mạnh hỏi chút
1/ Khi mình truyền 1 tham Số đường dẫn File là Code như sau vào Delphi Thì nó Chạy tốt :
Mã:
ExcelPath = ThisWorkbook.Path & "\Data.xlsb"

2/ Khi mình Viết cái đường dẫn mục 1 đó Lên Cells thì nó báo Lỗi Không chạy
Mã:
D:\DelphiExamples\VBLibrary\Win32\Debug\Data.xlsb

2 đường dẫn trên là như nhau chỉ khác là trong Code và trên Cells
nó báo lỗi như sau ... Mong các Bạn Chỉ mình cách xài đường dẫn trên Cells với
Capture.PNG
 
Upvote 0
Các Bạn Cho Mạnh hỏi chút
1/ Khi mình truyền 1 tham Số đường dẫn File là Code như sau vào Delphi Thì nó Chạy tốt :
Mã:
ExcelPath = ThisWorkbook.Path & "\Data.xlsb"

2/ Khi mình Viết cái đường dẫn mục 1 đó Lên Cells thì nó báo Lỗi Không chạy
Mã:
D:\DelphiExamples\VBLibrary\Win32\Debug\Data.xlsb

2 đường dẫn trên là như nhau chỉ khác là trong Code và trên Cells
nó báo lỗi như sau ... Mong các Bạn Chỉ mình cách xài đường dẫn trên Cells với
View attachment 211596
Em nghĩ phải khai báo biến variant rồi gán cái giá trị cell đó vô biến variant đó.
 
Upvote 0
Lần chỉnh sửa cuối:
Upvote 0
Các Bạn Cho Mạnh hỏi chút
1/ Khi mình truyền 1 tham Số đường dẫn File là Code như sau vào Delphi Thì nó Chạy tốt :
Mã:
ExcelPath = ThisWorkbook.Path & "\Data.xlsb"

2/ Khi mình Viết cái đường dẫn mục 1 đó Lên Cells thì nó báo Lỗi Không chạy
Mã:
D:\DelphiExamples\VBLibrary\Win32\Debug\Data.xlsb

2 đường dẫn trên là như nhau chỉ khác là trong Code và trên Cells
nó báo lỗi như sau ... Mong các Bạn Chỉ mình cách xài đường dẫn trên Cells với
View attachment 211596
To @thuyyeu99
Chỉ mạnh cách khai báo trong Delphi làm sao để xử lý bài này với khi truyền đường dẫn trên Cells vào Delphi
 
Upvote 0
Ai có bài toán về xử lý số liệu tự động trên excel đưa ra ví dụ mình lập trình rồi gửi code cho mà học là dễ hiểu nhất
Bài đã được tự động gộp:

Delphi bây giờ được Embarcadero phát triển rất mạnh, thư viện và package rất nhiều và đa dạng, các bạn chỉ cần học tốt các hàm cơ bản là được, các việc còn lại để component lo hết.
Bài đã được tự động gộp:

Dùng delphi có thể viết tool xử lý dữ liệu trên excel, text, pdf... Làm giảm thời gian bằng tay từ vài tiếng thậm chí cả ngày xuống còn vài phút hoặc vài giây, và làm tăng độ chính xác của số liệu.
 
Lần chỉnh sửa cuối:
Upvote 0
To @thuyyeu99 & @Hai Lúa Miền Tây
Mạnh Tính cài cái SQL Server bản Free ... để sử dụng và học tập nghiên cứu một tẹo khi rảnh rỗi thì quậy chơi :p:p
Theo bạn bản nào nó nhẹ nhàng nhất .... cho Mạnh xin File Setup đó hay link để mạnh tải về cài coi sao ????
 
Upvote 0
Upvote 0
Em thì có rành máy cái đó đâu, hiện em nhờ người khác cài bản SQL Express 2014
cho mạnh xin file đó đo ... bản free mà ... nó giới hạn Database là 10G thì phải
không hiểu sao hôm cài bản 2017 vô thấy nó sao ấy hay mạnh chưa hiểu hết ... mà Check Port OK .... gở hết ra cái Port nó cũng chết theo luôn
Khó hiểu thật

Không biết có phải link sau là nó phải không

https://www.microsoft.com/en-us/download/details.aspx?id=42299
Link File
https://www.microsoft.com/en-us/download/details.aspx?id=42299
 
Lần chỉnh sửa cuối:
Upvote 0
cho mạnh xin file đó đo ... bản free mà ... nó giới hạn Database là 10G thì phải
không hiểu sao hôm cài bản 2017 vô thấy nó sao ấy hay mạnh chưa hiểu hết ... mà Check Port OK .... gở hết ra cái Port nó cũng chết theo luôn
Khó hiểu thật
===\. cái này em nhờ người ta cài, làm gì em sour, mà anh lên :google_dk: thiếu gì, với lại em đâu có sài nó nữa đâu, nắm được client Sever rồi sài Express mần chi. để qua tết mò cái Client sverver Excell
 
Upvote 0
===\. cái này em nhờ người ta cài, làm gì em sour, mà anh lên :google_dk: thiếu gì, với lại em đâu có sài nó nữa đâu, nắm được client Sever rồi sài Express mần chi. để qua tết mò cái Client sverver Excell
1/ Mạnh quậy cái Socket biết cách chuyển cái Query nó sang xong rồi .... xong thử mấy máy kết nối xem sao thấy nó lăn đùng ra chết luôn
Tìm hiểu thì thấy người ta nói nó không hổ trợ đa luồng ... mất hứng luôn ... mò mất gần 1 tháng mờ cả mắt

hay mình chưa biết làm cho nó thành đa luồng ta !!!???

2/ còn cái TidTCServer và TidTCPClient
Thì nó hổ trợ đa luồng mà cú pháp nó khác ... lại bắt đầu mò lại từ đầu .... thật khổ ghê

3/ Qua tết nghiên cứu cái mục 2 này .... xu hướng là người ta xài server hết đó ... mấy cái App trên điện thoại cũng Ser vờ mà he

hay đó qua tết rảnh chiến tiếp
 
Upvote 0
Ai có bài toán về xử lý số liệu tự động trên excel đưa ra ví dụ mình lập trình rồi gửi code cho mà học là dễ hiểu nhất
Bài đã được tự động gộp:

Delphi bây giờ được Embarcadero phát triển rất mạnh, thư viện và package rất nhiều và đa dạng, các bạn chỉ cần học tốt các hàm cơ bản là được, các việc còn lại để component lo hết.
Bài đã được tự động gộp:

Dùng delphi có thể viết tool xử lý dữ liệu trên excel, text, pdf... Làm giảm thời gian bằng tay từ vài tiếng thậm chí cả ngày xuống còn vài phút hoặc vài giây, và làm tăng độ chính xác của số liệu.
Em rất khoái vụ code cho excel này nhưng mới tập tành nên chẳng biết mô tê với lại bận công việc quá, nên khi nào rảnh nhờ Anh trợ giúp em với nhé. Thanksss!
 
Upvote 0
Ai có bài toán về xử lý số liệu tự động trên excel đưa ra ví dụ mình lập trình rồi gửi code cho mà học là dễ hiểu nhất
Bài đã được tự động gộp:

Delphi bây giờ được Embarcadero phát triển rất mạnh, thư viện và package rất nhiều và đa dạng, các bạn chỉ cần học tốt các hàm cơ bản là được, các việc còn lại để component lo hết.
Bài đã được tự động gộp:

Dùng delphi có thể viết tool xử lý dữ liệu trên excel, text, pdf... Làm giảm thời gian bằng tay từ vài tiếng thậm chí cả ngày xuống còn vài phút hoặc vài giây, và làm tăng độ chính xác của số liệu.
Nếu được bạn có thể nói hướng dẫn cách chia sẻ File Excel cho nhiều người dùng được không ?
 
Upvote 0
Upvote 0
Lần chỉnh sửa cuối:
Upvote 0
Thấy dân chúng xài Winsoc viết Server đó
Code viết trên VB6 ... To VBA nó khác nhau có 1 tẹo à
Bạn nào có hứng Mò là viết trên Excel 1 cái Server đó

Từ từ thong thả rồi mọi cái sáng như ban ngày đó :p:p:p:oops:

Code cho Server

Mã:
Option Explicit
Dim iSockets As Integer
Dim sServerMsg As String
Dim sRequestID As String
 
Private Sub Form_Load()

    Form1.Show
    lblHostID.Caption = Socket(0).LocalHostName
    lblAddress.Caption = Socket(0).LocalIP
    Socket(0).LocalPort = 1007
    sServerMsg = "Listening to port: " & Socket(0).LocalPort
    List1.AddItem (sServerMsg)
    Socket(0).Listen
End Sub

Private Sub socket_Close(Index As Integer)
    sServerMsg = "Connection closed: " & Socket(Index).RemoteHostIP
    List1.AddItem (sServerMsg)
    Socket(Index).Close
    Unload Socket(Index)
    iSockets = iSockets - 1
    lblConnections.Caption = iSockets
   
End Sub

Private Sub socket_ConnectionRequest(Index As Integer, ByVal requestID As Long)
    sServerMsg = "Connection request id " & requestID & " from " & Socket(Index).RemoteHostIP
  If Index = 0 Then
    List1.AddItem (sServerMsg)
    sRequestID = requestID
    iSockets = iSockets + 1
    lblConnections.Caption = iSockets
    Load Socket(iSockets)
    Socket(iSockets).LocalPort = 1007
    Socket(iSockets).Accept requestID
  End If

End Sub

Private Sub socket_DataArrival(Index As Integer, ByVal bytesTotal As Long)
   
   Dim sItemData As String
   Dim strData As String
   Dim strOutData As String
   Dim strConnect As String
 
       
    ' get data from client
    Socket(Index).GetData sItemData, vbString
    sServerMsg = "Received: " & sItemData & " from " & Socket(Index).RemoteHostIP & "(" & sRequestID & ")"
    List1.AddItem (sServerMsg)
 
    'strConnect = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=G:\Prices.mdb;Persist Security Info=False"
    Dim strPath As String
   
    'Change the database path in the text file
   
    Dim fso As New FileSystemObject, txtfile, _
    fil1 As File, ts As TextStream

    Set fil1 = fso.GetFile("path.txt")
    ' Read the contents of the file.
    Set ts = fil1.OpenAsTextStream(ForReading)
    strPath = ts.ReadLine
    ts.Close
    Set fso = Nothing

    strConnect = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
      "Persist Security Info=False;Data Source=" & strPath & _
      "; Mode=Read|Write"
     
    Dim rs As New ADODB.Recordset
   
    ' Get clients request from database
    strData = "Item = '" & sItemData & "'"
   
    rs.Open "select * from prices", strConnect, adOpenKeyset, adLockOptimistic
    rs.Find strData
    strOutData = rs.Fields("Price")
   
    'send data to client
    sServerMsg = "Sending: " & strOutData & " to " & Socket(Index).RemoteHostIP
    List1.AddItem (sServerMsg)
    Socket(Index).SendData strOutData  
End Sub

Code cho Client
Mã:
Option Explicit

Private Sub cmdClose_Click()
Winsock1.Close
shpGo.Visible = False
shpWait.Visible = False
shpError.Visible = True
End Sub

Private Sub cmdConnect_Click()
Winsock1.RemoteHost = "127.0.0.1" 'Change this to your host ip
Winsock1.RemotePort = 1007
Winsock1.Connect
shpGo.Visible = True
txtItem.SetFocus
End Sub

Private Sub cmdSend_Click()
If Winsock1.State = sckConnected Then
    Winsock1.SendData txtItem.Text
    shpGo.Visible = True
    Label3.Caption = "Sending Data"
Else
    shpGo.Visible = False
    shpWait.Visible = False
    shpError.Visible = True
    Label3.Caption = "Not currently connected to host"
End If
End Sub

Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Dim sData As String
Winsock1.GetData sData, vbString
'Label1.Caption = sData
txtPrice.Text = sData
Label3.Caption = "Received Data"
shpGo.Visible = True
shpWait.Visible = False
shpError.Visible = False

End Sub

Private Sub Winsock1_SendComplete()

Label3.Caption = "Completed Data Transmission"

End Sub
Tham khảo thêm từ Link chính chủ Của Bác Bill
https://docs.microsoft.com/en-us/previous-versions/visualstudio/visual-basic-6/aa733709(v=vs.60)
Huy vọng qua năm mới sẻ có nhiều Bạn Tự tay viết cho mình một Cái Server và Client Trên Excel he

Chúc Thành công
 

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0

Bài viết mới nhất

Back
Top Bottom