From 8c33d0b44a5407d6bd40df767968ce3c49cb60d5 Mon Sep 17 00:00:00 2001
From: xj qian <qianxj15@sina.com>
Date: 星期四, 27 六月 2024 17:41:46 +0800
Subject: [PATCH] update  win api

---
 jrj/project/business/quote.enquiry.cpp |  287 +++++++++++++++++++++++++--------------------------------
 1 files changed, 126 insertions(+), 161 deletions(-)

diff --git a/jrj/project/business/quote.enquiry.cpp b/jrj/project/business/quote.enquiry.cpp
index a71d3a2..d31a72a 100644
--- a/jrj/project/business/quote.enquiry.cpp
+++ b/jrj/project/business/quote.enquiry.cpp
@@ -3,6 +3,9 @@
 #include <xcontrol/xdwgrid.hpp>
 #include <xcontrol/ximageview.hpp>
 #include <xcontrol/xcell.hpp>
+#include <adt/xarray.hpp>
+#include <win32/xfile.hpp>
+#include <wobject/xdouble.hpp>
 
 
 #include "vbusiness/vframe/listwin.vframe.vbusiness.hpp"
@@ -1053,7 +1056,7 @@
 			itemStr += L"<ItemName>" + dw_cell.GetItemString(row, colItemName) + L"</ItemName>";
 			itemStr += L"<ItemCName>" + dw_cell.GetItemString(row, colItemCName) + L"</ItemCName>";
 			itemStr += L"<ItemSpec>" + dw_cell.GetItemString(row, colItemSpec) + L"</ItemSpec>";
-			itemStr += L"<RowNo>" + (row - startRow + 1).toString() + L"</RowNo>";
+			itemStr += L"<RowNo>" + xstring(row - startRow + 1) + L"</RowNo>";
 			itemStr += L"<Purchor>" + dw_cell.GetItemString(row, colBuyer) + L"</Purchor>";
 			itemStr += L"<Package>" + dw_cell.GetItemString(row, colPackage) + L"</Package>";
 			itemStr += L"<NWT>" + dw_cell.GetItemString(row, colNW) + L"</NWT>";
@@ -1327,18 +1330,17 @@
 		arg4.setNativePointer(xaserverarg::CreateInstance());
 		trace(items);
 		arg4.AddArg(L"value", items);
-		OpenWindow(L"dev:xpage[QuoteFilePurched.vx]", cast(arg4 as int));
+		OpenWindow(L"dev:xpage[QuoteFilePurched.vx]", arg4);
 
 		if (arg4.GetArgString(L"process") != L"ok") return 1;
 		items = arg4.GetArgString(L"value");
 
 		xml x0 ;
-		x0.setNativePointer(xml::CreateInstance());
 		x0.loadXML(items);
 
 		KXMLDOMNodeList ts = x0.selectNodes(L"data/Item[IsSend='1']");
 		int len = ts.length();
-		if (len < 1) return L"";
+		if (len < 1) return 0;
 
 		xstring content = L"";
 		xstring sdate = publiccode::GetCurrentDate();
@@ -1471,7 +1473,7 @@
 		{
 			trace(L"\r\ntaskid:" + taskid + L" finished:" + finished);
 			ProcessSendMessage(myurl, L"", content, datacontent, true);
-			win32::PostMessage(GetFrameWindow().GetHWND(), 0x401, L"xmRefreshTask", 0);
+			PostMessage(GetFrameWindow().GetHWND(), 0x401, (WPARAM)L"xmRefreshTask", 0);
 		}
 
 		return 1;
@@ -1534,7 +1536,7 @@
 		arg4.setNativePointer(xaserverarg::CreateInstance());
 		trace(items);
 		arg4.AddArg(L"value", items);
-		OpenWindow(L"dev:xpage[QuoteFilePurch.vx]", cast(arg4 as int));
+		OpenWindow(L"dev:xpage[QuoteFilePurch.vx]", arg4);
 		if (arg4.GetArgString(L"process") != L"ok") return 1;
 		items = arg4.GetArgString(L"value");
 
@@ -1630,14 +1632,12 @@
 
 		xstring items = GetPurchItems();
 		xaserverarg arg4 ;
-		arg4.setNativePointer(xaserverarg::CreateInstance());
 		arg4.AddArg(L"value", items);
-		OpenWindow(L"dev:xpage[QuoteFilePurch.vx]", cast(arg4 as int));
+		OpenWindow(L"dev:xpage[QuoteFilePurch.vx]", arg4);
 		if (arg4.GetArgString(L"process") != L"ok") return 1;
 		items = arg4.GetArgString(L"value");
 
 		xml x0 ;
-		x0.setNativePointer(xml::CreateInstance());
 		x0.loadXML(items);
 		KXMLDOMNodeList ts1 = x0.selectNodes(L"data/Item");
 		int len1 = ts1.length();
@@ -1780,6 +1780,7 @@
 			}
 		}
 
+		int purchercol1 = 0;
 		//update purch
 		if (1 == 0)
 		{
@@ -1810,8 +1811,9 @@
 
 			headrow1 = row2;
 			startrow1 = headrow1 + 1;
-			int purchercol1 = getItemCol(cell1, headrow1, L"閲囪喘浜哄憳");
+			purchercol1 = getItemCol(cell1, headrow1, L"閲囪喘浜哄憳");
 		}
+		
 
 		//Clear
 		if (1 == 1)
