Chạy song song các Sub trong VBA (1 người xem)

Liên hệ QC

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

LeCang99

Thành viên mới
Tham gia
30/8/19
Bài viết
4
Được thích
0
Xin chào toàn thể các Anh/Chị trong diễn đàn.
Xin các Anh/Chị giúp đỡ em về việc chạy song song các Sub trong VBA để tiết kiệm thời gian
Trường hợp như sau ạ:

Sub Run_all ()
Sub1
Sub2
End Sub

Hiện tại khi chạy Run_all() thì Sub1 chạy rồi sau đó Sub2 mới chạy
Câu hỏi cần giúp đỡ:
Có cách nào chạy song song 2 sub mà không đợi Sub trước chạy xong không ạ?
Mong Anh/Chị giúp đỡ.
Cảm ơn các Anh/Chị rất nhiều!
 
Xin chào toàn thể các Anh/Chị trong diễn đàn.
Xin các Anh/Chị giúp đỡ em về việc chạy song song các Sub trong VBA để tiết kiệm thời gian
Trường hợp như sau ạ:

Sub Run_all ()
Sub1
Sub2
End Sub

Hiện tại khi chạy Run_all() thì Sub1 chạy rồi sau đó Sub2 mới chạy
Câu hỏi cần giúp đỡ:
Có cách nào chạy song song 2 sub mà không đợi Sub trước chạy xong không ạ?
Mong Anh/Chị giúp đỡ.
Cảm ơn các Anh/Chị rất nhiều!
Bạn nghĩ có không.Đến code trong 1 sub nó còn phải chạy theo thứ tự làm gì có kiểu chạy song song.
 
Upvote 0
Bạn nghĩ có không.Đến code trong 1 sub nó còn phải chạy theo thứ tự làm gì có kiểu chạy song song.
Vậy có cách nào để chạy nhanh hơn không ạ?, vì for i từ 1 tới 10000, chạy khoảng hơn 15 tiếng, em mới học nên thử tách ra 2 Sub nhưng cũng như vậy :), có giải pháp nào cải thiện xin chỉ giúp em với ạ,
 
Upvote 0
Vậy có cách nào để chạy nhanh hơn không ạ?, vì for i từ 1 tới 10000, chạy khoảng hơn 15 tiếng, em mới học nên thử tách ra 2 Sub nhưng cũng như vậy :), có giải pháp nào cải thiện xin chỉ giúp em với ạ,
Có vài trăm cách, cách nhẹ nhàn nhất là gởi file kèm yêu cầu và giải thích tường minh
 
Upvote 0
Có vài trăm cách, cách nhẹ nhàn nhất là gởi file kèm yêu cầu và giải thích tường minh
em đã đính kèm file, anh xem giúp ạ,
giải thích:
For i chạy đến 8000 , check nếu dữ liệu không bị trống thì chạy ghép chuỗi, sau đó gửi chuỗi đó tới web , sau đó gán giá trị web trả về vào ô Message
yêu cầu;
mỗi dòng trả về thành công vào ô Message mất 7s, nếu 8000 dòng sẽ mất gần 15 tiếng, anh/chị xem và chỉ giúp em cách giảm thời gian chạy ạ,
cám ơn anh
 

File đính kèm

Upvote 0
em đã đính kèm file, anh xem giúp ạ,
giải thích:
For i chạy đến 8000 , check nếu dữ liệu không bị trống thì chạy ghép chuỗi, sau đó gửi chuỗi đó tới web , sau đó gán giá trị web trả về vào ô Message
yêu cầu;
mỗi dòng trả về thành công vào ô Message mất 7s, nếu 8000 dòng sẽ mất gần 15 tiếng, anh/chị xem và chỉ giúp em cách giảm thời gian chạy ạ,
cám ơn anh
Code liên quan đến Web mình không rành, hy vọng bạn khác biết cách
 
Upvote 0
có cách nào set thời gian bắt đầu chạy của sub2 không anh , vd: sau khi ấn sub1 chạy dc 5 phut thì sub2 se chay
Chỉn thời gian và chạy code theo hướng dẫn
Mã:
Dim runBln As Boolean
Sub CreatClock() 'Tao dong ho dem nguoc
  If runBln = True Then
    runBln = False
    Call ABC
    Exit Sub
  End If
  runBln = True
  Application.OnTime (Now + TimeSerial(0, 1, 2)), "CreatClock"
End Sub

Sub ABC()
  MsgBox ("Da duoc 1 Phut 2 Giay")
End Sub
 

File đính kèm

Upvote 0
Lại ý tưởng lớn. Nhưng không được đâu bạn.
VBA không thể hổ trợ sub/function chạy đa luồng (multithread). Nếu MS coder mà thấy yêu cầu, ý tưởng này của bạn, họ ngã ngữa, khóc thét hết, vì phải viết lại toàn bộ VBA :)
Chạy multithread trên 1 CPU thì chỉ thực chất là mỗi thằng được chạy 1 chút, còn đa nhân (đa CPU) thì thread này có thể chạy trên CPU này, thread kia chạy trên CPU kia. Lúc đó mới là song song (parallel) thật sự.
 
