65.9K
CodeProject 正在变化。 阅读更多。
Home

押韵助手

starIconstarIconstarIconstarIcon
emptyStarIcon
starIcon

4.29/5 (4投票s)

2015年2月13日

CPOL

2分钟阅读

viewsIcon

17191

downloadIcon

316

一个帮助查找押韵词的库。

图 1。 “list” 和什么押韵?啊,是的,“missed”。我的全新原创歌剧进展顺利了…

引言

这是我参加 Code Project 圣 Валентин 节编程比赛的作品。

等等,没有比赛?好吧,应该有。

无论如何,如果你是一位苦恼的作词人,想写一首获得格莱美奖的歌曲,或者你要写一首诗来在圣 Валентин 节求爱,你可能需要进行大量的网络搜索来寻找押韵词。这些项目可以帮助你。

代码

该解决方案分为两个项目:RhymeLib.dllPoetsFriend.exe

Rhymelib 通过 RhymeBrain.com 的押韵网络服务来获取给定单词的押韵词。调用静态方法 RhymingWords.GetRhymes(string) 来获取一个新词会触发对网络服务的 HTTP 请求,该请求会返回包含与你的单词押韵的单词列表(在不同程度的精确度上)的 JSON。你可以在 这里 了解有关网络服务的更多信息。

RhymedWord 是一个用于解析 JSON 并包含从网络服务返回的押韵词属性的类。它解析所有返回的属性,尽管应用程序目前只关心单词及其分数。

在解析 HTTP 结果时,应用程序会将押韵词缓存到本地文本文件中,以防止后续的网络请求。我认为不太可能在字典中添加与你搜索过的单词押韵的新单词,因此缓存似乎是一种安全的策略。对 RhymingWords.GetRhymes(string) 的调用始终会在向网络服务发出请求之前检查本地结果。

Rhymelib 还包含一个扩展了常规 Textbox 的控件,称为 RhymeAssistTextbox。此文本框使其自身变为多行,同时包含两个滚动条,并包含管理其上下文菜单的代码。当你高亮显示一个单词后右键单击时,它会通过 RhymingWords.GetRhymes(string) 创建一个押韵词的 ContextMenu。如果用户选择菜单项之一,它将被放置在剪贴板上,以便粘贴到你的作品中。

PoetsFriend.exe 是围绕 RhymeAssistTextbox 的一个精简的 WinForm 包装器,它添加了打开和保存文档文本文件的功能,调整字体并呈现“关于”窗体以满足网络服务的许可要求。

结论

如果你想让你的诗歌不那么像沃贡人的诗歌,那么这些就是你应该使用的工具。如果你实际上用这个应用程序编写的歌曲获得了格莱美奖,你必须在你的获奖感言中提到我。

历史

  • 2015 年 2 月 13 日 - 初始修订版
© . All rights reserved.