@@ -1833,7 +1835,7 @@
 				supplier = dw_cell.GetItemString(lastrow, purchercol);
 				if (supplier != username)
 				{
-					KXMLDOMNode n1 = x0.selectSingleNode(L"data/Item[IsSend='1' and Purchor='" + supplier + L"' and RowNo='" + (lastrow - row + 1).toString() + L"']");
+					KXMLDOMNode n1 = x0.selectSingleNode(L"data/Item[IsSend='1' and Purchor='" + supplier + L"' and RowNo='" + xstring(lastrow - row + 1) + L"']");
 					if (n1)
 					{
 						xstring rowid = getRowID(dw_cell, lastrow);
@@ -2028,7 +2030,7 @@
 		arg4.setNativePointer(xaserverarg::CreateInstance());
 		trace(items);
 		arg4.AddArg(L"value", items);
-		OpenWindow(L"dev:xpage[QuoteFilePurch.vx]", cast(arg4 as int));
+		OpenWindow(L"dev:xpage[QuoteFilePurch.vx]", arg4);
 		if (arg4.GetArgString(L"process") != L"ok") return 1;
 		items = arg4.GetArgString(L"value");
 
@@ -2055,7 +2057,6 @@
 		}
 
 		xml x0 ;
-		x0.setNativePointer(xml::CreateInstance());
 		x0.loadXML(items);
 
 		while (supplier != L"")
@@ -2188,7 +2189,7 @@
 	}
 
 	//鐒︾偣婵�娲诲鐞嗗嚱鏁�
-	int OnSetFocus(ref TEvent evt, int param)
+	int OnSetFocus(TEvent* evt, LPARAM param)
 	{
 		//閲嶇疆宸ュ叿鏉�
 		SetAgent();
@@ -2200,8 +2201,7 @@
 		xml x = ViewObject::RetrieveData(L"/sale/data/TO/template/param", L"TemplateID", id);
 
 		xml sheet ;
-		sheet.setNativePointer(x.CreateInstance());
-		sheet.loadXML(x.selectSingleNode(L"data/*").xml);
+		sheet.loadXML(x.selectSingleNode(L"data/*").xml());
 
 		dw_cell.LoadTemplate(sheet);
 		dw_cell.Redraw();
@@ -2257,30 +2257,6 @@
 		return 1;
 	}
 
-
-	static stdcall int GetModuleFileName(int hModule, xstring lpFileName, int nSize) native from "kernel32.dll" alias "GetModuleFileNameW";
-	static stdcall int PathRemoveFileSpec(xstring lpFileName) native from "shlwapi.dll" alias "PathRemoveFileSpecW";
-
-	xstring GetModulePath()
-	{
-		xstring str = L"";
-		str = str.space(255);
-		GetModuleFileName(0, str, 250);
-		PathRemoveFileSpec(str);
-		return str;
-	}
-
-	xstring GetModuleTmpPath()
-	{
-		xstring str = L"";
-		str = str.space(255);
-		GetModuleFileName(0, str, 250);
-		PathRemoveFileSpec(str);
-		xstring tmp = str + L"\\Temp";
-		xaserver::CreateDirectory(tmp);
-		return tmp;
-	}
-
 	xstring UploadImage(xstring guid)
 	{
 		return UploadImage(guid, L"");
@@ -2290,12 +2266,12 @@
 	{
 		xstring name = guid + L".jpg";
 		xstring str = name.mid(0, 2);
-		str = str.upper();
+		str = str.toUpper();
 		int ret = 1;
 		if (filename != L"")
-			ret = xaserver::Upload(L"product" + str, name, filename, this.GetHWND(), L"", false);
+			ret = xaserver::Upload(L"product" + str, name, filename, GetHWND(), L"", false);
 		else
-			ret = xaserver::Upload(L"product" + str, name, this.GetHWND(), L"", false);
+			ret = xaserver::Upload(L"product" + str, name.c_str(), GetHWND(), L"", false);
 		if (ret == -1) return L"";
 		if (ret == 0)
 		{
@@ -2315,7 +2291,7 @@
 		}
 
 		xutil::SmallImage(appPath+L"\\"+name,appPath+L"\\"+L"x_"+name,120,120);
-		int ret_1 = xaserver::Upload(L"product"+str, L"x_"+name,appPath+L"\\x_"+name, this.GetHWND(),L"",false);
+		int ret_1 = xaserver::Upload(L"product"+str, L"x_"+name,appPath+L"\\x_"+name, GetHWND(),L"",false);
 		//xaserver::DeleteFile(appPath+L"x_"+name);
 		//xaserver::DeleteFile(appPath+name);
 		if(ret_1 != 1)
@@ -2331,12 +2307,12 @@
 	{
 		xstring name = guid + L".jpg";
 		xstring str = name.mid(0, 2);
-		str = str.upper();
+		str = str.toUpper();
 		int ret = 1;
 		if (filename != L"")
-			ret = xaserver::Upload(L"product" + str, name, filename, this.GetHWND(), L"", false);
+			ret = xaserver::Upload(L"product" + str, name, filename, GetHWND(), L"", false);
 		else
-			ret = xaserver::Upload(L"product" + str, name, this.GetHWND(), L"", false);
+			ret = xaserver::Upload(L"product" + str, name, GetHWND(), L"", false);
 		if (ret == -1) return L"";
 		if (ret == 0)
 		{
@@ -2344,7 +2320,7 @@
 			return L"";
 		}
 
-		xstring appPath = GetModuleTmpPath();
+		xstring appPath = xutil::GetModuleTmpPath();
 		xaserver::CreateDirectory(appPath);
 		ret = xaserver::DownLoadFile(GetServerUrl(), L"/business/products/chanpin/" + str + L"/" + name, name, appPath + L"/" + name);
 		if (ret < 0)
@@ -2354,7 +2330,7 @@
 		}
 
 		xutil::SmallImage(appPath + L"\\" + name, appPath + L"\\" + L"x_" + name, 120, 120);
-		int ret_1 = xaserver::Upload(L"product" + str, L"x_" + name, appPath + L"\\x_" + name, this.GetHWND(), L"", false);
+		int ret_1 = xaserver::Upload(L"product" + str, L"x_" + name, appPath + L"\\x_" + name, GetHWND(), L"", false);
 		//xaserver::DeleteFile(appPath+L"x_"+name);
 		//xaserver::DeleteFile(appPath+name);
 		if (ret_1 != 1)
@@ -2584,7 +2560,7 @@
 		dw_cell.SetCellProps(row, colPhoto, props);
 		dw_cell.SetCellProps(row, colPhoto1, props);
 
-		xstring appPath = GetModuleTmpPath();
+		xstring appPath = xutil::GetModuleTmpPath();
 		xstring guid = ViewObject::GetGuid();
 		xstring filename1 = UploadImage(guid);
 		if (filename1 != L"")
@@ -2611,30 +2587,29 @@
 		return 1;
 	}
 
-	int GetOpenFileNames(StringArray items, xstring initFileName, xstring filter, xstring ext)
+	int GetOpenFileNames(xarray<xstring>& items, xstring initFileName, xstring filter, xstring ext)
 	{
 		//xstring path = GetOpenFileName(L"",
 		//		"JPEG 鏂囦欢(*.jpg)\0*.jpg;*.jpeg;*.png;*.gif;*.bmp\0鍏ㄩ儴鏂囦欢(*.*)\0*.*\0",
 		//		"jpg");		
 
-		char[]  szFileName = new char[4096];
-		char[]  szPath = new char[4096];
+		wchar_t  szFileName[4096];
+		wchar_t szPath[4096];
 		szFileName[0] = 0;
 		szPath[0] = 0;
 
 		if (initFileName != L"")
 		{
 			int len = initFileName.length();
-			char[] tmp = initFileName;
+			const wchar_t* tmp = initFileName.c_str();
 			for (int i = 0; i < len + 1; i++)
 			{
-				//szFileName[i] = tmp[i];
 				szPath[i] = tmp[i];
 			}
 		}
 
 		int	 nFilterIndex = 1;
-		ref OPENFILENAMEW ofn = new OPENFILENAMEW;
+		OPENFILENAMEW ofn;
 
 		ofn.lStructSize = 88;//sizeof(ofn);
 		ofn.hwndOwner = 0;
@@ -2662,7 +2637,7 @@
 		ofn.nFileExtension = 0;
 
 		//debugbreak();
-		if (file::GetOpenFileName(ofn))
+		if (xfile::GetOpenFileName(ofn))
 		{
 			int pos = ofn.nFileOffset & 0xffff;
 			xstring path = szPath;
@@ -2672,22 +2647,18 @@
 			}
 			else
 			{
-				int start = cast(szPath as int);
+				wchar_t* start = szPath;
 				start += pos * 2;
-				xstring str = cast(start  as xstring);
+				xstring str = start;
 				while (true)
 				{
 					if (str == L"")break;
 					items.push_back(path + L"/" + str);
 					start += (str.length() + 1) * 2;
-					str = cast(start  as xstring);
+					str = start;
 				}
 			}
 		}
-		delete szFileName;
-		delete szPath;
-		delete ofn;
-
 		return items.length();
 	}
 