Lần chỉnh sửa cuối:
Upvote 0
Vừa xem file của bạn, code vầy sao không chậm cho được. Optimize lại đi, xuống nhiều đó.
Mà tôi nghe nói dân VP không quan tâm nhanh chậm mà, vậy thôi cứ để vậy đi. Chạy được là tốt, mừng húm rồi.
1. Thêm Option Explicit vào giùm tui
2. Tuyệt đối tránh read từng cell Value từ VBA, vòng for bạn 3 to 8000, bạn read và IsEmpty 8000 lần ??/
3. Trong Sub TEST_Restful, nó cũng sẽ được gọi 8000 lần với 1 đống read từ cell Value bên trong nữa, khởi tạo object MSXML2.XMLHTTP 8000 lần, làm 1 mớ tác vụ giống nhau, chỉ khác nhau ở send strJson ???
4. Dùng CreateObject("MSXML2.XMLHTTP") later binding này là vô cùng chậm, đừng bắt chước người ta. Đưa ra ngoài, Set = New đi.
Các thao tác bắt tay, quy ước, kết nối tạo connection, chỉ làm 1 lần với server thôi, sau đó chỉ gởi chuỗi Json lên.
5. Kết nối, tạo connection, rồi hủy 8000 lần ???? Làm gì làm phải giữ 1 connection duy nhất. Xem bên server có cho giữ không ? Chắc chắn là có.
Làm xong hết mới đóng connection, destroy XMLHTTP object.
Bạn làm vầy không khác gì xem 1 trang Web, bạn F5 refresh 8000 lần, ông trời còn chịu chưa nổi.
Còn nhiều lắm, góp vài ngu ý vậy thôi. Thấy mấy cái code này là ngán.
Bạn tìm cách viết lại đi. Làm sao tới cuối cùng chỉ cần gới 1 chuỗi Json và nhận về 1 kết quả xong là đạt. Vài giây với máy, đường truyền bây giờ là hết cỡ.
 
Lần chỉnh sửa cuối:
Upvote 0
Nhảm ! Dùng Python mà code dỡ, code tệ còn chậm hơn code đúng, code tốt với VBA.
Python phải đi đường vòng để kết nối với Excel, ngôn ngữ thông dịch rồi mới qua mã máy. VBA kết nối direct, trực tiếp với Excel kia mà read cell value còn chậm, ở đó mà py với chả thon.
 
Upvote 0
Vừa xem file của bạn, code vầy sao không chậm cho được. Optimize lại đi, xuống nhiều đó.
Mà tôi nghe nói dân VP không quan tâm nhanh chậm mà, vậy thôi cứ để vậy đi. Chạy được là tốt, mừng húm rồi.

Em là người viết phần mềm chuyên trên Excel và cơ số công ty to nhỏ là khách hàng với rất nhiều bài toán dữ liệu lớn. Chuyện bây giờ làm đúng, làm đủ là đơn giản rồi. Cái người ta mong muốn cao hơn đó vừa nhanh lại vừa đẹp, khẩu vị thượng đế giờ không còn chỉ ăn cho no đâu a :D. Em chưa thấy khách hàng nào hay những người em biết là dân chuyên làm Excel lại nói tốc độ không quan trọng cả. Vì thế các cải tiến cho Office 365 gần đây cái gì họ nhũng nhắm tới tốc độ. XLOOKUP gì gì đó cũng là muốn tốc độ hơn Vlookup và tính đa năng đó anh.
 
Upvote 0
Bạn gửi cho tôi một web cụ thể để tôi test nhé. Tôi đoán với "đồ chơi" của tôi vấn đề của bạn có thể được giải quyết về tốc độ.
 
Upvote 0
Nếu táy máy mở Resource Monitor thì dễ thấy có hàng chục đến hàng trăm chương trình đang hoạt động. Tương ứng với mỗi chương trình là từ 1 đến cả trăm thread (process system có hơn trăm thread). Thế nên thực tế chả tồn tại xử lý song song như nhiều người nghĩ vì không có đủ nhân để phục vụ riêng cho mỗi thread trừ khi dùng siêu máy tính.

223615

CPU là chỉ con chip vật lý gắn trên mainboard máy tính. CPU có 2, 4, 6, 16 hay bao nhiêu nhân thì vẫn chỉ là 1 cái CPU chứ không thể hiểu là nhiều CPU. Một số mainboard chuyên dụng thì có thể thiết kế để lắp được nhiều CPU (nhiều CPU socket).

Trong điều kiện lý tưởng, nếu có thể mở được đồng thời 16 thread với mỗi thread là một request thì thời gian thực thi có thể rút ngắn xuống khoảng gần 1/16 lần. Tuy nhiên phải nhấn mạnh tới điều kiện lý tưởng vì một số server sẽ giới hạn số lượt truy cập từ mỗi IP trong một khoảng thời gian. Thập chí nếu số lượt truy cập từ một IP cao bất thường thì có khi server sẽ khóa mọi request từ IP này.

Tôi đã từng có khoảng thời gian dài lập trình multithread tương tác với server bằng C# nên có thể khẳng định là C# có thể giải quyết vấn đề này tương đối tốt. Tuy nhiên đừng ngộ nhận là càng mở nhiều thread thì tốc độ sẽ càng nhanh đâu nhé vì giới hạn kỹ thuật của cả phần cứng và phần mềm.
 
Lần chỉnh sửa cuối:
Upvote 0
Mà tôi nghe nói dân VP không quan tâm nhanh chậm mà, vậy thôi cứ để vậy đi. Chạy được là tốt, mừng húm rồi.
...
Em chưa thấy khách hàng nào hay những người em biết là dân chuyên làm Excel lại nói tốc độ không quan trọng cả. Vì thế các cải tiến cho Office 365 gần đây cái gì họ nhũng nhắm tới tốc độ. XLOOKUP gì gì đó cũng là muốn tốc độ hơn Vlookup và tính đa năng đó anh.
Đừng cố tình xuyên tạc, bóp méo lời người khác nhé.

