亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? seek.c

?? EVC4 編程CEDB數據庫操作
?? C
字號:
// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
// PARTICULAR PURPOSE.
//
// Copyright (C) 1993-1997  Microsoft Corporation.  All Rights Reserved.
//
//  MODULE:     seek.c
//
//  PURPOSE:    Contains window procedures for seeking.
//
//  PLATFORMS:  Windows CE
//
//  FUNCTIONS:
//
//  COMMENTS:
//
//

#include <windows.h>
#include <windowsx.h>
#if !defined(_WIN_CE_EMULATION)
	#include <memory.h>
#endif
#include <commctrl.h>
#include <tchar.h>
#include "resource.h"
#include "globals.h"


void WINAPI SeekNextRecord(HWND hwnd, DWORD dwSkip)
{

	HTREEITEM		hParent;
	HTREEITEM       hCurrentItem;
	TCHAR           szBuf[200];
	TCHAR			szProp[20] = {0};
	TCHAR			szCurrentProp[20] = {0};
	TV_ITEM         tvTable = {0};
	TV_ITEM         tvProperty = {0};
	CEOID			CeOid = 0;
	DWORD			dwIndex;
	WORD			cPropID = 0;
	LPBYTE 			bData = NULL;
	DWORD			cbData = 0;
	LPARAM			lCurrentProp;

	if( (hCurrentItem = TreeView_GetSelection( g_hwndTreeView )) )
	{

		if ( (hParent=TreeView_GetParent(g_hwndTreeView, hCurrentItem)) )
		{
			tvTable.hItem = hParent;
			tvTable.mask = TVIF_PARAM;
			if (!TreeView_GetItem(g_hwndTreeView, &tvTable))
				OutputDebugString(TEXT("ERROR: Database Deletion failed.\r\n"));
			else
			{
				if ( (HANDLE) tvTable.lParam == INVALID_HANDLE_VALUE)
					OutputDebugString(TEXT("ERROR: SeekNextRecord failed with invalid handle\r\n"));
				else
				{
					HTREEITEM hProp;
					
					if ( !CeSeekDatabase((HANDLE) tvTable.lParam, CEDB_SEEK_CURRENT, dwSkip, &dwIndex) )
					{
						wsprintf(szBuf, TEXT("CeSeekDatabase reports error: %ld\r\n"),GetLastError());
						OutputDebugString(szBuf);

						// check for end of file
						if( !CeReadRecordProps((HANDLE) tvTable.lParam, 0, &cPropID,NULL,&bData,&cbData) )
						{
							DWORD dwError;

							if ( (dwError=GetLastError()) != ERROR_NO_MORE_ITEMS && dwError != ERROR_INSUFFICIENT_BUFFER)
							{
								wsprintf(szBuf, TEXT("CeSeekDatabase reports error: %ld\r\n"),GetLastError());
								MessageBox(hwnd, szBuf, TEXT("ERROR"), MB_OK);
								OutputDebugString(szBuf);
								SendMessage(hwndEdit,WM_SETTEXT, 0, (LPARAM) (LPTSTR) TEXT("Error"));
							}
							else
							{
								if ( (LONG) dwSkip < 0 ) /// moving backward so set back to start
								{
									OutputDebugString(TEXT("End-OF-File encounterd. Resetting to start of database\r\n"));
									if ( !CeSeekDatabase((HANDLE) tvTable.lParam, CEDB_SEEK_BEGINNING, 0, &dwIndex) )
									{
										wsprintf(szBuf, TEXT("CeSeekDatabase to start reports error: %ld\r\n"),GetLastError());
										MessageBox(hwnd, szBuf, TEXT("ERROR"), MB_OK);
										OutputDebugString(szBuf);
									}
								}
								else
								{
									OutputDebugString(TEXT("End-OF-File encounterd. Resetting to end of database\r\n"));
									if ( !CeSeekDatabase((HANDLE) tvTable.lParam, CEDB_SEEK_END, 0, &dwIndex) )
									{
										wsprintf(szBuf, TEXT("CeSeekDatabase to end reports error: %ld\r\n"),GetLastError());
										MessageBox( hwnd, szBuf, TEXT("ERROR"), MB_OK);
										OutputDebugString(szBuf);
									}

								}
							}
						}
						else  /// this should not happen
							SendMessage(hwndEdit,WM_SETTEXT, 0, (LPARAM) (LPTSTR) TEXT("Error"));

					}
					else
					{
						
						/// get curret property information
						tvProperty.hItem = hCurrentItem;
						tvProperty.mask = TVIF_PARAM|TVIF_TEXT;
						tvProperty.pszText = szCurrentProp;
						tvProperty.cchTextMax = 20;


						if (!TreeView_GetItem(g_hwndTreeView, &tvProperty))
						{
							OutputDebugString(TEXT("ERROR: Retreiving database property from TreeView.\r\n"));
							lCurrentProp = -1;
						}
						else
							lCurrentProp = tvProperty.lParam;

						bRemovingProps = TRUE;
						// remove all current properties from the database item
						hProp = TreeView_GetChild(g_hwndTreeView, tvTable.hItem);
						while ( hProp )
						{
							TreeView_DeleteItem(g_hwndTreeView, hProp);
							hProp = TreeView_GetChild(g_hwndTreeView, tvTable.hItem);
						}

						// set parent to have not children
						tvTable.hItem = hParent;
						tvTable.mask = TVIF_CHILDREN;
						tvTable.cChildren = 0;

						if (!TreeView_SetItem(g_hwndTreeView, &tvTable))
							OutputDebugString(TEXT("ERROR: Modifying TreeView control.\r\n"));


						// read to find out what the new properties for this record are
						EnumDbaseProps(g_hwndTreeView, tvTable.hItem, tvTable.lParam);
						bRemovingProps = FALSE;						

						
						// try to find old selected property else select first child

						// get first new property
						hProp = TreeView_GetChild(g_hwndTreeView, tvTable.hItem);

						if ( hProp )
						{
							tvProperty.hItem = hProp;
							tvProperty.mask = TVIF_TEXT;
							tvProperty.pszText = szProp;
							tvProperty.cchTextMax = 20;

							if (!TreeView_GetItem(g_hwndTreeView, &tvProperty))
								OutputDebugString(TEXT("ERROR: Retreiving database property from TreeView.\r\n"));
						}

						/// look item selected before new property list was created
						while ( hProp )
						{
							// is this property equal to the one we had previously selected
							if ( lstrcmp(szProp, szCurrentProp ) == 0 )
							{
								ShowPropDesc((CEPROPID)tvProperty.lParam, (DWORD) tvTable.lParam, dwIndex);
								TreeView_Select(g_hwndTreeView, hProp, TVGN_CARET);
								break;
							}

							hProp = TreeView_GetNextSibling(g_hwndTreeView, hProp);
							if ( hProp )
							{
								tvProperty.hItem = hProp;
								tvProperty.mask = TVIF_PARAM|TVIF_TEXT;
								tvProperty.pszText = szProp;
								tvProperty.cchTextMax = 20;
								if (!TreeView_GetItem(g_hwndTreeView, &tvProperty))
								{
									OutputDebugString(TEXT("ERROR: Retreiving database property from TreeView.\r\n"));
									break;
								}

							}
						}

						if ( hProp == NULL && lCurrentProp != -1 )
						{
							// get the first child and show its properties
							hProp = TreeView_GetChild(g_hwndTreeView, tvTable.hItem);
							if ( hProp )
							{
								tvProperty.hItem = hProp;
								tvProperty.mask = TVIF_PARAM;

								if (!TreeView_GetItem(g_hwndTreeView, &tvProperty))
									OutputDebugString(TEXT("ERROR: Retreiving database property from TreeView.\r\n"));
								else
								{
									ShowPropDesc((CEPROPID)tvProperty.lParam, (DWORD) tvTable.lParam, dwIndex);
									TreeView_Select(g_hwndTreeView, hProp, TVGN_CARET);
								}
							}
							else
								OutputDebugString(TEXT("ERROR: Retreiving database property from TreeView.\r\n"));
						}
					
					}
				}
			}

		}
		else
			MessageBox(hwnd, TEXT("Select database property prior to seeking."), TEXT("Record Seek"), MB_OK|MB_ICONINFORMATION);
	}
	else                                                             // database property
		OutputDebugString(TEXT("No db selected for seeking.\r\n"));
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品每日更新在线播放网址| 亚洲精品国产品国语在线app| 国产清纯美女被跳蛋高潮一区二区久久w | 精品国产成人系列| 国产精品久久影院| 美女视频黄免费的久久 | 欧美二区乱c少妇| 国产精品视频第一区| 蜜臀av一区二区三区| 色天使色偷偷av一区二区| 亚洲精品一区二区三区蜜桃下载| 亚洲一区在线看| 9色porny自拍视频一区二区| 欧美sm美女调教| 亚洲mv在线观看| 97久久精品人人澡人人爽| 精品剧情在线观看| 日韩成人精品视频| 在线视频国产一区| 亚洲欧美激情插| 成人高清视频免费观看| 国产亚洲成年网址在线观看| 美女爽到高潮91| 欧美伊人久久大香线蕉综合69| 亚洲欧洲无码一区二区三区| 成人爽a毛片一区二区免费| 精品国产乱码91久久久久久网站| 麻豆91在线观看| 欧美一级国产精品| 美女视频黄久久| 国产日韩欧美制服另类| 免费日韩伦理电影| 日韩一区二区三免费高清| 日韩精品一级中文字幕精品视频免费观看| 91久久精品网| 亚洲国产精品自拍| 欧美精品18+| 麻豆专区一区二区三区四区五区| 日韩欧美一级精品久久| 久久成人免费网| 国产午夜亚洲精品午夜鲁丝片| 国产精品综合在线视频| 国产欧美视频一区二区| 成人一级片网址| 国产精品成人免费| 91福利资源站| 日日夜夜免费精品| 精品嫩草影院久久| 成人免费视频网站在线观看| 国产精品每日更新| 欧美影视一区二区三区| 日日夜夜一区二区| 久久精品亚洲精品国产欧美| 丁香六月综合激情| 亚洲九九爱视频| 91.com在线观看| 国产一区福利在线| 亚洲精品美腿丝袜| 日韩欧美亚洲一区二区| 国产成人精品三级| 一级特黄大欧美久久久| 欧美一卡2卡三卡4卡5免费| 国产又黄又大久久| 亚洲伦在线观看| 欧美一区二区三区不卡| 国产91在线|亚洲| 午夜欧美大尺度福利影院在线看| 精品福利一区二区三区免费视频| 高清久久久久久| 午夜精品福利一区二区三区av| 欧美videossexotv100| 99久久精品免费看国产| 蜜臀91精品一区二区三区| 中文字幕av在线一区二区三区| 欧美日韩三级在线| 波多野结衣中文字幕一区| 丝袜诱惑亚洲看片| 国产精品女上位| 在线综合+亚洲+欧美中文字幕| 懂色一区二区三区免费观看| 午夜激情一区二区三区| 国产欧美日韩在线观看| 在线播放日韩导航| 成人av第一页| 国产一区二区三区四区五区美女| 亚洲一区在线观看免费观看电影高清| 精品国产三级电影在线观看| 欧美性xxxxx极品少妇| 国产成人午夜精品5599| 午夜不卡av免费| 亚洲精品视频免费观看| 国产视频911| 欧美va在线播放| 欧美一区二区三区四区久久| 一本一本大道香蕉久在线精品| 国产一区二区三区免费观看| 视频一区二区欧美| 亚洲一区二区视频| 亚洲视频中文字幕| 欧美激情一区二区在线| 2023国产精品| 精品国内二区三区| 欧美一区二区不卡视频| 欧美手机在线视频| 在线免费观看一区| 色综合视频一区二区三区高清| 国产精品白丝jk黑袜喷水| 狠狠色2019综合网| 麻豆精品一区二区三区| 奇米777欧美一区二区| 日韩av中文字幕一区二区三区| 一区二区三区免费网站| 亚洲卡通欧美制服中文| 亚洲私人黄色宅男| 综合精品久久久| 亚洲欧美欧美一区二区三区| 天天操天天干天天综合网| 亚洲色图.com| 一区二区在线电影| 亚洲国产精品久久久久婷婷884| 亚洲精品成人精品456| 尤物视频一区二区| 亚洲超碰精品一区二区| 日日夜夜免费精品| 九色综合国产一区二区三区| 国产在线不卡一区| 成人精品电影在线观看| 99免费精品在线观看| 色哟哟一区二区三区| 欧美主播一区二区三区| 欧美日韩一区二区三区不卡| 欧美精品99久久久**| 精品国产亚洲在线| 中文字幕国产一区二区| 亚洲视频一区二区在线| 亚洲国产精品一区二区尤物区| 日韩国产精品91| 国产美女娇喘av呻吟久久| 国产成人在线视频网址| 91在线观看免费视频| 欧美性videosxxxxx| 欧美白人最猛性xxxxx69交| 国产亚洲女人久久久久毛片| 自拍偷拍国产精品| 亚洲18女电影在线观看| 国产麻豆日韩欧美久久| 色欧美片视频在线观看| 日韩免费视频线观看| 国产精品乱人伦一区二区| 一区二区三区在线高清| 乱一区二区av| 色屁屁一区二区| 26uuu久久天堂性欧美| 亚洲人成伊人成综合网小说| 免费成人在线观看| 99国产精品久| 26uuu久久综合| 亚洲一区二区三区四区五区中文| 久久精品国产精品亚洲精品| 99精品视频在线播放观看| 日韩欧美国产综合| 亚洲另类在线视频| 国产又黄又大久久| 国产丝袜在线精品| 亚洲成人激情av| av影院午夜一区| 精品成a人在线观看| 亚洲影视资源网| 成人av电影免费在线播放| 日韩一区二区高清| 亚洲综合成人网| caoporm超碰国产精品| 欧美电影精品一区二区| 亚洲电影在线播放| 91丨porny丨最新| 国产日韩欧美在线一区| 青青草91视频| 欧美高清性hdvideosex| 亚洲日本一区二区三区| 国产成人激情av| 日韩美女天天操| 日本中文一区二区三区| 欧美视频你懂的| 亚洲嫩草精品久久| 波多野结衣在线aⅴ中文字幕不卡| 欧美成人午夜电影| 美女网站一区二区| 欧美精选午夜久久久乱码6080| 综合电影一区二区三区 | 不卡一卡二卡三乱码免费网站| 91麻豆精品国产91久久久久久久久 | 日韩毛片在线免费观看| 国产成人在线影院| 2023国产精品自拍| 国模娜娜一区二区三区| 久久久精品一品道一区| 国产在线精品一区二区| 久久亚洲私人国产精品va媚药| 麻豆精品在线看| 欧美精品一区二区三区蜜桃|