@@ -2704,12 +2675,11 @@
 		int LastRow = dw_cell.GetValidRow();
 		if (row < startRow) return  0;
 
-		xstring appPath = GetModuleTmpPath();
-		StringArray items;
-		items = StringArray::make();
+		xstring appPath = xutil::GetModuleTmpPath();
+		xarray<xstring> items;
 		GetOpenFileNames(items, L"",
-			"JPEG 鏂囦欢(*.jpg)\0*.jpg;*.jpeg;*.png;*.gif;*.bmp\0鍏ㄩ儴鏂囦欢(*.*)\0*.*\0",
-			"jpg");
+			L"JPEG 鏂囦欢(*.jpg)\0*.jpg;*.jpeg;*.png;*.gif;*.bmp\0鍏ㄩ儴鏂囦欢(*.*)\0*.*\0",
+			L"jpg");
 		if (items.length() < 1) return 1;
 
 		int sRow = row;
@@ -2782,12 +2752,11 @@
 		dw_cell.SetCellProps(row, colPhoto, props);
 		dw_cell.SetCellProps(row, colPhoto1, props);
 
-		xstring appPath = GetModuleTmpPath();
-		StringArray items;
-		items = StringArray::make();
+		xstring appPath = xutil::GetModuleTmpPath();
+		xarray<xstring> items;
 		GetOpenFileNames(items, L"",
 			L"JPEG 鏂囦欢(*.jpg)\0*.jpg;*.jpeg;*.png;*.gif;*.bmp\0鍏ㄩ儴鏂囦欢(*.*)\0*.*\0",
-			"jpg");
+			L"jpg");
 		if (items.length() < 1) return 1;
 
 		for (int i = 0; i < items.length(); i++)
@@ -2883,7 +2852,7 @@
 			double colFOBPriceEx = fobprice.toDouble();
 
 			double colFOBPriceS;
-			colFOBPriceS = colFOBPriceEx.round(2);
+			colFOBPriceS = xdouble(colFOBPriceEx).round(2);
 			xstring colFOBPriceS1 = xstring(colFOBPriceS);
 			xstring colFOBPriceS2 = colFOBPriceS1.left(colFOBPriceS1.find(L"."));
 			xstring colFOBPriceS3 = colFOBPriceS1.mid(colFOBPriceS1.find(L"."), colFOBPriceS1.length());
@@ -2901,7 +2870,7 @@
 				xaserverarg argx ;
 				argx.setNativePointer(argx.CreateInstance());
 				argx.AddArg(L"GoodsNo", dw_cell.GetItemString(row, colItemNo));
-				OpenWindow(L"dev:xpage[CustomerItemNoList.vx]", cast(argx as int));
+				OpenWindow(L"dev:xpage[CustomerItemNoList.vx]", argx);
 				if (argx.GetArgString(L"action") != L"ok") return 1;
 
 				xml x1 ;