Dân văn phòng có quan tâm tới nhanh chậm ở mức s, mức phút, mức giờ. Nhưng dân văn phòng không quan trọng nhanh chậm ở mức ms. Đừng cắt xén, bóp méo lời nói của người khác nhé.

ThangCuAnh nói là Value2 nhanh hơn Value. Không ai phản đối chuyện này. Nhưng ThangCuAnh chỉ trích người khác vì người ta không nghe theo và dùng Value2 như nó. Vì người ta nói là người ta không quan tâm tới độ nhanh chậm cỡ ms. Lúc đó ThangCuAnh cùn nên nói về CPU, nhịp đồng hồ, về viết hệ điều hành ... ThangCuAnh so sánh GPE với những diễn đàn cho những người lập trình CPU, hệ điều hành? Vì thế ta nói là với dân văn phòng, với mấy cô kế toán thì sự nhanh ở cỡ ms không quan trọng.

Ta nói là "sự nhanh chậm ở độ ms không màng" chứ không nói là "sự nhanh chậm không màng". Các người không hiểu sự khác biệt giữa 2 câu kia hay các người hiểu nhưng các người cùn, các người cố tình xuyên tạc?

Nếu các người kiếm cơm bằng lập trình muốn bàn về độ nhanh chậm cỡ ms, muốn ôm mấy tools rồi đum đum thì có ai cấm đâu? Có ai góp ý gì đâu? Nhưng một khi vào nơi mà 99,9 % không là dân lập trình phần mềm kiếm cơm để "diễn" thì dám chơi dám chịu thôi. Tự biên, tự diễn, tự vỗ tay, tự ném cà chua trứng thối. Ai cũng mong bài viết của mình có 100 "thích", nhưng nếu không có một rừng tay vỗ, một dàn hợp xướng ngợi ca thì các người chỉ có thể tự trách mình là đã diễn không đúng chỗ, trước không đúng loại khán giả. Nhưng các người lại trách là có ít người hưởng ứng. Trách mình diễn không đúng chỗ thôi. Vào diễn đàn Excel mà nói chuyện lập trình CPU, hệ điều hành, nhịp đồng hồ mà muốn có một rừng tay vỗ nhưng lại không có một rừng tay vỗ thì chỉ tự trách mình được thôi. Cũng như vào diễn đàn "Thú cưng" mà giảng về toán vi phân thì cũng sẽ không có một rừng tay vỗ. Cùng lắm chỉ có vài cái vỗ tay lẹt đẹt thôi. Chuyện đơn giản mà các người không hiểu sao?

ThangCuAnh có hiểu quái gì về Unicode đâu. ThangCuAnh nghĩ chỉ khi có BOM thì tập tin mới là unicode sao?


Ta, một người không kiếm cơm bằng lập trình, đã giải thích rất nhiều, rất kỹ mà ThangCuAnh còn cùn. Rồi ThangCuAnh viện lý do là không mở được bằng Word. Hoá ra do ThangCuAnh không biết mở. Khi ta chỉ ra là ThangCuAnh không biết mở thì ThangCuAnh lý sự cùn là nếu nhân viên văn phòng không biết mở thì sao. Có những nhân viên không biết mở và có nhân viên biết mở. Nhưng ta có nói về nhân viên văn phòng đâu. Ta nói về ThangCuAnh. ThangCuAnh không biết mở. ThangCuAnh khoe là dân lập trình chuyên nghiệm nhưng ThangCuAnh không biết mở. Ta nói về ThangCuAnh, không nói về dân văn phòng. Rồi chuyện ThangCuAnh không hiểu rõ về "băm" về Dictionary mà nói bừa thì ta cũng đã chỉ ra ở


ThangCuAnh nên nhớ là ta, người chỉ đam mê nhưng không kiếm cơm bằng lập trình, đã vạch ra những chỗ mà ThangCuAnh, người vỗ ngực xưng là lập trình chuyên nghiệp, không biết không hiểu.

ThangCuAnh cùn nên ThangCuAnh nói là những ai dùng Value là SAI. ThangCuAnh không hiểu thế nào là SAI hay ĐÚNG. ThangCuAnh chỉ có thể nói là Value2 nhanh hơn Value nhưng không thể nói là dùng Value là sai. Và nữa, ta đã nói rõ là trong những trường hợp nào ta không màng tới sự nhanh chậm ở cỡ ms. Ta không bao giờ nói là sự nhanh chậm không quan trọng. Ta chỉ nói là sự nhanh chậm ở cỡ ms thì không màng, không quan tâm.

Các người viết phần mềm kiếm cơm thì cứ tự nhiên thảo luận nhé. Ta không quan tâm tới mấy chuyện đó thì đừng cố khiêu khích ta. Ôm mấy cái tools rồi đum đum rồi phát hiện ra một loạt lỗi của MS. Nghe mà thấy nực cười. Một lũ vô danh tiểu tốt ngồi ở Việt Nam ăn tục nói phét.

