自制提词器

有些时候背稿子背不下来,家里又没有提词器,我就自己写了一个提词器;

主要结构是用C++写的

#include <iostream>
#include <Windows.h>
#include <iomanip>
#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
#include <string>
#include <thread>
#include <chrono>

void SetSize(unsigned uCol, unsigned uLine)
{
	char cmd[64];
	sprintf(cmd,"mode con cols=%d lines=%d", uCol, uLine);
	system(cmd);
}
void scrollTeleprompter(const std::string& text, size_t delay_ms) {
    for (char c : text) {
        std::cout << c;
        std::flush(std::cout); // 刷新输出缓冲区
        std::this_thread::sleep_for(std::chrono::milliseconds(delay_ms)); // 等待一段时间
    }
    std::cout << std::endl; // 打印完所有字符后换行
}
int main() {
	SetSize(30, 10);  // 设置控制台长宽 
	std::cout << "请输入你要提示的内容:\n\n";
	std::string str;
	std::cin >> str;
	sleep(1);  // 等待1秒 
	std::cout << "\n\n设置完成!\n\n";
	sleep(1);  // 等待1秒 
	std::cout << "准备!\n\n";
	sleep(1);  // 等待1秒 
	std::cout << "3\n\n";
	sleep(1);  // 等待1秒 
	std::cout << "2\n\n";
	sleep(1);  // 等待1秒 
	std::cout << "1\n\n";
	sleep(1);  // 等待1秒 
	std::cout << "开始!\n\n\n";
	sleep(0.6);  // 等待0.6秒
	
	// 获取当前时间(开始时间)  
    auto start = std::chrono::high_resolution_clock::now();  
    
    std::string text = str;
    size_t delay = 120;  // 设置每个字符之间的延迟为120毫秒
    scrollTeleprompter(text, delay);  // 调用提词器函数
  	
  	// 获取当前时间(结束时间)  
    auto end = std::chrono::high_resolution_clock::now();  
  
    // 计算时间差,并转换为秒(double类型)  
    auto duration_seconds = std::chrono::duration_cast<std::chrono::duration<double>>(end - start);  
  	sleep(2);  // 等待2秒 
    // 输出结果,设置输出流的小数点后的位数为4  
    std::cout << std::fixed << std::setprecision(4);  
    std::cout << "\n\n所用时间为: " << duration_seconds.count() << " 秒" << std::endl;  
  
  	sleep(1);  // 等待1秒 
  	
	std::cout << "\n\n已结束!\n\n";
	system("pause");
}

安装包是用inno setup做的

; 脚本由 Inno Setup 脚本向导 生成!
; 有关创建 Inno Setup 脚本文件的详细资料请查阅帮助文档!

#define MyAppName "提词器V1.0"
#define MyAppVersion "1.0"
#define MyAppPublisher "yhs"
#define MyAppExeName "提词器V1.0.exe"
#define MyAppAssocName MyAppName + " 文件"
#define MyAppAssocExt ".myp"
#define MyAppAssocKey StringChange(MyAppAssocName, " ", "") + MyAppAssocExt

[Setup]
; 注: AppId的值为单独标识该应用程序。
; 不要为其他安装程序使用相同的AppId值。
; (若要生成新的 GUID,可在菜单中点击 "工具|生成 GUID"。)
AppId={{29E42BC9-417D-4432-BB93-7D8ACD7D309C}
AppName={#MyAppName}
AppVersion={#MyAppVersion}
;AppVerName={#MyAppName} {#MyAppVersion}
AppPublisher={#MyAppPublisher}
DefaultDirName={autopf}\{#MyAppName}
ChangesAssociations=yes
DisableProgramGroupPage=yes
; 以下行取消注释,以在非管理安装模式下运行(仅为当前用户安装)。
;PrivilegesRequired=lowest
OutputDir=C:\Program Files (x86)\提词器V1.0
OutputBaseFilename=提词器V1.0
Compression=lzma
SolidCompression=yes
WizardStyle=modern

[Languages]
Name: "chinesesimp"; MessagesFile: "compiler:Default.isl"

[Tasks]
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked

[Files]
Source: "C:\Users\Administrator\Desktop\提词器V1.0\bin\{#MyAppExeName}"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\Administrator\Desktop\提词器V1.0\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
; 注意: 不要在任何共享系统文件上使用“Flags: ignoreversion”

[Registry]
Root: HKA; Subkey: "Software\Classes\{#MyAppAssocExt}\OpenWithProgids"; ValueType: string; ValueName: "{#MyAppAssocKey}"; ValueData: ""; Flags: uninsdeletevalue
Root: HKA; Subkey: "Software\Classes\{#MyAppAssocKey}"; ValueType: string; ValueName: ""; ValueData: "{#MyAppAssocName}"; Flags: uninsdeletekey
Root: HKA; Subkey: "Software\Classes\{#MyAppAssocKey}\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#MyAppExeName},0"
Root: HKA; Subkey: "Software\Classes\{#MyAppAssocKey}\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#MyAppExeName}"" ""%1"""
Root: HKA; Subkey: "Software\Classes\Applications\{#MyAppExeName}\SupportedTypes"; ValueType: string; ValueName: ".myp"; ValueData: ""

[Icons]
Name: "{autoprograms}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"
Name: "{autodesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon

[Run]
Filename: "{app}\{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}"; Flags: nowait postinstall skipifsilent

 现在还是1.0版本,以后会继续更新!!!

安装包我放百度网盘了,大家可以去看看~

链接: https://pan.baidu.com/s/1qGKF-Io8dN3Qx2_B_HHrQA

提取码: ny7z 

教程文件里都有了,我这里给大家发一下吧

1、打开“提词器V1.0”快捷方式进入控制台;
2、鼠标右键控制台上方白色区域;
3、鼠标右键后点击“属性(P)”;
4、点击“字体”选项;
5、将“大小(S)”推荐更改72(根据自己需求调整);
6、点击确认即可;
7、按照控制台指示继续操作。
注:每次将文件移动到另一路径时都要调整字体大小

大家如果有兴趣可以去用用看,记得把体验写道评论区,这样我才能出2.0版本,谢谢!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值