コード例 #1
0
		void ShowVerses(String keyword)
		{
			try{
				verseResult = VerseResult.GetVerseResult(keyword);
				if(verseResult.verseTable.Rows.Count<1)
					throw new NoVerseException();
				
				startRow=0;
				RePaintBitmap();
				UpdatePreview();
				liveForm.updateBitmapAndRepaint(textBitmap);
				UpdateHistory(verseResult.GetTitle());
			}
			catch(MultiBookException)
			{
				//MessageBox.Show("multi book");
			}
			catch(NoBookException)
			{
				//MessageBox.Show("no book");
			}
			catch(KeywordException)
			{
				//MessageBox.Show("keyword");
			}
			catch(NoVerseException)
			{
				//MessageBox.Show("no verse");
			}
		}
コード例 #2
0
		public static VerseResult GetVerseResult(String keyword)
		{
			string delimStr = " -::——";
			
			char [] delimiter = delimStr.ToCharArray();
			string [] split = null;
			split = keyword.Split(delimiter);
			
			String bookName=null;
			int chapter=INIT_VALUE,verseStart=INIT_VALUE,verseEnd=INIT_VALUE; 
			int index=0;
			try{
				while(split[index].Trim()=="") index++;
				bookName = split[index];
				while(split[index].Trim()=="") index++;
				chapter = int.Parse(split[1]);
				while(split[index].Trim()=="") index++;
				verseStart = int.Parse(split[2]);
				while(split[index].Trim()=="") index++;
				verseEnd = int.Parse(split[3]);
			}catch(System.IndexOutOfRangeException)
			{}
			catch(FormatException)
			{
				throw new KeywordException();
			}

			if(chapter==-1) chapter=1;
			if(verseStart==-1) {
				verseStart=1;
				verseEnd=9999;
			}
			if(verseEnd==-1) verseEnd=verseStart;
			else
				if(verseEnd==0)
					verseEnd=9999;
			
			VerseResult result = new VerseResult();
			
			result.book = GetBookID(bookName);
			result.chapter = chapter;
			result.verseStart=verseStart;
			result.verseEnd=verseEnd;
			
			String sql = string.Format("select verseid,content from verse where version='{4}' and bookid={0} and chapterid={1} and verseid>={2} and verseid<={3}", result.book.id,chapter,verseStart,verseEnd,version);
			result.verseTable=DBUtil.GetDataTable(sql);
			return result;
		}