Ai cũng có những sai sót. Một khi người ta chỉ ra chỗ sai của mình thì nên chấp nhận. Đừng cay cú để rồi chốc chốc lại khiêu khích bằng cách bóp méo lời nói của người ta. Có ôm mấy tools rồi đum đum hay khoe là bạn bè của những ai đó làm việc cho hẳn MS cơ thì cũng có những lúc sai. Đừng vì người ta chỉ ra cái sai của mình rồi cay cú. Mà tự chứng tỏ mình thôi. Đừng nên "sưởi ấm trong ánh hào quang của người khác (bạn bè)"
 
Lần chỉnh sửa cuối:
Upvote 0
Ông nhảm, con nít quá ông ơi. Với tập tin Unicode, mọi phần mềm phải ghi BOM hết. Cái notepad, TextStream, mọi phần mềm đều phải ghi hết, đó là tiêu chuẩn phải theo. Ông kg ghi thì la làng, hậm hực, cay cú khi tôi chỉ ra cái sai của ông, còn nói Wordpad kg thông minh, người dùng phải biết chọn, cố tình chống chế cho cái sai của mình.
Trình độ ông đáng xách dép cho team Wordpad chưa, với mấy trò API nhảm nhí, con nít đó.
Và nói cho rõ nhé, mười mấy năm trước nhân viên MS đã liên hệ mời tôi qua làm cho team Windows Defender lúc ấy mới thành lập nhé, chả phải tôi dựa hơi ai nhé
Đúng là ếch ngồi đáy giếng, cứ tưởng mình là chúa
 
Upvote 0
Phải ghi hay không ghi BOM là một chuyện. Nhưng nói là không có BOM thì tập tin không là unicode là sai rõ ràng. Mọi phần mềm đều nên ghi đúng định dạng cho tập tin mà nó tạo ra. Tức Paint thì phải ghi định dạng BMP, JPG, PNG .... notepad thì luôn ghi định dạng là TXT và có BOM. Nhưng không có nghĩa là tôi tạo tập tin TXT nhưng ghi ở định dạng DLL thì nó không là văn bản nữa mà là thư viện liên kết động. Cùn thì nói thế nào cũng được. Bó tay toàn tập. Tập tin có định dạng đúng thì dễ nhận dạng nhưng định dạng không quyết định. Quyết định là cái lõi. Đổi tên tập tin hichic.txt thành hichic.dll thì lõi vẫn là tập tin văn bản.

Nếu tôi không ghi BOM thì cùng lắm chỉ có thể nói là tôi không chuyên nghiệp. Còn nếu nói là không ghi BOM thì tập tin không còn là unicode nữa thì là nói cùn. Không con nít gì ở đây, mà là cùn.

Có bao giờ tôi nói trình của team WordPad kém đâu? Nhưng nếu tập tin không có BOM mà notepad, Word, FileSystemObject mở được mà WordPad không mở được thì WordPad kém ở chỗ này. Nói WordPad kém ở chỗ này đâu có nghĩa là nói là team WordPad kém? MS cũng có nhiều lỗi, nhiều người chỉ ra và thậm chí MS cũng thừa nhận. Nhưng chỉ ra lỗi đâu có nghĩa là cho là team MS kém? Lý sự cùn không thể cùn hơn.

Giỏi hay kém thì cứ giúp người khác thôi. Khoe khoang làm gì. Một thằng vô danh tiểu tốt ngồi ở Việt Nam ôm mấy tools đum đum rồi "chửi" VBA, chửi MS, chửi cả thiên hạ. Muốn khoe thì giới thiệu hẳn họ tên ra để người khác người ta kiểm chứng. Lúc đó sẽ có một rừng tay vỗ. Còn kiểu "nhanh hơn 80% ...", "trên thế giới chưa ai làm"... Nhưng ngồi ở Việt Nam thì làm sao biết thế giới thế nào. Họ chưa làm được cái XYZ tools nào đó phải chăng họ đi con đường khác, họ có tools mạnh hơn, qui mô lớn hơn nhiều? Đừng vì không thấy tools nào như của mình mà vỗ ngực là "Trên thế giới chưa ai làm được". Ở Ba Lan chả ai dùng những tools quảng cáo trên GPE. Chả nhẽ họ không làm được, chả nhẽ họ phải làm thủ công, phải cực khổ? Hay là người ta có tools tốt hơn nhiều, qui mô hơn nhiều? Mà đấy là Ba Lan. Còn các cường quốc khác thì sao? Họ không cũng không có các tools được quảng cáo trên GPE. Họ cũng kém nhỉ?
Nói chuyện đúng sai, góp ý thì luôn sẵn sàng. Nhưng gặp những thằng cùn thì chỉ còn nước bó tay.

Ta, một người không kiếm cơm bằng lập trình, nếu không biết thật nhiều thì có gì đáng xấu hổ. Nhưng một thằng tự vỗ ngực là dân lập trình chuyên nghiệm mà nói bừa về unicode, về "băm" và Dictionary thì đáng hổ thẹn.

Ta có chỗ nào tưởng là chúa không đấy? Chỉ ra, trích ra xem nào. Hay chỉ nói bừa? Có chỗ nào ta nói ta là ông này ông nọ, từng làm ở đây ở kia, có những bạn làm ở chỗ này chỗ kia, từng thư từ qua lại với ông "lớn" XYZ nổi tiếng trên thế giới? Đừng nói bừa mà hãy trích ra nếu ta có nói. Đừng nghĩ mình đã từng có những lời nói đó rồi lại nhầm sang người khác. Chuyện ta thấy chỗ sai ta chỉ ra thôi. Đó đâu có là tự xưng chúa? Cùn không thể cùn hơn.
 
