diff src/kaigo/Perori/bk.go @ 42:c58172a59534

bug fix.
author pyon@macmini
date Tue, 10 Mar 2020 21:12:29 +0900
parents 34a474fb83c3
children 4877160411cc
line wrap: on
line diff
--- a/src/kaigo/Perori/bk.go	Wed Mar 04 23:46:59 2020 +0900
+++ b/src/kaigo/Perori/bk.go	Tue Mar 10 21:12:29 2020 +0900
@@ -1,7 +1,7 @@
 /*
  bk.go: Insert Biko & Hatsuban
 
- Last Change: 2020-03-04 水 16:48:05.
+ Last Change: 2020-03-10 火 15:13:54.
 */
 
 package main
@@ -76,6 +76,7 @@
 	XDW_DOCUMENT_INFO info = {sizeof(XDW_DOCUMENT_INFO), 0, 0, 0};
 	XDW_GetDocumentInformation(h, &info);
 
+	int color = XDW_COLOR_NONE;
     XDW_FOUND_HANDLE pFoundHandle = NULL;
 	for (int i = 0; i < info.nPages; i++) {
 		api_result = XDW_FindTextInPage(h, i + 1, stxt, NULL, &pFoundHandle, NULL);
@@ -87,8 +88,6 @@
 
 		api_result = XDW_SetAnnotationAttribute(h, annoation, XDW_ATN_Text, XDW_ATYPE_STRING, hb, 0, NULL);
 		api_result = XDW_SetAnnotationAttribute(h, annoation, XDW_ATN_FontSize, XDW_ATYPE_INT, (char*)&sz, 0, NULL);
-
-		int color = XDW_COLOR_NONE;
 		api_result = XDW_SetAnnotationAttribute(h, annoation, XDW_ATN_BackColor, XDW_ATYPE_INT, (char*)&color, 0, NULL);
 	}
 
@@ -140,6 +139,46 @@
 	return 0;
 }
 
+int xdweraren(const char* in_file, const char* stxt)
+{
+	int x = 1870;
+	int y = 4680;
+	int yoff = 2825;
+	int sz = 90;
+
+	char in_path[_MAX_PATH];
+	_fullpath(in_path, in_file, _MAX_PATH);
+
+	XDW_DOCUMENT_HANDLE h = NULL;
+	XDW_OPEN_MODE_EX mode = {sizeof(XDW_OPEN_MODE_EX), XDW_OPEN_UPDATE, XDW_AUTH_NODIALOGUE};
+
+	int api_result = XDW_OpenDocumentHandle(in_path, &h, (XDW_OPEN_MODE*)&mode);
+	if (api_result < 0) return api_result;
+
+	XDW_DOCUMENT_INFO info = {sizeof(XDW_DOCUMENT_INFO), 0, 0, 0};
+	XDW_GetDocumentInformation(h, &info);
+
+    XDW_FOUND_HANDLE pFoundHandle = NULL;
+	for (int i = 0; i < info.nPages; i++) {
+		api_result = XDW_FindTextInPage(h, i + 1, stxt, NULL, &pFoundHandle, NULL);
+		if (pFoundHandle != NULL) continue;
+
+		for (int r = 0; r < 9; r++) {
+			XDW_ANNOTATION_HANDLE annoation;
+			int api_result = XDW_AddAnnotation(h, XDW_AID_TEXT, i + 1, x, y + r * yoff, NULL, &annoation, NULL);
+			if (api_result < 0) return api_result;
+
+			api_result = XDW_SetAnnotationAttribute(h, annoation, XDW_ATN_Text, XDW_ATYPE_STRING, "                                                                 ", 0, NULL);
+			api_result = XDW_SetAnnotationAttribute(h, annoation, XDW_ATN_FontSize, XDW_ATYPE_INT, (char*)&sz, 0, NULL);
+		}
+	}
+
+	XDW_SaveDocument(h, NULL);
+	XDW_CloseDocumentHandle(h, NULL);
+
+	return 0;
+}
+
 */
 import "C"
 
@@ -162,7 +201,7 @@
 
 // Constants
 const (
-	version = "0.3"
+	version = "0.4"
 	default_ccsvfile = "chosairai.csv"
 	default_icsvfile = "ikenshoirai.csv"
 	default_cxdwfile = "KBPC116G.xdw"
@@ -230,7 +269,7 @@
 	if err != nil {
 		log.Fatal(err)
 	}
-	fmt.Println(" 備考データ読込")
+	fmt.Println(" 備考データ読込 ... done")
 	step_start := print_time(start)
 
     /* READ KUBUN FROM CSV */
@@ -238,7 +277,7 @@
 	if err != nil {
 		log.Fatal(err)
 	}
-	fmt.Println(" 申請区分データ読込")
+	fmt.Println(" 申請区分データ読込 ... done")
 	step_start = print_time(start)
 
 	/* INSERT BIKO */
@@ -252,17 +291,24 @@
 		}
 		ctxt = append(ctxt, t)
 	}
-	fmt.Println(" 備考と申請区分を追加")
+	fmt.Println(" 備考と申請区分を追加 ... done")
+	step_start = print_time(step_start)
 
 	/* INSERT HATSU-BAN & OPTIMIZE */
 	stxt, _, _ := transform.String(japanese.ShiftJIS.NewEncoder(), "大仙広介")
-    C.xdwhb(C.CString(default_tmpxdw), C.CString(default_cout), C.CString(hbi), C.CString(stxt))
-	fmt.Println(" 発番追加(調査依頼ファイル)")
+    C.xdwhb(C.CString(default_tmpxdw), C.CString(default_cout), C.CString(hbc), C.CString(stxt))
+	fmt.Println(" 発番追加(調査依頼ファイル)... done")
 	step_start = print_time(step_start)
 
+	/* ERASE RENRAKUSAKI */
 	copy_tmp(default_ixdwfile)
-    C.xdwhb(C.CString(default_tmpxdw), C.CString(default_iout), C.CString(hbc), C.CString(stxt))
-	fmt.Println(" 発番追加( 意見書依頼ファイル)")
+	C.xdweraren(C.CString(default_tmpxdw), C.CString(stxt))
+	fmt.Println(" 連絡先消去 ... done")
+	step_start = print_time(step_start)
+
+	/* INSERT HATSU-BAN & OPTIMIZE */
+    C.xdwhb(C.CString(default_tmpxdw), C.CString(default_iout), C.CString(hbi), C.CString(stxt))
+	fmt.Println(" 発番追加( 意見書依頼ファイル)... done")
 	step_start = print_time(step_start)
 
 	/* CHOSA IRAI LIST */
@@ -319,12 +365,12 @@
 	}
 	w.Flush()
 
-	fmt.Println(" 調査依頼リスト作成")
+	fmt.Println(" 調査依頼リスト作成 ... done")
 	step_start = print_time(step_start)
 
 	/* CLEAN */
     os.Remove(default_tmpxdw)
-	fmt.Println(" 終了")
+	fmt.Println(" 終了 ... end")
 	step_start = print_time(step_start)
 }