@@ -2945,7 +2914,10 @@
 							dw_cell.SetItemString(row, colQtyPerPack, str2 + L"/" + str1);
 						}
 						else
+						{
+							xstring str1 = goods.selectSingleNode(L"//PackingRate[1]").text();
 							dw_cell.SetItemString(row, colQtyPerPack, str1);
+						}
 					}
 					ProcessItemImage(dw_cell.GetItemString(row, colSKUNo), row);
 					//ProcessItemImage1(dw_cell.GetItemString(row,colItemNo),row);
@@ -2999,7 +2971,7 @@
 				//if(qty2 !=L"") qty = qty*qty2.toDouble();
 				qty = qty2.toDouble();
 				double ttl = 65.0 * qty / v;
-				dw_cell.SetItemString(row, col40HQ, ttl.toInt().toString());
+				dw_cell.SetItemString(row, col40HQ, xstring((int)ttl));
 			}
 		}
 
@@ -3121,7 +3093,7 @@
 		return 1;
 	}
 
-	int OnCellSelectChanged(ref TNotifyEvent evt, int p)
+	int OnCellSelectChanged(TEvent*, LPARAM p)
 	{
 		/*ref DWNMHDR  hdr = trust(evt.pnmh as ref DWNMHDR);
 		xstring colname=hdr.colname;
@@ -3132,7 +3104,7 @@
 		return 1;
 	}
 
-	int OnItemChanged(ref TNotifyEvent evt, int p)
+	int OnItemChanged(TEvent*, LPARAM p)
 	{
 		ref DWNMHDR  hdr = trust(evt.pnmh as ref DWNMHDR);
 		xstring colname = hdr.colname;
@@ -3289,14 +3261,14 @@
 		xstring res = L"/sale/data/productlibrary3/pref/picture/imagelistskuno";
 		if (xurl::get(res, arg_pic.GetString(), xp) != 1)
 		{
-			trace(xp.GetXml());
+			trace(xp.xml());
 			return 1;
 		}
 		else
 		{
-			//alert(xp.GetXml());
+			//alert(xp.xml());
 			ClearImageTerm(row, L"customer-photo");
-			//alert(xp.GetXml());
+			//alert(xp.xml());
 			KXMLDOMNodeList nlistp = xp.selectNodes(L"ImageList/image");
 			int lenp = nlistp.length();
 			int ip = 0;
@@ -3349,13 +3321,13 @@
 		xstring res = L"/sale/data/ProductLibrary3/pref/picture/imagelistItemNo";
 		if (xurl::get(res, arg_pic.GetString(), xp) != 1)
 		{
-			trace(xp.GetXml());
+			trace(xp.xml());
 			return 1;
 		}
 		else
 		{
 			ClearImageTerm(row, L"customer-photo");
-			//alert(xp.GetXml());
+			//alert(xp.xml());
 			KXMLDOMNodeList nlistp = xp.selectNodes(L"ImageList/image");
 			int lenp = nlistp.length();
 			int ip = 0;
@@ -3490,7 +3462,7 @@
 		}
 		else if (comdid == L"xmRefreshTask1")
 		{
-			win32::PostMessage(GetFrameWindow().GetHWND(), 0x401, L"xmRefreshTask", 0);
+			PostMessage(GetFrameWindow().GetHWND(), 0x401, L"xmRefreshTask", 0);
 			return 1;
 		}
 		else if (comdid == L"xmFileOpen" || comdid == L"xmOpen" || comdid == L"xmNew")
@@ -3539,7 +3511,7 @@
 				dw_cell.Redraw();
 				filename = args.GetArgString(L"filename");
 				fileid = args.GetArgString(L"ID");
-				win32::SetWindowText(GetHWND(), L"鎶ヤ环鏂囦欢:" + filename);
+				SetWindowText(GetHWND(), L"鎶ヤ环鏂囦欢:" + filename);
 			}
 			return 1;
 		}
@@ -3549,7 +3521,7 @@
 			dw_cell.Redraw();
 			filename = L"";
 			fileid = L"";
-			win32::SetWindowText(GetHWND(), L"鎶ヤ环鏂囦欢:[new]");
+			SetWindowText(GetHWND(), L"鎶ヤ环鏂囦欢:[new]");
 			return 1;
 		}
 		else if (comdid == L"xmFileSave" || comdid == L"xmSave")
@@ -3735,7 +3707,7 @@
 	xstring GetExchangeRate(xstring pcur, xstring pdate)
 	{
 
-		if (pcur.upper() == L"RMB") return L"1";
+		if (pcur.toUpper() == L"RMB") return L"1";
 		xstring exchangeRate = L"";
 		if (exchangeRate == L"") {
 			xml x = ViewObject::RetrieveData(L"/sale/data/GDN3/profit/param", L"item", L"cryrate");
@@ -3792,9 +3764,9 @@
 		return 1;
 	}
 
-	int OnRowChanged(ref TNotifyEvent evt, int p)
+	int OnRowChanged(TEvent* evt, LPARAM p)
 	{
-		ref DWNMHDR  hdr = trust(evt.pnmh as ref DWNMHDR);
+		DWNMHDR&  hdr = *(DWNMHDR * )evt->notify.pnmh;
 		int row = hdr.row;
 
 		return OnQuoteLineChanged(row);
@@ -3803,7 +3775,7 @@
 	int OnQuoteLineChanged(int row)
 	{
 		ximageview im = GetControl(L"im1");
-		im.ResetEx();
+		im.Reset();
 		//xstring skuno = dw_goods.GetItemString(row,L"SKUNo");
 		//OnShowImage(skuno,row);
 		//im.Redraw();
@@ -3827,9 +3799,7 @@
 		ximageview im = GetControl(L"im1");
 
 		xml xp ;
-		xp.setNativePointer(xml::CreateInstance());
 		xaserverarg arg_pic ;
-		arg_pic.setNativePointer(arg_pic.CreateInstance());
 		arg_pic.AddArg(L"SKUNo", skuno);
 
 		xstring res = L"/sale/data/ProductLibrary3/pref/picture/imagelistSKUNo";
@@ -3846,7 +3816,7 @@
 		bool hasIamge = false;
 		if (xurl::get(res, arg_pic.GetString(), xp) != 1)
 		{
-			trace(xp.GetXml());
+			trace(xp.xml());
 			return 1;
 		}
 		else
@@ -3869,18 +3839,18 @@
 			res = L"/sale/data/ProductLibrary3/pref/picture/imagelistSKUNo";
 			if (xurl::get(res, arg_pic.GetString(), xp) != 1)
 			{
-				trace(xp.GetXml());
+				trace(xp.xml());
 				return 1;
 			}
 			else
 			{
-				nlistp = xp.selectNodes(L"ImageList/image");
-				lenp = nlistp.length();
-				for (ip = 0; ip < lenp; ip++)
+				KXMLDOMNodeList nlistp = xp.selectNodes(L"ImageList/image");
+				long lenp = nlistp.length();
+				for (int ip = 0; ip < lenp; ip++)
 				{
-					xitem = nlistp.item(ip);
-					picname = xitem.selectSingleNode(L"PicPath").text();
-					goodno = xitem.selectSingleNode(L"GoodsNo").text();
+					KXMLDOMNode xitem = nlistp.item(ip);
+					xstring picname = xitem.selectSingleNode(L"PicPath").text();
+					xstring goodno = xitem.selectSingleNode(L"GoodsNo").text();
 					if (picname == L"/business/products/Thumbs//")
 						picname = L"/business/products/Thumbs/00/00000000-0000-0000-0000-000000000000.jpg";
 					im.AddImages(picname, goodno);
@@ -3920,7 +3890,7 @@
 	int OnUpdateProcessed()
 	{
 		int ret = ProcessSendMessage(L"/task/quote/update-processed", taskid, L"", L"", false);
-		win32::PostMessage(GetFrameWindow().GetHWND(), 0x401, L"xmRefreshTask", 0);
+		PostMessage(GetFrameWindow().GetHWND(), 0x401, (WPARAM)L"xmRefreshTask", 0);
 		return ret;
 	}
 
@@ -3993,9 +3963,8 @@
 		if (filename == L"" || saveas)
 		{
 			xaserverarg arg ;
-			
 			arg.AddArg(L"src", myurl);
-			OpenWindow(L"dev:xpage[trade.document.saveas.vx]", cast(arg as int));
+			OpenWindow(L"dev:xpage[trade.document.saveas.vx]", arg);
 			if (arg.GetArgString(L"result") == L"ok")
 			{
 				sfilename = arg.GetArgString(L"filename");
@@ -4009,7 +3978,7 @@
 		xstring sguid = publiccode::GetGuid();
 		xstring sname = sguid;
 		xstring str = sname.mid(0, 2);
-		str = str.upper();
+		str = str.toUpper();
 		xstring suri = L"attachment" + str;
 		int ret = xaserver::UploadData(suri, sguid + L".jpg", content);
 		if (ret < 0)
@@ -4019,7 +3988,6 @@
 		}
 
 		xml x ;
-		
 		xaserverarg args ;
 		args.setNativePointer(args.CreateInstance());
 		args.AddArg(L"myurl", myurl);
@@ -4040,7 +4008,7 @@
 		else
 		{
 			filename = sfilename;
-			win32::SetWindowText(GetHWND(), L"鎶ヤ环鏂囦欢:" + filename);
+			SetWindowText(GetHWND(), L"鎶ヤ环鏂囦欢:" + filename);
 			alert(x.text());
 		}
 
@@ -4049,13 +4017,13 @@
 
 	int SendCtrlCmd(xcontrol xc, xstring cmd)
 	{
-		win32::SendMessage(xc.GetId(), 0x401, cmd, 0);
+		SendMessage(xc.GetHWND(), 0x401, cmd, 0);
 		return 1;
 	}
 
-	int OnCellClicked(ref TNotifyEvent evt, int p)
+	int OnCellClicked(TEvent* evt, LPARAM p)
 	{
-		ref DWNMHDR dwhdr = cast(evt.pnmh as ref DWNMHDR);
+		DWNMHDR& dwhdr=*(DWNMHDR*)evt->notify.pnmh;
 		int row = dwhdr.row;
 		int col = dwhdr.col;
 		//xstring col = dwhdr.colname;
@@ -4091,7 +4059,7 @@
 		if (row < startRow + 1) return 1;
 		startRow++;
 
-		trace(xstring(row) + L"---" + (startRow - 1).toString());
+		trace(xstring(row) + L"---" + xstring(startRow - 1));
 
 		int colItemNo = getItemCol(dw_cell, startRow - 1, L"鎴戝徃鍨嬪彿,ItemNo");
 		int colCustomerItemNo = getItemCol(dw_cell, startRow - 1, L"瀹㈡埛鍨嬪彿,Customer ItemNo,Customer Item No");
@@ -4159,13 +4127,13 @@
 				xstring pitems = L"";
 				for (int i = 0; i < count; i++)
 				{
-					pitems += L"&lt;row&gt;&lt;鏄剧ず鍒�&gt;" + items.item(i).selectSingleNode(L"Name").text + L"&lt;/鏄剧ず鍒�&gt;&lt;鏁版嵁鍒�&gt;"
-						+ items.item(i).selectSingleNode(L"Name").text + L"&lt;/鏁版嵁鍒�&gt;&lt;/row&gt;";
+					pitems += (xstring)L"&lt;row&gt;&lt;鏄剧ず鍒�&gt;" + items.item(i).selectSingleNode(L"Name").text() + L"&lt;/鏄剧ず鍒�&gt;&lt;鏁版嵁鍒�&gt;"
+						+ items.item(i).selectSingleNode(L"Name").text() + L"&lt;/鏁版嵁鍒�&gt;&lt;/row&gt;";
 
 				}
-				xstring prop = L"<cellprop searchcolumn='' celltype='' cellformatex='' cellformat='' cellprotectex='' cellprotect='' cellvisibleex='' cellvisible='' cellneeddata='' cellvalid='' cellinitial='' cellsource='' fontstyle='' windowurl=''>" +
-					"<edit edittype='ddlb' ddlbdataurl='' ddlbxml='&lt;data&gt;" + pitems + L"&lt;/data&gt;'/>" +
-					"</cellprop>";
+				xstring prop = (xstring)L"<cellprop searchcolumn='' celltype='' cellformatex='' cellformat='' cellprotectex='' cellprotect='' cellvisibleex='' cellvisible='' cellneeddata='' cellvalid='' cellinitial='' cellsource='' fontstyle='' windowurl=''>" +
+					L"<edit edittype='ddlb' ddlbdataurl='' ddlbxml='&lt;data&gt;" + pitems + L"&lt;/data&gt;'/>" +
+					L"</cellprop>";
 				dw_cell.SetCellProps(row, col, prop);
 			}
 		}
@@ -4229,24 +4197,24 @@
 			{
 				if (dw_cell.GetItemString(row, col) == L"")
 					dw_cell.SetItemString(row, col, L" ");
-				xstring prop2 = L"<cellprop searchcolumn='' celltype='' cellformatex='' cellformat='' cellprotectex='' cellprotect='' cellvisibleex='' cellvisible='' cellneeddata='' cellvalid='' cellinitial='' cellsource='' fontstyle='' windowurl=''>" +
-					"<edit edittype='query' dddwxpageurl='' dddwdataurl='xquery:[Convert.quickcode.xq]?id=Supplier' dddwtemplateurl='dev:sheet[Supplier.v3.tpl/List]' dddwdatacolumn='Name' dddwdisplaycolumn='Name' dddwwidth='' dddwheight='' dddwautoselect='N' dddwshowbutton='鍚�' dddwcanedit='鏄�'/>" +
-					"</cellprop>";
+				xstring prop2 = (xstring)L"<cellprop searchcolumn='' celltype='' cellformatex='' cellformat='' cellprotectex='' cellprotect='' cellvisibleex='' cellvisible='' cellneeddata='' cellvalid='' cellinitial='' cellsource='' fontstyle='' windowurl=''>" +
+					L"<edit edittype='query' dddwxpageurl='' dddwdataurl='xquery:[Convert.quickcode.xq]?id=Supplier' dddwtemplateurl='dev:sheet[Supplier.v3.tpl/List]' dddwdatacolumn='Name' dddwdisplaycolumn='Name' dddwwidth='' dddwheight='' dddwautoselect='N' dddwshowbutton='鍚�' dddwcanedit='鏄�'/>" +
+					L"</cellprop>";
 				dw_cell.SetCellProps(row, col, prop2);
 				dw_cell.Redraw();
 			}
 			else if (col == colTyp1 || col == colTyp || col == colTyp2 || col == colTyp3)
 			{
 				xstring pitems1 = L"";
-				pitems1 += L"&lt;row&gt;&lt;鏄剧ず鍒�&gt;鎴愬搧&lt;/鏄剧ず鍒�&gt;&lt;鏁版嵁鍒�&gt;"
+				pitems1 += (xstring)L"&lt;row&gt;&lt;鏄剧ず鍒�&gt;鎴愬搧&lt;/鏄剧ず鍒�&gt;&lt;鏁版嵁鍒�&gt;"
 					+ L"鎴愬搧&lt;/鏁版嵁鍒�&gt;&lt;/row&gt;";
-				pitems1 += L"&lt;row&gt;&lt;鏄剧ず鍒�&gt;鏁h揣&lt;/鏄剧ず鍒�&gt;&lt;鏁版嵁鍒�&gt;"
+				pitems1 += (xstring)L"&lt;row&gt;&lt;鏄剧ず鍒�&gt;鏁h揣&lt;/鏄剧ず鍒�&gt;&lt;鏁版嵁鍒�&gt;"
 					+ L"鏁h揣&lt;/鏁版嵁鍒�&gt;&lt;/row&gt;";
-				pitems1 += L"&lt;row&gt;&lt;鏄剧ず鍒�&gt;鍖呰&lt;/鏄剧ず鍒�&gt;&lt;鏁版嵁鍒�&gt;"
+				pitems1 += (xstring)L"&lt;row&gt;&lt;鏄剧ず鍒�&gt;鍖呰&lt;/鏄剧ず鍒�&gt;&lt;鏁版嵁鍒�&gt;"
 					+ L"鍖呰&lt;/鏁版嵁鍒�&gt;&lt;/row&gt;";
-				xstring prop1 = L"<cellprop searchcolumn='' celltype='' cellformatex='' cellformat='' cellprotectex='' cellprotect='' cellvisibleex='' cellvisible='' cellneeddata='' cellvalid='' cellinitial='' cellsource='' fontstyle='' windowurl=''>" +
-					"<edit edittype='ddlb' ddlbdataurl='' ddlbxml='&lt;data&gt;" + pitems1 + L"&lt;/data&gt;'/>" +
-					"</cellprop>";
+				xstring prop1 = (xstring)L"<cellprop searchcolumn='' celltype='' cellformatex='' cellformat='' cellprotectex='' cellprotect='' cellvisibleex='' cellvisible='' cellneeddata='' cellvalid='' cellinitial='' cellsource='' fontstyle='' windowurl=''>" +
+					L"<edit edittype='ddlb' ddlbdataurl='' ddlbxml='&lt;data&gt;" + pitems1 + L"&lt;/data&gt;'/>" +
+					L"</cellprop>";
 				dw_cell.SetCellProps(row, col, prop1);
 			}
 		}
@@ -4259,9 +4227,9 @@
 	}
 
 
-	int OnCellClicked1(ref TNotifyEvent evt, int p)
+	int OnCellClicked1(TEvent* evt, LPARAM p)
 	{
-		ref DWNMHDR dwhdr = cast(evt.pnmh as ref DWNMHDR);
+		DWNMHDR dwhdr = *(DWNMHDR*)evt->notify.pnmh;
 		int row = dwhdr.row;
 		int col = dwhdr.col;
 		//xstring col = dwhdr.colname;
@@ -4278,7 +4246,7 @@
 		if (row < startRow + 1) return 1;
 		startRow++;
 
-		trace(xstring(row) + L"---" + (startRow - 1).toString());
+		trace(xstring(row) + L"---" + xstring(startRow - 1));
 
 		int colItemNo = getItemCol(dw_cell, startRow - 1, L"鎴戝徃鍨嬪彿,ItemNo");
 		int colCustomerItemNo = getItemCol(dw_cell, startRow - 1, L"瀹㈡埛鍨嬪彿,Customer ItemNo,Customer Item No");
@@ -4332,13 +4300,13 @@
 				xstring pitems = L"";
 				for (int i = 0; i < count; i++)
 				{
-					pitems += L"&lt;row&gt;&lt;鏄剧ず鍒�&gt;" + items.item(i).selectSingleNode(L"Name").text + L"&lt;/鏄剧ず鍒�&gt;&lt;鏁版嵁鍒�&gt;"
-						+ items.item(i).selectSingleNode(L"Name").text + L"&lt;/鏁版嵁鍒�&gt;&lt;/row&gt;";
+					pitems += (xstring)L"&lt;row&gt;&lt;鏄剧ず鍒�&gt;" + items.item(i).selectSingleNode(L"Name").text() + L"&lt;/鏄剧ず鍒�&gt;&lt;鏁版嵁鍒�&gt;"
+						+ items.item(i).selectSingleNode(L"Name").text() + L"&lt;/鏁版嵁鍒�&gt;&lt;/row&gt;";
 
 				}
-				xstring prop = L"<cellprop searchcolumn='' celltype='' cellformatex='' cellformat='' cellprotectex='' cellprotect='' cellvisibleex='' cellvisible='' cellneeddata='' cellvalid='' cellinitial='' cellsource='' fontstyle='' windowurl=''>" +
-					"<edit edittype='ddlb' ddlbdataurl='' ddlbxml='&lt;data&gt;" + pitems + L"&lt;/data&gt;'/>" +
-					"</cellprop>";
+				xstring prop = (xstring)L"<cellprop searchcolumn='' celltype='' cellformatex='' cellformat='' cellprotectex='' cellprotect='' cellvisibleex='' cellvisible='' cellneeddata='' cellvalid='' cellinitial='' cellsource='' fontstyle='' windowurl=''>" +
+					L"<edit edittype='ddlb' ddlbdataurl='' ddlbxml='&lt;data&gt;" + pitems + L"&lt;/data&gt;'/>" +
+					L"</cellprop>";
 				dw_cell.SetCellProps(row, col, prop);
 			}
 			if (col == colPackage)
@@ -4356,7 +4324,7 @@
 				xaserverarg argx ;
 				argx.setNativePointer(argx.CreateInstance());
 				argx.AddArg(L"GoodsNo", dw_cell.GetItemString(ARow, colItemNo));
-				OpenWindow(L"dev:xpage[CustomerItemNoList.vx]", cast(argx as int));
+				OpenWindow(L"dev:xpage[CustomerItemNoList.vx]", argx);
 				if (argx.GetArgString(L"action") != L"ok")
 				{
 					ARow = row;
@@ -4424,11 +4392,12 @@
 		{
 			/*璁$畻浣撶Н*/
 			xstring desc = dw_cell.GetItemString(ARow, colVolDesc);
+			double v = 0.0;
 			if (desc == L"")
 				dw_cell.SetItemString(ARow, colVol, L"");
 			else
 			{
-				double v = calcVol(desc) / 1000000.00;
+				v = calcVol(desc) / 1000000.00;
 				xstring str = xstring(v);
 				if (str.find(L".") >= 0)	str = str.left(str.find(L".") + 5);
 				dw_cell.SetItemString(ARow, colVol, str);
@@ -4450,7 +4419,7 @@
 				if (qty1 != L"") qty = qty1.toDouble();
 				if (qty2 != L"") qty = qty * qty2.toDouble();
 				double ttl = 65.0 * qty / v;
-				dw_cell.SetItemString(ARow, col40HQ, ttl.toInt().toString());
+				dw_cell.SetItemString(ARow, col40HQ, xstring((int)ttl));
 			}
 		}
 