Upvote 0
Em không rõ nội dung các vấn đề hai anh đang tranh luận từ đâu hay đúng sai rõ ràng thế nào nhưng thấy nội dung trao đổi hai bên làm những người biết các anh trên GPE này không vui và chắc rằng hai anh cũng thực sự không thoải mái chút nào. Xét cho cùng hai anh hay phần lớn mọi người tham gia tích cực trên GPE là để có chút niềm vui, giao lưu, chia sẻ, làm những cái mình thích là chính. Vậy nên mong các bác cố gắng bỏ qua những cái đã xảy ra, không xem hay dùng lại những nội dung cũ thì sẽ không thêm cằng thẳng cho nhau nữa. Ai cũng có cái tốt, có thể ai cũng từng vô tình...
Trên GPE này em không biết nhiều người nhưng biết cả hai anh qua một số bài viết hay thông tin nho nhỏ nên tôn trọng các anh, cá nhân em chỉ muốn tất cả nhẹ nhõm và vui vẻ hơn thôi.
 
Upvote 0
Em không rõ nội dung các vấn đề hai anh đang tranh luận từ đâu hay đúng sai rõ ràng thế nào nhưng thấy nội dung trao đổi hai bên làm những người biết các anh trên GPE này không vui và chắc rằng hai anh cũng thực sự không thoải mái chút nào. Xét cho cùng hai anh hay phần lớn mọi người tham gia tích cực trên GPE là để có chút niềm vui, giao lưu, chia sẻ, làm những cái mình thích là chính. Vậy nên mong các bác cố gắng bỏ qua những cái đã xảy ra, không xem hay dùng lại những nội dung cũ thì sẽ không thêm cằng thẳng cho nhau nữa. Ai cũng có cái tốt, có thể ai cũng từng vô tình...
Trên GPE này em không biết nhiều người nhưng biết cả hai anh qua một số bài viết hay thông tin nho nhỏ nên tôn trọng các anh, cá nhân em chỉ muốn tất cả nhẹ nhõm và vui vẻ hơn thôi.
Bạn thấy một loạt bài trong các chủ đề mà bạn và kieu manh quan tâm gần đây tôi không hề tham gia. Chuyện ai tham gia là quyền của họ. Nhưng vì cái sai mà tôi chỉ ra để cay cú và thỉnh thoảng diễu cợt thì không chấp nhận được. Mà đây còn là bóp méo sự thật.

Sự thật là chưa bao giờ tôi nói là Value2 không nhanh hơn Value. Chưa bao giờ tôi nói là tốc độ không quan trọng. Tôi chỉ nói là nếu trong trường hợp nào đó sự nhanh hơn (tổng thể) ở mức ms thì tôi không quan tâm. Và với dân kế toán thì sự nhanh chậm (tổng thể) ở cỡ ms cũng không quan trọng. Thế nhưng người ta lại bóp méo lời tôi và cho rằng "ai đó cho rằng tốc độ là không quan trọng".

Tôi dùng Value, bạn dùng Value2. Bạn có thể cho là code bạn chạy nhanh hơn. Nhưng bạn không thể cho là dùng Value là SAI. Thế mà người ta cho là dùng Value là sai đấy.

Sai đúng là chuyện có thể sảy ra cả với người giỏi vì không ai biết hết tất cả. Nhưng chỉ vì người khác chỉ ra cái sai mà cay cú, mà chốc chốc lại diễu cợt bằng cách bóp méo lời của người ta thì bó tay toàn tập.
 
Upvote 0
Ông chỉ được cái nói dài, nói dai, nói viết hưu viết vượn. Tiêu chuẩn người ta quy định nội dung tập tin ở định dạng Unicode, phải có BOM, ông đã không làm đúng mà còn to mồm cãi chày cãi chối, ngụy biện, chữi người này người kia, đòi đuổi việc nhảm nhí. Ông lớn tuổi mà không thấy xấu hổ à, còn chơi cái trò tiểu nhân đi canh đi rình người ta từng chút để bắt lỗi bắt phải trở lại từng câu chữ. Ông không thấy ông tiểu nhân lắm à. Cái tôi ông cao quá à, hay ông trước giờ nghĩ mình là chúa của GPE, giờ ai động tới ông là ông nhảy dựng lên chửi bới ???
Ông tự xem lại mình đi, trình độ ông chỉ khè ở GPE này người ta sợ thôi. Người biết họ cười vào mũi ông đấy.
Bài đã được tự động gộp:

Còn về định dạng, format của file, ông biết được cái gì mà to mồm ? Tôi làm bên lãnh vực forensics, file format nào mà tôi chưa đụng qua, nhìn nội dung file tôi còn đọc được header file, loại file là gì, như thế nào, thì ông đừng có đánh tráo khái niệm dll hay không qua đây cho người không biết sợ. Tôi hỏi ông PE file format là gì ông biết không mà to mồm, MZ là gì, PE là gì... tại sao có những chữ này, ông biết không ?
Bài đã được tự động gộp:

Chỉ ba cái trò VBA với API vớ vẫn, con nít mà đòi đi khè, hù dọa thiên hạ, bắt thiên hạ phải phục nghe lời mình, ông đúng là không biết trời cao đất rộng, con nít đó.
Lớn tuổi rồi,đằm tính,tránh thị phi khẩu nghiệp lạiđi.
 
