// 1. Sự chậm trễ thủ tục Độ trễ(dwMilliseconds. longint); // 2. Sự chậm trễ. với API thủ tục Trễ (msec. longint); { // 3. Ngủ { Ngủ (dwMilli giây. Từ); // 4. Độ trễ kết hợp { thủ tục PauseFunc(chậm trễ. DWORD); // 5. tiết kiệm tài nguyên hơn thủ tục Trễ (Mili giây. số nguyên); Xin chào, Tôi đã phát triển một chương trình Turbo Pascal DOS vào năm 1992. Phiên bản của TP là 4. 5 Bảy năm sau, trên chiếc Pentium II 266 của tôi, bộ đếm của tôi hoạt động quá nhanh. tôi vẫn Cảm tạ marc tôi đang tìm cách làm cho chương trình của tôi phải đợi trước khi tiếp tục sang dòng mã tiếp theo. tôi biết một chức năng tồn tại, nó thậm chí là một chức năng tôi đã sử dụng trước đây. nhưng kể từ đó tôi đã xóa cả chương trình mà tôi đã sử dụng và quên tất cả về nó mục đích của tôi là sử dụng các vòng lặp để thực hiện thay đổi lặp lại cho một thành phần, nhưng với thời gian trước mỗi lần lặp lại để người dùng có thể thấy hiệu quả. tôi hy vọng điều này có ý nghĩa tôi đã tìm kiếm sơ qua diễn đàn và không tìm thấy cái này được liệt kê ở đâu khác nhưng tôi xin lỗi trước nếu tìm kiếm của tôi không đủ kỹ lưỡng Xin lưu ý rằng việc chuyển sang ngôn ngữ khác khi đọc một bài đăng sẽ không đưa bạn đến cùng một bài đăng, bằng tiếng Hà Lan, vì không có bản dịch cho bài đăng đó Đã phát hiện chặn quảng cáo Vui lòng xem xét việc tắt trình chặn quảng cáo của bạn cho trang web của chúng tôi Delphi, Lazarus, Pascal miễn phí Vì vậy, tôi đã phải thêm một sự chậm trễ (nói tốt hơn. sleep) trong mã của tôi, để sau khi hiển thị thông báo trạng thái tạm thời, sẽ trở lại thông báo trước đó. Giống như một tiếng bíp ngắn hiển thị thông báo và sau đó quay lại nơi chúng tôi đã dừng lại Bây giờ chức năng sleep() có một vấn đề nhỏ. nó hoàn toàn khóa ứng dụng của bạn (chuột Zzz hoặc bóng quay) và người dùng thực sự không thể làm gì Với một thủ thuật nhỏ, bạn có thể làm điều này tốt hơn; procedure MyDelay(DelayTickCount: DWORD); Vì vậy, chức năng này KHÔNG khóa giao diện người dùng của bạn, nhưng sẽ đợi các bước tiếp theo trong mili giây "DelayTickCount" Vì các chức năng trước sử dụng GetTickCount, chức năng này có vấn đề và GetTickCount64 có vẻ là lựa chọn tốt hơn, bạn cũng có thể muốn xem xét giải pháp thay thế bên dưới, sử dụng TDateTime thay vào đó, nơi chúng tôi có thể đặt độ trễ tính bằng mili giây (1000=1 giây) |