毕业设计的代码
来源:互联网 发布:incites数据库 编辑:程序博客网 时间:2024/06/05 18:19
1.main func initEverydayString() {// 取得系统时间 dateFormatter.dateFormat = "yyyy-MM-dd" let dayStr = dateFormatter.stringFromDate(date)// 发送GET请求,得到“每日一句”内容并增加到UI中 let param: Dictionary = ["date" : dayStr] Alamofire.request(.GET, urlEverydayAPI, parameters: param).responseJSON { response in var tmp = response.result.value?.objectForKey("note") var cnString = String(tmp) tmp = response.result.value?.objectForKey("content") var enString = String(tmp) if (cnString != "nil"){ cnString = cnString.substringFromIndex(cnString.startIndex.advancedBy(9)) cnString = cnString.substringToIndex(cnString.endIndex.advancedBy(-1)) } if (enString != "nil"){ enString = enString.substringFromIndex(enString.startIndex.advancedBy(9)) enString = enString.substringToIndex(enString.endIndex.advancedBy(-1)) } self.cnEverydayString.lineBreakMode = NSLineBreakMode.ByWordWrapping self.cnEverydayString.numberOfLines = 0 self.enEverydayString.lineBreakMode = NSLineBreakMode.ByWordWrapping self.enEverydayString.numberOfLines = 0 self.cnEverydayString.text = cnString self.enEverydayString.text = enString } } func initDB() {// 在系统沙盒中,将Voca.txt逐行读出,并存入数据库db.sqlite3// 找到沙盒路径 let file = "Voca.txt"if let dir : NSString = NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory.DocumentDirectory, NSSearchPathDomainMask.AllDomainsMask, true).first { let path = dir.stringByAppendingPathComponent(file); print(path) let dbPath = dir.stringByAppendingPathComponent("db.sqlite3") do {// 将Voca.txt内容读出,逐行存入数组stringArr中,// 数组元素为Voca.txt中每行的字符串 let text2 = try NSString(contentsOfFile: path, encoding: NSUTF8StringEncoding) print(text2) let tmp: String = text2 as String let stringArr = tmp.componentsSeparatedByCharactersInSet(NSCharacterSet.newlineCharacterSet())// 建立数据库,表名CET4 let db = try Connection(dbPath) let cet4Table = Table("CET4") let wordID = Expression<Int64>("id") let word = Expression<String>("word") let translate = Expression<String>("translate") let proficiency = Expression<Int64>("proficiency")// 声明表中元素,wordID为主键 try db.run( cet4Table.create{ t in t.column(wordID, primaryKey: true) t.column(word) t.column(translate) t.column(proficiency) } )// 将stringArr中的字符串在进行拆分后放入表中 for (var i = 0; i<stringArr.count; i=i+1) { var index = stringArr[i].characters.indexOf(".")! var wordTmp = stringArr[i].substringToIndex(index) var transTmp = stringArr[i].substringFromIndex(index) var insert = cet4Table.insert(word <- wordTmp, translate <- transTmp, proficiency <- 0) var rowid = try db.run(insert) } } catch { print("something has happened in selectView")} }}2.查单词// 发送GET请求,接受单词释义 @IBAction func searchButton(sender: AnyObject) { if (searchText.text != nil) { let param: Dictionary = ["word" : searchText.text] Alamofire.request(.GET, searchWordURL, parameters: param).responseJSON{ response in let tmp = response.result.value?.objectForKey("data")?.objectForKey("definition") var ret = String(tmp) if (ret != "nil") { ret = ret.substringFromIndex(ret.startIndex.advancedBy(9)) ret = ret.substringToIndex(ret.endIndex.advancedBy(-1)) self.translateText.text = ret } else{ self.translateText.text = "没有释义" } } }}3.统计图// 数据初始化,提供一些需要图表化得参数 func initData() { do { if (try db.scalar(cet4Table.select(wordID.max)) == nil){ wholeWord = 0 recitedWord = 0 irrecitedWord = 0 } else { wholeWord = try db.scalar(cet4Table.select(wordID.max))! for row in try db.prepare("SELECT proficiency FROM CET4"){ if ((row[0]! as! Int64) == 3) { recitedWord = recitedWord + 1 } } irrecitedWord = wholeWord - recitedWord print(wholeWord) print(recitedWord) } } catch { wholeWord = 0 recitedWord = 0 irrecitedWord = 0 } }// 初始化pie图 func initPieChart() { pieChart.noDataText = "u may as well add data!" if (wholeWord != 0){// 设置pie图参数,包括元素个数,值,图表颜色,元素意义等 var chartDataEntries: [ChartDataEntry] = [] var dataEntry = ChartDataEntry(value: Double(recitedWord), xIndex: 1) chartDataEntries.append(dataEntry) dataEntry = ChartDataEntry(value:Double(irrecitedWord) , xIndex: 2) chartDataEntries.append(dataEntry) var chartDataSet = PieChartDataSet(yVals: chartDataEntries, label: " ") chartDataSet.colors = ChartColorTemplates.colorful() let xVal: [String] = ["已背", "未背"] let chartData = PieChartData(xVals: xVal, dataSet: chartDataSet) pieChart.data = chartData pieChart.animate(xAxisDuration: 2.0, yAxisDuration: 2.0) } }4.背单词// “知道”按钮的相应,显示下一个单词,并将当前单词的“proficiency”设为3 @IBAction func knownButton(sender: AnyObject) {// 找到数据库中单词对应的行,并将当前单词的“proficiency”设为3 let tmp = cet4Table.filter(wordID == currentID) try! db.run(tmp.update(proficiency <- 3))// 先判断是否已经背完单词,再显示下一个单词 if (isMax() == false){ for row in try! db.prepare("SELECT id, word, translate, proficiency FROM CET4 WHERE id>" + String(currentID)){ if ((row[3]! as! Int64) < 3){ outputText.text = row[1]! as! String currentID = row[0]! as! Int64 break } } } else{ knownButton.hidden = true unknownButton.hidden = true outputText.text = "you have successfully recited whole deal!" } }// “不知道”按钮的相应,显示单词释义,显示“下一个”按钮,并将当前单词的“proficiency”的值+1 @IBAction func unknownButton(sender: AnyObject) { let tmp = cet4Table.filter(wordID == currentID) try! db.run(tmp.update(proficiency <- proficiency+1)) for row in try! db.prepare("SELECT translate FROM CET4 WHERE id = " + String(currentID)){ outputText.text = outputText.text! + (row[0]! as! String) } knownButton.hidden = true unknownButton.hidden = true nextButton.hidden = false }// "下一个"按钮的相应,先判断是否背完单词,再显示下个单词 @IBAction func nextButton(sender: AnyObject) { knownButton.hidden = false unknownButton.hidden = false nextButton.hidden = true if (isMax() == false){ for row in try! db.prepare("SELECT id, word, translate, proficiency FROM CET4 WHERE id>" + String(currentID)){ if ((row[3]! as! Int64) < 3){ outputText.text = row[1]! as! String currentID = row[0]! as! Int64 break } } } else{ nextButton.hidden = true outputText.text = "you have successfully recited whole deal!" } }// 判断当前单词id是否已经达到数据库中最大id值 func isMax() -> Bool { let max = try! db.scalar(cet4Table.select(wordID.max)) if (max == currentID){ return true } else{ return false } } func initOutput() { for row in try! db.prepare("SELECT id, word, translate, proficiency FROM CET4"){ if ((row[3]! as! Int64) < 3){ outputText.text = row[1]! as! String currentID = row[0]! as! Int64 break } } }
0 0
- 毕业设计的代码
- 【毕业设计day01】代码浅析
- 毕业设计代码记录
- 毕业设计代码精选1
- 毕业设计代码精选2
- 贴python毕业设计代码 请大家指出存在的缺点
- 手机游戏毕业设计 论文+代码
- 毕业设计day01--代码学习篇
- 【毕业设计day05】精析代码
- 毕业设计第一步:选择自己合适的毕业设计
- 毕业设计的事
- 郁闷的毕业设计
- 我的毕业设计任务书
- 毕业设计的论文
- 毕业设计的打算
- 毕业设计的思考
- 毕业设计方向的选择
- 毕业设计的开发总结
- 关于点击某个字段的时候弹出一个dialog的方法(显示dialog里面datagrid的表的数据)
- Nonlocal-Means 算法图像去噪
- Java 关键点整理一
- 线性回归与逻辑回归
- c++作业5
- 毕业设计的代码
- Qt多线程 信号和槽以及C++11的绑定 及QMetaObject::invokeMethod
- Ubuntu:Android编译环境设置和编译
- 第96讲 通过Spark Streaming的foreachRDD把处理后的数据写入外部存储系统(数据库)中
- Torch深度学习入门
- SQL表连接查询(inner join、full join、left join、right join)
- 定义搞错了
- Linux下ln命令使用
- 面试:数组: 首个正数