Lần chỉnh sửa cuối:
Upvote 0
Chủ thớt tạo một tập tin mà lõi chắc chắn không là unicode chuẩn. Vị bác học phán: do thiếu BOM. Vậy batman1 lặp y nguyên code của chủ thớt nhưng thêm BOM để chứng minh. Kết cục văn bản vẫn không là unicode chuẩn. Trong khi đó batman1 tạo tập tin nhưng không có BOM, khi mở bằng notepad Word, FilerSystemObject thì ra unicode chuẩn.

Đã nói đi nói lại mà không hiểu à. Lõi mà không là unicode chuẩn thì có thêm 1000 BOM cũng vô ích, không thể là unicode chuẩn được. Còn nếu lõi là unicode chuẩn thì không có BOM nó vẫn chuẩn. Sai sót là chuyện bình thường, nhưng nếu sai mà còn cùn nữa thì bó chân bó tay.

Ở đời có đứa chủ động diễu cợt người khác nhưng không đưa ra được lý do gì thuyết phục nên toàn nói không có trích lục. Không biết thế nào là unicode, về băm + Dictionary thì ngồi im nghe người khác nói. Đã dốt lại còn tự ái.

Trình độ ai thế nào chưa bàn. Nhưng ai từng khoe khoang đấy? Diễn thì cứ diễn thôi nhưng đừng trách khán giả là ít hưởng ứng, là không có một rừng tay vỗ, "tôi chán quá tôi sắp rời khỏi đây". Tự biên tự diễn đi. Ai là kẻ khoe khoang cứ đọc sẽ biết.

ThangCuAnh làm ở lĩnh vực nào ta không quan tâm, ThangCuAnh ạ. Nhưng ThangCuAnh không phải ăn hết trí khôn thiên hạ. Và khi ThangCuAnh sai, nói nhảm nhí thì ta vạch mặt ThangCuAnh. Thế thôi. ThangCuAnh có thể nói này kia nhưng ThangCuAnh chưa bắt bẻ được ta chỗ nào. Còn ta đã chỉ cho ThangCuAnh mấy cái sai của ThangCuAnh rồi. Cứ đọc mấy bài đó thì biết, cần quái gì phải biết ThangCuAnh là ai. ThangCuAnh nói biết cái này, cái kia. Nhưng đến lúc lâm trận ta đã chỉ cho ThangCuAnh những chỗ ThangCuAnh nói bậy. Đừng mang cái Format PE ra dọa người khác. Nhất là khi hầu hết các format có thể tìm đọc trên google. Mà ta nhắc lại: ta không kiếm cơm bằng lập trình . ThangCuAnhy tự khoe là lập trình kiếm cơm, 24/24 nghiên cứu ngày đêm, hàng chục năm mà còn không biết những cái sơ đẳng. ThangCuAnh mới nên hổ thẹn.



Không biết cái gì đó không thuộc công việc của mình không phải hổ thẹn. Thậm chí không biết cái gì đó về chuyên môn của mình cũng không có gì phải hổ thẹn, vì bác học cũng có khi nhầm lẫn. Nhưng khi ta nhầm cái gì mà có người nhắc thì ta chấp nhận. Còn đã không biết mà có người chỉ ra lại còn cãi cùn như ThangCuAnh thì mới đáng nói. Ta khác ThangCuAnh ở đó ThangCuAnh ạ. Không phải hổ thẹn vì mình có gì đó không biết. Hổ thẹn khi biết sai mà vẫn cãi cùn. Hết thuốc chữa.
Giỏi thì thi thố với các đồng nghiệp của mình. Đem mình đi so sánh với cô kế toán, với ông chơi lập trình thay game chỉ để tiêu khiển, với ông giám đốc kinh doanh thể cào thì quá hạ thấp mình rồi. Về mà thi với đồng nghiệp đi.

Ai bắt ai phải theo mình thì đọc về Value và Value2 sẽ rõ. Ai ép người khác phải làm theo mình cũng sẽ rõ. Nói không có bằng chứng thì ai cũng nói được. Ta có bằng chứng là ThangCuAnh không biết những cái sơ đẳng. ThangCuAnh chỉ học gạo, học lệch, cần cù mà thôi.

ThangCuAnh không thấy là hàng tuần qua ta tránh ThangCuAnh vì không muốn dây dưa với ThangCuAnh? Nhưng ThangCuAnh cho là mình có quyền diễu cợt và bóp méo lời ta? Và khi ta phản ứng thì "thị phi khẩu nghiệp lạiđi."? Mọi việc bắt đầu từ sự cay cú của ThangCuAnh mà. Khiêu khích người ta nhưng lại muốn người ta im lặng? Có vấn đề gì không đấy.
 