@@ -4498,8 +4467,8 @@
 				pitems1 += (xstring)L"&lt;row&gt;&lt;鏄剧ず鍒�&gt;鍖呰&lt;/鏄剧ず鍒�&gt;&lt;鏁版嵁鍒�&gt;"
 					+ L"鍖呰&lt;/鏁版嵁鍒�&gt;&lt;/row&gt;";
 				xstring prop1 = (xstring)L"<cellprop searchcolumn='' celltype='' cellformatex='' cellformat='' cellprotectex='' cellprotect='' cellvisibleex='' cellvisible='' cellneeddata='' cellvalid='' cellinitial='' cellsource='' fontstyle='' windowurl=''>" +
-					"<edit edittype='ddlb' ddlbdataurl='' ddlbxml='&lt;data&gt;" + pitems1 + L"&lt;/data&gt;'/>" +
-					"</cellprop>";
+					L"<edit edittype='ddlb' ddlbdataurl='' ddlbxml='&lt;data&gt;" + pitems1 + L"&lt;/data&gt;'/>" +
+					L"</cellprop>";
 				dw_cell.SetCellProps(row, col, prop1);
 			}
 
@@ -4569,7 +4538,7 @@
 
 		xstring sh = doc.GetXml();
 		int p = cast(sh as int);