Lần chỉnh sửa cuối:
Upvote 0
Nói tới nói lui ông vẫn chối cái thiếu BOM của ông. Cho dù ruột file là Unicode, mà thiếu BOM (0xFF 0xFE) ở đầu, nhiều chương trình text editor vẫn mỡ sai, không được, vì ông không làm theo tiêu chuẩn standard của người ta đã quy định. Điển hình trong Windows thôi, WordPad mở sai đấy. Ông to mồm nói WordPad không thông minh. Nó không thông minh hay ông làm sai. Nó chưa chửi ông là may đó, ở đó còn cãi chày cãi chối, ngụy biện.
Bao thằng viết Text Editor khác nó cũng sẽ chữi ông đấy.Đã sai mà còn chày cối.
Ông nên nhớ điều này, 100% chương trình hiện nay, khi user yêu cầu lưu file với Unicode format, nó phải và luôn luôn ghi BOM ở đầu. Ông đừng chửi tụi nó ngu nhé. Cả cái TextStream mà ông đang dùng nó cũng ghi BOM đấy, ông không mở = Hex Editor ra xem à. Cái topic chú ý về TextStream đấy, hay ông thấy rồi giả lơ ???
Còn cái vụ rút gọn số, ngay từ đầu chủ thớt đã nói là rút gọn thành 4 số, tôi đã ép qua hex để biểu diển cho 65535 trường hợp. Cái sơ đẵng này ai mà không biết. Và tôi đã nói rõ là với nhu cầu của chủ thớt hy vọng sẽ không trùng. Chứ nếu ngay từ đầu chủ thớt bên đó nói 6 chữ số thì đố ông ngồi đó mà ráng mày mò tìm cho ra cái trùng để cố bôi bác tôi. Thế cuối cùng cái Base36 đó thì sao, 6 số đó, trùng không. Sao im ru vậy. Tui dùng Crc32 cũng được thì sao ? Chỉ giỏi canh rình mò cái sai của người khác để ngụy biện, cãi chày cãi chối, bào chữa.
Đúng là thù dai, thù vặt, con nít quá ông ơi, ông bất mãn à.
 
Lần chỉnh sửa cuối:
Upvote 0
@@
em xin có chút ý kiến về vấn đề của bác chủ thớt !
tức là macro của anh í có 1 yêu cầu gửi đến 1 trang web nào đó , nhận yêu cầu về và ghi kết quả vào Excel ,
thời gian mất là 7 giây , vâng , chỉ 7 giây thôi , cứ cho excel tính toán hết 1 giây đi , thì còn 6 giây !
nhưng mình thắc mắc là 6 giây này là hàm xử lý web nó dừng lại ngay chỗ đó để xử lý , hay mình đợi 6 giây rồi nhấn nút tiếp theo nhỉ ?
tức là nhấn vào nút thứ nhất để nó thiết lập môi trường web , và gửi yêu cầu đến web , xong mình đợi 6 giây cho nó xử lý (1)
hay là hàm xử lý web nó mất 6 giây để xử lý , trong lúc đó mình không làm gì được (2)

nhiều khả năng là (1) vì thế bạn mới nghĩ ra cái vụ 2 hàm lồng nhau ^^
tức là trong lúc chờ cho yêu cầu thứ nhất nó thiết lập môi trường , thì tranh thủ gọi yêu cầu thứ 2 ,3,4,5
xong đủ 6 giây thì lên web lấy kết quả thứ nhất ghi vào record thứ nhất !
nếu vậy thì tạo hàm lồng nhau cũng được !
tất cả chỉ cần cho nó vào 1 vòng lặp lớn , lặp đi lặp lại ,
khai báo 8000 đối tượng kết nối web , mỗi lần lặp lại thì cập nhật thời gian của từng đối tượng web đủ 6 giây thì lấy kết quả !
nhưng vì ta dựa trên công cụ web có sẵn thì cách này giống như mở 8000 trình duyệt 1 lúc vậy !

còn cách nữa áp dụng cho cả (1) và (2) , đó là tạo ra 100 file Excel chạy 1 lúc , gọi 100 file Excel chạy song song , mỗi file gánh 80 code
vậy thì cũng là có đa tiểu trình vậy , kaka

còn cách nữa là sắm 100 cái máy ,
cách này thì đảm bảo thời gian giảm xuống 100 lần , nhưng coi chừng server web bị DDOS liệt mất ^^
các bạn thảo luận thêm nha !
 
Upvote 0
.... Em chưa thấy khách hàng nào hay những người em biết là dân chuyên làm Excel lại nói tốc độ không quan trọng cả. ...
Xin phép nói về lời tuyên bố "chưa thấy" của bạn.
Khi bạn nói như vậy thì phải chăng ý bạn muốn trình bày rằng "trong lúc đặt hàng, khách hàng có yêu cầu sản phẩm phải chạy nhanh; và yêu cầu này được xếp ngang hoặc cao hơn các yêu cầu khác như độ tin cậy, khả năng bảo trì, chi phí huấn luyện, bảo trì, ..."
Nếu đúng thế thì cái giới chuyên giao dịch mua sản phẩm của bạn có thể:
1. cho rằng có thể đòi hỏi được tốc độ thì tội gì không đòi hỏi, HOẶC
2. chả biết cách đo các tính chất khác của phần mềm cho nên phải đòi tốc độ thôi. Bởi vì tốc độ là cái đo dễ nhất.

"Thấy" hay không là do môi trường thôi. Ở mục "Lập Trình" này bà con chỉ chú ý vào cái mớ xảo thuật của người lập trình cho nên đâu có màng gì đến chuyện tiếng Anh có chuẩn hay không. Gõ một cái tiêu đề mà cắt đi được 3 hay 4 ký tự thì cũng nhanh được khoảng 0,5 giây.
 
Upvote 0
Cho dù ruột file là Unicode, mà thiếu BOM (0xFF 0xFE) ở đầu, nhiều chương trình text editor vẫn mỡ sai, không được, vì ông không làm theo tiêu chuẩn standard của người ta đã quy định.
Nhưng thằng notepad, thằng Word, thằng FileSystemObject mở được. Thế mà ThangCuAnh dùng Word mà không biết mở thì là gì? Là không biết mở chứ còn gì. Tự vỗ ngực là lập trình kiếm cơm mà không biết mở tập tin trong Word lại còn cùn. Ta không nói tới những chương trình không biết mở tập tin không có BOM. Ta nói tới chương trình biết mở là Word. Nhưng ThangCuAnh dùng Word mà không biết mở. Nói cụ thể về Word thôi. Dữ liệu không do mình tạo ra thì nhiều khi không hẳn hoàn hảo. Làm thằng lập trình kiếm cơm mà không biết xử lý những trường hợp đặc biệt thì tự xấu hổ mà chui xuống đất thôi. Nếu notepad mở được, Word mở được, FileSystemObject mở được mà Wordpad không mở được thì rõ ràng trong vấn đề cụ thể này Wordpad kém 3 anh kia rồi. Còn cùn gì nữa. Ra cuộc thi có bài không đúng "tủ" nhưng anh A, B, C làm được còn anh D học tủ, gặp bài khác tủ thì bó tay thì là gì? Là kém anh A B, C chứ còn gì nữa.
Làm thằng lập trình kiếm cơm mà khi gặp tập tin không có BOM thì đầu hàng vì không biết mở, không biết xử lý thì đừng cùn. Vì trong cuộc sống không phải cái gì cũng theo khuôn, theo mẫu. Người có năng lực là người biết xử lý những trườngn hợp đa dạng của cuộc sống. Vì cuộc sống có muôn vàn tình huống không như trong sách. Chính vì thế có những thằng học lý thuyết có thể giỏi nhưng ra cuộc sống, vào thực tế thì rất kém. Ôm mớ lý thuyết thì khi gặp thực tế không hoàn hảo như lý thuyết thì bó tay như ThangCuAnh.
Bao thằng viết Text Editor khác nó cũng sẽ chữi ông đấy
Không thằng nào có quyền chửi ta. Mà cứ cho là nó chửi đi nhưng việc chúng phải xử lý tập tin không hoàn hảo thì dù chúng chửi nhưng chúng vẫn cắn răng xử lý tập tin không hoàn hảo đó, điển hình là thằng Word. Vì chúng biết xử lý, và vì chúng phải làm vì bát cơm. Còn ta nói về vấn đề rất cụ thể. ThangCuAnh cũng sẽ chửi nhưng ThangCuAnh không cắn răng xử lý. Vì đơn giản ThangCuAnh không biết xử lý.
Tóm lại ta không bàn tới chuyện tập tin không có BOM là hoàn hảo hay không. Cũng không bàn chuyện liệu có thằng nào chửi hay không. Nhưng sự thật là thằng notepad, thằng Word, thằng FileSystemObject mở được. Có thể chúng chửi nhưng chúng mở được. Còn ThangCuAnh chửi nhưng ThangCuAnh không biết mở. Làm thằng lập trình kiếm cơm mà thế thì kiến thức mảng này quá yếu. Đọc câu mà ThangCuAnh cho là thiếu BOM thì tập tin không là unicode thì đủ biết kiến thức của kẻ vỗ ngực tự xưng lập trình kiếm cơm nó có những lỗ hổng to như thế nào.
Cãi chầy cối làm gì. Ta không bàn chuyện
"00% chương trình hiện nay, khi user yêu cầu lưu file với Unicode format, nó phải và luôn luôn ghi BOM ở đầu".
Ta nói về trường hợp phần mềm do ThangCuAnh viết có việc: sau khi user chọn tập tin thì nó đọc vào và xử lý. Khi user chọn 1 tập tin lấy từ "cuộc sống" và không có BOM thì chương trình của ThangCuAnh bó tay. Đừng nói về những chương trình khác. Ta nói về tình huống cụ thể mà chương trình của ThangCuAnh không làm được vì ThangCuAnh không biết mở.
"TextStream mà ông đang dùng nó cũng ghi BOM đấy, "
Thì hoan hô nó. Và hoan hô nó vì dù nó làm chuẩn nhưng khi gặp tập tin không hoàn hảo nó vẫn xử lý được. Còn ThangCuAnh gặp tập tin không hoàn hảo thì bó tay. Đã dốt lại còn cùn. Ta nói về người cụ thể là ThangCuAnh. Ta nói về việc cụ thể là mở tập tin không có BOM. Ta, batman1, dùng notepad, Word, FileSystemObject và mở được nhưng ThangCuAnh dùng chúng thì không biết mở. Ta nói về việc cụ thể này nên đừng viết lạc đề nữa nhé.
Sự việc không biết rõ "băm" + Dictionary mà nói bừa thì cứ đọc chủ đề sẽ biết. Lời khuyên: nếu cái gì không biết rõ thì đừng nói. Nếu không biết rõ mà cứ nói thì nếu nói sai nên chấp nhận. Cái gì không biết mà vẫn phát biểu rồi khi có người chỉ cho cái sai thì cùn là không nên.
Ai chầy cối, ai cùn tthì đọc là biết chứ có phải nói bừa được đâu.



Ai cũng có những sai sót. Đó là chuyện thường tình. Con người mà. Nhưng khi sai mà có người chỉ ra lại chơi bài cùn, cay cú thì chỉ có ThangCuAnh.
Đúng là thù dai, thù vặt, con nít quá ông ơi, ông bất mãn à.
Đúng là vừa ăn cướp vừa la làng.

Hãy đọc lại nếu quên thì biết nguyên nhân từ đâu. Nói diễu, bóp méo lời nói của người khác, khiêu khích mà cho là người ta không có quyền phản ứng? Trơ tráo đến thế là cùng.
 
Upvote 0

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

Back
Top Bottom