-		win32::SendMessage(m_winHwnd, 0x401, p, 0);
+		SendMessage(m_winHwnd, 0x401, p, 0);
 		*/
 		return 1;
 	}
@@ -4583,18 +4552,18 @@
 	int OnAttachListon()
 	{
 		//缁戝畾宸ュ叿鏉$偣鍑讳簨浠�
-		AttachEvent(L"WM_XCOMMAND", OnXCommand);
+		AttachEvent(L"WM_XCOMMAND", (FEvent)&QuoteFileView::OnXCommand);
 		//鑾峰彇鐒︾偣浜嬩欢锛岀敤浜庨噸缃伐鍏锋潯
-		AttachEvent(L"WM_SETFOCUS", OnSetFocus);
+		AttachEvent(L"WM_SETFOCUS", (FEvent)&QuoteFileView::OnSetFocus);
 
-		AttachEvent(L"frame:im1", L"IMG_LDBCLICK", OnImgDBClicked);
+		AttachEvent(L"frame:im1", L"IMG_LDBCLICK", (FEvent)&QuoteFileView::OnImgDBClicked);
 
-		AttachEvent(L"dw_base", L"DWV_ITEMCHANGED", OnItemChanged);
-		AttachEvent(L"dw_goods", L"DWV_ROWFOCUSCHANGED", OnRowChanged);
+		AttachEvent(L"dw_base", L"DWV_ITEMCHANGED", (FEvent)&QuoteFileView::OnItemChanged);
+		AttachEvent(L"dw_goods", L"DWV_ROWFOCUSCHANGED", (FEvent)&QuoteFileView::OnRowChanged);
 
-		AttachEvent(L"dw_cell", L"DWV_CLICKED", OnCellClicked);
-		AttachEvent(L"dw_cell", L"CELL_ITEMCHANGED", OnCellItemChanged);
-		AttachEvent(L"dw_cell", L"CELL_SELECTCHANGED", OnCellSelectChanged);
+		AttachEvent(L"dw_cell", L"DWV_CLICKED", (FEvent)&QuoteFileView::OnCellClicked);
+		AttachEvent(L"dw_cell", L"CELL_ITEMCHANGED", (FEvent)&QuoteFileView::OnCellItemChanged);
+		AttachEvent(L"dw_cell", L"CELL_SELECTCHANGED", (FEvent)&QuoteFileView::OnCellSelectChanged);
 		return 1;
 	}
 
@@ -4769,9 +4738,8 @@
 		xstring templ = L"";
 		taskid = L"";
 		xaserverarg  arg;
-		if (GetParam()) {
-			arg ;
-			arg.setNativePointer(GetParam());
+		if (GetWinParam()) {
+			arg = GetArg();
 			templ = arg.GetArgString(L"template");
 			entityID = arg.GetArgString(L"EntityID");
 			taskid = arg.GetArgString(L"TaskID");
@@ -4827,7 +4795,7 @@
 
 			dw_cell.openUrl(templateurl);
 			*/
-			//win32::SetWindowText(GetHWND(),L"鎶ヤ环鏂囦欢:[new]");
+			//SetWindowText(GetHWND(),L"鎶ヤ环鏂囦欢:[new]");
 		}
 
 		ARow = 0;
@@ -4872,7 +4840,7 @@
 			}
 		}
 
-		OnAttachEvent();
+		OnAttachListon();
 		filename = L"";
 
 		/*	#define LayerFlow_None			0x00000001		//not layer space
@@ -4994,7 +4962,7 @@
 		xaserverarg arg ;
 		arg.setNativePointer(xaserverarg::CreateInstance());
 		arg.AddArg(L"value", content);
-		OpenWindow(L"dev:xpage[QuoteSupplierItem.vx]", cast(arg as int));
+		OpenWindow(L"dev:xpage[QuoteSupplierItem.vx]", arg);
 
 		return 1;
 	}
@@ -5002,15 +4970,14 @@
 	bool hasParty(xstring name)
 	{
 		xml x ;
-		
 		xaserverarg arg ;
 		arg.setNativePointer(xaserverarg::CreateInstance());
 		arg.AddArg(L"Name", name);
 		if (getUrl(L"/sale/data/SupplierV3/HasParty", arg.GetString(), x) != 1)
 		{
-			alert(L"error:" + x.xml());
+			alert((xstring)L"error:" + x.xml());
 		}
-		xstring count = x.documentElement.getAttribute(L"count");
+		xstring count = x.documentElement().getAttribute(L"count");
 		if (count != L"0") return true;
 
 		return false;
@@ -5018,14 +4985,13 @@
 
 	int LoadPurcher()
 	{
-		purcher ;
-		purcher.setNativePointer(xml::CreateInstance());
+		xml purcher ;
 		xaserverarg arg ;
 		arg.setNativePointer(xaserverarg::CreateInstance());
 		arg.AddArg(L"id", L"閲囪喘鍛�");
 		if (getUrl(L"/sale/data/Quote/Purcher", arg.GetString(), purcher) != 1)
 		{
-			alert(L"error:" + purcher.GetXml());
+			alert((xstring)L"error:" + purcher.xml());
 		}
 		return 1;
 	}
@@ -5048,9 +5014,8 @@
 		LoadPurcher();
 
 		xaserverarg  arg;
-		if (GetParam()) {
-			arg ;
-			arg.setNativePointer(GetParam());
+		if (GetWinParam()) {
+			arg = GetArg();
 			if (arg.GetArgString(L"bill.purchor") == L"1") OnNextPurch();
 		}
 		return 1;

--
Gitblit v1.9.3